File: blk03459.txt

d/Foundry USA Pool #dropgold/
text/plain;charset=utf-8
  "name": "jgz.sats"
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color=white>"..."</font>
<font color='white'> (o-o) </font>
<font color=blue>(\+/)</font>
<font color=green>-"-</font>
</center></font></pre></body></html>
text/plain;charset=utf-8
FjDOUT:EB2371DAAB49C46FE0F3F835D169C7E5C0C82E6DE77B884E7A9E4D3CB383B86B
FjDOUT:A8244F148CB4A68A5E4DD8B07063BC6CA0079030F1172E5D0C866B12CE4B5FAA
CjA=:ETH.ETH:0xAc7aC7E87aec37d46417FEA7b7Cd78Ff175442BA:2525554:te:0
DjB=:BNB.BNB:bnb1pgsajfvxjc59nqexckzr7wf5luhxd0lclz2ysp:39872067:te:0
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"trashart.sats"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "M87.sats"
text/html;charset=utf-8
    <meta charset="UTF-8" />
    <title>-ORDINALANDS-</title>
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
      crossorigin="anonymous"
      src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"
      crossorigin="anonymous"
        html, body {margin: 0;overflow: hidden;}#blocker {position: absolute;width: 100%;height: 100%;backgroM
und-color: rgba(0, 0, 0, 0.1);z-index: 1000;}.instructions {width: 100%;height: 100%;display: flex;flex-direction: column;justify-content: top;align-items: baseline;text-align: left !important;font-size: 14px;cursor: pointer;padding-top: 15px !important;padding-left: 15px !important;white-space: nowrap !important;}.instr {opacity: 0.4;}.col-6 {padding-left: 0px !important;}body {margin: 0;background-color: #000;color: #fff;font-family: Monospace;font-size: 13px;line-height: 24px;overscroll-behavior: none;}a {color:M
 #ff0;text-decoration: none;}a:hover {text-decoration: underline;}button {cursor: pointer;text-transform: uppercase;}body {margin: 0px;}
    <!-- threejs@r124 -->
    <script  sandbox="allow-scripts" type="text/javascript"src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/three@0.121.1/examples/js/math/ConvexHull.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/three@0.121.1/examples/js/geometries/ConvexGeometry.jsM
    <script id="snippet-random-code" type="text/javascript">
      let seed = window.location.href.split("/").find((t) => t.includes("i0"));
      if (seed == null) {
        const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
          new URLSearchParams(window.location.search).get("seed") ||
            .fill(0)
            .map((_) => alphabet[(Math.random() * alphabet.length) | 0])
            .join("") + "i0";
        let pattern = "seed=";
        for (let i = 0; i < seed.length - pattern.length; ++i) {
          if (seed.substring(i, i + pattern.length) == pattern) {
            seed = seed.substring(i + pattern.length);
      function cyrb128($) {
        let _ = 1779033703,
          u = 3144134277,
          i = 1013904242,
          l = 2773480762;
        for (let n = 0, r; n < $.length; n++)
          (_ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067)),
            (u = i ^ Math.imul(u ^ M
            (i = l ^ Math.imul(i ^ r, 951274213)),
            (l = _ ^ Math.imul(l ^ r, 2716044179));
          (_ = Math.imul(i ^ (_ >>> 18), 597399067)),
          (u = Math.imul(l ^ (u >>> 22), 2869860233)),
          (i = Math.imul(_ ^ (i >>> 17), 951274213)),
          (l = Math.imul(u ^ (l >>> 19), 2716044179)),
          [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
      function sfc32($, _, u, i) {
        return function () {
        (u >>>= 0), (i >>>= 0);
          var l = (($ >>>= 0) + (_ >>>= 0)) | 0;
            ($ = _ ^ (_ >>> 9)),
            (_ = (u + (u << 3)) | 0),
              ((u = (u << 21) | (u >>> 11)) +
                (l = (l + (i = (i + 1) | 0)) | 0)) |
            (l >>> 0) / 4294967296
      let mathRand = sfc32(...cyrb128(seed));
    <script type="text/javascript">
      const random1 = mathRand();
    <div id="blocker"> <div id="loading" style="font-size: 24px" class="instructions instr">Loading...</div><script>var loading=document.getElementById("loading"); console.log('load inner', loading.innerHTML, loading.innerHTML=='Loading...') var loadingInteravl=setInterval(function(){if (loading.innerHTML=='Loading...'){loading.innerHTML='Loading.'}if (loading.innerHTML=='Loading.'){loading.innerHTML='Loading..'}if (loading.innerHTML=='Loading..'){loading.innerHTML='Loading...'}},300) </script> <diM
v id="instructions" class="instructions" style="display: none"> <div class="row text-left mb4"> <div class="col-6 mr-2 instr"> <h5 class="pb-0 mb-0">Start Game:</h5> <h5 class="pb-0 mb-0">Pause:</h5> <h5 class="pb-0 mb-0">Move:</h5> <h5 class="pb-0 mb-0">Jump:</h5> <h5 class="pb-0 mb-0">Look:</h5> <h5 class="pb-0 mb-0">Sprint:</h5> <h5 class="pb-0 mb-0">Place Shape:</h5> <h5 class="pb-0 mb-0">Remove Shape:</h5> </div><div class="col-6 ml-2 instr"> <h5 class="pb-0 mb-0"><b>ENTER</b></h5> <h5 class="pb-0 mb-0"><b>ESCM
</b></h5> <h5 class="pb-0 mb-0"><b>WASD</b></h5> <h5 class="pb-0 mb-0"><b>SPACE</b></h5> <h5 class="pb-0 mb-0"><b>MOUSE</b></h5> <h5 class="pb-0 mb-0"><b>SHIFT</b></h5> <h5 class="pb-0 mb-0"><b>LEFT-CLICK</b></h5> <h5 class="pb-0 mb-0"><b>RIGHT-CLICK</b></h5> </div></div><div> <button class="btn btn-outline-secondary btn-lg mt-3" id="start_game" style="opacity: 1 !important" > PLAY GAME </button> <button class="btn btn-outline-secondary btn-lg mt-3" id="hide" style="opacity: 1 !important" > HIDE THIS </button> </diM
v></div><div class="d-none instr" id="mobile-warning" class="instructions"> <p style="font-size: 24px">Gameplay not supported on mobile</p></div></div><div style=" position: absolute; top: 50vh; left: 50vw; display: none; font-size: 1.2em; font-family: 'Arial'; z-index: 100000; " id="crosshair" > <b>
    <script type="module">
   var water,iframe,intersections,fintersections,wintersections,aintersections,sintersections,dintersections,boxGeometry,floor,finalMesh,finalMaterial,gltfloader,dirLight,hemiLM
ight,canMoveForward,canMoveBackward,canMoveLeft,canMoveRight,time,delta,velocityzcalc,velocityxcalc,velocityycalc,move_obj,onObject,waterColor,image,pos,mesh,loading=document.getElementById("loading"),isMobile=mobileCheck();let rand=mathRand();function windDirection(e){return e>.6}function colorScheme($){return $<.35?0:$>=.35&&$<.6?1:$>=.6&&$<.9?2:$>.9?3:void 0}window.$generativeTraits={windDirection:windDirection(rand),colorScheme:colorScheme(rand)},console.log(window.$generativeTraits);import{Water as e}from"httpM
s://cdn.skypack.dev/three@0.128.0/examples/jsm/objects/Water.js";import{PointerLockControls as o}from"https://cdn.jsdelivr.net/npm/three@0.121.1/examples/jsm/controls/PointerLockControls.js";var waterBasePosition=-175,tideComeingIn=!1,waterSpeed=1;let _p=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83M
,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,1M
81,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180,];for(let i=0;i<256;i++)_p[256+i]=_p[i];function fade(e){return e*e*e*(e*(6*e-15)+10)}function lerp(e,o,t){return o+e*(t-o)}function grad(e,o,t,r){let a=15&e,n=a<8?o:t,s=a<4?t:12==a||14==a?o:r;return((1&a)==0?n:-n)+((2&a)==0?s:-s)}class ImprovedNoise{noise(e,o,t){let r=Math.floor(e),a=Math.floor(o),n=Math.floor(t),s=255&r,c=255&a,d=255&n;e-=r,o-=a,t-=n;let $=e-1,p=o-1,_=t-1,m=fade(e),g=fM
ade(o),w=fade(t),h=_p[s]+c,f=_p[h]+d,b=_p[h+1]+d,y=_p[s+1]+c,v=_p[y]+d,u=_p[y+1]+d;return lerp(w,lerp(g,lerp(m,grad(_p[f],e,o,t),grad(_p[v],$,o,t)),lerp(m,grad(_p[b],e,p,t),grad(_p[u],$,p,t))),lerp(g,lerp(m,grad(_p[f+1],e,o,_),grad(_p[v+1],$,o,_)),lerp(m,grad(_p[b+1],e,p,_),grad(_p[u+1],$,p,_))))}}var gameActive=!1,stickx=0,sticky=0,lookx=0,looky=0;let moveForward=!1,moveBackward=!1,moveLeft=!1,moveRight=!1,canJump=!1,moveUp=!1,moveDown=!1;var frame_count=1,objects=[],lerpActions={},lerpColor=new THREE.Color,lerpCoM
lors=[],initialColor=new THREE.Color,gravity=!0;let prevTime=performance.now(),velocity=new THREE.Vector3,direction=new THREE.Vector3,vertex=new THREE.Vector3,color=new THREE.Color;var _PI_2=Math.PI/2;onObject=!0;var raycaster=new THREE.Raycaster(new THREE.Vector3,new THREE.Vector3(0,-1,0),0,10),fraycaster=new THREE.Raycaster,movementSpeed=400,renderDistance=400,doFloorUpdate=!1;let container=document.createElement("div");container.innerHTML="<span>seed: "+seed+"</span><br>",console.log("seed",seed);var camera=new M
THREE.PerspectiveCamera(95,window.innerWidth/window.innerHeight,1,3500);camera.position.y=400,camera.lookAt(0,-1,0);var scene=new THREE.Scene;scene.background=new THREE.Color(0);let light=new THREE.HemisphereLight(15658751,7829384,.95);light.position.set(.5,100,.75),scene.add(light),0==window.$generativeTraits.colorScheme&&(light.color.r=1.2,light.color.g=.5,light.color.b=.5,waterColor=new THREE.Color(0,.25,0)),1==window.$generativeTraits.colorScheme&&(light.color.g=1.3,light.color.r=.3,light.color.b=.3,waterColor=M
new THREE.Color(.56,0,0)),2==window.$generativeTraits.colorScheme?(light.color.b=1.5,light.color.g=.6,light.color.r=.5,waterColor=new THREE.Color(.4,0,.6)):3==window.$generativeTraits.colorScheme&&(light.color.r=1.53,light.color.g=1.5,light.color.b=.21,waterColor=new THREE.Color(.99,.88,.21)),window.light=light;var controls=new o(camera,document.body),renderer=new THREE.WebGLRenderer({antialias:!1,powerPreference:"high-performance"});renderer.setPixelRatio(window.devicePixelRatio),renderer.setSize(window.innerWidthM
,window.innerHeight),document.body.appendChild(renderer.domElement),window.addEventListener("resize",onWindowResize);let cubeLoader=new THREE.CubeTextureLoader,skyboxTexture=cubeLoader.load(["https://i.ibb.co/bB1qgcy/1.png","https://i.ibb.co/hdnS4PX/2.png","https://i.ibb.co/M5pMx2J/3.png","https://i.ibb.co/vHhVdj9/4.png","https://i.ibb.co/894wyRV/5.png","https://i.ibb.co/Trcj0tx/6.png",]);var loadedCount=0;let ft=new THREE.TextureLoader().load("https://i.ibb.co/Jmc3Yc0/space-ft.png",onLoadCallback),bk=new THREE.TexM
tureLoader().load("https://i.ibb.co/KXyM8Dp/space-bk.png",onLoadCallback),up=new THREE.TextureLoader().load("https://i.ibb.co/rp4W3fR/space-up.png",onLoadCallback),dn=new THREE.TextureLoader().load("https://i.ibb.co/Q7B2fTC/space-dn.png",onLoadCallback),rt=new THREE.TextureLoader().load("https://i.ibb.co/NVyD5jy/space-rt.png",onLoadCallback),lf=new THREE.TextureLoader().load("https://i.ibb.co/xsx5rYK/space-lf.png",onLoadCallback);var materialArray=[];materialArray.push(new THREE.MeshBasicMaterial({map:ft,side:THREEM
.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:bk,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:up,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:dn,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:rt,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:lf,side:THREE.BackSide,fog:!1}));var skyboxGeo=new THREE.BoxGeometry(3e3,3e3,3e3),skybox=new THREE.Mesh(skybM
oxGeo,materialArray);function onLoadCallback(){6==++loadedCount&&scene.add(skybox)}function onWindowResize(){camera.aspect=window.innerWidth/window.innerHeight,camera.updateProjectionMatrix(),renderer.setSize(window.innerWidth,window.innerHeight)}function perlinRandom(){let e=100*Math.sin(mathRand());return e-Math.floor(e)}var worldWidth=512,worldDepth=512,height_map={};function generateHeight(e,o){let t=e*o,r=new Uint8Array(t),a=new ImprovedNoise,n=5*perlinRandom(),s=35;for(let c=0;c<2;c++){for(let d=0;d<t;d++){leM
t $=d%e,p=~~(d/e);r[d]+=Math.abs(a.noise($/s,p/s,n)*s*1.85),height_map[[$,p]]=r[d]}s*=4}return r}controls.getObject().position.x=worldWidth/2,controls.getObject().position.z=worldDepth/2;let floorGeometry=new THREE.PlaneBufferGeometry(worldWidth,worldDepth,worldWidth-1,worldDepth-1);floorGeometry.rotateX(-Math.PI/2);let data=generateHeight(worldWidth,worldDepth),vertices=floorGeometry.attributes.position.array;window.vertices=vertices;for(let i=0,j=0,l=vertices.length;i<l;i++,j+=3)vertices[j+1]=1*data[i]-200;var teM
mpColor=new THREE.Color(16377338),texture=new THREE.CanvasTexture(generateTexture(data,worldWidth,worldDepth));function generateTexture(e,o,t){let r,a,n,s=new THREE.Vector3(0,0,0),c=new THREE.Vector3(1,25*mathRand(),5);c.normalize();let d=document.createElement("canvas");d.width=o,d.height=t,window.canvas=d,(r=d.getContext("2d")).fillStyle="#010011",r.fillRect(0,0,o,t),a=(image=r.getImageData(0,0,d.width,d.height)).data;var $=64+64*mathRand(),p=86+86*mathRand(),_=22+22*mathRand(),m=.33+.33*mathRand(),g=.004+.004*maM
thRand();for(let w=0,h=0,f=a.length;w<f;w+=4,h++)s.x=e[h-2]-e[h+2],s.y=2,s.z=e[h-2*o]-e[h+2*o],s.normalize(),n=s.dot(c),a[w]=($+n*p)*(m+e[h]*g),a[w+1]=(_+n*$)*(m+e[h]*g),a[w+2]=n*$*(m+e[h]*g);r.putImageData(image,0,0);let b=document.createElement("canvas");b.width=4*o,b.height=4*t,(r=b.getContext("2d")).scale(4,4),r.drawImage(d,0,0),a=(image=r.getImageData(0,0,b.width,b.height)).data;for(let y=0,v=a.length;y<v;y+=4){let u=~~(mathRand()*(3+2*mathRand()));a[y]+=u,a[y+1]+=u,a[y+2]+=u}return r.putImageData(image,0,0),bM
}texture.wrapS=THREE.ClampToEdgeWrapping,texture.wrapT=THREE.ClampToEdgeWrapping;let floorMaterial=new THREE.MeshLambertMaterial({map:texture});floorMaterial.color=tempColor;var floor=new THREE.Mesh(floorGeometry,floorMaterial);2==window.$generativeTraits.colorScheme&&(floor.material.color.r=0),window.floor=floor,scene.add(floor),objects.push(floor);var gridColor=new THREE.Color(2302755);let grid=new THREE.GridHelper(worldWidth,25,gridColor);grid.rotateX(-Math.PI/2),grid.position.x=worldWidth/2,grid.position.y=-worM
ldWidth/4,grid.material.opacity=.001,scene.add(grid),window.grid=grid;let grid2=new THREE.GridHelper(worldWidth,25,gridColor);grid2.rotateX(-Math.PI/2),grid2.position.x=worldWidth/2,grid2.position.y=-worldWidth/4,grid2.position.z=worldDepth,grid2.material.opacity=.1,scene.add(grid2);let grid3=new THREE.GridHelper(worldDepth,25,gridColor);grid3.rotateZ(-Math.PI/2),grid3.position.y=-worldWidth/4,grid3.position.z=worldDepth/2,grid3.material.opacity=.1,scene.add(grid3);let grid4=new THREE.GridHelper(worldDepth,25,gridCM
olor);grid4.rotateZ(-Math.PI/2),grid4.position.x=worldWidth,grid4.position.y=-worldWidth/4,grid4.position.z=worldDepth/2,grid4.material.opacity=.1,scene.add(grid4);let grid5=new THREE.GridHelper(worldDepth,25);grid5.position.x=worldWidth/2,grid5.position.y=worldWidth/4,grid5.position.z=worldDepth/2,grid5.material.opacity=.1,floor.position.set(worldWidth/2,0,worldDepth/2),boxGeometry=new THREE.BoxGeometry(10,10,10);var posnegWind=mathRand()>.5?-1:1,windDirectionVal=window.$generativeTraits.windDirection?new THREE.VeM
ctor3(posnegWind*mathRand()*.1,0,0):new THREE.Vector3(0,0,posnegWind*mathRand()*.1),boxMaterial=new THREE.MeshLambertMaterial({side:THREE.FrontSide}),instanceBoxMaterial=new THREE.MeshLambertMaterial({side:THREE.FrontSide});camera.updateMatrix();var firstUnlock=!0;function unlock(){firstUnlock&&(firstUnlock=!1),camera.updateProjectionMatrix()}function animate(){requestAnimationFrame(animate),renderer.render(scene,camera),time=performance.now(),water&&(water.position.y<=waterBasePosition-10&&(tideComeingIn=!0),waterM
.position.y>=waterBasePosition+10&&(tideComeingIn=!1),tideComeingIn?water.position.lerp(new THREE.Vector3(water.position.x,water.position.y+waterSpeed,water.position.x),.05):water.position.lerp(new THREE.Vector3(water.position.x,water.position.y-waterSpeed,water.position.x),.05));var e=new THREE.Vector2;if(!0===controls.isLocked||gameActive){doFloorUpdate&&(floor.geometry.attributes.position.needsUpdate=!0,floor.updateMatrix(),floorGeometry.attributes.position.needsUpdate=!0,floorGeometry.computeVertexNormals(),doFM
loorUpdate=!1),frame_count+=1,camera.updateMatrix(),delta=(time-prevTime)/1e3,velocity.x-=10*velocity.x*delta,velocity.z-=10*velocity.z*delta,velocity.z-=10*velocity.z*delta,direction.z=Number(moveForward)-Number(moveBackward),direction.x=Number(moveRight)-Number(moveLeft),direction.y=Number(moveUp)-Number(moveDown),direction.normalize(),(moveForward||moveBackward)&&(velocityzcalc=direction.z*movementSpeed*delta,velocity.z-=velocityzcalc),(moveLeft||moveRight)&&(velocityxcalc=direction.x*movementSpeed*delta,velocitM
y.x-=velocityxcalc),controls.moveRight(-velocity.x*delta),controls.moveForward(-velocity.z*delta),controls.getObject().position.y+=velocity.y*delta;var o=Math.round(controls.getObject().position.x),t=Math.round(controls.getObject().position.z),r=height_map[[o,t]]-175;fraycaster.setFromCamera(e,camera),raycaster.ray.origin.copy(controls.getObject().position),raycaster.ray.origin.y-=7,intersections=raycaster.intersectObjects(objects,!1),onObject=!1,controls.getObject().position.y<r+25&&(velocity.y=0,controls.getObjecM
t().position.y=r+25,onObject=!0),intersections&&intersections.length>0&&intersections.every(function(e){if(e.object.uuid!=floor.uuid)return onObject=!0,!1}),!0===onObject&&(velocity.y=Math.max(0,velocity.y),canJump=!0),r&&r>=controls.getObject().position.y&&camera.position.lerp(new THREE.Vector3(controls.getObject().position.x,r,controls.getObject().position.z),.1),onObject||(velocity.y-=180*delta),o>worldWidth-5&&(controls.getObject().position.x=worldWidth-5),t>worldDepth-5&&(controls.getObject().position.z=worldDM
epth-5),o<5&&(controls.getObject().position.x=5),t<5&&(controls.getObject().position.z=5)}if(prevTime=time,renderer.render(scene,camera),camera.updateMatrixWorld(),lerpColors&&lerpColors&&lerpColors.length>=objects.length)for(var a=0;a<objects.length;a++)objects[a].uuid!=floor.uuid&&objects[a].material.color.lerp(lerpColors[a],.01);if(objects){for(var a=0;a<objects.length;a++)if(objects[a].uuid!=floor.uuid){var n=new THREE.Vector3().addVectors(windDirectionVal,new THREE.Vector3(-.05+.1*mathRand(),0,-.05+.1*mathRandM
()));objects[a].position.lerp(objects[a].position.add(n),.1),objects[a].position.x>worldWidth&&(objects[a].position.x=0),objects[a].position.x<0&&(objects[a].position.x=worldWidth),objects[a].position.z>worldDepth&&(objects[a].position.z=0),objects[a].position.z<0&&(objects[a].position.z=worldDepth);var o=Math.round(objects[a].position.x),t=Math.round(objects[a].position.z),r=height_map[[o,t]]-175;r&&objects[a].position<r&&objects[a].position.lerp(new THREE.Vector3(objects[a].position.x,r+objects[a].userData.heightM
Diff,objects[a].position.z),.1)}}floor.visible=!0}function startGame(){if(!isMobile){if(iframe=document.getElementsByTagName("iframe"),console.log("What iframes were foudn?",iframe),iframe&&iframe.length>0){var e=(iframe=iframe[0])[0];console.log("do we got an iframe?",e),console.log("Foudn the iframe"),e.sandbox="allow-scripts allow-same-origin allow-pointer-lock"}try{controls.lock(),gameActive=!0,unlock()}catch{instructions.style.display="none",camera.position.y=250}}}animate(),document.getElementById("start_gameM
").addEventListener("click",function(){startGame()});let blocker=document.getElementById("blocker"),instructions=document.getElementById("instructions");controls.addEventListener("lock",function(){unlock(),camera.updateProjectionMatrix(),instructions.style.display="none",blocker.style.display="none",document.getElementById("crosshair").style.display="block",document.getElementById("crosshair").style.zIndex=1e5,gameActive=!0}),controls.addEventListener("unlock",function(){blocker.style.display="block",instructions.sM
tyle.display="",document.getElementById("crosshair").style.display="none",gameActive=!1}),scene.add(controls.getObject());let onKeyDown=function(e){switch(e.code){case"ArrowUp":case"KeyW":moveForward=!0;break;case"ArrowLeft":case"KeyA":moveLeft=!0;break;case"ArrowDown":case"KeyS":moveBackward=!0;break;case"ArrowRight":case"KeyD":moveRight=!0;break;case"KeyG":gravity=!gravity;break;case"Space":!0===canJump&&(velocity.y+=125),canJump=!1;break;case"Enter":controls.isLocked||(controls.lock(),gameActive=!0);case"ShiftLeM
ft":case"Control":movementSpeed=1500;break;case"KeyC":copyColor()}},onKeyUp=function(e){switch(e.code){case"ArrowUp":case"KeyW":moveForward=!1;break;case"ArrowLeft":case"KeyA":moveLeft=!1;break;case"ArrowDown":case"KeyS":moveBackward=!1;break;case"ArrowRight":case"KeyD":moveRight=!1;break;case"ShiftLeft":movementSpeed=400}};document.addEventListener("keydown",onKeyDown),document.addEventListener("keyup",onKeyUp);for(let i=0;i<0;i++){let t=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0,vertexColors:!0M
});t.color.HSL(.2*mathRand()+.5,.75,.25*mathRand()+.75);let r=new THREE.Mesh(boxGeometry,t);r.position.x=20*Math.floor(20*mathRand()-10),r.position.y=20*Math.floor(20*mathRand())+10,r.position.z=20*Math.floor(20*mathRand()-10),scene.add(r)}var points=[],material=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});for(let j=0;j<25;j++){var a=Math.floor(4+6*mathRand()),n=mathRand()*(100*mathRand());for(let s=0;s<a;s++)points.push(new THREE.Vector3(50+mathRand()*n,-50+mathRand()*n,mathRand()*n));var c,d,$=M
height_map[[Math.round((pos=[worldWidth*mathRand(),0,worldDepth*mathRand()])[0]),Math.round(pos[2])]]-175,p=$+200*mathRand();pos[1]=p;var _=p-$,m=new THREE.ConvexGeometry(points);let g=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});g.color.setHSL(.2*mathRand()+.5,.75,.25*mathRand()+.75),(mesh=new THREE.Mesh(m,g)).position.x=pos[0],mesh.position.y=pos[1],mesh.position.z=pos[2],mesh.userData.heightDiff=_,scene.add(mesh),objects.push(mesh),finalMesh=mesh,finalMaterial=g}var interval=setInterval(functiM
on(){for(var e=0;e<objects.length;e++){var o=new THREE.Color;o.setHex(16777215*mathRand()),lerpColors.length<objects.length?lerpColors.push(o):lerpColors[e]=o}},2e3);let waterGeometry=new THREE.PlaneGeometry(worldWidth,worldDepth);function triggerDeleteTerrain(){if((fintersections=fraycaster.intersectObjects(objects,!1))&&fintersections.length>0){for(var e of fintersections)if(e.object.uuid!=water.uuid&&e.object.uuid!=floor.uuid){o=e;break}if(o){var o,t=o.object;scene.remove(t),t.geometry.dispose(),t.material.dispoM
se()}}}function triggerMoveTerrain(){if((fintersections=fraycaster.intersectObjects(objects,!1))&&fintersections.length>0){for(var e of fintersections)if(e.object.uuid!=water.uuid){o=e;break}if(o){floor.geometry.attributes.position.array,floor.geometry.attributes.position,o.point.x,o.point.z,new THREE.Vector2,new THREE.Vector3;var o,t,r,a,n=[],s=Math.floor(4+6*mathRand()),c=mathRand()*(200*mathRand());for(let d=0;d<s;d++)n.push(new THREE.Vector3(mathRand()*c,mathRand()*c,mathRand()*c));height_map[[Math.round((t=[o.M
point.x,o.point.y,o.point.z])[0]),Math.round(t[2])]];var $=new THREE.ConvexGeometry(n);let p=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});p.color.setHSL(.2*mathRand()+.5,.75,.25*mathRand()+.75),r=new THREE.Mesh($,p);var _=new THREE.Box3().setFromObject(r).getSize();r.position.x=t[0]-_.x,r.position.y=t[1]+_.y+1,r.position.z=t[2]-_.z,scene.add(r),objects.push(r)}}}function mobileCheck(){var e;let o=!1;return e=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantM
go|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bM
umb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w]M
)|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|M
sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(o=!0),console.log("ismobile? "+o),o}water=new e(waterGeometry,{textureWidth:512,textureHeight:512,waterNormals:new THREE.TextureLoadM
er().load("https://raw.githubusercontent.com/IanUme/ThreejsTest/master/textures/waternormals.jpg",function(e){e.wrapS=e.wrapT=THREE.RepeatWrapping,scene.add(water),loadingDone()}),sunDirection:new THREE.Vector3,sunColor:waterColor,waterColor:waterColor,distortionScale:3.7,fog:void 0!==scene.fog}),window.water=water,water.position.y=waterBasePosition,water.position.x=worldWidth/2,water.position.z=worldDepth/2,water.rotation.x=-Math.PI/2,document.addEventListener("click",function(e){(!0===controls.isLocked||gameActivM
e)&&(0==e.button?triggerMoveTerrain():triggerDeleteTerrain())});var mobileWarning=document.getElementById("mobile-warning");function loadingDone(){instructions.style.display="",loading.style.display="none"}document,isMobile&&(instructions.classList.add("d-none"),mobileWarning.classList.remove("d-none")),document.getElementById("hide").onclick=function(){instructions.style.display="none"},setTimeout(function(){console.log("hide the display after 10 seconds of inactivity. "),instructions.style.display="none"},1e4),wiMU
ndow.onload=function(){if(iframe=document.getElementsByTagName("iframe"),console.log("What iframes were foudn?",iframe),iframe&&iframe.length>0){var e=(iframe=iframe[0])[0];console.log("do we got an iframe?",e),console.log("Foudn the iframe"),e.sandbox="allow-scripts allow-same-origin allow-pointer-lock"}};
text/html;charset=utf-8
	<title>Canvas Animation</title>
			overflow: hidden;
			background-color: #2c343f;
	<canvas id="canvas"></canvas>
        var c = document.getElementById("canvas");
var ctx = c.getContext("2d");
    var box = c.getBoundingClientRect();
c.width = box.width;
    c.height = box.height;
var colors = ["#f5c156", "#e6616b", "#5cd3ad"];
function drawLight() {
    ctx.beginPath();
    ctx.arc(light.x, light.y, 1000, 0, 2 * Math.PI);
    var gradient = ctx.createRadialGradient(light.x, light.y, 0, light.x, light.y, 1000);
    gradient.addColorStop(0, "#3b4654");
    gradient.addColorStop(1, "#2c343f");
    ctx.fillStyle = gradient;
    ctx.beginPath();
    ctx.arc(light.x, lM
ight.y, 20, 0, 2 * Math.PI);
    gradient = ctx.createRadialGradient(light.x, light.y, 0, light.x, light.y, 5);
    gradient.addColorStop(0, "#fff");
    gradient.addColorStop(1, "#3b4654");
    ctx.fillStyle = gradient;
    this.half_size = Math.floor((Math.random() * 50) + 1);
    this.x = Math.floor((Math.random() * c.width) + 1);
    this.y = Math.floor((Math.random() * c.height) + 1);
    this.r = Math.random() * Math.PI;
    this.shadow_length = 2000;
.color = colors[Math.floor((Math.random() * colors.length))];
    this.getDots = function() {
        var full = (Math.PI * 2) / 4;
            x: this.x + this.half_size * Math.sin(this.r),
            y: this.y + this.half_size * Math.cos(this.r)
            x: this.x + this.half_size * Math.sin(this.r + full),
            y: this.y + this.half_size * Math.cos(this.r + full)
            x: this.x + this.half_size M
* Math.sin(this.r + full * 2),
            y: this.y + this.half_size * Math.cos(this.r + full * 2)
            x: this.x + this.half_size * Math.sin(this.r + full * 3),
            y: this.y + this.half_size * Math.cos(this.r + full * 3)
    this.rotate = function() {
        var speed = (60 - this.half_size) / 20;
        this.r += speed * 0.00M
        this.x += speed;
        this.y += speed;
    this.draw = function() {
        var dots = this.getDots();
        ctx.beginPath();
        ctx.moveTo(dots.p1.x, dots.p1.y);
        ctx.lineTo(dots.p2.x, dots.p2.y);
        ctx.lineTo(dots.p3.x, dots.p3.y);
        ctx.lineTo(dots.p4.x, dots.p4.y);
        ctx.fillStyle = this.color;
        if (this.y - this.half_size > c.height) {
            this.y -= c.height + 100;
        if (this.x - this.halfM
            this.x -= c.width + 100;
    this.drawShadow = function() {
        var dots = this.getDots();
        var angles = [];
        var points = [];
        for (dot in dots) {
            var angle = Math.atan2(light.y - dots[dot].y, light.x - dots[dot].x);
            var endX = dots[dot].x + this.shadow_length * Math.sin(-angle - Math.PI / 2);
            var endY = dots[dot].y + this.shadow_length * Math.cos(-angle - Math.PI / 2);
            angles.push(M
            points.push({
                endX: endX,
                endY: endY,
                startX: dots[dot].x,
                startY: dots[dot].y
        for (var i = points.length - 1; i >= 0; i--) {
            var n = i == 3 ? 0 : i + 1;
            ctx.beginPath();
            ctx.moveTo(points[i].startX, points[i].startY);
            ctx.lineTo(points[n].startX, points[n].startY);
            ctx.lineTo(points[n].endX, points[n].endY);
x.lineTo(points[i].endX, points[i].endY);
            ctx.fillStyle = "#2c343f";
            ctx.fill();
    ctx.clearRect(0, 0, c.width, c.height);
    for (var i = 0; i < boxes.length; i++) {
        boxes[i].rotate();
        boxes[i].drawShadow();
    for (var i = 0; i < boxes.length; i++) {
        collisionDetection(i)
        boxes[i].draw();
    requestAnimationFrame(draw);
while (boxes.length < 14) {
    boxes.push(new Box());
window.onresize = resize;
c.onmousemove = function(e) {
    light.x = e.offsetX == undefined ? e.layerX : e.offsetX;
    light.y = e.offsetY == undefined ? e.layerY : e.offsetY;
function collisionDetection(b){
	for (var i = boxes.length - 1; i >= 0; i--) {
			var dx = (boxes[b].x + boxes[b].half_size) - (boxes[i].x + boxes[i].half_size);
			var dy = (boxes[b].y + boxes[b].half_size) - (boxes[i].y + boxes[i].half_size);
var d = Math.sqrt(dx * dx + dy * dy);
			if (d < boxes[b].half_size + boxes[i].half_size) {
			    boxes[b].half_size = boxes[b].half_size > 1 ? boxes[b].half_size-=1 : 1;
			    boxes[i].half_size = boxes[i].half_size > 1 ? boxes[i].half_size-=1 : 1;
text/plain;charset=utf-8
  "name": "zjd.sats"
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color='green'>---</font>
<font color='Magenta'> (</font><font color=Magenta size=8>&#8383;</font><font color=Magenta>,</font><font color=Magenta size=8>&#8383;</font><font color=Magenta>) </font>
<font color=#32CD32>(\+/)</font>
<font color=blue>-"-</font>
</center></font></pre></body></html>
text/plain;charset=utf-8
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Dance with BTC by SMLDMS</title>
    <script sandbox="allow-scripts" type="text/javascript"
        src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.6.0/p5.min.js"></script>
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "01234M
56789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> M
19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        let mathRand = sfc32(...cyrb128(seed));
            position: fixed;
            right: 0;
            bottom: 0;
            left: 0;
            color: rgb(255, 255, 255);
            background-color: rgb(0, 0, 0);
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0;
            padding: 0;
            font-size: 0.8em;
            font-family: Impact, 'Arial Narrow Bold', sans-serif;
        object-fit: contain;
            max-height: 100%;
            max-width: 100%;
        #fullScreen {
            display: flex;
            position: fixed;
            right: 0;
            bottom: 0;
            left: 0;
            justify-content: center;
            align-items: center;
        #fullScreen canvas {
            object-fit: contain;
            max-height: 100%;
            max-width: 100%;
           mix-blend-mode: soft-light;
            color: rgb(127);
            opacity: 0.75;
            width: auto;
            height: auto;
            position: fixed;
            text-align: center;
            justify-content: center;
            align-items: center;
            padding: 10%;
        #progress h1 {
            font-size: 10.75em;
            /* display: block; */
            margin: 0%;
            padding: 0%
        #progress h3 {
            font-size: 5.75em;
            /* display: block; */
            margin: 0%;
            padding: 0%
    <script type="text/javascript">
        const rand = mathRand();
        let scl = 5;
        // let shapeName = "";
        /////FEATURES
        function clr(rand) {
            if (rand > 0.5) {
                return 250
            } else {
                return 10
        let shaper M
            n: mathRand(),
            name: "",
            val: "LINES",
        if (shaper.n < 0.25) {
            shaper.name = "Lines"
            shaper.val = "LINES"
        else if (shaper.n < 0.5) {
            shaper.name = "Points"
            shaper.val = "POINTS"
            shaper.name = "Curves"
            shaper.val = ""
        window.$generativeTraits = {
            "BG Color": clr(rand),
            "Base": shaperM
        //////////////////////
        let myTitle = "Dance with BTC";
        console.log(myTitle + " | smldms 2023.02")
        console.log(window.$generativeTraits)
        let pX = mathRand() * 360
        let pY = mathRand() * 360
        let pZ = mathRand() * 360
        let xoff = mathRand();
        let yoff = mathRand();
        let zoff = mathRand();
        let pointX = 0;
        let pointY = 0;
        let globalData;
    let url = 'https://api.blockchain.info/stats';
        function setup() {
            randomSeed(seed);
            noiseSeed(seed);
            loadJSON(url, gotData)
            setAttributes('antialias', true);
            pixelDensity(2)
            cnv = createCanvas(windowWidth, windowHeight, WEBGL);
            cnv.parent('fullScreen');
            angleMode(DEGREES)
            rectMode(CENTER)
            background(clr(rand))
        function draw() {
            rotateX(M
            rotateY(pY)
            rotateZ(pZ)
            noiseX = map(noise(xoff), 0, 1, -width, width)
            noiseY = map(noise(yoff), 0, 1, 0, -height, height)
            if (globalData) {
                rotateX(millis() * 0.01)
                rotateY(millis() * 0.01)
                rotateZ(millis() * 0.01)
                btcPrice = round(globalData.market_price_usd);
                totalBTC = round(globalData.totalbc);
                tradeVol = round(globalData.trade_volume_btc);
                mapVol = map(constrain(tradeVol, 1000, 15000), 1000, 15000, 0.05, 0.33)
                blockS = globalData.blocks_size / 1000000000;
                mapBlock = map(blockS, 0, 10000, 0.00001, 0.001);
                mapPrice = map(constrain(btcPrice, 1000, 500000), 10000, 500000, 50, 200)
                let nbrLines = mapPrice;
                for (let i = 0; i < nbrLines; i = i + scl) {
                    let clr = map(i, 0, nbrLines, 0, 255);
                    let v = map(noise(frameCM
ount), 0, 1, 0, 255);
                    let b = map(noise(millis()), 0, 1, 0, 255);
                    stroke(clr);
                    strokeWeight(map(i, 0, nbrLines, 0, 0.5))
                    push();
                    noFill()
                    beginShape(eval(shaper.val));
                    vertex(pointX, pointY);
                    bezierVertex(x1(t + i), y1(t + i), y1(t + i) / 2, x1(t + i) * 2, y1(t + i), x1(t + i));
                    bezierVertex(y1(t + i), x1(t + i), x1(t + i) / 2, yM
2(t + i) * 2, noiseX, noiseY);
                    bezierVertex(x1(t - i), y1(t - i), y1(t - i) / 2, x1(t - i) * 2, y1(t - i), x1(t - i));
                    vertex(pointX, pointY);
                    endShape();
                    t += mapVol;
                    pop();
                xoff += mapBlock;
                yoff += mapBlock;
        function x1(t) {
            return cos(t / 2) * sin(t / 1) * width / 3;
        function y1(t) {M
            return cos(t / 3) * width / 3 + sin(t / 10) * width / 2;
        function x2(t) {
            return cos(t * 3) * width / 3;
        function y2(t) {
            return cos(t / 2) * width / 2;
        //////////////////KEYS//////////////
        function keyTyped() {
            if (keyCode === 83) { // if "s" is pressed
                save(myTitle + '.png');
            else if (keyCode === 76) { //L for loop
                loop();
            else if (keyCode === 78) { //N for noLoop
                noLoop();
            else if (keyCode === 72) { //H to hide infos
                progress('<h1></h1>');
                progressClear();
            else if (keyCode === 82) { //R to reveal infos
                progress('<h1>$ ' + btcPrice) + '</h1>';
                progressShow()
            ///////////////INTERVAL CLEAR
            else if (keyCode === 97 || keyCode == 49)M
                clearTimeout(tInter);
                tInter = setInterval(autoClear, 1000);
            else if (keyCode === 98 || keyCode == 50) {  //2= 3SEC
                clearTimeout(tInter);
                tInter = setInterval(autoClear, 3000);
            else if (keyCode === 99 || keyCode == 51) { //3 = 10SEC
                clearTimeout(tInter);
                tInter = setInterval(autoClear, 10000);
            else if (keyCode === M
100 || keyCode == 52) { //4= 30SEC
                clearTimeout(tInter);
                tInter = setInterval(autoClear, 30000);
            else if (keyCode === 101 || keyCode == 53) { //5= ONE MINUTE
                clearTimeout(tInter);
                tInter = setInterval(autoClear, 60000);
            else if (keyCode === 102 || keyCode == 54) { //6 = 1 HOUR
                clearTimeout(tInter);
                tInter = setInterval(autoClear, 60000 * 60);
            else if (keyCode === 96 || keyCode == 48) { //0 = NO CLEAR
                clearTimeout(tInter);
        function mousePressed() {
            clear();
            background(clr(rand))
            pointX = map(mouseX, 0, width, -width / 2, width / 2);
            pointY = map(mouseY, 0, height, -height / 2, height / 2);
        function mathRandBetween(a, b) {
            if (!b) {
                return mathRand() * a
eturn mathRand() * (b - a) + a
        function askData() {
            loadJSON(url, gotData);
            console.log(btcPrice)
        function gotData(data) {
            globalData = data;
            setTimeout(askData, 30000);
        function autoClear() {
            background(clr(rand))
        function windowResized() {
            resizeCanvas(windowWidth, windowHeight);
            background(clr(raM
        /////////////PROGRESS
        async function progress(message) {
            document.body.style.cursor = 'crosshair';
            document.getElementById("progress").innerHTML = message;
            await new Promise((fn => setTimeout(fn, 1)));
        async function progressClear() {
            document.body.style.cursor = 'default';
            document.getElementById("progress").style.display = 'none';
            await new Promise((fn => setTimeout(fn, 1)));
        async function progressShow() {
            document.body.style.cursor = 'default';
            document.getElementById("progress").style.display = 'block';
            await new Promise((fn => setTimeout(fn, 1)));
    <div id="fullScreen">
        <div id="progress">
text/plain;charset=utf-8
  "name": "qbit.sats"
text/plain;charset=utf-8
(:3=<9387@H\N@DWE78PmQW_bghg>Mqypdx\egc
/cB8Bcccccccccccccccccccccccccccccccccccccccccccccccccc
text/html;charset=utf-8
<!doctype html><meta http-equiv=Content-Type content="text/html; charset=UTF-8"><link rel=icon href="data:;base64,iVBORw0KGgo="><style>:root{--light_gray:#e7e7e7;--text_color:rgb(58, 58, 58);--logo_gray:rgb(121, 121, 121);--background_color:white;--logo_color:#ff9500;--sub_color:#fdd000;--hyperlink_text:#1a73e8}*{margin:0;padding:0}body,html{font-size:16px;background-color:var(--background_color);font-family:Tahoma,sans-serif}input{font-size:20px;outline:0}.orange{background-color:var(--logo_color)!important;borderM
:1px solid #db8000!important}.title_font{font-size:20px}.content_container{position:relative;margin-left:10px;width:calc(100% - 20px);overflow:hidden}.logo_container{position:relative;font-size:34px;font-weight:600;width:512px;text-align:left;color:var(--logo_color);line-height:30px;text-shadow:-1px 0 #000,0 1px #000,1px 0 #000,0 -1px #000}.span1{color:var(--logo_gray)}.span3{color:#fff}.web_container{position:relative;padding-top:20px;padding-bottom:20px;text-align:center;color:var(--text_color)}.subitle_logo{posiM
tion:absolute;bottom:-7px;width:100%;color:var(--sub_color);text-align:center;font-size:16px}.cid_value{margin-top:20px;color:var(--text_color);width:100%}.attributes_table{margin-top:20px;color:var(--text_color);width:100%;background-color:var(--light_gray)}table,td,th{border:1px solid #ccc;border-collapse:collapse}td,th,tr{padding:10px;height:30px}th.table_type_column{width:150px}th.table_name_column{width:350px}.navigation_container{margin-top:20px;width:100%;height:50px}.extraord_indicator{display:inline-block;M
color:var(--text_color);font-size:25px;width:160px}.input_container{display:inline-block;width:80px;height:50px;font-size:20px;background-color:var(--light_gray);border:1px solid #ccc;color:var(--text_color);text-align:center;border-radius:0}.search_button{display:inline-block;width:50px;height:50px;background-color:#48b9ff;border:1px solid #006fb3;vertical-align:bottom;color:#fff;line-height:58px;font-size:50px;text-align:center;cursor:pointer;font-family:"Courier New",monospace}.navigation_button{display:inline-bM
lock;width:50px;height:50px;background-color:var(--light_gray);border:1px solid #ccc;color:var(--text_color);line-height:43px;font-size:40px;text-align:center;float:right;margin-left:10px;cursor:pointer;font-family:"Courier New",monospace}.attributes_label{color:var(--text_color);margin-top:40px}.footer_container{color:var(--text_color);margin-bottom:20px;margin-top:40px}a{color:var(--hyperlink_text);cursor:pointer}u{cursor:pointer}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearanceM
:none;margin:0}input[type=number]{-moz-appearance:textfield}img{width:100%;height:100%}a{font-size:14px}.extraord_container{overflow:hidden;width:512px;height:512px;max-width:512px;position:relative}.img_container{overflow:hidden;width:512px;height:512px;max-width:512px;image-rendering:pixelated;position:absolute;top:0;left:0;z-index:9}.box-container{width:100%;margin:0 auto;display:flex}.box50-1{padding:15px 30px;width:50%;float:right}.box50-2{padding:15px 30px;width:50%;float:left}.box-contents{max-width:512px}.bM
ox50-1 .box-contents{float:right}.box-contents.description{text-align:right;color:#797979}select{width:20em;height:3em;padding:0 4em 0 1em;cursor:pointer;background-color:var(--light_gray);border:1px solid #ccc}@media only screen and (max-width:1024px){.box-container{display:inline-block}.box50-1 .box-contents{float:left}[class*=box50]{width:100%;margin-left:calc(50% - 300px);float:none}}@media only screen and (max-width:600px){[class*=box50]{margin-left:calc(50% - 280px);padding:0}}</style><div class=content_contaM
iner><div class=box-container><div class=box50-1><div class=box-contents><div class=logo_container><div class=span1>EXTRA</div><div class=span2>ORDINAL</div><div class=span3>PUNKS</div></div></div></div><div class=box50-2><div class="box-contents description"><div>Collection Ordinal (2/2)</div><div>Punks 5001 to 10000</div></div></div></div><div class=box-container><div class=box50-1><div class=box-contents><div class=extraord_container><div class=img_container></div></div><div class=navigation_container><div classM
=extraord_indicator><b class=punk_id></b></div><input class="input_container input_object" placeholder=ID type=number min=1 max=10000><div class=search_button onclick=search()>
</div><div class="navigation_button increment_button" onclick=nextPunk()>
</div><div class="navigation_button decrement_button" onclick=prevPunk()>
</div></div></div></div><div class=box50-2><div class=box-contents><div class=attributes_label><b class=title_font>Attributes</b><br></div><table class=attributes_table><tr><th class=table_M
type_column>Type<th class=table_name_column>Name<th class=table_name_column>Qty</table><div class=attributes_label><b class=title_font>CID</b><div class=cid_value></div></div></div><div class=footer_container><a class=link_metadata target=_blank>Extraordinal metadata</a> | <a class=link_extraord target=_blank>Extraordinal link</a> | <a class=link_extraord target=_blank href=?metadata>Collection metadata</a></div></div></div><div class=web_container></div></div><canvas id=canvas width=24 height=24 style=display:noneM
></canvas><script>const START_PUNK=5001,END_PUNK=1e4,queryString=window.location.search,urlParams=new URLSearchParams(queryString);let punkParam=urlParams.get("punk");punk=punkParam?parseInt(punkParam):START_PUNK;var canvas=document.getElementById("canvas"),ctx=canvas.getContext("2d");let input_object=document.querySelector(".input_object"),img_container=document.querySelector(".img_container"),punk_id=document.querySelector(".punk_id"),cid_value=document.querySelector(".cid_value"),attributes_table=document.querySM
elector(".attributes_table"),link_metadata=document.querySelector(".link_metadata"),link_extraord=document.querySelector(".link_extraord"),firstTime=!0;const metadata=urlParams.get("metadata");function initialize(){document.title=COLLECTION_DATA.collection.collectionName,document.querySelector(".web_container").insertAdjacentHTML("beforeend",`<b>${COLLECTION_DATA.collection.collectionName}</b>\n          <div><a target="_blank" href="${COLLECTION_DATA.collection.collectionExternalUrl}">${COLLECTION_DATA.collection.M
collectionExternalUrl.replace("https://","")}</a></div>`),firstTime=!1}window.onload=null!==metadata?punkParam?function(){document.body.innerHTML="",document.querySelector(":root").style.setProperty("--background_color","#ffffff");let Q={name:`#${punk}`,description:`Extraordinal Punk #${punk}`,exernal_url:`${COLLECTION_DATA.collection.collectionExternalUrl}/punk/${punk}`,cid:CIDS[punk-START_PUNK],attributes:[]};const m=ALL_PUNK_TRAITS[punk-START_PUNK];for(var e=0;e<m.length;e++){const a=ALL_TRAITS[m[e]];Q.attributeM
s.push({trait_type:a[0],value:a[1]})}const a=document.createElement("pre");a.innerText=JSON.stringify(Q,null,2),document.body.appendChild(a)}:function(){document.body.innerHTML="",document.querySelector(":root").style.setProperty("--background_color","#ffffff");const Q=document.createElement("pre");Q.innerText=JSON.stringify(COLLECTION_DATA,null,2),document.body.appendChild(Q)}:function(){firstTime&&initialize(),drawPunk(punk)};const BLACK_POINTS=[[9,7],[10,7],[11,7],[12,7],[13,7],[8,8],[9,8],[13,8],[14,8],[8,9],[9M
,9],[13,9],[14,9],[8,10],[9,10],[13,10],[14,10],[12,11],[13,11],[14,11],[11,12],[12,12],[11,13],[12,13],[11,15],[12,15],[11,16],[12,16]];function isBlackPoint(Q,m){for(let e=0;e<BLACK_POINTS.length;e++)if(BLACK_POINTS[e][0]===Q&&BLACK_POINTS[e][1]===m)return!0;return!1}function randomFloat(Q,m){return(Math.random()*(m-Q)+Q).toFixed(4)}function randomInt(Q,m){return Q=Math.ceil(Q),m=Math.floor(m),Math.floor(Math.random()*(m-Q)+Q)}function drawPixel(Q,m,e){ctx.fillStyle=e,ctx.fillRect(Q,m,1,1)}function drawPunk(Q){puM
nk_id.innerText=`#${Q}`,cid_value.innerHTML=CIDS[Q-START_PUNK];const m=ALL_PUNK_TRAITS[Q-START_PUNK];Q-=1,Math.trunc(Q/100);let e=[];for(var a=0;a<24;a++)e.push([randomInt(8,56),randomInt(55,66),randomInt(89,100)]);e=e.sort(((Q,m)=>Q[0]>m[0]?-1:Q[0]<m[0]?1:Q[2]>m[2]?-1:Q[2]<m[2]?1:0));for(let Q=0;Q<576;Q++){let m=Q%24,a=Math.trunc(Q/24),R=null;R=isBlackPoint(m,a)?[0,0,0]:e[23-a],drawPixel(m,a,"hsl("+R[0]+", "+R[2]+"%, "+R[1]+"%)")}let R=new Image;R.src=canvas.toDataURL(),img_container.innerHTML="",img_container.appM
endChild(R),attributes_table.innerHTML='\n          <tr>\n            <th class="table_type_column">Type</th>\n            <th class="table_name_column">Name</th>\n            <th class="table_name_column">Qty</th>\n          </tr>';for(a=0;a<m.length;a++){const Q=ALL_TRAITS[m[a]];let e=document.createElement("tr");e.innerHTML=`\n                <td>${Q[0]}</td>\n                <td>${Q[1]}</td>\n                <td>${QTY[m[a]]}</td>\n            `,attributes_table.appendChild(e)}link_extraord.href=`${COLLECTION_DAM
TA.collection.collectionExternalUrl}/punk/${Q+1}`,link_metadata.href=`?punk=${Q+1}&metadata`}function firstPunk(){punk=START_PUNK,drawPunk(punk)}function nextPunk(){punk<END_PUNK&&(punk++,drawPunk(punk))}function prevPunk(){punk>START_PUNK&&(punk--,drawPunk(punk))}function search(){let Q=parseInt(input_object.value);Q>END_PUNK?Q=END_PUNK:Q<START_PUNK&&(Q=START_PUNK),Q>=START_PUNK&&Q<=END_PUNK&&(punk=Q,input_object.value=Q,drawPunk(punk))}const ALL_TRAITS=[["Ear","Earring"],["Eyes","3D Glasses"],["Eyes","3D Glasses M
Black & White"],["Eyes","Big Shades"],["Eyes","Blue Eyeshadow"],["Eyes","Classic Shades"],["Eyes","Clown Eyes Blue"],["Eyes","Clown Eyes Green"],["Eyes","Eye Mask"],["Eyes","Eye Patch"],["Eyes","Green Eye Shadow"],["Eyes","Heart Shades"],["Eyes","Laser Eyes"],["Eyes","Nerd Glasses"],["Eyes","Regular Shades"],["Eyes","VR"],["Face","Mole"],["Face","Rosy Cheeks"],["Face","Spots"],["Hair","Bandana"],["Hair","Beanie"],["Hair","Beanie Black & White"],["Hair","Birthday Hat"],["Hair","Blonde Bob"],["Hair","Blonde Short"],[M
"Hair","Bow"],["Hair","Burger King Cap"],["Hair","Cap"],["Hair","Cap Forward"],["Hair","Cap Forward Black & White"],["Hair","Clown Hair Blue"],["Hair","Clown Hair Green"],["Hair","Cowboy Hat"],["Hair","Cowboy Hat Black & White"],["Hair","Crazy Hair"],["Hair","Crown"],["Hair","Dark Hair"],["Hair","Demon Horns"],["Hair","Do-Rag"],["Hair","Fedora"],["Hair","Fedora Black & White"],["Hair","Flowers"],["Hair","Frumpy Hair"],["Hair","Hoodie"],["Hair","Jester Hat"],["Hair","Knitted Cap"],["Hair","Messy Hair"],["Hair","PiloM
t Helmet"],["Hair","Police Cap Black & White"],["Hair","Red Cap"],["Hair","Sombrero"],["Hair","Tiara"],["Hair","Top Hat"],["Hair","Top Hat Black & White"],["Hair","Wild White Hair"],["Mouth","Big Beard"],["Mouth","Black Lipstick"],["Mouth","Bubble Gum"],["Mouth","Buck Teeth"],["Mouth","Chinstrap"],["Mouth","Cigar"],["Mouth","Cigarette"],["Mouth","Frown"],["Mouth","Goat"],["Mouth","Medical Mask"],["Mouth","Mustache"],["Mouth","Pipe"],["Mouth","Smile"],["Neck","Choker"],["Neck","Gold Chain"],["Neck","Silver Chain"],[M
"Nose","Clown Nose"],["Type","Female 1"],["Type","Female 2"],["Type","Female 3"],["Type","Female 4"],["Type","Female Ape"],["Type","Female Blue"],["Type","Female Demon"],["Type","Female Gold"],["Type","Female Mummy"],["Type","Female Orange"],["Type","Female Orc"],["Type","Female Pink Alien"],["Type","Female Purple"],["Type","Female Purple Alien"],["Type","Female Robot"],["Type","Female Skeleton"],["Type","Female Vampire"],["Type","Female Zombie"],["Type","Male 1"],["Type","Male 2"],["Type","Male 3"],["Type","Male 4M
"],["Type","Male Alien Ape"],["Type","Male Alien Green"],["Type","Male Blue"],["Type","Male Blue Ape"],["Type","Male Demon"],["Type","Male Gold"],["Type","Male Gold Alien"],["Type","Male Mummy"],["Type","Male Orange"],["Type","Male Orc"],["Type","Male Robot"],["Type","Male Skeleton"],["Type","Male Vampire"],["Type","Male Yellow Alien"],["Type","Male Yellow Ape"],["Type","Male Zombie"],["Type","Male Zombie Ape"]],ALL_PUNK_TRAITS=[[97,20,7],[93,33,62],[83,70,43,62],[96,32,55,9,0],[98,67,3],[94,50,63],[76,70,56,3],[10M
9,53,63,71],[109,50,62],[77,20,56],[109,29,5,71],[78,20,67],[96,38,3,0],[97,49,67,11,71],[91,3,0],[95,19,8],[107,49,66],[99,20],[96,37,58,9,16],[98,62,5],[97,67,16],[85,53,3],[81,68,41],[78,53,10,0],[92,3],[89,70,23],[97,53,15],[81,61,5],[105,34,62],[76,70,35,13],[92,45,62,16],[90,33,12],[98,44,9],[89,27,13],[96,20,11],[92,70,16],[83,70],[109,49],[87,70,56,0],[74,70,67,7],[92,59,7],[93,28,63,16],[89,0,71],[98,21,57,5,0],[76,70,54,60],[98,19,61,8],[73,53,60],[105,28,8],[75,61,0],[94,37,61,15],[92,34,0],[93,21,57,0],M
[98,19,70],[79,4],[97,8,71],[102,62,70],[78,53,56],[85,53],[94,57,0],[97,29,61,7],[93,49,58,5,0],[76,20,64,9],[98,1,0],[98,70,8],[91,33,5],[109,30,60],[92,33,60,9],[90,52,58],[78,17],[107,45,2],[102,37,58,14],[93,28,14],[77,41,64],[96,28,61],[96,66,3],[77,23,10,0],[75,31,61,7],[91,39,15],[77,70,38],[77,16,67],[102,67,11,0],[81,69,43],[110,37,12],[91,43,67,16],[109,28,8,0],[96,19,66,69],[79,69],[98,30,58],[97,40,61,8,71],[90,40,61],[98,60,69,12],[78,23,3],[93,37,67,1],[76,24,64],[85,70,43,9],[108,32,69],[95,53,5,0],M
[100,55,69],[96,20,58,9],[96,63,7],[98,8,0],[84,64,0],[77,28,62],[92,30,59,2,16,71],[90,1],[93,43,55],[98,19,61],[97,19,60],[94,37,59,69,16],[75,61,1],[108,63,70,6],[78,16,41,13],[76,69,60],[91,43,66,6],[83,68,16,43,7],[77,16,51,62],[90,50,69,2],[96,50,12],[108,37,70,14],[92,55,5],[102,44,63,14],[76,23,13],[94,37,5],[97,37,8],[98,46,12],[95,33,58],[91,50,61],[84,35,61],[109,62,1],[83,38,56],[84,62,8],[76,68,53,56],[107,38,5],[86,16,31],[98,19,11],[84,27,56],[76,17,62,0],[96,37,12],[91,43,57],[109,21,62],[98,61,16,7M
1],[98,33,14],[94,18],[95,43,69,5],[94,34,61],[78,69,35,64,10],[84,69,20],[83,68,47],[98,33,61,16,0],[83,68,35,66],[98,66,5],[93,67,2,71],[76,32,10],[107,64,1],[76,16,28],[95,30,69],[78,45,67,11],[76,66,13],[78,68,50],[110,70,8,0],[107,62,69],[72,68,36,67,15],[92,43,5,71],[77,62,5],[86,35,13],[94,38,11],[91,61,9,0],[109,70,8],[78,68,36,60,71],[99,58,5],[98,26,60],[110,26,15],[97,20,61],[93,38,59,11],[96,20,60,7],[98,19,58,70,3],[97,12,71],[110,21,8],[84,68,42],[91,52,67],[76,68,41],[92,21,66],[108,33,61,71],[110,43M
,64,71],[103,48,62,12],[79,16,41,60],[98,62,70],[77,50,61],[75,20,10],[100,33,67],[76,69,53,62],[95,28,63],[92,63,70,5,0],[90,33,64],[73,69,42],[96,30,14],[108,19,65,1],[96,63,16,71],[93,33,70,11],[99,37,0],[96,34,64],[92,1,0],[95,43,71],[94,61,70,8],[107,43,63,5],[90,37,66],[109,65,9,0],[98,43,1],[77,35,67],[96,32,16],[90,66,1],[94,38],[78,16,28],[91,45,55],[107,65,70],[93,29,69,2],[95,43,59],[90,33,14,0],[83,20,62],[91,48,61,5],[108,65,3],[90,38,59,0],[90,5,71],[83,53,4],[89,23,10],[95,34,15,0],[95,63,14,71],[108M
,43,62,3],[98,38,7],[95,38,58,70,11],[92,50,60,69,3],[81,4],[77,20,71],[109,21,58],[105,62,14],[97,67,15],[93,34,66],[95,49,5],[105,42,71],[90,30,61,1],[91,14,71],[72,16,60],[100,20,67],[96,28,8,71],[77,69,16,62,3],[95,15,0],[102,33,60,5],[96,53,7],[84,67,10],[93,33,65,7],[74,32,64],[109,19],[110,42,58],[95,55,6],[84,69,32,10],[84,70,42],[73,32,66,5],[83,27,13],[95,70,0],[92,30],[90,50,55],[98,34,9,0],[95,65,0],[91,3],[109,58,16,71],[75,69,43],[93,50,61,12,71],[90,34],[92,19,63,9,0],[107,69,12],[74,70,10],[73,16,41M
],[98,50,66,5],[96,46,9],[99,49,55],[93,33,8],[108,40,0],[72,32,61],[107,61,12],[98,20,62],[91,58,12],[75,27,67,4,71],[78,68,47,67],[76,23,56],[90,62,12],[78,62,7],[76,38,66],[98,50,58,14],[72,51,62],[93,50,69,6],[109,61,3],[96,34,66],[90,37,5],[99,20,61,0],[91,21,69],[109,20,5,0],[96,38,9],[93,8,16,0],[93,38,61,5],[76,53,66,5],[76,25],[77,20,15],[96,69,8],[108,29,69,71],[93,38,9],[74,16,43],[99,32,65,11],[90,50,57,3],[91,43,71],[76,16,43,13],[90,53,1],[94,39,8],[73,27,11],[107,14],[95,37,57],[72,56,10],[73,16,60,5M
],[91,21,61,5],[99,65,71],[93,65,12],[75,36],[73,42],[108,64,70,0],[95,33,66,11],[95,53,61],[72,68,41],[85,45,1],[78,38,0],[92,15,0],[110,63,14],[90,48,2],[84,69,45],[74,69,36],[110,43,3,0],[76,35,64],[107,45,16,71],[93,49,70,14,71],[110,6],[77,41,15],[93,63,11,16],[107,52,57,70,8],[98,34,65,12,16],[95,30,8],[93,33,11],[77,62,4],[84,70,45],[90,58,8],[84,69,23],[110,55,70],[98,26,8],[93,20,62,9],[79,32,56],[96,55,0,71],[108,61,14,16],[76,53,9],[93,39,8,16],[92,5,0],[96,67,69],[73,69,35,62,0],[90,53,62,5],[107,21,65,M
70,5],[110,43,62],[107,53,15],[78,70,20,61],[96,62,7],[95,50,57,70],[93,57,9,0],[92,28,66,0],[90,43,9],[93,61,70],[96,21,67,7],[84,70,53,67],[92,40,12],[77,70,42,60],[102,50,61,71],[97,43,55,0],[100,55,5],[102,29,8],[89,32,67],[79,67,1,0],[102,9,0],[77,50,10],[90,62,2],[76,32,67,13],[72,53,62],[108,59,7],[76,61,9,71],[81,17,62],[102,29,9],[93,32,69],[108,32,15],[96,28,69,3],[96,65,9],[81,9],[92,38,14],[78,9],[91,46,60],[97,34,58,70,0],[108,9],[103,16],[110,11],[98,38,66,1,16],[74,35,11],[83,19],[98,37,69,12,71],[98M
,62,11],[76,42,60],[104,14],[90,19,67,0],[98,42,55,15],[97,52,65,1],[92,21,58],[73,69,20,64,0],[73,3,0],[76,70,35],[109,21,62,9],[72,67,4],[96,39,64,70,8],[98,21,69,71],[84,36,10],[109,49,2],[73,32,3],[97,37,55],[96,19,69,1],[108,43,58,11],[83,68,5],[99,55],[94,67,8],[89,50,0],[78,16,42,61,3],[85,31],[73,70,17,61],[98,28,66,15],[107,29,12],[76,36,0],[84,70,50],[96,42,66],[95,59,15],[97,62,69],[96,60,15],[91,34,55],[96,43,61,71],[75,68,13],[95,53,16],[98,39,70,5],[85,38],[108,26,57,16],[79,8],[96,60,18],[102,61,3],[M
109,33,58,12],[98,67,11],[107,65],[76,69,56],[102,53,60],[90,45,55,70,5],[98,43,62,70],[110,37,59,5],[77,9],[81,41,10],[73,32,67],[84,51],[84,45,11],[90,63,12,0],[98,59,1],[83,16,51,61],[84,23,61],[77,66,7],[96,29,58,15],[108,43,59,69],[78,36,62,1],[90,50,63,69],[92,58,3],[95,38,2],[76,17,43],[95,58],[92,5,16],[78,35,60],[81,70,56],[77,16,60],[73,35,60,4],[89,51,10],[72,36,9],[102,53,58,69],[74,51],[89,13],[95,38,70,14],[107,50,71],[98,37,11],[98,29,60,7],[84,53,67],[102,33],[96,26,59],[96,2,0],[96,26,7],[77,45,71]M
,[98,11,71],[77,70,20,9],[76,69,45,10],[96,43,55,1],[98,26,0],[98,58,2],[109,53],[90,62,2,71],[104,29,8],[96,58,5,71],[85,43,61],[72,16,32],[73,25],[91,38,6],[94,26,61,69,5],[107,21,61],[96,30,57,71],[98,53,70,11],[72,54],[107,32,60],[74,19,4],[84,16,50],[98,30,63],[109,50,69],[107,53,59,15],[98,29,58,12],[95,58,9],[92,3,16],[90,29,58],[83,36,61],[92,44,66],[98,42],[94,38,61,8,71],[74,13],[99,0],[76,36,8],[77,45,7],[109,63,5],[93,20,61,1],[75,8],[81,16,43,60],[98,48,9],[108,55,15,71],[105,66],[78,25],[97,44],[95,46M
,5],[96,59,15],[110,58,7,0],[85,70,36,61,8,0],[96,53,58,9],[84,27,1],[102,2,16],[96,49,1],[99,66,8,0],[110,3],[95,50,12],[77,69,8],[109,33,62],[75,69,32,7],[109,69,8],[91,66,8],[107,28,15],[83,16,1],[97,61,11,71],[92,29,60],[73,17,60],[91,58,1,16,71],[109,7],[89,50,10],[98,44,8,0],[92,52,58],[83,31],[108,43,3,0],[109,33,61,2,0],[96,20,2,0],[96,43,67,70],[90,62,6],[95,19,62],[90,37],[91,19,16],[91,59,16],[96,46,66,12],[78,23,56],[91,46,69],[72,70,47],[72,23],[96,32,58,5],[89,16,71],[90,28,71],[77,19],[110,49,62,12],M
[77,70,13],[99,62,9],[92,44,58,8],[92,37,5],[107,66,0],[92,62,71],[93,43,62],[96,38,58],[110,67,8],[95,38,57,69],[98,21,2],[104,29,55,12],[85,70,27],[75,27,67],[109,20,61,70,12],[97,19,70,0],[100,3],[75,54,62],[89,60,10],[95,37,61],[92,66,0],[93,34,63],[98,45,0],[109,29,63],[80,23],[76,68,20],[78,19,62],[73,54,61],[83,70,20],[91,33,0],[93,44,5],[101,50,71],[109,50,70,71],[89,69,60],[110,0],[102,33,5],[93,38,8,0],[110,37,62],[74,70,43,0],[95,64,2],[109,20,2],[91,33,69],[97,38,63,1],[76,50,11],[89,53,61],[78,70,60],[M
98,69,7],[109,58,14],[92,22,62,7],[110,55,69,3],[93,57,15,16],[78,45,62],[99,38,1],[98,40,6],[91,21,61,8],[108,20,64,71],[98,49,8],[96,37,61],[83,28],[93,37,71],[96,43,66,70],[92,45,1],[92,70,11],[98,20,64,70,3],[76,50,61],[96,28,69],[82,69,35],[107,38,63,5],[96,32,14],[109,20,57,1],[108,16,0],[92,43,70],[96,38,66,3],[90,65,69,3],[93,67,16,0,71],[98,57,12],[99,43,12,0,71],[107,34,62,7],[98,26,16],[96,66,69,5],[98,62,0,71],[102,34,65],[110,22,67],[109,69,1],[85,16,10],[99,46,70],[98,20,5],[76,16,20,66],[98,37,63,14]M
,[99,57,1],[99,53,67,69,15],[95,65,5],[90,59,70],[98,61,3],[98,48,12],[81,25,56],[109,48,11],[84,16,42,11],[77,70,25,61],[84,42,61],[79,51,60],[94,44],[72,62,11],[107,28,66,71],[102,30,2],[96,19,58,9],[107,61,70,7],[98,33,5,16,71],[92,34,70],[73,17,28],[84,27,62],[98,53,55,9],[110,26,6,0],[109,60,9,71],[98,66,3],[99,37,61,16],[74,41,0],[96,42,55,70],[96,19,1,18],[98,49,9,16],[98,21,69,16,0],[96,39,67],[77,54,3],[108,52],[76,68,41,64],[95,43,1],[84,32,13],[107,50,2],[91,28,8],[96,55,6],[85,69,62],[98,19,64,12],[96,3M
3,65,69],[75,23,61,1,0],[99,26,16],[92,39],[96,70,11,0],[110,39,67],[93,67,12],[96,20,58,70,12],[102,28,64,71],[98,63,69,7],[91,33,16],[90,37,5,71],[90,70,2,16,71],[84,69,8],[104,33,9],[93,29,67],[96,8,16],[107,21,59],[96,33,55],[81,70,45],[104,63,3],[98,37,59],[74,9],[98,19,66,8],[93,20,60,16],[91,61,70,11],[93,38,57],[110,7],[90,22,65,18],[93,12,16],[72,68,0],[109,28,67],[96,37,63,8],[99,37,58,1],[104,67],[109,39,65],[108,43,71],[95,50,67],[90,6,71],[109,42],[102,52,64,69,9],[72,68,38,67,4],[93,64,8],[90,64,16],[M
107,53,58,3],[83,20],[74,28],[94,37,11,0],[84,45,67],[109,19,12],[96,50,3,71],[109,61,1],[98,7,71],[99,61,70],[108,33,5,16,0],[73,35,60],[110,62],[73,70,35,71],[95,30,63],[93,57,69],[77,35,10],[95,34,63,9],[98,37,67,0],[99,64],[91,38,70],[79,51],[108,50,7],[105,67],[82,45,67],[96,21,55,0],[94,42,57,11],[91,33,59,69],[92,20],[110,32,55,12],[90,21,59],[92,29,69],[97,38,59,69],[93,33,64,8],[105,19,61,70,8],[98,50,55],[98,33,61,12],[94,63,71],[109,38,60,5],[108,46,63],[104,37,67],[97,26,62],[79,1],[96,44,7],[73,43,5],[M
97,62,14,0],[107,62,1],[72,67,7],[92,44,65,0],[98,39,70],[74,17,60],[108,34,67,8],[108,39,1],[76,35,60,3],[109,6,71],[77,43,62,10],[96,20,58,5],[92,34,66],[89,5],[98,29,1],[91,33,15],[76,16,42,0,71],[98,37,8],[110,33,63,9,0],[108,37,57],[96,37,58,0],[102,40,66,1,16],[72,31,62],[85,28,0],[108,28,9,71],[73,41,10,0],[98,33,1,0],[85,10,71],[92,26,8],[107,21,70],[92,43,55,5,71],[90,50,67,2],[93,33,55,15,16],[109,61,8,16],[108,33,3],[94,21,5,16],[72,67,10],[77,54],[94,70,71],[93,42,59],[99,66,12],[98,22,62,12],[95,22,57,M
0],[96,19,11],[78,56,10],[109,61,8],[108,26,61],[105,49,66],[90,57,12,16],[83,70,41,10],[78,43,64,0],[91,21,61],[99,32,11],[78,42,5],[76,56,10],[94,3],[96,44,63,16],[93,66,0],[91,33,58],[108,19,67,69],[75,68,67],[107,61,8],[84,22],[96,21,62,70],[95,65,70,5],[72,68,36,62],[91,42,55,1,71],[93,28,62,8],[108,20,59],[92,33,14],[110,55,70,0],[110,60,6],[98,63,69],[95,16,0],[85,47,67],[96,19,62],[84,20,56],[84,54,62,13],[107,53,62,70],[75,69,17,62],[92,63,69],[90,28,5],[91,29,63],[76,43,66],[91,22,9],[95,6,18],[89,17],[99M
,29,67],[109,34,55,70],[102,63],[85,69,54],[110,55,0,71],[72,10,71],[90,46,8],[97,64],[77,68,56],[108,61,8],[98,28,61,12],[101,43,66,0],[75,13],[81,67,3],[93,22,8],[96,53,15],[96,65,70],[109,21,64],[95,21,1,16],[96,63,71],[109,39,61,8],[91,30],[107,19,12],[98,50,65,71],[93,57,6],[73,27,7],[73,69,42,62],[74,61,7],[95,22,5],[97,38,62],[97,33,8,0],[102,34,61,7],[95,66,70,16],[98,33,55,69,11],[107,20,67],[91,43,1],[77,22,0],[84,69,1],[89,66],[94,57,16],[104,33],[84,62,10],[72,4],[90,21,69,11],[81,27,8],[90,22,66,1,16],M
[98,38,60,6],[96,37,57,5],[76,31,11],[101,55,70],[90,20,55],[84,70,51],[96,21,62,8],[92,22,63],[89,54,66,0],[72,41],[84,68,23,61],[108,46,7],[96,43,69,12],[79,69,62],[102,37],[102,44,66,8],[98,37,55],[107,32,61,70,9],[97,59,70,71],[96,50,2,16],[74,41,15],[92,33,70],[92,20,60],[99,44,55,2],[84,16,61],[96,16,0],[108,48,12],[97,14,16],[95,30,60],[90,21,58],[92,34,11],[97,49],[98,29,60,69],[109,53,7],[92,44,69],[78,70,50],[93,38,65,0],[90,39,61],[98,32,71],[98,66,15],[96,26,55,5],[93,19,65,69],[77,4,71],[97,63],[108,45M
,69],[91,55,69],[85,41,8],[96,19,66,3],[92,65,5,71],[91,20,9,0],[108,37,6],[97,19,55,6],[97,43,57,69],[93,37,57],[92,29,70],[76,70,36,64],[91,19,62,0],[76,51,9],[109,59,8],[74,16,22],[92,66,1,16],[96,37,9],[72,70,36,56],[92,53,66,14],[109,22,67],[89,35,60],[96,21,11],[79,70,64],[90,43,2],[86,60],[78,17,61],[93,38,15],[96,26,58,7,0],[92,64,18],[78,16,45,4],[84,69,50,64,4],[95,62,8,71],[75,3],[94,42,8,0],[93,28,65],[90,32,65,0],[109,33,61,11],[74,20,13],[107,32,2],[93,67,18],[97,12],[96,38,61,70],[90,69,11],[81,70,23M
,10],[84,43,64],[73,61,3],[93,69,15,16],[109,55,11],[85,35,11],[72,50,1],[73,43],[92,28,59],[83,41,67],[107,37,58,18],[93,58,70,71],[81,3],[73,41,60],[78,50,56],[98,28,58,9],[98,61,8],[96,26,8],[95,22,14],[96,55,12,0],[98,60,70],[89,27,60],[109,52,61,16],[96,29,63],[75,70,66],[94,19,58,2,71],[97,9],[95,22,7],[96,39,0],[108,20,55],[102,30,55],[74,70,5],[77,70,10],[92,44],[97,9,71],[99,3,16],[84,36,67],[74,69,43],[107,44,61],[80,56,7],[75,70,16],[94,38,64,6],[91,39,61,12,71],[90,60,8],[77,68,16],[94,49,61],[110,55,2]M
,[93,43,63,71],[76,50,71],[109,43,55],[90,50,5],[78,42,11],[91,53,12],[96,34,67,71],[99,39],[94,42,14],[76,15],[98,58,18],[99,22,2],[83,45,61],[93,33,55,12],[87,16,36,62,4],[85,60,10],[76,70,67],[72,70,64,13],[96,20,58,70,11],[110,60,8],[75,5],[93,33,67,8],[107,21,67],[84,62,7],[85,35,62],[83,53,64,10],[75,56,0],[95,43,61,8],[108,61,12],[95,61,71],[78,69,60],[78,32,7],[91,43,70],[76,31,0],[92,34,64,7],[83,61],[104,30,5],[109,22,7],[107,37,61,8,0],[109,38,9],[107,29,67],[98,26,66,69],[96,38,61,8],[84,31,10],[96,43,1M
],[97,21,57,8],[76,70,47],[97,50,66],[93,57,15],[107,33,55,12,0,71],[77,68,4],[98,29,57],[96,45,2],[91,67,9],[81,70,16,43],[95,28,15],[108,55,70,11],[92,62,11],[98,39,62,6],[90,43,57,8,16],[87,61],[98,59,5],[98,33,69,71],[91,2],[110,38,61],[102,11],[95,65,15,16],[98,7,0],[102,64,8],[96,28,61,5,71],[96,62,16],[74,25,0],[98,30,66],[84,36,66],[79,66],[74,25,67],[109,50,71],[107,28,7],[91,53,65],[98,19,63,16],[84,68,20,11],[83,7],[84,24,61],[77,16,51],[72,60,13],[102,34,61,5,0],[78,42,15],[78,70,19],[107,19,69,0],[108,M
21,65],[77,61,13],[76,69,15],[93,11],[92,55,70,5],[95,19,62,70],[74,69,25],[77,69,0],[89,69,35],[91,21,57,8],[76,67,0],[97,43,1],[85,69,35],[107,8,0],[110,42,67,12],[97,42,9],[104,9],[77,38,61],[109,61,14],[83,3],[90,61,0],[98,21,16],[95,22,9],[90,37,63,2],[96,40,70],[110,20,60,0],[75,16,45],[100,19,57,18,71],[107,22,9],[93,46,62],[79,16,7],[110,33,57,16],[73,42,61,71],[110,53,62],[74,51,62],[91,30,66],[90,50,12],[109,66,69,1],[96,22,61],[96,33,64],[99,19,67,14],[90,34,67,69],[83,25],[76,16,54,4],[96,29,62,69,8],[1M
10,70,14,0],[93,29,58],[97,22,57,69],[92,70,1],[79,32,67],[74,70,61],[93,66,5],[96,65,3],[107,70,12],[87,61,0],[76,70,53,67],[110,53,55,12],[90,58,9],[92,39,61,3],[98,63,11],[92,50,57,5],[96,61,1,71],[76,31,67,0],[84,50,9],[108,37,9],[110,28],[105,15],[97,22,12],[85,70,64],[72,69,61,13],[97,57,70,8],[107,39,70,6,16],[76,61,71],[84,20,0],[72,70,10],[94,33,61],[78,69,13],[92,39,9],[108,19,55],[108,34,64],[93,69,7],[96,38,5],[110,40],[110,49,61,9],[91,39,61],[81,16,56,7],[81,50,10],[98,70,14],[87,67],[97,48,14,0],[108M
,34,67,6],[90,21,14],[81,17,61],[92,9],[91,49,58],[97,52,0],[87,68,16,50],[97,45,0],[98,67,69,0],[109,22,65,12],[74,70,62,10],[109,62,5],[98,19,0],[85,16,20,56],[91,53,2],[98,58,9,71],[98,48,15],[78,45,61],[75,43,71],[107,65,15],[91,48,3,16],[96,37,11],[76,68,42,4],[78,41,64],[109,38,16],[98,19,8],[83,28,61],[93,28,6],[83,66,0],[96,29,64,16],[93,49],[92,28,61],[90,33,60,9],[98,20,61,14,71],[108,40,57,8],[90,61,12],[110,38,59,12],[104,8],[98,22,69],[84,35,10],[98,34,62],[93,66,70,11],[110,28,64,15],[110,29,70,6],[10M
2,32,64],[98,45,70,11],[97,59,16],[85,70,0],[89,17,43],[110,32,6],[90,43,61],[96,45,55,3,71],[98,37,5],[83,53,60],[96,44,65],[99,61,70,12],[87,45,56],[98,37,67,8,71],[98,39,55,8],[102,43,67,6],[110,3,0],[102,22,64,0],[98,6,16],[92,62,12],[108,22,69,71],[109,60,5],[110,43,63,9],[110,58,15],[109,37,61,14,71],[110,21,16],[79,23,56,5],[73,56,3],[79,66,10],[90,33,55],[77,45,67,10],[97,43,63,6],[93,37,57,5],[96,38,9,0],[109,28,61,7],[74,68,4],[96,57,18],[84,43,66,7],[105,37,61],[102,33,14],[78,16,61],[96,30,63,11],[79,16M
,35,1],[109,38,62],[75,19],[98,60,11],[107,20,65],[108,61,15],[108,8,0],[84,70,15],[93,33,58,15,0],[96,59,0],[97,40],[102,34,62],[97,58,12],[90,33,61,9],[91,61,5,71],[102,50,65],[90,65,0],[110,45,5],[110,38,70,9],[102,20],[72,62,10],[109,63,1],[96,50,0],[91,34,61,16],[110,62,69],[109,42,62,15],[99,1,16],[91,53,66,18],[93,22,71],[108,20,12],[97,37,66],[96,40,61],[79,32,56,10],[76,68,23,13],[96,38,1],[85,68,24],[98,53,55,69],[84,62,0],[108,18],[74,20,9],[79,35,3,0],[98,21,62,8,16,71],[95,53,64],[92,30,66,1],[91,49,59M
],[95,40,60],[91,62,2],[79,9],[102,1],[97,20,71],[94,22,70,0],[81,31,64,8],[93,69,2],[109,29,66,15,0],[98,38,67,12,16],[110,20,64],[75,45,3,71],[90,26,9],[96,30,62],[108,50,71],[108,28,58,11,0],[109,60,11],[94,63],[84,36,71],[87,24,60],[89,4],[90,42,55,12],[92,20,67],[91,19,61],[95,11,71],[93,58,0],[98,58,7],[84,62,4],[98,67,14],[101,55],[102,28,61,3],[92,32,0],[93,42,62],[96,33,6],[88],[72,62,0],[94,33,65,0],[90,64,0],[98,21,8],[91,59,70,8],[96,53,9],[91,48,60,6],[108,66,11],[95,32,55,12],[78,70,71],[73,69,50,10],M
[78,70,0],[95,66,3],[78,32,61],[107,30,3],[98,33,70],[81,60,13],[98,34,6],[77,32,0],[81,19],[89,68,64],[108,53,55,16],[93,65],[97,43,5],[99,39,61,7,16],[98,69,16,71],[99,66,8],[93,32,59,5],[96,29,16],[72,68,43],[98,39,6],[93,19,11,0],[108,37,63,16],[75,51,66,13],[95,32,12],[109,55,6],[107,60,0],[77,70,4],[96,42,3],[91,38,66,11,71],[91,39,2,16],[107,26,61,15],[97,34,61,11],[96,50,15],[98,34,66,8],[95,55,8],[108,69,8],[96,30,58,12],[83,70,38,4],[96,19,58],[96,43,67],[96,22,61,71],[92,43,11],[92,29,9],[90,48,8],[97,26M
,11],[84,32,62],[96,37,61,16],[91,61,6],[107,52],[89,17,61],[83,70,16,54],[93,46,65,12],[98,69,18],[96,37,62],[109,55,3],[84,70,20,10],[109,48,61],[75,69,36],[96,26,67,8],[95,43,15],[75,69,4],[77,70,25],[74,3,71],[93,1,16],[97,33,61,2],[109,60,3],[93,20,7],[107,26,16],[109,28,57,1],[99,22,65,8],[77,32,67],[98,37,69,5],[93,28,63,8],[90,52,69],[84,32,7],[98,46],[91,48],[107,33,60],[93,19,1],[110,46],[81,70,16,54,67],[98,26,66],[72,69,4],[96,20,67,16],[76,20,66],[102,59],[96,28,70],[95,28,66,9],[107,21,57,11],[110,67,M
0],[74,25,67,9],[83,70,15],[109,43,60,8],[93,67,70],[98,21,58,7],[79,16,41],[91,30,55,8],[108,21,55,69,1],[72,16,13],[94,26,64,12],[109,33,60,1],[96,43,63,14],[74,54,0],[92,48,65,8],[93,28,65,70],[94,32,58],[96,50,58,9],[97,43,0],[96,57,12],[109,57,6],[98,43,59],[83,16,0],[102,20,63],[96,9,71],[83,16,20,61,4],[76,41,64],[90,50,58],[98,65,12],[102,26,57],[108,44,71],[90,8,71],[75,24,56,3],[98,37,70,5],[96,34,58,70,71],[91,38,58],[73,69,61],[98,33,63,9],[98,49,63],[93,52,9],[92,34,66,69],[89,70,53],[108,30,8,0],[89,6M
9,45,56,0],[102,28,66,11],[109,43,64,2],[78,70,45,67],[108,46,8],[108,43,60],[110,60],[93,33,62,71],[91,43,66,7],[102,32,5],[84,45,62],[98,22,0],[96,34,11,18,0],[96,39,69,6,16],[78,41,64,0],[94,28,62],[98,37,12],[96,34,11],[89,68,41],[98,50,12],[99,20,11],[98,55,69,0],[76,16,67],[84,47,56],[110,19,57,8],[89,36,3,0],[96,26,69],[110,19,11],[96,34,61,69,3],[98,28,12],[97,16],[78,69,32],[95,43,58,69],[81,69,66],[76,32,61],[109,29,15],[93,21,67,5,71],[95,63,71],[109,18],[94,26,62,5],[98,26,57],[83,70,42],[98,32,58],[95,M
28,70,16],[99,22,1],[96,21,55],[110,53,12,0],[107,43,1],[102,69,11],[93,69,0],[73,16,66],[110,33,60,2],[108,21,61,2,0],[89,23,13],[84,32,61],[79,68,64],[93,19,12],[108,32,62],[110,26,70],[110,22,70],[102,55,11,0],[72,7],[84,27,15],[108,21,60,5],[108,38,70],[97,42,70],[90,29,71],[93,43,6],[76,3],[95,28,11],[92,19,62],[81,23,8],[96,29,63,2,16],[93,3,18],[102,53,15],[93,66,71],[77,61,71],[83,70,61],[92,30,62,70,12],[109,19,8],[92,49,67],[98,45,59,70,8],[93,57,16],[83,22],[79,56],[83,17,27],[84,70,10],[77,43,60],[94,22M
],[98,34,58,5],[96,50,62],[84,20,60,3],[91,20,67,12,71],[93,32,61],[108,33,63],[96,28,12,71],[76,20,0],[102,43,12,16],[90,32,69],[91,52,55,3],[83,53,56,71],[98,22,70,11],[77,67,7],[94,21,55],[92,49,58],[90,43,16],[98,28,59],[92,32,64],[89,38],[73,38],[78,70,64],[109,44,61],[95,43,67],[77,13,0],[73,70,28],[76,70,16,24,67],[83,69,19,64],[93,26,2],[76,32,3],[105,70,3],[93,49,62,0,71],[92,37,66],[110,57,8],[93,38,62,18,0],[92,61,15],[110,50,55],[89,42,7],[84,70,32,61],[90,63,2,0],[93,45],[94,21,8],[97,61,12],[81,42,64]M
,[81,16,50,60],[89,25],[93,50,61,11,16],[91,60,16,71],[96,33,67],[108,34,66,69],[78,69,31,71],[98,53,58,16],[79,32,5],[95,61,69],[91,40,1],[74,64,1],[91,19,57,9,16],[102,63,70,1],[84,68,41,64],[95,38,12],[102,26,57,14],[76,51,4],[109,0,71],[73,16,23],[78,53,60,1],[90,11,0],[90,67,1],[96,26,67],[79,50,61,8],[95,28,70,5,16],[92,53,1],[92,33,63,8],[98,43,12],[98,48,59,69],[85,17],[108,34,55,6,0],[90,37,62,9],[84,47,4],[93,48,15],[81,69,38],[95,43,61,15,0],[95,55,1],[78,11],[98,19,62,3],[110,66,69],[107,50,12],[109,26,M
63,11],[108,9,16],[96,42,71],[89,3],[96,34,70,14],[74,8],[96,21,64],[98,65,8],[99,42,61,70],[89,60,0],[92,39,1],[93,43,58,8],[81,70,35],[78,16,0],[83,28,62],[89,69,50,4],[98,61,2],[83,4],[107,34,61,0],[90,33,61,70],[77,24,61,1],[109,1],[84,70,54],[93,22,58,71],[83,16,42,13],[98,45,6],[104,34,15],[96,22,14],[87,45],[83,64,4],[91,57,11],[95,26,60,8],[97,32,59,69],[97,58,70,14],[98,59,9,0],[98,48,58],[93,53,69],[97,39,58],[73,45,4],[96,34,5,0],[96,26,60],[107,21,63,3],[77,42,10],[110,20,16],[97,66,69],[90,19,61,70,12,M
16,0],[83,61,3],[110,29,59,71],[75,70,42],[91,32,66],[77,31,67,13],[92,34,65,70,5],[110,34,0],[109,20,57,70,8],[99,19,12],[96,49,11],[95,32,8],[98,29,64,6],[98,38,67,15],[107,19,61],[76,70,27,15],[107,19,62,70],[75,16,35,56],[98,33,57],[98,44,60,70,3],[80,71],[110,43,7],[96,33,66,16],[96,50,58,12],[91,37,61,69],[94,32,64],[96,39,55,6,0,71],[98,50,2,16],[95,49],[79,42,61],[98,40,60,2],[96,63,6],[102,29,69,8,0],[93,28,66,70],[95,33,69,2],[105,58,5],[96,50,11],[110,26,62],[100,66],[78,16,42,67],[109,29,6],[81,70,47,15M
],[90,34,57,71],[96,62,71],[91,20,67,9,16],[98,21,64,9],[110,29,12,71],[84,51,56],[77,47,64],[84,43,4],[85,51,56],[84,31,66],[96,28,64],[96,42,61],[74,43,66],[76,38,0],[94,49,0],[93,62,12],[107,40],[85,68,23,62,9],[81,69,42,9],[107,43,65,5],[77,16,24],[99,53,0],[108,62,3],[107,33,63,5],[76,68,43],[96,62,6],[90,43,62],[97,33,66,2],[98,20,61,11,16,0],[92,29,62,5,0],[84,51,5],[99,53,9],[110,20],[95,18],[97,20,63],[85,32,60,11],[94,5],[93,32,3,71],[91,69,15,0],[100,44],[85,16,20],[110,22,12],[98,26,62,69],[96,29,58,8],M
[92,45,5],[109,20,64,8],[77,60,0],[77,70,41,0],[93,62,12,16],[107,33,59,16],[96,53,9,18],[96,20,7],[110,30,7],[98,49,0],[75,16,66],[109,43,63],[109,37,70,16],[96,29,2],[78,20,7,71],[109,33,70],[96,53,59,69,71],[91,26,61],[77,20,1],[96,28,2],[90,66,71],[72,68,32],[83,60,13],[86,28],[75,35,60],[84,16,45,62],[84,42,67],[79,70,62],[90,58,5],[73,16,61],[92,26,61,6,16],[76,68,71],[83,45,56],[98,45,61,14],[97,33,2,18],[83,16,50,1],[76,50,67],[95,33,55,69],[75,68,61],[90,29,62,2],[78,69,19],[98,20,66,8],[75,70,27],[109,42,M
7],[77,68,42],[107,39,66,71],[96,37,66,11],[80,54],[92,49,11,0],[97,32,9,16,71],[92,43],[102,26,66,9,71],[91,50,61,3],[96,45,5],[99,29,8],[74,68,43,4],[81,69,43,3],[96,21,69,9],[72,16,43],[91,46,65],[76,60,0],[77,69,60,10],[110,29,61],[96,57,5,16],[93,1],[96,58,9],[84,20,61,3],[110,44,11],[100,22,5],[73,68,62],[85,54,66],[89,68,43],[92,21,71],[96,67,14],[98,50,55,7],[108,38,0],[75,42,64],[77,70,22,4],[98,29,6],[74,70,47,61],[78,27,10],[83,69,53],[75,23,64],[94,22,11],[96,44,6],[90,55,2],[96,26,62],[95,37,16],[81,16M
,10],[76,27,1],[76,31,64],[96,50,8],[76,43,11],[76,35,10],[108,38,61],[99,19,6],[110,39,59,0],[94,8,0],[81,35,56,7],[89,16,42],[96,29,12],[74,53,10,0],[77,23,7],[92,28,62],[98,49,66],[76,22,60,0,71],[83,68,62],[95,2,71],[108,69,5],[98,19,3,71],[92,26,67,8],[96,37,7],[105,64,0],[81,32,4],[92,43,61,5,16],[107,64,12,71],[84,23,62],[109,7,0,71],[93,57,8],[96,21,71],[96,29,58],[90,43,64,70],[90,43,55],[108,26,64],[98,22,55,70,8],[108,43,15],[96,34,14],[94,64,1],[99,61,9],[105,60,5],[83,35,56],[93,42,9],[77,69,32],[109,4M
3,63,11],[85,70,10],[107,38,59],[110,18],[91,65,5],[81,35,60,7],[74,16,53,60],[76,45,60],[96,20,5],[98,29,70],[95,44,60,12],[107,66,6],[79,68,17,43],[96,61,16],[92,19,6],[94,29,55,11],[97,67,2],[90,30,61],[96,52,57],[95,61,69,16],[109,34,11,0],[74,70,27],[86,50],[109,6],[93,67,5],[95,49,60,71],[76,70,60],[78,70,43,67],[77,61,10,71],[76,69,51],[107,53,0],[96,59,16],[92,28,67],[102,70,2],[94,29,55,8,71],[98,21,55,69,12],[98,34,16],[95,33,5],[100,32,66],[96,12,16],[95,32,64,15],[96,37,11,0],[74,36,60,0],[98,61,8,0],[9M
6,26,12],[84,32,15],[102,45,0],[78,22,0],[107,26,55,15],[75,32,60,9,71],[97,59,5],[81,27,0],[83,68,16,61],[107,33,70,5],[90,12,16],[94,43],[81,22,67,10],[84,16,62,0],[91,26,66,5],[98,50,67],[98,28,0],[96,62,15],[102,7,16],[91,33,63],[102,55,12,0],[91,44,11],[90,40,61,8],[79,41,10],[107,50,63,5],[92,20,66,12,16],[104,62,70],[98,67,1],[96,42,57],[72,50,4],[83,70,28,61],[108,38,61,11],[84,16,43,56,1],[108,70,16,71],[110,29,2],[98,33,55,16],[91,50,58,1],[98,40,69,2],[84,16,53],[81,62,10],[98,37,69,12],[96,28,58],[79,69M
,47],[97,69],[107,55,8],[84,38,60],[96,50,16],[106,21,66],[91,26,12],[109,69,12],[104,40,55,5],[72,22,61],[107,21,61,5],[108,46,70],[91,62,14],[84,70,36,9],[79,32,4],[95,64,3],[98,34,7],[97,15],[92,19,70,9],[107,50,67],[99,62,16],[91,21,65],[77,69,11],[72,16,71],[108,34,69,71],[93,21,59],[78,47,4],[91,29,55,70],[93,34,60,71],[109,46],[97,43,8,0],[97,33,2,0],[73,62,5],[108,61,9],[77,24,61],[91,46,12],[76,50,62,7,0],[96,45,1],[109,44,1],[109,43,58],[110,33,12],[97,62,12],[109,26,12,16],[73,36,62,10],[109,55,8],[99,29M
],[72,51,56],[83,53,61],[82,32,67],[104,22,55,8],[98,20,6],[72,69,5],[93,53,16],[96,58,1],[85,4],[98,34,8],[107,59,14,16],[104,70,2,0],[110,67,16],[77,23,56,1],[92,64,1,71],[102,66,11],[73,62,71],[87,68,31],[97,21,67,11],[96,32,65,8],[98,50,58,2],[98,33,66,70],[81,31,1],[78,51,4],[109,37,57,7],[99,58,69,5],[92,19,57],[72,62],[91,70,3],[89,20,0],[109,44,62,2],[110,63,71],[96,40,69],[99,34,67],[102,57,7],[73,70,51,61],[91,43,58,8],[73,35,56,71],[97,21,11],[84,41,10],[84,53,5],[93,22,66,0],[96,52,71],[98,33,59,16],[95M
,29,63,71],[93,69,5,16],[81,16,51],[93,46,60],[97,53,57],[91,38,70,8],[108,28,62,8],[110,57,69,9],[98,21,65],[76,32,62],[89,62,71],[87,19],[77,56,4],[93,22,61],[77,23,60,10],[77,16,51,66],[99,11],[92,61,8],[93,26,57,5,71],[95,19,6],[108,37,59,12],[98,57,5],[77,53,60],[95,43,58],[86,69,38],[91,70,71],[83,69,67],[90,62,0],[109,19,55],[92,37,1],[76,22,10],[76,27,62],[76,70,38,4],[85,32,13],[98,19,55],[107,28,62,71],[84,17,32],[90,42,15],[95,22,58],[109,32,16],[92,39,58,1],[72,9,71],[99,38,69],[90,45],[92,20,70,0,71],[M
97,57,6],[95,33,11],[98,53,66],[107,29,60,1],[99,67],[95,61,1,18],[108,58,6],[105,33,66,71],[108,39,66,70,3],[98,38,3],[73,28],[77,31,0],[90,37,70,1],[89,68,45],[98,38,65],[89,70,32],[108,59,0],[78,27,67],[108,62,70],[98,21,58,9],[93,61,1],[108,33,6,16],[84,25,67,4],[96,61,18],[107,29,11,16],[72,20],[93,38,71],[99,70,14],[76,68,19],[109,60,71],[99,46,65,12,18,0],[72,25,71],[77,16,62],[98,33,0],[110,33],[96,30,1],[93,48,69,8],[109,65,6],[97,33,70,12],[105,39],[77,38,62,9],[108,37,61,14],[76,19,60],[77,69,23],[74,64,M
7],[74,16,61],[89,45,60,4],[98,37,59,8],[96,64,3],[90,21,60,15],[95,34,62,5],[108,67,1,16],[99,65,1],[92,38,66,15],[77,53,66,11],[76,53,67],[90,33,71],[108,38,63,69],[109,22,62],[78,16,54],[110,21,63,70],[98,19,64,5],[84,35,56],[97,57],[99,33,58],[83,43,66],[79,32,61,15],[78,28,0],[98,34,59],[75,62,8],[95,66,7],[79,64],[94,50,59,3],[97,30,8],[78,70,16,61],[98,50,59],[96,37,57,71],[90,39,7],[99,28,66],[93,50,58,70],[91,67,16],[78,68,43],[76,31,64,4],[92,34,61,8],[108,21,70,16,71],[92,26,63],[92,66,11],[85,70,10,0],[M
90,43,5,16],[108,34,6],[109,63,70],[90,32,1],[99,19,57],[110,20,62],[95,50,63,14],[96,63,14],[77,68,60],[107,29,61,16],[77,51,0],[90,33,61],[98,30,61],[98,33,7],[98,38,69,12],[98,66,0],[107,50,6],[83,67,4],[108,28,3,0],[73,69,61,4],[108,34,65,70,11],[98,57,69,14],[96,50,16,71],[90,42,69],[93,21,61],[75,16,61],[110,52,66],[110,38,62,8,0],[92,44,61],[90,43,67],[72,51,60,15],[100,65],[109,48,65],[96,33,63,9],[89,62,10],[107,39,57],[85,70,56],[77,38,67],[95,2,16],[96,37,61,1],[98,43,70,2],[98,40,15],[72,70,23],[93,45,6M
1,12],[91,43,59],[89,62,0],[96,55,0],[91,39,67],[83,68,32],[94,61,71],[93,61,16],[109,33,67,71],[90,26,70,2,16],[83,62,8],[92,19,0],[98,39,3],[89,50,9],[106,71],[98,21,60],[93,26,64],[92,18],[78,27,7],[107,20,61],[78,27,67,7],[78,35,62],[93,39,8],[83,41,60],[93,15,16],[92,65,70],[74,61,15],[76,43,61],[76,23,7],[77,38,10],[84,69,31],[96,43,57,5],[84,60,0],[98,20,65,70,16],[107,58,69],[96,43,62,12],[110,63,0],[78,70,24],[109,55,9],[77,70,61],[92,19,61,9],[108,28,70],[109,29,61],[93,66,70,5],[92,45,69,3],[107,50,3],[1M
10,69,8],[92,21,63],[91,26,61,69],[98,38,0],[96,50,67,6],[96,33,55,2],[107,26,65,5],[76,53,10],[96,52,61,71],[81,70,17,60],[98,43,61,14,0],[92,50,61],[110,58,12],[98,50,62,2],[79,47],[97,43,60,5],[78,27,64],[95,21,58,2],[96,39,61],[78,28,4],[83,16,31],[99,46,59],[110,29,55],[77,24,67,0],[98,52,61],[98,52,62],[73,31,56],[91,61,9],[97,33,70,14],[90,40],[98,20,2],[78,1,0],[85,27,15],[107,70,15],[98,19,70,5,16],[90,39,67],[85,69,20,64],[77,50,62],[109,37,57,12],[90,32,66],[96,63,1],[93,21,58,70,12],[96,44,61],[98,21,11M
,16],[109,11,0],[95,53,59],[95,32,63,2],[78,8,0],[79,23],[79,28,61],[109,19,67],[76,25,0],[108,33,58],[107,69,7],[97,43,70],[102,48],[95,39,67],[92,19,61,15],[73,69,51,60],[95,39,15,18],[96,53,57],[91,67,71],[104,22,66],[78,4,71],[98,45,11],[98,43,11],[90,67,0],[95,60,6],[107,62,8,16],[73,3],[110,29,59,12,16],[96,34,15],[90,21,1],[91,21,2],[97,32,60,70],[98,43,65],[81,70,23],[95,26,66,70,12],[109,67,11],[96,44,69],[84,41,1],[101,43,8],[89,16,47,71],[84,56,15],[91,46,64],[90,19,70,8],[75,19,61],[109,39,62,69,12],[95M
,69,5],[102,57,16,71],[108,1,0],[98,37,9,0],[78,51,13],[94,6],[89,42,71],[99,70,2,71],[92,26,55,3],[93,65,0],[83,51,61],[81,28,62],[85,70,41],[98,20,64],[90,6,16],[91,33,67,0],[78,41,71],[107,26,60],[95,30,67,14],[109,32,15],[95,50,11],[97,63,5,71],[94,37,57],[96,22,60],[75,24,7],[93,61,9],[98,64,7],[75,4],[87,68],[109,34,57,16],[95,33,71],[73,53,61],[93,62,2],[83,70,35],[92,32,64,16],[107,19,57,0],[92,20,57],[90,53,67,9,0],[96,43,59,5,0],[76,19,10],[83,61,0],[90,57,70],[102,34,65,6],[102,57,9,71],[83,16,62,1],[93,M
29,62,5],[98,37,65],[84,27,61],[95,34,59,6],[97,26,67],[95,28,69,8],[84,69,56,0],[74,43,10,71],[92,22,62],[77,42,67],[107,58,2],[90,39,70],[96,61,3],[92,33,2],[81,70,42,67],[104,43,61,70],[98,49,62,0],[78,16,41],[110,50,58],[72,16,42],[95,46,64],[74,17],[107,59,71],[96,37,65],[98,5,18],[75,16,20,62],[107,34,61,2],[91,37,63],[93,55,12,0],[84,68,13],[73,23,15],[108,19,57,15],[102,20,61,12],[110,70,8],[98,61,16],[110,28,64,14],[79,41,62],[87,31,60],[110,21,65,69],[93,19,70],[98,21,61,0],[96,20,65],[78,70,43],[92,43,66M
,16],[85,23,64],[77,28],[83,28,8],[89,42,56],[97,55,16],[90,22,14],[107,20,63,6],[92,64,1],[109,44,59,71],[108,59,16],[81,69,32],[76,22,67,0],[107,32,63,8],[102,43,69,5],[102,28,61,7],[96,50,59],[107,40,58],[91,28,11],[109,26,61,2],[102,3],[90,29,69],[98,65,0],[109,32,57,9],[109,22,64,7],[99,67,6],[109,45,61],[102,0],[97,38,61,9],[97,50,62],[107,37,63],[85,43,56,1],[96,39,69,1],[92,39,0,71],[77,70,20,10],[98,39,61],[107,37,8],[77,35,4],[109,70,8,0],[96,30,6,16],[98,33,11],[81,53,67],[78,23,4],[99,34,58,0,71],[93,34M
,70,2],[97,66],[110,3,71],[92,61,5],[91,70,8,0],[89,17,50],[96,55,5],[90,12,0],[95,43,62,6],[107,66,12,0],[95,29],[92,38,15],[78,23,61,1],[98,38,15,18],[94,21,66],[98,43,63,16],[110,34,61,0],[77,51,71],[96,52,58,70],[107,26,61,70,9],[77,35,61,9],[74,35,66],[109,55,2,16],[89,60,7],[97,32,67,9],[96,21,55,70,71],[92,57,6],[73,66,13],[91,38,7,18],[75,28,62],[90,34,61,70],[97,33,62,3],[74,27,61],[96,30,66,8],[84,68,28,62],[108,19,60,70],[109,63,1,16],[97,0],[95,58,8],[96,28,3],[85,69,51,61],[97,37,61,69],[76,70,64,7],[9M
3,61,6],[92,55,7],[89,60,4],[76,24,67],[72,69,62,11],[78,36,5],[98,63,70,15],[110,57,3,16],[91,28,59,3],[110,5,0],[93,29,16],[78,38,67],[91,60,6],[96,42,59,69],[107,61,5,71],[87,70],[110,64],[97,57,11,16],[98,19,59,11],[81,71],[108,28,65],[109,29,65,1],[98,30,12,16],[109,69,6],[109,5,71],[92,32,58,70,12],[108,39,63,12],[96,43,63],[109,63,8],[73,24],[100,28,61,7,71],[96,20,61,71],[78,16,32,4],[89,51,9],[72,16,5],[104,34,67],[73,41,61],[90,58,16,71],[91,55,8],[85,53,60],[75,16,62,0],[90,48,14],[96,19,70,8],[90,29,67]M
,[93,19,58],[98,30,58,1],[110,58,8,71],[98,40,71],[92,38,61,2],[109,45,59,12,0],[84,23,60],[78,16,32,60,13],[95,22,8],[78,62,10],[83,36,67,10],[90,61,71],[98,67,69,71],[73,67,15],[74,23,62],[93,39,61],[76,70,67,10],[96,26,15],[79,42,0],[107,38,57,12,0],[81,50,61],[74,45,15],[98,42,62],[89,41,56],[108,50,70],[107,46,65,15],[81,69,16],[89,69,50,60],[89,16,32,60],[99,21,65,12],[89,11],[108,20,60,11],[108,32,64,70],[76,69,71],[108,67,9],[107,33,66,70],[100,20,69,11,0],[108,67,16],[83,70,67,71],[72,19,61],[96,58,70,6],[M
78,31,67],[99,60],[96,40,8],[99,44,1],[90,37,58,6],[90,67,7],[96,40,64,69],[98,38,65,5,71],[105,53,59,69],[97,39,65,15],[96,34,61,71],[74,69,47],[82,31,66],[91,50,66,15],[83,20,62,15],[89,68,42],[78,69,53,62],[94,22,64],[107,43,61,69],[83,16,54,60],[102,37,71],[78,68,51],[91,29,11],[78,70,50,8],[109,58,69],[77,70,28],[83,51,62],[91,43,65,7],[72,68,62],[99,33,65,11],[96,33,8],[95,26,12],[96,46,1],[84,32,9],[95,26,61],[98,55,9],[95,46],[78,31,5],[96,21,63,5],[90,52],[102,30,58,12],[108,37,57,70,9],[96,19,69],[96,19,6M
7],[73,68,13],[81,16,42,66],[92,70,2,0],[90,33,2],[93,33,63],[98,70,0],[72,11],[83,41,61],[101,55,1],[98,40,9],[107,44,0],[108,38,57,2],[79,16,0],[98,66,1],[73,31,61,5,71],[92,60,1],[102,37,63,70],[96,32,8],[83,60,9],[91,43,16],[78,28,10],[84,68,64],[98,63,70,5],[96,22,71],[90,33,6],[105,40,70,12,0],[90,37,11],[98,66,11,0],[96,62,0],[94,61,5],[98,19,61,15],[107,21,61,5,0],[107,67,15,16],[91,66,16],[107,29,14],[91,32,0],[98,43,57,8,18],[97,33,11],[81,32,0],[94,45,14],[84,69,36],[98,29,2],[93,37,67,0],[75,43,62],[96,M
37,71],[93,7],[72,50,67,8],[77,70,23],[91,20,55],[110,22,0],[92,63,6],[95,34,59],[78,60,4],[91,61,0],[108,29,0],[74,24,3],[90,62,71],[96,32,63,8],[108,43,69],[93,22,66,6],[92,21,1],[93,43,59],[98,50,16],[83,68,61],[86,43],[84,60,3],[96,43,55,7],[96,28,70,5],[102,33,12],[84,41,60],[72,4,0],[98,39,7],[110,21,62,16],[84,68,24,62,5],[99,39,57,5],[95,28,64],[108,48,65,9],[81,70,45,62],[93,21,64],[94,39,70,14],[75,53,67],[96,53,66,14],[91,33,1],[110,22,59,71],[101,21,69,6],[74,70,42,7],[84,68,16,54],[97,50,61],[92,22,59]M
,[95,42,58,2],[98,32,60],[72,67,9],[92,33,16],[96,21,69,14],[95,21,58],[92,43,66],[75,43,1],[99,43,62],[92,20,61,5],[90,59,1,0],[98,39,55,2],[96,50,69],[77,62,10],[95,43,63],[94,34,55,14],[110,21,70,14],[87,16,36,56],[97,19,67,70],[98,44,65,70],[94,20,63],[107,63,12],[96,33,65],[96,39,58],[91,46,12,71],[92,34,58],[96,30,57,11],[102,42],[92,37,69,71],[72,8],[92,43,67,7],[74,35,4,71],[93,58,12,71],[84,70,32,56],[81,50,1],[98,50,5],[86,47,71],[110,33,7],[98,1,71],[84,24,1],[96,63,2],[97,48,8],[91,19,9],[98,45,14,16,0]M
,[96,52,16],[97,20,8],[96,46,66,9,0],[92,29,70,71],[107,2,16],[109,33,16],[107,19,55],[110,8],[92,50,67,11,0,71],[78,70,17,62,1],[96,29,62],[76,70,16,42],[90,46,64],[90,33,69],[93,37,66,12],[108,43,5],[110,38,2],[85,35,56],[108,67,5],[93,33,61],[107,28,57],[107,49,58],[90,45,62,16],[96,61,70,14],[83,16,20,62],[77,69,27,60],[81,56,10],[85,42,4],[109,50,55,16,71],[98,50,63],[87,62,13],[95,53,55],[107,33,61,6],[85,67,10],[77,50,67,0],[109,30,64,5],[73,16,43],[97,62,5],[78,42,0],[83,38,67],[95,67,7],[98,62,70,6],[76,69M
,67,11],[89,53,3],[110,62,16],[93,64,11],[96,37,62,11],[98,67,70,12],[109,20,59,8,0],[99,58,8],[109,39,14],[91,19,70,7],[98,66,7],[76,42,71],[72,53,10,0],[75,50,61],[108,38,71],[95,66,69],[97,34,70],[89,69,24,62],[94,48,71],[98,38,69],[77,56,4,71],[110,43,58,12,0],[95,28,1,71],[93,34,69],[99,58,1],[94,43,55,15],[74,23,10],[85,68,32],[72,70,45,67],[93,43,61,18],[109,66,1],[91,6,0],[96,22,61,16],[110,22,9],[102,38,2],[79,69,20],[93,28,9],[96,50,67],[97,62,69,15],[91,45,12],[83,20,3],[110,62,70,16],[99,61,12],[78,43,6M
1,10],[77,47,15],[110,33,0],[78,16,24,9],[108,21,63,9],[77,51,61],[76,50,62],[81,69,23,56],[96,33,70,8],[110,28,59],[77,22,61,10],[108,69],[108,39,57],[107,50,57,5],[99,43,2],[108,45,16],[91,42,65,12],[110,69,14],[105,46,2],[109,26,62,2],[90,33,9],[73,16,32],[107,53,67,15,18,71],[78,35,64],[109,20,12,0],[91,52,60,11],[97,39,62],[83,60,11],[97,49,11],[77,36,60],[107,40,61],[98,38,16],[98,32,59],[109,37,62],[105,1],[98,64,71],[97,32,59],[81,42,67],[76,42,62],[84,20,67],[91,34,62,18],[95,43,63,9],[84,68,53,60],[95,34,M
62,12,0],[108,69,71],[96,28,12],[107,52,61],[85,69,66],[95,5,0],[109,66,71],[99,19,67],[95,21,1],[107,20,63,71],[104,2,16,71],[95,50,61,12],[83,16,62],[108,29,1],[100,59,6],[97,33,61,71],[86,36,13],[94,44,57,9],[84,47,61],[108,28,66,16],[98,59,69],[104,38,62,5],[78,66,3],[90,19,8,71],[83,20,64],[98,19,69],[78,43,61],[93,32,59],[108,60,1],[89,17,20],[91,43,62],[84,20,4],[89,43,0],[77,16,51,60],[110,38,67,70,0],[93,11,0],[75,31,62],[94,28],[72,25,61,7,0],[84,36,9],[76,68,60],[77,22],[78,70,35,10],[108,26,9],[83,17],[M
95,63,14],[96,20,9],[96,38,61],[108,45,61],[108,33,11],[98,53,2],[98,64,5],[99,20,65],[109,22,1],[96,57,7,0],[92,26,61,9,0],[98,49,16],[93,37,67,12],[92,29,58,8],[83,69,62],[76,68,32],[73,27,3],[78,20,1],[76,16,22,60],[99,43,66],[107,52,62,11,0],[108,21,1],[98,28,55,0],[91,29,67],[95,37,59],[109,46,55],[84,70,41,10],[94,28,0],[76,69,43,61,13],[98,43,69],[108,67,7],[107,58,5],[89,67,13],[98,33,69,8],[75,62,5],[98,63,70,14],[110,65,12,18,0],[89,27,56],[95,50,66],[108,39,58,16],[98,16,71],[98,21,67,71],[80,23,61],[107M
,53,64],[73,11],[107,66,8],[110,38,3],[84,67,7],[98,43,61],[77,68,13],[96,62,2,16],[108,53,65],[107,26,60,0],[98,30,16],[81,35,61],[78,16,13],[93,26,63,12,0],[105,61,0],[96,42,61,69],[97,21,9],[108,33,71],[73,35,1,0],[109,37,70,5],[98,19,16],[109,38,55],[98,20,65],[107,22,61,16],[90,19,57,5],[98,45,61,70],[77,36,1],[109,60,3,71],[99,40,65],[104,26,59],[76,42,67],[84,61,71],[94,46],[91,26,55],[85,20,10,71],[109,19,67,5],[108,58,71],[98,38,61,69,7,16],[78,53,71],[94,21,59],[109,38,69,2],[83,67,5,0],[108,33,58,16,0],[M
93,29,67,14],[107,50,66,2],[102,61,12],[81,41,61],[105,44,55,8],[84,24,62],[96,57,14],[98,70,15],[93,43,67,0],[77,27,71],[93,21,57],[102,62,8],[98,42,6],[98,48,66,71],[85,66,7],[85,24],[89,69,24],[92,26,59],[102,28,55,69,0],[105,53,64],[78,24,56,71],[96,29,64],[76,68,24],[95,38,61,1],[72,69,36],[90,19,12],[107,55,14],[78,54],[93,22,1],[105,53],[102,48,55,3],[98,50,65],[97,48,57],[77,66,8],[84,60,71],[77,70,47,60],[110,30,5],[96,32,5],[91,48,67,9,71],[108,44,8],[98,53,67],[95,32,66,6],[105,38,7],[107,29,8],[76,69,53M
],[91,33,61],[109,30,67,1],[84,70,27,60],[97,28,62,12,0],[97,34,12],[89,69,3],[110,52,55],[108,21,65,1],[76,70,41],[96,48,1],[75,56,9],[89,50,11],[77,19,7],[102,32,59,71],[108,20,16,0],[98,33,61,5],[91,43,64,9],[90,33,57,11],[96,50,6],[109,57,15],[77,70,43,66],[109,21,66],[108,53,67,7],[99,37,6,71],[76,17,38],[83,69,15],[98,38,15,0],[83,70,22,10],[76,68,64,8],[74,69,16,32],[108,21,61,8],[74,28,11],[78,47,67],[101,50],[94,29,62],[92,49,70],[77,69,61,0],[107,65,9],[92,19,12],[78,43,67],[93,20,8],[102,50,62],[90,29,65M
,6,71],[109,37,66,14],[93,20,60],[98,53,9,16],[75,70,64],[83,70,24,7],[85,53,0],[91,32,59],[95,19,57],[74,68,60],[90,44,59],[96,60,9],[89,16,0],[98,40,62],[78,16,1],[98,43,59,18],[105,29,58],[78,70,53],[96,34,67,2],[109,43,67,71],[98,67,5,0],[91,18],[85,71],[110,65,1,16,0],[83,20,1],[90,65,8],[89,16,20],[107,38,67,2],[83,10,0],[102,57],[89,28,61],[98,57,70],[96,20,61,12],[95,39,64],[96,43,69,18],[110,19,69],[95,50,71],[73,69,50],[110,38,58,1],[99,19,67,16],[98,45,9],[92,66,16,0],[92,67,11],[93,29,11],[76,41,60],[85M
,16,35],[85,36,64],[107,39,15],[92,50,63,15],[89,69,67],[73,68,67],[99,43,61],[76,11],[109,43,61,0],[92,53,9],[109,42,67],[99,38,12,0],[74,70,36],[91,43,66,0],[98,66,70,1,71],[95,34,67],[89,70,50],[105,50,9],[77,68,10,71],[81,38],[94,38,66],[90,52,61,1],[98,20,66],[81,38,67],[96,28,71],[89,16,45],[98,22,1],[107,33,58,5],[102,39,62,5],[98,33,64],[98,52,57],[81,38,66,5],[78,68,71],[76,68,28,13],[108,20,59,9],[92,19,8],[107,55,69],[110,50,61,0],[107,39,65],[83,69,22],[96,39,6],[73,69,38],[74,56,8],[90,65,12],[107,58,3M
],[76,70,23],[109,50,61],[93,28,55],[73,50,60],[82,68],[96,49,7],[99,49,69],[97,14],[84,36,1],[96,43,15],[96,61,0],[89,69,17,42],[107,59,5],[78,47,7],[96,37,63,70],[98,50,8,16,71],[98,43,65,14],[97,33,58],[108,22,60,71],[96,43,69,71],[78,51,67],[90,45,59,6],[102,22,70,5],[98,42,63],[98,50,5,16],[95,66,16],[99,45,11],[73,70,61],[98,69,5],[96,34,63],[92,32,6,18,71],[83,69,32],[89,70,25,66],[98,28,67,5],[96,21,64,14],[85,62,15],[96,28,55,12],[95,37,64],[109,43,69],[110,38,63],[95,67,3],[77,20,67],[110,21,9],[90,61,6],M
[95,28,70],[72,17,41,4],[89,16,22],[84,54,10],[96,67,15],[83,70,16,42],[91,61,6,0],[98,8,71],[74,43,60],[93,53,61,70,6,71],[76,45,61,11],[95,33,67],[93,48,8],[91,28,65,70],[83,69,16,19],[86,70],[98,61,12,0],[75,54,3],[91,22,64],[84,54,9],[89,68,45,4],[73,16,28,71],[98,37,63,12],[76,70,0],[98,70,8,0],[110,64,8],[97,29,62],[93,19,8],[95,19,61,14],[93,39,1,16],[95,49,66],[101,52,59,15,0],[96,30,58],[76,68,8],[96,70,5],[92,1],[96,63,8],[94,21,71],[85,70,60],[92,53,59,5],[101,29,59,3],[110,66,69,3],[109,50,67,7],[95,20,M
12],[83,61,11],[86,62,1],[74,69,42],[77,68,51],[98,38,9],[110,43,59],[83,16,19],[97,38,14],[100,37],[97,43,57],[102,22,59,8],[92,19,59,0],[79,36,3],[77,70,36],[81,35,1],[98,14,0],[108,21,67,16,71],[99,39,0],[96,39,55,69],[109,16,71],[98,20,55],[91,28,69],[78,19,0],[100,20,62,1],[77,53,5],[85,23,8],[98,66,71],[98,48,60],[96,39,66],[98,22,63,18],[107,44,67,70,12],[93,40,8],[79,69,25],[93,48,55],[78,42,10],[98,43,55,16,0],[105,1,0],[95,37,55,16],[76,69,11],[78,45,56],[98,40,8,16],[95,38,59,11,71],[72,69,61],[98,61,0],M
[110,63,6],[85,27,56,5],[96,43,67,8],[102,53,58],[81,45,62,0],[98,21,14],[77,38,56],[78,47,67,0],[89,62,15],[85,53,61,4],[96,20,62,0],[98,22,67,9],[95,12,16],[109,67,69],[100,52,64],[110,59,5],[94,66,5],[95,34,3],[76,16,32,56],[90,60,0],[108,70,12,0],[81,70,27,10],[85,23,67],[99,44,0],[90,19,16],[107,52,8],[109,53,62],[95,49,12],[109,67,2],[109,50,1],[110,39,11],[98,44,15],[98,53,71],[109,33,0],[84,70,27,1],[98,43,62],[102,46,66],[107,19,67,69],[109,57,15,71],[108,43,63,69,11],[95,33,15,0],[102,53,66],[92,66,8],[98M
,30,62,9],[98,30,69,3],[76,69,67],[90,19,66],[85,36,61],[107,43,60,16],[78,70,35],[107,61,69,9],[91,66,2],[81,69,51],[96,22,55,9],[97,59,8],[98,39,8],[97,29,1],[93,42,58,16],[76,20,61,0],[89,32,60],[73,62,0],[109,45,9],[91,32,55],[97,22,69,8],[96,26,63],[97,30,2],[94,33,15],[75,17,1],[75,17,45,61],[81,23,67,9],[94,5,16],[90,28,70,8],[76,70,25],[79,19,67,5,0],[91,26,8],[102,58,9],[92,20,55],[96,42,70],[109,29,61,15,0],[91,62,16],[109,38,67],[90,39,70,15],[108,50,70,9],[94,19,59],[92,69,14],[75,61,4,71],[72,70,0],[10M
8,39,61],[97,44,2,16],[98,21,70],[100,48,3],[78,17,23],[98,30,3],[98,55,6],[110,26,8],[109,57,14],[97,50,71],[94,33,60],[104,32,66,71],[93,21,62,70],[98,62,2],[109,29,1],[77,61,8],[96,5,18],[96,43,59],[96,8,0],[96,42,55],[92,28,5],[91,19,63],[102,63,3],[77,32,60],[96,43,9],[77,22,10],[92,65,6],[78,36,71],[98,38,66,71],[99,28,11,16],[110,34,12,71],[93,34,12],[76,16,35,61,0],[90,43,57,69,3],[84,27,60,7],[107,65,1],[91,43,66,3],[104,22],[76,28,71],[85,16,25,56,4],[92,62,8],[91,21,58],[77,23,61,71],[96,39,61,16,0,71],[M
76,16,0],[108,21,69,5],[87,56],[76,69,17,35],[97,62,3],[84,69,28],[96,33,61,71],[78,25,10],[109,37,58],[110,43,66],[90,48,58,12],[74,31],[98,65,71],[96,63,15],[76,62,0],[110,55,11],[98,26,67],[74,41,62,71],[96,26,5,16],[76,41,67],[99,61,71],[93,28,70,8],[77,50,9],[90,32,12],[77,68,61],[84,20,11,71],[106,33,65,12],[98,45,61],[110,39,55,16],[96,32,70,0],[107,37,66,69,11],[109,43,8],[96,21,8],[109,33,2],[104,29],[94,46,61,0],[84,69,41,62],[77,35,62],[102,21,14],[110,43,8],[95,22,55,16],[109,43,61,7],[96,40,66],[95,8,0M
],[78,70,23],[108,19,65],[99,28,58,69],[93,37,3],[109,34,8],[110,5,16],[98,29,9],[85,31,66],[109,29,59,7],[83,22,1,0],[97,43,66],[75,42,15],[98,42,14,0],[96,28,55],[98,37,15],[84,70,22,7],[93,34,61,16],[76,35,56],[102,58,11],[81,32,60],[84,68,16,43],[90,37,61],[96,19,14],[109,28,57],[110,46,63,18],[99,43,58],[84,69,38],[74,50,60,0],[98,28,2,0],[77,64,15],[109,21,6],[98,39,55,15],[96,26,66],[98,49,61],[77,16,47],[94,46,67],[77,16,42,56],[91,58,71],[91,58,5],[110,33,9],[84,42,66,11],[96,39,60,7],[92,45],[96,63,9],[96M
,69,12],[96,70,11],[81,69,60],[77,17,20,66],[83,35,62],[85,38,0],[107,40,66,9],[79,20,66],[94,38,61,12],[98,21,59,12],[76,70,9],[96,52,63],[110,39,66],[95,28,59],[93,62,16],[108,8,18],[79,67,13],[91,32,59,7],[96,21,55,12],[98,21,67,1],[83,68,53,61],[73,68,61],[85,8],[79,16,53],[95,21,55,5],[84,68,38,56],[85,17,43],[93,38,5],[74,35,62,10],[109,26,57],[109,12,16],[96,21,61,69,2,71],[74,69,42,61],[91,61,70,18],[98,59,18],[90,28,55],[99,39,11],[81,27,66],[98,50,9,16],[78,69,10],[97,43,69],[84,16,51,67],[93,63,12],[102,M
34,69,15],[110,55,71],[74,16,27,60,8],[98,21,62,70,71],[93,66,69,71],[76,69,13],[90,33,70,8],[96,38,16],[76,69,20],[78,68,53],[90,43,57,11],[96,19,69,15],[110,55,8,0,71],[109,39,62,12],[108,32,58,7],[77,69,42,61],[84,42,56],[76,36,62,10],[94,19,5],[78,68,13],[95,43,7],[97,60,0],[93,21,5],[97,38,70,8],[96,28,62],[78,24,60],[109,64,1],[90,57,5],[96,34,66,70,12],[109,19,61,18],[98,34,62,5],[85,50,64],[89,68,36],[96,48,16],[78,16,27,64,9],[98,53,15],[98,61,70,12],[98,8,16],[98,21,71],[110,33,5],[98,53,8],[85,50,61],[74M
,54],[95,66,5],[74,69,66],[92,19,71],[104,32,62],[98,53,12,16],[109,66,12],[98,61,11],[76,42,4],[91,39,11],[81,53,60],[107,44,55,2],[87,41],[97,55,69,7,16,0],[98,65,70],[96,66,70,8],[95,32,5],[72,31,15],[89,24,5],[87,42],[91,66,69],[90,43,14],[75,51,62],[77,43,66],[97,37,6],[98,38,63,16],[107,20,64],[86,4],[96,67,70,5,16],[76,56,1],[84,16,20,5],[92,44,67,11],[74,50,13],[98,42,0],[108,34,61,7],[75,66,71],[87,16,43,64],[99,62,7],[94,50,2,16],[105,43,63],[102,26,60],[93,43,61,6,0],[98,26,62],[110,42,5],[109,44,67,11],M
[110,48,57,69,18],[90,39,58,5,71],[91,46,61],[84,22,7],[91,63,18],[92,33,62,2],[102,59,11],[73,68,16,27],[72,23,4],[89,54,1],[92,43,71],[72,70,56],[107,22,59,71],[72,16,42,7],[76,70,60,4],[76,61,1],[110,19,66,5],[109,44,59],[84,70,19],[106,60],[90,43,60],[101,9],[98,53,11],[98,29,58,70,8],[84,68,50,13],[93,39,1],[73,19,0,71],[94,19,60,70,15],[107,70,8],[110,28,64,9],[96,59,6],[95,21,57],[98,38,67],[97,45],[90,37,60,6],[97,28,8],[110,45,70],[96,22,8],[95,30,61],[99,26],[75,16,36],[90,53,62],[109,37,15],[96,39,58,69]M
,[90,32,66,71],[83,45,10],[96,39,8],[99,19,65,71],[75,16,32,1],[74,45,13],[99,21,1],[100,46],[93,20,62,6],[109,46,58],[91,64,9],[78,17,42],[93,55,8,71],[94,33,12],[82,43,61],[96,37,55],[109,38,61,7],[73,69,60],[94,37,12],[108,49,59,5,16],[96,61,2],[110,69,1],[98,21,61,70],[85,16,64],[102,32,62,0],[90,69,8,0],[95,50,9],[79,45,64],[97,33,7],[98,40,57],[98,21,55],[95,38,6],[74,70,47],[78,16,43,56],[94,40,59,0],[84,54,60],[77,41,62],[83,70,45,11],[77,16,0],[83,17,28],[76,64,10],[110,33,16,0],[98,5,16],[89,20,10],[110,4M
3,62,16],[89,69,13],[77,23,13],[86,71],[93,62,0],[98,52,57,71],[106,48,66,0],[94,43,64,12],[110,19,57,14],[97,37,2],[98,53,67,69],[92,46,11],[93,40],[96,50,9],[76,23,66,10],[97,33,63],[77,70,20,67],[98,30,12],[76,70,27,61],[89,68,20],[98,22,64,7,16],[91,28,7],[91,53,59,14],[78,32,13],[109,43,0],[97,30,16],[93,66,3],[110,22,63,1],[98,39,1],[97,26,61,69,6],[91,50,61,0],[84,20,7],[93,67,2],[84,23,3],[110,62,71],[93,19,58,5],[94,1,0],[97,42,58],[109,32,61],[109,19,58,14],[99,20,16],[109,21,5],[96,66,2],[98,59,11],[91,6M
1,14],[97,29,7],[77,16,5],[98,21,62,5],[91,44,3],[94,46,61],[109,66,6],[107,28,5],[108,26,55,0],[98,69,2],[93,6,0],[76,16,20,67],[76,53,60],[92,39,63],[93,38,61,15],[90,57,8],[78,70,1],[90,19,55,12],[109,26,58],[107,61,5],[77,69,31],[98,48,55,11],[86,54],[92,28,16],[96,49,64],[95,42,61],[96,43,55,15],[94,20,62,5],[73,70,53,60],[92,63,0],[78,70,45,1],[76,69,43,3],[98,43,8],[96,39,66,7],[96,33,2],[109,69,3],[83,69,11],[78,45,60,10],[96,53,62,6],[108,46],[92,20,18],[79,35,61],[92,48,58,2],[94,37,57,1],[73,16,23,61,71]M
,[84,16,20,67],[96,58,8,71],[90,19,11],[74,16,60],[91,44,57,0],[110,44,63,1],[98,28,61,12,16],[75,70,10],[87,71],[94,49],[92,34,61],[109,59,69,71],[91,19,62,1],[104,45,58,12],[110,21,58],[93,62,1],[76,20,15],[93,19,2],[84,69,71],[108,12,0],[84,22,11],[98,19,7],[104,50],[75,27,61,8,0],[93,48,61,7],[94,44,16],[108,28,16,0],[96,1,0],[78,16,56,8],[108,39,69,8],[84,24,7],[110,34,65],[108,64,8],[76,16,43],[89,19,60,13],[74,32,0],[75,70,56,4],[77,69,20],[95,33,2],[92,48,70,7],[97,28,63,15],[109,26,12],[96,33,60],[109,34,1M
6],[94,50,65,8],[98,37,64],[77,68,20],[90,32,55,70,0],[79,56,71],[77,61,7],[107,61,9],[92,61,14],[98,55,69,5,71],[92,26,5],[107,22,57,8],[99,33,60,1],[109,59,70,1],[90,50,8,71],[93,26,0],[109,26,5],[90,28,16],[109,66,70,16],[109,53,59],[99,39,9],[85,68,17,36,10],[99,49,63],[89,69,19,61,8],[92,26,62],[83,16,41,67],[81,16,32,1],[85,43,56],[98,67,12],[97,37,67],[84,42,66],[75,66],[75,41,56],[110,22,57],[109,38,1],[77,27,67],[107,19,67,70],[109,63,11],[96,57,70,2,16],[91,50,67,69,11,0],[97,48],[108,28,16],[110,48,6,0],M
[77,16,50],[99,48,70,12],[107,37,59],[90,46,2],[91,21,66,8],[93,34,67,14],[95,44,62,70],[99,67,12],[98,70,5,16],[96,22,55,8],[109,48,60],[77,16,36],[94,40,61,0],[90,42,61,8],[108,21,62,18],[93,22,62],[107,67,2,71],[108,38,1],[105,33,70,5],[92,32,59],[93,19,2,18],[84,69,19],[95,67,2],[109,21,2],[109,19,57,70,16,71],[97,6],[96,37,15],[74,50,67,5],[107,64],[92,34,55],[94,28,59],[100,33,12],[78,45,4],[107,37,67,5,16],[89,70,45],[98,39,58],[97,19,62],[94,21,6],[78,35,71],[90,37,63],[107,9,71],[97,70,1],[80,32,0],[77,68,M
50,9],[79,19],[73,42,64],[96,19,59,5],[108,34,66,8],[96,29,11],[102,0,71],[107,16,71],[108,9,0],[96,29,67,5,71],[109,70,71],[98,59,7],[108,20,64,16],[75,68,16,64],[110,33,62],[87,16,22],[99,48,62],[92,59,11],[97,50,70,11],[77,17,67],[96,59,70],[77,35,8],[95,40,9],[75,36,9,0],[81,42,56],[95,62,69],[81,69,53],[95,67,6,0,71],[83,70,62],[79,54,71],[102,49,9],[85,17,56],[94,55,2],[98,21,58,14,18],[109,60,8,71],[73,38,13,71],[91,50,3],[99,40,66,5,71],[108,39,70],[89,56,10],[91,33,14,0],[93,63,69],[98,53,70,71],[78,62,71]M
,[97,43,16],[98,22,58,12],[104,22,57],[109,65,2],[109,28,12],[73,43,61],[100,22,55],[104,43],[96,28,65,1],[83,69,23,4],[109,66,8,0],[78,32,61,0],[91,52,64],[77,27,56],[107,32,64,3],[91,58,1],[96,55,69,3],[108,58,9,16],[98,40,70,2,0],[84,68,31,67],[91,22,61,0],[93,28,2],[92,33,55,14,0],[76,36,67,11],[95,42,7],[89,35,67],[107,34,62],[80,25],[98,34,55],[94,26,1],[96,20,58],[107,33,61],[90,49,55],[77,66,5],[95,34,57,12,16],[93,1,18],[104,28,61,2],[73,16,53],[99,5,16,71],[94,44,63,15],[104,60,15,0,71],[109,21,59],[96,60M
,5],[98,65,9,0],[93,20,71],[97,65,70,8,0],[90,33,14],[109,22,62,69],[109,34,64,5],[83,35,67],[89,42,0],[96,20,69],[98,19,59],[99,19,58],[72,35,56,3],[90,67,16,0,71],[110,21,66],[81,27,56,1],[96,40,16],[94,37,1],[98,39,59,7],[109,33,61],[96,28,67,11],[84,68,66],[97,50,7],[90,29,66],[98,20,63,70],[77,69,42],[83,70,56],[89,43,60],[92,55,69],[105,71],[76,43,4],[93,50,62],[96,62,1],[98,55,70,8],[102,26,65,12],[97,44,60,6],[104,40],[96,29,1],[98,21,55,1,18],[91,33,8],[75,42,11],[101,43],[81,16,43,56,0],[77,16,23,10],[93,M
70,12],[72,51,13],[77,42,10,71],[98,49,59,9,18],[75,50,56],[98,39,5],[98,64,1,71],[76,70,45,67],[96,26,12,0],[98,45,69],[96,20,65,69],[97,70,12],[76,35,4],[78,45,66],[98,53,7],[95,33,18],[95,39,70,3],[102,71],[76,62,7],[79,70,50,56,71],[110,53],[96,53,61,71],[91,38,55,8,0],[77,54,10],[95,53,62],[96,53,66],[102,38,62,71],[97,32,5,71],[98,30,64,16],[78,16,42,7],[73,35,13],[92,39,59],[84,69,10],[93,11,16],[98,22,67],[110,61,3,18],[91,34,71],[91,28,61,12,16],[78,16,20],[76,36,56],[96,55,8,0],[109,62,12],[83,45,13],[109M
,26,58,69],[107,22,66,18],[108,53,64],[109,19,57,6],[109,42,62,12],[96,58,11],[109,21,57],[110,67,12],[93,28,67,8],[73,70,71],[92,70,18],[93,39,60,14],[96,63,16],[98,28,63,70],[77,64,71],[98,37,63],[96,32,63],[108,38,58,14],[77,16,53,1],[109,28,59],[98,33,55,8],[98,50,11],[90,38,67],[109,29,55],[98,22,5],[96,38,11,0],[81,69,31,13],[91,50,64],[95,57,1],[75,31,61],[77,50,56],[96,29,5],[110,42,67],[78,70,24,5],[81,45,60,15],[99,43,14],[110,43,9],[95,55,15],[98,62,71],[102,57,71],[73,43,10],[85,16,36,7],[93,50,69,16],[M
90,20,11],[98,45,71],[96,20,66,0,71],[89,45,3],[74,70,66],[108,48,8],[84,70,23],[98,69,71],[96,42,16],[108,32,5,16],[98,58,69],[97,37,55,16],[81,68,25],[97,49,2],[83,47,61],[77,68,43,56],[96,32,2],[96,37,66],[104,26,12],[96,60,12],[102,34,2,0],[92,44,59,12],[104,37,61,5],[95,66,6,16],[96,43,71],[99,61,5],[104,61],[93,52,62,12],[77,68,45,62],[108,42,8],[96,28,55,9],[97,39,12],[110,46,69],[78,69,28],[78,42,56],[84,45,61],[97,55,69,3],[95,65,1],[97,50,12],[74,28,8],[77,43,11],[81,70,66],[109,43,61,8],[93,63,3,16],[98,M
38,58],[94,49,8],[78,68,22],[92,34,5],[96,19,61,9],[81,70,20],[94,38,0],[78,70,15],[79,22,62],[86,69,50,64],[90,2],[96,43,66,2],[96,37,8],[90,45,58],[96,52,12],[93,34,62],[96,33,66],[97,21,55],[98,34,61,5],[110,33,58,8],[109,32,64],[90,33,62,0],[92,50,59,70,16],[95,57,69],[98,45,57,14],[75,35,0],[96,66,14],[96,22,63],[99,55,8],[85,16,50,3],[84,16,31,56],[85,69,43],[74,69,16],[96,46,61,0],[98,33,18],[109,53,61,12],[76,42,1],[89,17,23],[98,57,14,71],[93,38,67,8],[98,28,7,18],[95,37,5],[93,32,66,5],[79,32],[85,16,64,1M
3],[91,44,58,1],[102,59,15],[94,43,58],[99,28,66,2],[99,33,67,11],[92,37,58],[108,50,12],[76,69,5],[107,38,11,0],[95,26,70],[108,63,12,71],[78,70,16,24],[97,38,59],[93,22,55,0],[77,70,43,62,11],[97,67,5,16,0],[99,29,11],[99,53,66],[98,20,62,5],[84,42,7],[93,49,5],[97,69,8],[108,40],[81,41,1],[109,55,2],[97,30,67],[96,39,55],[109,38,67,8,16,0],[94,2,0],[95,64,14,0,71],[89,50,56,10],[98,46,61,0],[93,63,11,0],[100,34,12],[99,53,58],[93,21,57,7],[92,16,71],[107,70,9,0],[75,45,62],[96,33,66,70,0],[89,61,1],[110,37,1],[9M
3,28,59,8],[84,54,62,0],[78,70,42],[96,66,12,16,0],[91,50,57,5],[77,53,11],[75,27,61],[77,70,54,10],[83,16,66],[73,50,64],[76,51,71],[105,21,6],[98,22,71],[98,30,14,71],[78,50,61,10],[107,19,62],[90,55,11],[97,14,71],[85,69,60],[75,70,1,71],[90,38,70],[91,52,65,8],[95,61,18],[109,19,65,70],[89,70,10],[90,20,60,0],[95,38,1],[104,3],[86,25],[90,43,8],[95,43,67,11],[107,58,6],[95,19,67],[108,53,55],[96,48,62,71],[110,55,0],[108,44,55],[81,68,16,67],[92,52,62,70,1],[72,36,4,0],[97,55,12],[96,61,7],[110,28,61,8,0],[96,2M
1,58,70],[76,69,36],[109,48],[92,61,14,0],[93,60,11],[108,66,5],[98,46,58,1],[95,29,12],[76,45,0],[81,16,56],[98,21,62,8,16],[96,50,70],[96,33,58],[109,50,16],[91,26,62],[98,60,14],[91,42,55],[96,63,5],[99,9,0],[76,50,10],[109,37,55],[99,45,62],[90,34,66],[96,46,61,16],[107,62,0],[98,48,69,5],[98,61,2,71],[109,38,12,0],[77,70,22,67],[96,42,60,11,18],[72,24,8],[81,42,61],[107,21,61,8],[94,70,14],[96,9,0],[95,38,59,0],[110,21,65],[109,43,60,69],[90,44,61,14,0],[85,27,67],[83,51,15],[72,69,47],[109,52,15],[96,64,2],[1M
05,64,2],[81,22,13],[99,33,3],[108,38,2],[84,68,27,64],[95,37,59,0],[95,19,66,0],[102,45,15,0],[93,38,16],[75,9],[98,50,3],[77,68,41,10],[109,38,57,8],[109,26,8],[102,38,58,14],[108,43,2,0],[93,0,71],[96,49,61,71],[107,43,67,69,18],[93,43,60],[96,52,69],[77,64,13],[76,27,56],[96,22,5],[84,36,13],[95,37,8,71],[94,50,1],[74,70,45,11],[109,28,62,12],[76,16,54],[97,46,61],[93,60,1],[98,63,5],[92,22,57,14],[109,19,58,11],[97,28,55],[92,11,71],[78,7,71],[91,43,60,11],[110,60,0],[76,16,42,7],[83,66],[77,69,45,56,5],[81,16M
,43],[78,68,50,1],[96,33,59,18],[95,29,63],[109,66,3,71],[107,28,58],[98,61,69],[84,56,9],[97,40,61],[95,7],[98,70,12],[98,63,70],[97,39,67],[110,26,55],[91,43,60,6],[98,46,14],[96,65,16],[108,33,66,8],[98,39,55],[104,26,71],[72,16,62],[85,69,11],[89,16,45,62,0],[90,61,1],[94,66,1],[98,52,67],[109,42,62],[92,19,7],[92,65,5],[74,69,7],[91,37,58,14],[84,69,62,1],[92,59,70,2],[77,54,7],[92,15],[109,34,1],[75,68,45,1],[90,67,12],[78,69,47],[90,43,55,8],[110,50,70,2],[76,60,10],[95,29,70],[91,37,55,3],[108,32,60,5],[97,M
61,71],[110,39,61,8],[109,19,8,71],[92,62,70,11],[98,55,69],[95,30,2,16],[95,66,11],[110,37,61],[107,52,5],[93,61,69],[92,20,70],[96,37,62,8],[84,31,67],[95,21,69],[85,25,10],[85,20,61],[95,37,63],[91,66,70],[108,34,61],[90,50,66,8],[92,20,15,16],[83,25,60],[107,9,0],[77,68,36,13],[100,29,59,3],[95,28,59,14],[91,20,62],[84,53,66],[93,30,11,71],[98,21,0],[77,42,11],[91,50,58,8],[72,53,10],[77,68,23,66,1],[77,61,10],[108,43,57],[78,20,62],[91,34,58],[91,43,66,14],[81,69,23,4],[99,43,65],[92,59,12],[97,33,62,9,16],[83M
,50,66],[78,70,53,62],[73,70,19,5],[77,50,7],[98,43,6],[76,53,62],[90,53,61,69],[83,70,43],[93,32,9,0],[99,69,8,16],[90,61,1,16],[85,50,1],[78,41,10],[107,37,16],[99,57,9],[107,38,15],[84,24,0],[83,27,62],[110,28,69],[102,38,55],[109,61,12],[107,52,1,0],[84,70,16,41],[96,34,61],[96,43,2,0],[90,20,62],[98,46,8],[110,48,63,69,8],[75,24],[86,67],[96,20,61,69],[77,70,43],[75,17,41,62,11],[98,21,59,8,71],[109,43,9],[98,50,67,0],[109,33,61,6],[107,32,65],[110,53,57,1,16],[96,43,14],[75,67,10],[78,16,61,4],[96,20,16],[73,M
16,24,71],[75,69,56],[93,70,5],[110,43,67],[92,20,62],[96,21,61,7,0],[98,43,69,5],[92,38,63],[76,31,10],[85,70,56,10],[76,60,7],[96,62,70],[75,70,20],[109,57,9],[98,19,15,71],[98,20,14],[84,70,17,60],[98,34,63,70,0],[98,67,18],[93,49,66],[106,12],[110,43,58],[98,58,70],[107,21,8,18],[99,12,0,71],[107,43,8],[109,26,65,0],[84,31,11],[93,61,14],[97,19,12],[96,28,2,0],[98,19,67,0],[78,68,64,1],[107,55,70],[91,69,1],[90,60,2],[80,69,60],[92,53,67,15],[73,9],[77,70,32,56,5],[107,38,11],[97,37,11],[107,29,1],[96,37,63],[8M
9,69,16,43],[105,63],[107,69,0],[95,55,69],[89,41,4],[109,52,3],[108,11,0],[89,35,61],[109,49,1],[93,34,55,7],[98,40,61],[78,70,10],[107,67,14],[107,26,62],[90,37,65],[107,34,55,70,8,16],[93,52,62],[109,38,61,70,5],[93,34,7],[109,19,59],[76,70,22,56,10],[97,62,16],[96,33,70,9],[93,60,69,6],[76,45,56,10],[98,19,67,69,11],[107,32,66,7],[93,19,65],[89,41,13],[91,19,58,8],[93,58,11],[108,66,6,16],[107,70,1],[75,41,61],[74,35,61,10],[96,29,59,12],[77,68,54,61],[91,28,1],[99,43,67],[96,69,16],[108,28,55,7],[96,5,16],[75,M
53,13],[107,37,63,3],[85,19,67],[74,67,10],[110,34,59],[93,34,6],[92,34,55,1],[76,38,62],[75,70,36],[98,66,69],[83,16,32],[87,69,32],[73,28,13],[91,43,58,6],[110,22,16,0],[78,32,60,5],[75,50,13],[98,49,58],[90,15,18],[72,16,64],[81,16,7],[96,33,63,12],[83,69,42],[75,66,10],[110,2,71],[95,20,6],[108,30,9],[76,53,4],[95,32,7],[109,62,11,0],[93,33,55,9],[84,68,43],[90,48,62,3],[91,29,12],[95,20,2],[89,41,5],[107,43,55,8],[91,33,70,7],[91,53,58,11],[95,45,62,8],[102,34,16,0],[104,26,67],[107,28,12],[83,69,28,3],[94,53,M
14],[92,19,70,8],[110,28,61,70,1],[98,50,1],[92,61,12],[107,53,11],[96,53,58,1],[77,68,36,7],[81,70,41],[94,43,67,6],[107,62,18,0],[98,21,66,70,71],[84,31,56,71],[109,19,62,5],[107,63,69],[104,57],[109,37,62,2],[109,60,7],[78,68,0],[76,60,5],[94,26,5],[78,16,31,3],[98,32,62],[108,34,57],[85,16,22,56,10],[109,34,69],[107,37,15],[104,28,57,1],[78,16,53,61,71],[91,62,71],[98,19,57,9],[77,69,43,60],[84,69,25,8],[81,70,4],[110,26,8,16],[89,25,0],[110,34,11],[81,27,62],[73,17,62],[98,62,9],[72,50,13],[108,34,57,6,16],[94M
,34,70],[107,37,70],[96,43,18],[110,46,58,12],[110,49,61],[93,39,55],[98,30,14],[96,19,66,0],[102,22,9],[99,49,64],[93,66,15],[73,60,10],[84,38,67],[93,61,70,5],[91,39,14,16],[76,69,22,60],[99,38,0],[99,61,2,0],[109,29,63,5],[109,19,59,16],[98,34,3,0],[72,17,41,7],[94,34,63,70,18],[102,39,65],[90,49,8],[96,21,62,69],[76,70,32,0],[109,20,61],[105,34,55,69],[95,34,12],[109,65,3],[109,39,57],[96,32,9],[96,29,67],[93,32,1],[99,22,5],[90,65,2],[89,70,36,13],[81,56,8],[90,55,1],[84,16,24],[92,62,0],[95,45,57,0],[99,67,11M
],[89,27,64],[91,26,69,6],[109,33,63],[110,32,59,70],[97,22,71],[109,29,59,9],[108,38,12,71],[91,57,70,11],[92,53,62],[78,68,25,67],[107,38,60],[95,29,15],[83,62,13],[95,45,0],[97,33,57],[74,68,16,47],[98,60,69,12,16],[93,21,63],[76,36,71],[89,70,36],[83,51,9],[109,43,67,69],[96,53,2,71],[92,50,66],[73,54,67],[72,69,64]],CIDS=["QmRu646ygF8YjbUARMPbtky9F1PkACNQBFxyCfVtGpmQfS","QmVt6v6gG5M55X7ZSdZuWCetgm9EUoL7rNUbN1NWZmLm2G","QmX4owKijQTynuZzuNthjSzSzahrBC6WhTXJ9MyG6FgwCK","QmQtqoeaMQmMEZdvzFygxVeG3FFEXTqm1CsJv8SxFAsM
Qg8","QmVzxzQjGaqxyV29HyCSgGaxKjqg2bZPZfxmquiv4cCpBJ","QmeU6awXh7KvCjCyeLsSyyHgJpjifUEM6QmJr7pSvNEVEH","QmfJoeyMwpwK69N1MXaBEc3KottwuXqNhrzPFExGkRxRUj","QmQPvzhbEbtzrxHybqaGQXfgCDaLw2gMXrUSXg73GzN4gT","QmdrMtLimQjyhrAbsXtUD3GrZ6zLLVqfeKB8Nz2uhDuyZo","QmSKjpmJaZSZgsPTAti61gpeu3PXQQCyqwjt7NeKMHWt97","QmSH3XHHpjzXHPZ5n6UyM4iy5WF9yA8Zfoh2URoi1NnkCo","QmdLA65pbefMdf6noaGdY1Tv4ouRPMYXYaQQDtGRKGWUKJ","QmPsTsLCFg3fsFW7SjWeCD755Yg3sdtMqN5hRt4BRKUbpC","QmavjJuZynn3XaMptX4wUaiUbJRgEBxnkTCp5Ls9AGv31k","Qmdmtysy9eiEpgx9HZ2vFCxeM
RAF8pJTCC58KE9f9fz6WVL","QmVUaV1nXVA1zTTc6fJmGgogCAnQToKZtZy5SmnGp1QSpW","QmQsJ2Q68fKv8X8oSJGimomfwwGkXmTuZJ8uA7bJ5LeD3v","QmSUDVP7cN1TqcgyLT6HqsfJXMzWLk8Q4HFaNBJ9RcuSG7","QmagCTL4SCZ1e6R3vXmCfGcXaetgzquADFYZhEgAzwyCix","QmYCkk1T1yaLMYuE6b79PwwS729tR9VPwspfGyEmz6NDAZ","QmcEbeq6rm81CEFtiRL723orX6USZTJ5rxxroRdNrKGRWV","Qme9AVUkzKgNZJCMZEBvQJLufGQNTwiKnnizt92rJGVtkE","QmT82LRg6n75nVRbYtB866CPFqS1bcciMEZpC3AQcaXzA7","QmZE1cNX6K3cTCfyQVkCZbqo13a9argUQj3zHmjFgajB13","QmTh74notrtXoc4DFf8HZMhcNMx1PCXFkFYgd3vVRpPPDh","Qmcz4M
kWgjMcwUHm9sMGG1X1bfdhgt471SnwrXgG7UFf63Z","QmTS3fPRWr6qRt66NHPpwJS5U84Fvrtczy9wDCKwf8iT4n","QmWHRvyn9CfjueoLXp28YBJk88R8f32rJanHK51EXasMqR","QmU5cEPd18iAZb7qwENKtA4rJ9tub4SUFJPVDGuyHuqAiP","QmbWXBBD7FnmyEeEahmx4ujKnQPdqSWPEhP3k5E3f4ARWG","QmdkjeSYj8aScm7ZbfzJdgHcTkkJzEx2SmP3HqCLmY3kRV","QmRC2YTAcaF9h9BdohH451rabafVAFgLbREysLum57jP6K","QmYXjeuAKLc3pd6qsxgLpDHcX77eoGehfBBj4vDZvhdMgY","QmRNsenAGnK7eXNctMZ6ou9GgfZ3uZNxxu68Cg4kLPeKP5","Qmc1pANN69W6oVVxJETJAWBoQkiz3z8aiwkAh7dAc3WKqV","QmRJzJsy4nvUqE9MhDfaPg5LEUD86ZTgY5HM
P6D8jLz7DvN","QmWg2sVGfT9VC2Mz5uUV3crhTqPimRDztnCdUnSzJyt5dD","QmTzDnD967sbMFfhxH8wg6m3dTXZ6xzE2HPqynM3gfJ7v3","QmXBBMwMkhbtegFGLhqZRyAYtpjxud8D7WE7Mbuds744cq","QmdvjzixYRMLAPdQ3CpQWKaqADSY9u3PyQCftoN1aiixWZ","Qmb6CouhGqET6AFq3JDFfvBQpVGHuiEZcf4twzaSJpWsHs","QmWaYgGJ3aCCywYU6wwUH454dHXQH5A9s9siVUSuex1HfD","QmSqmmEz6V5hmPb9nmBZTRfTZQ3XTd4KwWtSpYXAtdx78D","QmSpB6BEqWRBfPdoGfnPWok8RizTXZPRtbCBaZZyaiFa3y","QmVq9FGQZoYzAujATJRVQFSozNtGkx8PjDU9cHyyBgYi1Z","QmRFNYqTgaxsfkHWuSGpSmbuukNQfxnXranjVB1PoxX6iN","QmTJMtKucvFheL2xM
CjgcoMa7hN9XoGsU3MUrFonzdLPg22","QmXCxBkFZa9A4SdLwd9bedeq44sbLgcFiYgV1nUddfexBS","QmdsXCAzEVNujCYDRPLbwxonGsUB4QfFqRb7TkHU7bDYcK","QmQtmMRnTtMnsLPaJLaEE2pSNHqfW5T4EkZABtfDndJdYe","QmUd5Wq1ZrnZiXU6Uobxjp2rYv4aYr5z99Qw7Mby9hGDq4","QmdNpsG5L6zh7S7cgYyVeirx4s8jef5SBWRAX2MMpPfsaf","QmXRbnCD24vFQDZX9VRFC5Z9VhFpExPFsmofrfkqacQ3DF","Qmam3HPmak1FXX3mq4VAg3tsx3JxAYfzbFojRAsZ3beVks","QmeBzJug1jHNfWnhj7RS1TBVot6yTXVuM9d2pAdraq9FPM","QmVEZkpDV7v1PTheHJ8A259JE2S3uKJQra8gVwi9u2H7xM","QmUEBENZVFEDbpZbLbbZAF9mWj8h6cCTWpdUFnvUKDCaPiM
","QmWzazSr6KdjT39uFvPtAW3PkKsKnMK9Kv62o7qvtZkak9","Qme32uQ91LZerEjNgZxKe4Dg5jjQgnfvYxDLbw1Yi6WApa","QmdofHpJ37VoRtmwDAQy1JGM7gyV6yUtVX22M1cjMfAD8X","QmcyFKqxsuaFfca1HiZCyLCkhZpUQUccW7LEPbKuwEY3GH","QmaqRVRXrBe4mf1yxKzYJpFwvGBzgun6VRZHdyp5hRXX8e","QmS3Q9tufGntMGXKjPHQ9VePorN2zpVqsJ2wsQ78rbKE2i","QmVZv2JaioX56zjHELa5wg6HrBVemWPkHnWvmTX5UMbRFm","QmWXrusC6R3CH74wmSYuHhunR3CFijQC84kyvo4DxZYmFX","QmSQxEFvev7SmMaxn4SXMQuwDncgFSDr6uU67y4iXuoUJQ","Qmbm39N7LdjmnK4yXsrrZn9rE9qas54y8qgJqn8T6ExK1D","QmTeBMNTnr26DzEUmwv59A4RuXqM
6BSaMoCc39TAUHM3rRv","QmXBPJ8QHe47tdn2MmD4odVrbrWvBZLMpdZKaDo88KugHa","QmYWUD375B31XugNvakK8gy3FhYvfuAGsCMFH5kTE4VNyn","QmdF2QUJGn8bUMFYJrGe12tXepLgJvDJUjb7GGD1SjtDVE","QmXwVVXx43r7HkuV1xYvsHoe5VprBmwLEDsuVS3QypCSbW","QmWYW6oiHYTyvWoPkLmjpjDCtffusAGYeuFzaQ4yj8nAwX","QmVb53PUW2TNq19CeBo79aTcQhC28zRejqoA6hr71mdYtM","QmXoE81qsM5TaK5xq1NEzarJVH7m3had3N66Ntkv9DhcVt","QmXZDTxu46YoqyEkHGvfR7oZiz8jpGJWTuknXTeiCb7J5e","QmR6bDqCai4hF2Vd3WvJF7GHzcZPZucsCLCpmtiAmouMir","QmV7W9Dpy89ruArQc8rBamsFRjywYHExBuiY2whcuQes7P","QmXdZAEgM
532HLE7oPt2yyrSLNS3rzDCXHsaEeug1ezC8vL","QmQ2G6uBsmFauJpyqvVBs6ArzaPLgVkpxJKLscCTftB2gr","QmP5HrJpGFG6HtMse7tysYCNm1cz7zp25oU7H9gzqDJXLm","QmeSSkcqpTvTUtWydTXpFM3KjkthwL4HpNWXgAU1iT2KDf","QmPoHxgagZaNBYSTycRgrLgz22qyXfpiHQmfHjVmNmKpBL","QmXxM6PmEQTN3Wp9KvVVMNmuChtygZvzjQ34jT37ofGnKW","QmPKFdqA6wrnqpo1bjeqsp4uyuK4xt2n1vu1yFQzknAXS4","QmUzbEzuS34TsZxoCkLhJTURGhmnUSpHMyAfx9dmFLd3rV","QmUikpNEkFWYPKHrkHtr9Q1bSCCkMKVEpcFUSv4HLwiaV5","QmfUJy1iD72rXJ3rVbYeKVpNJkP36wbqXiW4F9fMpsqvYt","QmRdj7F6YqySpmAyQbtQrQS2MZ7d6BPR5Lm6B4M
KSSr1Pon","QmdvcH8PHf1rpLtEUvq1r5FB11r99UR1xGc2xTTRpGuLBd","QmegoASkgyfHbvVS5uDJKJLdEZtyJp9pJCupSexRmULccD","QmXzXvi9N7Lpu26F71vUjhj3vPrG9KL1BE17o2NQ2hkqv2","QmVF4TANaB6qqoq637b4ZiYWEpuM1NDG7uznCWx25G5TbA","QmcYRP8HHcgDQvrPSG7cAdVc8iuFmUFEgXCq4qCDfSGbQk","QmUpKP7fwnmF5N9CtUueB1mvAwgr1ebG4gsL4jtW3U9BLN","QmVXqGuuwkHXE47J839z34vgMQwfjbPvnLfSJgEjXWrD7Z","QmQ2i2BXsfGnujCdYwXm8wFx2q3T21jtExsEZfVPt6b4Bf","QmQrehh3K4ZW1FVNbeDnX5nn684mBGYPSh3JgRbkH6k9od","QmS5SVtjUMCF31bWutwXycGmkrExVYMyGTKMbJ9PXrcmSN","QmWEsmgwiJz1zoSbt9pM
zajf5TmiGgsecfUHoPLbqtqfPFs","QmXNaqc7uDWUVeDKjFFsCZ6CVnb1j33dcNzfQfzQz3635E","QmUj34ip836uELaeAnKcBMG4uxuxjTQqmujYeGxzEc2etH","QmXTQWMbNUh8W5CJy83QDXgZRZEvVo962Esc7AJiN7tWmy","QmdcgsWTccy7spjjqMCaGv76ZGFai4jxyQQU5LWSFMqGX4","QmPnVyXZRzv2XWtLZfqDomXvtwZMMj4PGECQaVqwh9jGp7","QmbhPeqG2t8ZCmTRXdr7gsoip27H1BrUcf8iHvjQjorvUX","QmbNE6dptDHZ6t6ZC56wJJRGkynyd3tVMi5tieT2Ny4Kk3","QmRgAShX9vF7HVYHtdc5jLBsjGyV47Kw26mv3bSPeweAep","QmSPdNLkfKba4BVFAYeZMrZGSRQgmGE9k8ZrLwd27wHYaV","QmfG5kHbEr5v6zXX41Sx8H2EoKWATkzyzFVfWLsMbkBvUf","M
QmfDppxTd4mtRBhZaaPPuKQQ8b3f1iUSPTVDpCDnuMR23j","QmQpvV2TbWCU4rS4rNvr58nHHkEkPCcAj5SmwH22CCsAAY","QmZGMeiJPvHuXdLXFUHWcJy56dJiSgVezNQf3xv47xMorV","QmP8LaLMRqXB7R6EsTyDXg1aUQ1vUmbrgvMismf3cUZe7T","QmTJY83RfWaAREiwNn47tPGUaYgLxrggFtMZXdXuWgaj4Q","Qma7aguPPYAnLc9F6P6xUZqVgGETqsaL4S9Nrd1YXq6bdZ","QmewNsAQbNEqP9aQ2Zk5TW1QdeqLS5RVT3GZtuU85mabJ3","QmZJXspZ3umDWoUBP1NXzBv6uqputaeT5nwVdrz688Cs4p","QmamzaNcEwBrgRGMCJSuPpV6C8UeZ7xDu5UUpinXmU7tUh","QmaaDXz14fxRAhxvs4TmhUwo9CAgchLHDaBcvs7MH5fEXM","QmXCC3c9e967rcLGvAU47VQRCck1KrM
r8asGMXJTBhVyxH3","Qme1nKrV732XeUfJNtZ1eCRXdXyoJA2hWGuAY4EMcKg5BG","QmaqDhv9DrNu83jyMkFx9jkLsbBgCt3j9XH7fAqPMPB7iX","QmNiHLZAeZ4vV63AGSX3Z1G9TJ55DjEvbgWp8i7Tk1Gvfd","QmUkKasH1mjUo3Bw6s4i1sLePjf5oUe83UycSSX6RrKuYS","QmUSsTNVtchip3K9NUuPZ9iRS6eLkPkiCW76n8yLVfepdC","Qmd1ozod26dogCQ3nEicGxcCiMqdopGzGXYDGGSycJKJ2w","QmP1fkrXcy3okhVtLLHNsXcX9nmfx2XMV4gu5TypkwpL8D","QmPhAyStSHhWcpMqZWWh9nmxuRzxgATknTAoJUe1cG82b8","QmaxhgiUS4f6LMRsGNp88ZuaBVbDy6bXZmyxSuFBLZrJBa","QmbrCqwwXPrckxuNNNCrgfRCgawuVCZJ1TNWRrmrvPczWV","QmT1dyGYSc5M
yRxjQT4zuxckMtNoXVYic8CvUCGP3AQLoHR","QmTD4jPuy9rMJf25oPWZ45UffkFLwYY8fpXf7YvTzxrVAk","Qmas3A6UhRrnfjSzER36fTgjxREZpz1UBerZ8TJX38PzM6","QmY3q4mWnDe8fxV42AFqo5BxbL9W8LyyadUMwHzWFBDeUK","QmZJS5tXBqifbNJhdKnsk1aQqhwJ46YWXRCQ9bsU4azgaF","QmdmbhaH8h59JpBcGfe39TJHcVS4WpscywficbHkiyxjU5","QmbuE6GiD5ebLMeBixqnAyQzuPog59v1BqwPwwsgckWmpA","QmbbQLW6q8RKArf3fkR2NdTux3vKWHjdjELLJN1CPX9GNM","QmTEoDtq23wPUs5vR7qPf3mfcYENQoZmX5MJENmvUKM4xc","QmYF9VPsiiRfYFer2KcGD3dyrg5LgMbD6CVfpQq67MykUa","QmT9N8E9ghDwwvB9eTirwiQCG39yVZ2z7dm7fkR4TM
undLQ","QmczNqYombv2UQfwZqnDmkBrBjmPfRAz9MQ5FnoJdWoGeh","QmSU4FMg5tXo3h9QRMujyRxaTEAjd8KpCR11i1xoaRbUbw","QmVrm2pRXf4Fo25jFavKqTyiHBn8vpaFgeq8uSvJfdtrzQ","QmbDp4Swvm9eCc25oU6vvhyWZAoxchUwbvjrePvusDYxFm","QmdwqnQF7Ckff9XBBqXpQmQMiUnKxt2CcgvEowh65d8CAv","QmaYVsahPuj9TTtxD48xsXc2vtvHLJBRUNd1YQYi9wV2yv","QmbHyhmyYH41CkKrWdiZp7wVm7zmb2CJYUtmJcPwuqLZCv","QmccEAekkc9zj9W3TcRj2YARxaquJQ6uTfmfF3sUSp9Ns2","QmVTGXmd5j8rEiH8aPQ2ApENPsVYyGPJDWthuA8Zvd2Ezq","QmWVaEveD2FeudoSxG5w4SimMtuGiWuVeu3DkCjhgk1a19","QmVdhLLpJRHR54ZaizdwAvM
exTmAzJ3RXxYFNYCAeEPa6VG","QmQThU12RmY8wEBHziBHf3VwSD1VegjRPr8YUhacHXHEDr","QmTsvtnauSrnpkmMiU9eDbZo3CoxkdscuKoYczJnziMFs3","QmfJLiaNZa4usJdMykGXfydM3AyPd3MpUwdR7GvTv35jBC","QmfLqcEtivZ7UNBdi1ThNAbuqamsJr8x9TMh8nyPaTKku2","QmU9v59JNYmNBBBzMcAboZCbB7wYnukL9BDyemKxR1KBro","QmPqzWGdkgkdf1kfSZPEhAujU4RnBnhNL1SQtSmWvjgwFK","QmQpGDC974rpoq4bjHshE4Gx9Ld2uV4nLHTqN3gMuaEyhf","QmXH1zribVmK7d8rvYUvcS6SmfPTsRAR8xTCXQ5Cuyp89j","QmYQgVnAmViERmuA8fpWEWyiDxBNYZ3C9JL7ML96LdnY4C","QmZffj2ktHPh6ezNXa3iYK15iRUJz5Ggait7i1ysbn7J9L","QmQM
oeAxSnv2KZYfirrNzxLNNMTkGD7jvF1xFCDLAiEagAd","QmZJtMaAosZLdjtde8RYcvhpfYTMYFhyDape5HCsQHznmy","QmNVx4gAfLSjwvXxK2q3rehFGS3HXdXBRfzFE8u62vdRYA","QmTuGASY8KTKZY1VStyN5jizejmbo733qSqXgASRfLY1zf","QmXSZ4APsa9MwTxxt4WUDCruadXVhkNdnthrH3v7FF1kt4","QmcVHz3ns5HKSRYtRSVXE7cXYhetRJQ4qWVYKiutjujur2","QmNipcxbHwCdAaa8JC99cps3Z4rYn6in5Ma4srR97zZCqD","QmcBXN2KiwJFxrk4fBJSRYZTyMzymVv44ZrUReQ8MnG21R","QmPqS6npiuRmmnkCWefwUqjGpsHqdqz733UseTfmWfRpN7","Qmbz6HF2ZWnCaCq9RMLYE5csVtaporGcDTAP142CXPjBTL","QmYxurYFLRaaqrDfSngUJ7wwV4gWLe3pjM
eGKf5ef8XyinH","QmT259NtqhoQFx5GrMr9yYZbAKUatnMfUFpk4vSJ2NsRVc","Qmf6HTbNihyZsPeHtfRJHfPbJsp1rMCCw2kqRcU8LvRmWg","QmR4Wb6WHFRcqoUhoVJp1BM1hDbiUYemmhmYBvDFZSTQi3","QmcHSAGErFAx3U2dHeP7vJdTXiQn7bTgVRiQ9zQCm4XiFh","QmeoutNJ3LLsPWmN5rdeHxqzw7rPYaJvKCoioUUuSzfx75","QmZJeLRCwkgUa9km5AfCkvV5nvzrEUXWL6jYPWXJpj1Jp6","QmWc7RCNvnkG7qvLuadRkF6DsNY9LSYme7BnhWBJht9xTk","QmWRSTynXQShUdCY3Qix7nPuoFrjRmqNkWrWzbZqp312t2","QmQdpcNRYrisRNmCsW5h48BAfUeCV2sLdYGeNc385ok1si","QmZTpUkEVX9QsP2jZNSjrvBCrBrmWZKqpgM7NuVBNBq4sK","QmXbqgvGsBhSrGM
JkRt6fvynzvcJwtTHhXTqxvhTySetuuS","QmaUad2Tq5a8PhXMPQ9RpJ9YXVRDbzqa9eG8Fkqq5Jzk35","QmXFfcQe1o6FyRAJjQ6Cs6DDXnJYEUXScTb1p6gvzVubeY","QmcW8wyVqiDninvkN6nCwZpY3DB94AuNNHbFhfE2kdNgPh","QmUD9tPe8fRJYRW1nPfP62KexTHaH3oRY1nNL2gJudNnWK","QmQkVxvgFnxGjCC2F7WRGvxv8Eim3nwYZvPAc6mSw9duEn","QmePTD44dex7xxvchQnQUgqNAZ6moLP4UnjpJ1uSRyjqEC","QmRM2XyqSShNfyE13coXvU1Ud4wzaK4k3FNP6mqk3SBq4D","QmdJwoS524i8UFwBb6xf7fNj5SXceNbypLwgpfNgk1Aaj8","QmdQfsBda9yqsTpekoNJQVKAgALUe3cLvRGm1jqN9cJKFs","QmTdXwc792KztgYcDcXtaZNj5FVQaLBdioPW12LQciZDM
p8","QmYpv7ez5RzYKMcvAAkmMtGgm2rkDpFDarJKcPkup8eb5R","QmecbFgdaJUDF7KgKhhugVoCVf1YGTggcajCRNRvoUQYjb","QmZ94HNwJLHfLCR1wL6zKKbNsQ1pz5UV3CSHxGmg4smenm","QmNgvcGYUdMRFUwEeMwJr1yAMT8YmNdj3fZt4KArJTvq8R","QmWGB6qrPFRgjJepFjzs1wZiSeK2HT9w5hqbdEJcweoaCk","QmenXnRuoKy7FUQ5dK2xH4a1p85SXpSzPuS18bR4W6Qi69","QmaLV887aiykwPkdMNXY74QDvDVRR5pnKsto9iWh3FxsQ1","QmWtuFVSVcUc9ZJSfLfhtw27z9q7kp4azvszFBcNMmZr7L","QmZLuWKacoVDR7yAZh3kK8Y3PFzgrQ1xM7qV21BcjG6D6H","QmcrsrphSdSGgD9Rf4nwRyeeWWXH7TkgHEPjmpDTvNApbr","QmYm41tRHpFupsp35ieUC2ZMwM
o5bG68vo55x4UBFRaJLYa","QmPaiznUmX1VAUovdbF4cFThBpMSBZg7kJxn5RrJoHhnRE","QmYaT4JToee3vyoSug4uyZioETMgzwZ1zvNHF3kcsAhMZe","QmbdoDK5fWfqD7zq5j3kBY5ZBWy7hSJnGtHSxXX4xn3dGy","QmP95srZn6Vky3Xni4hNccfFiJDmRnLBMt4RYaPVQPDcHA","QmYu7ajr82YaoCEwTeeV2MdEy8ZmPknF7Qi4ctpboAGRUN","QmZo4gFy1nyMrDgNEAssWzmqGTbgkHqpDqDJcmPXDNdVou","QmeCf3eJmVjZFaPjea95Ae7vssqetCvxmGmqB6cx4XMRKb","Qmf4rCSmwo8vrdRLV8C6AKtNXaFxSx77WZ3Ld73wRMFRNx","QmUxCfPXxwAUbJnh6PUqXGADCL6kk55dDXNQ5t16NUoayd","QmNyJCNWNPXMtwnSL42UeLi6cLFJkqxgyMJeUVW9Fb4pCi","QmRGEgM
bfW69tzu5BTWP1FFKVPaaggvHojYjpo6W5Sn827R","QmY3ykKAxVvfkLrVU7DvSLZd3qoK3vtizLfCaGkavLLDmn","QmPmwKCKMP4K5EDaZq1KiPeeujaNrFAhdYbnT7akQ7dWFv","QmZ76CEo5JZhXEjy38Pt9b6dJjxcSjnp3FDdgBH4ikPY1t","QmQqFC8uYJZ9paajiUAx3cUhFJnnwyiDAcVcXWb5Br7Rpq","QmTTWotFfgrj8k9yCGtphimcEmzSJiRmNDcHVuUu2sgk3F","Qmf5r43swfAJVWH5ezZ85Bqh1E3Bao51WxPdYt33afMfLn","QmZtihsX74ggMnK9jBiPgiGh7FXSuCuwrkp6wbb9BWvFGh","QmPBQMqGNBKa43bf35TgUpn6Rh9JftHNLymDF6xHLAQHe7","QmbCDqSGDdnqhjxpH5Tq85GAu1yVsFZLvomSwGGG8hp1Aj","QmWUWFKVH2D5enqTbHe1fKoRJru4Y4ozQRSwM
v5hkYuPs9r","QmXUxKvZTUhJMekmBz74pmDwyLDFapGEJTuMxRy5VR8Tbh","QmW3goaqgbN23QFKZXeFQj9r4LqwUaBURsyPoDC1cYYhFu","QmaNAGEqNeWEzXV7BwwWSzz9K72tFJve3tqNRqULHdfsDZ","QmNRwcA1o9NJVpgsZHhsJnMTkEMAPa81w4ZemRC6j4iQjq","QmVxDZq9rrmZg4AXYLEY2fasYWNTTjwa7t8PoWbgvZPvyy","QmXn9TnmEvt67nWg7xuSArhCiAMxPpYftVqiRQUr4Axnzi","QmUZSaFybvceuhauVQfeLgcF3y5vbLPsbVkDTEuGwD3xPc","QmU3KiRBp3YHUin4oQ6WQe19kJSznPo5HbWzSMx7ajRnZg","QmRKvaJbyqiXJUiMXzoTnUEMuL93Amsx2bNfwe22RXJ5kD","Qmd6RKNpDhvUw3GTG2yfcjK4j4foJpToMqyHCLxc4zFPB4","QmU41d5T4rgan4dZFM
QRFt7wnXw5ZZLCQtLs7J7sZtLkCSX","QmV9xnjaqDb13jsuo2RhKXjZ5tJ998FLq3xcEj5BdX5T8j","QmYLL4TfT7UBsZ5kNg1typ3RxWLE4L5H8G4k4oLuh4s8xU","QmRHLvgLjQGrivy86BArcKrBTkYkX5Z5ZZKmdqsFUt3khT","QmPCZ2JTY5dC5g3xiMoP57uhztgn2UgwELLHTgP6aVsZAD","QmXbrEZ39knZtWaEsZit9u3BXPkaN7e6PMsB44G8CkAqJc","QmWuZaGgVxzTsn4j6vBUN8CKqyh46eXLAftgvpTVdpwQgx","QmNxd6XCjqwQ7GMqxjveikxUMZpCFE93J1MYkjtjTSAzCE","QmUmQegaD4mWxFPfzc5x2PboETLTaia5uNWR8zGYXY5gY6","QmVZKhNHue13AnF3YaGSbW7ezHX84NfCLiGML8RFL82MFR","QmWTYrdTH4UnZEFgW9igcaripHf7hFf225LDVLTyYbq7PE"M
,"Qmf7Nrfbe5YgYLKRKwpbQV6DW4HbMjNwqsJj8iRzzWhQk9","QmTcNcborgSuhfk64Ugsoz5JQco2a9pWgUmXRqx9mtA363","QmXCVhAu9WeagB1qGUPNaiR5SgSCmwxsDxkwtaQWkkujFX","QmfBVT8nk85G28rzQp1i82RirtoPhe5iMtzVtgz9VZVqes","QmW1Mt2qvtz39eYw8yXe9Tx3gJ4yG9wF4SR5okvPoahh94","QmR6L6rkvAZ37BgaLDVYdDCG53A65QKiWtaoJnQciggzyT","QmTx69P3dHivnhPytXPrC7obAUhwWWjwQN4hE36GhD5biJ","QmZEooUCwTNrgaW7dDDyA12c6y5TxdyxNeSsdF1NbgbQ5S","QmXEBhHLYJ9bqk7bfsoYgktfrB1okNzZC6MPNif5jBhkJ1","QmZfHcmxksm8JseJRN3hLxFvjMGczCbNrFVPyguNTstq9R","QmeesmfVMpavHwYeeet79kmSthzNM
hgFRgN6wX5oNn6gGVw","QmPgVtpxhPFLz3cEa9EUwGtZDy9KbTFEyo61Ts7pjKuhE5","QmPy1U5sfbquz9ynvoBxhB5TPHBY844ewswa7a9KL591L8","QmVuTrZKFCut9qGKswp7UdbrwdishhTnudfUpcJdBba8Fz","QmSt6wuTPTwHt4oUpXrUjcHBSPYkX8RMsBaCaNMATDRzP8","QmQanG9FugiVw5hXH35EJitrcY8H1H1UiK5L5LFkqcnCzY","QmSm86mZLLtmEfNBu8f6R1KRuKPmwPFDkZw93D29t7u5YV","Qmar2tT4anZNNQvQVH4Wo2hjv1Xj5FhBTNooH6tQjCuise","QmathqbmN1ZwMaLJw9zBusZLHpefB1Hr9LqQRVM1hGZQW5","QmVbVWEjpr6hWmdpNxwpB1sqLeMvdXwDYkUuNTbix3Yspx","QmQgL7s2GubcgmEbB6NssU1wDAbZ8HBYgEfjpbTCBgQb2m","QmY9TkFLVM
CDExmrE9qcBaA3uW4469vXMiR9RnRRuq6vty7","QmUqRgV4DehS4WcV7n2fdAMVvSJr9w5MrtA8RYLgWKQWko","Qme24mCqv2KaE12wmMtjxHde5qJZFVtTn9Q6U3SWwj4m6P","QmZcqt2Rp9X9qQ6MpKAdSciixv2XqZ76CV9zAeKmHxzB6U","QmcyQEkhPDMo2mqMnTaAxkxU4atduwgPUA2ZH2dcj6ga2K","QmdSurM2XHgJ8tGuyLhgkYj8i7dBN6Ls1w6tb1JTS2LjKC","QmVNXyVBrFtnMgU1VdK4H2uoUXq1kSBcsnWokxC3w7y1RP","QmNjRDbNecmfo6JG3qxRzofmG4fXZgfrB9AAo1d51UhHuW","Qma4rjRj9cktCFL5uTGGM3v6BBMtpA6sTyeiMx7vtL8awm","QmeSeMe1RGUx3pCJA2CL7z4279M93hsvrsAvoSHjtqTTk5","QmbcDMgtoFi7HieQ2bVvWaTmrC9Q3TXQmp2j1QzM
JyxqUrB","Qmc9Nv3XoeM3VvWX6EJA1j1w5UsphV5PzmWjqXyBjutmkz","QmeewPzmytVDSB6htPrhzfA4sWc1aA7crXCscQcbJaE2KS","QmWcBQq1AGou7kPHNvKYxUQQvzcK6Yk1tMHxWMvMhNsG8E","QmRrCajSXdFEkB4RZVbcrnJRsZZsQAtQvfPLv95SogJA5G","QmNvQbnHGJ4mQ4qmpPSuVp4XiKupq8nUCDEWBBEpxWZahr","QmW2avBxNYmxmoAwyH39Yxso2im3g5eS3qttqsN2Znni2d","QmXYhoWMvVypKKsD5uab2ga64E6ZF7zDAS2RUUDgYppsD9","Qmav7xxJNLkxuuYUSDFKzPVo77HUQadotmo8pkkMMu49do","QmRdcZ9AGAmcekRDg1A3eHFi9ptNLvembyYoeCrLkRZ15r","QmNbp8aNuNt9zcEj54X8AArZ18jtR7ztoxMT1CQ7QpLtC3","QmR42StfX6KHAumiaXGgM
sCVobJiuxBidDSE3Zck1PvbV4b","QmXucoa4uSRyoVyTdLNyPBHoe6EBGp6TgvBYYyrFM7tDqc","QmWZDYN1rkHTVTgrZp31DkdjY8p7djTGWcWRsSz8Gu2s6E","QmcnKQYrbTYVhrVbdoyNf8WgpmGpVB15YwmpHHUDmNa4Fk","QmWKirPUvrNQetMQrwxKYMrSQVq2Z4ExayQq7JSxQkw3Jp","QmXyQLr1uT6uKJfpwEVPTHCuCkLz6j3jMkMSLP9ew5gPSF","QmPokeWJh5JXZfemzevRqn8QW9DrD7Zg8uDgrLBDpb43pb","QmQT9tPhMDD4rkWLwkbXex3mCJ3Ex5EbMzMmr6BFPK81g4","QmaHBmcuKkQhgvFGmh2eLRdEj3zWeFVPdwqENLQ74EkU3S","QmZpL5B6ZgsjMPprLJdF3oYgQDB7TtyyFKtuYCPJA5CNfo","QmYDxRLBhQyeaeTgLzZtfYbezWJARC66VFyAcuWjPtV7Ry","QM
mTgdJvt1TY68wyLyi7wgSXem6uENHYxCvMV3KxLTjL8SX","QmPBabBKTutEZNiYKRAUT5ro3u3SCimLLn2QRAJLHDNWBg","QmNgRbFgenog2oABGS2c4EQzTpfx9Fh9VTBCvUBNrr1Voj","QmXyc2ZJHdCraoikCyeUynDu3cdW17L7YU9r2NBYwYyKVz","QmazyYK7jzesE9jPVx9F6A8PDEoXmjoydAjeRhB2DWBmES","QmcfU16bu5QkhgTidrrUdoUwK2hwJ1iVjsKFZkduGqWWFx","QmWj4kkyfXnBRJpBgHo289431wuzSjyFtYC7HpuoFgqRKa","QmWqFbUQQHVcQw7nG81XdeyqNurUNMni3PGZbWyXWVMTGJ","QmbY6DTEhZURNwrmEnjko65sYZ6LA6uHeeBumBEFhLjMX2","QmVrnPYZ2zynLa67chT12PxidvK2j6UJqdwYvtMx1bpRq6","QmVfE6Wq9GBEbqwxHo9zQzaKQvn6rsVM
mCa5gKDn6qwiUnE","QmZXrXDXqtrBQQruF24YwLp8wEbSHs38oje4upLE6Wjb8W","QmWLGc9wqXGe8WWw2iXgXM18At1BTZGqEW5PqsY33iN9fG","Qmc91RdWDwQfgwYr3rsVvMM1Dkc2W3p8DL2gY9D4pqH4qh","QmZ2AZAEP1hrHfJGPJ9yz2rAnzQzXfahmNqnRLN1MtQpEL","Qmf3TZ1nLTdvQbpzk2bo6HYBp518HrJfgrPT8mHMyGcHpj","QmWoNoJC2AA2Co7cpB2f7BL7XXo7a5P2pZtTJTiUw1zcy9","QmXLvxNMHJkk2LsFuhJVZAHJUwQgidMz2BzECNPYLv5jYU","QmSKwcTY5GDy5dXKeYaCbiUaVvLMrVmfk2XUBh2knsPmoF","QmQ7apkuNjGrP2mdMvGpxyvzL24a6ykHWU8vcZbwKhrn6i","Qmbqe1VkJToUhDL2KuSJrzQGNVGWZXAmkdaWUp4HnFiNv5","QmccciH8tKRPM
gGsUkugkv5me8FMAg5jyVoJEvkPUvrq9xR","QmY5N8ytS9AK1XbtLxgE7rX5oPRFuWdminyUKcRbtyVRPb","QmadWkXwFKMSGRoReGtdiPxExwGaWMvroB9ckzCJR9tiw6","QmVpuTfCj4dpRHqZ54Jxhjsu7NU2SARnrtaahgJZARV7ne","QmSRCjMmfp4PjqkbUDAAupwEwvLQBppK1XeoRdSH3hpxs9","QmbRHC1RXvQMGX9oSXoTCzhyTbNDtrRuB3nnxFwFfBq4th","QmTJGcnoCF8jS2fDAkvGNcnKZJmcU4r8o7EyoeC3o25Vqb","QmaacehDwQijvWGgB6N1eHSJJvo1UMdxQ8WVffbpMLWQDi","QmSExyAanx1Ag3KWBCpUzEbMXi6uzGczQyWk161pGu65vA","QmSNyKBTF3m3k3erUYTT1vpT5rfr555x4xpZE14h5R3hGP","QmeoKMXiG7iHtTaRDe8YL9ue72yX6hZbgTpaoHivZfM
eygH","QmNrEGkLmJdZVm4ceA1NH9YyS52BJxAMuhfbpzW6KPJst7","QmSpZkjQGRTB8wD1GKicK2MB2TsQouNSFjYDc9kz93Jkrq","QmdJoArHJRTuYvn1kRi98LzyTjQ5QjSxhmHdJFoJDR1Xu6","QmWnHbHnZn4SEJRraEYVJ5vsby6ruZ9XFXA55eWcaqHGM4","Qmcf5X6AEjbmtL1RSyBGTX3bXipAMmGjVmXQwWDz9zffEY","QmSQLmhHoTC6NeXvu2GtmQQdGMH9sExVFBqujbQj3Nu2nb","QmamL1wd8QbXGjdaJJnwL3jua8Ur3y8UmiQdkaTEweiAMa","QmU8DdjpMG97qiQoT5bC7gCRfQjQWJWF8fVdKj2ctEvPn5","QmV38nJFdEkDmRUpEYZdg2ZAk4SUq5uLUyq7aDUaF5Etzw","QmbGw8JQEock8gSwuy9f7tQytTGMXJEZPBpSRZj5ryZE9F","QmRrbhbYVFt3BdGM6eXELukM
VV8QUiKomio2tgTnTojnVQL","QmTbDwmW1DK4ZHeAyCxokFxSvGyAVwQhfJwSivNQuZkUpc","QmZH8g42KiaL93JXWq5xYwe16uHSDY4fD13f3c7npYy6Lv","QmaXxa12JnEM2Pze6ftDz5LZyADynypBAg2rZBDSvDMqT6","QmYyg1LuirfpqhBczGcgSwJcANSUEv25FwP8rJieZ82h62","Qmce72uK5z3sDNHfox1aq4dWMZssYWVp8jttnvP6Yg1rSL","QmeAwAuppKUCSfqXYG9W6gCqA9AhUAc1xaN7M75eqkdwQ7","QmWgM5Nygg4ZgDY54D6WjW1MF3MX93U7NyYqUn6THq6gVJ","QmdBjVGuU8hnLJEVv6RLjRvzJMe2MHp3ZYwNDLQv5evo3C","QmRroLP5xvovs7g7fbMcABwzTNFbzTwoeViPkEGkNjkYHT","QmPuXGo4tpqFvjY7g3hbBM2nbnWGQTwdx7m2Kg4i8oj8Nf","QmZaM
48vhks8iERQQTok1N5z7rPba9U7CzHoKNLeVfYb9KX","QmUWfB3Afo3GRPo1qfVnRfXQf3zZtmj48PE6Mw9fciz3An","QmPUBiDfpu1sBvVbgQKXyuGuZCv56raEMfmA3cFwkHP5FE","QmU8LZGBwgEtLSGLmsWpVjgWugyJwYjTcDKjH6Gw5aF5wG","QmdSeqTv3QCBJ5E1TGtjeH7ULxPXwHe2uxVEP4M5VENBGA","QmNYTW4o73a4NTcCa3Pt91Uv8zFBpNQKoXEQZC19vWtpB2","QmNXBcmVrYkaY739RS1bWWbrAviTjAnYizFMvUSyvpjcyy","Qmc2VnJQJNkStRabJ5kFuXaRYoUzHmY7PhFGsb2YGizbYR","QmWCwcmiB5zZZBZmc6JE3nMEDb6DsauZcY9JGbX6KUigG9","QmTJJLG33NZpiKCwtF4YCipoQfNLD9J4MzL1S6zx2nQ2Wx","QmQeXbqD3tjRZf75rDr9twqogxKhD1348KM
HmCEHjKXuPSX","QmYdBjw3aFjCYS3rtV7Poc5sPbty41qcLFKJW1TYcnigov","QmVaRvRG1h3Xt4eZERvG8nAbeTejNE9ErsU6cB7qeggTFV","QmVkqYZDLrBcGfARVP5U5j7i2wkZe6bGU7C1G7jzgJ9nm2","QmWJdoyQE8z2pp3snL3QWxMExN8tdcGmdGLAcCjpV1zgpb","QmTEiwriKfxXaXgjfs6woVBYs3tezAtEUomDrV5SybccA2","Qmf7jsvy4XdvRcBA9ihx3mv747Uoh5QJX2o9CTyiRyhMjh","QmYRKJT89wHDCJAM9pkKuDJuWH7SHUabBxGtXdqRr1r8na","QmXaD8QRxyHdWdbMQXWpGYj9p1DgXwhT2Hoprozc89CQgW","QmXQvN3ooBHPhb2gKohLEVvDTn2kV8PgP6iCDVz5cWyBpZ","QmPGmwknEZ9KWDNak5D6cH5XQ1gPYnF1fXTZbrgd9b2Mq3","QmXPifttRYyd6wRM
2jEhwLraa1LvDN8AewtdExT7S1PjEtD","QmZ16WcjCye1rDnw2GLBYz1noLgnbQfEgsZkmCfsLS64Rf","QmVS4JFz757jmhsxop5fgxnv8YR7h32sBRt6esnTnYCtSZ","QmP2jrsbBoz45uM1eVgiifi8UcMrDVZvzBWfWJ2JDrZiQP","Qmd8SsYVFdzQGtnaDtFbp5L1G4zKSsNHoX3SW4DKqM866L","QmR53G7wHo8zjWdHduSDXsXM5CgQTxjhCbhfjq6oCfVKtM","QmTiJ3K6Gp6ztzeQJHcvacWYFMJ3MLzFfaBaGke27mUN81","Qma49Kz5Jv2YsdGsqZpHNcRniZRp3BxQoHCYNoj7YSdPkx","QmaLVfthEg8sGKBMJCevrJ9quMf5GHJnbL9NYJGoFhbgmF","QmcJFK7yzfowDp2vbEsXe6rXQntU3BApw3XnKv4cEz6z27","QmTH2zUTK77GeJH9qEXserzENuqQbSUNSW8qufNqQY9H7M
D","QmVDn6v1JcESABgwZVEhifJmfwVCyNNzV6jMYJJh6qZt3y","QmZDZiwQKcseJFruXtwKiKvwsPs6QHWCxrCVVAY5r8pZBn","QmawoSQxZ7V4TJBUGMrPe8LYBUwE5Rb4PdHBXbhyjZgQCT","QmQkjtKNNS4XLHcNNEoUuMYMGhMQ716e1NwZqHn78o1Bgc","Qmdv6Beo2iJ495XkF5Vh5knQsnzejV8RsbXCjAr7DXgjFw","QmaTuwTSKz3gccAK7KV7vPdNWs8scuzYuSHoUXjfLt7M9n","QmRSTY39zoD7zADruHDmfCaaKk96Tb7bM6L6YK75eiYdJG","Qmee85KewntgKeRor2MtmhArsiPm3e1WdSJQywUbP48PUb","QmTYYd9uqNvNquGoJwbNSLA6vhPRybre4afCXKqMa4BCbU","QmVeymKhXsk6tesbZiTgPA7Ms15E2dtBkWMQ1GtyTTdNbj","QmZ7TijDaaxSZejzVHa6WKECnAM
13x48s7zKEeFRRryUYbb","QmW9VgFebzDviXHkioVbHy7nAFNZhGJmi9tdtm1HJoXZUF","QmenTkZ7DqdD89THoZKmqRR456iNkTHEQ76KtJHvKdyuLX","QmS2fnp79hTFnr95n1dTRZY6a2gtgfsikLzuc2SMLM9uEz","QmQA6DutMKEK9L3fvAjzveftNFsSWMaM48iMyb8csnXFHw","QmdioQX8BUwUn3KMCB3FoHzyGVu6fync5Rj4A1pA8ZfKu4","QmbvQaLzhVZgVtHiPYXKbExtpDmaiKg1RTw8QCGY2CzpoA","QmRzdGvkPkAJWjDdyL9JcdpVXZXypaDPaDVPCWJyMYmM94","QmUYkzryjhkhs7Mmc8iuQnwV6Fc2di1qoPmkTpNVE5gWQ5","QmW6LrYJjt88F5FegqXPuzknXvjc9oDV3kDm2hvcq2AADY","Qma6X3CEzAX1kVdZ6drK3AFALgizfHgHniAXLBfKJGTKNo","QmWegfGM
3TQQeg7XYstKuwXBj4xjxT2rXDZE8aQpqow7Mp6","Qmc4X9XsjXsBXNHtiee66kWufxiMQB5w4wrmgMfKo68VQH","QmXQcfURDMVGym1pd2UakZXzyLWw4h7MUnxmWS1XPUqbPA","QmNrGMRJ6Gymg5JhSjC5cfJogiDVW9baPaPVL2oTxsgTsc","QmVHXdr7vQuiJYwUvcZeZo7eoTRHd4eBaFf4A31z47QZVa","QmWTk1doMBKdCgyKTvoDdscK3CTcYkLkABV3T4zqbY97Db","QmRZLtMVtD5ctVhWDHP61uZ4yZSzJ4kzyocYKmZTwsS6vC","QmbMr9zbXtdXZp3d6qp8oWjq6VstYFLqmg7XPF3jxps7zZ","QmZNaR6K5WxbKBrnVHpASpWBRurFxmuHaiEFRqNzkqcmDq","QmcKTsvx6cYk7RjTh5o33rVyHZaK3Q5afii4dchMpBiHtP","QmVG26mXqjG92aCypoddveGGhrboPHqjHrATzM
wPSX8JBtN","QmWFyWZWag82HjJM4ejaqVErqqHDvVoc1vzf1cV9sEDQeF","QmcGHrnHKrDTRfK1iNzLY5J5UN71YzfPRLvGXYZXf12BAv","QmZCJBNsUgREyJzXdknY9XWNt3azfPrHzU68M2hTvniKud","QmUkq2TLhgf6kCcqXHkNejvbxHB76PQz9qKDaq81kG7Qxk","QmVj4wnKcW86xRTPiCiBky3JWaKcqf7cVKvPXCeFN6MsKu","QmXhzg2K6FFSBacu3rEtj6ENdN2D5d7E8gtNKvwFcnorfG","QmNepMoJEWh5i2Tixvbb2kZTQYbEdb9f3GXEbN5HW42eNJ","Qme12HtvbaHCnbcxKbyEipCRc38Vvya76yrBRzULRCCats","QmcfdiPvnP3CkKPEFeiAcdSHwXb6vbM34kLTvwETaAfPDU","QmaYUpaAxhyLV15AqjGRnzfkScZyxCXwwo9J82a7pPYeCK","QmRsnkMN3SMe97ZfViM
QmDGw4haCDSdXMutzTjQuB1Jkfvq","QmNyMepg6teGDwfS8hE7raG3em6LBHnZnxhzNwqfb5Gtkm","QmYmhGK9USe64ozQAwh15Z6XLiGhTg3dTqdaC8XzpeqbZU","QmP5UcWb2S9ssVrnHQ7M5piae5M7QwHTG78VbfSrCyHW1R","QmPUkkq41Aq3WtFGxJjDa2mHNkp1ZAm9k9GPsQt27t4QJM","QmPPSFs1FRztG9ivaD4KNuUyAVzGeFKhLRPp3goveEM4C7","QmRNTKSD9YYKiQyxV1wYAdCoTRbnJaMAuUzjiU4QGxCWiX","QmSjhbABdiWunUCb24faTVAs413X9WTbq2rq5HGaZiMCfu","QmZCkWsR379fc1RPXM8b8cbcu1FNDWGvc78Jg3jGG2XCRM","QmWdPmAuCsQScoiz2L7Zt5hFFVySpxG52c2qtQ1Abi77xo","QmT3XEabPFgNvsjFyPEvAQPNeJ5esZSiGHFTbuEw6fTESJ",M
"Qmc7V21Y4U3WeV7zdjgG3w2NWeTxY2EtJFuTcdjM1HJQ6U","QmXqQsVNpVL857HLuJtg3S7u9iXYsM9Hiy6xFQ9jGgc3LJ","QmTgyMsuhFwVmXMBk6e1QsUhrUEfAdsq9qM86kPWqyze2V","QmWfUrkbjX4ZjLY6Jgza9x7oQ5oS6qKmEE4QGa5oqwYiq2","QmXXQwFjPtYspuavXnz31oy2K1fEoqvHRqvpNYicrfDKqr","QmSZ9Le3CZvALZkcDogRuF3RE1bugY83vjuyYCYSWjTfyf","Qmc7XwfaW7rJeFDCo4k92D9JgLW8TASSjduKZTHw123aMM","QmQPjHz6BVRF6udZvzJLSbjhA6cFhd1Jdxfkixxjb6BT9c","QmUYsFP2MG4saJCkZTPHSge6XkxqG7TaUqVa6v8xLqgM8g","QmVMnKhj6TzeJ231648Nm1tr4n8fkSi4PRgVFf293VRZbV","Qme6eebCkVWcxspufPo5sBoHqzxy6M
DGhqtsBX1wMRF13bn","QmZ4QKczck7VcbQZvxbafN96my9buzNpbVekcPmeT5ddQX","QmVJF2eRSbcjSooSp2kXrbTWjA84Rxajw3DkURYtd4M3nx","QmduPU8GZni2A1WVm37RAPQr3aR6XZT3o4NEEoETXWsDp9","QmRDXA69aKgW78z6sfNuM8XUhDsZMURmwWTHs81NTBWEL5","QmRCAkdH7kFouUhpgrbSZJPZC2ZzrGsgKvESenoe3R9Qca","QmQWD6dyBvu9B4cT9M1ajWc2jYd56uwUXmgw3GSVggXYL8","QmWxDnHws25TbXFKSff2LJMV7Rjvc1WBidrbpe81FMm7DG","QmYRkcgkBCUijm93hZW9RzQfNWy5uQi5293uijKhWjqLok","QmeC5hbCdVA7SWrg6KVCyrNb5y9Z5WGBjKsvy7RueevHRG","QmTPQv4NpCMsRd7sUm2bjLeyTpAj6NhH3CKt6t763aXe71","QmeeRFFrwxM
8Yove97qzD7Avc5aWweRjM5HcFZ4Zm9wA4Zu","QmRH6cRk1rLe3oREbTsXi68VgawfUGJVVRgqRhK8Ao3jwu","Qma2b6YxaMWQtJXqREhHnnmJwsQmGGg4WHvpVSgvTC639x","QmWgwSSncETJyqSKiy7VYnQkpm1KUTF8MPZWPMTqH8BmN1","QmWkm3H5J3svoWZwxnjch7T9MR7EwaPpiyonN55rxfJ9FJ","QmYWUDwbhLrhQLi1dEy7zWV1A6hfNkVXmSiVhTLtiyW2gf","QmcEZhR8f1zzBbN6Pn52TsUHKAthYBuKzQ4tkqLnusfp2j","Qmew2CDejC3LMdY5is6PNC7q3fYZ7uzwN5q5Xbmn8BDsyZ","Qme51ZU68AhA4w1jDGS3Ke6cKJwL8UZDzPBy6gbMWEPx6J","QmeVMUBTaJAtReBTGjhZvNvBnocDG1B1REW57YtJAWfx4k","QmPKTEqETAafMxNtcwHJCRHU9jonQCh6Cz2xDTNXM
juf1SG","Qmb52xTEo5Xc6Ma6TEx3jfKjZtdoj2KdxeyTTouM72qRa1","Qmf2YSaqhGwV6nHt2SyBp1F4mEdagoJYRASWgipQUYdrNF","QmWkkc6SgTK5mDwFhXp3eNby21PCFCtVGaNpfgqKw3aMxB","QmSWFFfx2Q4AmNYtyiocG8ffDK46efxB3N14J8H8tgtvda","QmNPcWtWWUy4s5j19Mu5jVWC7RfFBsuCkhbMqxonJ5mV5u","QmXqujU34Y9XpxDh61ighN2YrWsbr32VNbAvr1fqEUEjy3","Qmf3SiXMFLtYThTPgHhq4eXUtFK35HLRk6nJEjRZkjy4Ua","QmUdhUVhTLy85Fy61jL9QZ2BorrxTnAGUMQYSbC9dQABkm","QmeSP1sngnHc5fKmdAqu5jsau2vP6wopDHveCF5UhV5ic9","QmVM3ziFS16g9BDZw57Pe8imQZVYJND1o8zDUKNjdiSDk5","QmUhY9GG68FmnGMpaW4kLM
zRscLnSvfKbJdXfR3cQfBjeU6","QmQjqXAWVcTNPJHeCu8bYb4S56xWwWiMfE8YnZLnezzZan","Qmc1aMt6gLBeSwAX8jue56rnJgYskU2goQMEVHW7EC2EAL","QmTpKEmQL3Xir8kQQCaCHCXWUHXEkuLs5MHHzNCxb7C7DG","QmayzfaEczTDif3zezmG3SUBd81TMVmVCKxrax27hKzHjF","QmeyqDoZ7jnHnttzNqocn3rJZijVwCcv6GGWvz7p85hNKT","QmctTuLnKTYR6sBRAkeAK8JuncXTNirrmeigh3ZHV6nuMP","QmaFctQsSEcywYprjZsCi46FmaAmndqMgjw1Ka6z58127J","QmVpFE7iL7x79X9tmRAmBufiafcG4WYXfXZjYw4ph7VBL6","Qmdgu2Qap8CULvmb7xLrDNRKmm9FRpffjA9HSNQWSvAfhY","QmeQhnusbwYoF8zS3m6y2rP8P6YtLqUwMvgkX5gB8FJP7W","QmM
ShCzSgxssaUBfmaRK5XSQSfRAPYAEnZvpSzhnxNQZNeJ","QmR9vXGjtLCfzCS3eByuMdMR7uevwep9jGyQ8w2PRPo2d3","QmWRZcheUebuQUYsmn2mapc8DzxxyFu69M9FogZBPFpsgR","Qmakq1c5A3tdRGZWb8r3vBErFVjCGpFtwrQeryLeAYQ7Vs","QmSHx17d2j2nfgMWLprDxrEvxdn4iPCarGmZta9Y5Dmhbb","QmV9HYTdTsf4RAyRGTYYWxgmMSznDDisbn2Eq1A24EbLK5","QmX8jJUhq77ZqDUiB3dp5rRFRBCDC9Fb92EH87zBgji7ck","QmaL6ZQQ4PKzt266xtSdZpFkA2B7WgA1mVSUL1CEy1iUoU","QmYTJn9VBcG7JwksKgAQD5so3RNwp4doqqDb6G7P9frfjF","QmPw9Tv31rEfZ5NoQcb6QG3Ssj5VhrvW3Mcmtm1PLns6y4","QmadE7aGwFyQBc4xbgHhoYAvoDA6JXckM
XoauKwyx27KJbP","QmVqX1cyfQ73FxK4FSypRhoCigNnh9RzrKxn62YDafJtYL","QmSqvS8k9YexFTWqfaNZjNrzteuNQZHgB93NQ8a6BGbQP1","QmWcKpE4gQeegeW7bVqs8ReYXiBMwXSCm5Fnb6eJb2favs","QmPDEjtMKN9ewzyujDEbMkaRGCeDa9RBiCJm8schvD9wkn","Qmeca59R7i8sD5Tc45KwFg2VQLgMDg8R6XNyQQ6ox1xhzy","QmVByc6D8BTPVfbP5x5xqbn3eBK6iMqiE8oWYyGxjuSv9N","QmfDALw97JP5iGKMcRjf4mz5gAGW8b9w6Hhbgoq93NR2Gs","QmVyivnW7RwaWdcDVKf1yykUVrb8U1EQK48mhEJxtnyZH2","QmWAHgok7sx9oQgFuZxzbGoWpzTqhJ6LSVBt827DXMFvnB","QmSN7M1x6tigWpaFNjHuenWLPqoMwwHf5YeCDrFan6YqdN","QmXveAhQfZmnAM
L1AbeYw8p39J5pwmYzss4i2JjPm5UZXq6","QmcEf4y2VjEJmaGYUes9bgyFkvR12fmuAFNDWoQXaLcAcT","QmQ9v2fCRfvLYEuaabeq7j18ucTmqnvHbrWZqu1xXPzkCD","QmdLnohKTbty7fcSRuNLENRJ1g6LAvaahxny6afoGF4Xe8","QmR7pcC52FEzemzrTQqEkg5o3iyb95x1TKJPNfdDYkp3hZ","QmeYyjnrqtVbhrcEL9sdTN9F65jpcye29KJjWYau5yg9wH","QmX2RuJQqfgJ6JL8KXrtidiruDtGiLvd8LwPdq9uGq8PfE","QmarPW3XWay1B1ndLm4bt5sbbSmun9HYzJ8tWR25MfRMHD","QmNtiu929waJuX7rqwtCWfVLEncZUYZUNSiF8XLeFQGYLs","QmakFsH6KuueLT1TWDKzpPWSwnzBYTe7Eyjzq7L52aemB6","QmYz6EeJZb6eRXc5bbkqYXvCvuKmTmaUf5NxFsMyuNuM
Ahj","QmWKjxoH7WWLWmAu5315LNVT5LwY353HYqkVeqbdx7q3Gs","QmVrJXmX4z4jKeusKu5jLTM9v63HbFRgHJ45Qm2B1r7jbK","QmeEefQrPit2UdwE3BRrCbLR7AwmDSwYSZ8C24LUdCXv1T","QmPWjqsDK96FgZVQu6347NbjvJB3ZBvYCCfMWWqoNRSVcD","QmcZaiP8VFUbt7A82uTpsmwfBVs5UeYkvX2zpL6vpemzvo","QmXQdD9GBTGw2VjaMf7cT8BvLmrAdQx3VvKX264AyBqNyo","QmWPdnubZj8epXnNbbigxuTSUDsF3TW7MiyrkJx8vnRSso","QmQXpBCaRWdD513zFdSMhKtAuthX55paymnQUeUZen2MRr","Qme74du2idwrj5fywqtcnrtYJmRemQS8d16h3DkpJ4xDFY","QmRykjfEBoJTwzBbj6BvC6RKLQni2FTkZMh2kmLSfa4Zdr","QmYV53aBUmQGnJmSD3N6bE9UM
rmyUXJeT9TDyrod7jyazM3","QmdWYVR3A4UvPEKBxxpMcsnuyb8oKaM5wg7mrAhK38tEJj","Qme3Da4JY6j4euwrXUywsKoGU3ZBXKg7Vsz6giYMyeKVFC","QmNxZCDCcX1ktZBaMGL45Gq26qUwz9HvsAorr7yvhJb9ty","QmYsvpy439E6bdQxCZe4zbrBxNkHhUAYeXG9APqN1KHcpi","QmaPm5SLuRY6f2ZRrDLU5cUfwUccUACitnqW2jAeycQRUH","QmbnarjmLeZYgEg3A62dngh6rDs3ik1Tmqn4uCbwqYHPQD","QmT1TVodzsGPSYQPKDnTpjzYeNTKvKSQGFnk8Bha3YgMt7","QmPbDv44qg1fYhFbFsPtQnGzUHR6nRM843XPXaXHmhJns6","QmdhF7sFNm6Tn5ZWckshgom6zZHB3ubDvtiuihdUaMGRxt","QmczYrL9XJz6HTqeq7WnkbkbVhcXrzydvMvgpfmCYn8XQu","QmXNKM
EKArY2575LmYDEum5dBP6JBQrNSBJvRrqQVRBHZ6j","QmTmPcYXnX6Nss5f25AJKgTCVwW7yEh7ZhoQpEx8gY83JQ","QmYY3QKuyDA34RMLv9U5FjFzQx98e8wdk8npTKJofEb14P","QmRjR8vtidnJMwpEXRgUYLenwGiYzBUUXQpQEVoXgbD79o","QmZBY9PNkYf6tVnDNSLBXi2aXkAXRPpyCVgnvrWEBsq8rq","QmcspS27dhL86KoZ4rSuFkUohUzPmAfDvLWNkDiKF5HdzG","QmZDPoC7M43yCxdXzWYyVgzdjL6JNJuUyN3JPU2tB9xExF","Qmbh5C4UiHHTppxDguF7TWw5avHf4fnDth5o1QNnLwrrTE","QmX9PUpKrnX45Vth3j2ab5BAsp7KTBTngijMbwEdrMKXKq","QmdQXZUZAunYUajxGBEJ7EnYmftdPWESaWDgTJcLo96waE","QmXfyrd9apoDq1XS6CQDfmuADRR1pFFD5FJM
2MWre3h8QKT","QmWD1vpzQv1CaE3PhaAThANVoP8TCaBxMSdEAumFYEbzMr","QmRQjB4ftxFEgK4gKL4za9Wbdppnw7Ko4sGCwLrJX4KAM4","Qmf5Kpwd33DnYow5fjknsJPgEQrvMbjpQQ9aMiy48YH9hP","QmZeMm2ovgc9w6mjihN4rDhe1CnAyQ7zEd3oickBKF6wnw","QmPJVWA3XtTGJ4Zhx4nQp1qZmwzN4yhLgFX9TzUvGE9qW7","QmaSzNFswfvRUGAuasp4WkcK7AhM5dBJcGeXWoDjJG9RcQ","QmXMQexFRdi1FqzKMNAcwYgXUmNK7pGRQjC47ffqsANE6Q","QmXmKKgdZ2Tmbmw11ghp3oG1WyL3mh9tvzdtuEDc36MJdq","QmZGk9XuGMz1KuXwWRx6fNkZFCNpgEgXfSrd4NJB5vRyNj","QmRAw7tcyuUpnEApFvZL9GB2TjxmQy7PwqR2iCWB14EqyD","QmUP3MTtEnSTMJMEM
p2p8qXKTGSbW7ckrMzR92Le7MdAdvz","QmdVcuWRvepoJjc3JaRN2CrkcVxRdV3y7kYmbhAdFFvV5R","QmSwk91x8mGyv5ru8FqoorK4g4kKkBefmQdtJwJZzAr1ZB","QmUp2tJWAo6VCCtBJfo3K4UCSRNqcvvubyzhw7CkwDYCa7","QmZ5f6AUnNY7JCwrDiv6fyztc2BPmq161ZGSdBmbvhJJt4","QmcfbLqHQSzXacKU8M2neqFf3k9kA3CLiUzN7KXzvHGoX6","Qman9ZTxypNfjY2VZ9pRCA85bZt9CMgLWkhEtzkRq3NvXR","QmbhibS7HrRJqnr6MYj4dHLH8yLBfNarV2BsUgRwW3yYRE","QmPEoHwDx86zY1QPuq25RRgEGxSTf6r3s2VecGfB3ofnoQ","QmT5J9cgCPnJdqrTRxNt5Gmjc5sQzP3tcwNMH9tWC3hJMC","QmNmRebWxF19J2ek9xCkXQTEAYE77c3NUX6HdVKoK92hfvM
","Qmb24sMqkGKVRbQqWViC5auc9uRcHmTse3PH7W7CH7kQJk","QmQiPyH65vQwbr5fFd94VgZWZgm25iW5yTdPvktHbU2EWE","QmZGrJ3ohsdcaWJMx98MRMqGMEbSkX6WretJJLJdVzabAX","QmWcVTzsxcGmqrbVW6hmbVuQBsz5U5DzdMDWUULXH4UXGV","QmdzG1YTzPsrNhFWewrmUNrpuFg3vJNBJ7Z44XKepQyVo6","QmaAb7crySvCQtmpRDzNdjhskPtZtRAQVXUw9KqkbZYQ68","QmXVMFRmyKMWrtqkFXC6bXmYyLt8c9q9dRztSpFhfzMcbZ","QmfTRff9LEXceEMLHuLpAtkvkNenwBUyiRodNtrXhfKtq9","QmZ1TDJCWT1FmE1JXcBw3UrjwFBy6gTbotU1oja2RJrFtQ","QmdsD6Fq8PH9FQBTtk15yNJounxToTEfUupSbYTiND2YNn","QmQGEvqP8fkS4Y6uxnhX2o2CYwUM
YpdXvMcxSAuw2Rq3RaD","QmfM6e1SYnqCKSvu1B8NqM23B2mKtqmsNq2pGGoWrsHSzL","QmbCybfPbTtv1dUjtcVdvmyHwyDBGoa3sErLbzHq2Uyfcp","QmUPznyFCYmwooMc1wqZgCKqWwcWD3j3mPcwQj7DP3xN62","Qme2DFgYBWpNvRFQwQNTJ4k28W3uWXBAxvNQYiB2x8LLJe","QmT5LYbL7prAeTtnA2RDnJXRid4HuLgjjZ5xa2BBcjKp3U","QmYtHKW9anawNDQYBQFsL1JnN7ErypR2vzFYQPnAAotDxB","QmdTU2LwbqHanhNNd5yC5dca4FkR3JtGpfMEqDgABMLAjP","QmSV5Fz44tS9TRPVkZiRx6myKJfrzj5Tmym8rHMCTitKML","QmdarxHCuqhcpAoBhtQZB9gJBBiqcgLezdPSMkL1xm4WSm","Qmd1VTGwjp5oJaWAYgXsgiXAGMJeFt5saZ292bqMvvigyo","QmQBTmddM
UpuX6YeNz4JgMkNJwKRYsUQEuP985gRbXM4NDE","QmNTj9UNRCQnM4CM9Zr2TKBv4QU3kXJg4JF8QDmTXYGHud","QmTn7HQxyvq9KSRFvgFMZ7oxD5Gmpj1ihPBXUWL3TTWFWB","QmTw6x4n9q9rviCo7j63BUCsjMVYV7droGDirsnnQKwfAP","QmZuRbGPW1mRd7dm5wYkt4vRNV41RN1YjMu3bXv5ZNfAXA","QmQMr2XLAjHZUPn8aCsH8Tt4f1goCx367LREDoRggNb2eG","QmTdd3xvYJyyHWdjfiyBPbm4sVEY4giytuV9kPwd6AUSnY","QmVgkbKD8tviDfHPCReoZH3KHLXLMp8NAFukR5HagDcVyz","QmNYfaeTvC6JQXbhp8K9KUnpwYTQ1FcqJzA2EJBWpmX1Sn","QmdWbVYyzUuwhsgLnShJmZxAKvF7GnhSywUCUSkEFQbDh9","QmQuN4FJddE2G2hVSuZLgyC3tjLqG2VPv5EXspM
3HdDACUV","QmVzLQfX76MnLirHxUD1zReGcdbP9J523vEWNCGu9p6xny","QmNStuzskH3oRXAzKCKiGgxsMFyAKgU3W6CACXZZ1heiXK","QmfEXhdissiZfy21qLXdSRDeTm9JS3mr46dNEkFzJfQ7jp","QmZRHVYEBp5ibB5jvKjAMT7o7o8npCcAtX7e9ZKgeXmFwF","QmbduT2FuRJs7cnchKfw14eYA4awzGNHJi54d9aBvuPdTA","QmSLAC8ZhmyaFLYBwFTBBMGsnhoTPDfbUDAgmEzFwcYUpc","QmYtMFnaJans4x6CC3kxfhnweB5hV7Rs761r7zw7nqeA8r","Qmc9jdmSLZ3CifNj4oY4QAmHgAorPeCQhmGj9pxpCaueH3","QmNsjkSF9VP7pTcRrxjPqs6LSvCoTkR7oiyTW6SZx3QPkQ","Qmb7eGh3qJMPsW7hMM2zwgVWHcCUhumFRt2SzbajxVaA3q","QmenNwbkamnLhw6QR9HM
PC4tm88x5LXhChFarBe88AyodMk","QmQSE1mTFCJHhkh7LCqWpWECtLEvAYgWswZ5djYFMqsN5V","Qmb2hqSEfX6vo6SAs5H5EKWgYycf2ySaiJTqGvMN4oNH7S","QmTGYsrgcmzvsg8YsKfv4yznKVjeTdvqgGtvLTiz1FqkyU","QmVAHcnKo4416K5Qw9r2vnhu3BS521LQQYQbnZ4ysyGB9J","QmNeeqtySrereGmpjqBnUKXYmRgGvgXJ3AscwBqAShFBjS","QmcZBbdLAJ1bYGyCJJjssM5dzkWmqzUTKcXDBhszpA3AhE","QmXgFtHRjfajYpmfgq3v4rGu7p2qtSX9GAxGpbhqnRcYwu","QmfLYQbMhap67foMAAKqNLS72MxAxK3m2eLaELb5CbYX12","QmaRtFU5HkC8Um5a7x3T2VQ2gFF5GkzAev5jhqvZabMAiP","QmR81RHGCG2iUWcxwQgQj1RHWyKWAFT1ND3sCS41ZSXmix","M
QmPTCwe75CYpz3v7jkpbX6u3sYs7Hf8ws4a8PRaMjAmoYR","QmXNmwR2HagaavP94qwShtiqFMcghp2kEHHnKFn6yrHXF4","QmP7HQ1tWaSizLjRktvu2gyXG8M4E9Dn3Y7FB5NhutdQdq","QmTQwAyw6rYN7qVe6bMzSV4KCwSeuZo8Pg3VyAU7KMHGTb","QmeEH7EPvLTwfwkK2kZDBuxk4XnqqEVBjne68AncL1HtvU","QmYnwaz7g7oMGgCykmnj8GxTNDQpSpPDQVEmkf6Afpicrh","QmRhCJqQ8MB9LRhVWa7Q9yULwRyTw6qRYEGSLUDx4a2Vbd","QmfZ7hQnPVh7DZbmcXK7528TPmqTEHYsuV2e4r2FVuHoLw","QmXWvcJXxVNV6d73bccT7ndAJeZXiutXBnKkrcbUzPxyvh","QmVdvVDauu2oE65ryK32GF9gxuZjnWuEVTWaFeerYDHKhZ","QmVKCSZtvLrVjspJA4zvxUkDktSjekM
ognLaVZy8bCex3nN","QmSE4S7wf5JyVP5SeRGPVL2YbuJAt794njyVWoCQGs6Kah","QmeXSeQy5yni2Xe32fxYMGk6fNvSsbPkgcD36mUVHKcwnH","QmefvpDmhMbVc97aMi9gMVLR6shhGtyK2TQrfTuGv8JgtT","QmeCojaVBFbZ7QZxZUxwfwayvWjMpRYGKw5rdPqb4SHvKd","QmaVha6iMjacuSKiaHBqQvhS8SqiypRDnwjLarwMLHJbtm","QmXSsaxwEEiv5YpUBQF2FUvpnGfkpdkHiAQeqGfgyaEWYP","QmZMbKGRa5BdpRg39Vqo2Ct6TFE1nttKpLvPCCv1gANNuH","QmSzQRHEdSrkYEQXLaaGFWHU8PEzaxgnpbHW1MCQjXoQHB","QmcEyJm96znoKvpdrrSMfkNtUBVhZ591gSh5pSY1zoFuhf","Qmbu6V1uvxCBoU4PbtemppNAB2JiWM2iFBnZXQ1N2VqEbS","QmeLh2bC7yaM
FxAK8LCUC2r8JtUueMYdJRUax8zxYxJGJF5","QmfYD3GkrPVmpTpkPQhzTm2cMF4wdqckueGU1cpGneaVLx","QmaXk3b2aDogs9C4E1xtwxp3uZB9tmmZ4yFNt9Ct1QGN4U","QmaCKA29R3RDxNaxyFtpPpPpZWRZAH9YtuLd16jfuqD21x","QmeVxXQJTkqKvd7Xfk1xxBijFVpVjsZtkAPwJrG2VMxte1","QmXEFKqWM9Sp2MPQrPnGCZaQimHEvsiF6KvahrrSyKGdQn","QmRzcrhguQgXzrqcH2wXdKq531jxVhL1KSiuPrP8R8pZbg","QmQxVY6JYteTbgkgkipFaYLr7jZq8ow5ayXys6gNJZek6c","QmeQSrRShgfMfqpwaKNF6Ve6ReR5eiouWLufr723eyvs15","QmTcHocnofWRHwk5Q6Z57bYRuF2DggNHcwYVkX3FvFFx7o","QmahUz7zpX4smsaHt8c8B8jwN2ggNMn59FQTaUVN9M
vAwgz","QmPiboztBeAANfmQoqJ2Vv1LE98Hav3WBwjnHFFRdYsvYf","QmRxo5s2N3DQY6xtkn5KN76JnPfKiKgGBe3N1GZzH9dyEk","QmTCPEieM9t3TjCHzRChJWZbs7eK2zKVhzhRMzme6f6B62","QmZzpQXQxyrY1otqcvEMgdHgauZ7twtoXXzh5YZLo5Uro7","QmPZFtJn4ySjPEdwPNPwB7RJ3bQzaJGH6kYGKuZA8KDbUP","QmVQwpvJNRE2kmCESAHdMXQBPcbCjzcCEdGLjpoXnGHCnG","QmRFcCa8HysQ1k2AsKGgpQPtwiG9f2K2ZD2oV5TofA3iAN","QmQjD7z5ibbfQceCDERsvKpTCmuk3AGRWAG92RkJnFo1yq","QmdxeNrLZQjotKpizUFgmJofbeULX2aZVHqQ5RyX7G2KpE","QmUzQxpi6RbnwdFFPgcnriu42Hyg4vG9XV8oHZCC4XFqqb","QmeXMYm1im8LTNyc9GCY1iM
giJ51o6fWNm4WLH53UuJQRiy","Qmax5dRKeNmdpKxoto8RvXvoM2sAdZcHFWDhLWoNGUPJ8c","QmQCyPMhGruZDMdbin8hD2cDbh3MNGjCKtyPc4aZsJHktN","QmVkQmRBK43XwCnHrEBnWMMpz1EcAochm2jwYsx7CAPc7i","QmVGco8S1b2durqD5et5QrdJFSzyAX8FBy88zUvX5cEy5m","QmbWwgZSDQ7LCL91N6xVX4uSLA56KYyJjDS4HRZrd775rK","QmWnXDnWhqUGBHVoLVi4Vo1sk8oR83okfbkx4tVMQtpsFK","QmW5e3f4Vb3TNAabPV99Rn5mku5mBD9L91xj8eKsurPvjA","QmSjFdQPmX7a8t3U4aGkFhm3YW5JRvctayJuxiA57rTpx2","QmTNjz3kHCY5JnGz1Lw4hD2FNjVnJyHJaRxK2zBZRuQEa5","QmVDKkDWR6ZSZU9KNP7BXja4TZonqoPeTzWxNaZT7mLhZ1","QmdM
bfxs5Mj7MiyL4VRNNZskpEMYx5NfVnRumRv5fGE7BDe","Qmdp2FdUmfqG6pw3btqeYGWG8gAKQxRxhBoGAjHpoDPn56","QmRZEzV11qJXW5HkVWtV4rar4h6thAhVBb1ymHmHVyjp8A","QmekQ7dzTZSo9qPNYyhGdfnH2dp3ZcpxArdDApsGC5BejU","QmYtXgxoQegjgenJu2U2j7NdXsvvZyNJcoQTAoASWsG4dP","Qmd24S71EoGLyyFUNhDihfQ2BxwxwNGnsnM96ANY9F6TJ1","QmNTPRGCjvmAFDaTr8U5y7ttzAFtCNuVMREUXBgPotLsSg","QmaFikGERZZALQdRFgrrmAqiyz7LgVen37GZcBBymEMNZK","QmXij9LWb4qYYj1EtH3BgxJsdWbhfX1VhgCbZ1F5YNmNpP","QmUfMpdwheXTNT6Fmawqpa8whurMWCebEenN4Sv4i97zcs","QmU7bwb4H3swWntNhAnP3zx94NqQ7RLgGM
6J6oW7jPqpaD6","QmVkGCmoFZeiq5cVs8WrHKd4Dec2HeoPhF4tf6Ts1ijfpQ","QmQVpWj9N7XhVtsoU3GNxeu1c76V8uBoc1XoKkdaKcZmCX","QmdBSaKHBuSyroTzLYfJ7iwSATWZE2zruTbbFPiPzv3LsR","QmSVf7sgewT3oAcRiSBKZbsVNhJy23UGZpxmFY1BrGqQFr","QmVdWoSGCguyCPnpSnSJtR8izfCdUv5HAwFotXBdrNravN","QmZnB9zgYmEVnDaGjDHLZsyJYqNvorvWTGnG3zY3ZLsou3","Qmc1KesLgAjS7fTgFc8SCP2F596ceswFoWeeceJJiTEc5s","QmVGaVqNSeefFtUi86HBZEKMMhjSa3kTsCtmRvsJMddSa2","QmNSiENe4FcirhRS2hoqd5mRyCHYB7cAj7oi9NJDKVCbHa","QmXjvWwbR7ouaVncwqQo4mEamfEzm9wCT7qZ2k9TXfVjiB","QmQmurGCzV9JyvM
TkDgxgYDHCjnCYZprCWWHnaWSmeAZYX7","QmVwL8D4GaHzQNsXQkskdV1U8AqzJhmM1ZDiyP2E5RkX6s","QmQhdQTLcCxZ3gTKEQTeooazpn8LQGFYLzGGTYeVnZ5ZMq","QmY6xxGSifzah6oAE5XVAj5DDcaEHHzCMN6oB746kaBK5y","Qmf2jUDmeXaWZh3VLSdKYSetw5XhysQpcvtVb5j1QmXbti","QmZdykVMC1TCYp7zXuaEmrcpnExDqLmaxXG25N87BL3TUG","QmeRFkkNxrjRMtv6Fb2sBHfuEs2vSvbD5aCFoKTanuhxoD","QmPkdKEyXRnqPtVptCSc53GXMSRvTcVRhvUHmy6VZ97ncw","QmVMUwRY2CtfJyAZEUbbrG5M3AUgNannL21ZdZovKh7NX4","QmNSYjJghZEeb64dPWao2yPRg8cYvSMjtSkTUjd1ECHL1U","QmRXv5taY4XTnCKv8ECh8jAfXpb71MczF3F192JGjQD7M
nZ","QmUBuedWhXW5qz2CA233c1wJh4GnKL1QSwmYtoKaG6m2Eb","Qmb2SPxpH8i6zeb23rXhybA63MC51vJjqud2SgAE2HwB6i","QmNjc44NvkL6qTEZnqn3r2PjbyeGJxoxkKc97pNKc8tM76","QmbdrhnJj5QW8E2kQNA75KmxnNWwTjo6c4UF7VLJTNe9SV","QmXb6RGftei9RhGwDwXVazdFg7EykpwCpFKhRSvviFhue9","QmRdAaspX42iWCjNPGscLWQYfY8Z9Vr5jfY5LWtZPURBqh","QmYkWwshQgA9XA9Cgz4YSiY4FrtFzXt6DREeDg46Kuc16e","QmRycJnBZFLujgnqcCgYfgdsratBXQQSxKSaaewfQLR7n2","QmdtUmADUKE3Pnh9HUgeixQ9q8LsUgJUHjkWhPoouLBMYG","QmU1hZVEUReeMiobHt3x8T7hpmmoMjZnV3LwErvvTn4Dir","QmYVZvwkrdMChiJX6Y63BVH27M
rcMYJgKzaF49LNmgFTiXB","QmRW5SXGvuu7pNqdR5aNiqtHcDc9hcjG7k8ZradrsLU3hq","Qmdk4s1LxudXUn7DLcj74KNU1cKy5w4eNxGmN1Uoo3MWcu","QmZyZChjXoY9ud9HHfB7UHBajh2GVcZ3966aUTmT6ZjhUE","QmPZpUK6GMe6gNegY1hTfpPuN1d4ufM3UbqqSk5ZwzHQ3w","QmcHuGs6GSRnzUKZWfTN6y9VYPagibiAMaKr8Sn1FKK4ej","QmVdz6fGyGiw2BY7psAUFDjhhKL5s2TQv9aGBwhTfFcLRc","QmPvRa7zc4a6cGp12iVKCZ15TWcKParAcnWooWn8hDQGg3","QmVyEBXuXNMkXk2uQQGU53eGdDRSCaoqPZwcf5xsUo1a7z","QmWgx7CEqiYzkDq9wU4dj6fVtxyCxP2z4oR6z6tfR4k3Qd","QmNPkBfJEYL8bgSj7W7zB5tmh2Ambo4KXmFMHAACus8x9W","QmUTEfM
9UZ6nbFaH3RvENW6uoDh8WpM7B8oWz6gi5uTJPH6","QmW3dd6zbSRFFvLbifb4qMj4vCgkiGvTY17tVNgf8BnSet","QmdNWucmtF7fbdoD1vWdsjLMLqHjscmqaH1AuFh77VeQak","QmQME6jW4wjF39S13c7ufPnQZoCRVZzPPBuphG9K8AzgBx","QmbDAcSw1F4MgrESghkbRJ83xQuo7AiGgA6dBqpoq8MSu2","QmeLzjgwMNDX5qXDMkJKicD2dwk1dtzy7vL5HR6z3HfRFC","QmY6ycVtxZKJpiq8kXW5UZDFb3U3BqqyYu4SpBTBWPESKD","QmZtd449UE6DFqgPqz69pnyLXVMiPcqgvPsu3wsgPsy8D1","QmSUfwaFQUS5tpQnJduCkrkhmsnBimwPoi4SXGbqCCAyTX","QmTzf4fusvYQXJHH1L6BM2Yq6RuXKFXCjXDrPSQGkiXT2h","QmYckabXpRGcXwShnmos2kpFugUmSY9L1hu5M
NerPnYC8Qx","QmbBuBw5fjyCDoMNZoAohhz3kyggavH2fjyxMqURMgH6Zd","QmSFE46Gx8UzzfFHvXztvDeF4U632qdnyzHvAHHFyijPnC","QmTfs36yi888uo1KsbNFqJdGxLjcH7bcetdS2DagVEx7oy","QmZ5yNV7tsK1q8Zxu3U7oPD92jao9B4SUTJg6Dy4rcwUqE","Qmd9LrvqJHio2wa6awK3AEgRD1VxBAR8Bev1UkXX1G1G1o","QmbpTEXFiu72ihm6yrSU8XNhCFDJhrQ7rQkkpesShoxMf7","QmdzzqwAuZHuSZKvLbEiFsWr7au11Bbtvxi1BnvxuxFbWV","QmcLhCwU9m4E4LxvcB4TBU6Pn2v4rET4AwTDfrLXUqwZuT","QmQpSXerrJ8L1t8w7EygkyZRSD3SyiXw6RhyJC4Yrgts9u","QmUbxhbVDKFgjT7HLtCE6f6LH1Z1xAjgdt1XZcNbTjei6T","QmS7yBs4q6W8owQjRM
VShP7qsGQEwmpiVUhqqmZBPZSAPdw","Qmdh24CTkc8aAz8PxuU58CfQqBpRRhaqGB3E9DDgprbkiP","QmYDBiAh59zjAqfR7xj9rESGPqD387wGHxZa3piRPsBza4","QmYDMSdMDM4in12CQVHTDjucFR6Af6GPUQxy8iDmzWJisT","QmZjSkkZRfbVNvTFs6yPEn4dkAivBon3tG8bce8MdipBnb","QmdxZ2skLRMhMmecdxr9y5dtHHTMArUxPj41Wc1jr4n5CG","QmPQtZHDbaE7tQx3Vr3BHaSL5YARzbJYJ6YsYZ7zazDMQX","QmbF46pLfWYrzsetNCTpsDdtsoWQGJK4DwKcB9jsrfDB1u","QmPdMrNGsH2tgL4iKyNwRZLPWMPuHdibjX8UUzEmrAhy1X","QmUSK12ET8xCDzBwfJGi96jvFdnqn31yxLiRdtpZ1WXCUM","QmaoaRaHuauLi6m1NAPWHPr7tWfGhEvxJztpCztYD4Q3Yv"M
,"QmZtAS9DTgqH6VZKfGgw9wWnenqCuovr5bgzRzAvANZKip","QmRjVj1nMoUF95eguA4r36SEscdsdic4vxpSiYBmF9tdDj","QmQ1tGViqBu4AbiykckgWjY7jhnD6Sbt8VGQ5SKdSmdvc2","QmR71BwR4HNv3PMEovmWmrK62bPF7AjBXqmzzef1oQASyr","QmR8LYjh6dvq3rTKrf5KLXAbhp3pfT5ofPACJvVMhyngjy","QmV4L988FnVCmwJZcjNSKD8v8FHF6Rfrwxa4XY5FpHdrBL","QmeAMYwByTN6mPhqNN1A8nZd2RoaFMT9Pcd6c9V3Escvwj","QmNgYFrTDSdQTT4tftF6kpTAkevNgfHs9fiaL6ZzXQBYvq","QmY3s6rTorkPmycqzAzbo9RGGhsgY9oERKQ66dkCLybDwQ","QmNkhWvJqNr2nH2fHmd4rjCNXHX8zg8f6RDtXggbx7drk1","QmYqohJg3QiAn5HJpxA9CSPTVJhYM
kKhrWA6YhUQ4qGrgsA","QmTPFGoRvkVs3g4GT6Rg3brcQnRUzENYm4biJt5eeTPofJ","QmQhqXeNLJBZggeZpaxxCXQw8UqhVLwJTFtdGCQUWL8Q49","QmYmQ72UJSDEAjVKGfjy57mDvWZRKxAWYfR76PPzwWviaG","QmbxPTnEKfm53BT5HRzJ5faPbNcGgUHHxrZo8ZSfQ5yVLG","QmePS2s5qAJKafmXMmze4rBRHYzskps9EVmiNWRPuLnj1k","Qmdv7CLUA9UXhqCt3J1Nt8EYCPsYjX5nNa2tZRQ9hSBPDS","QmRqW5djLLatEWxsjKwgYYZM9GM4BGP2ViwWgkxnLMqmks","QmdSQ8tL1fp9fkTPmQ2k1x5X5VCz2XnR1Xwt3B7yjwzZvi","QmSaSYZSFwBawaVYy5eT4DSrjDrkfyCSY9TrhTS9LhvgDh","QmR9KYHGQbcbJb7UaatuSfZFCSjZLUJsCjUaaj47URDgqH","QmQCt4svyM
Axrym3vFYc6DtkcyegzyD1xZBFW91Hu6KrYui","QmUBsxXPVNU6tYPgo1ukkP6ggYNWCWgZzf9pFXvkzWEFKV","QmP8NXfY7Cd2UC7EYd7Aq28RUfzCoZH5WBPzaQKM5YL6yK","QmRiZXMe3BnHecPEzmkAdJ2BdtS3neANGbwmuoaJZDAZWh","QmQSdaxDEwoP1QNA7vFdgm5sy3fmQ5L8vUr4T4wMcsHUcA","QmYSGW7SX2ZVfFWmoSAnoHQ5D9Uc6WZ3Lw4FzTydHUoxGR","QmXNa1hdJE66g89knxGq8kSpXcgBDaT4BzbMWoeAsk6Wd4","QmTJpMHGrA5wfrs9yHb4nibnjzZ93ZR7SRG6mUzpFpbGZr","QmSXPfBAGxxekqWTa7bKxRyPybbz9ptPs7EdYGrXk9ch6v","QmTk3u57JRTUFZ5ezami7ufLdGfznZ9hbdBLH2ZZmwYxyV","QmU3es8utsu4awp8ucyhPEr1CoEj9cBSX2MbBdFM
PkThpTL","QmUVLwHqdxy6LkVZBL4JQCabYN4CMTkV6ckoXMb7QuMo19","QmWhzgPvtErYH58xWEPkAcdBRxPD5EcrTtvLFEx1tRqvv4","QmQz4VwdDED8CzcaPCVKfpPooBPpQK7uiJWvnW1jqgMMeM","QmZGr2J8VSxzuJB58w3NvupaQUNvk5gzpsCzwyH2qpL3En","QmWM34VJUGAk7MUiFbfqdnXvYxvCjZDUw2Y6KeG7cziXLR","QmTXGpvq8vc5NAyrApZCkpgs1Z9eskQPWYYywDbLMB6RHt","QmWTegBeDLqurkonLs7YmYBHzvxN2mw2meiRcspoD7LQBi","QmWazschy8scoF5EWitVQS3SX7B5cwoJyS1qif8YaXYPnW","QmPtuNdkJb7ig5xB1mEjsjrPgThG6Zf2L7PJ3LLyr3gs7Q","QmXQ3GAd1N5EHeSjHfXGx8e5rkVS4ydLw2pnkvRtJiUuxj","QmSruePcQhekQ1QcjPZGM
3okdHNp5AyDjQfdLYzwaFf8n4Z","QmYX1SNP9EvjNRjbfhgpjuj1rjcZ5Jp7Uyq2DbuQaYnMdx","QmToz6uktNykJwL8vYbdyYYGSvVjL15TUbCVMdPfFfpdPd","QmQ2GZB3rRvD1xgMmpH89z7jUuUkVbmfwR512bj36DeGZa","QmQpA6FQ2VmzCM3f6QXj3Uh4qt13QScrZqnm8LFwCx1ozq","QmTyLW7gCL6YNgyzE2oQxgmgG1H71PLvokHeLJEaFeKfit","QmfYD9sahwaQ3gpXNyN32ZAXg4CrEqj3y4jTFZhtQnT76L","QmRabWomYSWfMK5g21VXbBRxQqFn6FA2HXKPjZC1v9EKYM","QmeU3z3ptNUz99UMSuRohEPwLNcygFB5UwzYAsetb7kKom","QmZCNR3ow9bwmcj92hC1zARskzvZBrbMgp7RaSXLfQK2G7","QmXDC2aAG9CoiZLrfLiMrga8xo1kSsLPWFYzgHWgpEvgFU","QM
mRSGaGHu9SxpbsUP85n1JmuT7K7ePjFCsJ7k9AUGsg67r","QmVHJ7eJKB7wTHZSGwDnP3gaoNmQ1zTRi9HqmGRG9NuQYi","QmV8LkuEqXeaNsL1gUdBmYbnGnFgKezcA38TeHBRqyEjbS","QmW1NedZjDMedKpPwkWysuyT9tRTbMxr2cSBhvkg4iGcsY","QmeF8F7mH4kZ6T8UebsihdQ2pdr3xy5VrEp2VQ5rsxFYfM","Qme5GLS16gy9xXG6WxEra4h1t7bWKVrRiNK1T5VDBrhB4S","QmaRxqwMFdpqhUjy6vrRFvaQ6Q97teesPzavvo6G6Xq7k8","QmWBbSZca6NVhYvdc8Q6HqJuwEkSDGC2i4i2kgTB57ncGm","QmRA3iXrXH19KA7gsZbSg1rGevCik6KDxUJCCDvo5U8qrQ","QmXdNWj9u1i5irqLXVD1WuJ2dA1597BVuTBvymC1DahqeZ","QmfAQbsLW1Cs552rBjeinynEy2KYb3hM
SwBVFJ4Dnf2GTNp","QmaCnvtMfhTGUjiPWvGFpWZ7L7eyxoxXWyKESxNLsqcjho","Qmd1JSczPYcxzqrh2XASjRsyf5ciZdGY7VY8Li7eNjMAKr","QmXxtz2PvYSq9gamNEJiRNyLz4Ndz6rz395xeBiUmhfGEE","QmPdCaPkDS5ykWXAtT91jzf41y3gvoBFtLYB6zHG2m5agM","QmYWGFi8s3bfcztyE57FU81rYspFeW3ojrY99HmH6DMwKU","QmVPR8i6MyDqw2LS6mnfLQkrLLGqPTv96t8cCx5xDjVCHH","QmfQmfgzyU9t6yfDzWawRCYqWeuZqWh3MBaVx8GpvWUCLL","QmWB43jEjT1EE7FYChY6xPVpGtKWGuWXphxFH6hTehMNs2","QmdVuQvhx5VYytRiEj8Gj3NJhRQnTTqKVEcUThgvLDnNYP","QmXBCxjzhWmGGu2uhFMaBinfuoLFjfe1n2p7KmVifbYB76","QmQ8d5s3Fq6RM
rbGFeqfWDcLeVVJ5FcKxrXrmwentWso2BN","QmT7mLTDdWc4Vab9wZADKhRyTaz1u79BscF8RXWBDhvF3S","QmWij6cRtRS55c7t6sN6wt8swE9d6H2Gz9FZfSz2rerPKU","QmNTqUzckvCScP1TA4xRdyWBrQgRDB8vAWMoSmCXUCnbWQ","QmP5DRwEX8ZHotQUCZs7Ftg9ardTWNPNhYJeCEcT6Fpmqi","QmSeeGyhkXM4TkWxE7qCfTBxLUp4tRv6GUJ5YES9FFAWE7","QmPKDhZjs77ZLN17jv8VzVYh3zQvg8vmZpA9LkpXwRGRvW","QmbxV8WcAR8yEQ62KafEBHyeQDgjEjJUQb77qM714dVLw3","QmdTXCivgMSdcihAZLstanQrckj1TAkHSgZqoyW8s8vDpk","QmTeqxfAUC4ECGFfBmNrpUPrcYidZpDpaozNBkBqXRzcNR","QmYXz7u25A5ecEGD7JubqKHo9Vqnp5NQt8aw4ZYCGmM
tmkS","Qmd3QUEwH2Xw2ZWMuoybRStkNUgpwaMimPj2QyQwTDRArD","QmbMRuDBv92ZWrAWG7aXBW5wyWNTHNTsFAoghTxrdQGfC1","QmVJzh3PiyPRsaxPXo43s8DhU1iwyhLeE65CKXrnVXos9x","QmNRaoXqKPRaWBTELA3d9z1Pw8apdWLQnu6bz3LfGkkbXc","QmVndFAsXyGuu2xdBhqfSNfnpypcQxZrdtQ94qHcQpTPKp","Qme7ka9xxZtVKBU5WmBZH3K7pFxvR32frav3aS4dTsPFAn","QmXNnSzrLDsBrJjPS9W9zT6xeg3aFN4qMbM2RZRDC6WnSE","QmPhGG9vkjekpSoQS49sgUn8jTLp4gZPHfk11Q9RggMXuT","QmawqBkF2wMw5sfpZKzNDe7nR1p3NxuWHzm16Vgpq1NVBb","QmZgk5AqcWSNxh9GZchYySqaZA9udtgYB6FrkhsUYxgupc","QmZoHKpcJbsJAiB7HiPtUFNM
jC9pt9HAUzwdVgmzXm4qekP","Qmf45CY9Q9UX1Rq6WQWpjMtzSt7V7XcdXX2ksM8N79jHfA","QmXpeJm9hYuAoYp2xKZLtucw4B3X9QHckqcGBtCVYEMyLo","QmPchiuNg69EYe5yDzttiXMfdAJeBQVsd3QpzASBdGv3nJ","QmV1js1DHeZMNNdQt6WaKPEAxtoGEhsZuhgfykWVmjv6u4","QmVcakD8hcbXdP2PtE9hG9QLq1SZCEERpWcDzfwmCLyXSp","QmY7tW44PbzkvKmwqisg88NvUapN3u9qfbtV8RyF31WViB","QmYoh7uK9p6AoUdhVgnur5LvZRt25nXSM3b4PHui891gYa","Qma7CtdtobMzQ3ZuRH3d9ttgzAE5G9AAJd3yacjCE2CPoY","QmXFpQSJqpBJ2M5TqtRGfEn6jUhw2P39UrLgEbTA7KCR6M","QmXhB2fgoWuZZoD64UfqyJNKUcUTXaxS2YGMKExLLPiJSd","QmQLM
CWF52Z7LpshfN6Yq38T3erNfW1qrY268JJK4aAeY5H","QmbL6KPC7HQCD34bB91WZSmPnT3dYAbY6UPfsbpAb2x6i6","QmQBPRhSYJkVf2nVCg3aG5Ua78PGK3QqdjZiHy7cXk56sw","QmP8XWPU58dDXErrWDAJpgngWq1uEabQZ6YJmTQZhDrCes","QmbkSkSKP2o2uR8df6ef6NqVwVJndxqMmDnWuyaWxG6RrA","QmSh5jg8U8W4DtJwzxi1F4pFEpN6xJtsh3mZsEdVoKjnNy","QmRkT1MdTwD4QN8K3L5XEENF3QfEZVa4zevAb7HHa3fEZk","QmfZDsThhya53bC5W9Zr9FKNrTUoDVoAeqe5uZHUHdCyRJ","QmP5T4yFboNGaLeJUiXt4Zhc75cGPHkyaojWCAPCKsX7e8","QmWiQ8mkXVuZ5sQLdWoQAJ5LYU7YsSFhjRYCztanp6A1fi","QmYEyc47DxxhqUaJhLuMmAXYa4t1J5JgCjM
pC7X1FfRPAth","QmSmrjLbHEN7Ngv5ommRMGPTV9cB89wZ9FVXc5YxCN3irJ","QmXoMPPeC8se86GnPxWGoepw39xK5SvfgvvpVBu9RTwuLQ","QmWkEhCkTCCHaddEiUSiYsoCw1K1m8j2FQ9yewo7AbG195","QmYfHowmtBLAgccuw9sMfZeCQXgm5mJvHmMcZaaEzok7rt","QmRjgmtpvuFKudyhMaTkJ2cATZP7JtHzD9UTS6HjDaWSbz","QmRezyhBQExKU1N6bAepxPutXfsMxan1z41pTLM8YJrwFV","QmXcjB4CFMschKaPVfxtzyX9doCchrAg1pEj7iwSKNgrna","QmRTJuZ5XjcS59XRuic88TAWuLuzKdcqnuaW8RtSxhg9ad","QmRHRBb7toH2u5kPsrFrVWc68oid8wHwHdMNbcnQasnRU3","QmVWQEdxAaJDMi8ggx4Xd3S3Fx8dr9b4MkTX5LXAMTp9vj","QmWdD8rPo2xfFZgM
5ivSYz1Duyc7jAf848MsT7ShSkb5Std","QmVi5iPZFfeX9j8sz4Zg6rL7kf59rP1dJc1aMVoyoWFj5i","QmVnkTkbwagkhTmXv6gVpEALuXqNtfYKyyoFT9Mqz9wRAD","QmXVYdJa7xxTKRVinVn6P846Gc1AK3MyENRRUXMKJoybps","QmQAFy5nT1KighcNYohZGWmvVcwSBztXyvd3pbcRLsjQZa","QmRm4JTNbhkcWYhnBjP4hd25roar7SVTk7rjXXvqLNE7Eg","QmUgT1F9DhGYdBR4Q6oQ2PEa9MqHJs9wGA1z3UJ9aoUBe8","QmaeGJmRry8amfkTzvUVg2EBAPeJj5LgVETZP3M2LpqBwE","QmbE27aTNrrA7g4yWcqAgDTVNErdQwHLv4PH5i223tMmqX","QmcUxRmz1NUpmxVvcHbnjLtDCUFNQ2TuaGCKb9fyEkXrwS","QmeSGcMn9b65VJ4oWMwvfC3jK4ZbhnmVXXexjxy4SipYnM
N","QmW7KL9Z72dJuSUN2vivE83NBjg72whrxfd32L2y4MAyvi","QmXfzGZ79vwaBRoHiUsLXnb9RemDoQw3CeuWttZz4sS4Ls","QmTukBiWQL4TY8gP36jAAqTrFaFq9ArBRYpQiPTHwAu954","QmfZCxxADaqPfWnhn3stgWF3PuDXy2W6VTjj7tR67L8Nuc","QmaSurkN6RtN1jdSSfvZddvLSbq7XgxC8KQeXYDJrkLoWr","QmNQPBY2yWpQ5DjbFmCs9PeAs2UYW5Gmt7xvhPYoJGZL9x","QmZ1VpA9CgABrJqMsoRoW7SLYtrRYj436Mq4r65a26RmM5","QmQDVA1yqwYnaJKip5Ca6kC8HPUtBbX2HA1wBWN7TLR5Cp","QmV5SYGhFcuqYw22nqMzSbBRJMRgQj2ALh4hGkBBWg8n32","Qmcse2ey3XKwNnDN3yR1YMQrLPtcVuWJYrb9JET3fFD7XJ","QmV35xmtqbaCSdxvULULBas5a6M
bWbcKMtkvirhTjunvsjW","QmaDCLC5CXU5JFCbr94QeA75S1yHvYSnqVuCL5WQNV6469","QmQ4dSSj6CZhZqNMmf5YTk545bAYoa79Qm5SQcuAy3KvQL","QmWajXPCSfHXLVPRQny13faztzjChzyuZvrRviuRTwSVS8","QmUsLrT1imVmbADwa4sF3tdxU5gwtTfkH49v5vgsepkr2t","QmPmPTEUAQgVie9mgUPSrJZnjqUT8DkpLDHbFHLSXteZCk","QmRNkzJ4V9qjddu9C1LhcDtcA2fGrst3AKoxhwLrDuKHM3","Qme2Cc4iwHdF64BditpphRmzknmgd9zhauEvTmpNjZwGox","QmbYLvvbiMcVhw3bfKq86jSUDwv7Vyix7ZhtcA1rfF6A6V","QmWfNV9nQup5XKiWYGyaNvGcHs4zsTpgE2zWq1uCE8yqBQ","QmRYxd7kEVynXQHL7REZTRUXMPBohVTe2goFfn6EeM4Mxx","QmWqT44M
CgsmBvHCkFm1CvkFpxXAQX9oXHEZJEviaktSQ9q","QmT49npcgrYW8ojEQ6AW1biHffrsSL4Kt2Gsh9VBf2dYxJ","QmSycYiQQuLv2b4oDK9qh1UdsFAjX53p424whm3SEdrw8U","Qmes4fd99YvNv3e8ssCQ51Dsf3n7fsCdxxEbY5RtLnGR65","QmNoSsKgedFDYdFwMQjnCruY7KD8X2H1yB66gA2jgFBJK8","QmfCu2nKYCmBU1UwRTGeB2aenKdwBhpuuVP8MdyjUd2DP6","QmRhE5NNcFGXKs3qV3wr9V7ZsxBWBK7KpUWJLfWJBvpFuG","QmNg9iSYgf5NRJQpcXkAQuffjYari9oj2CW2jN1r2qDAS9","QmeyuUzFHDZ78CNKt2X6KxxRoqNHELVNzfGXcR1fNFQtWA","QmTrRUkJrQovVrzSi8JXKUqpEk8Ams7AaZHFe9CBepSixP","QmcCHpThaopG1NXf8MEWC9uMJEpas2p1ntdPVM
uuuXb9WCZ","QmYHXKuETkZp6rUH9aLF71XkBEuPvuhs8bY9j7L3th1Q1W","QmXvf2jhdD5cqUg2ZZ7UthisjeyuqgVf5aEgR9drFSP9WC","QmY2yUF8q8RqnudRcpBcFMZJGdDFZYBQsCzkSoPWjpXfYM","QmWT6vqWRQr6vtb2yb1KsDxy7mKPLQXPChsZ5bpxBJSjB8","QmRoA4nWKy8mfUMe8U8rERX8cY98HtEvvmTv47SHVeAWif","QmfCSMedvXz7ALGquLhijdrWiPcst4NQrFTpuiacjYqC3B","QmRsTQFkJP27qZzKukn3BdJaFh1Gei94rWYmpqt6cwaLQN","QmXukr9LzAy4Mw9JsydxkpFkopr6HYnznnPMuXhToKFRQ1","QmW7W5rZDP4yMLMutgTn9v2yc8X7uZucevmxFkwNStnqZn","QmZ9xFP7V2Ue6yeR5EghzZfBkeYeQPAzsdpkuPu8JMcxLJ","QmNyh4dCifEZaSme1jM
NQ3JJ7PEcwRkauAEqbm1x67Jw9YG","QmdTK52xV3MwfMA9PpyDyVWYEM1XD36sKdzCJFgfC4HShN","QmSxqXTENDvsquqx13aF53uAEMDBLpfc6ceGibAUS9yd3v","QmS2G6Fctq58CStPng7W8Yvn8UgaUcE3tsJgbcaz8YmsfY","QmPwbJpfRgkeqpLuetD3sGUeDfFFfANEJqvxHEAAdXBaD2","QmZzrxs2FwzDEdhJHg37cBMhsKsSpa5a96RboJXTdJLZpK","QmfFfRP9pXuX3xxxd67NBCfCNJtJTCHL4LUoqqtFiE9Cui","QmaJZzRKUNcrxX4NezWPvTQT4Mdy44NsDYwYQSpyvpZSeT","Qma1yJmCr23ZoKj6PtzCR5RdJDuM1Yof6mqHvj1Q99PmgG","QmXd442TH9bU7T56GQbgqfDUF3qdf1npsncg31JuHh5Xpw","QmQb8MrfkW4zgCvSYUB8y3xY2xJo5mbeFAD6F7D3NdYxRG",M
"QmaFRQwPqbXWSs8QyEtbViDaXc7E42B3XnbzMXowheihMn","QmPbzRNVozzrX6B94UDRbrHkbZbcpZtx54zkokRuALAsxa","QmYg7hE9AMKvVksBVjXN1HMFJEeVXh6kaADEyrUdrCrSK5","QmPUkGSYDtSejvr9jRTdRMVb3GuePBfjDSJoobUCdy3wac","QmfTS2MT6PG71Zxn2fZVzDrbAAxtyCUDPaoX9zNv9ttnkp","QmU5afMeWB2c4Py27N5tUcDQQxx6MqiufY1buyzNzZnbk8","QmVuuH5yiGor61ZD3MFqxsKTavBMWpZuFVMica3hTyJgEG","QmZqGs2VcV84g7ogvfhMwPycZuMTJfrPxtDY8WQSP6hsdR","QmQQQEPCA2yXRSMrfVYxMNuVZgXduqXRLmdL5AWLBkwepK","QmYb7myTbk5yjb2fRCXmojsfwAPnj1qcJZbZE5rVWbydB5","QmSJYYJ7u27rvkkHCsGKsQbrU9t4KM
CyqAiAjRqnwwfKM9Q","QmURFKV92CP2TAtmyksUTe2aeEivkwL5WFg1H34tNwKxvB","QmWz6HJrdcN2N5rTAZtxhj4wT9RydGz7J1MtrNbHEhVVR2","QmUgwStG1a6erRhFjoY38vBoMsKaSmrPsjXQvmQWQ6427u","QmXbgrDGnqHEs4TiQPWvMuq1rGzqiSkW8LrxJajF5bWm8e","QmZb1SjNST1PLveugzEaKwsYRVbwfPeya3Fbwc8Ad55vRR","QmNf9fnnF1gU2eEq2UWgpXaGimjXuFdDsaAunzd8FBYuQq","QmU4iMPAetyuQdeP5urabm3Nn2VTKFKB5pci8NbtuAJTE3","QmSuZbS62PWLj6h3Ltx4wiDoyXMh6rDxfjHkH9GsFNrNYB","QmWmcCvQGHNYMAv1wHPFVDmTCSXsc74ryn5wqKmYUCPCQT","QmNZCWRoqhYJaiYizYUKatYw2fVWDFsAqN9FSgN7Zj8vS1","QmWAu2o7yyM
KxN7Jf13MNxdnD7CZ5DC8NuB7g1bS5sXswb8","Qmf5w7hkZKskzRfiGn8QuokMYTpCKJmhYruzLWgPRFazYP","QmevSFJSXBonevPnauRu43TsEBQyx3Y44onv6veq8bDQc5","QmPyvbiRoxk3LCfsP7nADU2t14sMdc2F6y3WJhU2vSwmhv","Qmefh49gVB3YGQe4Fr7N6Wtw5hfdsMtRMBXF76aRcrGeKY","QmfHSVnRYESR5GLuHL3BQhiHHygmMBAZrhiz5163S588DP","QmbY6NmmYBe8My2ZRsKqhbnntJu7puPvpWQQHjo5ZVyrS4","QmQeWFDZW49HFhMr4SZRSJXw94cm8RLDhT8ZyNyX5wSyQp","QmbaWVBUEHfvq3mEvTitjTSCu4bodPd3hohfz3m9DBw7Kx","QmcarWwvT5XW3Z1zeCdDSVCHYQv8c7YDSoaNyMb5XGm44P","QmRexbiWwrNjJaFrUY8YvhWAqayBjHi56RvhyY5mM
SJS9m9","Qmc5YXuLyNxpy1e8qhWb3nBXM3XAqCB22F7qyWTsScWTdw","QmW5gP8GoPqWFeRgmZFLud5BEF7WaYErSEi2oXZPJ83CPz","QmUFBvAUE5fBDqD1Ey2exutrg7wNKoQgBMxpV9ibxqzCJA","Qmbsd4FCRpnACHS25qX2bwDoRtnGu6qaMbSJEwpXBi2VjR","QmRDRTPiiHuxw481VWhcrGvLY1RD8jcDT3hrnSXJuiURTY","QmNnwQVD2FCBczEfV6t6SRemJ4xHS7hFQDjMVZfkWraq5L","QmUawHqCTwmf5ecvuPV6ektYUAZfhi4UMtqcr6zSWk2Unr","QmPyH6KNQLZ1zQLkxiUwFvpaqi4ersuSF72qoTivfJi1EQ","QmXzu89SGd5W1KNZfTafgQ1CtTdUR5kDZUYCVouoxUexfq","Qmec4xu21VgKWJk3i7NtsD9qmfTS3yrwx3nUJtTepiMEgS","QmWxwd8f96N3qb8SbcA4vM
iytWHuT1NRwtfehHPm9zZL7fx","QmT4yu4KYeZqK9xQKWbTmgmMjUivFNtSsBStvyzTTn7vPe","QmcDNrKYceW39YW54Y6ucibh6rT4sXPgh4PjMmJiretrr6","QmbGgnDXhdDExY6F81h3Mpspo1kYHiRcbgjP8nWRuCpMyi","Qmb9XmA7eArZwnc496RLPdpXiokQCGaJkQcvPLsP5bPcky","Qmdr3FmcKELdP3MUEpHoti5WurLXDvLakvDDpSZVpgasRE","QmUH2uNu5XFcQYdbUcg87UQhV9v5M21DpvTAYgqUrF3mU9","QmRLER168YLTT2P5DW59A58wnQ2hhdkZrLxqrLUtQCMtXv","Qmevtrp9zhsCQ82GrQ7hTGgKgoAUpcCvUTPZU1tXikRU9f","QmZAWQcTeNuWuT2p4CyBKr2k6vfytkggBkJRrCG5T6JE2v","QmbiY5ukVW6Youp2bYYnwWLXzHRfYbcCZPwvCh8PHAGTVu","QmM
bUnH4xY7wcjypMtHpyJpnxLVNejDiJcLHpRozfWLaGX5","QmTeZPZymYRLrPPdQa3tFrWvGM4DM6FhUxHY14A5migMin","QmZFJH55eB8Lqui458bZHtzpXjT1ceZqtpmQ3n1haiNv4t","Qmei4mvu9RR8X4GiTRUc9mvx7fRtjbwy9wneVkTWDfkRK6","QmP1kSJANTAd7DN2WMzpBurqcYWZ33JCCugevURMXp5x8Q","QmS1oySBeAxWUnnFUvLWoKDgFTzrcs5mf457r35Qx2xhyZ","QmbfnAkb79jTLYzxWLMm3PGbq1XwWjFAdqZDA3Rf78buVJ","QmYVp9DJ4YvjeiqAwMfZ8f5n88yTdVpJTgLWxYwCrrqo1g","QmZsFzXMnznoZpJEBosg79PFQ5V7vh8gvtsJvVRn8BRWFN","QmS7boENCbXQVjZSrfLmDi7y3AexLYUYWfX7PeyeNV2Tmt","QmVr5Ri4ZVbAUst6cqjbb3DCBzPGtG9WM
YynN7eFecUYU4G","QmfADs8nM3XnkXEhk9fM5fypt5jpufX8VQaS5VrbLrVKZ4","QmZsaJqbYj6NywWh3b36GEKcRmmMziVTzraGkY1w3o67aJ","Qmc1gtqkBhjK4SDLjnWjsihd4gDVYygbHVnsZWMbgXRseh","QmSdMsjZUDxyoLz2ngknGiFFn2FtzcwEBnHE2rKmkU54VU","QmQtHetzrZTPd8MqmCZi74k1nrNBinsRn4z4AMeSVhUubm","QmXkW3XNXqGqrKSVXTRVsMhm3zunR3e83cfNFxYJz9srsg","QmeGv2iBUAXxjynE9pcpYJLFRVXzsJeVPi48x4TG4dV5BS","QmZ7twEyXoRAVKEauDTsMAm6y22Z9STP8hi5Db7nf7Tx97","QmaMV5poCHBJNxuySPCwxcTysj7Fcmdx2vwsF6Pvpg8Pzk","QmWBVowcXtezB5tqrwcKBoZHhhhKDQkaGAP96BoWFDL2jq","QmRTPkyepoaPVM
FoDv2u3AfSWzwMGQHPEH4UvYm3KwLthnk","QmWjy9oJLu9nVUgnwPYYAuyfsyaUfqPR3PPaK4heUvwsk8","QmWYcnzrHqi8YuHKAcqSDYbD2ajSgZNjydxQDydczGaFZp","QmeApXbmUcCdLBqfrT1sNazaz1DqWP9ouvxqBtasAiHvcD","QmNt4qwcWJuwQm7GHoB96vrqxh3y6kFFGjAacc4FQXSCkq","QmeirTVL5EHxSjteAY3HsWv6oCYRtKWfHZjWF7Q3qaRzPV","QmaYKC8dqsFk64m4ARKoAJ2Z3K7BVnpZLZSdXHDiBxTrpU","QmU1z74Y8aaxCshAUDRLxEWKm75ZUSd1d7xxbBNq3PMDaT","QmUz6KhmfS4UuzFB3mGT2oDABhF5KzBre5GKVGkXcBUWRd","QmXpUJXabrdJXF6esJ3MYURjpYRv2A2B3dARPmhuvT4EPm","QmU2RiAC7wJ49xRHqwPdbGUKjs2Dwa7nwfjFKVo4GMXM
aE9","QmfQGZTeYWDFqMVdnY4AZcTHgguivPsF9cG41g9tfNPUut","QmNPaRPmsK841aQLMNfHSErLzwfmWwUYmwp3zcQDpB8gUK","QmUisVmJMP4qhUbKgb7erdetELzpWGH6zTd1YmAdrJfwmK","QmezrzRiQqmW98cRLY45KKuxA9UqVUxmG7Km8E2QLspGMj","QmXoDW3HexQjmFDoFTnQdG1NT5uEm97U1rNSUMtszAWxWB","Qmc7CmQfV6qY2EjuEoBMWSn38jpRXBTWmRDEsAGjn52qLf","QmdYud4k1qMJ7xtDwpLxBFC8jA9fhkfVz7qyu6fKCLUseC","QmRt9n9pvYzVYZWreULPMcRuBa8msiKWoEk119pWea1ArC","QmPHEbA4ZyYGaCird4LY6XKJAk8PVzcfoe2T8QEBZzCnwE","QmUBf9YMTzv71aExwXQGZcum4sJZGzKkzBaTSmKEQMefCw","QmTBeMHaBDt1suk2FtYi7dQDM
YLixNsGeZ5A7wDzTDipeEt","QmP9mSA82fxGKy8FSiseTJ1nYkBjZLXSrP4Mh5Aqw8kdGe","Qma8NFFKwYJ6p3z2JTJRZyUNoJzd4E7ttMRwE3B6LFy4ww","QmRHckWqNBHBWX6Y6wDu4iow8sSusqcE3BqYmw14CCjn3U","QmQDiT5TMRwQQAG94FerPbAT39xBdwxfcMgoHHLFRPmksS","QmefNBPeCt9h3hsAub6CkacS1TBgqMvfVjP2U8u3H5Fy3k","QmPXef7gHKsnr5H2okc3dXxsX3JryudhACiTuYCEDDaTJq","QmRqcwBnp7Wg3BRPmXiBjFTgfoiMjSK5Ly2E4ipHz1neXW","QmNZcpwiMcunKJsHahvGZU86kRetEFY7n6itjFRbchkRJd","QmVNRzWjf7jvpXTrewGXAGUeTQMydkH74Ly528gfYvrNxD","QmNewD7wPKWRsZ9QMGQyJLG3UnFvTtVn6ptmwzKpAHry7j","Qmd6yM
4zkURBFk9nz4cUTmqsGRbE4ZsWG2De8kaekJQaKws","QmVWSJCQgWWutvseRHUMZVaEdgrv845yLa9ZJAQ2TXJq3d","QmNx2iSRFMR6L6nKnLcpbiCbHRQ7gb7aNWuowhkwNZAtKJ","QmbZrv7im2icZh2eTebGnNi2RSZEoeUhv5pW7CTc9PoW11","QmZQE7Q2EZaDc9f5wkv7HUGqnr76EJPuncxobYBu26fcer","Qmas8tR89HVm9abhJnSMxrYA8hjxWxHdPHiCx2ow2Y1SUi","QmQZKiuaUsKpHD6fFzjPDR8YKQaSM2GuSXFpjcoQLKtNBn","QmQhgs6QgjqpgofhPbSwYn32ktpjqEAdZM5uTAJeVyRdWV","QmYSJd5JbuieQL9nLAqvCmBmWNFsc8EJqA5U8Bh52Dn7SL","QmY1v2bFpMauSnVec17UjsSAjgVEui14ZuamzSBX7MKyxf","QmaT23KR4AbvsLUHPsBnngn6tHmHbTGkBc8M
9kd1HoYeo2a","QmU9uKD1VxcpdzghRNorf17LPNgf1ZNZHnbjV26qFHMwgh","QmaMBaHMcPDQhurXHeph3XHYmV2iqCFRPawHYkntz1z8TX","Qmd5ExnA9uMPJQufUxaVdpmCCw8BuB1gBSryz4ncx2feGJ","Qmcr9oFpq3jMxLBXtbAptqaL2wuh1YamFJkDG2jVVaVLKd","QmToXqFf9qqUwp8fUN4vgtJcN9zfaL9qmE7Fsm3B4hacMd","QmPXQARurNMAtrLb1afH2XqqMDL9R8FtBvaC6ezp2cuWZu","QmPHeMYNnG6h1HeUo76TxaZxi15bpwyCUQMhtmDULBRxRU","QmSSoqSKcYvqhvzcQwY6s74x7GugbgM5mjv8PLHqEMUnGh","QmQDpUZozMFH6CVwPMEmhvJ8Hdio42Xp4efu8uG1K6PzTK","QmZDCUphxGNbAhHGh7oixM3ZczjgkhLtG2yW894qyWWym3","QmQMSuoXZpKeKksQM
JSk4PcE24H1cL6qEai8Vzbb65FACtf","QmWxcbjG4CEMdMsqjkc2XHLt2K8UHR1BdCRdnZoaARaCAM","QmUKLUL8xHDNfE76nbCgVGNBzxbAaFNfSr244Q2Cf3f4dx","QmSozMSoCJm1UM1v7HKwbcmxpJJxjZntngXeX2A7DpPDTp","QmYn5jzpoE4iFzwdmmqGtWhsBnnouzGxL6PCFGWzqBc7bE","Qmc5ivTwa98QmeFLTjU4RFMXSQRsdnWVRXpeZonUgj2e9A","QmRkGQNqYhjuCfAxqkvtyvPEmCbMvUMtKtR1ZhHJqhVHJ1","QmRMg6nAry1KL5CAk7CNSAwrtRGZPKB2frX7Rfc2r77XLk","QmcTWRSoHug8rVdVoFWr14zXpkaXcrky7FfnBLb13iqM3u","QmfMUd5Lfi3jgzQdWwLZhm9JENGAHSoyA7uGCBhvJAeiQU","Qmf2vMyqkgsy5dSo4YpDcDXH474wkA2EvkZ5Xp1jigD4C2M
","QmceTtm4Bk2DnKMg97KUgxEiwaLSEarQX2HNJkUTYqLMsP","QmYqZfKmCVqM8T1dGNYXprLA7Y5Z7Cz4z3hc469nxisr7h","QmSiSwE5Xj2t2FXT6CK1ViuA3PJ7wqm56Cgd2NdxHkSTBF","QmdQTrwdfWbRPVbgrSEJ4qciRPvv5jQCXYBDKpigTW1cBf","QmPcSjbRUR2Bnf2t5B2ynahogPNxeCgRCPG6V8N7TWaXrG","QmNyCq73vT44EpZi6x336yaMnqVVnVpCEaZKFYpd97wvum","Qmf84KtJAU6UaMoo9wUpzsVLMzQugqJiUCG6259uJyhGyy","QmScBVD4jbLQKPzqWQgVAQDmzHCrup3Uu8j9vqE5wBnau2","QmQF3QWp62Keubmb8mE6qvwFL76D8Pyn9W34qJdyEZzL3X","QmeVMfQHDi1qnUsj4nswEgBsivuzeKtsawJ8yVvhDECuAP","QmS7NPrSMHp9DUFSkosjcSAT147M
xVWKyFaGR1dq41yCDSi","QmSKfpBhD6FsPPE6iGLtNuvR5BA99D76F3KdTd6A9CkJob","Qmam9mXY7RdBUh19PV7ePbtVbFhBrWbSva1jmmEaVynt1X","QmZ9GuBpoJNBXVK8xrF1ESnRnEvZWFE5LEnnKWjWYneREi","QmcBSSieP8r6umqPs9xNRKxEPxypjZTXTHPrkSTaAYry5a","QmRBsPZ5UVLCgikJYdpVxKF9SJvo7NEMRstWLphSPsdt4Y","QmNoTTya6U2XavduGzbM72Nz9yd4rDBLnG34YEK8t9YHQK","QmY5ehYBcPCapuEM2MuYb1qn24YopRu65iveDtukLje9uc","QmR22RaMZwbZxkKgDcAxve5zxcUPeCvSsJSRw4wujb5z7h","QmR7AJZNhz6LsNYPJH11aKB5BEaQ6z9Zq9eKDRRZPgQScr","QmWpYZnKgqHfunikqsNdsUvLeezxbKhTsEkTsWzQUWGPNm","QmYQaPmKM
sC6T8psTMqmDtt8uBXnDvKairJ72XZnAbuc7hJ","QmVeiHkfWWHEehNXMs11dAtyXCvSU4hDdMa8Qjd78U6iWx","QmSjmxzFgJ2dhkx9eLuR3m4x9qxCgKHetsHXzsmncmRjVg","Qma82pUaAT9Txfra7bcXJ2TFdNMizu7L6aaPHUJZRrCoav","QmUSyMm7BAYU3atHzdRrxr3DiPfmXRr6qA3mTzy9j5MPbN","QmVX4FytJHyxTkoeFeHGUSJ9NiWXkem5244Yfb3G5htRKt","Qmb8nGMwUBGPbarNoSBeAUKATp4BkBXMt6H5FbB7vr7FSg","QmbSC71yd7BoSJ5tQBhkwGauBLnDsrX8JAgQaZANqb2sw7","QmV56TTFHxywop1FbvT2Eqr1G7zK2QCiTKHh3BJsfHuv2E","QmNbGopu7fjJ6BYyuwYG4HEXrdwT6BbTf5gsWnw49Hr8nv","Qmbe5eNeQDMnWjbWaVJWR9BJwXK5nXc154YuTRM
vn8g5SPi","QmbN79ncMduDnYL5UEQZM5HsbGptiVc3wde4an6QPw6FUZ","Qmf1x4nEoSdZLw8rsbPgCJMfZm3zimiTGwhUvZ5FoJw8Cz","QmSDV4jssF3wgYcJ1TS4wRqARxWR9sHTdvG5U9k36AXfoy","QmNV9cttqHXUqSAokPeXVNTUNvTmuHfKQZyHoadHRrqZqb","QmV2XhFKbvjvtnDBmKP1i8kfqhYHkTAG9QQyuu7eSvPzhL","QmSoCT39vyha7UL1vjBNvA1gjRMymaSibRjRR3t8YXj6gf","QmTHPKXp5vsoHKAzQP891FzUKMFTrJCC79CpjTHfsVajUj","QmTdymiRn7zPuLGz2r5z3f9YcVKCWyZPu5aoytecYKDaDb","QmcoYgg9rMD2zndKNiz2byJmPdY78HU6hH496aE7t3jvM9","QmedvhnJ8PN7sQJ2voGRwdfLoPvoYhDhutWgWSGLnEvHit","QmW5JPnnD4w3P34UnHkM
fRuryLA25jffEbVu3yzPudUw5WF","QmdSdt3nD5E5ee1tZSCkdef24pWq4MV7owDYVr9wWYACsd","QmVmAyWfWWzpA439rV34MpPx1frvxnjJ8NUQ2ji756g7CT","QmVCPGnSXtX87uXnGdGJ3uRvnbcvCwWP8nP3Rs9oNDw84t","QmdXdZAYkrBgXbC1rvE2SoHxBSSd26D5dawLhttK65aSo9","QmXaTXWH2CFR3PJDe5M9LTaeuduJAHCRwF3oyNZVLNR4sG","QmcMYr78EvCoBESpj2HKVFuh9bR9otxPbnqKT5Bz5Jcsk2","QmWv8RL2BNxDPPqbrsqAzQ5BKC1ZWnJZPW9NbcCsxZRwwP","QmQbD7E7wi27tEeEodw2fo3XFhzYUrXwgzrs5DPq4TmtTz","Qmb3RFMB89JjJ7S2heFZFr4sBErcjyzoKNX6UgFzcUyQm2","QmW6dZmAofGqeUkMZTKMcYqd31V9SbH9voxHFUzWhiez35","M
QmY27g2GX4AaqmGJSHRQcSGCQXAdFsNiZxQSEEjVaNGzL5","QmezqVEyRFw5MQTFHH3gJJ6cx6ZtFxj26nyY5YEkqZp7ct","QmTw6MjnUdyxqF4ixg8qguYXErxmf1gL5RG8PPBiNBdTmT","Qmetk1U4NpF18FeFUha5PGrF2bkyp8AbqUzm1efGmRvNLX","QmQ7Vfodq6cpKxd5C7AEqvfg4pvz3iPx9nCN5jbU2N1GxZ","QmPGfzD6WfKzaLL3KnpWsAjaArNwTg7qD6Li5qUVstjJTB","QmVEGahr4UvF9zWkEqHiFMR6125YqmLAT6mLQcoTsiZrMm","Qmc3a9jNRT2s9gzS3mpcYJL5tJkoD6EA9GFSXxeeD9FXum","QmNZTrYut9UBXFajK5KMxegayn6k7YmGdvHAKSPAtC6pDz","QmQr2o2BW6Ypt8RpA82V6wxGdNPJKyoKcr2R85Dj7sj1uQ","QmVX4yKP5NnWFn5vuR6wk416bSHb58M
39RZJUy6tXH8Kndz","QmPa6NCyvqmCBHMWPbwT2ueWWceaYcpjTiftBv1cGnmghz","QmSMbcRr5vRUdrhj2c2mSdYLg7WaTsuoifzeKWm6vJ96FN","QmRaQqB6pmqUMewZr4bVMamCRZeyE5JKYDwqtozR2WRsDs","QmNmqT8rUKYVRBtpWe6t2BNUXUVdWmKtaMk9MQRxGpjZey","QmVARJ5F2TYHcVKpzhPXpQghM33WNcj4EVpp5EDsHLyHVo","QmWmdeoXfV1DZhNziUiCgUp64tE6dW39ByCePfiiHzZEdu","QmQUVEDSS4qCj1rET1To3DF6rZvQXjsP1CCiDcE64V4FRH","Qmd594o986zoEVRbTUHX94vYZCyD6fMwcG8BGyxJPW4AJe","QmSMeVqp1jzxLAR1RK3zsKtCxzKZQ8C6P39Ka57aoVsoVK","QmQnanFk4bNwSgzJHmdeSPE69cVfm5CCRgy9dLX5t92zoo","QmWGZ2mTxRNM
DptPj9Rj9rJDGshAgMLPffpvCR73Q3WGU5m","QmbwxRiwDWVXyu4tRYvZ4RymwR4LEt7zjCRBr3FFgFCFCm","QmSgmSGWM8YWHrEUzR3MoYZxQeeT5FgacPhdye23kcV7Lm","QmdVGt6YnyTCz9QHkgRr8TVxzyAyMRDWgd9b7XsDKALf8g","QmTuKp3d4wVfF3PYQjL6sW1n3Jk9XhY9JxVgiw1sXPavuw","QmdetHkZVQRBZGXYdgq45p5pNAcFYyMRsPr6xDk12Aq53r","QmPvnARB9NFNdyVsDAm4MNE2M2NMnBsSKEEqvLhqBsreGH","QmasjD5kUaHaet7nCqtL1mFKSHdJWPU67c4Sq572GYLgvi","QmaPaZ3f47CmnfcMtb4Qti4QuQ63hcE5WMNmu89HzSGyzn","QmVhRpDtYPdVfkesBmdD2wzEhZ9SzjWpepyW8nvNSBErLT","QmecXuB5oHAY9E6fWbzKWXBsExHKKcheD1XZTCtpvM
4tK5C","QmRWnarKNefhRw57J1A33Y2FV48J2JWLA9tLX2D7Xc7qEm","QmWj8v58Hagwnx2MdagUS8SRhHnhFofJB9EE8mXnAeWSsV","QmUC2QbZZqmAt9XGgWvHZ8zu9GwUMp39i4rZqiB6o4niDG","QmVezmeob9m2BLbxRM4zH1F8Z8aPv1jAVrFZ5QWwwghoKg","QmaHh4Sx7tBZv2CUsJkT2YmGYf32CHWWwyMw2Eb5k9ckY4","QmR6opL8wfdXSRhSGPeQKxKTLL7o2dCNwVy3zY2XY99wV8","QmVwJWDQCdMN4nkZsiPjU2RxhyP8ErzkQdKNPyxvDcrtqe","QmeyxFyozKNpkkWyTanB3LPZou6CQjd8juxtHsE6EyBvnB","QmewMC2chX1SkR1FNttJujgfLZCFnSd6RGAH7GeM2V2sCW","QmSL1wqeZkjAumQgfEkoLkBY9UBZWZM4oYyaMohLLmBH3e","QmbFq9ydwubQ9beCqs2GwFM
tq9jxpsJ27rX3SAAcZs6Py8H","QmTaXNDuu71JZcyeNgtLPN2bPnLe7aAMRgrqiw4AWjb74B","QmUFjbe6JSEtQnhrFRkMaZSEb1HznCmV69YVDJe7LEHXVU","QmfEtvioNpTvKgq1ZTNmoF5BVBQMaW9MyomwMTcjZrNRRf","QmYtJpPjPY75FhdqttaXb4hGSvM5gGzNopeLnkAHSWAoPz","QmRYK8nTcdfocVHuwnAXmkru8wgKKX5TYwDA9gkuuqKQDe","QmSCo2wS8ABSf4yqpYrF99YK5X4EZSCnyuFMXzLKvUEt5e","QmWGGpxrA545LUw1Xb71h4Sjc2Fu8vwsyhtruHbkDXuXV9","QmUBtSWHzqoDqFD8ot63r1ygfYDxiCWmYUo4X6y1RxTbEW","QmdRcsbL5zgE3QVwgo7X9RVADZhH6rppcK2eA8A3iUNeWr","QmSMNJ8M8NME26w7HKHnhk2HHC9TkUygpEfwhXnYK6ZmG1","QmUM
KsocJTpT5UtKf7PfUZr89L6jWkANHvZjkdYynq85uym","QmXFmAyvFr7RCdkBWB4TwGuuoSX458BfdNPPPEPLnYAWvp","QmSABkyLvLmAxS2KWKB9F3MrV9ReDRWqWSA7jWTUPLPTqy","QmXvbYzDc71rVWDk3AYmxtpFJziZrE24WpiHQprWP2SqH8","QmSaXRzfon2qVTe1GYTQrkDWFpQka8y5hu8TQHCVgMfDXE","QmNifeGuUbCDFEEnBrUFtwVGaa4hP7yJcehHVf5RxZdCfz","QmUm2pqjc3XThL5Mc1GAXbGYYeMAhRR1NkiCuoZaDLwEDi","QmVmfzuhku5Mpjq1pbL2QLdfKFUX5MV1BxCVFuqzpJs59P","QmdUqShjjUgEBF57ZseFeQztLisNPBuahEvLkcLNa8gnGr","QmTwKncZg9wQPwCDzocSbohZ9RDYxgMoKf9TunS2TH5Axw","QmbVWfXdGwGrKYv3DRvpvqKhUF8Fddg8CM
DZq3dw9CQoRc2","QmdN9NWAPEHr4PcfFk7ihYrrFmUUuqHdafJTFR88FxX9Ts","QmNQHvhig6EpsNpqbTWRYzPM8wmVKWgaTiqfye3FnevxAr","QmdU1PktHzS4ZJVnYwi2iU7RwiHP7cjnKozCypqAgFzyhY","QmZJpzai8SmQwFhQxdqpvra814dvdmhhcMGdBjKSeS1VV7","QmfHGoBYiBoeSPfmVMy8z2cSGbhGjHy7AxAp8yxHpPVhRN","QmcqavCV4z2ujfjJm1cwGVNQpmPanLJt1X9QHmWEMA6MtK","QmSQDtPbXBKMC1sED5fFjJyd1DwuNGqgCdrZKS2fMPH5kW","QmWpLcdFhtfKpvbvrJvpXSyeXnMNj5nQaHo4LTWH7DmAVS","QmaGnHi3YBykJaSwsqmGN4s45B9wxxnhsJ1seHTPKMUpyi","QmXcGFF3ua1fFhHC7qU3Q88wWtMMn4d1pu8xFCTCLLbinR","QmbGGXZy2q9GfCM
8yqTgznTnULSRD8LoQrN5eYMnyU9L13Z","QmXoYH5ja1HiQ4K1qpr6n9qrfK4i9fUEb2QwTikMSB3pPW","Qmc597Bm3z1a2Zxe5iqEjpZHqie8fkkW91TogBy9VpfjWP","QmNnc6Yq5BRp31RSHzDUbcsLtARzwrMi7sPPWUmYH8vzKq","Qmc8mT8Q7q1yyQgb9Dt54beXsxVFZy6NN3trY4jSqCuaw7","QmXHrtGhRTcYf8GCvYM4jZK4EsUzzb85xAN8dR8JsE6GMS","Qmeu25zv6sJJTmphGWscsWUjrpZ9is6c8MHAyNTYYHa7zo","QmQbho6ZK2GkyQjPUvofwH5xpdzEoFH4DMJQUsK3kqDqeJ","QmRtMEnqtVw3FDdrCQpMQJPYBzWmNTUrcbukEAB7hd3DF9","QmRQVPUSp5La6qUkZEFrTR8hooQ7erG47Zazn7BPNG5RKQ","QmbSCrBtfpKjs9jrZm3gY3TEuPEuQ6mLeAXj1WxkRD3dM
XX","QmZ1GkM4jb3sULjL3geiASH3hz3ToevxEuYTyBWiVgGxJ6","QmW31vTgGUW9AdCLFzuEzJRNfXvV5pV7dqd7NJyzkYitio","QmbjGY3CdaWqMV2q4fQLHVhi9A9WJw8VzT7xicqQHppkBE","QmVZLMwLyVY9nR5Cr3BsLaQ3pK7mF9Yk2BT42nodQtf4Dj","QmW2V1GcNH5G3hn5AnS6v1yLaAtUCXeuWSyfyVPTeHUgbm","QmbZdHTfhPwtTu2Cu3zmgc5chD4yXSX1cHPb2LVgJ6XzqT","QmT4u6ixW4ju8GVFYn5w7XonpLkhKcGpxByN9PQsKYAYwr","Qmdrr1FGTbgRpPS9KqQLikHSPgc1XV9D5YHv3q11LBbSnB","QmTyfTE9xE99jELvYasczZprMRKGtTh8NShMJQuSYrT9Ek","QmahWjXZS2gEeMiWm28yYWppp4a9SAd7kopnCGUJhTZ8mT","QmcMDhVLfmkLhVrh6CQzfBrJwM
Hv51oFQgdbBE78Di1V4Cv","QmQsc4wJbyit3fykmEk4qWAqinvEPWv4ApiMXKAe7U9c42","QmPwvjvvuW5LmPxwS1yZ1dgLKFjfXgxGPwzwsMUyUUbAz7","QmeXTxXauZA2fP2bfLU8NrH1muTJ3XvShdJeF7cUTKvN2i","QmY5uFsrXjgvBQEkjQfNUiARtHtgct8CEJWHSWerdP5Ljc","QmY6ti2Xach9SvV6jRPGHtccECY8B3HaFjLfpoCZDC6YFD","QmRk9r5j2Lgcb34WEzVzF6XCTHSNgoL7KcUeeYNR4M8GHN","QmQwDsCFyRZGSWKVmLJ1CZ2wB61mpDeJ3DU2WLm2Fyw8Wa","QmNs3ir8C4gz4XzESQkHXVWuuBGBnbrMZZ4WXJmzFAfFq6","QmRW2b7MpCghd4H3Ksugx6Ds2HkiN2dk1Ja3Vbj2aGykyk","QmdQ5kWr5uJcaswa2w9ppskgZmBpCJFQLUyBVex7w1GFom","QmbScWM
D5PrpPUMcdTe1f87QaEgWK8WaQSdeEmcVReYkvzY","QmSDzCmdsq2WnoRxiGbdjGMfkJZ7JoyeoLisMfXkkQz2wW","QmQ32mwpJUMrkLDJ5SPwESqZWrLaMQP4hFNcYoxsVETQRz","QmRGWiZcsAWhKUkHcZLqBrpu7jomtF7DYJnDPCX392Gskq","QmRVfTKZXzb1scR2LoMYo6FcosAjMW1ZxnuQUzuihztfTg","Qmdaum6fCAcUMMPBfvRoWFrFmzHZXavWRM1V5qCdHia3sR","QmQGTV71EcnoqDwwuGYPKfRwAX8QrZK8eT43vEzjPiYkLD","QmatdSPvp4nN6CkrDGpaDDsfzwWGBFNkga48btW1zg24NC","QmTJqqZTvsamZkvvEGV1ehhJfNuV9hkSzVhgjuufkvWfqv","QmYY7VqXM5nDg25D7ZTEgsDzoZSe7rU2TN6yA5sHxDb7J1","QmT2zK5DZk6N3AJVkFovu2Apbc4NhfswvFT1M
AfbNChvF4L","QmU7sgCwzyiDQ7wptdDT2MYqu7Bw4L9WvTPGc9LMqhGVjk","QmUXZWLvQzYV4r1Lzr5dQDGrWL8S8pXcnQZimk25ubQ4X7","QmaePUT2SCzzbtddGobhaBUb85egjuzRojFzg7Hgrnu2vM","QmYBE3c8ayXdrsrdSVmSTKAvu1vvuNiarJ2L6CVLcMficL","QmZiKCGbmVdXAU1cNp68Yr3YCNRQRx3ZarJmD5CioKKEFY","QmesVcJLFYzpYkdCyhEqfYS4WqhfVuoghJyXCBCP1sVPGA","QmdWb8XwNRhvBFsgs1vgxBv16w4JBk6jK7zGaw4nWD8WwU","QmZmQ4kroYtxmpqi2FR3WKSy5emyCkCeigMSU6GeLgwWdV","QmNn91YZiijdvr5gQkh7VQPSsvL3gKHFmxYWQnjP2Aqyvg","QmdBL9hGcvyVrUFzG5xp9fwYqKgzrRwcdqSr4KmzqwGD9M","QmW9K9k5FtdZCtoB4M
jKKvjMKgmg3DAahRWCSC5mNSMr4jN","QmeQeCwuKTsEGwyAekCDbpPnhCuxUq64vof5D9eD2HBG2L","QmW9TCoumgEjY4YGaD2f2dwj3QVDRNDYnoH9j9oqfGthYa","QmSXJonSPc7cnjgcKwVXFJR5ycyj6ZYdXV9U1USFGWhgCi","QmXXtrpxHvvAYpFsEK3gfzvWAzrDfhwsAZF5JAhncJu3ga","QmSzsyGNBymUmzaV81Zni1joDmYh1fmunNiNxV99Ek1Dk3","QmSZW63AQ3SVTSrj83KyFoyTTLQQ4wj63PhqPB1QxbaBVe","QmfLuaqeZvuMYzBHtx3xhrSeQaDdgukq8uQ8EDiTBGBsP8","QmXZWMMegrD7fTFCVdGQRy7E9s3Vcu2EsCEVnjv7KE3Eby","Qmd3mLjqcgMHXu8UdqsiaGCjYQVw1tkgrD4nqi8Yku3bda","QmWPjYtcNnTXWxYPZgVS15rRtgYdS1C117sRtePHhyLQr5"M
,"QmUKpCaKZqfQPjd7R1k8sXAkdVYPRMEt8b4cagNKciogzX","QmPJ5B8W6pKyyHcgBWWkbez9FZF8wAH5cjN6hh912TwBhh","QmPiwKATfj6Wzu8mYQWvG4DkS7XFjFaNGZoE1ENkHW9reN","QmS3iYqDv9LQVq3SRgVEb69pU8fGnEUBUzn6Yn2sK5ZgxP","QmPqVsbSPKLRLhTK7V6yU3bPFw2UoFtvrHPt25hujLW3Kn","QmUg3DJVjRLqTS7ifs9KzA8rH3sog1SY3X1pgEHKsY4Kp2","QmbQm91JR6kmcFzgJ7WThgMgXwA5G3pDbnCgcJm6HK4Bg8","QmcE31LcbPRDNSHa84K3xJCunwRNGuSfHgFKK7kYcf3ZPH","QmX7eqqBmScnnnHcYjzXng9AojezKLvwqXBxdvqYNza3Mw","QmeRzbn2pZzLUMd8cGPNcHDt6WwhKDyubPdeSnLs1ba8uy","QmPEftUowkxt2NPmjbbkdjhnpRBmM
yL5wSVvkqNfmtejbqc","QmPaqF8xkmRKDDByaXdDjA44nHMfaZwRs8sBDeckSYzAcm","QmZbUZtm7yF1Urcr3w5jT1n4hMy8vDj5ZmD32JpHqWwEcW","QmSF8yFatWGenoomnmgKKUweUGbhh9Yy766tnc4VDuF9ky","Qmc3Qk3A4VL84pyMQUVy7L7CSYD9UQ5vijdmNvwZ178KZ8","QmPsWU3HZcfxCxGDR7ctALa3H3orrb5p5CU5Z6CHw253za","QmWFfgNyoMsqK7KwLu9YtKNyN6TGthg5DKG82UZ97erq4h","QmRT5qj8E2zEEWLYr2BkGUxhp21iFWdAUaj2WNuhPtitNC","QmNzSZYqvKbtNgKNabKrGaaVDtyNYZDzGAmeoBFaRupK6V","QmTcoMFogzjMzvSRYipEXQw1gf4enWHndafPtM4seCbcUu","QmTswtfbsvSqG44dP4xRmE6w1NmuV2rCMK823DSmvSP34F","QmXe2C2tXM
7NB2q6UbHGEyoJaK4DnW1AhoX4cmhf2fdq3UL","QmSvsqtbPt8UPnySrygbL367UuV95cHtFiL1VhsB1HNCka","Qmbeskytk3nRMeePhoHVtakJC3HnrteZQufJtnPXLjkm97","QmUfDDbPbnU5SooAtdSdYgkYdfeQw5YWhRM4XczTzT1G47","QmPFYx6La1wyBjHXJ7kf4iQT1FWhtKNzC3AFEQdRjJUMum","QmTZrTSAWRf9cxHo5fNNisirjTbMpvyeYLQqwXgnpEYQqz","QmVthJ2LDicAEiqtHYqpqX6bgHMShupJdXUq4R4EAcsHt3","QmP1yHcSgxwPjmPHEU2FTFdLxoEaP3jfhxGYnQ8EENZzaa","QmSukhKmc95yatvtNzd1PY29XFpqMLgCedSqBBK7kKke4U","QmTzNfhhgnuhZaXuqTavtDwtR7LGMwt1P2TPJNPdMc1dYV","QmRPXj2Ny81yFFUKq3wupvypLxTKmXtFvyZ5c2uM
cNy6kBb","QmceGMtUiwWJQzLPQd3bsFiN849EzAqrGdPNTpY3rBpSeg","QmVBneJB6SYwCBGqcaz1zKGuPNYgE5aTAsJ6goDDrUFkv7","Qma3adzd6vjFyTLSLREjCGNXgj3EZaAUCAAZfrHQxvnhz2","QmNa4RYU8Hwa2CFqobzd6r6YgimBdtZHEFXkX9wSpNNQCY","QmVV8JWyEaQEdEiPCscQF1T9a3jduWE7m6c7C15XW35oPn","QmYP8Hsn5tdBeSZLu3RTfxUmv1NpwP32ULEuSC8BjqjfEh","QmfG4v3jkhi39UaTiN8k9rApK7peDGLygZRdfeyfnB7ZTS","QmSs4ZUhrU74pcQmEakP459oHURY9fxKhZ6mX9pCkT4AeT","QmVRmVoK8TSjNEmbfrUacdT2oWAz7sxo9U2k5DYq7fRwFE","QmT2ha8FvrAA4JwPQkHbpxq83va9excsE7mFmWCf9mXDc8","Qmcp9B93XFipo5fu4GemM
ZT4TuMeqEhV6iYcvxo3vYW4Eqp","QmSR9CgixCBw8ybGdiSeLWGbkPDGXvyQJo5axKxrStaVDJ","QmNZYWX5UVjuxFxBdXCBHk6diTdCvj3UM4ds2rKDjDi2V4","QmYcp5MYFSx4B51Lh3gxYuSUeKofWQhrzjDdNrZbZNekBA","QmYBJteiigVczMFakaSHCqRawvJ98xPbrbo17fUYFmv6gv","QmbYz7aZVFwRGuBZr2TPJD67ggbDZUbz6cxFHfH1dYvrvT","QmeCW2qj4Aca2fEY7VKaEFRFTi9jZLaGK1CyAyiGRmptdP","QmZJ2YjxvSgkpbFMHyuHgrq3LizYKXXuvM8cvCjCxNPLEz","QmNeXJibHeFELuc4SwiyJMkKVRNfz9V92iF4imVxwAfUPM","QmXeLbqpUo8AYp7rwB26mG5AqeZ6yGcSvH1JSgHoYgnGve","Qma9hBdqiLEqecXPm9BuED2u26LhouNtXg4yExq4seRzHn","QM
mYmDtv62cMCGvHLLqG5UfszWvfvu5jXdxdE8eFyhSwu9P","QmWJFwQ4tngnUTj1SB3HnSwoYWbSW8T6wvDHY7vCxYj1Z9","QmPKAoxFs5Gfuh9LDrJbsTUjWGEkrmj54iQFihndq8xMAe","QmNXQBqhjUFKvVhYJdcBWTpiviuHDhW98pAGhGfX3SMJoe","QmZhCDss853ttDcai3eYaVXRNsaPCSgyyuZFp1A3YvHXFM","QmNpkrBrsSQiBhoDNRLScMWH6qLN1iy8EKC8sQXugRMKK7","QmXw9qrUkMUdoUL2vYcSppUPiShX4iYZXStePzrHrDwBCo","Qmcw94BEAWZZsAQMsNypXg71FCT5EuPDaHi7hTjq2zyEMY","QmPriywXPPmEPm9LBAoyWkKSTcEhBZmtmBRnNyW7WqmyDk","QmS9m4q4Mj6yxdipWPa59kQdXHTsmhEPoASrAYkdX9YvM8","QmUdVaePBVxcWcShtr4wXDLh46wtjeyM
YZn5B6Q3uWdYA5y","QmNjEMhMwMVgPcooNBuXj49VfyBXRGMX5xmRcZvvCCXjVo","QmR2nHM4VX7fwbyR1QBXNU22hSzeXPXddzbaxGJEp8x6HA","QmTHAhcirEfRPofuRNwfJeJBmPEJ9WAdfsWoEF44CgP8Lb","QmQD53HvpnFPRFqUsmuwUYB3TmjtPENExKgq8ZHRRjmdgy","QmNNFt2SoymQSJG5j6PTtJ7gp9uNnAeuvSZYQcpoc7WH2F","QmVccyQF7FdpUnbAjjNXcnJ6jkQftEjncSrVaGPPr1GCoJ","QmVwprUqfdhoFdqYNF8Bq7GBSjeGt34h4JSbrvCfaQqkdc","Qmeb6Nhi1APjPyEguzhuWthiSnSthKnKEC8GhkQWwTYX1S","QmY9VcGY16QszYqqv74YbVSVyABCeKuQAihaFkRZ7EgNgQ","QmTFKXfENKB6wLW66hYrhjSTEQygGTAwqZVp3WnUXWZupQ","QmRhG5snSFjWM
E6cq5mox62JqadAd6eDWzfzGuwz5kwcR7j","QmbovC9roGECbxj82quYP6ELmfjVF15XGZX6EX8T8Gsq6m","QmPADZWqpW5GYdMCKY3tGNqy1txA1sMbPPE1TurotztcPy","QmbdeT4FXkPuxuVzjE9WNgCL9s3CyS8o5nDyseQ15gPjba","QmZ5mKJabrxLMsJhUEs86nDdgSr1puyjay7b2mAZesWmFF","QmfGE65oHJCFau19vrFPQS4e2XHfCzVFeGeWjXDBuV6CEH","QmSsQ7jNwmBbh5KHWXUsazdnDVvTbhLD3vr9gtpGHhw6kg","QmP52f33rmi5UCJoWnFWdhXV1q1kMpxdkUjVXJiNAkGXRb","QmRbvWxi6yfqmM6bd5fvL9jLSHFH5QFBf7Xeet3a6cApFK","QmSPaRMuxqS7igVNend3fQdUV37BUK7PBZz6WFghrSJYTU","QmSsqUn69S4qMNiPDeSofoqVyv69Xxiu1SsXSrXCBBM
aAbn","QmYrCVHMY66iRAA6tXjLXAXYsRUpJq8675UcW3VgvPAPGA","QmccCEcqLy3Mc3iSwRb2zZtdqBFhw1euLv54oNY6uCeB3o","Qmay1jeqCBrKp62RHCKnpteMnoUZiQ5AMs7qWnYK8Y3voh","Qmd3ExoxXqcNfvoWHZGAwAH9mZJZdXqpz9GXvu3MnocwRy","QmQVeG6VSp2vawa9vCP7R2Nt31HYEAeByY5ZyjxCUrbt59","QmW5kVnNQN7VHTEQ2SHmAi9qUmJp5KQBLRQVS9hke2u8aR","QmRt4cRJXappnJuJQmq5pGdxCturKiYiDW6qyYhUX12Fiu","QmfZnCdNaSMGZXQ3VDr6o5rdrH2WfRDqgQSkwckadRQqHq","QmQL9kSKk2q7S6Sn1iqrNoKcK43dTgiBqPRs7VhnLyZWGi","QmbAhyg2VhUpjZWth4gYbcayA7GPSaQFDyRJ1zVijmGZKL","QmSreZQic72ZkoX74QVxYBqM
44QPipD2s8tDRA5md8T3grz","QmT5JY4CjT5esExwY1zs18RdJpH1yVSnvRsv3CQyqYZgqN","QmRN8FZ7oXwiehSZPYsjLRqRXhHLjuZabtKRu6aN5PhA8C","QmccssTwg1i2MN9cVZ7o2wRa3yrYt8RGGyNL2Mm5vWxJeY","Qmc6Zj5VAZVhuc18vGy4dvJ8tp2FSJnyKEUEWcuw5marXY","QmPHaP7pgQvSsRXwaj8YVzFfJw62qGYpzCgm3P5nMDhEFs","Qme5HiSyBsfJN38sVF5fBfbEChHQhoSKwdhLP6RWp9gL1X","QmTpFM4TFiRUBrAxFrgCzbbiyheb12xZJnx9wgyxq9PY2A","QmPDDhV9nzneoNr72qAz4SiY6ndHFLLSN7Sde5zTeNJfCE","QmSrDHiCXmM2aCC5WEsN9kdwpe49HcbNJSEBqyDUUKa1Fj","QmXK3iaKosprj3CvNACXFHZad4SRE9BSPwCEvPGLgqsmoQ","QmTsM
dtaJxtjdo7xCCumrANtLHhJBXYWxzAM5AtKwRGXhPA","QmRiphQ97r6z9CQ22iPniux2uennF8uqe3abwHh2Q2EqW6","Qmc23Dj2xB3HW5iwvMdH34Df4LonLwCAxRcHz9S4y95ktL","QmcoyS6Fr74DC4EvCfLnwTMddUugRkDA8DRUNCTi2RmB2v","QmaGKteENTF2HwaLqQboHb6yMchN2D27jbZSR9SX59Z9An","QmQfRRfMGVbwYSnimAwhQW2opXW6wFT2XAqkpDssQ4HGxp","QmbX7JKffzis1ugMhmQDFsZpUPPXQh7PDYjTRvNxi2iy4Z","QmZcmemW74wpicy3WrrZkiFXFsD6k4jMTSHdYuZ8cMmQHS","QmRZWKmZutR7BHHqHBjdgb4x1kUeCjwoSNbVnV2dbHs8GJ","QmV8FswMJBemCuXAjJFMeFsS2ZZqym6nq124eAcfACPR8k","QmPLiHJAZ5qvMxwmSxW6czXGCvHkZLWuCtM
nPt6eJK75N2h","QmdspHpx55n5TCLmZAobhmE8SXhp5LaiqUZZewezuNkxfu","QmPRwX3i5iud7YtxHLzsfWoexAdmeb92DhQzbVnPu1WMDp","QmYSYaZjcnkXWDXKdfF9ht2GornLuo7mNdozyzhsi6QE7f","QmbtdBuQ8Mehp2RgSgZj6VayUzRLASwc645iVLEh1gQBfE","QmRHqnbnd2P3De8XYxg1NXQLXVVm1BavRTs15A9gLdDQfj","QmYGSyDzceWKLrGZyEg9y5qjevj2LwDTKZWscBWkfM6wja","QmSRbGTRmvpkZWLTYon93GJzoQ9Qw6bEBqD8FspP9BXtEo","QmaxDeFrmoU5hv4CEBDb2Ese3Azw5PCX6zEzaUKMaM1Rh4","QmUwKn3EZCTQ2eWiA1nM9YH8B6z7SEBdnDRn3rXDXvyBtD","Qmez4udsGJQEBnSpdYqyYPyzszqVTZkSfo9AcJk2aKvibT","QmVrGkdE9pjfAW1M
3enTbkKHXvU4qeKpV4Aup7sq2CwUFsV","QmYNCte9tG3fRPsdBZo5LmYpdsBpDNn57rpQwE3pz1vAJU","QmNtckuMCRdyvG7nPaZkivqhnfaPE4XmJcEmxKqE6kTmyN","QmeQhYBYFPKyhtwwdGiyvxgFMDfy2RxEUy97fHrLDGDXzE","QmYL56zh5tropqiNHys8xQpRinGmen9r6xqAsYogMnmAXJ","QmQJeKQ9vi4M8RV6VtPDjN9wUJ7Mis6kXdo7bisvZjcKaS","QmaD8aqdVNP3xv8tsMUaaiPK3ySapRHBkDciTp95NG8JYb","QmZ2x2JfspK4BLgMXN9wjnTozTCwYqtVG4UYEByRjkiWY7","QmdR5uXoShe6RgYFkQm2ruf12QiJUivkNmCxPz3sqPLvqE","QmXTHKQxiFQsUNDXp8VqQA35ibA5ixuwfKMqjL4M2kVBku","QmYE3rvnPohzdkwkmiryuXBmtGMapJsQy7xT8NmQnsqwzM
P","QmSa4CApyViDqmQ4PmhFNm8b5ByCW3jNs7fBYGVomNee6g","QmNhkoW61xxc9pX7wcTjmiCoEM6tHDURCmR183wubZkbxo","QmWuyWbp5ZaJp9GoCmK5HZAG8KAaJD2aZzEJGDyKTLY8f2","QmaXNjRyTaatiLc8FbMcpkW5jbsy128bT95aCFobvpupww","QmU998y5REmJXYw3Wmp7QmstmLG3X1XXvzudVTQcnDDwxx","QmYHS6AqrrmEKNW4x34ccXQo8Bmyac8uaaswkv7eipAR65","QmbEt5ZRaG6csYtBuw5V1PmJzcj7ESkuHzw7MUZiC4aU6b","QmZUW7s6Sf1ievymio1rSS5eTfK1EMwKdUqanuzDjh2Mdc","QmUbjJ2AtQKGHUZLu2aPW4XEEiYpgw6XKDpeAcjppvkDnT","QmQGN38Ey6aZmiEPbA7Cf1PVRiFUyruXfZu35Ubzy4hyWM","QmQvpMmxPQRwsLbdNhJB216vZHM
PMd3in2WqVPTj6S7aFB1","Qmb9RxrmJ6yLiNwZ2h93qenEZGsDnXZJaycc78sf4XDdip","QmTqcqvBLYh2gE83ZcvtdYejR19ynDoXSeHzG78g9SaQKe","QmPiviaZM5LMjRhdKau4dATivL851r1t3Ztsa8pA8edd1X","QmbYT6zuwXksEmEAYaYMAKXUvkmaY397rYkKtv48YYJX7D","QmVgStKpMbZ7M739pYfUwrSYALjBi2KbUcPyx7mza1zTJc","QmegNLyCfPgtPyvkSu3Myv8HnDzGETQFhqAvFMuc77W3df","QmXQF4BCR4QLCfXYgFtvVybQxMVkT6TyLDJY1M9HNtGX6L","QmYaNqidauoeRWb83r55eDcwftHTyy1c5t5ox35jiqQ9Wg","Qmaks7eu5rnY7V7bzakcSrXiwmubvWx2HxBXNftu2p9VZa","QmedKcpGGShLZy3YDVANGJy9tM6C877ZutWxxZfsmSd39o","QmNQC71M
LGGJgGJVwhmxoSAqRAkFiZHXtTcPJSxQjP61832","QmUaRX6hVri7c1SwYi7J6dMFz38PitTGotSojwp1XYquFi","Qmej3D9dCq4AeTmJo3tiKsrkfBThHeqvico9q86ySQnLeF","QmSdFNedW5wAqKgwoih8nmfTgHTBVbQgfcyt2w9EJn6LdC","QmeyxG6wkugE2JahJrTK67KtQKUiJ9ybEJpn51uYwJHVJm","QmeposbR2CYqjVTKBzamDWaFoY8P4Eb8phVbieevexSyBm","QmaGpCTKmR44ykaHQjiVGKfgST9mrERR1D2ZhQW1ezpLkC","QmT5iFkypmCt4fvamCF4vCrBwrBS6mLHSCVX6Rz2RqBmTx","QmUnAELrmvdFWnb9MXRa2192VjjsWoDCrGsXQQAxmJAkx4","QmS1g6acQrRdqe6TRKSMfcsBSHFm5Tx9VFAzp77SREJYCx","QmNcyWCAPCsGsF4LoJqNKKMG77PCpbu1HZ3aGM
Mz1RfLMRs","QmeRP6X6pbbadB9tP4pXKvPBjed5u2euxAtX8GuDFv6kYm","QmR1rtFSCwefAyRNeUkzbuUmqthHoYqE5FJmf8Z7X6fpEh","QmPDaxscEBA4n93u22LGUZ6S5H8ASRQvK7e5e5uUjikEPN","QmTWCzJJEf5RUeervK23ZfJGshQS5AXH1jRsbC6inszaT5","QmRZUaF6VBRrCdE6MtsLLkM9w7JNQp3xMN6CLQM827PMiF","QmYnwjkPPMMkx1ngNJYQ8iLRZYBRcCKpumweTZk3tqoN7T","Qmf3V7UJ7iuiwWTuwvGdRcA76pNWfjrUJUfPHCWvrt26SA","QmacvcR7DKxiWrNcPmhwqY7ph8KrRQuMpwWp92MnB1hFEw","QmVt3KfzD1a3S32ZVjbh5USx85nfVwoVcHcyv7juMbLq6B","QmfRfqFkiHHus7nhyBSBiLC1kJZS5xaRsSNJ1Hbk8gnTBv","QmSVdLktWQogso6guDM
hXJaC61ksMg8KQSsPoxMRD8mkgYa","QmUjZLyWL63ifzWP7UB3HbZ7uJyLVhpnZyd6idcU8yRFYW","QmahBhC6McMpkcp1togb2tp3qM175adt5vRVCwcq1k2aWe","QmX6RzygJzaPbGSCXLMeMuAq48e2vXvJPeNcwMWtnLtbay","QmXgkWoaBjjtQGafoEupqDA8EiBvYTFkBSyBey69ptw7ww","QmaWfzWJWo8VtEKiECAEAN65W66XvUXd25NyEPX47QnomX","QmScYPQQQyWnK26TGxqDhN293nBLRNsxT6gMXt6YVHpEWG","QmXmPxRwQ7AtvZpoVmFybMfZEfmPgVTvDsNcsLr9FVS2Ch","QmQBDDPuWsL1uf6eCKUTjKkEJpsEdgVF3K67PSp9zYzuwj","QmcrsPXWay51eunw4jAjD3EtjRXtJCAcNeQaXg3kR3D3Ks","QmVTrzi2mfvVw4T9VJBQdYpipR2n4afEQaeZj8ibKtiYeA",M
"QmQ17bGB4wqbCSkPPJyjfm4u4wHf18tAUumSziMgeH4nmj","QmXsbim6azFvMYwX5Z9M2Lzchxz8Na5w7UAKbrpnUmGS1C","QmSYsft3GdeS56newYGQCV2u2d3p8RTGfFEYST6q7aKAMu","Qma6Nj6qvEqnJJW89vZy4QqQKDeo4gjaaYQ6kbfvqsGXb3","QmdJcNypqsotk3qCF1Bj9rYFQxXgB5qvpiH54jN9Hezkri","QmeqgmCLmaZZBtRmzV7qJYAZog9kqZxpMVvfCdJvwHKAsy","QmVTgyhJEJUUoRLu2v11LnwSbW14qSVXaoSLoNtRyaJdJV","QmVQti1BuiTeGvDeJjioSfwUpa18932Y2Wz8kL13zpuCn7","QmVtMWWPTzbQ4BLYmg2NgNA6HHqREjZDBasrWoyHJDoCbJ","QmUXdq7GWZVnc1hPwz8CJ56bTtp3PwTQjXN9aa13EqRYTf","QmP54hwT311BhCX4gVMyKvjdCKvjjM
XhyR5hMBTwZKWePLa","QmcaV89xGoVjpHgqsJFMdiLzELLhtDkzHxKjDjVgHQJZ3y","QmcGAub3TABH2kBHiw4dkXig4aM1wWrYaMcrcDiD4prNji","QmZVyBVcM4gvMxqkzSMYw5JwuzarEWhQfzrPHohgmHnZEV","Qmbs2sqiGYCPt32diEwcoAYJhQ2wJi75bz6k1dLnQyHBfr","QmPXkMuQqEiPa3bGu2j5kmLuNaSZjt6c3Eu2GUABFEWfYB","QmVfmLGv9VYVenVZKWzCEV94yw9ft9FmLYhjvQ4bnipwW8","QmPsUP7iHT8AFB2KQvhyka6mKsyS16NhPvrjGrHz2PiEMw","QmZtjdBVC6eDjCQQCAM658EJCW1pv5cFMhkuPixw4p49G3","QmRMCVCbfKSvf2nQK5yPCj66r5mA928UKmWCJ1LaNUeUSU","QmfCufdAkVfoBSt16gDwuesaZLvxGuqdCZz11fMGksETEd","QmPuwCCpn7M
q15TMFLKX3ZJugfWrw5tMyDKkwmfQwy5FDFY","QmY5g8B518Bi56mFeDaUQ1sKXhahucsPicMJYeLziV12mk","QmQ8zA2h8WFJ84mCFraTBkoJ5jZ2YmmKRym3bVyXzg7bQz","QmPVti3WMLv7XjCw8djLFZWJ5XLNeCMwsbn8Ca3Po4VqLt","QmWoYhhXA3dTP1U7reYZ1DioHm4tEENEeqBx6EefWeUNGe","QmRovFideqCfy47aNdZWAgKtHWpr2QeNTSovMTxWeZL13W","QmYamsRLZaLvUfoZdapysQHfTpWmDuzCqZriJ1AE8y5H95","QmYtEpXuH2GxjxetMWXuXzE8ALL3kQcGvxMe83yNgJZY3k","QmfZdLNRP9ioQSnHipnPA9WMwWztK9PVguQrgpUiqQXnDZ","QmNPGxZYspTEfaozti1MLsFzjoSRXjfhJiCoWC7VsEpUw2","QmS4h1B1J5KCJvkzYgZgjPvyaNseDTbc2fbm89rAM
TGE3Rm","QmeL1hZbKexBiMsg47MRbL7VSo77oubjGFwEe9Tme5b2Zp","QmaKm7DF31KUiCa3FMVcxL2VWCyL1yxxmmQ2RBgf61RYet","QmWF8KzTkq8jCMEEZPhqzcLrxm9Gz1p3LZKP8ceNs7Fyjt","QmW384VkZjYby1CHwtKt6ghMrTKgFB2wbpKr5HZ9RtHB18","QmZSg2aaLTmBaWsY7ckGjBx5znvsMPcu9zoYALhv1qm43P","QmTCj8pjqaKmC4QwMiwUJqRwozZXgwPtttJoY2uo2MNyx1","Qmf7okMuGLgLVEdhWG76fo63sXMgsFcpFGvfekULsHJac2","QmTgQJpZxHTc6Hk3ZHGYHTadrBaHX35sur2w13DmTXXtj5","QmWE9g9Yng8meoeGNcRzwsjzZg4RJo5TeoGC7KdFJkrF5K","QmQ2HujeEGHaAuWfKjLco82Mop68KLLyLafwSb2zyJk2u8","QmTQxTxVL4Y77EuZjYXHUM
Dm72gHuSGfdrU9j9xsV9fH2U7","QmNNytZ2A63X33vLY6W9MvibdT9qtxNZdEvAs5hbvQFbvR","QmaRF1euNmGXEkhAqK25RgUSuxDR8NkYCJk8cvyuFZKzRi","QmesgHfhgiRwcgBLXLivUAoPjdN9U3FBxbhGHXbbCMttmk","QmQrLUZ5AkRbWmtrbvvw4DiCJkF7NJsQtUV6AVa5qjY45Y","QmTo28wcJSvQRRiUBWokYK78k8eF38ksRuozJadu8KF77r","QmQmzkiunebCCyDBtBgoh1u6DNSG3MbWmCfi6NLCsatZ4c","QmeAKvQPory6HzJuW9zDmeGXVHCQA4ChMUwyWmFJFrPXD7","QmTxLFHjwhye327cKmTuyc7DCf2SCbMbqEYdjNhGJpf5nx","QmT1WZt5wMaXq4eSkDyZ4BySKp8aHAcbeNw4Zf66pmNKqS","QmS6bauPuEsQEC7pBwZBj7KLBbtj286oaVEZrNpAtaobP2","QmM
VbMhw68BW1fnz4yJZhGaCiWg2XYJVQ1zTkQfVk3Gbwny","Qmf3YM2Y22kqzjkbCU4rT1PzLjd1XBy9rqXhEfdrn9DAia","QmYhkFHHjyaAjmxeonDTv1CFTMTGc2wLWvNbWHcH7YarHx","Qmd8E7uEa7vJ9hqxEQ4wutD3TBkmA5nwhp53w3azhV2TJ2","QmW3YR1252Y8wCUnDfs5ghSCv8sqKgMzKwpSYJanqdwBVf","QmPpgz9wvaXVTQGYqde9DphRvi5Je5ukpXpXmjwvqxkXZF","QmRKETqLoUE4aynUuLGRE98jKa9ZGmnGv6PVtXYLzvWWJ2","QmPp2MHkiQW2H2EfqBFBaUztvfXjRwoxvZ7ssHTyFwPuQj","QmRB3KLmXfZ3A7G4jJ693GgFv5iJ752aRPmN9fBMeqXo7P","QmPRDcjYqJeTRfMUVry8STi5WeAgWAzuca8E18hqCwpfKo","QmNwEgwayo5MsWzdSRpi9te7K3M9NfVEM
K7GHtaSH2ph8kP","QmP8r2tFUL56snTTZ1J9ha7NC98jQdwGZWx1CGFErhY6vu","QmQqA8e8M7jpk7t4sQ2TCKoSZ1UsagobHbHUvbHtwzNZgy","QmbCVazT37Dw4Vwh4PFuoNfgXp3jkyXkjr5xp2aDTCcsEG","QmNe7ACUNkoQAS7A2PKwqscaZq2Cfq98kZDmdWggapVf71","Qmdk7nfMpxPBbHSML3R6dfc3q2MCXccMmEs81FExGs5bjf","QmNvgeKPZuB8GKqgPRC6zypB3k6ZGXMn3GiPh5GBP6YF4S","QmTnjjwCVsN7v3H7gXFBpsZVjpyw5uKzLcufYsFqQ2Z6Y5","QmZisQcAW9DajG7j9CUHf45KxPWoQnXYabtQ6v9Gevn4dH","Qma25KCssqXzw4nCCk4E2FASSgcjJEG8NZNoyNxBELbDNR","QmVxSNH3WuRLom1ANufc7g2Wm9C2LN73Ut7U2yetdnQ7zs","QmcFZ6c15Fb1aM
iEXQo8F5DxRUpaHtkGVtoyZvNMmsuBgfJ","QmPeMjfkoeQSk1hA1PgDCJvrvPaAjZEGwYN4bmRZnKAmuN","QmeJQHLbAaytutqAEqo2fU3o2YPzLm98pX3g68a9V3A6GJ","QmaCbVzAxQDC5hSfaLpy75SXSZkxXSCy1VUxYzTCqFkkQJ","QmdNJwmbFUJEBANnfsCXsb3YufhNkzvwJxbHMgox7jx3Z4","QmdNpDo3nETSiYWMkLfi2GVGyozaR9ZqsT8CpfJMppLda5","QmPSm6pwcDAhC364DmgU3q1x7PxFjbbUgjvF8xchKF13mV","QmfG5bD7xGJU1sjx1NcxnFZRQx5bpTbm4ZRji4mGfEe3iU","QmcfY5XPsHQmxmciPV9Hr14F3h7G5SNigrDkgQnYvz3HWU","QmRezpxhphKqn9g4MAe2vbVw3qtzKXonN7gwCvZP8NYfZr","Qma5MrKxTHbFrQhKj1WiiVtH5m91oSgEJHPerRzJJWZM
Moc","QmZPCAj9K9rbwTFHTAosJxhZ2ZVqVzogPG2TNRxqZcpzSd","QmWWwPZRwRpaL59QZ9bkQthJxPGowFNtch6SzL8kcduUdf","QmWSzZhcVwZMHGkPNjkFsWoLvBKoHskviugWtHi2buf3eP","QmNWpowqZw7yi4YgGErwq85DUehj45wZAU9wXeX8MwwMMY","QmXDzXKPQ2G7dDGYswzVTsYgbqQM2QY71Mxc5XfFBnoXjj","QmPDGotxuddZBUipk7iTQqUTJr7sBAmonweFZPzw1CwA4W","Qma3XYWTLrxCxdKtWbyfPTidRZudDjpxWQgarAU511MVoy","QmVhmGAxnjPTH9zX5U9hJbQ8oq7Dq2undBVKVhEj77A9Qw","QmfScCDayHmhqhsgZzduF65tLmp3rce3eHXGpJurXvSUdK","QmYLi665UtH8nkxGGs7etE51YbHqSWDS3mRjtmC21E4MaJ","QmQ5Z2rtiD654j6nq8UF3zjDM
c7Xk3UHuGb66DrkRzM4eG5","QmYaFTzJxFHP7nsMKp8J2bKXc7mnMFwXS1MGKrb7DZjtVQ","QmQcCG2FDp365qskQFzSWfkueiRFKGFk2ZowVZ8Hhe8THg","QmQGUzzNPHcCCMaHF7epBESnGFKcheg3LyTbnzA8Z5eTzh","QmYDwLuC7Rr65C4Liixwfaq9iPGFoukyZp7wdYXpHzzNEV","QmQZqFrHm9etRrSc7peFotwJcU4z8EopsQqnVZpn2pkfrE","QmX75tKixMSqJZvATp8jJjRz4x9YK2qjFVwCjFM4WYqwKV","QmdGkPziVvwPLvkQFT3VqPvp6Wiga3pVEhseBsyKHweZL2","QmcVS7v7faA7WBPji8KeW8UPP1wv9Fm5iNx6TPu4z1UK2X","QmXkrAWCouyMapkHcmmpopHhuiUMsF9zAzLWSpqizqBv7F","QmUjRGECFEKB31jDMSRkPznEUMA573BMvZs3gR1t1QH9zY","QmcD5M
HcxEHhLKtZ8eWDDpYfVTUJFtszCyGd4QAk7sUnTxc","QmSi3uGjT4NixEgVnPXet9KunWZACoeBGhdSjmn4jPTYqU","QmaoMX6oWDxWsoZ74sjkZrPEYk3dujWf3hydEgjcA1S3BD","QmNXqiM8trcPyRqLZ1hrKpAvwEZDA82JavEyZgFwTMpU5w","Qmf39TjQxGzpAYNYw1p4pksNhykLtvHX2pWs2fhE6N2ERE","QmeWAqG36hy4x3wziPGWWwVhxxP328iRcrovGwJvxQT6Qq","QmQbaqjNgZESW6mcWBe4zYwoCvmJk3ZgBQJf8kyXASNe6q","QmcNo3yfC7nZaaEK125jzd1szptuyCqk2CLLUGNbtwmP3i","QmUMAZU8WitYBwJqMyxL71P9nY45k3y1ySRZzDS7UwcpeX","QmfJ3QTCxxB6dEA7FDQHVyogQx473c4xvbEax67cpavW7g","QmTG97HaCRs9KCFaQQpeWAfthSvXwb9EBcfM
kXQfm4ZMEmu","QmVLXK4172MefmjrbbYaSRHjfxSuAKqyKci8syybMC1Wm6","QmQgD7Fdj1jUefbVVYxrvxVKSQhyKjLRowndPmojHkuLtN","QmZ2cSLbisUTrXRKhUgnkH3rwQS9eAqXu3M9Lp64Vn9g2M","QmWihxReC24etBiviZ9PNTKag49ocZoZyTUUoEmhVzvihm","QmP4qrcaBKYrPc5MiQPuktJHnWb1zWc7tcmLkP67YgnySF","QmYhr3bCYouYj5Ps4LuWrPdumDKgzanLHnESsRDHpVTxfv","QmYvBNVnv9mgy9Rh3wt7TmyLfRitJxxeShcEtr3DuiCVWJ","QmfPf3yVmCXD7ZMjToegfgv9UytdpkK3Z2YbsED8NLPukt","QmUW5R5kMdNpsUb4KzY6RoAse8QdV2yoeiht8LiuK1iVfr","QmT5onw7iGgQMrVQLTGwxDWinsGTSiAtikTgaZte4jVRV7","Qmdark91sz9ocLdbM
uui7kiwpu5B7ViBKyqRvH45uaRBPx4","QmdSMvAL7qzaz3su9KUN58fDBmHp8bhcKwykDZmbALqJDK","QmWAvCRksL11UxCGi5JFeFRbFsDfnhUEiuNvSKLe66xiKv","QmVDJ4JWKiznZaB2JCr6wkWvThVewQ4DZ9Kz9RKeHdi4D3","QmYZMUZEu5eTvFxeF7EMxZsThrmBghwhWVueNsj17DXkut","QmU1mBE1NchdWpCNwiGsnuyrnDiZQS4pXtYqy75ZxdpYXV","QmVPWNWL6seTUUJQqnyc7PuZCttM7EfqBKUJexQaknKfgE","QmaD53oF2VQuxCHfCxVMJsPbHVqiwAvdAA5rTSQ6KNYrCm","Qmdgy6vLLMfHFvieCPdrw43cjUUxUbHnBCF8doR69TQo1Z","QmdEqNYTo1Tr9FZJYSVNGRx998Z9NHtY8sMKRkrJ55FLz9","QmTTVXRAtpEetdFFs8dRzB77SwZW2q2ydTcTyG8swFGtGvM
","QmSBHcaxzx5CamqKUNSats2xHCgQG5zhe2gtQvwE2iqQWF","QmdRmiZQ4qUXEzqKLv5zLKXxPykhMB9grj7pypsk3hXjzK","QmZ2pWApTqWJ7p1Xxp46rYYF5o6gtyUPnLqi5qqzk5YUet","QmZFK9Vse983ZNTLGJ5U8f2tXvEzjMwe34Nmv2TDWPFXAA","Qmb56dhNDqJ6UoqWhQgozxXLbReAcW9TehvzAFKse8o5ws","QmVDiZ6AHbvqWNbkgR4fSoLeDeJmk4Pb9STkhCruUUTDga","QmYvUXR6qMvvDTpzqVwLeoCfx9NB3j8ZW2f39DwSGVzofC","QmbZuzeiVC1MhdxVbVgUBDNCc98dmwiGmPmwvy5NX7qJvv","QmXbqwYrM4hCyg9mETireD4nkXTmWrbxmUx8fRea7FTj2f","QmZgWWAcjCZrmUuZHxnvnKaXyPk5KPfUSCb2qAX8EkbHt4","QmYrwJMWEiUgUUmhtxVm4MpJmDRM
ZVqjCVuzUZZke8BoTQd","QmUd8RCdnyQGx516rYV6cdzPHEHhHa7iwZwcifuUxPvoU5","QmVTrzYrapyEWC4vJKykd6BsDAzka1tdMZzYnBWXfes6us","QmPiR8rnmxE5epy3EhPvbGp4hNyfohGxn8u1k9EH5iL6gR","QmWbWegRMVVoAxXesVmXXJCkinmbj7HVnbhgkCFYv3bPQh","QmXgyn8yjhbvd8fPQqKME5zDoGfPDBcL9DrdnUo76ze9YB","QmenLQrMX1ujR3dAFUdxA4XuH7A2WUPB7HvXN21rqeYzEw","QmWrMoVgis9fXhpb5SjTuTXHM2mWtZzQq4kYMU7GRbQRiq","QmTuiD8JNBpkTp6aqhtyCZF4FopgKGpHMBWeTdayUxq27Z","QmZnq4RF1iefrXTmNkrboeoap8G84VuT7qj3YVKbXuqehV","QmbEywbUuiqzhrf93dFsk8jpfuULTkNMbq4QH3V5qcrrjA","QmPh2pwjM
2UoxKJwzThPCWazj1Lec5jTuj9i1DFzBFqNEJU","QmYTAWWQVXM2wXJM7VFdtgEZFNUwagB2NyaRePit4GUAdy","QmaAhEu489UVZgJndUpUug6RRpRYrJm4BjsDexJQKidPcU","QmcnBemZFZDNR3qsAAASLnmDFXTio8x2ftb7GZupzpWskP","QmQYSUDtrTsqnkvij4QiqUcHW91UYAfx3D85ALo7tTds9P","QmRaEdZ7SHkEZdFwDjU4avpu68vsDmi2bt9z98EfhzcXdQ","Qmbar2jMx68UExGzw2mnaAcngAFgPRXh6oX9A24yTm2p1S","QmUKLY6aDC1gi7vy5iCgnikDDXnRmgwvZgXP29BC27NhKT","QmUFfPRnW6zougD9VGRjK71bb6hUbubUA7pNv1JWb8AGyB","Qmc6hjJL4NiZfWn6SmW6XEYn5yJEC969L5S3cadSyXUvfy","QmVGPzEF7swfE8roL7Mjc1jT5cHbgdo9U4cpncM
6ZykNZMr","QmUJpFfPNZAacRntcvpHhywfdZ5UbmrktUAE2ZwPtqgeRj","QmX5MUGEsEqT5HSqNnQk2vCjNSgrE2HRArh58XuC5mhjyo","QmXe51nYST1P45u4rfKgg9enboiRvrRzqzv1yDeCJ3prM9","QmY5UAHtPuhSBdx4Sji9YNPPuJh3itBuf1vKsKU95FkzjK","QmfTXvv98jaujmLS4nJ9Srsd2FcAmGc7rN8a8n2dsrNDKn","QmR8DzuZ5L2Svz9sj1KJNZmWkN46uaY4MKaezgav39AgXE","QmdyeC9sueSRVrecGAbSbcUntmT8z8VL8wjyCDXyYZgVnr","Qme4oDG7YyPHdEwKeBa2yVU7sYGHewxTXs51KmLNT9XW66","QmXkAq5ALRHLUrwmi1GyTzD8eaH8MeBW7gm2m1FEXtS1Uf","Qmax24EqqrBZCyotSEF1mhTbFfue5yWk5zwGrdP1mkDosG","QmYSeZcgx9quaQ5hkhCM
s1K5w7LHiWPDZ5DQrzbjUKNjKQ6","QmUwcrGt9HsddDuSrpDrDLVUHxf7vdJBhiba6ttT3m8H49","QmNM8w4TMjpymMVjxNzx4Nz75EYFWQgredm9TGvPcfiDsy","QmRjc7Fu5LBDowSpUgr5km6NWZLvJUxFz61Pcs9s2EtLAJ","QmWLJxU34yDbDb19hcvFtLxNgWancB1DKuXsCdC5Gzq86Q","QmRpApygmnompdGtvKkdhS1kqWdisFB1QEze3Ls1Ps9tGp","Qmcy9cxneFbCmUgN4xhETCrdJKcBpH4U2z3cawPVFYSSv5","QmePNbtvtaJGLaEpqMERm2fQjDW5UWo5MfvMPFhgvwvpq9","QmXCiQDqWG7BFtWLbrhT9cC4YH1KLpa9BViXNWEqVLQc5d","QmX3YJegHpWN2MkQjzCV2BPsYTVxgj5XsV8d4ZJ8kb7c6B","QmboePEZqoNrU3qEyJEk3ksBGS846AzXMAUQvmwbpzJsv7","M
QmZbhHn3zpCxJWDFfRSXPbLofKsnr8jxQJfAKUV7NmiUBu","QmQGQ1YMPv4Q8VrNVSeUanmovVSbRmYWzbstLKpMTkz3Gs","QmXTp9x3nXZJCZfdrMWtak59qFR1cMske7oRgC6cRjXVL7","QmfQ6mBEDPrsugxbw7195UYG4QcWtArVGELrv1bUeSZkcV","QmPPrCKWrvoT9z2QkskBdP7yz7A2qwcP55yzCBtysCKcnt","QmdwNqp6JauCK5XprfHFmyZueoGa6EogHaww86EtzEZrLR","QmYckZu3RXxgRG56spxCrbMj2UVMqerQVpGe52Tk83Tqcy","QmSYERvUYaA7ANNATJwA8g6WwQJoNeUk2nUHeakRsU93up","QmXnCRGsVNhMA7kY7MvjxC2kHTJkFbPwW4W3NQXCcvGD4Z","QmPXFG66x3UmNfh8TcTbvpsiPhhURcgHBpFGpHtg6Ri9VB","QmNozZdy3PHPeiwNDuWXDEHvUf61AEM
5pX5R98DeEoJXkYT","Qmc3ZQaDdegYDmjhj4ALYAh6A6E8KpBB4acjhhm5J7TJ9C","QmTeMQeVCp6BfzaDTK6U77hFmibbJpXToVGxawudYRgPtg","QmZ4kthf8hCnYnBJjq4qCnbDatSuoa52f96QsfGS1BsX9j","QmfPtoXQwXfcPf2zgePAbP5EMRuz4AAQzFeyUPcRbwgEwi","QmY3kMByNiwEgCxsV5RL2wzhbSopap3vGZWCg5ZBzFTnhE","Qmebkz5Hnm4LfTendp3bSEUbkJGUN2bjCL6MptinF14QUA","Qmah6tJThxAFWk9gDM7tFPo1BechqW9BLFftDQAWvE6NGZ","QmdwUePh82yttei79pLeGPeNDUaEum1y7aRDwZ65upXBPP","QmZGcwaBadf4GhzHocBzBi8TPZXqetTvEmEQ58dh8kdkeQ","QmPdaqQ5ZV4vdLpu47m8dufM3vQaL2xw96xab4VkTwfyL9","QmXNmWS5G57M
h9aurrvRkKfK5wLRS6vZSmeDdSiW2r2qReF","QmRB4f4u25RERnWHEsqBu6FH5wMw2xf9Vk16exAax9ezVL","QmUii1ARfCzzbvSZgaMdEn1LKMDHEpYf4AevPeTwhVKitN","QmbERWhc2c5tMGb8juUzfsa3935ZqCjd6bXKqezGHaQJmY","QmYB3RMkCmXsxUPqFCXyLk8mZ3Wp7HE7zc3UFEZXPw5PxZ","QmR8JtyGXs2gBwLEPZUF18WzvKXLc188eUekYZgn6A2oTw","QmXiokW1sRvv4EdiFCxu9fF7LcTCZuG3R1pcrHEjfyVkWf","QmRfJZCyWeEYET2CHKVf8dxe9DLy1RdDocLLjHpcx1oC3P","QmQhvixN9j7M1fAsqo97RanzBVS27rKVfTQnmzpW6Gh8LE","QmQY8YEuTVwNx8cJHYP6y1oWjsNQDzdzgJGAoQ3EjfrMhA","QmcVzsMs7hAkE6QkDd7q5JCWHfQaAAe9dm894XwFtM
XQGS7","QmZRBX8uEJXj6KkiuKpKD1eXsqayz1MkLPysCKgcCoSQ5a","QmTN4GdVKD268tSRp6Bn3rgrNoDZ9qhbWv1caCodxuhUvB","QmUmru4vH6ASLGnMAA4MWTR21WYAZuGVkjbq5he9P3KZuS","QmcZMRsnmZPteN46yx4mrVsgcYR1TqaUexxGFzBAzLGcGz","QmZkrQhu6Rqe85ouVBnS9Q2znSHn3kamARLBqviar4Z2LE","QmTyCWEDKun1rCeNFSyL3bvTzysfUSRUsTFRfS3MwbwpRm","QmV67fSRNZKiziT9JycDrQM9FXtpPuU8ncgK8TZSmpgxPq","QmQyS5Eu4XSv7i1Mu4arTKsUJXRUNkNXEHmooVFi1dAh2k","QmVKA6sWsmpt7PfRsqYGZAfwKC1zkp3zGqixGTqTjAPK6w","QmQbjEp4HYj7GpVGzjSBkfJq2KJe7qsqxuS8qXTbKDSQYo","QmYy6ts8tEU3XnbC6gnSgBM
3BALmxYA5rihYHWmqhQgz8Vd","QmeLwxnQXqPoMci4EYgEba6JcumKrrBkmkmTUjoiHzpk1b","QmRrkTBebZjUVFoUxBQRgUGUyrCLfxswPv5ixuxHxFjr68","QmaEun2bZGLnrqyUQhC1Sw9G59tmRXjHv1QdKjDt5wEdEV","QmdwcgNv8McW1t9QsFmbKHvriAkJZYu8ChmnQwWArXdPDh","QmR7sFW8Y93idaZE3tbWugdofEP3xiYaVkqbeScHk6s4ks","QmfE1Gyh35AS1aCz9baxQXzFsCgY5QWTnitRSBpJ8CMtXy","QmbeHqaPCKPTRXsg8KZsJHwQoFNLK5WSTkoApgqxWmtgs8","Qmd3ciwTq59SWeYJFkb7uYzvHPtiikd2jgUUgteFP5M5jt","Qma9GJwKhY65F7Nc7rPgqr7quJf3DQfeoanv4hfFVQRMfV","QmTEQcBDMPGU6wqzqW3PpeJF9ThbABh2TLsmMEo5Wusnnv","QmTM
2eszM1GXnUDsXqypmM8XkYHcjcfJ7qQ4zREcQ17HGJn","QmZegFpKVLz6f9k7dz6NedKuNT8BEQY5HHhUTp4o275bjC","Qmf8CbbS1AJiKkJupustbYCnsB5GULd8w2Kave6wHgdSLE","QmWYCWw2K5muUgbdkhYBbAda21n5swjqeiQkdbwXiJChao","QmPeBc28mRFTbt15RWBavQzChGdpaXhRtE8PmdSdhoekG9","QmPvxwkwf5bzXzjNFrUCUA3etn46bagAR1K7fDCYt9uST7","QmPNBKmuh521mfvAamSnn8D3WwWFo8ErKSP8sEfengWZgh","QmXfVQoUP6KbXAD3mRfmeABzir3zBTQcYhHikseHcWzsxP","QmYVQrU3aWpimCUGoFVdUn7qHUzRGXFSrAvBX1oNWKQsm4","Qmc8Tx3FMxvd1K6sEHF1QGF4BZqV8MRmPxyYiztPMnESAR","QmbfUCaoMTLdmai7u4HKUBHrJi9u5FkPGM
HyNv3nW8DTEK7","QmXTSQLuBWLF4UsnzPqesrMLecPA69ycLHdP5UATM8UuMS","QmPAsQJGDFtdXoDepQt8naLEspmZCJvt8PuzWiQBwPzogu","QmQKmypxNmQu1GK4dV5LUYYrLaJzubLotfJY4ir5kJnyVX","QmbKZjQpohRBPXUdvV72LEQaKnPQ6jh2X4RDLVCDdQtqLE","QmdNsEFKxf62GNxbbq2hzwfA61VGmAtQKfktEa3TMftzF2","QmSR5s7WhmasspNta1qGdqJHcu8JUsrJXhWeGFtmLK6zR2","QmaTewJq5x1SpiiH81vbhbWi7ynkU69pUj8beaAVa2bJXR","QmQKGWVYFLpggfEuFhRWwAUBgNNhKszxUbCWwQQsf3bSGV","QmYpm5EyDqcjKxmCnMLR7zieeQuhy7nygdfw5ndntqnrZV","QmcrwkiZw7zuxFTC3wstbNJnkX9Rs1JGXaf7GxnwDVpKM7","QmRpRYkEfGJhy4M
QGBDaafAMNvcKU2i67d86oUBkggXTvm3","QmQ8JLvEobW2Mga1L8jJm8BhA5teEiauLwFNaEjbUN4N4K","QmVrsFUKABDLt6FgXPCGNJuZiy4r7TcZdhxPiUhuoqi3q9","QmdFkDTj1eeDVMjgkYvNG2gqE4AVVSp5sVQQpeUGMXKCzs","QmUi8CYRq8QgQYjKa8Mmxfz5jzam6LDidTmKLKSSmXviU5","Qmbsy1te3XG8dCbDJEyon5p27RdHGzVBTaeBbwuUPzv6n3","QmZ8aUJCwSXgxedxCuFPBukrkpFzuHFv9WG37CZyGpg8QN","QmYeNmyjwHXz7tswvfi9osdxsfGWUeLU61omgdo6cKSMdT","QmVgbL3ZBt4XdLdHHcz6arkYe76rSK3sbrEtk7f1XoWL7g","QmcDYD7kJmhPw5a9J6wZTRGRhUyNPS3ZynzZtahuaq9VJ1","QmYHjSUkZ7rc8z1yY8CoGzjV1pz8DZAVScj4ciJwtv4NM
84","QmQkxMwNEAvui2feFp85GrkQMHPRSgSMGzAYz3CLBwFwg9","QmVMdeCRkRm85iLdps3TjJg3HosTyRhwkju8MF5eEkUqsz","QmciVCPvtNzgPmvFKAtBz5MoaYLA6wPYsSLyzMEvs154cp","QmUM6cKUzuxyBy8isoREiigRQtxyTziiqotaXSs5GKBCqV","QmPpEMR29AH5GQBuXEj3zz2tk9rdsNy7PcREVQxAUf7Gd7","QmNPaeEFmmfoT7MrioJi5iNLJLHqaEi9y3Q3Cf8SuY2Keu","QmQseTTaikKTiyik6186RsEiQCCMGebEZ2A8ik6DPRcTVM","QmTRF8yGQMSPDtr2tagBPydkQtw61SreELGRo8GS29uZ5y","Qmee7UhK3eUjGEmuQ2dJTrfgcwQPL3cdTFbtqFcopMiF8u","QmQJj3o3FRke4zZrcHVPjrwvZ9fx2Vp5iBAYeeX6sA24fF","QmTQ7LCFWtf212sZ5oUCpcsu4M
risDQHHh7HAFdYxnc2mSi","QmRHJqqBbh9iuMAn7Sjfm6KoVUmkcL2NbMHn9LiFZnE3LK","QmZ7WAtfv6mp2DbTLK7BLEB1ZLipWRL3yhrHCCMoQLuH7i","QmQX8cmYb4wsP1egsrnhQ49jjWuV8pBYhiuUE4V9bSGLje","QmV1tzJApmMFsK1fTt7zxKmcCxXQNtygPwLxqoyKM7hgB3","QmTT5SZ8PY7V7JJUTh1FHeU5PG2VZAyAsUh3CNQBtCRFgo","Qmd5LWcHYhtHccRAc98wQpP9NUH2WuU8Jvzss1fwA3XQQZ","QmYxov8dBRti4uEF8TB3wS1XCsfizg9CAnXGzZfGVbzvYD","QmXiwcaQqF89RHpjeDWFXtSJZt3ur1TjVb5yfZ712X3bdW","QmVDyXbxmYJjyxYGdJmK4BNKGsXSQZq2mj4G7bGdNtjFmA","QmbWhsZoqmjbGQn8ubBy26BpVTad7gZmpWnTPMd8tE3XJq","QmamFKM
SUJ6sgRJTvff9H9MJjYgHkmEj2TddQ1tQyuXbXWN","QmSKmWe43FqGNNZGuQFPkeJjn6kbHiku7KMKEpMPBGtyrr","QmaHfBdY9iCreMY4cNggwktGv4ZDESqk7WeatdQUwHMcA4","QmQmcULDGTEpNKfjxjS9drHK3PsZbpRtZdVUT6GmCK9Wcq","QmNVTLMQ86e1dukpT62TtBP6pynP73JcdibPBXVnngym57","QmfWhDvocDBTZqMJ4aGFAfQFTVwGcxZ3NpAhv8UdpQr3jd","QmRoJHktqKZT4GW9jz3npFk9Nprqa1WBRcxajKgcicFd2y","QmfHCcauueoWyJydnJJvu7KWPSw1QdDcvnjAcBJ4hxaFiK","QmY94CPJd12msbC5QRn4gULiRBajW5NCgs2vu7u3jBob3S","QmfVEwsF7NBYpBLoChmjovdJMibZyCdxYje6y3p8itWesQ","QmRzo3CdtVTqk9yfpdeiKeZVaKSnSeiE5pZSM
8T9u5me9pj","QmT3W6BrnvDkuGCeFwtwRxJpyzTdGDpNij7CEfGuSggZEb","QmeyLGx4vEwgqQ8U1dV1y56myJwaNmMtFgmKL2g1qYsmCp","QmWSiqLbWn1t4vNzF8HyBs2VedRVJspEETA3A8Z2aFuAtp","QmcMDZaem9Wu7XfsX4J1MPMiPkR4jSFd17JU3NYf83kotP","QmbVH5KWBQAkDQfb941EUgmy4vba3YekgiP5QK3C3h7v9e","QmUv7rCbr9ZyZVgvGsuEBgzF86Rc83gcftVFKaqzqEprVP","QmdPQj9DvgMHErjgNxtGFrmgJ3Uguk9xxGPQhAbX1xkFHW","QmYK4KeYAdkr3LKMCPoGPf8GYKhTwgdecEX3ckr2XXWVZe","QmUqSaKN3NC387LyhxaNyB3muUyFx5DLEHt2U7gpUtzTdm","QmWBQqEqx38iDt7655bs2SU5ZdsxQLswDBEUTi683UURPT","QmacRGS4ncA6jMAaQM
Rpe5heCD7C8ekXaRqArDkxhATx8Fq","QmQdvgQ2ptKKsoVgLMcc967CLm9QJBUNGJ3rCTkiUDuF4L","QmYnaEWS2ZTrA6AiU76eBtJAwFxBLjX8Bg97aqgXsXodbG","QmeuSXpYbPprG3XNVpW8BYUG8JNgJFwcBsiV1Mj1QPN2ni","Qmbg46mLSS9Yuz3r76HWeLLtd9sBqDNkzDqpsyDo1hSwdg","QmeZBdwbfhWJb3UwPhvwEQQz2LFZ9RECwYrfHrosXwPCai","QmbKcpuAQN13D3ouNTwKD5DdD84uAX9obJnrbwooyiNRrN","QmPmzStagcwwo4sJawdJ5Hfxn4VZTLjHQ831fWhboGfC1u","QmYhjAvt9ZJ1EEhTEtfW1r8DTJZVnhavwHwaGqCBZ8tso5","Qmd9Hsj6mHAHXrj2ZwjRNAWWMaa7KKv3b2XirJQoJBS7hx","QmdQNDSCoRCxeRBPP2JRiQuHAqfNZgwoUht1v2YkrxB1y6"M
,"QmZkuSxWXBUT9LsECdGKquhdmuevkKtek1DaZfc7zjHoBR","QmYQ9ecKLxwEwoPML9zsM2FrAEeAyWS3LZ2a14gDUDnGAk","QmTCzHc5REUW9n3UqmhHApmxoYzs9VKxBmPx3msAntgNj1","QmUDrZ9riTTFsChaRZ1Tr1NMDxYty8NLXqYL9UHhkQ6D68","Qmbxr6dWh3bbfRQ4CJzoKdWzMdpqtRRL2Ndm5d14T1GGkb","QmVbh5gBFWqHfoyaZgYHUUr4KpRzWxdkXddm6oTk6bCugJ","QmdGqu5epja1u9NMUoXsrpD6XruiPkKRWoc8wWoPpSHVQz","QmQncx7E5ivqY4JnzX3j4pL3uogMf8jxVRRYRThTkZpL9Q","QmPMfxgXE3UMCL4LYrgnPMzgAANmqCAmTqMf97rWwTRhoh","QmdV2MxCks37U7it4oVVwCZKLGqT6NGJhLMiQ4Xo7M7mZF","QmWBe94pv6tfrG82wetEHsx2u2s9M
EzYeywBZ6WLvdHf4BC","QmQhXJRG32xkZg7bEmgz1hogWRwQuzrEdGykwEufGTQWPH","QmbrE2g89CEDeLqXkBxMgmJknUZW3tU3syTfTKrirSofR7","QmRKwuB5GbyyTFvExWYdjLWg1jvGtjsStZBg2LKMBiBi7a","QmfUPEi36SeLEhyyVg4CbXiBbo75h3pexhE4o1VbSqH6Gn","QmUMqbJUDu9Y7wwd3SaR4X8Q2v4bb15F6yoSyUAF85AcTA","Qmev1ff7H8R61bRwVE3QUokaa2GoHG9r6ubkVfkbUvnvQJ","QmZj8gZzLUaoyFjYe8APU93djdRmaHgnc3V9qYvpQkaGmR","QmNcp6PvtZa6qrVUeER4wx2HPR5bNhoKVkAL4hjdawoEAU","QmRKPNEKeu1VmpQFrZyceTgtHCUh7JGMhcMuLwM6pdtnNE","QmbxeGutozyG25UC4T5Gx1AaQnokCrRzvWkELQ5Cp9Q6ES","QmP4z6vtNM
iXboDPcApNxu1s6PV9M7b6TcAArDBTTNsGRBJ","QmfCaN3p78RAR5L1mSKJ1xVy3StpycKy1V4F2pgQxJWoa9","QmRLUfuPLCwXawLNAec6YB7f9QnHhz9JHAyh2GQrb2xGG7","QmTpNUSRWnkrkjeKsS7ZqYKc5dmVvCTuHhnpMt6jcXC6mE","QmYCqydNTMo7WyWNsYjRGi1DfciaMW6naoVLek7tBvGNDU","QmbkT1DZrF8Q7ypfUoE2Tv9ekAHBEzoBUovCMaSPbErWAh","QmZLz4TNvYPqPSgdJS4vdFahYMQ6wowFTWeDCn6AmLWq27","QmboNkcQGPEiaWVr43GN7jisxtq1n4G7ooPe13mR1uf2yC","QmS85Z9pUNivCs52e6dDeYuZnKDSYiJfcu8uqNiBQBPKwL","QmUyVz6hkKXFhitX7m5mAWihepPzJ6X7aWQRkViHRQ19YF","QmQ7nBU1xSu2JEP6YbRYedNxuxBm3drFtNFCqXyM
9BWg9v2","QmNmRL8xqMA4JVmrZSjqKeKR4kbbskesFNAyvDYyh7YyW5","QmReTdGhR7HhM9vv7atiXcYWH46LSLbWdpyFkBTBdnQeQJ","Qmb7QSfv5y1DaZgrg1CCCURphVEUNSUwh5Zp1CeMZDKcKm","QmW2wKcxNPaNdyYfdhc5h4AbMZKTz1zxHrMPWNv8wByEeV","QmV22d2sFuXgADb8Vm9bMupdRH1inC2DdiFmAy1YHX4m6d","QmW7kZJaDY6DQpz4QZD3SMfqnnNc5ufqr3uuRQsvKbd7kt","QmZKepmG19Skm3vxUWwY5xmk2n29L2E11BLxiTMReoBU8L","QmRuSXhipE7gAEiHDFf56kha3sd1dmXeuuBrzQKTdS46Tp","Qmbj8Y4tD9ZCSwxMz19c7ptyKznCMYKM7b4pfreeByop2x","QmTnwK4f61VKxNqFhQeqkjFGtKK1xKSxn2T8zj1JhyJpgp","QmPUS7fscLUWW8Rs54mnM
WnwzwHNw2RoWRBH4i9RFK81KXD","QmdcPXYnqcVcJUmq84QcxjNqpseNqgRbvHusE9yD26Fp2K","Qmf2gUKsE2SR7V59kcLyqxdUv6UvuE7zjbv9Xg2mScVKEn","QmYwPkMXteaPm2GPSb9XZhZLGU8qz5dgm884ijqTrdH6Tn","QmNxPUTx43tRMbmmdHow1fDzcXG7rcPgFp5FaNFRbbcyyA","QmZrfks2yr8cgz9N1StSL2LYQSKbuLUsMiqvidPkQc3YBL","QmPGhDk8czjnVbYM3T3jxXyfXSWerbSynEZfs3jcMyHo32","QmXcURQZX9JHAYLLbmHvRjYj57QWKCKg7HTQK4jcWb7eWy","QmVTHxYWWpxLFfkJ2CvXfMco3daVFtrKWAxyNP45oyfvMF","QmfJwEAbkWMy3YMvY7VuoNvj7tr9wiEDjjPudApXqzHXYF","QmYdWrsY7mDa9fxgEv3KSQVSKoEYpiRw7oXwbL2GW5KKSW","QM
mQ5AhcG9c2JMQdgNQJQitmZfoMnuU23Pu6NRrNunk6UYz","QmQQwQ9qeHG7n9QHYn8SNZz8xLSH9FfeREzJ3uAkgHbgw7","QmW6NqzPi4dDoF8vDtCojsHbuejKiLJeYu3V8d7DAquTsK","QmTMKQ22EgJgMXTZqcvWywZj6ZBncShs2pYi5EiRZLx1F6","QmaiVnPhpLtuJGvLxgLvBC6sQHJoJMdphMWxFGN1b34BMM","QmSjXkDXjjSi7yzt5ZPAwnPw5SV7poZG9DZXELVnHFP4dL","QmPFmXfNL9bwbt64FMPxzCFFCXr9rG7vapgahncdZiFrHW","QmXAYPfVQR9rfqdDcVs9iD6b1aP9iLjnZRD9zNaf7fs8eT","QmYv5FSVRVHbpU8trNLVyco417FAj5unLpRHWFymZhLyvd","QmTHaN4M75nb6tdJH2BDZHpuFneVTvNFpMxKbTPmAfK3dc","QmRAUdNZ5AS1jLbZnQ7mNYvviGAgtvsM
x8kE8Gqy1BdVHPo","QmQZiFhXDvKNCUqmqCBn5RgZvr15YpWBh5DsCKSysBVd8Y","QmdbV6KbgmcYEAf4TTmWfB8Q4EhvX6gCvxz6PjT4ZvPSTC","QmYDzHstqGNZa8SDKRuZ6FFbGzyRc5y4LCB94vMZYQ1cik","QmZGPgz7i3nRJUZHWzLif8EpXQs1GK6vrPi4uYQn1NmS4J","QmUEDX2vCK74RezR2xv45LU4CB2MPSr9B4pWZ2LcDrfDcg","QmdytBpZbrjB2R458HZDUpqNGDZ5V4RrFXfs8wA9N3DVhp","QmQf3rBKdsuAG1BAUjZjJWMy2xVnnFNv6Gzum75vjqRcqM","QmaHLZEpmMji9QtsDugkiXk6jAHSyvgJAYecgLbg1P2CLg","QmeaFdRwxbUnd3bq968wqJp3o2Tuu4nL4PfUqrwyEkzEUh","QmVw1BjsPCsRWHDEY73DgcgDs3QMT6EHAwgMWAXLVifiFH","QmXj1GQbkg5zM
QSM19KA3ay1tkgyppQz4YC237fgvu2dohb","QmYVw227jt5rr9LZ1qo5MDTGjiNdsfbiFDqx3x5Bag5Hjv","QmaLEGGvAvVke23zNd9tjxhtbmnjWtMFbESE178jstsC9M","QmU9QpvGiSJEfQ4EYY1yQpdTvxCwSAXbqpApmudLzxxSsD","QmcZvUeyCskRJ331vTtHJbcza3NeitJF8KXBHjNbNiSoP4","QmSoF3Wqd98atvPGJ93JEyXn53TXhkicNf5aDYpRaEVBqD","QmXo3N1DBvkk81GRrTbC97ZNwgVNNf9BTCoa4ULmHB5J3d","QmQHQuTboK5367ZoVnwY2gkbzYPfvjLVFHRkZpDu7JC9bs","Qmd3fcUk6uUFto57zRkXC9aQQwerNChposnFwakMgVcpsA","Qmb43pLX3A7roro2wdLTTCNPLjQjyT9VhkVvDKA4FffBVU","Qmdn7gVj27z8jgEsP43D1UnmzsbTLUzPnZJWUkumbGM
nmPb","QmXSWwzNEzyv5VETbRo9zbgjHZJsVcDN9tPDAXnwtc1emW","QmeCBbQJWfLjAAsZNhpf6jP5i5Stv3urbDKAM1Trae6URx","QmcSUrtKY1ozb3mLcMUVn9gUwhrYsSnZTAWD2Atu5E2YMb","QmPUN91WgGMLGuNjtU8WqhpFBBut5drAXtpbtM6HJe5bGT","QmNpxxediCmfvLB26Mm1o1qrnUBSKTubNMhsL825mF7E8o","QmbsdwyZznx1vrRE6QWNGW6waHLj9cYRZ9vnE4wU7Txo9c","QmcdaZMeNXTiFgbeV2PRrSPoULiu11en4e7nEH2Q1Kfbhe","QmVFdAMF5DSr4KL6BKoYqkZjveNcgqogiXYbKXs8RyN6Vh","QmZNuVPBh1cRpv3WebdQtNpmBPXFEBUCLuH3ZqqZo5dCDK","QmYwbMTd2cRFPLAwV37y7yGqDRhnsocKnXpaYL8ApNqmR5","QmNVjifwimFwFHLSaWhMChWM
qhEjbqfnPMuPUFH51rjTzpd","QmQC6i9X6wetcXQCbEvLAbZGMnh8EHy9Ndi4HJjTxDjHBq","QmbtAbA6YSsSF2vGJ594oMG8ZHWaKYRhW9eDQdiKbsQ4wd","QmW8WdHshionAejwgPy8S23W2RE71B3Hn2EYPu2Bnas5PB","QmUwUnEqf8qKJ69mAL6ga7zToWQapFMSMpfBdAMwtj2xY2","QmPuT2xJogWP3CgbVXaJ5BF1to3JBfRxDq4xCNmQpTH9PN","QmNaaB4Gm7DbizLHHy6RTwERZyaJ4XYbZPuwYMK2dnJZdQ","QmXdJQAwCSTxaRKo3UUX2m6QrnHnta2ChGbgiNSxwpWWzT","QmUNFRbykT6rJ5oMNY8CHQjQ5jaZaoGJoWAhYt5ifw7cpg","Qmbj2Ht1wbA3fanLAYE5LN3xUxi6oYp2uSq3ZnH9ch68c7","QmYDdGjzrxL7R4MsfuNKAEZFkDtZJ4ompP8MhnrPWLgHbs","QmYBM
tA62sPcgWmojdamcMiUQsgQ2LUSH9Kf7iz7iPabX2T","QmenoVGnxqQBisazeyPD4zSVzR5vb6adMcPnXFBs6RpXGX","QmPjkaPQiVNpPo2qMZN8tivkk9CBxnFFB727o6mpCVkZi9","QmaHbfrGB45Fw3RicpAXU77j7gDL8Qhm6cWEwcsrmM13Xb","QmUpVm13N6USJQhhs2erWGPhk8fikMLcA3VsoPo1DaBSEL","QmbLnZQJUjfWZeX8nnxiNpPkK7mNSPh59A75xfUg9r9RuU","QmfPDrif56SZZDtwrytEHXLyV8YdcmHMY95SHngJCYSEpt","QmP2bM4Vc21ewt59o3caLW1wjvvwFyNsW1734hxQvxaCWY","QmfZxHdvWrYMh9pekoXMZZThUvgPyEkXbbdBPwVLEdKcy6","QmTPsTV7HTZv9g8z2sgYcezoi2hStPyW8NU1nNJC9NC7Vb","QmRyGVRmPVvHmZj95Bhc4q4mNyfUeSvgyQM
9xWq4pQNo4yb","QmbRMBWjDbFhMB88CU8yW9pd57KVJ3QHZGn2ycCTJP8PJW","QmPx6DuZtoxSb1AsdmXiNrua27KqeMiG48uMENSUEkf3Y8","QmPwk1bmJus1GnJN9UfA7J7L21nFGmghsxkJr2Vnry5Lsj","QmWHU5KPePZJCt3tut2Doc3TfTUu2eHKSPfoBfxSGYMVNq","QmYzo712EBzmSKrohALLDTorCfGSSbhdipttKZ8eAKqnzu","QmQy8ssPHG11JXy7n6A9whrTMdvZcqieXvZ6uhsFp5UytQ","QmYafdYh6kU1asaQub4DaVLhYRKH1wPzt1QgAwEqgMHNcQ","QmPYXuL5cuh3r8RooTy395FYDM14Kg8L37LiimJSFYiFHh","Qmc2dRSYyujXiKwMG49fGS8SrY1DUNAcSSXQgaF3aUbHyh","QmQ3k8jnVzrza8qm6TSpKyANMdAZmnGLsC5fV1pPJbtMaa","QmcEZT1WhFSy2NEM
fDke1sBksZq8rHDybBPsmyfweCGTSUf","QmY5kEa6Hos8jjvM6wgJNBsUwYyAwnqZBQ4xvxNEzs3UpQ","QmSt9Y1jCAPocCWxLGuLQx8EphsMZFMBw6exdqqz7SzbP4","Qmd9bHGL4jmKkzPZX9R1NKYdW2MRS4Ft1tij7pkQUS7r1H","QmTGuVxLov591oeVMnHA7AEBTq5aUNH9pjcs6FnCu1iWMU","QmPRr6YkvTV4Ng34ndexBbNo128fK7Na8K1JgCWfwsJxoU","QmWL1vj7VMLeiWX2UCqMQjvWpzCBJEcdxDF7ChqXBDBUGC","Qmc29WTMGrrvR76QCs6ZQfTpN61uQmbxuyVJDM4CLyjjzM","QmeKi8bbB1u5QFDPJRf3t6m7sCH8P3E4YYKh5PCqAjgUUF","QmZd2qB3k9RizUjroy8kYBrQeYRtRsgYf7Q6quMhVQyzkj","Qmbb4imJPptfyoT7QdxcrLR6C6fYAJsPSSEpVVXwFbmkpM
y","QmV5ypweeQ9F9L1gYksYAxPPozhSmrFMyAKdxPg2X5FDe9","QmZAy1YxUrxY78Bf71ANXYTgxuuSjrzpfJo9Pgrk7RL23H","QmbdXmVo3uGLnVD8LtW3xdiVLd18Sz6YHGGzmfwVkZLxaZ","QmQdn4yJdoUDwB4PGGHPo6NWn6uwW4EYNXfDfyUrSzsNdq","QmWb4Qvy33z1xQZS1YLTehrkpuE5nBKdAUj9pcKUapL6Qe","QmbWcPVgK2YxjR4dwqF9GjGikngamGYGFPPasg4YSTaoz3","QmWjY5rXRpKgoR9jWerPNJ6sy3sQszLvYVhXcBiF4rdta2","QmafGfwXtgyyWY297gBS4b86vKJX1QQPGrfdvSqrSAbSeS","QmYmwExB9h7qEQXrpXGKdAq7RyizTgMmCqB7ee5MHLbR97","QmRLhK66A72Ux4xwnCLuqwoMbh6HgiSUXyxx31SofCGbhe","Qmde4tZDFigbRq8QtNbs2XDhc1M
oC9mfTzYfdXNLRqzJPTj","QmNRX764KYyMfZiDU78fkeyXa5grEK8xNZBT9i14z4tXV3","Qmc3nvRMZWRM2NttcVR6cck3d5i5sgANc6CD7A6BJqwMTV","QmXkJ4sTgkC6TEVmqZcxuAt6UszFTCYpSu2w3JHmYTss83","Qmeh7HKaWuvA99Bg3icGH9hT29j86o3is1cUeVKqucxDsd","QmXrDRTPsrQdig3JZjfZutgA7FK3UeYYvTxt6pPYDrfqdt","QmUgbxe2D1uoDzjx5UXd1FKnCVkCLkP2fSXtPQdqGjAcYi","Qmbp6EV9e4Mh6BjeLJFu1ay2Fpi2wr9f2c79ocFntRkAKL","QmUUHu9u2yikTFNPJr2a4kRz3MxKcJo8RmUWtGpaU88gqp","QmfRzmyUgs7Z4uT6e8XA6qpPYd6UQqboweUGVTitQyn2nh","QmS8GoPHyo1U4jsnYbvHagNtCvCNbdppqgYiDULdgbr4g5","QmeFQffM
Qo4MVZQqD246sQvo8kxKaMYLhiVZXQjfyiQ9gz4","QmSeZVh3n7jUxtasi6PW7MmPhfC4wAibgBkMyKvevrFsic","QmVMqJ2ug8HCGHDz9p9ZBHQa9sRf868CJfkkR6WdbDoQpQ","QmXd1JY29sYnxqkaSfaUpPsVQwXiWvuDZ9ynr9CbKhH7kJ","QmTVjKGcoEvyWHDz9TCiYr6Bc1Gty8sGtwUzP8wKpyzt6X","QmeND9E4oAGJ7YoiDL9ecaPiPWMAJj1D7TDHS3xLJdnFDG","QmR4JoL5st5NDJe5Sg2FUHyj2BNMDVrT8jNmTAjq2qSsJQ","QmPUKo6kNsHDgh9Rgysq7D28n34SfQyiagSuw7gGjQ2E97","QmdV4cY6PMZkX6LE4SfrAbVRPDdQRemLdw79jp9hyZtSR4","QmUPcCXCEe7Yhum8TasJYDz5Cj2Un6nKqTFXxyHin4XPWf","QmPHcX8bXmxq4eES5eNfMjR7bQ5jpQtX2KGZXM
XwiT2Xtxa","QmfE7fVeEbKsukxpoKU84oqFBTs2xneqU74exJh2z5A4EN","QmSZBa1XttujqnBeDXY5HBqBYVau2mbxemKE3BEyWyiawS","QmNjy7FDpkz9puV81ZCB2y4r6v173X5QcTPkdmNDG9nkLj","QmVZq3TTUKDo3MoSN81GvUypiPhMoPYvC5MRbpb5hoyrJZ","QmQLNf8w4xzibtsus49FvZiVak5KYAMjVuH87So3eYjbrk","Qme9aFFKj1nr6sN4XGBwHS49XNB7pnxFx3CsiLuq2Dyt2V","QmS8QTCcgcozjmE4iScm6CzkvV3JyFmpcRGsovivD3wnAY","QmTz86Mgv1qK7o9MCawW9AnrW9hSHRrvYZFTyoKMcUuXhA","Qmf3K7SHeNgnLSrQEb4QQLesmtkQAAPsmmdGYC9ps9r5t7","QmZ4UtwmfNG5ngLFxSQaurmdoRQ5oGSLHCYvy1vZVVXY5o","QmYPMNDkVhtCdtvhdeM
q6QHcuxr7kmmN6LyMS8YregbTLV8","QmcLfa7uk1sVmTKZ1To26EKLh7rdzfh5m8XGpgYcABUoxo","QmUrgZstG8En3kx6WuFdd16pGTo9UdpPk3StUAEzvbyicW","QmYWQnSKiJgQGm846hLGdu72rxmqHHnMuxZGo1TTkwxNsX","QmQASsD1NxJFQsEfP2R2sTXCPYXuPg2Ydj9e8oR9MhNt12","QmXxP1S2VcFsA8CETSwWc5AoTry7CdcJVSHRe5XicoQaCJ","QmWFgHkFNHoRkEupYdcGdp3BQoKtXGvxrpxu8yyXAou7eX","QmUCV4AxFh5xHXc1j6JNJJqRucsUD9GXm4g68YbRtwqzzi","QmeUJYxL5EzychEBQGqs1sgWPJruYyNEodArtYtXX6eqU3","QmR5M1goNLLxn4foVLs26tsuYh7PR8xZJjgZQRo6e4wh8R","QmPXcNmthxVMSEhps3TmdGnWuHcVXjUzU1Jr23RhmNwWZJ",M
"QmPEP2Tcfwhzd5sw7jKEzkJNbjGv3XAcGimgdFnPRbpnTE","QmVmHNBWwUYXXoU4mFvn5AYhEZ32G9QRPfpWzMxW8r9Pdi","QmbuZBehoWdBSU6hYhMXihyyDkDiNPmCwEJhWamdxU8e5s","QmTDDWtCdCxhpd5noBjYpQovDcDfQTwti2sGDJbSRt1gW4","QmTD77gohjwTU3eMN8ywz2GT1aP3QLki15CrA9FugZupYY","QmNsj9UzCNjjJDLtYjnsNvGso9zMa4VKK2JwCqBTREALsP","QmTEzHtoN3c1uqkvMS2ujXZ1Ub39pVZYU6ABeKuqmAwrVK","QmaYfz8QGjfRnCtq25n77yYkmGHGs68qabzvZRKD5CsMAx","QmdWMJDUjePwULhAzx5uzZsCoAUpb13ws1wFbrHJwfuvLN","QmXAerrcmoBKdgYXFA3sgKE95vkobCBhkYREkko7dePduT","QmdXwa4ZJ7LM4uWaa6FpSjXDifeoXM
EFq2erpHAetQiwzAf","QmX3kh76Jrm5p84sbmVWSHppD5KWGjpStqNXewpyGuEFNT","QmTkE6njXfUBNmcjSvz8jFvdzuSRB7ESS9UGZLnjTPHD9u","Qmf4wsqw8MmJ2SDobjPhnFXoRSLfDRZQtRkweBWuFh8rXy","QmbkbmXzfmqt3w2TvfYgJZSurDjJULSoYRrg493pqnuQ8U","QmW6eAQEDDoBn7UtsVhtk7pxBsXNRDyWFMkE4pGLiy976B","QmaK11ekerGoPug45y75Qc42jLfGp2mdngMkwarwof12E2","QmRGfdFmNXxbuB73sj9vnJ2kQSmYNaCpME5MjyX45tx16Y","QmQ2ZxgDS7r5ENbiJo6pUCf7frQ97i7gDy5PuCs5zQiL5P","QmSY2eu21aBwKrAztv4eZGTBvhS6TbeQWjkdYjwtuUvJ7q","QmUUoTCFNaooWttYLeeAdJmNWDCmnwmZiJM57nuFNMXTci","Qme8zvkwaQM
BTXo34YiKDZ63mpoCWSnRAPFZHEeLEp3HEc9","Qmatr4bD1Xb3vVnFGykfi1apdTn345tqMXVyiyvTWfq7TZ","QmYYuf8ftN8D1G1aasmaLWDymv5ijVMXRbVBxMsQ3JYrPT","QmTdVkyMpfZvyC3xZt4AiG8C8wBDoRB5c7rSUK74xMwcXv","QmPWBZCXBSXBYLAJ2U6xrdJjmufBFGjwpvyMPvAkVoUabX","QmQQdUyqEFSDTWw3ggf6cLgEHHmoUnu7tdL8P54MsjK18h","QmdevMhz2yzV8cX8XsZkiTRnt54UwcNDofHycPQptZv9Ed","QmPgTyEdUK7uEKhpPhQN76nGeuxmCc4wjArSLWeQqNcMFx","QmRBYDmgxiW3oinPhGKybmAhrnXXxHNeQEncQEqoMXLNQm","Qmd8Q1V3R9MjtFgCBLbrbYS4gysrKLtUbG6Auyv2ZUeJCc","QmVTeSuqgr6ATQRWuJxvXs5U6LuNGtAFnfDLnXwhM
whomfR","QmU6LPb6ShaB68o1BBUr9hkKcYg4CEU4xr9dXSPStqCPd9","QmP66M1ChA5fjCkn4t85Ncp3zLoFsSNbEyzWQWmLjBXa7w","QmU3zDoLwJXpq6wox2yMnF3VobwMwvKw6Bf7QKrgNB4a11","QmVh6RsSD7V7bWLKoqMoBuuQBuTG6sHKijQoBjz8b1scQS","QmVxuPc2pa1THEVs9SDCJAR5xNg5uq3ucChua1qJeAwavD","QmbFz19ZvmxqG4fdSboKivMCNC9y9YzYxwGQz7uewdgnQW","QmTR1o4LWDu3sEkQK4HJUdtZ4TC3c7x55RQUv67YBu4Dqt","QmX9wsgwsMy57wUkkBDMgJF6ERuCsvr1R8wGAGuW42bsHP","QmVAVJLgih9jbYmSSNMyaM9Uw7qZ6fZPdB9Y4RaqrwMv3z","QmQLMueVMqQzRNRUXCBAFLW15r4dx3mkNWQSaCrRGejFTq","QmQNECZbFF8eK8vMbaHt2M
gP9L9o2711Y2BnF47dhupjxXw","QmbppXQx5yPqybagbVeGfQ7kqzNTeBcNG6P86bg79WghBQ","QmWoRsjXpfdq6PaN9DNH2dAXiwyLt639jPq9aDPZAMgwVb","Qma2condRBinnTPq55FK5gcK3DEXNsYy1otugrKeHujwGx","QmWTaLwutiWsKspfdEL6KZZUYoCegUPbQikYLQfnc3mArT","QmX31euAbB55xiZKeMUHxwAG9XFGofs81GtgRsYU347YvL","QmSL1RQ7e6MyjaDceYAvASS4VuLfUvPzQM9kCCKCzCDXoL","QmNQAUrvAjp1fPEQCXMePDWoEJ94vtCt9Q3MM5k6AGN28u","QmYTZe3rDTLQXGqenFSdy9fSW4T7MUuEquipmZyvK9fkhn","QmcdXWyYtXyixKF549Ha826ZCANZX2PPSANbCqmyDtVtXg","QmWvxJeU4S1AvottECkWpPNisrRrkTnZ9TeYySFeCfZv1k","QmM
bYLZk9xuc8f3YUbB3uYuuGZrADheK5cSarkaGB5WcJWF","QmeYD558kxzTedmektfQvFND9LgJxTN79DqsHS7ewyV4PB","QmeMe4yRVXh5qDu4pgtMg1td5KdiSTcnL9W76cCGyb9v2j","QmRUjjDn9FrGD9RaHvDcEhW1vWigx3p7RA7Y13xJQ7TFMT","QmdoK3DmqHyvrTxh3JeNjn5Q2mxyMWKgYChwfieR9E2tMN","QmWeynvnPkDLCD4GkMJwHY2PxDZJFNK4Fw1BSYRmePe8eq","QmeZvK7mmhTZeLZpd7iwHC9X7g25Fn1AZ6HS2Z4v9M1pvr","QmXmoJXfHE9GXFMxyC8ABqXQ4UtCYM4Ajs2Gx8MR74wVBr","QmV399H9d1JtRuN6ku3LmHETLsjvTQFCffNv4KmsVxMuTs","QmRHBkkeKkKKDcGJJxo8YbvYspcN9XGN2oYFYQvTU2d8dH","QmeRZgfzZp6j2sJ2azBJ3aoTgA2jQhifM
guebN63iM6QvhS","QmbEtmwPw3xhB5UiCJ3eRamgM5KEpnsGfbPEWYckTk1CVB","QmWBb3ebL8H3hBLCV3DaecX5cZkqhwAb1zS8B3XLrereV6","QmUQd1irfG7ySnFVpDTYrP3BfhMcEVqSdwFSQyXxLhi4Ff","QmRPudmEx36H29RSESLpFE5MaHuXFN9zh5DezrAfPchwnG","QmdegUk83aR6rNdhB9VqrpfhPSoMQnBWaHdw6smRRnYHAe","QmdM7tXmw5XK2yiyebo4qieQxXzEuEH2oZCFa2kGP12odD","QmZzCR2efRX6ELiWXdQ6gSW9rQsMmao74XnWpo6b1PFMrs","QmcbCguZ5ZkHjMPxzZVTJHn6HcYqjX5MQ3BpLijWhneqbW","QmZMJEibrkGb84znz6m24YFgYingK1VAG5oCREu1MsvS87","QmanokFjRSUercTijYWT65MnY54G5nZbpvM7eWHAZ5Qmpn","QmTYHUdQyqqA8M
6B6t6xZtrPCrqPvgYCYviRBumthTbRFJv","QmR3aSFFzTkkFRZmZcDSWFiHk9NmunigibFo5egNtrsdiP","QmPgqfcKA2nWYBvhXRp8SrmFWz8tgzDERwNB47cWGahoGV","QmUmBCrQfjchb59bGe8wmsVVPXxdHjX2aZcWv3atANQFAc","QmNdoUUwg7kWDYVyaAftkjsj55LAm9JGRzeAkZ8FxXdBay","QmRmH2WZ3kFNwoFtxa2tz5djs3uLyewCHrn2zwfU3aY7Cz","QmZVSbb8bvA5jF5R3KjDgHzGDB8M45p1ZQcE484w8hxEoc","QmUmpdMgW5T43jfdE8ubEpVeFuTTU3xdyKPPcrAtVdBFco","QmcewwmeGCcwqPTo5xvXeSC9EaKgCwwfRWiL6XjCecU9YK","QmcsN25nEf26FeAN8YEyuH3jNS37FM35tEs49hxQ5eWTMT","QmZc1QX65iwQ3GYxzFoCsuBmFQ6qn9YQjgLGL86Zy8DM
TKZ","QmVeD22AeSRDNR1sHwKg5GmkRdcSB8TfWFDKzqaareQtiM","QmT8MUn6YY4FGbUH9uzz1PSnJ5EhBZebirZe34TYov72fq","QmcwdumW9ChEZFSJUnBEAXmatbc3rBrxzK5hVVKFbqbaPy","QmWuhCkAER88q15Dbs5YxZ4rX4jY5xFz5Lwi3yPnHbGmKf","QmZZxTYipJJP1UUqJCabqRoymDCWk2x43EpXnoBRfnW4yH","Qme4KmBxXGwhyqr9Vf7DLzRc3DnMjm9XTEtbziwHGnjtH1","QmSvvJXufBEJvqhrBDtfMEUzvbyGFbQ5CYL5oB59RAGzLB","QmeUtTY4zp2y9dzvFGcW5texWLm8YBgSiCFxzfR6hwCngU","QmQuF3ZYo5w9w17NqwFKgAjUEzmAEZYGEa45spZHstttvR","QmbyoDdBNZjZsA5K7xsjQeJfRzCRG8J9SWUQmHYAckv9U8","QmaxjVh5qpDLxKzZoYKoPgz1M
GS6Cu3YR2694Y3C7ocCaLH","QmSVDvPccKVrgH5MC7BTn2ARsZTEfv8QBaoKfbznsj4cCE","QmZK6fdRvndpaCCi7zsPaDKco23jh15z6VyG5M7YYs2sQC","QmSXwcJ1Bo8F3AvXbL6VV34HtiEVtYv1wcyQJHVPMwJSiK","QmSyzJC7cuGFzbLPuvAV1FJcjKsHkjQbawtvZH8TMvvKu5","QmcHsWuSMBsYmGxUoGo6ofU7Z4tw4zEppbxb1LKxqmygCV","QmaWNr8YxpMvEAVX3PwgAzzzFmptmFa1L7AXBSbeox7bMn","QmVZv7qFAbmaLrr2USAqQFms2moX1zoUw4KCnFuQZnXVDR","QmPfaafjeExho36etTzRpKxa1jib6bCbS7mPeNcabn2r9p","QmcgtHGHXukh1SV6GZZEzUPuV3crCvXE9AJoN293tZy562","Qmcsq1ibGSJYiZYEtYTqWgd1xowjdhWxcD41oQBoA34YeD","QmWUUM
XnzN6gDAwLDNNrPk3gG8w2UAAutZy7pakNsu4TMgf","QmTSp2L8RjZRAcZon3B7rXD57h59Toaza7pGysPdS3j2gm","Qmdkt9odwMDrFi1LmQ22UzrsCk3KmBixrA1DmSLy2kBvDN","QmeZQXCr3qrByuw1deQiCTE1agMxo4i7Nda3xQRj5pK6o9","QmZSNWkxgo7Dp8ZeFpwpQtYcMSNdt92gNuimwLgGvmU53F","QmXhjLTxBn1N667Dv6727KkUGWD42zCg6Kqrdtmg2fMggS","QmY1NU1ut7qNcGPJxwpTuAfbBGuvwvv3yhV2ANaGoKUgh6","QmbyTFr5cwACwH1scQ2aUabXF2xeoPxfd15LZTzqCV1coJ","QmWNdvZVhpa2z9kFRQSYHKDMjsh5dBSZmd1M6poRPRcepn","Qma1ZR7rYFdQM2phmF2uUrCnBuUYVupfaK2wnftXiWu8Yu","QmXG73Yn7Qimq5oEgNS5SQHXD5iDJy6PbS6M
vgdrzFvCVpk","QmYdzGAZcQF1ryHaJPk2j4VfMszoCjvbeYx42zGCnuF4fV","QmeTtdwosg6jvsLsuBacuR4wjvvzjU3RmdVBSZUr3HwesU","QmdCRLzAvGKdgZG5TUEwRgWjh6wukeT86CQqr7UUYbzYjs","QmWqu1mEhBrGtBnnibuS2g31MU23HWCNuJuAMtBVUigiG2","QmcPnGiEdNuQ75YYhrf2HTfPA5TsfqcsuH4EoK7S1TCFmj","QmaigFqUVkmbR6XVaTvLStg3exSNSgyvDxNVsaCXcpLw3j","QmUFLkGmUMCtXBg8chs7ZnAvsRfZKfbXro3nMrZYC8MSQS","QmUhwyBAUwxFj2ufRD4k6xzL5x5ohfPeeoyDMzUMQzn1Ev","QmRSmdPuh6LPe4gmGws56i3Co2uvKojMjCfvY7pM4hRQdV","QmV9nY7Nt5TMQbgHoPi33yz6iqLutDn55fuRYbww9LTkfb","QmZTcndiB2f9yhcXM
KTKbVCex9VA4FMR1cXSeJQLtw3BpLJ","QmfCRQeVv4EQaLU7qv6mouPvC3Q3qYuDaKxAyHr575mJ7g","QmdAvRqJtWnmwKSKwRamf5GyiEKmXvoB2sppLfH7HfzeLg","QmcKp3yTo1Mhrv7eycsKR4cnnLqvBCY5XsaExv9bBVYZgW","QmS9ZokMvj5Dvopdi83LynYKVsQrhxKsKT5uXB3igbbpon","QmSAV89LYDTLD5w8paKiQj8qmPccMyXQYSY27BoqFXNSUT","QmUo7DZ81MmBWnBXa8T491BRg1ELke6YWhW5HWefMJjZSo","QmZhdYF3GipTrqJdBMV8gKnEzgCfjaN6a15WZxEy6rd5xP","QmXy5yYBAPB9YTLYb6TgWSxtoPzVhxwhFcLak3n8Gc5UkL","QmRjEQ3rMgZ2arZ72cX4ixJTWQWwHctWw7EwDzswdHWYEM","QmTayAeB52HUdvnLUNxVem9pv8qJki4KVkayzReaTwVYjaM
","QmVPhhvXd7fxTtFARCyBDJRkCoZAAnKyqmyvQxm3qMLZNV","QmQwMUsbb5ZdVNTttB7aY2LBVuS6qtds6dMbiUGNNkCsX8","QmNgqQEZeFtdQwyL4Une2QjwaTQd7KnC7jip56CQXkZebf","QmQ4ty9pnCEs8gsGV3MXPduhNJYN5P3XCb4VFJPuKMTDuB","QmPBf8VGy5mScuWrt42ZrngGQDLQ3jmVnbDCQ5skfqsDNY","QmVxannDiSEiytvMUmQ9NdrCeAWcteLZ2rm1AuTB6TDYtQ","QmQr2vvNAtGg8uRMAihrwm78VycybRQZChaAkpMhAx5nCw","QmeBCHxv5fiptQYoZZJZyGyLhdzinr8qyGnzK9ko47MKWX","QmYUvUBtEsK8Mi8Rmr4LM1WPXVJ3hXSwcSBdwbE6M9dHFv","Qma5dyF6jmvhg52NMWZfg8KUoo4buXKn1gQVrBNSDNLate","QmU5CEYD4attQ6wGiB4sQJG4mPLM
ggSArNWtXy3XUq7Z9Li","QmaVKmDmGuT2mvLhrsm1kyKqZi3MtgwNmRiArGdAysxUhR","QmaRPvHiXzYZusG2uogdgSu95XKGbd5YSf176e8CcPEH2S","Qme61t34dpdqDUGn1Wz6QCBRZBQyhkF3aKWuVkBoBSJ3dW","QmYd3dnFa1TKQQWmykiVXBjkAjXUQ1s1cdP5JDMR4KSdG8","QmZ1qbcWGFMaFX2EwE1d7UTxy9kWX5VZAmBFMEdXxgYw5p","QmWAUc8WtbKkeZnj1WDLqYWwhfRGgWfavKZNrBSavQcYXY","QmWZ3izmUf7XTA7VX5hi9RY5CHhjp6ao6xZ6troc9woXNF","QmXWjgrWTwMdEzfnvMAk7MvC1yZRUdqudtQbniwvQtfguP","QmXao1xMk3cWaaQhRsuYgAcXFK4nxmqQMxfXwPfwvqG1oJ","QmTfZ9RbpVbBpCq1jzp9dpSQu2Zuy3wVcmh9tpg36uivgq","QmVQuzYmM
1H3tcsQJCnYSf5nPe7mBc7Z9EpdBfCza8TYTxr","QmfUTu2K162a3S7sXQxdsKRJxbYD2iLAC3LykfGYmGFKKv","QmTrFT1V9khjf9hBymR86JT9LCS3v7zRruFGMyAyHafnY4","QmeSErG5jp3D1eXbxvpZBCyxsGKfLW21JHKYiMMXMjf4wo","QmWpZgn8oaMgcVcfVvCVos3RjSfBePp6n8KHczXbhPp5eG","QmP6icRXrQLWuKscnQ2SdpWr8N5ForMwGBabkNtYBkn9po","QmRLr8g7Zgyj6aMuB2gHty8GtdcHCB9X5zsxDYnjgUkNWi","QmNnreTUmndJQFvXeMD3tC5Xu98ugwjWgPviUgzAJTbCac","QmUJtnJr7xEB3VEGiHni7bngQXTmUTyrwtDQd92cT7xHJd","QmQQNfFMWGVSgKx5PWS9DBzjsL6soEhDZbyEZv9NthkZJC","QmULinCu8YVExp3EhgR24e6YywfynbqhDMVhsmM
WmAs5o6b","QmUjf8yZAZ7483GnnM9eVUB8RmXEW97eRHUeM7iZ2jvwYT","QmcjMNt3hTD3YRYB99cW6eBA4YCUXeW35ohdyRECYHoBGQ","QmZoMfRtWCBhxu9T7qdAdPWbUDAjXR4dJxUZZz31AMsHiM","QmeaVA1mxhVWHrmjLUVgZvaCty5JcNFJkVB2mMtn7JuC8B","QmSEzzMUD5U6mwCo4nkrzAEDo6uRBJxvgpgXhDBsWZviyx","QmZ2bZVEwtP8ziCS1QuCB6HQ99riQGttrpbP5gTP3GxRgf","QmTo54PdLtk6SJcapunJ7JFBuBrVWno7LKf4yuoP7AtejR","Qmc5QpwGwMGHBQbVoxtM7Xj1CmgJtSsko1zoMxjwScAzbR","QmV7hDES3YXdxsfa55D6NxCmFozBraPLtKxz7NoXyP3kb8","QmVerL3NuFbJfs62nHezEKRA7SRVEmfwDiFBrLD9QkBEbv","QmbkyjzNFaQgf67TSq9M
4v9o3fZaqASHFJbdQhqtUkmBeo8","QmcZHPx2xETyVpUzKr5Sb2HBorTNMhmBapQCVrWB4QcA8c","QmQXiJGLEQyp5Q1nsLq3yVwPU4HkLCH9wVg6hdzM2S8QKa","QmcF84uxtYxaw6YFtdnTfQHpYQBPtEXdbkLoEwHNWxqMj4","QmPKphpJEJRNEof8eLfiZkgWHuR39kxtaXjZJXZxgi9S33","QmWz6PtgkPag1a5DjuGhx11wsAcVPzEPGBpDtn9XErKxHN","QmczUKfz2Pn7EvM3Ab7zAF3gBz4zS7gmH82d9gqn8dKMVr","QmbeZrdYep7V2jVkzusWxCJ2nXD7ycdFkBCRjxm3tyk338","QmPQUJ9QgkLez8oUXoYQCoK7oqeFAqPuKtiqPvTQhppoVV","QmW5sJKRZWX8gYnz7PqP4xQ7uLy79eFru5e4AZw2ow8CrA","QmTFhbs8HZ8AutWKSyDQR33Q5bET8EC34r6NUz7R4CzrZ6","M
Qmf5mYqoj1SHdhq17tKirBTPuxzJybiGyA4M5GvH4CqNVP","QmRb4HwMdABc8NL1rLjyGTp4heeR1cUkqjaPb9HBx5e17c","QmWGLp8oA6GD7mSJyM6DAgTt2Y17FGfrmWU6jduZi8MAQc","Qmb2ucZwSpCD8vqq6NKSjXGoxEGCQGZdybvQ3tqfh5Xhf2","QmZgASySYCWCNQS8UsfUVhWuYBswTrHRjVgLxtZ48z3w49","QmXxnWZHPPimxn4YSPbZ1YAaB7hhaUftocwLwrSMxhSbfx","QmRec5E47Z99CwF47QfYoFjXH1JsnwJJfVvMmdRvFN82pH","QmP5cQvDyQj9TmU8zqu7M2DQzCwK6KynC7CZbSWYUbCa1e","QmQRTMT3mZHqevf9madBqSaBxbhLU4sK75BeWufNJbir4x","QmPF3syxsDHvkV4egAbDjTyRcEhtkqsyNEWusL37c9CW3T","QmdizZPtFMroa1UU58DwmvPKkx8j5NM
qaZAPVRkDTV6AMQb","QmNcdaAzTJV52uzRTgun9vNqAenBteWoGAb2tfpfUnPUUu","QmRJ93HpmKR2o36G95ssk3FQwbhZGVJJzTZHGsCdHAvYKa","QmbLwhFitzPXFgXM6vXdP6TW1MWwj8xHbtPSoKfrV7waiB","QmTrgq7hnaSvE2XDZJKyoQkH2XCGj81gAo2z88vxzg6a44","QmT9bjN1cm757fEFTuuPfu38BuM9nTVzpguXWoY1eUQWro","QmW4mVNpLskhbgU6XBLtZzJfmcNk8YPw89J5rhYswyo8LT","QmPEanA4A7tSEHG2q3TVJ1XwqVUmU53sVVKyjGBUTKX8tU","QmSEUaFXzb8BAmFEBcWMPpWvDttCos5vZCBovPyNvg5vZ7","QmRRYUGPScgRoZJdbeey7wKa7jhvEreBWUspnPFGF29MSP","QmVS8j6RYx9MUNFtT43mLvHYMMwczxKDJKCfgEyTUhCmmJ","QmcUmpbvwU3M
HQNmHLrs9cE6U9pyQH5rXRzHKDmB6AyhT3P","Qmdw6QGV9cNmvVzuxFHcDga3zW1XaWPCZTGeP2gqpZFXsY","QmW372S2r6QNssaGNryYkfouL8Q2GS37SLTbfYFZ49rXn4","QmdgJkEwexhDsGhSx1znW1kJegXFhsFSjznphEsw1egvoc","QmX1YGKatx4qJjjUHCqLQnBJnJ9sRdR6rc5xV12HnaTyPZ","Qmc6ojJPdRg3jQNpMhGB5xg9QVySXH2rZv65FoVGBcrfhA","QmUuL4d8G8LZeXHrDqaTDGJQ539Ydjt5k25DDVShDHnVw6","QmXZwN54j8FwgnQGE6Wto8z8PHoodv4PCPi25jZc8Us95P","Qmdw2qe6iDRVzjTQp5pPQVfSvkV1GthoBLUgGXjNsvdAcX","QmRCqi6LE9tw8AESLPXyWAMBVhH1XAbXpaQvzgwJdpA9nB","QmNrGw9JPXiYbsf2gWtg7yxdpZWeKfw7Z4apFccXUM
ZbLQS","QmQFtEqv4XBWheQd2cSR98qSUN5RNk7RamF1VaiWCkKwXD","QmVcWJnP8coffZrPZEauLkhzzLn3XKP822q9hjEPHU61qM","QmXsAEWrvGZxYd4fJSxf27emLB4j57a98tFFXx5zKB4uBe","QmZGskENPVx8KB6fkKQBVokab3xYF1yaKByLeaqCAE4yau","QmWxJoNMuS9JCdtKzWyh4yQapmyyvpmTZGVMBuXDCEi8VB","QmXbThXHypLXWceZXzWA2VVNcMcNNdAUKAmPEPR4CcFtrN","QmRgNBY3c1Zureqc7msP9HD4wHe4NRnvRzYwfkZz8WTn8w","Qme8qWvLEzjfsj3Q7V3VQuyGNAasvZPCSxxkwX9k4AdckD","QmZfHCaWbanGHaA2GjrvMfx2u761MojfPs6Vvb3JG2Kywq","QmYFQaL1NwbJiJAG3DFwb4JACHqs2d19YkjwhNyR5DBXYX","QmP4xS59SFeE8sMAvZcDkEM
eKMxSPZ4mMiTgKXaNvottBTP","QmQrNzYmd3mzG8W8nTM3QP1pk3H151qRZnfdoaksnjQDAZ","QmSQwKEMje75zEMfSKPBiRwaKbWA9kjZWY45BnPP8uDwZM","QmY4vEdVBXVnRvSnfgkpCUm9s2SZcgMYMNRFHtR8iBUW83","Qmbam1vAcRgSjrXQv4W2uPJngQCK5hPC4dga5GRc4w5j6m","QmVm29v4M2oRXPAgcsyxMmSXStZxMLrP6KAKApbpGje5jL","QmVj4xGY5t8tESdnMZydSxbVNq857QkVHLGhF4kWE51i42","QmWmX9mZHRjRQAd2iacGmbd3N9Mk2eBGiqi5VKSrD2171r","QmRNnbXrBeruxc78mJN3DpyYq7gny7Pd8jLKjPVa34kSWz","QmbDttwJLz5mhp3oWmcDfnnYNw3Qs7r9mTBy6qWW2jVnP4","QmdH8N2ckYy9fRenWxhxJaHcY8HqrUCcwBaxHYqeLLYTpq","QmQM
iZdjqKAsHvQTuZjkyaKUvXMkRTk8tUxTfWEgKnwTrat","QmNXqECqp95Ut5DBAW838dC2xQf7cMKA1qBtNLoXMJZjMC","QmfSerhEguToySjdCLThBQK7RMRnL2VxRpPtAMLJguYb7t","QmRn6frwokoGWhnfvcWinaHrSiSkyw1gam44wRhWy4UDwi","QmaEceMa2vMce4umJZyjwqWPQiQNGtXSygq7jU2H7hm691","QmdRCRVqM3gFXDE6NQs2G3c9maXpK112empKoV1YaSprET","QmbgjEFopYLwiDfpRPSBjZ3NpHwGjf4kdVWxtPHaUSPm8s","QmPG2D86YtX6KuWCFcDmw83Z6uMXCa73GrbKd3jzX7AUFg","QmWSoefmD86KjWHw1bKiMBVgwDJ5NQzn62QiEfztq84y9u","QmSXS1UQWdKBTDADaUpfV8XNy4J1duzQfaqx36h2E94FfV","QmZbJvv9CLejtH5tFmnJn9M3tuSFQwkfKM
DNcChP8r6qXxa","QmRmFVQHYabiqZdtFAzo1bLNQrrkZqutphFh8XPV4FjG92","QmdajmhtV3U1ua8as2VaWdVn7E7tNPvUd3REvqwLRXD5MD","QmYnS7G6yNifeywJSDKyqsA161FeD3QMUD6Du7XjGTVGK7","QmXCiaFZ3ZWp2oKcMXftf29KvAEuHydR2VWBXYB237Aobq","QmPWYSbymEx2MevZXtZPqC88gDUQcnXUyr3QMj3JCX7uuB","QmRoZWAKasAQsRRErvkH25rKPFiHZpkgn9LxhCoYpW6tJM","QmSGEgiw7i2VhXjmbenuuYAp6YFxExxMRSkbyH1S2AdyFq","QmRBLJDFiBUzEob1kvwvT6inX8MrezWUARFz361NvABfXc","Qme3yeWUmjrNcH23gDdsudzKbifCjM2A2Kq5zYGr5Biqpy","QmfH2b13KuNsq7e4vXUxTv9rybg7mhU2JTijrMihxDpRjN","QmXHpHVkCsKRHuM
UDqKaSkyMqjmHtQ51fNBEChS7F49ku6V","QmVYhzKMS43Z9amNnXTxK2maHUYaV4t6yTG6SUkZok4y8u","QmPwP5nakvbGp2zHvtsqMBTkiVdYtPbYYsRMEm4jzaYaLW","Qmbt68xT7DYDyYFMGo3YUnCS8fkCyvdF53XbKE8y2NwbSb","QmdnLbKWXYVGqXjRCjNKhjnGyF3mbbjThhqypoiSKrS5MG","QmQ8aL6ENbrvNeMFvsL3NdsYyAHTp7XSdZ3QhWabJm79Rf","QmQUqRCjBJwBFqzmUZ4souByrQUDDrEJygA7tqUS8CpXHj","QmPmYj8poGLdnWW8T92VSfVxigGx4QHWRS9QTihgMV3cxL","QmSvJfHQEy8SmnspTe74ZuR9hTvSenTjcNbsayBYQafR3N","QmQMbxWbK8MmGNWtDjVhtbcL1DzxjQA68hNbFai8tTpghL","QmbgxkLjCZ5vsK3EZEJsgBCeRaHDyswzLFpDZzBoENTCM
rf","QmeNR5RWmh13GXpwAhvr6nZDDSwtFrvuFmdKLD94mbLGJ9","QmSK1Ft3atdTy9GsMansvpfdCocPpGfsq7PtJQ4ome8uo8","QmciaADB7p98hf7jfvP1Kth7JnUGALtweZvbchFgfbT6kT","QmczG9u9cKy14KprPC8nqPdr5nZ9HGZg3XyRrCTht7hvip","QmSWnKzUBRNA5UELFJFFtwrBzfqEw84K2uVfTxnfqYNBbY","QmWZgyhsBfZ7fBWBRhmYYTkNRCKP397PEHuDbJ1K3hYpMt","QmU4LCHohjw9DrvfL8v5QqkVSJb945cWyNvD2STCfe1y5T","QmZjtSAVhFzh3BHENcXpEZFtxBpXuW9Wzc22pYfym5Z2Ye","QmWZyV7gN2aBTjbgZv6ek6w6V6NitJNUo8Xox2uwXKLQ4q","QmSRgEx4THiMgGmjApnuRVTKgYBkrs4qqjKdSa4K4HnXgn","QmVMz2Ks9wFp5uCoL2KYGtj5KM
Ye4mJfBwKTxruCiGVJPEw","QmZ9yCUcrfpev5RWAzzLyWE8KzHJy3tG1nh59RZCfEKeu6","QmZBUL9FyxCJjLBoftVmqLUc5y9B6dJw4NKXY9X5tqMPst","QmaSonLT5i2BKDZ3XXQvMosbUXU7RbuLoEw1i1pGLMZEs6","QmPoseqoNtnzkvkT48zNvWjCnoCjuL5PxgpyiXnTbHoUKH","QmXkWAQ3vQpFvjiyHqYCtYawAJikmLKHEmRAALHpLtFRge","Qmeqs3Z2o76tog2qJvYF3kv9k1DorNKF3AjF1jkRJ4YKK8","QmaQT8CGrvFi6PriyNM6qxWbaSyDRg6fwVr6qZCgDH8iPA","QmcVmJCnax8fi8zm2qjbkQkndtYBRUpXF3DEirEbGMnQc8","QmaKAr5n96EWKQaaEJxaGTVVeHVgQiUQNtmQNH4J5DXXSB","QmczpVuqqCevTHLethbaXxxZ3fcL8bVq4fzSAVt48Rhdhp","QmT1xRM
p49dkFi3Q5wi9fWnWEnaehGxa65wdB4fTSASFmqc","QmZ7qwE8cWbzRFN14Q2KJ5NfmeoycZfpbsxqexhcFTXjHs","QmaN1P6HtM4Aw1CFmiykJUHj7qtM6CtbcTEW2bdbBYxzit","QmXtNXhcnQbEaJVB75dV7wVPYwZd6VTGPyb1Pemk6eR3o9","QmNraJwHhZTKxL18kg1tyRRu9Woff2yFELoRtuLCsNsaJs","QmXWY1PrZBNGnaH3DT6vDn8h92UR83wAY9HmXLuZ2oWzfb","QmRTtvKPdwRpuZiXcDEj51WsEdieLxnjmG7UL7vNF6mB7i","QmdPn7K4fjKP8vCXi8nSYoQu4QpXUR941f1eBNEo6QTjpf","QmeLKekbibeRNdudjJPCSLPjrpmJzqnUAaY5YYhQLiUuGf","QmRzyKwPGyhJQDqcQBiJut7Phgx84sMxsqyX9ufBBDKtYE","QmUAUBf6SVrCg4CUG34hdRx4A5uQLCFw3SQ6M
qidK9w5qs2","QmRDxwMcqUCGsTE73BE8UWm2Qom1ZZDVg18zJbN7ic9PLD","QmaW7m2FyuCxD8cGkSCuLmbJfwaGhFFvtiTx9b7ZcQKmvs","QmR1LC63qJebGyZRoMGBrd22aExykJ81296zCSXurk2hEZ","QmRmRv4nYNv8Px6BcZ1TmjNnSVy7CbqPbTB6gLLXQS1rYR","QmPew2giE2K1Nh2ESui8tTqk3pv22d6m2PMh5CBwiKsyno","QmPzmqmG5MQ9sDPYsBKYGVj8wrU33MSJMgDsXcFFTH1qVz","QmWJC3SAQL6uroGuaoE2TXeVnWyGNAGRuPZyiYwzpgb9Sj","QmWbqJZomWAvL35iSdwuA3Q2A8G294cKvhioqpuBraRNnM","QmUbvnsChwBExGEqEAN9SWjua1ztfEkNQqhn5a83CLSC2m","QmRSDMJ6cXTJDFXrd8e6sqxaWi13gXcsQ4BWH2cPVTxpN8","QmRSER43Ak8bK2F29M
ct9UDeFtQDyuhwUs7XV9jDeiqdoCB","QmcKr4Bm2t2XicNMVboQd7V3cBXLJQ3TctD7MHhE6RJix8","QmPdR5gxL5tyWdHsiq96t5TuQxUBeg5WQWHdbiLR9okJf1","QmQet3psLEQsWG5L1wRpdV3GQUsQdVSUMXZejVRfidLxYP","QmR2HY1RiJyeRRJgjV114GmEgRdkHnCQCtfnk3irpEdkvn","QmbFn6maFAp5N5Cn62wnxuypg3EXvyid8Eyja3g49HprYa","QmTwdZEymBPLPZfXmabUssLStL9Y6uYqJ6Sk8CGXou742X","QmSLerU6b8XSAAWYWVhnurKGG4Zp7wAwYrVW6NnfHAJUc6","Qmcxrb6KesJFtQ4jpSAHP4jZ7Sdxurc3PmaPLEfx5dFJif","QmQuhb79HbbrYfoCfGnJeJ3Ae2D1E1mb1LjrXBRXpTu1EZ","QmepX5rHX9FUmJkWSuC7N265ZseaU1cDGpTfz2jZk8Bd7B"M
,"Qmc7mUoXi7TaKRUjeFL66HEsaZrxTuobt4z1fQFGRDhwtw","QmTZp3usqdU5xtK9cmLryMpR5ZjoSd6stKfdQuDwwj9bjt","QmRboTRjGZCG7jXfop8qa3HpFzjSpj8DGJFErHXqpAV6rW","QmT9nv9GqxQZoUmxRfMfBqLyBXGhEcsVkDGsWPnzbdSYri","QmW4UtVfxbhoYq2FfVK9E4FhmsLk6zQJBQ9qUknkcJyTSA","QmTutDTRJ97H3uF2D3f1h45zF3fVKKV8jtK4XNLHxeybks","QmUv2rVzF8GDr65eLejSg3GisbENNmwgjsCQRPTSfGq5ny","QmeHZSBYDh9GQxziwaWmb67MSnHZn4VYPVUJfv38TKJhko","QmaRxso459caBRrrx3Eujqxhr6A244ZUi8EEMRYM6BZiBk","Qmd2MHJt8Zr2x6aFWLL4uwjwbRZkzo47HjFu6Lj9mWjAjF","QmbMEZJsWVAmQpSaAo4fK6GW2uJvM
ksuBkcsRUjqReCJnd5","QmNXFcSkGJpPhuyJ6RRx5gCkxsUu7UXkAMzvyno85zjQE2","QmPPCXRfdPkkW39XU9uGrnoLUK8PB7vws2wF8RzTNETsqW","QmYpMKsDDQnfQoiNsqiaVFcBbkZYB5khAhaQ15uo4D8GnH","QmaYarKtc8RtLvmkPqDzwriArsog23ZuFMZjjJ25XpzVsF","QmPDUYtFLX7rsaRPdxPWbdkThgBiAZp62mgHaMfY96rbnj","QmTuPH4Sz7KXWkUp8ouR4fQwqvJnJvFym6zXhcUs7FTjbA","QmUn9wUhpnwz3aVtNkqSBSxroknRdiQNbH7MSfRDnUVqYh","Qmat8FnEDMjT1gTeLRX4YWCuTWAUomGAm9hJa2q9hpoBuc","QmcQ2gNrPM6EbvY5dChFmaCguB4WR9M8u9yimNiVqyC6LP","QmVAx7GiwhAjNaAVNq9w2U3mJaYBGF1umTAM2FFYeRQdVR","QmcvVEGxkM
crxKr7rXwBKGPTxdt6HSvQoszhjWv18KgwRVh","QmfRQhfQ6iKoKjZaxQccMV336K3oRnMbqkfWoJc9PqLDAZ","QmNViqgt9rdtTxC6pj4U39BRPfAyCEqPhbnzDFZdgKKKcC","QmRMZ4j5HCP4UAdvxi3D4izP8wY3d1h3GbmSjV9aNfQwMR","QmST6k7mHnRweheYtiDsLqpy6i6aXGtog8G3SS4Qn8DvTA","QmSTg7xqf4JG1TQCbC4zC5WGJoaEr3399JdhN2sBNyGEqU","QmX8QiLVup4NeevaSHUYRDxgYYPENAcMnU6FFw5fK4Mn4b","QmNQQ8aBpUKQhaQGVgcTvf4kD81zSRteDnAF1jQAcCdeh2","QmUdLxHuqQfvmfdUBzvgg3zCwYoUe1SP4iSjMcZcN1ntRs","QmXL43AwwVoHoMMVD8RXCfms4LQgu57ND5DHe4f3KsGCR4","QmU3JGHxdWs7A5Y3zQrSAnpypBtAYwqayiLiiSiM
RPKXCaA","QmQ9FqK1gZhFGLLV3pTX2yVyixesBkXodMf61ytyAQSzvW","QmNWyvnTqd1J7YKLFBT1Unq9wefYWxEfPYA76GYkXMrxGg","QmXbDxezH5oCWyQLHmVJgpyB5j5A49LCFPeFhYGkiwbyUq","Qmcxzr6jqDxVqifkKeCcyX9yxNbm3nPRScKcU8YExWkFY7","QmUCmLy9ZDHA5m2Yeab5mhQ8e8HJoj66HxB55VQKvBbiMx","QmeWqRGCVMQXqfVHJhTU2LrBfY2EJ75Ubxh53YsrPJxapf","QmXS7gj8mLUFZuKRsdikpLNjvgk2jkbiUDbFNur94axvwC","QmNqiujj5XHqBPLtpMrhuZ7SvtV6D6T8uBoeXSE5bXb2aE","QmbFUHhKfHN4aY8BdqnCCnbDjG1eF9Xhimh33DqvSoYJ8G","QmdzbqBgcBpT7LBG3ep4mFqojaYvPTNoex6KT6cTBHwiwJ","QmUEPEzv1j8XRHfNyUjCM
MdAEohSzUtt1ALQnWb4VvZFfFP","QmZLWXv9EuvVzE7TGismPVifqGyhPUPa7i9SwjPCQRnD2b","QmcAhZZHe5u9Ux16HWdRNMBzqC88oaRhZiu2i2iYo6Hr6g","QmeLzDc2owC3u316JMYUsKwa7izwvBJie4J3CaKrTtK5q4","QmQzqSTSBsX9zCbHfdph9Vm8EANt3jsZnXrQv2EYaVHQee","QmcoRxRJFWvs3NcghnzJ7tLvvSDVXtUXyKJayVr8GSns17","QmNsETCCBUfeWwszV4Ee9oAwX75X96NwaY8EFAkVMLeKwn","QmPJEzRqmGPpz3bor1ei8CNVPd5fXB5yN8WM1YCyELhtsj","QmX12BW6zGe9S7V3HEsiZ3J2QQxkyUdJh9ZLGhau5SrfsH","QmbsGyD5xGkqXDX8PBqwWrLny4QS4wo7debd6brQ7CDf1M","QmaYFQxjPAr5BNDEbkHhQm4chRFbxE2ACB5BuhwPLg1mNX","QM
mRHd7zt8zqouWfc2eWVHTeg9LQQ99DfLMAfvfv5G88Kjw","QmZmNf52G3e6FoVwLpeUMfdzxM3YFuw1aHDHr4SmJuXXFu","QmWSMFSnTa9BFQedTmuDnrZKjsWMgHCd4vkiRC2DUShQ9v","QmYyUJYyN4D1W1M2Sj3F8c8Ag4kVrgeY1uTxboUQKaumUp","QmSri1BwojuTmKChdeWxbwFNRCkFtD8dKQEcSu6hnDfVrj","QmXDMogxtvM686mqegtGH7HgHCJEeADhv4WbuJe8qCcJCz","Qmamm7znuo5zpLEi1B47e3j5vETuk2GwZxk4bWUCNrrKUf","QmWAx3E8UnbAqvwrxHe4B7ecfE28H3K1h7TQu8ej4MisnL","QmVVRZ4SBkfXcTHEy8n46r5WQUoAq8aU5rSBjo7MUcgQB6","QmahDh6UJmPMcjrXZz9vZrfxFXUsYW63kHSaCo1YjqqBi1","QmdraCferSR7B5rBMNr4P83V67eUPzpM
q9XcTxynCx25Bom","QmZ9rKMKidHHoSxLPSu3MZHZSpmsmG9w2KMwQ5SXnZnP5m","QmPMfj16gnmTzqFhDuNdnWG1qvUFq7HpdeDQ8twE5mN3QA","QmcvsvKxJm77PWAeobJrszywmQa7QgYZBQKq7aXeRicyus","QmWYrwuPyXws6AGbvFxUSk5H82mx5VXjEMi3qANjXMAaN2","QmRmGLes15p9wX7PT895wpxSjx9H1nkTEbFah6YuSdVUMk","QmWhgAsgRsFtZKjotm7YiD4C4w4VjyujKSY62FTkwSXkk4","QmdjPRx6H9dXaH8veuT3Xq267ED2TC4k4EEJXG8nDuo9U2","QmSqCWSeqnNaEYJWYwfcZZ8SF8pJHFnfBbCDvGJB21AoY6","Qmd1mVZzTPTxVAsiSU471E3ryDufw3gffQQ3FT4g9uFwZs","QmNVcfSjGpRTosnwRKPZzQMJMQrWhiCxoxuxVX35iq3zDv","QmWABKTyQo3cM
iu7DDH3ggchRVCbTuqBAuuDuDDYZbdRNXz","QmbG5uW3RxiN9GKP5oFNi7s7zJzZoboWwic35ABZDoMYyt","QmbQKQiVAaEDnthnk3cQ7VJvKVnF45Mn4yHq8Nz7Ee7XEm","QmcCehQQGD5k5ZyKF9zPjswZzmfEXtMcG1evqaM8DeBrpL","QmR43AGZayC9EVtLB6W46swhJxPB5hFYXg4Jjdb4oYhmG1","QmXqiq3f6XX57DSbwPVh3jotumRVNcbdnTGde5NqSr4zmY","Qme1kE93ojqZPKwUa32fMsx6Rbimfk36B9vBbFLNXWrmun","QmVFPBMVatxuoSzic3MNPEU9iH3V4oiRreUyjMMy2GQNc7","QmQuJM2DcYjed7fpQcTKqhMqf75rZQUNs65sxzPVhTeSeh","QmVXas7MegVMkGwLT7xcxbBeCUULMFYR9qwLJrQDsowxin","QmP8T6zjmkSqcrMkuCEXMq7NQ43L3jAx6U542MLJN8M
kugx","QmZWw7MSpcvmYkt8zUDRJD56aNGQqTaWPcvRjcpNF7eN7T","QmQhjae7WVi1Gqzc1JBKqPC1ULoCT6NdBr6B58XHK8B6rh","QmcNR1w7AkLLEUGNxEdVmbjhXKPBY1DWcfcRzYWRHLjZ1p","QmcjVuXb4nwu9GN9KTDNN88CPhzapNezTyqu2d9TMYt7W3","QmSTvZyiCDTMR6MebRjMhesjmiapLRyb8LpkJucjxUPVWu","QmaW4ksX43W9Zuwpkccery6epUbuYz572xBf51Q1PqJdjc","QmaaXrTyhjG1WNPA4urZwtbrYjJTRPYSM8Bb24M65KdvDb","QmbRpNSfTZygC7qjNz2HzSLv9SRhGz49vHTnT1MK3ZkT9D","QmdWgDjR8ihxnjAihbranJXS7yt8rBcmCANXY2CWKftsHR","QmfYKTBS2x5SzaPBTwKC4EhGZnbMjtbbRZ1VQLsqBxBZN6","Qmbp54UbGzE5RcrofGj8QXMM
k2ihjST1ehibCvB4Ef95qgT","QmSx8QvTn6KqWa41tUp7ukVu36A5XxWbN15NLm1Gb3PV46","QmcwVXqNgK94mvNKWryPYbwWXMv2sp3dxMavyP26CMa8ve","QmcmfGNESBKs1zJoBJAMDNXCLLAPHr4SLoWQFordBpyMZ4","QmaR44guyHGjfVYUn33TGuW4r6Mhc3trTVvnTZBtyZnoQc","QmTEANuVQinTkUc5HrmeLmYjoiEJc1vpQnTaQDUtqgNK9V","QmSVwogeFwQf23XVr1fFG3wJNAyUjS7EGUmy2GdDo38hhH","QmXV1Wkh5ZA1tSsZwTxsc2cBZggLDpUhgcZKeeGaqUTpvW","Qmexdn9LkjAEXj7JD9m6zAm1kwAM5xrhhzMdJEEBctxbRg","Qmbdt7u4RAUzUtUkC1qVE6VQZkqgrfuesEMT6UDXWXvYNa","QmSwt6U5zexzoMwGRV5JUhnNdufcneGzqbGffXhuXMQ2yT","QmdNM
QsKT5aDqCmtYKyvUZQmVKneWYB6v3W1u2X77zEyrBv","QmabEK1zVsN6RHneQcxnNkMCPuhft9vdHmj1eKyY11afnN","QmVnojH915KSiowchi9dMDwsRzRFJjuJEe8t9gbobmr6gT","QmUTtjT8ZvKMPNgYye5FYCkt8ZbW1GUott7gPK4QmLowi4","QmPpJEWMEfeYkoHDTBd8RUgG8ZqnwkSm9iRCz21XUwmUDF","Qmd9ycaCYfN6sJyGSdUBcq62THj6YeTstJc3xjEHfr8DUk","QmeFPsGCMYF42tjKGbTCAAH5hbP3B4jsaijGmr4RqtGrZX","QmdAphCxw849oJ3DkjPQs5NtgPoFbtCovaPb8XoWCpfQA8","QmbV37a1NzKYtgEQB1TYA88gxYCU6AX16B2Pbfj27S5ZLh","QmRrJp5ASiRKzYhnT5HXkikbusbN5eWfmJj9u1Vb7VBnUb","QmTWB9A6sXSuuNn8JKFmDMNodYYrWjEsZsM
SbtnnrDdiAyu","QmPZS9tsUQCqBCyErCe9iBDBUU9umrFsFkWa8dDX1QFCN9","QmTzWuUmYTELvPSpjEYpk4tNrEzsk5oa3M95itaXw68mT7","QmNW9sAQE3DnaJBvdYhhU5dhEqB2mNYwbYHNQPtDfYbudy","QmRPbffitjMNWE6yQchuZtNYS7Vb1DGQWxMap34rW8SCoW","QmQdfqju5kaKz7T6b9QxNS2u86auyddXVVcWcuSngHr2Yn","QmWYM8bkWfAmsyyQp6k3tDtDCmC3HAt6eQfutZu1ZDUBbw","QmWsvxJRvV2CELnjdXTDv5pCz4GdiRtjSVPwCEQn1mJErA","QmZPqmPrW7syC5pXbdyqWc2f58fCxhSZ2eRP2XeWL2bt6F","QmR6u7Fy6PEN5WKTSfBidsX4kMF7QYB6jRT63ZASiunhCt","QmeCQ2BLp1qfyGGqvP5MZJuuKYtvwLeb5Ccy4tbGYZ4WWu","QmU8cutViXF1ckvM
qQHqnQKFRqsNTeU4ZsYuvU1SdMYdukQ","QmTY4fxP6UmyV1W8yYUBcoaAwWQhpjLgfDerFXK8WcQDx9","QmS63cN3BQMwJv47ZNH5tyVzQ7K9E6wDXZAdxHSHazaNdZ","QmRZH5JAhpwdh8DD6CqgdYP6aJtHPuB6H7k4UhZw2VvW1o","QmT3VBEJa22uSGkxkyaLcrxU2N14wzzUFfTP5oNDuGVG2n","QmRsD3w7Jv5SVZHXSxvTKd3ZqYyog3NWdtW9mWfnZGd9V2","QmYT2LbbV3kZoNhrY6hHm8oHih1KRa8LPnJhh3dZeojMmb","QmaE6aqXgsYYosD6P6qwomDa2zCf1mHKeUZm1ScccAavmY","Qmbdf8msBBUoWY45LoYgBaE72Dwvw5e84ZKaH8WzRAzov5","QmVnVjtvjCqEX5W5V1pSTM9Jfx2nzzEmWfk653fT9rMM1W","QmcvZHQuWuMdJqkXG1fitK96pHTYYKi81DdSh7wL5wk95M
L","QmPYHzRXFPPa3njH6GMZfHVSDAgnmAvq5hoAe6c8aRosJL","QmZ2mtGPK2pEZ3YxqJoYq4JQvZxcH7JKrm8QaAiRFDvxfS","QmSXcCSBBbGQN1SNZVbnwuirJ12LfQYmG4fpnVCNJ8niny","QmP6FAvS34NZmRAiN7FhQkrQxwGiyPFa5MCQ4LrJmRLiyx","QmaQ7P3av1dEoMezcp9gmu3gCFu4rETYKNoGMWeaqcDdVH","QmNUjvFK3E7SYJ5N6KQ8ZAHWzQqi78kxursXkJM8J7qCX4","QmXFRVaxKBrmh3pJ6uTR6FU7jNu71b98fGbjTVymNszsyb","Qmbs5XwifJTMmvRRGhi6mCmVUyCAXXCzYPdiZsYu8J4NJv","QmQsCZxgPC2chniCw1W79sdkwbLRWDy6CYKPz1vMzYzokx","QmSGZ6LAuceuhWzyi8WtFwauXKnQhDbGMqk6uVWsHhY1Uc","QmQUyq442xF7ENAXHzDESQ4F5tM
QYX7YNDbF5kFG55HVbZH","QmNxEm6iRqUgybmgeqitFSYZmma8Ah8ZD7zXKFhh5iRBis","QmNZFojjdrmce15R1SGVXBrczUNC6b8WuDF1BvWVY8vsdm","QmfLGHXs56NKXeRp29B31yYQuXWCKeQiaJLg1uC2XNXFqJ","QmXAMvPu7cNK672UiEUngDUt7JAsBqgszZe9FFd8cA2ba3","QmSqb1Fe7HVXBZTSRrUpmZWkRSbEGBXi7Rhb8SLx15x2PH","QmYmZ37WDNpTUXmCgL2RNahSukQfm2vubFDeFSTHdckdmf","QmbgzuznALDrU2kYpGFub7W5ggMRX2w2bTiv2rsaXAdtyy","QmPNb3231vqTnUTXrqrZhntZkdvakdKYpCp2Hnb3atSgz2","Qmf3VCZVaEkpVP1BGaWdWm1F3Q6ZRZ1hsBvr5hdVbiNoeQ","QmRZShZhrr1c3cebZSbNyutNFSZnzksjJcx2LQTNFaW3TR","QmTE1SWM
mAgvBRDh9BTU7FRzmWjapKpKFiN72Ubqt8KqtbA","QmPVPgUNdoKuwVLrSd5c8k6TL6JtCr5ksaRt3BxinJqbb1","QmQUdoMxrPBxxUiuMFp36dj8HZwtyUm6g1mJZpX5am3R9n","QmSrJ5PFpxNG2yBEzxmVbpLP5sJvgG9WJ7HaaftwAhph6h","QmNthFeoRrXLM4PYLHV8ubnqjncKDnApPF6RaQCgq3mDBX","QmZejzzmg8xWKUDnNwKJGvAgmD8gM4aTE6JeMtAEXk5oMu","QmNorZ46apu7nEYeyqUtE67ZEQbea7Y91wDBVd78nrEYca","QmRRy529Ny4yJw9L4Bt59pLuYjcB2L6dF1hdB6JWaPk7BH","QmXqsPrf7z12BZbz2Ybfh9ibESqfUggxX5NFW7JhAtuhEF","QmcpMNwPFinBhB225cGjpFoQTuue5JGY8fvbNVGM1Li7VB","QmctLuu9YMTJDjAgTtze3XawwD4r7xSRw52EcM
CvgDogyxG","QmdJmVFYL2wZMDHoi83fUsLe9bTCTKt9TzjXNSJQB4YQtY","QmZBboRa6ePmaaEgf4WSGwvWzPseUd3tYwxqa6KoMQYAnf","QmXrqMQjkPZRvdzuzjJe7z3SD1wNjde7EwA6iSGExAkJR1","QmSm4TKz6ShheSnDs2QdusK59eJFQmRHgigUbQNmxzzjFs","Qmcds1bMsfER9EXyK9Mo2AFqExWbFKihhRkVT665THQa4q","Qmbb987r3u41jtsDmwk6wCAfBd4EB3YfL49HXXM6KuJAWQ","QmSk1ux2jq9zo2rU5D2y1DJCZpzdtbUy8PWirt7n4Fvk3V","QmQCk7dHSpFv6YZMEECWqzCqwQa7JyCdg9czXggJtA2vfY","QmR56xXgNGjt8Tjvi69ZWRXdgyQykcQ7DN85izBp5CXNHy","QmXzehKb988LdfGBdg2vZHgPD6A3xVe5tJTeZziLtrq3EV","QmbfJZyNTJeyWhQbmBM
LvWPabvDXksaerocprnA6WGXdBYP","QmbfunRwT6GvcqkpiR3jHqFn3zkiWtxPSeApT2PF7XWs6o","QmQ4TJLJXFEAJ43TaSrzzQ3eeKN5G8ApYda5zHPUhtXcF6","QmUCwp2vs3etcyQY9gZq4kxQkvJWJ9cmDN2vSxCckHRvXx","QmcQpKkvPcvienGHbqPR3pyfn6dzk2owp9zoxwiora8pjK","QmR9K6p4N8vz4mR3XhgWhSFY8FwpMSqWM2vX3x5pTzoh1m","QmPLB5tQGwymLoxwY5rZVzXZfYz3vNSmoRAKSraNG3PNfQ","QmZ24vypF83UJ12dSnkop4oW5GR5b2NU3JA3Hbopfj78YS","QmfCD4A3NJciMdShkrSyRrsgKPWDRQfHSUbWWDWcJ1EPQR","QmYGkyP7gnqifxerpg85g7YB1juuwjuZyzdo8aJvRYzjzB","QmezEwwWyBXakRREkdFFWn7euAG9idA9Rq2oPsBg8tVHZP",M
"QmSrML3GSaCzZBR4BfVyZkS8zEqvFusYiCBYkP81Bhv5du","QmPuxe9MMF6H8zDxrcKzGr9C6WHAZcDTRkykd8LWQpgr7f","QmUiChQBJvKXPXqa2zcLpJaETrJgFUbpimgidbp3MrWrKA","QmXuLVpa15uC3XwyTFG4SkzESgAtR8Z4knCSGsu9AE97x3","QmWsbNpbMh7zUWvzHvnw1Hts9VvpprqpuUs8n9Sif3ZLi1","QmQxfajqXW6xbBTskVrtyFU6pqEqzzM1pYjYsQAdr83zj1","QmbkxRDxSCMwATButRDvUpyyb7y2h2KZsXjdxnzXTEsuwU","QmemN98NZJoGEtjodXapUzcZfmrwuuwcfDEqYYsEtCWrdp","QmTftXrHWejkPjaEDS55aWq6SGQx4Ea7DFWzCR2KpTP31o","QmcUVzSAnfLNHMPEBPZeMuRTvnSpykSSesDYr4y7HhXPPB","QmfUMKkbPwuq6b1DWG5osZjXSLVwUM
NEZdvHxEqL4SrxiZc","QmeJgukErXPMaeV85hdHvZ5oNMtXk3GtuJ2Eu3u46SipxY","QmXxmqV2G5Taeixz9nYEa4LGWt7dpLBFmNdCWbVdGc9Ajm","QmPtSvZahg1JuRK5j1bA9vuazYgwZDHbuKDaWdeyyyzD1N","QmT26hpaDQCT2wW7JmtwSpiox5u5RfD9GrQyCdRYNJD5su","QmcJxviWYuCajWfoZSoQTUo8vcP1eoveUwsZ2GxGeVxEGK","QmdnXU6jxXLZehZPF6a2HtceAspPeG3qmtpgTvft5bgHMi","QmPcrZy3x3WYEGpBDq1kVeCQ6yU15LAnFGiJsgXDcitRF2","QmZnNeSywihMjKcV6esHpd6TM7PXatJdCnubw8EMRNdnmo","QmVW4quRynztqMgDutyhydx4TnLSxUXvuB1wHwiDVKX6fh","QmU2gVN8ure8HykfRJWRaJ3QrRjozWNiMYZ3Zk9BPHypfH","QmVJ8WriTiM
yFr5j3V1sMXk4ge7NPAjJhi7dcL1Bb9mLyfw","Qmd23gQUYb4dx5jXqXT45wQxkCZc4cXjEZkrn7VzxsXWgM","QmbR5zR78qMZmke7C3yHh1rqDbnYa8V5XoCvq796AbMjcv","QmNzhnqiFKs6NvafrZgbvrDP8N6v9uq1BRzLPLDGpiZE3y","Qma9aL6ewjhUGqQPU34K8DcdVdVBU8UuBucpVHGhW8Bqeq","QmWWyniiYbyiRsB7Ak3xvUYVnDkWCVaJs9s2yHH4k8HKL2","Qmeq1oCdyqUBSedyDfMH6Zc59PDTA45DomnETV9yuJNysL","QmXzMvSWa9ZoWb8E71VWhuYzvrXhVUem4kAFecMrp2mk5q","QmW6eR72MVLsmsFT4Q4gr6tpzk9ToHLAwx7gqPaqACsYhg","QmPrfv1usDeYgnU1gJ2KdPVJYbYfFd2YpttZKm4Ut8gsoj","QmQgp1nvNRGNjsvqWYDzTohhF4PqkQ4pTWAYt1XDM
TcL6j2","QmfUqu1brTx2rFNgeXMsNUzfHrA2u2wb2nbQDTfcfHsuU3","QmcqcFhmqTvBveF8GFgKJH4tRaZemmbAJZt3Phjahrrdba","QmUzrgkWLQJa5fVAVnR5wFgDGkapYaeQ7nG3JA4ee2LB7Y","QmaK25ViSeb1xJu1Dgcp6RTUoeFujB8WaD7P8RtbL6vPAM","QmPvKPtMQA9yikbAUBXqAVSztxasUmKJcoGKyh8DPJ2k69","Qmf7vc75pNXjfkCWVcfozeq61e6aEzLjtMSDXoqmqAJQUU","QmNoHE9bT9U3cQs6n9EpywWZATHjTPBTVT588LcmBG1hMh","QmPWHHXM9Ao5N2jnL64hwFuiTFLq4MChdWv8VPHXVm3oe4","QmTsdHnzHCJHi5A3QbKHmfadN1xNqab6No3kU4Vjjmkr28","QmeACm2oSnZbDJLb6ADL8vkFrvpj8Vgc2zuzpxDtKDzqpe","QmTPGiXcNhXTzA8NKRfZiM
3EaMgjaxCXKY8uxA1e9HRXcQw","QmWbdQB8xiqwdQfHBSEoqMhWK3xhF4D9TfGFYaeLNMYE8r","QmU6xn8v6iKxTpEC4gr7EemQBpWKhoKu5NVPWMNybtDars","QmQ4qCTx3qF8ZjnwYGFVyF44QNnwxhpjXn8dQPE9zsuoGq","QmZRGKhxZwCbjZT6wqZ5Dup2zNk86DtHq5vrFSvZyDGoFj","Qme3AJCjUbW2JvGk7bhzVmQLLJVH4B1DLkbPNAaxaRLQrA","QmbRGvsAGj5Yogo2xkuBC8MiRNuPvQGx53gfWcYrWiunJX","QmYgaH4NNGCuNho3iVws5wyosVp44JKqMStAxYdnKFsW55","QmRioq8mro68qtkxHGrPvxXnbMf3YT1t9X5Sa8X3YReB6Y","QmcPWQ6uHqZg9oroSGb11rJKu4KpCwzDfHrNPCkJAhhLco","QmceuyTWUEUcqBXbjKrVR1a4PUnHMLq118LeaTYr3nFeCo","QmM
aMn5b4hFMKZLDVkedFDHFMtmXnCxDMhdfjaYShp12ySQ","QmXbBaufJi9Dpb7p56mc1mQuLS7Dr4V7Yw4nVxUXVs6pNC","QmdAmM7V4c9wiVgjusUazMRz1hR5NDn1Jafxii4G53yBvq","QmdJBSfph7QFZXnm1CXT31jVPUNuQGLK4Unj6PL1Tyq6CP","QmWqZZoHFHumaof9jw4K6xQsz2TYrW1NUWLwvArixtUcAU","QmXtWd8x2WkpyjuQ4qp2rZurvgvakkdDiSMUZ9q48BQpod","QmcdR2TNWfWXT24Xqe39NY4phuWEW36qqV3h6VeQtKdPbi","QmU9MUFPzVE5cvRYKtjn9Ns6TdeyqUtWnxr35HsmZwPCun","QmZgQgoyh4VabEjCWkS7Dzj7Fj2GQKmkP8wKvnTG9ZhLJy","QmfPb9Azb1MMM9sYRFGJA1VpP1vJ1DajRCGxVetfhUzwtH","Qmdu4bGio2HEyPi4ffdX8XuuNmRjSadmM
EMGHVuQR2J5ADs","QmSfZspDDSFLFeBF8MN1NBMCiWc9qT15W5ZVMLqfH2gtx9","Qmar2U4Q1UNuMBo7BmzeibEzn8iZGjvA7vhxrxmCPDJ3cz","QmVptX2m615JKVHH3M62QqsCWdw4xJL9nPd9V6o2kiyh7X","QmfG3hjtr4YXFWLwKVZjePxvjovJ8Tw7pJFRGjifm352gZ","QmWucSoSBrvtCagVxHXwBDZYSaF9NBF6toG4ZWJ5xwpFni","Qmdpr1M2kPCQtf699fsiuQakjFYR1omY4XNza57GMrU6Ya","QmWvmm2VLGueV73hrL7Pj9Ry6DoWeUFfPDYtrbbBjtWAVV","QmUtHjK2f5gPqacDixZ4u9jnz4rWRt8RpQHnpyW7iQJMhf","Qma2DVpf5ZGbM1cBveojcrwJ6RPLebFJ53298N7urUnxvn","QmPAi4pAUXNTrpV86tRRNpdFXqZthU6cUcVEVdELVgJ9pc","QmRL4jWjPWNemM
refPd6nvysBdytnGftztJ5KsU8tGTWe8g","QmeAiPqPS71vf1BFUN67TbsfHs5Hi4aAifFdY4M1swFBSY","QmQx8GUMAxF82TF9ArXZxQGnB9PujnLZM1qeHGM1EMMz7D","QmR4T6VW5N3HcHnPgtQJhSNEv45YmLRZ6hd2PDfS6KcH1h","QmPxjxmPHoNNKbZDZr4Yji4XzhqkhpLhxXMLC6mi8h84LJ","QmUCytAq43xABDq1dqiayfKMVhBEeqV3s7jAZytWWA2frP","QmeMCz8QZcBG6MqUpuYS79oeNkuuaKLJeH4K4CVEGdKtgH","QmZrqGVjZVZeecRVVAS5fb9bjjteYLwEViywgtcBi65exZ","Qmas3QYq8s7btjnHEeysNvhTdDHqEcQGCXt76kUAQAj7Lp","QmSP4SznKeuunE4nWTB5DfpgXTJnaXLqVZTpgJ4xGCuwgQ","Qmee3AWBwEeaSZaEvdCPyNUfaAr6wJEUqaaU5XycnuxM
318","QmZMtjwM2bpzx6FYBfJtWttLh8RbQZvay4i1d1GP7CqfwG","QmXtL4jKuiwniUzRN9pQu47dH5X7DWt3bgv6eLcqLvicL1","QmfLtnWEk4EfBHLdjoiozdspKnEH3zUarTM5fLKbcTnFiC","QmaaFnEWFt9uoELYgAJf7bvJqqGVm1bMAQ8cmCd1DVjsUN","QmfZ1eCFBcdHdPWyjKXUQBBog9geJB6R9zaZ5dgZnJb33n","QmapDQUUJh4k3QqTtBVa4Pf3fyhVxMGWixv4XcCpAZDGQ5","QmVUPGVqnwWFNcA9BoHev4JY1ubuP7TBRn8qJ9mkZQj6Qv","QmQEqpqFXmSQsYpDPHqEYppXGP8PUFcnuAQBM7oZp87nBD","QmPGR3RPh2VxKiA63mFHzx8N5hMUcsbzYt6araj7dM5XCH","QmeMtezo7JDqutCrKGjRvBkhDmPtftckV4bWfNWE1VHmaq","QmeWsVgTRrMnaeSNpw2QgKtWM
15zgh5vifwfXyxhx3q9MGT","Qmb6cVKdVAUdLCfHqiKyURFcrK8tmH1TCVsV7x3h6RcDoq","QmZ8dsRqDVxfFWNktzVAGAqGv7JutcrFyvYyiAFLQJsyVp","QmZHAf7QaLJi2heYUBwjK2giEfDPwiDpX87LkNBQAMUdQ6","QmR23q5gXZN1djTW26hws7Yv7uA7igzXrMFN3Te8t6HPfC","QmRU9MDGCph8iYJELeULh6CcqnJPYxcBQri59Abb1yrgyT","QmYK3rbk94CuV7qELvsrqS1T9Byg67PagNWRk9tXFu5Vw9","QmXxzDVQnQHzxXLrE5o2t73NnQFwa4WiGn9K3f2sv3qDfW","QmdDL3ZhAdyQk1RUZgiY3SBofWt9fEhnSh6FAXNt5b9CPx","Qmdth56vYb3SVdqiPCNgvGEkze6xGM7foeCn5a9WKBfYXS","QmXpCpsbzn9XLeKiJaHWdsZnD5rBPg4Ca4fdLH1vdovwDA","QmeVGM
68f58Ddwh71BoTHf514YQ3QLRnKqkr7FUwyTDHcPR","QmUt2rsGayYqQvqkEKsMP5LHjd39NgK5Gww2XvMmMjFS76","QmUSXRTz6NEPA4d2NZQ6FBx8oHEev3Ub5LvDSaKFf5MhB2","QmTc7PHQq7TLVyqXqraFU6fP5NwqxbdHn9KYKcpquQSpeJ","QmcyeVt3b79SgZiYzZ1YryrmGkcjm1ojT7CNTJ7F8CAh7k","QmVvRzqjwtwpjzRrjWNnqdPVpUw6fm1vGR1diY8JtHUrFj","Qmc2adngR3ujfBvJkKHu8WQL5GkRybSs5yXbKBXaKRHBgN","QmUyrz1DNAyUgLQosbstKPVYLsN2rU3w95EM8W5cyHjdir","QmSueVPH3NRmHWL1Fsz8qcjdVf7pw6dXhRQrCBJQQEmx3w","Qmc5VuWoVJTbEgfHXDwFTGfEXpmB82Tu8Z9184sNzfXMTu","QmS7BVoe4z5qi4ZSm6grFmQ1kDQBLtThJCWM
YEvtxBxE7c6","QmVfSBHnqEz72XwHGmTQEx9Qr15z29k3hPkX8VG1a5JSZF","QmYtsev1c2Xann92zxLJvDFYzdk8cUSFyeM2YTqvyK16ei","QmQ7ZkgqcA8EbyoFsnrrPTL88KoX53uYLywZPMCVsPnq9W","Qmb44tkAqEibrjRtHMQNQrtS3bdvBHCqr4BBjNFF5Cj3xz","QmXSnpseEWqDUmo3aS4xEhcqpz95LGQwT1PMhRPsrKuEwd","QmQvdnfLraWU65nY5Q3ESU8Hv5qUXkqcLcmwJrey4CCowv","QmVYJbKiqNqErwTxfggu3P9QRSHxDx3xV63d1r3zhzhepd","QmRp8jiAfE81PvJKgBAGLgmPVYrqaY4557AA1SAVV3aGif","QmTsdjHnAUT854Bb4Ygytv5TXUuNL29rRzmotqgk2AXkgT","QmWCGaifmn3ZMNSUh9paTxb21k9mVbeqci9w2ZvJKvgF5F","QmeUobxcysWwprwCM
D5bx4X6px9asWKwzMWvysMduSUkcGp","Qmbosv2teY7wuJ3epwgikUZpVgsy82qu6eZXKhJwVPmEtt","Qmeo8DQSjFWP4vumjUQBepV5ZceUewVrQyA6NWWGnKPbLY","QmeJK68yKG2bs577doTsC1gf7WUeGdeNXw2VFxqqBwNMXa","QmewwaCvcDXq3suLcB1SQZ82DyiQNf7AexTDK76qtqkrY3","Qmbzb2y3wiZCnJE4nfVCzoptSp8qAvDfHP8S3gbVyAurts","QmPKQmP7Mp9xoZuuEYBYYZcfUaZDQuuy1yp3sgkuhtQHKx","QmQAHskAsBXwuckygyFvRBcFjBzCymikDUHMFj9nJJxf8t","QmPktWjbHfaFTz922tG1YbbJTZFQ9XgrxpEc6jBfaynXLr","Qme5FBWSNUCwsW8o1oM1abTMedWfKNs664AGRuorw98FoL","QmTPhogStjXkne3VQrS36qwG2oARsFGxmeFQdfA2UdmLp2M
","Qmb192e3kfeoDV2XXmWD8aBZbkxsm5GzxdVFAebGDoPhvg","QmNpGMxaMGm8FHZcPfgYGLLgGwg1CHceAnomsvCDArHRVG","QmNhMMdVnjfH6TFrJa7XSabj4ouEAKmPKQHxXaZgjwC3z3","QmUEuJZHUeyMMUMgPkmZjutunDz2YM6msvuqiot7o5t55i","QmUKqngPZVQXrHXuf7KXjcb53UxrwmAi5LpPj9CcCa7BmK","Qmamdo1at6Mna9AAKKJiC1i89q2KvP3UY3kfoKkTYXeF7s","QmcEw6Uh4x27UDsrvEHv3TgwmbMCM7KUA4nTVYWXo8sBnG","QmRddtY5whW6tAp7X5gxR8WKpSf6YxzqfWc4hxGDtjtoDE","QmZy3DaJ4K3bTwTWYJsdgHb43CkjxQFKsoRcWGQy8W7Ko7","QmSQJgmbWjh164AQJpdhiPbRZ9azqn4LsMzB4thCf1gk4Q","QmPYhe4VP3w91RyxmFYtVWbgB19M
vFcarb13gXNjNvaPVuy","QmT5MsZ9JWjn4V2SZYVuYeZyTCUd7uXyuREcRnLYfmDP8y","QmTPMSFWto9fmHrxFkxLvE4CoQ6kvUdpbAJPdvhzin76Z7","QmTj3PP7aLog9KAkyN5JmRjkvgmEZZMzrRyVCqXTzfTx1Y","Qmbxut7n12pt4HbDyYHKqMsUbS2RU4QqbyDarRKtzBq1GF","QmQ2yMcWRzJR6qZuJWB3ttgNe5Dxfe6EpVoyz7KFFE967u","QmRjNagGwnA5ULFjGt3P4sPAydJBYCuKjRWU6or4PtgXyZ","QmYuWGgfE8U42XNZHwMrhbPHhEQcZRtssLiXRgtFMCKcHV","QmRAeFEAaw2XHdWCkear5Lwrzv51BW4fZeXsydZQT1dnbz","QmRWqGvaJUDa5jCNo8jdZArwNETeMUfFktBsDiW2uNDyQr","QmQimc1PYbawD32kxyAkfUYoduQ7GaWv4jNRX3ovtUSj3s","Qmdf1pojM
CRaNLPGV9VF9Ymjh3Q1QZDTYca4kj5Kn4dosXg","QmdYBRoTNgDBc2ygc4FLBvxenL6Snasvi1NicsJ76zMEBs","QmTUdu92uuYWo9fD36oXc2kkFJLBYZT1bNEZ7i1sxVSug4","QmUKodQzipA2Ey8KQHgFbTx7RZH9uDFuAVvictexaTJ4gA","Qmb3BJd1CTfT5rDweqLgbcv7NtuSWFwypVBQpoRfmpeuFt","QmWkqPWGs8MwnEZF8YRvguwymr1EhebyUKa7dMeJvUeoFj","QmUJ6EJ4ANKd3wKT6Chqd7ds3z87K2aqstES7dLpebw2zx","QmPiCKydk5eCa6HoNZx2nxho2a7RfLY4FE2r9ZyP3uinjZ","QmNusW7qTeFdZ5z98Syno7BDk5Fken4aKvktxvresE4ZpR","QmRwfeVwm9H4xz997udN2GYiMHcGftH9hpWfCfFGrmLhvQ","QmbdrikTiCrqzjqhYY8SwxhsDDW4xEYNUGBrhMM
Bs9p4hCk","QmSJHdFmkjWXzmE9kSZjNy6dXZ9tV5mpFU4b9wZSLUYc1C","QmXNGr4Zdw8UWDSzhEyaF2u7odbtCVTfEXV5Jcjo7n74Qv","QmZq8EW61f4LkEqc57zVMB4gQcMnuEGZRtL8Nr6KRmN4q1","QmeBTN1vodsVm7qaa7Ffz7HJJj13rze4dTuqPeFtFtawsf","QmdP9ZQdnxvM8gBoUytCHukZm7XTWSLoBnGiDX6qeBxSyH","QmQu4rMMiZDLfRP3EadBSiR6mb6iqV73dhgAS4F9oTWvRu","QmbzWkg2RPrEigSL8QJWZKbpHEgeDwFiFNocyKx7fsTXZw","QmWdsPou4QMvpL72cqRDCTiyJYvTP7siSjdtE3B6J25UAb","QmcPaeqcZuQ4LbjJiKJw52WRmoYwKbfzQVBqv6f51hFGTX","QmecLc4YPZctSp1VxaAJB7zy1xSqwYfg8zMT8wEn48Z3Ry","QmVqQokk6NCvThKSxbHM
fkZ52XLwjGAdWQ8px4ZkE8LA6iU","QmW5FzeLDGoVCPmenFqvkoSGFF4vzXLzwUVA9ESXZZTR9y","QmPUjfwcgakWmScb3RJPjnt52sVKfznsRtxNXLZmz23Bb9","QmVYRvbqqghNfEY6hczZtA6s9WWQPg2h59gXhrY8JU4wmD","QmcRt7s9u3N1QVxhPyHTeSZamJw4GrpS44b9ZDms8u1hs8","QmfMC22sQT6FFpV8AM2JUAKHuJjqM2t3pdfwqG82s4D7oP","Qmas93p6JZATQMS4mZihpe5RzKvyK7cCpveUnag2aCRRAj","QmYqU5mGXH2LGeYPfwAonAMdhsJfoyEBWHcr1MbREzGMcC","QmeMGtLTNCu6cQadfcc2PnmY5QePkz7ppVBnR3yo95Gf1q","QmQ7k1jPbw7Trp1AqqHrU8m5v12Q9heZ1ZpA5UdCHEpfAM","QmPcs1pMDnytx2XP5fCM9tqrofcT1NstuD1nF5pt23Cdya","M
Qma4gyLdKYGV3uYdoWttgRrvXSLJgjRFbGZ3JGwrZfLrnv","QmQvt5J715eakQXdVuSFMbZW1vDH2gJsPmwAN12yEzK2x5","QmdaPsVUhZynWQ3ynbdDL4RhNYpZnfy3JXmArpAAVq4DPh","QmQPXhTKAaZ6Zgw5vJLpgGgXVaVJG7e5upQJj6hrCYyrAY","QmNfSCcij6zWm9uTdhPw568JVYP4y5Z1MAvEuDL6XHFHZm","QmdJmSLFBCPempcoPFbLBjXHqWxy7Dxrd2SPsY4zws7yNV","QmfFBvsKNbv51ohV6DchByKWrUXNY3KvWZ2XKRjS2LQkoA","QmddETGMQeGBnrr5P2SC5xcwz5Ggnng1ZapS51L2CE9bqR","QmPM9Lmaqsfs7Ai3q4zPaBwsSSztvAXtrT1SRx6CY9o2Dh","QmZ3V955tHDTLGtGfQwwCbqkoGYo8MwYfvxUp99StfpzuR","QmSyWEsTUjGd8CsnpwnAdYLu6QKGu6M
EnLsRx4d5kkHiJcT","QmdZCjHBaCPYQzmBaPdND7hCmx6j6iDJfV9TtkgCEGKgkj","QmQKmFNvsAVh63FNEG5mA5dezoTuxkL5KjAKDLL3BhCZ6i","QmNwwfYSMm35E6TMpzRLrMuUaf4zcyEsrLSv3bzAR8ScgV","QmZfXhQpB6sAqZMQhuxxpYhTVdnbsNm3ZcUvGA3D31EMkf","QmPKHSyvGQ4oM9py8Fi5Ly4j65GXM69VjYRsZ6BQfPiUJb","QmVTitqzEVupA9sPwQx2tZTWy2TdP9Yg26yfVA594Jnq9N","QmWtZeniViKg6vbaZ74qVB3uyfeVsx6ATbRUSDHisJT6Bg","QmRv6rMA2P6db3V53iXohumaAzTdRFo8rSCG857zbKxtvy","QmWV2VptKCoKh6EAapGnd26pPCMyiw2psGv5Dy1mPCZonv","QmVniaQDRiPMcoeqHZ3NXTCdZQmsgwxURnPZ7VR3mNEcJC","QmRKmejMdkfM
U4XsRVGwnrxvzQEtxX1ssZFXALfVuqwRvZi","QmWtJdsUchkFLGtxwvExzaV864YrWCwA4y6xJ8ZBAxJvkn","QmS6NS9RuZSdiyLL5Ce5YkBP9ngyFr15TLQuNVjmCePSwN","QmbBMVj9eprAtfMHXxPTZGi9eXFjmiL4EUpan817LeAJk9","QmbADMwGmsSLKkCr7s6iJXxw2e1uJD84gKJ8yZXcHFKFrB","QmQHv7oWyEGxrpDCLiZzF8VyicqbiCgZbnGyYx5oS54FBu","QmepnUxsjNFjpCAmuW1fgJTiaahsG9v1QNATRw3ftpQhfh","QmZKWBwY5AeonLkhtJY9b8Unx3rw6FBtArTzKbrmfBT8CK","QmWwdHXrcrY6VocrXN4esVCv5T355kPazpz1zdGQUC79hD","QmecrcWZrHZuyRySFtA6hy3bSd5rjAnLYvdsSjRKwdGtR7","QmPCEAXsjEqHYkcf9Am2gLLewpdNJTEn4F1esWrKZM
33WfR","QmWgsk9Fpjh56Mc4LsHZH1BBQrVFe5K3frDy5gZRHwobpw","QmXDuLUEiiGaqtmcnkQNzxuhPJwdNwnd1GqgGU6F1ddaT2","QmTQyrGujmjiH1VQ4bFTCaWSxgsGmh8PamRcaYcCQ4HJRi","QmULnkLQ8nW2p2fv9wc3m6xfUaXzTGT1ekbHSd17AUSZaF","QmRG5WdAYJ3j5ffhuTsEz9CVdzeoS92MewrnzAd9L7PEhk","Qmdz9Rqk3kLdZ7zQw56d2sBK8fDHLEWbbyo3uRDWxUdWN2","QmcVwadv9cbnN3E6uuSTTfDq7Vy8jQXFKoC3upnBAegH4u","QmPHQR8EwKXQawQK1vjtPQWi2HFQ9J7xM3nwuzoJ5Fa75N","QmWrD2dei2RMpJB4fRSe3vSzTX1e3JyoWNoaJHXHXruQmN","QmUpMtio1cnTJRuapGx13m5xFLM3kmZAUAhCn6uJriaWss","QmXmSQEGwVjLFoMcbNXfzJM
wj6nP4ie7sqd4kpD77nStK4P","QmTjCdNEKvhy7vZKXDkdnHWnKRzwH8cya4KXAQ68fYQh3F","QmdNeLTVdqtUGvcDrZwavuJXJH7x6vJE3SUdtZB33Ewgiy","QmZVPkHXry4Z4BTAt2KBvXPhFuDayBF337AGxWW6d9ebkY","QmSW1yAhomMnJiWm7d1DwAWS3iHqwkF1MXmmv8jhfenVS9","QmascMt9hxmaQBNAp9R5YcguxWzaLvgQB946CJHLXyjPeg","QmaRkoUbBZdVdEbdubnUFJf4zNHK2t2aUZwz2Mbw6bK2NX","QmYz28jFuyzPFjZqddEu65CGJcTDJMBo9jJpRFe7mKcWNQ","QmetjHxjUB4LZ6sV1jVckiggMFjzhvkn3E6Qrq8G7xFBPk","QmdyWk1Q8iHEyDg3LsqBGPuce9jZNJPYBR3GXeyKWJzZn4","QmPByQ28aMYWkJsDea42VHJEnqqVasHcTTHEY8m6Q1Tpuw","QmeM
zVm3ypBTUYuyxQncjnSxKEHdnoYcuZWJPoz92LeaU8b","QmUzaGA4R8eJKpeXCVUgrvnmGgYjnY13CYjbzFbUukgjB1","QmYsBFAfVr1i532nvS5tnEFNHL2FUnV6eRcxpKDh8xiYqY","QmVUzxehsVwVG2yMzr2c4SdXibdJuiiDSirVf7sMvQsMhn","QmY5f8aYDo6s9cz6TBnn3oLtM3oj9exWGgs7kfhBDfR1Lz","QmY82FF1XxQMyDqVLhXGoKYzBVeQewuixK5ahci174gFQD","QmVQsgpe1o29MNeMdkm1ujcvUYGUeQPJrpKzHnurpL525M","QmWZ56fLmUy13NtXW4CY2r63dTL9rd5B6oBsHfPEhhxwa3","QmdVnvHbyPXTTn785J2SvHCpWFGbzNYJnA8jic2czdQSha","QmRJcqgjzVYDJJ1SkvW3nvfeWKs55LmKfH4oW8boEHGNmy","QmUrQA5H4NgtsSKqYWpcGPCYjPLiWWddVM
a5NG9XD8poGZY","QmdnHdZC6dJ8bR2P3XXciPpCEB9JX7MwwRQYcCL8NhS7xz","QmRAA4ZhgnGnepLd26ZtrhUSyQ99xSREX9nrqzZUWs4Wtg","QmTSJCCS38zbqKiA8K9gZEFS117MHzmRsuPNjHK5ToXvvf","Qmc6k5TiK8kXWpW68cwNPU7TZh1zpvuNfUvreMrRrK6QTW","QmR16T68U3RUKMK4cVYoNshYjprUjExtsuWSLSgXy8LMkz","QmRB8NYR9VYmeVgxfoAHeRQ5JZMyowX2g6G8pzvTMYrQ7A","QmRM76JCk5DYThrresZrgijwNJNcaYfQSMppPS8n8tyjwd","QmWCdwDPuGAp3VquUkVAR9pCFrRmijcigtH34A3KW32Ua6","QmT6MHknNWbtKwmK5TZGomxT6rBrMmVSiqkUKn8sgsE1hp","QmcuJDPdwFKd9acC5qrLSKRcUd188RQTrNmyAn2tXWjNAu","QmcXSmdeb6fcASM
tw321hZKKZAV4rDczMHVMZVzMGEGvBRf","Qma5w5UVh9EQjxxg4CkExJe9n3edLou4EaCwJbnRZDUrs1","QmYbntmH5Cxp3JPzKK48vRcCwpxZzKfyTAu6T2X6MLveeP","QmeURd1xFhxhhPfpRJiSzxwg8CVovzwMYHWKWQ4LmsZNYD","QmbkMyjJeMd7e75jdk3McF6iAXhZdpvWmmY3v9NyMoM3Ms","QmT5yu5AR3mZghnKfrfEMcQmvmqWvuHLhh2pxmAf7WN2nj","QmVQzakNt3PuSjFaPXLXoJgJkMZLyEuini9rRdPakRQT7m","QmYjEBEwLD5LMuwSVxdTdKhgEQmQaJhELouQD616dWRxcA","QmUk2t1TM1AKau5xcJNx7HgeLruj9mT4BAG9xp6zPAAfHu","QmadGhoK92utcJMXsovCy7rMGv1uizkeSWTuKMWqEVWBJF","QmPexeKpLbeQ4u6egeDZhZTgoKmbLu1SMuQcAaXbTnjFM
Qr","QmeKgbi3H8zWUXyHnviz1Ma48w8zSR7A8mc69eT6KeRiqz","QmeWXnAJKk8o36VyuUfFYPEwCpBBPRfq8WU9zZe37yZCyK","QmXDAKtXBQfkrQAnfAFjGhUpLJYkkz8FqBAq81mEwA5m55","QmNuewF8g3DYf3uMLXRYW9MmMWUzQ3fuczx93SsLEGrb6R","QmNQzfzDP9VoSF57vreHQXRuMBkW8GCVaXTaaeScYrsd7Y","QmTBz27LvDi8giVQk4aWX5ZQ2wELzG3SQcpB4yvtN1YPBo","QmdYfGNNUYSkwbMV7RhQMU8CYEFQuzw3TzN48Veg1jHuCy","QmawNny9vvKjXCdGKsnHUtaqEzGdg1LsGBHFbMAC6sdBvZ","QmWgiG5BjrKL3vfxuajTPFWyEkQ9z2k8m1sLPa2cE1Uuwd","QmTy8FUJ92HZE9uKH7XChLEbGuqu1r19njo9oSi8TfZsce","QmQgW18CYeySrk6QguobQvjZyM
hwv5N9m3QUgZZe14f1dWL","QmQ8RKbZEBd6Lp4nFgPwjwbvdVv39ATVq3XR3X2H9q7zAL","QmSjZg7h96o6d1WXEVK8hHDGwbpkz4GmZYFSazhxLwMpGE","QmULxrgZgxPYeVWsyCTtkKU3VGUWoR75EgjTh4FtF2VHyC","QmPw5BS8xs5GuWrmKsZmRT86NR6bcdiFFLWRKrbdiuyoY2","QmVb1R3h9veVwtCFvppfBxYXxXFc192TeJAeCnHVZa49Fa","QmckK56fchMf8Q4mAbxznLBwjKxPGoBro8WAt4Wt7F6w9y","QmWW49eJT2Bw6zaLSAUuCbvEaFhRVUvzLsc8A2BYFjHEsb","QmRcBafx2H4HjVyuXrpbdYVN3wYcHWhACg3gqpTRctkagf","QmS3Ym2VRGDYo2wHtFFN7o5vtdVcLuGwmVqZ5WSVa6XcuC","QmbdJeb1uq7bEXcSBVZGHYmSNGnED1US8qR7GzJq2fbzdt","QmRMsfM
g83QUyQ4f6DvVD7RKi3FULcjju8FjqBLcKV5dgJf","QmV6qnvLv9DRWFMuUNWrGczQmjM98d1h9ELsnTASq5UJHS","QmTHCbU1GdN7BirbvzBysgsDR2oU2NV8wXV7qJzLNBUtc2","QmR32TYgn5bKhdn77xGNxMZ4EF7gGGaNfLSoFm1GvHfcVs","Qmec9htby9FisF4JofQdcTX2Tah5yMvRTYX683rzC8LaSq","QmfKKLJLNuqnyRvQTu3ikhnRifcCthxgD4MoTybdHYskzz","QmdkX2ZfyRkpyz9fqVM44Y2PuD7tZGh49AtsD8jEY8nYrC","QmU3AbAKV4LtgehemyPLXZumdeJDS9A6uy4AM78XYSAhJt","QmQmMtJXSa8Frvm4SmGbmJPg8kdc6mrQRm8EKomjqpobHV","QmUqDhNz5L4ixqn8AfNXR17sBby1uopkk9eEZaWqZeexvZ","QmXvsctLcLkFinqUiBE64fg9nrqbWjbon8NeM
fD38tMBPUx","QmRexFYN7XMSzMfaHX93TZXRid5Z21EdMfRvy1YbH5vXhM","QmZKNpLXSWZhawcvTNGBjSAWHx6qeA7nNviGk6Q86BipJa","QmRN4q3LtYLv2ATcYavVZ2ru3j5HHvx4aeAoRH1ooCXnJj","QmYBEkrmTf7Lw1Yw9DF5TvnxmA5ozGxXBuCGWTMiJNBj6c","QmWa3bFd8YiBJTCY3Hsa8EQJs5QrEoLwsFJG5r1Cop8hUy","QmeKQPvKgWJHNhKRqxynb66kPebgegtLeE1H8c6W3GSUXA","QmZ5FKh8usH4RpPivZDNPMzaHthzzpMkwSVeUAPSHCu9YV","QmZPj2qccAgub4o9RexPAiM7s9ZqnDEn3qsM2bj7rhv19t","QmVHYFpdjQkfiKkKM7rVDSEGbWtA2ynTiu1cuNiVZExyWz","QmR8Dqp4pQWHVKwL7s7dTkf9xjpPm3AbfHtEbcYAigHvhd","QmRBr2emZQs2vdqacM
UNHD74qFqVn3gqR84joVAQTPJWjjc","QmdSgxGHzZeUd8QyJwnzNhaJ7wuh2au7koZAm3xC6vv42G","QmTGWSKFN2wSyoSg3t4NtuV1uVAATGNRKQQ7wbPpJyePqw","QmU3wDK9CBcgpV6FA2fgZd3tx5u1zCC4z6z51UV9mdsX8z","QmekKwUYqG2aeieRqxTwozj7bdkk7HeFmHLL9MMHyp29vh","QmfA3w2efHD9DLSxFzwB5JRtBY1cW4gXdgHeVLMFUes3MB","QmcWwWFX7w3Z421vpAW9TxsXPfN6knn6bHM6oiigyDNXBJ","Qmc8e6XDajyoiuUZ7L6a96vgzx9Ri3g9hXnqNUyVNJfsEc","QmWm7moZ3jPmKst995XS5fhMsjkFehxo98e6KxhF4cnRwj","QmXoRsaYoJfWo351bQYRofoDDHvPNT1GR8LgkanoFY75u8","QmNNDktV8uZvFRj126QcdqUYresVo19GGuJbGF5LvuWNGN"M
,"QmZRgNi6z3ho9Z5hbRF1LZDGAKo8tGNmMsYLwVAjxetwx1","QmbEoMgQTaaEAABC4oj3SmjkB1Db6zC8H1nYeNBj1ku4fg","QmaV4fGpDy8iWqHmEgmh88zrpk4EDtWbFBqjEGtwz8Ux6W","Qmb295ixdjb8Ygvd9UE1jxfwDV4LMxLnUmebqncN8XFQov","QmTC4r4RaHwdXWW1MWx53jxVzfkkccs7ZBd3FpCDsfyeQG","QmQpWGfxCmUTsWbJj5asFB3wgbsg1fPSGrmznyYKgmCvE2","QmNUGC6jBdfWX3m9bZsFk4gYbvLNDabXG8LSgnCGH8r6GG","QmYHjSXSG66K2DnWHbftwMagsvuwtnupSq4hZzJ9uDQNKK","QmRB6xGvdk7uPGMGXCG9QhefjV7hB9qSJHfNm81DqFSwDh","QmaZYxYK53ZQHRN972mizcgbte8ivMC2uTGGgimmLwRzgE","Qmax3uw59G9WbbdhiTLPnB2MFyxNM
L8jqHS5zeKjDstie2v","QmSeUsXZMxEQA5Qcf3kA7iEJAKme2eBvzo5PU3KaB5sRmd","QmNqr8nxjHdyHsnjNswuMLiQNfTuvgvYah7V81cT9Fgd1n","QmXChrZuZfgPxQcuQxtZhTui3BDbJmVivowJfHUM6hhsvd","QmScJpQvtiCYHE2paB2qAXyhUNnr3h47L1aNVKmAQEfmrf","Qme7f6fGDFqSM3cKswXJYJjBB9QLKr6DE5pyzP1GGUjzCR","QmThxRhKbZUbq1BkXrEd8Kg5FR2NL1LFU6zvz9ZRJ8Y5Sa","Qmf54n1bEnM3CbT7wcBgrfohyDjzxjgqGCDwHXvQoaskHr","QmQrQL7TxcTKYKacGv9N5AcZv8MiC9tRYgi8YMFy6guGpV","QmYseCpTKDpYGWKeBjJzriwUyHsTdLPPw3GHPaXKw9H2M1","Qmc1ys3joy5inP2TZuvcJSfjBJZvphUNAyoCX2WjBK1jnJ","QmXaCJDcPM
ahfN1prmQ1QdSenQrwUMax6eLat8w9foro9RF","QmQZoA44jWVXkwkcJfqom1fysC4LzTbvizUMUhNvu4nXSi","QmW1akxDGchnNyRMjbCKGqZML58AS28KcGMFiD6Lk9TuKD","QmdqYFdnJNERqE1SvcrofFqxtxCYZ6bJ9jLgHAzCesiiM1","QmfH5yiEymmfwVozYA28BYJgWQm3ay28SQ7XomuE8HLt5L","QmdYR2ENDYRewbvHyKfvQDLivi6RNwsWjsPS9yv3nC8JzE","Qmcd1GZvzwPhctsHUGVjQKtcwtN3ZcxMn58ZwERD2u699N","QmaV81bT4Hj2aqFvTitzU33btvkauK2XqBfQDX9SaepsE5","QmWvBbN3hxWPWE3Ta9cPyRhhCTUhD3Lv6eUuSUUnkf6fGD","QmRPJSAzXxPF9K6MuFv2HXTcz4Gcrh2yvhuxrSNgEhWkA5","QmfRkcvB83MsLPrhj1KaNSBWxCsPKPHafvR99FjM
sQz8pLK","QmbL4CgpHKunSnATryWEfgRwgN3Er3eaFUwNTQRjph3Kag","QmSCaHu69zs91NaeXBi8Br7d9tx5KPpFP1TcuHKxgugcBn","QmZvPbNDEU6Sn7L73Bfq7t2Qc5w5yY6x89yrPDLnGwdHa1","QmbbPrbj4st1JSkojY23iwduMgyYCLpWNVTBnDyc3CApMb","QmcBPPMkobxdP4GPcQ4dzTH5Nt5EnPRe3tgeJKMpKoXiPg","QmWxhp57nxrwwXMVN9B5xS7zVDHRfETjyhTKM8ScsdqcyZ","QmYLutsz2BMZVr8n6gvRqmxFCCHUhhnjK4gxDyr1rZCLEP","QmY8GA1MqRSVDb6D9H8Gaiz7tZNBauT6b9mNs9bWAk1R5Q","QmSYRF2hFRmTPLYCJjkeEQaajQT5QKH9XQD7DzrGNn516F","QmQQ5nyE8j76fBkVfeBH63hcw1YbBarv1hQL7FydvhYHkr","QmQ7Z36RQGCTzdC5oxyHM
vPgVxELGjBtRU4nx4CiBJGnL4W","QmezwJb1Xyb5SNkTQgi4XejHiSQYkuPj1NdXE7Z461Cusn","QmPcnzCJg46Pu7TnpME9jDGADp4gWraAzqB67y4J3twGDw","QmXUgwSyEjQ53jioRYtoHano9p6MvynX6wQBocq3u7WYyy","QmYbG9HwaYGHwi7V47MbxJXmmjgeVahM2SUrBPxQxf9Q4A","QmWN9FM6SFy4xY2no9M9uXT9Cu8GHumzyroK3mGHyuePVA","QmbRYVhyxTU8Z6S6Bw6SSoxMAn2f4RxnuUnfs1QGZhwWeb","QmaYztVqyKUkFXX5XeNn6fUMKdu9NUvgRJMRPZyWkozn5D","QmSNGfAnyurCgY4H5mVZwUqooV9BbzBTtTjhdnBko8kbu3","QmbeBEMrCeYK756ghdeeSGAs7yrcFtHi4QdRvY27FisroC","QmZq53MA9F7oPkWk3H1h2kS2qVihS22aiDJiaU8Lik38Wz","QM
mTgGCWmC4inKXPZC5FbmCWNHdWmCzMR6ABHjaMisxu9hQ","QmZNuRrswjgpe2nA32PycJ6pdfUeb9s39mGnDN2apEQSVg","QmTiMBNFEYSiZGrnHD49HZiJP1s4hsrA4VEVRruE9DGrnE","QmdQ7r9BkX66GvDxhC4XynQwmsBp5ZBMRhq79WPk5jbL7T","Qmb4bUQZnd5vRs9yVToxp2PA6893LT4yp5vBJ9YYxpjGt3","QmS29iSduWPiDRntJfuX5wAJhzDADc9txdNEFmZ5cXnKvZ","QmXHjw4W6gnM3vUZ86dgZ2vseFu2SKTUxT8qRMkukjgB1k","QmbpNZL2Tm9wqTdA91yGdXJKRk3sJNwrPQfJhzG7r6DhdP","QmUZUNrcSAcnJmPVuiTFm3EqtBJTE33Nsth1kTbfpPgt3M","QmfBBJQKDwHioE13p6t1fijsDv14u94PaqtbeC7qM6taLy","QmaXX3aSuZpWTWznaXkKyh78PuNheo8M
AqYgAgYgHQ2Fzsw","QmWemfLFVcdaJTJXqRpKGLHLh5fuSvkun4qAe6qMcD5fnz","QmbzueCp87v5Sn8MdswqecwqbQGubDeq1cKSrzX8xPqjEd","QmVrPyMcfFhuFc3smXxJCbLNUYdrqxWtDTzhBus2dgZCh5","QmbSw54zScKZx8cSkiJEjhkhrNPf4L1yR96DNwxdKdALjB","QmXFDHJhrfAPuDwMSQi4cQtHXRRZwQ3qLVdCYx8ajsmznc","QmcTaxagxxhAuN1GV9ahiFZweU4ZixXsypMboT53xSjmW7","QmQMQmCmUXLKzk396Rr5x9RUMjPkXQwZs8ywLD3PqN5Gap","QmNiRK9NPyDzGMACpQaY2zPjzeHpLwTsMHcsMPRMVEKfDV","QmaZLK44xo4KukgBad9iTorVXxABBD5oC7biHzEs78kJiV","QmQ6KXe7PQ4DBG8R3mpk6ckS7Y4Y5ZkmNwEJbYyeMhivTq","QmRiBVzG7NmuM
Wcd1rnmthxkcjuUiuKUCDG94hhTxyuoq1s","QmbTDHg8Yy3VpnNZxrmDc42QAdS1Aa7eXYA5mFQzRTthNN","QmXD29aatx9ZLUWKdV2jquoppteborC4WuwSjz5rHozSJT","QmPcyAyDNGWLrFLk8PGPqZt9qM9sXyhiid3nnUXuABQcyM","QmaLXcTM1WMks7RqCVPKXTXZ5znxCjQd8agPqFSdQ7envu","QmUKJ7sqeD3CBk1dtkeMT8Uhs3erZhX99nJBRkVrNkCQCK","QmYd8a4nks6kqVGNYunYWtsBy2Ar2auYu1hFvyi8a8oSuD","QmT73N3e4XiEKPxLpzhAJ8p2FpYHYFnUNY7ZSuEAULDvsN","QmQo6kF8DVXcq1XrUhVJUoTf1kQqUUhffwQoLhWWQekVXP","QmVVTJEuKmLKsXjmchtA1psULM91CrqsGSsR7v6KxgScBC","Qmf5cmZCE58Qoo9iJ6dFYB7ZNZ7AKB32FyQvMsTXZJM
LwBf","QmPrQdZPGneZgAcQzCuZag3WkJdjUKeTsSNo4imB2ta3Dr","Qmdx4fUdJgtZZaif1igqEzxPeAVQYzoktqgMmxZYHsfjeE","QmTCjR13qCoc1M58CtGvZQtKSjeQqFTbb8czoSeGDrkQBy","QmdU8yfiC2HSY4XDoWqs5BxBhFb8RbRjj6SkSZWjLgyu8g","QmbDTYstepdJNonZnF9sH8sicrG356Q98GdgmkwRFgsJa3","QmWD7B1qMdjARXQPBNdtCjh5HQYRuH8M1dVSqa67JmMZjh","QmR8C57LtcHkLk5dodix7zBNRuzXpMtPCtQeEEvu4kujK9","QmYSSeoN9c1Zki4ojSJQ4iHzpkyrDZRnu3aC4yJprGHsYN","QmVxnmYfAkhuYLNUL4Yqp8WN1iJ8LUSv41maR2paP6kfms","Qmcr3rdJdrizpQL7S8TpYxqrHsxufNf3bGiMciS2a12Up6","QmfXnC5YjB6qiFis3CkJW5sM
cD2XTrZdfESJNXC6hjvLUnF","QmZeBHPjfMWPNUUAQy231b23JEtYMNu7sBjRAMfPdKE67f","Qmb472iYjhGGpM5CdtBmVhobiW3cziSc6PKbF4xNzVA9F3","QmSDRYwDhKg2rsNVN1qDy58WvcPoQFeQ1HrSH7fpXnbnT1","QmNiNDZYhQSPWnKkG5mkQ3AGDptGsz2A8xMLv1bt5VxuEr","QmU1ERiLto158RCqEWQJHwTPCPXK1aJTkcqyVxHjp4JyPF","QmcsnNqVe8V39RU89qXodamfKGvHrp3BybD2Ut5Ef94tPB","QmeKb9DaPrbX5gU2Je8cYtwxLd6EzwiFP7yUxHdQujanRE","QmcELH6J45tZMnBgz3r39yLGivWGvfwEoWojAsVTeyNELm","QmNVVnKtpJ36wnR1qzet6XPLM6S1fdZRvZfUcKMAss22b3","QmRkrXjjHaySaxjed3Jx7QYa4HZcE4J5brd77NwuFWefH4","QmfEM
MTrwTwn46q3hCisEm4strYKqEerwrPdzXLzA3xhyqp","QmX6528hbRHAAJeBAENBejpiJwkKXZNQann4et5ASrZaSi","Qmf3BLNpixdM2bwQbY1NQwUYLTZ6nfuVzFprCBicc1FpFB","QmX7oLUkVDjj1pz7zQompEY73QBgAF8Q9JaA86pPT6P3F6","Qme9g6Nz5HsUyQtie8zRn223tXMuTeCnESZFNqZtv3VQZE","QmXD2Yuiurz5jztrc5gPjfakcQp4hXJkYqJJihGTEy7xEY","QmdgUB27Kvcw7vVGBRzCiQ4fv6ZrS6nJvfgNn7REnwvFQJ","QmSWGfhJcALoo6g53fCnZbEAeQM1duUK8VwSis1JDe8NFg","QmQYZBdq7XXLr9WHBgv3P4ExisvVS6gEEtMeYJeHnT6inj","Qmag1gFTqsKBcPzcdoKrFcEF4wAzAVGKPhWSJdiGwbWBdX","QmWYkhfLUEanYzq3Ri53Ani3MZdV75q1nzM
etSCxvXdZAnu","QmTPfEqusBousNHVdR5VqUt8GyPEKPNRYabriVbu9EfC5v","QmPMXJZenvtdQR8DPAnS9Kftrqq944mA4FEUuygcGvBzXr","QmZwzHEmR3b3kq1R5w8eDRBbnYZZnSoAWmUid9eRQu5HKG","QmakJmxFQCbrTHimR9ibJhCW5XUCo12moQW2q2BjXVoSTA","QmXaYNVqisWFaqbGXkGVZCarUP92egd3KtehGo4mb8EihV","QmX4fr1TKjmW6SdjGvs7pw3ykZjWRAKVa39XsvNKnvgQDL","Qmer75nSHA1aCB2b2bZoBuFPJEox92F3Mf4ovexV3rDT9w","QmeL2QZU8uJuFxtDjcGF7NKBhW8YfVVnpmFSA7hgtYq3sy","QmaTPfeajJHMyyvbRRji6MMecoJmPbfVPrmPLhFF1KBhNQ","QmNsDPXm1TLSiWXAJyty9Bw2vWQXtwQYFXXRbToro1TVeK","QmfWb4Pc1ZYmSRoM
Gb1mVbvdPC9GNoN6W263PgmcPmP3nzH","QmbW8uhaJnJN8iKZPvvJGMjCNbgxkisLg3Ek1nHS2fEWaE","QmS8P23jsju2jYzbLHiQw32JaCZ9LxFHLUW9UwxU663QnA","QmZkiCh82acCV3jCw9wdM4aqYMpD9CUEXRwd2ipBr4NSLE","Qmb3tjPG8YRBnmgxmwTkgDXDuAKxnuHXtuiqgHYNPJVfjm","Qmei6eNqoB4PZLd4WeTEvsTGonHkcdnepMukb8yfet2HAn","QmaFuFAoZ7MXbDafqiMTrnjgnorvDEqGQU7Jp2CmuyitpT","QmYj34vrb8EzkHc2NGPKsGMptKLYjjhweiZYpYNBj1SbDc","QmcaXtfcGenCkvUD9jFmqnwdtL7dnorcqttnH5bwMYa6Av","QmeBuYvhtnQKDq9D3YLQQARRTByoihBmfZNsQDrntKRhKg","QmeRFm5BSVB6T1PyDhMX297LiRDqco61yaFb4sdbDMmaZM
J","QmdTBmzJFHpAkSSGoAijE2DdCfeecsR4M8oewcG2EcM6nv","QmPwNHHhfDq6PnZi9sWQphQNJu2QUUngnChW17tHsY7NUz","QmbMp8Kv3XdijuTZ7Gd1V24ESs2Nqq7EiC1Q9zkqp6wUSp","QmdBp5H6dZBPCc8WQX41sPKrXVeVvWiVNP77R6YnHDRQeh","QmVm4LhTvfJHDxLYf9oPVosXZHpVKN8qwXZkBBbypGAVu6","QmY5nVFt6eaqo1okF2m25Q1ZaMREti4m3VMz2kdWJa4iNj","Qmb2GhTtGGWGY5nKhkhcLHWkBxFAnFq5uP8zTNeRwPyWh7","QmPwCMLMo2ze1v3nkUqsRLLSzduXMKPeTAvToRNA3ukquf","QmaWWzCTNWcMehyE1Laq2yctug9sevwSVzXScUgaWvp1Ae","QmevixWTdVrBQpJHJw9BsEt9m8XauAyBHtD9Dpjf4RBVby","QmSXt41peZVYBMx8EtfPMqPT5aM
TWiipTTpg67dSrNWUmCd","QmXsBFFJiSwJSvr1qtj5SGijJHfTLyBHS7KtTXzmkUyDXE","QmSjWYxiHzYs2DsGnUPq8K5N2WoW5UpUis7zb6SLkA635H","QmYZ5MsjgNfwRqxYvxNkb6YY3sfwgi7Hu8iVpZ7LLWozM7","QmXrgjbXLXqNBBNzZyHLGHhM98TAEPhzz8dWZPF3Ak4uEk","QmdTNuWdUY1jwqRzD7Gdz6NTRync2xoon3AbmgiuvgAuug","QmNNLwuqg3Qv6Z7upDKMUHyotXu6VTFvZjobHo1vDYQsZC","QmZQDsEBgNohqS6wtHpHmTXdf5aL6QFTCjUrHmZN5JrD3Z","QmQSQzXtac784138kYagM3MEmFcrBwLZc1DXiDNZRJhsKd","QmcqMazx7LTgaC3qFiMMpE7xxRGP4FmBc4CiT2T6ayCeDM","QmYrLqJXfCGpWq6VgERFiguSEfbT4bRvB841MnqzuxrR6w","QmaDSMVM
4jfWqyPRCCDumdg7kyPjw14JBPfaumgnu7XbD5o","QmSjXNW3MBgqthTmwD59Vyne7PtNkoKnDMMzJfn2DBP2Hn","QmP3Z83Jo1cRf5tfxfgc6YZp9PFxdxnFJ9yLcqpFm45vMf","QmWvHwRCa5tGUYmDhDYVZtN28LD3N6qQTVKQUgeutsxVNq","QmfP7HUA2Z4MMFS8AHRaWHfnABz4Y54oVj7dRTybXcEqez","QmS251FZfnDWGjfVGYzjURte6ogpqvmgj2bYvzutjvmLyd","Qma42EcosNp82dijmKoZfduvnkTpHp9hF5dowrL7tJybBD","QmSjADWCrgHtaMG9mX9zWvaPcPEWKXNXdjhcjn2cFyDg87","QmSFTPiWXvHEaMgDK3g7VzBYWf9TpEAniGpjGCSDnAaVJo","QmSEFG4kBwEQqcRSGVPYLygjgEeKZtH3rRd87peCNws65a","QmNbV29169Xgb2jYMEmJqBNKHcLD7BrEUnvnzM
Ktd8i9KGW","QmaRyVbfXWdQMgSHwKrKQeMa2CrFvkmu7ebSKm21QN9Y4q","QmRr5xgvjc7qq6Q5GSskKjYoQkH6PMGC8sbwAgacMmmTn6","QmW78sn4EyLz47FKkSkfkKTiaDcNwN1pWZAhfD2c4UqyC8","QmTkeohnh6zXb61SfypKcX6qRhuQnJVKyPaDGfcxT9prDc","QmNtTMhmZWB37AoNvRw5aiyqZAuMmPY35jsC8UaPZmiH8Q","QmdXdby8t5yfCSYP7HUT1ctCk6BZ2AMJvPvQHQWZpXVhYM","QmWAMNfXjaAjcFWrcH7NB6sx2iW5fSdBfY8BiqpFDRFF6e","QmPMV5zAMcXwhjhFxER8iAY7oHByi4emJWPjCdRC22h5zA","QmVmAkFjMA6TLdjErhNhr7yQwfkM3SUQAzCNF2MmE48Nca","QmZWBeFQCCBUkujWgfBNPQnSchwu76UxuAT3257aATY4ry","QmXumbPZBuZ3zB7CDCM
3upv5bqwTKe1EAHDfpZsajxpMZEq","QmUxmV58WddtZB8ADnQMZJixMob4pM5k5wB3Vj77L7zbej","QmatvuCuzuCPLVoyR52L4RjALVeuimXwBFkXzt8X7FVAjj","QmQLbLA3iUiUvqnHUMFwoHAVGd8EpSwBwSpvSGvnpXRBbC","Qmc2moidXaDAAcsbqQapVhMsxN98m32Qpecupkt4MERvEA","QmZc7ztyZd7YqSHzbUQXpzcGQGT9RurjCJCJSqZuy6kQ6q","QmQTyxqFBAid9PXNBbRAoaCwA3vJY21R4rDwswEJaxvV4t","Qmc7Fe94Esyi2ZgmYUwcCfxZJSSBfkskDWCBrdXVvuT8SZ","Qmebwb1HnRKNHyo6eaYh71X89X5znHjhkSBAA83iNEvZ2e","QmeZ7zAj5YNLy443G8ZRYqDNnyCB3nr8uNDDmNFwxKv5Zq","Qmd93pemk8CoE6YLKce5CACa4J62KF8sTvrqRouEuHaUKS",M
"QmSQHhn3pgvE5avbH7ei8sNZxjHBfJErmgi5XaXpGf6Jtx","QmQ9FgVTwNd2LGCF7Az4rGc5AcjZzMQ8sDZQVg9CDpSgt7","QmdQUr5bWvvSuBeTKaVb7VXnukw7u7fvDjxqEXgcGasP43","QmQZu9CTv9DRBmRcgq2k4kNYRJ3YMetbf43KsMpeDaPvPv","QmcNTyPFdQxnn2bMNT2vgXQiEHpvJBaNyy6De22aKk7AZE","QmWMpxX3gLt7BzTGgNKgUZCVpp9aMpjScDfZ8gXeLrvRET","QmdcKoE6h6q6uACuPJQVqLMReAW218kNFfN2jzX4xwP2sw","QmeHCDvuFEoGQzq6ogG5qms8hogYdvdTs5BM8DMqZP5Ryt","QmaKWN4mxKt5EcQ8s9J1VBreRH5XPcJgwhVw39ykHKEFgA","QmT59SWKMxSLCdYqZswQMtGBwDNNQLNk7Wc7wUG3W5VsWH","QmYsXnSX9qB1rdqBE7UYRQyrYmK1aM
Jv12Hhyq1h7UKPtmT","QmeSVohaRy9tZUjbVkKXvNH5iVZ2MGYqzEMHNrFa2r5E79","QmdAE3nMhj5iHLc3E52pySdAjNSm33hFwFQsKdbjN4pCnG","QmWF2Wz22pqXzDC1MtaS54365UqgZ3rekM23JCSdre4ewz","QmbxToJZqm53As9zm9MHv6EuCHyeaXWvievoYW7AHNupBd","QmYFgowvarH6VFUFdWrQn5ciyRZVGjaGVhywxg8SsrHZsy","QmU7Ef2zLUMGe2gvnMF7o1xaRSRxPybnH8g3BCHFwpMXkG","QmaB8Zk5qwM54KVnTGDYXQwDbpjEmAQKucSPDDWHBpzG3C","Qmdw4ErDuXBUDj16dubWQAWQ4Nc1NLqz2fUa6meMmAfM5R","QmWuEfg8kjcuEoTJqaSQatsngbCx8WKUtH7ZFAMRCg24YT","QmbQ9fv5yPLYzd71PqQ1JAYbjefnthgK6MThZG2RuJdGHv","QmfC6afQrbM
mU9kN7ECed2oYMoxEnP4vc9AUhJWhZvydUrd","Qmb2zFabR6weSHZvQVP6J6SW9PMeTr1VtCJQ8CGaTdBrdM","QmejisXryuHg7W4MWfaGpt87u3DXu926h8LpDHsMCHWkyR","QmSGeu4rYxmEAPun7ioVJtjQpmpjKyjR8WbtNjwwtxqQdt","QmU7SLWFXbM7Sv3oHqw4nHEh6NzTwMtFpuEgvTtv7FPwhw","QmR6L1mfm26WsyuV5yWRiSLwguXgy6MueMY3Z96q3N1Kn9","QmQxWaPp7RxjqnLSFPbv6aB4QKQuAnDTbc6dzAi6Ptjo36","QmdSyqT66ogPcnKxnGC92dWMgUDUxb1XMB2ekU5hkNFMsH","QmQKN5KEFg48i9aRbp2vuLw1Ne9va1RKDc1oLZqscbJqPw","QmTEjfvRNhufABKwszt9PHtJjvbpbiAk5iGgyEQtdzyEoq","QmXXuBt28rb6Pd9PGeMrG59UAKFQWPdB55CdD3SdM
RyBUQy","QmRqLeHed2NfHa4MgjAKckttzmMZ44AEN3EyHuvioRK6E3","Qmb1y7DgFtqy1jXQ5X2d5LLgt9JqyjedEmmnu9CbJyASzi","QmZWUGUqtrhFMHwKPXkebmdG2357SGUK39NzSFNLBDeiYf","QmTBfiUrs1XPyuseiN9SgoB55rEg5SGkMiwRtLR1CYe54e","QmTfeGwV7DRAKcrkwPYN4nJeN92hQ6i8QAkmkHaUTpcS5T","QmPPv5y933RCyEwnig6WpKJKQUUBsD4kYH6kFHtgk67aYo","QmfA4sySgb9mZQoAWBgXU2RXvRKDv7sHouACpNGtUzwntX","QmYBBxAquBFqwwt4VGDuffcBzKUT4DkajQrfnp4NSeqmcb","QmQqvtfbp2gRRQjo2kgnFyXSDGgUDwMoJuUfLed7YGixVC","QmaQkH9LvLjajh3VZrR9tPfUY9o6kSdB7o6vtJPofozS8v","QmRtZ8P3yihYkuNSAR5u5M
kieAcmq2gLn7soQzxCVX3ZLRD","QmRRjB7fBxATvnj8LNowR51BHuwoH529Q1ow4DxjXc99b5","QmbLv3vp2Cti1faUQiNTPUCoBG5CbvsjjLVamNN1coDMri","QmcsUrEPwvToH52peyhP9dBhXnBhUTi3FVxHDUK8MPH3E4","QmPFJTm8HWNANhX2ZjxfqJMztLrBRYA7ZBsbCtDsMvJicN","QmbpsgGaZTb7RfxarfET6qfyunEDbNEzcPQbepMHFLfR5T","QmdJL52D7157jpcaVVzbYu22cRXcmUJeAUwpCKjHF3pev7","QmcioddSKKuqkWmnANQZKQnsTNtwnGkzgAeWmVpMXGjd3F","QmTFRHycFcPeDmqhGP9kgdRwduj5hiiKkmR2p6XNf7tkhe","QmRTLe61nzD34X4ypFAun7bukHPV7t41tHD1sd7XSnTtdE","QmUwwB65i73JTi4boKdJ44j4QygWXSFQF2iSSXsNpjcxic","QmM
UJkjhXAcJF2HCSMAxa3xz7EYhYzgvfgbJcCbs2uGxVG5","QmYerJqiRxjsLLyHqaA5iAu1M1eTYntCt2jKwibSDABdRT","QmaqMAAY1tzdXLSuyNffB34x4vAbqv8Zt7hRFxqbbQ9G32","QmfZoMSq6a3darhnsvzx44mXGuvQmeA6h7hF5EDyefcPEE","QmbgRSmtwXWz6QzkiEF5xHE3XcuxAZRLFg6Fa1G41qfDw4","QmQEMTiGGEpVEreuFCEuJZWb3b8VMyB654CzWqwjj4KCyy","QmVWEH2m2FfwV3ohup6vDgbFzoFyQu5f3HBPhzbb5xQYnJ","Qmc79JtrE1djgbDV8tHhMAG3XAY4EsAvYNyjYiA22CfU1g","QmYHy1Ljx93qvScaqGTMEs6wXC7h3qL8BnEqmRnmNP8BBC","QmdqzP4HEmvtpafcDN1fVJMS5fPrCpYqfGsZYcLmcp8hpV","QmQT5JTVLCpoqHZXZQMzBZT6Zt8jjkztM
bpgZhfyTvf8sya","QmcSGzssSMAJEgfuJ3Ro3VDDDC79tsjLGAmYdTpS1XFeEt","Qme7fJkNoUVBzRnfUmT72quyFqB8684tKoTJd1VdpzJe8K","QmdFDSLE4Z8dGzA3ttWwyMbbLpmLE4UHuk3oTQuw4zpeah","QmfR6zQcCpta4RRAUuY3krMWXSEK2NtZzw5NrCxQyKqMBh","QmWUUT9KbfjoaYUJe62twnn6Jf9w76tx1oxYpMtD7WVDzw","QmWvPhLBdMKvqVfJgjJMDj5YjbgfeutTyppapwtJZ2Lnrs","QmYRUTVCSriDTbKVvofUpeTvbw8CfZZd1xEV173bgExnUZ","QmTbzUSCNCVouXMWAjPDSbt8YtLvCTVd8iJCxbNmBiaowP","QmRCdsQVUqfq8kA9oN2KTpp5b7qXLcLKaEE4Z465wEYmPq","QmdazmzznUv6WCxnuv3kMNR7QaNWcjCsGYezm6oUbqTq6Y","QmdAAaBV9YvLpM
KmpFqv6P4hidtEmd9Vh5MrrNNFftdCDbX","QmPq6Xig48LFv3EoUbKLfnVxFxDnB68uiq9SuQaDr9B4FS","QmTB6uSjEYYcx2wNFP6fLUDu2kxQQuDtBqQ2629UkeRNYz","QmTVoK1h2TGNz5uJZsBjTNwqFRmEkvUJw9JnpV2TXVXkcT","QmSfuxFewb8WUdsjCrdxvqsWNrBKC8S245ZExC3BnmhAwd","QmbNH2CGPABXQAm2t3RKiGkuNrqhTpNQgA9ZqbHi7D7CHt","QmRrGy4x7t22mb3jYQzE1X8WkXMezSDsuRccCpg7PrCB7r","QmWfSvgtUKMUqLNEi9cctqj6fjxjvfcUmGDANVbJxxgvWG","Qmc2DXQMNY1HFvdtgKgkA7id9nmFGZA7JUZ2DLBwv74nJS","QmNbxRb1QhyXufYohZaEWrCw8tuNuhYeqsPhLB7f84f4BG","QmVq9nitjqnEjcXoHMnexr2dfKmFn66VAufAFVdgbDSM
cbH","QmaQtPHwNDt7jp6sUuDwD5Z8spj7nQhhHnziBeQvpEBrs7","QmQLhg1E5n8FYd6i9bKSpBDHfLMWwNxbEMQr2t1iTewcUF","QmSaxjspqWobkwa5hFYMmQ57jg63NcoPk6fikD6wU38xNd","QmVqKTUgNrSQxcFmD9tSbbQmkm6L75XCUnEF1CNTNxaDX5","QmdbdzV8d8U1k4wVwPoksNXkz5iboCrXvLmk5uNfY9C5Mh","QmR5VmwVtky8DySdkEgTKv7cnXQKewfbFCNBobSt3YysCq","QmXdNtgF6hKyCSqjgNe7sPqrV8h8SDij9uiD7YY6gmdW3J","QmZzunQcfTE7akv1nxEbttVFPv7PxUYG5nkCgQb6L5f7kf","QmQBsasvBcP3FmmQVREDTMZgjh61RVHwiTKrRr6kHNMrFh","QmUKqhAp7RPujdJpvonN1sTmEBm7EqntQGUhSeeM2EZ2Eu","QmWq2Kg2Zprh7VGb2WEXJF7bM
tX817UutDi9A51RzJt9SCJ","QmXUUx38AKJANQfoLNkSNZ5eMo6EeQkjbaN1hMGTEJcYWP","QmcJGgkdKXCz6mrg1GTxRs9SwRfCU5hTex5hfxqAuAn2ii","QmcPy4jBssoaX9158Qf3BbSGp6NJvFDX9xDQk76LvshuWA","QmatNpwRcwxRse6WGyURapDah7mEyhYn44gqakkhoMwbUW","QmQySxD6mMeL5XAkCcFggvZEniFWfFTQQGDdeqGh8nxc8w","QmbchfAZ45dfRW6gW5DRGWUEGW4cDb6oZTvwUu99SGhanf","QmTxr8fAkXT5Sg9puEG8rcwaJkfFqmZEqyUKafjyhBnAov","QmabCQpZHuq1i4kBrEZFgk3AqGocHDJd7Tc6xMYHFoq2i2","QmSDAfxG7mTREcni1PSQcYsNM6HjreBwwsfS8vG9fz2qEk","QmWBYXZmcuLvtEitr2z8NvpQjmZoPRrEESeSm24s9QUVdF","QmQhoM
KDBg7wtN55e8DNgzR1ZFfE7i2pYhBa9m9wsbpRqoG","QmZj5pMABamNiKNQT4d5Jkis5KLYz3FTFYMoaGY6Th4AND","QmNoUv66hUDR7tGYfEmE4JPbopD5bcRxSK8A8dqFEAiEh8","QmXVEY5yn3CJtoFim9nUWuwqy3CKMJEjSojioMHGmUDNFH","QmaPm7KfzyQTGxnvWguD7dkFMzoF7CMrhkE7mHdPG7nxLR","QmVWYGRuLufaJjSyRrkd5VrfDGooG7WN71B1c9YCgseNmz","QmfW7vuyRikbqoTP9f3kzjw1bdZoudJapgVNdNJrhyyLCx","QmRZinosYCDwLyFmmfYajBX6deewogmaYyaYx76nW62QB7","Qmdx2KuQzJxHsfVyPSf3pUvsQJqW7AdVoUHAhsZGm1Bm5M","QmYZKgwC12KkczNv27929mmUgTDrEdxdDjBpEfVywKMPLi","QmQe8cF5q3fMBm8NeXwDCvhH1wYdJZXrtTdM
o7UBjLMjZnX","Qma1rawr64M1M7XDXTeaCTnfarLPWcBHiWmtKs4jY2yLNh","QmRAGCJ8diGJ5kwjedmjg3Buj1bh2SBPcs9M2FQU3qgbrP","Qma28qMhGBZbFAKZCLDBKTLiFWDwyRjPEC5Hj2p6MRE7fY","Qmc9BuaPcEoAGoqZVnfrnnc3mN7ZjmviZCNLwkiHtZMzBt","QmWWNpSZCVCu94AErLshnPkuYv8APvVgzb7PMBjcR3Ttoh","QmWVFn2piXt8iRS63WUf77h2U5BXnL1ByyddAwWBEb2uXm","QmfYwKbdRE4hdfF414vEQJKssMQAimYZuowm8RK1iKkD6d","QmbDRq5iFTW2qc7Md4BgxR7KVfwFwgr1KSf5ovhUsbd2VN","QmXpmJhQAYYxFeiyimBWY8adBV6CaTFH9LNe4kqf8rfXpz","QmRBNEryL1n8VLup8pexv77E1RVKtCxsqGMx3WmDhRciMA","QmaJqpp2PsrcaUG8M
1LE26jizxk4PLwXF3uCByjReuhWw67","QmWLqAX9gGcy9MAgsVU8UiFqPuiStzfiadANYEDDhVtX6n","QmYHyEWrEjE9WP9f8jfjoKQW6ja1ZWRTGEtX4XBStgHR6z","QmYkSdaZ8Pv6ZozEfb4gp7TaXL41javPB8TzB74LsKCou5","QmSmTkSYNmVjXKLfauiFopQnjUgLdyJ6mQikqspy4c32r8","QmPsfQbynfZVzgdbaTeqDDDeTGxT2898xFhuysZBXYvXas","QmPUMtJ45BuwzfrtNoBWmnUWbmAGPJWUdcBACy5T8nDouH","QmYT7hpFAfA37WEuKxHgkZaM1XsX5zUJj6Z7bsg74N6Akr","QmPu4gF37pjQmqMGGwsEmkkPGXmFinkz2uVRyfTo6q8jof","QmUuLjCZq3cAjNv3TYpN1QsNg6G1FoLzRDkEuqRh4SXuD7","QmWW5wkD4cfezyPu16gpfxt3AbA83AT5LtEyE5Sap9wWoFM
","QmTz5RWzUTVSY5LgCuXz8ybcdczYsES5KAxPe4r7jWwuN8","QmWpp7STDvc4a3bBHAi4pHvqeia8JkavUwNy1XJ8xPr2wa","QmdDLNTN2sVViXpFBANMDVYcPMJLRKXfCNbzE26wqh1fHh","QmZNgGKmLDEXCF1tVxzLc9Y4Ucm4L1gsXQRdLrTF1GffMH","QmSsnfjkXEZD87qDY85PNw5Hq5FM9SN5ZPyfv3C7NRiVER","QmPzR9ZMDAPrqjUv41F6AEEJPcTDKw3eBNz95bomvA4t1W","QmeQARd922DGMfBY5gZrXHb9paZMpiaZTGFEv4nzudZyfA","QmQJwV3jXPvUu4bkqrsMn83iUCdiFjCPuiQS3NWRnMQcm2","Qmd8pxuFiCYjaAaJCGVckDwytsNUcAm6VaJ3kkXFbPxDv7","QmVkpqQaFy4HbM8QQoNeFF74vMi9cAJvt2yHAMz1krp6VF","QmTrKG4PLu4gCdB7aBTqBH8rezyM
H8RrSXcynY5749jXBD4","QmNRKm4MhDxnyP2ii1Vdaunt1oop1CHAfd32qVkdhmQJ3Z","QmZ6qdpmGS3uoUoaSa3nFhJAeSNhhJydrKFYNrT4YMRHtk","QmY6b82zbSF9Mp4j2FaKBWGriCkJViiNFwEcoUi1dnBgLS","QmUxTwUeJkfS2GPBjvz4UeHvp2uizxm7MfWimCVVdCUS4B","QmUH2vSNVkmrMpkEHL2qH8oaURQNRERgMHyWKebBnEpAie","QmeR6NuDgfBUDA8u3Z7TEUadWXyXT17oTvg1qtvaxcmyeY","QmceprpgE56m5voas5xbNGzMq6gK5XCoXAKZKowBK1vp8Z","QmTSoRzuC8U3x8zFYVUXGGXu6xdAdtVytJYYKVpVqF3k6q","QmPQLY88geNfQ3vtsnVdzG3NSLdA6NMRvR2jyjZQQJDrm5","QmY1Zon9pLqXzPPuxjNF8nh93ncsgncVRtxs2Sq1MfVhAc","QmfKuheJM
qDC79XRp5p5sbrxaSNd3VRQto7JbHbcsHgA3Pd","QmT8moPDFwtkmcC1ENKj8sE1nYKi7nY91kWiqt52CRF6Ac","QmTMUqkcTwG4sLt4ANaoX7fvX4RnNz75pGJSs6vAvAv147","QmRxz6dnjhd3zAyGHynAv1yJN9Ke5T6FqrhZPUzBm4CKGv","Qmf1iq5wNBgoW3wCgGLwACYgQsLUGVJLYny72Q6UE7akVa","Qmc1VwRJjcYEBEb8j9TZFdUzX3QhFYmRbhGu6JcqxzNrfe","QmYnn2URJjLgMZGncSk1zMADLL21nGe2Mh9BLeueAu57SV","QmZUjJpLcVwwHHtJbaE6mcNDYQz1RJ2nn7Xf8UfhJwhLQs","QmaquQ5uuPVuPdc967Wd5dj2X1owRwSwR97o4gr26RweUz","QmcADkTUfVdyPaEmsJMrfMWY6EshB3aC4mWd9UUbLpVtyK","QmchzqMKf7B9R13Ke7Gk1E8G5hrqEWq4AdhSSxM
Js7CwRxy","QmUkmwu7phJHyNuNj71nPFuznVR5TqB9V3DcmtYQddq3UC","QmdYABQxNqNykck5vzF4aj1NHamKpAB2czim4sdFCuKteb","QmUfkm8RRT15aMTiCpbzeEz84hcci8nv1hfP6zZ7ece95V","QmcpoHixP4kyqUN57yq6JEzxku9HLVebQqyYtryiJbcdzd","QmVNbzcbgEujyD8FPHnKAs9dWKEV8M8DGfjJTztirPfCtJ","Qmc4f6y3urnuix61KyXp6SrJXqTWbh7UEmCyCQAPGpxXzT","QmZukthGPp29iLKzi3o1JsPuKK8rxfgKBoNravtTQDoF2H","QmPbgw2f8uPV3R2fWAHw4YysP1pAMgnamtEGncrDk943Xn","Qme3eMwM1TYJ89EsL5QySFuis24Cc7o4AzvJLkj3RMkYUp","QmdqhnwBNwrvG5gXnZPMsXmTr44t91qkBhMudbyhvjMgiF","QmQ2j77VWd5wrNS1yhoM
eCUa67HziGHXvMM3jCA24zCDpJE","Qmdf9cyqxcH9p55phZDBmBHQ5cVx1uzqbkMe6xm8pAzhux","QmUAL7zrLTXTz5J2gmzWo5jEri65Wr19kwY8gdtKkgGZ6x","QmRSaUX1FdLVo8iu7ka9RYc57kaXJP1qdMPnHSdiKzmKFA","QmcoTDuN9CkSyNi1bHVHkMNJjynWw4fQgLkMpYT6vZL2Jt","QmQ439R2azPaKPfSXs6ZoCDXPeuayxbvDWRvvhCUgjPp1p","QmejCghUy61yqLp75SyJbDziNCj6jNirJUyNkcuAF4ghtg","QmfPXjsS1ks8KunEXc4uuHgMwaF7iMXQu1aNxXwQ2CgEp1","Qmb4cEz7tAvV83krcMbFA8p5DFQRcq3C4u44J4hEe9iJoZ","QmS9EPNsCyhanLN6Y16rw5B2pqjQ6BSjBwSCq74XFTP2RC","QmRQK8vtnc7pvAsFijyaXD67jN4Bc65GJC41tM7XzmDTPC","M
QmUhetHKVQ76ujCRie4Xz6DvT42o7LRAXvMQKi3XK3CX3Y","QmSo8ZYRLY1yv8BLT5h8nVNCuRbTEa6KfcfWNjbShaSHfe","QmXtWcGuvBkapeokx4dWTX533MNXbNGxm5KHyWay1PZ2Zh","QmPv4bsSiPuyqabJkBS5QkVAebXXrevvXJ3rkPcjpZuXVZ","QmaXixtKf8AJww9xsLYbteLeco7Unjt7V16kr91ixoGjpZ","QmV6BYmLTRTkug2Jg1vvA5iH5BFwfkUF7fg2eDTsnP1fhH","QmRrCQsqcbpnTqB2C3dQbwyAKdrD4qMUKn6dvsQv1Tj9XU","QmY1zAPFV8xuxm3gJo5uQ5tGxY2rKxoyAPDrJXc9BWkQPz","QmedYBqdFTrnguiKRAcgXoru56qxmLYMuwtRGXdCbDf7cu","Qmdxkp6yRx9oUD1QUxaaJsJaqfAtdjXsVLxQsTiRgwHZqu","QmRJtTT8b9vUWx6oSoB9XTfDCUbUV4M
grWuaLSmuHScQr7u","QmQps4DZCjb1tdijUjpT5CFyejohhUy4HuYDRcZzvTGZSY","QmdAU8nPqMUSoE3j2LMrQNvbFtn9eDbZUp4PBZZ2yKXb8M","QmSTvQc6XfbsMC5oqNTqsTr5qGXoUv5UEyDV8chdDMmLpY","QmQPUFnBzdT1wKJoHPy8FYT6QbKUbNXqHGdP1HxHFx5Tgs","QmbuEDMigvxmFqwnRP4RYTyM8Bj4EHBnuQr45k2PX3e1gf","QmXRfb8sTFFP58XVkHnqSoX2fCCEucYDFkcH5mCQU5imTJ","QmaoyfV5sbkQRhyQNXarbf7odLisP2WiM24erhn3M5VvaD","QmPjhTR9RU8Wb9EyRqpA1mRANyHJmS5UaMTkC68RpNhcgr","QmUzvLQh57X7hD9TUZrpFNqppycgBF1t7ZG7sa6EUFy86K","QmfLBqDDgetvuxXj5YFCXwU7gvzfiDiBw6dppZ1YkKAQXu","QmRHCMDqNntM
AHnnRQeEFF7iiUYQSFWXGCQfaoh1mS6ffaJ","QmVbi4PPaS5PeyWjY7bH6bd5KWoYBFrU25K6amrkRuaKKw","QmXLCHZ3PtQyEKfCFYVuYuFE5qGWngJmJ93FoFFgNXL5BZ","QmNVLPjoZJ8fRs6EFM54ZRFAaCFHf8ymCWmckqBWM22GVy","QmWnKgz2Rs3mesA7pZUBw5e1FNt2i2M6Hcz1712CkgCpmL","QmdGYPQ7jHA9wnpkgvMoWZFBvKfMqgV8YB8cAQXHVj6Wdp","QmbJaPQngs37ukgjv8STA6TAzcdzRacbNW2Hrzm6DWxFUF","QmXmPqy5oVEZVG1nXrts71cKb2KTYWto2L7nvEC1wi898r","QmXdrrP6szdXSovRcFffMcVxi6Qbeci8heMfbye46SjoQf","QmQ3Z2pfnShmUfjHQ7T9KwhFiqPBNQ2z8JjuVSpvaTb3YW","Qme9KiRLkUWSd7BauVMUoVxG7NcnsGqtE4uxWVywhM
NvMFG","QmaiKeteniL8y58cL2JLqdtepmSwhcAESQLMYVu4wWjzEP","QmPC4PUPcVZv7zxAafgmwL6idXAtXLonsTjxmWVAV66huz","QmZX2gFhsh2QecPj4qPkpeSwtR9gx9ZZ3T5HDcffq6XvU9","QmUzUmoihLzSsTVV5jeiMfU2ZmfMMWgHyAJ9H4d1kWRY2u","QmRZHMNMMK4tcG6KgxF6ECTsw8wuwqMDYLNu2bBZrkmeKi","Qma1q34TKML4mfMP7az7NoqojE6aZkVY4XzRTiVgmTX4sw","QmQva9E9PJN7Rm6heFBjNoSmNeqX2hcnKDyEdGsQRvKAG4","QmedNivamaqafB9NYPdkigpJfVbDaWRBYc7AikVJgvpLh9","QmXjZ2Xtq4G9Ch3XMm6tdBswm9fKTJGyAVkeE1d6tiPV4N","QmXfgc92jxLfmWfj7h4Ks9ooLGmPxWQVNkTcNy6Jhx5AiA","QmNjX8t5FwuBvYC1e4KkvAM
8quLNMRVsF3X3ZqfyjjBRAwU","Qmet1jgdmZ2xVf8fkXsBRpgZuGqPGnkscPxAKZMD72KZxx","QmNRnd4PuBudMkFXU5DteX4tJ1pPZeSKN69JgDUb1eWXyc","QmcspPJpcQB9SJvtYs6cqdebGhL8tbh6nMzbKtKccYqnNx","QmaXEyy1jYSM742QEEtxaNEu64yQCkTtMxnfQqorwAgheo","QmR3X4w7UQRj4gmcan7i4EkvN5ZR3wcnBSGH1JF2UoEqCz","QmZVJ7RcAvGuyWeexZUg5SBjkSuXTXzdmysNuPCcPX4Stv","QmZ6kXdeBzezrGFCeBEDrAX8cKuw8uQt36QpXQb3A4H61k","QmQ9WkWfiZDDHYyAgnZFjQYUDcAe8T5hKMfnL2MQ53tPUu","QmWGyk7MXn8JruqryaeYNnyYUaHxmUGGca79DDn6stWFiJ","QmZgVQY1x1W129rSho1vWswZmfTy2veGQUJFoTBgaZy6ER","QmUM
soDd9W2jk1C6KiCX8whmxAwWa5YkFoEpUCbGP98HEN5","QmVYou2DdWuPkEkYWXJMSvc6rPKKgybcLwK7f4fTJ2UdFJ","QmUkUicmyss27ZPQ2NxyQQDW9DKBX2pgYf8fsqLAVCZYBz","QmVtoGG3eKzdZD8wCNaqSWeAbqzRSvTMqUuJqyenT59WxL","QmaacJR7H8k8Zr3TQ5ugPLKYxxhBV6i9wtDdkESCfHX2Xx","QmW2JTqJahDA67mb2diU1TWFzef7nF2gSkAmRAJdvPdTHA","QmXfKzXBef6SoPgrhQxjv7X1Kq4U1HeRQ8ivbpCcjNw11C","QmS1yhfA9FFCrnyz3kfDPDRMPEf1FtS3K5G8GpoPU261os","QmT3U1Vk8jWwAydceN3FxGhfmJvEeHAJgCVmZvXQvvphV6","QmQmytCBFjVgU8bACz8egbyQ5fLDc2a81ye3ghunfZXJym","QmWf5mDKb32eereZWKEv76zN2BuqXHiErM
PfokC8n49A26s","Qma4iYrDMYpi9ARwSFFxd7Ef4QuCvAETSoNmVqrATuTKYj","QmaBn41J9voq2RetUaAGUt8G3rzgvaVkaPJPeAxbzNzmQt","QmRXEgZvZxbjqNC4UcnASqwrJsVhvvqSiZZCQvbNEJngo1","QmatA6bNHtoVdriKF19gzUZED3B9aEHwov5vTjwvRPraod","QmbHqhV79MQ7DQj8gsh8QX7rqP7HJvmQYoeUtitefgEkzf","QmZpyscXTXqedx7VvvnTgEUMmETdoxZqtjziBygY7JFkwz","QmVBTyAZ8t8aDRf2XTrLrJgFqECKVDEnkyCc4L4w8aGAdS","QmcY3yjL19Kpt1YRG9EhqsdvyPYYVXd6nNFTW291Bph8yH","QmXSgiCFkPZDRn1pBQFR88jxaeE8YrydGY2X6sWK6xdBua","QmedK7xtFPBdJ6jB4vzyQZiQkLTgurfRGbvxiqXGXW6coz","QmbfcD9sMYfX5FM
Y3DPf7y2rQQncQ77Z5yM4JD85JLc171J","QmdCNUHzYXxSfTcSkjfiYgHhEDMYuBg3FyfkK1U4AwGnNa","QmNsFMApPQj2Exgfpv3yf6VvYsSgmYuEMEkQ8PwaP4aW5U","QmSx1eeP6vEuGGu781gUHcGSeuTDWnPYZMyqwSjrSmHkef","QmQsFsPQ7L2MxVcFGLmgVDtj2jTusSeHb7Qasxu4K2Kj1i","QmRkDxQK2XVbpX98eYyiP9CwE16ZPtpJ3CouwyQCDNuKao","QmQSghqn4LY46cMwcfhEvPyMPvahZAVmWCns8httkKWDkq","QmfLLF78y7GKJjk4CJ5zSam8kWdUjav4Xojc15q2WmdvRk","QmPFLaEPiit3jzm2TS6ZqJbQT2XEp7dRwKW4FXBC6jFu2j","QmcsBb4Thfxq5RJPF9ApPYbduHoZYXg9pKMzAEsS5i4TQk","QmcfVuCUcP3M5GbUhyyR5299uzxLYT8uk6tEgtpLQ4GBM
Fn","Qmddv8hfP9J6kXsSd8rnJDrcNmSGEyuFq3mRntBtf5kdir","QmcVzPocogS1MdvZTqPJ2V6cBxUmW9M9NvqFSx4JHboxGq","QmSdKZ14M2uoyWa2R8AdJ7uzvvgJds7MGDDAY6T46uXMPN","QmemFVu1Y4BLWXe3byeJCYogm2TiKYsieYSKfsGf9byK6c","QmScv6K37eyng7Jhf3YkRB4GfxnzJBREzeotu1qqh7Fr3p","QmRH3CwyLeuGgpESTBxrZiCQVNTgEhTumqBhGjE8rYThox","QmVn35udtA8TxNVmyvd7w6zJ7yxD1fQt9r1yv94meNpeq1","QmYRTJpgH7SQum9ux5frRK3K2mvZxf7n1djNAeokn1LSTE","QmWnEv9zymLmwg5J62DiuQKFwYHLYy7g6tycoKzTkFKivb","QmUP95p5DoWLF1nY6CMTuW2NMeCHzH1XSsMFCJbbmqjmaa","QmPcSQE7EjdEUpzA41V2DzFgCM
1LB8rGJEj6LjLRKNrbMbp","Qme4a6qBRcBUE2UoJq1iVf772dk4cNAEDe5sttEdJ81Utj","QmdEnjR5MYH5T8bkKCzdPNchTy6Jb1n1ApopyEYqekrZYP","QmZEEYnD4WyYhEGptvR8xp7BMFtSiTsHFAwr96JTixiWeT","QmPhrdeTVcvXCdpLSk8TGRYsaTrt9odYsCV6ogdbxo4VnJ","QmYxdt3gyzpedbqTx8YUt6ARQGT2Zz3G4ffmRZDtTZoLVh","QmVj4BxDkXksnUHuVR1jNkFptT3JVaS6kMWzAxVVBRANZR","QmWaaQq3r7Mb7qcUHjENzCVb8EFuHKPU8s7aFHRL5UyMyB","QmPUvc1XG3Wvf8fs2CMGDvBvGmwuJYCAhNYaasUKfcHJyf","QmYKVvDAgPYuyHiMZKJoGh8b9DYWy4WqVE7AeZmwPpPjBi","QmSJ8HxeFFTP8UGT4Qu63pNT7dq1XXpwvT4oVUsoLiiRiD","QmXAtaM
Tf7EeD1gtvX8SHxZjreis4CGYT8edqNovYtHhSV9","QmZYHRKSnA4zku2m5TABnDTWV6crXbswnprV6BFN8NBZCD","QmSUgHju5GG3A3xdP9LrwGYRnNK1BuQQwjvbVWCfezzD8C","QmRARZ3HWs9vhEQBRCM6MbXLbMkQtpBUKbfUmnjnRVZKzM","QmfNDdD35Z7z1TCTdtMHzso95GuXnk8nKWYanHB9FKMZ79","QmQRnXiWrCSDzJhTp22pLDj72oaWsfAREB6yEnchT9ePUz","QmNPtS6WPKh2RwYAyr2A288NZ9viqH6uoDUasDj4CwC2bF","QmUDDAabYa9Rbjdg4N7niL726UtbureWJjQAnr5pZK1BXm","Qmdvy4ignUsHYnumT7zHPxYAbB7zaiUXKc4xYbU3NM6PqE","QmQWUFW6iLdmfvM2tFtdJTkbj5KYpnomv6oDG2pr1qomG4","QmXBLFmmdUVkw2irkCPYz6LuW66igtH23MnRM
h56aYmNbww","QmQ2QF6KvyREjDzVjTYAoQjHPiHNRJkijYcg5M343yEyxt","QmUPm2GmG4jziSwtMrCwYjTrYAb3AHjz5yJJHLa5Nt52om","QmTxrH4z5aRRZsXnGdoUDtoY458v956bFzDhGSrFho3UBr","QmU9DYE21FuxZ5bBd9Uk79RQEUJ3j4z7jGR7TridsEQmGa","QmQFySDCtQxZF9uJakDzF6W6d7TeMLoCxGtCGdEStHy1Fg","QmPMUJXwew7CphR4qdvTuXpVGeuLzC6VBppyHtdBKP4mzm","QmQbDCjfrzeJmvgvpdrAkRkFBR7KYZyvHaD99otbgh5ouw","QmPbCgQACuzZkW8TdbpqcdrkaKStTv1W4qd8y3KmY36u57","QmQLas1tao55nHzw9ufDf5qbxwFYT8KZqz6bgDZAcGZrcG","QmaLarfxinBsUh8R2FAfpeo8DMmBfjwMVC87zmzbmxWE3m","Qmck26YLPBbipnaifM
K2n8CXKqSGy5UCenf7TSoiSKsNLkf","QmYQzoYTTZDRcEY6rJUwKwJtXmM6eLXwH3RtP8eXQYm2zW","QmZAW8jA7mfGEMH2uzDPejWSQ9CQpQZUE8jM3QzSSpj1md","QmcKjs4PDrv5VbR76eDTp1hsJ9NCaj66AkBVNxk8kGehPm","QmUsqg8kkzPm6HWPXhHqcHCGmjfWYhDcj2r7yHXSuNvL3x","Qme1qrP1dKj2HDP5X1dZvaFVwTLNM9YSzEXi5QGW3sdSLJ","Qmch8wcC5uFJ9BoPXfBZA5Wm2AoVBR17TewuCg4rheshxH","QmcboGkjv7f8h1qpHnGTXVpSaXJoab2Nn5UiMjkXtaio8M","QmYuLgaHzm3QUvd3BPpTVhqKu7KLiriv4w2DvAQJsNf723","QmeoxiJipeeS7e3dpQyG2MMieyStQZ4rfrw3L8NTc29W1T","QmV1nMYEPJ6w248hTjDZ5aK88TfCSpBWf9pamEq2D7EyBP"M
,"QmTW5BZzKem2v9QD5LrENPyTMZY4SdL1gd9eyumcgiB7Wv","QmT7gpzvxLxZf4JegUoXxPHJaNpiJHGgAks1RTRqBD8xRq","QmV9c6A51Tm7SySX1Qo1C3Ae3ad3LJ8J1gsujoSYcGvGoe","QmSNkGdikCpWUbS2xRkhjvng8jhP1a2C29YLT72nBWF8BG","QmawzVREXkNTGQzXcRQHXDxm7hgGqFq7KWQHhChhsfEazu","QmNm7kZbK6CqZCGnavg6Z7fmYmFu1koPyF9tUwDrkCH35H","Qmf58v1YCwUnkafbVXBSa4R8DN9ftQyoLgyrmh5onuSQf9","Qmd2P9tdHtXw73EEvnzp5anxQQm19uVM7u2gc6XSdZubrw","QmY7wpLwnPSNxKeNyTNBmk8iEF3zhmkNcNJQpg5rGLYha6","QmRaGgTAQoDF7Pdd64KrKUyQZ3dSeBFAXJoWkc2oQurDYR","QmcXS1Paqk3C3zxReCRrNpybpF6sM
T8n9zrywgc6PAqFmeM","QmPNUHnN3GKxRFM7T7mkAY9nt7yrKg5LWAPES4A3KBTQo9","QmRDso8dpXMzJGrT7chDQu9jgqgnA2WS7pTbF1rPFhXsz5","QmNjwAW3ds9xWYzhYdsZWXYSHdqyGPqadGikjRqihpGpwk","QmRwH4qYjyhWZ6CFUxE5tk7wPuV5xUFSCgbVUUPcHEhnfs","Qme37Zwmu6sbvXXtmEohAiLJ8TkbR58CAoFVMjbbH6z2xm","QmbDuhS6U9b9NXd4oBjXuRYZ1Qs2NeCCUUTBsgnyRikXbN","QmfVXe1Cr3uJX218XzVRaKg7SDVxvnXeFw2t2N6ErxxtXc","QmRkeX8jMJK8r8zUmf3pMsdnpJ4ivkhuma1av7N3sRoS4a","QmXDW4qfPAvP3j3tTwssFGFXi7t4au5FvybLXR1pBt9DvK","QmZcgMcMunXdEsWsEdvJD2WvqTj7EcJ65M8wZVxMYmJkbb","QmdFyza8fM
hpS6DvAeJJNRRm8TeKXppi1pxEgcUXdxcQBM2","QmebeQXZwNGecex9Ah45Yw8fHFNGXJcyoE8VuyVYBVvNzt","QmZpuQznyQ239YRdE6anzAZvbfDp7zpfizkBN45gMrh9NH","QmSWp1kiHAnq7F4t8xXnAaW395dVzHRrVNn2guVtWoqCr2","QmSZmSy4aiJEjoDs8GSbYJq1AwzCaMFDc4eEmBAeue6PDf","QmNyid7sDhBsJkvmiQ9YoAiKvFZqZQXxY1yu1KVhCBLJZS","QmW8ia6HRZfGajgVxYpSpiU6kCoRACCaswtwySQy64Wa6P","QmdBTTHnj1gDgS6sPzA5ECAbxiQZHfh3weKKkZrzJemzij","QmWpqDgrGQw22V7gV5XXRC7cxGcKJNFk3BuHZ1FoHrMo6W","QmP1vo7D4oaEWGJR9bsAYZnqPT2g8e7mQnCSBtCWeQUdQR","QmfBFLYr1DTZEuGaxYbfCHj2MaNyMW3ShfMyFxxM
Mx25b5T","QmWywzQAsE5jirnWHbeJurBSMYLDZq7UUe4DJ1wREiHVSB","QmbThjN4gJhTPCU2js6aqWXteMwdRn8ubmkoMSYdGVRZeT","QmedMULNLRws16GP5aU4N6mCvRrSytYxWwoFH2vSdeuc5C","QmNRo4wH6i4PnsDEM4GGq5zdUHgdpAsAF8iT8mUnyXpKtY","QmTDpechWhpVei2CgMpBhutYzCBSj6ERWFaeCvLE5AdWSF","QmUcGiFn5z8xGpbC3bYaSnbr1BzxDQiRznL7tkNQNzE5yJ","QmamqrYiLH9WquSDzSR1Lq4PioAfRN9gqWek4r81zQY1JV","Qma8z7DTobdh4PW3WrU5WGK5RxjTKD3obgaX7M93yhgPb4","Qmakv9iDqHfTHW6u5w57S4KommS8kXUisUnugJc3aZiqBr","QmemZZ9kcSFmWUzPiNwnVB94PRnzuJdhXCYK4NVtNU4huz","QmXSqGXV9xfwHUianLfdM
9nStH1NzHqRornVUJTBWA7jDUN","QmUTicrRA4pHa1yM3vAcVVm1WEz7CnaVn4B4P15bbrwXcQ","Qmep9RTJVYnnX1tS6DkoEfgvix94dKV3kY6zqhzPQWqBc9","QmZvgjvBmKG2CKusK5GXYYRFMXVtmzqFG7maiiccC81sRE","QmfYCUkg3X4K1he2QmWQHfqKPiPJRtPDKz2yJfaPmur9Vy","Qmdb5EvGns6bRmGmHQJSmhZuYwSMPSiousBdWNYnBzU17o","QmNYeoadD1mme7uqND1ZPkcAhAUGtKuiZigWrie823rtic","QmaMHgARWwTUhFyVU5RiaVxVsXrQpRMWjfZKajZaXRNa7M","Qmc9zduoFzNPaGVvokRNyYAbvbPAaipK7SnuG4Z9bzvUTn","QmbwWz4rxg83QjRsWZcigfk3BG9ABpnzcjQkZzP175SaLp","QmdtPByD2sASHqFHHe2aumSAXthbGnpWBuSP7GMvsFoc2A","QM
mdRGz8TwqJZCuHNx8RbPQ27idUxFr6ykcTnCRS6wiXwxa","QmWmTeXAurSE1DiRGv7Hn5eMiP78MfybmAQxqfS6ma5oAw","QmZ3JE7i9u3RtN6bk1NrXMD8YmTvB8Qsb5LHYTg4DqeZ7s","QmZBe4XH31tMxXTuu6fWKWm7QipnZhFjecpPW8invTUXQk","QmQ55CxkAngAReU9S6L92LQiM18Lw5aYBCrGgoD1mdkkbz","QmahpTruUfKc8q3sw66CuLe5bj8x19JFE1Na1qbZM8UBQX","QmYiVsKE5kfviJaKZ7wcVTJvMQWU9JRBBEdsqd6WXDDprq","Qmai4nfuzJ6q1a5Myh7C2TpKr7wucSxJ1Pm2TtAaykWcA4","QmT2PzfxTb5jGsCNvNkXFj8goxpgreGuhmRsriToUu3GZA","QmSaajwSogyDvtRFSVNj62pavbJRyyigPWigBUXsGwUm1g","QmbuKuVrcrjjKwBUVnKe5xBiRuyCAtcM
ZK3HokqKkVFx2yh","Qmep9y1ZTRq3L6vfzRkj9scZ1GX3gXgtutQ5XD7qBP1aiZ","QmYATAWdJb35NrdhQRSfquthjipwgB6TfjnJUPWSv6jhQk","QmaRvsSMU21SQ726ch6qWd2r7KKViVJFycPeKwZqixkXBh","QmadKx72V1L5iTJRGQCKroF2ujrcj5nvJC5LBuTG8yXGBc","QmbUaT4znxSQ8vVZbbVfqFBZ1BpoSziDf51aydBKxhwzxe","QmSchmTfC4ywxBe8rytjRkB8mHDAnEKshtgrbxUXraL4My","QmQBAKzd1Ft3L6qhaJQkQQeWv2nQMu2yFbPYWxYK4sMiet","QmSWDzKuuN255pjFVTf4e1tdrnzaU923XpsAxzj9xQAGSk","QmeVmEwDRBK78swKGH7Zw1oxU86pyTEMNW4x7yGFbxf8jP","QmQ7Jvuz9Es2ft75MHnpquh6Ez4L91D86XEa1jiCNcWyUe","QmeeM1DjZ9QQM
qbpyStdFrHwGYXBB2hAfKZVgWmWRUsCXv5","QmciCvpeZfx84cGiWogG9xg4Cxo8yLeyy5KUkoy1BUeLeq","QmTzznRWgjZxKgJs6hP6aEy4TTE2A2Rnimkcj8zAMNG5XW","QmbivZMHifdRqya9CRxz1cu5LCGPtZ3ajGmQYfQpcogy7N","Qmdy2QtDcXTMDPRFTvdJZCqZ49jDt4Zc1xqf5dCDeVfLgi","QmWzttdm3Sm8szjXqjpvWPQ6e7tGGyYCUhmG8bhCB3ggPy","QmeDyLg9xQLQQj5N8HyCcC25iHadtQw6s8w3kmgetQHEjL","QmefY1rJE8Ybiv7t49K8ezUQiajo9ApWfMvsQRrDESMuhu","QmXz2DMpZAYgqovwbdPPCt8bLT9ZzH6sHfcP7YrBkY3kZs","QmagCN9SWcG3jeXdDCV3E3pQE1VK2w9rqAG529iNG1Cq4o","QmUSxLpx5ScGo5tTy6nHxrz9rD4x4eG7un1hv37SWQM
v6pW","QmZYxDvjBFkTD8f3Q9bDYHKoW2YCU36XdJKzdpqcjhpuF7","QmS65shUiBu8NFXfLdePYYupNy2hDZUxdv7dF8qoxAAV16","QmWgmDsqgXz7WiWfcGpfkQVwBk39GsTUWYBM6H6XLWWMRE","QmVuQVwx7mKmsQwjKDTENnLVasRbdDhGkEbLfZUs1Zttgp","QmQsh2HaKEhEKGaSWLgjTyBNop8rBP2ptZD2LGvkMohkXX","QmVH55Lk1iw7jZiNDPVxBhxUokZ8PV4YYQkVhtXGfqfaiB","QmXb6u8AWJ5TgrhHUxMWu3SEGNTXBvVE6jXZonE9KWU2Qw","QmQd5rdati8ycpacj1XBZrMBY9VRdbhDHLqgQEXsNV6pGb","QmcsyZRgh6Mg4LAfMcjSLAAn3mdDyaMAPLp2Esf5MkbGEi","QmdJriV9aBoKMXWZVXqWrYX75yCRUA4u1NmaLfDZgGtLqU","QmYUdFkCSBidJUofK5yjooWM
pttKMj2dVaDCXkWFDVyYXHt","QmXQT8eNE95xpryRcW4b25Wj2gGNw7FRoAoxNopNdqCkZg","QmeBUWab8579db5yBpG1SVZwj2oJnGgQnWEtdZMnk6RWCt","QmTUkUVJ98wcezLb5YZfiHZC4JGKYrSS5arZpfN1LqBVhF","QmfDxZqYPq1o8NWkzkkX7Un5gfg6B3WDuvEtkPHhPgB8ZW","QmXS5tioyNECB9hUrwU59dKjDrVhuNT466Ag9rjfqirJVT","QmQ1UbJg6Rt1vLv7zZa7s756mHf4KvPAXDJ3TzDaFDhibn","Qmc549k8fTfESZSMeQNmbSzjDKCfWtBR8J84bjPYjqgrVb","Qmesb2VtiziDqyRRaYb7UnD3b5ssHNEGwQLhupZcRGp2eF","QmcUDxAtDLzaaVEJqry7ibMDd1Tqgp5Z7Hjw5vBN2qxWFD","QmVSBmCb3oFQGZsWAWj8pGLc9UmJR5ST6VEZ7rur4XtLHj","QmRdM
5Ytg45khz1bMQ7SPPjBWhKiLm599LdXCt4EzzPDeeS","QmWopYZ5vmDi4BdrZsAWv3tSvqsHZ5qAyYogtwhv5SWqg6","QmZFGuFsakgCHguGV3axwBiNwE5ikUjg3PxxLqsr5SPaPh","Qmaqic6Vbt1Mw7KxvVXVXa3c9L4YR8QKUf76BstfgqmwCP","QmVfSCHwR9k3n4yDZV4LxyLn2xfXftN8Tf4prU9bdLBv72","QmUxNJR5N2oh5wPvGz38HQDnSf9dMx5L7XKWhhASsbiUSN","QmVutQXTiKerx592yFYXurFpb6QJ83EggpjwGHfJxqVkHi","QmdesSqT98HAbSMHHf2pPWaeswBbFtUJMWpBWuqaUuUqah","QmPtyN8bqahjCuk3S3T2mMH6zgHgbGCwDjnBrw2xHXM3K1","QmSA2usVaPBCVne2KtRZCR9t9yvmDSfnMKtkfKE5sAG6uA","QmTkT81MbC9gMcxbbRryHd5zJrAj2Y2PYpM
929PL5x8EHDW","QmRNjZXgJJMYpBW1nqR4o3ZmEFmmoYRcgXgsLDRHcqPqvN","QmaeyBFZd4rzTrMmMqXV2mtDSVFAPXofobFh6fAXBPhxRG","QmVZHjuLYyPtHswGJkv1YBow32HC7ztrLHgzfbazaHjp3E","QmWkJt8B4hvP5d2bsiWrrFG3fADtgLuMWG3Xd7BbNaBHxY","QmQs76rv2hCUQZr3p6fe8qF2TeGVP9J9xEqPXhZ5jb57wZ","QmedbmMQHepAm5EmrQoRDyNWizGbtVeoiBPKY8v5sa1kP5","QmNfZBxAy7fA34zf1ze8aUHNNKPbGV4jECusvcR4g8fjm5","QmfHdq3JHRaHCDJQGYVmo53YBEYfcwV6Ujm3hJE3tKHbRA","QmZi4w2YZNjPtkWWtihR6HdJTtZzwLeL87gpYFAz5BgYSV","QmVHm3y1i5DTfJbMKQFyoBcXaUSz6Utv8G7V7T9bet7yXU","QmUMLUtyXJdD3rWM
hFcZ3yMz6rBvkHudmjfQcpfAr5NiYJ7","QmVsG2WbRzCELdKNHjRzdMpi1F89VXEXWg4Q8QydGCHjeJ","QmVxYVoxMKuDJhiHhd4DAQicC9suyphYSbT4jXEqtgMwcv","QmSg3RevP912Bjd9nJ61dwBuWhNTyWAahh8j6vpHoRTprB","QmW6tet8Jh2aAxUKfg27tFsksSa31bJwHAzSTDUq4rJk6k","QmVAshEexpnVBrKe4duChYh5NKq8kBmvDDwNRCp4H4dQ5Z","QmNQ7Kh33NyN64F5HdyHLWsb12SLwbAW7QXKhy97PEqaF1","QmViaPmNoK18h7zB3HwG3DWvYT5t4cwTH2nMrp4HmmApYm","QmbeHtR6VMo9Dqc2w5dgsreT9V8VXYDKUoXQp1hTtEUniT","QmcwPwQvonNDaEBnp7GHBPFRPBteoigN8CYvwMtiGRG4W4","QmYvrhUTAjt8DJru2ci6SAkn5H6W9kyEesVq8tvc4iUcKM
N","QmdYC5Wu1upxj3sxm49qjUjf6VPn6dpMfyisNejFKCHxxG","QmcdwFiRRDWe6VMnmkiQRd3zcookwyJga4FKxKfQ7uNQ37","QmW5J3gb33QQTu8C6NmR4myxZh8Do1YhhqiJ7GZYFw5ww2","QmTm8FQ8rL5AcEhMSoS8whvh5D4UPh4x9nCLT1s85sGbVn","QmcAU1uQBdw2FN5EM3Txs7juCgo2U1Xw5HZW7vHwzYX9t7","QmUvm3SicWYSFJSGYYvi3VqcfLVCchQ323XPcmDDqSspuZ","QmSo249iPaXtrLzjSJEPJCrjHffLh9xz8gJLHCdQAiJBZF","Qmb7y8gijP1P1o55bEFka9v5YbTtZJRAAdKmeSDk7V67Mo","QmQ4LwFg7YbB3Se5RcXxhk8QwUTB3zGNY1PNHU1vSWC3gY","QmeGmaRHjxkBcBgPXo1nEEMmoR7LkvnoXiTPByakHV5hJg","QmW6NmDJFRKx5qoLNHJWhMkGyiM
PaYJVoW8X7Tdap9W9gz7","QmceGW93JnLGsRWXbYp98Uf9wrtZ9FmrMYt4iUdFiYjW8v","QmRhyzF3smHj9oknAkHZzsrsUnh998BenFcv9Vg3c1TaJM","QmWehAdjjsniov6hmd3L8ApRuCnn3vErGzwWAdMCtXXc4d","QmfJsZMxpf4SeUC79rvJDuqCArGiS9h8LuutwEasem281j","QmUaNftJrqBBioEe5MYc11A9LRPYAgLGEYaKiqXj99nWCr","QmcNiT4SReq3wSjjQBDwrXozEuywyuHDp1M1KRfL28Xepp","QmdoCf95WC8MjW1GWTAY233fws9TzMDz2iNenWwtfDBMak","QmZGCpAvpehipg17QkNonWjq9ZTzAFTdVS3KfW9BFc6yro","QmSuSqwtYiE2aw5voL2CUYaarKomKa8F5pbE9S9MVJwuWN","QmeM5Hnym1pXPAvEq5JaEDQpbsHmeusghX6npZhgdTeLHq","QmaP2weM
UGvU2updTLkorToJUgYviwSnCGxUjX6cQYoMdSN","QmZjn6Fatq6RCGiSEEkEBeE8MqdmVGcF1N6MLz85Kzf8Ld","QmTx4fhbCRwmsebmxDpYD5KL2Gj92sm4fxwxkbjfHzGCHz","QmPaXSetFaGhZ9d5hsUeTqvZ1bZTYZTX3nJt35xQWpVsvh","QmascozYcb96Vaj2hqhkn2Q2Qfpi5UmdjFgmYzxmL7U3pw","QmdApWQFtL6DKVrspgb67A8envTXZouBkVWMSB1FuSQ12e","QmdzBdwhoDGnHivL73QDrVgk4T59Dwa33FcHewGDRb46dA","QmXZR9AaayPDKbpgjweRfDioXJS972Kk1cFB1NAyNeEfjp","QmNVJrekVtWx2N6CM1ZnCcHXwug2HgpEgGoiQ9vWZVdhww","QmXB7qBrvtnS6qdFyUzamPd543hceoAgZ5mdLUnmJeTAD5","QmVoT3imBxdcxN9GstFpdhs9KBbwTjA2ZyEsvM
UpRfJAdtR","QmNkkULjnYr6o8uh5qJqpRB117FiqyNMkydW93JsQmKXAh","QmbWTQo3TU1qFbL8pQd1zMGKURE2HFmpKdmCzWSWUGvM1t","QmPdfgetPrSfFirdBmvky2f1nqSLn8orRSMrSe9ixGKow5","Qmd3BchXCxzEhQnahzJW7cUi9rdgXExMaNNA1TtxsuFXVV","QmRAqs17iMgWrWAfivPcoSwwUAokBCJRP9UR3aQbQh1Abs","QmU8MJDPNQi2P52qkmtFvGcm6i311jZyuMLixfiUDTNPFZ","QmPnFNtq3eLon3d4HbC9gfuhsnV9ar8ozvTX99nGzVMYJ5","QmcmCshL3m7jjnQPY9vJQaZMLUfdMB1MwCCXbUSYZKsE3f","QmRAZQ2k49rt1jvzTRkMfLNchLKFB5Scq3TMdDyRdUk98C","QmX99Jkbp5aBS5EGWTd9PPsfLTF6Cz15kYwLKio8rxB73J","QmRz9CZchaP22r4QptM
66S7UFZPirx91p9toN986QhGAVFd","QmcirHy2Um9i451NC3xwEFw1PYMbrqQWRcTPTJxP8T85Hm","QmWg2igSrq6RUae61JLP9ca7AeNNPgh5XB89LWKmdYAGmk","QmYBwqr898MJTu8sf2ho3ZFS4uyTvdL5jBXE5ZdFxqcJsU","QmQ1rbVAYmc4UpmgKuXiNX4kUuKmT7vWVYpV8cXhTwRYwF","QmZf31r4eH56XkkWutzahsPh2uedTEZKeZwoXNNaGHMCjR","QmZkDei2E5oHdcnzHGQZkKHkxPP8zWej2ucQcRZJZMkkTQ","Qmc6orENmRyWSm1mKCjTHowEGnnjJVCDSJcSY4CqUUKfxm","QmRbHLT1ciFMeGdFgNaxviEvsQPVoTvLeWXPdfpJQUCS9w","QmU4HkdUCamiDa918dQhTLHkrTKgums7uromGwcMUS95NB","QmXViNKBuSCe8yx5SWSgKMriDBd3h4oSrowydwaonECNgk",M
"QmR22a9NsRviv9boaDJK2PsTGur2ztmGNRm7Qt7MPceExT","QmNU1nqHvneJsdVcxcX28cZmgqVa2mj8Msw97rYVB8tnR7","QmajpcvpQKz9xMrpgkJLcX6RxqXvqkNBgiwuXHernWzw79","QmNbRn9TS5X8nWNPJbnvCKPwiGyCyCd8i3gKPSM6NCREcr","QmSMfbb9p1LCD8NNmpeSiqnTr4NiNYGauxFNezJVzgLXWu","QmTZsUmoNPUJM8iDxoNRe3YbUpWnBFXnTfp6g1BcaAvjAY","QmQYWFF5y1crKkEteuWkZKt3Jfxac6SjzweCraBP6XRBgg","QmdomoXzNbVTxTZTcaocW6wUQmmNpvzpELoVRkBSf1C6xw","QmXtyVJr7PeQPmMsv3N9FzGndH5ZUhVhkRfzVvF4Pk8TMf","QmSDx2vAUqNKV4Eda1szGWhPvTaNNDTGBmu9gbmhLKqmP5","QmfTvnkzaDaqQHhCUpWo6Z88WwNxLM
P9fEDTagwxi9RnxxC","QmZkX2jXGmYpwdUwaD2hdsPjmfi4qMnKYzuaWLCGWm3oxE","QmfNFPaKS6aX2L4P17irXTLxRBNctLkCpBq7XkypxRE7D9","QmPAKJJqY8SEmguiqvyKw4S8SWf23WW86dbKjY4NSNNfuX","QmYeyZ1gkJppWrNUZSKetopLSWr7yH3CGrDrVEbkAUwJjX","Qmbro9z5XvpxwGfoM82QPR3cnXe2SBtWyLMLZyhqwXjw2u","QmTVeTwVAszXSMPyPnLBgfd8fFiaXUpngdeYiZAPqtXcs3","QmZZnZj7mcdyJh8h93btMDn9YLDYqrcTwA5uYEdiD7tH4M","QmVFTnbwSSdzwWTjZdcugdSySbjbG8RkHtN66MB1krR48Z","QmNRLqgF2d1Z31ApnEq29tLExAyseytzQd9sc3VWtyASVp","QmNeY7EnGZNUdJUb1aHbgNgsbLSbaP9Ffa8DZYvzE1QpkG","QmPwHDQFLyM
XUPFAp1dYcB2MUaQjMuT9vVVyj98GMVMd4KL","Qmb4e8KLqPABFc5Km9UcqLbD2xFrXZQMMcr6Hy1ttkSLFG","QmX2NYfKbVyzyJXVtoX9RGd5tdamWj8r7Q9UKHMqCzM3VM","QmRgJtaGiqve9zkZso6GuvRSYR7XAC2QFYKeChUrfriCZV","QmegEq6DmfBNDTWuu75tPywKZNPuBCvjgt88X7x4T1VsSQ","QmeQH7eQhbFou96TeWwokpymyKdLteKM1YhmPjmFvGCdCx","QmQxs9LjvC4uBykQm2QMqxsQexKXjX4fuxZdF1SeqYudNo","QmV927Jro3pMTxnyViMXvrcBpH3adAbxB98AmfsD6FVfMV","QmWP7GfyGNuJbBjuBGhmqszLZ2tgSfdPG3Mawjpw5dR2Ho","QmcpWqFpwrTewVPSqmy2aDWoeCEDTXBntRTgv7CTkmYBUT","QmQfREcAoKQS3uAeohqHHuU3UZY79mDX2RHetQn6M
cnNZLy","QmQ9SC9MFcRmgjSA76AxbDiQs8w9tuTjUYDiEqwyXiENBX","QmTx9JdTs6VCz6Nktj7dBV8KJmxVf2tdHjrbvVW6siG3Bm","Qma8Hu3TwwTgC7xABEbvLif1VBUjGRvFeGq4kemgeJgTH5","Qma6UjTCS8SAFy8caqiwivCkk4fEykZmNZNiERNpdaE48c","QmPadWSViRqsAZqVvhroqzA9Lg8ovkmvLtbL6U9RJoKtoZ","QmUTXrgqKRp1t1KL6tpAPoyeWM9WzEukL6SBaNNkVoYWhF","QmWQQNrpaRypxYKJGeEoJZtn5WneUngePV3fWCCvBJXjPo","QmULkGKrCj9HXEeE23NULE3s86S7GGL8uiByd889CdgxTU","QmPcRR6KsbQTer6zhZhdhQXqfaUkibD5RtYaEkiyyJiq4s","QmSTj5bMCkJ3RyNNMgQuwVs5q5QP2NxH8Lm57mxLXbkNcg","QmY8C5wfWLmbniiveHo7FM
zcqKzk4QoEAbVAHv4tv4yCcpY","QmchPaixi6jmNNeT5NQPCsu2TWNTwnfu9Czhai6PWGqoi5","QmQvboHJQKVtWCUQAw1qV3c8MivayvN2WGwiG8q73TJ1i6","QmPtcNZcJ3DrBGReSm3Ni5BhnMqA3TjNF5zpMT5YFxsRoL","QmU11C6nwSSbt48xtWG2v3GVWpEYEoz4PN1RSs7R1dgHnk","QmWoAe6tD4XMMfXvhQyzhegM3dFC7AxEeCZPy4GN5141CT","QmbLEQFQVL19zUaKb7fSRrmGSJbiN8nG8KMQArAqBYsSbW","QmPicX3MiwXZHotz2hbhqWnNDFSeNktyiRjAK9qe7QMc3u","QmSdBA8JnAFegqZS8mXjDJydRcpURZ4T1zXyu11nt6Xao2","QmQ3E5Rz8M3mctDo4mcE6uCdbiGQU8mKgQba9dATiKe6TJ","QmRFwRSzaQdFJGTHNQ5b63GtnE5tDSuMJTJX3oUsQUJGtR","QmM
d4rdbdd9sUM9iohVpj3p7svRQqubrjqiR8mhQWieu7ze","QmYxD1Fa4zXfUTajn7mPbnkCvCSHi1xQ38FMQgDQwAuo5D","QmV7WewHndQ72ddBV85gnqUJLznkLL1ZZgqi3AMDBPvBDW","QmRJv7Q8GqrxBupdqwQyRwUcUc3rpW81knda1VsCsD4wrf","QmTFEhJToFfEsjQUJJbULCsUhQYmofUhWehC8x9sGNAoFH","QmT1WiU89kXwki2tjQ1iNxdANTBQCnHkj5qDiqG3VrSGph","QmUfUNC9SoctXeK2hxLJSThzG2svfrwACg7GsqXSnHtTQH","QmfAKRR7ESBFoD3DAiaJr1kEnrveX8ovnnjSoRV69vYKcA","QmZ4jCcTuGwP9SpbG9Y3xDWqvucfqKdwURQ2dg4VmpvEqH","QmeA1HmcP8wavNPZBuZPN6Sg329RK6PVpRuam3oe5tpkPW","QmdzJ8o2e8WUmaeWcD42dSP8UkS8sWByM
XLuARGrbNnzJQB","QmTzRFMG8M5WWnD9DeWwWVMbUQidN1z9KomakuRnzRB8Eb","QmToggt4rAAJ8oPM9zDsN1xy9AcT8yJ81LkQgXCy7SxCrj","QmaJZqPTtQp29HevoqGomVVreZQbjsKL5gPGMorbams1Kz","QmNzvuV4NpGGE7hhHfquGTYAfF28aTFYsnt6vYfYshoNp8","QmbviezrMntHye9c1LUREwqsFpgrTz6Mnktkh3t2YYiaxX","QmVtpYakde5KxAyLkzxKVkKtAB8EazsCYw4cDxhB3rEVhM","QmZRGCMwYHGwV17jfkAG8N9Yg53AkDQVHNrHjpDpZuNBq8","QmXLY4Qeom5B119326i9q9GZKDKcBheMQtCe9NGv8KTMMH","QmXBXMkqjEqK4vuvezfuAM4D7a8HLVSCHL2F1kydVxeQQD","Qmda5i5E6AC9rTamW7HAWWVCzhVCp41Qn2F82pejAhVfrD","QmRgCfBaqLA1SM
Sg9MSGBVJ3BgyXgYpWfszEXTdJwY9u4eu","QmR8vYBrQ7uT38oDWT3HUXiueA2bRnjDKtAc1Q9PNKV61R","Qme44nMVEG6rn4KxsfjHzPFDvff8DAimK372ZpUH28JcnY","Qmd52MphhbzokaBX8r5gJK5WiUhVNPGK2isQdzuCXixywi","QmYkcAJd8zjg9guCqr9eET9T2QJCbHjwLCvZLTBWi7nSzW","QmRDE1DGGWkZuo2i5zL1ckEmeuknxQK2JyCEmChJZanVRa","QmRabrytozXvryhPZLttaX2ou2oNhG33Qfj9gmYkgnjPfZ","QmYkP6a6YnEhufqHZmKqd4W8GH6XiwNAayyK3QsjgdVrze","QmciDnF2WXB8wbe2xDUfPvvQebheX7J9P5GA67jYC9LGz4","QmTfKJ1NDZcnUfkPkcgaPdwsE9vCJXr29BL2KqATLQNtyU","QmfLtBagcGz96yAXMJ1Af4ueB2HVLDH3PdRQmhzMzapM
6NE","QmXp2DtTqS6M9fybHKKsssAwKA2ZXKqQSJm29k9nDRywvV","QmPctybY2rqr9csUXK6fby49yEaRJC3Eh44qfwsVK6wHQo","QmRN1DFWHYE4N1miniQ8JkkFoW2z9UNhuAGedB9EXnBDM7","QmVriqwQShjy2WhVHhfut8RWMDg1JHu91asu7HAse6bwHi","QmVAbWPLW9UWehtGAgQD5YQu3G4jK6HPCxZEVfC8t8m9r8","QmYXNRfu2UYf8knj6KzzyiPqpy6cqGYmWZYnjAfo82aUJs","QmPLoR49qXzbFmHrHSfUwdcUUFXJptL6RGtCH8nNUvrx2P","QmYK9npPKWrweSZ9GjhWzT2e2EF9yNAZvRnYcfB1bbiaRH","QmezujsgyKWcHU1vbjf9qwrCsAC1mDXZTNHjyEmuBaoTou","QmX7bHJFdahj4HopAYACyZhzC7LGCQFzAGyGytR9Duw8jS","QmZDZiiyEHGkQrpQoCbVRJdAM
2KMygajMjXjDeT7yU59KiS","QmNRtHeiLuDGYuBy94QQBjsUzPkqipnGy8wphXBihTTB5R","QmUSGWCiLoXex627qA8zi2U2DqzSBuU3RquAFv1SpiC8Rt","QmdrW9ohVVixpdcCiZDSKsJ8pmtuwJS2toC6mYBfSvUstf","Qmbdz81oRJ8w44tZuR6ZFJMqkwBJcKSAETZhPw7CVe2QNT","Qmd1WNmPNgtGgJWq4NBJxCQCYUsZ5JcYqZqM3iW4toaq1R","QmXx3d2GmsGCTQNQH51N6BUJ6TsJiQDc3yUvSM9dH2d3JM","QmXpUKBKAG6wavqfyukaTfHU4CjiY2AZAP7KLZobMbuU8H","QmXEKcMwmuxJe9urGc15rTVpcGDdKo5fYDN8iwGcUm9dzL","QmYiQCyQo5n7cJ7PqeL2K3CV3jgavRYN5L1w7DHjNTMmaa","QmZJfV3pwh2in737uLjLC8zGRRBC15LtWy5SpSu2KDw5AR","Qmbc2M
u7R87XMPondZTkrcWbsZMduov5uxqHVWuyx9u3KUL","QmW6YqmWWArBMHemjuUTqXezwVdBP3XQHULiuSUC4VSC8s","QmbJzxUMPS3Hqkcxb1LgPGnB9b9vKgsa55rU6Bxj1kuxzS","QmZc1Xzcj6wxTZ2j5ANjLKZPgR76V7JiAMeMYEMath6JLY","Qmais7bBMg2i3ReMGfJkScVuqoy59DK7H7J6rNmdMrUzj6","QmXbh5njz4rVwQJKgx5VkqDsMakLFNyeo4sLizhDa9YJyF","QmTmRz8pSM33CX2wtMb5vYAggzqr2hgzZUwGg96shxGF6d","QmZ8XPwhbfmosctJiZgLz7rxRBitAwKHDxWuyyvc1kU3zK","QmTK2KNDM9ydX54p9iqAeMJBmUoZXEhkgc4DQxyNZKYi4x","QmdiBdxSHvf1yTNU7LRf5GPTmFUKC9ZvhBLieSUSgAvbwb","Qma5KJiYbsgjNVNh3KMGvJeQ3MgZ1K8auVoM
48xjnPpQHC9","QmZujyG1wRB2HqVawxCv7nBH9dzupA7u6htQYAcTmbUZf9","QmUr6Fq8A6rRyndLpTBmfkZFGiRyHzQQaJ1U5gNsfLS56S","QmbxqQnSk5RAD7wX9ZX1GBkzQjuo5YAbjg7Hzwxu72coGH","QmdC4CYZGqyu6YFzyfxbFs6S8yiPyCUVVTZR5grQ4SNxM1","QmNQz938hpddJ2Bq4XGULW62CKsqTsQGzTXxvkr8J155x3","QmPWBCoyvkkvjn8PsgFT3vDfJM4seyELbEmjoAWErPMiry","QmRs7X6TJsQagNh6Ug25Akr1ZoDc8JQqKaY7KyT7GwrNyD","QmXx64UmtkyB2PFntcBpF59saEDgJurQ9hdwQ8f2RUr5g5","QmUfZrSTiYbdtHpAQNYY2Wt6Azf6byrq6cDCZUD9dhyKiY","QmawBMXSw54JV2GFgZuJyKHWcu3gVLU9pepNCcrVvj2fKf","QmNnb3ZAx4EqqtQ3M
QgdP8b28pcCVmqJGBLisdmFoSRQLEP","QmWSYjU2TXGNnL2QSYc1pT46bK2XjWzPw7jPhHKyRmHRCf","QmdbtK7goMMdksXXUcMQvnymKDuMfQAPEgCVGUvv9gMgRL","QmYUtLoUrnd2S4uVhorARtMpJes5DbDBW1RRe3f98Djfwo","QmP8S1QJuxyn1ASXn2TaFnRptpTaYEa1cbJgVaGqie1BUD","QmSkQsEJkfV1Y85wsKnL3hKUgDMZsPTrWmd7wRVU9FKAeb","QmPuE3gcoEuDFeNfPyVNQqQhL2kSueeEcYV1kNzMFpMJGq","QmesPqVFKUUZFVKZvtcBbSkxWjZrKZKfr46Xz2W9mZU34d","Qmb7sGktgQxk3FKoyL1mL4anch26eLCtv1BpjckpbuoURz","QmY42skbzoWL8h2LkcQ2DxSqQ3cb4dc66LBzrPN4x3E94c","QmRtd8wVFJyLZZSQDswXBWfomaE6Q5qiadWhWjKhGTM5q3M
","QmcPd6KMd6HTiEd48S9RygAQ7k1obMsNMAfewcaM7NGSSL","QmQvBAkLN3kjywcja8eHuaL5tSs6zkuyBGjM5ywUX2KF6e","QmW3RA2juYkjNdeYTiuEQVmKVB4ipQ77auWZmRE1cgE9ou","Qmf4JXe6qJ97etoPAdZ2eMxjAKGpNA64hhJRcVyFos7pXf","QmcYTttTLoQRFcmyME5Q3KHZNGDMiFsso1ZBb7hggoQcGF","QmSWcoAUG9FPaB8stNiw6ZmwsDqZmnd2yVYHEynfuAQzmc","QmcjxRhZUH4bQSraDJq6xdTuHSJdnqhB2EdosYPJon3TJ9","Qmbp2a2LChDJrcDH6PdzEPWxhVhk2Vo4kKdMKu4KvRPXHu","QmUx5xa9Rj4E4dMWnyWbuFRWCQqPUsVqqEo5yXXHtG8qkh","QmRHaykrwQkjSu8P11d2uDAz7sgeiHBxQrq5jzazNgTBZJ","QmaxY5Tq89Wtwxo4xk9AR3W6KbKM
ezyYw3djkQKe1CM7pFw","QmbZgMZGk5rbCH1ZQDyc65ZMieJwE68fFU2Wf5GQYS7C42","QmVAfgHcjXrbrwA3mqWXJUY9GJyQFxHtzZQbJuHPrfs6We","QmXZGDpEfBk2crewVheEkN7EimyNmQW7eEfKMqcNYQ8AVQ","QmcpsnyoUKcTSC3a51MduLXFiGL3sFFseqFv4ehjiwc5q1","QmNXsVg7rW93KfLJg3j5a69fmqQDZd2SqJd3F5X1DmkRyL","QmSgYV4Sd38cJPcd8jtnDJEWv64MBD928FZwP5F2B1jywN","Qmf8bqUNpdoQ6wM3ozNoosV4H8eFw6bC1G8mUFfgQfWGaQ","QmZNjAqwQnzKojvdq1Ca3UqDX1cTMqe23UnKEg5JWdXh89","Qme7z4T9hxatz4CFHcvygcQ6DkvchztNWEqBENg9xRk4N3","QmWM9huG1pPYKTbsnMnCmscueSPmhGNQmRUHpQXwqshQGP","Qmbszf93M
SNhYo79vD2iejcbymbAoxG8FvvkKFu4hhhY67o","QmP7bY3LBHz8jU6JvQucGhpaKKcvRQ3XGn32pY7rd2k9ab","QmS1sLzf51Hr16m8hF4iDhzEr1sCZF57WkHxur89zfkXiR","QmbfmcHMVwNuMDYLorkRgxC2QdRfj8M17RB9YwP4KwPsoi","QmTvWaJR6DKbYqmJjj1Qy9wEk6nP7HFCzzVoAaVUSVpeBm","QmeqDLRtQ4Nn82UVE2JcPrkHio15F8ggksMPyEsxn2Qpup","QmQeceAENc3T8k2sNiZPCcJ7N7tvEQ11cyxmZPdrzAc93w","QmY4iBJpWRpVQ6rfBxfKKUYbczUaeLjdGJ45dRwyoscK4u","QmQY5NeZrob7RGCudZEEkSUB7Ev5vDbZwqc998wFFJyWRz","QmRJR6iAQVtq3s297JjQYAXrTmLLsF5YS8TNvgDEBQnCVD","QmeBrNB2NDE5uMyGFiQVT8yxLK1PFwhJ9EmQKhM
Tw2pUZXz","QmTFe8up61S17RpwRzsXGEbFtCsM24YpvnKMp2ecccBeZU","QmQ1rrxhtxrzfKZgJceShNrFkJq4bBDcDc5aYStTVMH5JY","QmP2aG9fwh9nz2YCWuXszNCick6Zs7puzcY36wCDaGAGXm","QmWFyDUkG8yxJRN9VsaBDVen6jp4L4vDAKC5BrthAxb7FD","QmNnQavks5kY5mJU32xkpMyuqT3ir6ptusmDsBweFu6tVQ","QmYHL1BpTm5NqeSvbWoWsd9VHyfNKNDQcTtEZmGPSACrCC","QmZaiJeaehGv77E7T7NHMsrzzAcvf6LEE736TKvscjPUMe","QmRmH9CMwjbC8RhZ9dHoPaFwaNoEEcwp6yqTCUDu3MoXBc","QmYVEPThF5HxPawk8AZAPpZfcuepf2MEr9fZ5GFaWtsNth","QmQXT1PMEWgPEUsMYVZdtjvvjLeD7c33HMcibCfKvBHA9i","QmUqFHeCmZbpcmiBJA4M
Ra9DnxXFnBPMGUsVeLFayaR8pKz","QmchszhLKSRHKZCZoEBCHZRzDUoa4tZKnH6RjUgYGT5dnX","QmPbGwJSkovAYF2Q7DdHJk5EbJePPRhJSznhq4QofwGrav","QmbxR2iNdWzwubEHsDyajRRuShPTtRMABYXBqF3LcPeaWU","QmeNdSBoVUkHsTnVyvqCvRwDW9uS9vVAGvP4djmaAgJKjK","QmZCAzyLLCmnTHwNinies7AuMj6XfyeG6UX9K8Y6HaVEUc","QmQEML5h2FHoygJS2eEEYKzsCCjgxzhPf817gQvDe6qp7r","QmT3zoXoiqRZaz3bS195vfJJn9RjxL2t1gZLQYi7jYYnhm","QmbcQESPN3h9rxUQHKLt1kADFNu9MoXLpFaLTaCX516rNL","QmQ3iJvpVEWehNVn6Cuxwht2swev25cYgqD72i17bAdaNK","QmU8LAEBwZMGKRCTCJADQ3zSXteWFVWkoqy7kmXvvdyvpf","M
QmTcHpD1t6eHnY7JoMVecvgYpm56NYKWHpddX7m2tmMN9r","QmV6D1aC9JH7Q91iZuXX6X19V3HQ1TjoyUajyzZ1oWiHsN","QmeSqsNNWMnQ3kAbkdApTb7cdLKLb4gXWgqKzRK2Msmq2C","QmRb7Pc2XZaFwYQHkvBhKiJCk2AUs1pm5JWLByYzdBX16Y","Qmapu6dye5ZChDiMVxL94FzYVSHMjf4NTqxoChAmDAPoZx","QmPgRExPmYaogyHotYmYfqzH5W5urkHwnr46USPtjpcdky","QmNik9r8KidHRfqT6E8sdAHR5Bgi41ny1oCCvEQfMvMNjW","QmfVMqyy94jjQE1VB2FYjTLXNBQFpFPoSKNiUnGMsYwdZL","QmbNyyRF3MBAQG3xHUETzqraZqNueRrQnKQPAgkPcmVgdw","QmWDQ6yKvwddKuYhacCkuvSEKr7U9CKxXGGnfv8UBLX35k","QmU87J4wmUV4CyFMLRaZ2GtZUraRBdM
XDtibYGnJNftyuQu","Qmehu6PGLKQ9VrDKDbmtNNZ7N4d4jvwhU2G4dGU3LVpTa8","QmfHgcCZ4i5rBd4GVYAY8APgqtspFoR2TQcXWfa1DZoBaU","QmRC6Wcw4wFQT489uDEuQQW51rqEViQScVtTGkUVUhkXPe","Qmct19raSf77DBpJZpc5wNwwLCuh4GqEs5Te5GtZ1a14VL","QmaEWggqfomaP5PxREgg2X3CLpGpRu4GK9Ai8vtQzjFo8k","QmdtRKUeTHSHyhRKconu6EEuD1bXnGujQx7GFLSvQAXuJb","QmVWfz72LFPMcqy7zGUtp33qmUScFreSVdz2MZFknWPNga","QmPxm4BTPfW8fqQfjwWsSS1VwQM7JXJySMihk1FYkrhpje","QmYMaBS367VhKTU4KcuC4BGt7RaHB5SoVQV3ASUJezwAXy","QmQG5F1RH6xSwJC1oRfPzFF5A15bUcfofCuxSQAoN17yhi","QmPhmFkpXqhM
Y7X4Yqa1iFg21Ym3zXoHFUtprXDYFwBc8GY","QmQNYbc9uebbqqpqNWT3LbXFBYpPeamhajvHBW5WUd4QMV","QmYRpC3BRyHdCYSdmtBsqJB9xwRK4AyKNkYkASVGTdLMUV","QmTBAjRjxDzrr9Ppj3HUQrh7sMFQY4kC8WH2ULjSj2qkNM","QmZW6rUKeCRnGmNZ5tDUK9ibt79BFNWNuZ89GwKYCsfqfy","Qmd7kotQgyXnNMJSzD6TK3Q1ES52Y6RJjQcbRYEpWQtA4v","QmfKmpuKwhjEPm4FhZUYJy93h33iSxWKpubA6pM2Qp8LbP","QmNpvzZej33anFcSNkrzAvFdZU8WbPYNh5im1znq4MeWU3","QmSWprwAp1KySfvn8S8kDGSKD7N415Afb4Zvq6pn2naqJF","QmRXwrcPQrFpiTHKS63q2CRXF49vVej4FZ1AnzUH2LSK6o","QmQeCEY1krxFhkbv222xyef1URPSWrfaFbNkcm4NRM
bDAAV","QmW9TKV5LGTuAGx4DTNuNqmpizpvHWBhU3FHc1QVFCovFz","QmRbgp8Uk97wbN9APc8b7r8cqBojco4VPe73kAh7GzxJDL","QmZa3YTBJRsL22TMx3Y2y9kWktcfFX4rtZtXJ1DPgVBvKt","QmYagkU9SJkXZhsUvE4bMUsMAv8Vk4W8A7jhLF39gJbM6F","Qme7eCSMssp6ykmdP6A1qBvYpAWS85LYBokcg5jecUTTdX","QmW1CmoHZNwt3tZkfv1ruY2d54y4GMQLBqthwxkVAsqyCm","QmYfKZVcyUWtfwneUKfXL3qS2Wby1R3WUoDGgWDCXNJy8Y","QmbtfzxYFReedcCZ3bUis3zt7i9FGLZDGdFuVUFVVy4CbZ","QmNaHBxAinVY9vDnviHMyAPQ1ZsevG8CuK9qu7WQ2nDRdR","QmYyBKY2LGGUUHkmvs7bVfQpFNxLdjnuj5wZtFVBjCc8Y2","QmYrwM3XEDisvJUvYrA4bSM
F7S6GYAxeEahkoiihp5tKQYf","QmfSgcFBZcZvUznA57TNKe7XGNNVLwoQP97LFxiW4yyiqv","QmU86HvQ7AzJjNUuQqbD1UbKhMnfgzW95tzBWdzK133BTh","QmSDuo8LMJjnFTJPp4GQ9Mss3rgX2BcR6jwEE6Guw4UnvV","QmdkewGTvDUDJWXsA5TUHGfKQuVwVqeHZntTPuDWM5vfcT","QmXHVVGW4NxEqL1wC8786LJLESYsqMtzh49MdFqmqvKphR","QmTKbyvWzWvjDpYreVG7pQF3gcDR9qjfePPvJL6TVXT9ZL","QmUBoBv3wkXjU9KePqWsXuZNqcY4MMByueqWTWUk84x4C3","QmPGnLUXzhNgt8mtjHJ8ijU3grQEDYJ4cYSru9jwozH5uj","QmV25meFgNdhMC79iC9qKkR2XdBS2KiuUAHoZKyYtZDRiR","QmfCm4N5ia7sAo6t9ZjQtLH5geuqMCt78ByJFdk7RKpHn6","QmfM
7bvuj2SbkWWGvN68A3VJRDAyrqgNqfK6NCxePjUF2no","QmSUNFqMLhN6v9YfvYE2g4X95D78XmZ76GZ7CQ4RrGc37p","QmfUBJjqCMuPPAbSJoFgrHGbmBYP4nmiaZFEh7tJZsfcjJ","QmYdso484NzRjoC6CQ8gr1TkXQEH3h2xS1uzNn9RRxPUNb","QmcVNumAvP4kbdjYg56uVauH12MFys9YPXmc8GnGv18ayk","QmQc2eiBZF7KKtyGJFo26uTrm9JkuYGVBaHnrGwHiM4NBA","QmUuqxDFkn627xEjUWfoA8HbZ8DUVNh5QDYUftKMRwotPP","Qme7H7hFXd2acGcTDzqUMbXePsAYFzbRQAE1yrpwp7zdwW","QmQ2cjBM71CKZp3bWzW8iGjg5tR7YctKnQ5Dz6EgJgjqrc","QmfKj2TTFAntr1jRZZQmMceZ5ufUqrjrhHomABVHWVG27p","QmbqCxf49fcfybDzEghkApBr6LEnKyc1LM
dp5HpQUomYTyj","QmcyHxk77Gu1DxBh8eghCaov82SLp5fBNh9dkQRRvLsjBv","QmWV8rZJVHv4RhpqGexJxUt7m37JeNVY8CtQq3tnWDshKN","QmRsUJwbC3U2bwEmwREWkRYfyKgBa1AGhqGbtyioTuykuS","QmeuuRpKkUULJLwgmUERxBbg9gsz7VucNqYknt9NY2K8um","QmWmzYei7tG8BJac5jjRx9DBinojnm76tTeQ5X84zSfoXo","QmfFqQZp4fDZQzLWymQwadfAySzUbuLDHY4mK3Hz9J5u6E","QmcuSwaoCeaQziMP9UjwRDo3oR1bLEi3BLTNnJtgvmhFVm","QmXodoxoUR6vESaikcYQbZmLyyytBEWF2vMWBxrCdet12s","QmZrNjNXGFu5roQPs21eUtmcP1vLeB9W8vYWMEv9esvRm5","QmenkeAvT2L7P83KjFzhdbk3EZ2BXKwAdpER9WMemvHiZY","QmZ71V7U1MENDkM
4z4phwcL4cYbiXVymmZtgevns776Rb5T","QmdnVu7d3LDMZab1PXLJ8AiwGWaRnhKLkPrPpfEJf6zmwF","QmedpzZ9GQZTZKaobvXBsubZtsYB9ywi2JhrvK9MCxGdwo","Qmb9FPVShzW67QVMF28bkCSPyDvb6gxKUpEmzNG3N18r3F","QmfB5P2CuEJyMLtvpzMqR5SDj5xHna3FcWyo1EkNaCi7iG","QmU9ogQaJS7cwHmzRNr2tLFGjU8ssN6wb2mJcJLFHu1Q2A","QmZmmi2MXRganv4XWc9MuMoQtmDS9KaoB7nTtGjvJtujK6","QmX6WFjzeA4SRG48uL4M2m95ATSERAefTf6aQpyQvdjGkv","QmX59WDju1G9JE1MGYFxviYkvqdkuCNRc46QNygEojnm66","QmSfuietDmQyJByrsWuesG6ZmiAceai3Q68K8t4MQTXuyK","Qme2hND1C631Zok2U5zRd5zFHaERt8Gr4wap2iWkEvzxM
Ue","QmW7DmfqDyLTe4MNDrXW6x1xgz9ofXyyXzBvCbHM9Z8UnM","QmX8v8nJz1A3A7is7CXHNF1BnYBWbt6NgvBSGQv3mJVfvB","QmRovorkLeGfxpgehZ91JmGQ6RkR8eg7zmtbpkwK3YgC1V","QmV24VV3J6ZX4Vshz4gJa119CGwKGBtVnJomyK1LAq1Yrn","QmPEmy3bXkGoDLL8xXc4NtGMoZZLtkA2Rwci6tkg8ZJJAu","QmZsBMbYHqeBRsDfr8i9stSe8XDgKEeAar1u2ZpCKPPMZN","QmQcUsY3Eu6jsYNsebK783virXvWNxeEcANd1WmVbyT93V","QmZAae78YK8RirScXMCfBY1mTjBg1iRc3t5Psi48EmMQts","QmVJoV1r8svSZ4N79bYCq4tuYcVeZHeA9uQG5XHsNwMxWL","QmYMuR4yU14exUoLmEsNWZy5ssnayXQHrXiDW9qy2TdHHf","Qmepipgcf4B9StAfGShYcP6HiM
2kTWQZyrfiv7W5T5ubfuA","QmQu3Zuww5P2UvKuWrojUs11PgEsgrhMP6FeVpbN8yDamd","QmTBiuSfCMeFF8gJGNhH7i92pQ7mjj1URdpMUkg7dKvoop","QmSiS4Ryzcx8AXztLMQHScDKr9Pe7cSQDBnzVwyMka3EVU","QmdrLRrn3b8nSWp569tq87SWk6ie2Nmk9zgXyFPisBYQrr","QmW1KFLA6efTKXRVr1oFmKnCNYaXNxoRMWug394kus8Nec","QmRTzNtMz8fn6TebqaNP22sKvgtkwo9HsJYJKmpxjr5DPw","QmXds5mwiHPP3LogUSxuMVeir34dJBjwppyToAfc7ZjHjf","QmWBhMHkWXJfKYJ9R2MvaK6teMihf5uuQdQom4wDPSRbJw","QmZbWnp38V58kpRvFxz8RZWHRYzjfjdMv6uuuJxZU1NaqM","QmZdGuSyPQYPpL4jdSnxxJ1e1V8K6LV4hhoxRTkUbs7com","QmQC55M
qv8zwwvLyo8B8up2baY5LedUwVEWVCGWZd8i4ouU","QmbVdqc7JcShnPno2PmkmstNXDnkJFyp8qCNSkSPBVsNR5","QmXr1hk4DoicuLVLbz84gv2zMJR5Wx7P9xHtdSRWpqKkzn","QmbENDn3n96svGpWBT5AsPyJnZMY95yM2NCkgmxcEeSrHw","QmaPRZKL4cVMNZErRBmzSqYCVrSgjZcm8QxXhHSBD9CNNA","QmaZrfTBmd4mu33uatm38htxZMHSYq6TE2z2E54wAwib1d","QmXKEbYgXhvyo43BLxBX4QvMVtPGnZM8ZYNbSvT2yP39Ud","QmXzdANco6hFeQ8zvRiQAsByQ64HXToW6JLA5S6umEn4YD","QmRsiAkKNB9vAPiqFJnGaTPWZ2SRwv4HMdX19K1i7vGmXy","QmQGMcYShvjaUq9QqxvrY6ZMHc1NVV4ZPPZSP68JqU6jZY","QmeZgugn2dLW5zmS3THokAbZ6KavS6YY1ZgnM
EcMEEJrpVH","QmWfmuYEtcUupVtGHa93AzjSGijSrDWNk9FeR41CWYrccJ","QmXgZ68qMvCHQVSMWMkasoi3b4cSGmbXEFXxCV5KUa4xPE","QmRzyMejDnGbaQN5hHCCYW4VDYpGessdUGUXoEKCCUVnk7","QmS99of5x7qq2pim1qh6mk28H3V4kso3zCBjS3js1zTmqE","QmX18EX18rBUfhLk5AyRMU6brGWApmwcimME9ozX89vBJY","QmUDQu7fPxraM1DEhDsoE3LvdnY7kQeNC6sYbsEmxf3epR","Qmdb6cFcF4RD36dZk4Ch6moW7dvmXVC9zHNbB5ZiDvHFX9","QmXdcEXhAk4yMp4zPxMHixs7vNNxQ9c97pDK8PPzuUgEAx","Qmch6swu1J8JAE8RkqyKyjULd3LmGKp6bCdoHXUA4mp5kN","QmaqPvvVAnVg6cnw9MFKD8XZaXXpkhFnmzW9YuoKV3e4fC","QmVjAB35nZCRqxC15M
2bEKn7k5wNgwkkYuR4WJ5rbZwdTNg","QmZSG1cXVpBeYfhbD3t9HiZPvbXX54LoMsVTkpAKmhXFnT","QmV4KDLqxGJZ7sYxRmdvjCaug82uCVqzVt82QfnxRB9pSN","QmPbPDytGpgooLZUPBQo9MnKuKV3pc5TcfNXyBqUf7W4oQ","QmbPNdKY6Z1zRVBgCsBLntZju6QhUYdMgQpqNLwWFgpH51","QmNwBsxMsib1a4suFTV7BR1pdnVQGsvSNDuxJrbuMUvwKh","QmTRPrTBdqta2o6jSxi8dqsMuNoJap7qYjGNEWsKdP99WZ","QmNQMHPExZdk7PmJvSWpe4TV7pcPH2b1qUmVXPhcADsEoj","QmRt1bSVW1qdgX1Mo4cbmHmQ9FSFsp1K2LyZanwp7cN99t","QmR2qRADxEzk3Z7sZxgYTCo1mGFMjofCJNQwzRDKFNh9DD","QmNub6gnWnFbQQWxhvBX4UQky91MeMTQsMcaHM4g9Db9kq"M
,"QmU4YPL4paNUTZ9dhozryQPsAHuaxcrWfqYxvNfv2qe4MK","Qmf2oUY1SW8iYwRZBzNRtx3eHvFVgkMeVzEVMpx8WmZAJg","QmYPYo5qCcP9zUuho6uFgeWdS3XWt9zyzkbXeFbLchVRUa","QmUPax9YdhPF5AXaUeTPRGgFruQ9VVjhFnz8owCCQVoqHL","QmfRTHcJpG8Dd3tdcxeqBQojKtGbaN8DVWFaZLDS5cpiq4","QmevwgaXZxCLRL1v4NX85j9tAe4MBrg3BfcbtXTbtnFi95","QmdDqsMKCrYtDW9PWa4BXx5hRxKgCdycrE7U9w9JXAhdvo","QmcqsVLycJo5xTDNNxThHagKMRNirTmEjrFSs977EU4AmA","QmWocdfm5hoXb1gXqNLYAsbSzjCRM1sb2B3YnRWWHnPmwp","QmXV8pHEE1wVQGz3yT5YZDrvD488B7FhaDr9FF2ncKwbAb","QmYwFRi6uPwiWkAaTYLF3qG9cD69M
6L7ibiBmdgQq5jwUT5","QmXVKNj5qn1fKoBUrG4r7x5n9LzRvGY7AJ3sUubttZkzhB","QmSUTuev8CoV1iyGgVM9Br82sYCTzJCjhe1gxgJpfgzDAE","QmWsHrh7Te113NCy3Atb1XZ2auvCAADiqP3oURKYjre2to","QmcJazQ1hS6m1xYWA4VGKpCQepcSzt2WZH4WWwZapZpUqS","QmV3WGGT6CLtmJEfgZScLKhaDcXezJHDixuKioMAeFRqwK","QmNZPniNU9NmSzQzKYf1Gxnxhuoh5tSXZrTPBgKBbN18sV","QmTyMzSX3oWHsx2y5hqrYtwu95DeSY7HTbhvPSqdGxhDUF","QmR1CWU879KpmcP2X5mwAjXqqXvJhAfCPq5JVtvFVmLWvu","QmRMMnDdcmY2HaXL8fhBZLjaB2mRiTLgXurfZ4JCiJWfHf","QmUr2tbtUkQMHvqYxwT5UZeBaSWsKoGThWWdKud4of2YZW","QmZQd7opyM
oyjPUqDqnzX9RNiTJP4oG8a42dJSQqxtdNzUd","QmUHiJKH6gn6gKY8aL9ofWj5zkyyYFhw1j81qRgET9J14f","QmZweZdxxm9eriGMGXguSgxKvkgTCE5dtLePAmAH6Scyrp","QmTuh6V7YSJzau9LkxtfR6ffJmv776XDmucastAJNWyRg9","QmPZ94A9tRetzZPjg8dytMRHU21MzzWtiHpQiqWvbJSbow","QmSWyrPEc731ztznyszwtsYdH19KMwfdCLa5kBdPthT55S","QmcxCkiHauFtLp3q58mbe61CH1NDnFn4kNfpQExXJq9mNG","QmV6VZVuhUVZ1tnHrBPaFtBuT4v64dFbXDHBcURJDHMW25","QmTadwYVxuVHhmJtrUfM3SkE7FEMJmrfmAH8XmA6DvN7XA","Qma9HdbrVGb2jA1XbLhiCBEVKphRHp14Bm4LKJBd6DEC6V","QmNuZ5QwoymWXuUwLXeoL332BevpdWyuCuukBX5M
k31z44n","QmQcXFTX2ZAH1sv4FrgAU4XFkxZhoLc3kkFkrh6Q6JpYvW","QmNw22nD2KCxVevpnRiuV848fGzNcmx8RyFoqr7FyaaEhD","QmUABzYXBJTLtvK9qMrsMQkbNsELTAzquBEyYXYr3FKYef","QmPoauBayEh2JbP8jmLZ8oNMVS89ugkxQqpwy8mYFmAGpb","QmeDmXQFH1SPKHrJ9xrNqdHfDsg4PsYqzBV1V6UrsCgSB7","QmeKkt7uNApwcy7qAqZ72hcePRC2wfmpeo6VCYke9ryP1Z","QmYXSUD2ZVKnV1J5MU35j5gWJCQrK9KcRA451a6xi9M1SB","QmdR2o5tWQXR8EWtJD3SzeDSNYmb6DZaURT6vZMoTg6Pj3","QmNQ4uWWYoNT9A9Evcp7rxzcHyLWRgcsZpNYQ4KFJTkpRq","QmRwwH3xUnRty4tLAzMh1jZZaZTRnEMTCXTQi2CtB84apm","QmbAp6y3mfsKKhcaHjvTM
XczRTYVWaRDQ2gLWxzz8DTkYib","QmaQr9eypPTvKk4pPgKkQ7RdwDZYvgLmEDTnKakhvDqcjw","QmXRRVMnHTwTHnmBVBpc1iWgfp8T1osHVpCGPYaRwPivxH","QmY1biKfzKmRqy3Vmfx9uQv7HG2NhXtoLgXggPTrrd4UjK","QmQUR6TjQ18sbYBM1ftviKVnBBP9zpTxUEThY1HXhY8CrN","QmZtnLRs2FpLiG3QArq7bXFWwJhRvweDbLowmFsbyvuYxi","QmTYNNMhfiviwQUy8BUTJdSPMQ661rUM9ipaErqWvLzv1T","QmWXGRo7EmqSF4mg2TiCvDNXUj3nkesnDe4LFpdHS7r2rC","Qmd6dzrzTqwMLXvRB4hZYw9TgxFim17qXbWTUdQyNxdxNy","QmRQgWcryMG695WGUp4XXHdYcXbaFYbek7TmdCLZLvdDfN","QmTEkRvmQpexHAxuM8qs3f1w1MyMp67r6ReGeMeNNfjzfN","QM
mctRCN6SKmgzR2rJQVSKUvmob4ZX2C5cKTqyQ9or3hX5z","QmTfm2j9UvhHunDoknyrqM5QyqpTLS2zcDCeYv2Mg7bsoj","QmbbnEUAfvNZqCJUHUKMvogxYZvsK1PXEWcLVmFjoyhMWz","QmaSo6wbMKHthxgbnuRQSmv6Jk1w1dzji71bXzGVtLEUxU","QmZbBoMfFLpd7Avqjz2PP9dnh9WTUfq9uVJ7MqXMe45vVZ","QmTLU1U5ADWiXgs2SYA3koEgyoWecCXVynxtt3dczx8z5Y","QmV4mzSkhhq5eBFpe2xrf1GiFhSqB5wM9AwPYPJApektcN","QmUH2d4dYCxWRY5kJFBwYrkhK2EAJxXqPoQAfjpyftCV4m","QmTBcZDWqMiAUcv3jnFdEBJwWiyA17Pi9qYBRKgwPbfaqb","QmTShVN1AKqEjUH6nLtWigbqkmBfvZMRtimD2SDSfU3Wma","QmNPCTFQNZk6bpAPWUEmp81urHxrH4xM
1M5iNkLPPLRJtit","QmedWXuEVWNXboKnRBTzVuPWvjfFUc5HAKXHoMppBfSCkj","QmQhAPGoTcsrxPPRgUUFWsRqAdicARyJtyoGFzMiesAUox","QmPyhvnSeSqBN1LyGie7LyRLvFdMreiBnwCsTunx5ziocC","QmakyMkuzY9So3Mb5nvBgeuU2ix8pnkjFyUNGj7tjo68pa","Qme7V27BU2n7L7Y27FKAc7KjSDZ73mu4e18RMTwmH9G4s3","QmYiwVMpfpwzXrSDsoHvA2EHHeFaxjYMhyWuoSZDd2nqdR","QmVLtnEXFS6FvAzXyT7tn37wEQ5zmBRtcyeTKBafkFuFbk","QmW2Q66c7pdRfAN38RcUZ87Qaa19FF7GYq9ryM4f36KKnw","Qmbgb1rjaDMSdtKCvyfxEuZ69CNmmng3beyrd9niwouMv1","QmSTU85UzM4D7FKqEVMsvQ9hoayCPGBMTfvTAyAFrERrwH","QmSgoUK4tGj8M
2uUDFqQAubkSzipkzq1p6azJMQokaRdeJy","QmPR47atvX3KKb1Zjnr4txBjeM5su2VGHafro4H4Q3HNRH","QmdcFXYdnDJYbRyrseArbh4fZgCxg888UCtpQyHcbBeZ9T","QmeqW9GwpUDZj1vZfgMAnfUm9tDhLD5FxQNMh4Tefq1Fp4","QmaDn5x2mh2serX4ZHhVL6MhqMAga2SK3gHV34UmzQPGAB","Qma1Tm3Ze9mfzi8RafMgMU2pi2t8GVtHC5DRxWX3eWyNxE","QmXhrmXdSkVaoy1UKtaUigMXev4HmnidRcN95E64zAncAJ","QmXruzqBtLEgjzdVNW4zpSm6mkVpJjUsoZcJca1Mce3r6Q","QmUZ23E8zZFUZtuKwEJwo7w3goPnjCrrYPvAy9wR984dfE","QmQkMUXKz3weAJX1k3AruJGa7DFX2m9VgP5Fm5JrnxirPB","QmWS2rZCUEsoUch9vs2jXj7gMEs8HhTu5TBZpwTGLiM
Deyt","QmeJsgTECnK1YMAuNkNNpgW4anHcEB4SAN9Bybc4mMacrx","QmZGpjWPjoMpvcJerSkyBLxMbC19GbKRjKL2SBR5bHeTST","QmX7cmH6M8zM4zwLpyL2NWRv9GHEJ2isYDAUUEQE3EprRh","QmTFe8AYzBSWofENCNftX9VHRrwVsvKfLW8dcdX7gtnXQe","QmP7pZJdnzNzh6LbXD7KwnzoMurJBCLeZstja3Waf5naNj","QmbixxsTZp6YNo5evas9v4cvXEccVpv3savA2KREXUiWHy","QmdPwdjU7TvDgeh6KQcnyZBrhUJ4GYueshxtnz7xzF4XP2","QmeZnSWAmpUuMy39LVQ9iBjMmYZgiemx3fDaDibUvUJYXE","QmePu9aTNShm3mftFuEU4cj3BfXkHNeSYYhuMMmeS5ffNz","Qmd5stR2gYz4w2r8YjPL4dwfmUpUsoSVwCSB2krhyZyMHN","QmcJvHNnwYBtoT8U57uhqAjM
DfnzmDKQUxHPUAKuvTMTDBL","QmctYn1rcSQU3jRfHccb5aREDo1q7mnRruiKZzg7ri9Cf9","QmaUFzArndDdnbMwehHue78FaFwhMeKiM1X32n8qM3bgnS","Qmbwj52rtSAyS2ptZxgCjQD4DEbceEyuSnjG1HCNh75yGS","QmRSpJPiSkfEDGjUFAt5G2rcHYjJLdr2SAUqLJ3xQGjP5E","QmRF7i2DaqEBr4Yf2tzEkXWQ5euMUTUaPpLBm4f7wRVqJL","QmfMwexBjGjLAoX5ZNeD755urPwBJ6jSMYxUfcJFaWa1rk","QmfWNYQJF7wTU578vdgCkM1TTESzR4XPp2acWYZB2QUSqu","QmU3By8wegbkizzv6NHKxE2MqPVzTEXm9vCUaJbpJDYyEa","QmfQdxzX5yS4kZxFYZFhaW6QjWmLqbYexLDwuTZbV6Qn1M","QmNvdpcYQxKcxawFBpyxAs4PLT4jHk9vbw3AmDu18NSUEG","QmXsM
jc3tF2bUB979uubw9hrqxN6bhPZ3cd9gBLPorMZqsT","QmRjgHCZxPWJRR3yEHvKnB7J8kDxpyf5S3Gm2LWnXh8a28","QmVFZrnP5XnnKjg8XkH6xGy8cm1REgLTdgTfwei6yxt1VY","QmdfmeQn4ZiCRRMzvkZ5oa7Yq6TsLbK4CiDWf1GNasCVu3","QmUi7tNYHfoCvR46oWyV6WAdcMFcuSfwxThRhKWpCmCmHp","Qmddab4NQz5EfYRKC6GSqHCEbzkgoPraPVUxUDrbUkqAGW","QmXN34zwh7uft1tzxX2wXhhFh7N2LvzMbQcBHTtAaj3rod","QmXjm4iLFqJurCzVEvpsQLPoXHqVDcYCFEH21TzQVEB5Ed","QmWUWRWwXgv8vxWBmM2SLAbmvdFmfJjHYNJw7EKxXvYJvS","QmbhG81rWHwebWfuBdhxx7DeBgjBhNiB6cwyJbvkHRPfL5","QmesUtd2DSVtEGSewBXPEFaWjsieuctJHKM
EHVv4MkHDsVY","QmSx53GeEhbCbFWiTb2bzWJ1r3fFihscH6t7itaEBaXEhp","QmcwbzthqSrbg8mjwSu4YkHFLA2WB7WDppWg2Yb3WxrwLK","QmRGabTwbt1yuDf6rVV6wLgFph1sL8q9UL2K4RpcMVFkSc","QmbJecMLVqHkZ8F6nVJSK3rNBE4uw6rb6d1yZzZdeydk2n","QmV9VEjWA8e6bAeQsokLYCZqk1Eaf5u2zwQzeVEXevxUwx","Qme1g8yQ9TRpNpfZj4yGP7RKdtRxpU3WXUeUcXwf5U4XWP","QmcFLLBMUBnkJa2jxhuSr5zMKru3PEFWXBVhkHDRX7EPNv","QmVhWSnRwnadN6kKXiEDqVQvxp2cbRBcGBcVy4cm6wUrWJ","QmY7urSFaWJT9GmtB9DMWqVEKf2RPP3qeuiY8Ud5XqAdcu","QmQ1qfJZDkATVvTwidpJSDvsQ5LfjF71CyTUopkGNWh3dt","QmX7qB3jJcM7XmjM
3zE33RGsjUwDcxVxKnQV6TxyEgQcTVB","Qma5cMqfrzqczaW3zFAkspZ6TQHufKye6vbYW2aMq4eK4v","QmSMYkyvbWBNPWygU4sUDLc5APu8fDoKToMazefXSLmCX3","Qmdy32KnV6yt6pUhwXGErq9TX4NUFcBg82ZRDmngP3Pks6","QmdGxQFg9MXMyQmVSrHmaPSLSrRorEwf6L3m1C6ERB2BtN","QmcaL3fsWtUfnBZjzbNrGCrFCzX1vWBFjQgzRqrLn9BHc6","QmQ7mPKeQSfyf5DTTUDBq9FJqwn4JukrMvqfW11FgYdNa5","QmP9c7motR5R9aPQqBQ7FskAq71b6tVEPuszj8LkduX9tM","QmeFJN6qHDSHgtJxCdLf7oca1BYzwQgezRuvgK1jwDY3rE","QmU2nLvz1E7AZKnYhGDLv3fdDs2vLoGjVei9nonnPPsuwd","QmQBTD2FPtK9HhyrmMGRJzvhhu929f74TQmTorDZpWsMvM
m","QmaPZrbmB8prFoG3TLhgpNjtLBc8JbXjjNTqC5gxH2CwAp","QmbKUJcu2VSCb6tz2tvmytPXFPKqKFyTGbZnXSab3DJs6r","QmVtV24b8tw4asqkDbrCoJ15uwvTYJuWRFv782YhXxYWGa","QmdDAZPj7QPWZyR24YqZJhRip6xkKNf2E3VPNz75AFJHoJ","QmciFRQS5bfqoMXyJf6ugPpf9taE473Ez1jPvnyY4QnKcy","QmeePGGLk8cTP8QCAHjEB6bTZpCEfjiFRYjpcrHMJGMPS2","QmZ9PHauDC7NBVRYR97CQcz8YaNJeGkUCNCZcXC1VTE3LX","QmXsvr6ohAScijFBFrahRYkaXiV2ZBzUE7H72eM3sLwg7d","QmNPhfKdhSVZawvBrEzoU2Kw7Z2RP3EpeiKSQxrBnHcDt7","QmSszvdsshrLHRfetjD2MXp8jScTAq6B5EKiwg6rYrwqGa","QmY4FCPQP25xKsmLhZrLnr8AsoM
x91AwJ3YLHcevWnpG4h5","QmYKMnsGdbXqWouGE4qJGJ1upJj8V87jhrP8c8xRziywCE","QmVy7japi9REWt6JJ2SiiTSgH6oTGQW5F9tQDDphfs3RBN","Qme54WTHemp6Gb1NwdTRrVN4FSYLX1VPHnAL4mbw8tzqcZ","QmWHF3NHRRh2mi99yrJmDtHrT3Y1MzUebBB1UFSF5fKLqF","QmfLRJSJAN2Ey8ircjJwM4AFPcYaCickgfc9BD4FzQ8sVG","QmXSJq4VPWNegWwzcdGpvGb2PUWJbaKBcUB3BNK6ap4XNH","QmQo8c6sX7bDNaSCXNj84sMWnkdcxhf68oBmfWfF4Vcbe5","QmRDEo6jn44UAZ3JjuyhWsiqKqrXoR1Nv8WSootU6Rma7u","QmUhABKVXq6fkWYZCoqbfCNgrsd5JLNgxCvpewHXWZ7G6P","QmXoug8iDa4GWPevBCctheQSRn9AZdyAbQzCBMEytJSbuw","QmPk4rGM
fnPV7E1tLEZpyaNNp68oM2XUmzqAfjkfLhR27GE","Qma8gS4Lt4m4ycaUN7SPTcoZn2hW7hUsuiJhX3T9Ptrfm1","QmSXMVcamCt9MrVob29DCYhoUsJxvgvtaQ3P4LQNMkyFJo","QmQHNL46gwqguPNMTqkZZj7FRgxXhxxmpKPa9GxQGxtWq4","QmdzNzCjN1AzM32S2dkV1wZLorhhP3AvTDX6bSeCqWAAfY","QmcMwN9wPTSTbyMMu4DGGmvEFokyFk4DR3YnLgEup3EerM","QmfYFDSFPuHKCZhFk3ii4SG7wQhCgRbQdenZozEXBiXRZc","QmaYzaCDTqtagyhYdBqAo4sEFwFU5rpKBdwHmNRSzRnVpx","QmbpgCzK44WMeqhjSL8QhjEHZ2Y3WPhWLpRbDAFVDYwq3b","QmVjM7bfi3dsKt2hVBJciVFRzFQaFCCuC1PvJ1xfG9nHaS","QmdY4y6X8eXWoFiuCZ1ezTJwnx6QdU4iwznzrM
afhBJUnoN","QmdX746U1qnmx48GG5k4YwmoVLYS2afNp3vrM8ag3z1Q93","QmeHrA9XmHYbXfwbkmWtnD2iETgChr9AvVC8RyAxvKjDwf","Qma3NThLkHj17NUgj7vMwfwF1GJZUSey2Vm7XweGHJjJE6","QmVFtGnK2LVkjhgVBRk2ppJZRiwqLFV8P8gJhDoU9vge8k","QmNhBrFW19fvRTciXtFnezp9sbvb8MGTr7Tdzmx5EqPpwA","QmYjbDfxHeC9ZwRp2x4ewzHeaDHrP2VuXdqjWRYaodEFi1","QmXr4V3iUR5szRqi3MXitTSZzXC6UyY3Qm5rwQi6hbyUPS","QmewuKb6jFDY8pH81mbHPEfQETzFSCQfqfL7xjusw9inkN","QmegZS8CyaBSBarfyS2BmBXNmMu9nuwYH9yzL5MhHTf8xg","QmR5bdgx5TcLTtRUwptf9oSmoC7xFoFL6vZQWe7TYy61na","Qmdgpodwvdai5wURfgM
y8wkPQsdFqVfgdA9eAreRG7k6EpT","QmcxAAR8MMR3dw83vcuquLVFcALMPfPbr1kiu6iazUJXBg","QmXBfAuhkuhPxhr5zuLKpmqBCusp8fkuap9po2p4LEFLhp","QmTGWs4EBWTMaBp4s9YJoJBR95MfvoE2gvBDEwkhAhEA3Z","QmdnbscT5oDDnGhw4HQ56KDaSNGK9V8axSoG9pPw98cSrQ","QmQEsdaxiBzZFbb3Mf3N4QB2zBPMWgrDM5MBKszuiotmb3","QmefRDyVTTcvwhWWHps7HMJF9yQJ6fswtzbJgKiRm8CbwH","QmcJn6kCzB38vNAtBX4fwLZ9TEVh9ovdr2szwGbAPzSk4b","QmdX49FKWHaYnwJ2T2aXFPzZCdFAc68xQoypaEHJhFCxw7","QmTX8EMsECZvJYxGqmj3HzeS3VHgzeSbw5t2yKLogP9Ljs","QmaXSBEBmbCgWpeE1RQjz1KsvP7XVjmQZWvWrenmJhKbz6",M
"QmUaufMm25ZFVjz6uLaPnPr9XDgVerddKRTcEK9YUwybBh","QmRnU8pJtPFDqS4FymARJ9XDDkHeMRmxUbDcaqZpYA4XmA","Qmc5A2DUhEsedwk2Kwv5HN4FLp5XqsdpUBJ7oS9FnR8W53","QmP4ozTXMH628MnxSaidGgxtqTVxFHwfmXJgsMYdPFQ1hS","QmTQ1M36nL6soZShmREwFu4wALY1RG29H5bYU2XYWq6LML","Qmaj4F8rwtwsBmFNoZyMCrpTCxXWU9jHCN6EouoYN8yvNn","QmWvxv71FAPkMUZhqdDePKzg567VL3jhqEmpmXJPqFqaEt","QmPMUGzytQ6b9kaLZbWAoUpUPkndyLTp6QYWEATaPbhq41","QmSVCfLU9YNURVr2H7hoAwuqYdGcUF7aZehDnPiSyYyzAS","QmUmRWB8Hn95Pt7bZv8P6bE7N1dpuKHsNkJnBzKWWR8R3n","QmVLQeEAvcbBJnQARMHLkxdRdjS56M
LaR2KqcJNNwERGsvS","Qmb8VoVQciHwgDCXxR9LqgZLgCWVyWXdqpxkGo8ETP4AMq","QmRJK5CPVzPa1iZuMxHvNP7NkLBgxXPEPznDPNJwyUifKj","QmVsbFbiGco8opHRKH4dxnn8tAqNWm7oaU3VB1XwaivXGQ","QmTaN8Nmdq8UZsC45bvKv5G7n25JA1hmHa4r1pAfhtUuJa","QmQqocQRVHsB4Hd2SeHZ1NjrXFqRpkazvMB7Azrr8ERprX","QmWUibRZE6YmnWG8QyFDmjqEgbMVY8wfoMyNVpCFfsb5tJ","QmT2PmACf8bq7AK8rtTHWMyiTcLvJvF9WFy4KJJvsVf9mj","QmNT9ViycT5Xv84J6Y1poBB3kb24gLsDstUmsQ2iS9dJfL","QmaMBKvDKsHsfxWo89qHHtRcZfYUJdsrDk3aqa3PaNUaum","QmSqkTY94bP4c1MFf6eNAFYfF33MDWG2peypPAWf97esx5","QmSxDTunXyM
GpJy6n2hpvr36ynAhbos5LD2v5YqrggN9wWg","QmXUQtobLTGEgD4bdstV45tLT2EhD7q8vhrE69LSfbWiPj","QmXF3LasivWpx9fpeAG8vQM599N1wNc3131VRsxQBc9jym","Qmf7bw98B9m5p4BF7zrPrJgEWBguUYitKu9Gv1dDQrUwge","QmTjPL6orKQYMGj27WU75vqAXiExPYsy284F2UzgdNbK9J","QmeMLbqqawXD7fA8CM9Fin8RfMPt1TxRf8xdMHscRTuHX4","QmV4vniNwX9uQPEfPodBxamCCmC7DRCgYUxrxUP5iWQafD","QmZ1JjZx5CejLCtUo2hozGEGtJrDXtY64FQVw6UzXCsx5y","QmWLFN8FPR61KLJXBCYXybMo4HV4R7vfGuF4JVbRHoZdzP","Qme1tiQxa1nKKrbXRZWij6g1gC84An65jiMGVhDqxkBopV","QmPyJzKjuwyuUocT2BXxwWhCgjsZgKu6BKwy6Pd1M
gXVVzv","QmNPpG5ymzKH2iCoD5hkPN4CXqhXqvjoYd5PQQtMgSQEcT","QmPWjWdLAGJUjH87ugixzr3NJRiFSdSL7rB1PMq4Cypgp4","QmVmwMV49vqLePcNyT8w1pEPsCRnRZ3SiGK1wKQJqX9wMZ","Qmesmd61bSwAxMuwHsMHqBpJWfC7V9EtRUAGL5s2AjFzS5","QmaFmam6BJfapdzEou4v1QpSXVfx4ReaaC4qDgVhrfpRbr","QmeryfVL1ozLuBKtgquYPxNr3h25w3JAFpvZNdwnFJkqtC","QmQ3bpCF4WNFiQdsfcuNHWUMVxFzfhDZJJmft8jFrosecj","QmcsAuoYjPAFsS63X1Qiswwhwz9ssmHfpW5NQUcqxcbPJt","QmNMXC4h2Zjf8YzwJeqVvN8Cp4LuezJS1A2HjSeD4cvrxE","QmPVTTYEdsZeH6ERxiwm8GdHHGP22PuzrJbhU6rTm2ESWK","QmYbLgHZ3EHLpucv72zQvM
o1e9jocjKNapipsyXCRyqmDPg","QmYzaCVA88gYJtV3CYZnG77mNQ2Zw5roCkNuwqqm7xxJfu","QmdVQXudHHxuJT8sqv9CCYVYDsLH2LeihQj4GWjDQpqpY5","QmV4718AMbGKHLVqDJXhxydEwMqbwRavKJMmRvQ8ANUrbK","QmTFE7bChPtDVcXH3pR7mEMzsz2DAaTcpQq781JgT3sQSr","QmTdSk4WGjvQjFfxqv4Z25mbE9guJrzAZZmDaqnMpKQhyt","QmQ6md4WgjQ2s52jeAg3DEwydPAdUS3M4mXEroohXZn4KF","QmQ6YMgHLqj2H2vEX5vC3RbaZFmQScc9YritwAbv1ouP8C","Qmd6ZedwRSgxGD4CnUA4KapidTMhrGA44VpTUM8EdXnWpg","QmWLprLdXECMtMSXucEEh6eERmpXyGeB1pKcoCt3zBqcV2","QmdQenG5jsRoCMYk6PryoVCH4JHUhFsRHYFUibmX3LMr6F","QmM
T4p9nKJnaWbXen2A64TCGdHU9rgDT5t9Vamwu6BRtWSB","QmPWRpHZMn5YykK8GkJGuSQH9YZG6ZZF2rBMzHtimaRHd9","QmYfSKvhWgn7ex7QnfdGZ9UY3fitcamRNXmmr3mcL4nwrh","QmYwyZQHbhXSNqiPafc2T8WDhTNMcSBSdYmsexZN3jyhAh","QmbpbpztoyKkcYhmzJW6sENShXBHvq1187U989F7kQZNY7","QmUxvX1rGpCcNzTuoyxySXXv9W8FtdB8tofQbScGYjKyw9","QmaHddyJ5EpkYaiARKtmEEftsUunMVzVXaPXc53KDbYR2G","Qmf2v4u5qWkMP2P9UB6BJ9WnuPt7p6aLoGQsWWkBTwMNZc","QmYvJ8tBBzHMThcbk6ekkm2F3zDM6CPmBuaQLkZHdshWMo","QmV45r9PkbsUTwh8C1c6qWCHhzDYuzkwk7Ah6svt84Yy88","QmTGirJrRhbBZnmQAacmW3TjsioYQy73M
z2CY89aqz2psQC","QmPNQHqwkseNQXMHpVg2m2oPYE1xVQuB8FTomvSUPLuj27","QmPhU54PXzzKcM6cLMLEVLJvNcE44GewnhUttnC5inPksg","QmQEwxCumuk1qDdu26hr3LiYL1VpaSzyfWKEkREk3JkgfR","QmWejDkpdvLYdjy9HvX8YASpe3fRQmhSZrhyFbgyPkpVX2","Qmf47v8U4tvTnutufuk8Z5cTU7SrY76ds1LUT4CG8dByod","Qmf6U78hBaQhyQq8nKd88Fw75wTWxpPqBq12287xZFPe9x","QmeLdSrXBqLZ1esDN73idFWo7UQn1KfASCmffACkGfJYaq","QmbuASAiUMhdfrBGBWotSNNcKK2NBVD2MQCwXdsCj7rVux","QmNUK8cJ1jG9bmJa3NEoMmgJLCFicf3s3K6JKArZ9PEF3x","QmNh7DdCbPu7yAc46USdt6mnx4bGDvCEbubGCi2afognTw","QmQpKhEUCi7XRM
hXBGB6NH8Su7WgQPdJo4euGyMusXkFDV2","QmUNQXyJNMqJDeb1QvMzASk88cSt2wZXDYjcuRybkqE3NP","QmZJj8XoBjZJqmmjrwhVyBdT38sdw15Y5uZ2fevNQSFDyP","QmQZ27UsuGdCfWmxbhunhKXmfJrhyWY7SwpJXvZFGAujwM","Qmb8VXbnwSiJQ9j2q6P3Ni9DH5At6r3FCKXzGDWRFYHhtu","QmfQnaNF1e9T55LB2rPsrRGjmTHm2ZSFWVQT3VTYpkvU1a","QmNzo7XboZqrGrj8CzY6zZ5aCNiPV473HP4wGcmH8vwj5D","QmUbZSz9aU6Vnwb7XwGnKuxwy7fXr1cRu1yaMASpTfFpXk","QmVJ5K1wb1YLrYnzQt4cuetnmN2fkekJpLhQSVCmgRmJbd","QmZH7iKUMuaLocH8t8KgBKCSdiGUt8Gcsf3gj4m3RApToS","QmZ9WmTJrHP1kw6eiaE74Wk9AkzKfhkvDNDuABQn7UZM
uFY","QmYubQAqxt7LURiJHqhoWc3c3KBMLxGTYQy3fSJhwyyRkz","QmaqibjJNtE2kbbLf4m2DpgosTQtB78tQyoCrXJ2tZeWD2","QmXv4JUEyJB4Gbz9okAS5LzJGdF7qYTYNW5ZVgFaqxNyRF","QmbjjxjgFewaJ5qbHhhZSnHsyp9rmi8reZPKdt5zLKjDWy","QmdPaTj52RHYaYfPwqLHihqNxTYSe4WKkTgVZzRG8Cnjhw","QmbFRtemRLjnzn6Lz7H4q8mvibEhqPayfU9RiVL618c2m7","QmYyCnz42kw957uCY9X5uAhwNjXWhnWmwLSmcMqhvsSEhT","QmfWPPS6rj52yitpmdQKda1gj4eR7BG5yz9G1pvTa5PxoB","QmXRGhdaYH7wA5vJJ7CMNPfMY4dgJJYeuVMTe3zQx6Sitx","QmaKAmKitp9w2MWwFgP95zfoKFvDnWUpSb2xJqdFSCjsDL","QmWjnpzM7U7yiEiao1Wpod9hM
tr5endr7zWCCMu78t6Vckj","QmdzeSTwVp6NqnQi3j79sSx2F17sKgHHHvoBdvLMVkJTF4","QmTK634dvLB7LxjtXTz6YVsuCofwXqCA7ptkng8fJwZjMJ","QmZsrKBUVCMwmrRvSUsnKKkdw6XXC2LsR7MhNmvG4YWiJ5","QmU4UEAkRZ4v4MPYVTXDcCAau2FGYcSn3X74JKFZq1zKBv","QmQDDN4EyoAt4tqh1MdNLsEyurBccb4A39mhEhQpj2FFM6","Qmdjj43CGFi1QS43xJdgAR7AS7871LPTkvr5FpyP8KnBBB","QmW3j6RUCnCESFvNhuUeKPh1HDmzSg7FsU4awCiT6d45cB","QmPAZE6NKhRy7fSrBSHmhsBfGAZefyCS7SKwcYrRAeF2G6","QmNMMGjePrdLodtJVwniGnC6kCyNXTRBrFWkC6r99v1d64","Qmcenzn46UUuiMZ3p5vfycQjskgSWCLR4t9VEc1RhZ7Y8i","QmY6kM
WQPtU8aTzEArQ6ukkymVFwqN2Ldmu9rjfeSmVmwJn","QmT9RzrYCG3SsyustZwXcnZV52jT9gRwE4HFrfSS6EFfJs","QmQMsw7rqbpi58NnU1nKpJLVvwrs5Zv2UuHsQ378bxpsb4","QmNNzsdxo7qXpqLM5YQKHRVxESeaoRXWY1zjo9cGtKofao","QmXctRXZmyxiGTvhWYVNt2Nc4zgccsFMLtysW9VNWWqwHi","Qmdd3Cj4khSrFcPHKQZYgBw7R7bEe23n6wKsabr13Dx4Js","QmeVynZgKUJRY5QY3RoXLYfimDsZJY4UaCeAKjzNs7FRdq","Qmb4dZRfM5Q22h4ctnpiE8B36TCVUzY1bPsHKpFzJzfuC8","QmcCnnA3BdHYYfhK5N5vTUqnjk8iBq9dsYhrvyi49EqjhW","QmcRRUERpBNNYNzCSiSBd3HN5QRMqrRW4ZwXgYPdehd81B","QmVJ3rA8HgishthatiAHq7naxGjsggYAsbdM
bjDa3uejd9a","QmaSvLHrwwiYkcMaT2SULat2R3rHWYg19QvU6hPaWLwLAE","Qme5QHATch34NgvbyhsNJKYDhJyCGHwAcH6ZshUgqsiCd9","QmQpPfMF7NEPHu9LEMvAFepSfgeTm2ub3fXt2Us2ZFi5UV","QmdbkKEo1xfsVkqjEK1nGUGs7u4BhiTLGsZNAXYiHGeTUi","QmcMrmFL7bTrtbWRHztWeDPmQfJtxjC1MQDH8SCFLctEAK","QmTEsJd1VLjPA29YQGqbAfbw4G9tKTuBe6Cu3Q1r7wdLRZ","QmZakBHPiSjcg77W6Rp3K13uKzHejPNwp6YeQkG8tuBJaK","QmPH7ihCDfZD3VxEWQ7nPtPL4HJh4iR4qyAtGx4Jckftm4","QmVZvCQ7tWQ7yff28xSCoL2tdLRhNCLTyMe6BAWK3H415h","Qmc5iDtQjSTVaChN1TrxtBDvis3jxGdzhLgLDQqtVFMWUn","QmatPsoumoonc63mM
yDCwmqbfQozBSHYcZrXnf7dPtHV1W5","QmRWhbx7arvxJMPZbUibV1Lkjd2GLT8aXfQC8hy1ANepa5","QmURZHews4HurXVixaN426MQAHscF1Cc2uKavHVKiQ6Kiz","QmX2tAiJEV1auwuB8rGZofD6w3NWihEEERNJUdz9nCU7hj","QmU1JyoUCpNcH3rKKHCiEyVesgdDwMbg7ASouJm9qcoXii","QmQpSbEegZpbYXXJPLJkrDV8qfMFeSjqv5m1wk673zW4Em","QmVx88Uy3JcHKJWEWcPvGLTr8DLrogpabwShC6xdKevdxs","Qmavfz9DRud11M6UuegChRxeANvKLgpsTCmGaoosA8opW8","QmUuZ7835KMg29hR84yAJhLqaVRE3g5G9mJLUVzwhz3ner","QmeJDHQcTgmCT2e5zWTJcTLYGTzAmHzvHKbdawTdizNwDL","QmQNnEFsjXFDLbMr5mfwRgwC4nvxxW6WbRiABdAKNcFhJMM
","QmZHWkWmKo9LKLfecawnXiPWVZmJfkgqVDjfBbZ8pjTYvB","QmQzxedJ5eurDzFvEE22AHZCNtMbbQti5fL9MWEh7J4cE3","Qme8xeW4WG1fyCYiuLYPBLJyxu37Ku6Hhy5RCHgJvWUxQG","QmQ9d6hyapC6FGDb9LPpyNmUPxTmQS3XaeoF6sr4CEHuLK","QmXENpZGbKk6CUPHzKmiSYsbevFLQnNC6Vp27fnhxdxJ4a","Qmc1EafGyfy7tXEpfaZ9ygHaa4vARr1ZjBQVC5RJDZKMLv","QmUTYtoUXKxkMiyXdWVAy16uYoJMEQbHn5omuox7uCutoQ","Qme5y246Z8nZxk94ruTL8tgKyi5huCsyU5Qk1q2dN2GHWz","QmZi8tvmw4p2g9TF6qhPCcaDvEFprPsenprHciH1gcemRU","QmPrY8dQmuL6iuVbi2UNwCyTidAqmyR57ceSTrSCxG9j2X","QmX666skyk9Pe2vFVPKv1RUFem9M
DmEMCjZ2WuNgFmWgUQQ","QmTwsu2aRZ6q5qp6KCP5juNPMRMWkU3xs7dWtcqFq1wA2E","QmZqv2PTdg3a1bqTBeq4UfAjt7RxxjFz4ZtMrQGZzpgnk5","QmcuzgLkFRprCQ3see36A2Bow8h56TpUSGrV5RhdVXp1AU","QmToc5TDntqRVGdNzzkMs2gYPzmAuk81dzmagciS3CEc4g","QmaaFn6ies4SYGgUSbhPr8E5y9FgiqM8FE2FSovKTMa1Vj","QmUEgze8RvjccmiAPixXBfBFCmt53X2JbnMgrZFvMiStwW","QmYuAAMVnyy9t1svUFhGrUo6eGeRyYVTbSAWq3wVX7kY1F","QmUWhUhJwf291DfhBsuSPieYgFmgjdELh1Pst8BDZhhqvD","QmXeVyyvrF2L34ouTxn8mpEpMZp3JC8rW4Hbo9d1z2TRMf","QmY7wtNvEnQspDPQUQZ5fAL91jZyJBLR2CeJn4zbcaWKQb","QmSwCLhNM
F98A7piE5pBRpjvkdAMti2PRpFE932EGdfaZ3j","QmV6kKH84RsPBZJFjWZJP87Y89Um4GXcVfLN9hGMb7egF6","QmNdadhKnLKvGum9mCkP25pFzLahweJTeed7DYZzZedjhj","QmdEtEG3YSodFCrPkDvMBGJcdE1QzTpo2hkzpBAoxQnCgc","QmVjq7Nx9XoZHf2EHcKQUCD5dgLsNPQwGZRdqt6acUNHF1","QmNgQBwSNohtUQ9URCHTFYVc73b9o9MEHDWRa7ebzhht4t","QmUCPzeqYTPZxchuZCUmff7PaXTaaMeFUzUWaB1xDdeVgJ","QmfMXDV15cgZv2mnC85axWcenFxNKkuVv1L5NRpRioh9G8","QmeFeoGTX7bXuUoqLc3NoBC88o6yQBS7ucbf4pz94fAbwY","QmUtHAz4NYVj5zamvVu2Zt9dsSiby8KdVUadSRPFJpuiwp","Qmd48gLgx5PMJGuuTR4JuyuZEDbRRcC5Nn4TWnM
XgLDeXnK","QmWKGqU7cYrHxUsSHTketE1GSVxL9idLBSsrEq4sVYLdy2","QmRhURCKfJtpgD7JPVLQmcoR1GKdRHxQ1vnL3rrqmeinS2","QmWd2AXz6AFzWfx8K6oT4BxjfKCRjExtBJvc8XT4NMA6we","QmSJSLv7Y5cmaBJzXP7xgZAyYc7UUA5pahPJX4Ng3JXEcp","QmZ4PJJRxyrDR2kKKpL1x2J7Bu3stXZ53CSwEEM9FXzUPL","QmQuddAzDzytHdg8D21p7pBwPH338Dg3DxyHMaNJt89W2X","QmW3Lwgrvv4X2e5G9SVUjj4QHuG8br6BB5NVNUzbaHBanm","QmVHVR91KUG1o1GvQ9zwB74j9sjL5nHxrcbMCWbe3kpnmt","QmQX5g2C5KfLx2nm1t18TGyzB6siZcMozezyyau3V1UHf4","QmT2Xvhiz7PfLA8jYQ1adHYfMxqwh593QGtFD5TmfTvaao","QmZiDs536udkRhSB9HLM
Xhe8xGuu1RHiWb2mdpp6dBJ7nmK","QmQQngVwe6BqE1zFwHrJsFq48JtJnkPdjD8XXQjhKAmNCy","QmZPVipwBPafaZnrmmi2Fk3emw56ReC1WueW6zuvx6P1FC","QmUF2bgoXoz3HoRhesQx6NusXbmzNKY9v1DKjV7yDnt8tX","QmZ9htTm4NBatXM7Fenb5MjYye3JxLqCf7CmrQDEuHQm9A","QmdXr9XBZ22ehefXseuQsFbkEbz2rvCVELuw7312N3qoBZ","QmUPuumWbgj1MrdGsBA7NdMnet3pMnKm5phMUStxqmDVCu","Qmf3KCrV367dar7hTv1kPHfuGPdR3L94iMpiEJR9HZGSSx","QmQYiUXwF5p6JU1vKHLtR69US3CykMMKxe5j9zG9wHtQ25","Qmc783oEgZP4dxRYBvEL6QYHT7gqu4DEr3mwHCFaGAcys3","QmXo6pvgyZ4UHqEFHVPK3FT3jDJBHdhfHrJzBhxJrSS3kr","M
QmV8P7QvPhgV3ekMKJErBYjowitxHFETiNVUd6j7mCoxJs","QmV1s1DqE3H94u2p8dwMnYXRaqVnmTSge2RPw46huf78As","QmZ329ekQ5GBrj5Z4HknQk7Ny5p9BZbCtvL7bY18midCtg","QmSd3SNhQEPZzBV84KsVZKCCspThtGkuvVd3uXGx2WdvMs","QmU2LZZBkuwbARaneXiDHA9NCLi8xbAG7EFRmJBpZJZCQr","QmRECACtf6Th8BCsV9WaDVuQtTN6AqKt5uRGGJ3s9xo7Ly","QmfYU7fHyCafUPm3Rv7miYATAsmvZ8m2nVoinorNLXKTE8","QmNRedzdkkM3hqji6WxDogLYfaNydqs4cRUHM8Q9Xxqxy9","QmQTj3tG77bC7LLWFCQ3K97M6MjV3VFNgXbjPs2h1AVKf9","QmRxh64RNoGhqD3NSvqY5Q5SppF3pHBRi8HFhsPQSeK14J","QmcdqxsumG7k6PoD1YsfPGc6X87dorM
wfbT2LcwHX86eEAy","QmUmnF8uYU5JZCiQ7vKAzodDBMGGBxHVhRwdp1Awk2TXTs","QmbPxEZpBT9Czchx6RGvdETn4UEXdc9QMeVdWQw8ga5Vv8","QmSFdgrgUEp4G3tqMSsPRPmrUefJLqFzVPotxhSe1MreBA","QmcXereaVi37Qor3VqUANNkEp3S394U848Mdowb2Uy8mAY","QmVH79NVcptqMucBa2nZLUMYHqmAnYGaFB4cVQZU2sdJjv","Qme8PciwJvxLSRRws1y2uixSqVq4FUwTycziieCLrXhyhr","QmTM7qXHdNYD5SyuQWB9cewMLetV1HjiDHSaoNV27B4bWU","QmYNuohRJtX8G7W7crHcWZr5tVErwNAwk5yH5inAUg9E8g","QmSg3UqzkhkdZxfAw4hc8DMBXsgBzYZeKqH81gDMxo4EXX","QmRpGJTFDD7oaAjpMNTpmiNMkENv2tmRjVjfy4A73URKN1","QmTTgfriFdMM
F2QvQj2sFE2X6ibR74waHrSd1LCbpUMGib4","QmYf1p5oPFCeLqoW9dvdpH8sEaZum3iVCvh5YQfAQKzWo2","QmemUjdZ6QVuDnWPCQpCiBqtjuQP2KnmJuSKkgnSLXv7HE","QmZDrpBqGps3z2Vx4E5BsRZW37dzitsZxssm6QLFAJHNmi","QmPpiBKMgFhaDcW8nchNJyoUo9CrqWQ2NtJcKKsM4RZ85y","QmcCJAty4dJDWWj3jrKCXxWH7CQjVrrgP4HwaGgUgEN6ah","QmWTrwcuMTWKGv9zpFnK3A9v1DnjY77qNvw31kJq35HCLM","QmNcLBriC9CctovVSot1WknZB25TFtMV5iUbEaxexC247c","Qme9isGwLo1XKCSjYeNHgazyiXfA1xVrRDZfMpWQQvGez8","QmWxqjAsE3pkiYHyqkEPWmpc9v1mQrLvMvBfjtWpmLZURY","QmdsBGcuyLSEwrSjtz88iJmfb1GVB89xm99deyiFAM
v8NMP","QmWN4qM45393F8nq9fVoFqSV94SdRX1mLsa6Z6MqjDqU9w","QmWGBV9uZtTNoLgnU2SMUGp35UwntFuo2GtHXqam6vYWyN","Qmb1o3i6wmvTXLtEPbabEVYm3Cqp85iwCFUgukcSeFKxFy","QmPGEfvKQxt9oYfA24jeyWTgHk1TXdGmrJkVGzdSHBZPqg","QmPH5iDzmRMCkpA5PDuTCPmSxCG1H3Y4LhoM1WiGzVdEsb","QmQ5njknXFDvb2yXQtuqBLgD1tTX2pLwXCta3nhfUa3yMd","QmQD7vJSaxGj2s8SLoSz5LjSBDUANUZvS98YayTyaYWxHa","Qme1xLYSyTnT4RDmFhm4kQk2wtsTpmGpwJ8hdf7EL2EJQg","QmYyhsprPE9CuBK2kn28jfmWsVf3qWdJkpYvZxMyaodQEF","QmPT8UY1XJctxMW8pys5Z2Dw4KJzQikG2VZbq7P1x9nyte","QmUcV7TK6JiH4f3pfQCCViM
afmmvZkwHxwo1JFdw1Qtmprc","QmQkqDVvHHxYvGxC6S6ADisbK151t1WrdLW7AdysUNvkvV","QmT6urnkfUYt3HoEHrjxASiQcNYwweai3R7Nw3LesCLhwD","QmXTwfZKhMT6ji5NUH67qved9VFxsviEzeaHDZza4BJ8nj","Qmaaoio92yFsss5yrXqDrGtNbFjCWEEhcJma5sRmtoMg33","Qmf4cj7uthhum8hR86YntjVmtxwLdCqmgG9HDHqZ9DwFNK","QmWNbmYh1KrZSbcemjpd2pgtAmKGh5zRcbC6svDE5unwrB","QmYWJSsPX7HY2QkHGBRxjQviVXK3Ze4SJXnoq9Gf5SZa6G","QmUguVfgNsMRYGfaitYx64YPoZ81ih6kgSxKh5aBbam7yg","QmUEaE3Ym6mHq6GaHs2CP3ZNey5Zbkz5t33a3HsxjripRB","QmaobEUZhsZA9bF43qEidWSZ7GMACwhiM9AQX76RUreTqN","QmVM
kaewVNaaZViWevocChbpdydi1vxu9mphg5saC3ueD22","QmPE54Kzs3EPqaosXCbLAGFfwykxqpZ3QKkaZyvoV5EGYy","Qme1gA2nQGekmfvMt4UZWkRN2XRLQuK8ESeR45X58fRHy1","QmXvRanUftE1FpFqzffpZ4CtwWzEfeH7Wa9ms3ERqVeGEK","QmfYd12QdnhXqGZXGJdaQLftSkThoSGv4KhXRymzL5pcc3","QmPkKS5NDykmZg7GhcDt2kVPeALTpP4ijpX6TZ8y7NEYyP","QmZivXsjYCE1AY3WVjTUquFFCcSTpakhcfQ2aRiuSKn3ca","QmZkxdXTatjXzadw3qe8u8GPsQoQyLPyfUPnBHtSAkB3nw","QmdxXegZp3PTR6gpQHDcXss7sLfNy3SfRjC9A793s7kR7e","QmUnTa1KShmewfhLtNrF6rkgxDqivfdJBk2EUuvzYig8xz","QmXpaJCcTZykkyLRCMiDVcVHsEBXqftSJM
HN3JvmpN2FsN7","QmVHXWHWY7VSvRLS2ygUrgFUkNb3wLnXi84Y16kFEziLEk","QmREQ9JoP3URKXxLxLM3pxvRe1HCuL9B9hWaM1crDcKr3c","QmPgf21AgNzdFjnQcncthTPiEyJbPUutZwgwPoCXVXznCE","QmPUF9vvPkWpfoM17DjMYtbhp7Xw9PHvEbdt2xUsHPHx4R","QmNenzUAZp2jPZxixFCXJvyxyEMd5cXrWpYEpeVHQTot16","QmRtxKgYMVYdCCfCXuqtwkfHd3PyFBDoHvdQrik9AagX4H","QmToA2CSmUGZM3gT4JHBvhNWm4uYkUHvJhc4xuYgVMDqET","QmQmG1jvbgU9VfFS1xpuLeknvDKkfVXRXXZDQNN9gKJVBG","QmPqdanPiBb82Pzp4vKDKufMKsEaeksvQ9DP2HZyRUsd2o","QmbTNDYBr7EefQkUWRXsywAxN6LtiPRjjuWndNcgD3a8Gt","Qmapi4wAsv7CSaM
cBz8Xio9LnppbnmyizBU9JKUDBDAPFpJ","QmaZTLBjQqnmdRgs25Acr4hjnX5s5my3TJChBmZUapKm2g","QmVmpFxrycgjTYyi7q3g8grNFgWYGHSiCze79dcvTnGhCs","QmTBysYzgf7T5Pa3Qzq65ikBYAerVAUe1TQNPrcuhGJLrA","QmVoxKHF45AWv23hxVUcrcxRyczHzZUYrzZkHYrNqo1SJi","QmexSzBscxGSsf9exKgVyoAKV4sRnw2gW1rBLeQ12eeavf","QmdkKBW1Gbqh9hDNQqFt7PHCcJtWK2MXgZqh42xXca6rRv","QmbSPvpurrnTKJJczcUxuKhbMd263sJuN8VNPSR5c8Yb85","QmPKmVnECskA7oBFimbvjWfnzLrBbZnGsAu1vv8Yz3E7Sn","QmXjB7KPAVQjgp3cekU3tvjMekXHBAZr8fi6b2d5hRLEpP","QmWuZJCtZvVYvcyzffCSik7PDoKEqczfsLG8HLcpoxxWM
L1","QmPVep2ktwQwGZbScqy3eM4L47So7BaNxLzZHaMvZBYsbT","QmVfF5VRuWkhDUPfgA7MLcvCnSh3TA9a5hMmJW447D22Gd","QmRZgwu7c9rXZrM498grTAhHMtSKM97D1ak7eoiQrcc6Hm","QmbfpjX4ZPtcfdyJ5dVTGk9CcSb56boHGFKHsnC2doqBw7","QmR5M5v2sjdijWpxkWWt1k1JmWMg3v7vXhP5GsPY1FShgG","QmVx5NPNs6SxoCDxB5GCV2d8v3AFQtT2Tet3c42TaTDgWm","QmZ7ZcKANu947a35ySCdFprYZLxJ3EuCqGSvsgfCdzAdST","QmNPe86CVtSJ3zcbxHogMLsJBhUCHWBu46JxJWsRnachby","QmZgZKAyLALmSAzCj975rw4cs7qqTkSNKrdqeKd2VySgke","QmbjUsjXEtwahaEjKQzWeVUZB8ZoKFoXiyFLwVjdLaN7ij","Qmf7foh78dNBb15YXcJhWi2HqM
jyFfkTvJANPLGpNgiAhTh","QmUyPrXuEEQ275Y5nYvSCzaz1rLCSRk982AjGNtiESr5io","QmW7jdWQiPDARRtegqD1eGnmRVKVpymZuoqwAHk71feVJf","QmTA5NVYftuP8WxCvSsCJ2pWFfBYHvRXgMuq4Gp55puF9a","QmYioBrJ5o2ZeJFbtuHESVxT3iM6Jj2ahf4CuEdghvAyAD","QmPVUTTuQbfRDkr6cf5j3LzijBr6jHux2FEf4eHKDpMqsk","QmUGST3rHaQMJ5PcgVE3JvRbUCQVYA2R8FVLNkv9S4mXzm","Qmd8VUjmESaRNN4tXBAvjxB8CU23KEeMxpEodjnqa7tduS","QmSYv29tPfjDTGSavcqDF95TkZuoH4svtmM4mfEE65znRY","QmQsU9KmaFNVKAqCTGUsWxS9Y3BEWXmr1bYU69nBFzS3io","QmQwoYmj1sDTYmraDGxEk8N462zRVfFPG3VqLfYyxPV5PX","QmTBd8M
3P4iqSXByrcge5Quo3ZJxh6WBwZPu2xT8R1ySLjV","QmXyV7Jae332VEu7k577oHWXXHx5kbQQgSksWXgD2n9MiZ","QmZXvDHAjut6kjdskXuSCTRhPq3oppP2c3KZtGyaEMDEEe","QmSJzFtEUCnugv5PHG3UDZRWWgNkT2SFEXZJx1f2VsHkrT","QmVPtQmXPSnpAYg2TaXCndyJP61D6qfGP6fqRHRauriAUt","QmXMC6jWVt4DaGopdF6nyZswmoyZBduaHf9Sp2vtfXjmqM","QmcR74t3jGkMKtWUQzbEUVt1hbfsiNxBMr1chZkpKjsKmC","QmXQBdYmXvo9QGZ4ZmPUJsxapwnjZAKtGQFgY8v5B9Ec2o","QmajTa1BTrdHc8ZEJJA2HpvhcXdJbwEJzJiHSD6mhe6U1L","QmbeHNvSPLnSDdr4ddNsFxCfg7QTjVuScLf9jxQPkX5ui7","QmfZ6cJjPdacGKty5uNHym5WtASh6r27yURDM
EmUv4g68tW","QmWBr7ph5kNdCQ51pcbGnohGReQM9sBd7VhZZgdKXET8tk","QmP15nHHd83Ju7msKWHFjENH4hyTe6riD3BFKRWH9cPHps","QmPszyTbKigrmCPYGmERS9pEtrrRCtu7u1aCG6LsdopJtF","QmVBzBJnANDB7nRhkaW4XSnAp23QcuMDV2FK9arKMt7Y7V","QmZBZqKobp3w2MPFF2UE3zTDeZbpg17aVoqALNdWpcXmRD","QmfU2Kd3p9SdRgmkL82foCUkeUr3j2dbUoSaePyBNeJbwz","QmP7tkSU6QjTG2v7KvgmMF3fWjwbrdAqTsSXYtEQJothxy","QmeYncEmB28gcAP1RJRUce5QVSNsUdWkxooBENf7EtoURL","QmdRUgUu3cFe2Gu2oNkEAkEgLrgnoUGmHbbCocRafoFMsf","QmSu5wEUExJqY8kyZkaz2eJqVKEFPymVWUB1bgznGAH4Mb","QmdEqvCdz9eioWiesM
DT5w3Z5vgWJMYtY2Xp7yokeTJLMku","QmcmCBAAXbSd1RqY4W4cDP4zRQTQPfZ7Vg8ZTqxfYCQKN8","QmWxLwUTyH2V16foicow5DU2DqMVLMcN4aJaSxWzuBK6hv","QmdaGjUC2fb6wkCz8UsyBpgwRtmpQbupsopVqMhcH7mCMU","QmSBRHZgYeyQYxtAD12BG2Ty3jL3UvcshYdLhqCG4Nq1iL","QmWzqDKBirw5hu89FVvPagPczrPHHJ3ZfanpyyQ2VJGo6k","QmVQBUVkp16St9rAouUhihST4fLsAS4Gc57DYKnN5NozNu","QmVzxYemRfL81WPbCXG2ak1r8p3BZJ2qxFQhgycVCq7pWS","QmWntUTPEKm7MRKCvfQGdXUDXphDhAEHms54xtaVX3axoe","QmRm7RgSuAVXrqgoM67tKR5hPwkupZNXvc5LHNyt2s6uAZ","QmdyfKVdfu36AUYpQEPcRE3Yn9KWThMjM8LfPYdaKMsnXG"M
,"QmZqkdi4RJdhsTeBGSXATv4EymiDbAGysFykR1i711FTuH","QmZewLys2Qn7iPDMQAbZh8LFLkheMD3NavxRhLcVsPg892","QmYPUPTBepmLE8Sq34sJoyS79fTmJpM1r2kSp7Z45LEj6v","QmcjPStw7GVkLEof5Zfth4punEpedRXLhqkoKtvLjmzYuF","QmcAjYt57QMUEtgbEJXFcNe9GmSkYHsqgJDsFvdJ1TX9nQ","QmTb3gdLzsDk4iKfqYKScfMKuYjBtPDaGC5wpcwBrrfEyj","QmQR8kowC9GfqPCpeENTjqKdT4WsTWKu8hM6S9hg5W3fBT","QmQ1VCgdVNgkqXxwgq6rVqKDHXE99d8jJiGWSu2L5an4zH","QmbDc3d9x7qm2eZNbGVxbxo7ab1jgCRKn6akZ6cUvBmv9n","QmdAXLpzfFAWzcKYXZa5JdW1hpLcDiERepxUfZ53EQMDCD","QmZjD9VP3Z5rJunttKcGnLW4yj4WM
EoP5Y61F4yRfWYFoyk","Qmar5DET9KmcA759ZpfKxuCUGFASrLQ3tQdsD5WbFVfEPC","QmZsHq9SDvouPi2CzSwCv9YbZQSsRFM1c8QdhdHXCQKcB9","QmZPNd3vhVtCTw6GSod27pLjjhaSMuhfzvMuaJYdzSaiTR","QmRG8XL9jg25v5grX9f1beh6tNX62jpQkuuJ2T7Fh6JJck","QmW4Jq5AK1E4BS54sFFCnXASXZQMuiaUn5YAosrhDeJTX6","QmXdL3P5zftfKBgakixtQ3qzjy8VDW2ycoRR8BVN6qLJE4","QmQF6fz8C1xtNL4RBMspRfLi6hrCQY5CPevyQc4hBTRMkn","QmWmGzjpmLQfxtQTTuNj2yN3HRj52RKL9oiswAXhUFLanx","QmUnSUXrKLqa2u6fNvaoH1SWN5QGyqbmFrBzCwt3UUWcsb","QmNpypiUaLPAxUmWgckf5LD5pNG7WvWk1QsbsFJkykMKAc","Qme7pWarWM
mMHBSK1QzUSN7VnqwvTnKf8GXrdfupHsu7tn9","QmUuqciv2bK4awGz1TA78YyLabJ6LJnPHcxSYzeNhcXA8e","QmQXWf87wmGGumw7HjNhQvb7cTsZuhWhuWeiWQeKnZKavW","QmZVGVkMMnBNfyQ6CY38RbVwPgG7vdYS9MwhWRzDVqsSzB","QmZpYQurGieFyWLWNVVuNUP9f3YPAbR1KtNgn9LzHap8kq","QmXEsFKM6QuqSnW3myFWEkWAzLY7ngxGMxWi5BAkQUTirX","QmSvzSpfRZQt4z6Nmv1VjjwogtCWLKRXFLZmq3HcxifLUY","QmUoa6LR1UPC9QwGHVea3buG2oRDzd5DfmbGyBwxvYaccB","QmSkksZdoBNZ8pU5oKJHRaX5tocjrsR13Rfs33pqQeLmgg","QmazptxwwBLc36NVRb9bwdbkhKyHi4cFKtwALapBzCZee8","QmSRQHi3GAN19SigefuStj4MmPi7KaYPFd89LCZM
hd8iuZJ","QmdWT78mmcox4xfqWCrt1n9uhZsY3sRyC1eQizDrMTSjX5","QmX49xw1LJjwYKopS5G9F4FZe18KrjAWDEtrAAV1pr7nzC","QmPViJ7y73avLmFvHPMDh9nt2cKZZW1joefnE6iHEeEYwn","QmR7vFzW5CEFrMBcEJp3k6Ajs24xWFa532Cy9KJBYYjDRG","QmakpD6LodBzJZAUzika7QSFEPfVQvhwVQM3CbpuofZiuw","QmYgc39XPiUSiZKWf2Ea7pEwJRqupa4SHsByJHZEaVmvKX","QmdinDt4MKRYwBiEsAFSWoWNw5SgBMshcHo4mW2FXYAxou","Qmen131EXoAZksnr2Y2midYckm1BXKYGgzB1Cs5HrsZiNG","QmQm7AACwZd4bgJjQ54iMCK3riHnbY82dPepiBBWN9UoAe","QmVLYRuF1ioC3EYLiqjjm4sBqUShb8FJt8jFUDcx2uPCfo","QmdDYUNtJ66Cd62CJbnTM
zX91Ln7cyfQ5a6bFYMb2ib4g8J","QmPrwnnJyw3xobA4iq3My3RDxBGHWL2xEQdFLoWkJjZPXQ","Qmaj2noxnoVgmTQCStsoxaAVRmpSuGwPmdQV3QpG6D55Ud","QmVw8U3Y3omtidrDSr79Ew66XwTYvnyVa5Hhg8tWSxTRST","QmXbUTWa2uGgZxGpFSAAcTivTtrvvvqftp5cH4TgzTeTPb","QmTpkuMfbnPZQLYzxqqaUcj2TjuW7ekH7E7czAAnqAGY1D","QmaLVu8bUe95HMAkkqh1KQKCah7HYvu6qUK8LvyzFEwaAm","QmWbmyFG4vU4U57PpNqjSjz4HVYq4co6FUeez11GhpHy71","QmRrHC6KUtUB16sb2EQ3TpjZf8h9wcdZJ7jYfE7VB4yyfF","QmUypNTFKmWAYAk8wAXkEGyTxZZeeyvcwpBxCyQ6PjKy3s","Qmc2CEyaUyb382w7QDJShL32YsgTrmm3ScSEKHXRNa2N7Z","QM
mVrqoY1U59bpgFnjyqhtMrVLMVQX3kAXia4wX3mwkPc1a","QmWUEkEHEawi9dwKnMKp2rqcvFasyg8RPrLi3sU7pN8Sfh","QmZmvKXqGHBH71Q4JDbZny9W2g34r4ALFB4EnwgoYbi155","QmVURWhtBopeUG54oRqiJ6No87M3m6QEG31D9i9UrMK7yg","QmVZBDKqkZSSXYaUCbxkxDCNHPv8DZ28Th1XaqXwvEZGbY","QmS3yEqewFTSo4GX2QoZGQPT74S6CqwTV5NWRRKCTgFkuJ","QmdCwXHrdCMiFXygJJ3sxtbg9Awu2Xo3so39JfHzmcn1ww","Qmd9xpUYVhNgdzkuxxhGnb88T7vyQ5NCXc4HnZoqzEv6kY","QmNTwK9fax9VpHbb2rsADU9gS6TB6pmY9PeFcLUkGPsiJs","QmXvwPRbUc1xaW9Y7Qqn7vTgyezHYhqzt1De1GmoVq6Ujt","QmaLZZT9BQpV8frarRGEhWg4MELFS2RM
kRL2E5sAMzTQBFa","QmYLCdE9WSuLNm2qdtaEVPXYKFSgMRRpxagwNjEuLvckdq","QmfKaFzAn6LV9nMGztKjZTqf56aiuKGFMTFTgG1AsMLkaQ","Qme3H2oLRDfVQcveFM4Qy28Hd5bp355R4KQugd5VYrmK3f","QmTLd9Vwh7xcFBkVgfWtoti3KVxoN5CWvAPw6GxuknCzBA","QmaaPubY9VqK69nowq5wpRkDsBSKYKiGpRKcf81UQbyfxe","QmW5y7YTQ88nYWPMtKfGwnfopGFdqnNrJtuBxamym3cU2e","QmT5Ncn1hdRnGVKP2rkGf3ntxxgKS9MdzXdxaqR3hVfr6c","QmeuTZPB9egcSQRXeoaTYAsFmoYVA4BrDfe6r3fsGtsg2f","QmexB1dXy7amT4oLDckavjSvNxs8LMbysbpJdXkHRzMFrJ","QmdtnL752BDFi9FgbXtgu6XMvGJJz9QiJCMEr9srNg2SU2","QmTYKhZ1EWFhM
9ygxtUL9xuWP1M6uRBwSXKPxXP9dt7eEuV","QmWWtEsvva6Z2t88aX86uHLUwC74jXsh43BJsF8Nazudof","QmR7nuDNffZ3hYGuBRDjP6pFonZmmTom8rKLaDRGpZ3CDP","Qmdhx463M5D35A6moXjdg5Jpi32Cok8zUk3QmpKfmA1rsX","QmfBq5Q2zYUuFFY2iqF9VZus9DwqXspXk2PdxZGBemMu4P","QmNuu1s75KdhYBdVrj2sD9sYfkdmmtbufvLjZJxU4rnyRB","QmPtpcxoUKcvHtreGxaeheGY9Y8av4zrCT8wgcHLU45HCY","QmXe942nhiPCMFihfT8pas1RwviCSZ3wjXwx6Pko9heLa5","QmaC2wVMuFykGn89pRPFD342k5JmvrwPox5DLphuzRVbfJ","QmTdRmoj2qmQ2mUPHJPHpqbViLXqeoNUnGnoYCuk4br1Ss","QmYh6wJZVLMH8NL7rvae3B9GDNtFFnrYgkLVw6GBtBM
5WNc","Qme5QQEzFmEi2JSQFDJABTojzk7v5ch2c8FWkSE6Gonw55","QmbME2hvM1G281TYXPye3GkJrEazpyoNKENqq52xsWfQDv","QmTUen7ga3dfcwyxrodREq96BgCL5tJjUoM8ik189KWEn8","QmPnAj4RSjsYZtQm72MBR1a8NNweUwjPfaTogLQHwcQYD1","QmVYs1Wa6d8T8PT5Ar76qvXDZ1Td9TomLps9RvsURznTk5","QmXKKHgFHwV6v77fw8MnzpdEUmrQTaX4XdnHsmXeJdoSAG","QmQehbxiuS8DG9hMoHvsdxSvvNfRjqNNdcFWbzCFhE4PxR","QmZALhF1EuHLHDij8Gr6XLVBWVpQYfJcJpaKWA1w4k1EMT","QmPSEybZtYKy9jZehnGqV6Kw9TdRVLyC2n3u8W4cfpaCS8","Qmaj1Eh1hiA5QvarWzQ5b8yKdd3XhDM6Rdc4BXUjWZUBBL","QmR69eQht9tzT6gdXLA5e8mM
iu5JkCvXfpWgvkHfq4UTxhs","Qmdvj4Y34A6m3iDLRuUN1QUrGqQtSB6S9LCqiiCzYEBtH9","QmaV9wuJfyqhk4hsPcsDt8t5S8eL1UjockK84x2fhcGKgk","QmWpPNaXx3E2qRHLrJj3uCYie4QxuXa5kDPtqFxU1TDtcN","QmSLtC1A7Ct6cUrWXFbsuJVnma8kB1oeB9CQT11ge8bcp7","Qmbg4zG5bMNa71VY8n122CzFX5hSfr7XSxDQdPGGo53K4Q","QmX63n8DvgvG3aVcHX7MHBoPeZhwRRAjmA7ojPcod4WePF","QmPVcxXgVqt9mUjxqxFghXGFibsricNkjdgBJtuFo82Aco","QmQSrA9cWuiDjCgfb5o2Es4hrKrVmf1BnAt3TuVvJfTtKJ","QmNYEQntgxuuxGhuMRRPbsE9LdjUxWgjZsWdZg82KojhxT","QmWTbkrxUTt5T8VGTKU4HctLYADrp6ac98hgr49SW2HXrX","QmPeM
sSvKjHbsrtUqv9xHZGf33Dh2kpoLchde8Yjg6uDZD3","QmUeHn2KXQqnnxwfMuFMeuazxtnX2BAN83GqAZvfFnEfmh","QmYJRhF9kogFxg9KcQyVT9mN6Cqmm5G2SdQr74Cih3PdGZ","QmcqTQJ3v8YdntVj68aHNWfNS6hpZKKJSiK1ur4Bw4ZadN","Qmcf7ZRz2jFAZHgj4K8mQcfhoVeaaxqW7E87BUXpS9c4dK","QmPhJfcqB6dCmuZHrHzKiHSxyLYv32xhRh6nDD4ZtoKMgf","QmXA3wFitUmNVAyAxcNFx8iTFZDQV42AdcVVE9FwaphaZV","QmaRWdz362kZCvm3dFDGLRTYACyKMank64TJdtaeG1erAY","QmXZKbsKdJSwLWaBUBw5dstc3NmeWgh2QYeBioEy21bwr7","QmPxHmF5FskZZtpgN7b6DypD9veAUcpezzQ22ZEbkUyveF","QmVrp8VPjfxRUYrTXFh4Rcxygg6JjLmiY2M
qPe4uf3zEcXy","QmbPyiPWW6C5X1wiQwDgbGnDQRUdJUD3FGgw9Z4CkEzwcv","QmRuzm8HT1LsA9BJf95ABiis1rKXGyNrYSBRopvRTi1Whn","Qmd9WyfTuWCBTPqCn753CTLcW5NMuUVHsVqjgRRmaYEx9e","Qme9441auCuaWrJYYwuM5hsjUWj9aZx1DNGStQv6US9JZ3","QmVcp1fmWuZafjsno6Nnzj6a9PcKeGe6ytyLjZZQe1azGB","QmQJ5vNmepSDgF5oHgLGvTh5TFuhW3tc2wBrcCfkgdALJ9","QmUax2BSc4ZJT6QtUoSoYERpEarsJVd4sNK4u96XmfHu89","QmZ4DBztMYEDDZETxWVU6GX2UMKbFm1HaL4w69crCtej2G","QmZ8jNWenPXPe5YjtGurPUCFC3Qx9vQQHtdFqhxPkZ6W1u","QmQtE8EHMeP8sNfyfbtoL6dF4uqVCMo7TgkyQpz1bJ6D2G","QmRL7LjwxWMkrQZM
SNffnqse2on37cs7fvVBBmThTwRt2Pz","QmZCHWzoLjYMUGncwG8uFCNYtxDeVdZeH6sewy5RasuVta","QmPU5AtcgwWUC7CLayxCnuCpt7WVRPyF9kiqbC9i5zQMMi","QmdD8BT92LfVFy4TwZGJLn4G1JJRUghxCp4XMWEQ5ZQdK9","QmaszRBHFrqyy6ruRD61EmDVCseUTyvXDV88sjj7UPRehs","QmRQ61pNF8B18UzZbTse8QerjopYExkwPRs6Tcy2dPk1ef","QmPjZbbd4GRQ9xqjPgPhozETBgxa8vRrp1KHN4L34a97mh","QmULKDWcQj6iHvLVtfiFopZz8toAWnticEMFEdtsk7yt8P","QmWsrkLqCTcw1C6uWNu7A9NdsRk65rQZUoS4ezvWUKQb4d","QmNvZMXFPgumhYgXH7o1x21mq3SN2gbUxsbfNghFFQ2PYq","QmVjp7Bg3xrecp2RNbwieoH7PbMhzuMqJHUqsyQTpbs2DM
P","QmNiot79UWGzCWaf2ga3vVZh3sjKmpAuMVFm8SfD1ddhtV","QmQKYHr6unhUVbvWT1qTrXjNr8FNXx8aM7ncRWuw4DN8wA","QmeivBPkBrHWrUBecBPSzkYC4pocw7xv1Rr1LmTEM2B7bU","QmZ2XnFNVUfYfFGubjbWdadWgrypdcFphJKPVSvLwkzik8","QmeYUbt3part9yNTd66DXL96wPXj2q743cC2DGgmMXaUSi","QmeWBZRvYYJySae11G7bQhYRsKCZ4ZEvX1matLiEQaHbhU","QmP3d8RcCJK51z2Qvnbp2B9RPrpRmbwGw3bVfUeWKFqXuB","QmZc3suCzBkrd8Y1JScw3NarpqKjs2xwYfB5sJVTd72fr8","QmXFJV2Qnj7BrnwMUuqiZbdGtsYaW6CZaLTBpeUTdv2kso","QmY9GbMbJXFvaBJ5EXruYADVhTospKekDjVX6UFi5nKBfJ","Qmas4QGbHb7gWy5XVqD44NrcR9M
cMnJA9bggqhGBHeJsHbr","Qmcs8agqdkPLLep2pnEFCGp32SBt3UuXNAXBjYKE1V5NHf","QmRLVAMTaqRh9JLveT4TCEQmET2RF9wvZLD1tRLBP8tXAG","QmcgpskerPtfS6da5rWdJTSaKVF4q4LLGpr2niAhWaPaGK","QmTD8ZhfDmRzZ1CL6FAxjfiNghEGfKFgSC8mp2CfENe9PY","QmZyode948tb5wztTUmL5f1VN7cFjPgLemSUuZ41m838DM","QmR8MgMMhzGdFEVBNnM4HTqqz8m9Qg35cuTXuuf7KG7qSX","QmWNqyBnDpkc1JHuBARNnCZaPMxQLTnSEZFSuAiwu9PGjj","Qmb2y1jnc1BXNNaGbpKnt8hz9ySjpk7iY6k1tQXQim4A2G","QmRTrrEWqzAob7fFqnNbEu9jTuvGEvsfQBpSU87ZeZ3CyB","QmUvkLRpJSiLsh4fKWLWKdWZXdtfq6Q7RQCVzh6W9Gujss","QmR9xeoM
TwzAzBY6jpXVruoUSm8mZXp46JqKDm2Ttxan2WT","QmcbUezeyynEccFR8ypPhWJxmS66epdbYcNRJAMQsTPQxF","QmVqnpHuRWDgnDxiFohRfdYWh49CASt4hFVfgraGqWQ2pV","QmRyG5Nqm6S7QRwgpfFQjpND8DBsrcWzweabqqXVdeSKFj","QmbdP4S7aPAXE5EXM5cpi9AKFuDGCadvQoa3ay77XDcx23","QmTAcup1YM5hFqJWcgVw96TbBZyMihWsyvFFiogGUGJbXB","QmZU9ZehnxnEMjb9kth8wxVKjyR25vK6Yur9VUUoDdipaF","QmadsifRfdArkk9fPrWazvtpYjTduPH4ciWuAwo5exx9X5","QmVdhJBWJk5Suv1Z6F4oT3AQNtX84iUBjdPih3qv2Qm8PF","QmXfzKzpVb7QULfw2aGWxc7nEHkEUUmdkPXack1S4Yxi5x","QmSpe6n14Q14eW1NnrSn2vrtTyTQTbVb4HjRLM
EBjGhKxQ6","QmVKSMw3MhaX41dXR45QcExkkTXNnzxBkFCCpiwmwmr3EM","QmQHSqTcEf1GD3RC4n6cgr6jZ9UTrtS9dgT7wLvzawmSVH","QmP2JFENhd2PmzFSBaB1vDBYtvNt4k5cebAMTHwGDtYp8y","QmeNjYDb9VWYTEpTmhAGhW75FMn5oYJbpvy77wdjanefDp","Qmf1fNqeEfptuvQq9BsDijRgxdtEQswt4oZwR72HkPuzuM","Qma1ZQMSto2yQwov4Hz2Lut68FmcdHBBtMkX6i5sWQwxnB","QmQbCRsp4KcKoho9M7Fhho1vR19qWD5wHsaAHHERtov4f6","QmRY23PtZiGBqrcFEmuGo32MGBSnfUjSbEgF6iYXhBnLdg","QmbATSs16M7GybDz9d7bsKtvigBK5SnBjE5wHAipGFpHZb","QmYNivPvLjrzy7aWiYAeDm1dqmVyfWGRvp8L9ZcCbLjPJg","QmRvJUdTUP9kWU9EjqM
szgskgXtf7suiTGdDeUfDFXMQqXC","QmUXLViCjnN9z8k5BCCZMNFGSzHzUcpQGKaCm57q5fcEVD","QmeujFNGREao3m7S9RqTUo3ngVt4DTfEFZqpr44vn3fMsF","QmXp9as5XtvxLD9GoT5Je6CxaBPg62zJJ1AjXXW111PJk1","QmfEt7mknogEZxCg7wygQzfw8kW5yZwsQdDfhR9NbBoUZr","QmUsgAxo3zgcg8aL6poX4qNNfwyL35gxfEBbZsC5ktHZzN","QmRrTxuvDLeTE42MKELC4XXKWaBbdZV42GPxfaKu73B9vK","QmWMpWL2scPvS4WMP9fXWREhoU2q117ry4C3AvwCDmrFC6","QmSDw2jb2ZnfHSVvjuSGhFwCLnYBoCK1ch6V6jQdmDvtYU","QmP6F7Lhir4fN2eJenae2gcMG8w6bApMLRU7RhRuBhbWar","QmfHBEqc2VrLeACzfQDRxZmSXAiSDFJ3sguhEnU2Bhc7vF",M
"QmZQ76XZShZzJmAfc6BmCm83uMsWsPywgiPN4AV7DvKvaQ","QmQb5jBdqZNQBGZ6YWjXWnuZAfPRwMUo1bgznBsuJvswbT","QmVhRQztwKVGCjpTmHFTMuN8HhcRjkK2uf6tTVLQkyQ2A5","Qmeztyy3hAK6EpW7ueuLePvT4r2B7g6voVgnRydKQjbuNV","QmPJioyNzDRRVpGkvZmF86Phj1WBwRNfWd6YSMWCkYpmsJ","Qmav1p5auBwErrgPpFrTugLGMnHaeNuefSFwthxg4vEH4J","QmdCKnsCE64eyGLWczzSF57RLLyRq42ZRiyRvUxEKLt4zu","QmWxPfLoriYYqLyPK7uYDCSDfBJrvYVDzLJruNi5MWHdHL","QmTL6DqzDyueCfcYsQsZxYh1NWyftk3CBudSVXq49RDA5z","QmeBg9RxHdPcQrDUfK6161nd8Y9Po9WCLkGvNLTCQYi11n","Qmbx2aFMJYZV2JovuLbV2ycwTgKi2M
tAGePQAcpUPRuxeJg","QmZAt5EHf1sjhocNdUC9USjgNCZ3egc5enWkR2cnvwcBey","QmYxPkkgPTDUaaW8TxPCsxTPi1g8TyyfYAAAASHe2YHz6L","QmWTEEg6mJSs2yvWutDdKyJd8eipPMPFprxDPojZbsHFtj","QmZaWaVpftprdabAJETAatdMAJRzV2Yb7FUyyZrjoG8kE1","QmS1cL3hT4oeXyRfGYyLxQXUbuEgGVe15b6sXDDfwQnswd","QmSxVjTJsqh1dCvvjyz1JCMKbXxr37oSZeM3wJsmRrdXTY","Qmd6QwMenEzMShMXEX9pXQTQk6VuJjfaLYhCpFBHgW6qoK","QmedS1MQp7SJcfAVjgP2U8dQkASparQJiHiNgdsjfP9abm","QmX5muFUvJsahdG4BPweDsv7c1BZxwKa4ZzxJZdcBp6Era","Qmb2dMB3fYykQnEMezsVsu9Xd3yTdHVW9ppNBuVwureQcD","QmciEsCUT3M
XnzrkfdyAtmncEyygQajJ26fbQTpbG41rsVh","QmcEnhJpJ6NbTEGNeXUk5nSnoxQJPRKXLfkxK1pbBErw8X","QmWpAv5ZxZo4rWksrxykzRSpNi249EEd7AkHm5Rj1gFkL1","QmZkFTU6khfki3HikoxxAK9N7jCKGQE2xSEFbgXuKHRuEy","QmSzxqwT2oZa5LkYaiUYts3GVJzVR3EWXiVvW4JtuSbUnn","QmStAzRWbk5zSUuE42twB6cHr6WNqSV7wYAoecDroJwxDK","QmQUmeBQ42v6w8GtRvpkfyJ8HVXGwYkCWuxYdycDEthWzj","QmYiHAjvRq4SFoHmq6iN1wdCKGMuLhuBpoi5Vd9NnA8ijY","QmVrWkryA6kJ6ZJ746gsMHhZkcdFHiJMNSrfb3FVE6cNBg","QmTarm8a9Z2DJu4SLrj7KpRwYRYdkctBHfBM8n7VmCMETC","Qmd6WWfXPpg5oWJ3HwVCHJW5yAtAfuBp9XjKeoYwM
uY8F4W","QmS53FoP3C7zBErFoceeVDryDTiABkgG6S9dQwh2YQskCH","QmTFedc2JgyD8ePtDCwV7HkNkYxSkEEmv6ZPAwRXTvqX4A","QmQawZguiKsDy6qaBPmBMFkduxUTNfvGJQLuanFqVYBmqR","QmWgCmMPyXBvZsk5e6wqpb1o7fNx3nGJ9fp9W3iiZ8oYEy","QmWjadVjGnLFK5bwrp8wEwkbXBvMaSH5JpsPq55EPTvcuk","Qmauy8eaw8TdBGPAFZpKXKucYxxDXwYE3iuPaaQfV7bbBL","QmcPnPVSsR4rQdfB78ALrTqc9KUjoX72JsAXFAC2rZA5A5","QmSPSrUok18zfdDJeHSzj89koZ3JhhmarLQcXVzshbtQqM","QmakmfUKgQuE9gmVEqU6WB42EQhuHAPKzrb6oufT4ZBatY","QmTA825e6YoxMsGwLD9gUoMNt1Xcu5puG4ReumoG2KNwMU","Qmcn9AXmfV5r5NztVpX8LM
94U9wd1Rx8G3M2roD2HemfQmp","QmSq34dorpwdyCadHEkHu19Mh67Jpn186YLU5txLeGUbfQ","QmRcwnE3QP7joA5ZaBouxc8LVGszCNAKThxM5FFYJmGb4J","QmX6BmYHpJLpFZ2ouYVffHEk17LVe3CGZuacYZyUHqqocu","QmaQ9tvyXehwS59oU65VUYHbzxcBFiR5WboYoi1Vyjeuwr","QmVNDzQEMjSdn41tptFx5t5uUUzvyds68A5ZbPzLLMWC2B","QmToGd7rxuQUU6MNSvoCvTL4DFdLULL17ZEGjPzFACxd2i","QmY7QdnwobFbGH9Z5aZynCg7uqsfm3VjV38F5ZMhgWcANe","QmREGNfqngHb5PpjU3gX8ka8XJ8cxtTrTRyLzVKbjLTBo6","QmddH7vYkKUuZxRcHFL1FNo9dj8UF8sLbbfhrafS2jMHNh","QmSUNfF1Hqkx4gQLT6WmtTtJjaew6hZhwZeGijR8Ji8Ldi","QmM
SSu5JNTzxh6HFfRbpXQg6y96amqgbG7ssKEGoSRQUxaN","QmaVRpRjbZ5QbJqu8UUEAqzgJT4YgHtMQfv3essGzq1rBD","QmQ2mDru1Ypt2yDDnweCXSYnb2zx6ufQ9RVKvSHdfjsuiY","QmYyX9KaFwxhp4WJ42zQj2Eq98NUPtsoYYdF2mSp5SZSwG","QmUATTfJgkEWZAo9Uz1EtzNaymkc8HgKjVPGRh4uTc6sxY","QmdEKjEb6WjfkddiWD81oQ89gfxBCAGwAMZ4mxwwUnWvXD","QmQT19c4rpwKSyEUsX1ChskT8ABRuoA6EgPtvZKXgC8CeK","QmcBgK3zJMuhqeBYaK7NU6FLYnaJ1VVL6gJCsbcDyABQ57","QmahCgNPomLnXPtQH9gt6U6L3ZVvyFFctfReVBn2uN8otF","QmZRGQ5N8TAf8pLtE5ziBdfgnSfJFBCQ6bEbz5MSHCjaNz","QmNRqUvmJ9qbuQPsFjBYtk3Vq2VvMTvaM
k8hv814MEPXRoR","QmX6CmHLrw8stauYEdYSHc85wmVsvAkMrBXh4hHeM7N1Lc","QmNzA39tC6GXBBA8p1zwiFLe8nrG4KxNDsJNdmwqH4Kdxn","QmRnkBMuGHuqYL7Kz896AgY7BgYXzpmzN5PMmUKhPeTnf6","QmbreivTjfGrENodUzZJaR2go13MWnugTQgXCGBBt128iJ","QmZnQ6JUhrjFG14k3BcifqcvbqrRwcgwSEKG2mphrZxo6X","Qmckh7N3FkSb7bDyeRs8B8BFgXPTLnSMM8y28g1tzdwqXx","QmbgpFSZDeMGzkLnvqy3Ut67GsHwQ3AYUaAaD9QG8dofDJ","QmXCWoivfdVRgn5ot3ZJPPmEJuxLvmYjRK4WhNYAwH4ZG4","QmVbKM5nEdj5fG1Pg9USQYYgU8hdwK6PcyQSeCV831Ex41","QmX3nyDh5sgEH7eLzVcvjdGx1QeWNC4sVG9bJ8QsLvbmgC","QmPWQHpUZYfp8M
hwHGgysWFLMoTGGhQdyUpoUq1VfUCvbKb","QmVDpWHn7nmycsuNxC43TTcZfonXb93nSuYPHmYh2NHC7x","Qmdgw6GMy9Z9dMNR1oBhDVJiBEgZDmXrH8iJ7p5FsREVdF","QmSQjMo6jabxRjcxpNyaYEVSrTFEVu9MLnstth9yShEKhD","QmUp8Ayqcv7f5qyDHPRNYvfWY6h32VndothCyHzwSod7ks","QmTPsutnNyFtNySJdWAASJnZwTETvwQEwMsm3rW1S4YYSB","QmeF2zy12GLw9kzmrJhZFRamNQv6A88eqCN3dFcASwMv6a","QmQe7Xzp9xxCNwnstwqyUtRNPfW3ktoq4hq9z7iTqenFyK","QmTQoHY3CX332LnhtiEaJiPkJZspFDd1AWCVmuvhpqreyc","Qmf8QnCuRozuZYg12WDPXLv2jX6Sgnu94c4QMM9rQZTZ4A","QmPTmUTVymXcXR5H5jRZ6kULgKh64Tidep8jLo4A8urM
y2Q","QmWfGA26EjCd1bHgj4n9U4xZyFL349pAvW3PQPMWgjB2c8","QmWJNuUByiebPshSnFpoLHaWpQ9zDjULyeSVnsN9FpsePc","QmXf2tNdyr5b3tks2KmVsqY7AUFKPn77u7kJwLW9if8MJT","QmSdhxLywAxTiqZBxGgFEmS7LjCmiSnkjhaRAzAx1VUrcr","QmUsCDANZUrWkdRhvAzHErByPSPS4bLhDasVrvimqh5w1x","QmZy4Z666WwBJEFYiP2pdSr1mbFDDgRRVDGcjRUo9MuQdo","QmTq3zKA2FHnRUp4ThLhU7hJmoFhFP2axEajcsmEiaX92w","QmPEUfAdWBYA9rgqYFyENY8wtKF84PYS1FYknpijfSHWTX","QmUBhp8fjGuJJaDjUEH4LtkFFSTrgZZoVd6Q9NWrBQciPt","Qmdg7vLKbruAHVC1F8aAAeP22oR3a6LQ89anaioR71sHMZ","QmZMwgzDx4Brh6Wg49wKqaoTM
Ydzvk6Bk8DmnGwtrhdcvfX","QmPjjyRJXsMhdYVuNXSdUooNE4QoKfAt41p68Cb9rPoJbV","QmPWCRK5QxK9bKMXewaD1as9k5Ap8HUyRfWBbeobECCGzh","QmWHSYCt6Bw1rg5Xi3Ybv1BiAT5jmgxqaNuYxCPjfiNsB8","QmeviMT4fCGGgvyZZ5jNoCc2jjV1rJ7xNkbAQYHQMcsH51","Qmc6fFyHxR4wEXtJHAZ38JLwkk69e1QsC769PQQEgmJ1Bk","QmNRbtnw371kAk9iewmYFbhzPveFupYJZ33rujhThQmwiq","QmSq2Rf56zrYNhtaai3NTkdnYv4YNQZ1jWH8RVbY8qw3Zz","QmNRvMnXLk3WEttdaAEwLhLLxZDFKmFAuw4yN9h8uewD1f","QmTCe1jyQaJubyLs6WUrzprq1gZpDas8mS2aJfWafpoGPX","QmZmX2LHLcsatfimj1zS86B9KHrP5rhgop4k1SXKYU9uRM","QmdRKM
Nr4Qb2h2noPDMp59i2ghmsMdwpk8VU8a7jajpuEph","QmV9J44SAJuvjZMxAzu3Dd9kNdbMDnA4Jv8PUYASH7jKun","QmRQiHtDgSYjdh6mJ7awyR6yWToV34sL15cvgZXdUxtyx8","QmV7JdpJ4HCUdkqhwdqcsi8dZmwsV4iGV5N6djAyxS6VDD","QmdF5wGvd9sExWEDu5qiYTecrE2HwiPkcorzRrxra4srUb","QmVuYtBfZk3UC9FYsdRqP5EWeyb1syyrcRw2ntZS3Zsgh7","QmU3jWqB6ZzpyTzmtETrP8tDtsfpzRggPg3kLxLPFQ4FJt","QmY8BqE4FVLHYrVJhnH6DyhP8vyxsPd8ma5tudZGUdUv3z","QmYugY25gmnFeXjQs22wL2RDpWjtNVrV3ZjrLa9DdQWvu4","QmckpKaUFcSVxiQwpFXBLqVwUzYSNJTcF2m5AzgsBwkSnm","QmayHU9NCNDqpowP6AcqBvruKGpCmKDVkRmM
ykr5NMySVZR","QmaCSTE3Aci4cSRse8PTQaA124zn3eFCWCjaMRjCcVq9VR","QmYAhvSVDSruYVmiznto4BhAnhGsK71FWmu6kA1QNRXLkz","QmWwHcq6DHSUGJBPiCe8jrRzMi1M42JieuFJzXW9FUxqJh","QmVdBPpDB5EQZaEzcWEZrU1L1MDnUTVLyize7zTawSkAVx","QmP1qzsuwvmTrF3APeeKPa4ovJZsV7GkuRwiykEJENGFhA","Qmcb3a3UTa8gqDUMvvqCPNJQ1XHXktnsa83A4r6yWkfRh4","QmPvvTzUS7imMLY6nHAkD2zcMTEdouBgpNtvcFvxqQ86Zt","QmY6P3u1yxAtRAhrtCNA27tkY9d2cYPr1Z2fp1vqJjaErH","QmVu511PYWqRUqqHwCNActusSpS3uT8r4A83bA6Kc4HBWL","QmPevHGKfXcgUDXC225862Q1bpvVqqZag2s21kSHSY5P4A","QmNx9eF6ETXZkjznM
kb9r6kB7NEtNYiU2zxeRNow2wGFZah","QmdRBF2DTu9vJApyB18Zx6a3XQy9SaXy694VXAYLKP7BxK","QmfCoB7xj5joGENTV37W1Jj1jYGyQYuz4TCpYsap1b6nSv","QmWbybT1qYL6Bg8e7y7p4CxMUcTRjx2YfKTkXLUr36kFnf","QmWd9EP98r3oTmgaS9xG3qsGHVPgedRkqsPHWuMuVUdcKj","QmfURJYAtAjaWMBf8zfMZ1XdgUjZ8an8epQSv3WNLU2MUB","QmdzSDKmTKG8fvTPzmb8iwbJ4h3HGzFCRDdRvpWnftFgu8","QmTdeSB5Fi9bScxdZt1MZTdpJMLadeMZBK62pb5nLhZtAX","QmNfxurtR4x88ETvrG5PejKHLm3uhRgPwieaswFgieUnMk","QmTVpazLbT12v37DbueGrXbrPG4DWzidBck78Zv8v1UQPY","QmQ6HrNbABiVevwqr2JfkB3MYFjTMVBERvyHXUQqFdkbrRM
","QmQAfARbqW8WSasd1iYVVj2qebBd53cRQsRFAEHyTCN9Ho","QmbNrZhnv7539xvTHRzeazK58YGTo5RHSTjHV2x1yung6G","QmNPM27DTBbKAjpjoEFi7GiiGoXVi24it1zmmc1t5BW8wz","QmQmoXnJhPZ9KPSVMgF9Ywj9eMss6NzJ1RX2SsEZvLqTaS","Qmbu7CquxHPA2wZJomikU6Gpf38xCm63Ty5EqwPXH3GwiR","QmNjynErJwutydPyBppiEkVpbh6tZwEr4amimPGZg8eFoJ","QmX4p189Dc6dvJptF18pPf6AmJcLEERaHeSUJGdz7Pm4Uo","QmPvELPsoXhKxj74kmSA6YGkLqa5MTYZJZ2QjfMk6NNGop","QmS2fAKX6rhqDjYRdfyW8VSknmWYysSthPimD1G35VriuD","QmTCJSuBQjgRUopWG4VyC1E2YkCmYpGQHYEJeY4YdwkZQx","QmPWLgMxe3tq2tdDFmAYFMSCsu5M
wtGUF5LHfNsffFrvRAZ","QmUdgoepDXpx9Yp3j9zAPqmH5tPeeh86QR8Y41UVf3eKX8","QmXC7HgRfdGVtscEgNd2p5jgsiCNTWqFRV5gHVS1BPAngX","QmRcGmAxTkjLLtyFF3Y1XqWGouCkzKggAD45VU7zQUdGQX","QmdJNPmpWEP3MoEffCkJBoSGBvyrAd7zVANb4yyzvFbJEi","QmaidcAaRVhKNdZ6nUvbxfTDGiSbx4SRxDJeft32AUGCjE","QmQgccMLqmcjBTY1owBBQk42Tgg78Wyx2Py7V8hsjfZf3B","QmQeNs1s655zt6FPUrxRYjRCRJE4EZ52VHKwKkqyiGdzgS","QmPCH2Kw51myAHiusyBA95qBazz6qAAGQd8uQST9SBuL8S","QmdUR5wYD3ntzbcmBb5VwdgE3WJrnC1D7WZoKw89wDTaAt","QmWYpDe1ShTpTK8E1E5SptPcaESohi4D68y2tBF9JrCa1G","QmVW6KhvM
8BB4MNn6nW1UmjQHoSbd7gwFs9WxHyEfXcN3wY","QmP2QWCHKKwQ8rco46ZekDhDT31taREo2joisg5LvipFNz","QmaCHUJnrrASBCjoWGxhtaVTaZ4ewxwwPUXV31q3wEDHZ6","QmVwyyBNJL5cqsN1jg9n2Sa1sSLCCvv71RS9eGRFGxAkei","Qmcbtb3jofnCxkr2gkrH7tzxmLy5dFNYrB6bLTPLrSJGrd","QmWTUDrF8RSuaTkpGNgCD6JGVhsix4voGr4qnF4L35QNK5","QmTJcF7PwNyytHGxrFbgKjveokRgdNqmrHwshpyLvMRq3K","QmPS3iPvedJeZG2ZDP5LU6744g4UK58q9LqAvnU98Dhz9A","QmYaJxMjmbqvbw85gtX7ag4K8euWZJGdssZseD4FiWvCoH","QmXexzgXS4ZwbugSMAkZ2yhSvGDmAhfkX8PhQ3brr1PY3V","QmcSa97q2HtCUYtn5Dfze6VqkFijacmd1uq6d9M
nmEk8YTa","QmY78SSRyiVsC23WDQpT1bwHmxJdfALPWMTTG6pQanMzMy","Qmd8WGX1iB6jSkbJt6CDJVK2iRYjBr8MmKU1HDt53cxHSB","QmbSGR3upwU8yrryx8iTJL79q3Hf41jS77FwXxubRkLgnK","QmfJBe4Lc9CvjQtd6BYnE31gtc5ELRiEkbC4L9vaetY7na","QmVHJEYd5sNyi3yiq9qoAsw9qJPopQWirwdMshzHbSPjSz","QmXyCWX5Tro1U54fem7aeRcpP4c24j6MuEhhYQ8wYBMTCa","QmQhRfGi5RZ3XbTVXBLKVSi3641y5D4hZEAFDwfqE2o5jK","QmZEWkXSCPdz4j8zkrxH4qdnEhjWZJCYjVA4BgX9AKWdnr","QmQdgEdf9pU3ZUd2NfY7iu2uwUeekkgBnXyM8wFn4pt9Fz","QmbiefpgfF5Sb45a72Aq3hnpUJ6uJv9Yj29h4SzYvRabvY","QmYur5EMi4sgwtiobDPM
ajqn5QeQMTtGn8XtKmWXMHJU1UK","QmbyK2TLZxKKAtnteXWydAhAuHwds4QQTidxAEK4TEvJjc","QmQGqLxzQtiUfLZnCv4VcMEUTmBY2sB6pG1S3EV8Dh64eP","QmS211KtCZQBu16EmoV3qjoFKBtHorh4mWNvrmDmZ4WjZ8","QmQkSAxu4uVevq6zoT4bp471DgPUERdfwu3x4owmVpzSeW","QmTCLVS8msyz484M6S979JkAtBiu8A7UHFBRmZpgpS8bBD","QmV5kGvdokZ3Xkzyv3ky91KcePn59Se8YW81je44qE2KN6","QmUMWS9uLowwzuAJ7PBzJReNqfswjNynpuf5zMnwoTwSua","Qmdt7rVoHHpib5xisXJx3j5T2UfoLSgQEQeP4wbg4ex55k","QmYBhbfwmxvdaokTKGy1Qg9fg2ZnsppuYaiArxfiYmZrzk","QmaN2vrDEW6erxm7bs1CXiCDkAwRwmg6NxCtAeZRy7aDP6","M
QmWGbNg18DGTPhwUSpSzZs95dHQuecJy2RwrvCigW4TjC9","Qmc14mK1aZauTN7nPgkiT4u2MxW27ezSAkNbnpMmfCDHyH","Qmd9QZsWTSZAujThMCCXyPNad6GcqpmmhRZzYnXEMrUTqU","QmfAEi6ixRRUA1JXcNhkeNbaLCFG5TpYF4DG8Y8YQ9x4zy","QmfFzEQAAzpH6eTCgDXYngg3NGtYnfcxtqF1UKHywM6fyH","QmRbVUs2fwh6ozVUt23gv5GHy9mJFF7dktm9pSLpH6Uc7Z","QmWG3p6TmVx4YqBgPqBAvvNGXM5RKUL6c7c9Bb9P8FW1ai","QmZDTAfTQCUstu8F1UzVEBUR2tehMNoCdmMiajhJCv3B1p","QmNW7mwbokf9vjvcSqrUymQUzE54bdGTptSMiHfvmDX61a","Qma6ePE1VJL8JLjgpLFWNcuz1i1JLBJ2rhDvokKRTkyUaD","QmcCBJFS2tEV7FG52jkh6wT7NPqUewM
wmQmoKURASLfrHwW","QmTsVdVsJHorgvaDVPYsM99326t28JL6uNxAyXjydnyb6z","QmWwFst1HsCYd4qpBsWTGweSdHA5gtbUnQhCQDtUHVWMnu","QmbBNueFYD7nCBpZokop8c3tMtQpXSuS7Enuf2g6u5H7Vn","Qmew8FMVxke3JTFgUPPfL5SrTaABMQNzgSfezE4p7Mh7UH","QmWfz8e8Xq4AiPrW6tywe5H2dkYY3MmY9X2pi5DJ9fB83S","QmcABV3ekVPzom1b3yZXTmXTxAFYFBEHntKNPJ9svwdV7p","Qmev4VrmAk4f4NGR8g3er27ZR9oBT5tuAzzf1DPduAgLZ6","Qmeixz1mJ5pPZpXzRVMjCc6NqAv5jbfi6nwWTmVSeohowM","Qmf7GFQSAs7xKHGiivkn2BPpSs3bzfrEtzxp8Ms6TBaW7B","QmfNg59tyHoMfMLYGCGjNhhvHA8NGhojMzHXpaXw2DK275","Qmf3xvnzk6DM
ek3m5odC6ffmZUXXj7T3z6NfU92avLMnNs6","QmSrff5mkTyfeAx4EP7SVyZQAQgLfe5skMUKk3DEUNEZo5","QmZxBTRdESXGcmSHYa1ZzwaduasqtyEBgq5q9yu8bYckgt","Qmef8JYPBsnWubZhrHsiqZEv9LWq6SjkNABXB846zQXkZn","QmQxFZTaUC3kHMVhkTzWtdZbguEZpK7cohd2k8WNbf7JTb","QmUwoJXaiSQyVicuBChHCmwDxGSg8eDpPkc3yj2yjv4PSS","QmYpd9QhotpPLBJ3kxQj6cB3Ej4uoqtZR6mB4pETi29HGW","QmZACfKRFqe2u2Egi9sdPGgSarHZJUtpemvZasJohPuFkc","QmNy5HpKFtvy1z3m5SnNq5Rb84X59a8sFNJjLbnasKQubV","QmedFTMcHm8WWmerrLQymFnd4m9P8cbi2Df3bAkaCzdecc","QmeZCvoNSC7dKU2tYzyKqRJSPQbgWPcFE4cPGooz6M
Qs4TU","QmQX7CXB44e7RD536y4f5Q7eUfHnzNHia7fAZ1sXECAXbL","QmThan5haokTyS6yTj8dtdftuJh95C6bJhrEPiVTMAUzQu","QmXN7UGvR5AQ3bZdvjdj4vAFygeiw3urGEELwvqqDQdh8E","QmQe1hv3dgRmAnai51jkMAgWo8ivwzDHfo9aJ4rQFpzTbc","QmbyMCofiGotGtdhaz35tL8EfSweFYXrWMVQB7cxqYvqvj","QmSk2SV4UptVDUDfAVcXsPnqYNuJDz8uwVibV9YqTh3irk","QmPPmZUHb3u1Qmuejo5iN75Um4D2cCjuS32z9F5DzNfPHs","QmQEWGUxE2fjZEUvqUnSDTBZV1K2jMA1MjJWboWYYwEjR9","QmQPdkCyg4WbK6nwEZVaRHVhWLoHwFRCeRVVsRZ2JeE7JG","QmSkqgEWNsNG5H74rn9P2mCJSn8SSMi7gtxttTmBy1wVeC","QmQspC6fhAYPPN4eWn9TQrM
Nkibig1Tjo8NmRRAT9V4fRgW","Qmb7FxuQsUfgUD2V79W9vcP7mxDJKv3Dod3qs5sL5U1Beg","QmX9jeeu2SRpVz8bUETPDKyjS5nZsR3F1mm5Rdb71rzYjR","QmNXHCPsAQ9psYtpS4d28LgXo4DMcAfZMvX7EgX6uSLfTM","QmaKJiYgKNgAcKEYxtjLZ3M53VGmP5dtLJAjonY3sSdZd9","QmRxq8JMcjNbW59SwTtQJz63TYRqAGjtwCdQgZbYwfjsJm","QmdYNG6CJJLaX13KZx1A2ACDmbKNi7g3z2uDpzKE5gFMmu","QmbghfDU4nEwh1AWwBQ63xrPbFMFEymSkNoqB5oXmeEWqe","Qmbbk6KjaQTDd2rQmeaKz9uY46hbL49vUnhnQzhn6AKQQP","Qmc5HBusCGWKzBggJRDwo5KPgjeexd7MWkLCtwigWqwMmz","QmYnDXgpXpgG2vsfiCvmxNu1FNj25e6D6rn6uiFQtJCgET","QmWM
DZWp4YRx169WdBrCL1QoEC2gqVCAxTZmJeZb9d3mFZC","Qmf3X21dNFDgSrEN8gThiDyBzc1LstZikTxCsTkabfBLPU","QmTYjGcdiPPBNyM4scNgdoFJDdDsk8U2TcDMrGP37gZHL4","QmPPjSiSHoEPiznyB2nCLSbHYfjm1iT7NfbJfWKPSqBCTq","QmXBUHsnYZ2vauBw3ANpR3YaB6FZCF6g7oWEJ426LwgZzV","QmTzZ7KvuZweRan23FfNdJAZDLR5BjDo9B7V2XkSxXQyZ3","QmPm3T8QXUpaB5aDrQcDHAQN12u3AKnr5m9wpgWyH5yVDm","QmcT7U8ae36TfVs9VqQ4wQxL6EcDwBEendqRkP1HRbDY1g","QmcxEFQtNJgNcexYKujLdKSjQo4uNHE9rQ68Y26d1vpH87","QmZXXJGWKAKCgteMZKTNjb6GLgmysZpHZUgcBBZQnQ24sN","Qmbie7wqAdZ23hz9jSQrFuhTBeTqdFEcPM
mW2PwiLbWPjwa","QmSHFuuzQ3u3SN8xbmP4r7iikPDG2uFbW7HFR3KCv1nV2H","QmZfg1isqM4NJryxZ1NKwCBkf7soWVL8CDkvR6iHfzBqSi","QmNU28pjkEd2a5uThJHno6wz3LiTm73KCMACjSHtkonag4","QmTE3q5rC38uZvtUr1GAbw9xKYGtwCs1B2kS8sV57bVnaf","QmXxbt2ZL268Zqi8uCqCJGzZTL1rNjsu5fH9tU2TL5k8n3","QmbsEvwi3HYM2oQthkpTyTJdRc81gUBWbL8pcS7s3cmH6e","QmeD8GEAWy6qYqH6rC6DDeiq64ebAAVmue3TBWGRao9QRJ","QmPLCGSxKWv8uS4VBJSR2BdpNaT1SnRqBJBekRp8fW8gFQ","QmbSCsHqtrPrKXJS1jzHET1h4sdCvC8tfQ6HcrHbF6cz5v","QmXdBoQ4nLW51WcV89Z9NDHeYvVQH4h7raxzL9mQFZEMxY","QmbjvwLrahFU4iM
ePhVkR86nM18YSsgSq5q3Wmir9YZYix4","QmWLtzpq144UzSZEFYBGpBu6H2vpXzVpRdnbPPokKyPdDC","QmPXVB8AwoV6qa3cSFApyhQF8aDMybTUW56iWRfMUzHQW3","QmXvKZon1FqdygP6ePd7opNecs58qu5UXeGEzkrzNkgHkn","Qmbw5PTKpnV3cZi1Utwhap7K55CAhhRr7yso4fLPeEvrQw","QmVDh5h1V3yHpvRuEzHkScDsCxM3onPwoEGqPwD4Kegaua","QmXR5SGESFSgYyUgXwJrVPxdBNNccAAWjJr6KCrgHHQcAm","QmbBo1t1y3U8Knsek4voC4Am9y77zzw2NFYkdJq2s2KEze","QmUAcBSYtyYPTwCgmPQi5wWGWh6hvkGUEa5vcawRqYGvK3","QmbzG3b1ifHDrESdwJkGBwR2J5w4G7UnhocXXuyDsTGfGa","Qmck1NNARjWwYgLicyvUV6mEFMhdb3azVF2Jr3b3LH6JM
Py","QmXq8E4DpV6DmfzGKJotGcFyDcir9h8VXaynDDLSePWVMq","QmQiuh95mMQ86Ys97HgySFgjdzSCDaQ42Wmz3jo6KTCbfv","QmRKk5VihU4V43gK3trZ1ijrzLsPaqGVzyz4Nhgdxb2fDm","QmVScKGiw4ddDrJJqMoUXe9evdDzftE477vjWgoXddHohu","QmQSRJy4f5Kn9nURq6em2GjcspREM8BooAPfbAFWHrRFsP","QmeYzU7Me98MY9KTBrdmG82yYLNoaDJupddNMAjgEuCGB3","QmTnquU2wm9jbxZzVzGe7WxfPhwj1TunoGFh7DUFJ26usE","QmXktAZiUVG64DCMHZWPH3F3sZV9SducmTArzdwmUp7uUY","QmYo2pNfsLPoZ7LqmHakQ8ZGT7tb2fNmzha9r3me58eyvU","QmPPaodX1Te95u9whX7xV9ZHjVMeGXTpcm4ws86ao6HM86","QmbE1iLUGzQdWG1hvEE87j56ZM
v69BGfHE2Duy1VPdEyLd7","QmbW8mWGdJjzZ497HhnFuhvnV8gCmSDT6dgXDzeorhoLnD","QmQHato2C5noLMJFEizS5yUNtagouKXuxahcQ3x91AbLtt","QmS7zKyqWeV2noh3QwCnWV9Hj1gJ2RGciwqtaLNfs3NKZX","QmPjJD28njeDypuzMWu6mfE4E9qm6HD5TwnNMiQaPm2tEK","QmbLYpQ5F97JZZoiK8aFbW5oe3EYe8oMrjp8jRgMvu8xAx","QmfEeTphoE8QSnutowwKBsQchByz8Ku1MAosyiSEcizyX8","QmeTsrxPVBaitKK1Lk6PAJJY9KeNs7vc9PJNuKj5kbkwia","QmNP9FN7K3XgZ6ivbraao5LTBoD6pANo1C1KAbSCN68LDT","QmSaVEq9XN4vH2berWj4wrUpC7LjryQU4AXutDA3UEvawp","QmUPg2GSD6S2K6KjFDz2StChnb1hVoztNrD4GXS7D7SBtS","QmZLXYM
mT31gZSfGaEyvTEj2AzRi4sKvygeP7afaTRsdUCM","QmVVbUZztT9HAJMFDrKzPbU4pjEKorkzNiGDST3JKySoFu","QmSK6jWPxN75fhT8YGLuh5uB8d2bTC56WUythVDzfeYakn","QmXeWedYpg3HxynRnCNL111d5ziM5kBy7bvV296kUDuaew","QmXE7qYnXjCPSLtBdEgCGyvMmGsJhurng26aXXXKXbe4bW","QmSoqT8A3KDfrWGVFiXM9XCPsTLk6Xyrc8Zn2Quw9Br865","QmTMuN2EkMb1Rzkom9UDUM9P8Z8n5aeGbxX7WooJJks51f","QmTW78MaTqtuJheKfXFPMU197VKZJS918bPJx3TQM4ofZB","QmYzrkyxDnZBpx3YZ1tEh4ugt6FKdKqySKiP4VkfPjwKBg","QmaG6DZRMf9StXkNtCt8Ju91Zj6QDsgWJBYhGPANF1pCPM","QmRRQUmJ3iBUtKBHatTKN3gkTxgxRJmbaJTzM
4bxwi3LjiA","QmRV6VU2cmWi37td6p7b9reZxCdVF2gubVeiHDDbE8CwXr","QmUjkpsPRosAUDTRc8ZrS4jgKeY3x2P31gS7onbeV6bw6e","QmTBS6EzuhPvgnYkpZ2zFPmH2Nh8wRwRLnBh2hiDX23ud4","QmWEcczZzNNWLMo8uAwGVjP2d7g2M1A29VrdQjcWcdsxKY","QmUnTP52BaiSKgX91gq5ZkhGC4MvrPypPWTZhpSfFAs8JT","QmXMdcweLFZwCELp6KnVtCbAZLTaFGUMnrcqDGvobHwgch","QmRfQ8nMtGv25sruDeXGb4inNr5c5WNbhuv1Mx2qtuattt","QmW5zCK89c2gPHYBTXidfk489xz12PrgCofDPSvXwNuyyp","QmdgEdndDuMEsx3ZTCK7fDKKsPQNZPT87ihL6AuiVsLYrk","QmXFCJug3eYjErzVatvaknUiVE2ceWyju3EJxoJRGvYzLJ","QmPKfPdeUStX21shfM
3JnoBFkGkE9uo1dtFwLdqEwRhkWnq","QmRwGk6jh5jN9Zr5eu2ZwxMRWGjCorM1Nw3r9cGrMDdifV","QmbowrKb3Ne21JVVn3UEWWTwsnN6FbDzYJdfqBBTCaPwby","QmSaGyuKcVp1MJSmDSt9Q4mM8UbLq41jgoGGMxPfdR6pH2","QmXXrDGFyPUzVXHpbt2pkpicKcmisG7SzsiCXA6KvJ9fNQ","QmY6zsssajecKBr8MufmkPQbJBx97uXmH9T5g6ab4ZWg9G","QmaUwnNKQ8NeW1FZahtjGtWzn661mdb8jnTdLeZmo6QXap","QmT5CaWb193xX8qEEVffKv11HKT5QRfVURCLKeFs1RjxP8","QmQBV1ECvEwBE5wAb6MohdG82hhAqvKdwofwhZDMx2QwMm","QmTSr8BjDp729SpAvtP35ZcR4h5Wjf4hSbPsv89s28QtTQ","QmUjwqHuHZD5BusuArHvFqkNhoKG1gZNRPnTDpVbGTzDKq"M
,"QmW5UumC7bnjgjN7EN3AbJucbEnkpTVBS6NMSUUAeWhzLg","QmfLWRiBmm4WivhNTvDfXnRuUqGrcpjSCZLEzNqKnm8TQi","QmQz93ELZ1sZ7YoyK9mk8bkmgmsULTRM4cS4Tnb9YkMT7U","QmQ8A5AKidP7THbTnTJmcA6YvcE775MXJCGu5s5t85Fdjc","QmRqULiENgPV4PFTYDC78JSgztbSK7AEnPvG2BpAracNX6","QmdUoZNuXvbdLRZgMBx3HdD1MhUXiXSv9uDskdrXHKNNkf","QmdmiKCQcTohHGJ8x14R1mJddHaEo32mh2A2mz9uwgpP76","QmWjZZe6fi481MeGwwjXoLERLc9nLhBJeDM1FVnNEYHMsn","QmXwuKfjvDN7NSC5SfXWmmkc87PeVcU5kkxmYLYV1D5LjG","QmS5FPKzWLgTHXsAzNojEJyFnnqw8D5zi9QTADxWyX5LnC","QmSJHGWZHoEiQ3kY8D6DAFcAWvVbM
ThTi53gk1HRpWqLFv4","QmcBQ8kGPnCLRhaVX3uBX174kKicF7obMHWuuG4VnReJFw","QmZ3mTVaD6CdkY88d1MimxQHfFXu6a1ojSDVJfwLFuGaff","QmYkkh6g4kupNX8XhNZdivNiBvStRmmi48Y2wezE6tfwLN","QmPxrDG86TPiqW9aLHeTPVmAxjNyHfn9gZjpTkobQdARox","QmX5rbX38ddMAjAoTaVS48wELsk7KkrYHgGcKzQw1x254b","QmXWRasaLSinQSCNqoBL2MTYVUxJAMj5bU1YtesHLrdNtK","QmdXkPq9nQZuxh4ZgvMVLWEPpwSAxicXz8JdZAvg6sfUVP","QmVPtivZPgRirJzf3H9m2Gs4DT6quWTV9aAK47bBFVd534","QmfLfWUTD1nszyTt5QJ2sscQJp4F5Bhk9nyVcfY8KxYLbk","QmQW6DXGTKg3hcJhok9qJqyyGGPfWEXP1cSMeWTAMpyhXK","QmbFBK8BiM
63mEvq2vKnHRjVgZ2WwnrzdUkUiskoZKZHRRo","Qmaz2YwD5mvpAh8YRDaG9WPVNRFAfGTft3byRL1a7XAx1y","Qmf4d8pWB18uFxLw6GJFtUNW32fzMQBkKsfafp5qjroeup","QmRXvb9wMNHQMrdgK6yh27YJZaaHdsjNk5M78vXKtXxFoF","QmRjZr7dkw7a6gs6uRk54u8krkRd7Md8roHJR7vBdsmJ4W","QmcrYm6bVjKeTnUE33SmRYqU9NCMPWEhkLXMaZCXbLrLt9","Qme5DaweRZC2PhupFbHzEZowHYPKH5gdv8GXPKf5AZ4rS2","QmPfbNBFkDcJg5nVCJmB2MQkk8GXTQJBugLcwvweZ7Hide","QmNtoJLmv8AqEawQukLkdVARv8kvHbT3hbr7kP21THEUeN","QmNfUfSrpcDY1mtbGAZbwz4He5g8DaMLTsD7C1k8ucaLcY","QmYepuAjEsWudFATTCw8ArAAGW6Bgo5N8CGDCZkM
foKtDwP","QmdczSaC1bjESRtgNkMD2sKQF7VsmTqkvvES8svBcjzCZA","QmXGBwdN7UUrLEDV4CxeGDiMWvjjiRjcPeiUXbc1oSPGCy","QmZbjaShmHfTYMfsDb69rBfB27ieQYF9SKQwVnYJWktTSb","QmbcDaPeMuXwYUuWQq529vvBWFMrKhwzYyazKgYh1XFqMV","QmTJkHYSAkMcxEx6MMoHQQQWQKqJdRVrQ5Rd6jPb9gtk2L","QmYKfqUZra6KRXnSLwBYautiWV2D9g5442D21BFS4DLUX9","QmV6tp4mrLpiEg2SUXsTxXdmVZg6UJPS3kV53daRkwH7ky","QmdpHtJooVF4G1HfmnfvSdmvhviDjymxiVknnvNoRLPPRy","QmewsE2JcFNS2yFmDMfhyvp4PX8UwtS2NmpjEzRyn7D5DL","QmSHRkW2XQPJ8MJak7wQYMBBLrD2R8w2d7S5yR8siLC1Wt","QmT71T11AKyZgXX7XtotM
GuSo2e8MbCdJHsz5jb8S23Auwa","QmYscH3X3n7BQe87SpNmwJ3zq21QDVNS2NcioNjZTHBJdH","Qmf5eJvimvSneVBFNgWubZDmvW2pfjgyyncVQzotvPVvYD","QmeJ374sU3uxaHJg9QYAJPeJ6TrE3ih2fipD553T2eWWK2","QmckcLu8z38xFRChVqDbWQ2y4jxzXUUPNdaQExbx6frxFs","QmPwteYLVce6TcLpj2UMRbs7LGdie93owdASVRxxM2qZn5","QmZ8c1wsPSEskau5yVSWQphxWi8GtATSNH6PuxzRYX1JVj","QmW3XmFZK3E4qz1T1t8KTwVG4oLy79nSpJ6ydxcPCTzKKi","QmPhAjT4NCyejsvbFiXFjiAxdzjZ3gC6cYsiaZiX19UKwU","QmVnrdhp8iDyrXXjf3hcgRF9jopjGuuzxYFeiJaus2astA","QmbuTmtZzLkiWMvLYn12eW6oqDQT4AZYy51YspB4oto2Cs","QM
mZTZZHNB7NXu3MdX84e3JrhQfxyhP3noobpcacNixfevX","QmURLx5c8wfcxBBCmETXu8SSrHHQkjvTJLyiw72zRHKzq1","QmehkFSuViv3wUgb5vxRFDzFDdG7cQ8xw1zxeR524PPpo2","QmbLBYhFPGJGohu6LjaZ2CRGniMrTrAFf5hE1epY18vWhg","QmVK1ymDwPvs8L68PihdvXUwkHGuaebkzBcLnSgunz3dfv","QmcizfmAsF59YZduWUmJkYfz15K1iaABkWGPq6gaoJN3Jc","Qmc46m5wbJsYV3K4JfDjnqvqraaP5oT4JvEZFLJCehvmn3","QmT9nZr8ZgJnwCMgaMhUwhhXdKHruf8PS8aBpeY5huNJED","QmUMYG6Uz2WFUK3ZojbusGo8BAHtXHq8CcTiuTiXAb5m6A","Qmcth5t9RJuk8pRGPf1CwfVayjMSH8eTJpiidUvrSuebbe","QmV5swhgYu7MeudkWtBXDJi4BtQcrjdM
g4CAVRTni12pfsd","QmfG3FVABCKXhEsQSziu65iWdmUWFpdpUvEANgqbmGDf4q","QmR4yMFWKckv9iC7Rj4Q2vkdKjHterk97cVvpV1gTT5MH5","Qmeb2z335NxS5sHRFcncBFw6HdG7XPFktauaahq2NppaYJ","QmUhUVHh6FErfZvfA1bQTSY99VwCB3ctETngETcx6Nxri6","QmPLHNHspyY66cGA2p6LqVCL7KEVK4fUSTi19oSxQqzPUZ","QmPe8gZnjp9MfdKiKbMz2S6cNheXe9Xu8JjxZ7hjDwr6wZ","Qmb3PnRnEKs2bQ8RMG3Uzy8VV3ceqsSaiGyrnZCpxGBz97","QmaeeGaytd4qMskC7jcxRpn3714ECmP53JC8fkEXgiFhjq"],QTY=[950,421,295,275,147,488,224,338,572,362,237,383,456,136,219,271,907,78,125,345,340,279,240,110,66,54,197,M
100,315,192,101,95,313,337,261,145,121,267,330,195,92,120,249,504,99,194,92,73,108,106,407,99,94,308,57,389,219,293,365,279,427,881,630,286,322,216,498,595,274,738,919,712,177,200,167,179,394,373,349,112,15,200,10,225,357,192,37,38,8,232,421,410,399,460,224,409,853,325,869,238,58,22,228,10,63,56,19,403,405,506,357],COLLECTION_DATA={collection:{collectionName:"Extraordinal Punks",collectionDescription:"10K PFP Bitcoin collection based on Ordinal Punks traits",maxSupply:1e4,collectionExternalUrl:"https://extraordinal
punks.com"}}</script>
text/plain;charset=utf-8
Georgians throw stones, petrol bombs at police in protest over new law
http://ns.adobe.com/xap/1.0/
' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x="adobe:ns:meta/"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="uuid:faf5bdd5-ba3M
d-11da-ad31-d33d75182f1b" xmlns:dc="http://purl.org/dc/elements/1.1/"/><rdf:Description rdf:about="uuid:faf5bdd5-ba3d-11da-ad31-d33d75182f1b" xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:title><rdf:Alt xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:li xml:lang="x-default">Georgians throw stones, petrol bombs at police in protest over new law</rdf:li></rdf:Alt>
			</dc:title><dc:description><rdf:Alt xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:li xml:lang="x-default">Georgians throwM
 stones, petrol bombs at police in protest over new law</rdf:li></rdf:Alt>
			</dc:description></rdf:Description></rdf:RDF></x:xmpmeta>



                                                                               M





                                                                                              M










                       M

                            <?xpacket end='w'?>
)?'.''.'?8C737C8dNFFNdsa\as
)?'.''.'?8C737C8dNFFNdsa\as
text/html;charset=utf-8
    <title>Canvas Rotation Animation</title>
        display: flex;
        height: 100vh;
        background-color: #111;
        margin: auto;
        color: #777;
        position: absolute;
        user-select: none;
    <canvas></canvas>
      var canvas = document.querySelectoM
var context = canvas.getContext( '2d' );
    velocityTarget = 0.1,
var MAX_OFFSET = 400;
var POINTS = MAX_OFFSET / SPACING;
var PEAK = MAX_OFFSET * 0.25;
var POINTS_PER_LAP = 6;
var SHADOW_STRENGTH = 6;
  window.addEventListener( 'resize', resize );
  window.addEventListener( 'mousedown', onMouseDown );
  document.addEventM
Listener( 'touchstart', onTouchStart );
  width = canvas.width = window.innerWidth;
  height = canvas.height = window.innerHeight;
  velocity += ( velocityTarget - velocity ) * 0.3;
  requestAnimationFrame( step );
  context.clearRect( 0, 0, width, height );
      cy = height/2;
alCompositeOperation = 'lighter';
  context.strokeStyle = '#fff';
  context.shadowColor = '#fff';
  context.lineWidth = 2;
  context.beginPath();
  for( var i = POINTS; i > 0; i -- ) {
    var value = i * SPACING + ( time % SPACING );
    var ax = Math.sin( value/POINTS_PER_LAP ) * Math.PI,
        ay = Math.cos( value/POINTS_PER_LAP ) * Math.PI;
    y = ay * value * 0.35;
    var o = 1 - ( Math.min( value, PEAK ) / PEAK );
    y -= Math.pow( o, 2 ) * 200;M
    y += 200 * value / MAX_OFFSET;
    y += x / cx * width * 0.1;
    context.globalAlpha = 1 - ( value / MAX_OFFSET );
    context.shadowBlur = SHADOW_STRENGTH * o;
    context.lineTo( cx + x, cy + y );
    context.stroke();
    context.beginPath();
    context.moveTo( cx + x, cy + y );
  context.lineTo( cx, cy - 200 );
  context.lineTo( cx, 0 );
function onMouseDown( event ) {
  lastX = event.clientX;
  lastY = event.clientY;
t.addEventListener( 'mousemove', onMouseMove );
  document.addEventListener( 'mouseup', onMouseUp );
function onMouseMove( event ) {
  var vx = ( event.clientX - lastX ) / 100;
  var vy = ( event.clientY - lastY ) / 100;
  if( event.clientY < height/2 ) vx *= -1;
  if( event.clientX > width/2 ) vy *= -1;
  velocityTarget = vx + vy;
  lastX = event.clientX;
  lastY = event.clientY;
function onMouseUp( event ) {
  document.removeEventListener( 'mousemove', onMouseMove M
  document.removeEventListener( 'mouseup', onMouseUp );
function onTouchStart( event ) {
  event.preventDefault();
  lastX = event.touches[0].clientX;
  lastY = event.touches[0].clientY;
  document.addEventListener( 'touchmove', onTouchMove );
  document.addEventListener( 'touchend', onTouchEnd );
function onTouchMove( event ) {
  var vx = ( event.touches[0].clientX - lastX ) / 100;
  var vy = ( event.touches[0].clientY - lastY ) / 100;
  if( event.touches[0].clieM
ntY < height/2 ) vx *= -1;
  if( event.touches[0].clientX > width/2 ) vy *= -1;
  velocityTarget = vx + vy;
  lastX = event.touches[0].clientX;
  lastY = event.touches[0].clientY;
function onTouchEnd( event ) {
  document.removeEventListener( 'touchmove', onTouchMove );
  document.removeEventListener( 'touchend', onTouchEnd );
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Drawing with Text</title>
      @import "compass/css3";
        width: 100%;
        height: 100%;
        margin: 0px;
        overflow: hidden;
            display: none;
        cursor: crosshair;
        font-family: 'Georgia', cursive;
        font-size: 40px;
        position: fixed;
        color: #000;
        margin-top: -40px;
        margin-left: -200px;
    <canvas id='canvas'></canvas>
    <span id='info'>Click and drag to draw!<span>
        var position = {x: 0, y: window.innerHeight/2};
        var counter = 0;
        var minFontSize = 3;
        var angleDistortion = 0;
        var letters = "There was a table set out under a tree in front of the house, and the March Hare and thM
e Hatter were having tea at it: a Dormouse was sitting between them, fast asleep, and the other two were using it as a cushion, resting their elbows on it, and talking over its head. 'Very uncomfortable for the Dormouse,' thought Alice; 'only, as it's asleep, I suppose it doesn't mind.'";
        // Drawing variables
        var context;
        var mouse = {x: 0, y: 0, down: false}
        function init() {
        canvas = document.getElementById( 'canvas' );
        context = canvaM
s.getContext( '2d' );
        canvas.width = window.innerWidth;
        canvas.height = window.innerHeight;
        canvas.addEventListener('mousemove', mouseMove, false);
        canvas.addEventListener('mousedown', mouseDown, false);
        canvas.addEventListener('mouseup',   mouseUp,   false);
        canvas.addEventListener('mouseout',  mouseUp,  false);
        canvas.addEventListener('dblclick', doubleClick, false);
        window.onresize = function(event) {
s.width = window.innerWidth;
            canvas.height = window.innerHeight;
        function mouseMove ( event ){
        mouse.x = event.pageX;
        mouse.y = event.pageY;
 if ( mouse.down ) {
    var d = distance( position, mouse );
    var fontSize = minFontSize + d/2;
    var letter = letters[counter];
    var stepSize = textWidth( letter, fontSize );
    if (d > stepSize) {
      var angle = Math.atan2(mouse.y-positioM
n.y, mouse.x-position.x);
      context.font = fontSize + "px Georgia";
      context.save();
      context.translate( position.x, position.y);
      context.rotate( angle );
      context.fillText(letter,0,0);
      context.restore();
      if (counter > letters.length-1) {
        counter = 0;
    //console.log (position.x + Math.cos( angle ) * stepSize)
      position.x = position.x + Math.cos(angle) * stepSize;
      position.y = position.y + Math.sin(M
    function distance( pt, pt2 ){
    xs = pt2.x - pt.x;
    ys = pt2.y - pt.y;
    return Math.sqrt( xs + ys );
    function mouseDown( event ){
    mouse.down = true;
    position.x = event.pageX;
    position.y = event.pageY;
    document.getElementById('info').style.display = 'none';
    function mouseUp( event ){
        mouse.down = falM
    function doubleClick( event ) {
    canvas.width = canvas.width;
    function textWidth( string, size ) {
    context.font = size + "px Georgia";
    if ( context.fillText ) {
        return context.measureText( string ).width;
    } else if ( context.mozDrawText) {
        return context.mozMeasureText( string );
Mined by AntPool874Q
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color='white'> /--/</font>
<font color='green'> (0,0) </font>
<font color=red>(\+/)</font>
<font color=#32CD32>-"-</font>
</center></font></pre></body></html>
text/plain;charset=utf-8
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Pop On Chain by SMLDMS</title>
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(maM
thRand() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (letM
 n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        let mathRand = sfc32(...cyrb128(seed));
            position: fixed;
            right: 0;
            bottom: 0;
            left: 0;
          color: rgb(255, 255, 255);
            background-color: rgb(0, 0, 0);
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0;
            padding: 0;
            font-size: 0.8em;
            object-fit: contain;
            max-height: 100%;
            max-width: 100%;
        #fullScreen {
            display: flex;
            position: fixed;
            bottom: 0;
            left: 0;
            justify-content: center;
            align-items: center;
        #fullScreen canvas {
            object-fit: contain;
            max-height: 100%;
            max-width: 100%;
            /* mix-blend-mode: soft-light; */
            color: rgb(255);
            opacity: 0.75;
            width: auto;
            height: auto;
            position: fixed;
            text-align: center;
          justify-content: center;
            align-items: center;
            padding: 10%;
        #progress h1 {
            font-size: 10.75em;
            /* display: block; */
            margin: 0%;
            padding: 0%
    <canvas id="cnv"></canvas>
    <div id="fullScreen">
        <div id="progress"></div>
<!-- /////////////////////////////////LET'S GO//////////////////////////////// -->
<script type="text/jaM
    const myTitle = "Pop On Chain";
    const canvas = document.getElementById("cnv");
    const ctx = cnv.getContext('2d');
    let ratio = 1.414142
        n: mathRand(),
    if (format.n < 0.33) {
        format.ww = ratio
        format.hh = 1
        format.name = "Landscape"
    } else if (format.n < 0.66) {
        format.ww = 1
        format.hh = ratio
        format.name = "Portrait"
        format.ww = 1
        format.hh = 1
        format.name = "Square"
    const mySize = 1000;
    cnv.width = mySize * format.ww;
    cnv.height = mySize * format.hh;
    const scales = [25, 50, 100];
    const randomIndex = Math.floor(mathRand() * scales.length);
    const scl = scales[randomIndex];
    const marges = [200, 100, 50];
    const randomMarge = Math.floor(mathRand() * marges.length);
    const marge = marges[randomMarge];
    const maxT = Math.round(mathRand() * 50 + 10M
        n: mathRand(),
        n: mathRand(),
        n: mathRand(),
    if (layer.n < 0.5) {
        layer.name = "On"
        layer.name = "Off"
    if (clr.n < 0.25) {
        clr.name = "White"
    else if (clr.n < 0.5) {
        clr.name = "Red"
      clr.name = "Black"
    if (mode.n < 0.25) {
        mode.name = "C"
        mode.val = 100
    else if (mode.n < 0.5) {
        mode.name = "B"
        mode.val = 25
        mode.name = "A"
        mode.val = 0
    window.$generativeTraits = {
        "Format": format.name,
        "Color Base": clr.name,
        "Back layer": layer.name,
        "Mode": mode.name,
        "Scale": scl,
        "Model": maxT,
        "Marge": marge,
    console.log(myTitle + " | smldms 2023.03")
    console.log(window.$generativeTraits)
    const r = cnv.height / scl;
    const c = cnv.width / scl
    ctx.fillStyle = clr.name;
    ctx.rect(0, 0, cnv.width, cnv.height)
    if (layer.name == "On") {
    addGrain(cnv, 25)
    function frame() {
        // ctx.filter = "blur(5px)";
        ctx.restore()
        ctx.fillStyle = clr.name;
tx.strokeStyle = 'hsl(' + 360 * mathRand() + ',100%,50%)';
        ctx.lineWidth = 100;
        ctx.rect(0, 0, cnv.width, cnv.height)
        ctx.stroke();
    function halo() {
        ctx.restore()
        ctx.translate(c / 2, r / 2)
        ctx.filter = 'blur(' + mode.val + 'px)';
        for (let x = marge; x < cnv.width - marge / 2; x += 50) {
            for (let y = marge; y < cnv.height - marge / 2; y += 50) {
                let clrF = 'hsl(' + 360 * mathRand() + ',100%,50%)';
         ctx.fillStyle = clrF;
                ctx.strokeStyle = clr.name;
                ctx.lineWidth = mathRand() * 5 + 1;
                ctx.beginPath()
                if (mathRand() < 0.25) {
                    ctx.arc(x, y, r * 2, 0, Math.PI)
                else if (mathRand() < 0.5) {
                    ctx.arc(x, y, r * 2, Math.PI, 0)
                else if (mathRand() < 0.75) {
                    for (let i = 2; i < 100; i += 1) {
      if (mathRand() < 0.25) {
                            ctx.arc(x + i, y, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.5) {
                            ctx.arc(x, y + i, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.75) {
                            ctx.arc(x, y - i, r / i, 0, Math.PI * 2)
                        }
                        else {
                            ctx.arc(x - i, y, r / i, 0, M
                        }
                    }
                else {
                ctx.closePath();
                ctx.stroke()
                ctx.fill();
    function show() {
        ctx.restore()
        for (let x = marge; x < cnv.width - marge; x += r) {
            for (let y = marge; y < cnv.height - marge; y += c) {
                ctx.filter = "blur(0px) contrast(1.4) drop-shadow(0px 9px 5px #000) ";
             ctx.fillStyle = clr.name;
                ctx.strokeStyle = 'hsl(' + 360 * mathRand() + ',100%,50%)';
                ctx.lineWidth = mathRand() * 2 + 1;
                ctx.beginPath()
                if (mathRand() < 0.25) {
                    ctx.arc(x, y, r / 2, 0, Math.PI)
                else if (mathRand() < 0.5) {
                    ctx.arc(x, y, r / 2, Math.PI, 0)
                else if (mathRand() < 0.75) {
                    for (let i = 2M
; i < maxT; i += 1) {
                        if (mathRand() < 0.25) {
                            ctx.arc(x + i, y, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.5) {
                            ctx.arc(x, y + i, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.75) {
                            ctx.arc(x, y - i, r / i, 0, Math.PI * 2)
                        }
                        else {
             ctx.arc(x - i, y, r / i, 0, Math.PI * 2)
                        }
                    }
                else {
                ctx.closePath();
                ctx.stroke()
                ctx.fill();
    function addGrain(canvas, graininess) {
        const ctx = canvas.getContext('2d');
        const width = canvas.width;
        const height = canvas.height;
        const pixels = ctx.getImageData(0, 0, width, heighM
        for (let i = 0; i < pixels.data.length; i += 4) {
            const r = pixels.data[i];
            const g = pixels.data[i + 1];
            const b = pixels.data[i + 2];
            const alpha = pixels.data[i + 3];
            const random = mathRand();
            const offset = (random - 0.5) * graininess;
            pixels.data[i] = Math.max(0, Math.min(255, r + offset));
            pixels.data[i + 1] = Math.max(0, Math.min(255, g + offset));
            pixels.data[i + 2] = Math.mM
ax(0, Math.min(255, b + offset));
            pixels.data[i + 3] = alpha;
        ctx.putImageData(pixels, 0, 0);
    function saveCanvasAsPNG(canvas) {
        document.addEventListener('keydown', function (event) {
            if (event.key === 's' || event.key === 'S' || event.key === 'd' || event.key === 'D') {
                const ctx = canvas.getContext('2d');
                const width = canvas.width;
                const height = canvas.height;
                const pixelRaM
tio = (event.key === 'd' || event.key === 'D') ? window.devicePixelRatio * 8 : window.devicePixelRatio;
                const canvasCopy = document.createElement('canvas');
                canvasCopy.width = width * pixelRatio;
                canvasCopy.height = height * pixelRatio;
                const ctxCopy = canvasCopy.getContext('2d');
                ctxCopy.imageSmoothingEnabled = false;
                ctxCopy.drawImage(canvas, 0, 0, width, height, 0, 0, width * pixelRatio, height * pixelRatio);
               const url = canvasCopy.toDataURL('image/png');
                const link = document.createElement('a');
                link.download = 'canvas.png';
                link.href = url;
                link.click();
    saveCanvasAsPNG(cnv);
    /////////////PROGRESS
    async function progress(message) {
        document.body.style.cursor = 'crosshair';
        document.getElementById("progress").innerHTML = message;
        await new Promise((fn => setM
    async function progressClear() {
        document.body.style.cursor = 'default';
        document.getElementById("progress").style.display = 'none';
        await new Promise((fn => setTimeout(fn, 1)));
    async function progressShow() {
        document.body.style.cursor = 'default';
        document.getElementById("progress").style.display = 'block';
        await new Promise((fn => setTimeout(fn, 1)));
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"12323.sats"}h!
iTXtXML:com.adobe.xmp
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 6.0.0">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
         <tiff:YResolution>132</tiff:YResolution>
         <tiff:XResolution>132</tiff:XResolution>
         <tiff:PhotometricInterpretation>2</tiff:PhotometricInterpretation>
         <tiff:ResolutionUnitM
>2</tiff:ResolutionUnit>
      </rdf:Description>
text/plain;charset=utf-8
text/plain;charset=utf-8
{"type":"btcdomain","name":"3333.btc","first_owner":"bc1p6u6nwflxnyyew30ucw4dsjlq9wuexu2uk2kwv6m8h79am6h0grtquktrtz","createDate":1678254854458,"registerDate":1678254854458,"expireDate":1709790854458,"img_url":"https://btcdomains.io/images/domain/3333.jpeg","sig":"3045022100a1fafff8a70dba9d2a3beaebc7cbb46aec6fdc8da490d0192b0f81b1ffe068c0022006283412e0fd5d7ba92dac518c20803f2bc1edf19747fb3dc75035ea6944039a"}h!
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Pop On Chain by SMLDMS</title>
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(maM
thRand() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (letM
 n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        let mathRand = sfc32(...cyrb128(seed));
            position: fixed;
            right: 0;
            bottom: 0;
            left: 0;
          color: rgb(255, 255, 255);
            background-color: rgb(0, 0, 0);
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0;
            padding: 0;
            font-size: 0.8em;
            object-fit: contain;
            max-height: 100%;
            max-width: 100%;
        #fullScreen {
            display: flex;
            position: fixed;
            bottom: 0;
            left: 0;
            justify-content: center;
            align-items: center;
        #fullScreen canvas {
            object-fit: contain;
            max-height: 100%;
            max-width: 100%;
            /* mix-blend-mode: soft-light; */
            color: rgb(255);
            opacity: 0.75;
            width: auto;
            height: auto;
            position: fixed;
            text-align: center;
          justify-content: center;
            align-items: center;
            padding: 10%;
        #progress h1 {
            font-size: 10.75em;
            /* display: block; */
            margin: 0%;
            padding: 0%
    <canvas id="cnv"></canvas>
    <div id="fullScreen">
        <div id="progress"></div>
<!-- /////////////////////////////////LET'S GO//////////////////////////////// -->
<script type="text/jaM
    const myTitle = "Pop On Chain";
    const canvas = document.getElementById("cnv");
    const ctx = cnv.getContext('2d');
    let ratio = 1.414142
        n: mathRand(),
    if (format.n < 0.33) {
        format.ww = ratio
        format.hh = 1
        format.name = "Landscape"
    } else if (format.n < 0.66) {
        format.ww = 1
        format.hh = ratio
        format.name = "Portrait"
        format.ww = 1
        format.hh = 1
        format.name = "Square"
    const mySize = 1000;
    cnv.width = mySize * format.ww;
    cnv.height = mySize * format.hh;
    const scales = [25, 50, 100];
    const randomIndex = Math.floor(mathRand() * scales.length);
    const scl = scales[randomIndex];
    const marges = [200, 100, 50];
    const randomMarge = Math.floor(mathRand() * marges.length);
    const marge = marges[randomMarge];
    const maxT = Math.round(mathRand() * 50 + 10M
        n: mathRand(),
        n: mathRand(),
        n: mathRand(),
    if (layer.n < 0.5) {
        layer.name = "On"
        layer.name = "Off"
    if (clr.n < 0.25) {
        clr.name = "White"
    else if (clr.n < 0.5) {
        clr.name = "Red"
      clr.name = "Black"
    if (mode.n < 0.25) {
        mode.name = "C"
        mode.val = 100
    else if (mode.n < 0.5) {
        mode.name = "B"
        mode.val = 25
        mode.name = "A"
        mode.val = 0
    window.$generativeTraits = {
        "Format": format.name,
        "Color Base": clr.name,
        "Back layer": layer.name,
        "Mode": mode.name,
        "Scale": scl,
        "Model": maxT,
        "Marge": marge,
    console.log(myTitle + " | smldms 2023.03")
    console.log(window.$generativeTraits)
    const r = cnv.height / scl;
    const c = cnv.width / scl
    ctx.fillStyle = clr.name;
    ctx.rect(0, 0, cnv.width, cnv.height)
    if (layer.name == "On") {
    addGrain(cnv, 25)
    function frame() {
        // ctx.filter = "blur(5px)";
        ctx.restore()
        ctx.fillStyle = clr.name;
tx.strokeStyle = 'hsl(' + 360 * mathRand() + ',100%,50%)';
        ctx.lineWidth = 100;
        ctx.rect(0, 0, cnv.width, cnv.height)
        ctx.stroke();
    function halo() {
        ctx.restore()
        ctx.translate(c / 2, r / 2)
        ctx.filter = 'blur(' + mode.val + 'px)';
        for (let x = marge; x < cnv.width - marge / 2; x += 50) {
            for (let y = marge; y < cnv.height - marge / 2; y += 50) {
                let clrF = 'hsl(' + 360 * mathRand() + ',100%,50%)';
         ctx.fillStyle = clrF;
                ctx.strokeStyle = clr.name;
                ctx.lineWidth = mathRand() * 5 + 1;
                ctx.beginPath()
                if (mathRand() < 0.25) {
                    ctx.arc(x, y, r * 2, 0, Math.PI)
                else if (mathRand() < 0.5) {
                    ctx.arc(x, y, r * 2, Math.PI, 0)
                else if (mathRand() < 0.75) {
                    for (let i = 2; i < 100; i += 1) {
      if (mathRand() < 0.25) {
                            ctx.arc(x + i, y, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.5) {
                            ctx.arc(x, y + i, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.75) {
                            ctx.arc(x, y - i, r / i, 0, Math.PI * 2)
                        }
                        else {
                            ctx.arc(x - i, y, r / i, 0, M
                        }
                    }
                else {
                ctx.closePath();
                ctx.stroke()
                ctx.fill();
    function show() {
        ctx.restore()
        for (let x = marge; x < cnv.width - marge; x += r) {
            for (let y = marge; y < cnv.height - marge; y += c) {
                ctx.filter = "blur(0px) contrast(1.4) drop-shadow(0px 9px 5px #000) ";
             ctx.fillStyle = clr.name;
                ctx.strokeStyle = 'hsl(' + 360 * mathRand() + ',100%,50%)';
                ctx.lineWidth = mathRand() * 2 + 1;
                ctx.beginPath()
                if (mathRand() < 0.25) {
                    ctx.arc(x, y, r / 2, 0, Math.PI)
                else if (mathRand() < 0.5) {
                    ctx.arc(x, y, r / 2, Math.PI, 0)
                else if (mathRand() < 0.75) {
                    for (let i = 2M
; i < maxT; i += 1) {
                        if (mathRand() < 0.25) {
                            ctx.arc(x + i, y, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.5) {
                            ctx.arc(x, y + i, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.75) {
                            ctx.arc(x, y - i, r / i, 0, Math.PI * 2)
                        }
                        else {
             ctx.arc(x - i, y, r / i, 0, Math.PI * 2)
                        }
                    }
                else {
                ctx.closePath();
                ctx.stroke()
                ctx.fill();
    function addGrain(canvas, graininess) {
        const ctx = canvas.getContext('2d');
        const width = canvas.width;
        const height = canvas.height;
        const pixels = ctx.getImageData(0, 0, width, heighM
        for (let i = 0; i < pixels.data.length; i += 4) {
            const r = pixels.data[i];
            const g = pixels.data[i + 1];
            const b = pixels.data[i + 2];
            const alpha = pixels.data[i + 3];
            const random = mathRand();
            const offset = (random - 0.5) * graininess;
            pixels.data[i] = Math.max(0, Math.min(255, r + offset));
            pixels.data[i + 1] = Math.max(0, Math.min(255, g + offset));
            pixels.data[i + 2] = Math.mM
ax(0, Math.min(255, b + offset));
            pixels.data[i + 3] = alpha;
        ctx.putImageData(pixels, 0, 0);
    function saveCanvasAsPNG(canvas) {
        document.addEventListener('keydown', function (event) {
            if (event.key === 's' || event.key === 'S' || event.key === 'd' || event.key === 'D') {
                const ctx = canvas.getContext('2d');
                const width = canvas.width;
                const height = canvas.height;
                const pixelRaM
tio = (event.key === 'd' || event.key === 'D') ? window.devicePixelRatio * 8 : window.devicePixelRatio;
                const canvasCopy = document.createElement('canvas');
                canvasCopy.width = width * pixelRatio;
                canvasCopy.height = height * pixelRatio;
                const ctxCopy = canvasCopy.getContext('2d');
                ctxCopy.imageSmoothingEnabled = false;
                ctxCopy.drawImage(canvas, 0, 0, width, height, 0, 0, width * pixelRatio, height * pixelRatio);
               const url = canvasCopy.toDataURL('image/png');
                const link = document.createElement('a');
                link.download = 'canvas.png';
                link.href = url;
                link.click();
    saveCanvasAsPNG(cnv);
    /////////////PROGRESS
    async function progress(message) {
        document.body.style.cursor = 'crosshair';
        document.getElementById("progress").innerHTML = message;
        await new Promise((fn => setM
    async function progressClear() {
        document.body.style.cursor = 'default';
        document.getElementById("progress").style.display = 'none';
        await new Promise((fn => setTimeout(fn, 1)));
    async function progressShow() {
        document.body.style.cursor = 'default';
        document.getElementById("progress").style.display = 'block';
        await new Promise((fn => setTimeout(fn, 1)));
text/plain;charset=utf-8
{"type":"btcdomain","name":"2222.btc","first_owner":"bc1p80mj9vrv8mwa3qev2gstu0t5hvtrzv6y0j3gvj5r76cyz4jsh0vqjjhj2d","createDate":1678255140233,"registerDate":1678255140233,"expireDate":1709791140233,"img_url":"https://btcdomains.io/images/domain/2222.jpeg","sig":"3045022100d0548591feb4ead6ef7a9b7152399ab17179067155c341029298de81d29ae8bf02203cb5f8b3c69efe2f1969f2bf9ca1df71d17ebf3d7354aadd3f15cc9e65971546"}h!
text/plain;charset=utf-8
  "name": "southcarolina.sats"
text/plain;charset=utf-8
.{"p":"sns","op":"reg","name":"Charlotte.sats"}h!
d/Foundry USA Pool #dropgold/
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color='blue'> /--/</font>
<font color='white'> (0,0) </font>
<font color=GreenYellow>(\+/)</font>
<font color=#32CD32> = = </font>
</center></font></pre></body></html>
text/plain;charset=utf-8
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"0xWave.sats"}h!
text/plain;charset=utf-8
  "name": "ETH.sats"
text/plain;charset=utf-8
  "name": "996.ord",
text/plain;charset=utf-8
  "name": "villa.sats"
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"Melissa.sats"}h!
d/Foundry USA Pool #dropgold/
=j;=:ETH.ETH:0xc15bfe328dd3e961313fd9145b52ec4ab8042f16:1:t:30U
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color=white>"___"</font>
<font color='white'> (-,-) </font>
<font color=Chartreuse>{-:-}</font>
<font color=DeepPink>-"-</font>
</center></font></pre></body></html>
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"bcWave.sats"}h!
CjA=:ETH.ETH:0x013F889D5FFa4156cE502eB61b8Bc8C5321d441B:267981001::0
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "UFO.sats"
((((((((((((((((((((((((((((((((((((((((((((((((((
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color='Chartreuse'>~~~~</font>
<font color='Chartreuse'> (0,-) </font>
<font color=white>{-:'}</font>
<font color=red> = = </font>
</center></font></pre></body></html>
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"Laro.sats"}h!
FjDOUT:FF85ABC878F3E14A49EE38C3538DA2E025C61F558DE4C105E1858B6B562A9054
FjDOUT:C8FBB5F9CDB3D8609E1F5C35357C9D793E1ADBB04ADC4822446E12B0D8881DC3
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
>bc1pyfk2z8arkdph4ldkf24scsdnzm0ax9m56nnvmz79eshl66h6cr9qfu2wk0h!
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "05518.sats",
text/plain;charset=utf-8
/{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
2{"p":"sns","op":"reg","name":"
iTXtXML:com.adobe.xmp
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 6.0.0">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
         <tiff:YResolution>132</tiff:YResolution>
         <tiff:XResolution>132</tiff:XResolution>
         <tiff:PhotometricInterpretation>2</tiff:PhotometricInterpretation>
         <tiff:ResolutionUnitM
>2</tiff:ResolutionUnit>
      </rdf:Description>
text/plain;charset=utf-8
A{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"Habibi.sats"}h!
text/plain;charset=utf-8
0{"p":"sns","op":"reg","name":"Trustwallet.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"Sam.sats"}h!
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"Bullrun.sats"}h!
text/plain;charset=utf-8
.{"p":"sns","op":"reg","name":"21Million.sats"}h!
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"Moon.sats"}h!
text/plain;charset=utf-8
'{"p":"sns","op":"reg","name":"Cz.sats"}h!
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"Buybnb.sats"}h!
text/plain;charset=utf-8
3{"p":"sns","op":"reg","name":"2
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"Rekt.sats"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
-http://ns.adobe.com/xap/1.0/
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.dabacbb, 2021/04/14-00:39:44        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe PhotoshoM
p 23.0 (Windows)" xmpMM:InstanceID="xmp.iid:A08CAEEDB23F11EDB8CCD5E1D04AC7FB" xmpMM:DocumentID="xmp.did:A08CAEEEB23F11EDB8CCD5E1D04AC7FB"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:A08CAEEBB23F11EDB8CCD5E1D04AC7FB" stRef:documentID="xmp.did:A08CAEECB23F11EDB8CCD5E1D04AC7FB"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
)A&&AB///BG?>>?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
))4&4?((?G?5?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
text/plain;charset=utf-8
  "name": "idc.sats"
-http://ns.adobe.com/xap/1.0/
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.dabacbb, 2021/04/14-00:39:44        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe PhotoshoM
p 23.0 (Windows)" xmpMM:InstanceID="xmp.iid:A11962A0B23F11EDA701BF02849874EC" xmpMM:DocumentID="xmp.did:A11962A1B23F11EDA701BF02849874EC"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:A119629EB23F11EDA701BF02849874EC" stRef:documentID="xmp.did:A119629FB23F11EDA701BF02849874EC"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
)A&&AB///BG?>>?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
))4&4?((?G?5?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
-http://ns.adobe.com/xap/1.0/
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.dabacbb, 2021/04/14-00:39:44        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe PhotoshoM
p 23.0 (Windows)" xmpMM:InstanceID="xmp.iid:9FAD787DB23F11EDAB41B316A561EB95" xmpMM:DocumentID="xmp.did:9FAD787EB23F11EDAB41B316A561EB95"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:9FAD787BB23F11EDAB41B316A561EB95" stRef:documentID="xmp.did:9FAD787CB23F11EDAB41B316A561EB95"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
)A&&AB///BG?>>?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
))4&4?((?G?5?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
text/plain;charset=utf-8
text/plain;charset=utf-8
-http://ns.adobe.com/xap/1.0/
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.dabacbb, 2021/04/14-00:39:44        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe PhotoshoM
p 23.0 (Windows)" xmpMM:InstanceID="xmp.iid:A0D36BEEB23F11EDBAAB8BCE0E97AAEB" xmpMM:DocumentID="xmp.did:A0D36BEFB23F11EDBAAB8BCE0E97AAEB"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:A0D36BECB23F11EDBAAB8BCE0E97AAEB" stRef:documentID="xmp.did:A0D36BEDB23F11EDBAAB8BCE0E97AAEB"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
)A&&AB///BG?>>?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
))4&4?((?G?5?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
text/plain;charset=utf-8
{"type":"btcdomain","name":"9999.btc","first_owner":"bc1p4qw3fq2ukzyxym5zux6k9xa4jpfvntfenavv656sxczsxasgsehqr6kk8c","createDate":1678255418008,"registerDate":1678255418008,"expireDate":1709791418008,"img_url":"https://btcdomains.io/images/domain/9999.jpeg","sig":"3044022042468ff1efdb26bad7925639c55eb542b4c895379443e500d0c10a64895b53fc02205fe0eb391280f448d10edec6688bb96a75ca89e0f5dbd98d8bdbc9c3884d10bd"}h!
-http://ns.adobe.com/xap/1.0/
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.dabacbb, 2021/04/14-00:39:44        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe PhotoshoM
p 23.0 (Windows)" xmpMM:InstanceID="xmp.iid:A046ADBEB23F11ED941C8B9614CF13E0" xmpMM:DocumentID="xmp.did:A046ADBFB23F11ED941C8B9614CF13E0"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:A046ADBCB23F11ED941C8B9614CF13E0" stRef:documentID="xmp.did:A046ADBDB23F11ED941C8B9614CF13E0"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
)A&&AB///BG?>>?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
))4&4?((?G?5?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
-http://ns.adobe.com/xap/1.0/
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.dabacbb, 2021/04/14-00:39:44        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe PhotoshoM
p 23.0 (Windows)" xmpMM:InstanceID="xmp.iid:9FF5109BB23F11EDA466B0D113FB18C3" xmpMM:DocumentID="xmp.did:9FF5109CB23F11EDA466B0D113FB18C3"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:9FF51099B23F11EDA466B0D113FB18C3" stRef:documentID="xmp.did:9FF5109AB23F11EDA466B0D113FB18C3"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
)A&&AB///BG?>>?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
))4&4?((?G?5?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
text/plain;charset=utf-8
{"type":"btcdomain","name":"1234.btc","first_owner":"bc1pw2aj363e6r3vpuqnju0l0zrh9nfc4edvjcd0ss68zsjg3rhcclls04zjrs","createDate":1678255476598,"registerDate":1678255476598,"expireDate":1709791476598,"img_url":"https://btcdomains.io/images/domain/1234.jpeg","sig":"3044022001ea6fc848ed1f0bbff61562c26115d74b1f522ea2f75203c7c55cc0275768d002204074c2a010cddc46ef9f6010f4fa34babbd409779bb88f88df847c8cac580d42"}h!
d/Foundry USA Pool #dropgold/	B0JY
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color=Cyan>"..."</font>
<font color='Chartreuse'> (0,-) </font>
<font color=Magenta>{-:'}</font>
<font color=yellow> = = </font>
</center></font></pre></body></html>
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"6_6.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"^=^.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":">-<.sats"}h!
KjI=:BNB.BUSD-BD1:bnb1v0f6ul2t8f0s82pce3as8zur58p85luk4dpn3m:3807756606:te:0
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
{"type":"btcdomain","name":"andy.btc","first_owner":"bc1pq2zutm48pum72gxx89udjxvfj2hr9z0vhmnkqmlmsq6x2mjrm6hsv3vzef","createDate":1678256618178,"registerDate":1678256618178,"expireDate":1709792618178,"img_url":"https://btcdomains.io/images/domain/andy.jpeg","sig":"30440220571de36b58353365d2e05bc765910a78cdc812b7a010feb66bb8dcc5576a963d02204158c1359391a7aa5ba57579f0cf17b1708db9c410bf0b625ba91c40f16bc285"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
{"type":"btcdomain","name":"5555.btc","first_owner":"bc1pdp8vguhnupxl90u0xqgsqzyekp5q05wth3knx9q7g2mjqcz454sqemqlyz","createDate":1678255576915,"registerDate":1678255576915,"expireDate":1709791576915,"img_url":"https://btcdomains.io/images/domain/5555.jpeg","sig":"3045022100a6448b4d112a3d5a6f17b5c43936abbfaefb1593c2a1c55e12b66c20e96d7ad102203bb3f1ce1f221c4a915b3686ed9b3554e1b74581bb3c7347920b79cff1114408"}h!
text/plain;charset=utf-8
{"type":"btcdomain","name":"7777.btc","first_owner":"bc1pm34dljsn8gvl64hauaey275utehgg7rgf82as9q406th9cwegt5szxu6kp","createDate":1678256596942,"registerDate":1678256596942,"expireDate":1709792596942,"img_url":"https://btcdomains.io/images/domain/7777.jpeg","sig":"3045022100eca10d905996823924ad2008c12d1b7122c724e24d06a23227426f6c15ea1b1c022038ff5bbd8d22c163f48002b7bee9f114c827b8188c9e7b42dde6921c7adacff7"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "ichi.sats"
text/plain;charset=utf-8
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
	 id="Layer_1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 64 64"
	 style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">M
	.st0{fill:#F7931A;}
	.st1{fill:#FFFFFF;}
<g transform="translate(0.00630876,-0.00301984)">
	<path class="st0" d="M63,39.7C58.8,56.9,41.4,67.3,24.3,63C7.1,58.8-3.3,41.4,1,24.3C5.2,7.1,22.6-3.3,39.7,1
		C56.9,5.2,67.3,22.6,63,39.7z"/>
	<path class="st1" d="M46.1,27.4c0.6-4.3-2.6-6.5-7-8.1l1.4-5.8L37,12.7l-1.4,5.6c-0.9-0.2-1.9-0.4-2.8-0.7l1.4-5.7l-3.5-0.9
		l-1.4,5.8c-0.8-0.2-1.5-0.3-2.2-0.5l0,0l-4.8-1.2l-0.9,3.8c0,0,2.6,0.6,2.5,0.6c1.4,0.4,1.7,1.3,1.6,2l-1.6,6.6
		c0.1,0,0.2,0.1,0.4,0.1c-0.1,0-0.2M
-0.1-0.4-0.1l-2.3,9.2c-0.2,0.4-0.6,1.1-1.6,0.8c0,0.1-2.6-0.6-2.6-0.6l-1.7,4l4.6,1.1
		c0.9,0.2,1.7,0.4,2.5,0.6l-1.5,5.8l3.5,0.9l1.4-5.8c1,0.3,1.9,0.5,2.8,0.7l-1.4,5.7l3.5,0.9l1.5-5.8c6,1.1,10.5,0.7,12.4-4.7
		c1.5-4.4-0.1-6.9-3.2-8.5C43.9,32.1,45.6,30.6,46.1,27.4z M38.1,38.7c-1.1,4.4-8.4,2-10.8,1.4l1.9-7.7C31.6,33,39.2,34.1,38.1,38.7
		z M39.2,27.4c-1,4-7.1,2-9.1,1.5l1.7-7C33.8,22.3,40.2,23.2,39.2,27.4z"/>
d/Foundry USA Pool #dropgold/
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color=DeepPink>"___"</font>
<font color='Orchid'> (</font><font color=Orchid size=8>&#8383;</font><font color=Orchid>,</font><font color=Orchid size=8>&#8383;</font><font color=Orchid>) </font>
<font color=red>//{\</font><font color=red size=6>&#8383;</font><font color=red>/}\\</font>
<font color=Cyan>-"-"-</font>
</center></font></pre></body></html>
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
{"type":"btcdomain","name":"1314.btc","first_owner":"bc1pfyvr4kz38w4dg3xqdde0ztnvzcdxesfcy7jwpccqtxg76q9jjmzs658r3l","createDate":1678256862115,"registerDate":1678256862115,"expireDate":1709792862115,"img_url":"https://btcdomains.io/images/domain/1314.jpeg","sig":"30450221009b4a9daaae66bc1d836181a8b3ab79febee6d3d7f031d915ef6fa2c407686bb40220791680de21f180d4cf811d6c5b3d055408861b63097cd5696929a8b104300e7c"}h!
text/plain;charset=utf-8
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Balance</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.min.js"></script>
      //Balance() by tzC0de.  Made with p5.js
col1 =  ["#267365", "#F2CB05", "#F29F05", "#F28705", "#F23030", "#14140F"]
col2 = ["#D9042B","#270140","#F2B705","#F28705","#F22F1D"]
col3 = ["#0388A6","#04C4D9","#F29F05","#F28705","#A63F03"]
col4 = ["#F2BF27","#404040","#DB005E","#2FB9D4"]
#D9D7D7","#F25F29","#F24822","#F2B1A2","#0D0D0D"]
col6 = ["#012C40","#00708C","#D9D7D7","#FF404C","#1CA5B8"]
col7 = ["#BF1120","#0468BF","#F2D22E","#F29472","#F21905"]
col8 = ["#FF6B00","#FFA000","#22D6FF","#1F70CC","#1930B8"]
col9 = ["#FFFFFF","#CCCCCC","#999999","#666666","#000000"]
bgcol = ["#161F30","#f2eddc","#f2eddc","#f2eddc"]
	createCanvas(530,830);
	let percent = 30 / 100;
aphics = createGraphics(width, height);
  graphics.stroke(255, 10 / 100 * 255);
  for (i = 0; i < graphics.width * graphics.height * percent; i++) {
    graphics.point(random(graphics.width),
    random(graphics.height));
	v = createGraphics(500,800)
	col = random([col1,col2,col3,col4,col5,col6,col7,col8,col9])
	num2 = random([0,1,2,3,4,5])
	v.translate(v.width/2,v.height/2)
	for(let i = v.height; i > v.width/6; i+= -((h1 / 2 + h2 / 2)+2.6)) {
    h2 = random([800/8,800/10,800/12,800/5,800/6]);
		num = random([1,2,3,4])
	  recty(x1-h1/2,i-h1/2,h1,h1)
		  v.strokeWeight(5)
	    v.ellipse(x1,i,h1,h1)
		  v.strokeWeight(5)
	    v.rect(x1,i,h1,h1)
		  v.strokeWeight(5)
	    v.rect(x1,i+h1/3.3,h1,h1*0.4)
v.ellipse(x1,i-h1/4.7,h1*0.6,h1*0.6)
		  v.strokeWeight(5)
	    v.triangle(x1,i-h1/2,x1+h1/2,i+h1/2,x1-h1/2,i+h1/2)
	image(v,width/2,height/2)
	image(graphics, width/2, height/2);
function recty(x,y,w,h) {
	g = createGraphics(j,l)
	g.background(242, 237, 220,0)
	g.fill(random(col))
			g.fill(random(col))
	    g.ellipse(g.width/2,g.height/2,g.width,g.heiM
			g.fill(random(col))
			g.ellipse(g.width/2,g.height/2,g.width*0.8,g.height*0.8)
			g.fill(random(col))
			g.ellipse(g.width/2,g.height/2,g.width*0.6,g.height*0.6)
			g.fill(random(col))
			g.ellipse(g.width/2,g.height/2,g.width*0.4,g.height*0.4)
			g.fill(random(col))
			g.ellipse(g.width/2,g.height/2,g.width*0.2,g.height*0.2)
		  //g.strokeWeight(5)
	    g.rect(g.width/2,g.height/2,g.width,g.height)
			g.fill(random(col))
dth/2,g.height/2,g.width*0.8,g.height*0.8)
			g.fill(random(col))
			g.rect(g.width/2,g.height/2,g.width*0.6,g.height*0.6)
			g.fill(random(col))
			g.rect(g.width/2,g.height/2,g.width*0.4,g.height*0.4)
			g.fill(random(col))
			g.rect(g.width/2,g.height/2,g.width*0.2,g.height*0.2)
		  //g.rect(x,y,w,h)
		  //g.strokeWeight(5)
			g.fill(random(col))
			g.rect(g.width/2,g.height*0.8,g.width,f)
			g.rect(g.width/2,g.height*0.8,g.width*0.75,f)
			g.fill(random(col))
			g.rect(g.width/2,g.height*0.8,g.width*0.5,f)
			g.fill(random(col))
			g.rect(g.width/2,g.height*0.8,g.width*0.25,f)
			g.fill(random(col))
			g.ellipse(g.width/2,g.height*0.3,l)
			g.fill(random(col))
			g.ellipse(g.width/2,g.height*0.3,l*0.75)
			g.fill(random(col))
			g.ellipse(g.width/2,g.height*0.3,l*0.5)
			g.fill(random(col))
			g.ellipse(g.width/2,g.height*0.3,l*0.25)
		  //g.strokeWeight(5)
			g.fill(random(col))
	    g.triangle(u,p-p,u*2,p*2,u-u,p+p)
			g.fill(random(col))
	    g.triangle(u,p,u*2,p*2,u-u,p+p)
	for(let i = -v.height; i < v.width*2; i += 10) {
		if(bg == "#f2eddc") {
		v.line(i,-v.height,i,v.height)
	for(let i = -v.width; i < v.width; i += 8) {
		for (let j = -v.height; j < v.height; j += 8) {
		  if(bg == "#f2eddc") {
			v.line(i,j,i+5,j+5)
	for (let i = 0; i < 50; i++) {
	  if(bg == "#f2eddc") {
		v.ellipse(0,0,20*i)
	for (let i = 0; i < 50; i++) {
	  if(bg == "#f2eddc") {
	for (let i = -v.width; i < v.width; i+=5) {
		for (let j = -v.height; j < v.height; j+=5) {
	  if(bg == "#f2eddc") {
	var increment = 5;
	for(let j = -v.height; j < v.height; j+=5) {
	for (var i = -v.width; i < v.width; i+=increment) {
		v.vertex(i, j + (sin(k) * (sin(j) * 50)))
function keyTyped() {
  if (key === 's' || key === 'S') {
    saveCanvas('myCanvas', 'png');
?j==:THOR.RUNE:thor10dwkhs68smvftyxadpcck957ayryqzlukfcp9y:1:t:0
FjD-:btc.btc:10000:btc.btc:smaya18z343fsdlav47chtkyp0aawqt6sgxsh3ctcu6uRO
6j4ion:2.QmVH5m66UG78ipN1f2H8ibSnx6iqjXrTLhcwnXuhCtLZYB{8
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color='white'> /--/</font>
<font color='white'> (o,O) </font>
<font color=white>(\+/)</font>
<font color=yellow>-"-</font>
</center></font></pre></body></html>
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"ltcoin.sats"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"18883.sats"}h!
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"nftlist.sats"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"32121.sats"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
{"type":"btcdomain","name":"4444.btc","first_owner":"bc1pyus05pcnv6s4g3fsxy82wgr955m3cp693r35hv8meu6qctamhfhqnvzgne","createDate":1678257219940,"registerDate":1678257219940,"expireDate":1709793219940,"img_url":"https://btcdomains.io/images/domain/4444.jpeg","sig":"3045022100e84a1b71b8aa40fe1e4b61b2c2be54360921e5b333954c519ae27118b178413d02200c7c5b75230c19c4f5f87b93eafe1bce803f1689b93eb3a937b23f44e620cbfb"}h!
FjDOUT:75B9322B28FDE88EDDECFC6AC3F922F21B25E5DC7D2365F2A4153F23984A82E8
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "666.ord",
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "333.ord",
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "777.ord",
text/plain;charset=utf-8
  "name": "222.ord",
text/plain;charset=utf-8
  "name": "888.ord",
text/plain;charset=utf-8
  "name": "999.ord",
text/plain;charset=utf-8
  "name": "555.ord",
text/plain;charset=utf-8
  "name": "444.ord",
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
{"type":"btcdomain","name":"6789.btc","first_owner":"bc1p0tx84unhagpnvgq7nhr6vlv0fdvdv4vmr046aszn8qhuvs0elswq370s90","createDate":1678257024268,"registerDate":1678257024268,"expireDate":1709793024268,"img_url":"https://btcdomains.io/images/domain/6789.jpeg","sig":"30450221009730a1a19548a75015e1e4b6421e7eed6c3506898fefcc6dc7281530fb5c3a1902203cb8a3faab3536e2f58ad6f9c65b8cdff5e6457f37abdce1770ed5a4deefeef6"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"cty.sats"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
/ViaBTC/Mined by lot2996/,
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color=Chartreuse>'---'</font>
<font color='GreenYellow'> (o,o) </font>
<font color=Magenta>{-:'}</font>
<font color=Chartreuse> = = </font>
</center></font></pre></body></html>
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"GeekApe.sats"}h!
4j2DC-L5:elBwNZk+ZnXM5NRRpPXJkJLTrlN/MqflhSp1s3UTMp4=
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"00132.sats"}h!
9PLTEZZZKLL78:qssz{|ijjSSSaaaBCC
<svg xmlns="http://www.w3.org/2000/svg" version="1.2" viewBox="0 0 24 24"><rect x="9" y="5" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="10" y="5" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="11" y="5" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="12" y="5" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="13" y="5" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="14"M
 y="5" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="7" y="6" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="8" y="6" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="9" y="6" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="10" y="6" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="11" y="6" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="12" M
y="6" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="13" y="6" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="14" y="6" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="15" y="6" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="7" y="7" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="8" y="7" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="9" yM
="7" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="10" y="7" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="11" y="7" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="12" y="7" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="13" y="7" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="14" y="7" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="15"M
 y="7" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="16" y="7" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="6" y="8" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="7" y="8" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="8" y="8" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="9" y="8" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="10" yM
="8" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="11" y="8" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="12" y="8" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="13" y="8" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="14" y="8" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="15" y="8" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="16"M
 y="8" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="17" y="8" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="6" y="9" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="7" y="9" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="8" y="9" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="9" y="9" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="10" yM
="9" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="11" y="9" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="12" y="9" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="13" y="9" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="14" y="9" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="15" y="9" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="16"M
 y="9" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="17" y="9" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="6" y="10" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="7" y="10" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="8" y="10" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="9" y="10" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="1M
0" y="10" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="11" y="10" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="12" y="10" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="13" y="10" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="14" y="10" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="15" y="10" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rM
ect x="16" y="10" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="17" y="10" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="5" y="11" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="6" y="11" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="7" y="11" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="8" y="11" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"M
/><rect x="9" y="11" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="10" y="11" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="11" y="11" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="12" y="11" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="13" y="11" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="14" y="11" width="1" height="1" shape-rendering="crispEdges" fill="#aeM
8b61ff"/><rect x="15" y="11" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="16" y="11" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="17" y="11" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="5" y="12" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="6" y="12" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="7" y="12" width="1" height="1" shape-rendering="crispEdges" fillM
="#ae8b61ff"/><rect x="8" y="12" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="9" y="12" width="1" height="1" shape-rendering="crispEdges" fill="#507c33ff"/><rect x="10" y="12" width="1" height="1" shape-rendering="crispEdges" fill="#507c33ff"/><rect x="11" y="12" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="12" y="12" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="13" y="12" width="1" height="1" shape-rendering="crispEdgesM
" fill="#ae8b61ff"/><rect x="14" y="12" width="1" height="1" shape-rendering="crispEdges" fill="#507c33ff"/><rect x="15" y="12" width="1" height="1" shape-rendering="crispEdges" fill="#507c33ff"/><rect x="16" y="12" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="17" y="12" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="5" y="13" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="6" y="13" width="1" height="1" shape-rendering="crisM
pEdges" fill="#fff68eff"/><rect x="7" y="13" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="8" y="13" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="9" y="13" width="1" height="1" shape-rendering="crispEdges" fill="#000000ff"/><rect x="10" y="13" width="1" height="1" shape-rendering="crispEdges" fill="#5d8b43ff"/><rect x="11" y="13" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="12" y="13" width="1" height="1" shape-rendering=M
"crispEdges" fill="#ae8b61ff"/><rect x="13" y="13" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="14" y="13" width="1" height="1" shape-rendering="crispEdges" fill="#000000ff"/><rect x="15" y="13" width="1" height="1" shape-rendering="crispEdges" fill="#5d8b43ff"/><rect x="16" y="13" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="17" y="13" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="5" y="14" width="1" height="1" shape-renM
dering="crispEdges" fill="#fff68eff"/><rect x="6" y="14" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="7" y="14" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="8" y="14" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="9" y="14" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="10" y="14" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="11" y="14" width="1" height="1" shapeM
-rendering="crispEdges" fill="#ae8b61ff"/><rect x="12" y="14" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="13" y="14" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="14" y="14" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="15" y="14" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="16" y="14" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="17" y="14" width="1" height="M
1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="5" y="15" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="6" y="15" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="7" y="15" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="8" y="15" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="9" y="15" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="10" y="15" width="1" heighM
t="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="11" y="15" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="12" y="15" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="13" y="15" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="14" y="15" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="15" y="15" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="16" y="15" width="M
1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="17" y="15" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="18" y="15" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="5" y="16" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="6" y="16" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="7" y="16" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="8" y="16" widM
th="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="9" y="16" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="10" y="16" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="11" y="16" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="12" y="16" width="1" height="1" shape-rendering="crispEdges" fill="#000000ff"/><rect x="13" y="16" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="14" y="M
16" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="15" y="16" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="16" y="16" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="17" y="16" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="18" y="16" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="4" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="M
5" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="6" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="7" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="8" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="9" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="10" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect M
x="11" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="12" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="13" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="14" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="15" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="16" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"M
/><rect x="17" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="18" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="19" y="17" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="6" y="18" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="7" y="18" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="8" y="18" width="1" height="1" shape-rendering="crispEdges" fill="#fff6M
8eff"/><rect x="9" y="18" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="10" y="18" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="11" y="18" width="1" height="1" shape-rendering="crispEdges" fill="#5f1d09ff"/><rect x="12" y="18" width="1" height="1" shape-rendering="crispEdges" fill="#5f1d09ff"/><rect x="13" y="18" width="1" height="1" shape-rendering="crispEdges" fill="#5f1d09ff"/><rect x="14" y="18" width="1" height="1" shape-rendering="crispEdges" fillM
="#ae8b61ff"/><rect x="15" y="18" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="16" y="18" width="1" height="1" shape-rendering="crispEdges" fill="#fff68eff"/><rect x="8" y="19" width="1" height="1" shape-rendering="crispEdges" fill="#000000ff"/><rect x="9" y="19" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="10" y="19" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="11" y="19" width="1" height="1" shape-rendering="crispEdgesM
" fill="#ae8b61ff"/><rect x="12" y="19" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="13" y="19" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="14" y="19" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="15" y="19" width="1" height="1" shape-rendering="crispEdges" fill="#000000ff"/><rect x="8" y="20" width="1" height="1" shape-rendering="crispEdges" fill="#000000ff"/><rect x="9" y="20" width="1" height="1" shape-rendering="crisM
pEdges" fill="#ae8b61ff"/><rect x="10" y="20" width="1" height="1" shape-rendering="crispEdges" fill="#000000ff"/><rect x="11" y="20" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="12" y="20" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="13" y="20" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="14" y="20" width="1" height="1" shape-rendering="crispEdges" fill="#000000ff"/><rect x="8" y="21" width="1" height="1" shape-renderinM
g="crispEdges" fill="#000000ff"/><rect x="9" y="21" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="10" y="21" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="11" y="21" width="1" height="1" shape-rendering="crispEdges" fill="#000000ff"/><rect x="12" y="21" width="1" height="1" shape-rendering="crispEdges" fill="#000000ff"/><rect x="13" y="21" width="1" height="1" shape-rendering="crispEdges" fill="#000000ff"/><rect x="8" y="22" width="1" height="1" shape-reM
ndering="crispEdges" fill="#000000ff"/><rect x="9" y="22" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="10" y="22" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="11" y="22" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="12" y="22" width="1" height="1" shape-rendering="crispEdges" fill="#000000ff"/><rect x="8" y="23" width="1" height="1" shape-rendering="crispEdges" fill="#000000ff"/><rect x="9" y="23" width="1" height="1" shaM:
pe-rendering="crispEdges" fill="#ae8b61ff"/><rect x="10" y="23" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="11" y="23" width="1" height="1" shape-rendering="crispEdges" fill="#ae8b61ff"/><rect x="12" y="23" width="1" height="1" shape-rendering="crispEdges" fill="#000000ff"/></svg>h!
text/html;charset=utf-8
    <meta charset="UTF-8" />
    <title>-ORDINALANDS-</title>
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
      crossorigin="anonymous"
      src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"
      crossorigin="anonymous"
        html, body {margin: 0;overflow: hidden;}#blocker {position: absolute;width: 100%;height: 100%;backgroM
und-color: rgba(0, 0, 0, 0.1);z-index: 1000;}.instructions {width: 100%;height: 100%;display: flex;flex-direction: column;justify-content: top;align-items: baseline;text-align: left !important;font-size: 14px;cursor: pointer;padding-top: 15px !important;padding-left: 15px !important;white-space: nowrap !important;}.instr {opacity: 0.4;}.col-6 {padding-left: 0px !important;}body {margin: 0;background-color: #000;color: #fff;font-family: Monospace;font-size: 13px;line-height: 24px;overscroll-behavior: none;}a {color:M
 #ff0;text-decoration: none;}a:hover {text-decoration: underline;}button {cursor: pointer;text-transform: uppercase;}body {margin: 0px;}
    <!-- threejs@r124 -->
    <script  sandbox="allow-scripts" type="text/javascript"src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/three@0.121.1/examples/js/math/ConvexHull.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/three@0.121.1/examples/js/geometries/ConvexGeometry.jsM
    <script id="snippet-random-code" type="text/javascript">
      let seed = window.location.href.split("/").find((t) => t.includes("i0"));
      if (seed == null) {
        const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
          new URLSearchParams(window.location.search).get("seed") ||
            .fill(0)
            .map((_) => alphabet[(Math.random() * alphabet.length) | 0])
            .join("") + "i0";
        let pattern = "seed=";
        for (let i = 0; i < seed.length - pattern.length; ++i) {
          if (seed.substring(i, i + pattern.length) == pattern) {
            seed = seed.substring(i + pattern.length);
      function cyrb128($) {
        let _ = 1779033703,
          u = 3144134277,
          i = 1013904242,
          l = 2773480762;
        for (let n = 0, r; n < $.length; n++)
          (_ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067)),
            (u = i ^ Math.imul(u ^ M
            (i = l ^ Math.imul(i ^ r, 951274213)),
            (l = _ ^ Math.imul(l ^ r, 2716044179));
          (_ = Math.imul(i ^ (_ >>> 18), 597399067)),
          (u = Math.imul(l ^ (u >>> 22), 2869860233)),
          (i = Math.imul(_ ^ (i >>> 17), 951274213)),
          (l = Math.imul(u ^ (l >>> 19), 2716044179)),
          [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
      function sfc32($, _, u, i) {
        return function () {
        (u >>>= 0), (i >>>= 0);
          var l = (($ >>>= 0) + (_ >>>= 0)) | 0;
            ($ = _ ^ (_ >>> 9)),
            (_ = (u + (u << 3)) | 0),
              ((u = (u << 21) | (u >>> 11)) +
                (l = (l + (i = (i + 1) | 0)) | 0)) |
            (l >>> 0) / 4294967296
      let mathRand = sfc32(...cyrb128(seed));
    <script type="text/javascript">
      const random1 = mathRand();
    <div id="blocker"> <div id="loading" style="font-size: 24px" class="instructions instr">Loading...</div><script>var loading=document.getElementById("loading"); console.log('load inner', loading.innerHTML, loading.innerHTML=='Loading...') var loadingInteravl=setInterval(function(){if (loading.innerHTML=='Loading...'){loading.innerHTML='Loading.'}if (loading.innerHTML=='Loading.'){loading.innerHTML='Loading..'}if (loading.innerHTML=='Loading..'){loading.innerHTML='Loading...'}},300) </script> <diM
v id="instructions" class="instructions" style="display: none"> <div class="row text-left mb4"> <div class="col-6 mr-2 instr"> <h5 class="pb-0 mb-0">Start Game:</h5> <h5 class="pb-0 mb-0">Pause:</h5> <h5 class="pb-0 mb-0">Move:</h5> <h5 class="pb-0 mb-0">Jump:</h5> <h5 class="pb-0 mb-0">Look:</h5> <h5 class="pb-0 mb-0">Sprint:</h5> <h5 class="pb-0 mb-0">Place Shape:</h5> <h5 class="pb-0 mb-0">Remove Shape:</h5> </div><div class="col-6 ml-2 instr"> <h5 class="pb-0 mb-0"><b>ENTER</b></h5> <h5 class="pb-0 mb-0"><b>ESCM
</b></h5> <h5 class="pb-0 mb-0"><b>WASD</b></h5> <h5 class="pb-0 mb-0"><b>SPACE</b></h5> <h5 class="pb-0 mb-0"><b>MOUSE</b></h5> <h5 class="pb-0 mb-0"><b>SHIFT</b></h5> <h5 class="pb-0 mb-0"><b>LEFT-CLICK</b></h5> <h5 class="pb-0 mb-0"><b>RIGHT-CLICK</b></h5> </div></div><div> <button class="btn btn-outline-secondary btn-lg mt-3" id="start_game" style="opacity: 1 !important" > PLAY GAME </button> <button class="btn btn-outline-secondary btn-lg mt-3" id="hide" style="opacity: 1 !important" > HIDE THIS </button> </diM
v></div><div class="d-none instr" id="mobile-warning" class="instructions"> <p style="font-size: 24px">Gameplay not supported on mobile</p></div></div><div style=" position: absolute; top: 50vh; left: 50vw; display: none; font-size: 1.2em; font-family: 'Arial'; z-index: 100000; " id="crosshair" > <b>
    <script type="module">
   var water,iframe,intersections,fintersections,wintersections,aintersections,sintersections,dintersections,boxGeometry,floor,finalMesh,finalMaterial,gltfloader,dirLight,hemiLM
ight,canMoveForward,canMoveBackward,canMoveLeft,canMoveRight,time,delta,velocityzcalc,velocityxcalc,velocityycalc,move_obj,onObject,waterColor,image,pos,mesh,loading=document.getElementById("loading"),isMobile=mobileCheck();let rand=mathRand();function windDirection(e){return e>.6}function colorScheme($){return $<.35?0:$>=.35&&$<.6?1:$>=.6&&$<.9?2:$>.9?3:void 0}window.$generativeTraits={windDirection:windDirection(rand),colorScheme:colorScheme(rand)},console.log(window.$generativeTraits);import{Water as e}from"httpM
s://cdn.skypack.dev/three@0.128.0/examples/jsm/objects/Water.js";import{PointerLockControls as o}from"https://cdn.jsdelivr.net/npm/three@0.121.1/examples/jsm/controls/PointerLockControls.js";var waterBasePosition=-175,tideComeingIn=!1,waterSpeed=1;let _p=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83M
,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,1M
81,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180,];for(let i=0;i<256;i++)_p[256+i]=_p[i];function fade(e){return e*e*e*(e*(6*e-15)+10)}function lerp(e,o,t){return o+e*(t-o)}function grad(e,o,t,r){let a=15&e,n=a<8?o:t,s=a<4?t:12==a||14==a?o:r;return((1&a)==0?n:-n)+((2&a)==0?s:-s)}class ImprovedNoise{noise(e,o,t){let r=Math.floor(e),a=Math.floor(o),n=Math.floor(t),s=255&r,c=255&a,d=255&n;e-=r,o-=a,t-=n;let $=e-1,p=o-1,_=t-1,m=fade(e),g=fM
ade(o),w=fade(t),h=_p[s]+c,f=_p[h]+d,b=_p[h+1]+d,y=_p[s+1]+c,v=_p[y]+d,u=_p[y+1]+d;return lerp(w,lerp(g,lerp(m,grad(_p[f],e,o,t),grad(_p[v],$,o,t)),lerp(m,grad(_p[b],e,p,t),grad(_p[u],$,p,t))),lerp(g,lerp(m,grad(_p[f+1],e,o,_),grad(_p[v+1],$,o,_)),lerp(m,grad(_p[b+1],e,p,_),grad(_p[u+1],$,p,_))))}}var gameActive=!1,stickx=0,sticky=0,lookx=0,looky=0;let moveForward=!1,moveBackward=!1,moveLeft=!1,moveRight=!1,canJump=!1,moveUp=!1,moveDown=!1;var frame_count=1,objects=[],lerpActions={},lerpColor=new THREE.Color,lerpCoM
lors=[],initialColor=new THREE.Color,gravity=!0;let prevTime=performance.now(),velocity=new THREE.Vector3,direction=new THREE.Vector3,vertex=new THREE.Vector3,color=new THREE.Color;var _PI_2=Math.PI/2;onObject=!0;var raycaster=new THREE.Raycaster(new THREE.Vector3,new THREE.Vector3(0,-1,0),0,10),fraycaster=new THREE.Raycaster,movementSpeed=400,renderDistance=400,doFloorUpdate=!1;let container=document.createElement("div");container.innerHTML="<span>seed: "+seed+"</span><br>",console.log("seed",seed);var camera=new M
THREE.PerspectiveCamera(95,window.innerWidth/window.innerHeight,1,3500);camera.position.y=400,camera.lookAt(0,-1,0);var scene=new THREE.Scene;scene.background=new THREE.Color(0);let light=new THREE.HemisphereLight(15658751,7829384,.95);light.position.set(.5,100,.75),scene.add(light),0==window.$generativeTraits.colorScheme&&(light.color.r=1.2,light.color.g=.5,light.color.b=.5,waterColor=new THREE.Color(0,.25,0)),1==window.$generativeTraits.colorScheme&&(light.color.g=1.3,light.color.r=.3,light.color.b=.3,waterColor=M
new THREE.Color(.56,0,0)),2==window.$generativeTraits.colorScheme?(light.color.b=1.5,light.color.g=.6,light.color.r=.5,waterColor=new THREE.Color(.4,0,.6)):3==window.$generativeTraits.colorScheme&&(light.color.r=1.53,light.color.g=1.5,light.color.b=.21,waterColor=new THREE.Color(.99,.88,.21)),window.light=light;var controls=new o(camera,document.body),renderer=new THREE.WebGLRenderer({antialias:!1,powerPreference:"high-performance"});renderer.setPixelRatio(window.devicePixelRatio),renderer.setSize(window.innerWidthM
,window.innerHeight),document.body.appendChild(renderer.domElement),window.addEventListener("resize",onWindowResize);let cubeLoader=new THREE.CubeTextureLoader,skyboxTexture=cubeLoader.load(["https://i.ibb.co/bB1qgcy/1.png","https://i.ibb.co/hdnS4PX/2.png","https://i.ibb.co/M5pMx2J/3.png","https://i.ibb.co/vHhVdj9/4.png","https://i.ibb.co/894wyRV/5.png","https://i.ibb.co/Trcj0tx/6.png",]);var loadedCount=0;let ft=new THREE.TextureLoader().load("https://i.ibb.co/Jmc3Yc0/space-ft.png",onLoadCallback),bk=new THREE.TexM
tureLoader().load("https://i.ibb.co/KXyM8Dp/space-bk.png",onLoadCallback),up=new THREE.TextureLoader().load("https://i.ibb.co/rp4W3fR/space-up.png",onLoadCallback),dn=new THREE.TextureLoader().load("https://i.ibb.co/Q7B2fTC/space-dn.png",onLoadCallback),rt=new THREE.TextureLoader().load("https://i.ibb.co/NVyD5jy/space-rt.png",onLoadCallback),lf=new THREE.TextureLoader().load("https://i.ibb.co/xsx5rYK/space-lf.png",onLoadCallback);var materialArray=[];materialArray.push(new THREE.MeshBasicMaterial({map:ft,side:THREEM
.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:bk,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:up,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:dn,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:rt,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:lf,side:THREE.BackSide,fog:!1}));var skyboxGeo=new THREE.BoxGeometry(3e3,3e3,3e3),skybox=new THREE.Mesh(skybM
oxGeo,materialArray);function onLoadCallback(){6==++loadedCount&&scene.add(skybox)}function onWindowResize(){camera.aspect=window.innerWidth/window.innerHeight,camera.updateProjectionMatrix(),renderer.setSize(window.innerWidth,window.innerHeight)}function perlinRandom(){let e=100*Math.sin(mathRand());return e-Math.floor(e)}var worldWidth=512,worldDepth=512,height_map={};function generateHeight(e,o){let t=e*o,r=new Uint8Array(t),a=new ImprovedNoise,n=5*perlinRandom(),s=35;for(let c=0;c<2;c++){for(let d=0;d<t;d++){leM
t $=d%e,p=~~(d/e);r[d]+=Math.abs(a.noise($/s,p/s,n)*s*1.85),height_map[[$,p]]=r[d]}s*=4}return r}controls.getObject().position.x=worldWidth/2,controls.getObject().position.z=worldDepth/2;let floorGeometry=new THREE.PlaneBufferGeometry(worldWidth,worldDepth,worldWidth-1,worldDepth-1);floorGeometry.rotateX(-Math.PI/2);let data=generateHeight(worldWidth,worldDepth),vertices=floorGeometry.attributes.position.array;window.vertices=vertices;for(let i=0,j=0,l=vertices.length;i<l;i++,j+=3)vertices[j+1]=1*data[i]-200;var teM
mpColor=new THREE.Color(16377338),texture=new THREE.CanvasTexture(generateTexture(data,worldWidth,worldDepth));function generateTexture(e,o,t){let r,a,n,s=new THREE.Vector3(0,0,0),c=new THREE.Vector3(1,25*mathRand(),5);c.normalize();let d=document.createElement("canvas");d.width=o,d.height=t,window.canvas=d,(r=d.getContext("2d")).fillStyle="#010011",r.fillRect(0,0,o,t),a=(image=r.getImageData(0,0,d.width,d.height)).data;var $=64+64*mathRand(),p=86+86*mathRand(),_=22+22*mathRand(),m=.33+.33*mathRand(),g=.004+.004*maM
thRand();for(let w=0,h=0,f=a.length;w<f;w+=4,h++)s.x=e[h-2]-e[h+2],s.y=2,s.z=e[h-2*o]-e[h+2*o],s.normalize(),n=s.dot(c),a[w]=($+n*p)*(m+e[h]*g),a[w+1]=(_+n*$)*(m+e[h]*g),a[w+2]=n*$*(m+e[h]*g);r.putImageData(image,0,0);let b=document.createElement("canvas");b.width=4*o,b.height=4*t,(r=b.getContext("2d")).scale(4,4),r.drawImage(d,0,0),a=(image=r.getImageData(0,0,b.width,b.height)).data;for(let y=0,v=a.length;y<v;y+=4){let u=~~(mathRand()*(3+2*mathRand()));a[y]+=u,a[y+1]+=u,a[y+2]+=u}return r.putImageData(image,0,0),bM
}texture.wrapS=THREE.ClampToEdgeWrapping,texture.wrapT=THREE.ClampToEdgeWrapping;let floorMaterial=new THREE.MeshLambertMaterial({map:texture});floorMaterial.color=tempColor;var floor=new THREE.Mesh(floorGeometry,floorMaterial);2==window.$generativeTraits.colorScheme&&(floor.material.color.r=0),window.floor=floor,scene.add(floor),objects.push(floor);var gridColor=new THREE.Color(2302755);let grid=new THREE.GridHelper(worldWidth,25,gridColor);grid.rotateX(-Math.PI/2),grid.position.x=worldWidth/2,grid.position.y=-worM
ldWidth/4,grid.material.opacity=.001,scene.add(grid),window.grid=grid;let grid2=new THREE.GridHelper(worldWidth,25,gridColor);grid2.rotateX(-Math.PI/2),grid2.position.x=worldWidth/2,grid2.position.y=-worldWidth/4,grid2.position.z=worldDepth,grid2.material.opacity=.1,scene.add(grid2);let grid3=new THREE.GridHelper(worldDepth,25,gridColor);grid3.rotateZ(-Math.PI/2),grid3.position.y=-worldWidth/4,grid3.position.z=worldDepth/2,grid3.material.opacity=.1,scene.add(grid3);let grid4=new THREE.GridHelper(worldDepth,25,gridCM
olor);grid4.rotateZ(-Math.PI/2),grid4.position.x=worldWidth,grid4.position.y=-worldWidth/4,grid4.position.z=worldDepth/2,grid4.material.opacity=.1,scene.add(grid4);let grid5=new THREE.GridHelper(worldDepth,25);grid5.position.x=worldWidth/2,grid5.position.y=worldWidth/4,grid5.position.z=worldDepth/2,grid5.material.opacity=.1,floor.position.set(worldWidth/2,0,worldDepth/2),boxGeometry=new THREE.BoxGeometry(10,10,10);var posnegWind=mathRand()>.5?-1:1,windDirectionVal=window.$generativeTraits.windDirection?new THREE.VeM
ctor3(posnegWind*mathRand()*.1,0,0):new THREE.Vector3(0,0,posnegWind*mathRand()*.1),boxMaterial=new THREE.MeshLambertMaterial({side:THREE.FrontSide}),instanceBoxMaterial=new THREE.MeshLambertMaterial({side:THREE.FrontSide});camera.updateMatrix();var firstUnlock=!0;function unlock(){firstUnlock&&(firstUnlock=!1),camera.updateProjectionMatrix()}function animate(){requestAnimationFrame(animate),renderer.render(scene,camera),time=performance.now(),water&&(water.position.y<=waterBasePosition-10&&(tideComeingIn=!0),waterM
.position.y>=waterBasePosition+10&&(tideComeingIn=!1),tideComeingIn?water.position.lerp(new THREE.Vector3(water.position.x,water.position.y+waterSpeed,water.position.x),.05):water.position.lerp(new THREE.Vector3(water.position.x,water.position.y-waterSpeed,water.position.x),.05));var e=new THREE.Vector2;if(!0===controls.isLocked||gameActive){doFloorUpdate&&(floor.geometry.attributes.position.needsUpdate=!0,floor.updateMatrix(),floorGeometry.attributes.position.needsUpdate=!0,floorGeometry.computeVertexNormals(),doFM
loorUpdate=!1),frame_count+=1,camera.updateMatrix(),delta=(time-prevTime)/1e3,velocity.x-=10*velocity.x*delta,velocity.z-=10*velocity.z*delta,velocity.z-=10*velocity.z*delta,direction.z=Number(moveForward)-Number(moveBackward),direction.x=Number(moveRight)-Number(moveLeft),direction.y=Number(moveUp)-Number(moveDown),direction.normalize(),(moveForward||moveBackward)&&(velocityzcalc=direction.z*movementSpeed*delta,velocity.z-=velocityzcalc),(moveLeft||moveRight)&&(velocityxcalc=direction.x*movementSpeed*delta,velocitM
y.x-=velocityxcalc),controls.moveRight(-velocity.x*delta),controls.moveForward(-velocity.z*delta),controls.getObject().position.y+=velocity.y*delta;var o=Math.round(controls.getObject().position.x),t=Math.round(controls.getObject().position.z),r=height_map[[o,t]]-175;fraycaster.setFromCamera(e,camera),raycaster.ray.origin.copy(controls.getObject().position),raycaster.ray.origin.y-=7,intersections=raycaster.intersectObjects(objects,!1),onObject=!1,controls.getObject().position.y<r+25&&(velocity.y=0,controls.getObjecM
t().position.y=r+25,onObject=!0),intersections&&intersections.length>0&&intersections.every(function(e){if(e.object.uuid!=floor.uuid)return onObject=!0,!1}),!0===onObject&&(velocity.y=Math.max(0,velocity.y),canJump=!0),r&&r>=controls.getObject().position.y&&camera.position.lerp(new THREE.Vector3(controls.getObject().position.x,r,controls.getObject().position.z),.1),onObject||(velocity.y-=180*delta),o>worldWidth-5&&(controls.getObject().position.x=worldWidth-5),t>worldDepth-5&&(controls.getObject().position.z=worldDM
epth-5),o<5&&(controls.getObject().position.x=5),t<5&&(controls.getObject().position.z=5)}if(prevTime=time,renderer.render(scene,camera),camera.updateMatrixWorld(),lerpColors&&lerpColors&&lerpColors.length>=objects.length)for(var a=0;a<objects.length;a++)objects[a].uuid!=floor.uuid&&objects[a].material.color.lerp(lerpColors[a],.01);if(objects){for(var a=0;a<objects.length;a++)if(objects[a].uuid!=floor.uuid){var n=new THREE.Vector3().addVectors(windDirectionVal,new THREE.Vector3(-.05+.1*mathRand(),0,-.05+.1*mathRandM
()));objects[a].position.lerp(objects[a].position.add(n),.1),objects[a].position.x>worldWidth&&(objects[a].position.x=0),objects[a].position.x<0&&(objects[a].position.x=worldWidth),objects[a].position.z>worldDepth&&(objects[a].position.z=0),objects[a].position.z<0&&(objects[a].position.z=worldDepth);var o=Math.round(objects[a].position.x),t=Math.round(objects[a].position.z),r=height_map[[o,t]]-175;r&&objects[a].position<r&&objects[a].position.lerp(new THREE.Vector3(objects[a].position.x,r+objects[a].userData.heightM
Diff,objects[a].position.z),.1)}}floor.visible=!0}function startGame(){if(!isMobile){if(iframe=document.getElementsByTagName("iframe"),console.log("What iframes were foudn?",iframe),iframe&&iframe.length>0){var e=(iframe=iframe[0])[0];console.log("do we got an iframe?",e),console.log("Foudn the iframe"),e.sandbox="allow-scripts allow-same-origin allow-pointer-lock"}try{controls.lock(),gameActive=!0,unlock()}catch{instructions.style.display="none",camera.position.y=250}}}animate(),document.getElementById("start_gameM
").addEventListener("click",function(){startGame()});let blocker=document.getElementById("blocker"),instructions=document.getElementById("instructions");controls.addEventListener("lock",function(){unlock(),camera.updateProjectionMatrix(),instructions.style.display="none",blocker.style.display="none",document.getElementById("crosshair").style.display="block",document.getElementById("crosshair").style.zIndex=1e5,gameActive=!0}),controls.addEventListener("unlock",function(){blocker.style.display="block",instructions.sM
tyle.display="",document.getElementById("crosshair").style.display="none",gameActive=!1}),scene.add(controls.getObject());let onKeyDown=function(e){switch(e.code){case"ArrowUp":case"KeyW":moveForward=!0;break;case"ArrowLeft":case"KeyA":moveLeft=!0;break;case"ArrowDown":case"KeyS":moveBackward=!0;break;case"ArrowRight":case"KeyD":moveRight=!0;break;case"KeyG":gravity=!gravity;break;case"Space":!0===canJump&&(velocity.y+=125),canJump=!1;break;case"Enter":controls.isLocked||(controls.lock(),gameActive=!0);case"ShiftLeM
ft":case"Control":movementSpeed=1500;break;case"KeyC":copyColor()}},onKeyUp=function(e){switch(e.code){case"ArrowUp":case"KeyW":moveForward=!1;break;case"ArrowLeft":case"KeyA":moveLeft=!1;break;case"ArrowDown":case"KeyS":moveBackward=!1;break;case"ArrowRight":case"KeyD":moveRight=!1;break;case"ShiftLeft":movementSpeed=400}};document.addEventListener("keydown",onKeyDown),document.addEventListener("keyup",onKeyUp);for(let i=0;i<0;i++){let t=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0,vertexColors:!0M
});t.color.HSL(.2*mathRand()+.5,.75,.25*mathRand()+.75);let r=new THREE.Mesh(boxGeometry,t);r.position.x=20*Math.floor(20*mathRand()-10),r.position.y=20*Math.floor(20*mathRand())+10,r.position.z=20*Math.floor(20*mathRand()-10),scene.add(r)}var points=[],material=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});for(let j=0;j<25;j++){var a=Math.floor(4+6*mathRand()),n=mathRand()*(100*mathRand());for(let s=0;s<a;s++)points.push(new THREE.Vector3(50+mathRand()*n,-50+mathRand()*n,mathRand()*n));var c,d,$=M
height_map[[Math.round((pos=[worldWidth*mathRand(),0,worldDepth*mathRand()])[0]),Math.round(pos[2])]]-175,p=$+200*mathRand();pos[1]=p;var _=p-$,m=new THREE.ConvexGeometry(points);let g=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});g.color.setHSL(.2*mathRand()+.5,.75,.25*mathRand()+.75),(mesh=new THREE.Mesh(m,g)).position.x=pos[0],mesh.position.y=pos[1],mesh.position.z=pos[2],mesh.userData.heightDiff=_,scene.add(mesh),objects.push(mesh),finalMesh=mesh,finalMaterial=g}var interval=setInterval(functiM
on(){for(var e=0;e<objects.length;e++){var o=new THREE.Color;o.setHex(16777215*mathRand()),lerpColors.length<objects.length?lerpColors.push(o):lerpColors[e]=o}},2e3);let waterGeometry=new THREE.PlaneGeometry(worldWidth,worldDepth);function triggerDeleteTerrain(){if((fintersections=fraycaster.intersectObjects(objects,!1))&&fintersections.length>0){for(var e of fintersections)if(e.object.uuid!=water.uuid&&e.object.uuid!=floor.uuid){o=e;break}if(o){var o,t=o.object;scene.remove(t),t.geometry.dispose(),t.material.dispoM
se()}}}function triggerMoveTerrain(){if((fintersections=fraycaster.intersectObjects(objects,!1))&&fintersections.length>0){for(var e of fintersections)if(e.object.uuid!=water.uuid){o=e;break}if(o){floor.geometry.attributes.position.array,floor.geometry.attributes.position,o.point.x,o.point.z,new THREE.Vector2,new THREE.Vector3;var o,t,r,a,n=[],s=Math.floor(4+6*mathRand()),c=mathRand()*(200*mathRand());for(let d=0;d<s;d++)n.push(new THREE.Vector3(mathRand()*c,mathRand()*c,mathRand()*c));height_map[[Math.round((t=[o.M
point.x,o.point.y,o.point.z])[0]),Math.round(t[2])]];var $=new THREE.ConvexGeometry(n);let p=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});p.color.setHSL(.2*mathRand()+.5,.75,.25*mathRand()+.75),r=new THREE.Mesh($,p);var _=new THREE.Box3().setFromObject(r).getSize();r.position.x=t[0]-_.x,r.position.y=t[1]+_.y+1,r.position.z=t[2]-_.z,scene.add(r),objects.push(r)}}}function mobileCheck(){var e;let o=!1;return e=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantM
go|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bM
umb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w]M
)|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|M
sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(o=!0),console.log("ismobile? "+o),o}water=new e(waterGeometry,{textureWidth:512,textureHeight:512,waterNormals:new THREE.TextureLoadM
er().load("https://raw.githubusercontent.com/IanUme/ThreejsTest/master/textures/waternormals.jpg",function(e){e.wrapS=e.wrapT=THREE.RepeatWrapping,scene.add(water),loadingDone()}),sunDirection:new THREE.Vector3,sunColor:waterColor,waterColor:waterColor,distortionScale:3.7,fog:void 0!==scene.fog}),window.water=water,water.position.y=waterBasePosition,water.position.x=worldWidth/2,water.position.z=worldDepth/2,water.rotation.x=-Math.PI/2,document.addEventListener("click",function(e){(!0===controls.isLocked||gameActivM
e)&&(0==e.button?triggerMoveTerrain():triggerDeleteTerrain())});var mobileWarning=document.getElementById("mobile-warning");function loadingDone(){instructions.style.display="",loading.style.display="none"}document,isMobile&&(instructions.classList.add("d-none"),mobileWarning.classList.remove("d-none")),document.getElementById("hide").onclick=function(){instructions.style.display="none"},setTimeout(function(){console.log("hide the display after 10 seconds of inactivity. "),instructions.style.display="none"},1e4),wiMU
ndow.onload=function(){if(iframe=document.getElementsByTagName("iframe"),console.log("What iframes were foudn?",iframe),iframe&&iframe.length>0){var e=(iframe=iframe[0])[0];console.log("do we got an iframe?",e),console.log("Foudn the iframe"),e.sandbox="allow-scripts allow-same-origin allow-pointer-lock"}};
DjB=:BNB.BNB:bnb1l8qhzm8tps97hu3ec0hz5klmqkefg7ds5vfly4:22854280:te:0
LjJ=:BNB.BUSD-BD1:bnb1z2v4r2damukxjr7sfakvjnqxh0yxu93xn5h4j3:64760192923:te:0
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>A simple template for launching your art on Bitcoin</title>
    Generative supports the most popular creative coding libraries. Simply uncomment the library you want to use below.
    Are we missing an important library? Let us know @generative_xyz.
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script>
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/c2/1.0.0/c2.min.js"></script>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script>
    <!-- tonejs@14.8.49
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.49/Tone.js"></script>
    <!-- svgjs@3.1.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/3.1.2/svg.min.js"></script>
    <!-- aframejs@1M
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/aframe/1.2.0/aframe.min.js"></script>
    <!-- babylonjs@5.47.0
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/babylonjs/5.47.0/babylon.js"></script>
    <!-- paperjs@0.12.17
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.17/paper-full.min.js"></script>
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/regl/2.1.0/regl.min.js"></script>
    <script type="text/javascript">
 Add your script here
 Add your script here
    <script id="snippet-raM
ndom-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - M
pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), M
l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, M
u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
        let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
<canvas id="canvas"></canvas>
<script type="text/javascriM
    const rand = mathRand();
    function T1(rand) {
        // calculate rarity by yourself
        if (rand > 0.5) {
            return true;
            return false
    // window.$generativeTraits contain list traits for token
    // you need to populate a $generativeTraits object in the window object
    window.$generativeTraits = {
        "T1": T1(rand),
    console.log(window.$generativeTraits)
        const fxSeed = rand || Math.random();
        function randomValueIndexArrayInt(hash, lenArray) {
    return hash % lenArray;
  function cyrb128(str) {
    let h1 = 1779033703,
      h2 = 3144134277,
      h3 = 1013904242,
      h4 = 2773480762;
    for (let i = 0, k; i < str.length; i++) {
      k = str.charCodeAt(i);
      h1 = h2 ^ Math.imulM
(h1 ^ k, 597399067);
      h2 = h3 ^ Math.imul(h2 ^ k, 2869860233);
      h3 = h4 ^ Math.imul(h3 ^ k, 951274213);
      h4 = h1 ^ Math.imul(h4 ^ k, 2716044179);
    h1 = Math.imul(h3 ^ (h1 >>> 18), 597399067);
    h2 = Math.imul(h4 ^ (h2 >>> 22), 2869860233);
    h3 = Math.imul(h1 ^ (h3 >>> 17), 951274213);
    h4 = Math.imul(h2 ^ (h4 >>> 19), 2716044179);
      (h1 ^ h2 ^ h3 ^ h4) >>> 0,
      (h2 ^ h1) >>> 0,
      (h3 ^ h1) >>> 0,
      (h4 ^ h1) >>> 0
  function sfc32_c(a, b, c, dM
    var t = (a + b) | 0;
    a = b ^ (b >>> 9);
    b = (c + (c << 3)) | 0;
    c = (c << 21) | (c >>> 11);
    d = (d + 1) | 0;
    t = (t + d) | 0;
    c = (c + t) | 0;
    return (t >>> 0) / 4294967296;
  // return random value from [l -> r]
  function consistentRand(seed, l, r) {
    const rand = sfc32_c(...cyrb128(seed.toString()));
    return l + rand * (r - l);
  function getRandomItem(listP, seed) {
    const pref = [];
of listP) pref.push(x);
    for (let i = 1; i < listP.length; i++) {
      pref[i] += pref[i - 1];
    for (let i = 0; i < pref.length; i++) pref[i] /= pref[pref.length - 1];
    // get random value from 0->1
    const rand = consistentRand(seed, 0, 1);
    for (let i = 0; i < pref.length; i++) {
      if (rand < pref[i]) return i;
  function getRandomBool(seed, l, r) {
    const rand = sfc32_c(...cyrb128(seed.toString()));
    return rand < 0.5 ? l : r;
  const color_palette = M
    ["#20191b", "#67875c", "#f3cb4d", "#f2f5e3"],
    ["#bab9a4", "#311f27", "#ff3931", "#007861"],
    ["#f4c172", "#7b8a56", "#363d4a", "#ff9369"],
    ["#20342a", "#f74713", "#e9b4a6", "#686d2c"]
  // Get the canvas element from the HTML document
  const canvas = document.getElementById("canvas");
  const context = canvas.getContext("2d");
  // Define the dimensions of the canvas and the size of each square
  const canvasWidth = 1000;
  canvas.width = canvasWidth;
  canvas.height = canvasHeight;
  const squareSize = consistentRand(fxSeed * 10, 5, 100);
  // Select a random color palette from the array
  const randomPaletteIndex = Math.floor(
    consistentRand(fxSeed, 0, color_palette.length - 1)
  const randomPalette = color_palette[randomPaletteIndex];
  // Loop through each row and column to draw squares with random colors from the palette
  context.clearRect(0, 0, canvasWidth, canvasHeight);
  for (let i = 0; i < canvM
asHeight / squareSize; i++) {
    for (let j = 0; j < canvasWidth / squareSize; j++) {
      const randomColorIndex = Math.floor(
        consistentRand(
          fxSeed * (i + fxSeed * 10) * (j + fxSeed * 10),
          randomPalette.length - 1
      const randomColor = randomPalette[randomColorIndex];
      context.fillStyle = randomColor;
      context.fillRect(j * squareSize, i * squareSize, squareSize, squareSize);
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>A simple template for launching your art on Bitcoin</title>
    Generative supports the most popular creative coding libraries. Simply uncomment the library you want to use below.
    Are we missing an important library? Let us know @generative_xyz.
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script>
    <!-- c2.min.js@1.0.0
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/c2/1.0.0/c2.min.js"></script>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></M
    <!-- threejs@r124
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script>
    <!-- tonejs@14.8.49
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.49/Tone.js"></script>
    <!-- svgjs@3.1.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/3.1.2/svg.min.js"></M
    <!-- aframejs@1.2.0
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/aframe/1.2.0/aframe.min.js"></script>
    <!-- babylonjs@5.47.0
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/babylonjs/5.47.0/babylon.js"></script>
    <!-- paperjs@0.12.17
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.1M
2.17/paper-full.min.js"></script>
    <!-- regljs@2.1.0
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/regl/2.1.0/regl.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/addons/p5.sound.min.js"></script>
    <script type="text/javascript">
 Add your script herM
 Add your script here
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
   seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrbM
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u M
^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
This function generates a random number between 0 and 1 with on-chain seed.
        let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
            width: 100% !important;
            height: 100% !important;
            object-fit: contain;
            position: fixed;
            left: 0;
        html, body {
  <canvas id="canvas"></canvas>
<script type="text/javascript">
    const rand = mathRand();
    function T1(rand) {
        // calculate rarity by yourself
        if (rand > 0.5) {
            return true;
            return false
    // window.$generativeTraits contain list traits for token
    // you need to populate a $generatM
iveTraits object in the window object
    window.$generativeTraits = {
        "Rarity": T1(rand),
    console.log(window.$generativeTraits);
 Add your code here
// Get the canvas element and its 2D context
// Get the canvas element and its 2D context
 * @name Oscillator Frequency
@description <p>Control an Oscillator and view the waveform using FFT.
 * MouseX is mapped to frequency, mouseY is mapped to amplitude.</p>
 * <p><em><span class="small"> To run this example locally, you will need the
 * <a href="http://p5js.org/reference/#/libraries/p5.sound">p5.sound library</a> and a
 * sound file.</span></em></p>
  createCanvas(720, 256);
  osc = new p5.TriOsc(); // set frequency and type
  fft = new p5.FFT();
  let waveform = fft.waveform(); // analyze the waveform
  for (let i = 0; i < waveform.length; i++) {
    let x = map(i, 0, waveform.length, 0, width);
    let y = map(waveform[i], -1, 1, height, 0);
  // change oscillator frequency based on mouseX
  let freq = map(mouseX, 0, width, 40, 880);
  let amp = map(mouseY, 0, height, 1, 0.01);
 Add your code here
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Pop On Chain by SMLDMS</title>
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(maM
thRand() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (letM
 n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        let mathRand = sfc32(...cyrb128(seed));
            position: fixed;
            right: 0;
            bottom: 0;
            left: 0;
          color: rgb(255, 255, 255);
            background-color: rgb(0, 0, 0);
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0;
            padding: 0;
            font-size: 0.8em;
            object-fit: contain;
            max-height: 100%;
            max-width: 100%;
        #fullScreen {
            display: flex;
            position: fixed;
            bottom: 0;
            left: 0;
            justify-content: center;
            align-items: center;
        #fullScreen canvas {
            object-fit: contain;
            max-height: 100%;
            max-width: 100%;
            /* mix-blend-mode: soft-light; */
            color: rgb(255);
            opacity: 0.75;
            width: auto;
            height: auto;
            position: fixed;
            text-align: center;
          justify-content: center;
            align-items: center;
            padding: 10%;
        #progress h1 {
            font-size: 10.75em;
            /* display: block; */
            margin: 0%;
            padding: 0%
    <canvas id="cnv"></canvas>
    <div id="fullScreen">
        <div id="progress"></div>
<!-- /////////////////////////////////LET'S GO//////////////////////////////// -->
<script type="text/jaM
    const myTitle = "Pop On Chain";
    const canvas = document.getElementById("cnv");
    const ctx = cnv.getContext('2d');
    let ratio = 1.414142
        n: mathRand(),
    if (format.n < 0.33) {
        format.ww = ratio
        format.hh = 1
        format.name = "Landscape"
    } else if (format.n < 0.66) {
        format.ww = 1
        format.hh = ratio
        format.name = "Portrait"
        format.ww = 1
        format.hh = 1
        format.name = "Square"
    const mySize = 1000;
    cnv.width = mySize * format.ww;
    cnv.height = mySize * format.hh;
    const scales = [25, 50, 100];
    const randomIndex = Math.floor(mathRand() * scales.length);
    const scl = scales[randomIndex];
    const marges = [200, 100, 50];
    const randomMarge = Math.floor(mathRand() * marges.length);
    const marge = marges[randomMarge];
    const maxT = Math.round(mathRand() * 50 + 10M
        n: mathRand(),
        n: mathRand(),
        n: mathRand(),
    if (layer.n < 0.5) {
        layer.name = "On"
        layer.name = "Off"
    if (clr.n < 0.25) {
        clr.name = "White"
    else if (clr.n < 0.5) {
        clr.name = "Red"
      clr.name = "Black"
    if (mode.n < 0.25) {
        mode.name = "C"
        mode.val = 100
    else if (mode.n < 0.5) {
        mode.name = "B"
        mode.val = 25
        mode.name = "A"
        mode.val = 0
    window.$generativeTraits = {
        "Format": format.name,
        "Color Base": clr.name,
        "Back layer": layer.name,
        "Mode": mode.name,
        "Scale": scl,
        "Model": maxT,
        "Marge": marge,
    console.log(myTitle + " | smldms 2023.03")
    console.log(window.$generativeTraits)
    const r = cnv.height / scl;
    const c = cnv.width / scl
    ctx.fillStyle = clr.name;
    ctx.rect(0, 0, cnv.width, cnv.height)
    if (layer.name == "On") {
    addGrain(cnv, 25)
    function frame() {
        // ctx.filter = "blur(5px)";
        ctx.restore()
        ctx.fillStyle = clr.name;
tx.strokeStyle = 'hsl(' + 360 * mathRand() + ',100%,50%)';
        ctx.lineWidth = 100;
        ctx.rect(0, 0, cnv.width, cnv.height)
        ctx.stroke();
    function halo() {
        ctx.restore()
        ctx.translate(c / 2, r / 2)
        ctx.filter = 'blur(' + mode.val + 'px)';
        for (let x = marge; x < cnv.width - marge / 2; x += 50) {
            for (let y = marge; y < cnv.height - marge / 2; y += 50) {
                let clrF = 'hsl(' + 360 * mathRand() + ',100%,50%)';
         ctx.fillStyle = clrF;
                ctx.strokeStyle = clr.name;
                ctx.lineWidth = mathRand() * 5 + 1;
                ctx.beginPath()
                if (mathRand() < 0.25) {
                    ctx.arc(x, y, r * 2, 0, Math.PI)
                else if (mathRand() < 0.5) {
                    ctx.arc(x, y, r * 2, Math.PI, 0)
                else if (mathRand() < 0.75) {
                    for (let i = 2; i < 100; i += 1) {
      if (mathRand() < 0.25) {
                            ctx.arc(x + i, y, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.5) {
                            ctx.arc(x, y + i, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.75) {
                            ctx.arc(x, y - i, r / i, 0, Math.PI * 2)
                        }
                        else {
                            ctx.arc(x - i, y, r / i, 0, M
                        }
                    }
                else {
                ctx.closePath();
                ctx.stroke()
                ctx.fill();
    function show() {
        ctx.restore()
        for (let x = marge; x < cnv.width - marge; x += r) {
            for (let y = marge; y < cnv.height - marge; y += c) {
                ctx.filter = "blur(0px) contrast(1.4) drop-shadow(0px 9px 5px #000) ";
             ctx.fillStyle = clr.name;
                ctx.strokeStyle = 'hsl(' + 360 * mathRand() + ',100%,50%)';
                ctx.lineWidth = mathRand() * 2 + 1;
                ctx.beginPath()
                if (mathRand() < 0.25) {
                    ctx.arc(x, y, r / 2, 0, Math.PI)
                else if (mathRand() < 0.5) {
                    ctx.arc(x, y, r / 2, Math.PI, 0)
                else if (mathRand() < 0.75) {
                    for (let i = 2M
; i < maxT; i += 1) {
                        if (mathRand() < 0.25) {
                            ctx.arc(x + i, y, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.5) {
                            ctx.arc(x, y + i, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.75) {
                            ctx.arc(x, y - i, r / i, 0, Math.PI * 2)
                        }
                        else {
             ctx.arc(x - i, y, r / i, 0, Math.PI * 2)
                        }
                    }
                else {
                ctx.closePath();
                ctx.stroke()
                ctx.fill();
    function addGrain(canvas, graininess) {
        const ctx = canvas.getContext('2d');
        const width = canvas.width;
        const height = canvas.height;
        const pixels = ctx.getImageData(0, 0, width, heighM
        for (let i = 0; i < pixels.data.length; i += 4) {
            const r = pixels.data[i];
            const g = pixels.data[i + 1];
            const b = pixels.data[i + 2];
            const alpha = pixels.data[i + 3];
            const random = mathRand();
            const offset = (random - 0.5) * graininess;
            pixels.data[i] = Math.max(0, Math.min(255, r + offset));
            pixels.data[i + 1] = Math.max(0, Math.min(255, g + offset));
            pixels.data[i + 2] = Math.mM
ax(0, Math.min(255, b + offset));
            pixels.data[i + 3] = alpha;
        ctx.putImageData(pixels, 0, 0);
    function saveCanvasAsPNG(canvas) {
        document.addEventListener('keydown', function (event) {
            if (event.key === 's' || event.key === 'S' || event.key === 'd' || event.key === 'D') {
                const ctx = canvas.getContext('2d');
                const width = canvas.width;
                const height = canvas.height;
                const pixelRaM
tio = (event.key === 'd' || event.key === 'D') ? window.devicePixelRatio * 8 : window.devicePixelRatio;
                const canvasCopy = document.createElement('canvas');
                canvasCopy.width = width * pixelRatio;
                canvasCopy.height = height * pixelRatio;
                const ctxCopy = canvasCopy.getContext('2d');
                ctxCopy.imageSmoothingEnabled = false;
                ctxCopy.drawImage(canvas, 0, 0, width, height, 0, 0, width * pixelRatio, height * pixelRatio);
               const url = canvasCopy.toDataURL('image/png');
                const link = document.createElement('a');
                link.download = 'canvas.png';
                link.href = url;
                link.click();
    saveCanvasAsPNG(cnv);
    /////////////PROGRESS
    async function progress(message) {
        document.body.style.cursor = 'crosshair';
        document.getElementById("progress").innerHTML = message;
        await new Promise((fn => setM
    async function progressClear() {
        document.body.style.cursor = 'default';
        document.getElementById("progress").style.display = 'none';
        await new Promise((fn => setTimeout(fn, 1)));
    async function progressShow() {
        document.body.style.cursor = 'default';
        document.getElementById("progress").style.display = 'block';
        await new Promise((fn => setTimeout(fn, 1)));
text/plain;charset=utf-8
  "name": "00O.sats"
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Pop On Chain by SMLDMS</title>
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(maM
thRand() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (letM
 n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        let mathRand = sfc32(...cyrb128(seed));
            position: fixed;
            right: 0;
            bottom: 0;
            left: 0;
          color: rgb(255, 255, 255);
            background-color: rgb(0, 0, 0);
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0;
            padding: 0;
            font-size: 0.8em;
            object-fit: contain;
            max-height: 100%;
            max-width: 100%;
        #fullScreen {
            display: flex;
            position: fixed;
            bottom: 0;
            left: 0;
            justify-content: center;
            align-items: center;
        #fullScreen canvas {
            object-fit: contain;
            max-height: 100%;
            max-width: 100%;
            /* mix-blend-mode: soft-light; */
            color: rgb(255);
            opacity: 0.75;
            width: auto;
            height: auto;
            position: fixed;
            text-align: center;
          justify-content: center;
            align-items: center;
            padding: 10%;
        #progress h1 {
            font-size: 10.75em;
            /* display: block; */
            margin: 0%;
            padding: 0%
    <canvas id="cnv"></canvas>
    <div id="fullScreen">
        <div id="progress"></div>
<!-- /////////////////////////////////LET'S GO//////////////////////////////// -->
<script type="text/jaM
    const myTitle = "Pop On Chain";
    const canvas = document.getElementById("cnv");
    const ctx = cnv.getContext('2d');
    let ratio = 1.414142
        n: mathRand(),
    if (format.n < 0.33) {
        format.ww = ratio
        format.hh = 1
        format.name = "Landscape"
    } else if (format.n < 0.66) {
        format.ww = 1
        format.hh = ratio
        format.name = "Portrait"
        format.ww = 1
        format.hh = 1
        format.name = "Square"
    const mySize = 1000;
    cnv.width = mySize * format.ww;
    cnv.height = mySize * format.hh;
    const scales = [25, 50, 100];
    const randomIndex = Math.floor(mathRand() * scales.length);
    const scl = scales[randomIndex];
    const marges = [200, 100, 50];
    const randomMarge = Math.floor(mathRand() * marges.length);
    const marge = marges[randomMarge];
    const maxT = Math.round(mathRand() * 50 + 10M
        n: mathRand(),
        n: mathRand(),
        n: mathRand(),
    if (layer.n < 0.5) {
        layer.name = "On"
        layer.name = "Off"
    if (clr.n < 0.25) {
        clr.name = "White"
    else if (clr.n < 0.5) {
        clr.name = "Red"
      clr.name = "Black"
    if (mode.n < 0.25) {
        mode.name = "C"
        mode.val = 100
    else if (mode.n < 0.5) {
        mode.name = "B"
        mode.val = 25
        mode.name = "A"
        mode.val = 0
    window.$generativeTraits = {
        "Format": format.name,
        "Color Base": clr.name,
        "Back layer": layer.name,
        "Mode": mode.name,
        "Scale": scl,
        "Model": maxT,
        "Marge": marge,
    console.log(myTitle + " | smldms 2023.03")
    console.log(window.$generativeTraits)
    const r = cnv.height / scl;
    const c = cnv.width / scl
    ctx.fillStyle = clr.name;
    ctx.rect(0, 0, cnv.width, cnv.height)
    if (layer.name == "On") {
    addGrain(cnv, 25)
    function frame() {
        // ctx.filter = "blur(5px)";
        ctx.restore()
        ctx.fillStyle = clr.name;
tx.strokeStyle = 'hsl(' + 360 * mathRand() + ',100%,50%)';
        ctx.lineWidth = 100;
        ctx.rect(0, 0, cnv.width, cnv.height)
        ctx.stroke();
    function halo() {
        ctx.restore()
        ctx.translate(c / 2, r / 2)
        ctx.filter = 'blur(' + mode.val + 'px)';
        for (let x = marge; x < cnv.width - marge / 2; x += 50) {
            for (let y = marge; y < cnv.height - marge / 2; y += 50) {
                let clrF = 'hsl(' + 360 * mathRand() + ',100%,50%)';
         ctx.fillStyle = clrF;
                ctx.strokeStyle = clr.name;
                ctx.lineWidth = mathRand() * 5 + 1;
                ctx.beginPath()
                if (mathRand() < 0.25) {
                    ctx.arc(x, y, r * 2, 0, Math.PI)
                else if (mathRand() < 0.5) {
                    ctx.arc(x, y, r * 2, Math.PI, 0)
                else if (mathRand() < 0.75) {
                    for (let i = 2; i < 100; i += 1) {
      if (mathRand() < 0.25) {
                            ctx.arc(x + i, y, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.5) {
                            ctx.arc(x, y + i, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.75) {
                            ctx.arc(x, y - i, r / i, 0, Math.PI * 2)
                        }
                        else {
                            ctx.arc(x - i, y, r / i, 0, M
                        }
                    }
                else {
                ctx.closePath();
                ctx.stroke()
                ctx.fill();
    function show() {
        ctx.restore()
        for (let x = marge; x < cnv.width - marge; x += r) {
            for (let y = marge; y < cnv.height - marge; y += c) {
                ctx.filter = "blur(0px) contrast(1.4) drop-shadow(0px 9px 5px #000) ";
             ctx.fillStyle = clr.name;
                ctx.strokeStyle = 'hsl(' + 360 * mathRand() + ',100%,50%)';
                ctx.lineWidth = mathRand() * 2 + 1;
                ctx.beginPath()
                if (mathRand() < 0.25) {
                    ctx.arc(x, y, r / 2, 0, Math.PI)
                else if (mathRand() < 0.5) {
                    ctx.arc(x, y, r / 2, Math.PI, 0)
                else if (mathRand() < 0.75) {
                    for (let i = 2M
; i < maxT; i += 1) {
                        if (mathRand() < 0.25) {
                            ctx.arc(x + i, y, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.5) {
                            ctx.arc(x, y + i, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.75) {
                            ctx.arc(x, y - i, r / i, 0, Math.PI * 2)
                        }
                        else {
             ctx.arc(x - i, y, r / i, 0, Math.PI * 2)
                        }
                    }
                else {
                ctx.closePath();
                ctx.stroke()
                ctx.fill();
    function addGrain(canvas, graininess) {
        const ctx = canvas.getContext('2d');
        const width = canvas.width;
        const height = canvas.height;
        const pixels = ctx.getImageData(0, 0, width, heighM
        for (let i = 0; i < pixels.data.length; i += 4) {
            const r = pixels.data[i];
            const g = pixels.data[i + 1];
            const b = pixels.data[i + 2];
            const alpha = pixels.data[i + 3];
            const random = mathRand();
            const offset = (random - 0.5) * graininess;
            pixels.data[i] = Math.max(0, Math.min(255, r + offset));
            pixels.data[i + 1] = Math.max(0, Math.min(255, g + offset));
            pixels.data[i + 2] = Math.mM
ax(0, Math.min(255, b + offset));
            pixels.data[i + 3] = alpha;
        ctx.putImageData(pixels, 0, 0);
    function saveCanvasAsPNG(canvas) {
        document.addEventListener('keydown', function (event) {
            if (event.key === 's' || event.key === 'S' || event.key === 'd' || event.key === 'D') {
                const ctx = canvas.getContext('2d');
                const width = canvas.width;
                const height = canvas.height;
                const pixelRaM
tio = (event.key === 'd' || event.key === 'D') ? window.devicePixelRatio * 8 : window.devicePixelRatio;
                const canvasCopy = document.createElement('canvas');
                canvasCopy.width = width * pixelRatio;
                canvasCopy.height = height * pixelRatio;
                const ctxCopy = canvasCopy.getContext('2d');
                ctxCopy.imageSmoothingEnabled = false;
                ctxCopy.drawImage(canvas, 0, 0, width, height, 0, 0, width * pixelRatio, height * pixelRatio);
               const url = canvasCopy.toDataURL('image/png');
                const link = document.createElement('a');
                link.download = 'canvas.png';
                link.href = url;
                link.click();
    saveCanvasAsPNG(cnv);
    /////////////PROGRESS
    async function progress(message) {
        document.body.style.cursor = 'crosshair';
        document.getElementById("progress").innerHTML = message;
        await new Promise((fn => setM
    async function progressClear() {
        document.body.style.cursor = 'default';
        document.getElementById("progress").style.display = 'none';
        await new Promise((fn => setTimeout(fn, 1)));
    async function progressShow() {
        document.body.style.cursor = 'default';
        document.getElementById("progress").style.display = 'block';
        await new Promise((fn => setTimeout(fn, 1)));
text/html;charset=utf-8
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/addons/p5.sound.min.js"></script>
    <meta charset="utf-8" />
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "01234567M
89abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [M
(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generationM
        // This function generates a random number between 0 and 1 with on-chain seed.
        let mathRand = sfc32(...cyrb128(seed));
            @font-face {
                font-family: 'iconfont';
                src: url('iconfont.ttf') format('truetype');
                user-select: none;
            html, body {
                overflow: hidden;
                background-color: #00M
                margin: 0;
                position: fixed;
                width: 100%;
                height: 100%;
            canvas {
                width: 100%;
                height: 100%;
                opacity: 0.9;
            .dg .property-name {
                overflow: visible;
            .bigFont {
                font-size: 150%;
                color: #8C8C8C;
       .cr.function.appBigFont {
                font-size: 150%;
                line-height: 27px;
                color: #A5F8D3;
                background-color: #023C40;
            .cr.function.appBigFont .property-name {
                float: none;
            .cr.function.appBigFont .icon {
                position: sticky;
                bottom: 27px;
                font-family: 'iconfont';
                font-size: 130%;
            .twitter:before {
                content: 'a';
            .github:before {
                content: 'b';
            .app:before {
                content: 'c';
            .discord:before {
                content: 'd';
            .promo {
                display: none;
                /* display: table; */
                position: absolute;
                top: 0;
                left: 0;
                widtM
                height: 100%;
                z-index: 1;
                overflow: auto;
                color: lightblue;
                background-color: rgba(0,0,0,0.4);
                animation: promo-appear-animation 0.35s ease-out;
            .promo-middle {
                display: table-cell;
                vertical-align: middle;
            .promo-content {
                width: 80vw;
                height: 80vh;
                max-width: 80vh;
                margin: auto;
                padding: 0;
                font-size: 2.8vmax;
                font-family: Futura, "Trebuchet MS", Arial, sans-serif;
                text-align: center;
                background-image: url("promo_back.png");
                background-position: center;
                background-repeat: no-repeat;
                background-size: cover;
                border-radius: 15px;
                box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgbM
            .promo-header {
                height: 10%;
                padding: 2px 16px;
            .promo-close {
                width: 10%;
                height: 100%;
                text-align: left;
                float: left;
                font-size: 1.3em;
                /* transition: 0.2s; */
            .promo-close:hover {
                /* transform: scale(1.25); */
                cursor: pointer;
            .promo-M
                padding: 8px 16px 16px 16px;
                margin: auto;
            .promo-body p {
                margin-top: 0;
                mix-blend-mode: color-dodge;
                width: 100%;
                display: inline-block;
            .link img {
                width: 100%;
            @keyframes promo-appear-animation {
                0% {
                    transform: scale(2.0);
                    oM
                100% {
                    transform: scale(1.0);
                    opacity: 1;
function genart(min, max) {
  return mathRand() * (max - min) + min;
function genart3() {
) * (0.007 - 0.003) + 0.003;
seed = genart(1,100000)
function Neons(value) {
  if (value <= 0.15)
function Planets(value) {
  if (value >= 0.95) {
window.$fxhashFeatures = {
  "Neon": Neons(mathRand()),
  "Planet": Planets(mathRand())
if (genart2() <= 0.15) {
if (genart2() >= 0.95){
  let cnv = createCanvas(1000, 1000);
= (windowWidth - width) / 2;
  let can_y = (windowHeight - height) / 2;
  cnv.position(can_x, can_y);
  background("#000000")
  angleMode(DEGREES)
  var space = width / density
    for(let i = 0; i < keys; i ++) {
    points.push(createVector(random(width), random(height)));
  for (var x = 0; x < width; x += space)
      for (var y=0; y < height; y += space){
        var p= createVector(x + 10, y + 10)
        pointz.push(p)
  shuffle (points, true)
1 = genart(220, 255)
  r2 = genart(220, 255)
  g1 = genart(20, 255)
  g2 = genart(20, 255)
  b1 = genart(20, 255)
  b2 = genart(20, 255)
  //mult = genart3()
  if(frameCount > 300) noLoop()
  for (var i = 0; i <  points.length; i++){
    let ps = points[i]
    var r = map(points[i].x, 0, width, r1, r2)
    var g = map(points[i].y, 0, height, g1, g2)
 map(points[i].x, 0, width, b1, b2)
    var alpha = map(dist(width / 2, height / 2, points [i].x, points[i].y), 0, 1250, 1250, 210)
    fill(r,g,b,alpha)
    var angle = map(noise(points[i].x * mult/2, points[i].y * mult/22), Planet2, Planet, 0, 270)
    points[i].add(createVector(sin(angle)*7, cos(angle)))
    if (dist(width / 2, height / 2, points[i].x, points[i].y) < t ) {
  ellipse(points[i].x, points[i].y, Size)
      if(!onScreen(ps)) {
      points[i].x = rM
      points[i].y = random(height);
            if(Neon>1){
            Size=Size+0.01
function maindraw2()
  for (var i = 0; i <  pointz.length; i++){
    let pz = pointz[i]
    var rz = map(pointz[i].x, 0, width,M
    var gz = map(pointz[i].y, 0, height, g1-30, g2-30)
    var bz = map(pointz[i].x, 0, width, b1-30, b2)-30
    var alpha2 = map(dist(width / 2, height / 2, pointz [i].x, pointz[i].y), 0, 1450, 200, 0)
    fill(255,gz,bz,alpha2)
    var angle2 = map(noise(pointz[i].x * mult2/2, pointz[i].y * mult2/2), 0, 1, 0, 1720)
    pointz[i].add(createVector(sin(angle2), cos(angle2)))
    if (dist(width / 2, height / 2, pointz[i].x, pointz[i].y) > 10 ) {
  rect(pointz[i].x, pointz[i].y, 1.4M
        rect(pointz[i].x+13, pointz[i].y+3, 0.1)
          if(!onScreen(pz)) {
      pointz[i].x = random(width);
      pointz[i].y = random(height);
            angle2=angle2-0.1
            density=density-1
function onScreen(v) {
  return v.x >= 0 && v.x <= width && v.y >= 0 && v.y <= height;
text/plain;charset=utf-8
iTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmlns:xmpMM="http://ns.adobe.com/xapM
/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmp:CreatorTool="Adobe Photoshop 23.2 (Macintosh)" xmp:CreateDate="2023-02-16T14:41:11-08:00" xmp:ModifyDate="2023-02-16T17:51:08-08:00" xmp:MetadataDate="2023-02-16T17:51:08-08:00" dc:format="image/png" photoshop:ColorMode="3" xmpMM:InstanceID="xmp.iid:5df822d6-a812-4905-a5e7-86350946e1e2" xmpMM:DocumentID="adobe:docid:photoshop:b1a288a5-2e7e-c94b-a0cc-a47500ce6c15" xmpMM:OriginalDocumentID="xmp.did:07b2493f-f286-44d7-8e38-31b8f79c6604"> <xmpM
MM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:07b2493f-f286-44d7-8e38-31b8f79c6604" stEvt:when="2023-02-16T14:41:11-08:00" stEvt:softwareAgent="Adobe Photoshop 23.2 (Macintosh)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:6ef46bf0-6c42-4cf6-8a0b-7932006645a2" stEvt:when="2023-02-16T16:21:37-08:00" stEvt:softwareAgent="Adobe Photoshop 23.2 (Macintosh)" stEvt:changed="/"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:5df822d6-a812-4905-a5e7-86350946e1e2" stEvt:wM
hen="2023-02-16T17:51:08-08:00" stEvt:softwareAgent="Adobe Photoshop 23.2 (Macintosh)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "77712.sats"
text/plain;charset=utf-8
  "name": "77713.sats"
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Garden</title>
    Generative supports the most popular creative coding libraries. Simply uncomment the library you want to use below.
    Are we missing an important library? Let us know @generative_xyz.
    <!-- p5js@1.5.0 -->
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script>
    <!-- c2.min.js@1.0.0
    <script sandbox="allow-sM
cripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/c2/1.0.0/c2.min.js"></script>
    <!-- chromajs@2.4.2 -->
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <!-- threejs@r124
    <script sandbox="allow-scrM
ipts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script>
    <!-- tonejs@14.8.49
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.49/Tone.js"></script>
    <script type="text/javascript">
 Add your script here
 Add your script here
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(MatM
h.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (let n = 0, r; M
n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
        let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
<script type="text/javascript">
    const rand = mathRand();
    function T1(rand) {
        // calculate rarity by yourself
        if (rand > 0.5) {
            return true;
            return false
    // window.$generativeTraits contain list traits for token
need to populate a $generativeTraits object in the window object
    window.$generativeTraits = {
 Add your code here
Math.random = mathRand;
    cSize = min(windowHeight, windowWidth);
    mainCanvas = creaM
teCanvas(cSize, cSize);
    // var context = drawingContext; // or p5.drawingContext
    // context .shadowOffsetX = 20;
    // context .shadowOffsetY = 100;
    // context .shadowBlur = 10;
    // context .shadowColor = '#ccc';
    for (let i = 0; i < height; i = i + 1) {
        stroke("#fff")
        strokeWeight(1)
        line(0,i,width,i)
    d(20,100, width-40, height-200 )
function d(x,y, rWidth = null, rHeight = null) {
    strokeWeight(mathrand(5,7))
    let endX = rWidth ? rWidth + x : width - 20;
    let endY = rHeight ? rHeight + y : height - 20;
    for (let i = 0; i < numOfLines; i++) {
        stroke(colors[mathrand(0, colors.length - 1)]);
        line(mathrand(startX, endX), startY, endX, mathrand(startY, endY))
        stroke(colors[mathrand(0, colors.length - 1)]);
        line(startX, mathrand(startY, endY), endX, mathrand(startY, endY))
colors[mathrand(0, colors.length - 1)]);
        line(mathrand(startX, endX), endY, endX, mathrand(startY, endY))
        stroke(colors[mathrand(0, colors.length - 1)]);
        line(mathrand(startX, endX), endY, mathrand(startX, endX), startY)
        stroke(colors[mathrand(0, colors.length - 1)]);
        line(mathrand(startX, endX), endY, startX, mathrand(startY, endY))
        stroke(colors[mathrand(0, colors.length - 1)]);
line(mathrand(startX, endX), startY, startX, mathrand(startY, endY))
    for (let i = 0; i < 5; i++) {
        line(startX, mathrand(startY, endY), endX, mathrand(startY, endY))
        line(mathrand(startX, endX), startY, mathrand(startX, endX), endY)
function setColors(mix = 1) {
    colorsKeys = Object.keys(chroma.brewer);
    for (let i = 0; i < mix; i++) {
        colors = [...colors, ...chroma.brewer[colorsKeys[mathrand(0, colorsKeys.length - 1)]]]
        colors2 = chroma.M
brewer[colorsKeys[mathrand(colorsKeys.length - 1, 0)]]
function mathrand(min, max) {
    return Math.floor(mathRand() * (max - min + 1) + min);
function keyTyped() {
    if (key === 's') {
        saveCanvas('Amz-' + mathRand(), 'png');
 Add your code here
<!-- <script src="./index.js"></script> -->
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Pop On Chain by SMLDMS</title>
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(maM
thRand() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (letM
 n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        let mathRand = sfc32(...cyrb128(seed));
            position: fixed;
            right: 0;
            bottom: 0;
            left: 0;
          color: rgb(255, 255, 255);
            background-color: rgb(0, 0, 0);
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0;
            padding: 0;
            font-size: 0.8em;
            object-fit: contain;
            max-height: 100%;
            max-width: 100%;
        #fullScreen {
            display: flex;
            position: fixed;
            bottom: 0;
            left: 0;
            justify-content: center;
            align-items: center;
        #fullScreen canvas {
            object-fit: contain;
            max-height: 100%;
            max-width: 100%;
            /* mix-blend-mode: soft-light; */
            color: rgb(255);
            opacity: 0.75;
            width: auto;
            height: auto;
            position: fixed;
            text-align: center;
          justify-content: center;
            align-items: center;
            padding: 10%;
        #progress h1 {
            font-size: 10.75em;
            /* display: block; */
            margin: 0%;
            padding: 0%
    <canvas id="cnv"></canvas>
    <div id="fullScreen">
        <div id="progress"></div>
<!-- /////////////////////////////////LET'S GO//////////////////////////////// -->
<script type="text/jaM
    const myTitle = "Pop On Chain";
    const canvas = document.getElementById("cnv");
    const ctx = cnv.getContext('2d');
    let ratio = 1.414142
        n: mathRand(),
    if (format.n < 0.33) {
        format.ww = ratio
        format.hh = 1
        format.name = "Landscape"
    } else if (format.n < 0.66) {
        format.ww = 1
        format.hh = ratio
        format.name = "Portrait"
        format.ww = 1
        format.hh = 1
        format.name = "Square"
    const mySize = 1000;
    cnv.width = mySize * format.ww;
    cnv.height = mySize * format.hh;
    const scales = [25, 50, 100];
    const randomIndex = Math.floor(mathRand() * scales.length);
    const scl = scales[randomIndex];
    const marges = [200, 100, 50];
    const randomMarge = Math.floor(mathRand() * marges.length);
    const marge = marges[randomMarge];
    const maxT = Math.round(mathRand() * 50 + 10M
        n: mathRand(),
        n: mathRand(),
        n: mathRand(),
    if (layer.n < 0.5) {
        layer.name = "On"
        layer.name = "Off"
    if (clr.n < 0.25) {
        clr.name = "White"
    else if (clr.n < 0.5) {
        clr.name = "Red"
      clr.name = "Black"
    if (mode.n < 0.25) {
        mode.name = "C"
        mode.val = 100
    else if (mode.n < 0.5) {
        mode.name = "B"
        mode.val = 25
        mode.name = "A"
        mode.val = 0
    window.$generativeTraits = {
        "Format": format.name,
        "Color Base": clr.name,
        "Back layer": layer.name,
        "Mode": mode.name,
        "Scale": scl,
        "Model": maxT,
        "Marge": marge,
    console.log(myTitle + " | smldms 2023.03")
    console.log(window.$generativeTraits)
    const r = cnv.height / scl;
    const c = cnv.width / scl
    ctx.fillStyle = clr.name;
    ctx.rect(0, 0, cnv.width, cnv.height)
    if (layer.name == "On") {
    addGrain(cnv, 25)
    function frame() {
        // ctx.filter = "blur(5px)";
        ctx.restore()
        ctx.fillStyle = clr.name;
tx.strokeStyle = 'hsl(' + 360 * mathRand() + ',100%,50%)';
        ctx.lineWidth = 100;
        ctx.rect(0, 0, cnv.width, cnv.height)
        ctx.stroke();
    function halo() {
        ctx.restore()
        ctx.translate(c / 2, r / 2)
        ctx.filter = 'blur(' + mode.val + 'px)';
        for (let x = marge; x < cnv.width - marge / 2; x += 50) {
            for (let y = marge; y < cnv.height - marge / 2; y += 50) {
                let clrF = 'hsl(' + 360 * mathRand() + ',100%,50%)';
         ctx.fillStyle = clrF;
                ctx.strokeStyle = clr.name;
                ctx.lineWidth = mathRand() * 5 + 1;
                ctx.beginPath()
                if (mathRand() < 0.25) {
                    ctx.arc(x, y, r * 2, 0, Math.PI)
                else if (mathRand() < 0.5) {
                    ctx.arc(x, y, r * 2, Math.PI, 0)
                else if (mathRand() < 0.75) {
                    for (let i = 2; i < 100; i += 1) {
      if (mathRand() < 0.25) {
                            ctx.arc(x + i, y, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.5) {
                            ctx.arc(x, y + i, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.75) {
                            ctx.arc(x, y - i, r / i, 0, Math.PI * 2)
                        }
                        else {
                            ctx.arc(x - i, y, r / i, 0, M
                        }
                    }
                else {
                ctx.closePath();
                ctx.stroke()
                ctx.fill();
    function show() {
        ctx.restore()
        for (let x = marge; x < cnv.width - marge; x += r) {
            for (let y = marge; y < cnv.height - marge; y += c) {
                ctx.filter = "blur(0px) contrast(1.4) drop-shadow(0px 9px 5px #000) ";
             ctx.fillStyle = clr.name;
                ctx.strokeStyle = 'hsl(' + 360 * mathRand() + ',100%,50%)';
                ctx.lineWidth = mathRand() * 2 + 1;
                ctx.beginPath()
                if (mathRand() < 0.25) {
                    ctx.arc(x, y, r / 2, 0, Math.PI)
                else if (mathRand() < 0.5) {
                    ctx.arc(x, y, r / 2, Math.PI, 0)
                else if (mathRand() < 0.75) {
                    for (let i = 2M
; i < maxT; i += 1) {
                        if (mathRand() < 0.25) {
                            ctx.arc(x + i, y, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.5) {
                            ctx.arc(x, y + i, r / i, 0, Math.PI * 2)
                        }
                        else if (mathRand() < 0.75) {
                            ctx.arc(x, y - i, r / i, 0, Math.PI * 2)
                        }
                        else {
             ctx.arc(x - i, y, r / i, 0, Math.PI * 2)
                        }
                    }
                else {
                ctx.closePath();
                ctx.stroke()
                ctx.fill();
    function addGrain(canvas, graininess) {
        const ctx = canvas.getContext('2d');
        const width = canvas.width;
        const height = canvas.height;
        const pixels = ctx.getImageData(0, 0, width, heighM
        for (let i = 0; i < pixels.data.length; i += 4) {
            const r = pixels.data[i];
            const g = pixels.data[i + 1];
            const b = pixels.data[i + 2];
            const alpha = pixels.data[i + 3];
            const random = mathRand();
            const offset = (random - 0.5) * graininess;
            pixels.data[i] = Math.max(0, Math.min(255, r + offset));
            pixels.data[i + 1] = Math.max(0, Math.min(255, g + offset));
            pixels.data[i + 2] = Math.mM
ax(0, Math.min(255, b + offset));
            pixels.data[i + 3] = alpha;
        ctx.putImageData(pixels, 0, 0);
    function saveCanvasAsPNG(canvas) {
        document.addEventListener('keydown', function (event) {
            if (event.key === 's' || event.key === 'S' || event.key === 'd' || event.key === 'D') {
                const ctx = canvas.getContext('2d');
                const width = canvas.width;
                const height = canvas.height;
                const pixelRaM
tio = (event.key === 'd' || event.key === 'D') ? window.devicePixelRatio * 8 : window.devicePixelRatio;
                const canvasCopy = document.createElement('canvas');
                canvasCopy.width = width * pixelRatio;
                canvasCopy.height = height * pixelRatio;
                const ctxCopy = canvasCopy.getContext('2d');
                ctxCopy.imageSmoothingEnabled = false;
                ctxCopy.drawImage(canvas, 0, 0, width, height, 0, 0, width * pixelRatio, height * pixelRatio);
               const url = canvasCopy.toDataURL('image/png');
                const link = document.createElement('a');
                link.download = 'canvas.png';
                link.href = url;
                link.click();
    saveCanvasAsPNG(cnv);
    /////////////PROGRESS
    async function progress(message) {
        document.body.style.cursor = 'crosshair';
        document.getElementById("progress").innerHTML = message;
        await new Promise((fn => setM
    async function progressClear() {
        document.body.style.cursor = 'default';
        document.getElementById("progress").style.display = 'none';
        await new Promise((fn => setTimeout(fn, 1)));
    async function progressShow() {
        document.body.style.cursor = 'default';
        document.getElementById("progress").style.display = 'block';
        await new Promise((fn => setTimeout(fn, 1)));
text/plain;charset=utf-8
-http://ns.adobe.com/xap/1.0/
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.dabacbb, 2021/04/14-00:39:44        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe PhotoshoM
p 23.0 (Windows)" xmpMM:InstanceID="xmp.iid:A16C8153B23F11ED8145BDCE6BEB1BD0" xmpMM:DocumentID="xmp.did:A16C8154B23F11ED8145BDCE6BEB1BD0"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:A16C8151B23F11ED8145BDCE6BEB1BD0" stRef:documentID="xmp.did:A16C8152B23F11ED8145BDCE6BEB1BD0"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
)A&&AB///BG?>>?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
))4&4?((?G?5?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
text/html;charset=utf-8
    <meta charset="UTF-8" />
    <title>-ORDINALANDS-</title>
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
      crossorigin="anonymous"
      src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"
      crossorigin="anonymous"
        html, body {margin: 0;overflow: hidden;}#blocker {position: absolute;width: 100%;height: 100%;backgroM
und-color: rgba(0, 0, 0, 0.1);z-index: 1000;}.instructions {width: 100%;height: 100%;display: flex;flex-direction: column;justify-content: top;align-items: baseline;text-align: left !important;font-size: 14px;cursor: pointer;padding-top: 15px !important;padding-left: 15px !important;white-space: nowrap !important;}.instr {opacity: 0.4;}.col-6 {padding-left: 0px !important;}body {margin: 0;background-color: #000;color: #fff;font-family: Monospace;font-size: 13px;line-height: 24px;overscroll-behavior: none;}a {color:M
 #ff0;text-decoration: none;}a:hover {text-decoration: underline;}button {cursor: pointer;text-transform: uppercase;}body {margin: 0px;}
    <!-- threejs@r124 -->
    <script  sandbox="allow-scripts" type="text/javascript"src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/three@0.121.1/examples/js/math/ConvexHull.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/three@0.121.1/examples/js/geometries/ConvexGeometry.jsM
    <script id="snippet-random-code" type="text/javascript">
      let seed = window.location.href.split("/").find((t) => t.includes("i0"));
      if (seed == null) {
        const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
          new URLSearchParams(window.location.search).get("seed") ||
            .fill(0)
            .map((_) => alphabet[(Math.random() * alphabet.length) | 0])
            .join("") + "i0";
        let pattern = "seed=";
        for (let i = 0; i < seed.length - pattern.length; ++i) {
          if (seed.substring(i, i + pattern.length) == pattern) {
            seed = seed.substring(i + pattern.length);
      function cyrb128($) {
        let _ = 1779033703,
          u = 3144134277,
          i = 1013904242,
          l = 2773480762;
        for (let n = 0, r; n < $.length; n++)
          (_ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067)),
            (u = i ^ Math.imul(u ^ M
            (i = l ^ Math.imul(i ^ r, 951274213)),
            (l = _ ^ Math.imul(l ^ r, 2716044179));
          (_ = Math.imul(i ^ (_ >>> 18), 597399067)),
          (u = Math.imul(l ^ (u >>> 22), 2869860233)),
          (i = Math.imul(_ ^ (i >>> 17), 951274213)),
          (l = Math.imul(u ^ (l >>> 19), 2716044179)),
          [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
      function sfc32($, _, u, i) {
        return function () {
        (u >>>= 0), (i >>>= 0);
          var l = (($ >>>= 0) + (_ >>>= 0)) | 0;
            ($ = _ ^ (_ >>> 9)),
            (_ = (u + (u << 3)) | 0),
              ((u = (u << 21) | (u >>> 11)) +
                (l = (l + (i = (i + 1) | 0)) | 0)) |
            (l >>> 0) / 4294967296
      let mathRand = sfc32(...cyrb128(seed));
    <script type="text/javascript">
      const random1 = mathRand();
    <div id="blocker"> <div id="loading" style="font-size: 24px" class="instructions instr">Loading...</div><script>var loading=document.getElementById("loading"); console.log('load inner', loading.innerHTML, loading.innerHTML=='Loading...') var loadingInteravl=setInterval(function(){if (loading.innerHTML=='Loading...'){loading.innerHTML='Loading.'}if (loading.innerHTML=='Loading.'){loading.innerHTML='Loading..'}if (loading.innerHTML=='Loading..'){loading.innerHTML='Loading...'}},300) </script> <diM
v id="instructions" class="instructions" style="display: none"> <div class="row text-left mb4"> <div class="col-6 mr-2 instr"> <h5 class="pb-0 mb-0">Start Game:</h5> <h5 class="pb-0 mb-0">Pause:</h5> <h5 class="pb-0 mb-0">Move:</h5> <h5 class="pb-0 mb-0">Jump:</h5> <h5 class="pb-0 mb-0">Look:</h5> <h5 class="pb-0 mb-0">Sprint:</h5> <h5 class="pb-0 mb-0">Place Shape:</h5> <h5 class="pb-0 mb-0">Remove Shape:</h5> </div><div class="col-6 ml-2 instr"> <h5 class="pb-0 mb-0"><b>ENTER</b></h5> <h5 class="pb-0 mb-0"><b>ESCM
</b></h5> <h5 class="pb-0 mb-0"><b>WASD</b></h5> <h5 class="pb-0 mb-0"><b>SPACE</b></h5> <h5 class="pb-0 mb-0"><b>MOUSE</b></h5> <h5 class="pb-0 mb-0"><b>SHIFT</b></h5> <h5 class="pb-0 mb-0"><b>LEFT-CLICK</b></h5> <h5 class="pb-0 mb-0"><b>RIGHT-CLICK</b></h5> </div></div><div> <button class="btn btn-outline-secondary btn-lg mt-3" id="start_game" style="opacity: 1 !important" > PLAY GAME </button> <button class="btn btn-outline-secondary btn-lg mt-3" id="hide" style="opacity: 1 !important" > HIDE THIS </button> </diM
v></div><div class="d-none instr" id="mobile-warning" class="instructions"> <p style="font-size: 24px">Gameplay not supported on mobile</p></div></div><div style=" position: absolute; top: 50vh; left: 50vw; display: none; font-size: 1.2em; font-family: 'Arial'; z-index: 100000; " id="crosshair" > <b>
    <script type="module">
   var water,iframe,intersections,fintersections,wintersections,aintersections,sintersections,dintersections,boxGeometry,floor,finalMesh,finalMaterial,gltfloader,dirLight,hemiLM
ight,canMoveForward,canMoveBackward,canMoveLeft,canMoveRight,time,delta,velocityzcalc,velocityxcalc,velocityycalc,move_obj,onObject,waterColor,image,pos,mesh,loading=document.getElementById("loading"),isMobile=mobileCheck();let rand=mathRand();function windDirection(e){return e>.6}function colorScheme($){return $<.35?0:$>=.35&&$<.6?1:$>=.6&&$<.9?2:$>.9?3:void 0}window.$generativeTraits={windDirection:windDirection(rand),colorScheme:colorScheme(rand)},console.log(window.$generativeTraits);import{Water as e}from"httpM
s://cdn.skypack.dev/three@0.128.0/examples/jsm/objects/Water.js";import{PointerLockControls as o}from"https://cdn.jsdelivr.net/npm/three@0.121.1/examples/jsm/controls/PointerLockControls.js";var waterBasePosition=-175,tideComeingIn=!1,waterSpeed=1;let _p=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83M
,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,1M
81,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180,];for(let i=0;i<256;i++)_p[256+i]=_p[i];function fade(e){return e*e*e*(e*(6*e-15)+10)}function lerp(e,o,t){return o+e*(t-o)}function grad(e,o,t,r){let a=15&e,n=a<8?o:t,s=a<4?t:12==a||14==a?o:r;return((1&a)==0?n:-n)+((2&a)==0?s:-s)}class ImprovedNoise{noise(e,o,t){let r=Math.floor(e),a=Math.floor(o),n=Math.floor(t),s=255&r,c=255&a,d=255&n;e-=r,o-=a,t-=n;let $=e-1,p=o-1,_=t-1,m=fade(e),g=fM
ade(o),w=fade(t),h=_p[s]+c,f=_p[h]+d,b=_p[h+1]+d,y=_p[s+1]+c,v=_p[y]+d,u=_p[y+1]+d;return lerp(w,lerp(g,lerp(m,grad(_p[f],e,o,t),grad(_p[v],$,o,t)),lerp(m,grad(_p[b],e,p,t),grad(_p[u],$,p,t))),lerp(g,lerp(m,grad(_p[f+1],e,o,_),grad(_p[v+1],$,o,_)),lerp(m,grad(_p[b+1],e,p,_),grad(_p[u+1],$,p,_))))}}var gameActive=!1,stickx=0,sticky=0,lookx=0,looky=0;let moveForward=!1,moveBackward=!1,moveLeft=!1,moveRight=!1,canJump=!1,moveUp=!1,moveDown=!1;var frame_count=1,objects=[],lerpActions={},lerpColor=new THREE.Color,lerpCoM
lors=[],initialColor=new THREE.Color,gravity=!0;let prevTime=performance.now(),velocity=new THREE.Vector3,direction=new THREE.Vector3,vertex=new THREE.Vector3,color=new THREE.Color;var _PI_2=Math.PI/2;onObject=!0;var raycaster=new THREE.Raycaster(new THREE.Vector3,new THREE.Vector3(0,-1,0),0,10),fraycaster=new THREE.Raycaster,movementSpeed=400,renderDistance=400,doFloorUpdate=!1;let container=document.createElement("div");container.innerHTML="<span>seed: "+seed+"</span><br>",console.log("seed",seed);var camera=new M
THREE.PerspectiveCamera(95,window.innerWidth/window.innerHeight,1,3500);camera.position.y=400,camera.lookAt(0,-1,0);var scene=new THREE.Scene;scene.background=new THREE.Color(0);let light=new THREE.HemisphereLight(15658751,7829384,.95);light.position.set(.5,100,.75),scene.add(light),0==window.$generativeTraits.colorScheme&&(light.color.r=1.2,light.color.g=.5,light.color.b=.5,waterColor=new THREE.Color(0,.25,0)),1==window.$generativeTraits.colorScheme&&(light.color.g=1.3,light.color.r=.3,light.color.b=.3,waterColor=M
new THREE.Color(.56,0,0)),2==window.$generativeTraits.colorScheme?(light.color.b=1.5,light.color.g=.6,light.color.r=.5,waterColor=new THREE.Color(.4,0,.6)):3==window.$generativeTraits.colorScheme&&(light.color.r=1.53,light.color.g=1.5,light.color.b=.21,waterColor=new THREE.Color(.99,.88,.21)),window.light=light;var controls=new o(camera,document.body),renderer=new THREE.WebGLRenderer({antialias:!1,powerPreference:"high-performance"});renderer.setPixelRatio(window.devicePixelRatio),renderer.setSize(window.innerWidthM
,window.innerHeight),document.body.appendChild(renderer.domElement),window.addEventListener("resize",onWindowResize);let cubeLoader=new THREE.CubeTextureLoader,skyboxTexture=cubeLoader.load(["https://i.ibb.co/bB1qgcy/1.png","https://i.ibb.co/hdnS4PX/2.png","https://i.ibb.co/M5pMx2J/3.png","https://i.ibb.co/vHhVdj9/4.png","https://i.ibb.co/894wyRV/5.png","https://i.ibb.co/Trcj0tx/6.png",]);var loadedCount=0;let ft=new THREE.TextureLoader().load("https://i.ibb.co/Jmc3Yc0/space-ft.png",onLoadCallback),bk=new THREE.TexM
tureLoader().load("https://i.ibb.co/KXyM8Dp/space-bk.png",onLoadCallback),up=new THREE.TextureLoader().load("https://i.ibb.co/rp4W3fR/space-up.png",onLoadCallback),dn=new THREE.TextureLoader().load("https://i.ibb.co/Q7B2fTC/space-dn.png",onLoadCallback),rt=new THREE.TextureLoader().load("https://i.ibb.co/NVyD5jy/space-rt.png",onLoadCallback),lf=new THREE.TextureLoader().load("https://i.ibb.co/xsx5rYK/space-lf.png",onLoadCallback);var materialArray=[];materialArray.push(new THREE.MeshBasicMaterial({map:ft,side:THREEM
.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:bk,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:up,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:dn,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:rt,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:lf,side:THREE.BackSide,fog:!1}));var skyboxGeo=new THREE.BoxGeometry(3e3,3e3,3e3),skybox=new THREE.Mesh(skybM
oxGeo,materialArray);function onLoadCallback(){6==++loadedCount&&scene.add(skybox)}function onWindowResize(){camera.aspect=window.innerWidth/window.innerHeight,camera.updateProjectionMatrix(),renderer.setSize(window.innerWidth,window.innerHeight)}function perlinRandom(){let e=100*Math.sin(mathRand());return e-Math.floor(e)}var worldWidth=512,worldDepth=512,height_map={};function generateHeight(e,o){let t=e*o,r=new Uint8Array(t),a=new ImprovedNoise,n=5*perlinRandom(),s=35;for(let c=0;c<2;c++){for(let d=0;d<t;d++){leM
t $=d%e,p=~~(d/e);r[d]+=Math.abs(a.noise($/s,p/s,n)*s*1.85),height_map[[$,p]]=r[d]}s*=4}return r}controls.getObject().position.x=worldWidth/2,controls.getObject().position.z=worldDepth/2;let floorGeometry=new THREE.PlaneBufferGeometry(worldWidth,worldDepth,worldWidth-1,worldDepth-1);floorGeometry.rotateX(-Math.PI/2);let data=generateHeight(worldWidth,worldDepth),vertices=floorGeometry.attributes.position.array;window.vertices=vertices;for(let i=0,j=0,l=vertices.length;i<l;i++,j+=3)vertices[j+1]=1*data[i]-200;var teM
mpColor=new THREE.Color(16377338),texture=new THREE.CanvasTexture(generateTexture(data,worldWidth,worldDepth));function generateTexture(e,o,t){let r,a,n,s=new THREE.Vector3(0,0,0),c=new THREE.Vector3(1,25*mathRand(),5);c.normalize();let d=document.createElement("canvas");d.width=o,d.height=t,window.canvas=d,(r=d.getContext("2d")).fillStyle="#010011",r.fillRect(0,0,o,t),a=(image=r.getImageData(0,0,d.width,d.height)).data;var $=64+64*mathRand(),p=86+86*mathRand(),_=22+22*mathRand(),m=.33+.33*mathRand(),g=.004+.004*maM
thRand();for(let w=0,h=0,f=a.length;w<f;w+=4,h++)s.x=e[h-2]-e[h+2],s.y=2,s.z=e[h-2*o]-e[h+2*o],s.normalize(),n=s.dot(c),a[w]=($+n*p)*(m+e[h]*g),a[w+1]=(_+n*$)*(m+e[h]*g),a[w+2]=n*$*(m+e[h]*g);r.putImageData(image,0,0);let b=document.createElement("canvas");b.width=4*o,b.height=4*t,(r=b.getContext("2d")).scale(4,4),r.drawImage(d,0,0),a=(image=r.getImageData(0,0,b.width,b.height)).data;for(let y=0,v=a.length;y<v;y+=4){let u=~~(mathRand()*(3+2*mathRand()));a[y]+=u,a[y+1]+=u,a[y+2]+=u}return r.putImageData(image,0,0),bM
}texture.wrapS=THREE.ClampToEdgeWrapping,texture.wrapT=THREE.ClampToEdgeWrapping;let floorMaterial=new THREE.MeshLambertMaterial({map:texture});floorMaterial.color=tempColor;var floor=new THREE.Mesh(floorGeometry,floorMaterial);2==window.$generativeTraits.colorScheme&&(floor.material.color.r=0),window.floor=floor,scene.add(floor),objects.push(floor);var gridColor=new THREE.Color(2302755);let grid=new THREE.GridHelper(worldWidth,25,gridColor);grid.rotateX(-Math.PI/2),grid.position.x=worldWidth/2,grid.position.y=-worM
ldWidth/4,grid.material.opacity=.001,scene.add(grid),window.grid=grid;let grid2=new THREE.GridHelper(worldWidth,25,gridColor);grid2.rotateX(-Math.PI/2),grid2.position.x=worldWidth/2,grid2.position.y=-worldWidth/4,grid2.position.z=worldDepth,grid2.material.opacity=.1,scene.add(grid2);let grid3=new THREE.GridHelper(worldDepth,25,gridColor);grid3.rotateZ(-Math.PI/2),grid3.position.y=-worldWidth/4,grid3.position.z=worldDepth/2,grid3.material.opacity=.1,scene.add(grid3);let grid4=new THREE.GridHelper(worldDepth,25,gridCM
olor);grid4.rotateZ(-Math.PI/2),grid4.position.x=worldWidth,grid4.position.y=-worldWidth/4,grid4.position.z=worldDepth/2,grid4.material.opacity=.1,scene.add(grid4);let grid5=new THREE.GridHelper(worldDepth,25);grid5.position.x=worldWidth/2,grid5.position.y=worldWidth/4,grid5.position.z=worldDepth/2,grid5.material.opacity=.1,floor.position.set(worldWidth/2,0,worldDepth/2),boxGeometry=new THREE.BoxGeometry(10,10,10);var posnegWind=mathRand()>.5?-1:1,windDirectionVal=window.$generativeTraits.windDirection?new THREE.VeM
ctor3(posnegWind*mathRand()*.1,0,0):new THREE.Vector3(0,0,posnegWind*mathRand()*.1),boxMaterial=new THREE.MeshLambertMaterial({side:THREE.FrontSide}),instanceBoxMaterial=new THREE.MeshLambertMaterial({side:THREE.FrontSide});camera.updateMatrix();var firstUnlock=!0;function unlock(){firstUnlock&&(firstUnlock=!1),camera.updateProjectionMatrix()}function animate(){requestAnimationFrame(animate),renderer.render(scene,camera),time=performance.now(),water&&(water.position.y<=waterBasePosition-10&&(tideComeingIn=!0),waterM
.position.y>=waterBasePosition+10&&(tideComeingIn=!1),tideComeingIn?water.position.lerp(new THREE.Vector3(water.position.x,water.position.y+waterSpeed,water.position.x),.05):water.position.lerp(new THREE.Vector3(water.position.x,water.position.y-waterSpeed,water.position.x),.05));var e=new THREE.Vector2;if(!0===controls.isLocked||gameActive){doFloorUpdate&&(floor.geometry.attributes.position.needsUpdate=!0,floor.updateMatrix(),floorGeometry.attributes.position.needsUpdate=!0,floorGeometry.computeVertexNormals(),doFM
loorUpdate=!1),frame_count+=1,camera.updateMatrix(),delta=(time-prevTime)/1e3,velocity.x-=10*velocity.x*delta,velocity.z-=10*velocity.z*delta,velocity.z-=10*velocity.z*delta,direction.z=Number(moveForward)-Number(moveBackward),direction.x=Number(moveRight)-Number(moveLeft),direction.y=Number(moveUp)-Number(moveDown),direction.normalize(),(moveForward||moveBackward)&&(velocityzcalc=direction.z*movementSpeed*delta,velocity.z-=velocityzcalc),(moveLeft||moveRight)&&(velocityxcalc=direction.x*movementSpeed*delta,velocitM
y.x-=velocityxcalc),controls.moveRight(-velocity.x*delta),controls.moveForward(-velocity.z*delta),controls.getObject().position.y+=velocity.y*delta;var o=Math.round(controls.getObject().position.x),t=Math.round(controls.getObject().position.z),r=height_map[[o,t]]-175;fraycaster.setFromCamera(e,camera),raycaster.ray.origin.copy(controls.getObject().position),raycaster.ray.origin.y-=7,intersections=raycaster.intersectObjects(objects,!1),onObject=!1,controls.getObject().position.y<r+25&&(velocity.y=0,controls.getObjecM
t().position.y=r+25,onObject=!0),intersections&&intersections.length>0&&intersections.every(function(e){if(e.object.uuid!=floor.uuid)return onObject=!0,!1}),!0===onObject&&(velocity.y=Math.max(0,velocity.y),canJump=!0),r&&r>=controls.getObject().position.y&&camera.position.lerp(new THREE.Vector3(controls.getObject().position.x,r,controls.getObject().position.z),.1),onObject||(velocity.y-=180*delta),o>worldWidth-5&&(controls.getObject().position.x=worldWidth-5),t>worldDepth-5&&(controls.getObject().position.z=worldDM
epth-5),o<5&&(controls.getObject().position.x=5),t<5&&(controls.getObject().position.z=5)}if(prevTime=time,renderer.render(scene,camera),camera.updateMatrixWorld(),lerpColors&&lerpColors&&lerpColors.length>=objects.length)for(var a=0;a<objects.length;a++)objects[a].uuid!=floor.uuid&&objects[a].material.color.lerp(lerpColors[a],.01);if(objects){for(var a=0;a<objects.length;a++)if(objects[a].uuid!=floor.uuid){var n=new THREE.Vector3().addVectors(windDirectionVal,new THREE.Vector3(-.05+.1*mathRand(),0,-.05+.1*mathRandM
()));objects[a].position.lerp(objects[a].position.add(n),.1),objects[a].position.x>worldWidth&&(objects[a].position.x=0),objects[a].position.x<0&&(objects[a].position.x=worldWidth),objects[a].position.z>worldDepth&&(objects[a].position.z=0),objects[a].position.z<0&&(objects[a].position.z=worldDepth);var o=Math.round(objects[a].position.x),t=Math.round(objects[a].position.z),r=height_map[[o,t]]-175;r&&objects[a].position<r&&objects[a].position.lerp(new THREE.Vector3(objects[a].position.x,r+objects[a].userData.heightM
Diff,objects[a].position.z),.1)}}floor.visible=!0}function startGame(){if(!isMobile){if(iframe=document.getElementsByTagName("iframe"),console.log("What iframes were foudn?",iframe),iframe&&iframe.length>0){var e=(iframe=iframe[0])[0];console.log("do we got an iframe?",e),console.log("Foudn the iframe"),e.sandbox="allow-scripts allow-same-origin allow-pointer-lock"}try{controls.lock(),gameActive=!0,unlock()}catch{instructions.style.display="none",camera.position.y=250}}}animate(),document.getElementById("start_gameM
").addEventListener("click",function(){startGame()});let blocker=document.getElementById("blocker"),instructions=document.getElementById("instructions");controls.addEventListener("lock",function(){unlock(),camera.updateProjectionMatrix(),instructions.style.display="none",blocker.style.display="none",document.getElementById("crosshair").style.display="block",document.getElementById("crosshair").style.zIndex=1e5,gameActive=!0}),controls.addEventListener("unlock",function(){blocker.style.display="block",instructions.sM
tyle.display="",document.getElementById("crosshair").style.display="none",gameActive=!1}),scene.add(controls.getObject());let onKeyDown=function(e){switch(e.code){case"ArrowUp":case"KeyW":moveForward=!0;break;case"ArrowLeft":case"KeyA":moveLeft=!0;break;case"ArrowDown":case"KeyS":moveBackward=!0;break;case"ArrowRight":case"KeyD":moveRight=!0;break;case"KeyG":gravity=!gravity;break;case"Space":!0===canJump&&(velocity.y+=125),canJump=!1;break;case"Enter":controls.isLocked||(controls.lock(),gameActive=!0);case"ShiftLeM
ft":case"Control":movementSpeed=1500;break;case"KeyC":copyColor()}},onKeyUp=function(e){switch(e.code){case"ArrowUp":case"KeyW":moveForward=!1;break;case"ArrowLeft":case"KeyA":moveLeft=!1;break;case"ArrowDown":case"KeyS":moveBackward=!1;break;case"ArrowRight":case"KeyD":moveRight=!1;break;case"ShiftLeft":movementSpeed=400}};document.addEventListener("keydown",onKeyDown),document.addEventListener("keyup",onKeyUp);for(let i=0;i<0;i++){let t=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0,vertexColors:!0M
});t.color.HSL(.2*mathRand()+.5,.75,.25*mathRand()+.75);let r=new THREE.Mesh(boxGeometry,t);r.position.x=20*Math.floor(20*mathRand()-10),r.position.y=20*Math.floor(20*mathRand())+10,r.position.z=20*Math.floor(20*mathRand()-10),scene.add(r)}var points=[],material=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});for(let j=0;j<25;j++){var a=Math.floor(4+6*mathRand()),n=mathRand()*(100*mathRand());for(let s=0;s<a;s++)points.push(new THREE.Vector3(50+mathRand()*n,-50+mathRand()*n,mathRand()*n));var c,d,$=M
height_map[[Math.round((pos=[worldWidth*mathRand(),0,worldDepth*mathRand()])[0]),Math.round(pos[2])]]-175,p=$+200*mathRand();pos[1]=p;var _=p-$,m=new THREE.ConvexGeometry(points);let g=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});g.color.setHSL(.2*mathRand()+.5,.75,.25*mathRand()+.75),(mesh=new THREE.Mesh(m,g)).position.x=pos[0],mesh.position.y=pos[1],mesh.position.z=pos[2],mesh.userData.heightDiff=_,scene.add(mesh),objects.push(mesh),finalMesh=mesh,finalMaterial=g}var interval=setInterval(functiM
on(){for(var e=0;e<objects.length;e++){var o=new THREE.Color;o.setHex(16777215*mathRand()),lerpColors.length<objects.length?lerpColors.push(o):lerpColors[e]=o}},2e3);let waterGeometry=new THREE.PlaneGeometry(worldWidth,worldDepth);function triggerDeleteTerrain(){if((fintersections=fraycaster.intersectObjects(objects,!1))&&fintersections.length>0){for(var e of fintersections)if(e.object.uuid!=water.uuid&&e.object.uuid!=floor.uuid){o=e;break}if(o){var o,t=o.object;scene.remove(t),t.geometry.dispose(),t.material.dispoM
se()}}}function triggerMoveTerrain(){if((fintersections=fraycaster.intersectObjects(objects,!1))&&fintersections.length>0){for(var e of fintersections)if(e.object.uuid!=water.uuid){o=e;break}if(o){floor.geometry.attributes.position.array,floor.geometry.attributes.position,o.point.x,o.point.z,new THREE.Vector2,new THREE.Vector3;var o,t,r,a,n=[],s=Math.floor(4+6*mathRand()),c=mathRand()*(200*mathRand());for(let d=0;d<s;d++)n.push(new THREE.Vector3(mathRand()*c,mathRand()*c,mathRand()*c));height_map[[Math.round((t=[o.M
point.x,o.point.y,o.point.z])[0]),Math.round(t[2])]];var $=new THREE.ConvexGeometry(n);let p=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});p.color.setHSL(.2*mathRand()+.5,.75,.25*mathRand()+.75),r=new THREE.Mesh($,p);var _=new THREE.Box3().setFromObject(r).getSize();r.position.x=t[0]-_.x,r.position.y=t[1]+_.y+1,r.position.z=t[2]-_.z,scene.add(r),objects.push(r)}}}function mobileCheck(){var e;let o=!1;return e=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantM
go|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bM
umb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w]M
)|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|M
sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(o=!0),console.log("ismobile? "+o),o}water=new e(waterGeometry,{textureWidth:512,textureHeight:512,waterNormals:new THREE.TextureLoadM
er().load("https://raw.githubusercontent.com/IanUme/ThreejsTest/master/textures/waternormals.jpg",function(e){e.wrapS=e.wrapT=THREE.RepeatWrapping,scene.add(water),loadingDone()}),sunDirection:new THREE.Vector3,sunColor:waterColor,waterColor:waterColor,distortionScale:3.7,fog:void 0!==scene.fog}),window.water=water,water.position.y=waterBasePosition,water.position.x=worldWidth/2,water.position.z=worldDepth/2,water.rotation.x=-Math.PI/2,document.addEventListener("click",function(e){(!0===controls.isLocked||gameActivM
e)&&(0==e.button?triggerMoveTerrain():triggerDeleteTerrain())});var mobileWarning=document.getElementById("mobile-warning");function loadingDone(){instructions.style.display="",loading.style.display="none"}document,isMobile&&(instructions.classList.add("d-none"),mobileWarning.classList.remove("d-none")),document.getElementById("hide").onclick=function(){instructions.style.display="none"},setTimeout(function(){console.log("hide the display after 10 seconds of inactivity. "),instructions.style.display="none"},1e4),wiMU
ndow.onload=function(){if(iframe=document.getElementsByTagName("iframe"),console.log("What iframes were foudn?",iframe),iframe&&iframe.length>0){var e=(iframe=iframe[0])[0];console.log("do we got an iframe?",e),console.log("Foudn the iframe"),e.sandbox="allow-scripts allow-same-origin allow-pointer-lock"}};
iTXtXML:com.adobe.xmp
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 6.0.0">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
         <tiff:YResolution>132</tiff:YResolution>
         <tiff:XResolution>132</tiff:XResolution>
         <tiff:PhotometricInterpretation>2</tiff:PhotometricInterpretation>
         <tiff:ResolutionUnitM
>2</tiff:ResolutionUnit>
      </rdf:Description>
text/plain;charset=utf-8
/{"p":"sns","op":"reg","name":"Azukiworld.sats"}h!
text/plain;charset=utf-8
  "name": "@012.sats"
text/plain;charset=utf-8
  "name": "@188.sats"
text/plain;charset=utf-8
  "name": "biocki.sats"
text/html;charset=utf-8
    <meta charset="UTF-8" />
    <title>-ORDINALANDS-</title>
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
      crossorigin="anonymous"
      src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"
      crossorigin="anonymous"
        html, body {margin: 0;overflow: hidden;}#blocker {position: absolute;width: 100%;height: 100%;backgroM
und-color: rgba(0, 0, 0, 0.1);z-index: 1000;}.instructions {width: 100%;height: 100%;display: flex;flex-direction: column;justify-content: top;align-items: baseline;text-align: left !important;font-size: 14px;cursor: pointer;padding-top: 15px !important;padding-left: 15px !important;white-space: nowrap !important;}.instr {opacity: 0.4;}.col-6 {padding-left: 0px !important;}body {margin: 0;background-color: #000;color: #fff;font-family: Monospace;font-size: 13px;line-height: 24px;overscroll-behavior: none;}a {color:M
 #ff0;text-decoration: none;}a:hover {text-decoration: underline;}button {cursor: pointer;text-transform: uppercase;}body {margin: 0px;}
    <!-- threejs@r124 -->
    <script  sandbox="allow-scripts" type="text/javascript"src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/three@0.121.1/examples/js/math/ConvexHull.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/three@0.121.1/examples/js/geometries/ConvexGeometry.jsM
    <script id="snippet-random-code" type="text/javascript">
      let seed = window.location.href.split("/").find((t) => t.includes("i0"));
      if (seed == null) {
        const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
          new URLSearchParams(window.location.search).get("seed") ||
            .fill(0)
            .map((_) => alphabet[(Math.random() * alphabet.length) | 0])
            .join("") + "i0";
        let pattern = "seed=";
        for (let i = 0; i < seed.length - pattern.length; ++i) {
          if (seed.substring(i, i + pattern.length) == pattern) {
            seed = seed.substring(i + pattern.length);
      function cyrb128($) {
        let _ = 1779033703,
          u = 3144134277,
          i = 1013904242,
          l = 2773480762;
        for (let n = 0, r; n < $.length; n++)
          (_ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067)),
            (u = i ^ Math.imul(u ^ M
            (i = l ^ Math.imul(i ^ r, 951274213)),
            (l = _ ^ Math.imul(l ^ r, 2716044179));
          (_ = Math.imul(i ^ (_ >>> 18), 597399067)),
          (u = Math.imul(l ^ (u >>> 22), 2869860233)),
          (i = Math.imul(_ ^ (i >>> 17), 951274213)),
          (l = Math.imul(u ^ (l >>> 19), 2716044179)),
          [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
      function sfc32($, _, u, i) {
        return function () {
        (u >>>= 0), (i >>>= 0);
          var l = (($ >>>= 0) + (_ >>>= 0)) | 0;
            ($ = _ ^ (_ >>> 9)),
            (_ = (u + (u << 3)) | 0),
              ((u = (u << 21) | (u >>> 11)) +
                (l = (l + (i = (i + 1) | 0)) | 0)) |
            (l >>> 0) / 4294967296
      let mathRand = sfc32(...cyrb128(seed));
    <script type="text/javascript">
      const random1 = mathRand();
    <div id="blocker"> <div id="loading" style="font-size: 24px" class="instructions instr">Loading...</div><script>var loading=document.getElementById("loading"); console.log('load inner', loading.innerHTML, loading.innerHTML=='Loading...') var loadingInteravl=setInterval(function(){if (loading.innerHTML=='Loading...'){loading.innerHTML='Loading.'}if (loading.innerHTML=='Loading.'){loading.innerHTML='Loading..'}if (loading.innerHTML=='Loading..'){loading.innerHTML='Loading...'}},300) </script> <diM
v id="instructions" class="instructions" style="display: none"> <div class="row text-left mb4"> <div class="col-6 mr-2 instr"> <h5 class="pb-0 mb-0">Start Game:</h5> <h5 class="pb-0 mb-0">Pause:</h5> <h5 class="pb-0 mb-0">Move:</h5> <h5 class="pb-0 mb-0">Jump:</h5> <h5 class="pb-0 mb-0">Look:</h5> <h5 class="pb-0 mb-0">Sprint:</h5> <h5 class="pb-0 mb-0">Place Shape:</h5> <h5 class="pb-0 mb-0">Remove Shape:</h5> </div><div class="col-6 ml-2 instr"> <h5 class="pb-0 mb-0"><b>ENTER</b></h5> <h5 class="pb-0 mb-0"><b>ESCM
</b></h5> <h5 class="pb-0 mb-0"><b>WASD</b></h5> <h5 class="pb-0 mb-0"><b>SPACE</b></h5> <h5 class="pb-0 mb-0"><b>MOUSE</b></h5> <h5 class="pb-0 mb-0"><b>SHIFT</b></h5> <h5 class="pb-0 mb-0"><b>LEFT-CLICK</b></h5> <h5 class="pb-0 mb-0"><b>RIGHT-CLICK</b></h5> </div></div><div> <button class="btn btn-outline-secondary btn-lg mt-3" id="start_game" style="opacity: 1 !important" > PLAY GAME </button> <button class="btn btn-outline-secondary btn-lg mt-3" id="hide" style="opacity: 1 !important" > HIDE THIS </button> </diM
v></div><div class="d-none instr" id="mobile-warning" class="instructions"> <p style="font-size: 24px">Gameplay not supported on mobile</p></div></div><div style=" position: absolute; top: 50vh; left: 50vw; display: none; font-size: 1.2em; font-family: 'Arial'; z-index: 100000; " id="crosshair" > <b>
    <script type="module">
   var water,iframe,intersections,fintersections,wintersections,aintersections,sintersections,dintersections,boxGeometry,floor,finalMesh,finalMaterial,gltfloader,dirLight,hemiLM
ight,canMoveForward,canMoveBackward,canMoveLeft,canMoveRight,time,delta,velocityzcalc,velocityxcalc,velocityycalc,move_obj,onObject,waterColor,image,pos,mesh,loading=document.getElementById("loading"),isMobile=mobileCheck();let rand=mathRand();function windDirection(e){return e>.6}function colorScheme($){return $<.35?0:$>=.35&&$<.6?1:$>=.6&&$<.9?2:$>.9?3:void 0}window.$generativeTraits={windDirection:windDirection(rand),colorScheme:colorScheme(rand)},console.log(window.$generativeTraits);import{Water as e}from"httpM
s://cdn.skypack.dev/three@0.128.0/examples/jsm/objects/Water.js";import{PointerLockControls as o}from"https://cdn.jsdelivr.net/npm/three@0.121.1/examples/jsm/controls/PointerLockControls.js";var waterBasePosition=-175,tideComeingIn=!1,waterSpeed=1;let _p=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83M
,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,1M
81,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180,];for(let i=0;i<256;i++)_p[256+i]=_p[i];function fade(e){return e*e*e*(e*(6*e-15)+10)}function lerp(e,o,t){return o+e*(t-o)}function grad(e,o,t,r){let a=15&e,n=a<8?o:t,s=a<4?t:12==a||14==a?o:r;return((1&a)==0?n:-n)+((2&a)==0?s:-s)}class ImprovedNoise{noise(e,o,t){let r=Math.floor(e),a=Math.floor(o),n=Math.floor(t),s=255&r,c=255&a,d=255&n;e-=r,o-=a,t-=n;let $=e-1,p=o-1,_=t-1,m=fade(e),g=fM
ade(o),w=fade(t),h=_p[s]+c,f=_p[h]+d,b=_p[h+1]+d,y=_p[s+1]+c,v=_p[y]+d,u=_p[y+1]+d;return lerp(w,lerp(g,lerp(m,grad(_p[f],e,o,t),grad(_p[v],$,o,t)),lerp(m,grad(_p[b],e,p,t),grad(_p[u],$,p,t))),lerp(g,lerp(m,grad(_p[f+1],e,o,_),grad(_p[v+1],$,o,_)),lerp(m,grad(_p[b+1],e,p,_),grad(_p[u+1],$,p,_))))}}var gameActive=!1,stickx=0,sticky=0,lookx=0,looky=0;let moveForward=!1,moveBackward=!1,moveLeft=!1,moveRight=!1,canJump=!1,moveUp=!1,moveDown=!1;var frame_count=1,objects=[],lerpActions={},lerpColor=new THREE.Color,lerpCoM
lors=[],initialColor=new THREE.Color,gravity=!0;let prevTime=performance.now(),velocity=new THREE.Vector3,direction=new THREE.Vector3,vertex=new THREE.Vector3,color=new THREE.Color;var _PI_2=Math.PI/2;onObject=!0;var raycaster=new THREE.Raycaster(new THREE.Vector3,new THREE.Vector3(0,-1,0),0,10),fraycaster=new THREE.Raycaster,movementSpeed=400,renderDistance=400,doFloorUpdate=!1;let container=document.createElement("div");container.innerHTML="<span>seed: "+seed+"</span><br>",console.log("seed",seed);var camera=new M
THREE.PerspectiveCamera(95,window.innerWidth/window.innerHeight,1,3500);camera.position.y=400,camera.lookAt(0,-1,0);var scene=new THREE.Scene;scene.background=new THREE.Color(0);let light=new THREE.HemisphereLight(15658751,7829384,.95);light.position.set(.5,100,.75),scene.add(light),0==window.$generativeTraits.colorScheme&&(light.color.r=1.2,light.color.g=.5,light.color.b=.5,waterColor=new THREE.Color(0,.25,0)),1==window.$generativeTraits.colorScheme&&(light.color.g=1.3,light.color.r=.3,light.color.b=.3,waterColor=M
new THREE.Color(.56,0,0)),2==window.$generativeTraits.colorScheme?(light.color.b=1.5,light.color.g=.6,light.color.r=.5,waterColor=new THREE.Color(.4,0,.6)):3==window.$generativeTraits.colorScheme&&(light.color.r=1.53,light.color.g=1.5,light.color.b=.21,waterColor=new THREE.Color(.99,.88,.21)),window.light=light;var controls=new o(camera,document.body),renderer=new THREE.WebGLRenderer({antialias:!1,powerPreference:"high-performance"});renderer.setPixelRatio(window.devicePixelRatio),renderer.setSize(window.innerWidthM
,window.innerHeight),document.body.appendChild(renderer.domElement),window.addEventListener("resize",onWindowResize);let cubeLoader=new THREE.CubeTextureLoader,skyboxTexture=cubeLoader.load(["https://i.ibb.co/bB1qgcy/1.png","https://i.ibb.co/hdnS4PX/2.png","https://i.ibb.co/M5pMx2J/3.png","https://i.ibb.co/vHhVdj9/4.png","https://i.ibb.co/894wyRV/5.png","https://i.ibb.co/Trcj0tx/6.png",]);var loadedCount=0;let ft=new THREE.TextureLoader().load("https://i.ibb.co/Jmc3Yc0/space-ft.png",onLoadCallback),bk=new THREE.TexM
tureLoader().load("https://i.ibb.co/KXyM8Dp/space-bk.png",onLoadCallback),up=new THREE.TextureLoader().load("https://i.ibb.co/rp4W3fR/space-up.png",onLoadCallback),dn=new THREE.TextureLoader().load("https://i.ibb.co/Q7B2fTC/space-dn.png",onLoadCallback),rt=new THREE.TextureLoader().load("https://i.ibb.co/NVyD5jy/space-rt.png",onLoadCallback),lf=new THREE.TextureLoader().load("https://i.ibb.co/xsx5rYK/space-lf.png",onLoadCallback);var materialArray=[];materialArray.push(new THREE.MeshBasicMaterial({map:ft,side:THREEM
.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:bk,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:up,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:dn,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:rt,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:lf,side:THREE.BackSide,fog:!1}));var skyboxGeo=new THREE.BoxGeometry(3e3,3e3,3e3),skybox=new THREE.Mesh(skybM
oxGeo,materialArray);function onLoadCallback(){6==++loadedCount&&scene.add(skybox)}function onWindowResize(){camera.aspect=window.innerWidth/window.innerHeight,camera.updateProjectionMatrix(),renderer.setSize(window.innerWidth,window.innerHeight)}function perlinRandom(){let e=100*Math.sin(mathRand());return e-Math.floor(e)}var worldWidth=512,worldDepth=512,height_map={};function generateHeight(e,o){let t=e*o,r=new Uint8Array(t),a=new ImprovedNoise,n=5*perlinRandom(),s=35;for(let c=0;c<2;c++){for(let d=0;d<t;d++){leM
t $=d%e,p=~~(d/e);r[d]+=Math.abs(a.noise($/s,p/s,n)*s*1.85),height_map[[$,p]]=r[d]}s*=4}return r}controls.getObject().position.x=worldWidth/2,controls.getObject().position.z=worldDepth/2;let floorGeometry=new THREE.PlaneBufferGeometry(worldWidth,worldDepth,worldWidth-1,worldDepth-1);floorGeometry.rotateX(-Math.PI/2);let data=generateHeight(worldWidth,worldDepth),vertices=floorGeometry.attributes.position.array;window.vertices=vertices;for(let i=0,j=0,l=vertices.length;i<l;i++,j+=3)vertices[j+1]=1*data[i]-200;var teM
mpColor=new THREE.Color(16377338),texture=new THREE.CanvasTexture(generateTexture(data,worldWidth,worldDepth));function generateTexture(e,o,t){let r,a,n,s=new THREE.Vector3(0,0,0),c=new THREE.Vector3(1,25*mathRand(),5);c.normalize();let d=document.createElement("canvas");d.width=o,d.height=t,window.canvas=d,(r=d.getContext("2d")).fillStyle="#010011",r.fillRect(0,0,o,t),a=(image=r.getImageData(0,0,d.width,d.height)).data;var $=64+64*mathRand(),p=86+86*mathRand(),_=22+22*mathRand(),m=.33+.33*mathRand(),g=.004+.004*maM
thRand();for(let w=0,h=0,f=a.length;w<f;w+=4,h++)s.x=e[h-2]-e[h+2],s.y=2,s.z=e[h-2*o]-e[h+2*o],s.normalize(),n=s.dot(c),a[w]=($+n*p)*(m+e[h]*g),a[w+1]=(_+n*$)*(m+e[h]*g),a[w+2]=n*$*(m+e[h]*g);r.putImageData(image,0,0);let b=document.createElement("canvas");b.width=4*o,b.height=4*t,(r=b.getContext("2d")).scale(4,4),r.drawImage(d,0,0),a=(image=r.getImageData(0,0,b.width,b.height)).data;for(let y=0,v=a.length;y<v;y+=4){let u=~~(mathRand()*(3+2*mathRand()));a[y]+=u,a[y+1]+=u,a[y+2]+=u}return r.putImageData(image,0,0),bM
}texture.wrapS=THREE.ClampToEdgeWrapping,texture.wrapT=THREE.ClampToEdgeWrapping;let floorMaterial=new THREE.MeshLambertMaterial({map:texture});floorMaterial.color=tempColor;var floor=new THREE.Mesh(floorGeometry,floorMaterial);2==window.$generativeTraits.colorScheme&&(floor.material.color.r=0),window.floor=floor,scene.add(floor),objects.push(floor);var gridColor=new THREE.Color(2302755);let grid=new THREE.GridHelper(worldWidth,25,gridColor);grid.rotateX(-Math.PI/2),grid.position.x=worldWidth/2,grid.position.y=-worM
ldWidth/4,grid.material.opacity=.001,scene.add(grid),window.grid=grid;let grid2=new THREE.GridHelper(worldWidth,25,gridColor);grid2.rotateX(-Math.PI/2),grid2.position.x=worldWidth/2,grid2.position.y=-worldWidth/4,grid2.position.z=worldDepth,grid2.material.opacity=.1,scene.add(grid2);let grid3=new THREE.GridHelper(worldDepth,25,gridColor);grid3.rotateZ(-Math.PI/2),grid3.position.y=-worldWidth/4,grid3.position.z=worldDepth/2,grid3.material.opacity=.1,scene.add(grid3);let grid4=new THREE.GridHelper(worldDepth,25,gridCM
olor);grid4.rotateZ(-Math.PI/2),grid4.position.x=worldWidth,grid4.position.y=-worldWidth/4,grid4.position.z=worldDepth/2,grid4.material.opacity=.1,scene.add(grid4);let grid5=new THREE.GridHelper(worldDepth,25);grid5.position.x=worldWidth/2,grid5.position.y=worldWidth/4,grid5.position.z=worldDepth/2,grid5.material.opacity=.1,floor.position.set(worldWidth/2,0,worldDepth/2),boxGeometry=new THREE.BoxGeometry(10,10,10);var posnegWind=mathRand()>.5?-1:1,windDirectionVal=window.$generativeTraits.windDirection?new THREE.VeM
ctor3(posnegWind*mathRand()*.1,0,0):new THREE.Vector3(0,0,posnegWind*mathRand()*.1),boxMaterial=new THREE.MeshLambertMaterial({side:THREE.FrontSide}),instanceBoxMaterial=new THREE.MeshLambertMaterial({side:THREE.FrontSide});camera.updateMatrix();var firstUnlock=!0;function unlock(){firstUnlock&&(firstUnlock=!1),camera.updateProjectionMatrix()}function animate(){requestAnimationFrame(animate),renderer.render(scene,camera),time=performance.now(),water&&(water.position.y<=waterBasePosition-10&&(tideComeingIn=!0),waterM
.position.y>=waterBasePosition+10&&(tideComeingIn=!1),tideComeingIn?water.position.lerp(new THREE.Vector3(water.position.x,water.position.y+waterSpeed,water.position.x),.05):water.position.lerp(new THREE.Vector3(water.position.x,water.position.y-waterSpeed,water.position.x),.05));var e=new THREE.Vector2;if(!0===controls.isLocked||gameActive){doFloorUpdate&&(floor.geometry.attributes.position.needsUpdate=!0,floor.updateMatrix(),floorGeometry.attributes.position.needsUpdate=!0,floorGeometry.computeVertexNormals(),doFM
loorUpdate=!1),frame_count+=1,camera.updateMatrix(),delta=(time-prevTime)/1e3,velocity.x-=10*velocity.x*delta,velocity.z-=10*velocity.z*delta,velocity.z-=10*velocity.z*delta,direction.z=Number(moveForward)-Number(moveBackward),direction.x=Number(moveRight)-Number(moveLeft),direction.y=Number(moveUp)-Number(moveDown),direction.normalize(),(moveForward||moveBackward)&&(velocityzcalc=direction.z*movementSpeed*delta,velocity.z-=velocityzcalc),(moveLeft||moveRight)&&(velocityxcalc=direction.x*movementSpeed*delta,velocitM
y.x-=velocityxcalc),controls.moveRight(-velocity.x*delta),controls.moveForward(-velocity.z*delta),controls.getObject().position.y+=velocity.y*delta;var o=Math.round(controls.getObject().position.x),t=Math.round(controls.getObject().position.z),r=height_map[[o,t]]-175;fraycaster.setFromCamera(e,camera),raycaster.ray.origin.copy(controls.getObject().position),raycaster.ray.origin.y-=7,intersections=raycaster.intersectObjects(objects,!1),onObject=!1,controls.getObject().position.y<r+25&&(velocity.y=0,controls.getObjecM
t().position.y=r+25,onObject=!0),intersections&&intersections.length>0&&intersections.every(function(e){if(e.object.uuid!=floor.uuid)return onObject=!0,!1}),!0===onObject&&(velocity.y=Math.max(0,velocity.y),canJump=!0),r&&r>=controls.getObject().position.y&&camera.position.lerp(new THREE.Vector3(controls.getObject().position.x,r,controls.getObject().position.z),.1),onObject||(velocity.y-=180*delta),o>worldWidth-5&&(controls.getObject().position.x=worldWidth-5),t>worldDepth-5&&(controls.getObject().position.z=worldDM
epth-5),o<5&&(controls.getObject().position.x=5),t<5&&(controls.getObject().position.z=5)}if(prevTime=time,renderer.render(scene,camera),camera.updateMatrixWorld(),lerpColors&&lerpColors&&lerpColors.length>=objects.length)for(var a=0;a<objects.length;a++)objects[a].uuid!=floor.uuid&&objects[a].material.color.lerp(lerpColors[a],.01);if(objects){for(var a=0;a<objects.length;a++)if(objects[a].uuid!=floor.uuid){var n=new THREE.Vector3().addVectors(windDirectionVal,new THREE.Vector3(-.05+.1*mathRand(),0,-.05+.1*mathRandM
()));objects[a].position.lerp(objects[a].position.add(n),.1),objects[a].position.x>worldWidth&&(objects[a].position.x=0),objects[a].position.x<0&&(objects[a].position.x=worldWidth),objects[a].position.z>worldDepth&&(objects[a].position.z=0),objects[a].position.z<0&&(objects[a].position.z=worldDepth);var o=Math.round(objects[a].position.x),t=Math.round(objects[a].position.z),r=height_map[[o,t]]-175;r&&objects[a].position<r&&objects[a].position.lerp(new THREE.Vector3(objects[a].position.x,r+objects[a].userData.heightM
Diff,objects[a].position.z),.1)}}floor.visible=!0}function startGame(){if(!isMobile){if(iframe=document.getElementsByTagName("iframe"),console.log("What iframes were foudn?",iframe),iframe&&iframe.length>0){var e=(iframe=iframe[0])[0];console.log("do we got an iframe?",e),console.log("Foudn the iframe"),e.sandbox="allow-scripts allow-same-origin allow-pointer-lock"}try{controls.lock(),gameActive=!0,unlock()}catch{instructions.style.display="none",camera.position.y=250}}}animate(),document.getElementById("start_gameM
").addEventListener("click",function(){startGame()});let blocker=document.getElementById("blocker"),instructions=document.getElementById("instructions");controls.addEventListener("lock",function(){unlock(),camera.updateProjectionMatrix(),instructions.style.display="none",blocker.style.display="none",document.getElementById("crosshair").style.display="block",document.getElementById("crosshair").style.zIndex=1e5,gameActive=!0}),controls.addEventListener("unlock",function(){blocker.style.display="block",instructions.sM
tyle.display="",document.getElementById("crosshair").style.display="none",gameActive=!1}),scene.add(controls.getObject());let onKeyDown=function(e){switch(e.code){case"ArrowUp":case"KeyW":moveForward=!0;break;case"ArrowLeft":case"KeyA":moveLeft=!0;break;case"ArrowDown":case"KeyS":moveBackward=!0;break;case"ArrowRight":case"KeyD":moveRight=!0;break;case"KeyG":gravity=!gravity;break;case"Space":!0===canJump&&(velocity.y+=125),canJump=!1;break;case"Enter":controls.isLocked||(controls.lock(),gameActive=!0);case"ShiftLeM
ft":case"Control":movementSpeed=1500;break;case"KeyC":copyColor()}},onKeyUp=function(e){switch(e.code){case"ArrowUp":case"KeyW":moveForward=!1;break;case"ArrowLeft":case"KeyA":moveLeft=!1;break;case"ArrowDown":case"KeyS":moveBackward=!1;break;case"ArrowRight":case"KeyD":moveRight=!1;break;case"ShiftLeft":movementSpeed=400}};document.addEventListener("keydown",onKeyDown),document.addEventListener("keyup",onKeyUp);for(let i=0;i<0;i++){let t=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0,vertexColors:!0M
});t.color.HSL(.2*mathRand()+.5,.75,.25*mathRand()+.75);let r=new THREE.Mesh(boxGeometry,t);r.position.x=20*Math.floor(20*mathRand()-10),r.position.y=20*Math.floor(20*mathRand())+10,r.position.z=20*Math.floor(20*mathRand()-10),scene.add(r)}var points=[],material=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});for(let j=0;j<25;j++){var a=Math.floor(4+6*mathRand()),n=mathRand()*(100*mathRand());for(let s=0;s<a;s++)points.push(new THREE.Vector3(50+mathRand()*n,-50+mathRand()*n,mathRand()*n));var c,d,$=M
height_map[[Math.round((pos=[worldWidth*mathRand(),0,worldDepth*mathRand()])[0]),Math.round(pos[2])]]-175,p=$+200*mathRand();pos[1]=p;var _=p-$,m=new THREE.ConvexGeometry(points);let g=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});g.color.setHSL(.2*mathRand()+.5,.75,.25*mathRand()+.75),(mesh=new THREE.Mesh(m,g)).position.x=pos[0],mesh.position.y=pos[1],mesh.position.z=pos[2],mesh.userData.heightDiff=_,scene.add(mesh),objects.push(mesh),finalMesh=mesh,finalMaterial=g}var interval=setInterval(functiM
on(){for(var e=0;e<objects.length;e++){var o=new THREE.Color;o.setHex(16777215*mathRand()),lerpColors.length<objects.length?lerpColors.push(o):lerpColors[e]=o}},2e3);let waterGeometry=new THREE.PlaneGeometry(worldWidth,worldDepth);function triggerDeleteTerrain(){if((fintersections=fraycaster.intersectObjects(objects,!1))&&fintersections.length>0){for(var e of fintersections)if(e.object.uuid!=water.uuid&&e.object.uuid!=floor.uuid){o=e;break}if(o){var o,t=o.object;scene.remove(t),t.geometry.dispose(),t.material.dispoM
se()}}}function triggerMoveTerrain(){if((fintersections=fraycaster.intersectObjects(objects,!1))&&fintersections.length>0){for(var e of fintersections)if(e.object.uuid!=water.uuid){o=e;break}if(o){floor.geometry.attributes.position.array,floor.geometry.attributes.position,o.point.x,o.point.z,new THREE.Vector2,new THREE.Vector3;var o,t,r,a,n=[],s=Math.floor(4+6*mathRand()),c=mathRand()*(200*mathRand());for(let d=0;d<s;d++)n.push(new THREE.Vector3(mathRand()*c,mathRand()*c,mathRand()*c));height_map[[Math.round((t=[o.M
point.x,o.point.y,o.point.z])[0]),Math.round(t[2])]];var $=new THREE.ConvexGeometry(n);let p=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});p.color.setHSL(.2*mathRand()+.5,.75,.25*mathRand()+.75),r=new THREE.Mesh($,p);var _=new THREE.Box3().setFromObject(r).getSize();r.position.x=t[0]-_.x,r.position.y=t[1]+_.y+1,r.position.z=t[2]-_.z,scene.add(r),objects.push(r)}}}function mobileCheck(){var e;let o=!1;return e=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantM
go|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bM
umb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w]M
)|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|M
sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(o=!0),console.log("ismobile? "+o),o}water=new e(waterGeometry,{textureWidth:512,textureHeight:512,waterNormals:new THREE.TextureLoadM
er().load("https://raw.githubusercontent.com/IanUme/ThreejsTest/master/textures/waternormals.jpg",function(e){e.wrapS=e.wrapT=THREE.RepeatWrapping,scene.add(water),loadingDone()}),sunDirection:new THREE.Vector3,sunColor:waterColor,waterColor:waterColor,distortionScale:3.7,fog:void 0!==scene.fog}),window.water=water,water.position.y=waterBasePosition,water.position.x=worldWidth/2,water.position.z=worldDepth/2,water.rotation.x=-Math.PI/2,document.addEventListener("click",function(e){(!0===controls.isLocked||gameActivM
e)&&(0==e.button?triggerMoveTerrain():triggerDeleteTerrain())});var mobileWarning=document.getElementById("mobile-warning");function loadingDone(){instructions.style.display="",loading.style.display="none"}document,isMobile&&(instructions.classList.add("d-none"),mobileWarning.classList.remove("d-none")),document.getElementById("hide").onclick=function(){instructions.style.display="none"},setTimeout(function(){console.log("hide the display after 10 seconds of inactivity. "),instructions.style.display="none"},1e4),wiMU
ndow.onload=function(){if(iframe=document.getElementsByTagName("iframe"),console.log("What iframes were foudn?",iframe),iframe&&iframe.length>0){var e=(iframe=iframe[0])[0];console.log("do we got an iframe?",e),console.log("Foudn the iframe"),e.sandbox="allow-scripts allow-same-origin allow-pointer-lock"}};
text/html;charset=utf-8
    <meta charset="UTF-8" />
    <title>-ORDINALANDS-</title>
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
      crossorigin="anonymous"
      src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"
      crossorigin="anonymous"
        html, body {margin: 0;overflow: hidden;}#blocker {position: absolute;width: 100%;height: 100%;backgroM
und-color: rgba(0, 0, 0, 0.1);z-index: 1000;}.instructions {width: 100%;height: 100%;display: flex;flex-direction: column;justify-content: top;align-items: baseline;text-align: left !important;font-size: 14px;cursor: pointer;padding-top: 15px !important;padding-left: 15px !important;white-space: nowrap !important;}.instr {opacity: 0.4;}.col-6 {padding-left: 0px !important;}body {margin: 0;background-color: #000;color: #fff;font-family: Monospace;font-size: 13px;line-height: 24px;overscroll-behavior: none;}a {color:M
 #ff0;text-decoration: none;}a:hover {text-decoration: underline;}button {cursor: pointer;text-transform: uppercase;}body {margin: 0px;}
    <!-- threejs@r124 -->
    <script  sandbox="allow-scripts" type="text/javascript"src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/three@0.121.1/examples/js/math/ConvexHull.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/three@0.121.1/examples/js/geometries/ConvexGeometry.jsM
    <script id="snippet-random-code" type="text/javascript">
      let seed = window.location.href.split("/").find((t) => t.includes("i0"));
      if (seed == null) {
        const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
          new URLSearchParams(window.location.search).get("seed") ||
            .fill(0)
            .map((_) => alphabet[(Math.random() * alphabet.length) | 0])
            .join("") + "i0";
        let pattern = "seed=";
        for (let i = 0; i < seed.length - pattern.length; ++i) {
          if (seed.substring(i, i + pattern.length) == pattern) {
            seed = seed.substring(i + pattern.length);
      function cyrb128($) {
        let _ = 1779033703,
          u = 3144134277,
          i = 1013904242,
          l = 2773480762;
        for (let n = 0, r; n < $.length; n++)
          (_ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067)),
            (u = i ^ Math.imul(u ^ M
            (i = l ^ Math.imul(i ^ r, 951274213)),
            (l = _ ^ Math.imul(l ^ r, 2716044179));
          (_ = Math.imul(i ^ (_ >>> 18), 597399067)),
          (u = Math.imul(l ^ (u >>> 22), 2869860233)),
          (i = Math.imul(_ ^ (i >>> 17), 951274213)),
          (l = Math.imul(u ^ (l >>> 19), 2716044179)),
          [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
      function sfc32($, _, u, i) {
        return function () {
        (u >>>= 0), (i >>>= 0);
          var l = (($ >>>= 0) + (_ >>>= 0)) | 0;
            ($ = _ ^ (_ >>> 9)),
            (_ = (u + (u << 3)) | 0),
              ((u = (u << 21) | (u >>> 11)) +
                (l = (l + (i = (i + 1) | 0)) | 0)) |
            (l >>> 0) / 4294967296
      let mathRand = sfc32(...cyrb128(seed));
    <script type="text/javascript">
      const random1 = mathRand();
    <div id="blocker"> <div id="loading" style="font-size: 24px" class="instructions instr">Loading...</div><script>var loading=document.getElementById("loading"); console.log('load inner', loading.innerHTML, loading.innerHTML=='Loading...') var loadingInteravl=setInterval(function(){if (loading.innerHTML=='Loading...'){loading.innerHTML='Loading.'}if (loading.innerHTML=='Loading.'){loading.innerHTML='Loading..'}if (loading.innerHTML=='Loading..'){loading.innerHTML='Loading...'}},300) </script> <diM
v id="instructions" class="instructions" style="display: none"> <div class="row text-left mb4"> <div class="col-6 mr-2 instr"> <h5 class="pb-0 mb-0">Start Game:</h5> <h5 class="pb-0 mb-0">Pause:</h5> <h5 class="pb-0 mb-0">Move:</h5> <h5 class="pb-0 mb-0">Jump:</h5> <h5 class="pb-0 mb-0">Look:</h5> <h5 class="pb-0 mb-0">Sprint:</h5> <h5 class="pb-0 mb-0">Place Shape:</h5> <h5 class="pb-0 mb-0">Remove Shape:</h5> </div><div class="col-6 ml-2 instr"> <h5 class="pb-0 mb-0"><b>ENTER</b></h5> <h5 class="pb-0 mb-0"><b>ESCM
</b></h5> <h5 class="pb-0 mb-0"><b>WASD</b></h5> <h5 class="pb-0 mb-0"><b>SPACE</b></h5> <h5 class="pb-0 mb-0"><b>MOUSE</b></h5> <h5 class="pb-0 mb-0"><b>SHIFT</b></h5> <h5 class="pb-0 mb-0"><b>LEFT-CLICK</b></h5> <h5 class="pb-0 mb-0"><b>RIGHT-CLICK</b></h5> </div></div><div> <button class="btn btn-outline-secondary btn-lg mt-3" id="start_game" style="opacity: 1 !important" > PLAY GAME </button> <button class="btn btn-outline-secondary btn-lg mt-3" id="hide" style="opacity: 1 !important" > HIDE THIS </button> </diM
v></div><div class="d-none instr" id="mobile-warning" class="instructions"> <p style="font-size: 24px">Gameplay not supported on mobile</p></div></div><div style=" position: absolute; top: 50vh; left: 50vw; display: none; font-size: 1.2em; font-family: 'Arial'; z-index: 100000; " id="crosshair" > <b>
    <script type="module">
   var water,iframe,intersections,fintersections,wintersections,aintersections,sintersections,dintersections,boxGeometry,floor,finalMesh,finalMaterial,gltfloader,dirLight,hemiLM
ight,canMoveForward,canMoveBackward,canMoveLeft,canMoveRight,time,delta,velocityzcalc,velocityxcalc,velocityycalc,move_obj,onObject,waterColor,image,pos,mesh,loading=document.getElementById("loading"),isMobile=mobileCheck();let rand=mathRand();function windDirection(e){return e>.6}function colorScheme($){return $<.35?0:$>=.35&&$<.6?1:$>=.6&&$<.9?2:$>.9?3:void 0}window.$generativeTraits={windDirection:windDirection(rand),colorScheme:colorScheme(rand)},console.log(window.$generativeTraits);import{Water as e}from"httpM
s://cdn.skypack.dev/three@0.128.0/examples/jsm/objects/Water.js";import{PointerLockControls as o}from"https://cdn.jsdelivr.net/npm/three@0.121.1/examples/jsm/controls/PointerLockControls.js";var waterBasePosition=-175,tideComeingIn=!1,waterSpeed=1;let _p=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83M
,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,1M
81,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180,];for(let i=0;i<256;i++)_p[256+i]=_p[i];function fade(e){return e*e*e*(e*(6*e-15)+10)}function lerp(e,o,t){return o+e*(t-o)}function grad(e,o,t,r){let a=15&e,n=a<8?o:t,s=a<4?t:12==a||14==a?o:r;return((1&a)==0?n:-n)+((2&a)==0?s:-s)}class ImprovedNoise{noise(e,o,t){let r=Math.floor(e),a=Math.floor(o),n=Math.floor(t),s=255&r,c=255&a,d=255&n;e-=r,o-=a,t-=n;let $=e-1,p=o-1,_=t-1,m=fade(e),g=fM
ade(o),w=fade(t),h=_p[s]+c,f=_p[h]+d,b=_p[h+1]+d,y=_p[s+1]+c,v=_p[y]+d,u=_p[y+1]+d;return lerp(w,lerp(g,lerp(m,grad(_p[f],e,o,t),grad(_p[v],$,o,t)),lerp(m,grad(_p[b],e,p,t),grad(_p[u],$,p,t))),lerp(g,lerp(m,grad(_p[f+1],e,o,_),grad(_p[v+1],$,o,_)),lerp(m,grad(_p[b+1],e,p,_),grad(_p[u+1],$,p,_))))}}var gameActive=!1,stickx=0,sticky=0,lookx=0,looky=0;let moveForward=!1,moveBackward=!1,moveLeft=!1,moveRight=!1,canJump=!1,moveUp=!1,moveDown=!1;var frame_count=1,objects=[],lerpActions={},lerpColor=new THREE.Color,lerpCoM
lors=[],initialColor=new THREE.Color,gravity=!0;let prevTime=performance.now(),velocity=new THREE.Vector3,direction=new THREE.Vector3,vertex=new THREE.Vector3,color=new THREE.Color;var _PI_2=Math.PI/2;onObject=!0;var raycaster=new THREE.Raycaster(new THREE.Vector3,new THREE.Vector3(0,-1,0),0,10),fraycaster=new THREE.Raycaster,movementSpeed=400,renderDistance=400,doFloorUpdate=!1;let container=document.createElement("div");container.innerHTML="<span>seed: "+seed+"</span><br>",console.log("seed",seed);var camera=new M
THREE.PerspectiveCamera(95,window.innerWidth/window.innerHeight,1,3500);camera.position.y=400,camera.lookAt(0,-1,0);var scene=new THREE.Scene;scene.background=new THREE.Color(0);let light=new THREE.HemisphereLight(15658751,7829384,.95);light.position.set(.5,100,.75),scene.add(light),0==window.$generativeTraits.colorScheme&&(light.color.r=1.2,light.color.g=.5,light.color.b=.5,waterColor=new THREE.Color(0,.25,0)),1==window.$generativeTraits.colorScheme&&(light.color.g=1.3,light.color.r=.3,light.color.b=.3,waterColor=M
new THREE.Color(.56,0,0)),2==window.$generativeTraits.colorScheme?(light.color.b=1.5,light.color.g=.6,light.color.r=.5,waterColor=new THREE.Color(.4,0,.6)):3==window.$generativeTraits.colorScheme&&(light.color.r=1.53,light.color.g=1.5,light.color.b=.21,waterColor=new THREE.Color(.99,.88,.21)),window.light=light;var controls=new o(camera,document.body),renderer=new THREE.WebGLRenderer({antialias:!1,powerPreference:"high-performance"});renderer.setPixelRatio(window.devicePixelRatio),renderer.setSize(window.innerWidthM
,window.innerHeight),document.body.appendChild(renderer.domElement),window.addEventListener("resize",onWindowResize);let cubeLoader=new THREE.CubeTextureLoader,skyboxTexture=cubeLoader.load(["https://i.ibb.co/bB1qgcy/1.png","https://i.ibb.co/hdnS4PX/2.png","https://i.ibb.co/M5pMx2J/3.png","https://i.ibb.co/vHhVdj9/4.png","https://i.ibb.co/894wyRV/5.png","https://i.ibb.co/Trcj0tx/6.png",]);var loadedCount=0;let ft=new THREE.TextureLoader().load("https://i.ibb.co/Jmc3Yc0/space-ft.png",onLoadCallback),bk=new THREE.TexM
tureLoader().load("https://i.ibb.co/KXyM8Dp/space-bk.png",onLoadCallback),up=new THREE.TextureLoader().load("https://i.ibb.co/rp4W3fR/space-up.png",onLoadCallback),dn=new THREE.TextureLoader().load("https://i.ibb.co/Q7B2fTC/space-dn.png",onLoadCallback),rt=new THREE.TextureLoader().load("https://i.ibb.co/NVyD5jy/space-rt.png",onLoadCallback),lf=new THREE.TextureLoader().load("https://i.ibb.co/xsx5rYK/space-lf.png",onLoadCallback);var materialArray=[];materialArray.push(new THREE.MeshBasicMaterial({map:ft,side:THREEM
.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:bk,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:up,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:dn,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:rt,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:lf,side:THREE.BackSide,fog:!1}));var skyboxGeo=new THREE.BoxGeometry(3e3,3e3,3e3),skybox=new THREE.Mesh(skybM
oxGeo,materialArray);function onLoadCallback(){6==++loadedCount&&scene.add(skybox)}function onWindowResize(){camera.aspect=window.innerWidth/window.innerHeight,camera.updateProjectionMatrix(),renderer.setSize(window.innerWidth,window.innerHeight)}function perlinRandom(){let e=100*Math.sin(mathRand());return e-Math.floor(e)}var worldWidth=512,worldDepth=512,height_map={};function generateHeight(e,o){let t=e*o,r=new Uint8Array(t),a=new ImprovedNoise,n=5*perlinRandom(),s=35;for(let c=0;c<2;c++){for(let d=0;d<t;d++){leM
t $=d%e,p=~~(d/e);r[d]+=Math.abs(a.noise($/s,p/s,n)*s*1.85),height_map[[$,p]]=r[d]}s*=4}return r}controls.getObject().position.x=worldWidth/2,controls.getObject().position.z=worldDepth/2;let floorGeometry=new THREE.PlaneBufferGeometry(worldWidth,worldDepth,worldWidth-1,worldDepth-1);floorGeometry.rotateX(-Math.PI/2);let data=generateHeight(worldWidth,worldDepth),vertices=floorGeometry.attributes.position.array;window.vertices=vertices;for(let i=0,j=0,l=vertices.length;i<l;i++,j+=3)vertices[j+1]=1*data[i]-200;var teM
mpColor=new THREE.Color(16377338),texture=new THREE.CanvasTexture(generateTexture(data,worldWidth,worldDepth));function generateTexture(e,o,t){let r,a,n,s=new THREE.Vector3(0,0,0),c=new THREE.Vector3(1,25*mathRand(),5);c.normalize();let d=document.createElement("canvas");d.width=o,d.height=t,window.canvas=d,(r=d.getContext("2d")).fillStyle="#010011",r.fillRect(0,0,o,t),a=(image=r.getImageData(0,0,d.width,d.height)).data;var $=64+64*mathRand(),p=86+86*mathRand(),_=22+22*mathRand(),m=.33+.33*mathRand(),g=.004+.004*maM
thRand();for(let w=0,h=0,f=a.length;w<f;w+=4,h++)s.x=e[h-2]-e[h+2],s.y=2,s.z=e[h-2*o]-e[h+2*o],s.normalize(),n=s.dot(c),a[w]=($+n*p)*(m+e[h]*g),a[w+1]=(_+n*$)*(m+e[h]*g),a[w+2]=n*$*(m+e[h]*g);r.putImageData(image,0,0);let b=document.createElement("canvas");b.width=4*o,b.height=4*t,(r=b.getContext("2d")).scale(4,4),r.drawImage(d,0,0),a=(image=r.getImageData(0,0,b.width,b.height)).data;for(let y=0,v=a.length;y<v;y+=4){let u=~~(mathRand()*(3+2*mathRand()));a[y]+=u,a[y+1]+=u,a[y+2]+=u}return r.putImageData(image,0,0),bM
}texture.wrapS=THREE.ClampToEdgeWrapping,texture.wrapT=THREE.ClampToEdgeWrapping;let floorMaterial=new THREE.MeshLambertMaterial({map:texture});floorMaterial.color=tempColor;var floor=new THREE.Mesh(floorGeometry,floorMaterial);2==window.$generativeTraits.colorScheme&&(floor.material.color.r=0),window.floor=floor,scene.add(floor),objects.push(floor);var gridColor=new THREE.Color(2302755);let grid=new THREE.GridHelper(worldWidth,25,gridColor);grid.rotateX(-Math.PI/2),grid.position.x=worldWidth/2,grid.position.y=-worM
ldWidth/4,grid.material.opacity=.001,scene.add(grid),window.grid=grid;let grid2=new THREE.GridHelper(worldWidth,25,gridColor);grid2.rotateX(-Math.PI/2),grid2.position.x=worldWidth/2,grid2.position.y=-worldWidth/4,grid2.position.z=worldDepth,grid2.material.opacity=.1,scene.add(grid2);let grid3=new THREE.GridHelper(worldDepth,25,gridColor);grid3.rotateZ(-Math.PI/2),grid3.position.y=-worldWidth/4,grid3.position.z=worldDepth/2,grid3.material.opacity=.1,scene.add(grid3);let grid4=new THREE.GridHelper(worldDepth,25,gridCM
olor);grid4.rotateZ(-Math.PI/2),grid4.position.x=worldWidth,grid4.position.y=-worldWidth/4,grid4.position.z=worldDepth/2,grid4.material.opacity=.1,scene.add(grid4);let grid5=new THREE.GridHelper(worldDepth,25);grid5.position.x=worldWidth/2,grid5.position.y=worldWidth/4,grid5.position.z=worldDepth/2,grid5.material.opacity=.1,floor.position.set(worldWidth/2,0,worldDepth/2),boxGeometry=new THREE.BoxGeometry(10,10,10);var posnegWind=mathRand()>.5?-1:1,windDirectionVal=window.$generativeTraits.windDirection?new THREE.VeM
ctor3(posnegWind*mathRand()*.1,0,0):new THREE.Vector3(0,0,posnegWind*mathRand()*.1),boxMaterial=new THREE.MeshLambertMaterial({side:THREE.FrontSide}),instanceBoxMaterial=new THREE.MeshLambertMaterial({side:THREE.FrontSide});camera.updateMatrix();var firstUnlock=!0;function unlock(){firstUnlock&&(firstUnlock=!1),camera.updateProjectionMatrix()}function animate(){requestAnimationFrame(animate),renderer.render(scene,camera),time=performance.now(),water&&(water.position.y<=waterBasePosition-10&&(tideComeingIn=!0),waterM
.position.y>=waterBasePosition+10&&(tideComeingIn=!1),tideComeingIn?water.position.lerp(new THREE.Vector3(water.position.x,water.position.y+waterSpeed,water.position.x),.05):water.position.lerp(new THREE.Vector3(water.position.x,water.position.y-waterSpeed,water.position.x),.05));var e=new THREE.Vector2;if(!0===controls.isLocked||gameActive){doFloorUpdate&&(floor.geometry.attributes.position.needsUpdate=!0,floor.updateMatrix(),floorGeometry.attributes.position.needsUpdate=!0,floorGeometry.computeVertexNormals(),doFM
loorUpdate=!1),frame_count+=1,camera.updateMatrix(),delta=(time-prevTime)/1e3,velocity.x-=10*velocity.x*delta,velocity.z-=10*velocity.z*delta,velocity.z-=10*velocity.z*delta,direction.z=Number(moveForward)-Number(moveBackward),direction.x=Number(moveRight)-Number(moveLeft),direction.y=Number(moveUp)-Number(moveDown),direction.normalize(),(moveForward||moveBackward)&&(velocityzcalc=direction.z*movementSpeed*delta,velocity.z-=velocityzcalc),(moveLeft||moveRight)&&(velocityxcalc=direction.x*movementSpeed*delta,velocitM
y.x-=velocityxcalc),controls.moveRight(-velocity.x*delta),controls.moveForward(-velocity.z*delta),controls.getObject().position.y+=velocity.y*delta;var o=Math.round(controls.getObject().position.x),t=Math.round(controls.getObject().position.z),r=height_map[[o,t]]-175;fraycaster.setFromCamera(e,camera),raycaster.ray.origin.copy(controls.getObject().position),raycaster.ray.origin.y-=7,intersections=raycaster.intersectObjects(objects,!1),onObject=!1,controls.getObject().position.y<r+25&&(velocity.y=0,controls.getObjecM
t().position.y=r+25,onObject=!0),intersections&&intersections.length>0&&intersections.every(function(e){if(e.object.uuid!=floor.uuid)return onObject=!0,!1}),!0===onObject&&(velocity.y=Math.max(0,velocity.y),canJump=!0),r&&r>=controls.getObject().position.y&&camera.position.lerp(new THREE.Vector3(controls.getObject().position.x,r,controls.getObject().position.z),.1),onObject||(velocity.y-=180*delta),o>worldWidth-5&&(controls.getObject().position.x=worldWidth-5),t>worldDepth-5&&(controls.getObject().position.z=worldDM
epth-5),o<5&&(controls.getObject().position.x=5),t<5&&(controls.getObject().position.z=5)}if(prevTime=time,renderer.render(scene,camera),camera.updateMatrixWorld(),lerpColors&&lerpColors&&lerpColors.length>=objects.length)for(var a=0;a<objects.length;a++)objects[a].uuid!=floor.uuid&&objects[a].material.color.lerp(lerpColors[a],.01);if(objects){for(var a=0;a<objects.length;a++)if(objects[a].uuid!=floor.uuid){var n=new THREE.Vector3().addVectors(windDirectionVal,new THREE.Vector3(-.05+.1*mathRand(),0,-.05+.1*mathRandM
()));objects[a].position.lerp(objects[a].position.add(n),.1),objects[a].position.x>worldWidth&&(objects[a].position.x=0),objects[a].position.x<0&&(objects[a].position.x=worldWidth),objects[a].position.z>worldDepth&&(objects[a].position.z=0),objects[a].position.z<0&&(objects[a].position.z=worldDepth);var o=Math.round(objects[a].position.x),t=Math.round(objects[a].position.z),r=height_map[[o,t]]-175;r&&objects[a].position<r&&objects[a].position.lerp(new THREE.Vector3(objects[a].position.x,r+objects[a].userData.heightM
Diff,objects[a].position.z),.1)}}floor.visible=!0}function startGame(){if(!isMobile){if(iframe=document.getElementsByTagName("iframe"),console.log("What iframes were foudn?",iframe),iframe&&iframe.length>0){var e=(iframe=iframe[0])[0];console.log("do we got an iframe?",e),console.log("Foudn the iframe"),e.sandbox="allow-scripts allow-same-origin allow-pointer-lock"}try{controls.lock(),gameActive=!0,unlock()}catch{instructions.style.display="none",camera.position.y=250}}}animate(),document.getElementById("start_gameM
").addEventListener("click",function(){startGame()});let blocker=document.getElementById("blocker"),instructions=document.getElementById("instructions");controls.addEventListener("lock",function(){unlock(),camera.updateProjectionMatrix(),instructions.style.display="none",blocker.style.display="none",document.getElementById("crosshair").style.display="block",document.getElementById("crosshair").style.zIndex=1e5,gameActive=!0}),controls.addEventListener("unlock",function(){blocker.style.display="block",instructions.sM
tyle.display="",document.getElementById("crosshair").style.display="none",gameActive=!1}),scene.add(controls.getObject());let onKeyDown=function(e){switch(e.code){case"ArrowUp":case"KeyW":moveForward=!0;break;case"ArrowLeft":case"KeyA":moveLeft=!0;break;case"ArrowDown":case"KeyS":moveBackward=!0;break;case"ArrowRight":case"KeyD":moveRight=!0;break;case"KeyG":gravity=!gravity;break;case"Space":!0===canJump&&(velocity.y+=125),canJump=!1;break;case"Enter":controls.isLocked||(controls.lock(),gameActive=!0);case"ShiftLeM
ft":case"Control":movementSpeed=1500;break;case"KeyC":copyColor()}},onKeyUp=function(e){switch(e.code){case"ArrowUp":case"KeyW":moveForward=!1;break;case"ArrowLeft":case"KeyA":moveLeft=!1;break;case"ArrowDown":case"KeyS":moveBackward=!1;break;case"ArrowRight":case"KeyD":moveRight=!1;break;case"ShiftLeft":movementSpeed=400}};document.addEventListener("keydown",onKeyDown),document.addEventListener("keyup",onKeyUp);for(let i=0;i<0;i++){let t=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0,vertexColors:!0M
});t.color.HSL(.2*mathRand()+.5,.75,.25*mathRand()+.75);let r=new THREE.Mesh(boxGeometry,t);r.position.x=20*Math.floor(20*mathRand()-10),r.position.y=20*Math.floor(20*mathRand())+10,r.position.z=20*Math.floor(20*mathRand()-10),scene.add(r)}var points=[],material=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});for(let j=0;j<25;j++){var a=Math.floor(4+6*mathRand()),n=mathRand()*(100*mathRand());for(let s=0;s<a;s++)points.push(new THREE.Vector3(50+mathRand()*n,-50+mathRand()*n,mathRand()*n));var c,d,$=M
height_map[[Math.round((pos=[worldWidth*mathRand(),0,worldDepth*mathRand()])[0]),Math.round(pos[2])]]-175,p=$+200*mathRand();pos[1]=p;var _=p-$,m=new THREE.ConvexGeometry(points);let g=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});g.color.setHSL(.2*mathRand()+.5,.75,.25*mathRand()+.75),(mesh=new THREE.Mesh(m,g)).position.x=pos[0],mesh.position.y=pos[1],mesh.position.z=pos[2],mesh.userData.heightDiff=_,scene.add(mesh),objects.push(mesh),finalMesh=mesh,finalMaterial=g}var interval=setInterval(functiM
on(){for(var e=0;e<objects.length;e++){var o=new THREE.Color;o.setHex(16777215*mathRand()),lerpColors.length<objects.length?lerpColors.push(o):lerpColors[e]=o}},2e3);let waterGeometry=new THREE.PlaneGeometry(worldWidth,worldDepth);function triggerDeleteTerrain(){if((fintersections=fraycaster.intersectObjects(objects,!1))&&fintersections.length>0){for(var e of fintersections)if(e.object.uuid!=water.uuid&&e.object.uuid!=floor.uuid){o=e;break}if(o){var o,t=o.object;scene.remove(t),t.geometry.dispose(),t.material.dispoM
se()}}}function triggerMoveTerrain(){if((fintersections=fraycaster.intersectObjects(objects,!1))&&fintersections.length>0){for(var e of fintersections)if(e.object.uuid!=water.uuid){o=e;break}if(o){floor.geometry.attributes.position.array,floor.geometry.attributes.position,o.point.x,o.point.z,new THREE.Vector2,new THREE.Vector3;var o,t,r,a,n=[],s=Math.floor(4+6*mathRand()),c=mathRand()*(200*mathRand());for(let d=0;d<s;d++)n.push(new THREE.Vector3(mathRand()*c,mathRand()*c,mathRand()*c));height_map[[Math.round((t=[o.M
point.x,o.point.y,o.point.z])[0]),Math.round(t[2])]];var $=new THREE.ConvexGeometry(n);let p=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});p.color.setHSL(.2*mathRand()+.5,.75,.25*mathRand()+.75),r=new THREE.Mesh($,p);var _=new THREE.Box3().setFromObject(r).getSize();r.position.x=t[0]-_.x,r.position.y=t[1]+_.y+1,r.position.z=t[2]-_.z,scene.add(r),objects.push(r)}}}function mobileCheck(){var e;let o=!1;return e=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantM
go|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bM
umb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w]M
)|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|M
sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(o=!0),console.log("ismobile? "+o),o}water=new e(waterGeometry,{textureWidth:512,textureHeight:512,waterNormals:new THREE.TextureLoadM
er().load("https://raw.githubusercontent.com/IanUme/ThreejsTest/master/textures/waternormals.jpg",function(e){e.wrapS=e.wrapT=THREE.RepeatWrapping,scene.add(water),loadingDone()}),sunDirection:new THREE.Vector3,sunColor:waterColor,waterColor:waterColor,distortionScale:3.7,fog:void 0!==scene.fog}),window.water=water,water.position.y=waterBasePosition,water.position.x=worldWidth/2,water.position.z=worldDepth/2,water.rotation.x=-Math.PI/2,document.addEventListener("click",function(e){(!0===controls.isLocked||gameActivM
e)&&(0==e.button?triggerMoveTerrain():triggerDeleteTerrain())});var mobileWarning=document.getElementById("mobile-warning");function loadingDone(){instructions.style.display="",loading.style.display="none"}document,isMobile&&(instructions.classList.add("d-none"),mobileWarning.classList.remove("d-none")),document.getElementById("hide").onclick=function(){instructions.style.display="none"},setTimeout(function(){console.log("hide the display after 10 seconds of inactivity. "),instructions.style.display="none"},1e4),wiMU
ndow.onload=function(){if(iframe=document.getElementsByTagName("iframe"),console.log("What iframes were foudn?",iframe),iframe&&iframe.length>0){var e=(iframe=iframe[0])[0];console.log("do we got an iframe?",e),console.log("Foudn the iframe"),e.sandbox="allow-scripts allow-same-origin allow-pointer-lock"}};
text/plain;charset=utf-8
/{"p":"sns","op":"reg","name":"theservant.sats"}h!
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Pix</title>
    Generative supports the most popular creative coding libraries. Simply uncomment the library you want to use below.
    Are we missing an important library? Let us know @generative_xyz.
    <!-- p5js@1.5.0 -->
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script>
    <!-- c2.min.js@1.0.0
    <script sandbox="allow-scriM
pts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/c2/1.0.0/c2.min.js"></script>
    <!-- chromajs@2.4.2 -->
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>
    <!-- threejs@r124
    <script sandbox="allow-scriptM
s" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script>
    <!-- tonejs@14.8.49
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.49/Tone.js"></script>
    <script type="text/javascript">
 Add your script here
 Add your script here
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(MM
ath.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (let n = 0, rM
; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
            return function () M
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
        let mathRand = sfc32(...cyrb128(seed));
            margin: 0px;
            overflow: hidden;
<script type="text/javascript">
    const rand = mathRand();
    function T1(rand) {
        // calculate rarity by yourself
        if (rand > 0.5) {
            return true;
            return false
    // window.$generativeTraits contain lM
ist traits for token
    // you need to populate a $generativeTraits object in the window object
    window.$generativeTraits = {
 Add your code here
    let nextLineY = 0;
Math.random = mathRand;
min(windowHeight, windowWidth);
    mainCanvas = createCanvas(cSize, cSize);
    background('#fff')
    bloc = width/mathrand(5,10)
    let xPosition = 0;
    let yPosition =0;
    text('Loading', width/2, height/2);
    setTimeout(() => {
        while(xPosition < width) {
            while(yPosition < height) {
                sl(xPosition, yPosition)
                yPosition += bloc;
                nextLineY = 0
            xPosition += bloM
            yPosition = 0
            nextLineY = 0
function sl(sx, sy) {
    while (nextLineY < sy + bloc) {
        // drawLine(0, nextLineY)
        let nextRectX = 0;
        while (nextRectX < sx + bloc) {
            let rectWidth = mathrand(10, 1);
            let rectHight = mathrand(10, 1);
            noStroke()
            fill(colors[mathrand(colors.length - 1, 0)])
            rect(sx + nextRectX, sy + nextLineY, rectWidth, rectHight)M
            nextRectX = nextRectX + rectWidth;
        nextLineY = nextLineY + 2
    while (nextLineY < height) {
        // drawLine(0, nextLineY)
        let nextRectX = 0;
        while (nextRectX < width) {
            let rectWidth = mathrand(50, 1);
            let rectHight = mathrand(40, 1);
            stroke(colors[mathrand(colors.length - 1, 0)])
            strokeWeight(3)
            noFill()
            ellipse(M
nextRectX, nextLineY, rectWidth, rectWidth);
            nextRectX = nextRectX + rectWidth;
        nextLineY = nextLineY + 20
    while (nextLineY < height) {
        // drawLine(0, nextLineY)
        let nextRectX = 0;
        while (nextRectX < width) {
            let rectWidth = mathrand(20, 1);
            let rectHight = mathrand(40, 1);
            stroke(colors[mathrand(colors.length - 1, 0)])
            noFill()
            ellipse(nextM
RectX, nextLineY, rectWidth, rectWidth);
            nextRectX = nextRectX + rectWidth;
        nextLineY = nextLineY + 20
function setColors() {
    colorsKeys = Object.keys(chroma.brewer);
    colors = [...chroma.brewer[colorsKeys[mathrand(0,colorsKeys.length - 1)]]]
    colors2 = chroma.brewer[colorsKeys[mathrand(colorsKeys.length - 1, 0)]]
function mathrand(min, max) {
    return Math.floor(mathRand() * (max - min + 1) + min);
function keyTyped() {
    if (key === 's') {
vas('Pix-' + mathRand(), 'png');
 Add your code here
text/plain;charset=utf-8
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>"Rays" by Pawe
 Dudko | pdudko.com</title>
    <script id="snippet-random-code" type="text/javascript">
        // not editable
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() *M
 alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (let n = 0, r; n < $.lengthM
; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
            return function () {
    u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        let mathRand = sfc32(...cyrb128(seed));
            margin: 0;
            padding: 0;
            overflow: hidden;
  <canvas id="myCanvas"></canvas>
<script type="text/jaM
console.log("seed:",seed);class Rnd{rD(){return mathRand()}rN(r,t){return r+(t-r)*this.rD()}rI(r,t){return Math.floor(this.rN(r,t+1))}rB(r){return this.rD()<r}}const R=new Rnd;class Perlin{constructor(){this.R=new Rnd,this.grad3=[[1,1,0],[-1,1,0],[1,-1,0],[-1,-1,0],[1,0,1],[-1,0,1],[1,0,-1],[-1,0,-1],[0,1,1],[0,-1,1],[0,1,-1],[0,-1,-1]],this.p=[];for(var r=0;r<256;r++)this.p[r]=Math.floor(256*this.R.rD());for(this.perm=[],r=0;r<512;r++)this.perm[r]=this.p[255&r];this.simplex=[[0,1,2,3],[0,1,3M
,2],[0,0,0,0],[0,2,3,1],[0,0,0,0],[0,0,0,0],[0,0,0,0],[1,2,3,0],[0,2,1,3],[0,0,0,0],[0,3,1,2],[0,3,2,1],[0,0,0,0],[0,0,0,0],[0,0,0,0],[1,3,2,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[1,2,0,3],[0,0,0,0],[1,3,0,2],[0,0,0,0],[0,0,0,0],[0,0,0,0],[2,3,0,1],[2,3,1,0],[1,0,2,3],[1,0,3,2],[0,0,0,0],[0,0,0,0],[0,0,0,0],[2,0,3,1],[0,0,0,0],[2,1,3,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[2,0,1,3],[0,0,0,0],[0,0,0,0],[0,0,0,0],[3,0,1,2],[3,0,2M
,1],[0,0,0,0],[3,1,2,0],[2,1,0,3],[0,0,0,0],[0,0,0,0],[0,0,0,0],[3,1,0,2],[0,0,0,0],[3,2,0,1],[3,2,1,0]]}dot(r,t,e){return r[0]*t+r[1]*e}noise(r,t){var e,i,a=(r+t)*(.5*(Math.sqrt(3)-1)),o=Math.floor(r+a),l=Math.floor(t+a),n=(3-Math.sqrt(3))/6,s=(o+l)*n,g=r-(o-s),c=t-(l-s);g>c?(e=1,i=0):(e=0,i=1);var d=g-e+n,f=c-i+n,p=g-1+2*n,A=c-1+2*n,m=255&o,F=255&l,E=this.perm[m+this.perm[F]]%12,u=this.perm[m+e+this.perm[F+i]]%12,R=this.perm[m+1+this.perm[F+1]]%12,h=.5-g*g-c*c,B=.5-d*d-f*f,D=.5-p*p-A*A;return 70*((h<0?0:(h*=h)*h*M
this.dot(this.grad3[E],g,c))+(B<0?0:(B*=B)*B*this.dot(this.grad3[u],d,f))+(D<0?0:(D*=D)*D*this.dot(this.grad3[R],p,A)))}}const perlin=new Perlin;function map(r,t,e,i,a){return i+(a-i)*(r-t)/(e-t)}let bckCol,dim=Math.min(window.innerWidth,window.innerHeight),spots=R.rI(10,25),radius=[],m=[],mOff=1e-4*R.rN(1,7),x=[],y=[],z=[],S=30,sRot=[],b=1,bOffset=R.rN(0,.005),bMag=1,xOff=[],yOff=[],pC=[],noiseFeat=mathRand()>.79,pFeat=R.rI(1,24),angleFeat=mathRand()>.87?0:mathRand()<.1?1:2,colorBackground=R.rI(0,1);const PI=Math.M
PI,TWO_PI=2*PI;let blurV=[];blurV=blurV=0==angleFeat?[R.rN(0,R.rN(0,1)),0]:1==angleFeat?[0,R.rN(0,R.rN(0,1))]:[R.rN(-.9,.9),R.rN(0,.9)],Math.pow(blurV[0],2)+Math.pow(blurV[1],2)<.18&&(blurV[0]>blurV[1]?blurV[0]+=.35:blurV[1]+=.35);const vs2="attribute vec2 a_position;attribute vec2 a_texCoord;uniform vec2 u_resolution;varying vec2 v_texCoord;\nvoid main(){vec2 clipSpace=a_position/u_resolution*2.0-1.0;gl_Position=vec4(clipSpace*vec2(1,-1),0,1);v_texCoord=a_texCoord;}",fs2="precision mediump float;uniform sampler2D M
u_image;varying vec2 v_texCoord;uniform vec2 dl;float rnd(vec3 scale,float seed){return fract(sin(dot(gl_FragCoord.xyz+seed,scale))*43758.5453+seed);}\nvoid main(){vec4 col=vec4(0.0);float tt=0.0;float off=rnd(vec3(12.9898,78.233,151.7182),0.0);for(float t=-30.0;t<=30.0;t++){float pc=(t+off-0.5)/30.0;float w=1.0-abs(pc);vec4 spl=texture2D(u_image,v_texCoord+dl*pc);spl.rgb*=spl.a;col+=spl*w;tt+=w;}gl_FragColor=col/tt;}";function setup(){for(i=0;i<spots;i++)radius[i]=R.rI(dim/100,dim/4),m[i]=R.rN(0,100),x[i]=R.rN(0,dM
im),y[i]=R.rN(0,dim),z[i]=R.rN(0,dim),xOff[i]=R.rN(4,10),yOff[i]=R.rN(4,10),sRot[i]=R.rN(0,TWO_PI);if(noiseFeat){let r=R.rI(20,200);for(i=0;i<r;i++)radius[spots+i]=R.rI(dim/400,dim/100),m[spots+i]=R.rN(0,10),y[spots+i]=R.rN(0,dim),z[spots+i]=R.rN(0,dim),x[spots+i]=R.rN(0,dim),xOff[spots+i]=R.rN(4,10),yOff[spots+i]=R.rN(4,10),sRot[spots+i]=R.rN(0,PI);spots+=r}angle=0==angleFeat?-PI/4:1==angleFeat?PI/4:R.rN(0,PI),p=pFeat;let r=1==p?["#0B1626","#2F1517","#4599B5","#A83882","#B4DDDD","#DBBEF2"]:2==p?["#0B1626","#2F1517M
","#4599B5","#A84B28","#B4DDDD","#C4E4A2"]:3==p?["#140000","#021c13","#003924","#005841","#750100","#990100","#d7bb30","#ccae00"]:4==p?["#1D1702","#2B0426","#650427","#AD2C00","#ddac0a","#c6c339","#E55130"]:5==p?["#200e36","#2B0426","#366290","#E27D52","#D3EAC0","#EDC557","#A8DAB9"]:6==p?["#200A0E","#080811","#006978","#170F08","#FBFBD6","#02E7CA","#729C9D"]:7==p?["#0A0A3D","#041604","#00C075","#87C000","#F9BD27","#FE8900","#FE003B"]:8==p?["#2A0002","#14060B","#664C4C","#EF3B01","#C11900","#A20005"]:9==p?["#000000"M
,"#0B1626","#68D1E6","#A6DAD7","#DFE3CB","#F2852F","#F96800"]:10==p?["#000000","#2F1517","#2AABCF","#6CBAB5","#C3CAA1","#E54508","#F32A00"]:11==p?["#200e36","#1A0210","#e04372","#5aa9e6","#4a4e69","#e04372","#e6b953"]:12==p?["#131303","#040207","#EFA72F","#EF7717","#77BFA7","#FBEAB5","#5D402E"]:13==p?["#1E1E3D","#002030","#009FAF","#CB323E","#EA6740","#ECC850"]:14==p?["#1E1E3D","#292B30","#592D2D","#DEB968","#FEFDDE","#3D4046"]:15==p?["#040207","#002030","#60A5AA","#FAEDC1","#5F5850","#C0B297"]:16==p?["#0F0F00","#0M
30313","#9C8C68","#FDA5A1","#9E7B52","#E1CC92"]:17==p?["#0A0A1A","#120202","#FF8B00","#000000","#649EE8","#917FFF"]:18==p?["#020202","#0A0A1A","#09BEBB","#12737C","#28211E","#FB344B"]:19==p?["#000000","#200B01","#F92900","#F1D593","#85B7B0","#EFD7A7"]:20==p?["#000000","#1A1A1A","#F35C4B","#F6A440","#F9C965","#FDE4AC","#FFFFB1"]:21==p?["#0D1626","#091425","#051738","#204E75","#005151","#A0995F"]:22==p?["#000000","#091425","#764E37","#DF8D78","#F0D3AE","#C4DFDB"]:23==p?["#020202","#1A1A1A","#605274","#8DB1C4","#F8BE7M
5","#E4615B","#D0303C"]:["#050505","#0F0F0F","#000000","#7F7F7F","#333333","#E5E5E5","#F0F0F0"];pC.push(...r);let t=pC.length-1;for(ii=0;ii<3;ii++)for(i=t-1;i<=t;i++)pC.push(pC[i])}var c=document.createElement("canvas");c.width=dim,c.height=dim;var ctx=c.getContext("2d");function draw(){for(ctx.beginPath(),ctx.rect(0,0,c.width,c.height),ctx.fillStyle=pC[colorBackground],ctx.fill(),i=0;i<spots;i++){let r=pC[i%pC.length],t=map(perlin.noise(m[i],i),-1,1,-dim/xOff[i],dim/xOff[i]),e=map(perlin.noise(m[i],i+200),-1,1,-diM
m/yOff[i],dim/yOff[i]),a=map(perlin.noise(10*m[i],i+999),-1,1,-radius[i]/20,radius[i]/20);ctx.beginPath(),ctx.arc(x[i]+t,y[i]+e,radius[i]+a,0,2*Math.PI),ctx.fillStyle=r,ctx.fill(),m[i]+=mOff}bMag=map(perlin.noise(b,spots),-1,1,.8,1.2),render(),b+=bOffset,window.requestAnimationFrame(draw)}function createShader(r,t,e){var i=r.createShader(t);if(r.shaderSource(i,e),r.compileShader(i),r.getShaderParameter(i,r.COMPILE_STATUS))return i;r.deleteShader(i)}function createProgram(r,t,e){var i=r.createProgram();if(r.attachShM
ader(i,t),r.attachShader(i,e),r.linkProgram(i),r.getProgramParameter(i,r.LINK_STATUS))return i;r.deleteProgram(i)}function setRectangle(r,t,e,i,a){let o=t,l=t+i,n=e,s=e+a;r.bufferData(r.ARRAY_BUFFER,new Float32Array([o,n,l,n,o,s,o,s,l,n,l,s]),r.STATIC_DRAW)}setup(),window.requestAnimationFrame(draw);const canvasGL=document.getElementById("myCanvas");canvasGL.width=dim,canvasGL.height=dim;const gl=canvasGL.getContext("webgl");var vertexShader=createShader(gl,gl.VERTEX_SHADER,vs2),fragmentShader=createShader(gl,gl.FRM
AGMENT_SHADER,fs2),program=createProgram(gl,vertexShader,fragmentShader),positionLocation=gl.getAttribLocation(program,"a_position"),texcoordLocation=gl.getAttribLocation(program,"a_texCoord"),positionBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,positionBuffer),setRectangle(gl,0,0,c.width,c.height);var texcoordBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texcoordBuffer),gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]),gl.STATIC_DRAW);var texture=gl.createTexture();gl.binM
dTexture(gl.TEXTURE_2D,texture),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.NEAREST),gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.NEAREST);var resolutionLocation=gl.getUniformLocation(program,"u_resolution"),blurVectorLocation=gl.getUniformLocation(program,"dl");function render(){if(gl){gl.texImage2D(gl.TEXTURE_2D,0,gl.RGBA,gl.RGBA,gl.UNSIGNED_BYTE,ctx.canvas),M
gl.useProgram(program),gl.enableVertexAttribArray(positionLocation),gl.bindBuffer(gl.ARRAY_BUFFER,positionBuffer);var r=gl.FLOAT,t=0;gl.vertexAttribPointer(positionLocation,2,r,false,0,t),gl.enableVertexAttribArray(texcoordLocation),gl.bindBuffer(gl.ARRAY_BUFFER,texcoordBuffer),gl.vertexAttribPointer(texcoordLocation,2,r,false,0,t),gl.uniform2f(resolutionLocation,gl.canvas.width,gl.canvas.height),gl.uniform2f(blurVectorLocation,blurV[0]*bMag,blurV[1]*bMag);var e=gl.TRIANGLES;t=0;gl.drawArrays(e,t,6)}else console.loMo
g("Needs WebGL to run")}gl.viewport(0,0,gl.canvas.width,gl.canvas.height);
window.$generativeTraits = {
  "Palette": pFeat,
  "Noisy": noiseFeat,
  "Angle": angleFeat == 0 ? 'horizontal' : angleFeat == 1 ? 'vertical' : 'diagonal'
console.log(window.$generativeTraits)
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>Dance with BTC by SMLDMS</title>
    <script sandbox="allow-scripts" type="text/javascript"
        src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.6.0/p5.min.js"></script>
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "01234M
56789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> M
19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        let mathRand = sfc32(...cyrb128(seed));
            position: fixed;
            right: 0;
            bottom: 0;
            left: 0;
            color: rgb(255, 255, 255);
            background-color: rgb(0, 0, 0);
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0;
            padding: 0;
            font-size: 0.8em;
            font-family: Impact, 'Arial Narrow Bold', sans-serif;
        object-fit: contain;
            max-height: 100%;
            max-width: 100%;
        #fullScreen {
            display: flex;
            position: fixed;
            right: 0;
            bottom: 0;
            left: 0;
            justify-content: center;
            align-items: center;
        #fullScreen canvas {
            object-fit: contain;
            max-height: 100%;
            max-width: 100%;
           mix-blend-mode: soft-light;
            color: rgb(127);
            opacity: 0.75;
            width: auto;
            height: auto;
            position: fixed;
            text-align: center;
            justify-content: center;
            align-items: center;
            padding: 10%;
        #progress h1 {
            font-size: 10.75em;
            /* display: block; */
            margin: 0%;
            padding: 0%
        #progress h3 {
            font-size: 5.75em;
            /* display: block; */
            margin: 0%;
            padding: 0%
    <script type="text/javascript">
        const rand = mathRand();
        let scl = 5;
        // let shapeName = "";
        /////FEATURES
        function clr(rand) {
            if (rand > 0.5) {
                return 250
            } else {
                return 10
        let shaper M
            n: mathRand(),
            name: "",
            val: "LINES",
        if (shaper.n < 0.25) {
            shaper.name = "Lines"
            shaper.val = "LINES"
        else if (shaper.n < 0.5) {
            shaper.name = "Points"
            shaper.val = "POINTS"
            shaper.name = "Curves"
            shaper.val = ""
        window.$generativeTraits = {
            "BG Color": clr(rand),
            "Base": shaperM
        //////////////////////
        let myTitle = "Dance with BTC";
        console.log(myTitle + " | smldms 2023.02")
        console.log(window.$generativeTraits)
        let pX = mathRand() * 360
        let pY = mathRand() * 360
        let pZ = mathRand() * 360
        let xoff = mathRand();
        let yoff = mathRand();
        let zoff = mathRand();
        let pointX = 0;
        let pointY = 0;
        let globalData;
    let url = 'https://api.blockchain.info/stats';
        function setup() {
            randomSeed(seed);
            noiseSeed(seed);
            loadJSON(url, gotData)
            setAttributes('antialias', true);
            pixelDensity(2)
            cnv = createCanvas(windowWidth, windowHeight, WEBGL);
            cnv.parent('fullScreen');
            angleMode(DEGREES)
            rectMode(CENTER)
            background(clr(rand))
        function draw() {
            rotateX(M
            rotateY(pY)
            rotateZ(pZ)
            noiseX = map(noise(xoff), 0, 1, -width, width)
            noiseY = map(noise(yoff), 0, 1, 0, -height, height)
            if (globalData) {
                rotateX(millis() * 0.01)
                rotateY(millis() * 0.01)
                rotateZ(millis() * 0.01)
                btcPrice = round(globalData.market_price_usd);
                totalBTC = round(globalData.totalbc);
                tradeVol = round(globalData.trade_volume_btc);
                mapVol = map(constrain(tradeVol, 1000, 15000), 1000, 15000, 0.05, 0.33)
                blockS = globalData.blocks_size / 1000000000;
                mapBlock = map(blockS, 0, 10000, 0.00001, 0.001);
                mapPrice = map(constrain(btcPrice, 1000, 500000), 10000, 500000, 50, 200)
                let nbrLines = mapPrice;
                for (let i = 0; i < nbrLines; i = i + scl) {
                    let clr = map(i, 0, nbrLines, 0, 255);
                    let v = map(noise(frameCM
ount), 0, 1, 0, 255);
                    let b = map(noise(millis()), 0, 1, 0, 255);
                    stroke(clr);
                    strokeWeight(map(i, 0, nbrLines, 0, 0.5))
                    push();
                    noFill()
                    beginShape(eval(shaper.val));
                    vertex(pointX, pointY);
                    bezierVertex(x1(t + i), y1(t + i), y1(t + i) / 2, x1(t + i) * 2, y1(t + i), x1(t + i));
                    bezierVertex(y1(t + i), x1(t + i), x1(t + i) / 2, yM
2(t + i) * 2, noiseX, noiseY);
                    bezierVertex(x1(t - i), y1(t - i), y1(t - i) / 2, x1(t - i) * 2, y1(t - i), x1(t - i));
                    vertex(pointX, pointY);
                    endShape();
                    t += mapVol;
                    pop();
                xoff += mapBlock;
                yoff += mapBlock;
        function x1(t) {
            return cos(t / 2) * sin(t / 1) * width / 3;
        function y1(t) {M
            return cos(t / 3) * width / 3 + sin(t / 10) * width / 2;
        function x2(t) {
            return cos(t * 3) * width / 3;
        function y2(t) {
            return cos(t / 2) * width / 2;
        //////////////////KEYS//////////////
        function keyTyped() {
            if (keyCode === 83) { // if "s" is pressed
                save(myTitle + '.png');
            else if (keyCode === 76) { //L for loop
                loop();
            else if (keyCode === 78) { //N for noLoop
                noLoop();
            else if (keyCode === 72) { //H to hide infos
                progress('<h1></h1>');
                progressClear();
            else if (keyCode === 82) { //R to reveal infos
                progress('<h1>$ ' + btcPrice) + '</h1>';
                progressShow()
            ///////////////INTERVAL CLEAR
            else if (keyCode === 97 || keyCode == 49)M
                clearTimeout(tInter);
                tInter = setInterval(autoClear, 1000);
            else if (keyCode === 98 || keyCode == 50) {  //2= 3SEC
                clearTimeout(tInter);
                tInter = setInterval(autoClear, 3000);
            else if (keyCode === 99 || keyCode == 51) { //3 = 10SEC
                clearTimeout(tInter);
                tInter = setInterval(autoClear, 10000);
            else if (keyCode === M
100 || keyCode == 52) { //4= 30SEC
                clearTimeout(tInter);
                tInter = setInterval(autoClear, 30000);
            else if (keyCode === 101 || keyCode == 53) { //5= ONE MINUTE
                clearTimeout(tInter);
                tInter = setInterval(autoClear, 60000);
            else if (keyCode === 102 || keyCode == 54) { //6 = 1 HOUR
                clearTimeout(tInter);
                tInter = setInterval(autoClear, 60000 * 60);
            else if (keyCode === 96 || keyCode == 48) { //0 = NO CLEAR
                clearTimeout(tInter);
        function mousePressed() {
            clear();
            background(clr(rand))
            pointX = map(mouseX, 0, width, -width / 2, width / 2);
            pointY = map(mouseY, 0, height, -height / 2, height / 2);
        function mathRandBetween(a, b) {
            if (!b) {
                return mathRand() * a
eturn mathRand() * (b - a) + a
        function askData() {
            loadJSON(url, gotData);
            console.log(btcPrice)
        function gotData(data) {
            globalData = data;
            setTimeout(askData, 30000);
        function autoClear() {
            background(clr(rand))
        function windowResized() {
            resizeCanvas(windowWidth, windowHeight);
            background(clr(raM
        /////////////PROGRESS
        async function progress(message) {
            document.body.style.cursor = 'crosshair';
            document.getElementById("progress").innerHTML = message;
            await new Promise((fn => setTimeout(fn, 1)));
        async function progressClear() {
            document.body.style.cursor = 'default';
            document.getElementById("progress").style.display = 'none';
            await new Promise((fn => setTimeout(fn, 1)));
        async function progressShow() {
            document.body.style.cursor = 'default';
            document.getElementById("progress").style.display = 'block';
            await new Promise((fn => setTimeout(fn, 1)));
    <div id="fullScreen">
        <div id="progress">
text/plain;charset=utf-8
  "name": "@vip.sats"
text/html;charset=utf-8
    <meta charset="UTF-8" />
    <title>-ORDINALANDS-</title>
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
      crossorigin="anonymous"
      src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"
      crossorigin="anonymous"
        html, body {margin: 0;overflow: hidden;}#blocker {position: absolute;width: 100%;height: 100%;backgroM
und-color: rgba(0, 0, 0, 0.1);z-index: 1000;}.instructions {width: 100%;height: 100%;display: flex;flex-direction: column;justify-content: top;align-items: baseline;text-align: left !important;font-size: 14px;cursor: pointer;padding-top: 15px !important;padding-left: 15px !important;white-space: nowrap !important;}.instr {opacity: 0.4;}.col-6 {padding-left: 0px !important;}body {margin: 0;background-color: #000;color: #fff;font-family: Monospace;font-size: 13px;line-height: 24px;overscroll-behavior: none;}a {color:M
 #ff0;text-decoration: none;}a:hover {text-decoration: underline;}button {cursor: pointer;text-transform: uppercase;}body {margin: 0px;}
    <!-- threejs@r124 -->
    <script  sandbox="allow-scripts" type="text/javascript"src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/three@0.121.1/examples/js/math/ConvexHull.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/three@0.121.1/examples/js/geometries/ConvexGeometry.jsM
    <script id="snippet-random-code" type="text/javascript">
      let seed = window.location.href.split("/").find((t) => t.includes("i0"));
      if (seed == null) {
        const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
          new URLSearchParams(window.location.search).get("seed") ||
            .fill(0)
            .map((_) => alphabet[(Math.random() * alphabet.length) | 0])
            .join("") + "i0";
        let pattern = "seed=";
        for (let i = 0; i < seed.length - pattern.length; ++i) {
          if (seed.substring(i, i + pattern.length) == pattern) {
            seed = seed.substring(i + pattern.length);
      function cyrb128($) {
        let _ = 1779033703,
          u = 3144134277,
          i = 1013904242,
          l = 2773480762;
        for (let n = 0, r; n < $.length; n++)
          (_ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067)),
            (u = i ^ Math.imul(u ^ M
            (i = l ^ Math.imul(i ^ r, 951274213)),
            (l = _ ^ Math.imul(l ^ r, 2716044179));
          (_ = Math.imul(i ^ (_ >>> 18), 597399067)),
          (u = Math.imul(l ^ (u >>> 22), 2869860233)),
          (i = Math.imul(_ ^ (i >>> 17), 951274213)),
          (l = Math.imul(u ^ (l >>> 19), 2716044179)),
          [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
      function sfc32($, _, u, i) {
        return function () {
        (u >>>= 0), (i >>>= 0);
          var l = (($ >>>= 0) + (_ >>>= 0)) | 0;
            ($ = _ ^ (_ >>> 9)),
            (_ = (u + (u << 3)) | 0),
              ((u = (u << 21) | (u >>> 11)) +
                (l = (l + (i = (i + 1) | 0)) | 0)) |
            (l >>> 0) / 4294967296
      let mathRand = sfc32(...cyrb128(seed));
    <script type="text/javascript">
      const random1 = mathRand();
    <div id="blocker"> <div id="loading" style="font-size: 24px" class="instructions instr">Loading...</div><script>var loading=document.getElementById("loading"); console.log('load inner', loading.innerHTML, loading.innerHTML=='Loading...') var loadingInteravl=setInterval(function(){if (loading.innerHTML=='Loading...'){loading.innerHTML='Loading.'}if (loading.innerHTML=='Loading.'){loading.innerHTML='Loading..'}if (loading.innerHTML=='Loading..'){loading.innerHTML='Loading...'}},300) </script> <diM
v id="instructions" class="instructions" style="display: none"> <div class="row text-left mb4"> <div class="col-6 mr-2 instr"> <h5 class="pb-0 mb-0">Start Game:</h5> <h5 class="pb-0 mb-0">Pause:</h5> <h5 class="pb-0 mb-0">Move:</h5> <h5 class="pb-0 mb-0">Jump:</h5> <h5 class="pb-0 mb-0">Look:</h5> <h5 class="pb-0 mb-0">Sprint:</h5> <h5 class="pb-0 mb-0">Place Shape:</h5> <h5 class="pb-0 mb-0">Remove Shape:</h5> </div><div class="col-6 ml-2 instr"> <h5 class="pb-0 mb-0"><b>ENTER</b></h5> <h5 class="pb-0 mb-0"><b>ESCM
</b></h5> <h5 class="pb-0 mb-0"><b>WASD</b></h5> <h5 class="pb-0 mb-0"><b>SPACE</b></h5> <h5 class="pb-0 mb-0"><b>MOUSE</b></h5> <h5 class="pb-0 mb-0"><b>SHIFT</b></h5> <h5 class="pb-0 mb-0"><b>LEFT-CLICK</b></h5> <h5 class="pb-0 mb-0"><b>RIGHT-CLICK</b></h5> </div></div><div> <button class="btn btn-outline-secondary btn-lg mt-3" id="start_game" style="opacity: 1 !important" > PLAY GAME </button> <button class="btn btn-outline-secondary btn-lg mt-3" id="hide" style="opacity: 1 !important" > HIDE THIS </button> </diM
v></div><div class="d-none instr" id="mobile-warning" class="instructions"> <p style="font-size: 24px">Gameplay not supported on mobile</p></div></div><div style=" position: absolute; top: 50vh; left: 50vw; display: none; font-size: 1.2em; font-family: 'Arial'; z-index: 100000; " id="crosshair" > <b>
    <script type="module">
   var water,iframe,intersections,fintersections,wintersections,aintersections,sintersections,dintersections,boxGeometry,floor,finalMesh,finalMaterial,gltfloader,dirLight,hemiLM
ight,canMoveForward,canMoveBackward,canMoveLeft,canMoveRight,time,delta,velocityzcalc,velocityxcalc,velocityycalc,move_obj,onObject,waterColor,image,pos,mesh,loading=document.getElementById("loading"),isMobile=mobileCheck();let rand=mathRand();function windDirection(e){return e>.6}function colorScheme($){return $<.35?0:$>=.35&&$<.6?1:$>=.6&&$<.9?2:$>.9?3:void 0}window.$generativeTraits={windDirection:windDirection(rand),colorScheme:colorScheme(rand)},console.log(window.$generativeTraits);import{Water as e}from"httpM
s://cdn.skypack.dev/three@0.128.0/examples/jsm/objects/Water.js";import{PointerLockControls as o}from"https://cdn.jsdelivr.net/npm/three@0.121.1/examples/jsm/controls/PointerLockControls.js";var waterBasePosition=-175,tideComeingIn=!1,waterSpeed=1;let _p=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83M
,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,1M
81,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180,];for(let i=0;i<256;i++)_p[256+i]=_p[i];function fade(e){return e*e*e*(e*(6*e-15)+10)}function lerp(e,o,t){return o+e*(t-o)}function grad(e,o,t,r){let a=15&e,n=a<8?o:t,s=a<4?t:12==a||14==a?o:r;return((1&a)==0?n:-n)+((2&a)==0?s:-s)}class ImprovedNoise{noise(e,o,t){let r=Math.floor(e),a=Math.floor(o),n=Math.floor(t),s=255&r,c=255&a,d=255&n;e-=r,o-=a,t-=n;let $=e-1,p=o-1,_=t-1,m=fade(e),g=fM
ade(o),w=fade(t),h=_p[s]+c,f=_p[h]+d,b=_p[h+1]+d,y=_p[s+1]+c,v=_p[y]+d,u=_p[y+1]+d;return lerp(w,lerp(g,lerp(m,grad(_p[f],e,o,t),grad(_p[v],$,o,t)),lerp(m,grad(_p[b],e,p,t),grad(_p[u],$,p,t))),lerp(g,lerp(m,grad(_p[f+1],e,o,_),grad(_p[v+1],$,o,_)),lerp(m,grad(_p[b+1],e,p,_),grad(_p[u+1],$,p,_))))}}var gameActive=!1,stickx=0,sticky=0,lookx=0,looky=0;let moveForward=!1,moveBackward=!1,moveLeft=!1,moveRight=!1,canJump=!1,moveUp=!1,moveDown=!1;var frame_count=1,objects=[],lerpActions={},lerpColor=new THREE.Color,lerpCoM
lors=[],initialColor=new THREE.Color,gravity=!0;let prevTime=performance.now(),velocity=new THREE.Vector3,direction=new THREE.Vector3,vertex=new THREE.Vector3,color=new THREE.Color;var _PI_2=Math.PI/2;onObject=!0;var raycaster=new THREE.Raycaster(new THREE.Vector3,new THREE.Vector3(0,-1,0),0,10),fraycaster=new THREE.Raycaster,movementSpeed=400,renderDistance=400,doFloorUpdate=!1;let container=document.createElement("div");container.innerHTML="<span>seed: "+seed+"</span><br>",console.log("seed",seed);var camera=new M
THREE.PerspectiveCamera(95,window.innerWidth/window.innerHeight,1,3500);camera.position.y=400,camera.lookAt(0,-1,0);var scene=new THREE.Scene;scene.background=new THREE.Color(0);let light=new THREE.HemisphereLight(15658751,7829384,.95);light.position.set(.5,100,.75),scene.add(light),0==window.$generativeTraits.colorScheme&&(light.color.r=1.2,light.color.g=.5,light.color.b=.5,waterColor=new THREE.Color(0,.25,0)),1==window.$generativeTraits.colorScheme&&(light.color.g=1.3,light.color.r=.3,light.color.b=.3,waterColor=M
new THREE.Color(.56,0,0)),2==window.$generativeTraits.colorScheme?(light.color.b=1.5,light.color.g=.6,light.color.r=.5,waterColor=new THREE.Color(.4,0,.6)):3==window.$generativeTraits.colorScheme&&(light.color.r=1.53,light.color.g=1.5,light.color.b=.21,waterColor=new THREE.Color(.99,.88,.21)),window.light=light;var controls=new o(camera,document.body),renderer=new THREE.WebGLRenderer({antialias:!1,powerPreference:"high-performance"});renderer.setPixelRatio(window.devicePixelRatio),renderer.setSize(window.innerWidthM
,window.innerHeight),document.body.appendChild(renderer.domElement),window.addEventListener("resize",onWindowResize);let cubeLoader=new THREE.CubeTextureLoader,skyboxTexture=cubeLoader.load(["https://i.ibb.co/bB1qgcy/1.png","https://i.ibb.co/hdnS4PX/2.png","https://i.ibb.co/M5pMx2J/3.png","https://i.ibb.co/vHhVdj9/4.png","https://i.ibb.co/894wyRV/5.png","https://i.ibb.co/Trcj0tx/6.png",]);var loadedCount=0;let ft=new THREE.TextureLoader().load("https://i.ibb.co/Jmc3Yc0/space-ft.png",onLoadCallback),bk=new THREE.TexM
tureLoader().load("https://i.ibb.co/KXyM8Dp/space-bk.png",onLoadCallback),up=new THREE.TextureLoader().load("https://i.ibb.co/rp4W3fR/space-up.png",onLoadCallback),dn=new THREE.TextureLoader().load("https://i.ibb.co/Q7B2fTC/space-dn.png",onLoadCallback),rt=new THREE.TextureLoader().load("https://i.ibb.co/NVyD5jy/space-rt.png",onLoadCallback),lf=new THREE.TextureLoader().load("https://i.ibb.co/xsx5rYK/space-lf.png",onLoadCallback);var materialArray=[];materialArray.push(new THREE.MeshBasicMaterial({map:ft,side:THREEM
.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:bk,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:up,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:dn,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:rt,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:lf,side:THREE.BackSide,fog:!1}));var skyboxGeo=new THREE.BoxGeometry(3e3,3e3,3e3),skybox=new THREE.Mesh(skybM
oxGeo,materialArray);function onLoadCallback(){6==++loadedCount&&scene.add(skybox)}function onWindowResize(){camera.aspect=window.innerWidth/window.innerHeight,camera.updateProjectionMatrix(),renderer.setSize(window.innerWidth,window.innerHeight)}function perlinRandom(){let e=100*Math.sin(mathRand());return e-Math.floor(e)}var worldWidth=512,worldDepth=512,height_map={};function generateHeight(e,o){let t=e*o,r=new Uint8Array(t),a=new ImprovedNoise,n=5*perlinRandom(),s=35;for(let c=0;c<2;c++){for(let d=0;d<t;d++){leM
t $=d%e,p=~~(d/e);r[d]+=Math.abs(a.noise($/s,p/s,n)*s*1.85),height_map[[$,p]]=r[d]}s*=4}return r}controls.getObject().position.x=worldWidth/2,controls.getObject().position.z=worldDepth/2;let floorGeometry=new THREE.PlaneBufferGeometry(worldWidth,worldDepth,worldWidth-1,worldDepth-1);floorGeometry.rotateX(-Math.PI/2);let data=generateHeight(worldWidth,worldDepth),vertices=floorGeometry.attributes.position.array;window.vertices=vertices;for(let i=0,j=0,l=vertices.length;i<l;i++,j+=3)vertices[j+1]=1*data[i]-200;var teM
mpColor=new THREE.Color(16377338),texture=new THREE.CanvasTexture(generateTexture(data,worldWidth,worldDepth));function generateTexture(e,o,t){let r,a,n,s=new THREE.Vector3(0,0,0),c=new THREE.Vector3(1,25*mathRand(),5);c.normalize();let d=document.createElement("canvas");d.width=o,d.height=t,window.canvas=d,(r=d.getContext("2d")).fillStyle="#010011",r.fillRect(0,0,o,t),a=(image=r.getImageData(0,0,d.width,d.height)).data;var $=64+64*mathRand(),p=86+86*mathRand(),_=22+22*mathRand(),m=.33+.33*mathRand(),g=.004+.004*maM
thRand();for(let w=0,h=0,f=a.length;w<f;w+=4,h++)s.x=e[h-2]-e[h+2],s.y=2,s.z=e[h-2*o]-e[h+2*o],s.normalize(),n=s.dot(c),a[w]=($+n*p)*(m+e[h]*g),a[w+1]=(_+n*$)*(m+e[h]*g),a[w+2]=n*$*(m+e[h]*g);r.putImageData(image,0,0);let b=document.createElement("canvas");b.width=4*o,b.height=4*t,(r=b.getContext("2d")).scale(4,4),r.drawImage(d,0,0),a=(image=r.getImageData(0,0,b.width,b.height)).data;for(let y=0,v=a.length;y<v;y+=4){let u=~~(mathRand()*(3+2*mathRand()));a[y]+=u,a[y+1]+=u,a[y+2]+=u}return r.putImageData(image,0,0),bM
}texture.wrapS=THREE.ClampToEdgeWrapping,texture.wrapT=THREE.ClampToEdgeWrapping;let floorMaterial=new THREE.MeshLambertMaterial({map:texture});floorMaterial.color=tempColor;var floor=new THREE.Mesh(floorGeometry,floorMaterial);2==window.$generativeTraits.colorScheme&&(floor.material.color.r=0),window.floor=floor,scene.add(floor),objects.push(floor);var gridColor=new THREE.Color(2302755);let grid=new THREE.GridHelper(worldWidth,25,gridColor);grid.rotateX(-Math.PI/2),grid.position.x=worldWidth/2,grid.position.y=-worM
ldWidth/4,grid.material.opacity=.001,scene.add(grid),window.grid=grid;let grid2=new THREE.GridHelper(worldWidth,25,gridColor);grid2.rotateX(-Math.PI/2),grid2.position.x=worldWidth/2,grid2.position.y=-worldWidth/4,grid2.position.z=worldDepth,grid2.material.opacity=.1,scene.add(grid2);let grid3=new THREE.GridHelper(worldDepth,25,gridColor);grid3.rotateZ(-Math.PI/2),grid3.position.y=-worldWidth/4,grid3.position.z=worldDepth/2,grid3.material.opacity=.1,scene.add(grid3);let grid4=new THREE.GridHelper(worldDepth,25,gridCM
olor);grid4.rotateZ(-Math.PI/2),grid4.position.x=worldWidth,grid4.position.y=-worldWidth/4,grid4.position.z=worldDepth/2,grid4.material.opacity=.1,scene.add(grid4);let grid5=new THREE.GridHelper(worldDepth,25);grid5.position.x=worldWidth/2,grid5.position.y=worldWidth/4,grid5.position.z=worldDepth/2,grid5.material.opacity=.1,floor.position.set(worldWidth/2,0,worldDepth/2),boxGeometry=new THREE.BoxGeometry(10,10,10);var posnegWind=mathRand()>.5?-1:1,windDirectionVal=window.$generativeTraits.windDirection?new THREE.VeM
ctor3(posnegWind*mathRand()*.1,0,0):new THREE.Vector3(0,0,posnegWind*mathRand()*.1),boxMaterial=new THREE.MeshLambertMaterial({side:THREE.FrontSide}),instanceBoxMaterial=new THREE.MeshLambertMaterial({side:THREE.FrontSide});camera.updateMatrix();var firstUnlock=!0;function unlock(){firstUnlock&&(firstUnlock=!1),camera.updateProjectionMatrix()}function animate(){requestAnimationFrame(animate),renderer.render(scene,camera),time=performance.now(),water&&(water.position.y<=waterBasePosition-10&&(tideComeingIn=!0),waterM
.position.y>=waterBasePosition+10&&(tideComeingIn=!1),tideComeingIn?water.position.lerp(new THREE.Vector3(water.position.x,water.position.y+waterSpeed,water.position.x),.05):water.position.lerp(new THREE.Vector3(water.position.x,water.position.y-waterSpeed,water.position.x),.05));var e=new THREE.Vector2;if(!0===controls.isLocked||gameActive){doFloorUpdate&&(floor.geometry.attributes.position.needsUpdate=!0,floor.updateMatrix(),floorGeometry.attributes.position.needsUpdate=!0,floorGeometry.computeVertexNormals(),doFM
loorUpdate=!1),frame_count+=1,camera.updateMatrix(),delta=(time-prevTime)/1e3,velocity.x-=10*velocity.x*delta,velocity.z-=10*velocity.z*delta,velocity.z-=10*velocity.z*delta,direction.z=Number(moveForward)-Number(moveBackward),direction.x=Number(moveRight)-Number(moveLeft),direction.y=Number(moveUp)-Number(moveDown),direction.normalize(),(moveForward||moveBackward)&&(velocityzcalc=direction.z*movementSpeed*delta,velocity.z-=velocityzcalc),(moveLeft||moveRight)&&(velocityxcalc=direction.x*movementSpeed*delta,velocitM
y.x-=velocityxcalc),controls.moveRight(-velocity.x*delta),controls.moveForward(-velocity.z*delta),controls.getObject().position.y+=velocity.y*delta;var o=Math.round(controls.getObject().position.x),t=Math.round(controls.getObject().position.z),r=height_map[[o,t]]-175;fraycaster.setFromCamera(e,camera),raycaster.ray.origin.copy(controls.getObject().position),raycaster.ray.origin.y-=7,intersections=raycaster.intersectObjects(objects,!1),onObject=!1,controls.getObject().position.y<r+25&&(velocity.y=0,controls.getObjecM
t().position.y=r+25,onObject=!0),intersections&&intersections.length>0&&intersections.every(function(e){if(e.object.uuid!=floor.uuid)return onObject=!0,!1}),!0===onObject&&(velocity.y=Math.max(0,velocity.y),canJump=!0),r&&r>=controls.getObject().position.y&&camera.position.lerp(new THREE.Vector3(controls.getObject().position.x,r,controls.getObject().position.z),.1),onObject||(velocity.y-=180*delta),o>worldWidth-5&&(controls.getObject().position.x=worldWidth-5),t>worldDepth-5&&(controls.getObject().position.z=worldDM
epth-5),o<5&&(controls.getObject().position.x=5),t<5&&(controls.getObject().position.z=5)}if(prevTime=time,renderer.render(scene,camera),camera.updateMatrixWorld(),lerpColors&&lerpColors&&lerpColors.length>=objects.length)for(var a=0;a<objects.length;a++)objects[a].uuid!=floor.uuid&&objects[a].material.color.lerp(lerpColors[a],.01);if(objects){for(var a=0;a<objects.length;a++)if(objects[a].uuid!=floor.uuid){var n=new THREE.Vector3().addVectors(windDirectionVal,new THREE.Vector3(-.05+.1*mathRand(),0,-.05+.1*mathRandM
()));objects[a].position.lerp(objects[a].position.add(n),.1),objects[a].position.x>worldWidth&&(objects[a].position.x=0),objects[a].position.x<0&&(objects[a].position.x=worldWidth),objects[a].position.z>worldDepth&&(objects[a].position.z=0),objects[a].position.z<0&&(objects[a].position.z=worldDepth);var o=Math.round(objects[a].position.x),t=Math.round(objects[a].position.z),r=height_map[[o,t]]-175;r&&objects[a].position<r&&objects[a].position.lerp(new THREE.Vector3(objects[a].position.x,r+objects[a].userData.heightM
Diff,objects[a].position.z),.1)}}floor.visible=!0}function startGame(){if(!isMobile){if(iframe=document.getElementsByTagName("iframe"),console.log("What iframes were foudn?",iframe),iframe&&iframe.length>0){var e=(iframe=iframe[0])[0];console.log("do we got an iframe?",e),console.log("Foudn the iframe"),e.sandbox="allow-scripts allow-same-origin allow-pointer-lock"}try{controls.lock(),gameActive=!0,unlock()}catch{instructions.style.display="none",camera.position.y=250}}}animate(),document.getElementById("start_gameM
").addEventListener("click",function(){startGame()});let blocker=document.getElementById("blocker"),instructions=document.getElementById("instructions");controls.addEventListener("lock",function(){unlock(),camera.updateProjectionMatrix(),instructions.style.display="none",blocker.style.display="none",document.getElementById("crosshair").style.display="block",document.getElementById("crosshair").style.zIndex=1e5,gameActive=!0}),controls.addEventListener("unlock",function(){blocker.style.display="block",instructions.sM
tyle.display="",document.getElementById("crosshair").style.display="none",gameActive=!1}),scene.add(controls.getObject());let onKeyDown=function(e){switch(e.code){case"ArrowUp":case"KeyW":moveForward=!0;break;case"ArrowLeft":case"KeyA":moveLeft=!0;break;case"ArrowDown":case"KeyS":moveBackward=!0;break;case"ArrowRight":case"KeyD":moveRight=!0;break;case"KeyG":gravity=!gravity;break;case"Space":!0===canJump&&(velocity.y+=125),canJump=!1;break;case"Enter":controls.isLocked||(controls.lock(),gameActive=!0);case"ShiftLeM
ft":case"Control":movementSpeed=1500;break;case"KeyC":copyColor()}},onKeyUp=function(e){switch(e.code){case"ArrowUp":case"KeyW":moveForward=!1;break;case"ArrowLeft":case"KeyA":moveLeft=!1;break;case"ArrowDown":case"KeyS":moveBackward=!1;break;case"ArrowRight":case"KeyD":moveRight=!1;break;case"ShiftLeft":movementSpeed=400}};document.addEventListener("keydown",onKeyDown),document.addEventListener("keyup",onKeyUp);for(let i=0;i<0;i++){let t=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0,vertexColors:!0M
});t.color.HSL(.2*mathRand()+.5,.75,.25*mathRand()+.75);let r=new THREE.Mesh(boxGeometry,t);r.position.x=20*Math.floor(20*mathRand()-10),r.position.y=20*Math.floor(20*mathRand())+10,r.position.z=20*Math.floor(20*mathRand()-10),scene.add(r)}var points=[],material=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});for(let j=0;j<25;j++){var a=Math.floor(4+6*mathRand()),n=mathRand()*(100*mathRand());for(let s=0;s<a;s++)points.push(new THREE.Vector3(50+mathRand()*n,-50+mathRand()*n,mathRand()*n));var c,d,$=M
height_map[[Math.round((pos=[worldWidth*mathRand(),0,worldDepth*mathRand()])[0]),Math.round(pos[2])]]-175,p=$+200*mathRand();pos[1]=p;var _=p-$,m=new THREE.ConvexGeometry(points);let g=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});g.color.setHSL(.2*mathRand()+.5,.75,.25*mathRand()+.75),(mesh=new THREE.Mesh(m,g)).position.x=pos[0],mesh.position.y=pos[1],mesh.position.z=pos[2],mesh.userData.heightDiff=_,scene.add(mesh),objects.push(mesh),finalMesh=mesh,finalMaterial=g}var interval=setInterval(functiM
on(){for(var e=0;e<objects.length;e++){var o=new THREE.Color;o.setHex(16777215*mathRand()),lerpColors.length<objects.length?lerpColors.push(o):lerpColors[e]=o}},2e3);let waterGeometry=new THREE.PlaneGeometry(worldWidth,worldDepth);function triggerDeleteTerrain(){if((fintersections=fraycaster.intersectObjects(objects,!1))&&fintersections.length>0){for(var e of fintersections)if(e.object.uuid!=water.uuid&&e.object.uuid!=floor.uuid){o=e;break}if(o){var o,t=o.object;scene.remove(t),t.geometry.dispose(),t.material.dispoM
se()}}}function triggerMoveTerrain(){if((fintersections=fraycaster.intersectObjects(objects,!1))&&fintersections.length>0){for(var e of fintersections)if(e.object.uuid!=water.uuid){o=e;break}if(o){floor.geometry.attributes.position.array,floor.geometry.attributes.position,o.point.x,o.point.z,new THREE.Vector2,new THREE.Vector3;var o,t,r,a,n=[],s=Math.floor(4+6*mathRand()),c=mathRand()*(200*mathRand());for(let d=0;d<s;d++)n.push(new THREE.Vector3(mathRand()*c,mathRand()*c,mathRand()*c));height_map[[Math.round((t=[o.M
point.x,o.point.y,o.point.z])[0]),Math.round(t[2])]];var $=new THREE.ConvexGeometry(n);let p=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});p.color.setHSL(.2*mathRand()+.5,.75,.25*mathRand()+.75),r=new THREE.Mesh($,p);var _=new THREE.Box3().setFromObject(r).getSize();r.position.x=t[0]-_.x,r.position.y=t[1]+_.y+1,r.position.z=t[2]-_.z,scene.add(r),objects.push(r)}}}function mobileCheck(){var e;let o=!1;return e=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantM
go|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bM
umb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w]M
)|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|M
sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(o=!0),console.log("ismobile? "+o),o}water=new e(waterGeometry,{textureWidth:512,textureHeight:512,waterNormals:new THREE.TextureLoadM
er().load("https://raw.githubusercontent.com/IanUme/ThreejsTest/master/textures/waternormals.jpg",function(e){e.wrapS=e.wrapT=THREE.RepeatWrapping,scene.add(water),loadingDone()}),sunDirection:new THREE.Vector3,sunColor:waterColor,waterColor:waterColor,distortionScale:3.7,fog:void 0!==scene.fog}),window.water=water,water.position.y=waterBasePosition,water.position.x=worldWidth/2,water.position.z=worldDepth/2,water.rotation.x=-Math.PI/2,document.addEventListener("click",function(e){(!0===controls.isLocked||gameActivM
e)&&(0==e.button?triggerMoveTerrain():triggerDeleteTerrain())});var mobileWarning=document.getElementById("mobile-warning");function loadingDone(){instructions.style.display="",loading.style.display="none"}document,isMobile&&(instructions.classList.add("d-none"),mobileWarning.classList.remove("d-none")),document.getElementById("hide").onclick=function(){instructions.style.display="none"},setTimeout(function(){console.log("hide the display after 10 seconds of inactivity. "),instructions.style.display="none"},1e4),wiMU
ndow.onload=function(){if(iframe=document.getElementsByTagName("iframe"),console.log("What iframes were foudn?",iframe),iframe&&iframe.length>0){var e=(iframe=iframe[0])[0];console.log("do we got an iframe?",e),console.log("Foudn the iframe"),e.sandbox="allow-scripts allow-same-origin allow-pointer-lock"}};
text/html;charset=utf-8
    <meta charset="UTF-8" />
    <title>-ORDINALANDS-</title>
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css"
      crossorigin="anonymous"
      src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"
      crossorigin="anonymous"
        html, body {margin: 0;overflow: hidden;}#blocker {position: absolute;width: 100%;height: 100%;backgroM
und-color: rgba(0, 0, 0, 0.1);z-index: 1000;}.instructions {width: 100%;height: 100%;display: flex;flex-direction: column;justify-content: top;align-items: baseline;text-align: left !important;font-size: 14px;cursor: pointer;padding-top: 15px !important;padding-left: 15px !important;white-space: nowrap !important;}.instr {opacity: 0.4;}.col-6 {padding-left: 0px !important;}body {margin: 0;background-color: #000;color: #fff;font-family: Monospace;font-size: 13px;line-height: 24px;overscroll-behavior: none;}a {color:M
 #ff0;text-decoration: none;}a:hover {text-decoration: underline;}button {cursor: pointer;text-transform: uppercase;}body {margin: 0px;}
    <!-- threejs@r124 -->
    <script  sandbox="allow-scripts" type="text/javascript"src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/three@0.121.1/examples/js/math/ConvexHull.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/three@0.121.1/examples/js/geometries/ConvexGeometry.jsM
    <script id="snippet-random-code" type="text/javascript">
      let seed = window.location.href.split("/").find((t) => t.includes("i0"));
      if (seed == null) {
        const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
          new URLSearchParams(window.location.search).get("seed") ||
            .fill(0)
            .map((_) => alphabet[(Math.random() * alphabet.length) | 0])
            .join("") + "i0";
        let pattern = "seed=";
        for (let i = 0; i < seed.length - pattern.length; ++i) {
          if (seed.substring(i, i + pattern.length) == pattern) {
            seed = seed.substring(i + pattern.length);
      function cyrb128($) {
        let _ = 1779033703,
          u = 3144134277,
          i = 1013904242,
          l = 2773480762;
        for (let n = 0, r; n < $.length; n++)
          (_ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067)),
            (u = i ^ Math.imul(u ^ M
            (i = l ^ Math.imul(i ^ r, 951274213)),
            (l = _ ^ Math.imul(l ^ r, 2716044179));
          (_ = Math.imul(i ^ (_ >>> 18), 597399067)),
          (u = Math.imul(l ^ (u >>> 22), 2869860233)),
          (i = Math.imul(_ ^ (i >>> 17), 951274213)),
          (l = Math.imul(u ^ (l >>> 19), 2716044179)),
          [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
      function sfc32($, _, u, i) {
        return function () {
        (u >>>= 0), (i >>>= 0);
          var l = (($ >>>= 0) + (_ >>>= 0)) | 0;
            ($ = _ ^ (_ >>> 9)),
            (_ = (u + (u << 3)) | 0),
              ((u = (u << 21) | (u >>> 11)) +
                (l = (l + (i = (i + 1) | 0)) | 0)) |
            (l >>> 0) / 4294967296
      let mathRand = sfc32(...cyrb128(seed));
    <script type="text/javascript">
      const random1 = mathRand();
    <div id="blocker"> <div id="loading" style="font-size: 24px" class="instructions instr">Loading...</div><script>var loading=document.getElementById("loading"); console.log('load inner', loading.innerHTML, loading.innerHTML=='Loading...') var loadingInteravl=setInterval(function(){if (loading.innerHTML=='Loading...'){loading.innerHTML='Loading.'}if (loading.innerHTML=='Loading.'){loading.innerHTML='Loading..'}if (loading.innerHTML=='Loading..'){loading.innerHTML='Loading...'}},300) </script> <diM
v id="instructions" class="instructions" style="display: none"> <div class="row text-left mb4"> <div class="col-6 mr-2 instr"> <h5 class="pb-0 mb-0">Start Game:</h5> <h5 class="pb-0 mb-0">Pause:</h5> <h5 class="pb-0 mb-0">Move:</h5> <h5 class="pb-0 mb-0">Jump:</h5> <h5 class="pb-0 mb-0">Look:</h5> <h5 class="pb-0 mb-0">Sprint:</h5> <h5 class="pb-0 mb-0">Place Shape:</h5> <h5 class="pb-0 mb-0">Remove Shape:</h5> </div><div class="col-6 ml-2 instr"> <h5 class="pb-0 mb-0"><b>ENTER</b></h5> <h5 class="pb-0 mb-0"><b>ESCM
</b></h5> <h5 class="pb-0 mb-0"><b>WASD</b></h5> <h5 class="pb-0 mb-0"><b>SPACE</b></h5> <h5 class="pb-0 mb-0"><b>MOUSE</b></h5> <h5 class="pb-0 mb-0"><b>SHIFT</b></h5> <h5 class="pb-0 mb-0"><b>LEFT-CLICK</b></h5> <h5 class="pb-0 mb-0"><b>RIGHT-CLICK</b></h5> </div></div><div> <button class="btn btn-outline-secondary btn-lg mt-3" id="start_game" style="opacity: 1 !important" > PLAY GAME </button> <button class="btn btn-outline-secondary btn-lg mt-3" id="hide" style="opacity: 1 !important" > HIDE THIS </button> </diM
v></div><div class="d-none instr" id="mobile-warning" class="instructions"> <p style="font-size: 24px">Gameplay not supported on mobile</p></div></div><div style=" position: absolute; top: 50vh; left: 50vw; display: none; font-size: 1.2em; font-family: 'Arial'; z-index: 100000; " id="crosshair" > <b>
    <script type="module">
   var water,iframe,intersections,fintersections,wintersections,aintersections,sintersections,dintersections,boxGeometry,floor,finalMesh,finalMaterial,gltfloader,dirLight,hemiLM
ight,canMoveForward,canMoveBackward,canMoveLeft,canMoveRight,time,delta,velocityzcalc,velocityxcalc,velocityycalc,move_obj,onObject,waterColor,image,pos,mesh,loading=document.getElementById("loading"),isMobile=mobileCheck();let rand=mathRand();function windDirection(e){return e>.6}function colorScheme($){return $<.35?0:$>=.35&&$<.6?1:$>=.6&&$<.9?2:$>.9?3:void 0}window.$generativeTraits={windDirection:windDirection(rand),colorScheme:colorScheme(rand)},console.log(window.$generativeTraits);import{Water as e}from"httpM
s://cdn.skypack.dev/three@0.128.0/examples/jsm/objects/Water.js";import{PointerLockControls as o}from"https://cdn.jsdelivr.net/npm/three@0.121.1/examples/jsm/controls/PointerLockControls.js";var waterBasePosition=-175,tideComeingIn=!1,waterSpeed=1;let _p=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83M
,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,1M
81,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180,];for(let i=0;i<256;i++)_p[256+i]=_p[i];function fade(e){return e*e*e*(e*(6*e-15)+10)}function lerp(e,o,t){return o+e*(t-o)}function grad(e,o,t,r){let a=15&e,n=a<8?o:t,s=a<4?t:12==a||14==a?o:r;return((1&a)==0?n:-n)+((2&a)==0?s:-s)}class ImprovedNoise{noise(e,o,t){let r=Math.floor(e),a=Math.floor(o),n=Math.floor(t),s=255&r,c=255&a,d=255&n;e-=r,o-=a,t-=n;let $=e-1,p=o-1,_=t-1,m=fade(e),g=fM
ade(o),w=fade(t),h=_p[s]+c,f=_p[h]+d,b=_p[h+1]+d,y=_p[s+1]+c,v=_p[y]+d,u=_p[y+1]+d;return lerp(w,lerp(g,lerp(m,grad(_p[f],e,o,t),grad(_p[v],$,o,t)),lerp(m,grad(_p[b],e,p,t),grad(_p[u],$,p,t))),lerp(g,lerp(m,grad(_p[f+1],e,o,_),grad(_p[v+1],$,o,_)),lerp(m,grad(_p[b+1],e,p,_),grad(_p[u+1],$,p,_))))}}var gameActive=!1,stickx=0,sticky=0,lookx=0,looky=0;let moveForward=!1,moveBackward=!1,moveLeft=!1,moveRight=!1,canJump=!1,moveUp=!1,moveDown=!1;var frame_count=1,objects=[],lerpActions={},lerpColor=new THREE.Color,lerpCoM
lors=[],initialColor=new THREE.Color,gravity=!0;let prevTime=performance.now(),velocity=new THREE.Vector3,direction=new THREE.Vector3,vertex=new THREE.Vector3,color=new THREE.Color;var _PI_2=Math.PI/2;onObject=!0;var raycaster=new THREE.Raycaster(new THREE.Vector3,new THREE.Vector3(0,-1,0),0,10),fraycaster=new THREE.Raycaster,movementSpeed=400,renderDistance=400,doFloorUpdate=!1;let container=document.createElement("div");container.innerHTML="<span>seed: "+seed+"</span><br>",console.log("seed",seed);var camera=new M
THREE.PerspectiveCamera(95,window.innerWidth/window.innerHeight,1,3500);camera.position.y=400,camera.lookAt(0,-1,0);var scene=new THREE.Scene;scene.background=new THREE.Color(0);let light=new THREE.HemisphereLight(15658751,7829384,.95);light.position.set(.5,100,.75),scene.add(light),0==window.$generativeTraits.colorScheme&&(light.color.r=1.2,light.color.g=.5,light.color.b=.5,waterColor=new THREE.Color(0,.25,0)),1==window.$generativeTraits.colorScheme&&(light.color.g=1.3,light.color.r=.3,light.color.b=.3,waterColor=M
new THREE.Color(.56,0,0)),2==window.$generativeTraits.colorScheme?(light.color.b=1.5,light.color.g=.6,light.color.r=.5,waterColor=new THREE.Color(.4,0,.6)):3==window.$generativeTraits.colorScheme&&(light.color.r=1.53,light.color.g=1.5,light.color.b=.21,waterColor=new THREE.Color(.99,.88,.21)),window.light=light;var controls=new o(camera,document.body),renderer=new THREE.WebGLRenderer({antialias:!1,powerPreference:"high-performance"});renderer.setPixelRatio(window.devicePixelRatio),renderer.setSize(window.innerWidthM
,window.innerHeight),document.body.appendChild(renderer.domElement),window.addEventListener("resize",onWindowResize);let cubeLoader=new THREE.CubeTextureLoader,skyboxTexture=cubeLoader.load(["https://i.ibb.co/bB1qgcy/1.png","https://i.ibb.co/hdnS4PX/2.png","https://i.ibb.co/M5pMx2J/3.png","https://i.ibb.co/vHhVdj9/4.png","https://i.ibb.co/894wyRV/5.png","https://i.ibb.co/Trcj0tx/6.png",]);var loadedCount=0;let ft=new THREE.TextureLoader().load("https://i.ibb.co/Jmc3Yc0/space-ft.png",onLoadCallback),bk=new THREE.TexM
tureLoader().load("https://i.ibb.co/KXyM8Dp/space-bk.png",onLoadCallback),up=new THREE.TextureLoader().load("https://i.ibb.co/rp4W3fR/space-up.png",onLoadCallback),dn=new THREE.TextureLoader().load("https://i.ibb.co/Q7B2fTC/space-dn.png",onLoadCallback),rt=new THREE.TextureLoader().load("https://i.ibb.co/NVyD5jy/space-rt.png",onLoadCallback),lf=new THREE.TextureLoader().load("https://i.ibb.co/xsx5rYK/space-lf.png",onLoadCallback);var materialArray=[];materialArray.push(new THREE.MeshBasicMaterial({map:ft,side:THREEM
.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:bk,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:up,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:dn,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:rt,side:THREE.BackSide,fog:!1})),materialArray.push(new THREE.MeshBasicMaterial({map:lf,side:THREE.BackSide,fog:!1}));var skyboxGeo=new THREE.BoxGeometry(3e3,3e3,3e3),skybox=new THREE.Mesh(skybM
oxGeo,materialArray);function onLoadCallback(){6==++loadedCount&&scene.add(skybox)}function onWindowResize(){camera.aspect=window.innerWidth/window.innerHeight,camera.updateProjectionMatrix(),renderer.setSize(window.innerWidth,window.innerHeight)}function perlinRandom(){let e=100*Math.sin(mathRand());return e-Math.floor(e)}var worldWidth=512,worldDepth=512,height_map={};function generateHeight(e,o){let t=e*o,r=new Uint8Array(t),a=new ImprovedNoise,n=5*perlinRandom(),s=35;for(let c=0;c<2;c++){for(let d=0;d<t;d++){leM
t $=d%e,p=~~(d/e);r[d]+=Math.abs(a.noise($/s,p/s,n)*s*1.85),height_map[[$,p]]=r[d]}s*=4}return r}controls.getObject().position.x=worldWidth/2,controls.getObject().position.z=worldDepth/2;let floorGeometry=new THREE.PlaneBufferGeometry(worldWidth,worldDepth,worldWidth-1,worldDepth-1);floorGeometry.rotateX(-Math.PI/2);let data=generateHeight(worldWidth,worldDepth),vertices=floorGeometry.attributes.position.array;window.vertices=vertices;for(let i=0,j=0,l=vertices.length;i<l;i++,j+=3)vertices[j+1]=1*data[i]-200;var teM
mpColor=new THREE.Color(16377338),texture=new THREE.CanvasTexture(generateTexture(data,worldWidth,worldDepth));function generateTexture(e,o,t){let r,a,n,s=new THREE.Vector3(0,0,0),c=new THREE.Vector3(1,25*mathRand(),5);c.normalize();let d=document.createElement("canvas");d.width=o,d.height=t,window.canvas=d,(r=d.getContext("2d")).fillStyle="#010011",r.fillRect(0,0,o,t),a=(image=r.getImageData(0,0,d.width,d.height)).data;var $=64+64*mathRand(),p=86+86*mathRand(),_=22+22*mathRand(),m=.33+.33*mathRand(),g=.004+.004*maM
thRand();for(let w=0,h=0,f=a.length;w<f;w+=4,h++)s.x=e[h-2]-e[h+2],s.y=2,s.z=e[h-2*o]-e[h+2*o],s.normalize(),n=s.dot(c),a[w]=($+n*p)*(m+e[h]*g),a[w+1]=(_+n*$)*(m+e[h]*g),a[w+2]=n*$*(m+e[h]*g);r.putImageData(image,0,0);let b=document.createElement("canvas");b.width=4*o,b.height=4*t,(r=b.getContext("2d")).scale(4,4),r.drawImage(d,0,0),a=(image=r.getImageData(0,0,b.width,b.height)).data;for(let y=0,v=a.length;y<v;y+=4){let u=~~(mathRand()*(3+2*mathRand()));a[y]+=u,a[y+1]+=u,a[y+2]+=u}return r.putImageData(image,0,0),bM
}texture.wrapS=THREE.ClampToEdgeWrapping,texture.wrapT=THREE.ClampToEdgeWrapping;let floorMaterial=new THREE.MeshLambertMaterial({map:texture});floorMaterial.color=tempColor;var floor=new THREE.Mesh(floorGeometry,floorMaterial);2==window.$generativeTraits.colorScheme&&(floor.material.color.r=0),window.floor=floor,scene.add(floor),objects.push(floor);var gridColor=new THREE.Color(2302755);let grid=new THREE.GridHelper(worldWidth,25,gridColor);grid.rotateX(-Math.PI/2),grid.position.x=worldWidth/2,grid.position.y=-worM
ldWidth/4,grid.material.opacity=.001,scene.add(grid),window.grid=grid;let grid2=new THREE.GridHelper(worldWidth,25,gridColor);grid2.rotateX(-Math.PI/2),grid2.position.x=worldWidth/2,grid2.position.y=-worldWidth/4,grid2.position.z=worldDepth,grid2.material.opacity=.1,scene.add(grid2);let grid3=new THREE.GridHelper(worldDepth,25,gridColor);grid3.rotateZ(-Math.PI/2),grid3.position.y=-worldWidth/4,grid3.position.z=worldDepth/2,grid3.material.opacity=.1,scene.add(grid3);let grid4=new THREE.GridHelper(worldDepth,25,gridCM
olor);grid4.rotateZ(-Math.PI/2),grid4.position.x=worldWidth,grid4.position.y=-worldWidth/4,grid4.position.z=worldDepth/2,grid4.material.opacity=.1,scene.add(grid4);let grid5=new THREE.GridHelper(worldDepth,25);grid5.position.x=worldWidth/2,grid5.position.y=worldWidth/4,grid5.position.z=worldDepth/2,grid5.material.opacity=.1,floor.position.set(worldWidth/2,0,worldDepth/2),boxGeometry=new THREE.BoxGeometry(10,10,10);var posnegWind=mathRand()>.5?-1:1,windDirectionVal=window.$generativeTraits.windDirection?new THREE.VeM
ctor3(posnegWind*mathRand()*.1,0,0):new THREE.Vector3(0,0,posnegWind*mathRand()*.1),boxMaterial=new THREE.MeshLambertMaterial({side:THREE.FrontSide}),instanceBoxMaterial=new THREE.MeshLambertMaterial({side:THREE.FrontSide});camera.updateMatrix();var firstUnlock=!0;function unlock(){firstUnlock&&(firstUnlock=!1),camera.updateProjectionMatrix()}function animate(){requestAnimationFrame(animate),renderer.render(scene,camera),time=performance.now(),water&&(water.position.y<=waterBasePosition-10&&(tideComeingIn=!0),waterM
.position.y>=waterBasePosition+10&&(tideComeingIn=!1),tideComeingIn?water.position.lerp(new THREE.Vector3(water.position.x,water.position.y+waterSpeed,water.position.x),.05):water.position.lerp(new THREE.Vector3(water.position.x,water.position.y-waterSpeed,water.position.x),.05));var e=new THREE.Vector2;if(!0===controls.isLocked||gameActive){doFloorUpdate&&(floor.geometry.attributes.position.needsUpdate=!0,floor.updateMatrix(),floorGeometry.attributes.position.needsUpdate=!0,floorGeometry.computeVertexNormals(),doFM
loorUpdate=!1),frame_count+=1,camera.updateMatrix(),delta=(time-prevTime)/1e3,velocity.x-=10*velocity.x*delta,velocity.z-=10*velocity.z*delta,velocity.z-=10*velocity.z*delta,direction.z=Number(moveForward)-Number(moveBackward),direction.x=Number(moveRight)-Number(moveLeft),direction.y=Number(moveUp)-Number(moveDown),direction.normalize(),(moveForward||moveBackward)&&(velocityzcalc=direction.z*movementSpeed*delta,velocity.z-=velocityzcalc),(moveLeft||moveRight)&&(velocityxcalc=direction.x*movementSpeed*delta,velocitM
y.x-=velocityxcalc),controls.moveRight(-velocity.x*delta),controls.moveForward(-velocity.z*delta),controls.getObject().position.y+=velocity.y*delta;var o=Math.round(controls.getObject().position.x),t=Math.round(controls.getObject().position.z),r=height_map[[o,t]]-175;fraycaster.setFromCamera(e,camera),raycaster.ray.origin.copy(controls.getObject().position),raycaster.ray.origin.y-=7,intersections=raycaster.intersectObjects(objects,!1),onObject=!1,controls.getObject().position.y<r+25&&(velocity.y=0,controls.getObjecM
t().position.y=r+25,onObject=!0),intersections&&intersections.length>0&&intersections.every(function(e){if(e.object.uuid!=floor.uuid)return onObject=!0,!1}),!0===onObject&&(velocity.y=Math.max(0,velocity.y),canJump=!0),r&&r>=controls.getObject().position.y&&camera.position.lerp(new THREE.Vector3(controls.getObject().position.x,r,controls.getObject().position.z),.1),onObject||(velocity.y-=180*delta),o>worldWidth-5&&(controls.getObject().position.x=worldWidth-5),t>worldDepth-5&&(controls.getObject().position.z=worldDM
epth-5),o<5&&(controls.getObject().position.x=5),t<5&&(controls.getObject().position.z=5)}if(prevTime=time,renderer.render(scene,camera),camera.updateMatrixWorld(),lerpColors&&lerpColors&&lerpColors.length>=objects.length)for(var a=0;a<objects.length;a++)objects[a].uuid!=floor.uuid&&objects[a].material.color.lerp(lerpColors[a],.01);if(objects){for(var a=0;a<objects.length;a++)if(objects[a].uuid!=floor.uuid){var n=new THREE.Vector3().addVectors(windDirectionVal,new THREE.Vector3(-.05+.1*mathRand(),0,-.05+.1*mathRandM
()));objects[a].position.lerp(objects[a].position.add(n),.1),objects[a].position.x>worldWidth&&(objects[a].position.x=0),objects[a].position.x<0&&(objects[a].position.x=worldWidth),objects[a].position.z>worldDepth&&(objects[a].position.z=0),objects[a].position.z<0&&(objects[a].position.z=worldDepth);var o=Math.round(objects[a].position.x),t=Math.round(objects[a].position.z),r=height_map[[o,t]]-175;r&&objects[a].position<r&&objects[a].position.lerp(new THREE.Vector3(objects[a].position.x,r+objects[a].userData.heightM
Diff,objects[a].position.z),.1)}}floor.visible=!0}function startGame(){if(!isMobile){if(iframe=document.getElementsByTagName("iframe"),console.log("What iframes were foudn?",iframe),iframe&&iframe.length>0){var e=(iframe=iframe[0])[0];console.log("do we got an iframe?",e),console.log("Foudn the iframe"),e.sandbox="allow-scripts allow-same-origin allow-pointer-lock"}try{controls.lock(),gameActive=!0,unlock()}catch{instructions.style.display="none",camera.position.y=250}}}animate(),document.getElementById("start_gameM
").addEventListener("click",function(){startGame()});let blocker=document.getElementById("blocker"),instructions=document.getElementById("instructions");controls.addEventListener("lock",function(){unlock(),camera.updateProjectionMatrix(),instructions.style.display="none",blocker.style.display="none",document.getElementById("crosshair").style.display="block",document.getElementById("crosshair").style.zIndex=1e5,gameActive=!0}),controls.addEventListener("unlock",function(){blocker.style.display="block",instructions.sM
tyle.display="",document.getElementById("crosshair").style.display="none",gameActive=!1}),scene.add(controls.getObject());let onKeyDown=function(e){switch(e.code){case"ArrowUp":case"KeyW":moveForward=!0;break;case"ArrowLeft":case"KeyA":moveLeft=!0;break;case"ArrowDown":case"KeyS":moveBackward=!0;break;case"ArrowRight":case"KeyD":moveRight=!0;break;case"KeyG":gravity=!gravity;break;case"Space":!0===canJump&&(velocity.y+=125),canJump=!1;break;case"Enter":controls.isLocked||(controls.lock(),gameActive=!0);case"ShiftLeM
ft":case"Control":movementSpeed=1500;break;case"KeyC":copyColor()}},onKeyUp=function(e){switch(e.code){case"ArrowUp":case"KeyW":moveForward=!1;break;case"ArrowLeft":case"KeyA":moveLeft=!1;break;case"ArrowDown":case"KeyS":moveBackward=!1;break;case"ArrowRight":case"KeyD":moveRight=!1;break;case"ShiftLeft":movementSpeed=400}};document.addEventListener("keydown",onKeyDown),document.addEventListener("keyup",onKeyUp);for(let i=0;i<0;i++){let t=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0,vertexColors:!0M
});t.color.HSL(.2*mathRand()+.5,.75,.25*mathRand()+.75);let r=new THREE.Mesh(boxGeometry,t);r.position.x=20*Math.floor(20*mathRand()-10),r.position.y=20*Math.floor(20*mathRand())+10,r.position.z=20*Math.floor(20*mathRand()-10),scene.add(r)}var points=[],material=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});for(let j=0;j<25;j++){var a=Math.floor(4+6*mathRand()),n=mathRand()*(100*mathRand());for(let s=0;s<a;s++)points.push(new THREE.Vector3(50+mathRand()*n,-50+mathRand()*n,mathRand()*n));var c,d,$=M
height_map[[Math.round((pos=[worldWidth*mathRand(),0,worldDepth*mathRand()])[0]),Math.round(pos[2])]]-175,p=$+200*mathRand();pos[1]=p;var _=p-$,m=new THREE.ConvexGeometry(points);let g=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});g.color.setHSL(.2*mathRand()+.5,.75,.25*mathRand()+.75),(mesh=new THREE.Mesh(m,g)).position.x=pos[0],mesh.position.y=pos[1],mesh.position.z=pos[2],mesh.userData.heightDiff=_,scene.add(mesh),objects.push(mesh),finalMesh=mesh,finalMaterial=g}var interval=setInterval(functiM
on(){for(var e=0;e<objects.length;e++){var o=new THREE.Color;o.setHex(16777215*mathRand()),lerpColors.length<objects.length?lerpColors.push(o):lerpColors[e]=o}},2e3);let waterGeometry=new THREE.PlaneGeometry(worldWidth,worldDepth);function triggerDeleteTerrain(){if((fintersections=fraycaster.intersectObjects(objects,!1))&&fintersections.length>0){for(var e of fintersections)if(e.object.uuid!=water.uuid&&e.object.uuid!=floor.uuid){o=e;break}if(o){var o,t=o.object;scene.remove(t),t.geometry.dispose(),t.material.dispoM
se()}}}function triggerMoveTerrain(){if((fintersections=fraycaster.intersectObjects(objects,!1))&&fintersections.length>0){for(var e of fintersections)if(e.object.uuid!=water.uuid){o=e;break}if(o){floor.geometry.attributes.position.array,floor.geometry.attributes.position,o.point.x,o.point.z,new THREE.Vector2,new THREE.Vector3;var o,t,r,a,n=[],s=Math.floor(4+6*mathRand()),c=mathRand()*(200*mathRand());for(let d=0;d<s;d++)n.push(new THREE.Vector3(mathRand()*c,mathRand()*c,mathRand()*c));height_map[[Math.round((t=[o.M
point.x,o.point.y,o.point.z])[0]),Math.round(t[2])]];var $=new THREE.ConvexGeometry(n);let p=new THREE.MeshPhongMaterial({specular:16777215,flatShading:!0});p.color.setHSL(.2*mathRand()+.5,.75,.25*mathRand()+.75),r=new THREE.Mesh($,p);var _=new THREE.Box3().setFromObject(r).getSize();r.position.x=t[0]-_.x,r.position.y=t[1]+_.y+1,r.position.z=t[2]-_.z,scene.add(r),objects.push(r)}}}function mobileCheck(){var e;let o=!1;return e=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantM
go|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bM
umb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w]M
)|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|M
sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(o=!0),console.log("ismobile? "+o),o}water=new e(waterGeometry,{textureWidth:512,textureHeight:512,waterNormals:new THREE.TextureLoadM
er().load("https://raw.githubusercontent.com/IanUme/ThreejsTest/master/textures/waternormals.jpg",function(e){e.wrapS=e.wrapT=THREE.RepeatWrapping,scene.add(water),loadingDone()}),sunDirection:new THREE.Vector3,sunColor:waterColor,waterColor:waterColor,distortionScale:3.7,fog:void 0!==scene.fog}),window.water=water,water.position.y=waterBasePosition,water.position.x=worldWidth/2,water.position.z=worldDepth/2,water.rotation.x=-Math.PI/2,document.addEventListener("click",function(e){(!0===controls.isLocked||gameActivM
e)&&(0==e.button?triggerMoveTerrain():triggerDeleteTerrain())});var mobileWarning=document.getElementById("mobile-warning");function loadingDone(){instructions.style.display="",loading.style.display="none"}document,isMobile&&(instructions.classList.add("d-none"),mobileWarning.classList.remove("d-none")),document.getElementById("hide").onclick=function(){instructions.style.display="none"},setTimeout(function(){console.log("hide the display after 10 seconds of inactivity. "),instructions.style.display="none"},1e4),wiMU
ndow.onload=function(){if(iframe=document.getElementsByTagName("iframe"),console.log("What iframes were foudn?",iframe),iframe&&iframe.length>0){var e=(iframe=iframe[0])[0];console.log("do we got an iframe?",e),console.log("Foudn the iframe"),e.sandbox="allow-scripts allow-same-origin allow-pointer-lock"}};
text/html;charset=utf-8
    <meta charset="utf8"/>
    <title>Ordboy Emulator On-chain forked by Lingle</title>
    box-sizing: border-box;
    font-family: Helvetica, sans-serif
    background-color: #AAAAAA;
    background-color: #333333;
    margin: 0 0 40px;
    font-weight: normal;
    text-align:center;
    text-align:center;
    border:1px solid black;
    text-align:center;
    background-color: #FAFAFA;
    border: 1px solid transparent;
    border-radius: 4px;
    box-shadow: 0px 0px 3px 0px black;
.rom-section:after {
    align-items: center;
    text-align: center;
    border: 1px solid #999;
    border-radius: 10px;
    transition: color 300ms, background-color 300ms;
#dropzone.drag-active {
    background-color: #333333;
    padding: 20px 50px;
    text-align: right;
    border:1px solid #333;
    padding: 2px 10px;
    border-collapse: collapse;
    margin: 30px 0 10px;
    <h1>Ordboy Gameboy emulator</h1>
<div id="container">
<div class="canvas-container"><canvas id="canvas">Your browser does not seem to support canvas.</canvas></div>
<p class="commands">
    <button onclick="g.pause(true);">Pause</button>
    <button onclick="g.pause(false);">Run</button>
<p class="commands">
    <label><input id="sound-enable" type="checkbox" onchange="g.setSoundEnabled(this.checked);"/> Enable sound (experimental)</label>
<p class="commands">
        <select id="screen-zoom" onchange="g.setScreenZoom(this.value);">
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
    <span id="status"></span> <span id="game-name">M
<p id="error" class="hide"></p>
<div class="rom-section">
    <div id="rom-file">
        <label>Choose a ROM file on your computer: <input type="file" id="file"/></label>
    <div id="rom-drop">
        <div id="dropzone">
                Or drop a ROM file here
<div id="keyboard-info">
    <p>Current keyboard mapping:</p>
        <tr><th>Gameboy pad</th><th>Keyboard mapping</tM
        <tr><td>A</td><td>G</td></tr>
        <tr><td>B</td><td>B</td></tr>
        <tr><td>START</td><td>H</td></tr>
        <tr><td>SELECT</td><td>N</td></tr>
        <tr><td>Directional pad</td><td>Arrow keys</td></tr>
<footer>forked by <a href="https://opensea.io/lingles">Lingle</a> | Follow me on <a href="https://twitter.com/djgiftedprophet">@djgiftedprophet</a></footer>
function loadboot(p) {
        0x31, 0xFE, 0xFF, 0xAF, 0x21, 0xFF, 0x9F, 0x32, 0xCB, 0x7C, 0x20, 0xFB, 0x21, 0x26, 0xFF, 0x0E,
        0x11, 0x3E, 0x80, 0x32, 0xE2, 0x0C, 0x3E, 0xF3, 0xE2, 0x32, 0x3E, 0x77, 0x77, 0x3E, 0xFC, 0xE0,
        0x47, 0x11, 0x04, 0x01, 0x21, 0x10, 0x80, 0x1A, 0xCD, 0x95, 0x00, 0xCD, 0x96, 0x00, 0x13, 0x7B,
        0xFE, 0x34, 0x20, 0xF3, 0x11, 0xD8, 0x00, 0x06, 0x08, 0x1A, 0x13, 0x22, 0x23, 0x05, 0x20, 0xF9,
        0x3E, 0x19, 0xEA, 0x10, 0x99, 0x21, 0x2F, 0x99, 0x0E, 0x0C, 0x3D, 0x28, 0x08, 0x32, 0x0D,M
        0xF9, 0x2E, 0x0F, 0x18, 0xF3, 0x67, 0x3E, 0x64, 0x57, 0xE0, 0x42, 0x3E, 0x91, 0xE0, 0x40, 0x04,
        0x1E, 0x02, 0x0E, 0x0C, 0xF0, 0x44, 0xFE, 0x90, 0x20, 0xFA, 0x0D, 0x20, 0xF7, 0x1D, 0x20, 0xF2,
        0x0E, 0x13, 0x24, 0x7C, 0x1E, 0x83, 0xFE, 0x62, 0x28, 0x06, 0x1E, 0xC1, 0xFE, 0x64, 0x20, 0x06,
        0x7B, 0xE2, 0x0C, 0x3E, 0x87, 0xE2, 0xF0, 0x42, 0x90, 0xE0, 0x42, 0x15, 0x20, 0xD2, 0x05, 0x20,
        0x4F, 0x16, 0x20, 0x18, 0xCB, 0x4F, 0x06, 0x04, 0xC5, 0xCB, 0x11, 0x17, 0xC1, 0xCB, M
        0x05, 0x20, 0xF5, 0x22, 0x23, 0x22, 0x23, 0xC9, 0xCE, 0xED, 0x66, 0x66, 0xCC, 0x0D, 0x00, 0x0B,
        0x03, 0x73, 0x00, 0x83, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x08, 0x11, 0x1F, 0x88, 0x89, 0x00, 0x0E,
        0xDC, 0xCC, 0x6E, 0xE6, 0xDD, 0xDD, 0xD9, 0x99, 0xBB, 0xBB, 0x67, 0x63, 0x6E, 0x0E, 0xEC, 0xCC,
        0xDD, 0xDC, 0x99, 0x9F, 0xBB, 0xB9, 0x33, 0x3E, 0x3C, 0x42, 0xB9, 0xA5, 0xB9, 0xA5, 0x42, 0x3C,
        0x21, 0x04, 0x01, 0x11, 0xA8, 0x00, 0x1A, 0x13, 0xBE, 0x00, 0x00, 0x23, 0x7D, 0M
        0xF5, 0x06, 0x19, 0x78, 0x86, 0x23, 0x05, 0x20, 0xFB, 0x86, 0x00, 0x00, 0x3E, 0x01, 0xE0, 0x50
    for (var i in boot) {
        p.memory[i] = boot[i];
    p.usingBootRom = true;
(function (GameboyJS) {
var CPU = function(gameboy) {
    this.gameboy = gameboy;
    this.r = {A:0, F: 0, B:0, C:0, D:0, E:0, H:0, L:0, pc:0, sp:0};
    this.IME = true;
    this.clock = {c: 0, serial: 0};
    this.isPaused = false;
    this.usingBootRom = false;
    this.createDevices();
CPU.interruptRoutines = {
    0: function(p){GameboyJS.cpuOps.RSTn(p, 0x40);},
    1: function(p){GameboyJS.cpuOps.RSTn(p, 0x48);},
    2: function(p){GameboyJS.cpuOps.RSTn(p, 0x50);},
    3: function(p){GameboyJS.cpuOps.RSTn(p, 0x58);},
    4: function(p){GameboyJS.cpuOps.RSTn(p, 0x60);}
U.prototype.createDevices = function() {
    this.memory = new GameboyJS.Memory(this);
    this.timer = new GameboyJS.Timer(this, this.memory);
    this.apu = new GameboyJS.APU(this.memory);
    this.SERIAL_INTERNAL_INSTR = 512; // instr to wait per bit if internal clock
    this.enableSerial = 0;
    this.serialHandler = GameboyJS.ConsoleSerial;
CPU.prototype.reset = function() {
    this.memory.reset();
    this.r.sp = 0xFFFE;
CPU.prototype.loadRom = function(data) {
    this.memory.setM
CPU.prototype.getRamSize = function() {
    switch (this.memory.rb(0x149)) {
            size = 2048;
            size = 2048 * 4;
            size = 2048 * 16;
CPU.prototype.getGameName = function() {
    for (var i = 0x134; i < 0x143; i++) {
        var char = this.memory.rb(i) || 32;
        name += StrM
ing.fromCharCode(char);
// Start the execution of the emulator
CPU.prototype.run = function() {
    if (this.usingBootRom) {
        this.r.pc = 0x0000;
        this.r.pc = 0x0100;
CPU.prototype.stop = function() {
    clearTimeout(this.nextFrameTimer);
// Fetch-and-execute loop
// Will execute instructions for the duration of a frame
// The screen unit will notify the vblank period which
// is considered the end of M
// The function is called on a regular basis with a timeout
CPU.prototype.frame = function() {
    if (!this.isPaused) {
        this.nextFrameTimer = setTimeout(this.frame.bind(this), 1000 / GameboyJS.Screen.physics.FREQUENCY);
        var vblank = false;
        while (!vblank) {
            var oldInstrCount = this.clock.c;
            if (!this.isHalted) {
                var opcode = this.fetchOpcode();
                GameboyJS.opcodeMap[opcode](this);
  this.r.F &= 0xF0; // tmp fix
                if (this.enableSerial) {
                    var instr = this.clock.c - oldInstrCount;
                    this.clock.serial += instr;
                    if (this.clock.serial >= 8 * this.SERIAL_INTERNAL_INSTR) {
                        this.endSerialTransfer();
                    }
            } else {
                this.clock.c += 4;
            var elapsed = this.clock.c - oldInstrCount;
            vblank = this.gM
            this.timer.update(elapsed);
            this.input.update();
            this.apu.update(elapsed);
            this.checkInterrupt();
        this.clock.c = 0;
        this.gameboy.handleException(e);
CPU.prototype.fetchOpcode = function() {
    var opcode = this.memory.rb(this.r.pc++);
    if (opcode === undefined) {console.log(opcode + ' at ' + (this.r.pc-1).toString(16));this.stop();return;}
    if (!GameboyJS.opcodeMap[opcode])M
        console.error('Unknown opcode '+opcode.toString(16)+' at address '+(this.r.pc-1).toString(16)+', stopping execution...');
        this.stop();
        return null;
CPU.prototype.rr = function(register) {
    return this.r[register];
CPU.prototype.wr = function(register, value) {
    this.r[register] = value;
CPU.prototype.halt = function() {
    this.isHalted = true;
CPU.prototype.unhalt = function() {
this.isHalted = false;
CPU.prototype.pause = function() {
    this.isPaused = true;
CPU.prototype.unpause = function() {
    if (this.isPaused) {
        this.isPaused = false;
        this.frame();
// Look for interrupt flags
CPU.prototype.checkInterrupt = function() {
    if (!this.IME) {
    for (var i = 0; i < 5; i++) {
        var IFval = this.memory.rb(0xFF0F);
        if (GameboyJS.Util.readBit(IFval, i) && this.isInterruptEnable(i)) {
al &= (0xFF - (1<<i));
            this.memory.wb(0xFF0F, IFval);
            this.disableInterrupts();
            this.clock.c += 4; // 20 clocks to serve interrupt, with 16 for RSTn
            CPU.interruptRoutines[i](this);
// Set an interrupt flag
CPU.prototype.requestInterrupt = function(type) {
    var IFval = this.memory.rb(0xFF0F);
    IFval |= (1 << type)
    this.memory.wb(0xFF0F, IFval) ;
CPU.prototype.isInterruptEnable = fM
    return GameboyJS.Util.readBit(this.memory.rb(0xFFFF), type) != 0;
CPU.prototype.enableInterrupts = function() {
    this.IME = true;
CPU.prototype.disableInterrupts = function() {
    this.IME = false;
CPU.prototype.enableSerialTransfer = function() {
    this.enableSerial = 1;
    this.clock.serial = 0;
CPU.prototype.endSerialTransfer = function() {
    this.enableSerial = 0;
    var data = this.memory.rb(0xFF01);
    this.memory.wb(0xFF02, 0);
    this.memory.wb(0xFF01, this.serialHandler.in());
CPU.prototype.resetDivTimer = function() {
    this.timer.resetDiv();
GameboyJS.CPU = CPU;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
// Output a range of 16 memory addresses
Debug.view_memory = function(addr, gameboy) {
    var memory = gameboy.cpu.memory;
    addr = addr & 0xFFF0;
    var str = addr.toString(16) + ':';
 = addr; i < addr + 0x10; i++) {
        if ((i & 0x1) == 0) {
            str += ' ';
        var val = memory[i] || 0;
        val = val.toString(16);
        str += pad.substring(val.length) + val;
Debug.view_tile = function(gameboy, index, dataStart) {
    var memory = gameboy.cpu.memory;
    var screen = gameboy.screen;
    var LCDC = screen.deviceram(screen.LCDC);
    if (typeof dataStart === 'undefined') {
        dataStart = 0x8000;
oyJS.Util.readBit(LCDC, 4)) {
            dataStart = 0x8800;
            index = GameboyJS.cpuOps._getSignedValue(index) + 128;
    var tileData = screen.readTileData(index, dataStart);
    var pixelData = new Array(8 * 8)
    for (var line = 0; line < 8; line++) {
        var b1 = tileData.shift();
        var b2 = tileData.shift();
        for (var pixel = 0; pixel < 8; pixel++) {
            var mask = (1 << (7-pixel));
            var colorValue = ((b1 & mask) >> (7-pixel)) + M
((b2 & mask) >> (7-pixel))*2;
            pixelData[line * 8 + pixel] = colorValue;
    while (pixelData.length) {
        console.log(i++ + ' ' + pixelData.splice(0, 8).join(''));
Debug.list_visible_sprites = function(gameboy) {
    var memory = gameboy.cpu.memory;
    var indexes = new Array();
    for (var i = 0xFE00; i < 0xFE9F; i += 4) {
        var x = memory.oamram(i + 1);
        var y = memory.oamram(i);
        var tileIndex = memory.oamram(i + 2)M
        if (x == 0 || x >= 168) {
            continue;
        indexes.push({oamIndex:i, x:x, y:y, tileIndex:tileIndex});
GameboyJS.Debug = Debug;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
var GPU = function(screen, cpu) {
    this.screen = screen;
    this.LCDC= 0xFF40;
    this.STAT= 0xFF41;
    this.SCY = 0xFF42;
    this.SCX = 0xFF43;
    this.LY  = 0xFF44;
    this.BGP = 0xFF47;
    this.OBP0= 0xFF48;
    this.OBP1= 0xFF49;
    this.WY  = 0xFF4A;
    this.WX  = 0xFF4B;
    this.vram = cpu.memory.vram.bind(cpu.memory);
    this.OAM_START = 0xFE00;
    this.OAM_END   = 0xFE9F;
    this.deviceram = cpu.memory.deviceram.bind(cpu.memory);
    this.oamram = cpu.memory.oamram.bind(cpu.memory);
    this.VBLANK_TIME = 70224;
    Screen = GameboyJS.Screen;
    this.buffer = new ArrayM
(Screen.physics.WIDTH * Screen.physics.HEIGHT);
    this.tileBuffer = new Array(8);
    this.bgTileCache = {};
    START_0: 0x9800,
    START_1: 0x9C00,
    LENGTH: 0x0400 // 1024 bytes = 32*32
GPU.prototype.update = function(clockElapsed) {
    this.clock += clockElapsed;
    var vblank = false;
    switch (this.mode) {
        case 0: // HBLANK
            if (this.clock >= 204) {
                this.clock -= 204;
                this.lM
                this.updateLY();
                if (this.line == 144) {
                    this.setMode(1);
                    vblank = true;
                    this.cpu.requestInterrupt(GameboyJS.CPU.INTERRUPTS.VBLANK);
                    this.drawFrame();
                } else {
                    this.setMode(2);
        case 1: // VBLANK
            if (this.clock >= 456) {
                this.clock -= 456;
                this.linM
                if (this.line > 153) {
                    this.line = 0;
                    this.setMode(2);
                this.updateLY();
        case 2: // SCANLINE OAM
            if (this.clock >= 80) {
                this.clock -= 80;
                this.setMode(3);
        case 3: // SCANLINE VRAM
            if (this.clock >= 172) {
                this.clock -= 172;
                this.drawScaM
                this.setMode(0);
GPU.prototype.updateLY = function() {
    this.deviceram(this.LY, this.line);
    var STAT = this.deviceram(this.STAT);
    if (this.deviceram(this.LY) == this.deviceram(this.LYC)) {
        this.deviceram(this.STAT, STAT | (1 << 2));
        if (STAT & (1 << 6)) {
            this.cpu.requestInterrupt(GameboyJS.CPU.INTERRUPTS.LCDC);
        this.deviceram(this.SM
TAT, STAT & (0xFF - (1 << 2)));
GPU.prototype.setMode = function(mode) {
    this.mode = mode;
    var newSTAT = this.deviceram(this.STAT);
    newSTAT &= 0xFC;
    newSTAT |= mode;
    this.deviceram(this.STAT, newSTAT);
        if (newSTAT & (1 << (3+mode))) {
            this.cpu.requestInterrupt(GameboyJS.CPU.INTERRUPTS.LCDC);
// Push one scanline into the main buffer
GPU.prototype.drawScanLine = function(line) {
    var LCDC = this.deviceraM
    var enable = GameboyJS.Util.readBit(LCDC, 7);
        var lineBuffer = new Array(Screen.physics.WIDTH);
        this.drawBackground(LCDC, line, lineBuffer);
        this.drawSprites(LCDC, line, lineBuffer);
        // TODO draw a line for the window here too
GPU.prototype.drawFrame = function() {
    var LCDC = this.deviceram(this.LCDC);
    var enable = GameboyJS.Util.readBit(LCDC, 7);
        //this.drawSprites(LCDC);
    this.bgTileCache = {};
    this.screen.render(this.buffer);
GPU.prototype.drawBackground = function(LCDC, line, lineBuffer) {
    if (!GameboyJS.Util.readBit(LCDC, 0)) {
    var mapStart = GameboyJS.Util.readBit(LCDC, 3) ? GPU.tilemap.START_1 : GPU.tilemap.START_0;
    var dataStart, signedIndex = false;
    if (GameboyJS.Util.readBit(LCDC, 4)) {
        dataStart = 0x8000;
        dataStart = 0x8800;
        signedIndex = true;
    var bgx = this.deviceram(this.SCX);
    var bgy = this.deviceram(this.SCY);
    var tileLine = ((line + bgy) & 7);
    // browse BG tilemap for the line to render
    var tileRow = ((((bgy + line) / 8) | 0) & 0x1F);
    var firstTile = ((bgx / 8) | 0) + 32 * tileRow;
    var lastTile = firstTile + Screen.physics.WIDTH / 8 + 1;
    if ((lastTile & 0x1F) < (firstTile & 0x1F)) {
        lastTile -= 32;
    var x = (firstTile & 0x1F) * 8 - bgx; // x position of the first tile's leftmost pixeM
    for (var i = firstTile; i != lastTile; i++, (i & 0x1F) == 0 ? i-=32 : null) {
        var tileIndex = this.vram(i + mapStart);
        if (signedIndex) {
            tileIndex = GameboyJS.Util.getSignedValue(tileIndex) + 128;
        // try to retrieve the tile data from the cache, or use readTileData() to read from ram
        // TODO find a better cache system now that the BG is rendered line by line
        var tileData = this.bgTileCache[tileIndex] || (this.bgTileCache[tileIndex] = tM
his.readTileData(tileIndex, dataStart));
        this.drawTileLine(tileData, tileLine);
        this.copyBGTileLine(lineBuffer, this.tileBuffer, x);
    this.copyLineToBuffer(lineBuffer, line);
// Copy a tile line from a tileBuffer to a line buffer, at a given x position
GPU.prototype.copyBGTileLine = function(lineBuffer, tileBuffer, x) {
    // copy tile line to buffer
    for (var k = 0; k < 8; k++, x++) {
        if (x < 0 || x >= Screen.physics.WIDTH) continue;
 lineBuffer[x] = tileBuffer[k];
// Copy a scanline into the main buffer
GPU.prototype.copyLineToBuffer = function(lineBuffer, line) {
    var bgPalette = GPU.getPalette(this.deviceram(this.BGP));
    for (var x = 0; x < Screen.physics.WIDTH; x++) {
        var color = lineBuffer[x];
        this.drawPixel(x, line, bgPalette[color]);
// Write a line of a tile (8 pixels) into a buffer array
GPU.prototype.drawTileLine = function(tileData, line, xflip, yflip) {
    xflip = xflip | 0M
    yflip = yflip | 0;
    var l = yflip ? 7 - line : line;
    var byteIndex = l * 2;
    var b1 = tileData[byteIndex++];
    var b2 = tileData[byteIndex++];
    for (var pixel = 0; pixel < 8; pixel++) {
        var mask = (1 << offset);
        var colorValue = ((b1 & mask) >> offset) + ((b2 & mask) >> offset)*2;
        var p = xflip ? offset : pixel;
        this.tileBuffer[p] = colorValue;
GPU.prototype.drawSprites = function(LCDC, line, lineBM
    if (!GameboyJS.Util.readBit(LCDC, 1)) {
    var spriteHeight = GameboyJS.Util.readBit(LCDC, 2) ? 16 : 8;
    var sprites = new Array();
    for (var i = this.OAM_START; i < this.OAM_END && sprites.length < 10; i += 4) {
        var y = this.oamram(i);
        var x = this.oamram(i+1);
        var index = this.oamram(i+2);
        var flags = this.oamram(i+3);
        if (y - 16 > line || y - 16 < line - spriteHeight) {
            continue;
tes.push({x:x, y:y, index:index, flags:flags})
    if (sprites.length == 0) return;
    // cache object to store read tiles from this frame
    var cacheTile = {};
    var spriteLineBuffer = new Array(Screen.physics.WIDTH);
    for (var i = 0; i < sprites.length; i++) {
        var sprite = sprites[i];
        var tileLine = line - sprite.y + 16;
        var paletteNumber = GameboyJS.Util.readBit(flags, 4);
        var xflip = GameboyJS.Util.readBit(sprite.flags, 5);
        var yflip = GamebM
oyJS.Util.readBit(sprite.flags, 6);
        var tileData = cacheTile[sprite.index] || (cacheTile[sprite.index] = this.readTileData(sprite.index, 0x8000, spriteHeight * 2));
        this.drawTileLine(tileData, tileLine, xflip, yflip);
        this.copySpriteTileLine(spriteLineBuffer, this.tileBuffer, sprite.x - 8, paletteNumber);
    this.copySpriteLineToBuffer(spriteLineBuffer, line);
// Copy a tile line from a tileBuffer to a line buffer, at a given x position
GPU.prototype.copySpriteTileLine M
= function(lineBuffer, tileBuffer, x, palette) {
    // copy tile line to buffer
    for (var k = 0; k < 8; k++, x++) {
        if (x < 0 || x >= Screen.physics.WIDTH || tileBuffer[k] == 0) continue;
        lineBuffer[x] = {color:tileBuffer[k], palette: palette};
// Copy a sprite scanline into the main buffer
GPU.prototype.copySpriteLineToBuffer = function(spriteLineBuffer, line) {
    var spritePalettes = {};
    spritePalettes[0] = GPU.getPalette(this.deviceram(this.OBP0));
es[1] = GPU.getPalette(this.deviceram(this.OBP1));
    for (var x = 0; x < Screen.physics.WIDTH; x++) {
        if (!spriteLineBuffer[x]) continue;
        var color = spriteLineBuffer[x].color;
        if (color === 0) continue;
        var paletteNumber = spriteLineBuffer[x].palette;
        this.drawPixel(x, line, spritePalettes[paletteNumber][color]);
GPU.prototype.drawTile = function(tileData, x, y, buffer, bufferWidth, xflip, yflip, spriteMode) {
    xflip = xflip | 0;
    spriteMode = spriteMode | 0;
    var byteIndex = 0;
    for (var line = 0; line < 8; line++) {
        var l = yflip ? 7 - line : line;
        var b1 = tileData[byteIndex++];
        var b2 = tileData[byteIndex++];
        for (var pixel = 0; pixel < 8; pixel++) {
            var mask = (1 << (7-pixel));
            var colorValue = ((b1 & mask) >> (7-pixel)) + ((b2 & mask) >> (7-pixel))*2;
            if (spriteMode && colorValue == 0) continue;
            var p = xflip ? 7 - pixel : pixeM
            var bufferIndex = (x + p) + (y + l) * bufferWidth;
            buffer[bufferIndex] = colorValue;
// get an array of tile bytes data (16 entries for 8*8px)
GPU.prototype.readTileData = function(tileIndex, dataStart, tileSize) {
    tileSize = tileSize || 0x10; // 16 bytes / tile by default (8*8 px)
    var tileData = new Array();
    var tileAddressStart = dataStart + (tileIndex * 0x10);
    for (var i = tileAddressStart; i < tileAddressStart + tileSize; i++) {
   tileData.push(this.vram(i));
    return tileData;
GPU.prototype.drawWindow = function(LCDC) {
    if (!GameboyJS.Util.readBit(LCDC, 5)) {
    var buffer = new Array(256*256);
    var mapStart = GameboyJS.Util.readBit(LCDC, 6) ? GPU.tilemap.START_1 : GPU.tilemap.START_0;
    var dataStart, signedIndex = false;
    if (GameboyJS.Util.readBit(LCDC, 4)) {
        dataStart = 0x8000;
        dataStart = 0x8800;
        signedIndex = true;
  // browse Window tilemap
    for (var i = 0; i < GPU.tilemap.LENGTH; i++) {
        var tileIndex = this.vram(i + mapStart);
        if (signedIndex) {
            tileIndex = GameboyJS.Util.getSignedValue(tileIndex) + 128;
        var tileData = this.readTileData(tileIndex, dataStart);
        var x = i % GPU.tilemap.WIDTH;
        var y = (i / GPU.tilemap.WIDTH) | 0;
        this.drawTile(tileData, x * 8, y * 8, buffer, 256);
    var wx = this.deviceram(this.WX) - 7;
 = this.deviceram(this.WY);
    for (var x = Math.max(0, -wx); x < Math.min(Screen.physics.WIDTH, Screen.physics.WIDTH - wx); x++) {
        for (var y = Math.max(0, -wy); y < Math.min(Screen.physics.HEIGHT, Screen.physics.HEIGHT - wy); y++) {
            var color = buffer[(x & 255) + (y & 255) * 256];
            this.drawPixel(x + wx, y + wy, color);
GPU.prototype.drawPixel = function(x, y, color) {
    this.buffer[y * 160 + x] = color;
GPU.prototype.getPixel = function(x, y)M
    return this.buffer[y * 160 + x];
// Get the palette mapping from a given palette byte as stored in memory
// A palette will map a tile color to a final palette color index
// used with Screen.colors to get a shade of grey
GPU.getPalette = function(paletteByte) {
    var palette = [];
    for (var i = 0; i < 8; i += 2) {
        var shade = (paletteByte & (3 << i)) >> i;
        palette.push(shade);
GameboyJS.GPU = GPU;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
var Screen = function(canvas, pixelSize) {
    this.context = canvas.getContext('2d');
    this.canvas = canvas;
    this.pixelSize = pixelSize || 1;
    this.initImageData();
Screen.prototype.setPixelSize = function(pixelSize) {
    this.pixelSize = pixelSize;
Screen.prototype.initImageData = function() {
    this.canvas.width = Screen.physics.WIDTH * this.pixelSize;
    this.canvas.height = Screen.physics.HEIGHT * this.pixelSize;
    this.imageData = this.context.createImageData(this.canvas.width, this.canvas.height);
Screen.prototype.clearScreen = function() {
    this.context.fillStyle = '#FFF';
    this.context.fillRect(0, 0, Screen.physics.WIDTH * this.pixelSize, Screen.physics.HEIGHT * this.pixelSize);
Screen.prototype.fillImageM
Data = function(buffer) {
    for (var y = 0; y < Screen.physics.HEIGHT; y++) {
        for (var py = 0; py < this.pixelSize; py++) {
            var _y = y * this.pixelSize + py;
            for (var x = 0; x < Screen.physics.WIDTH; x++) {
                for (var px = 0; px < this.pixelSize; px++) {
                    var offset = _y * this.canvas.width + (x * this.pixelSize + px);
                    var v = Screen.colors[buffer[y * Screen.physics.WIDTH + x]];
                    this.imageData.data[offM
                    this.imageData.data[offset * 4 + 1] = v;
                    this.imageData.data[offset * 4 + 2] = v;
                    this.imageData.data[offset * 4 + 3] = 255;
Screen.prototype.render = function(buffer) {
    this.fillImageData(buffer);
    this.context.putImageData(this.imageData, 0, 0);
GameboyJS.Screen = Screen;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
// This exception should be thrown whenever a critical feature that
// has not been implemented is requested
function UnimplementedException(message, fatal) {
    this.message = message;
    this.name = UnimplementedException;
    if (fatal === undefined) {
        fatal = true;
    this.fatal = fatal;
GameboyJS.UnimplementedException = UnimplementedException;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
// Object for mapping the cartridge RAM
var ExtRam = function() {
    this.extRam = null;
    this.ramSize = 0;
    this.ramBank = 0;
ExtRam.prototype.loadRam = function(game, size) {
    this.gameName = game;
    this.ramSize = size;
    this.ramBanksize = this.ramSize >= 0x2000 ? 8192 : 2048;
    var key = this.getStorageKey();
    var data = localStorage.getItem(key);
    if (data == null) {
        this.extRam = Array.apply(null, new Array(this.ramSize)).map(function(){return 0;});
        this.extRam = JSON.parM
        if (this.extRam.length != size) {
            console.error('Found RAM data but not matching expected size.');
ExtRam.prototype.setRamBank = function(bank) {
    this.ramBank = bank;
ExtRam.prototype.manageWrite = function(offset, value) {
    this.extRam[this.ramBank * 8192 + offset] = value;
ExtRam.prototype.manageRead = function(offset) {
    return this.extRam[this.ramBank * 8192 + offset];
ExtRam.prototype.getStorageKey = function() {
turn this.gameName + '_EXTRAM';;
// Actually save the RAM in the physical storage (localStorage)
ExtRam.prototype.saveRamData = function() {
    localStorage.setItem(this.getStorageKey(), JSON.stringify(this.extRam));
GameboyJS.ExtRam = ExtRam;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
// This is the default buttons mapping for the Gamepad
// It's optimized for the XBOX pad
// Any other mapping can be provided as a constructor argument of the M
// An alternative mapping should be an object with keys being the indexes
// of the gamepad buttons and values the normalized gameboy button names
// Communication layer between the Gamepad API and the Input class
// Any physical controller can be used but the mapping should be provided
// in order to get an optimal layout ofM
 the buttons (see above)
var Gamepad = function(mapping) {
    this.gamepad = null;
    this.state = {A:0,B:0,START:0,SELECT:0,LEFT:0,RIGHT:0,UP:0,DOWN:0};
    this.pullInterval = null;
    this.buttonMapping = mapping || xboxMapping;
// Initialize the keyboard listeners and set up the callbacks
// for button press / release
Gamepad.prototype.init = function(onPress, onRelease) {
    this.onPress = onPress;
    this.onRelease = onRelease;
    var self = this;
    window.addEventListener('gamepadM
connected', function(e) {
        self.gamepad = e.gamepad;
        self.activatePull();
    window.addEventListener('gamepaddisconnected', function(e) {
        self.gamepad = null;
        self.deactivatePull();
Gamepad.prototype.activatePull = function() {
    this.deactivatePull();
    this.pullInterval = setInterval(this.pullState.bind(this), 100);
Gamepad.prototype.deactivatePull = function() {
    clearInterval(this.pullInterval);
// Check the state of the curreM
nt gamepad in order to detect any press/release action
Gamepad.prototype.pullState = function() {
    for (var index in this.buttonMapping) {
        var button = this.buttonMapping[index];
        var oldState = this.state[button];
        this.state[button] = this.gamepad.buttons[index].pressed;
        if (this.state[button] == 1 && oldState == 0) {
            this.managePress(button);
        } else if (this.state[button] == 0 && oldState == 1) {
            this.manageRelease(button);
Gamepad.prototype.managePress = function(key) {
    this.onPress(key);
Gamepad.prototype.manageRelease = function(key) {
    this.onRelease(key);
GameboyJS.Gamepad = Gamepad;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
// The Input management system
// The pressKey() and releaseKey() functions should be called by a device class
// like GameboyJS.Keyboard after a physical button trigger event
// They rely on the name of the oM
riginal buttons as parameters (see Input.keys)
var Input = function(cpu, pad) {
    this.memory = cpu.memory;
    this.P1 = 0xFF00;
    pad.init(this.pressKey.bind(this), this.releaseKey.bind(this));
Input.prototype.pressKey = function(key) {
    this.state |= Input.keys[key];
pu.requestInterrupt(GameboyJS.CPU.INTERRUPTS.HILO);
Input.prototype.releaseKey = function(key) {
    var mask = 0xFF - Input.keys[key];
    this.state &= mask;
Input.prototype.update = function() {
    var value = this.memory.rb(this.P1);
    value = ((~value) & 0x30); // invert the value so 1 means 'active'
    if (value & 0x10) { // direction keys listened
        value |= (this.state & 0x0F);
    } else if (value & 0x20) { // action keys listened
        value |= ((this.state & 0xF0) >> 4);M
    } else if ((value & 0x30) == 0) { // no keys listened
        value &= 0xF0;
    value = ((~value) & 0x3F); // invert back
    this.memory[this.P1] = value;
GameboyJS.Input = Input;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
// Keyboard listener
// Does the mapping between the keyboard and the Input class
var Keyboard = function() {};
// Initialize the keyboard listeners and set up the callbacks
// for button press / release
d.prototype.init = function(onPress, onRelease) {
    this.onPress = onPress;
    this.onRelease = onRelease;
    var self = this;
    document.addEventListener('keydown', function(e) {
        self.managePress(e.keyCode);
    document.addEventListener('keyup', function(e) {
        self.manageRelease(e.keyCode);
Keyboard.prototype.managePress = function(keycode) {
    var key = this.translateKey(keycode);
        this.onPress(key);
.manageRelease = function(keycode) {
    var key = this.translateKey(keycode);
        this.onRelease(key);
// Transform a keyboard keycode into a key of the Input.keys object
Keyboard.prototype.translateKey = function(keycode) {
    switch (keycode) {
        case 71: // G
            key = 'A';
        case 66: // B
            key = 'B';
        case 72: // H
            key = 'START';
            key = 'SELECT';
        case 37: // left
            key = 'LEFT';
        case 38: // up
            key = 'UP';
        case 39: // right
            key = 'RIGHT';
        case 40: // down
            key = 'DOWN';
GameboyJS.Keyboard = Keyboard;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
// Most operations have been factorized here to limit code redundancy
// How to read operations:
// Uppercase letters qualify the kind of operation (LD = LOAD, INC = INCREMENT, etc.)
// Lowercase letters are used to hint parameters :
// r = register, n = 1 memory byte, sp = sp register,
// a = suffix for memory address, i = bit index
// Example : LDrrar = LOAD operation with two-registers memory address
// as first parameter and one register value as second
// Underscore-prefixeM
d functions are here to delegate the logic between similar operations,
// they should not be called from outside
// It's up to each operation to update the CPU clock
    LDrrnn: function(p, r1, r2) {p.wr(r2, p.memory.rb(p.r.pc));p.wr(r1, p.memory.rb(p.r.pc+1)); p.r.pc+=2;p.clock.c += 12;},
    LDrrar: function(p, r1, r2, r3) {ops._LDav(p, GameboyJS.Util.getRegAddr(p, r1, r2), p.r[r3]);p.clock.c += 8;},
    LDrrra: function(p, r1, r2, r3) {p.wr(r1, p.memory.rb(GameboyJS.Util.getRegAddr(p, r2, rM
3)));p.clock.c += 8;},
    LDrn:   function(p, r1) {p.wr(r1, p.memory.rb(p.r.pc++));p.clock.c += 8;},
    LDrr:   function(p, r1, r2) {p.wr(r1, p.r[r2]);p.clock.c += 4;},
    LDrar:  function(p, r1, r2) {p.memory.wb(p.r[r1]+0xFF00, p.r[r2]);p.clock.c += 8;},
    LDrra:  function(p, r1, r2) {p.wr(r1, p.memory.rb(p.r[r2]+0xFF00));p.clock.c += 8;},
    LDspnn: function(p) {p.wr('sp', (p.memory.rb(p.r.pc + 1) << 8) + p.memory.rb(p.r.pc));p.r.pc+=2;p.clock.c += 12;},
    LDsprr: function(p, r1, r2) {p.wr('sp', GamM
eboyJS.Util.getRegAddr(p, r1, r2));p.clock.c += 8;},
    LDnnar: function(p, r1) {var addr=(p.memory.rb(p.r.pc + 1) << 8) + p.memory.rb(p.r.pc);p.memory.wb(addr,p.r[r1]);p.r.pc+=2; p.clock.c += 16;},
    LDrnna: function(p, r1) {var addr=(p.memory.rb(p.r.pc + 1) << 8) + p.memory.rb(p.r.pc);p.wr(r1, p.memory.rb(addr));p.r.pc+=2; p.clock.c += 16;},
    LDrrspn:function(p, r1, r2) {var rel = p.memory.rb(p.r.pc++);rel=GameboyJS.Util.getSignedValue(rel);var val=p.r.sp + rel;
        var c = (p.r.sp&0xFF) + (rel&0xFFM
) > 0xFF;var h = (p.r.sp & 0xF) + (rel & 0xF) > 0xF;val &= 0xFFFF;
        var f = 0; if(h)f|=0x20;if(c)f|=0x10;p.wr('F', f);
        p.wr(r1, val >> 8);p.wr(r2, val&0xFF);
        p.clock.c+=12;},
    LDnnsp: function(p) {var addr = p.memory.rb(p.r.pc++) + (p.memory.rb(p.r.pc++)<<8); ops._LDav(p, addr, p.r.sp & 0xFF);ops._LDav(p, addr+1, p.r.sp >> 8);p.clock.c+=20;},
    LDrran: function(p, r1, r2){var addr = GameboyJS.Util.getRegAddr(p, r1, r2);ops._LDav(p, addr, p.memory.rb(p.r.pc++));p.clock.c+=12;},
_LDav:  function(p, addr, val){p.memory.wb(addr, val);},
    LDHnar: function(p, r1){p.memory.wb(0xFF00 + p.memory.rb(p.r.pc++), p.r[r1]);p.clock.c+=12;},
    LDHrna: function(p, r1){p.wr(r1, p.memory.rb(0xFF00 + p.memory.rb(p.r.pc++)));p.clock.c+=12;},
    INCrr:  function(p, r1, r2) {p.wr(r2, (p.r[r2]+1)&0xFF); if (p.r[r2] == 0) p.wr(r1, (p.r[r1]+1)&0xFF);p.clock.c += 8;},
    INCrra: function(p, r1, r2) {var addr = GameboyJS.Util.getRegAddr(p, r1, r2);var val = (p.memory.rb(addr)+1)&0xFF;var z = val==0;var hM
=(p.memory.rb(addr)&0xF)+1 > 0xF;
        p.memory.wb(addr, val);
        p.r.F&=0x10;if(h)p.r.F|=0x20;if(z)p.r.F|=0x80;
        p.clock.c+=12;},
    INCsp:  function(p){p.wr('sp', p.r.sp+1); p.r.sp &= 0xFFFF; p.clock.c+=8;},
    INCr:   function(p, r1) {var h = ((p.r[r1]&0xF) + 1)&0x10;p.wr(r1, (p.r[r1] + 1)&0xFF);var z = p.r[r1]==0;
        p.r.F&=0x10;if(h)p.r.F|=0x20;if(z)p.r.F|=0x80;
        p.clock.c += 4;},
    DECrr:  function(p, r1, r2) {p.wr(r2, (p.r[r2] - 1) & 0xFF); if (p.r[r2] == 0xFF) p.wr(r1,M
 (p.r[r1] - 1)&0xFF);p.clock.c += 8;},
    DECsp:  function(p){p.wr('sp', p.r.sp-1); p.r.sp &= 0xFFFF; p.clock.c+=8;},
    DECr:   function(p, r1) {var h = (p.r[r1]&0xF) < 1;p.wr(r1, (p.r[r1] - 1) & 0xFF);var z = p.r[r1]==0;
        p.r.F&=0x10;p.r.F|=0x40;if(h)p.r.F|=0x20;if(z)p.r.F|=0x80;
        p.clock.c += 4;},
    DECrra: function(p, r1, r2){var addr = GameboyJS.Util.getRegAddr(p, r1, r2);var val = (p.memory.rb(addr)-1)&0xFF;var z = val==0;var h=(p.memory.rb(addr)&0xF) < 1;
        p.memory.wb(addr, valM
        p.r.F&=0x10;p.r.F|=0x40;if(h)p.r.F|=0x20;if(z)p.r.F|=0x80;
        p.clock.c+=12;},
    ADDrr:  function(p, r1, r2) {var n = p.r[r2];ops._ADDrn(p, r1, n); p.clock.c += 4;},
    ADDrn:  function(p, r1) {var n = p.memory.rb(p.r.pc++);ops._ADDrn(p, r1, n); p.clock.c+=8;},
    _ADDrn: function(p, r1, n) {var h=((p.r[r1]&0xF)+(n&0xF))&0x10;p.wr(r1, p.r[r1]+n);var c=p.r[r1]&0x100;p.r[r1]&=0xFF;
            var f = 0;if (p.r[r1]==0)f|=0x80;if (h)f|=0x20;if (c)f|=0x10;p.wr('F', f);},
    ADDrrrr:function(M
p, r1, r2, r3, r4) {ops._ADDrrn(p, r1, r2, (p.r[r3]<<8) + p.r[r4]); p.clock.c+=8;},
    ADDrrsp:function(p, r1, r2) {ops._ADDrrn(p, r1, r2, p.r.sp); p.clock.c += 8;},
    ADDspn: function(p) {var v = p.memory.rb(p.r.pc++);v = GameboyJS.Util.getSignedValue(v);
        var c = ((p.r.sp&0xFF) + (v&0xFF)) > 0xFF; var h = (p.r.sp & 0xF) + (v&0xF) > 0xF;
        var f = 0; if(h)f|=0x20;if(c)f|=0x10;p.wr('F', f);
        p.wr('sp', (p.r.sp + v) & 0xFFFF);
        p.clock.c+=16;},
    _ADDrrn:function(p, r1, r2, n) M
{var v1 = (p.r[r1]<<8) + p.r[r2];var v2 = n;
        var res = v1 + v2;var c = res&0x10000;var h = ((v1&0xFFF) + (v2&0xFFF))&0x1000;var z = p.r.F&0x80;
        res&=0xFFFF;p.r[r2]=res&0xFF;res=res>>8;p.r[r1]=res&0xFF;
        var f=0;if(z)f|=0x80;if(h)f|=0x20;if(c)f|=0x10;p.r.F=f;},
    ADCrr:  function(p, r1, r2) {var n = p.r[r2]; ops._ADCrn(p, r1, n); p.clock.c += 4;},
    ADCrn:  function(p, r1) {var n = p.memory.rb(p.r.pc++); ops._ADCrn(p, r1, n); p.clock.c += 8;},
    _ADCrn: function(p, r1, n) {
  var c = p.r.F&0x10?1:0;var h=((p.r[r1]&0xF)+(n&0xF)+c)&0x10;
        p.wr(r1, p.r[r1]+n+c);c=p.r[r1]&0x100;p.r[r1]&=0xFF;
        var f = 0;if (p.r[r1]==0)f|=0x80;if (h)f|=0x20;if (c)f|=0x10;p.r.F=f;},
    ADCrrra:function(p, r1, r2, r3) {var n = p.memory.rb(GameboyJS.Util.getRegAddr(p, r2, r3)); ops._ADCrn(p, r1, n); p.clock.c += 8;},
    ADDrrra:function(p, r1, r2, r3) {var v = p.memory.rb(GameboyJS.Util.getRegAddr(p, r2, r3));var h=((p.r[r1]&0xF)+(v&0xF))&0x10;p.wr(r1, p.r[r1]+v);var c=p.r[r1]&0x100;p.r[r1M
        var f = 0;if (p.r[r1]==0)f|=0x80;if (h)f|=0x20;if (c)f|=0x10;p.wr('F', f);
        p.clock.c += 8;},
    SUBr:   function(p, r1) {var n = p.r[r1];ops._SUBn(p, n);p.clock.c += 4;},
    SUBn:   function(p) {var n = p.memory.rb(p.r.pc++);ops._SUBn(p, n);p.clock.c += 8;},
    SUBrra: function(p, r1, r2) {var n = p.memory.rb(GameboyJS.Util.getRegAddr(p, r1, r2));ops._SUBn(p, n);p.clock.c+=8;},
    _SUBn:  function(p, n) {var c = p.r.A < n;var h = (p.r.A&0xF) < (n&0xF);
        p.wr('A', p.r.A - nM
);p.r.A&=0xFF; var z = p.r.A==0;
        var f = 0x40;if (z)f|=0x80;if (h)f|=0x20;if (c)f|=0x10;p.wr('F', f);},
    SBCn:   function(p) {var n = p.memory.rb(p.r.pc++); ops._SBCn(p, n); p.clock.c += 8;},
    SBCr:   function(p, r1) {var n = p.r[r1]; ops._SBCn(p, n); p.clock.c += 4;},
    SBCrra: function(p, r1, r2) {var v = p.memory.rb((p.r[r1] << 8) + p.r[r2]); ops._SBCn(p, v); p.clock.c += 8;},
    _SBCn:  function(p, n) {var carry = p.r.F&0x10 ? 1 : 0;
        var c = p.r.A < n + carry;var h = (p.r.A&0xF) <M
        p.wr('A', p.r.A - n - carry); p.r.A&=0xFF; var z = p.r.A == 0;
        var f = 0x40;if (z)f|=0x80;if (h)f|=0x20;if (c)f|=0x10;p.r.F=f;},
    ORr:    function(p, r1) {p.r.A|=p.r[r1];p.r.F=(p.r.A==0)?0x80:0x00;p.clock.c += 4;},
    ORn:    function(p) {p.r.A|=p.memory.rb(p.r.pc++);p.r.F=(p.r.A==0)?0x80:0x00;p.clock.c += 8;},
    ORrra:  function(p, r1, r2) {p.r.A|=p.memory.rb((p.r[r1] << 8)+ p.r[r2]);p.r.F=(p.r.A==0)?0x80:0x00;p.clock.c += 8;},
    ANDr:   function(p, r1) {p.r.A&=p.r[rM
1];p.r.F=(p.r.A==0)?0xA0:0x20;p.clock.c += 4;},
    ANDn:   function(p) {p.r.A&=p.memory.rb(p.r.pc++);p.r.F=(p.r.A==0)?0xA0:0x20;p.clock.c += 8;},
    ANDrra: function(p, r1, r2) {p.r.A&=p.memory.rb(GameboyJS.Util.getRegAddr(p, r1, r2));p.r.F=(p.r.A==0)?0xA0:0x20;p.clock.c += 8;},
    XORr:   function(p, r1) {p.r.A^=p.r[r1];p.r.F=(p.r.A==0)?0x80:0x00;p.clock.c += 4;},
    XORn:   function(p) {p.r.A^=p.memory.rb(p.r.pc++);p.r.F=(p.r.A==0)?0x80:0x00;p.clock.c += 8;},
    XORrra: function(p, r1, r2) {p.r.A^=p.memM
ory.rb((p.r[r1] << 8)+ p.r[r2]);p.r.F=(p.r.A==0)?0x80:0x00;p.clock.c += 8;},
    CPr:    function(p, r1) {var n = p.r[r1];ops._CPn(p, n); p.clock.c += 4;},
    CPn:    function(p) {var n =p.memory.rb(p.r.pc++);ops._CPn(p, n);p.clock.c+=8;},
    CPrra:  function(p, r1, r2) {var n = p.memory.rb(GameboyJS.Util.getRegAddr(p, r1, r2));ops._CPn(p, n);p.clock.c+=8;},
    _CPn:   function(p, n) {
        var c = p.r.A < n;var z = p.r.A == n;var h = (p.r.A&0xF) < (n&0xF);
        var f = 0x40;if(z)f+=0x80;if (h)f+=0x2M
0;if (c)f+=0x10;p.r.F=f;},
    RRCr:   function(p, r1) {p.r.F=0;var out=p.r[r1] & 0x01;if(out)p.r.F|=0x10;p.r[r1]=(p.r[r1]>>1)|(out*0x80);if(p.r[r1]==0)p.r.F|=0x80;p.clock.c+=4;},
    RRCrra: function(p, r1, r2) {var addr = GameboyJS.Util.getRegAddr(p, r1, r2);p.r.F=0;var out=p.memory.rb(addr)&0x01;if(out)p.r.F|=0x10;p.memory.wb(addr, (p.memory.rb(addr)>>1)|(out*0x80));if(p.memory.rb(addr)==0)p.r.F|=0x80;p.clock.c+=12;},
    RLCr:   function(p, r1) {p.r.F=0;var out=p.r[r1]&0x80?1:0;if(out)p.r.F|=0x10;p.r[r1]=((pM
.r[r1]<<1)+out)&0xFF;if(p.r[r1]==0)p.r.F|=0x80;p.clock.c+=4;},
    RLCrra: function(p, r1, r2) {var addr = GameboyJS.Util.getRegAddr(p, r1, r2);p.r.F=0;var out=p.memory.rb(addr)&0x80?1:0;if(out)p.r.F|=0x10;p.memory.wb(addr, ((p.memory.rb(addr)<<1)+out)&0xFF);if(p.memory.rb(addr)==0)p.r.F|=0x80;p.clock.c+=12;},
    RLr:    function(p, r1) {var c=(p.r.F&0x10)?1:0;p.r.F=0;var out=p.r[r1]&0x80;out?p.r.F|=0x10:p.r.F&=0xEF;p.r[r1]=((p.r[r1]<<1)+c)&0xFF;if(p.r[r1]==0)p.r.F|=0x80;p.clock.c+=4;},
    RLrra:  function(p, M
r1, r2) {var addr = GameboyJS.Util.getRegAddr(p, r1, r2);var c=(p.r.F&0x10)?1:0;p.r.F=0;var out=p.memory.rb(addr)&0x80;out?p.r.F|=0x10:p.r.F&=0xEF;p.memory.wb(addr,((p.memory.rb(addr)<<1)+c)&0xFF);if(p.memory.rb(addr)==0)p.r.F|=0x80;p.clock.c+=12;},
    RRr:    function(p, r1) {var c=(p.r.F&0x10)?1:0;p.r.F=0;var out=p.r[r1]&0x01;out?p.r.F|=0x10:p.r.F&=0xEF;p.r[r1]=(p.r[r1]>>1)|(c*0x80);if(p.r[r1]==0)p.r.F|=0x80;p.clock.c+=4;},
    RRrra:  function(p, r1, r2) {var addr = GameboyJS.Util.getRegAddr(p, r1, r2);var c=M
(p.r.F&0x10)?1:0;p.r.F=0;var out=p.memory.rb(addr)&0x01;out?p.r.F|=0x10:p.r.F&=0xEF;p.memory.wb(addr,(p.memory.rb(addr)>>1)|(c*0x80));if(p.memory.rb(addr)==0)p.r.F|=0x80;p.clock.c+=12;},
    SRAr:   function(p, r1) {p.r.F = 0;if (p.r[r1]&0x01)p.r.F|=0x10;var msb=p.r[r1]&0x80;p.r[r1]=(p.r[r1]>>1)|msb;if (p.r[r1]==0)p.r.F|=0x80;p.clock.c+=4;},
    SRArra: function(p, r1, r2) {var addr = GameboyJS.Util.getRegAddr(p, r1, r2);p.r.F = 0;if (p.memory.rb(addr)&0x01)p.r.F|=0x10;var msb=p.memory.rb(addr)&0x80;p.memory.wb(aM
ddr, (p.memory.rb(addr)>>1)|msb);if (p.memory.rb(addr)==0)p.r.F|=0x80;p.clock.c+=12;},
    SLAr:   function(p, r1) {p.r.F = 0;if (p.r[r1]&0x80)p.r.F|=0x10;p.r[r1]=(p.r[r1]<<1)&0xFF;if (p.r[r1]==0)p.r.F|=0x80;p.clock.c+=4;},
    SLArra: function(p, r1, r2) {var addr = GameboyJS.Util.getRegAddr(p, r1, r2);p.r.F = 0;if (p.memory.rb(addr)&0x80)p.r.F|=0x10;p.memory.wb(addr, (p.memory.rb(addr)<<1)&0xFF);if (p.memory.rb(addr)==0)p.r.F|=0x80;p.clock.c+=12;},
    SRLr:   function(p, r1) {p.r.F = 0;if (p.r[r1]&0x01)p.r.F|M
=0x10;p.r[r1]=p.r[r1]>>1;if (p.r[r1]==0)p.r.F|=0x80;p.clock.c+=4;},
    SRLrra: function(p, r1, r2) {var addr = GameboyJS.Util.getRegAddr(p, r1, r2);p.r.F = 0;if (p.memory.rb(addr)&0x01)p.r.F|=0x10;p.memory.wb(addr, p.memory.rb(addr)>>1);if (p.memory.rb(addr)==0)p.r.F|=0x80;p.clock.c+=12;},
    BITir:  function(p, i, r1) {var mask=1<<i;var z=(p.r[r1]&mask)?0:1;var f=p.r.F&0x10;f |= 0x20;if(z)f|=0x80;p.r.F=f;p.clock.c+=4;},
    BITirra:function(p, i, r1, r2) {var addr = GameboyJS.Util.getRegAddr(p, r1, r2);var maM
sk=1<<i;var z=(p.memory.rb(addr)&mask)?0:1;var f=p.r.F&0x10;f |= 0x20;if(z)f|=0x80;p.r.F=f;p.clock.c+=8;},
    SETir:  function(p, i, r1) {var mask=1<<i;p.r[r1]|=mask;p.clock.c += 4;},
    SETirra:function(p, i, r1, r2) {var addr = GameboyJS.Util.getRegAddr(p, r1, r2);var mask=1<<i;p.memory.wb(addr, p.memory.rb(addr)|mask);p.clock.c += 12;},
    RESir:  function(p, i, r1) {var mask=0xFF - (1<<i);p.r[r1]&=mask;p.clock.c += 4;},
    RESirra:function(p, i, r1, r2) {var addr = GameboyJS.Util.getRegAddr(p, r1, r2);vM
ar mask=0xFF - (1<<i);p.memory.wb(addr, p.memory.rb(addr)&mask);p.clock.c += 12;},
    SWAPr:  function(p, r1) {p.r[r1] = ops._SWAPn(p, p.r[r1]);p.clock.c+=4;},
    SWAPrra:function(p, r1, r2){var addr = (p.r[r1] << 8)+ p.r[r2]; p.memory.wb(addr, ops._SWAPn(p, p.memory.rb(addr))); p.clock.c+=12;},
    _SWAPn: function(p, n){p.r.F = n==0?0x80:0;return ((n&0xF0) >> 4) | ((n&0x0F) << 4);},
    JPnn:   function(p) {p.wr('pc', (p.memory.rb(p.r.pc+1) << 8) + p.memory.rb(p.r.pc));p.clock.c += 16;},
on(p, cc) {if (GameboyJS.Util.testFlag(p, cc)){var v=p.memory.rb(p.r.pc++);v=GameboyJS.Util.getSignedValue(v);p.r.pc += v;p.clock.c+=4;}else{p.r.pc++;}p.clock.c += 8;},
    JPccnn: function(p, cc) {if (GameboyJS.Util.testFlag(p, cc)){p.wr('pc', (p.memory.rb(p.r.pc+1) << 8) + p.memory.rb(p.r.pc));p.clock.c+=4;}else{p.r.pc+=2;}p.clock.c += 12;},
    JPrr:   function(p, r1, r2) {p.r.pc = (p.r[r1] << 8) + p.r[r2];p.clock.c += 4;},
    JRn:    function(p) {var v=p.memory.rb(p.r.pc++);v=GameboyJS.Util.getSignedValue(vM
);p.r.pc += v;p.clock.c += 12;},
    PUSHrr: function(p, r1, r2) {p.wr('sp', p.r.sp-1);p.memory.wb(p.r.sp, p.r[r1]);p.wr('sp', p.r.sp-1);p.memory.wb(p.r.sp, p.r[r2]);p.clock.c+=16;},
    POPrr:  function(p, r1, r2) {p.wr(r2, p.memory.rb(p.r.sp));p.wr('sp', p.r.sp+1);p.wr(r1, p.memory.rb(p.r.sp));p.wr('sp', p.r.sp+1);p.clock.c+=12;},
    RSTn:   function(p, n) {p.wr('sp', p.r.sp-1);p.memory.wb(p.r.sp,p.r.pc>>8);p.wr('sp', p.r.sp-1);p.memory.wb(p.r.sp,p.r.pc&0xFF);p.r.pc=n;p.clock.c+=16;},
    RET:    function(p)M
 {p.r.pc = p.memory.rb(p.r.sp);p.wr('sp', p.r.sp+1);p.r.pc+=p.memory.rb(p.r.sp)<<8;p.wr('sp', p.r.sp+1);p.clock.c += 16;},
    RETcc:  function(p, cc) {if (GameboyJS.Util.testFlag(p, cc)){p.r.pc = p.memory.rb(p.r.sp);p.wr('sp', p.r.sp+1);p.r.pc+=p.memory.rb(p.r.sp)<<8;p.wr('sp', p.r.sp+1);p.clock.c+=12;}p.clock.c+=8;},
    CALLnn: function(p) {ops._CALLnn(p); p.clock.c+=24;},
    CALLccnn:function(p, cc) {if (GameboyJS.Util.testFlag(p, cc)){ops._CALLnn(p);p.clock.c+=12;}else{p.r.pc+=2;}p.clock.c+=12; },
LLnn:function(p){p.wr('sp', p.r.sp - 1); p.memory.wb(p.r.sp, ((p.r.pc+2)&0xFF00)>>8);
        p.wr('sp', p.r.sp - 1); p.memory.wb(p.r.sp, (p.r.pc+2)&0x00FF);
        var j=p.memory.rb(p.r.pc)+(p.memory.rb(p.r.pc+1)<<8);p.r.pc=j;},
    CPL:    function(p) {p.wr('A', (~p.r.A)&0xFF);p.r.F|=0x60,p.clock.c += 4;},
    CCF:    function(p) {p.r.F&=0x9F;p.r.F&0x10?p.r.F&=0xE0:p.r.F|=0x10;p.clock.c += 4;},
    SCF:    function(p) {p.r.F&=0x9F;p.r.F|=0x10;p.clock.c+=4;},
    DAA:    function(p) {
        var sub = (p.M
r.F&0x40) ? 1 : 0; var h = (p.r.F&0x20)?1:0;var c = (p.r.F&0x10)?1:0;
            if (h) {
                p.r.A = (p.r.A - 0x6) & 0xFF;
            if (c) {
                p.r.A -= 0x60;
            if ((p.r.A&0xF) > 9 || h) {
                p.r.A += 0x6;
            if (p.r.A > 0x9F || c) {
                p.r.A += 0x60;
        if (p.r.A&0x100) c = 1;
        p.r.A &= 0xFF;
 0x40;if (p.r.A == 0) p.r.F|=0x80;if (c) p.r.F|=0x10;
        p.clock.c += 4;
    HALT:   function(p) {p.halt(); p.clock.c+=4;},
    DI:     function(p) {p.disableInterrupts();p.clock.c += 4;},
    EI:     function(p) {p.enableInterrupts();p.clock.c += 4;},
    RETI:   function(p) {p.enableInterrupts();ops.RET(p);},
    CB:     function(p) {var opcode = p.memory.rb(p.r.pc++);
        GameboyJS.opcodeCbmap[opcode](p);
        p.clock.c+=4;}
GameboyJS.cpuOps = ops;
}(GameboyJS || (GameboyJS = {}M
(function (GameboyJS) {
var defaultOptions = {
    pad: {class: GameboyJS.Keyboard, mapping: null},
    statusContainerId: 'status',
    gameNameContainerId: 'game-name',
    errorContainerId: 'error'
// This object is the entry point of the application
// Will delegate user actions to the emulated devices
// and provide information where needed
var Gameboy = function(canvas, options) {
    this.options = GameboyJS.Util.extend({}, defaultOptions, options);
    var cpu = new GameboyJS.CPU(this);
    var screen = new GameboyJS.Screen(canvas, this.options.zoom);
    var gpu = new GameboyJS.GPU(screen, cpu);
    var pad = new this.options.pad.class(this.options.pad.mapping);
    var input = new GameboyJS.Input(cpu, pad);
    cpu.input = input;
    this.screen = screen;
    this.input = input;
m(this.options.romReaders);
    this.statusContainer   = document.getElementById(this.options.statusContainerId) || document.createElement('div');
    this.gameNameContainer = document.getElementById(this.options.gameNameContainerId) || document.createElement('div');
    this.errorContainer    = document.getElementById(this.options.errorContainerId) || document.createElement('div');
// Create the ROM object and bind one or more readers
Gameboy.prototype.createRom = function (readers) {
ew GameboyJS.Rom(this);
    if (readers.length == 0) {
        // add the default rom reader
        var romReader = new GameboyJS.RomFileReader();
        rom.addReader(romReader);
        for (var i in readers) {
            if (readers.hasOwnProperty(i)) {
                rom.addReader(readers[i]);
Gameboy.prototype.startRom = function(rom) {
    this.errorContainer.classList.add('hide');
    this.cpu.reset();
        this.cpu.loadRom(romM
        this.setStatus('Game Running :');
        this.setGameName(this.cpu.getGameName());
        this.cpu.run();
        this.handleException(e);
Gameboy.prototype.pause = function(value) {
        this.setStatus('Game Paused :');
        this.cpu.pause();
        this.setStatus('Game Running :');
        this.cpu.unpause();
Gameboy.prototype.error = function(message) {
    this.setStatus('Error during execution');
   this.setError('An error occurred during execution:' + message);
    this.cpu.stop();
Gameboy.prototype.setStatus = function(status) {
    this.statusContainer.innerHTML = status;
// Display an error message
Gameboy.prototype.setError = function(message) {
    this.errorContainer.classList.remove('hide');
    this.errorContainer.innerHTML = message;
// Display the name of the game running
Gameboy.prototype.setGameName = function(name) {
    this.gameNameContainer.innerHTML = name;
eboy.prototype.setSoundEnabled = function(value) {
        this.cpu.apu.connect();
        this.cpu.apu.disconnect();
Gameboy.prototype.setScreenZoom = function(value) {
    this.screen.setPixelSize(value);
Gameboy.prototype.handleException = function(e) {
    if (e instanceof GameboyJS.UnimplementedException) {
        if (e.fatal) {
            this.error('This cartridge is not supported ('+ e.message +')');
            console.error(e.messM
GameboyJS.Gameboy = Gameboy;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
// Memory bank controllers
// Create an MBC instance depending on the type specified in the cartridge
MBC.getMbcInstance = function(memory, type) {
            instance = new MBC0(memory);
        case 0x01: case 0x02: case 0x03:
            instance = new MBC1(memory);
        case 0x0F: case 0x10: case 0x11: case 0x12: case 0x13:
            instance = new MBC3(memory);
        case 0x19: case 0x1A: case 0x1B: case 0x1C: case 0x1D: case 0x1E:
            instance = new MBC5(memory);
            throw new GameboyJS.UnimplementedException('MBC type not supported');
    return instance;
var MBC1 = function(memory) {
    this.memory = memory;M
    this.romBankNumber = 1;
    this.mode = 0; // mode 0 = ROM, mode 1 = RAM
    this.ramEnabled = true;
    this.extRam = new GameboyJS.ExtRam();
MBC1.prototype.loadRam = function(game, size) {
    this.extRam.loadRam(game, size);
MBC1.prototype.manageWrite = function(addr, value) {
    switch (addr & 0xF000) {
        case 0x0000: case 0x1000: // enable RAM
            this.ramEnabled = (value & 0x0A) ? true : false;
            if (this.ramEnabled) {
                this.extRam.saveRamDaM
        case 0x2000: case 0x3000: // ROM bank number lower 5 bits
            value &= 0x1F;
            if (value == 0) value = 1;
            var mask = this.mode ? 0 : 0xE0;
            this.romBankNumber = (this.romBankNumber & mask) +value;
            this.memory.loadRomBank(this.romBankNumber);
        case 0x4000: case 0x5000: // RAM bank or high bits ROM
            value &= 0x03;
            if (this.mode == 0) { // ROM upper bits
            this.romBankNumber = (this.romBankNumber&0x1F) | (value << 5);
                this.memory.loadRomBank(this.romBankNumber);
            } else { // RAM bank
                this.extRam.setRamBank(value);
        case 0x6000: case 0x7000: // ROM / RAM mode
            this.mode = value & 1;
        case 0xA000: case 0xB000:
            this.extRam.manageWrite(addr - 0xA000, value);
MBC1.prototype.readRam = functM
    return this.extRam.manageRead(addr - 0xA000);
var MBC3 = function(memory) {
    this.memory = memory;
    this.romBankNumber = 1;
    this.ramEnabled = true;
    this.extRam = new GameboyJS.ExtRam();
MBC3.prototype.loadRam = function(game, size) {
    this.extRam.loadRam(game, size);
MBC3.prototype.manageWrite = function(addr, value) {
    switch (addr & 0xF000) {
        case 0x0000: case 0x1000: // enable RAM
            this.ramEnabled = (value & 0x0A) ? true : falseM
            if (this.ramEnabled) {
                this.extRam.saveRamData();
        case 0x2000: case 0x3000: // ROM bank number
            value &= 0x7F;
            if (value == 0) value = 1;
            this.romBankNumber = value;
            this.memory.loadRomBank(this.romBankNumber);
        case 0x4000: case 0x5000: // RAM bank
            this.extRam.setRamBank(value);
        case 0x6000: case 0x7000: // Latch clock dM
            throw new GameboyJS.UnimplementedException('cartridge clock not supported', false);
        case 0xA000: case 0xB000:
            this.extRam.manageWrite(addr - 0xA000, value);
MBC3.prototype.readRam = function(addr) {
    return this.extRam.manageRead(addr - 0xA000);
// declare MBC5 for compatibility with most cartriges
// does not support rumble feature
// MBC0 exists for consistency and manages the no-MBC cartrigM
var MBC0 = function(memory) {this.memory = memory;};
MBC0.prototype.manageWrite = function(addr, value) {
    this.memory.loadRomBank(value);
MBC0.prototype.readRam = function(addr) {return 0;};
MBC0.prototype.loadRam = function() {};
GameboyJS.MBC = MBC;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
var Memory = function(cpu) {
    this.MEM_SIZE = 65536; // 64KB
    this.MBCtype = 0;
    this.banksize = 0x4000;
    this.mbc = null;
Memory.addresses = {
    VRAM_START : 0x8000,
    VRAM_END   : 0x9FFF,
    EXTRAM_START : 0xA000,
    EXTRAM_END   : 0xBFFF,
    OAM_START : 0xFE00,
    OAM_END   : 0xFE9F,
    DEVICE_START: 0xFF00,
    DEVICE_END:   0xFF7F
// Memory can be accessed as an Array
Memory.prototype = new Array();
Memory.prototype.reset = function() {
    this.length = this.MEM_SIZE;
    for (var i = Memory.addresses.VRAM_START; i <= Memory.addresses.VRAM
        this[i] = 0;
    for (var i = Memory.addresses.DEVICE_START; i <= Memory.addresses.DEVICE_END; i++) {
        this[i] = 0;
    this[0xFFFF] = 0;
Memory.prototype.setRomData = function(data) {
    this.rom = data;
    this.loadRomBank(0);
    this.mbc = GameboyJS.MBC.getMbcInstance(this, this[0x147]);
    this.loadRomBank(1);
    this.mbc.loadRam(this.cpu.getGameName(), this.cpu.getRamSize());
Memory.prototype.loadRomBank = function(index) {
 index ? 0x4000 : 0x0;
    var romStart = index * 0x4000;
    for (var i = 0; i < this.banksize; i++) {
        this[i + start] = this.rom[romStart + i];
// Video ram accessor
Memory.prototype.vram = function(address) {
    if (address < Memory.addresses.VRAM_START || address > Memory.addresses.VRAM_END) {
        throw 'VRAM access in out of bounds address ' + address;
    return this[address];
Memory.prototype.oamram = function(address) {
< Memory.addresses.OAM_START || address > Memory.addresses.OAM_END) {
        throw 'OAMRAM access in out of bounds address ' + address;
    return this[address];
// Device ram accessor
Memory.prototype.deviceram = function(address, value) {
    if (address < Memory.addresses.DEVICERAM_START || address > Memory.addresses.DEVICERAM_END) {
        throw 'Device RAM access in out of bounds address ' + address;
    if (typeof value === "undefined") {
        return this[address];
        this[address] = value;
// Memory read proxy function
// Used to centralize memory read access
Memory.prototype.rb = function (addr) {
    if (addr >= 0xFF10 && addr < 0xFF40) {
        var mask = apuMask[addr - 0xFF10];
        return this[addr] | mask;
    if ((addr >= 0xA000 && addr < 0xC000)) {
        return this.mbc.readRam(addr);
    return this[addr];
// Bitmasks for audio addresses reads
0x80,0x3F,0x00,0xFF,0xBF, // NR10-NR15
,0x3F,0x00,0xFF,0xBF, // NR20-NR25
0x7F,0xFF,0x9F,0xFF,0xBF, // NR30-NR35
0xFF,0xFF,0x00,0x00,0xBF, // NR40-NR45
0x00,0x00,0x70,           // NR50-NR52
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Wave RAM
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
// Memory write proxy function
// Used to centralize memory writes and delegate specific behaviour
// to the correct units
Memory.prototype.wb = function(addr, value) {
    if (addr < 0x8000 || (addr >= 0xA000 &&M
 addr < 0xC000)) { // MBC
        this.mbc.manageWrite(addr, value);
    } else if (addr >= 0xFF10 && addr <= 0xFF3F) { // sound registers
        this.cpu.apu.manageWrite(addr, value);
    } else if (addr == 0xFF00) { // input register
        this[addr] = ((this[addr] & 0x0F) | (value & 0x30));
        this[addr] = value;
        if ((addr & 0xFF00) == 0xFF00) {
            if (addr == 0xFF02) {
                if (value & 0x80) {
                    this.cpu.enableSerialTransfer();
            if (addr == 0xFF04) {
                this.cpu.resetDivTimer();
            if (addr == 0xFF46) { // OAM DMA transfer
                this.dmaTransfer(value);
// Start a DMA transfer (OAM data from cartrige to RAM)
Memory.prototype.dmaTransfer = function(startAddressPrefix) {
    var startAddress = (startAddressPrefix << 8);
    for (var i = 0; i < 0xA0; i++) {
        this[Memory.addresses.OAM_START + i] = this[stM
GameboyJS.Memory = Memory;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
var ops = GameboyJS.cpuOps;
// Each opcode (0 to 0xFF) is associated to a CPU operation
// CPU operations are implemented separately
// The cbmap object holds operations for CB prefixed opcodes (0xCB00 to 0xCBFF)
// Non existent opcodes are commented out and marked empty
    0x00: function(p){p.clock.c += 4;},
    0x01: function(p){ops.LDrrnn(pM
    0x02: function(p){ops.LDrrar(p, 'B', 'C', 'A');},
    0x03: function(p){ops.INCrr(p, 'B', 'C');},
    0x04: function(p){ops.INCr(p, 'B');},
    0x05: function(p){ops.DECr(p, 'B');},
    0x06: function(p){ops.LDrn(p, 'B');},
    0x07: function(p){var out=p.r.A & 0x80?1:0; out ? p.r.F=0x10:p.r.F=0; p.wr('A', ((p.r.A<<1)+out)&0xFF);p.clock.c+=4;},
    0x08: function(p){ops.LDnnsp(p);},
    0x09: function(p){ops.ADDrrrr(p, 'H', 'L', 'B', 'C');},
    0x0A: function(p){ops.LDrrra(p, 'A', 'B', M
    0x0B: function(p){ops.DECrr(p, 'B', 'C');},
    0x0C: function(p){ops.INCr(p, 'C');},
    0x0D: function(p){ops.DECr(p, 'C');},
    0x0E: function(p){ops.LDrn(p, 'C');},
    0x0F: function(p){var out=p.r.A & 0x01; out ? p.r.F=0x10:p.r.F=0; p.wr('A', (p.r.A>>1)|(out*0x80));p.clock.c+=4;},
    0x10: function(p){p.r.pc++;p.clock.c+=4;},
    0x11: function(p){ops.LDrrnn(p, 'D', 'E');},
    0x12: function(p){ops.LDrrar(p, 'D', 'E', 'A');},
    0x13: function(p){ops.INCrr(p, 'D', 'E');},
 function(p){ops.INCr(p, 'D');},
    0x15: function(p){ops.DECr(p, 'D');},
    0x16: function(p){ops.LDrn(p, 'D');},
    0x17: function(p){var c = (p.r.F&0x10)?1:0;var out=p.r.A & 0x80?1:0; out ? p.r.F=0x10:p.r.F=0; p.wr('A',((p.r.A<<1)+c)&0xFF);p.clock.c+=4;},
    0x18: function(p){ops.JRn(p);},
    0x19: function(p){ops.ADDrrrr(p, 'H', 'L', 'D', 'E');},
    0x1A: function(p){ops.LDrrra(p, 'A', 'D', 'E');},
    0x1B: function(p){ops.DECrr(p, 'D', 'E');},
    0x1C: function(p){ops.INCr(p, 'E');},
 function(p){ops.DECr(p, 'E');},
    0x1E: function(p){ops.LDrn(p, 'E');},
    0x1F: function(p){var c = (p.r.F&0x10)?1:0;var out=p.r.A & 0x01; out ? p.r.F=0x10:p.r.F=0; p.wr('A', (p.r.A>>1)|(c*0x80));p.clock.c+=4;},
    0x20: function(p){ops.JRccn(p, 'NZ');},
    0x21: function(p){ops.LDrrnn(p, 'H', 'L');},
    0x22: function(p){ops.LDrrar(p, 'H', 'L', 'A');ops.INCrr(p, 'H', 'L');p.clock.c -= 8;},
    0x23: function(p){ops.INCrr(p, 'H', 'L');},
    0x24: function(p){ops.INCr(p, 'H');},
(p){ops.DECr(p, 'H');},
    0x26: function(p){ops.LDrn(p, 'H');},
    0x27: function(p){ops.DAA(p);},
    0x28: function(p){ops.JRccn(p, 'Z');},
    0x29: function(p){ops.ADDrrrr(p, 'H', 'L', 'H', 'L');},
    0x2A: function(p){ops.LDrrra(p, 'A', 'H', 'L');ops.INCrr(p, 'H', 'L');p.clock.c -= 8;},
    0x2B: function(p){ops.DECrr(p, 'H', 'L');},
    0x2C: function(p){ops.INCr(p, 'L');},
    0x2D: function(p){ops.DECr(p, 'L');},
    0x2E: function(p){ops.LDrn(p, 'L');},
    0x2F: function(p){ops.CPL(p);},
    0x30: function(p){ops.JRccn(p, 'NC');},
    0x31: function(p){ops.LDspnn(p);},
    0x32: function(p){ops.LDrrar(p, 'H', 'L', 'A');ops.DECrr(p, 'H', 'L');p.clock.c -= 8;},
    0x33: function(p){ops.INCsp(p);},
    0x34: function(p){ops.INCrra(p, 'H', 'L');},
    0x35: function(p){ops.DECrra(p, 'H', 'L');},
    0x36: function(p){ops.LDrran(p, 'H', 'L');},
    0x37: function(p){ops.SCF(p);},
    0x38: function(p){ops.JRccn(p, 'C');},
    0x39: function(p){ops.ADDrrsp(p, 'H', 'L');},
    0x3A: function(p)M
{ops.LDrrra(p, 'A', 'H', 'L');ops.DECrr(p, 'H', 'L');p.clock.c -= 8;},
    0x3B: function(p){ops.DECsp(p);},
    0x3C: function(p){ops.INCr(p, 'A');},
    0x3D: function(p){ops.DECr(p, 'A');},
    0x3E: function(p){ops.LDrn(p, 'A');},
    0x3F: function(p){ops.CCF(p);},
    0x40: function(p){ops.LDrr(p, 'B', 'B');},
    0x41: function(p){ops.LDrr(p, 'B', 'C');},
    0x42: function(p){ops.LDrr(p, 'B', 'D');},
    0x43: function(p){ops.LDrr(p, 'B', 'E');},
    0x44: function(p){ops.LDrr(p, 'B', 'H');},
   0x45: function(p){ops.LDrr(p, 'B', 'L');},
    0x46: function(p){ops.LDrrra(p, 'B', 'H', 'L');},
    0x47: function(p){ops.LDrr(p, 'B', 'A');},
    0x48: function(p){ops.LDrr(p, 'C', 'B');},
    0x49: function(p){ops.LDrr(p, 'C', 'C');},
    0x4A: function(p){ops.LDrr(p, 'C', 'D');},
    0x4B: function(p){ops.LDrr(p, 'C', 'E');},
    0x4C: function(p){ops.LDrr(p, 'C', 'H');},
    0x4D: function(p){ops.LDrr(p, 'C', 'L');},
    0x4E: function(p){ops.LDrrra(p, 'C', 'H', 'L');},
    0x4F: function(p){ops.LM
    0x50: function(p){ops.LDrr(p, 'D', 'B');},
    0x51: function(p){ops.LDrr(p, 'D', 'C');},
    0x52: function(p){ops.LDrr(p, 'D', 'D');},
    0x53: function(p){ops.LDrr(p, 'D', 'E');},
    0x54: function(p){ops.LDrr(p, 'D', 'H');},
    0x55: function(p){ops.LDrr(p, 'D', 'L');},
    0x56: function(p){ops.LDrrra(p, 'D', 'H', 'L');},
    0x57: function(p){ops.LDrr(p, 'D', 'A');},
    0x58: function(p){ops.LDrr(p, 'E', 'B');},
    0x59: function(p){ops.LDrr(p, 'E', 'C');},
function(p){ops.LDrr(p, 'E', 'D');},
    0x5B: function(p){ops.LDrr(p, 'E', 'E');},
    0x5C: function(p){ops.LDrr(p, 'E', 'H');},
    0x5D: function(p){ops.LDrr(p, 'E', 'L');},
    0x5E: function(p){ops.LDrrra(p, 'E', 'H', 'L');},
    0x5F: function(p){ops.LDrr(p, 'E', 'A');},
    0x60: function(p){ops.LDrr(p, 'H', 'B');},
    0x61: function(p){ops.LDrr(p, 'H', 'C');},
    0x62: function(p){ops.LDrr(p, 'H', 'D');},
    0x63: function(p){ops.LDrr(p, 'H', 'E');},
    0x64: function(p){ops.LDrr(p, 'H', 'HM
    0x65: function(p){ops.LDrr(p, 'H', 'L');},
    0x66: function(p){ops.LDrrra(p, 'H', 'H', 'L');},
    0x67: function(p){ops.LDrr(p, 'H', 'A');},
    0x68: function(p){ops.LDrr(p, 'L', 'B');},
    0x69: function(p){ops.LDrr(p, 'L', 'C');},
    0x6A: function(p){ops.LDrr(p, 'L', 'D');},
    0x6B: function(p){ops.LDrr(p, 'L', 'E');},
    0x6C: function(p){ops.LDrr(p, 'L', 'H');},
    0x6D: function(p){ops.LDrr(p, 'L', 'L');},
    0x6E: function(p){ops.LDrrra(p, 'L', 'H', 'L');},
    0x6F: function(M
p){ops.LDrr(p, 'L', 'A');},
    0x70: function(p){ops.LDrrar(p, 'H', 'L', 'B');},
    0x71: function(p){ops.LDrrar(p, 'H', 'L', 'C');},
    0x72: function(p){ops.LDrrar(p, 'H', 'L', 'D');},
    0x73: function(p){ops.LDrrar(p, 'H', 'L', 'E');},
    0x74: function(p){ops.LDrrar(p, 'H', 'L', 'H');},
    0x75: function(p){ops.LDrrar(p, 'H', 'L', 'L');},
    0x76: function(p){ops.HALT(p);},
    0x77: function(p){ops.LDrrar(p, 'H', 'L', 'A');},
    0x78: function(p){ops.LDrr(p, 'A', 'B');},
(p){ops.LDrr(p, 'A', 'C');},
    0x7A: function(p){ops.LDrr(p, 'A', 'D');},
    0x7B: function(p){ops.LDrr(p, 'A', 'E');},
    0x7C: function(p){ops.LDrr(p, 'A', 'H');},
    0x7D: function(p){ops.LDrr(p, 'A', 'L');},
    0x7E: function(p){ops.LDrrra(p, 'A', 'H', 'L');},
    0x7F: function(p){ops.LDrr(p, 'A', 'A');},
    0x80: function(p){ops.ADDrr(p, 'A', 'B');},
    0x81: function(p){ops.ADDrr(p, 'A', 'C');},
    0x82: function(p){ops.ADDrr(p, 'A', 'D');},
    0x83: function(p){ops.ADDrr(p, 'A', 'E');}M
    0x84: function(p){ops.ADDrr(p, 'A', 'H');},
    0x85: function(p){ops.ADDrr(p, 'A', 'L');},
    0x86: function(p){ops.ADDrrra(p, 'A', 'H', 'L');},
    0x87: function(p){ops.ADDrr(p, 'A', 'A');},
    0x88: function(p){ops.ADCrr(p, 'A', 'B');},
    0x89: function(p){ops.ADCrr(p, 'A', 'C');},
    0x8A: function(p){ops.ADCrr(p, 'A', 'D');},
    0x8B: function(p){ops.ADCrr(p, 'A', 'E');},
    0x8C: function(p){ops.ADCrr(p, 'A', 'H');},
    0x8D: function(p){ops.ADCrr(p, 'A', 'L');},
    0x8E: function(pM
){ops.ADCrrra(p, 'A', 'H', 'L');},
    0x8F: function(p){ops.ADCrr(p, 'A', 'A');},
    0x90: function(p){ops.SUBr(p, 'B');},
    0x91: function(p){ops.SUBr(p, 'C');},
    0x92: function(p){ops.SUBr(p, 'D');},
    0x93: function(p){ops.SUBr(p, 'E');},
    0x94: function(p){ops.SUBr(p, 'H');},
    0x95: function(p){ops.SUBr(p, 'L');},
    0x96: function(p){ops.SUBrra(p, 'H', 'L');},
    0x97: function(p){ops.SUBr(p, 'A');},
    0x98: function(p){ops.SBCr(p, 'B');},
    0x99: function(p){ops.SBCr(p, 'C');M
    0x9A: function(p){ops.SBCr(p, 'D');},
    0x9B: function(p){ops.SBCr(p, 'E');},
    0x9C: function(p){ops.SBCr(p, 'H');},
    0x9D: function(p){ops.SBCr(p, 'L');},
    0x9E: function(p){ops.SBCrra(p, 'H', 'L');},
    0x9F: function(p){ops.SBCr(p, 'A');},
    0xA0: function(p){ops.ANDr(p, 'B');},
    0xA1: function(p){ops.ANDr(p, 'C');},
    0xA2: function(p){ops.ANDr(p, 'D');},
    0xA3: function(p){ops.ANDr(p, 'E');},
    0xA4: function(p){ops.ANDr(p, 'H');},
    0xA5: function(p){ops.ANDr(p, M
    0xA6: function(p){ops.ANDrra(p, 'H', 'L');},
    0xA7: function(p){ops.ANDr(p, 'A');},
    0xA8: function(p){ops.XORr(p, 'B');},
    0xA9: function(p){ops.XORr(p, 'C');},
    0xAA: function(p){ops.XORr(p, 'D');},
    0xAB: function(p){ops.XORr(p, 'E');},
    0xAC: function(p){ops.XORr(p, 'H');},
    0xAD: function(p){ops.XORr(p, 'L');},
    0xAE: function(p){ops.XORrra(p, 'H', 'L');},
    0xAF: function(p){ops.XORr(p, 'A');},
    0xB0: function(p){ops.ORr(p, 'B');},
    0xB1: function(p){oM
    0xB2: function(p){ops.ORr(p, 'D');},
    0xB3: function(p){ops.ORr(p, 'E');},
    0xB4: function(p){ops.ORr(p, 'H');},
    0xB5: function(p){ops.ORr(p, 'L');},
    0xB6: function(p){ops.ORrra(p, 'H', 'L');},
    0xB7: function(p){ops.ORr(p, 'A');},
    0xB8: function(p){ops.CPr(p, 'B');},
    0xB9: function(p){ops.CPr(p, 'C');},
    0xBA: function(p){ops.CPr(p, 'D');},
    0xBB: function(p){ops.CPr(p, 'E');},
    0xBC: function(p){ops.CPr(p, 'H');},
    0xBD: function(p){ops.CPr(p,M
    0xBE: function(p){ops.CPrra(p, 'H', 'L');},
    0xBF: function(p){ops.CPr(p, 'A');},
    0xC0: function(p){ops.RETcc(p, 'NZ');},
    0xC1: function(p){ops.POPrr(p, 'B', 'C');},
    0xC2: function(p){ops.JPccnn(p, 'NZ');},
    0xC3: function(p){ops.JPnn(p);},
    0xC4: function(p){ops.CALLccnn(p, 'NZ');},
    0xC5: function(p){ops.PUSHrr(p, 'B', 'C');},
    0xC6: function(p){ops.ADDrn(p, 'A');},
    0xC7: function(p){ops.RSTn(p, 0x00);},
    0xC8: function(p){ops.RETcc(p, 'Z');},
 function(p){ops.RET(p);},
    0xCA: function(p){ops.JPccnn(p, 'Z');},
    0xCB: function(p){ops.CB(p);},
    0xCC: function(p){ops.CALLccnn(p, 'Z');},
    0xCD: function(p){ops.CALLnn(p);},
    0xCE: function(p){ops.ADCrn(p, 'A');},
    0xCF: function(p){ops.RSTn(p, 0x08);},
    0xD0: function(p){ops.RETcc(p, 'NC');},
    0xD1: function(p){ops.POPrr(p, 'D', 'E');},
    0xD2: function(p){ops.JPccnn(p, 'NC');},
    0xD4: function(p){ops.CALLccnn(p, 'NC');},
    0xD5: function(p){ops.PUM
SHrr(p, 'D', 'E');},
    0xD6: function(p){ops.SUBn(p);},
    0xD7: function(p){ops.RSTn(p, 0x10);},
    0xD8: function(p){ops.RETcc(p, 'C');},
    0xD9: function(p){ops.RETI(p);},
    0xDA: function(p){ops.JPccnn(p, 'C');},
    0xDC: function(p){ops.CALLccnn(p, 'C');},
    0xDE: function(p){ops.SBCn(p);},
    0xDF: function(p){ops.RSTn(p, 0x18);},
    0xE0: function(p){ops.LDHnar(p, 'A');},
    0xE1: function(p){ops.POPrr(p, 'H', 'L');},
    0xE2: function(p){ops.LDM
    0xE5: function(p){ops.PUSHrr(p, 'H', 'L');},
    0xE6: function(p){ops.ANDn(p);},
    0xE7: function(p){ops.RSTn(p, 0x20);},
    0xE8: function(p){ops.ADDspn(p);},
    0xE9: function(p){ops.JPrr(p, 'H', 'L');},
    0xEA: function(p){ops.LDnnar(p, 'A');},
    0xEE: function(p){ops.XORn(p);},
    0xEF: function(p){ops.RSTn(p, 0x28);},
    0xF0: function(p){ops.LDHrna(p, 'A');},
ion(p){ops.POPrr(p, 'A', 'F');},
    0xF2: function(p){ops.LDrra(p, 'A', 'C');},
    0xF3: function(p){ops.DI(p);},
    0xF5: function(p){ops.PUSHrr(p, 'A', 'F');},
    0xF6: function(p){ops.ORn(p);},
    0xF7: function(p){ops.RSTn(p, 0x30);},
    0xF8: function(p){ops.LDrrspn(p, 'H', 'L');},
    0xF9: function(p){ops.LDsprr(p, 'H', 'L');},
    0xFA: function(p){ops.LDrnna(p, 'A');},
    0xFB: function(p){ops.EI(p);},
    0xFE: function(p){ops.CPn(p);}M
    0xFF: function(p){ops.RSTn(p, 0x38);}
    0x00: function(p){ops.RLCr(p, 'B');},
    0x01: function(p){ops.RLCr(p, 'C');},
    0x02: function(p){ops.RLCr(p, 'D');},
    0x03: function(p){ops.RLCr(p, 'E');},
    0x04: function(p){ops.RLCr(p, 'H');},
    0x05: function(p){ops.RLCr(p, 'L');},
    0x06: function(p){ops.RLCrra(p, 'H', 'L');},
    0x07: function(p){ops.RLCr(p, 'A');},
    0x08: function(p){ops.RRCr(p, 'B');},
    0x09: function(p){ops.RRCr(p, 'C');},
on(p){ops.RRCr(p, 'D');},
    0x0B: function(p){ops.RRCr(p, 'E');},
    0x0C: function(p){ops.RRCr(p, 'H');},
    0x0D: function(p){ops.RRCr(p, 'L');},
    0x0E: function(p){ops.RRCrra(p, 'H', 'L');},
    0x0F: function(p){ops.RRCr(p, 'A');},
    0x10: function(p){ops.RLr(p, 'B');},
    0x11: function(p){ops.RLr(p, 'C');},
    0x12: function(p){ops.RLr(p, 'D');},
    0x13: function(p){ops.RLr(p, 'E');},
    0x14: function(p){ops.RLr(p, 'H');},
    0x15: function(p){ops.RLr(p, 'L');},
n(p){ops.RLrra(p, 'H', 'L');},
    0x17: function(p){ops.RLr(p, 'A');},
    0x18: function(p){ops.RRr(p, 'B');},
    0x19: function(p){ops.RRr(p, 'C');},
    0x1A: function(p){ops.RRr(p, 'D');},
    0x1B: function(p){ops.RRr(p, 'E');},
    0x1C: function(p){ops.RRr(p, 'H');},
    0x1D: function(p){ops.RRr(p, 'L');},
    0x1E: function(p){ops.RRrra(p, 'H', 'L');},
    0x1F: function(p){ops.RRr(p, 'A');},
    0x20: function(p){ops.SLAr(p, 'B');},
    0x21: function(p){ops.SLAr(p, 'C');},
ion(p){ops.SLAr(p, 'D');},
    0x23: function(p){ops.SLAr(p, 'E');},
    0x24: function(p){ops.SLAr(p, 'H');},
    0x25: function(p){ops.SLAr(p, 'L');},
    0x26: function(p){ops.SLArra(p, 'H', 'L');},
    0x27: function(p){ops.SLAr(p, 'A');},
    0x28: function(p){ops.SRAr(p, 'B');},
    0x29: function(p){ops.SRAr(p, 'C');},
    0x2A: function(p){ops.SRAr(p, 'D');},
    0x2B: function(p){ops.SRAr(p, 'E');},
    0x2C: function(p){ops.SRAr(p, 'H');},
    0x2D: function(p){ops.SRAr(p, 'L');},
nction(p){ops.SRArra(p, 'H', 'L');},
    0x2F: function(p){ops.SRAr(p, 'A');},
    0x30: function(p){ops.SWAPr(p, 'B');},
    0x31: function(p){ops.SWAPr(p, 'C');},
    0x32: function(p){ops.SWAPr(p, 'D');},
    0x33: function(p){ops.SWAPr(p, 'E');},
    0x34: function(p){ops.SWAPr(p, 'H');},
    0x35: function(p){ops.SWAPr(p, 'L');},
    0x36: function(p){ops.SWAPrra(p, 'H', 'L');},
    0x37: function(p){ops.SWAPr(p, 'A');},
    0x38: function(p){ops.SRLr(p, 'B');},
    0x39: function(p){ops.SRLr(p, 'M
    0x3A: function(p){ops.SRLr(p, 'D');},
    0x3B: function(p){ops.SRLr(p, 'E');},
    0x3C: function(p){ops.SRLr(p, 'H');},
    0x3D: function(p){ops.SRLr(p, 'L');},
    0x3E: function(p){ops.SRLrra(p, 'H', 'L');},
    0x3F: function(p){ops.SRLr(p, 'A');},
    0x40: function(p){ops.BITir(p, 0, 'B');},
    0x41: function(p){ops.BITir(p, 0, 'C');},
    0x42: function(p){ops.BITir(p, 0, 'D');},
    0x43: function(p){ops.BITir(p, 0, 'E');},
    0x44: function(p){ops.BITir(p, 0, 'H');},
function(p){ops.BITir(p, 0, 'L');},
    0x46: function(p){ops.BITirra(p, 0, 'H', 'L');},
    0x47: function(p){ops.BITir(p, 0, 'A');},
    0x48: function(p){ops.BITir(p, 1, 'B');},
    0x49: function(p){ops.BITir(p, 1, 'C');},
    0x4A: function(p){ops.BITir(p, 1, 'D');},
    0x4B: function(p){ops.BITir(p, 1, 'E');},
    0x4C: function(p){ops.BITir(p, 1, 'H');},
    0x4D: function(p){ops.BITir(p, 1, 'L');},
    0x4E: function(p){ops.BITirra(p, 1, 'H', 'L');},
    0x4F: function(p){ops.BITir(p, 1, 'A');},
    0x50: function(p){ops.BITir(p, 2, 'B');},
    0x51: function(p){ops.BITir(p, 2, 'C');},
    0x52: function(p){ops.BITir(p, 2, 'D');},
    0x53: function(p){ops.BITir(p, 2, 'E');},
    0x54: function(p){ops.BITir(p, 2, 'H');},
    0x55: function(p){ops.BITir(p, 2, 'L');},
    0x56: function(p){ops.BITirra(p, 2, 'H', 'L');},
    0x57: function(p){ops.BITir(p, 2, 'A');},
    0x58: function(p){ops.BITir(p, 3, 'B');},
    0x59: function(p){ops.BITir(p, 3, 'C');},
    0x5A: function(p){ops.BITir(p, 3, 'DM
    0x5B: function(p){ops.BITir(p, 3, 'E');},
    0x5C: function(p){ops.BITir(p, 3, 'H');},
    0x5D: function(p){ops.BITir(p, 3, 'L');},
    0x5E: function(p){ops.BITirra(p, 3, 'H', 'L');},
    0x5F: function(p){ops.BITir(p, 3, 'A');},
    0x60: function(p){ops.BITir(p, 4, 'B');},
    0x61: function(p){ops.BITir(p, 4, 'C');},
    0x62: function(p){ops.BITir(p, 4, 'D');},
    0x63: function(p){ops.BITir(p, 4, 'E');},
    0x64: function(p){ops.BITir(p, 4, 'H');},
    0x65: function(p){ops.BITir(p,M
    0x66: function(p){ops.BITirra(p, 4, 'H', 'L');},
    0x67: function(p){ops.BITir(p, 4, 'A');},
    0x68: function(p){ops.BITir(p, 5, 'B');},
    0x69: function(p){ops.BITir(p, 5, 'C');},
    0x6A: function(p){ops.BITir(p, 5, 'D');},
    0x6B: function(p){ops.BITir(p, 5, 'E');},
    0x6C: function(p){ops.BITir(p, 5, 'H');},
    0x6D: function(p){ops.BITir(p, 5, 'L');},
    0x6E: function(p){ops.BITirra(p, 5, 'H', 'L');},
    0x6F: function(p){ops.BITir(p, 5, 'A');},
    0x70: function(p)M
{ops.BITir(p, 6, 'B');},
    0x71: function(p){ops.BITir(p, 6, 'C');},
    0x72: function(p){ops.BITir(p, 6, 'D');},
    0x73: function(p){ops.BITir(p, 6, 'E');},
    0x74: function(p){ops.BITir(p, 6, 'H');},
    0x75: function(p){ops.BITir(p, 6, 'L');},
    0x76: function(p){ops.BITirra(p, 6, 'H', 'L');},
    0x77: function(p){ops.BITir(p, 6, 'A');},
    0x78: function(p){ops.BITir(p, 7, 'B');},
    0x79: function(p){ops.BITir(p, 7, 'C');},
    0x7A: function(p){ops.BITir(p, 7, 'D');},
n(p){ops.BITir(p, 7, 'E');},
    0x7C: function(p){ops.BITir(p, 7, 'H');},
    0x7D: function(p){ops.BITir(p, 7, 'L');},
    0x7E: function(p){ops.BITirra(p, 7, 'H', 'L');},
    0x7F: function(p){ops.BITir(p, 7, 'A');},
    0x80: function(p){ops.RESir(p, 0, 'B');},
    0x81: function(p){ops.RESir(p, 0, 'C');},
    0x82: function(p){ops.RESir(p, 0, 'D');},
    0x83: function(p){ops.RESir(p, 0, 'E');},
    0x84: function(p){ops.RESir(p, 0, 'H');},
    0x85: function(p){ops.RESir(p, 0, 'L');},
unction(p){ops.RESirra(p, 0, 'H', 'L');},
    0x87: function(p){ops.RESir(p, 0, 'A');},
    0x88: function(p){ops.RESir(p, 1, 'B');},
    0x89: function(p){ops.RESir(p, 1, 'C');},
    0x8A: function(p){ops.RESir(p, 1, 'D');},
    0x8B: function(p){ops.RESir(p, 1, 'E');},
    0x8C: function(p){ops.RESir(p, 1, 'H');},
    0x8D: function(p){ops.RESir(p, 1, 'L');},
    0x8E: function(p){ops.RESirra(p, 1, 'H', 'L');},
    0x8F: function(p){ops.RESir(p, 1, 'A');},
    0x90: function(p){ops.RESir(p, 2, 'B');},M
    0x91: function(p){ops.RESir(p, 2, 'C');},
    0x92: function(p){ops.RESir(p, 2, 'D');},
    0x93: function(p){ops.RESir(p, 2, 'E');},
    0x94: function(p){ops.RESir(p, 2, 'H');},
    0x95: function(p){ops.RESir(p, 2, 'L');},
    0x96: function(p){ops.RESirra(p, 2, 'H', 'L');},
    0x97: function(p){ops.RESir(p, 2, 'A');},
    0x98: function(p){ops.RESir(p, 3, 'B');},
    0x99: function(p){ops.RESir(p, 3, 'C');},
    0x9A: function(p){ops.RESir(p, 3, 'D');},
    0x9B: function(p){ops.RESir(p, 3, 'E'M
    0x9C: function(p){ops.RESir(p, 3, 'H');},
    0x9D: function(p){ops.RESir(p, 3, 'L');},
    0x9E: function(p){ops.RESirra(p, 3, 'H', 'L');},
    0x9F: function(p){ops.RESir(p, 3, 'A');},
    0xA0: function(p){ops.RESir(p, 4, 'B');},
    0xA1: function(p){ops.RESir(p, 4, 'C');},
    0xA2: function(p){ops.RESir(p, 4, 'D');},
    0xA3: function(p){ops.RESir(p, 4, 'E');},
    0xA4: function(p){ops.RESir(p, 4, 'H');},
    0xA5: function(p){ops.RESir(p, 4, 'L');},
    0xA6: function(p){ops.RESirra(pM
    0xA7: function(p){ops.RESir(p, 4, 'A');},
    0xA8: function(p){ops.RESir(p, 5, 'B');},
    0xA9: function(p){ops.RESir(p, 5, 'C');},
    0xAA: function(p){ops.RESir(p, 5, 'D');},
    0xAB: function(p){ops.RESir(p, 5, 'E');},
    0xAC: function(p){ops.RESir(p, 5, 'H');},
    0xAD: function(p){ops.RESir(p, 5, 'L');},
    0xAE: function(p){ops.RESirra(p, 5, 'H', 'L');},
    0xAF: function(p){ops.RESir(p, 5, 'A');},
    0xB0: function(p){ops.RESir(p, 6, 'B');},
    0xB1: function(p){M
ops.RESir(p, 6, 'C');},
    0xB2: function(p){ops.RESir(p, 6, 'D');},
    0xB3: function(p){ops.RESir(p, 6, 'E');},
    0xB4: function(p){ops.RESir(p, 6, 'H');},
    0xB5: function(p){ops.RESir(p, 6, 'L');},
    0xB6: function(p){ops.RESirra(p, 6, 'H', 'L');},
    0xB7: function(p){ops.RESir(p, 6, 'A');},
    0xB8: function(p){ops.RESir(p, 7, 'B');},
    0xB9: function(p){ops.RESir(p, 7, 'C');},
    0xBA: function(p){ops.RESir(p, 7, 'D');},
    0xBB: function(p){ops.RESir(p, 7, 'E');},
(p){ops.RESir(p, 7, 'H');},
    0xBD: function(p){ops.RESir(p, 7, 'L');},
    0xBE: function(p){ops.RESirra(p, 7, 'H', 'L');},
    0xBF: function(p){ops.RESir(p, 7, 'A');},
    0xC0: function(p){ops.SETir(p, 0, 'B');},
    0xC1: function(p){ops.SETir(p, 0, 'C');},
    0xC2: function(p){ops.SETir(p, 0, 'D');},
    0xC3: function(p){ops.SETir(p, 0, 'E');},
    0xC4: function(p){ops.SETir(p, 0, 'H');},
    0xC5: function(p){ops.SETir(p, 0, 'L');},
    0xC6: function(p){ops.SETirra(p, 0, 'H', 'L');},
xC7: function(p){ops.SETir(p, 0, 'A');},
    0xC8: function(p){ops.SETir(p, 1, 'B');},
    0xC9: function(p){ops.SETir(p, 1, 'C');},
    0xCA: function(p){ops.SETir(p, 1, 'D');},
    0xCB: function(p){ops.SETir(p, 1, 'E');},
    0xCC: function(p){ops.SETir(p, 1, 'H');},
    0xCD: function(p){ops.SETir(p, 1, 'L');},
    0xCE: function(p){ops.SETirra(p, 1, 'H', 'L');},
    0xCF: function(p){ops.SETir(p, 1, 'A');},
    0xD0: function(p){ops.SETir(p, 2, 'B');},
    0xD1: function(p){ops.SETir(p, 2, 'C');},
    0xD2: function(p){ops.SETir(p, 2, 'D');},
    0xD3: function(p){ops.SETir(p, 2, 'E');},
    0xD4: function(p){ops.SETir(p, 2, 'H');},
    0xD5: function(p){ops.SETir(p, 2, 'L');},
    0xD6: function(p){ops.SETirra(p, 2, 'H', 'L');},
    0xD7: function(p){ops.SETir(p, 2, 'A');},
    0xD8: function(p){ops.SETir(p, 3, 'B');},
    0xD9: function(p){ops.SETir(p, 3, 'C');},
    0xDA: function(p){ops.SETir(p, 3, 'D');},
    0xDB: function(p){ops.SETir(p, 3, 'E');},
    0xDC: function(p){ops.SETir(p, 3, 'H')M
    0xDD: function(p){ops.SETir(p, 3, 'L');},
    0xDE: function(p){ops.SETirra(p, 3, 'H', 'L');},
    0xDF: function(p){ops.SETir(p, 3, 'A');},
    0xE0: function(p){ops.SETir(p, 4, 'B');},
    0xE1: function(p){ops.SETir(p, 4, 'C');},
    0xE2: function(p){ops.SETir(p, 4, 'D');},
    0xE3: function(p){ops.SETir(p, 4, 'E');},
    0xE4: function(p){ops.SETir(p, 4, 'H');},
    0xE5: function(p){ops.SETir(p, 4, 'L');},
    0xE6: function(p){ops.SETirra(p, 4, 'H', 'L');},
    0xE7: function(p){ops.SETM
    0xE8: function(p){ops.SETir(p, 5, 'B');},
    0xE9: function(p){ops.SETir(p, 5, 'C');},
    0xEA: function(p){ops.SETir(p, 5, 'D');},
    0xEB: function(p){ops.SETir(p, 5, 'E');},
    0xEC: function(p){ops.SETir(p, 5, 'H');},
    0xED: function(p){ops.SETir(p, 5, 'L');},
    0xEE: function(p){ops.SETirra(p, 5, 'H', 'L');},
    0xEF: function(p){ops.SETir(p, 5, 'A');},
    0xF0: function(p){ops.SETir(p, 6, 'B');},
    0xF1: function(p){ops.SETir(p, 6, 'C');},
    0xF2: function(p){oM
ps.SETir(p, 6, 'D');},
    0xF3: function(p){ops.SETir(p, 6, 'E');},
    0xF4: function(p){ops.SETir(p, 6, 'H');},
    0xF5: function(p){ops.SETir(p, 6, 'L');},
    0xF6: function(p){ops.SETirra(p, 6, 'H', 'L');},
    0xF7: function(p){ops.SETir(p, 6, 'A');},
    0xF8: function(p){ops.SETir(p, 7, 'B');},
    0xF9: function(p){ops.SETir(p, 7, 'C');},
    0xFA: function(p){ops.SETir(p, 7, 'D');},
    0xFB: function(p){ops.SETir(p, 7, 'E');},
    0xFC: function(p){ops.SETir(p, 7, 'H');},
    0xFD: function(M
p){ops.SETir(p, 7, 'L');},
    0xFE: function(p){ops.SETirra(p, 7, 'H', 'L');},
    0xFF: function(p){ops.SETir(p, 7, 'A');}
GameboyJS.opcodeMap = map;
GameboyJS.opcodeCbmap = cbmap;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
// A RomAjaxReader is able to load a file through an AJAX request
var RomAjaxReader = function() {
// The callback argument will be called when a file is successfully
// read, with the data as argument (Uint8Array)
axReader.prototype.setCallback = function(onLoadCallback) {
    this.callback = onLoadCallback;
// This function should be called by application code
// and will trigger the AJAX call itself and push data to the ROM object
RomAjaxReader.prototype.loadFromUrl = function(url) {
        throw 'No url has been set in order to load a ROM file.';
    var cb = this.callback;
    var xhr = new XMLHttpRequest();
    xhr.open('GET', url, true);
    xhr.responseType = "arraybuffer";
   xhr.onload = function() {
        var rom = new Uint8Array(xhr.response);
        cb && cb(rom);
GameboyJS.RomAjaxReader = RomAjaxReader;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
// A RomDropFileReader is able to load a drag and dropped file
var RomDropFileReader = function(el) {
    this.dropElement = el;
    if (!this.dropElement) {
        throw 'The RomDropFileReader needs a drop zone.';
    this.dropElement.addEventListener('dragenter', function(e) {
        e.preventDefault();
        e.target.classList.add('drag-active');
    this.dropElement.addEventListener('dragleave', function(e) {
        e.preventDefault();
        e.target.classList.remove('drag-active');
    this.dropElement.addEventListener('dragover', function(e) {
        e.preventDefault();
    this.dropElement.addEventListener('drop', function (e) {
        e.target.classList.remove('drag-acM
        if (e.dataTransfer.files.length == 0) {
        e.preventDefault();
        self.loadFromFile(e.dataTransfer.files[0]);
// The callback argument will be called when a file is successfully
// read, with the data as argument (Uint8Array)
RomDropFileReader.prototype.setCallback = function(onLoadCallback) {
    this.callback = onLoadCallback;
// The file loading logic is the same as the regular file reader
RomDropFileReader.prototype.loadFromM
File = function(file) {
    if (file === undefined) {
    var fr = new FileReader();
    var cb = this.callback;
    fr.onload = function() {
        cb && cb(new Uint8Array(fr.result));
    fr.onerror = function(e) {
        console.log('Error reading the file', e.target.error.code)
    fr.readAsArrayBuffer(file);
GameboyJS.RomDropFileReader = RomDropFileReader;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
// A RomFileReader is able to load a local file from an input element
// Expects to be provided a file input element,
// or will try to find one with the "file" DOM ID
var RomFileReader = function(el) {
    this.domElement = el || document.getElementById('file');
    if (!this.domElement) {
        throw 'The RomFileReader needs a valid input element.';
    var self = this;
    this.domElement.addEventListener('change', function(e){
        self.loadFromFile(e.target.files[0]);
// The callback argument will be called when a file is successfully
// read, with the data as argument (Uint8Array)
RomFileReader.prototype.setCallback = function(onLoadCallback) {
    this.callback = onLoadCallback;
// Automatically called when the DOM input is provided with a file
RomFileReader.prototype.loadFromFile = function(file) {
    if (file === undefined) {
    var fr = new FileReader();
    var cb = this.callback;
    fr.onload = function() {
        cb && cb(neM
w Uint8Array(fr.result));
    fr.onerror = function(e) {
        console.log('Error reading the file', e.target.error.code)
    fr.readAsArrayBuffer(file);
GameboyJS.RomFileReader = RomFileReader;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
var Rom = function(gameboy, romReader) {
    this.gameboy = gameboy;
    if (romReader) {
        this.addReader(romReader);
Rom.prototype.addReader = function(romReader) {
    romReader.setCallback(function(data) {
        if (!validate(data)) {
            self.gameboy.error('The file is not a valid GameBoy ROM.');
        self.data = data;
        self.gameboy.startRom(self);
// Validate the checksum of the cartridge header
function validate(data) {
    for (var i = 0x134; i <= 0x14C; i++) {
        hash = hash - data[i] - 1;
    return (hash & 0xFF) == data[0x14D];
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
// Handlers for the Serial port of the Gameboy
// The ConsoleSerial is an output-only serial port
// designed for debug purposes as some test roms output data on the serial port
// Will regularly output the received byte (converted to string) in the console logs
// This handler always push the value 0xFF as an input
var ConsoleSerial = {
    out: function(data) {M
        ConsoleSerial.current += String.fromCharCode(data);
        if (data == 10) {
            ConsoleSerial.print();
            clearTimeout(ConsoleSerial.timeout);
            ConsoleSerial.timeout = setTimeout(ConsoleSerial.print, 500);
    in: function() {
        return 0xFF;
    print: function() {
        clearTimeout(ConsoleSerial.timeout);
        console.log('serial: '+ConsoleSerial.current);
        ConsoleSerial.current = '';
oyJS.ConsoleSerial = ConsoleSerial;
// A DummySerial outputs nothing and always inputs 0xFF
    out: function() {},
    in: function() {
        return 0xFF;
GameboyJS.DummySerial = DummySerial;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
// Audio Processing unit
// Listens the write accesses to the audio-reserved memory addresses
// and dispatches the data to the sound channels
var APU = function(memory) {
    this.enabled = false;
    AudioContext = window.AudioContext || window.webkitAudioContext;
    var audioContext = new AudioContext();
    this.channel1 = new GameboyJS.Channel1(this, 1, audioContext);
    this.channel2 = new GameboyJS.Channel1(this, 2, audioContext);
    this.channel3 = new GameboyJS.Channel3(this, 3, audioContext);
    this.channel4 = new GameboyJS.Channel4(this, 4, audioContext);
APU.prototype.connect = function() {
    this.channel1.enable();
    this.channel3.enable();
APU.prototype.disconnect = function() {
    this.channel1.disable();
    this.channel2.disable();
    this.channel3.disable();
// Updates the states of each channel given the elapsed time
// (in instructions) since last update
APU.prototype.update = function(clockElapsed) {
    if (this.enabled == false) return;
    this.channel1.update(clockElapsed);
    this.channel2.update(clockElapsed);
    this.channel3.update(clockElapsed);
    this.channel4.updatM
APU.prototype.setSoundFlag = function(channel, value) {
    var mask = 0xFF - (1 << (channel - 1));
    value = value << (channel - 1)
    var byteValue = this.memory.rb(APU.registers.NR52);
    byteValue &= mask;
    byteValue |= value;
    this.memory[APU.registers.NR52] = byteValue;
// Manage writes to audio registers
// Will update the channels depending on the address
APU.prototype.manageWrite = function(addr, value) {
    if (this.enabled == false && addr < APU.registers.NRM
    this.memory[addr] = value;
        // Channel 1 addresses
        case 0xFF10:
            this.channel1.clockSweep = 0;
            this.channel1.sweepTime = ((value & 0x70) >> 4);
            this.channel1.sweepSign = (value & 0x08) ? -1 : 1;
            this.channel1.sweepShifts = (value & 0x07);
            this.channel1.sweepCount = this.channel1.sweepShifts;
        case 0xFF11:
            // todo : bits 6-7
his.channel1.setLength(value & 0x3F);
        case 0xFF12:
            this.channel1.envelopeSign = (value & 0x08) ? 1 : -1;
            var envelopeVolume = (value & 0xF0) >> 4;
            this.channel1.setEnvelopeVolume(envelopeVolume);
            this.channel1.envelopeStep = (value & 0x07);
        case 0xFF13:
            var frequency = this.channel1.getFrequency();
            frequency &= 0xF00;
            frequency |= value;
            this.channel1.setFM
requency(frequency);
        case 0xFF14:
            var frequency = this.channel1.getFrequency();
            frequency &= 0xFF;
            frequency |= (value & 7) << 8;
            this.channel1.setFrequency(frequency);
            this.channel1.lengthCheck = (value & 0x40) ? true : false;
            if (value & 0x80) this.channel1.play();
        // Channel 2 addresses
        case 0xFF16:
            // todo : bits 6-7
            this.channel2.setLength(M
        case 0xFF17:
            this.channel2.envelopeSign = (value & 0x08) ? 1 : -1;
            var envelopeVolume = (value & 0xF0) >> 4;
            this.channel2.setEnvelopeVolume(envelopeVolume);
            this.channel2.envelopeStep = (value & 0x07);
        case 0xFF18:
            var frequency = this.channel2.getFrequency();
            frequency &= 0xF00;
            frequency |= value;
            this.channel2.setFrequency(frequency);
        case 0xFF19:
            var frequency = this.channel2.getFrequency();
            frequency &= 0xFF;
            frequency |= (value & 7) << 8;
            this.channel2.setFrequency(frequency);
            this.channel2.lengthCheck = (value & 0x40) ? true : false;
            if (value & 0x80) {
                this.channel2.play();
        // Channel 3 addresses
        case 0xFF1A:
            this.channel3.setLength(value);
        case 0xFF1C:
        case 0xFF1D:
            var frequency = this.channel3.getFrequency();
            frequency &= 0xF00;
            frequency |= value;
            this.channel3.setFrequency(frequency);
        case 0xFF1E:
            var frequency = this.channel3.getFrequency();
            frequency &= 0xFF;
            frequency |= (value & 7) << 8;
  this.channel3.setFrequency(frequency);
            this.channel3.lengthCheck = (value & 0x40) ? true : false;
            if (value & 0x80) {
                this.channel3.play();
        // Channel 4 addresses
        case 0xFF20:
            this.channel4.setLength(value & 0x3F);
        case 0xFF21:
        case 0xFF22:
        case 0xFF23:
            this.channeM
l4.lengthCheck = (value & 0x40) ? true : false;
            if (value & 0x80) {
                this.channel4.play();
        // channel 3 wave bytes
        case 0xFF30:case 0xFF31:case 0xFF32:case 0xFF33:case 0xFF34:case 0xFF35:case 0xFF36:case 0xFF37:
        case 0xFF38:case 0xFF39:case 0xFF3A:case 0xFF3B:case 0xFF3C:case 0xFF3D:case 0xFF3E:case 0xFF3F:
            var index = addr - 0xFF30;
            this.channel3.setWaveBufferByte(index, value);
        // general audio switch
        case 0xFF26:
            value &= 0xF0;
            this.memory[addr] = value;
            this.enabled = (value & 0x80) == 0 ? false : true;
            if (!this.enabled) {
                for (var i = 0xFF10; i < 0xFF27; i++)
                    this.memory[i] = 0;
                // todo stop sound
GameboyJS.APU = APU;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
var Channel1 = function(apu, channelNumber, audioContext) {
s.channelNumber = channelNumber;
    this.playing = false;
    this.soundLengthUnit = 0x4000; // 1 / 256 second of instructions
    this.soundLength = 64; // defaults to 64 periods
    this.lengthCheck = false;
    this.sweepTime = 0; // from 0 to 7
    this.sweepStepLength = 0x8000; // 1 / 128 seconds of instructions
    this.sweepCount = 0;
    this.sweepShifts = 0;
    this.sweepSign = 1; // +1 / -1 for increase / decrease freq
    this.frequency = 0;
    this.envelopeStep = 0;
opeStepLength = 0x10000;// 1 / 64 seconds of instructions
    this.envelopeCheck = false;
    this.envelopeSign = 1;
    this.clockLength = 0;
    this.clockEnvelop = 0;
    this.clockSweep = 0;
    var gainNode = audioContext.createGain();
    gainNode.gain.value = 0;
    var oscillator = audioContext.createOscillator();
    oscillator.type = 'square';
    oscillator.frequency.value = 1000;
    oscillator.connect(gainNode);
    oscillator.start(0);
    this.audioContext = audioContext;
.gainNode = gainNode;
    this.oscillator = oscillator;
Channel1.prototype.play = function() {
    if (this.playing) return;
    this.playing = true;
    this.apu.setSoundFlag(this.channelNumber, 1);
    this.gainNode.connect(this.audioContext.destination);
    this.clockLength = 0;
    this.clockEnvelop = 0;
    this.clockSweep = 0;
    if (this.sweepShifts > 0) this.checkFreqSweep();
Channel1.prototype.stop = function() {
    this.playing = false;
    this.apu.setSoundFlag(this.channelNumbeM
    this.gainNode.disconnect();
Channel1.prototype.checkFreqSweep = function() {
    var oldFreq = this.getFrequency();
    var newFreq = oldFreq + this.sweepSign * (oldFreq >> this.sweepShifts);
    if (newFreq > 0x7FF) {
        newFreq = 0;
        this.stop();
Channel1.prototype.update = function(clockElapsed) {
    this.clockEnvelop += clockElapsed;
    this.clockSweep   += clockElapsed;
    if ((this.sweepCount || this.sweepTime) && this.clockSweep > (M
this.sweepStepLength * this.sweepTime)) {
        this.clockSweep -= (this.sweepStepLength * this.sweepTime);
        this.sweepCount--;
        var newFreq = this.checkFreqSweep(); // process and check new freq
        this.apu.memory[0xFF13] = newFreq & 0xFF;
        this.apu.memory[0xFF14] &= 0xF8;
        this.apu.memory[0xFF14] |= (newFreq & 0x700) >> 8;
        this.setFrequency(newFreq);
        this.checkFreqSweep(); // check again with new value
    if (this.envelopeCheck && this.clM
ockEnvelop > this.envelopeStepLength) {
        this.clockEnvelop -= this.envelopeStepLength;
        this.envelopeStep--;
        this.setEnvelopeVolume(this.envelopeVolume + this.envelopeSign);
        if (this.envelopeStep <= 0) {
            this.envelopeCheck = false;
    if (this.lengthCheck) {
        this.clockLength += clockElapsed;
        if (this.clockLength > this.soundLengthUnit) {
            this.soundLength--;
            this.clockLength -= this.soundLengthUnit;
        if (this.soundLength == 0) {
                this.setLength(0);
                this.stop();
Channel1.prototype.setFrequency = function(value) {
    this.frequency = value;
    this.oscillator.frequency.value = 131072 / (2048 - this.frequency);
Channel1.prototype.getFrequency = function() {
    return this.frequency;
Channel1.prototype.setLength = function(value) {
    this.soundLength = 64 - (value & 0x3F);
Channel1.prototype.setEnvelopeVolume = fuM
    this.envelopeCheck = volume > 0 && volume < 16 ? true : false;
    this.envelopeVolume = volume;
    this.gainNode.gain.value = this.envelopeVolume * 1/100;
Channel1.prototype.disable = function() {
    this.oscillator.disconnect();
Channel1.prototype.enable = function() {
    this.oscillator.connect(this.gainNode);
GameboyJS.Channel1 = Channel1;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
var Channel3 = function(apu, channeM
lNumber, audioContext) {
    this.channelNumber = channelNumber;
    this.playing = false;
    this.soundLength = 0;
    this.soundLengthUnit = 0x4000; // 1 / 256 second of instructions
    this.lengthCheck = false;
    this.clockLength = 0;
    this.buffer = new Float32Array(32);
    var gainNode = audioContext.createGain();
    gainNode.gain.value = 1;
    this.gainNode = gainNode;
    this.baseSpeed = 65536;
    var waveBuffer = audioContext.createBuffer(1, 32, this.basM
    var bufferSource = audioContext.createBufferSource();
    bufferSource.buffer = waveBuffer;
    bufferSource.loop = true;
    bufferSource.connect(gainNode);
    bufferSource.start(0);
    this.audioContext = audioContext;
    this.waveBuffer = waveBuffer;
    this.bufferSource = bufferSource;
Channel3.prototype.play = function() {
    if (this.playing) return;
    this.playing = true;
    this.apu.setSoundFlag(this.channelNumber, 1);
    this.waveBuffer.copyToChannel(this.bufferM
    this.gainNode.connect(this.audioContext.destination);
    this.clockLength = 0;
Channel3.prototype.stop = function() {
    this.playing = false;
    this.apu.setSoundFlag(this.channelNumber, 0);
    this.gainNode.disconnect();
Channel3.prototype.update = function(clockElapsed) {
    if (this.lengthCheck){
        this.clockLength  += clockElapsed;
        if (this.clockLength > this.soundLengthUnit) {
            this.soundLength--;
            this.clockLength -= this.soundLengthM
            if (this.soundLength == 0) {
                this.setLength(0);
                this.stop();
Channel3.prototype.setFrequency = function(value) {
    value = 65536 / (2048  - value);
    this.bufferSource.playbackRate.value = value / this.baseSpeed;
Channel3.prototype.getFrequency = function() {
    var freq = 2048 - 65536 / (this.bufferSource.playbackRate.value * this.baseSpeed);
    return freq | 1;
Channel3.prototype.setLength = function(valM
    this.soundLength = 256 - value;
Channel3.prototype.setWaveBufferByte = function(index, value) {
    var bufferIndex = index * 2;
    this.buffer[bufferIndex]   = (value >> 4) / 8 - 1; // value in buffer is in -1 -> 1
    this.buffer[bufferIndex+1] = (value & 0x0F) / 8 - 1;
Channel3.prototype.disable = function() {
    this.bufferSource.disconnect();
Channel3.prototype.enable = function() {
    this.bufferSource.connect(this.gainNode);
GameboyJS.Channel3 = Channel3;
 || (GameboyJS = {})));
(function (GameboyJS) {
var Channel4 = function(apu, channelNumber, audioContext) {
    this.channelNumber = channelNumber;
    this.playing = false;
    this.soundLengthUnit = 0x4000; // 1 / 256 second of instructions
    this.soundLength = 64; // defaults to 64 periods
    this.lengthCheck = false;
    this.clockLength = 0;
    this.audioContext = audioContext;
Channel4.prototype.play = function() {
    this.playing = true;
    this.apu.setSoundFlag(this.channelNumber, 1);
    this.clockLength = 0;
Channel4.prototype.stop = function() {
    this.playing = false;
    this.apu.setSoundFlag(this.channelNumber, 0);
Channel4.prototype.update = function(clockElapsed) {
    if (this.lengthCheck) {
        this.clockLength  += clockElapsed;
        if (this.clockLength > this.soundLengthUnit) {
            this.soundLength--;
            this.clockLength -= this.soundLengthUnit;
          if (this.soundLength == 0) {
                this.setLength(0);
                this.stop();
Channel4.prototype.setLength = function(value) {
    this.soundLength = 64 - (value & 0x3F);
GameboyJS.Channel4 = Channel4;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
var Timer = function(cpu, memory) {
    this.cpu    = cpu;
    this.memory = memory;
    this.DIV  = 0xFF04;
    this.TIMA = 0xFF05;
    this.TAC  = 0xFF07;
    this.mainTime  = 0;
    this.divTime   = 0;
Timer.prototype.update = function(clockElapsed) {
    this.updateDiv(clockElapsed);
    this.updateTimer(clockElapsed);
Timer.prototype.updateTimer = function(clockElapsed) {
    if (!(this.memory.rb(this.TAC) & 0x4)) {
    this.mainTime += clockElapsed;
    var threshold = 64;
    switch (this.memory.rb(this.TAC) & 3) {
        case 0: threshold=64; break; // 4KHz
1: threshold=1;  break; // 256KHz
        case 2: threshold=4;  break; // 64KHz
        case 3: threshold=16; break; // 16KHz
    threshold *= 16;
    while (this.mainTime >= threshold) {
        this.mainTime -= threshold;
        this.memory.wb(this.TIMA, this.memory.rb(this.TIMA) + 1);
        if (this.memory.rb(this.TIMA) > 0xFF) {
            this.memory.wb(this.TIMA, this.memory.rb(this.TMA));
            this.cpu.requestInterrupt(GameboyJS.CPU.INTERRUPTS.TIMER);
Update the DIV register internal clock
// Increment it if the clock threshold is elapsed and
// reset it if its value overflows
Timer.prototype.updateDiv = function(clockElapsed) {
    var divThreshold = 256; // DIV is 16KHz
    this.divTime += clockElapsed;
    if (this.divTime > divThreshold) {
        this.divTime -= divThreshold;
        var div = this.memory.rb(this.DIV) + 1;
        this.memory.wb(this.DIV, div&0xFF);
Timer.prototype.resetDiv = function() {
    this.divTime = 0;
his.memory[this.DIV] = 0; // direct write to avoid looping
GameboyJS.Timer = Timer;
}(GameboyJS || (GameboyJS = {})));
(function (GameboyJS) {
// Utility functions
    // Add to the first argument the properties of all other arguments
    extend: function(target /*, source1, source2, etc. */) {
        var sources = Array.prototype.slice.call(arguments);
        for (var i in sources) {
            var source = sources[i];
            for (var name in sM
                target[name] = source[name];
        return target;
    testFlag: function(p, cc) {
        var mask=0x10;
        if (cc=='NZ'||cc=='NC') test=0;
        if (cc=='NZ'||cc=='Z')  mask=0x80;
        return (test && p.r.F&mask) || (!test && !(p.r.F&mask));
    getRegAddr: function(p, r1, r2) {return Util.makeword(p.r[r1], p.r[r2]);},
    // make a 16 bits word from 2 bytes
    makeword: function(b1, b2) {return (b1 <M
    // return the integer signed value of a given byte
    getSignedValue: function(v) {return v & 0x80 ? v-256 : v;},
    // extract a bit from a byte
    readBit: function(byte, index) {
        return (byte >> index) & 1;
GameboyJS.Util = Util;
}(GameboyJS || (GameboyJS = {})));
<script type="text/javascript">
        new GameboyJS.RomFileReader(),
        new GameboyJS.RomDropFileReader(document.getElementBM
var g = new GameboyJS.Gameboy(document.getElementById('canvas'), opts);
g.setSoundEnabled(document.getElementById('sound-enable').checked);
g.setScreenZoom(document.getElementById('screen-zoom').value);
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
ent,'script','//www.google-analytics.com/analytics.js','ga');
  ga('create', 'UA-41573790-2', 'auto');
  ga('send', 'pageview');
iTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.2-c000 79.1b65a79b4, 2022/06/13-22:01:01        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sM
Type/ResourceEvent#" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmlns:tiff="http://ns.adobe.com/tiff/1.0/" xmlns:exif="http://ns.adobe.com/exif/1.0/" xmp:CreatorTool="Adobe Photoshop 23.5 (Macintosh)" xmp:CreateDate="2023-02-22T14:32:46-05:00" xmp:MetadataDate="2023-03-07T20:01:51-05:00" xmp:ModifyDate="2023-03-07T20:01:51-05:00" dc:format="image/png" xmpMM:InstanceID="xmp.iid:5d1599ad-e474-40ee-92f4-e5317524aa18" xmpMM:DocumentID="adobe:docid:pM
hotoshop:3f46961d-4349-f941-b443-d19d8f3b5c86" xmpMM:OriginalDocumentID="xmp.did:9db39a12-2557-4be4-9398-09c84b18dc89" photoshop:ColorMode="3" tiff:Orientation="1" tiff:XResolution="720000/10000" tiff:YResolution="720000/10000" tiff:ResolutionUnit="2" exif:ColorSpace="65535" exif:PixelXDimension="60" exif:PixelYDimension="60"> <xmpMM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:9db39a12-2557-4be4-9398-09c84b18dc89" stEvt:when="2023-02-22T14:32:46-05:00" stEvt:softwareAgent="Adobe PhotM
oshop 23.5 (Macintosh)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:f278264c-36a7-4af4-bac6-cdcf33f81d52" stEvt:when="2023-02-22T16:55:11-05:00" stEvt:softwareAgent="Adobe Photoshop 23.5 (Macintosh)" stEvt:changed="/"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:fa11cec3-197f-44c4-9433-d6ba1d63d383" stEvt:when="2023-03-07T20:01:51-05:00" stEvt:softwareAgent="Adobe Photoshop 23.5 (Macintosh)" stEvt:changed="/"/> <rdf:li stEvt:action="converted" stEvt:parameters="from application/vnd.adobe.phM
otoshop to image/png"/> <rdf:li stEvt:action="derived" stEvt:parameters="converted from application/vnd.adobe.photoshop to image/png"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:5d1599ad-e474-40ee-92f4-e5317524aa18" stEvt:when="2023-03-07T20:01:51-05:00" stEvt:softwareAgent="Adobe Photoshop 23.5 (Macintosh)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:fa11cec3-197f-44c4-9433-d6ba1d63d383" stRef:documentID="adobe:docid:photoshop:e190bb6f-5fde-d34b-af69-3fM
390a60960c" stRef:originalDocumentID="xmp.did:9db39a12-2557-4be4-9398-09c84b18dc89"/> <photoshop:DocumentAncestors> <rdf:Bag> <rdf:li>xmp.did:debed850-20ec-49a5-a27e-59e926c01149</rdf:li> </rdf:Bag> </photoshop:DocumentAncestors> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color='blue'>***</font>
<font color='DeepPink'> (</font><font color=DeepPink size=8>&#8383;</font><font color=DeepPink>,</font><font color=DeepPink size=8>&#8383;</font><font color=DeepPink>) </font>
<font color=Magenta>(\+/)</font>
<font color=#32CD32> = = </font>
</center></font></pre></body></html>
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"star_okx.sats"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"btclist.sats"}h!
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"00226.sats"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
{"type":"btcdomain","name":"123456.btc","first_owner":"bc1pzwf4ljp4qzqs7cjhkdak3l2sggavmjj6epcwjpkhmz5mrzcfzrfs6ysk83","createDate":1678258117374,"registerDate":1678258117374,"expireDate":1709794117374,"img_url":"https://btcdomains.io/images/domain/123456.jpeg","sig":"3045022100dba5dd6ab912a3418fb238a11237da6c055ec8e16de833ef3a2f97d78c702c990220019bebe38488baae2c38048d81713bd5e6d0e8faf518d057c4301346a599dffd"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
CjA=:ETH.ETH:0x7cbF9b7e400992Ef74fA7c5ED59F100EdBe816aC:5237889:te:0
FjDOUT:2596DA3FD9A2C4A28654BA88AA5826B616B58C4B169A8F16BD6EFC1814BD3134
FjDOUT:454EC1F7DCF72F4E02AD7F293372243027CE54DC30F3A2AB1202E75A302B16FF
EjC=:BNB.BNB:bnb1t7xvyktz8hu7089z5h42ue2qpvtty45nazhzg6:298111612:te:0
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
2{"p":"sns","op":"reg","name":"guizhoumaotai.sats"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
iTXtXML:com.adobe.xmp
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.b0f8be90, 2021/12/15-21:25:15        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmlns:xmpMM="http://ns.adobe.com/xapM
/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmp:CreatorTool="Adobe Photoshop 23.2 (Macintosh)" xmp:CreateDate="2023-02-16T14:41:11-08:00" xmp:ModifyDate="2023-02-16T17:51:08-08:00" xmp:MetadataDate="2023-02-16T17:51:08-08:00" dc:format="image/png" photoshop:ColorMode="3" xmpMM:InstanceID="xmp.iid:c4394787-4ee8-4d66-a6b9-f9beba9e6bd4" xmpMM:DocumentID="adobe:docid:photoshop:eb6595f4-c736-9346-aeed-1a61bd4233dd" xmpMM:OriginalDocumentID="xmp.did:51625bb2-14fc-46bc-9716-1ee04f09d720"> <xmpM
MM:History> <rdf:Seq> <rdf:li stEvt:action="created" stEvt:instanceID="xmp.iid:51625bb2-14fc-46bc-9716-1ee04f09d720" stEvt:when="2023-02-16T14:41:11-08:00" stEvt:softwareAgent="Adobe Photoshop 23.2 (Macintosh)"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:bb4256f2-330a-4c29-ac37-fa95240f6d4b" stEvt:when="2023-02-16T16:21:37-08:00" stEvt:softwareAgent="Adobe Photoshop 23.2 (Macintosh)" stEvt:changed="/"/> <rdf:li stEvt:action="saved" stEvt:instanceID="xmp.iid:c4394787-4ee8-4d66-a6b9-f9beba9e6bd4" stEvt:wM
hen="2023-02-16T17:51:08-08:00" stEvt:softwareAgent="Adobe Photoshop 23.2 (Macintosh)" stEvt:changed="/"/> </rdf:Seq> </xmpMM:History> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>t
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "77715.sats"
text/plain;charset=utf-8
  "name": "Hacker Ninjas",
  "slug": "hacker-ninjas",
  "description": "In a world where technology had taken over, the Ninja Hackers were the last line of defense. Theywere a team of elite hackers who had spent their lives mastering the art of cryptography. They were called upon when the world's most valuable data was threatened, and this time, the situation was much grimmer.",
  "lowest_ordinal_index": 68211,
  "highest_ordinal_index": 70346,
      "token_id": "1",
      "inscription_id": "aM
2c890f92927b687afb724bc2a1642137c6f9cc6bbb29a21c9f4c8db56e1f086i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "2",
      "inscription_id": "22c4a53887a0ed42719e2d8f476ec36779bba54bdda8275f6e3106d9ac916e14i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "3",
      "inscription_id": M
"150eb1e2ce8535a8ee7ac903201353aba357dbc1f5fe66f1cf0e58a52792e78ai0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "4",
      "inscription_id": "1f0e5c649fa25b62526f0d6247e68d037e8f31b2036a1f91ec98d676f3b816f0i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "5",
      "inscription_id"M
: "188a25923910a6594e6d2ff93a02350e65c8e0e05a2b1157719bdff1d3e0a3efi0",
        { "trait_type": "rarity", "value": "legendary" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "6",
      "inscription_id": "f59017da3a156e152fa2ce9b14107dcb4e77befdceccf4936dd66b874a8941a9i0",
        { "trait_type": "rarity", "value": "legendary" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "7",
cription_id": "bb377a5812235dc051fca6237faa05c5f515c81282b573a3ec75fccdeb20baf6i0",
        { "trait_type": "rarity", "value": "legendary" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "8",
      "inscription_id": "e0fe61eaa52c3a45bb4b2a37480eb9393908216a56e557b62dba386e74cd14e6i0",
        { "trait_type": "rarity", "value": "legendary" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "9"M
      "inscription_id": "05a07aa5cf344ff44fe321ec6bc56c8c0fea9b00132d00fd6cbe429219cabac5i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "10",
      "inscription_id": "0e397255a6a9b501af495a7de0ff5d8be21cb1250c97d426c15888fc5d1b27c9i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "inscription_id": "ffc395d3fcb162e320781da138e29de72222f692fe0f08e57375993bc17e6bafi0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "12",
      "inscription_id": "1af3362b206f2bb9f4b73a760ed68052b78c9e7903cc4572170f57bbca660b2ci0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "inscription_id": "023cea4cf83f639bdeee20dc2c23c4902e633f33487c4524badf1f2ea1007c7ci0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "14",
      "inscription_id": "ce5a201aecda1fabd979a77618debf04612d74dff55aa4aed08fd9fd14d0d4a4i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "15",
      "inscription_id": "ec65c769347d4eaa43a94b5a5bb878e2d0c138784cb86096eb5184e9b9589b43i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "16",
      "inscription_id": "eeb426a5f714819fb6be65de32c8db9c2992686bc84fb106e0768f4088df91f3i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "17",
      "inscription_id": "9a4a802a4acd03dc2d690a1ecb72f2aea592d9b90f0c57bea3fd3bfc0d87ac17i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "18",
      "inscription_id": "1f06fdcbc94a53a057c55df6ce6b47490e8a3a8d9d176ddad370c22c2672d9afi0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "19",
      "inscription_id": "29158e9f28a44a2854425932b4f168946f394d79ee283312627101bb11ff9de6i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "20",
      "inscription_id": "cb45809a85359d41db1341785949545de32992f74c01b325d2556b268dacbe1ei0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "21",
      "inscription_id": "9a074a738d290b4007badfff3c794c0894cc3d7f6d044af03380c77b519b9e8ci0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "22",
      "inscription_id": "f03283f7921dfbb279db625e04ac662dad3701586c57b079efcb0d2de8f59205i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": M
      "token_id": "23",
      "inscription_id": "2f3552b843ade8413d1675c129a5acc85343f8d2d29b208cc1a2b8c9f32f9836i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "24",
      "inscription_id": "b66b7e5a0508e357ab41a31fabb797173c11907deed4c0f60292ea839f719e39i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "M
      "token_id": "25",
      "inscription_id": "ddf4a784408a4a216b849fcba2ba72ab93feb84cebf1cc9adfcd71759dc9bfe3i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "26",
      "inscription_id": "15cf8102ec7338c2849e67680c68690e4900735e8b0e19501426adf54cc04ce9i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twM
in", "value": "no" }
      "token_id": "27",
      "inscription_id": "dd8ac4257b9931a50a919048a6bff1fdd0fd24af41ffca3d1a878d56e8c47c5di0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "28",
      "inscription_id": "012d4ad94ebd2532d4fc11a892a408ad9b63afd810e8db894a3510c781c042b8i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type":M
 "has_twin", "value": "no" }
      "token_id": "29",
      "inscription_id": "ea7543e51fd91d1865e4919a740fe8305c15edaf5fb0dd2890eda48135939df5i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "30",
      "inscription_id": "705153873179d41804c7d80db817c61683816f3a63bd45239bffa49057e339d9i0",
        { "trait_type": "rarity", "value": "common" },
t_type": "has_twin", "value": "no" }
      "token_id": "31",
      "inscription_id": "3ce6b63831a0cd50bbadc5a244bc6fdd3c2b9ab01468506e5ff9a3eb43f40c87i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "32",
      "inscription_id": "8e6e40aa9b93cae22b80d026d16056e2f08e22380383e8c5188690a8c6e814b8i0",
        { "trait_type": "rarity", "value": "common" },
 { "trait_type": "has_twin", "value": "no" }
      "token_id": "33",
      "inscription_id": "a4d1d56a120e71c5d24e16c86494fae7e693440b1ac4b45be38b10e8762ea502i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "34",
      "inscription_id": "e009c9710055b355c31859119d3c4dcda39af697c099c313e5a0617fb9f0de64i0",
        { "trait_type": "rarity", "value": "rare" },
     { "trait_type": "has_twin", "value": "no" }
      "token_id": "35",
      "inscription_id": "5ee1e95e6453693b1cde00750566421b8f0b52f64b7f8a79ab94b3af80a0d59fi0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "36",
      "inscription_id": "11eb8de37d56bdb1fddf659dafa885b7e65d9d034a409ccf8c1375172b11dc15i0",
        { "trait_type": "rarity", "value": "rare" },M
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "37",
      "inscription_id": "44d53961fb08c52684cb883afcd59db5daa1184cef0116f43c4f1d94c7e94bb5i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "38",
      "inscription_id": "86fa8d283343655f56d53f633a6597d5bcabb3cf9d1de7632039716da69ef438i0",
        { "trait_type": "rarity", "value": "coM
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "39",
      "inscription_id": "49be8e087cfde61368e11a6b0f1f87f9fc67ec3d207395c669dc271147893b58i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "40",
      "inscription_id": "c6d90184e70c73b5e46e7423902a11c5908d798ed09b5658cd2a7e405dccf44bi0",
        { "trait_type": "rarity", "valM
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "41",
      "inscription_id": "00a6941dd1bfa90e508f00b87b0c86a5dd503497f0c5e3f143e59187cca1f90bi0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "42",
      "inscription_id": "ced098e8d0bc1528bd54072a703a71257b6323d8eddbf11aa739610e488d2850i0",
        { "trait_type": "rarity"M
, "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "43",
      "inscription_id": "0a60f72f454b42cb5b197ceff367d2b634f3b3f6fbd53db5354020c29c9d91b6i0",
        { "trait_type": "rarity", "value": "legendary" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "44",
      "inscription_id": "3845bfdfe9503eaf01e450bb3d574c3ad0e69d93a05a20e6fc203ba665ab911fi0",
        { "trait_typeM
": "rarity", "value": "legendary" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "45",
      "inscription_id": "68b7b833765fc781d4f0f1a34e782f08989392b2d79f166de7a06bd1c119c235i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "46",
      "inscription_id": "4a271772689e41f181065505ef2367c407dface0e189b6a53780831ba6e3da19i0",
"trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "47",
      "inscription_id": "45fe2aa5034cf691ab881f90836d412b50534f6354171c61ddebfa23b2439d61i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "48",
      "inscription_id": "682a2d0a2b9402564a98f4b2c0ca536a2d2bdd7891b257b2892ae6599b4eeed2i0",
      { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "49",
      "inscription_id": "a6ff0694bb855dcccefcf0a0a52776bfaa8d5a7665e8ecd4541167ac57483d56i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "50",
      "inscription_id": "625d2721cb8b34c0dc0d79053e0e9cc230695cf1384ffa79ef750b9a59a22574i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "51",
      "inscription_id": "61f71caa6ba7e524fd2d86af7dc86e3db7d1121938ed763c3696cc1dbad3c6eai0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "52",
      "inscription_id": "f1c7e200a6f5da3839dedad72230c589acb1d23bbbe7a27142b55701ecf37f1ai0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "53",
      "inscription_id": "e51541c375e3a23be781f8b4434255d55ecf52950d943745f58e28386e3032c1i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "54",
      "inscription_id": "9bd8c36deac52c6962477273f0b239fe5797cfbc0e21b151bf12f22fa8ac39f8i0"M
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "55",
      "inscription_id": "191bc4a4b721e6a281dda1716679cabb2c68a976faf58c4441a388acac5a7339i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "56",
      "inscription_id": "c7c20fd830f347e2eef5ccb258226ef33d680eae95195c4a2891215b736M
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "57",
      "inscription_id": "f4dbcdf180a32118e45a0ee5066c5b92d1e786156894e723295894d368e95398i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "58",
      "inscription_id": "21bb75919caf56fa25a9fc03d61df9bfa99fcb50170b00929bfM
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "59",
      "inscription_id": "3ec66954beb7edca42a9f671ca91ad58d188b69c628260b778775e7760b1c930i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "60",
      "inscription_id": "2c7fd5af4ab7d9550ce25d0af0daf1178a2ccf88e6cM
74c7d5e4715647341f3b2i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "61",
      "inscription_id": "22baaf90b1abfb2a6c221d988623f840a4610aa6d462fefaacdfcf7d37270627i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "62",
      "inscription_id": "545396342c648668a17e5b7486410c6139caaM
c295b72f0aea02d8d922bd80b76i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "63",
      "inscription_id": "8c5d5305b71e01064d9f06df1f1ae0bca2ab491a063cd18a8e095816ccc56d79i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "64",
      "inscription_id": "1010ec55af19e1ee707212db2e5a40bM
95566da5023f1d32fa4d3e612d38a5c57i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "65",
      "inscription_id": "607839f4bf107db23d048a91da812d510fdc3345fe7b071f0899cb0ec8126574i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "66",
      "inscription_id": "bf46094e7c7122ff16d99b65aM
4bfb6ddccbeda762527fdaa3b83dcf7e11d052ei0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "67",
      "inscription_id": "057a0b326cb91bc923ea036cae00d80d956f8f93453be6e252e12be535d083e8i0",
        { "trait_type": "rarity", "value": "legendary" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "68",
      "inscription_id": "458b6d3810f979a5M
7e602968e5eb940c36cdffbe69ab161628418b796a7eacadi0",
        { "trait_type": "rarity", "value": "legendary" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "69",
      "inscription_id": "2d624be49c859c17c4370a52e6addddb401559c97b4671d7b1e9e097a5db55d5i0",
        { "trait_type": "rarity", "value": "legendary" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "70",
      "inscription_id": "bfM
3ef383e305cbf1b90789737e26940762d63ff4b02c77f26b81f7867408ade8i0",
        { "trait_type": "rarity", "value": "legendary" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "71",
      "inscription_id": "100689f7b9e777f2c6f924ae31e00733443cc4ee19c42d8a8f16a5e5392d270di0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "72",
on_id": "559dae677a4a28b6e43f4bef21b972961cd0db248616a90b9f5a844140ad7144i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "73",
      "inscription_id": "ec84721115f66ed24de3d068cbb3b3e41c04e4b3cef14726e0fa02e76c9c641bi0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "74",
nscription_id": "e1d2d513ce81cd4579c95f76f205cb0c0bd070c391f762e866fd8459b4c4ad4ci0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "75",
      "inscription_id": "b6665e1f644917a06ee5e00a64b56fb961f3833d34b66006d6483dbe1dacd649i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "76",
      "inscription_id": "9ef49871329026099f68ec6a2b1904f6c9968e494d410c7d9a89d5e07a683aeci0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "77",
      "inscription_id": "9b153b28db9974a33e4f3ff9b351c947a7e1e8e3f9be9ae2226b8d2e29711330i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "inscription_id": "ef0d701c95f2a7718fd6399b28269aa1bc263ad00cc8715cd46cd71f4b97e82ei0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "79",
      "inscription_id": "fa9084bf852e9874b47e48b6e7e93bc179d37981b100512917607ee8a0c1ad6bi0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "inscription_id": "415510e8bd8a7f4ec983175787eb5ba9ab089ae710d768cf6f2f191b74d53c84i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "81",
      "inscription_id": "a3da3f33cbffd5377ece02b53bfcf28554fe86e11074b31b699b51c296bda795i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "82",
      "inscription_id": "beb2bb5023141d36a060e5d6742165f00f1194a41b3fe9f7600a654418ae9426i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "83",
      "inscription_id": "23ddf275961f4127707bcea06df16c1d52e467e142cc56698c7b6bfce7fd79bci0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "84",
      "inscription_id": "205281234427b82b968429020d89766694b67f6eb4314d11bc2d7012adea23c2i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "85",
      "inscription_id": "c899760f290978e2b8c42411a63a42062974a8cd6aee46ad73c06cdfc3b63815i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "86",
      "inscription_id": "2a6c2b6e71deded5828b15fd837b5b8f0b8d314b3d9d3b89c0fc66056f198774i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "87",
      "inscription_id": "95b2c8501c1e9858d772ae8116852b1c67482589bf8a85f264ea5c7c6747e4f6i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no"M
      "token_id": "88",
      "inscription_id": "6692aaa9498aad92499a906c7025b0ffafc0cab052ba90dc43a012a342d61650i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "89",
      "inscription_id": "2e254617c2b4589a627f19be526dfd41c570d165ef506fd7b43a5c683acc9977i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "valuM
      "token_id": "90",
      "inscription_id": "c4c1d14be3b7a0451a3bf69b509213cefd02657a9fb2c5408ee7064f8f2e7571i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "91",
      "inscription_id": "c9cbdb0b63d37b4d9d3c33b40cf738189610a5a6de2aced04ff7bb51105e8e90i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twinM
      "token_id": "92",
      "inscription_id": "6e08c1b246220b8fc096fabc854619db7027027aaee1c092fb48e72b8d1e7494i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "93",
      "inscription_id": "248840a04e0e4a6ba26eae6a73c87623e06ae85852d1820e6a7651829cc73b5fi0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "M
has_twin", "value": "no" }
      "token_id": "94",
      "inscription_id": "027fcc019e084a2a055f6ca130bfc0cd78892fadb31316f9f6aebdd312ac09bei0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "95",
      "inscription_id": "378bed9c1f1deb936a39cfbfb0baba0d0c6692cdb0547065791afd165543a55bi0",
        { "trait_type": "rarity", "value": "common" },
type": "has_twin", "value": "no" }
      "token_id": "96",
      "inscription_id": "970b73a9ba895178b4636bb955b0c21a8a2d06dc73f6e14c559170e9e8386294i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "97",
      "inscription_id": "4c7fa40e3323723a73bc627e99bd66ee59159f4b77a95081d2f8140df7a8948fi0",
        { "trait_type": "rarity", "value": "rare" },
ait_type": "has_twin", "value": "no" }
      "token_id": "98",
      "inscription_id": "8f5261e4b578d7f31b9799f2f57bbc2a4cd01399dccbbdae5a742038b0437e74i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "99",
      "inscription_id": "a81980475f4f6d5ac36a7edc253cceaa27d747827f46e2845e82b90a998b0f56i0",
        { "trait_type": "rarity", "value": "rare" },
 "trait_type": "has_twin", "value": "no" }
      "token_id": "100",
      "inscription_id": "c6b99790041d8d7df37fddd2e6660166f44271e0d58846ebe42d3e8a6ffc9f4ci0",
        { "trait_type": "rarity", "value": "mythical" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "101",
      "inscription_id": "c71833c2c48b1bc468ffbbfa35e03d3308ef17d064f67a407ecdf52fa1c86b57i0",
        { "trait_type": "rarity", "value": "common" M
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "102",
      "inscription_id": "fb9e6edf1fd82ed86cfcaed8799482808f55d0ab85f52d95667b04f2bcb13505i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "103",
      "inscription_id": "da4ede88ca85e75e71d2e3c9d46305504f38671013362190fc658f70c9ef5c6bi0",
        { "trait_type": "rarity", "value":M
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "104",
      "inscription_id": "a4b14870fdcebb5c10bde13dba0e0518ab8ac9313d6d31b1bf4689754b6c7ec1i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "105",
      "inscription_id": "b9de8b52fc5ad4861d8f6e349390ff6a577a7932a8217b5183244620085edbeai0",
        { "trait_type": "rarity"M
, "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "106",
      "inscription_id": "57d7178703817f1905e3c249323613dcdb200d36ee0eb8ce841356df41b19007i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "107",
      "inscription_id": "70de5ea1380db381e29dec8521bf61fc607b7b5400178f6e4a794f39f258017bi0",
        { "trait_type": "rM
arity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "108",
      "inscription_id": "6e33967bb3c8ba768ee9909292f2012b9cd604cb31828bf1673cbc1c66c409fbi0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "109",
      "inscription_id": "844cfc3714fb1e6b8d479d07ea25105940f6e75c329aa894b437163e0dfa5ea8i0",
        { "trait_typM
e": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "110",
      "inscription_id": "a32d8a1c3f046677a95a30f08b13c2016108a82ae493ce5f3f9a65fc69e6dde5i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "111",
      "inscription_id": "771209b08d3e56abc4b8e8d4af20eb3e2c73834e8e3844aef14e560f52d4df4bi0",
rait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "112",
      "inscription_id": "fea119af96c8ae0980bbd55a82e702d1c9bfaa2ce397e2088918a67948ebfd73i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "113",
      "inscription_id": "75bc36ddf54b352acfeb97d0da5e8442840f2820a32c72c3167c77fb6697b45ci0",
       { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "114",
      "inscription_id": "af87af67b98e27c5df58459c6f99504eb9b91c70dddd5a4b84bb308a557bfc7bi0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "115",
      "inscription_id": "b477ec778bf439f2dc27004309ba776dda3022f570e7d7543657e8b82eb8f6fbi0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "116",
      "inscription_id": "6272ff7f6458a1edba1b6e97ed3952fb3771fb0dcadb4db25aad8619f8946578i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "117",
      "inscription_id": "039e9891fa62751960e82a701b626ff34c077b4fa24a517ae607248cc191e4e0i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "118",
      "inscription_id": "dd9d44767d73ae8996234a832b8c8a6e6122266f918e969bd1125657c8436884i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "119",
      "inscription_id": "612655c151812321faaa327381fd5959b7a9b68ccbda484cc8b185ec420M
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "120",
      "inscription_id": "c484f88bf4878e6a861f5930594f3dee412a14647797aeb8ab096a9f49ffad7ci0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "121",
      "inscription_id": "c9897cc264d70aad34cce0575363e337c6790121f2f2bc513M
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "122",
      "inscription_id": "e88d1666f6c0fc099de621c14e21ab973e8cedee1f818bdef52220a3fb9e3970i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "123",
      "inscription_id": "cec83aa990f2b2d6531dbb431d00da01d1a926M
ae9857879b85c119a4251ee18ci0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "124",
      "inscription_id": "c8569843826e237b891ae077c9a674438181389b7e7e90139d961576c1c75ed6i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "125",
      "inscription_id": "3b140f9d40177a71d8a041a2f9fM
c48f720d3c906cd557f546fddf30c0e18d6e1i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "126",
      "inscription_id": "5332a18dcee4a812285aabcc2e7c2570ca4b6d9f1742d69474a1f2be75619f5di0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "127",
      "inscription_id": "df86bceb57db59106M
3220ed8c64c794797514c6769a779f9bd5c049a7fee4ff2i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "128",
      "inscription_id": "e7a2ceeab117486207b6a17ddcb434895c50efc47bbcfc3db06307c5eee75b67i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "129",
      "inscription_id": "9f9003384M
d85a688b91b04e2c461335a6a47b03a019452a30dee0f1daed4e21ci0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "130",
      "inscription_id": "294d39e1e3fd7172a7a3c5d964b1771e73fe53d738383b5a6ee6fe9fa4954e58i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "131",
      "inscription_id": M
"9e8f9c1d69603a3160b6e14b27a031b10b233444fcec7fbc2dee2a1632ff8658i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "132",
      "inscription_id": "d015d5a9bb68d5603abcbb978ff515729942eaac22c9c6cb89c979bca28ad09ci0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "133",
ption_id": "18a9e1fdcd2d2a07ff338e94a32765b9b1364d012bc84d2827efa58d8e6f64e1i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "134",
      "inscription_id": "a936bb4ca984d127770851a7a50674ed1954c2d3959a76131088be14d13b9250i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "135",
    "inscription_id": "e638be3b749f03d051a51cb00b539de652905acb699107f51b919f252cf09f6di0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "136",
      "inscription_id": "aa4fe9174b60e573f3f8710cdad6b178ab59d4189b7805e85c1600b1bdafd9eai0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "inscription_id": "1b1c8987f10b6d2482869a80250e4b7154cfde83a6ff3d0612d303590e582538i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "138",
      "inscription_id": "158530f14658999fe053aa6f524ee6900695b9eb5efa6bfcc3c4d194a28e55f7i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "inscription_id": "63a8961feff86cf11ee9a49df3bc99642ccff08381bf368f1616dcf9e1c052dbi0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "140",
      "inscription_id": "516f63fd4121404276b3aea4d8cdbb6e11ff3d28114e9f84c91b7a938e48fcd1i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "141",
      "inscription_id": "c0bcd56292d39e1694e7f5d0ef3eaa83a677949af11b36734f84e43a3cde64b9i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "142",
      "inscription_id": "7db400a78331022fffbf3c41d0d24a38d2035eedfdcf1fd3bcca3f18eef1697fi0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "143",
      "inscription_id": "48adaa83390e60a9b73ea78162ba7e18ad9a8e702668ba7708c8848ebce432b1i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "144",
      "inscription_id": "e1705d1ff2f651c2364cf25df4a1422b7c9003c139e8f07f1b26b60d7d66f440i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "noM
      "token_id": "145",
      "inscription_id": "f9b1860273cb0ce9c49d72cf2869049619a58cd9dd8e86bd9cd95b353377b8fci0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "146",
      "inscription_id": "9cc2681e451f09eaf57cd211eed5c7c1f61a0d4637265e07bf8facaa307e9d7ei0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "vM
      "token_id": "147",
      "inscription_id": "cc44d71b8d14a6af90ed9ebd6b23e695f5ae3cc5879cd847f20ae89c22d7f676i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "148",
      "inscription_id": "e3151f6d2484177d6f655d7f9f15c3d56f66e154542b48978d00cdb40222d465i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "hasM
_twin", "value": "no" }
      "token_id": "149",
      "inscription_id": "30ecbb3d25e4ab3397bcfcf77e0e794fae483edc877ea5f8b851b1a0254233e2i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "150",
      "inscription_id": "a82624fd5e1aa48cbe86f764dda0ec70fe837f62e70c5fb9cf4e90ddeb09d833i0",
        { "trait_type": "rarity", "value": "common" },
ype": "has_twin", "value": "no" }
      "token_id": "151",
      "inscription_id": "2900b4e45e10c2aba2f298e45a5ed21b1fd977489b284c4c14ae39090e90ddf8i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "152",
      "inscription_id": "4552dbc443e9ed8d400a5ab3cf8c34e073a5f3647579b1ecac908ba4fc975afbi0",
        { "trait_type": "rarity", "value": "common" },
 { "trait_type": "has_twin", "value": "no" }
      "token_id": "153",
      "inscription_id": "9b6aab4b0eb588a8874b5fbdce619bebe899b0967a91b96d8dba4c6eafb513dci0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "154",
      "inscription_id": "24e22e86ba19d93a9bc8ccaa28c01fb80f3e53cdb0ecb884b3be5fa28fbd4f3fi0",
        { "trait_type": "rarity", "value": "common"M
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "155",
      "inscription_id": "936cb4c599acaef70cc385ab324310b4845d11897bf9ef1ef4105ab55ed82305i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "156",
      "inscription_id": "ab9288813ac9abde35a2481916f5f057d3b71178eec34d59d402d2eb73cda6a3i0",
        { "trait_type": "rarity", "value"M
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "157",
      "inscription_id": "f44397c5c674961ab7e389fe79877475452cef6a83b22935d9bc0155d5af1a02i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "158",
      "inscription_id": "a7ac1a51f3cfa770406037bc69a046779aeed91f08f320fd954f86d4d770003ci0",
        { "trait_type": "rarity",M
 "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "159",
      "inscription_id": "2c3cefdd9f9ffa04f816da53839c5097a2732e5a9f14429038d8dcf249b486f8i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "160",
      "inscription_id": "cbc341aae6bafd77616b81fbc7526642e2a4670c3a8661cef1e676ff2f4c6013i0",
        { "trait_type": "M
rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "161",
      "inscription_id": "15fb2b08f1575341490c2e960b487cb500e281aed98c4adb559d34bfce072961i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "162",
      "inscription_id": "f7c6e7e9dde838f29283de4d00cbdfc5b8769aaf62f5f56e1d4a6514f8d35bf3i0",
it_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "163",
      "inscription_id": "e21d8139b8c0e97a35550c00517777021615730d0a5e06cbf019061912eeac8ai0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "164",
      "inscription_id": "92d5f49f8519c8764b0cb5ba6d8d55aa340edcbfe0cb8f4ea04d802350d2bbc2i0",
     { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "165",
      "inscription_id": "4fe7b3de59410f47c501f21f53a813a79d310af8e91d9306062675a3e777324di0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "166",
      "inscription_id": "aba02544aeaf8e64f866eabf2dba10fbc2924476cbb2740b0e13f617553e05f3i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "167",
      "inscription_id": "8fbfd9820b27641f02996e3ef52edc84bac3a900241abb9e7e8bdcdc5bbf06dfi0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "168",
      "inscription_id": "a370e252790001e5f3701b68f9068dc53e1724fa157fc37b3ee6c7a349b093b3i0"M
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "169",
      "inscription_id": "0d716e4dd99b1513e1330c8e61768cd41a0864288fd9e78d4a96dce5fabc574bi0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "170",
      "inscription_id": "7f36f0d836cfe88b0d329190a65787df995957afa3859b352bd06e58edM
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "171",
      "inscription_id": "65f88c668f88dabfb12e86d29475a762f7513c6bbc595b22916f423f3921b5d6i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "172",
      "inscription_id": "4cae19daf5737d9365bd2e1913be112e9bbce2b2b0f1036b8M
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "173",
      "inscription_id": "e6e4fc1c387a9ea5c8a67a1112ecfa17426ed03da5c52755c9ac07bd7ff97cc7i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "174",
      "inscription_id": "8573156dedb398cc8b7516c76680a7e9451f07M
f0590a3f3cd1592977ebb1e585i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "175",
      "inscription_id": "55658ea734fd369de2633d3eba6bac4e58b69ad83dde59105e18e5438b260a18i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "176",
      "inscription_id": "3c4182b7612a5cbd20d7bd1c963dM
87e320fcd501ae6fdb819a89f37cd7862e32i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "177",
      "inscription_id": "1eb9a9232210f6ab6e549b9cb55479df4e84af4648930ee9795bd06f5db5de94i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "178",
      "inscription_id": "279d36751a98c9ef3ba5M
a00108ac033e23ac3279950073170aca2200a0112dc5i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "179",
      "inscription_id": "197f3266770fe51a7362aabdea5dcc1ef367b7eab470f7f2aac9e28b43b2d5b2i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "180",
      "inscription_id": "22da30e31cM
f51f0125ce4b8a75a49feff77f03cdeeb75d0950686daec6616862i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "181",
      "inscription_id": "fbadd9a49d94f3710cd737a28043275a812aa5509e6278f170f52ea2d72d0da0i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "182",
      "inscription_id": M
"a09c769c59cf5c8912c337e450d9724d5d5095c770c60cdd499c30615eb55861i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "183",
      "inscription_id": "b1eaf13aaa9fec503db504b921de5ce35e4a495bd582b0c5e66bd32c1f9bd384i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "184",
ption_id": "3489276b0254c6f947ab034cced077da01c74b1baa23286c52d8211ecd97b17di0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "185",
      "inscription_id": "90dcddfac0aa590a47cf18f9c9296105be5bfdd3453b694601bb1e9264af8e1fi0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "186",
inscription_id": "177783e09a5250762da179c3f6fe4ef57eb70cdf5fc9a34cda938628985eb5f8i0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "187",
      "inscription_id": "4a183258a89592f34e2ed03b978bc54a99d840d7ef377b57c4a4888052a98594i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "188",M
      "inscription_id": "65a107d7f1c90851d1a313643e5a1ad2e06f417a5ec1857f2b92edfbcaa666f1i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "189",
      "inscription_id": "a49c74feb12a7ed62b19c02fb7ff1789f464102bacddcbf30ba9c27d30e3c6c7i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "inscription_id": "6b163e521b538769d55a769536cbbbe94cb5b21a45630e9bb0ae063ae951a16ei0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "191",
      "inscription_id": "1e3f8e46de9be827d2aa178c80cfe0f2932ae943cedfd04bc9c396a4cf9176f5i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
   "token_id": "192",
      "inscription_id": "a706088aa1fdefb8f8ced2675c9ebbf9ee6da103a7646ee91f5291f7871c9a2bi0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "193",
      "inscription_id": "35a0e63f291e6169a8f15cbd1ccd499c6669e27c844867708c1539f938e81019i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "yes" }
      "token_id": "194",
      "inscription_id": "19aa4f5c7e68b659416b22fef909284707e6b9c22a8ba6a2f8632ee8223a95dai0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "195",
      "inscription_id": "2d410579c869ffabc2a34a6fd4c98de5d6ad6f85fdbef6eee7f2780317d1a3f3i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "196",
      "inscription_id": "83db70f5c505d4aca80dd794e94d4d094e504b5dcddd70f3d533285f9ccb937ei0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "197",
      "inscription_id": "e0e8d064982cf9a8df6504be692df621158d2c6c70e5b0d5edcb709a280c188bi0",
        { "trait_type": "rarity", "value": "rare" },
        { "trait_type": "has_twin", "value": "no" }M
      "token_id": "198",
      "inscription_id": "5b65d081b8345eca5244f219736332047182c17aac8fc5927fc0db2837085557i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "value": "no" }
      "token_id": "199",
      "inscription_id": "0bfaf87d3b73cd83843aea34ced17a796d0e5de9a147541f43ff526340b40f63i0",
        { "trait_type": "rarity", "value": "common" },
        { "trait_type": "has_twin", "valuM*
      "token_id": "200",
      "inscription_id": "645698dce6d1941e2e1d41fb92228e4fe1febb23ff910a87c729f1df220e7f31i0",
        { "trait_type": "rarity", "value": "mythical" },
        { "trait_type": "has_twin", "value": "no" }
-http://ns.adobe.com/xap/1.0/
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.dabacbb, 2021/04/14-00:39:44        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe PhotoshoM
p 23.0 (Windows)" xmpMM:InstanceID="xmp.iid:A241B16DB23F11EDA113F566B0347216" xmpMM:DocumentID="xmp.did:A241B16EB23F11EDA113F566B0347216"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:A241B16BB23F11EDA113F566B0347216" stRef:documentID="xmp.did:A241B16CB23F11EDA113F566B0347216"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
)A&&AB///BG?>>?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
))4&4?((?G?5?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "@00000.sats"
-http://ns.adobe.com/xap/1.0/
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.dabacbb, 2021/04/14-00:39:44        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe PhotoshoM
p 23.0 (Windows)" xmpMM:InstanceID="xmp.iid:A1FB2852B23F11ED97C4DD84B7E37804" xmpMM:DocumentID="xmp.did:A1FB2853B23F11ED97C4DD84B7E37804"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:A1FB2850B23F11ED97C4DD84B7E37804" stRef:documentID="xmp.did:A1FB2851B23F11ED97C4DD84B7E37804"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
)A&&AB///BG?>>?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
))4&4?((?G?5?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
text/plain;charset=utf-8
  "name": "99%.sats"
text/plain;charset=utf-8
  "name": "@88888.sats"
-http://ns.adobe.com/xap/1.0/
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.dabacbb, 2021/04/14-00:39:44        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe PhotoshoM
p 23.0 (Windows)" xmpMM:InstanceID="xmp.iid:A1B5B524B23F11EDA6D6E1662AE42294" xmpMM:DocumentID="xmp.did:A1B5B525B23F11EDA6D6E1662AE42294"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:A1B5B522B23F11EDA6D6E1662AE42294" stRef:documentID="xmp.did:A1B5B523B23F11EDA6D6E1662AE42294"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
)A&&AB///BG?>>?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
))4&4?((?G?5?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
text/plain;charset=utf-8
text/plain;charset=utf-8
-http://ns.adobe.com/xap/1.0/
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 7.1-c000 79.dabacbb, 2021/04/14-00:39:44        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe PhotoshoM
p 23.0 (Windows)" xmpMM:InstanceID="xmp.iid:A28B213CB23F11ED88B3DE7320EC93BD" xmpMM:DocumentID="xmp.did:A28B213DB23F11ED88B3DE7320EC93BD"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:A28B213AB23F11ED88B3DE7320EC93BD" stRef:documentID="xmp.did:A28B213BB23F11ED88B3DE7320EC93BD"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
)A&&AB///BG?>>?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
))4&4?((?G?5?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
d/Foundry USA Pool #dropgold/
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color='white'>=+==+=</font>
<font color='red'> (0,.) </font>
<font color=red>{=|&#8383;}</font>
<font color=blue>-"-</font>
</center></font></pre></body></html>
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"mabu.sats"}h!
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
6{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
6{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
6{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
text/plain;charset=utf-8
6{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
6{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "98980.sats"
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
{"type":"btcdomain","name":"bitcoin.btc","first_owner":"bc1pdulx5e3g4j2eqrpqr50kyf2fzesng4j9zhqdylx4t6jxjwj2mfrqtla3lt","createDate":1678259082219,"registerDate":1678259082219,"expireDate":1709795082219,"img_url":"https://btcdomains.io/images/domain/bitcoin.jpeg","sig":"3045022100c31f3863933783304189df2cd3ac7b17fbc6c1d36628ea70a7fe6659480f3eee022058b6af73fb1a7506158efbe7b8152c0fb0f93fdbeb85c9ef7c9045ad04e2876f"}h!
((((((((((((((((((((((((((((((((((((((((((((((((((
(:3=<9387@H\N@DWE78PmQW_bghg>Mqypdx\egc
/cB8Bcccccccccccccccccccccccccccccccccccccccccccccccccc
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
&'()*56789:CDEFGHIJSTUVWXYM
text/plain;charset=utf-8
  "name": "gm!.sats"
Mined by AntPool874Q
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color=blue>"..."</font>
<font color='Orchid'> (0,.) </font>
<font color=blue>(\+/)</font>
<font color=Chartreuse>-"-"-</font>
</center></font></pre></body></html>
text/plain;charset=utf-8
text/plain;charset=utf-8
0{"p":"sns","op":"reg","name":"firewatcher.sats"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
iTXtXML:com.adobe.xmp
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 6.0.0">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
         <tiff:YResolution>132</tiff:YResolution>
         <tiff:XResolution>132</tiff:XResolution>
         <tiff:PhotometricInterpretation>2</tiff:PhotometricInterpretation>
         <tiff:ResolutionUnitM
>2</tiff:ResolutionUnit>
      </rdf:Description>
d/Foundry USA Pool #dropgold/
text/plain;charset=utf-8
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color='DeepPink'>---</font>
<font color='Chartreuse'> (o,O) </font>
<font color=GreenYellow>{=|&#8383;}</font>
<font color=white> = = </font>
</center></font></pre></body></html>
text/plain;charset=utf-8
7{ "p": "sns", "op": "reg", "name": "felixritter.sats" }h!
text/plain;charset=utf-8
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"SassBAYC.sats"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
<svg viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg" style="background-color:#101010"><style>@keyframes glitch{0%{transform:translate(-3.5px,-4.5px);opacity:.15}7%{transform:translate(-3.5px,-4.5px);opacity:.65}45%{transform:translate(-3.5px,-4.5px);opacity:.35}50%{transform:translate(-3.5px,-4.5px);opacity:.85}to{transform:translate(-3.5px,-4.5px);opacity:.25}</style><defs><filter id="background" x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" primitiveUnits="userSpaceOnUse" cM
olor-interpolation-filters="linearRGB"><feTurbulence type="fractalNoise" baseFrequency="10" numOctaves="4" seed="1" stitchTiles="stitch" x="0%" y="0%" width="100%" height="100%" result="turbulence"><animate attributeName="seed" dur="1s" repeatCount="indefinite" calcMode="discrete" values="1;2;3;4;5;6;7;8;9;10"/></feTurbulence><feSpecularLighting surfaceScale="10" specularExponent="10" lighting-color="#fff" width="100%" height="100%"><feDistantLight elevation="100"/></feSpecularLighting></filter></defs><path fill="hM
sl(23, 0%, 100%)" filter="url(#background)" opacity="10%" d="M0 0h700v700H0z"/><defs><filter id="squares" x="-30%" y="-30%" width="160%" height="160%"><feTurbulence baseFrequency="0.05 0.5" numOctaves="10" result="turbulence"><animate attributeName="seed" dur="0.3s" repeatCount="indefinite" calcMode="discrete" values="1;2;3;4;5;6;7;8;9;1"/></feTurbulence><feDisplacementMap in="SourceGraphic" in2="turbulence" scale="30" xChannelSelector="R" yChannelSelector="G"/></filter></defs><g style="filter:url(#squares);opacityM
:100%"><circle cx="50%" cy="50%" r="25%" fill="none" stroke="#0F0" stroke-width="3%" style="animation:glitch 1.16s infinite"/><circle cx="50%" cy="50%" r="15%" fill="none" stroke="#FF0" stroke-width="3%" style="animation:glitch 1.15s infinite"/><circle cx="50%" cy="50%" r="5%" fill="none" stroke="#F80" stroke-width="7%" style="animation:glitch 1.14s infinite"/><circle cx="50%" cy="50%" r="35%" fill="none" stroke="#F80" stroke-width="10%" style="animation:glitch 1.13s infinite"/><circle cx="50%" cy="50%" r="45%" filL\l="none" stroke="#FF0" stroke-width="8%" style="animation:glitch 1.12s infinite"/></g></svg>h!
text/plain;charset=utf-8
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"kawasaki.sats"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color='green'>***</font>
<font color='Orchid'> (0,-) </font>
<font color=GreenYellow>//{\</font><font color=GreenYellow size=6>&#8383;</font><font color=GreenYellow>/}\\</font>
<font color=Cyan>-"-</font>
</center></font></pre></body></html>
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"41969.sats"}h!
text/plain;charset=utf-8
  "name": "789.ord",
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"9661.sats"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
FjDOUT:E87BA3490C1BEE6B95402DDFD6E9D7C9AB97E512973DDA36AFBB79ACC11533C9
text/plain;charset=utf-8
  "name": "778888.sats"
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "78882.sats"
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "78883.sats"
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "78881.sats"
text/plain;charset=utf-8
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"oppai.sats"}h!
iTXtXML:com.adobe.xmp
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 6.0.0">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
         <tiff:YResolution>132</tiff:YResolution>
         <tiff:XResolution>132</tiff:XResolution>
         <tiff:PhotometricInterpretation>2</tiff:PhotometricInterpretation>
         <tiff:ResolutionUnitM
>2</tiff:ResolutionUnit>
      </rdf:Description>
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"Fuckyou.sats"}h!
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"Binance.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"APE.sats"}h!
text/plain;charset=utf-8
7{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"Justin.sats"}h!
text/plain;charset=utf-8
/{"p":"sns","op":"reg","name":"B
text/plain;charset=utf-8
){"p":"sns","op":"reg","name":"Luna.sats"}h!
text/plain;charset=utf-8
/{"p":"sns","op":"reg","name":"BITC
text/plain;charset=utf-8
:{"p":"sns","op":"reg","name":"2
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "919.ord",
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "911.ord",
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "696.ord",
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "twelvefold.ord",
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
  "name": "111.ord",
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
(:3=<9387@H\N@DWE78PmQW_bghg>Mqypdx\egc
/cB8Bcccccccccccccccccccccccccccccccccccccccccccccccccc
iTXtXML:com.adobe.xmp
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 6.0.0">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
         <tiff:YResolution>132</tiff:YResolution>
         <tiff:XResolution>132</tiff:XResolution>
         <tiff:PhotometricInterpretation>2</tiff:PhotometricInterpretation>
         <tiff:ResolutionUnitM
>2</tiff:ResolutionUnit>
      </rdf:Description>
text/plain;charset=utf-8
iTXtXML:com.adobe.xmp
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 6.0.0">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
         <tiff:YResolution>132</tiff:YResolution>
         <tiff:XResolution>132</tiff:XResolution>
         <tiff:PhotometricInterpretation>2</tiff:PhotometricInterpretation>
         <tiff:ResolutionUnitM
>2</tiff:ResolutionUnit>
      </rdf:Description>
text/plain;charset=utf-8
.{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"999077.sats"}h!
text/html;charset=utf-8
      <!DOCTYPE html>
          <title>punk0.html</title>
          <svg width="320" height="320" viewBox="0 0 320 320" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="#121212"/><text x="160" y="130" font-family="Courier,monospace" font-weight="700" font-size="20" text-anchor="middle" letter-spacing="1"><tspan fill="#f46a9b">o</tspan><tspan dy="20" x="160" fill="#eeeeee"></tspan><tspan dy="25" x="160" fill="#00bfa0">|/</tspan><tspL]an dy="22" x="160" fill="#ffa300">/ \</tspan></text></svg>
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
((((((((((((((((((((((((((((((((((((((((((((((((((
text/plain;charset=utf-8
text/plain;charset=utf-8
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color='white'>///</font>
<font color='yellow'> (-,-) </font>
<font color=Cyan>//{\</font><font color=Cyan size=6>&#8383;</font><font color=Cyan>/}\\</font>
<font color=Chartreuse>-"-</font>
</center></font></pre></body></html>
text/plain;charset=utf-8
3{"p":"sns","op":"reg","name":"illaDaProducer.sats"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
<svg viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg" style="background-color:#101010"><style>@keyframes glitch{0%{transform:translate(-3.5px,-4.5px);opacity:.15}7%{transform:translate(-3.5px,-4.5px);opacity:.65}45%{transform:translate(-3.5px,-4.5px);opacity:.35}50%{transform:translate(-3.5px,-4.5px);opacity:.85}to{transform:translate(-3.5px,-4.5px);opacity:.25}</style><defs><filter id="background" x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" primitiveUnits="userSpaceOnUse" cM
olor-interpolation-filters="linearRGB"><feTurbulence type="fractalNoise" baseFrequency="10" numOctaves="4" seed="1" stitchTiles="stitch" x="0%" y="0%" width="100%" height="100%" result="turbulence"><animate attributeName="seed" dur="1s" repeatCount="indefinite" calcMode="discrete" values="1;2;3;4;5;6;7;8;9;10"/></feTurbulence><feSpecularLighting surfaceScale="10" specularExponent="10" lighting-color="#fff" width="100%" height="100%"><feDistantLight elevation="100"/></feSpecularLighting></filter></defs><path fill="hM
sl(23, 0%, 100%)" filter="url(#background)" opacity="10%" d="M0 0h700v700H0z"/><defs><filter id="squares" x="-30%" y="-30%" width="160%" height="160%"><feTurbulence baseFrequency="0.05 0.5" numOctaves="10" result="turbulence"><animate attributeName="seed" dur="0.3s" repeatCount="indefinite" calcMode="discrete" values="1;2;3;4;5;6;7;8;9;1"/></feTurbulence><feDisplacementMap in="SourceGraphic" in2="turbulence" scale="30" xChannelSelector="R" yChannelSelector="G"/></filter></defs><g style="filter:url(#squares);opacityM
:100%"><circle cx="50%" cy="50%" r="25%" fill="none" stroke="#0F0" stroke-width="7%" style="animation:glitch 1.16s infinite"/><circle cx="50%" cy="50%" r="15%" fill="none" stroke="#F80" stroke-width="7%" style="animation:glitch 1.15s infinite"/><circle cx="50%" cy="50%" r="5%" fill="none" stroke="#0FF" stroke-width="9%" style="animation:glitch 1.14s infinite"/><circle cx="50%" cy="50%" r="35%" fill="none" stroke="#00F" stroke-width="5%" style="animation:glitch 1.13s infinite"/><circle cx="50%" cy="50%" r="45%" fillL[="none" stroke="#F0F" stroke-width="9%" style="animation:glitch 1.12s infinite"/></g></svg>h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
6{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
Lp{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
text/plain;charset=utf-8
-{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
6{"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
d/Foundry USA Pool #dropgold/
SjLP=:ETH.ETH:0xAd63Aea7Ee14CdC427e8a414d0005d796C55c0F1::t:15:02:d0F:24458100464010>
text/plain;charset=utf-8
text/plain;charset=utf-8
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color=red>"..."</font>
<font color='Orchid'> (0,*) </font>
<font color=Orchid>{=|&#8383;}</font>
<font color=blue>-"-"-</font>
</center></font></pre></body></html>
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"DFarmer.sats"}h!
FjDOUT:04814D709CA002E30495A3EED071C5066CF5CF657D4CE6C058CD622CA7D148C4
FjDOUT:6859699369190A3BA4E2FED7A1827DCFB864AFF2058DA4976D225B703A206B37
FjDOUT:9FDEE3608034550CC9F4BBEB9D9F006FE03238E15DAF7C4C6BEFEE9A09CA6944
text/plain;charset=utf-8
text/plain;charset=utf-8
blackstonegroup.satsh!
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"00090.sats"}h!
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"00589.sats"}h!
text/plain;charset=utf-8
({"p":"sns","op":"reg","name":"
text/plain;charset=utf-8
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"^
text/html;charset=utf-8
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/addons/p5.sound.min.js"></script>
    <meta charset="utf-8" />
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "01234567M
89abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [M
(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
            return function () {
                u >>>= 0, i >>>= 0;
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generationM
        // This function generates a random number between 0 and 1 with on-chain seed.
        let mathRand = sfc32(...cyrb128(seed));
            @font-face {
                font-family: 'iconfont';
                src: url('iconfont.ttf') format('truetype');
                user-select: none;
            html, body {
                overflow: hidden;
                background-color: #00M
                margin: 0;
                position: fixed;
                width: 100%;
                height: 100%;
            canvas {
                width: 100%;
                height: 100%;
                opacity: 0.9;
            .dg .property-name {
                overflow: visible;
            .bigFont {
                font-size: 150%;
                color: #8C8C8C;
       .cr.function.appBigFont {
                font-size: 150%;
                line-height: 27px;
                color: #A5F8D3;
                background-color: #023C40;
            .cr.function.appBigFont .property-name {
                float: none;
            .cr.function.appBigFont .icon {
                position: sticky;
                bottom: 27px;
                font-family: 'iconfont';
                font-size: 130%;
            .twitter:before {
                content: 'a';
            .github:before {
                content: 'b';
            .app:before {
                content: 'c';
            .discord:before {
                content: 'd';
            .promo {
                display: none;
                /* display: table; */
                position: absolute;
                top: 0;
                left: 0;
                widtM
                height: 100%;
                z-index: 1;
                overflow: auto;
                color: lightblue;
                background-color: rgba(0,0,0,0.4);
                animation: promo-appear-animation 0.35s ease-out;
            .promo-middle {
                display: table-cell;
                vertical-align: middle;
            .promo-content {
                width: 80vw;
                height: 80vh;
                max-width: 80vh;
                margin: auto;
                padding: 0;
                font-size: 2.8vmax;
                font-family: Futura, "Trebuchet MS", Arial, sans-serif;
                text-align: center;
                background-image: url("promo_back.png");
                background-position: center;
                background-repeat: no-repeat;
                background-size: cover;
                border-radius: 15px;
                box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgbM
            .promo-header {
                height: 10%;
                padding: 2px 16px;
            .promo-close {
                width: 10%;
                height: 100%;
                text-align: left;
                float: left;
                font-size: 1.3em;
                /* transition: 0.2s; */
            .promo-close:hover {
                /* transform: scale(1.25); */
                cursor: pointer;
            .promo-M
                padding: 8px 16px 16px 16px;
                margin: auto;
            .promo-body p {
                margin-top: 0;
                mix-blend-mode: color-dodge;
                width: 100%;
                display: inline-block;
            .link img {
                width: 100%;
            @keyframes promo-appear-animation {
                0% {
                    transform: scale(2.0);
                    oM
                100% {
                    transform: scale(1.0);
                    opacity: 1;
function genart(min, max) {
  return mathRand() * (max - min) + min;
function genart3() {
) * (0.007 - 0.003) + 0.003;
seed = genart(1,100000)
function Neons(value) {
  if (value <= 0.15)
function Planets(value) {
  if (value >= 0.95) {
window.$fxhashFeatures = {
  "Neon": Neons(mathRand()),
  "Planet": Planets(mathRand())
if (genart2() <= 0.15) {
if (genart2() >= 0.95){
  let cnv = createCanvas(1000, 1000);
= (windowWidth - width) / 2;
  let can_y = (windowHeight - height) / 2;
  cnv.position(can_x, can_y);
  background("#000000")
  angleMode(DEGREES)
  var space = width / density
    for(let i = 0; i < keys; i ++) {
    points.push(createVector(random(width), random(height)));
  for (var x = 0; x < width; x += space)
      for (var y=0; y < height; y += space){
        var p= createVector(x + 10, y + 10)
        pointz.push(p)
  shuffle (points, true)
1 = genart(220, 255)
  r2 = genart(220, 255)
  g1 = genart(20, 255)
  g2 = genart(20, 255)
  b1 = genart(20, 255)
  b2 = genart(20, 255)
  //mult = genart3()
  if(frameCount > 300) noLoop()
  for (var i = 0; i <  points.length; i++){
    let ps = points[i]
    var r = map(points[i].x, 0, width, r1, r2)
    var g = map(points[i].y, 0, height, g1, g2)
 map(points[i].x, 0, width, b1, b2)
    var alpha = map(dist(width / 2, height / 2, points [i].x, points[i].y), 0, 1250, 1250, 210)
    fill(r,g,b,alpha)
    var angle = map(noise(points[i].x * mult/2, points[i].y * mult/22), Planet2, Planet, 0, 270)
    points[i].add(createVector(sin(angle)*7, cos(angle)))
    if (dist(width / 2, height / 2, points[i].x, points[i].y) < t ) {
  ellipse(points[i].x, points[i].y, Size)
      if(!onScreen(ps)) {
      points[i].x = rM
      points[i].y = random(height);
            if(Neon>1){
            Size=Size+0.01
function maindraw2()
  for (var i = 0; i <  pointz.length; i++){
    let pz = pointz[i]
    var rz = map(pointz[i].x, 0, width,M
    var gz = map(pointz[i].y, 0, height, g1-30, g2-30)
    var bz = map(pointz[i].x, 0, width, b1-30, b2)-30
    var alpha2 = map(dist(width / 2, height / 2, pointz [i].x, pointz[i].y), 0, 1450, 200, 0)
    fill(255,gz,bz,alpha2)
    var angle2 = map(noise(pointz[i].x * mult2/2, pointz[i].y * mult2/2), 0, 1, 0, 1720)
    pointz[i].add(createVector(sin(angle2), cos(angle2)))
    if (dist(width / 2, height / 2, pointz[i].x, pointz[i].y) > 10 ) {
  rect(pointz[i].x, pointz[i].y, 1.4M
        rect(pointz[i].x+13, pointz[i].y+3, 0.1)
          if(!onScreen(pz)) {
      pointz[i].x = random(width);
      pointz[i].y = random(height);
            angle2=angle2-0.1
            density=density-1
function onScreen(v) {
  return v.x >= 0 && v.x <= width && v.y >= 0 && v.y <= height;
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
IjG=:BNB.TWT-8C2:bnb1f0wsdun2vdtgng66p5kuzqe684a3u9ez3zva23:19384342171::0
@j>=:THOR.RUNE:thor1e59hjy9jq3mvwgw6qmdmy9xyu5wjpdv4ky0745:1:t:30]y
text/plain;charset=utf-8
text/plain;charset=utf-8
text/html;charset=utf-8
<html><body bgcolor=black><pre><font size=10><center>
<font color=Cyan>"___"</font>
<font color='yellow'> (o,O) </font>
<font color=green>{" "}</font>
<font color=red>-"-</font>
</center></font></pre></body></html>
text/plain;charset=utf-8
*{"p":"sns","op":"reg","name":"77987.sats"}h!
text/html;charset=utf-8
    <title>RECALL</title>
    <meta charset="UTF-8">
    <script id="snippet-random-code" type="text/javascript">
        // DO NOT EDIT THIS SECTION
        let seed = window.location.href.split('/').find(t => t.includes('i0'));
        if (seed == null) {
            const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz";
            seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M
0]).join('') + "i0";
            let pattern = "seed=";
            for (let i = 0; i < seed.length - pattern.length; ++i) {
                if (seed.substring(i, i + pattern.length) == pattern) {
                    seed = seed.substring(i + pattern.length);
                    break;
        function cyrb128($) {
            let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762;
            for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M
imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179);
            return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0]
        function sfc32($, _, u, i) {
            return function () {
                u >>>= 0, i >>>=M
                var l = ($ >>>= 0) + (_ >>>= 0) | 0;
                return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296
        // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation.
        // This function generates a random number between 0 and 1 with on-chain seed.
        let mathRand = sfc32(...cyrb128(seed));
        background: black;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 90%;
        aspect-ratio: 6/8;
        border-style: solid;
        border-width: 3px;
        border-color: black;
        width: 75ch;
        font-family: Helvetica;
    .prompt-container{
        position: absolute;
        background: white;
        padding: 10px;
    .prompt-container>p{
        padding: 0%;
        margin: 0px;
        font-family: Helvetica;
<div class="container">
<svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg>
<script type="text/javascript">
//RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM
ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'.
const rand = mathRand();
window.$generativeTraits ={"L Form shade": "Dark", "S Form shade": "Balanced", "Base shade": "Light", "Colour": "Blue", "Colour chance": "1%", "Base colour": "", "Base Colour chance": "0%", "S forms": "20-120", "L forms": "2-24", "S forms size": "XXS", "L forms size": "XXXL", "Clustering": 6, "Sensitivity": "High"}M
let t=[2e3,1e4],o=[100,250];let h=[0,250],W=[.2,.5];var e=[[2,8],[2,8]];let u=[20,120],_=[50,80];let b=[0,100],X=[.8,4];let c=[2,24],f=[8,16],S=[0,1,2,3,4,5,6,7,8,9,10],N=6,A=1,w=[10,60],k=.1,Y=[3,10],M=[.5,.5],ee=["#000080"],te=.01,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4ca7adbc83M
36d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #19";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0.25 l -79M
,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.357l74.16,1M
15.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88l90.915-4M
0.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8,-0.051 1M
.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 56-16 19 4M
0-69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enable_sub_clusM
ter=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z"M
,"m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28M
h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z","m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-119-128 M
238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,E=0,q=0,L=777226,$=0,ne=0;var O,P;!async functiM
on e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>L&&$++,L=e.result};let i=e=>{q=0==E?0:(e.result.bytes-E)/E*100,E=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POSTM
",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.M
json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.M
json();a>L&&$++,L=a;break}catch(e){}try{mempool_bytes_random=J(3e7,6e7),q=(mempool_bytes_random-E)/E*100,E=mempool_bytes_random,$++,L++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),O="http://www.w3.org/2000/svg",P=document.createElementNS(O,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=V(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeNaM
me","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=V(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount"M
,"0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),P.setAttributeNS(null,"x","0%"),P.setAttributeNS(null,"y","0%"),P.setAttributeNS(null,"width","100%"),P.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(O,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),P.appendChild(g),P.appendChild(bg),e.appendChild(P),ue(large_M
shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(E=J(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=G(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelectoM
r("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=G(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=J(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.lengtM
h;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=J(b[0],b[1]),s1=de(large_shapes.M
length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1M
,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttM
ributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(R(S),300,30,k=0,xy_range=[-5,95],randomness=.1),Q(R(S),300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1)M
,Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);Z*=1+q/100;H*=1+q/100;H=Math.max(H,u[0]);H=Math.min(H,u[1]);Z=Math.max(Z,c[0]);Z=Math.min(Z,c[1]);desired_number_of_visible_small_shapes=H;desired_number_of_visible_large_shapes=Z;fade_time_multiplier=1-q/100;C=le*fade_time_multipliM
er;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).7<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v)M
;for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shaM
pes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNSM
(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&M
!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let H=U(small_shapes),Z=U(lM
arge_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[10,10],randomness=.3):Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=G(n[0],n[1],scale=0),size_y=size_x,sx=J(s[0],s[1]),sy=J(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=J(r[0],r[1]),s2=he(s1,[50,1M
00],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:R(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pM
e(0,0,100,0,gradient_id),s1=V(r.s[0],r.s[1],"stp1-"+r.id),s2=V(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","cM
enter"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?R(ee):`rgb(${e%256},${e%256},${e%256M
})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?R(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function J(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function G(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function R(e){return e[J(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),M
i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function V(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;M
e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,M
a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=G(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+G(-5,15),y:y+G(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<IM
()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+G(-10,10)%100,y:y+G(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=J(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=J(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=G(70,80)),.6<I()&&(x=G(30,40)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-M
1;i++)fp.push(R(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+G(-s,s),fp[i].y=fp[cluster_start].y+G(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+J(r),s=G(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=G(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=G(0,100,3)),0<o&&I()>1-o&&(fp[i].x=G(0,100,3),fp[i].y=G(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visiM
ble&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=J(t[0],t[1]),direction=R([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*M
direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())};
text/html;charset=utf-8
    <meta charset="UTF-8">
    <title>A simple template for launching your art on Bitcoin</title>
    Generative supports the most popular creative coding libraries. Simply uncomment the library you want to use below.
    Are we missing an important library? Let us know @generative_xyz.
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script>
    <!-- c2.min.js@1.0.0
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/c2/1.0.0/c2.min.js"></script>
    <!-- chromajs@2.4.2
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script>
    <!-- p5.grain.js@0.6.1
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js">M
    <!-- threejs@r124
    <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js