Source Code

;; tiger-force

(impl-trait 'SP2PABAF9FTAJYNFZH93XENAJ8FVY99RRM50D2JG9.nft-trait.nft-trait)
;; (impl-trait .nft-trait.nft-trait)

(define-non-fungible-token tiger-force uint)

;; Constants
(define-constant DEPLOYER tx-sender)
(define-constant COMM u400)
(define-constant COMM-ADDR-ONE 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S)
(define-constant COMM-ADDR-TWO 'SP2KAF9RF86PVX3NEE27DFV1CQX0T4WGR41X3S45C)

(define-constant ERR-NO-MORE-NFTS u100)
(define-constant ERR-NOT-ENOUGH-PASSES u101)
(define-constant ERR-PUBLIC-SALE-DISABLED u102)
(define-constant ERR-CONTRACT-INITIALIZED u103)
(define-constant ERR-NOT-AUTHORIZED u104)
(define-constant ERR-INVALID-USER u105)
(define-constant ERR-LISTING u106)
(define-constant ERR-WRONG-COMMISSION u107)
(define-constant ERR-NOT-FOUND u108)
(define-constant ERR-PAUSED u109)
(define-constant ERR-MINT-LIMIT u110)
(define-constant ERR-METADATA-FROZEN u111)
(define-constant ERR-AIRDROP-CALLED u112)
(define-constant ERR-NO-MORE-MINTS u113)

;; Internal variables
(define-data-var mint-limit uint u2000)
(define-data-var last-id uint u1)
(define-data-var total-price uint u45000000)
(define-data-var artist-address principal 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ)
(define-data-var ipfs-root (string-ascii 80) "ipfs://ipfs/QmYATyaEjxHQ9faJyBrTbkZSymhuWh5n2oi346PT9byfaB/")
(define-data-var mint-paused bool false)
(define-data-var premint-enabled bool false)
(define-data-var sale-enabled bool false)
(define-data-var metadata-frozen bool false)
(define-data-var airdrop-called bool false)
(define-data-var mint-cap uint u0)

(define-map mints-per-user principal uint)
(define-map mint-passes principal uint)

(define-public (claim) 
  (mint (list true)))

(define-public (claim-three) (mint (list true true true)))

(define-public (claim-five) (mint (list true true true true true)))

(define-public (claim-ten) (mint (list true true true true true true true true true true)))

;; Mintpass Minting
(define-private (mint (orders (list 25 bool)))
  (let 
    (
      (passes (get-passes tx-sender))
    )
    (if (var-get premint-enabled)
      (begin
        (asserts! (>= passes (len orders)) (err ERR-NOT-ENOUGH-PASSES))
        (map-set mint-passes tx-sender (- passes (len orders)))
        (mint-many orders)
      )
      (begin
        (asserts! (var-get sale-enabled) (err ERR-PUBLIC-SALE-DISABLED))
        (mint-many orders)
      )
    )))

(define-private (mint-many (orders (list 25 bool )))  
  (let 
    (
      (last-nft-id (var-get last-id))
      (enabled (asserts! (<= last-nft-id (var-get mint-limit)) (err ERR-NO-MORE-NFTS)))
      (art-addr (var-get artist-address))
      (id-reached (fold mint-many-iter orders last-nft-id))
      (price (* (var-get total-price) (- id-reached last-nft-id)))
      (total-commission (/ (* price COMM u2) u10000))
      (current-balance (get-balance tx-sender))
      (total-artist (- price total-commission))
      (capped (> (var-get mint-cap) u0))
      (user-mints (get-mints tx-sender))
    )
    (asserts! (or (is-eq false (var-get mint-paused)) (is-eq tx-sender DEPLOYER)) (err ERR-PAUSED))
    (asserts! (or (not capped) (is-eq tx-sender DEPLOYER) (is-eq tx-sender art-addr) (>= (var-get mint-cap) (+ (len orders) user-mints))) (err ERR-NO-MORE-MINTS))
    (map-set mints-per-user tx-sender (+ (len orders) user-mints))
    (if (or (is-eq tx-sender art-addr) (is-eq tx-sender DEPLOYER) (is-eq (var-get total-price) u0000000))
      (begin
        (var-set last-id id-reached)
        (map-set token-count tx-sender (+ current-balance (- id-reached last-nft-id)))
      )
      (begin
        (var-set last-id id-reached)
        (map-set token-count tx-sender (+ current-balance (- id-reached last-nft-id)))
        (try! (stx-transfer? total-artist tx-sender (var-get artist-address)))
        (try! (stx-transfer? (/ total-commission u2) tx-sender COMM-ADDR-ONE))
        (try! (stx-transfer? (/ total-commission u2) tx-sender COMM-ADDR-TWO))
      )    
    )
    (ok id-reached)))

(define-private (mint-many-iter (ignore bool) (next-id uint))
  (if (<= next-id (var-get mint-limit))
    (begin
      (unwrap! (nft-mint? tiger-force next-id tx-sender) next-id)
      (+ next-id u1)    
    )
    next-id))

(define-public (set-artist-address (address principal))
  (begin
    (asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-INVALID-USER))
    (ok (var-set artist-address address))))

(define-public (set-price (price uint))
  (begin
    (asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-INVALID-USER))
    (ok (var-set total-price price))))

(define-public (toggle-pause)
  (begin
    (asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-INVALID-USER))
    (ok (var-set mint-paused (not (var-get mint-paused))))))

(define-public (set-mint-limit (limit uint))
  (begin
    (asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-INVALID-USER))
    (asserts! (< limit (var-get mint-limit)) (err ERR-MINT-LIMIT))
    (ok (var-set mint-limit limit))))

(define-public (burn (token-id uint))
  (begin 
    (asserts! (is-owner token-id tx-sender) (err ERR-NOT-AUTHORIZED))
    (nft-burn? tiger-force token-id tx-sender)))

(define-private (is-owner (token-id uint) (user principal))
    (is-eq user (unwrap! (nft-get-owner? tiger-force token-id) false)))

