[
  {
    "bytecode": "0xa11ceb0b0800000a0c01001b021b9e0103b901b60804ef095c05cb0af30a07be15c91c0887324006c7325d10a433b5160ad949fe030cd74db6550d8da301600000010f0119011f003f015d016001710109018f0100b20101cc01000106000003070000050600000606000007060000080600000a0600000b0600000c0400010e070000150700001608000218040203010001001b0700001c0400031e040106010020060000220600002406000025060000280600002c07000030060000310600003206000038060000390600003a0700003c0400043e07000043060000450600004908000050060000510600098e010701000004c0010700005500010001010100560301000101010157040500010101025807080203000101010259090a020300010101015a0b0c00010101045b0d0800010101045c0d0800010101055e0e0f00010101005f1011000100066105080001010103621301010601010102630914020300010101036417010106010101006519010001010102661c0102030001010100671f01000100006820010001000169210c00010101006a2301000100006b250500010101026c0726020300010101006d030100010101006e282900010101066f0108000101010470012b0001010107722c050001010100731f0800010101007428080001010100753001000101010276013102030401010108770e33010601010100783839000101010079300100010101007a3a3b00010101007b3c3d00010101007c3e3d00010101007d384000010101007e410100010101007f4229000101010080014401000101010476462b00010101008101494a0001010100534b4c000101010082014f0100010000830150010001000084015101000100008501510100010101004b5301000101010086015501000101010087011f0c000101010088011f05000101010089011f3900010101008a01580800010101008b01580800010101008c01580800010101008d011f5900010101099001135a0100010101099101015a01000101010092011f0c00010101009301240800010101009401252b000101010095013d3b000101010096015e05000101010097015e05000101010098015e24000101010099014b0500010101009a015f2800010101009b014b3d00010101009c014c3e00010101009d01600800010101009e01600800010101009f0160080001010100a00160080001010100a10160080001010100a20161590001010100a301290c0001010100a4013d290001010100a50161050001010100a60129050001010100a70129400001010100a801293b0001010100a901610c0001010100aa0124080001010100ab0164010001010100ac010e010001010100ad010e010001010100ae0165010001010100af01673d0001010100b00169010001010100b1016b01000101010ab3016c0100010000b4016e01000101010ab5016f0100010000b6016b01000101010ab7016c0100010000b801713d0001010104b90172010001010100ba0175010001010100bb017701000101010abc01780100010000bd016701000101010abe017a0100010000bf017c0100010101046c0d7f0001010104c10180017e0001010109c201810108010001010104c301820101000101010466830101000101010ac40184010100010000c501860101000101010ac60187010100010000c7017701000101010ac801780100010000c901890101000101010aca0189010100010000cb018b018c01000101010bcd0101050001010100ce018e01110001010100cf018f01010001010100d00191010100010000d1019301110001010100d2014a1100010101030604060b120c0604150c150d160b1a031b0f1b041b0d1d0315151b0b2a0c1b0d2d1e151e061f321f341f350f150b360d320b430d350f060b470d341e1b1f1d1f2d1f161f4d151539053a0515060b730d4d397e6a7e3a7e3a4a394a0207081c081c000203070306060c0508090809030301060809010302080d080e02060b0c02090009010900010102070b0c0209000901090001070901010a020108090206081d06080901060c010605030508010301081c010805010900010901020809080801080702070b0f0109000900130503080908090809080908010507080b07080e0809080908010307082007080e03070307080804060c0801050301081f020801081c03070b0c0209000901090009010108020808010305081c07082007081c081c07030205080901060a080903060809030303030306080902060c080d010502050801010609010106082003050809080901080d01082101081d0203030108041405030809080905080107080b07080e080908090801070820070820070b0c020801081c0703030703081c0307080805060b0c02080d080e0508090809080d06060c080908090809030a01010b0c0209000901010810010b0f010900010811010812010813060507080b070b0c0208090808060a01080a080801060a0101080a0303030501081b02080d030108010405080908090302080908090108150e060c080908090809030308090503030a010a08090a0a020a08090d060c08090809080903080905030308150a08090a0a020a080901081602060c081c07060a010815080d070b0c02080d080e07080e07030801030a08090a0a020a080901081e140507080b0508090809080d07080807030303030809030305081d08090809081b080e04060c080103030108220106081c0106080101081a080505081c07082007081c081c03070301080801080e0205081c0507082007081c081c03070304060c060c08010302081c0507060c060c0508090809030307080908090801060c03081c060c01060b0c02080908080106080a010b230103010b230109000305080907080801060b0c02080d080e03080d05060b0c02080d080e0106081b0106080d010608150205080d02060b0c02080d080e06080e0205060b0c02080d080e02060c080105060c0508090809030c08090809080d060c080d0305070b0c02080d080e07080e030703080103060c080d0309060c05070b0c02080d080e07080e0307030801081c0504060c05080d030605070b0c02080d080e07080e030703080103060c0809080904060c080908090809050505080907080807080903060c08090304060c08090303060505080907080801070306060c0508010a08090a0a020a08090407081d0a08090a0a020a08090108181705070b0c02080d080e07080e08090809050801070820070b0c020801081c070b0c020801081c07030703081c0303080d0801081c08010a08090a0a020a08090a08090a060c05050809080903030a08090a0a020a08090a05030809080908090809080103010303060c080d080905060c080908090809080904080d0507080e07080905060c08090809030305080d0507080e01070305060c080d0a08090a0a020a0809010b2301082401082401060824020a02080901060b230109000307081d06080908240307081d0809082406060c080908090a08090a0b230108240a08240e080d05060a080903030307080e0a0b230108240a082403060809010b23010824082403060c080d081b09060c0809080903030503030504080d0507080e07081b02060c0103060c0507010208220302081c0b230108220b0b2301082205080103070820070b0c020801081c0703030703081c0b230108220207081c0307060c050809080903050309080908090801060c0503080103081c050508010a08090a0a020a080908070b0c020801081c07081d060a080903030608090a0a020a080903060c0801030605070820070b0c020801081c07030307030805080103070820070b0c020801081c070303070305070820070b0c020801081c070303070305746f6b656e074465706f73697402696407546f6b656e496406616d6f756e740c4465706f7369744576656e740857697468647261770d57697468647261774576656e74044275726e076163636f756e74094275726e546f6b656e0e4275726e546f6b656e4576656e740e436f6c6c656374696f6e446174610b6465736372697074696f6e06537472696e6706737472696e67046e616d650375726906737570706c79076d6178696d756d116d75746162696c6974795f636f6e6669671a436f6c6c656374696f6e4d75746162696c697479436f6e6669670b436f6c6c656374696f6e730f636f6c6c656374696f6e5f64617461055461626c65057461626c650a746f6b656e5f646174610b546f6b656e44617461496409546f6b656e44617461186372656174655f636f6c6c656374696f6e5f6576656e74730b4576656e7448616e646c65056576656e7415437265617465436f6c6c656374696f6e4576656e74186372656174655f746f6b656e5f646174615f6576656e747314437265617465546f6b656e446174614576656e74116d696e745f746f6b656e5f6576656e74730e4d696e74546f6b656e4576656e7410437265617465436f6c6c656374696f6e0763726561746f720f636f6c6c656374696f6e5f6e616d650f437265617465546f6b656e4461746115726f79616c74795f70617965655f616464726573731a726f79616c74795f706f696e74735f64656e6f6d696e61746f7218726f79616c74795f706f696e74735f6e756d657261746f7215546f6b656e4d75746162696c697479436f6e6669670d70726f70657274795f6b6579730f70726f70657274795f76616c7565730e70726f70657274795f7479706573044d696e74094d696e74546f6b656e114d757461746550726f70657274794d6170066f6c645f6964066e65775f6964046b6579730676616c756573057479706573164d7574617465546f6b656e50726f70657274794d61701b4d7574617465546f6b656e50726f70657274794d61704576656e7407526f79616c74790d70617965655f6164647265737305546f6b656e10746f6b656e5f70726f706572746965730b50726f70657274794d61700c70726f70657274795f6d6170186c6172676573745f70726f70657274795f76657273696f6e07726f79616c74791264656661756c745f70726f7065727469657311546f6b656e446174614372656174696f6e0a636f6c6c656374696f6e0c546f6b656e4465706f7369740d746f6b656e5f646174615f69641070726f70657274795f76657273696f6e0a70726f706572746965730a546f6b656e53746f726506746f6b656e730f6469726563745f7472616e736665720e6465706f7369745f6576656e74730f77697468647261775f6576656e74730b6275726e5f6576656e74731c6d75746174655f746f6b656e5f70726f70657274795f6576656e74730d546f6b656e57697468647261771257697468647261774361706162696c6974790b746f6b656e5f6f776e657208746f6b656e5f69640e65787069726174696f6e5f736563056d65726765046275726e066c656e67746808636f6e7461696e730a626f72726f775f6d757404757466380c636f6e7461696e735f6b657909726561645f626f6f6c067369676e65720e626f72726f775f616464726573731c77697468647261775f776974685f6576656e745f696e7465726e616c0866656174757265730a69735f656e61626c656404656d69740672656d6f76650a656d69745f6576656e74087472616e7366657203616464186173736572745f636f6c6c656374696f6e5f657869737473256173736572745f6e6f6e5f7374616e646172645f72657365727665645f70726f70657274790a7375625f737472696e67176173736572745f746f6b656e646174615f6578697374730a62616c616e63655f6f6606626f72726f770f6275726e5f62795f63726561746f72146372656174655f746f6b656e5f646174615f69641e6d6f64756c655f6576656e745f6d6967726174696f6e5f656e61626c656405656d707479056572726f720963616e6f6e6963616c17636865636b5f636f6c6c656374696f6e5f65786973747316636865636b5f746f6b656e646174615f657869737473116372656174655f636f6c6c656374696f6e036e6577106e65775f6576656e745f68616e646c65236372656174655f636f6c6c656374696f6e5f6d75746162696c6974795f636f6e666967186372656174655f636f6c6c656374696f6e5f7363726970740e6372656174655f726f79616c74790f6372656174655f746f6b656e5f6964136372656174655f746f6b656e5f69645f7261771e6372656174655f746f6b656e5f6d75746162696c6974795f636f6e666967136372656174655f746f6b656e5f736372697074106372656174655f746f6b656e646174610d6465706f7369745f746f6b656e1a6372656174655f77697468647261775f6361706162696c6974791764657374726f795f636f6c6c656374696f6e5f646174611264657374726f795f746f6b656e5f646174610e6469726563745f6465706f7369741a6469726563745f6465706f7369745f776974685f6f70745f696e166469726563745f7472616e736665725f7363726970741a6765745f636f6c6c656374696f6e5f6465736372697074696f6e166765745f636f6c6c656374696f6e5f6d6178696d756d206765745f636f6c6c656374696f6e5f6d75746162696c6974795f636f6e666967256765745f636f6c6c656374696f6e5f6d75746162696c6974795f6465736372697074696f6e216765745f636f6c6c656374696f6e5f6d75746162696c6974795f6d6178696d756d1d6765745f636f6c6c656374696f6e5f6d75746162696c6974795f757269156765745f636f6c6c656374696f6e5f737570706c79064f7074696f6e066f7074696f6e04736f6d65046e6f6e65126765745f636f6c6c656374696f6e5f757269136765745f6469726563745f7472616e73666572106765745f70726f70657274795f6d61700b6765745f726f79616c7479176765745f726f79616c74795f64656e6f6d696e61746f72156765745f726f79616c74795f6e756d657261746f72116765745f726f79616c74795f7061796565106765745f746f6b656e5f616d6f756e74186765745f746f6b656e5f646174615f69645f6669656c64730c6765745f746f6b656e5f6964136765745f746f6b656e5f69645f6669656c6473276765745f746f6b656e5f6d75746162696c6974795f64656661756c745f70726f70657274696573206765745f746f6b656e5f6d75746162696c6974795f6465736372697074696f6e1c6765745f746f6b656e5f6d75746162696c6974795f6d6178696d756d1c6765745f746f6b656e5f6d75746162696c6974795f726f79616c7479186765745f746f6b656e5f6d75746162696c6974795f757269106765745f746f6b656e5f737570706c79196765745f746f6b656e646174615f6465736372697074696f6e106765745f746f6b656e646174615f6964266765745f746f6b656e646174615f6c6172676573745f70726f70657274795f76657273696f6e156765745f746f6b656e646174615f6d6178696d756d1f6765745f746f6b656e646174615f6d75746162696c6974795f636f6e666967156765745f746f6b656e646174615f726f79616c7479116765745f746f6b656e646174615f7572690f6861735f746f6b656e5f73746f726510696e697469616c697a655f746f6b656e17696e697469616c697a655f746f6b656e5f73637269707416696e697469616c697a655f746f6b656e5f73746f72650b6d696e745f7363726970740a6d696e745f746f6b656e0d6d696e745f746f6b656e5f746f1d6d75746174655f636f6c6c656374696f6e5f6465736372697074696f6e11746f6b656e5f6576656e745f73746f726528656d69745f636f6c6c656374696f6e5f6465736372697074696f6e5f6d75746174655f6576656e74196d75746174655f636f6c6c656374696f6e5f6d6178696d756d24656d69745f636f6c6c656374696f6e5f6d6178696d756d5f6d75746174655f6576656e74156d75746174655f636f6c6c656374696f6e5f75726920656d69745f636f6c6c656374696f6e5f7572695f6d75746174655f6576656e74106d75746174655f6f6e655f746f6b656e137570646174655f70726f70657274795f6d6170176d75746174655f746f6b656e5f70726f706572746965731c6d75746174655f746f6b656e646174615f6465736372697074696f6e22656d69745f746f6b656e5f64657363726974696f6e5f6d75746174655f6576656e74186d75746174655f746f6b656e646174615f6d6178696d756d1f656d69745f746f6b656e5f6d6178696d756d5f6d75746174655f6576656e74196d75746174655f746f6b656e646174615f70726f70657274790d50726f706572747956616c7565196372656174655f70726f70657274795f76616c75655f7261770769735f736f6d65157570646174655f70726f70657274795f76616c756522656d69745f64656661756c745f70726f70657274795f6d75746174655f6576656e74186d75746174655f746f6b656e646174615f726f79616c74791f656d69745f746f6b656e5f726f79616c74795f6d75746174655f6576656e74146d75746174655f746f6b656e646174615f7572691b656d69745f746f6b656e5f7572695f6d75746174655f6576656e74166f70745f696e5f6469726563745f7472616e7366657217656d69745f746f6b656e5f6f70745f696e5f6576656e74207061727469616c5f77697468647261775f776974685f6361706162696c6974790974696d657374616d70106e6f775f6d6963726f7365636f6e64730573706c6974147472616e736665725f776974685f6f70745f696e1e7570646174655f746f6b656e5f70726f70657274795f696e7465726e616c0e77697468647261775f746f6b656e1877697468647261775f776974685f6361706162696c697479000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010a021817544f4b454e5f4255524e41424c455f42595f4f574e45520a020706544f4b454e5f0a021a19544f4b454e5f4255524e41424c455f42595f43524541544f520a021817544f4b454e5f50524f50455254595f4d55544154424c4514636f6d70696c6174696f6e5f6d65746164617461090003322e3003322e33126170746f733a3a6d657461646174615f763181162400000000000000001445414c52454144595f4841535f42414c414e43452f54686520746f6b656e206861732062616c616e636520616e642063616e6e6f7420626520696e697469616c697a656401000000000000001a45434f4c4c454354494f4e535f4e4f545f5055424c49534845442d54686572652069736e277420616e7920636f6c6c656374696f6e20756e6465722074686973206163636f756e7402000000000000001945434f4c4c454354494f4e5f4e4f545f5055424c49534845442b43616e6e6f742066696e6420636f6c6c656374696f6e20696e2063726561746f722773206163636f756e7403000000000000001a45434f4c4c454354494f4e5f414c52454144595f4558495354531d54686520636f6c6c656374696f6e20616c726561647920657869737473040000000000000027454352454154455f574f554c445f4558434545445f434f4c4c454354494f4e5f4d4158494d554d35457863656564732074686520636f6c6c656374696f6e2773206d6178696d616c206e756d626572206f6620746f6b656e5f6461746105000000000000001545494e53554646494349454e545f42414c414e43451a496e73756666696369656e7420746f6b656e2062616c616e636506000000000000001445494e56414c49445f544f4b454e5f4d455247453343616e6e6f74206d65726765207468652074776f20746f6b656e73207769746820646966666572656e7420746f6b656e206964070000000000000020454d494e545f574f554c445f4558434545445f544f4b454e5f4d4158494d554d254578636565642074686520746f6b656e2064617461206d6178696d616c20616c6c6f776564080000000000000013454e4f5f4255524e5f4341504142494c495459124e6f206275726e206361706162696c69747909000000000000001a45544f4b454e5f444154415f414c52454144595f45584953545318546f6b656e4461746120616c7265616479206578697374730a000000000000001945544f4b454e5f444154415f4e4f545f5055424c495348454417546f6b656e44617461206e6f74207075626c69736865640b000000000000001a45544f4b454e5f53544f52455f4e4f545f5055424c495348454418546f6b656e53746f726520646f65736e27742065786973740c000000000000003345544f4b454e5f53504c49545f414d4f554e545f4c41524745525f4f525f455155414c5f544f5f544f4b454e5f414d4f554e543643616e6e6f742073706c697420746f6b656e20746f20616e20616d6f756e74206c6172676572207468616e2069747320616d6f756e740d0000000000000012454649454c445f4e4f545f4d555441424c4518546865206669656c64206973206e6f74206d757461626c650e0000000000000015454e4f5f4d55544154455f4341504142494c495459184e6f7420617574686f72697a656420746f206d75746174650f0000000000000018454e4f5f544f4b454e5f494e5f544f4b454e5f53544f52451c546f6b656e206e6f7420696e2074686520746f6b656e2073746f726510000000000000002045555345525f4e4f545f4f50545f494e5f4449524543545f5452414e534645522255736572206469646e2774206f70742d696e20646972656374207472616e7366657211000000000000000e4557495448445241575f5a45524f1743616e6e6f74207769746864726177203020746f6b656e120000000000000012454e46545f4e4f545f53504c495441424c452b43616e6e6f742073706c6974206120746f6b656e2074686174206f6e6c7920686173203120616d6f756e74130000000000000013454e4f5f4d494e545f4341504142494c495459124e6f206d696e74206361706162696c69747919000000000000001945434f4c4c454354494f4e5f4e414d455f544f4f5f4c4f4e471f54686520636f6c6c656374696f6e206e616d6520697320746f6f206c6f6e671a0000000000000012454e46545f4e414d455f544f4f5f4c4f4e4718546865204e4654206e616d6520697320746f6f206c6f6e671b000000000000000d455552495f544f4f5f4c4f4e47135468652055524920697320746f6f206c6f6e671c0000000000000022454e4f5f4445504f5349545f544f4b454e5f574954485f5a45524f5f414d4f554e542443616e6e6f74206465706f736974206120546f6b656e2077697468203020616d6f756e741d000000000000001f454e4f5f4255524e5f544f4b454e5f574954485f5a45524f5f414d4f554e541343616e6e6f74206275726e203020546f6b656e1e0000000000000018454f574e45525f43414e4e4f545f4255524e5f544f4b454e1e546f6b656e206973206e6f74206275726e61626c65206279206f776e65721f000000000000001a4543524541544f525f43414e4e4f545f4255524e5f544f4b454e20546f6b656e206973206e6f74206275726e61626c652062792063726561746f722000000000000000204543414e4e4f545f5550444154455f52455345525645445f50524f50455254593d5265736572766564206669656c647320666f7220746f6b656e20636f6e74726163740a2043616e6e6f742062652075706461746564206279207573657221000000000000001e45544f4b454e5f43414e4e4f545f484156455f5a45524f5f414d4f554e5422544f4b454e2077697468203020616d6f756e74206973206e6f7420616c6c6f77656422000000000000002645494e56414c49445f524f59414c54595f4e554d455241544f525f44454e4f4d494e41544f523f526f79616c747920696e76616c696420696620746865206e756d657261746f72206973206c6172676572207468616e207468652064656e6f6d696e61746f7223000000000000002545524f59414c54595f50415945455f4143434f554e545f444f45535f4e4f545f455849535424526f79616c7479207061796565206163636f756e7420646f6573206e6f7420657869737424000000000000001045494e56414c49445f4d4158494d554d3a436f6c6c656374696f6e206f7220746f6b656e64617461206d6178696d756d206d757374206265206c6172676572207468616e20737570706c7925000000000000002145544f4b454e5f50524f504552544945535f434f554e545f4e4f545f4d4154434824546f6b656e2050726f7065727469657320636f756e7420646f65736e2774206d6174636826000000000000002845494e53554646494349454e545f57495448445241575f4341504142494c4954595f414d4f554e54325769746864726177206361706162696c69747920646f65736e277420686176652073756666696369656e7420616d6f756e742700000000000000174557495448445241575f50524f4f465f455850495245531657697468647261772070726f6f66206578706972657328000000000000001e4550524f50455254595f52455345525645445f42595f5354414e444152442a5468652070726f706572747920697320726573657276656420627920746f6b656e207374616e646172640d044275726e010400044d696e74010400074465706f736974010400085769746864726177010400094275726e546f6b656e010400094d696e74546f6b656e0104000c546f6b656e4465706f7369740104000d546f6b656e57697468647261770104000f437265617465546f6b656e4461746101040010437265617465436f6c6c656374696f6e010400114d757461746550726f70657274794d617001040011546f6b656e446174614372656174696f6e010400164d7574617465546f6b656e50726f70657274794d617001040001206765745f636f6c6c656374696f6e5f6d75746162696c6974795f636f6e666967010100000202020801040302020202080104030302020208010403040202020801040305020309050208010403060202020801040307020202080104030802060d08091008091108091203130314080a0a02030d01110113010b0205170b0c02080908081a0b0c02080d080e1d0b0f010810210b0f010811230b0f01081213020526052708091108090d0809130310020526052708091108090d0809130314020c02080d0d0809130311080929052a032b031008091408152d0a08092e0a0a022f0a080911020c02080d0d0809130311080929052a032b031008091408152d0a08092e0a0a022f0a0809160203260502080d040317020202080d040312020202080d04031802060905330801340801350a0809360a0a02370a0809190205330801340801350a0809360a0a02370a08091a0205330801340801350a0809360a0a02370a08091b02032b032a033b051c020302080104033d081d0e020913034003120311080941081b1008090d080942081d1408151e020d260502080d0d0809130311080929052a032b031008091408152d0a08092e0a0a022f0a08090d020326054408091008091f02030905020801040301020246080d47031502051301110141010d0148012002064a0b0c020801081c4b014c0b0f0108024d0b0f0108044e0b0f0108074f0b0f01081a2102030905020801040322020452055308010403540300010000021d0a0010000e0110002104190e011001140c020b000f010c030a03140b02160b03150b011315010101020b00010606000100000000002701010402091c18ff010a050600000000000000002404fb010b010c060b020b030b040c070c080c0a0b080c0b0e0a11020680000000000000002504f7010e0b11020680000000000000002504f3010b060b0a0b0b12180b07121a0c0c0e0c10021003140c0d0a0d290904ef010b0d2a090c0e0a0e10040e0c100214380004e9010a0e0f040e0c10021438010c0f0a0f1005070011050c100e10110604e1010b0f1005070011050c110e11110704db010a000a0c0c120b050c131108140b120b1311091315010c13010a001108142a1c0c14063900000000000000110a04d2010b14010b001108140a0c0a13120438020a0e0f040e0c10021438010c150a151006140600000000000000002404cd010b130c160a150f070c170a17140b16170b17150b151007140600000000000000002104ca010a0e0f040e0c100214380313160101010101010101010a0e0f080e0c100210091438040c180a18100a140600000000000000002404c5010a180f0b0c170a1714060100000000000000170b17150a18100b140600000000000000002104c0010b0e0f080b18100c1438051307010101010101020b0e010b1801020b0e010b1801020b0e01020b0e010b1501020b00010b140f0d0a0c0a131206380605670b00010b0e01061e00050000000000270b00010b0e010b0f01061e00050000000000270b00010b0e01060a00060000000000270b0001060100060000000000270b0001061a00010000000000270b0001061900010000000000270b0001061d00010000000000270e0100011c1e740a022b1c100e1404700b000b010c040b030c051108140b040b0511090b020c060c070e0710011406000000000000000024046e0a062a1c0c08063900000000000000110a04630a060e071000140e07100114121938070b06291c045f0a08100f0e07100014380803390b080f0f0e071000140b073809020b080f0f0e07100014380a0c090b070c0a0a0910000e0a100021045b0e0a1001140c050b090f010c0b0a0b140b05160b0b150b0a1315010101020b0901060600010000000000270b0801060b00060000000000270a080f100e071000140e071001141201380b0527062100010000000000270b0001061000050000000000271000000109010e0a002909040c0b002b0910080b01380c040a02060200060000000000270601000600000000002711000000222a0600000000000000000c010a00410c0c020a010a022304270a000a01420c0c030a0311020606000000000000002604240b03060000000000000000060600000000000000111207011105220420051b0b01060100000000000000160c0105050b0001062800050000000000270b0301051b0b0001021300000109241a0e011003140c020b001108140a022104180a02290904160b022b0910040b013800041402060a000600000000002706010006000000000027060e0005000000000027140100011c27180a00291c0305060000000000000000020b002b1c0c020a02100f0a01380804140b02100f0b01380d100114020b02010600000000000000000216010402091c2ebc020b001108140c060a050600000000000000002404ba020a060b020b030b040c0711170b07121a0c0b0e0b1002100314290904b8020b062a090c0c0a0c10040e0b100214380004b4020a0c0f040e0b10021438010c0d0a0d1005070211050c0e0e0e110604ae020a0d1005070211050c0f0e0f110704a8020a010c0a0a0b0c100b050c070a070600000000000000002404a0020a0a0a1011140a07260498020a0a291c0490020a0a2a1c0c1111180489020b11010a0a0a100a07121d380e0b0a2a1c0f0f0c130a132e0a10380804ff010a130a10380a0f010c140a14140a072404f8010b13010a070c150b140c160a16140b15170b16150b100b07111912150c170b171315010c15010a012a1c0c12063900000000000000110a04f1010b12010b010a0b0a15120438020a0d1006140600000000000000002404ec010b150c180a0d0f070c160a16140b18170b16150b0d1007140600000000000000002104e9010a0c0f040e0b100214380313160101010101010101010a0c0f080e0b100210091438040c190a19100a140600000000000000002404e4010a190f0b0c160a1614060100000000000000170b16150a19100b140600000000000000002104df010b0c0f080b19100c1438051307010101010101020b0c010b1901020b0c010b1901020b0c01020b0c010b0d01020b120f0d0a0b0a1512063806058d010b14010b130b10380f0c17057b0b0c010b0d010b1301060600000000000000060f00000000000000111a270b110f110a100a071203381005570b0c010b0d01060600000000000000060b00000000000000111a270b0c010b0d01060100000000000000060500000000000000111a270b0c010b0d01060100000000000000061100000000000000111a270b0c010b0d01061f00050000000000270b0c010b0d01061f00050000000000270b0c01060a000600000000002706010006000000000027061d00010000000000271b01000109010b0a00290904090b002b0910080b01380c02060100060000000000271c010001092f2a0a00290904280a002b0910040c030b000c040b010c050b020c060e0511020680000000000000002504240e0611020680000000000000002504200b040b050b0612180c070b030b073800020b0301061a00010000000000270b030106190001000000000027060100060000000000271d01000109376a0e0111020680000000000000002504660e0311020600020000000000002504620a001108140c060a062909035f0a00381138120a0038130a0038140b00381512092d090a062a090f080c080a082e0a01380c035b0e050c090a090600000000000000004208140a090601000000000000004208140b0906020000000000000042081412080c0a0a020a010a030600000000000000000a040b0a12070c0b0b080a010b0b38160a062a090c07063900000000000000110a04510b07010b060b010b030b020b04120a3817020b070f120b060b010b030b020b04120b3818020b0801060300080000000000270b0001051c0b0001061b00010000000000270b00010619000100000000002720010000010e0a000600000000000000004208140a000601000000000000004208140b00060200000000000000420814120802210104010901080b000b010b020b030b040b05111d0222010000010b0a000a012504090b000b010b02121402062200010000000000271701000001130e0111020680000000000000002504110e02110206800000000000000025040f0b000b010b02121802061a0001000000000027061900010000000000272301000001040b000b01121a02240100003f190b010c040b020c050e0411020680000000000000002504170e0511020680000000000000002504150b000b040b0512180b03121a02061a0001000000000027061900010000000000272501000001160a000600000000000000004208140a000601000000000000004208140a000602000000000000004208140a000603000000000000004208140b00060400000000000000420814121b0226010402091c4589010e0a0c0e0a0e0600000000000000004208140a0e0601000000000000004208140a0e0602000000000000004208140a0e0603000000000000004208140b0e060400000000000000420814121b0c0f0a000b010b020b030b050b060b070b080b090b0f0b0b0b0c0b0d11270c100e101003140a00110814210485010e101003140c070a072a090f040c110a112e0a103800047f0b110a1038010c120a1210061406000000000000000024047c0a121007140a04160a121006142504760a040c050b120f070c130a13140b05160b13150a10060000000000000000121a0c14063900000000000000110a046e0b070b100a04120e38190b000a140b04111912151128020b072a090f130b100a041210381a05670b00010b1201060700010000000000270b1201055b0b00010b1101060a00060000000000270b000106130005000000000027270100010948e1010e0211020680000000000000002504dd010e0111020680000000000000002504d9010e0511020600020000000000002504d5010a080a072504d1010b001108140c0d0a0d290904cf010a0d2a090c0e0a0d0c0f0b010c100a020c110e1011020680000000000000002504cb010e1111020680000000000000002504c7010b0f0b100b1112180c120a0e10080e12100914380c04c3010a0e10040a12380003bf010a0e0f080e1210091438040c130a13100a140600000000000000002404bc010a130f0b0c140a1414060100000000000000160b14150a13100a140b13100b142604b801055d0a040c150600000000000000000c160600000000000000000c170a050c180a080c190a070c1a0a060c1b0a190a1a2504b4010b190b1a0b1b12140a020a030a0a0a0b0a0c11290c1c0c1d0c1e0c1f0b150b160b170b180b1f0b1e0b1d0b1c0a0912160c200a0e0f040a120b20381b063900000000000000110a04a3010b0e010b0d0a120b030b040b050b060b070b080b020b090b0a0b0b0b0c1217381c0b12020b0e0f140a120b030b040b050b060b070b080b020b090b0a0b0b0b0c120d381d05a1010b0e01062200010000000000270b0e01060400010000000000270b1301055d0b0e01060900080000000000270b0e01060200060000000000270b0e01061a00010000000000270b0e0106190001000000000027060100060000000000270b0001062200010000000000270b0001061b00010000000000270b0001061900010000000000270b0001061a00010000000000272a01000001080b001108140b010b020b03121e022b01000001030b00100002280100011c4e7b0a001108140c020a00110814291c03780a00381e090a00381f0a0038200a0038210b003822121c2d1c0b020c030b010c040e041001140600000000000000002404760a032a1c0c05063900000000000000110a046b0a030e041000140e04100114121938070b03291c04670a05100f0e04100014380803410b050f0f0e041000140b043809020b050f0f0e04100014380a0c060b040c070a0610000e0710002104630e071001140c080b060f010c090a09140b08160b09150b071315010101020b0601060600010000000000270b0501060b00060000000000270a050f100e041000140e041001141201380b052f062100010000000000270b000105162c00000001090b001307010101010101022d000000010c0b001316010101010101010101022e0000011c525e0e0110011406000000000000000024045c0a002a1c0c02063900000000000000110a04510a000e011000140e01100114121938070b00291c044d0a02100f0e01100014380803270b020f0f0e011000140b013809020b020f0f0e01100014380a0c030b010c040a0310000e0410002104490e041001140c050b030f010c060a06140b05160b06150b041315010101020b0301060600010000000000270b0201060b00060000000000270a020f100e011000140e011001141201380b0515062100010000000000272f0100011c010b0a002b1c100e1404090b000b01112e0206100005000000000027300100011c54240b001108140b020b0311090c040a011108140c050a01110814291c03210a01381e090a01381f0a0138200a0138210b013822121c2d1c0b050b04112e020b0101051d310104011c562e0b030c070b040c080e0711020680000000000000002504280e0811020680000000000000002504220b020b070b0812180b05121a0c090b000c0a0b010b060c0b0b0a1108140b090b0b11091128020b00010b0101061a00010000000000270b00010b01010619000100000000002732010001091f190a000c020a010c030a02290904170b022b0910080b03380c04150b002a090f080b01380410151402060200060000000000270601000600000000002733010001091f190a000c020a010c030a02290904170b022b0910080b03380c04150b002a090f080b013804100a14020602000600000000002706010006000000000027340100010957170a00290904150b002b0910080c020a020a01380c04110b020b013823101614020b020106020006000000000027060100060000000000273501000001040b00101714023601000001040b00101814023701000001040b001019140238010001095b260a000c020a010c030a02290904240b022b0910080b03380c04220b002a090f080b0138040c040a04100a1406000000000000000024041e0b04100b143824020b040138250206020006000000000027060100060000000000273b010001091f190a000c020a010c030a02290904170b022b0910080b03380c04150b002a090f080b013804101a140206020006000000000027060100060000000000273c0100011c010a0a00291c030509020b002b1c100e14023d010002091c5c2f0a000a01111406000000000000000024042d0e01101b140600000000000000002104250e0110021003142b0910040c020a020e01100214380004210b020e011002143826100514020b0201060a00060000000000270b002b1c100f0b01380d101c1402060500060000000000273e010001095d1f0e001002140c010e011003140c020a022909041d0b022b0910040c030a030a01380004190b030b013826101d14020b0301060a0006000000000027060100060000000000273f01000001040b00101e14024001000001040b00101f14024101000001040b00102014024201000001040b001001140243010000010a0a001003140a001009140b00102114024401000001040b00100014024501000001100a0010021003140a0010021009140a0010021021140b00101b14024601000001040b00102214024701000001040b00102314024801000001040b00102414024901000001040b00102514024a01000001040b00102614024b0100010962240a00290904220b002b0910040c020a020a013800041e0b020b0138260c030a0310061406000000000000000024041a0b031007143824020b03013825020b0201060a0006000000000027060100060000000000274c01000109631b0e001003140c010a01290904190b012b0910040c020a020a00380004150b020b003826102714020b0201060a0006000000000027060100060000000000274d01000001040e00100214024e010001095c170a00290904150b002b0910040c020a020a01380004110b020b013826102814020b0201060a0006000000000027060100060000000000274f01000109631b0e001003140c010a01290904190b012b0910040c020a020a00380004150b020b003826100614020b0201060a0006000000000027060100060000000000275001000109631b0e001003140c010a01290904190b012b0910040c020a020a00380004150b020b003826102914020b0201060a0006000000000027060100060000000000275101000109631b0e001003140c010a01290904190b012b0910040c020a020a00380004150b020b003826101d14020b0201060a00060000000000270601000600000000002752010001095c170a00290904150b002b0910040c020a020a01380004110b020b013826102a14020b0201060a0006000000000027060100060000000000275301000001030b00291c025401000001040600000000000000000b0001275501040001040600000000000000000b0001275601000001160a00110814291c03130a00381e090a00381f0a0038200a0038210b003822121c2d1c020b00010257010402091c668f010b020c050b030c060e05110206800000000000000025048b010e061102068000000000000000250487010b010b050b0612180c070e071003140a00110814210483010b000c080b070c090b040c0a0e091003140a0811081421047f0e091003140c0b0a0b2a090f040c0c0a0c2e0a09380004790b0c0a0938010c0d0a0d1006140600000000000000002404760a0d1007140a0a160a0d1006142504700a0a0c0e0b0d0f070c0f0a0f140b0e160b0f150a09060000000000000000121a0c10063900000000000000110a04680b0b0b090a0a120e38190b080a100b0a111912151128020b0b2a090f130b090a0a1210381a05610b08010b0d01060700010000000000270b0d0105550b08010b0c01060a00060000000000270b0801061300050000000000270b0001061300050000000000270b0001061a00010000000000270b00010619000100000000002758010002091c6880010e011003140a0011081421047c0e011003140c040a042a090f040c050a052e0a01380004760b050a0138010c060a061006140600000000000000002404730a061007140a02160a0610061425046d0a020c070b060f070c080a08140b07160b08150a01060000000000000000121a0c09063900000000000000110a04650b040b010a02120e38190b000c030a090b02111912150c0a0a031108140c0b0a03110814291c03620a03381e090a03381f0a0338200a0338210b033822121c2d1c0b0b0b0a112e0b09020b0301055d0b042a090f130b010a021210381a05400b00010b0601060700010000000000270b060105340b00010b0501060a00060000000000270b00010613000500000000002759010002091c6a6c0a01291c04680a012b1c100e1404640e021003140b001108142104620e021003140c040a042a090f040c050a052e0a023800045e0b050a0238010c060a0610061406000000000000000024045b0a061007140a03160a061006142504570a030c070b060f070c080a08140b07160b08150a02060000000000000000121a0c09063900000000000000110a044f0b040b020a03120e38190b010b090b0311191215112e020b042a090f130b020a031210381a05480b0601060700010000000000270b0601053c0b0501060a0006000000000027061300050000000000270b0001061000050000000000270b0001060b00060000000000275a010001096d380a001108140c030a030c040a010c050a04290904340b042b0910080b05380c04300b032a090f080a0138040c060a061016101714042a0b000b010a061015140a02115b0b060f150c070b020b0715020b00010b0601060d00050000000000270b0001060200060000000000270b0001060100060000000000275c0100010970590a001108140c030a030c040a010c050a04290904550b042b0910080b05380c04510b032a090f080a0138040c060a06100a1406000000000000000022044e0a02060000000000000000220c070b0704480a020a06100b142604420a061016101814043c0b000b010a06100a140a02115d0b060f0a0c080b020b0815020b00010b0601060d00050000000000270b00010b0601062400010000000000270b00010b060106240001000000000027090c0705210b0001060200060000000000270b0001060100060000000000275e010001096d410e02110206000200000000000025043d0a001108140c030a030c040a010c050a04290904390b042b0910080b05380c04350b032a090f080a0138040c060a061016101914042f0b000b010a06101a140a02115f0b060f1a0c070b020b0715020b00010b0601060d00050000000000270b0001060200060000000000270b0001060100060000000000270b0001061b000100000000002760010002091c74c6020e0210021003140c060b001108140a062104c4020a06290904c2020b062a090f040c070a072e0e02100214380004be020b070e0210021438010c080a081029102214042505360a081005070311050c090e09110604ba020a081005070311050c0a0e0a110704b60205360e02101b140600000000000000002104fb010a010c0b0a020c0c0a0b0a0c11140601000000000000002604ef010a0b291c04e9010a0b2a1c0c0d111804e2010b0d010a0b0a0c060100000000000000121d380e0b0b2a1c0f0f0c0e0a0e2e0a0c380804da010a0e0a0c380a0f010c100a10140601000000000000002404d3010b0e010b100c110a1114060100000000000000170b11150b0c060100000000000000111912150c120a08102814060100000000000000160c130e021002140a13121a0c160a160601000000000000000a0810051412150c170a010b17112e0a010a160c180a030c190a040c1a0a050c1b2a1c0f0f0c0f0a0f2e0a18380804cb010b0f0b18380a0f1c0e1911110b190b1a0b1b1161063900000000000000110a04c0010b010b020a160b030b040b05121138270b080f280c110b130b11150b1213150101010b16020b012a1c0f2b0b020a160b030b040b051213382805b3010b08010b0f01060600000000000000060f00000000000000111a270b10010b0e0b0c380f0c1205770b08010b0e01060600000000000000060f00000000000000111a270b0d0f110a0c0601000000000000001203381005550b0801060600000000000000060b00000000000000111a270b0801060100000000000000060500000000000000111a270b0801060100000000000000061100000000000000111a270b08010a010a020c0c0a030c1c0a040c1a0a050c1b2a1c0f0f0c0e0a0e2e0a0c380804b0020b0e0b0c380a0f1c0e1c11110b1c0b1a0b1b1161063900000000000000110a04a5020b010a020a020b030b040b05121138270b02020b012a1c0f2b0a020a020b030b040b051213382805a3020b0e01060600000000000000060f00000000000000111a270b0801060d00050000000000270b0801060d00050000000000270b0701060a000600000000002706010006000000000027060e000500000000002762010402091c764f0a001108140a0221044b0b020c0a0b030b040b050c0b0c0c0c0e0b0c0c0f0e0e11020680000000000000002504470e0f11020680000000000000002504430b0a0b0e0b0f12180b0b121a0c100600000000000000000c11090c120b060c130a12043d0b11060100000000000000160c110a110a1323043a0a000a010a100a070a080a0911600105270b000102080c12052d0b0001020b0001061a00010000000000270b0001061900010000000000270b0001060e0006000000000027630100010979470a000a010c030e031003140c041108140a042104430a042909043f0b042b0910040b033800043b0e011003142a090f040a0138010c050a05102910231404350b000e011009140e011021140a051027140a0211640b050f270c060b020b0615020b00010b0501060d00050000000000270b0001060a00060000000000270b0001060100060000000000270b0001060e000500000000002765010001097b680a000a010c030e031003140c041108140a042104640a04290904600b042b0910040b033800045c0e011003142a090f040a0138010c050a051006140600000000000000002204590a02060000000000000000220c060b0604530a020a0510071426044d0a05102910241404470b000e011009140e011021140a051006140a0211660b050f060c070b020b0715020b00010b0501060d00050000000000270b00010b0501062400010000000000270b00010b050106240001000000000027090c0605270b0001060a00060000000000270b0001060100060000000000270b0001060e000500000000002767010001098501d8010a000a010c050e051003140c061108140a062104d4010a06290904d0010b062b0910040b05380004cc010e02410c0c080e03410b0c090e04410c0c0a0a080b092104c8010b080b0a2104c4010e011003142a090f040a0138010c0b0a0b102910221404be01407d00000000000000000c0c407e00000000000000000c0d0e020c070600000000000000000c090a07410c0c0e0a090a0e2304640a070a09420c0c0f0a0f11020606000000000000002604610b0f06000000000000000006060000000000000011120701110522045905540b09060100000000000000160c09053e0b00010b0b010b0701062800050000000000270b0f0105540b07010600000000000000000c09090c100e02410c0c0e0a1004b8010b09060100000000000000160c090a090a0e2304aa010e020a09420c0c0f0a0b10050a0f110604a7010a0b10050a0f11681438290c110d0c0a11447d0e030a09420b140e040a09420c1411690c120d0d0a12447e0e11382a04a0010a0b0f050b0f0b12116b056d0a0b0f050b0f140b12116c056d382b0c110587010b0b010b000e011009140e011021140b020b0c0b0d116d02080c1005730b0b0105ac010b00010b0b01060d00050000000000270b0001062500030000000000270b0001062500030000000000270b0001060a00060000000000270b0001060100060000000000270b0001060e00050000000000276e010001098801580a000a010c030e031003140c041108140a042104540a04290904500b042b0910040b033800044c0e011003142a090f040a0138010c050a05102910251404460b000e011009140e011021140a05101d101f140a05101d101e140a05101d1020140e02101f140e02101e140e02102014116f0b050f1d0c060b020b0615020b00010b0501060d00050000000000270b0001060a00060000000000270b0001060100060000000000270b0001060e0005000000000027700100010979500e02110206000200000000000025044c0a000a010c030e031003140c041108140a042104480a04290904440b042b0910040b03380004400e011003142a090f040a0138010c050a051029102614043a0b000e011009140e011021140a05102a140a0211710b050f2a0c060b020b0615020b00010b0501060d00050000000000270b0001060a00060000000000270b0001060100060000000000270b0001060e00050000000000270b0001061b0001000000000027720104011c8a01260a001108140c030a000c020a02110814291c03230a02381e090a02381f0a0238200a0238210b023822121c2d1c0b032a1c0f0e0c040a010b04150b000b011173020b02010518740100011c8d01910111750640420f00000000001a0e00102c1425048f010a010e00102d1425048d010a010e00102d1421047b382c0c020e00102e140c030e00102f140c040b010c050a050600000000000000002404790a030a0411140a052604770a03291c04750a032a1c0c06063900000000000000110a046e0b06010a030a040a05121d380e0b032a1c0f0f0c070a072e0a043808046a0a070a04380a0f010c080a08140a052404630b07010a050c090b080c0a0a0a140b09170b0a150b040b05111912150c0b0b020c0c0b0b0b0c020b08010b070b04380f0c0b055e0b0701060f00060000000000270b060f110a040a0512033810053a060b000600000000002706050001000000000027061100010000000000270e00102e140e00102f140e00102d140a01170e00102c14121e382d0c020516062600010000000000270627000100000000002776010000022f0a001000101b1406000000000000000021042b0a001001140a012404270a010600000000000000002404230a010c020a000f010c030a03140b02170b03150b001000140b0111191215020b0001062100010000000000270b0001060c00010000000000270b000106120003000000000027770104011c90013b0b020c070b030c080e0711020680000000000000002504370e0811020680000000000000002504330b010b070b0812180b04121a0c090b000c0a0b050c0b0b060c0c0a0b2b1c100e14042f0b0a0b090c0d0b0c0c0e1108140b0d0b0e11090c0f0b0b0b0f112e020b0a01061000050000000000270b0001061a00010000000000270b000106190001000000000027780000011c9201490b002a1c0f0f0c050a052e0a01380804450b050b01380a0f1c0c060e020c070600000000000000000c080a07410c0c090a080a092304390a070a08420c0c0a0a0a11020606000000000000002604360b0a060000000000000000060600000000000000111207011105220430052b0b08060100000000000000160c0805150b06010b0701062800050000000000270b0a01052b0b07010b020b030c0b0c0c0b060b0c0b0b0b041161020b0501060f0006000000000027790100011c9401590b001108140c030a020600000000000000002404570a030a0111140a022604550a03291c04530a032a1c0c04063900000000000000110a044c0b04010a030a010a02121d380e0b032a1c0f0f0c050a052e0a01380804480a050a01380a0f010c060a06140a022404420b05010a020c070b060c080a08140b07170b08150b010b0211191215020b06010b050b01380f020b0501060f00060000000000270b040f110a010a0212033810051e060b000600000000002706050001000000000027061100010000000000277a0100011c95016b11750640420f00000000001a0e00102c142504690e00102e140c010e00102f140c020e00102d140c030a030600000000000000002404670a010a0211140a032604650a01291c04630a012a1c0c04063900000000000000110a045c0b04010a010a020a03121d380e0b012a1c0f0f0c050a052e0a02380804580a050a02380a0f010c060a06140a032404520b05010a030c070b060c080a08140b07170b08150b020b0311191215020b06010b050b02380f020b0501060f00060000000000270b040f110a020a0312033810052e060b0006000000000027060500010000000000270611000100000000002706270001000000000027090000011c9601550a020600000000000000002404530a000a0111140a022604510a00291c044f0a002a1c0c03063900000000000000110a04480b03010a000a010a02121d380e0b002a1c0f0f0c040a042e0a01380804440a040a01380a0f010c050a05140a0224043e0b04010a020c060b050c070a07140b06170b07150b010b0211191215020b05010b040b01380f020b0401060f00060000000000270b030f110a010a0212033810051a060b00060000000000270605000100000000002706110001000000000027150015011a0018000901160716001602090018010704070307011c041c011c001c021c030902090409030700070508000802080107021a011502160414011400140218021b041b031b001b021b0116061601160816031c051e031e021e001e0100",
    "abi": {
      "address": "0x3",
      "name": "token",
      "friends": [],
      "exposed_functions": [
        {
          "name": "merge",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&mut 0x3::token::Token",
            "0x3::token::Token"
          ],
          "return": []
        },
        {
          "name": "burn",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "address",
            "0x1::string::String",
            "0x1::string::String",
            "u64",
            "u64"
          ],
          "return": []
        },
        {
          "name": "transfer",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x3::token::TokenId",
            "address",
            "u64"
          ],
          "return": []
        },
        {
          "name": "balance_of",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address",
            "0x3::token::TokenId"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "burn_by_creator",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "address",
            "0x1::string::String",
            "0x1::string::String",
            "u64",
            "u64"
          ],
          "return": []
        },
        {
          "name": "check_collection_exists",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address",
            "0x1::string::String"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "check_tokendata_exists",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address",
            "0x1::string::String",
            "0x1::string::String"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "create_collection",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "u64",
            "vector<bool>"
          ],
          "return": []
        },
        {
          "name": "create_collection_mutability_config",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&vector<bool>"
          ],
          "return": [
            "0x3::token::CollectionMutabilityConfig"
          ]
        },
        {
          "name": "create_collection_script",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "u64",
            "vector<bool>"
          ],
          "return": []
        },
        {
          "name": "create_royalty",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "u64",
            "u64",
            "address"
          ],
          "return": [
            "0x3::token::Royalty"
          ]
        },
        {
          "name": "create_token_data_id",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address",
            "0x1::string::String",
            "0x1::string::String"
          ],
          "return": [
            "0x3::token::TokenDataId"
          ]
        },
        {
          "name": "create_token_id",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "0x3::token::TokenDataId",
            "u64"
          ],
          "return": [
            "0x3::token::TokenId"
          ]
        },
        {
          "name": "create_token_id_raw",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address",
            "0x1::string::String",
            "0x1::string::String",
            "u64"
          ],
          "return": [
            "0x3::token::TokenId"
          ]
        },
        {
          "name": "create_token_mutability_config",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&vector<bool>"
          ],
          "return": [
            "0x3::token::TokenMutabilityConfig"
          ]
        },
        {
          "name": "create_token_script",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "u64",
            "u64",
            "0x1::string::String",
            "address",
            "u64",
            "u64",
            "vector<bool>",
            "vector<0x1::string::String>",
            "vector<vector<u8>>",
            "vector<0x1::string::String>"
          ],
          "return": []
        },
        {
          "name": "create_tokendata",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "u64",
            "0x1::string::String",
            "address",
            "u64",
            "u64",
            "0x3::token::TokenMutabilityConfig",
            "vector<0x1::string::String>",
            "vector<vector<u8>>",
            "vector<0x1::string::String>"
          ],
          "return": [
            "0x3::token::TokenDataId"
          ]
        },
        {
          "name": "create_withdraw_capability",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x3::token::TokenId",
            "u64",
            "u64"
          ],
          "return": [
            "0x3::token::WithdrawCapability"
          ]
        },
        {
          "name": "token_id",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::Token"
          ],
          "return": [
            "&0x3::token::TokenId"
          ]
        },
        {
          "name": "deposit_token",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x3::token::Token"
          ],
          "return": []
        },
        {
          "name": "direct_deposit_with_opt_in",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address",
            "0x3::token::Token"
          ],
          "return": []
        },
        {
          "name": "direct_transfer",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "&signer",
            "0x3::token::TokenId",
            "u64"
          ],
          "return": []
        },
        {
          "name": "direct_transfer_script",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "&signer",
            "address",
            "0x1::string::String",
            "0x1::string::String",
            "u64",
            "u64"
          ],
          "return": []
        },
        {
          "name": "get_collection_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address",
            "0x1::string::String"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "get_collection_maximum",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address",
            "0x1::string::String"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "get_collection_mutability_config",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [],
          "params": [
            "address",
            "0x1::string::String"
          ],
          "return": [
            "0x3::token::CollectionMutabilityConfig"
          ]
        },
        {
          "name": "get_collection_mutability_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::CollectionMutabilityConfig"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "get_collection_mutability_maximum",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::CollectionMutabilityConfig"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "get_collection_mutability_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::CollectionMutabilityConfig"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "get_collection_supply",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address",
            "0x1::string::String"
          ],
          "return": [
            "0x1::option::Option<u64>"
          ]
        },
        {
          "name": "get_collection_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address",
            "0x1::string::String"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "get_direct_transfer",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "get_property_map",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address",
            "0x3::token::TokenId"
          ],
          "return": [
            "0x3::property_map::PropertyMap"
          ]
        },
        {
          "name": "get_royalty",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "0x3::token::TokenId"
          ],
          "return": [
            "0x3::token::Royalty"
          ]
        },
        {
          "name": "get_royalty_denominator",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::Royalty"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "get_royalty_numerator",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::Royalty"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "get_royalty_payee",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::Royalty"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "get_token_amount",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::Token"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "get_token_data_id_fields",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::TokenDataId"
          ],
          "return": [
            "address",
            "0x1::string::String",
            "0x1::string::String"
          ]
        },
        {
          "name": "get_token_id",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::Token"
          ],
          "return": [
            "0x3::token::TokenId"
          ]
        },
        {
          "name": "get_token_id_fields",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::TokenId"
          ],
          "return": [
            "address",
            "0x1::string::String",
            "0x1::string::String",
            "u64"
          ]
        },
        {
          "name": "get_token_mutability_default_properties",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::TokenMutabilityConfig"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "get_token_mutability_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::TokenMutabilityConfig"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "get_token_mutability_maximum",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::TokenMutabilityConfig"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "get_token_mutability_royalty",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::TokenMutabilityConfig"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "get_token_mutability_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::token::TokenMutabilityConfig"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "get_token_supply",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address",
            "0x3::token::TokenDataId"
          ],
          "return": [
            "0x1::option::Option<u64>"
          ]
        },
        {
          "name": "get_tokendata_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "0x3::token::TokenDataId"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "get_tokendata_id",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "0x3::token::TokenId"
          ],
          "return": [
            "0x3::token::TokenDataId"
          ]
        },
        {
          "name": "get_tokendata_largest_property_version",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address",
            "0x3::token::TokenDataId"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "get_tokendata_maximum",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "0x3::token::TokenDataId"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "get_tokendata_mutability_config",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "0x3::token::TokenDataId"
          ],
          "return": [
            "0x3::token::TokenMutabilityConfig"
          ]
        },
        {
          "name": "get_tokendata_royalty",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "0x3::token::TokenDataId"
          ],
          "return": [
            "0x3::token::Royalty"
          ]
        },
        {
          "name": "get_tokendata_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address",
            "0x3::token::TokenDataId"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "has_token_store",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "initialize_token",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x3::token::TokenId"
          ],
          "return": []
        },
        {
          "name": "initialize_token_script",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer"
          ],
          "return": []
        },
        {
          "name": "initialize_token_store",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer"
          ],
          "return": []
        },
        {
          "name": "mint_script",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "address",
            "0x1::string::String",
            "0x1::string::String",
            "u64"
          ],
          "return": []
        },
        {
          "name": "mint_token",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x3::token::TokenDataId",
            "u64"
          ],
          "return": [
            "0x3::token::TokenId"
          ]
        },
        {
          "name": "mint_token_to",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "address",
            "0x3::token::TokenDataId",
            "u64"
          ],
          "return": []
        },
        {
          "name": "mutate_collection_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "mutate_collection_maximum",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "u64"
          ],
          "return": []
        },
        {
          "name": "mutate_collection_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "mutate_one_token",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "address",
            "0x3::token::TokenId",
            "vector<0x1::string::String>",
            "vector<vector<u8>>",
            "vector<0x1::string::String>"
          ],
          "return": [
            "0x3::token::TokenId"
          ]
        },
        {
          "name": "mutate_token_properties",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "address",
            "address",
            "0x1::string::String",
            "0x1::string::String",
            "u64",
            "u64",
            "vector<0x1::string::String>",
            "vector<vector<u8>>",
            "vector<0x1::string::String>"
          ],
          "return": []
        },
        {
          "name": "mutate_tokendata_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x3::token::TokenDataId",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "mutate_tokendata_maximum",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x3::token::TokenDataId",
            "u64"
          ],
          "return": []
        },
        {
          "name": "mutate_tokendata_property",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x3::token::TokenDataId",
            "vector<0x1::string::String>",
            "vector<vector<u8>>",
            "vector<0x1::string::String>"
          ],
          "return": []
        },
        {
          "name": "mutate_tokendata_royalty",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x3::token::TokenDataId",
            "0x3::token::Royalty"
          ],
          "return": []
        },
        {
          "name": "mutate_tokendata_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x3::token::TokenDataId",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "opt_in_direct_transfer",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "bool"
          ],
          "return": []
        },
        {
          "name": "partial_withdraw_with_capability",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "0x3::token::WithdrawCapability",
            "u64"
          ],
          "return": [
            "0x3::token::Token",
            "0x1::option::Option<0x3::token::WithdrawCapability>"
          ]
        },
        {
          "name": "split",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&mut 0x3::token::Token",
            "u64"
          ],
          "return": [
            "0x3::token::Token"
          ]
        },
        {
          "name": "transfer_with_opt_in",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "address",
            "0x1::string::String",
            "0x1::string::String",
            "u64",
            "address",
            "u64"
          ],
          "return": []
        },
        {
          "name": "withdraw_token",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x3::token::TokenId",
            "u64"
          ],
          "return": [
            "0x3::token::Token"
          ]
        },
        {
          "name": "withdraw_with_capability",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "0x3::token::WithdrawCapability"
          ],
          "return": [
            "0x3::token::Token"
          ]
        }
      ],
      "structs": [
        {
          "name": "Deposit",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "DepositEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "Withdraw",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "WithdrawEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "Burn",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "account",
              "type": "address"
            },
            {
              "name": "id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "BurnToken",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "BurnTokenEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "CollectionData",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "description",
              "type": "0x1::string::String"
            },
            {
              "name": "name",
              "type": "0x1::string::String"
            },
            {
              "name": "uri",
              "type": "0x1::string::String"
            },
            {
              "name": "supply",
              "type": "u64"
            },
            {
              "name": "maximum",
              "type": "u64"
            },
            {
              "name": "mutability_config",
              "type": "0x3::token::CollectionMutabilityConfig"
            }
          ]
        },
        {
          "name": "CollectionMutabilityConfig",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "copy",
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "description",
              "type": "bool"
            },
            {
              "name": "uri",
              "type": "bool"
            },
            {
              "name": "maximum",
              "type": "bool"
            }
          ]
        },
        {
          "name": "Collections",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "collection_data",
              "type": "0x1::table::Table<0x1::string::String, 0x3::token::CollectionData>"
            },
            {
              "name": "token_data",
              "type": "0x1::table::Table<0x3::token::TokenDataId, 0x3::token::TokenData>"
            },
            {
              "name": "create_collection_events",
              "type": "0x1::event::EventHandle<0x3::token::CreateCollectionEvent>"
            },
            {
              "name": "create_token_data_events",
              "type": "0x1::event::EventHandle<0x3::token::CreateTokenDataEvent>"
            },
            {
              "name": "mint_token_events",
              "type": "0x1::event::EventHandle<0x3::token::MintTokenEvent>"
            }
          ]
        },
        {
          "name": "CreateCollection",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "collection_name",
              "type": "0x1::string::String"
            },
            {
              "name": "uri",
              "type": "0x1::string::String"
            },
            {
              "name": "description",
              "type": "0x1::string::String"
            },
            {
              "name": "maximum",
              "type": "u64"
            }
          ]
        },
        {
          "name": "CreateCollectionEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "collection_name",
              "type": "0x1::string::String"
            },
            {
              "name": "uri",
              "type": "0x1::string::String"
            },
            {
              "name": "description",
              "type": "0x1::string::String"
            },
            {
              "name": "maximum",
              "type": "u64"
            }
          ]
        },
        {
          "name": "CreateTokenData",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "id",
              "type": "0x3::token::TokenDataId"
            },
            {
              "name": "description",
              "type": "0x1::string::String"
            },
            {
              "name": "maximum",
              "type": "u64"
            },
            {
              "name": "uri",
              "type": "0x1::string::String"
            },
            {
              "name": "royalty_payee_address",
              "type": "address"
            },
            {
              "name": "royalty_points_denominator",
              "type": "u64"
            },
            {
              "name": "royalty_points_numerator",
              "type": "u64"
            },
            {
              "name": "name",
              "type": "0x1::string::String"
            },
            {
              "name": "mutability_config",
              "type": "0x3::token::TokenMutabilityConfig"
            },
            {
              "name": "property_keys",
              "type": "vector<0x1::string::String>"
            },
            {
              "name": "property_values",
              "type": "vector<vector<u8>>"
            },
            {
              "name": "property_types",
              "type": "vector<0x1::string::String>"
            }
          ]
        },
        {
          "name": "CreateTokenDataEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "id",
              "type": "0x3::token::TokenDataId"
            },
            {
              "name": "description",
              "type": "0x1::string::String"
            },
            {
              "name": "maximum",
              "type": "u64"
            },
            {
              "name": "uri",
              "type": "0x1::string::String"
            },
            {
              "name": "royalty_payee_address",
              "type": "address"
            },
            {
              "name": "royalty_points_denominator",
              "type": "u64"
            },
            {
              "name": "royalty_points_numerator",
              "type": "u64"
            },
            {
              "name": "name",
              "type": "0x1::string::String"
            },
            {
              "name": "mutability_config",
              "type": "0x3::token::TokenMutabilityConfig"
            },
            {
              "name": "property_keys",
              "type": "vector<0x1::string::String>"
            },
            {
              "name": "property_values",
              "type": "vector<vector<u8>>"
            },
            {
              "name": "property_types",
              "type": "vector<0x1::string::String>"
            }
          ]
        },
        {
          "name": "Mint",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "id",
              "type": "0x3::token::TokenDataId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "MintToken",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "id",
              "type": "0x3::token::TokenDataId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "MintTokenEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "id",
              "type": "0x3::token::TokenDataId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "MutatePropertyMap",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "account",
              "type": "address"
            },
            {
              "name": "old_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "new_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "keys",
              "type": "vector<0x1::string::String>"
            },
            {
              "name": "values",
              "type": "vector<vector<u8>>"
            },
            {
              "name": "types",
              "type": "vector<0x1::string::String>"
            }
          ]
        },
        {
          "name": "MutateTokenPropertyMap",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "old_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "new_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "keys",
              "type": "vector<0x1::string::String>"
            },
            {
              "name": "values",
              "type": "vector<vector<u8>>"
            },
            {
              "name": "types",
              "type": "vector<0x1::string::String>"
            }
          ]
        },
        {
          "name": "MutateTokenPropertyMapEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "old_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "new_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "keys",
              "type": "vector<0x1::string::String>"
            },
            {
              "name": "values",
              "type": "vector<vector<u8>>"
            },
            {
              "name": "types",
              "type": "vector<0x1::string::String>"
            }
          ]
        },
        {
          "name": "Royalty",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "copy",
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "royalty_points_numerator",
              "type": "u64"
            },
            {
              "name": "royalty_points_denominator",
              "type": "u64"
            },
            {
              "name": "payee_address",
              "type": "address"
            }
          ]
        },
        {
          "name": "Token",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            },
            {
              "name": "token_properties",
              "type": "0x3::property_map::PropertyMap"
            }
          ]
        },
        {
          "name": "TokenData",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "maximum",
              "type": "u64"
            },
            {
              "name": "largest_property_version",
              "type": "u64"
            },
            {
              "name": "supply",
              "type": "u64"
            },
            {
              "name": "uri",
              "type": "0x1::string::String"
            },
            {
              "name": "royalty",
              "type": "0x3::token::Royalty"
            },
            {
              "name": "name",
              "type": "0x1::string::String"
            },
            {
              "name": "description",
              "type": "0x1::string::String"
            },
            {
              "name": "default_properties",
              "type": "0x3::property_map::PropertyMap"
            },
            {
              "name": "mutability_config",
              "type": "0x3::token::TokenMutabilityConfig"
            }
          ]
        },
        {
          "name": "TokenDataCreation",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "id",
              "type": "0x3::token::TokenDataId"
            },
            {
              "name": "description",
              "type": "0x1::string::String"
            },
            {
              "name": "maximum",
              "type": "u64"
            },
            {
              "name": "uri",
              "type": "0x1::string::String"
            },
            {
              "name": "royalty_payee_address",
              "type": "address"
            },
            {
              "name": "royalty_points_denominator",
              "type": "u64"
            },
            {
              "name": "royalty_points_numerator",
              "type": "u64"
            },
            {
              "name": "name",
              "type": "0x1::string::String"
            },
            {
              "name": "mutability_config",
              "type": "0x3::token::TokenMutabilityConfig"
            },
            {
              "name": "property_keys",
              "type": "vector<0x1::string::String>"
            },
            {
              "name": "property_values",
              "type": "vector<vector<u8>>"
            },
            {
              "name": "property_types",
              "type": "vector<0x1::string::String>"
            }
          ]
        },
        {
          "name": "TokenDataId",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "copy",
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "collection",
              "type": "0x1::string::String"
            },
            {
              "name": "name",
              "type": "0x1::string::String"
            }
          ]
        },
        {
          "name": "TokenDeposit",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "account",
              "type": "address"
            },
            {
              "name": "id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "TokenId",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "copy",
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "token_data_id",
              "type": "0x3::token::TokenDataId"
            },
            {
              "name": "property_version",
              "type": "u64"
            }
          ]
        },
        {
          "name": "TokenMutabilityConfig",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "copy",
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "maximum",
              "type": "bool"
            },
            {
              "name": "uri",
              "type": "bool"
            },
            {
              "name": "royalty",
              "type": "bool"
            },
            {
              "name": "description",
              "type": "bool"
            },
            {
              "name": "properties",
              "type": "bool"
            }
          ]
        },
        {
          "name": "TokenStore",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "tokens",
              "type": "0x1::table::Table<0x3::token::TokenId, 0x3::token::Token>"
            },
            {
              "name": "direct_transfer",
              "type": "bool"
            },
            {
              "name": "deposit_events",
              "type": "0x1::event::EventHandle<0x3::token::DepositEvent>"
            },
            {
              "name": "withdraw_events",
              "type": "0x1::event::EventHandle<0x3::token::WithdrawEvent>"
            },
            {
              "name": "burn_events",
              "type": "0x1::event::EventHandle<0x3::token::BurnTokenEvent>"
            },
            {
              "name": "mutate_token_property_events",
              "type": "0x1::event::EventHandle<0x3::token::MutateTokenPropertyMapEvent>"
            }
          ]
        },
        {
          "name": "TokenWithdraw",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "account",
              "type": "address"
            },
            {
              "name": "id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "WithdrawCapability",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "token_owner",
              "type": "address"
            },
            {
              "name": "token_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            },
            {
              "name": "expiration_sec",
              "type": "u64"
            }
          ]
        }
      ]
    }
  },
  {
    "bytecode": "0xa11ceb0b0800000a0c01000c020c140320e50204850316059b03a90207c405d803089c094006dc094d10a90aac040ad50e140ce90ef50d0dde1c0600000104010601160119011f0001070001030702000000000205070000070700000a000100010101010a0506020404010101020b070800010101010c0905020404010101000d0b0c00010101010e0d0e020404010101010d0d0f020404010101000f050100010101000b100800010101010b1108020404010101001012040001010101101314020404010101000c150500010101001110160001010101111117020100010101001210180001010101121119020001010101000e0b0e0001010100130c020001010100140c030001010100151c1a01010101010317050201000101010218030200010101041a1c030100010101001b1f1a00010101001c101600010101001d210100010101001e0b2300010101052003230001010100210b0e000101010522030e0001010100230b0200010101052403020001010100250b2500010101052603250001010100270b0800010101052803080001010100290b2600010101052a032600010101002b270500010101012c1328020404010101002d2a0500010101010403040504060409040b040e041004151d171d2804030a08020a0a020a0802010800010802010a02020802080300010b01020900090101060802010303070b01020900090109000901060308000301030802020608000608020106080302060b0102090009010609000101010609010106080001060b0102090009010207080006080202070b01020900090106090002090009010307080008020803010a0802010a0900010a0a02010a0901010803060a0803060a08030a0a02030306080301060900010900080802010101010108020a02020a020802060a0803060a08030a08020303060803020a08020a08030a030800030103080208030708000802080301050206080206080301040102040708000a08020a0a020a0802010709010a030303010306080208030608020708000802030708000608020803010708030c70726f70657274795f6d61700b50726f70657274794d6170036d61700953696d706c654d61700a73696d706c655f6d617006537472696e6706737472696e670d50726f706572747956616c75650576616c75650474797065036e6577066c656e6774680361646406626f72726f770c636f6e7461696e735f6b657905656d7074790672656d6f7665046b6579730676616c7565730b626f72726f775f747970650c626f72726f775f76616c7565156372656174655f70726f70657274795f76616c756509747970655f696e666f09747970655f6e616d6504757466380362637308746f5f6279746573196372656174655f70726f70657274795f76616c75655f7261770574797065731f6e65775f776974685f6b65795f616e645f70726f70657274795f76616c75650c726561645f616464726573730866726f6d5f6263730a746f5f6164647265737309726561645f626f6f6c07746f5f626f6f6c0b726561645f737472696e6709746f5f737472696e6709726561645f7531323807746f5f7531323808726561645f75363406746f5f75363407726561645f753805746f5f7538137570646174655f70726f70657274795f6d61700a626f72726f775f6d7574157570646174655f70726f70657274795f76616c7565000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010a020504626f6f6c0a020b0a766563746f723c75383e0a0214133078313a3a737472696e673a3a537472696e670a020807616464726573730a020504753132380a0204037536340a020302753814636f6d70696c6174696f6e5f6d65746164617461090003322e3003322e33126170746f733a3a6d657461646174615f7631f80307010000000000000021454b45595f4152454144595f45584953545f494e5f50524f50455254595f4d41501f5468652070726f7065727479206b657920616c72656164792065786973747302000000000000001d4550524f50455254595f4e554d4245525f4558434545445f4c494d495428546865206e756d626572206f662070726f7065727479206578636565647320746865206c696d69740300000000000000134550524f50455254595f4e4f545f45584953541a5468652070726f706572747920646f65736e2774206578697374040000000000000020454b45595f434f554e545f4e4f545f4d415443485f56414c55455f434f554e542850726f7065727479206b657920616e642076616c756520636f756e7420646f6e2774206d6174636805000000000000001f454b45595f434f554e545f4e4f545f4d415443485f545950455f434f554e542750726f7065727479206b657920616e64207479706520636f756e7420646f6e2774206d6174636806000000000000000f45545950455f4e4f545f4d415443481b50726f7065727479207479706520646f65736e2774206d6174636807000000000000001b4550524f50455254595f4d41505f4e414d455f544f4f5f4c4f4e472a546865206e616d6520286b657929206f66207468652070726f706572747920697320746f6f206c6f6e670000000201020b010208020803030202080a02090802000100000a4c0e0041020c030a0306e80300000000000025044a0a030e0141032104480a030e024102210446380012000c040600000000000000000c05090c060b030c07051c05410a0604430b05060100000000000000160c050a050a0723032705410e000a054202140c080e08110206800000000000000025043f0d040f000b080e010a054203140e020a0542021412013801051a060700010000000000270b0402080c0605220605000100000000002706040001000000000027060200010000000000270401000007120a000a010c0210000b023802040c0b0010000b013803020b00010b01010603000000000000002707010000050338001200020801000005040b0010003804020a01000007130a002e0a010c0210000b023802040d0b000f000b013805020b00010b0101060300060000000000270c01000005190e0111020680000000000000002504150a001000380406e8030000000000002304110b000f000b010b023801020b0001060200030000000000270b0001060700010000000000270d01000005040b0010003806020f0100001b230b00100038070c010e010c02400300000000000000000c030600000000000000000c040a02411a0c050a040a0523041f0a020a04421a0c060d030b0610011444030b04060100000000000000160c04050d0b02010b03021101000005050b0010000b013802021201000005040b00100214021301000005040b0010011402140100001e4438080c010a010700111621043e080c020b020438080c030b030432080c040b04042c080c050b050426080c060b0604200b0038090b011201020b003809070111161201020a0107021116210c0605190a0107031116210c0505150a0107041116210c0405110a0107051116210c03050d0a0107061116210c0205091801000005040b000b011201021901000020230b00100038070c010e010c02400200000000000000000c030600000000000000000c040a02411a0c050a040a0523041f0a020a04421a0c060d030b0610021444020b04060100000000000000160c04050d0b02010b03021a010000225b0e0041020c020a0206e8030000000000002504590a020e01411a210457380012000c030600000000000000000c04090c050b020c06051705520a0504540b04060100000000000000160c040a040a0623032205520e000a044202140c070e010a04421a140c080e0711020680000000000000002504500d030c090b070c0a0b080c0b0e0a110206800000000000000025044c0a091000380406e8030000000000002304480b090f000b0a0b0b380105150b0901060200030000000000270b090106070001000000000027060700010000000000270b0302080c05051d06040001000000000027060200010000000000271b01000024220a000a010c0210000b023802041c0b0010000b0138030c030a03100214070311162104180b03100114111c020b0301060600030000000000270b00010b0101060300000000000000271d01000024220a000a010c0210000b023802041c0b0010000b0138030c030a03100214070011162104180b03100114111e020b0301060600030000000000270b00010b0101060300000000000000271f01000024220a000a010c0210000b023802041c0b0010000b0138030c030a03100214070211162104180b031001141120020b0301060600030000000000270b00010b0101060300000000000000272101000024220a000a010c0210000b023802041c0b0010000b0138030c030a03100214070411162104180b031001141122020b0301060600030000000000270b00010b0101060300000000000000272301000024220a000a010c0210000b023802041c0b0010000b0138030c030a03100214070511162104180b031001141124020b0301060600030000000000270b00010b0101060300000000000000272501000024220a000a010c0210000b023802041c0b0010000b0138030c030a03100214070611162104180b031001141126020b0301060600030000000000270b00010b0101060300000000000000272701000029750e0141020c040e0241030c050e0341020c060a040b052104710a040b0621046d0600000000000000000c05090c070b040c080a0704670b05060100000000000000160c050a050a082304640e010a0542020c090e020a054203140e030a0542021412010c0a0a002e0a090c0b10000b0b380204420a000c0c0b090c0b0b0a0b0c0f000b0b380a1505170a000c0c0b09140c0d0e0d110206800000000000000025045e0a0c1000380406e8030000000000002304580b0c0f000b0d0b0a380105170b00010b0c01060200030000000000270b00010b0c01060700010000000000270b000102080c07051d0b0001020b0001060500030000000000270b000106040003000000000027290100002b090b000f000b01380a0c030b020b03150200000100010100",
    "abi": {
      "address": "0x3",
      "name": "property_map",
      "friends": [],
      "exposed_functions": [
        {
          "name": "new",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "vector<0x1::string::String>",
            "vector<vector<u8>>",
            "vector<0x1::string::String>"
          ],
          "return": [
            "0x3::property_map::PropertyMap"
          ]
        },
        {
          "name": "borrow",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::property_map::PropertyMap",
            "&0x1::string::String"
          ],
          "return": [
            "&0x3::property_map::PropertyValue"
          ]
        },
        {
          "name": "empty",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [],
          "return": [
            "0x3::property_map::PropertyMap"
          ]
        },
        {
          "name": "length",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::property_map::PropertyMap"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "remove",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&mut 0x3::property_map::PropertyMap",
            "&0x1::string::String"
          ],
          "return": [
            "0x1::string::String",
            "0x3::property_map::PropertyValue"
          ]
        },
        {
          "name": "add",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&mut 0x3::property_map::PropertyMap",
            "0x1::string::String",
            "0x3::property_map::PropertyValue"
          ],
          "return": []
        },
        {
          "name": "keys",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::property_map::PropertyMap"
          ],
          "return": [
            "vector<0x1::string::String>"
          ]
        },
        {
          "name": "values",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::property_map::PropertyMap"
          ],
          "return": [
            "vector<vector<u8>>"
          ]
        },
        {
          "name": "contains_key",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::property_map::PropertyMap",
            "&0x1::string::String"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "borrow_type",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::property_map::PropertyValue"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "borrow_value",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::property_map::PropertyValue"
          ],
          "return": [
            "vector<u8>"
          ]
        },
        {
          "name": "create_property_value",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "copy"
              ]
            }
          ],
          "params": [
            "&T0"
          ],
          "return": [
            "0x3::property_map::PropertyValue"
          ]
        },
        {
          "name": "create_property_value_raw",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "vector<u8>",
            "0x1::string::String"
          ],
          "return": [
            "0x3::property_map::PropertyValue"
          ]
        },
        {
          "name": "types",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::property_map::PropertyMap"
          ],
          "return": [
            "vector<0x1::string::String>"
          ]
        },
        {
          "name": "new_with_key_and_property_value",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "vector<0x1::string::String>",
            "vector<0x3::property_map::PropertyValue>"
          ],
          "return": [
            "0x3::property_map::PropertyMap"
          ]
        },
        {
          "name": "read_address",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::property_map::PropertyMap",
            "&0x1::string::String"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "read_bool",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::property_map::PropertyMap",
            "&0x1::string::String"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "read_string",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::property_map::PropertyMap",
            "&0x1::string::String"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "read_u128",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::property_map::PropertyMap",
            "&0x1::string::String"
          ],
          "return": [
            "u128"
          ]
        },
        {
          "name": "read_u64",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::property_map::PropertyMap",
            "&0x1::string::String"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "read_u8",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x3::property_map::PropertyMap",
            "&0x1::string::String"
          ],
          "return": [
            "u8"
          ]
        },
        {
          "name": "update_property_map",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&mut 0x3::property_map::PropertyMap",
            "vector<0x1::string::String>",
            "vector<vector<u8>>",
            "vector<0x1::string::String>"
          ],
          "return": []
        },
        {
          "name": "update_property_value",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&mut 0x3::property_map::PropertyMap",
            "&0x1::string::String",
            "0x3::property_map::PropertyValue"
          ],
          "return": []
        }
      ],
      "structs": [
        {
          "name": "PropertyMap",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "copy",
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "map",
              "type": "0x1::simple_map::SimpleMap<0x1::string::String, 0x3::property_map::PropertyValue>"
            }
          ]
        },
        {
          "name": "PropertyValue",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "copy",
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "value",
              "type": "vector<u8>"
            },
            {
              "name": "type",
              "type": "0x1::string::String"
            }
          ]
        }
      ]
    }
  },
  {
    "bytecode": "0xa11ceb0b0800000a0901000c020c3a03464a0590013807c801c504088d064010cd06d5040aa20b520cf40ba50100000005010f011301160122000106010001000404000106040000080600010a0700020e07000010080100010312040203010001041504010601001806000019080005210700001d00010100010101001e020100010101001f0304010001010100200501010001010100230601010001000024060100010000250701010001010100260008000101010027090800010003060c0804030004060c080408020302050804010108060c030505080b080b030301060c08060c05080b080b0303030301080203050804030f746f6b656e5f636f696e5f737761700d546f6b656e436f696e537761700c746f6b656e5f616d6f756e74136d696e5f70726963655f7065725f746f6b656e0b546f6b656e457363726f7705746f6b656e05546f6b656e116c6f636b65645f756e74696c5f7365637311546f6b656e4c697374696e674576656e7408746f6b656e5f696407546f6b656e496406616d6f756e74096d696e5f70726963650e636f696e5f747970655f696e666f0854797065496e666f09747970655f696e666f0d546f6b656e4c697374696e6773086c697374696e6773055461626c65057461626c650e6c697374696e675f6576656e74730b4576656e7448616e646c65056576656e740b737761705f6576656e74730e546f6b656e537761704576656e7410546f6b656e53746f7265457363726f770d746f6b656e5f657363726f77730b746f6b656e5f62757965720b636f696e5f616d6f756e741463616e63656c5f746f6b656e5f6c697374696e67176465706f7369745f746f6b656e5f746f5f657363726f7712646f65735f6c697374696e675f65786973741765786368616e67655f636f696e5f666f725f746f6b656e06537472696e6706737472696e6718696e697469616c697a655f746f6b656e5f6c697374696e671d696e697469616c697a655f746f6b656e5f73746f72655f657363726f77136c6973745f746f6b656e5f666f725f737761701a77697468647261775f746f6b656e5f66726f6d5f657363726f772377697468647261775f746f6b656e5f66726f6d5f657363726f775f696e7465726e616c0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000114636f6d70696c6174696f6e5f6d65746164617461090003322e3003322e33126170746f733a3a6d657461646174615f7631a1040801000000000000001545544f4b454e5f414c52454144595f4c495354454414546f6b656e20616c7265616479206c697374656402000000000000001845544f4b454e5f4c495354494e475f4e4f545f45584953541e546f6b656e206c697374696e67206e6f206c6f6e6765722065786973747303000000000000001445544f4b454e5f4e4f545f494e5f455343524f5716546f6b656e206973206e6f7420696e20657363726f7704000000000000003345544f4b454e5f43414e4e4f545f4d4f56455f4f55545f4f465f455343524f575f4245464f52455f4c4f434b55505f54494d453a546f6b656e2063616e6e6f74206265206d6f766564206f7574206f6620657363726f77206265666f726520746865206c6f636b75702074696d6505000000000000001a45544f4b454e5f4d494e5f50524943455f4e4f545f4d415443482b546f6b656e2062757920707269636520646f65736e2774206d61746368206c697374696e6720707269636506000000000000001745544f4b454e5f414d4f554e545f4e4f545f4d415443482d546f6b656e2062757920616d6f756e7420646f65736e2774206d61746368206c697374696e6720616d6f756e74070000000000000010454e4f545f454e4f5547485f434f494e1c4e6f7420656e6f75676820636f696e20746f2062757920746f6b656e08000000000000001245444550524543415445445f4d4f44554c451144657072656361746564206d6f64756c6500000002020203030301020205080207030302050908040b030c0307030d0805060203110b070208040b00010900140b08010803170b080108090a02011a0b0702080408010902050908041b0502031c030d08050001000001040608000100000000000b0001270101000001040608000100000000000b000127020100000102060800010000000000270301000001040608000100000000000b0001270400000001040608000100000000000b0001270500000001040608000100000000000b0001270601040001040608000100000000000b0001270701000001040608000100000000000b0001270800000001020608000100000000002700",
    "abi": {
      "address": "0x3",
      "name": "token_coin_swap",
      "friends": [],
      "exposed_functions": [
        {
          "name": "cancel_token_listing",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": []
            }
          ],
          "params": [
            "&signer",
            "0x3::token::TokenId",
            "u64"
          ],
          "return": []
        },
        {
          "name": "deposit_token_to_escrow",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x3::token::TokenId",
            "0x3::token::Token",
            "u64"
          ],
          "return": []
        },
        {
          "name": "does_listing_exist",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": []
            }
          ],
          "params": [
            "address",
            "0x3::token::TokenId"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "exchange_coin_for_token",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": []
            }
          ],
          "params": [
            "&signer",
            "u64",
            "address",
            "address",
            "0x1::string::String",
            "0x1::string::String",
            "u64",
            "u64"
          ],
          "return": []
        },
        {
          "name": "list_token_for_swap",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": []
            }
          ],
          "params": [
            "&signer",
            "address",
            "0x1::string::String",
            "0x1::string::String",
            "u64",
            "u64",
            "u64",
            "u64"
          ],
          "return": []
        },
        {
          "name": "withdraw_token_from_escrow",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x3::token::TokenId",
            "u64"
          ],
          "return": [
            "0x3::token::Token"
          ]
        }
      ],
      "structs": [
        {
          "name": "TokenCoinSwap",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [
            {
              "constraints": []
            }
          ],
          "fields": [
            {
              "name": "token_amount",
              "type": "u64"
            },
            {
              "name": "min_price_per_token",
              "type": "u64"
            }
          ]
        },
        {
          "name": "TokenEscrow",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "token",
              "type": "0x3::token::Token"
            },
            {
              "name": "locked_until_secs",
              "type": "u64"
            }
          ]
        },
        {
          "name": "TokenListingEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "token_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            },
            {
              "name": "min_price",
              "type": "u64"
            },
            {
              "name": "locked_until_secs",
              "type": "u64"
            },
            {
              "name": "coin_type_info",
              "type": "0x1::type_info::TypeInfo"
            }
          ]
        },
        {
          "name": "TokenListings",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [
            {
              "constraints": []
            }
          ],
          "fields": [
            {
              "name": "listings",
              "type": "0x1::table::Table<0x3::token::TokenId, 0x3::token_coin_swap::TokenCoinSwap<T0>>"
            },
            {
              "name": "listing_events",
              "type": "0x1::event::EventHandle<0x3::token_coin_swap::TokenListingEvent>"
            },
            {
              "name": "swap_events",
              "type": "0x1::event::EventHandle<0x3::token_coin_swap::TokenSwapEvent>"
            }
          ]
        },
        {
          "name": "TokenStoreEscrow",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "token_escrows",
              "type": "0x1::table::Table<0x3::token::TokenId, 0x3::token_coin_swap::TokenEscrow>"
            }
          ]
        },
        {
          "name": "TokenSwapEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "token_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "token_buyer",
              "type": "address"
            },
            {
              "name": "token_amount",
              "type": "u64"
            },
            {
              "name": "coin_amount",
              "type": "u64"
            },
            {
              "name": "coin_type_info",
              "type": "0x1::type_info::TypeInfo"
            }
          ]
        }
      ]
    }
  },
  {
    "bytecode": "0xa11ceb0b0800000a0b0100100210460356c3010499021c05b502920207c704f60408bd094010fd0990020a8d0c85010c920de6060df8130800000006010d0112011d01220128010200010600010507000008060000090600000a0800020c040203010001000e0700010f04000311040106010013060000150600001706000018060000190600001a060006270700001c000100010101041e020300010101021f0506020300010101012007080001010101210901000101010523080a0001010103240c01010601010103250e01010601010100261001000101010129111200010101002a000100010101022b140a020300010101002c100100010101002d191a000100002e0201000100022f011b0203040101010730021d010601010100311e010001010101321f20000101010233210102030001010102340523020300010101013524010001010100362601000101010204060b070d0b04061507160f04101c100d101613040622071c140403060c0508010001060c010605020806080702070b050209000901090001090101060807010302060c0807010101080001090001080a02070b08010900090006050801050806080703060c0505080f080f030405080f080f03010801060801060c0801050806080702060b050209000901090001080201080b06070b0502080608070801050806080703060801060c070b05020806080708010806080702050801010806010b050209000901010809010b0801090004060c0508010303060c08010301080703070b05020900090109000901010803010709010207080708070705060c070b05020806080708010508060807070c0505080f080f0303080801060c060c070b050208060807080105080608070f746f6b656e5f7472616e73666572730b43616e63656c4f66666572076163636f756e740a746f5f6164647265737308746f6b656e5f696407546f6b656e496405746f6b656e06616d6f756e7405436c61696d054f666665720d50656e64696e67436c61696d730e70656e64696e675f636c61696d73055461626c65057461626c650c546f6b656e4f66666572496405546f6b656e0c6f666665725f6576656e74730b4576656e7448616e646c65056576656e740f546f6b656e4f666665724576656e741363616e63656c5f6f666665725f6576656e747315546f6b656e43616e63656c4f666665724576656e740c636c61696d5f6576656e74730f546f6b656e436c61696d4576656e7410546f6b656e43616e63656c4f666665720a546f6b656e436c61696d0a546f6b656e4f6666657207746f5f616464720c63616e63656c5f6f66666572067369676e65720e626f72726f775f616464726573730672656d6f7665106765745f746f6b656e5f616d6f756e740d6465706f7369745f746f6b656e0866656174757265730a69735f656e61626c656404656d69740a656d69745f6576656e741363616e63656c5f6f666665725f73637269707406537472696e6706737472696e67136372656174655f746f6b656e5f69645f72617705636c61696d08636f6e7461696e730c636c61696d5f736372697074156372656174655f746f6b656e5f6f666665725f69641a696e697469616c697a655f746f6b656e5f7472616e7366657273036e6577106e65775f6576656e745f68616e646c65056f666665720e77697468647261775f746f6b656e036164640a626f72726f775f6d7574056d657267650c6f666665725f7363726970740000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000114636f6d70696c6174696f6e5f6d65746164617461090003322e3003322e33126170746f733a3a6d657461646174615f7631dc010101000000000000001645544f4b454e5f4f464645525f4e4f545f455849535419546f6b656e206f6666657220646f65736e27742065786973740a05436c61696d010400054f666665720104000a546f6b656e436c61696d0104000a546f6b656e4f666665720104000b43616e63656c4f666665720104000c546f6b656e4f6666657249640104000f546f6b656e436c61696d4576656e740104000f546f6b656e4f666665724576656e7401040010546f6b656e43616e63656c4f6666657201040015546f6b656e43616e63656c4f666665724576656e74010400000002040205030504080107030202040205030504080107030302040205030504080107030402040b0b050208060807100b08010809140b0801080a160b0801080b0c0203030504080107030a0203030504080107030d0203030504080107030b0203030504080107030e020303050408010703090203030504080107030602021b0504080100010001030f2e0a001101140c030a010a02120a0c060a032903042a0a032a030f000b0638000c070e0711030c080b000b071104063900000000000000110504210b030b010b020b0812003801020b032a030f010b010b020b0812053802020b000106010000000000000027080104010313360b020b030b040b0511090c060e000c070a071101140c020a010a06120a0c0a0a02290304320a022a030f000b0a38000c0b0e0b11030c050b070b0b1104063900000000000000110504290b020b010b060b0512003801020b022a030f010b010b060b0512053802020b0701060100000000000000270a01000103173d0a01290304390a012a030f000c030a001101140a02120a0c060a032e0a06380304330b030b0638000c070e0711030c080a000b071104063900000000000000110504280b010b001101140b020b0812013804020b012a030f020b001101140b020b0812073805020b00010b0301060100060000000000270b0001060100000000000000270c0104010318450b020b030b040b0511090c060e000c070a01290304410a012a030f000c080a071101140a06120a0c0a0a082e0a0a3803043b0b080b0a38000c0b0e0b11030c050a070b0b1104063900000000000000110504300b010b071101140b060b0512013804020b012a030f020b071101140b060b0512073805020b07010b0801060100060000000000270b0701060100000000000000270d00000001040b000b01120a020e000000010b0a0038060a0038070a0038080b00380912032d0302110100010325430a001101140c040a042903040805140a000c050a0538060a0538070a0538080b05380912032d030a042a030f000c060a010a02120a0c090b000a020a0311120c0a0a062e0a093803033d0b060b090b0a380a063900000000000000110504340b040b010b020b031202380b020b042a030f030b010b020b031209380c020b060b09380d0b0a1115052a1601040103274b0b020b030b040b0511090c070e000c080a081101140c020a0229030410051c0a080c090a0938060a0938070a0938080b09380912032d030a022a030f000c0a0a010a07120a0c0d0b080a070a0611120c0e0a0a2e0a0d380303450b0a0b0d0b0e380a0639000000000000001105043c0b020b010b070b061202380b020b022a030f030b010b070b061209380c020b0a0b0d380d0b0e11150532030003020303030100",
    "abi": {
      "address": "0x3",
      "name": "token_transfers",
      "friends": [],
      "exposed_functions": [
        {
          "name": "cancel_offer",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "address",
            "0x3::token::TokenId"
          ],
          "return": []
        },
        {
          "name": "cancel_offer_script",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "signer",
            "address",
            "address",
            "0x1::string::String",
            "0x1::string::String",
            "u64"
          ],
          "return": []
        },
        {
          "name": "claim",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "address",
            "0x3::token::TokenId"
          ],
          "return": []
        },
        {
          "name": "claim_script",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "signer",
            "address",
            "address",
            "0x1::string::String",
            "0x1::string::String",
            "u64"
          ],
          "return": []
        },
        {
          "name": "offer",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "address",
            "0x3::token::TokenId",
            "u64"
          ],
          "return": []
        },
        {
          "name": "offer_script",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "signer",
            "address",
            "address",
            "0x1::string::String",
            "0x1::string::String",
            "u64",
            "u64"
          ],
          "return": []
        }
      ],
      "structs": [
        {
          "name": "CancelOffer",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "account",
              "type": "address"
            },
            {
              "name": "to_address",
              "type": "address"
            },
            {
              "name": "token_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "Claim",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "account",
              "type": "address"
            },
            {
              "name": "to_address",
              "type": "address"
            },
            {
              "name": "token_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "Offer",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "account",
              "type": "address"
            },
            {
              "name": "to_address",
              "type": "address"
            },
            {
              "name": "token_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "PendingClaims",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "pending_claims",
              "type": "0x1::table::Table<0x3::token_transfers::TokenOfferId, 0x3::token::Token>"
            },
            {
              "name": "offer_events",
              "type": "0x1::event::EventHandle<0x3::token_transfers::TokenOfferEvent>"
            },
            {
              "name": "cancel_offer_events",
              "type": "0x1::event::EventHandle<0x3::token_transfers::TokenCancelOfferEvent>"
            },
            {
              "name": "claim_events",
              "type": "0x1::event::EventHandle<0x3::token_transfers::TokenClaimEvent>"
            }
          ]
        },
        {
          "name": "TokenCancelOffer",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "to_address",
              "type": "address"
            },
            {
              "name": "token_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "TokenCancelOfferEvent",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "to_address",
              "type": "address"
            },
            {
              "name": "token_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "TokenClaim",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "to_address",
              "type": "address"
            },
            {
              "name": "token_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "TokenClaimEvent",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "to_address",
              "type": "address"
            },
            {
              "name": "token_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "TokenOffer",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "to_address",
              "type": "address"
            },
            {
              "name": "token_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "TokenOfferEvent",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "to_address",
              "type": "address"
            },
            {
              "name": "token_id",
              "type": "0x3::token::TokenId"
            },
            {
              "name": "amount",
              "type": "u64"
            }
          ]
        },
        {
          "name": "TokenOfferId",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "copy",
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "to_addr",
              "type": "address"
            },
            {
              "name": "token_id",
              "type": "0x3::token::TokenId"
            }
          ]
        }
      ]
    }
  },
  {
    "bytecode": "0xa11ceb0b0800000a0c010012021268037a7a04f4013805ac02e701079304cd0b08e00f4010a01092020ab212eb020c9d15ff090d9c1f120fae1f02000001050119001b0131013d01400142014500010600010407000008060000090600000c0600000d0600000e06000011060000120600021807010000031a0700001d0600001e0600001f06000020060000210600002206000025060000260600002d0600002e080004300401060100360600053c0600003e0600003f000100010006410203000101010743020501060101010244010f0100010101084610110001010104471301010601010104481401010601010100491601000100004a0001000100004b1b01000100004c1e01000100004d2101000100004e2401000100004f270100010000501e010001000051020100010002040206020702080209020a020b020c020d030e051206070517060605190604051c060a051f060b0522060d052506080528060c052a060904060c0801080108010001060c010605010807010b1501090001080501080201081101081601080b01080d01081301080f010817010b090109000103010101080001090002070b15010900090003060c080207081404060c0801030301080303060c080507081401080603060c080707081406060c080108010a08010a0b0901080a0a080a0108080305080b07081405060c080108010801080101080c0305080d07081405060c08010801030301080e0305080f07081402060c01010810030811060c07081409060c08010801030305030305010812030508130708140108180305081607081411746f6b656e5f6576656e745f73746f72651b436f6c6c656374696f6e4465736372697074696f6e4d75746174650c63726561746f725f616464720f636f6c6c656374696f6e5f6e616d6506537472696e6706737472696e670f6f6c645f6465736372697074696f6e0f6e65775f6465736372697074696f6e20436f6c6c656374696f6e4465736372697074696f6e4d75746174654576656e7417436f6c6c656374696f6e4d6178696d756d4d75746174650b6f6c645f6d6178696d756d0b6e65775f6d6178696d756d16436f6c6c656374696f6e4d617869756d4d75746174651b436f6c6c656374696f6e4d617869756d4d75746174654576656e7413436f6c6c656374696f6e5572694d7574617465076f6c645f757269076e65775f75726918436f6c6c656374696f6e5572694d75746174654576656e741544656661756c7450726f70657274794d75746174650763726561746f720a636f6c6c656374696f6e05746f6b656e046b6579730a6f6c645f76616c756573064f7074696f6e066f7074696f6e0d50726f706572747956616c75650c70726f70657274795f6d61700a6e65775f76616c7565731a44656661756c7450726f70657274794d75746174654576656e74114465736372697074696f6e4d7574617465164465736372697074696f6e4d75746174654576656e740d4d6178696d756d4d7574617465114d617869756d4d75746174654576656e740d4f7074496e5472616e736665720f6163636f756e745f61646472657373066f70745f696e124f7074496e5472616e736665724576656e740d526f79616c74794d7574617465156f6c645f726f79616c74795f6e756d657261746f72176f6c645f726f79616c74795f64656e6f6d696e61746f72166f6c645f726f79616c74795f70617965655f61646472156e65775f726f79616c74795f6e756d657261746f72176e65775f726f79616c74795f64656e6f6d696e61746f72166e65775f726f79616c74795f70617965655f6164647212526f79616c74794d75746174654576656e7411546f6b656e4576656e7453746f726556311c636f6c6c656374696f6e5f7572695f6d75746174655f6576656e74730b4576656e7448616e646c65056576656e7420636f6c6c656374696f6e5f6d6178696d756d5f6d75746174655f6576656e747324636f6c6c656374696f6e5f6465736372697074696f6e5f6d75746174655f6576656e74730d6f70745f696e5f6576656e7473117572695f6d75746174655f6576656e7473105572694d75746174696f6e4576656e741e64656661756c745f70726f70657274795f6d75746174655f6576656e7473196465736372697074696f6e5f6d75746174655f6576656e747315726f79616c74795f6d75746174655f6576656e7473156d6178696d756d5f6d75746174655f6576656e747309657874656e73696f6e03416e7903616e790b5572694d75746174696f6e28656d69745f636f6c6c656374696f6e5f6465736372697074696f6e5f6d75746174655f6576656e74067369676e65720e626f72726f775f61646472657373076163636f756e74106e65775f6576656e745f68616e646c65046e6f6e650866656174757265730a69735f656e61626c656404656d69740a656d69745f6576656e7424656d69745f636f6c6c656374696f6e5f6d6178696d756d5f6d75746174655f6576656e7420656d69745f636f6c6c656374696f6e5f7572695f6d75746174655f6576656e7422656d69745f64656661756c745f70726f70657274795f6d75746174655f6576656e7422656d69745f746f6b656e5f64657363726974696f6e5f6d75746174655f6576656e741f656d69745f746f6b656e5f6d6178696d756d5f6d75746174655f6576656e7417656d69745f746f6b656e5f6f70745f696e5f6576656e741f656d69745f746f6b656e5f726f79616c74795f6d75746174655f6576656e741b656d69745f746f6b656e5f7572695f6d75746174655f6576656e741c696e697469616c697a655f746f6b656e5f6576656e745f73746f72650000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000114636f6d70696c6174696f6e5f6d65746164617461090003322e3003322e33126170746f733a3a6d657461646174615f7631de01000a0b5572694d75746174696f6e0104000d4d6178696d756d4d75746174650104000d4f7074496e5472616e736665720104000d526f79616c74794d7574617465010400114465736372697074696f6e4d757461746501040013436f6c6c656374696f6e5572694d75746174650104001544656661756c7450726f70657274794d757461746501040016436f6c6c656374696f6e4d617869756d4d757461746501040017436f6c6c656374696f6e4d6178696d756d4d75746174650104001b436f6c6c656374696f6e4465736372697074696f6e4d7574617465010400000002040205030801060801070801020204020503080106080107080103020402050308010a030b0304020402050308010a030b0305020402050308010a030b0306020402050308010f080110080107020402050308010f08011008010802061305140801150801160a0801170a0b0901080a1c0a080a0b02061305140801150801160a0801170a0b0901080a1c0a080a0c020513051408011508010608010708010d020513051408011508010608010708010e020513051408011508010a030b030f020513051408011508010a030b0310020223052401110201240112020913051408011508012703280329052a032b032c0513020913051408011508012703280329052a032b032c0514020a2f0b15010807320b15010805330b15010802340b15010811350b15010816370b1501080b380b1501080d390b150108133a0b1501080f3b0b0901081718020513051408011508010f080110080116020513051408011508010f0801100801000300011115420a001101140a010a020a0312010c050a000c040a041101142911033f0a040a0438000a0438010a0438020a0438030a0438040a0438050a0438060a0438070b043808380912112d110a001101142a110c06063900000000000000110404380b06010b001101140b010b020b031200380a020b00010b060f000b05380b020b04010525070300011118420a001101140a010a020a0312040c050a000c040a041101142911033f0a040a0438000a0438010a0438020a0438030a0438040a0438050a0438060a0438070b043808380912112d110a001101142a110c06063900000000000000110404380b06010b001101140b010b020b031202380c020b00010b060f010b05380d020b0401052508030001111a420a001101140a010a020a0312060c050a000c040a041101142911033f0a040a0438000a0438010a0438020a0438030a0438040a0438050a0438060a0438070b043808380912112d110a001101142a110c06063900000000000000110404380b06010b001101140b010b020b031205380e020b00010b060f020b05380f020b0401052509030001111d400a001101140c060a060a010a020a030a040a0512080c070a001101142911033d0a000a0038000a0038010a0038020a0038030a0038040a0038050a0038060a0038070b003808380912112d110a062a110c08063900000000000000110404380b08010b060b010b020b030b040b0512073810020b080f030b073811020b000105270a03000111203e0a001101140c050a050a010a020a030a04120a0c060a001101142911033b0a000a0038000a0038010a0038020a0038030a0038040a0038050a0038060a0038070b003808380912112d110a052a110c07063900000000000000110404360b07010b050b010b020b030b0412093812020b070f040b063813020b000105260b03000111233e0a001101140c050a050a010a020a030a04120c0c060a001101142911033b0a000a0038000a0038010a0038020a0038030a0038040a0038050a0038060a0038070b003808380912112d110a052a110c07063900000000000000110404360b07010b050b010b020b030b04120b3814020b070f050b063815020b000105260c03000111263b0a01120e0c020a000c030a03110114291103380a030a0338000a0338010a0338020a0338030a0338040a0338050a0338060a0338070b033808380912112d110a001101142a110c04063900000000000000110404310b04010b001101140b01120d3816020b00010b040f060b023817020b030105200d0300011129460a001101140c090a090a010a020a030a040a050a060a070a0812100c0a0a00110114291103430a000a0038000a0038010a0038020a0038030a0038040a0038050a0038060a0038070b003808380912112d110a092a110c0b0639000000000000001104043e0b0b010b090b010b020b030b040b050b060b070b08120f3818020b0b0f070b0a3819020b0001052a0e030001112b3e0a001101140c050a050a010a020a030a0412130c060a001101142911033b0a000a0038000a0038010a0038020a0038030a0038040a0038050a0038060a0038070b003808380912112d110a052a110c07063900000000000000110404360b07010b050b010b020b030b041212381a020b070f080b06381b020b000105260f000000011f0a001101142911031c0a000a0038000a0038010a0038020a0038030a0038040a0038050a0038060a0038070b003808380912112d11020b000102110211011100110511061108110311071104001500",
    "abi": {
      "address": "0x3",
      "name": "token_event_store",
      "friends": [
        "0x3::token"
      ],
      "exposed_functions": [
        {
          "name": "emit_collection_description_mutate_event",
          "visibility": "friend",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "emit_collection_maximum_mutate_event",
          "visibility": "friend",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "u64",
            "u64"
          ],
          "return": []
        },
        {
          "name": "emit_collection_uri_mutate_event",
          "visibility": "friend",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "emit_default_property_mutate_event",
          "visibility": "friend",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "vector<0x1::string::String>",
            "vector<0x1::option::Option<0x3::property_map::PropertyValue>>",
            "vector<0x3::property_map::PropertyValue>"
          ],
          "return": []
        },
        {
          "name": "emit_token_descrition_mutate_event",
          "visibility": "friend",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "emit_token_maximum_mutate_event",
          "visibility": "friend",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "u64",
            "u64"
          ],
          "return": []
        },
        {
          "name": "emit_token_opt_in_event",
          "visibility": "friend",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "bool"
          ],
          "return": []
        },
        {
          "name": "emit_token_royalty_mutate_event",
          "visibility": "friend",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "u64",
            "u64",
            "address",
            "u64",
            "u64",
            "address"
          ],
          "return": []
        },
        {
          "name": "emit_token_uri_mutate_event",
          "visibility": "friend",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String"
          ],
          "return": []
        }
      ],
      "structs": [
        {
          "name": "CollectionDescriptionMutate",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator_addr",
              "type": "address"
            },
            {
              "name": "collection_name",
              "type": "0x1::string::String"
            },
            {
              "name": "old_description",
              "type": "0x1::string::String"
            },
            {
              "name": "new_description",
              "type": "0x1::string::String"
            }
          ]
        },
        {
          "name": "CollectionDescriptionMutateEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator_addr",
              "type": "address"
            },
            {
              "name": "collection_name",
              "type": "0x1::string::String"
            },
            {
              "name": "old_description",
              "type": "0x1::string::String"
            },
            {
              "name": "new_description",
              "type": "0x1::string::String"
            }
          ]
        },
        {
          "name": "CollectionMaximumMutate",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator_addr",
              "type": "address"
            },
            {
              "name": "collection_name",
              "type": "0x1::string::String"
            },
            {
              "name": "old_maximum",
              "type": "u64"
            },
            {
              "name": "new_maximum",
              "type": "u64"
            }
          ]
        },
        {
          "name": "CollectionMaxiumMutate",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator_addr",
              "type": "address"
            },
            {
              "name": "collection_name",
              "type": "0x1::string::String"
            },
            {
              "name": "old_maximum",
              "type": "u64"
            },
            {
              "name": "new_maximum",
              "type": "u64"
            }
          ]
        },
        {
          "name": "CollectionMaxiumMutateEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator_addr",
              "type": "address"
            },
            {
              "name": "collection_name",
              "type": "0x1::string::String"
            },
            {
              "name": "old_maximum",
              "type": "u64"
            },
            {
              "name": "new_maximum",
              "type": "u64"
            }
          ]
        },
        {
          "name": "CollectionUriMutate",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator_addr",
              "type": "address"
            },
            {
              "name": "collection_name",
              "type": "0x1::string::String"
            },
            {
              "name": "old_uri",
              "type": "0x1::string::String"
            },
            {
              "name": "new_uri",
              "type": "0x1::string::String"
            }
          ]
        },
        {
          "name": "CollectionUriMutateEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator_addr",
              "type": "address"
            },
            {
              "name": "collection_name",
              "type": "0x1::string::String"
            },
            {
              "name": "old_uri",
              "type": "0x1::string::String"
            },
            {
              "name": "new_uri",
              "type": "0x1::string::String"
            }
          ]
        },
        {
          "name": "DefaultPropertyMutate",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "collection",
              "type": "0x1::string::String"
            },
            {
              "name": "token",
              "type": "0x1::string::String"
            },
            {
              "name": "keys",
              "type": "vector<0x1::string::String>"
            },
            {
              "name": "old_values",
              "type": "vector<0x1::option::Option<0x3::property_map::PropertyValue>>"
            },
            {
              "name": "new_values",
              "type": "vector<0x3::property_map::PropertyValue>"
            }
          ]
        },
        {
          "name": "DefaultPropertyMutateEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "collection",
              "type": "0x1::string::String"
            },
            {
              "name": "token",
              "type": "0x1::string::String"
            },
            {
              "name": "keys",
              "type": "vector<0x1::string::String>"
            },
            {
              "name": "old_values",
              "type": "vector<0x1::option::Option<0x3::property_map::PropertyValue>>"
            },
            {
              "name": "new_values",
              "type": "vector<0x3::property_map::PropertyValue>"
            }
          ]
        },
        {
          "name": "DescriptionMutate",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "collection",
              "type": "0x1::string::String"
            },
            {
              "name": "token",
              "type": "0x1::string::String"
            },
            {
              "name": "old_description",
              "type": "0x1::string::String"
            },
            {
              "name": "new_description",
              "type": "0x1::string::String"
            }
          ]
        },
        {
          "name": "DescriptionMutateEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "collection",
              "type": "0x1::string::String"
            },
            {
              "name": "token",
              "type": "0x1::string::String"
            },
            {
              "name": "old_description",
              "type": "0x1::string::String"
            },
            {
              "name": "new_description",
              "type": "0x1::string::String"
            }
          ]
        },
        {
          "name": "MaximumMutate",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "collection",
              "type": "0x1::string::String"
            },
            {
              "name": "token",
              "type": "0x1::string::String"
            },
            {
              "name": "old_maximum",
              "type": "u64"
            },
            {
              "name": "new_maximum",
              "type": "u64"
            }
          ]
        },
        {
          "name": "MaxiumMutateEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "collection",
              "type": "0x1::string::String"
            },
            {
              "name": "token",
              "type": "0x1::string::String"
            },
            {
              "name": "old_maximum",
              "type": "u64"
            },
            {
              "name": "new_maximum",
              "type": "u64"
            }
          ]
        },
        {
          "name": "OptInTransfer",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "account_address",
              "type": "address"
            },
            {
              "name": "opt_in",
              "type": "bool"
            }
          ]
        },
        {
          "name": "OptInTransferEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "opt_in",
              "type": "bool"
            }
          ]
        },
        {
          "name": "RoyaltyMutate",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "collection",
              "type": "0x1::string::String"
            },
            {
              "name": "token",
              "type": "0x1::string::String"
            },
            {
              "name": "old_royalty_numerator",
              "type": "u64"
            },
            {
              "name": "old_royalty_denominator",
              "type": "u64"
            },
            {
              "name": "old_royalty_payee_addr",
              "type": "address"
            },
            {
              "name": "new_royalty_numerator",
              "type": "u64"
            },
            {
              "name": "new_royalty_denominator",
              "type": "u64"
            },
            {
              "name": "new_royalty_payee_addr",
              "type": "address"
            }
          ]
        },
        {
          "name": "RoyaltyMutateEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "collection",
              "type": "0x1::string::String"
            },
            {
              "name": "token",
              "type": "0x1::string::String"
            },
            {
              "name": "old_royalty_numerator",
              "type": "u64"
            },
            {
              "name": "old_royalty_denominator",
              "type": "u64"
            },
            {
              "name": "old_royalty_payee_addr",
              "type": "address"
            },
            {
              "name": "new_royalty_numerator",
              "type": "u64"
            },
            {
              "name": "new_royalty_denominator",
              "type": "u64"
            },
            {
              "name": "new_royalty_payee_addr",
              "type": "address"
            }
          ]
        },
        {
          "name": "TokenEventStoreV1",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "collection_uri_mutate_events",
              "type": "0x1::event::EventHandle<0x3::token_event_store::CollectionUriMutateEvent>"
            },
            {
              "name": "collection_maximum_mutate_events",
              "type": "0x1::event::EventHandle<0x3::token_event_store::CollectionMaxiumMutateEvent>"
            },
            {
              "name": "collection_description_mutate_events",
              "type": "0x1::event::EventHandle<0x3::token_event_store::CollectionDescriptionMutateEvent>"
            },
            {
              "name": "opt_in_events",
              "type": "0x1::event::EventHandle<0x3::token_event_store::OptInTransferEvent>"
            },
            {
              "name": "uri_mutate_events",
              "type": "0x1::event::EventHandle<0x3::token_event_store::UriMutationEvent>"
            },
            {
              "name": "default_property_mutate_events",
              "type": "0x1::event::EventHandle<0x3::token_event_store::DefaultPropertyMutateEvent>"
            },
            {
              "name": "description_mutate_events",
              "type": "0x1::event::EventHandle<0x3::token_event_store::DescriptionMutateEvent>"
            },
            {
              "name": "royalty_mutate_events",
              "type": "0x1::event::EventHandle<0x3::token_event_store::RoyaltyMutateEvent>"
            },
            {
              "name": "maximum_mutate_events",
              "type": "0x1::event::EventHandle<0x3::token_event_store::MaxiumMutateEvent>"
            },
            {
              "name": "extension",
              "type": "0x1::option::Option<0x1::any::Any>"
            }
          ]
        },
        {
          "name": "UriMutation",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "collection",
              "type": "0x1::string::String"
            },
            {
              "name": "token",
              "type": "0x1::string::String"
            },
            {
              "name": "old_uri",
              "type": "0x1::string::String"
            },
            {
              "name": "new_uri",
              "type": "0x1::string::String"
            }
          ]
        },
        {
          "name": "UriMutationEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "collection",
              "type": "0x1::string::String"
            },
            {
              "name": "token",
              "type": "0x1::string::String"
            },
            {
              "name": "old_uri",
              "type": "0x1::string::String"
            },
            {
              "name": "new_uri",
              "type": "0x1::string::String"
            }
          ]
        }
      ]
    }
  }
]