(define-public (set-base-uri (new-base-uri (string-ascii 80)))
  (begin
    (asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
    (asserts! (not (var-get metadata-frozen)) (err ERR-METADATA-FROZEN))
    (var-set ipfs-root new-base-uri)
    (ok true)))

(define-public (freeze-metadata)
  (begin
    (asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
    (var-set metadata-frozen true)
    (ok true)))

;; Non-custodial SIP-009 transfer function
(define-public (transfer (id uint) (sender principal) (recipient principal))
  (begin
    (asserts! (is-eq tx-sender sender) (err ERR-NOT-AUTHORIZED))
    (asserts! (is-none (map-get? market id)) (err ERR-LISTING))
    (trnsfr id sender recipient)))

;; read-only functions
(define-read-only (get-owner (token-id uint))
  (ok (nft-get-owner? tiger-force token-id)))

(define-read-only (get-last-token-id)
  (ok (- (var-get last-id) u1)))

(define-read-only (get-token-uri (token-id uint))
  (ok (some (concat (concat (var-get ipfs-root) "{id}") ".json"))))

(define-read-only (get-paused)
  (ok (var-get mint-paused)))

(define-read-only (get-price)
  (ok (var-get total-price)))

(define-read-only (get-mints (caller principal))
  (default-to u0 (map-get? mints-per-user caller)))

(define-read-only (get-mint-limit)
  (ok (var-get mint-limit)))

;; Non-custodial marketplace extras
(define-trait commission-trait
  ((pay (uint uint) (response bool uint))))

(define-map token-count principal uint)
(define-map market uint {price: uint, commission: principal})

(define-read-only (get-balance (account principal))
  (default-to u0
    (map-get? token-count account)))

(define-private (trnsfr (id uint) (sender principal) (recipient principal))
  (match (nft-transfer? tiger-force id sender recipient)
    success
      (let
        ((sender-balance (get-balance sender))
        (recipient-balance (get-balance recipient)))
          (map-set token-count
            sender
            (- sender-balance u1))
          (map-set token-count
            recipient
            (+ recipient-balance u1))
          (ok success))
    error (err error)))

(define-private (is-sender-owner (id uint))
  (let ((owner (unwrap! (nft-get-owner? tiger-force id) false)))
    (or (is-eq tx-sender owner) (is-eq contract-caller owner))))

(define-read-only (get-listing-in-ustx (id uint))
  (map-get? market id))

(define-public (list-in-ustx (id uint) (price uint) (comm-trait <commission-trait>))
  (let ((listing  {price: price, commission: (contract-of comm-trait)}))
    (asserts! (is-sender-owner id) (err ERR-NOT-AUTHORIZED))
    (map-set market id listing)
    (print (merge listing {a: "list-in-ustx", id: id}))
    (ok true)))

(define-public (unlist-in-ustx (id uint))
  (begin
    (asserts! (is-sender-owner id) (err ERR-NOT-AUTHORIZED))
    (map-delete market id)
    (print {a: "unlist-in-ustx", id: id})
    (ok true)))

(define-public (buy-in-ustx (id uint) (comm-trait <commission-trait>))
  (let ((owner (unwrap! (nft-get-owner? tiger-force id) (err ERR-NOT-FOUND)))
      (listing (unwrap! (map-get? market id) (err ERR-LISTING)))
      (price (get price listing)))
    (asserts! (is-eq (contract-of comm-trait) (get commission listing)) (err ERR-WRONG-COMMISSION))
    (try! (stx-transfer? price tx-sender owner))
    (try! (contract-call? comm-trait pay id price))
    (try! (trnsfr id owner tx-sender))
    (map-delete market id)
    (print {a: "buy-in-ustx", id: id})
    (ok true)))

;; Extra functionality required for mintpass
(define-public (toggle-sale-state)
  (let 
    (
      ;; (premint (not (var-get premint-enabled)))
      (sale (not (var-get sale-enabled)))
    )
    (asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
    (var-set premint-enabled false)
    (var-set sale-enabled sale)
    (print { sale: sale })
    (ok true)))

(define-public (enable-premint)
  (begin
    (asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
    (ok (var-set premint-enabled true))))

(define-public (disable-premint)
  (begin
    (asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
    (ok (var-set premint-enabled false))))

(define-read-only (get-passes (caller principal))
  (default-to u0 (map-get? mint-passes caller)))

(define-read-only (get-premint-enabled)
  (ok (var-get premint-enabled)))

(define-read-only (get-sale-enabled)
  (ok (var-get sale-enabled)))  





;; miami coin
(define-data-var total-price-mia uint u14200)

(define-read-only (get-price-mia)
  (ok (var-get total-price-mia)))

(define-public (set-price-mia (price uint))
  (begin
    (asserts! (is-eq tx-sender DEPLOYER) (err ERR-INVALID-USER))
    (ok (var-set total-price-mia price))))

(define-public (claim-mia)
  (mint-mia (list true)))

(define-public (claim-three-mia) (mint-mia (list true true true)))

(define-public (claim-five-mia) (mint-mia (list true true true true true)))

(define-public (claim-ten-mia) (mint-mia (list true true true true true true true true true true)))

(define-private (mint-mia (orders (list 25 bool)))
  (let 
    (
      (passes (get-passes tx-sender))
    )
    (if (var-get premint-enabled)
      (begin
        (asserts! (>= passes (len orders)) (err ERR-NOT-ENOUGH-PASSES))
        (map-set mint-passes tx-sender (- passes (len orders)))
        (mint-many-mia orders)
      )
      (begin
        (asserts! (var-get sale-enabled) (err ERR-PUBLIC-SALE-DISABLED))
        (mint-many-mia orders)
      )
    )))


(define-private (mint-many-mia (orders (list 25 bool )))  
  (let 
    (
      (last-nft-id (var-get last-id))
      (enabled (asserts! (<= last-nft-id (var-get mint-limit)) (err ERR-NO-MORE-NFTS)))
      (art-addr (var-get artist-address))
      (id-reached (fold mint-many-iter orders last-nft-id))
      (price (* (var-get total-price-mia) (- id-reached last-nft-id)))
      (total-commission (/ (* price COMM u2) u10000))
      (total-artist (- price total-commission))
      (current-balance (get-balance tx-sender))
      (capped (> (var-get mint-cap) u0))
      (user-mints (get-mints tx-sender))
    )
    (asserts! (or (is-eq false (var-get mint-paused)) (is-eq tx-sender DEPLOYER)) (err ERR-PAUSED))
    (asserts! (or (not capped) (is-eq tx-sender DEPLOYER) (is-eq tx-sender art-addr) (>= (var-get mint-cap) (+ (len orders) user-mints))) (err ERR-NO-MORE-MINTS))
    (map-set mints-per-user tx-sender (+ (len orders) user-mints))
    (if (or (is-eq tx-sender art-addr) (is-eq tx-sender DEPLOYER) (is-eq (var-get total-price-mia) u0000000))
      (begin
        (var-set last-id id-reached)
        (map-set token-count tx-sender (+ current-balance (- id-reached last-nft-id)))
      )
      (begin
        (var-set last-id id-reached)
        (map-set token-count tx-sender (+ current-balance (- id-reached last-nft-id)))
        (try! (contract-call? 'SP466FNC0P7JWTNM2R9T199QRZN1MYEDTAR0KP27.miamicoin-token transfer total-artist tx-sender (var-get artist-address) (some 0x00)))
        (try! (contract-call? 'SP466FNC0P7JWTNM2R9T199QRZN1MYEDTAR0KP27.miamicoin-token transfer (/ total-commission u2) tx-sender COMM-ADDR-ONE (some 0x00)))
        (try! (contract-call? 'SP466FNC0P7JWTNM2R9T199QRZN1MYEDTAR0KP27.miamicoin-token transfer (/ total-commission u2) tx-sender COMM-ADDR-TWO (some 0x00)))
      )    
    )
    (ok id-reached)))


;; nyc
(define-data-var total-price-nyc uint u30000)

(define-read-only (get-price-nyc)
  (ok (var-get total-price-nyc)))

(define-public (set-price-nyc (price uint))
  (begin
    (asserts! (is-eq tx-sender DEPLOYER) (err ERR-INVALID-USER))
    (ok (var-set total-price-nyc price))))



(define-public (claim-nyc)
  (mint-nyc (list true)))

(define-public (claim-three-nyc) (mint-nyc (list true true true)))

(define-public (claim-five-nyc) (mint-nyc (list true true true true true)))

(define-public (claim-ten-nyc) (mint-nyc (list true true true true true true true true true true)))



(define-private (mint-nyc (orders (list 25 bool)))
  (let 
    (
      (passes (get-passes tx-sender))
    )
    (if (var-get premint-enabled)
      (begin
        (asserts! (>= passes (len orders)) (err ERR-NOT-ENOUGH-PASSES))
        (map-set mint-passes tx-sender (- passes (len orders)))
        (mint-many-nyc orders)
      )
      (begin
        (asserts! (var-get sale-enabled) (err ERR-PUBLIC-SALE-DISABLED))
        (mint-many-nyc orders)
      )
    )))

(define-private (mint-many-nyc (orders (list 25 bool )))  
  (let 
    (
      (last-nft-id (var-get last-id))
      (enabled (asserts! (<= last-nft-id (var-get mint-limit)) (err ERR-NO-MORE-NFTS)))
      (art-addr (var-get artist-address))
      (id-reached (fold mint-many-iter orders last-nft-id))
      (price (* (var-get total-price-nyc) (- id-reached last-nft-id)))
      (total-commission (/ (* price COMM u2) u10000))
      (total-artist (- price total-commission))
      (current-balance (get-balance tx-sender))
      (capped (> (var-get mint-cap) u0))
      (user-mints (get-mints tx-sender))
    )
    (asserts! (or (is-eq false (var-get mint-paused)) (is-eq tx-sender DEPLOYER)) (err ERR-PAUSED))
    (asserts! (or (not capped) (is-eq tx-sender DEPLOYER) (is-eq tx-sender art-addr) (>= (var-get mint-cap) (+ (len orders) user-mints))) (err ERR-NO-MORE-MINTS))
    (map-set mints-per-user tx-sender (+ (len orders) user-mints))
    (if (or (is-eq tx-sender art-addr) (is-eq tx-sender DEPLOYER) (is-eq (var-get total-price-nyc) u0000000))
      (begin
        (var-set last-id id-reached)
        (map-set token-count tx-sender (+ current-balance (- id-reached last-nft-id)))
      )
      (begin
        (var-set last-id id-reached)
        (map-set token-count tx-sender (+ current-balance (- id-reached last-nft-id)))
        (try! (contract-call? 'SP2H8PY27SEZ03MWRKS5XABZYQN17ETGQS3527SA5.newyorkcitycoin-token transfer total-artist tx-sender (var-get artist-address) (some 0x00)))
        (try! (contract-call? 'SP2H8PY27SEZ03MWRKS5XABZYQN17ETGQS3527SA5.newyorkcitycoin-token transfer (/ total-commission u2) tx-sender COMM-ADDR-ONE (some 0x00)))
        (try! (contract-call? 'SP2H8PY27SEZ03MWRKS5XABZYQN17ETGQS3527SA5.newyorkcitycoin-token transfer (/ total-commission u2) tx-sender COMM-ADDR-TWO (some 0x00)))
      )    
    )
    (ok id-reached)
))

(map-set mint-passes 'SP3MB74HT9SDNGENKFDA3AKZEXEMBZWB1FTFSHWBJ u5)
(map-set mint-passes 'SP3R5TCK97NMBS1V1MARCK0YTDFWG1FKJ94EFQTF4 u5)
(map-set mint-passes 'SP23RS2V3BAWHNQ3RHVZHK10F51RA99C1FHQKY9QH u4)
(map-set mint-passes 'SPVTS7AM6JD5ADC9C292FMBDTZVA86TKPN774QD u5)
(map-set mint-passes 'SPZ5DJGRVZHXEEEYYGWEX84KQB8P69GC715ZRNW1 u3)
(map-set mint-passes 'SP2WPTFTP17PGJM8328QWG3SNV9EZ9W1C7EGTD5BQ u4)
(map-set mint-passes 'SP2FHRXHTZBFGPFKSNWFGYPNBQXKSXC2JFJZ7BY7D u3)
(map-set mint-passes 'SPQY88E87FNMP1NTY2YQ7X5DPTVY810PS8T6D2Y3 u5)
(map-set mint-passes 'SP23NXVJWQARSPF1K3TD73MHVJE4EFV9V58GXHT73 u5)
(map-set mint-passes 'SPGYN0JFKZVEKB6KE4X5YTZATPG0M42A0Y1F8DMG u5)
(map-set mint-passes 'SP20P02KXAW338AS0ED5HV0M37SNQRFAMPB0F1R51 u5)
(map-set mint-passes 'SP1K81030XZM9ASBDWS278Z4E4G39BC2VFW3VVGQ9 u3)
(map-set mint-passes 'SP2DG03SMAV8Q8JTDHF9F32Y7B3523ZJYM0Q3MK3Y u5)
(map-set mint-passes 'SP1CCC68DRYZZKMPAZPWKE3VP2R7YSVN9DZJG86Y8 u3)
(map-set mint-passes 'SPS2FZ3K6N2CZPBM4BSQCEQV23V2334E7MJ4CHZT u3)
(map-set mint-passes 'SP110TAR7RZE8ZTHMTMZYN76KT4440CS1KADFCG2B u5)
(map-set mint-passes 'SP19B1VKRR79SBPVSQX1PDM2DJ0Y2MVA40MWC1BTF u5)
(map-set mint-passes 'SPFKP97D8NCGA2E4TTKYWQC41BZ97DA0X3AQ41K3 u3)
(map-set mint-passes 'SP2JS9HG5QCBFKHWN8F0GH2CR2ESRC8Z6BJT93SVG u4)
(map-set mint-passes 'SP31WTJ415SNJM9H6202S3WK9AFQXQZMT48PESBQE u4)
(map-set mint-passes 'SP1CA9W3C35F6WH2MH1D5Z1XQG9595Q1C3P7Z2NYY u5)
(map-set mint-passes 'SPPZ2SNVDBKSHZDQ2HBBVMB5HEHAXRC3T8CQ35EA u5)
(map-set mint-passes 'SP9227STGNCZPRTP2T2G3S02M7XB5ENAQB1J82FA u3)
(map-set mint-passes 'SP2HK7J6617VBSKXQGZWMXP2R64MMDX3S54M0S1Q6 u3)
(map-set mint-passes 'SP133HQ4WFN22FWRQ5QY22P18QYZ1W4AME4G4C5VC u3)
(map-set mint-passes 'SP3EYT7KF5ERWQFTWW3SWHS8QRYBNSMRZ7JW73YXR u5)
(map-set mint-passes 'SP1KBMRDJCD1T95B4Y04QAE8ZM1NDPFRXD4DJ4B3X u5)
(map-set mint-passes 'SP2WVXXAMRWRYZ530616S3BKRGHMWCBEE9VSRJ6F6 u5)
(map-set mint-passes 'SP1TH8Y1953C1484KDFC8R1NAA0E925CFG7W4Y46G u3)
(map-set mint-passes 'SP3K22XKPT9WJFCE957J94J6XXVZHP7747YNPDTFD u4)
(map-set mint-passes 'SP1KWZ8MQA40FF6EXK4G6SMF06B6SZ5FVKQYC5YQT u3)
(map-set mint-passes 'SP1S2VVZ1MY32144C9N8DAS0HM8KQ04CEKSHWCQ7H u3)
(map-set mint-passes 'SP2AYJHP9H3JM3T26ZBW0SKBCXJ9S4JW03VQBP7K1 u5)
(map-set mint-passes 'SP3KBNN721FB4CYQFXP72E7F3T7BAMDTYVVDTDP0W u3)
(map-set mint-passes 'SPC03VN9AFCNYNEMRKQMXWY02AJDMEASMXH6MJT1 u4)
(map-set mint-passes 'SP3TZ3BCB16A0W0PPFYMGTTWTT3DVWTQEP8DFRAG1 u4)
(map-set mint-passes 'SP2Y8V41F6Z93GVTBHHE0E0ME169KN14A60V7ZYHZ u5)
(map-set mint-passes 'SP37CB46940Y9JXPYGGK7A87PYCPZ08HT46S3BR9T u3)
(map-set mint-passes 'SPB6QWYFHZK0V7HNQGPK2HPBAQG0QST173HB3XT1 u5)
(map-set mint-passes 'SP2P8QYQX5PMKVBXQ9FWK8F96J8DJXXW7NB7AA5DT u5)
(map-set mint-passes 'SP4F062WCN1G45W5C3AS019YV5XRSGE2Z242S9RJ u5)
(map-set mint-passes 'SPF4FR0X9Q4PAF6KENDD3NVAGQTM8A830A4F96YG u3)
(map-set mint-passes 'SP1K6W1QST3KKJHM4KGG2BN2WZQTD86PC8H9STN1B u5)
(map-set mint-passes 'SPPKV3KBDQRZ6JJK2VWB2JKTXHVYF40J253TY20B u5)
(map-set mint-passes 'SPXQXQJD9MFQBK8ARN9JR83RRZ740H7PEXVF5N9D u5)
(map-set mint-passes 'SP2ZCER0Z8VVMCDA3817SDFVES833XD9ACYDAFH1T u4)
(map-set mint-passes 'SP3478XKRS5XSRBK7QY4AD0NREZCTMZDK9YNCTFD1 u5)
(map-set mint-passes 'SP2X9BM8MRG1YD5WXH3Z04BAZQNXD6AC6NTHNYVWK u5)
(map-set mint-passes 'SP3KEE09PY36JY89FH3TV1J9RQHM9HTZT9348A71X u3)
(map-set mint-passes 'SP35MEYYBHSFCFXY296YGP7NAT6Y4XBJW2VETR8AV u3)
(map-set mint-passes 'SP1H45JS07GWQWMT57JE20X17AQCNVYAS7NHW2HVR u5)
(map-set mint-passes 'SP3HD6JF8N5214S5Q7GHXBQGKY6XJNTRH0DS6P6KY u5)
(map-set mint-passes 'SP1J4SFHSMMT5Z0PG3WDD1TNGZVCWMB5QBYHNFECG u3)
(map-set mint-passes 'SP1934QK1ZXGCEBB3MN9Y0FNR20GMDWM3Y5P5VV5 u3)
(map-set mint-passes 'SPSN6K776CXQBFSVM74W4SAR8W7HCQD6844FA4XC u5)
(map-set mint-passes 'SP3G9BMCJ0858Y68MM35R6HA0WAZDNYXWZBN4RYK1 u3)
(map-set mint-passes 'SP6K8CTMC52XBCNG9TRCF3JBE76S2BFYS985DANQ u3)
(map-set mint-passes 'SP2X1GD24FA3TGGV6T4TRPKT8MVZ8F02RZESYWEH5 u3)
(map-set mint-passes 'SP34S80102KYXHC0C5VC3GDPDVY3WFG1G5G507Y0K u5)
(map-set mint-passes 'SP28KM60ZBE7SPYGHNBCJQHYMPB7DEYYTX7R9H1T4 u4)
(map-set mint-passes 'SP1ZGZK3RCA7R0MH571R6ECZTXP8H2T3ZF6NDR5XJ u5)
(map-set mint-passes 'SPWJ630P1F6WQ7AWW50P7W4E4AM9FBJ1QBT9KQTX u3)
(map-set mint-passes 'SPYF9PC72BSWS0DGA33FR24GCG81MG1Z96463H68 u3)
(map-set mint-passes 'SPHWCHVHRY2Q4884XNNSV8B3J1T41PBN0GQE16A9 u3)
(map-set mint-passes 'SP3Y37944YWAXDW96Y6EANT2VN0GPTXB0MZW8NHZ5 u5)
(map-set mint-passes 'SP16YA5N2VE52JRDYXKFZ2TF7T2CBRB4SH8NYKJX1 u4)
(map-set mint-passes 'SP2WRX7ZAR4Z1SJ5V1NHBXZHWX2112HATSDV4R0Y5 u4)
(map-set mint-passes 'SP143YHR805B8S834BWJTMZVFR1WP5FFC03WZE4BF u3)
(map-set mint-passes 'SPV9HNVRJ6833QJVN3KD9T1FSXRJSN842M9PJ02V u3)
(map-set mint-passes 'SP16AG2XE83DB2CX396NS2FZTM6PY253MRR6SMYBP u5)
(map-set mint-passes 'SP2S7Y7BMX7Y73FHV3SV9W1EE63EQ98BE95PZ4C4E u5)
(map-set mint-passes 'SP1C7GA86MKK3180KHZVYRWDJT60ZVXF0GXKA8RM4 u5)
(map-set mint-passes 'SPYWT3H4JQG72G0PVZW4E2M6FAK997KN6PDC26GM u5)
(map-set mint-passes 'SPE10S69JYEF3HNT6KTT12BW3JP9N1G0E56T9A2Y u4)
(map-set mint-passes 'SP1SJFW3TTRJ9QZM2J53GSNV7C6SDJKCSE32HT9XK u3)
(map-set mint-passes 'SP19KPWZDPBD13N07C7Q1BENQMEPRTNA6J6ACBJB3 u5)
(map-set mint-passes 'SP9XD6041FFN5BW6ZR9J3FSESR4S442JPYZJVXBW u4)
(map-set mint-passes 'SPHK8A7P61C6ASWKYDX1PCDX9YA54DKVJN49EXGJ u4)
(map-set mint-passes 'SPAFJKGDVS11C9P9DY0ZTNFQ9774R568W9XYZDJV u4)
(map-set mint-passes 'SP343SNH3E14GAHSGGF2PH9PNN64DP5HFY9HT56AE u4)
(map-set mint-passes 'SP1K8RG4PV202FHT8J9023G1WJRPFTSZXN9TPNEJX u5)
(map-set mint-passes 'SP2NR2625HB0YFFRFBD9VHVYESNY83VTMKZXMV6H0 u4)
(map-set mint-passes 'SP3MQAQ3ZSF1GM1ZSPGTP6H3W5BDNHNWK4W18M625 u3)
(map-set mint-passes 'SP2NTXWC72CQRBA1DD5JDAH4T8D5Y673AXDPWXZQA u5)
(map-set mint-passes 'SP262CK3VPG6PDF4S96TTXFBVV9Y9Z75F51A6G83N u5)
(map-set mint-passes 'SP2MDEE7BMXWTNST6PKE8MGP2EWD6412ZNPTYMQ5S u5)
(map-set mint-passes 'SP38ZXGQPE8NEN2PJFNMZ0W2EVBJZ8ND08CAHEC4M u5)
(map-set mint-passes 'SP3EQ7FQ8TFXB792P7VAGRXER0YNFMGM1Y8RS69RC u5)
(map-set mint-passes 'SP1B7FFVFHHBCB466DVJR02BQ7PS9TNW02YA29DR3 u5)
(map-set mint-passes 'SPSCNJRWDKE8KM97JVZ4RNTADSAD5E4B1X40HDKN u5)
(map-set mint-passes 'SPQVG91FWDN2KZ6V8DTSKYCXC5FEZFDZSQC8ZNM1 u5)
(map-set mint-passes 'SP3W5KN5XC7RQ5M0TMFGEZANE4P80Z7KQF1PJJB55 u4)
(map-set mint-passes 'SPDAV1G8FQ0TMEWKVE0A9WS8RNDJ7K808X2MY22E u5)
(map-set mint-passes 'SP1QDGMK42YYKT1AM2QT9B200P3D7SWSKW1888CPM u5)
(map-set mint-passes 'SP27A09VG1SH1J8Z76NXHBGKB0ZWSBZ99DRGAC8NB u5)
(map-set mint-passes 'SP2F9BGMH0TQ95C38GABBN4P8X61S2JH5ZY5F3REY u5)
(map-set mint-passes 'SPMN4MJ4TBS028C24ZCBEYTHY7J0E5WCG9W0YQVG u4)
(map-set mint-passes 'SP1QAHRV4H9X0QTBD4SDF2XTQQZXQG6SQ7XVTE0K8 u5)
(map-set mint-passes 'SP2FZ154ESZ8NB34RZ3RS147GD6DSEYNE8DQD0XDM u3)
(map-set mint-passes 'SP1A37EMPF9HYESQW5QZJ56EMQGD5SYBTBMHN9SDJ u3)
(map-set mint-passes 'SP349J1ZTEE71M1J5D4YS0BPQCCFJ3YSNM1P8BJY4 u3)
(map-set mint-passes 'SP16PRV5FEZRH1KNFWNJTZ9HHZGWMPFB6G1QKE607 u1)
(map-set mint-passes 'SP3H94JS77EWB2QY8148CP5BWXSFWJCSYZBSZSHVT u3)
(map-set mint-passes 'SP10150G7DRPETGFXZQWQ0WRCJ6XQV1MEMZP6BVNH u1)
(map-set mint-passes 'SP2PBW5WPNJ88BZVNDVP4KCTN9HJGNNR1BQA6G1W6 u1)
(map-set mint-passes 'SP13KT116B0A99C1FZB0M10NX3T1AWCPG0ZKYXSN u2)
(map-set mint-passes 'SPQ2FV1DKA3Y2MD77HCZB62REGMFTGQ440K5P95S u2)
(map-set mint-passes 'SP158NQ75Q4MH4VW1GDESJBVT3GKSZZHW41TKHCF2 u2)
(map-set mint-passes 'SP134377BE00PYV1N2D5VSKTZ7P8PS2932KK5PGRQ u3)
(map-set mint-passes 'SP1Y5X4DZ2MT3V5MT0KPYSX60D7AXXHDFJNRM25KQ u1)
(map-set mint-passes 'SPZV53PK1ABCDFD6W1C9R567GEKR4R1KFN086A9Z u3)
(map-set mint-passes 'SP2EX2QM21BYN6S1DT3WWZ0EE9TBRW29PA1Z5YZ3F u1)
(map-set mint-passes 'SP2G0A96K24B7NF2ZRZHPDDSNPNVRYHA78E119H6R u1)
(map-set mint-passes 'SP1ZTH28TZZJ7YWKV4NT6EDVVNTR8RC0ETQMHN6Z7 u2)
(map-set mint-passes 'SP3AF7N5ZKAHMSTG6FDSPQF1T2NV5BMVGBSDP2ZGE u2)
(map-set mint-passes 'SP2C1BVR38WHJK1RDACXDD6A4SSP10X01SVNC8EBX u1)
(map-set mint-passes 'SP20E0RC1NWFVD6A2QC8Z4CTWK7X5FKFCB6M6P6W4 u2)
(map-set mint-passes 'SP1PNFX4Q2J1Z8JHDBRWC52NGXJMB1W7PFQX27SAW u1)
(map-set mint-passes 'SP3EPS563XJNK170J902C78ZPDPNXVZFWWCN7DGWH u1)
(map-set mint-passes 'SP1XRX2BSQHMWAC2005PWJM42CR4H076RG7NKER9C u1)
(map-set mint-passes 'SP2JCF3ME5QC779DQ2X1CM9S62VNJF44GC23MKQXK u1)
(map-set mint-passes 'SP36SWSCW1VJVDGJV578SAXRPCKK1ANH1B7RFMHZA u2)
(map-set mint-passes 'SP2V4GKQ28G0J1640870FNJWQ5F7WCJMFKT16X1TQ u3)
(map-set mint-passes 'SP3JE4QTGV0Q9Z18154JSM5H9BHAFN7YSSJK1H43C u2)
(map-set mint-passes 'SP2NHZDAMMEEASE4DKHYYCVAG8RF8PA7YHPPW40BX u1)
(map-set mint-passes 'SP2Q1SZSETS27AZ9FE0BH6C6B7MVC25E4N6C2VE7D u1)
(map-set mint-passes 'SP6G65ZRFNX2RJ019PB11C8KA5FZ6GPXAYDPRA2Q u3)
(map-set mint-passes 'SP13ZDF0VZBZSJ19W7DXNHWJDBCS9WSZB880PQXQS u3)
(map-set mint-passes 'SP39MP76SSQK9H94BD4CS92788HG41CQTP2T3D34R u2)
(map-set mint-passes 'SP17NZ4FXJAKJYM3976YT216ZTJVMJ6XACRB089XH u1)
(map-set mint-passes 'SP3JCN7W79KNRJBBPBRPKJZ7TRCVAK1NGV2FX4ZH u3)
(map-set mint-passes 'SPFJC5N8K8B13B2EQDJGD9T6CC1NTV4Q4SQGX9QM u3)
(map-set mint-passes 'SP314E6K9TJK511VW56X8ZDGSPFZ7HHA9HJYJQA6J u2)
(map-set mint-passes 'SP1Z8H8B2SBEDVVCGC92YJ9ZEP4Y1P2G7QX6RRE8D u1)
(map-set mint-passes 'SP2VNTSYGBS0WHPWSWQRD3W0D56ZYPY75S70ADMEN u2)
(map-set mint-passes 'SPTCFW5C4MPFEBB9XG5SK8PS2QFN6ZJJ3S57RDQK u3)
(map-set mint-passes 'SP267TMY9MTMP98AW05X8RFQ43JRMTPGDWFKFCPTH u3)
(map-set mint-passes 'SP350N4SX832092H6F07YKB1R5X5DM90BV6P97B8N u3)
(map-set mint-passes 'SP3XM3WZDJ6YGA5ANTSABJ6XRFPST7Y2C5KH0Z1W5 u3)
(map-set mint-passes 'SPTYWR4YW4G0R6ZM53QYTDP1NA3P2CNEJMCKVV81 u3)
(map-set mint-passes 'SP3MVPZ2FM56R4R7F20GD2Y7492NFE3YS6NWZ24TF u3)
(map-set mint-passes 'SP1ZQSWQ9QNNW388VFG45HYX1H592147V2FZZJY8V u2)
(map-set mint-passes 'SP2P8VFHBK8HTV0PPBVDT5CNAPV35Y90FV4PYX3PY u2)
(map-set mint-passes 'SP5GNR7KHRPFY2JMREGF4VS6DFKX22R60N4YEW1G u3)
(map-set mint-passes 'SPMWM41EV14E5NW55GJD8Q7DKYZQN36Q9MFS6DEY u2)
(map-set mint-passes 'SP1VQ9MM1208551W80TCY0914HGMMKZJG1SM5W8XV u1)
(map-set mint-passes 'SP1GYWMYK320ASBBAERSC40TA3PA99ZHV3GF256T8 u3)
(map-set mint-passes 'SPBK9R1T1ADYG37BV4VYYA2YRXAXRZ8NZ3NSWN0G u2)
(map-set mint-passes 'SP38VF4ED0WKFH9SGEE4C873CSX6W7A2SPFDCJ15E u1)
(map-set mint-passes 'SP158378PVRA077MC9851WTVSF7G3MES99HPJ26DW u2)
(map-set mint-passes 'SP3Z0BHS0SVP5733GDZ2RWJV1G2EW04PFN2NSX3PK u2)
(map-set mint-passes 'SP33ZPTZH4YRX52W6QEXPACNVPHKZRTK5QH8TRBHW u3)
(map-set mint-passes 'SP2DWNXXGF5BSDVFHX5Z0S7WZR608PWYEQ3XNGF92 u3)
(map-set mint-passes 'SP6Y9FQ6HE0HZ4G5XVT9PG0XZJJM2WWN0SXCY8YV u1)
(map-set mint-passes 'SP3YPMD71E1Q0WRW0949AT5MQ4M72GMP915CX1XTW u3)
(map-set mint-passes 'SP152CGECH11CBS16N55WKKDRAWFMYK1XN3MNBZFP u3)
(map-set mint-passes 'SPV4GYHQ2B7R831M3F7ZNN22RDDHEKQ52ZN50CDE u1)
(map-set mint-passes 'SP3NPWNFRMV5NYM4DP765HC5W3T4XKX0H446S7E4 u1)
(map-set mint-passes 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ u5)
(map-set mint-passes 'SP3G2R2MHTNGHPE7SG579SH5AMM16SK3MYX2EY23B u1)
(map-set mint-passes 'SP1X34E47XW77TWYFG6GX8G1SEN5E538T0WGBXZK6 u3)
(map-set mint-passes 'SP247RS63PWW7ZQZ9EYYA9CXKKPWEP71M14W8N294 u3)
(map-set mint-passes 'SPSG97KXE3GHAAK2TMFC9VKE9KB0JBM47YY84Y8C u2)
(map-set mint-passes 'SP3DW5P0EPZX7KB4N381QTWGDYTJN98M80PFR0X62 u2)
(map-set mint-passes 'SP2RBC48MEW74VPQAWVVEQZSHQXNVF1XQ1P9P91R6 u1)
(map-set mint-passes 'SP228WEAEMYX21RW0TT5T38THPNDYPPGGVW2RP570 u1)
(map-set mint-passes 'SP1QY7NXWJJAH5R8WQ50A8WAKCTSFH7HQPPQNV7D6 u2)
(map-set mint-passes 'SPJRW4D4JACQQQQ5DK09P1K7M2TE8PGZJ638HCW1 u2)
(map-set mint-passes 'SP1YJWH90XCSR5ZE1HPGCBAS39JQPGEBDM3JC2HH u2)
(map-set mint-passes 'SPCPRXJAE797QXY2TRS78AMD7NMH5XKVG9XZA1AQ u1)
(map-set mint-passes 'SP3RYDKM1K785D2133JCSK0NE69Z6Y9B32KD314YF u3)
(map-set mint-passes 'SP77NT5VGM8XNMCTGK39Z1F6JRAX7GK7MWMS22TQ u2)
(map-set mint-passes 'SPK9FHX9HT1ZX2B57Q8VJ5RG59TTNVRA9SSVPJYM u1)
(map-set mint-passes 'SP30R6C4BZXKA2ABXRS3D7TGS6RKEHHVRTBGX1K6F u1)
(map-set mint-passes 'SP18N0JFNZRZMSW37947DVWBADVY3A6MMG2CRB1S6 u1)
(map-set mint-passes 'SP24ZBZ8ZE6F48JE9G3F3HRTG9FK7E2H6K2QZ3Q1K u2)
(map-set mint-passes 'SP3A6SRWC0295MPY00805CZBWSF1TAY8DWMR05XFM u3)
(map-set mint-passes 'SP2YQCF4DMRWRPKD0EVNDY3AJ0BBS9FQH548GCHND u1)
(map-set mint-passes 'SP2DTQW6VP43HXZ43X7196KF4KVZYEYRA8YJYVQFQ u1)
(map-set mint-passes 'SP60EC74B4J7E894CXCSCRHXX0EKSX6P0BSWN1R7 u1)
(map-set mint-passes 'SPRQEMZFABSJ5N4DSVHM1BGQ9MG73SES9Z0B2VX8 u1)
(map-set mint-passes 'SPPKDYQQ5QP3REJ2G98Y5NAYJYQ2WKVJ2MBBBCBH u2)
(map-set mint-passes 'SP1TXX01VJY58SWE5JK3V8HRNCY8F4T7VF04RDZ9R u1)
(map-set mint-passes 'SP1MPX88DP4H6WJ226PDRGE4FZ1DG89EH73EWFM3N u3)
(map-set mint-passes 'SP17AT5A3NB02KDTEGHF7NHHGFR0P4HJSP7PZEXEC u2)
(map-set mint-passes 'SP3VS25W8YJM9DPCGQ13KWK2B6CVKE00HARQY80AR u3)
(map-set mint-passes 'SP2QBXVDP4QWRVP9BWV3CDTNP0X4F16SGE0EC4FDD u3)
(map-set mint-passes 'SP245RYQHC7TZH2VDQ95KHG4CNKMYYX9Z8A08BGTE u1)
(map-set mint-passes 'SP3S0KVK1YNQ2WDN9WMFDJ3VZZVBMNAWK033ZBGX u3)
(map-set mint-passes 'SP19SK18B7MGGCD6WHPYE5RZ9Q6XJ6N9J5GJSQPR8 u2)
(map-set mint-passes 'SP3WXWMD8NC947EASJCMCVT11YDDMBHPXT8WE9WMF u1)
(map-set mint-passes 'SP1GJK5XZ0RP9WBHN18CNTBAXMB7WEV3H0C2NN1N3 u1)
(map-set mint-passes 'SP4QA0NHP03T3T9GJKR5KEA7VQ2KNSXRK5JC74NG u1)
(map-set mint-passes 'SP2YW07KB53BB9Y1MPYSF6E3FSPH1450STPDN3BK5 u1)
(map-set mint-passes 'SP3H63N559PZEPF226BY1WTM9NJP8M6GCACMS8GVC u2)
(map-set mint-passes 'SP3TMT5AV7D73EWWMR898PXN4H8JTCSWAAXY39N2A u1)
(map-set mint-passes 'SP2RWS7D7RW6DDZCTXJC0VTK86CKD0TF445116V8A u1)
(map-set mint-passes 'SP2WVGMGA4G94Z2WJJHZP3A22GF8K0053YA76EWZ0 u1)
(map-set mint-passes 'SPQTEQW927WKR43091R3HV5R6KKR65NCZMMBSQZV u1)
(map-set mint-passes 'SP1R7RDW631XH0HEX52CQ4KD608F7DS0EW8BP1Y6E u1)
(map-set mint-passes 'SPM1Q7YG18378H6W254YN8PABEVRPT38ZCY01SJD u3)
(map-set mint-passes 'SPM05FXP06PXTQAMW7FYJCZ1D2FS8H673B096053 u3)
(map-set mint-passes 'SP22VVY6NQ4PCWC0FDKWP1TKN5J8SEWCS64TF3Y43 u4)
(map-set mint-passes 'SP1QV2BH7JQPWGAD2NXDCW8BMG4258RA7A9RMECMA u3)
(map-set mint-passes 'SP36KZRX2ET7W215D568EDTA4A392EWN14FT12TAN u1)
(map-set mint-passes 'SP12VTBRY3M9X3HKZH1ST668METTXR452V29XF7QJ u1)
(map-set mint-passes 'SP3S6NYPVDJGV8T7WMT20V85RN85HZX3HDCDVWB5J u1)
(map-set mint-passes 'SPWQQVGCW8Q7AC1MF1WWA4T0GGQPWQXMHWTQ31KS u1)
(map-set mint-passes 'SPR5HXKRK4Z8307XWS28CWACDA0AYK0GJK77DVZK u2)
(map-set mint-passes 'SP9MK4K1XJZYFDGPN31BA6MPTNWA5S7ARR6Z5DF5 u1)
(map-set mint-passes 'SP2MMF30WNFRQRB3H6PKZR07BA5W4YQ6XY2JF8X5R u2)
(map-set mint-passes 'SP21TA8GMAH56PSNZ8EJPPY6HSN5DDV0S3GQ2XDQP u1)
(map-set mint-passes 'SP3GKD03CY339NVCVG0PKKRRC4CAGCECYXNXGQ69 u1)
(map-set mint-passes 'SP3TNWFMV4PAH9Q5M5Z7XKN5Y7AM9QWEGAWK13K24 u1)
(map-set mint-passes 'SP3XX4XN3CGDGVWP9H4TRVJ4JQ6QBYHF34P4JMNHY u2)
(map-set mint-passes 'SPB0NER4TRN0Q9V93ZD38HZ2J93SXQMSAAQWZTVX u1)
(map-set mint-passes 'SP193B6A8GMXNFEH3WWCQC22QYYNSPHJTSGM80ZWY u1)
(map-set mint-passes 'SP2GJJV1CFWPZFWBE0MQZTE0FS45YYNHFFGP6Z8PX u1)
(map-set mint-passes 'SP2F18PH7FP22EHS0J0X3A6EFZ9PAW0EZJRET0GXZ u2)
(map-set mint-passes 'SP2H667JRMBHX0NRJ3ZMPPDR4R9TH6NM1ZFYW07S6 u3)
(map-set mint-passes 'SP7VK7V27R0H2C7WRR378457WX8VX1Q32RCZRV6H u1)
(map-set mint-passes 'SPH8DYPNFV7VPK6MNK2G1X9H2DJ1D69PXNQKSE0B u3)
(map-set mint-passes 'SPZR3D7P5947PMXEMBPSMXGRG9AGWGX5MHW3MY7Y u1)
(map-set mint-passes 'SP301YB8MT9AW8P7RJ2GFN2BXVDHRJYJXTT5905SW u1)
(map-set mint-passes 'SPFQX05AX2TCQZQFM138PST1F99NE6P1REHGQ9FT u2)
(map-set mint-passes 'SP3AXS4AS4DTT780FZRYSAJ732VJXRJMZG04A5ECD u2)
(map-set mint-passes 'SP1GGDWH3QHWZ4PBQS332MT5C9V9ZER8W9FFKVHQA u1)
(map-set mint-passes 'SP2M4CFGYXNCG78Z3FBEK0HB0KJQXT31RPPCRNE7Z u1)
(map-set mint-passes 'SPZJSY1EQ6P4KMX1NX5CDFYJBEPWECFM4V58XB2G u1)
(map-set mint-passes 'SP12BEEDG31J0AH68DFDJJYZ36D002PKDZCP1DZQE u1)
(map-set mint-passes 'SP2A4R43TCNHZ19AKK44WEBP4R16X7DV4093GQ0X4 u2)
(map-set mint-passes 'SP1SSV32NYQM93VRQH6T9SN9J02SVNN1AYJETWNSX u1)
(map-set mint-passes 'SP3RBN4KZAQCTCBF3A8BEEX7AKSK09K5JR1GEV9TW u2)
(map-set mint-passes 'SPJCSG2ZJD95JR4QG9Z0EP786WN7T3CAF7GKBD01 u1)
(map-set mint-passes 'SP36KY6SG05FK21AZGTNNY7HD5CPH5MQT8Q85HPD8 u1)
(map-set mint-passes 'SPVQF3P1EFG0K94AX98850WNCVDBP4MNX6TNXCKS u1)
(map-set mint-passes 'SPVS8CQ247EVN8VXE8SC087DTFCXR52YF4HXATZQ u2)
(map-set mint-passes 'SP22S0FFNGD7VV024X0KQ5CJPAB540KJ554KTA7XP u1)
(map-set mint-passes 'SP3R04S6DNK9GPETVWT954KZVJXGKGNJ2A5XRNQQY u2)
(map-set mint-passes 'SP3CCSZ71MCFRKRASSTKT7HY5Z4ENWRT3YZZ2EZT4 u2)
(map-set mint-passes 'SP36MCQHXPP0DZ2KPC1KEY6ERC8GKB6QVCAK0PQYG u1)
(map-set mint-passes 'SP20C6DM0MYYWGAAYWBPTQ7H2GA5VWD6CJK2XAAB1 u1)
(map-set mint-passes 'SPQ2HN9TYF8ZYY9D3G45NGYA9GHA6QZHQ8AXF5QM u1)
(map-set mint-passes 'SPEEGKTHR5481MGR2NFRFR16ENSF81H0VBNAPQ55 u1)
(map-set mint-passes 'SP2FRFKTP2GM2VM64VYBV0MG9CKRF3TZBFSRZ1C3T u1)
(map-set mint-passes 'SP364J7EDJXRE1FPDZDABP9M58HPY4G88BFCP2HD0 u1)
(map-set mint-passes 'SP12GTK99KYK1JEEPF1ZV5VTQAVDX5GRHX8YZ9JQS u2)
(map-set mint-passes 'SP26SB34D9THJ8BMSPT6EJHW9JDGBHWMX74PVDFEN u2)
(map-set mint-passes 'SP18WRH4SF7F1M5QZZ2BQDZZYBCJWT9VWQMDSTFY5 u4)
(map-set mint-passes 'SP3P4C7Y072A6VZEWKR187K27X8B92X8K91KK70X0 u1)
(map-set mint-passes 'SP3EXK515JYZAGKQWQM49ACKF3KK1YJ97DM4T0911 u1)
(map-set mint-passes 'SPMEQ7E77HBSWJSXRRF4TR428JKY7D7YEPA6XPSD u1)
(map-set mint-passes 'SP1HFQ1ZXEXNQE45RVKK15QXXFXCY17NDV3D0CRVN u1)
(map-set mint-passes 'SP2MSSYJQ04HK9FTK8FHZZHH1MW1NY7W1Z01D6PX8 u1)
(map-set mint-passes 'SP3SF0PSD7KYVJQPKKRBYJFF7NENGFHZSBVHM3B27 u2)
(map-set mint-passes 'SP2TV9WT5FM6TEDCS5C10X7P7R813MTA3W5GAGJHQ u1)
(map-set mint-passes 'SPR6RNTSP1TRMNXG17DHN7S2EVQ4AVDK9Y38MK88 u2)
(map-set mint-passes 'SP1FG986K6M9Y5WGZZBS6TQ8J9C81Y5PCJJ144N04 u1)
(map-set mint-passes 'SP1VAZ6QJRWEEJA4275BKPM4GP15CNRHYRYC8WM4R u2)
(map-set mint-passes 'SP2PBWHHBGW4KP3E4VW0E9R8S6NTKTZMWHT1RW6XB u2)
(map-set mint-passes 'SP2E852RZJ5QX4ASNGT1N1Q1A7Z3Y1MZWSHQK0MEB u2)
(map-set mint-passes 'SPWHKXYPYR63QE2ZCGB8SPMZ8DTD0Y5KBG1VWFBH u1)
(map-set mint-passes 'SP2KJC2WBNJPGVRB0GG30666PQW96MAKH7YWGPWB0 u3)
(map-set mint-passes 'SP38VFY3W8YZZ75WG40C6WZFSG6THTGTR3293W5BQ u2)
(map-set mint-passes 'SPR6P0V6Y55A29RCKRDWQ3BMSFQGJ5JAJWJY5KCH u1)
(map-set mint-passes 'SP1F4NFM0JTZNMGSBYJ7FAQW1G2AANTQEEQXT7DMX u1)
(map-set mint-passes 'SPFPMC99PMNBJT5VV9X5S134GJFG421XXYB4JS9H u1)
(map-set mint-passes 'SP2AEY9QJD5MGDEEYYTNYBVVS7S97W2S0302HQ7S1 u2)
(map-set mint-passes 'SP3RSKD77175DF9HAPND5C306BBGXR7D4ZCBHZYCG u2)
(map-set mint-passes 'SPYAX2RNZA18KQA8Y0S5G393QBE8SWPNZ6R08XNH u3)
(map-set mint-passes 'SP3SGTV57D501YP1ESVY1G4F7Z5M3G6GJM58N572G u1)
(map-set mint-passes 'SP693TWWXJXVY586MKCJ8V10WAYBT27C5J22KAW9 u1)
(map-set mint-passes 'SPYQ829C0KWNEVETW09C93CCBHV3AGM60AKS66AJ u1)
(map-set mint-passes 'SP2FPFV23ZRB8VNVAD5A071C6D3PF87RTFDH1TP2T u2)
(map-set mint-passes 'SPEQT31GBTYFPTQXYQNBY79XX4Z8CSYMP4N5PGF7 u1)
(map-set mint-passes 'SP2RANYBCSDN4BP3C2TNH47KZJG8VDDFFP3F0CXXC u1)
(map-set mint-passes 'SP9FPT7V8ATKY3AZP5JDV97PVV4CJ6938PEE36E1 u3)
(map-set mint-passes 'SP2KZ24AM4X9HGTG8314MS4VSY1CVAFH0G1KBZZ1D u1)
(map-set mint-passes 'SP17V7VX9G4JJRYZZXN29GVXAPKB4HMEN1KEPK1NK u1)
(map-set mint-passes 'SP1SA9ZTHB8QWNWJAYX54RZKA1EGB3R6YZDN4RWNJ u1)
(map-set mint-passes 'SP226P4V1G7T6KVD39VMAGQV6HXKDM97T009AV579 u2)
(map-set mint-passes 'SP1PCEAP62X5BZSMH257ZHAPGAPSX3BDT3TDVCN4M u1)
(map-set mint-passes 'SP2XZXH4A7F82FJY2J98Y2V90S05Q4HYMNTNDS50G u2)
(map-set mint-passes 'SP2NY7V6DRZQWP2XHPAMJYCHQKF22R8TYN7RRGEVW u2)
(map-set mint-passes 'SP1S2SEP2MCCJZ0N07FWWS8NKK43YNDZ0WB4QB9RK u1)
(map-set mint-passes 'SP1W3T8PC4KYJQCCEGPG3XFYH71JFM90D1ETANM4S u1)
(map-set mint-passes 'SP3ST6K5W36V2MTSNYYXE56SCXR7DGTW9N4NMZHYV u3)
(map-set mint-passes 'SP33SCE1F3J9N6D4ZFY9AA3GR05GS3112GS1VZDFC u3)
(map-set mint-passes 'SP2TW1D8YF5CE0NDP5VCR5NMTPHQ4PQR1KBB4NQ5Q u2)
(map-set mint-passes 'SP19YRVJWZQ7FE5WBE1XA2ZG01187WQG954Z2Y05Q u1)
(map-set mint-passes 'SP1H6R0QXWNPRCG9Q6Z2V4S0Z9VNKW1Y2ZXNARBXH u2)
(map-set mint-passes 'SP129SXC2YE4VM9ZXWXF1WSRT8M5BGAEZ0PQK685D u2)
(map-set mint-passes 'SP7C953XMSK32N7Z58JTRGDKWP128BB9GXSP5BZV u1)
(map-set mint-passes 'SP1EH2MQAT4VAKRWP28CGE6PDB00CY1STTPA6FJXH u1)
(map-set mint-passes 'SP1FMY2SZGR57HVHXBK4YPMKG9TJ8EG58ZE9P8M2Z u3)
(map-set mint-passes 'SP3VHCK82WS8R61H1VQD529MAF197B8GK5CJ8WYK9 u1)
(map-set mint-passes 'SP2GJNP68GV13TC5XWRN2SH749DZ3C7FJVBP20XM7 u1)
(map-set mint-passes 'SPQHTQ3A7HW6MN0HZTTPTBMA8W8DHV62YBGQK1HD u2)
(map-set mint-passes 'SPX20QDEA10YB7TEKG34ADKV01DEWBK428GH8XZ6 u2)
(map-set mint-passes 'SPCXYQ2AF41TJZ69J3MV8ZEVRNBWHTD93PH2YGEC u1)
(map-set mint-passes 'SP1PJ6FG587CQK586VSZNHDK60H724F7XJY6SBBG3 u1)
(map-set mint-passes 'SP2Z4MCB2488PSASQHWDA2J3G2CG7TDETT8TK5QA0 u1)
(map-set mint-passes 'SP1KW3KN9BD1WSXZNX8XYM6KVX23S0NTDTR8KN4NM u1)
(map-set mint-passes 'SP1PKK6KJPM826D0X6AMCJ63KEH2M456M4T22WAPQ u1)
(map-set mint-passes 'SPDAK6G9JG8BRTKMSAC03JAM046BS8E3K90YAW2R u2)
(map-set mint-passes 'SP3MPTWZFFS12C2GKSABZVAMY7NEBCWG2JAYRB7W3 u1)
(map-set mint-passes 'SP3G5AH22FQC5TX8N7GYMZRBVXZ4198402ZWE6FG8 u1)
(map-set mint-passes 'SP197GMEG6WGBRDTCTGGWMRA1G77E65TRXWYKGCT7 u1)
(map-set mint-passes 'SP2XVHDHHYHFJT7H3D86KM7RTBFNY0J0DW1XWQ0ZP u1)
(map-set mint-passes 'SP2FKF3YK7QW2YR7NSHV6R3MSQ0E91ZSVCB9DNTM1 u1)
(map-set mint-passes 'SP2JB34PDJCHP5MM1ZG3XSRPP77NX10VDPFJSKJWQ u1)
(map-set mint-passes 'SP31KWK1Z6B0WV9AWYDV2JC0G7FHEKTT7CN8QAW7Z u1)
(map-set mint-passes 'SP1CJCC6CZDX12V1SHTPW10ME1H0QZ7GKYCN202CV u1)
(map-set mint-passes 'SP17EADH832H2WY7ZBFT867XSY9NSXZVDA7YDQBFF u2)
(map-set mint-passes 'SP25GF7GJF4442NB3KDK835VV0RE1PZ8MYB85GDEY u1)
(map-set mint-passes 'SP2ZGVSV6JDJ6SCGJETE3ZT0PNRSB90FM01P830D4 u2)
(map-set mint-passes 'SP3QD9EVZB3E7E7Z3FWH7KBDH5RZWA4PYHSQ0FGTQ u2)
(map-set mint-passes 'SP3RBBZRRNA859PV207VJVNJBWZ9KRNMT9AN37M6E u1)
(map-set mint-passes 'SPPPYQKZ13VN5MFS2SXXFC3PPENDASW44M254PBR u1)
(map-set mint-passes 'SP1CEQ9NW1Y69E6VDEEW8EA5JY40ZNXSXR85BDVV3 u1)
(map-set mint-passes 'SP3K56FKA65F4AVTA69N02M02B9N1M8AARJMS49N2 u1)
(map-set mint-passes 'SP1TCA7QER9J9NKCKBB78K48TADDFC2GXYM3QQV3X u1)
(map-set mint-passes 'SP23H7NJNK4QEQGACN2MEBGXNV67F6A0SWC8ZBRSD u1)
(map-set mint-passes 'SP1J06FYEN6N3D5Y225R7X3EZY6171AQEKW4FJ4XA u1)
(map-set mint-passes 'SP398XE371G08T84A99TCBD8XKWY3S7VVX6JKJWKY u1)
(map-set mint-passes 'SP1QVY5ZFXHK66K5YJG166X9VV7W6DDWVC7V2NWD1 u1)
(map-set mint-passes 'SP1NFRJJFQAA5AB4R8RDA3F0WEBZHK0HQSKW1PPNY u1)
(map-set mint-passes 'SP36NC0KX6RZGPQXR73AMW8R0CXXHS06DRM487A5G u1)
(map-set mint-passes 'SP1SPXH8M9CDE83Z3ATPXAJFJR3T5NMBQXWM9FCX4 u1)
(map-set mint-passes 'SPC4KZE8PZ82XG79TYGFXMWMNFY0TPFEFESYWFS7 u1)
(map-set mint-passes 'SP2BZQ48MADDN62X044NNJCNXF5BA33C3BFQ3TZJW u1)
(map-set mint-passes 'SP22K0WRRKXY1GK91Y7JAR19XBQ6H6RDG6XSW696C u1)
(map-set mint-passes 'SP12ZVZNKA89JFHH5WJ4YQ999Q57NRBX3WCCJ04VS u1)
(map-set mint-passes 'SP1GSBEAZH7DSBTKECDHNKCDEGT2BGP2HS2TWMBVC u1)
(map-set mint-passes 'SP329G766AV8Z01X9EEAHPDQ4WDJXT2A0XB383MGP u1)
(map-set mint-passes 'SP1T07GK9H4M0WP4N1DSSA7NJ7GNTQZ0GBZM0GAR2 u1)
(map-set mint-passes 'SP1E7DEJG95E0EBZFFGEFGE0QX6Y0CR5V79615FB2 u1)
(map-set mint-passes 'SP3R4NKXMGW6YXA44X2ESZPKJNV25X4ZN7DPW0RXR u1)
(map-set mint-passes 'SP3Q9C6VPBN3YH0PNERAM4AKTGRSK4J2540RG0S6K u1)
(map-set mint-passes 'SP2PJZBF432ZNW05R7PAGQF7MDKERMMSNNM1VFT2H u1)
(map-set mint-passes 'SPHWY482ANTWNTW2618HYHQSDY1WCW7P20BW5F7Y u1)
(map-set mint-passes 'SP3S38CQAYN78V9BTWYT1CNP8MWDFP8EPH6K0JJ4V u2)
(map-set mint-passes 'SPKSG77V3EGXED5RJ4H7P6G2H24TAWFJFR083A9B u1)
(map-set mint-passes 'SP3W23AJE2FEJN3R9ZPCS1QZEGRZQ86A4810H9HSQ u1)
(map-set mint-passes 'SP3C5ECA2QFB2XF6BTBY3Z006NVTDKNHJM1NTMQT u1)
(map-set mint-passes 'SP779SC9CDWQVMTRXT0HZCEHSDBXCHNGG7BC1H9B u1)
(map-set mint-passes 'SPDXC0NM3YQDHV1HN3V9P5Y4P26QWY709NB86EYB u1)
(map-set mint-passes 'SP24K5RTSTWW872W70DXP666V79A5ZVKCXP7EGV00 u1)
(map-set mint-passes 'SP3KGJHCN8V9YBXX0AGNN7RH4H4KSAN4NR2BRQRX9 u3)
(map-set mint-passes 'SP1F48HCD4SP4HT8BHQPXZ35615764KC80ACNMBDZ u3)
(map-set mint-passes 'SP2619TX0ZEZQ9A4QMS29WH1HKA86413NZHDZ2Z04 u3)
(map-set mint-passes 'SP24GYRG3M7T0S6FZE9RVVP9PNNZQJQ614650G590 u3)
(map-set mint-passes 'SP37PM1Q3VY6KFKCNMB1WMK1W7D0CH1WZMKJVRRSD u1)
(map-set mint-passes 'SP7AS7797DP3WP2BBWSJB67JEWV63WEQM96VKH3J u2)
(map-set mint-passes 'SP38T316JNMXGX58CVSAG6N9VP9FSH2PS90A861JE u3)
(map-set mint-passes 'SP1BC30N1WX8ND2P1F4GTDWG4A5XVV1JPXNC0QM6F u1)
(map-set mint-passes 'SP381XXK5KTSRD1WCJJ351MV4ETXNPEMTVWQMPTW4 u1)
(map-set mint-passes 'SP3ZKG558EH5TFNV097PQA2QE52NASP3RKC0NJ8DV u1)
(map-set mint-passes 'SP1DQBQ99CFPJ84NV3R228M8PF9WGR6197PS0CTRY u1)
(map-set mint-passes 'SPN3QS2Y9M9BHQ85DV0MNRRW23QN9TKB3SVC0BX0 u1)
(map-set mint-passes 'SP2PD7DBZWDC0YSTHF9B7WD510SY2AS40YXK97CY1 u1)
(map-set mint-passes 'SP1V2YVNVDHHYZCSZ5TM9EXSZGYS85NW12VD5V2H3 u1)
(map-set mint-passes 'SP27P4FECZXC2TXPS24C1CCTNKB0K1JEK3SZK7CB u1)
(map-set mint-passes 'SP3YZY8GXCF293N82PBFMGZWA6K9PQ89JZPQS82SP u1)
(map-set mint-passes 'SPWDPE1ERAGVGZ6AS69F2TXMBFPSW0T0XSRHC1K6 u2)
(map-set mint-passes 'SP3F0KB3SEBMRHWMSHYWFP2PKDX7NEK6405VP4MQA u2)
(map-set mint-passes 'SP32DFA3HXYZ2BV3P8H6XQM8EN94D2212QM71BRYG u2)
(map-set mint-passes 'SP2NT72Q30V7R4Y4E13G76FFF9R7FXZCCQV73WNYD u1)
(map-set mint-passes 'SP233DQ184TJ6QEVS6C40D364D74P82SG289MHHPK u1)
(map-set mint-passes 'SPDWWHMNCJAYE0CBTPEYE4626Z2B227SJA12QCZ3 u1)
(map-set mint-passes 'SP12D0B8YC7TDHA2VS7GD3PNBNA6CFC6NZAWBJKB1 u1)
(map-set mint-passes 'SPWWNKR8ZANV0YWS6ZN5H5GYZZSPHXN39MDZ2J6K u1)
(map-set mint-passes 'SP3NDX6RVFBYW97BTKK0PE20SABAYPFVZ282ZY4KJ u1)
(map-set mint-passes 'SPEXAF3YRNCR01Z4DFZ567Z0FB4RKPHM88DMKJSQ u1)
(map-set mint-passes 'SP1DZJ3P3XEZPQ3WRESFG4A1ZB0DQ1XXBT07542JP u1)
(map-set mint-passes 'SP14E544B2FY8BSKTV5V7W8NCRYX2B7NXRQ7B7NJ9 u1)
(map-set mint-passes 'SPPHQ18BSEZVB52Z4XZD5H4JFEZ7ARD5QS2PTCG u1)
(map-set mint-passes 'SP36DGC9Y9X0KNCASBNKC0S5J94P2EERKAC52433Z u1)
(map-set mint-passes 'SP3RBDXSGV4695WSCGV2P69PGG3A9VN9WHA3DT0A4 u1)
(map-set mint-passes 'SP11J1VHP7RWX0ME3X5814A3T6GHEDXPZMR9XPECX u1)
(map-set mint-passes 'SP289TVCWG8S50CBAZQHZWFWCQF8ZZ1TB03V2T6B u1)
(map-set mint-passes 'SP3NAYJHNDWZQZ5TH1Z445SCQ4GHPZ64NFSTHDY55 u1)
(map-set mint-passes 'SP3ZVD6M7P4Z7YQ8PJV0J9D6PSDVXADNY7N6XXAHA u1)
(map-set mint-passes 'SP265DNHNK1NHX7FE9MZKCCA4G1VS7TT3BMES5TR u2)
(map-set mint-passes 'SP3S18R4135MPDKAQ44SH8Y6KEDB4RA6W0DGBF2GD u3)
(map-set mint-passes 'SP14D2YB6A9A74BMEV617T7DZZJ83D3MJ46EKG618 u3)
(map-set mint-passes 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ u100)
(map-set mint-passes 'SP2EMWG10M1SPZ4HRP4D2N9S7GNHRHC4P0ZZ6HBWB u2)
(map-set mint-passes 'SP2RS0YJZ2QH5VYXQ91X06B9QYR90BNGJETWP0V69 u1)
(map-set mint-passes 'SP257J9EWA0JT9EYA49ZA8QH0W85W664523D8WDEX u3)
(map-set mint-passes 'SP2F8TG6YBFWH8MPB04DYRB8MQ5CAAZ1VT7THPHRT u1)
(map-set mint-passes 'SP1PWCWN37GGTZ99QDS4HQXB7GHC2D0B50A28A9M4 u1)


;; Airdrop
(define-public (admin-airdrop)
  (let
    (
      (last-nft-id (var-get last-id))
    )
    (begin
      (asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
      (asserts! (is-eq false (var-get airdrop-called)) (err ERR-AIRDROP-CALLED))
      (try! (nft-mint? tiger-force (+ last-nft-id u0) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u1) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u2) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u3) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u4) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u5) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u6) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u7) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u8) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u9) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u10) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u11) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u12) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u13) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u14) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u15) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u16) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u17) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u18) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u19) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u20) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u21) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u22) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u23) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))
      (try! (nft-mint? tiger-force (+ last-nft-id u24) 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ))
      (map-set token-count 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ (+ (get-balance 'SP1YN8WZ50C237MBJZ6GQD339NNZSKA55RJ9YZ9YQ) u1))

      (var-set last-id (+ last-nft-id u25))
      (var-set airdrop-called true)
      (ok true))))

Functions (53)

FunctionAccessArgs
claimpublic
claim-threepublic
claim-fivepublic
claim-tenpublic
mintprivateorders: (list 25 bool
mint-manyprivateorders: (list 25 bool
mint-many-iterprivateignore: bool, next-id: uint
set-artist-addresspublicaddress: principal
set-pricepublicprice: uint
toggle-pausepublic
set-mint-limitpubliclimit: uint
burnpublictoken-id: uint
is-ownerprivatetoken-id: uint, user: principal
set-base-uripublicnew-base-uri: (string-ascii 80
freeze-metadatapublic
transferpublicid: uint, sender: principal, recipient: principal
get-ownerread-onlytoken-id: uint
get-last-token-idread-only
get-token-uriread-onlytoken-id: uint
get-pausedread-only
get-priceread-only
get-mintsread-onlycaller: principal
get-mint-limitread-only
get-balanceread-onlyaccount: principal
trnsfrprivateid: uint, sender: principal, recipient: principal
is-sender-ownerprivateid: uint
get-listing-in-ustxread-onlyid: uint
list-in-ustxpublicid: uint, price: uint, comm-trait: <commission-trait>
unlist-in-ustxpublicid: uint
buy-in-ustxpublicid: uint, comm-trait: <commission-trait>
toggle-sale-statepublic
enable-premintpublic
disable-premintpublic
get-passesread-onlycaller: principal
get-premint-enabledread-only
get-sale-enabledread-only
get-price-miaread-only
set-price-miapublicprice: uint
claim-miapublic
claim-three-miapublic
claim-five-miapublic
claim-ten-miapublic
mint-miaprivateorders: (list 25 bool
mint-many-miaprivateorders: (list 25 bool
get-price-nycread-only
set-price-nycpublicprice: uint
claim-nycpublic
claim-three-nycpublic
claim-five-nycpublic
claim-ten-nycpublic
mint-nycprivateorders: (list 25 bool
mint-many-nycprivateorders: (list 25 bool
admin-airdroppublic