diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..d5d00188 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "files.insertFinalNewline": true +} diff --git a/package.json b/package.json index c0affb6d..f2de03ce 100644 --- a/package.json +++ b/package.json @@ -19,16 +19,19 @@ "vis": "yarn vite-bundle-visualizer" }, "dependencies": { - "@ar.io/sdk": "^1.0.3", + "@ar.io/sdk": "^1.0.6", "@fontsource/rubik": "^5.0.19", "@headlessui/react": "^1.7.19", + "@radix-ui/react-tooltip": "^1.0.7", "@sentry/browser": "^7.101.1", "@sentry/react": "^7.101.1", "arweave": "^1.15.0", "axios": "^1.6.7", "axios-retry": "^4.0.0", + "lottie-react": "^2.4.0", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-hot-toast": "^2.4.1", "react-router-dom": "^6.22.1", "tailwindcss-animate": "^1.0.7", "winston": "^3.11.0", diff --git a/src/App.tsx b/src/App.tsx index 121f0eb5..d40b8202 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -15,10 +15,10 @@ import AppRouterLayout from './layout/AppRouterLayout'; import Loading from './pages/Loading'; import NotFound from './pages/NotFound'; -const Dashboard = React.lazy(() => import('./pages/Dashboard')); +// const Dashboard = React.lazy(() => import('./pages/Dashboard')); const Gateways = React.lazy(() => import('./pages/Gateways')); -const Staking = React.lazy(() => import('./pages/Staking')); -const Observers = React.lazy(() => import('./pages/Observers')); +// const Staking = React.lazy(() => import('./pages/Staking')); +// const Observers = React.lazy(() => import('./pages/Observers')); const sentryCreateBrowserRouter = wrapCreateBrowserRouter(createBrowserRouter); @@ -26,8 +26,8 @@ function App() { const router = sentryCreateBrowserRouter( createRoutesFromElements( } errorElement={}> - } /> - } /> + {/* }> @@ -35,7 +35,7 @@ function App() { } /> - , + , */} , - }> @@ -62,7 +62,7 @@ function App() { } /> - , + , */} } /> , ), diff --git a/src/animations/ario-spinner.json b/src/animations/ario-spinner.json new file mode 100644 index 00000000..0f4f0cc1 --- /dev/null +++ b/src/animations/ario-spinner.json @@ -0,0 +1 @@ +{"assets":[{"id":"Qe0HNtHmMoBZnWq8BH9Mt","layers":[{"ddd":0,"ind":3,"ty":4,"nm":"","ln":"egJ6b2M31YpjHtKmwPaKM3","sr":1,"ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[50000,50000]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"ip":0,"op":157,"st":0,"bm":0,"shapes":[{"ty":"gr","hd":false,"bm":0,"it":[{"ty":"sh","hd":false,"ix":0,"ks":{"a":1,"k":[{"t":0,"s":[{"v":[[0,-140],[140,0],[0,140],[-140,0],[0,-140],[0,-140],[0,-140],[0,-140],[0,-140],[0,-140],[0,-140]],"i":[[0,0],[0,-77.32],[77.32,0],[0,77.32],[-77.32,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[77.32,0],[0,77.32],[-77.32,0],[0,-77.32],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":0,"s":[{"v":[[0,140],[0,140],[0,128.8],[0,128.8],[0,140],[0,140],[0,140],[0,140],[0,140],[0,140],[0,140]],"i":[[0,0],[0,-140],[0,0],[0,-128.8],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,-140],[0,0],[0,-128.8],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":1,"s":[{"v":[[-3.54,139.96],[-10.57,139.6],[-9.72,128.43],[-3.26,128.76],[-3.54,139.96],[-3.54,139.96],[-3.54,139.96],[-3.54,139.96],[-3.54,139.96],[-3.54,139.96],[-3.54,139.96]],"i":[[0,0],[2.34,0.18],[0,0],[-2.16,-0.05],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-2.35,-0.06],[0,0],[2.15,0.16],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":2,"s":[{"v":[[-8.33,139.75],[-24.91,137.77],[-22.92,126.74],[-7.66,128.57],[-8.33,139.75],[-8.33,139.75],[-8.33,139.75],[-8.33,139.75],[-8.33,139.75],[-8.33,139.75],[-8.33,139.75]],"i":[[0,0],[5.48,0.99],[0,0],[-5.12,-0.3],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-5.56,-0.33],[0,0],[5.05,0.91],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":3,"s":[{"v":[[-14.46,139.25],[-42.82,133.29],[-39.39,122.63],[-13.31,128.11],[-14.46,139.25],[-14.46,139.25],[-14.46,139.25],[-14.46,139.25],[-14.46,139.25],[-14.46,139.25],[-14.46,139.25]],"i":[[0,0],[9.22,2.96],[0,0],[-8.86,-0.92],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-9.63,-1],[0,0],[8.48,2.73],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":4,"s":[{"v":[[-22,138.26],[-63.8,124.62],[-58.7,114.65],[-20.24,127.2],[-22,138.26],[-22,138.26],[-22,138.26],[-22,138.26],[-22,138.26],[-22,138.26],[-22,138.26]],"i":[[0,0],[13.13,6.72],[0,0],[-13.4,-2.13],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-14.57,-2.32],[0,0],[12.08,6.18],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":5,"s":[{"v":[[-30.9,136.55],[-86.65,109.96],[-79.72,101.17],[-28.43,125.62],[-30.9,136.55],[-30.9,136.55],[-30.9,136.55],[-30.9,136.55],[-30.9,136.55],[-30.9,136.55],[-30.9,136.55]],"i":[[0,0],[16.37,12.9],[0,0],[-18.71,-4.23],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-20.33,-4.6],[0,0],[15.06,11.87],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":6,"s":[{"v":[[-41.07,133.84],[-109.09,87.75],[-100.36,80.73],[-37.79,123.13],[-41.07,133.84],[-41.07,133.84],[-41.07,133.84],[-41.07,133.84],[-41.07,133.84],[-41.07,133.84],[-41.07,133.84]],"i":[[0,0],[17.55,21.82],[0,0],[-24.63,-7.56],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-26.77,-8.22],[0,0],[16.15,20.08],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":7,"s":[{"v":[[-52.38,129.83],[-127.82,57.11],[-117.6,52.54],[-48.19,119.45],[-52.38,129.83],[-52.38,129.83],[-52.38,129.83],[-52.38,129.83],[-52.38,129.83],[-52.38,129.83],[-52.38,129.83]],"i":[[0,0],[14.79,33.09],[0,0],[-30.93,-12.48],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-33.61,-13.56],[0,0],[13.6,30.45],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":8,"s":[{"v":[[-64.51,124.25],[-138.74,18.75],[-127.64,17.25],[-59.35,114.31],[-64.51,124.25],[-64.51,124.25],[-64.51,124.25],[-64.51,124.25],[-64.51,124.25],[-64.51,124.25],[-64.51,124.25]],"i":[[0,0],[6.1,45.15],[0,0],[-37.2,-19.32],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-40.43,-20.99],[0,0],[5.61,41.54],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":9,"s":[{"v":[[-77.03,116.91],[-137.8,-24.7],[-126.78,-22.72],[-70.86,107.55],[-77.03,116.91],[-77.03,116.91],[-77.03,116.91],[-77.03,116.91],[-77.03,116.91],[-77.03,116.91],[-77.03,116.91]],"i":[[0,0],[-9.88,55.11],[0,0],[-43.01,-28.34],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-46.75,-30.8],[0,0],[-9.09,50.7],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":10,"s":[{"v":[[-89.47,107.68],[-122.24,-68.24],[-112.46,-62.78],[-82.31,99.07],[-89.47,107.68],[-89.47,107.68],[-89.47,107.68],[-89.47,107.68],[-89.47,107.68],[-89.47,107.68],[-89.47,107.68]],"i":[[0,0],[-32.87,58.88],[0,0],[-47.72,-39.65],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-51.87,-43.09],[0,0],[-30.24,54.17],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":11,"s":[{"v":[[-101.3,96.64],[-139.84,-6.59],[-91.76,-105.74],[-84.42,-97.28],[-128.66,-6.07],[-93.2,88.9],[-101.3,96.64],[-101.3,96.64],[-101.3,96.64],[-101.3,96.64],[-101.3,96.64]],"i":[[0,0],[-1.8,38.23],[-28.91,25.09],[0,0],[1.66,-35.17],[-24.31,-25.48],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-26.42,-27.69],[1.8,-38.23],[0,0],[-26.6,23.08],[-1.66,35.17],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":12,"s":[{"v":[[-112.01,83.98],[-134.39,-39.24],[-49.23,-131.06],[-45.29,-120.57],[-123.64,-36.1],[-103.05,77.26],[-112.01,83.98],[-112.01,83.98],[-112.01,83.98],[-112.01,83.98],[-112.01,83.98]],"i":[[0,0],[-12.35,42.3],[-41.26,15.5],[0,0],[11.36,-38.92],[-24.32,-32.44],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-26.44,-35.26],[12.35,-42.3],[0,0],[-37.96,14.26],[-11.36,38.92],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":13,"s":[{"v":[[-121.24,70],[-121.23,-70.03],[0.06,-140],[0.05,-128.8],[-111.53,-64.42],[-111.54,64.4],[-121.24,70],[-121.24,70],[-121.24,70],[-121.24,70],[-121.24,70]],"i":[[0,0],[-25.02,43.32],[-50.03,-0.02],[0,0],[23.02,-39.85],[-23.01,-39.86],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-25.01,-43.33],[25.02,-43.32],[0,0],[-46.03,-0.02],[-23.02,39.85],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":14,"s":[{"v":[[-128.71,55.08],[-101.28,-96.66],[49.02,-131.14],[45.1,-120.64],[-93.17,-88.93],[-118.41,50.68],[-128.71,55.08],[-128.71,55.08],[-128.71,55.08],[-128.71,55.08],[-128.71,55.08]],"i":[[0,0],[-38.69,40.53],[-52.49,-19.62],[0,0],[35.59,-37.29],[-20.28,-47.39],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-22.05,-51.51],[38.69,-40.53],[0,0],[-48.29,-18.05],[-35.59,37.29],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":15,"s":[{"v":[[-134.26,39.69],[-76.13,-117.49],[91.09,-106.31],[83.8,-97.81],[-70.04,-108.09],[-123.52,36.52],[-134.26,39.69],[-134.26,39.69],[-134.26,39.69],[-134.26,39.69],[-134.26,39.69]],"i":[[0,0],[-52.06,33.73],[-47.11,-40.36],[0,0],[47.9,-31.03],[-16.18,-54.73],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-17.59,-59.49],[52.06,-33.73],[0,0],[-43.34,-37.13],[-47.9,31.03],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":16,"s":[{"v":[[-137.9,24.17],[-47.6,-131.66],[121.47,-69.6],[111.75,-64.03],[-43.79,-121.13],[-126.87,22.23],[-137.9,24.17],[-137.9,24.17],[-137.9,24.17],[-137.9,24.17],[-137.9,24.17]],"i":[[0,0],[-63.95,23.12],[-33.81,-59],[0,0],[58.83,-21.27],[-10.8,-61.62],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-11.74,-66.98],[63.95,-23.12],[0,0],[-31.1,-54.28],[-58.83,21.27],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":17,"s":[{"v":[[-139.72,8.91],[-17.8,-138.86],[137.45,-26.61],[126.45,-24.48],[-16.37,-127.75],[-128.54,8.2],[-139.72,8.91],[-139.72,8.91],[-139.72,8.91],[-139.72,8.91],[-139.72,8.91]],"i":[[0,0],[-73.26,9.39],[-14.04,-72.51],[0,0],[67.4,-8.64],[-4.33,-67.81],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-4.7,-73.71],[73.26,-9.39],[0,0],[-12.92,-66.71],[-67.4,8.64],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":18,"s":[{"v":[[-139.88,-5.86],[-61.38,-125.83],[81.48,-113.85],[138.9,17.52],[127.79,16.12],[74.96,-104.74],[-56.47,-115.76],[-128.69,-5.39],[-139.88,-5.86],[-139.88,-5.86],[-139.88,-5.86]],"i":[[0,0],[-46.21,22.54],[-41.81,-29.92],[6.43,-51.01],[0,0],[38.46,27.53],[42.51,-20.74],[1.98,-47.26],[0,0],[0,0],[0,0]],"o":[[2.15,-51.37],[46.21,-22.54],[41.81,29.92],[0,0],[5.92,-46.93],[-38.46,-27.53],[-42.51,20.74],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":19,"s":[{"v":[[-138.58,-19.9],[-39.49,-134.32],[105.77,-91.73],[127.38,58.09],[117.19,53.44],[97.3,-84.39],[-36.33,-123.57],[-127.49,-18.3],[-138.58,-19.9],[-138.58,-19.9],[-138.58,-19.9]],"i":[[0,0],[-52.58,15.46],[-35.91,-41.4],[22.74,-49.86],[0,0],[33.03,38.09],[48.37,-14.22],[7.17,-49.91],[0,0],[0,0],[0,0]],"o":[[7.79,-54.25],[52.58,-15.46],[35.91,41.4],[0,0],[20.92,-45.88],[-33.03,-38.09],[-48.37,14.22],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":20,"s":[{"v":[[-136.04,-33.06],[-17.62,-138.89],[123.47,-65.99],[105.68,91.82],[97.23,84.47],[113.59,-60.71],[-16.21,-127.78],[-125.16,-30.42],[-136.04,-33.06],[-136.04,-33.06],[-136.04,-33.06]],"i":[[0,0],[-57.6,7.31],[-27.37,-51.2],[38.08,-43.83],[0,0],[25.18,47.11],[52.99,-6.72],[12.61,-51.9],[0,0],[0,0],[0,0]],"o":[[13.71,-56.42],[57.6,-7.31],[27.37,51.2],[0,0],[35.03,-40.32],[-25.18,-47.11],[-52.99,6.72],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":21,"s":[{"v":[[-132.48,-45.26],[3.51,-139.96],[134.58,-38.56],[77.09,116.86],[70.92,107.51],[123.82,-35.48],[3.23,-128.76],[-121.88,-41.64],[-132.48,-45.26],[-132.48,-45.26],[-132.48,-45.26]],"i":[[0,0],[-61.15,-1.53],[-16.85,-58.8],[51.06,-33.68],[0,0],[15.5,54.1],[56.26,1.41],[18.19,-53.26],[0,0],[0,0],[0,0]],"o":[[19.77,-57.89],[61.15,1.53],[16.85,58.8],[0,0],[46.98,-30.99],[-15.5,-54.1],[-56.26,-1.41],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":22,"s":[{"v":[[-128.1,-56.47],[23.48,-138.02],[139.57,-10.94],[44.7,132.67],[41.12,122.06],[128.41,-10.07],[21.6,-126.98],[-117.86,-51.96],[-128.1,-56.47],[-128.1,-56.47],[-128.1,-56.47]],"i":[[0,0],[-63.24,-10.76],[-5.01,-63.95],[60.79,-20.48],[0,0],[4.61,58.84],[58.18,9.9],[23.81,-54],[0,0],[0,0],[0,0]],"o":[[25.88,-58.7],[63.24,10.76],[5.01,63.95],[0,0],[55.93,-18.84],[-4.61,-58.84],[-58.18,-9.9],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":23,"s":[{"v":[[-123.08,-66.72],[41.94,-133.57],[139.13,15.62],[11.29,139.54],[10.38,128.38],[128,14.37],[38.59,-122.88],[-113.23,-61.38],[-123.08,-66.72],[-123.08,-66.72],[-123.08,-66.72]],"i":[[0,0],[-63.92,-20.07],[7.47,-66.58],[66.78,-5.4],[0,0],[-6.87,61.25],[58.8,18.46],[29.37,-54.19],[0,0],[0,0],[0,0]],"o":[[31.93,-58.9],[63.92,20.07],[-7.47,66.58],[0,0],[61.43,-4.97],[6.87,-61.25],[-58.8,-18.46],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":24,"s":[{"v":[[-117.6,-75.96],[58.63,-127.13],[134.12,40.14],[-20.84,138.44],[-19.17,127.37],[123.39,36.93],[53.94,-116.96],[-108.19,-69.89],[-117.6,-75.96],[-117.6,-75.96],[-117.6,-75.96]],"i":[[0,0],[-63.29,-29.19],[19.98,-66.77],[68.92,10.37],[0,0],[-18.38,61.43],[58.23,26.86],[34.79,-53.86],[0,0],[0,0],[0,0]],"o":[[37.82,-58.55],[63.29,29.19],[-19.98,66.77],[0,0],[63.41,9.54],[18.38,-61.43],[-58.23,-26.86],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":25,"s":[{"v":[[-111.79,-84.27],[73.53,-119.14],[125.45,62.15],[-50.23,130.68],[-46.21,120.22],[115.41,57.18],[67.65,-109.61],[-102.85,-77.53],[-111.79,-84.27],[-111.79,-84.27],[-111.79,-84.27]],"i":[[0,0],[-61.51,-37.96],[32.09,-64.77],[67.47,25.93],[0,0],[-29.52,59.59],[56.59,34.93],[40.03,-53.1],[0,0],[0,0],[0,0]],"o":[[43.51,-57.72],[61.51,37.96],[-32.09,64.77],[0,0],[62.07,23.86],[29.52,-59.59],[-56.59,-34.93],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":26,"s":[{"v":[[-105.79,-91.7],[86.59,-110.01],[113.98,81.29],[-75.81,117.7],[-69.74,108.28],[104.86,74.79],[79.67,-101.21],[-97.32,-84.36],[-105.79,-91.7],[-105.79,-91.7],[-105.79,-91.7]],"i":[[0,0],[-58.73,-46.23],[43.4,-60.85],[62.84,40.47],[0,0],[-39.93,55.99],[54.03,42.53],[45.04,-51.96],[0,0],[0,0],[0,0]],"o":[[48.96,-56.48],[58.73,46.23],[-43.4,60.85],[0,0],[57.81,37.23],[39.93,-55.99],[-54.03,-42.53],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":27,"s":[{"v":[[-99.67,-98.32],[97.88,-100.1],[100.53,97.44],[-97,100.96],[-89.24,92.88],[92.49,89.64],[90.05,-92.09],[-91.69,-90.45],[-99.67,-98.32],[-99.67,-98.32],[-99.67,-98.32]],"i":[[0,0],[-55.11,-53.89],[53.65,-55.35],[55.58,53.4],[0,0],[-49.35,50.92],[50.7,49.58],[49.8,-50.48],[0,0],[0,0],[0,0]],"o":[[54.13,-54.87],[55.11,53.89],[-53.65,55.35],[0,0],[51.14,49.13],[49.35,-50.92],[-50.7,-49.58],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":28,"s":[{"v":[[-93.51,-104.19],[63.86,-124.59],[139.18,15.09],[35.68,135.38],[-113.67,81.73],[-104.57,75.19],[32.83,124.55],[128.05,13.88],[58.75,-114.62],[-86.03,-95.85],[-93.51,-104.19]],"i":[[0,0],[-51.62,-26.46],[6.25,-57.67],[56.09,-14.78],[33.86,47.09],[0,0],[-51.6,13.6],[-5.75,53.05],[47.49,24.34],[39.71,-35.65],[0,0]],"o":[[43.17,-38.74],[51.62,26.46],[-6.25,57.67],[-56.09,14.78],[0,0],[31.15,43.33],[51.6,-13.6],[5.75,-53.05],[-47.49,-24.34],[0,0],[0,0]]}],"h":1},{"t":29,"s":[{"v":[[-87.42,-109.35],[74.27,-118.68],[136.57,30.81],[16.11,139.07],[-125.9,61.22],[-115.83,56.32],[14.82,127.94],[125.64,28.35],[68.32,-109.18],[-80.43,-100.6],[-87.42,-109.35]],"i":[[0,0],[-50.41,-31.54],[13.09,-58],[59.07,-6.84],[26,53.48],[0,0],[-54.34,6.3],[-12.04,53.36],[46.37,29.02],[42.73,-34.16],[0,0]],"o":[[46.45,-37.13],[50.41,31.54],[-13.09,58],[-59.07,6.84],[0,0],[23.92,49.2],[54.34,-6.3],[12.04,-53.36],[-46.37,-29.02],[0,0],[0,0]]}],"h":1},{"t":30,"s":[{"v":[[-81.44,-113.88],[83.56,-112.33],[132.48,45.26],[-2.63,139.98],[-134.09,40.24],[-123.36,37.02],[-2.42,128.78],[121.88,41.64],[76.88,-103.34],[-74.92,-104.77],[-81.44,-113.88]],"i":[[0,0],[-48.82,-36.32],[19.67,-57.58],[60.84,1.14],[17.49,58.28],[0,0],[-55.97,-1.05],[-18.1,52.97],[44.91,33.41],[45.53,-32.56],[0,0]],"o":[[49.49,-35.39],[48.82,36.32],[-19.67,57.58],[-60.84,-1.14],[0,0],[16.09,53.62],[55.97,1.05],[18.1,-52.97],[-44.91,-33.41],[0,0],[0,0]]}],"h":1},{"t":31,"s":[{"v":[[-75.59,-117.84],[91.82,-105.68],[127.24,58.39],[-20.25,138.53],[-138.63,19.53],[-127.54,17.97],[-18.63,127.45],[117.06,53.72],[84.47,-97.23],[-69.55,-108.41],[-75.59,-117.84]],"i":[[0,0],[-46.92,-40.76],[25.92,-56.49],[61.5,8.99],[8.67,61.55],[0,0],[-56.58,-8.27],[-23.85,51.97],[43.17,37.5],[48.13,-30.88],[0,0]],"o":[[52.32,-33.56],[46.92,40.76],[-25.92,56.49],[-61.5,-8.99],[0,0],[7.98,56.62],[56.58,8.27],[23.85,-51.97],[-43.17,-37.5],[0,0],[0,0]]}],"h":1},{"t":32,"s":[{"v":[[-69.92,-121.29],[99.11,-98.88],[121.14,70.19],[-36.5,135.16],[-140,-0.33],[-128.8,-0.31],[-33.58,124.35],[111.45,64.57],[91.18,-90.97],[-64.32,-111.59],[-69.92,-121.29]],"i":[[0,0],[-44.77,-44.87],[31.78,-54.85],[61.19,16.53],[-0.15,63.39],[0,0],[-56.3,-15.2],[-29.24,50.46],[41.19,41.28],[50.52,-29.12],[0,0]],"o":[[54.92,-31.65],[44.77,44.87],[-31.78,54.85],[-61.19,-16.53],[0,0],[-0.14,58.32],[56.3,15.2],[29.24,-50.46],[-41.19,-41.28],[0,0],[0,0]]}],"h":1},{"t":33,"s":[{"v":[[-64.43,-124.29],[105.5,-92.03],[114.39,80.71],[-51.32,130.25],[-138.7,-19.02],[-127.61,-17.5],[-47.22,119.83],[105.24,74.25],[97.06,-84.67],[-59.27,-114.35],[-64.43,-124.29]],"i":[[0,0],[-42.43,-48.64],[37.21,-52.74],[60.06,23.66],[-8.77,63.95],[0,0],[-55.25,-21.77],[-34.24,48.52],[39.04,44.75],[52.72,-27.33],[0,0]],"o":[[57.31,-29.71],[42.43,48.64],[-37.21,52.74],[-60.06,-23.66],[0,0],[-8.07,58.84],[55.25,21.77],[34.24,-48.52],[-39.04,-44.75],[0,0],[0,0]]}],"h":1},{"t":34,"s":[{"v":[[-59.19,-126.87],[111.05,-85.25],[107.27,89.97],[-64.62,124.2],[-135.24,-36.2],[-124.42,-33.31],[-59.45,114.26],[98.68,82.77],[102.17,-78.43],[-54.45,-116.72],[-59.19,-126.87]],"i":[[0,0],[-39.97,-52.07],[42.18,-50.29],[58.23,30.3],[-16.97,63.41],[0,0],[-53.57,-27.87],[-38.81,46.27],[36.77,47.9],[54.73,-25.53],[0,0]],"o":[[59.49,-27.75],[39.97,52.07],[-42.18,50.29],[-58.23,-30.3],[0,0],[-15.62,58.34],[53.57,27.87],[38.81,-46.27],[-36.77,-47.9],[0,0],[0,0]]}],"h":1},{"t":35,"s":[{"v":[[-54.16,-129.1],[115.87,-78.58],[99.91,98.07],[-76.42,117.3],[-130.08,-51.76],[-119.67,-47.62],[-70.31,107.92],[91.91,90.23],[106.6,-72.29],[-49.83,-118.77],[-54.16,-129.1]],"i":[[0,0],[-37.42,-55.17],[46.7,-47.57],[55.86,36.39],[-24.65,61.94],[0,0],[-51.39,-33.48],[-42.97,43.77],[34.43,50.76],[56.56,-23.73],[0,0]],"o":[[61.48,-25.79],[37.42,55.17],[-46.7,47.57],[-55.86,-36.39],[0,0],[-22.68,56.99],[51.39,33.48],[42.97,-43.77],[-34.43,-50.76],[0,0],[0,0]]}],"h":1},{"t":36,"s":[{"v":[[-49.4,-131],[120.01,-72.09],[92.44,105.14],[-86.85,109.8],[-123.6,-65.75],[-113.71,-60.49],[-79.91,101.02],[85.05,96.73],[110.41,-66.32],[-45.44,-120.52],[-49.4,-131]],"i":[[0,0],[-34.83,-57.98],[50.79,-44.66],[53.05,41.96],[-31.77,59.71],[0,0],[-48.8,-38.6],[-46.73,41.09],[32.04,53.34],[58.22,-21.95],[0,0]],"o":[[63.29,-23.86],[34.83,57.98],[-50.79,44.66],[-53.05,-41.96],[0,0],[-29.22,54.93],[48.8,38.6],[46.73,-41.09],[-32.04,-53.34],[0,0],[0,0]]}],"h":1},{"t":37,"s":[{"v":[[-44.86,-132.62],[123.58,-65.8],[84.98,111.26],[-95.99,101.91],[-116.14,-78.17],[-106.85,-71.92],[-88.31,93.76],[78.18,102.36],[113.69,-60.53],[-41.27,-122.01],[-44.86,-132.62]],"i":[[0,0],[-32.22,-60.51],[54.47,-41.61],[49.9,47],[-38.27,56.87],[0,0],[-45.91,-43.24],[-50.12,38.28],[29.64,55.67],[59.74,-20.21],[0,0]],"o":[[64.93,-21.97],[32.22,60.51],[-54.47,41.61],[-49.9,-47],[0,0],[-35.21,52.32],[45.91,43.24],[50.12,-38.28],[-29.64,-55.67],[0,0],[0,0]]}],"h":1},{"t":38,"s":[{"v":[[-40.58,-133.99],[126.6,-59.77],[77.67,116.48],[-103.84,93.9],[-108.1,-88.96],[-99.45,-81.85],[-95.53,86.39],[71.46,107.16],[116.47,-54.99],[-37.33,-123.27],[-40.58,-133.99]],"i":[[0,0],[-29.63,-62.76],[57.74,-38.5],[46.55,51.47],[-44.1,53.58],[0,0],[-42.82,-47.36],[-53.12,35.42],[27.26,57.73],[61.11,-18.51],[0,0]],"o":[[66.42,-20.12],[29.63,62.76],[-57.74,38.5],[-46.55,-51.47],[0,0],[-40.57,49.3],[42.82,47.36],[53.12,-35.42],[-27.26,-57.73],[0,0],[0,0]]}],"h":1},{"t":39,"s":[{"v":[[-36.54,-135.15],[129.16,-54.02],[70.57,120.91],[-110.57,85.88],[-99.69,-98.29],[-91.72,-90.43],[-101.72,79.01],[64.92,111.24],[118.82,-49.7],[-33.62,-124.34],[-36.54,-135.15]],"i":[[0,0],[-27.09,-64.76],[60.62,-35.38],[43.06,55.43],[-49.28,49.98],[0,0],[-39.61,-51],[-55.77,32.55],[24.92,59.58],[62.34,-16.86],[0,0]],"o":[[67.76,-18.32],[27.09,64.76],[-60.62,35.38],[-43.06,-55.43],[0,0],[-45.34,45.99],[39.61,51],[55.77,-32.55],[-24.92,-59.58],[0,0],[0,0]]}],"h":1},{"t":40,"s":[{"v":[[-32.75,-136.11],[131.31,-48.57],[63.7,124.67],[-116.29,77.95],[-91.11,-106.29],[-83.82,-97.79],[-106.99,71.71],[58.61,114.69],[120.8,-44.68],[-30.13,-125.23],[-32.75,-136.11]],"i":[[0,0],[-24.61,-66.53],[63.17,-32.28],[39.5,58.92],[-53.86,46.17],[0,0],[-36.34,-54.21],[-58.12,29.7],[22.64,61.21],[63.45,-15.27],[0,0]],"o":[[68.97,-16.6],[24.61,66.53],[-63.17,32.28],[-39.5,-58.92],[0,0],[-49.55,42.47],[36.34,54.21],[58.12,-29.7],[-22.64,-61.21],[0,0],[0,0]]}],"h":1},{"t":41,"s":[{"v":[[-29.2,-136.92],[133.1,-43.4],[57.13,127.81],[-121.12,70.22],[-82.53,-113.08],[-75.93,-104.04],[-111.43,64.6],[52.56,117.59],[122.45,-39.93],[-26.87,-125.97],[-29.2,-136.92]],"i":[[0,0],[-22.21,-68.11],[65.4,-29.23],[35.93,61.97],[-57.86,42.23],[0,0],[-33.05,-57.02],[-60.17,26.89],[20.43,62.66],[64.45,-13.75],[0,0]],"o":[[70.06,-14.94],[22.21,68.11],[-65.4,29.23],[-35.93,-61.97],[0,0],[-53.23,38.85],[33.05,57.02],[60.17,-26.89],[-20.43,-62.66],[0,0],[0,0]]}],"h":1},{"t":42,"s":[{"v":[[-25.9,-137.58],[134.58,-38.56],[50.89,130.42],[-125.13,62.78],[-74.13,-118.76],[-68.2,-109.26],[-115.12,57.76],[46.82,119.99],[123.82,-35.48],[-23.83,-126.58],[-25.9,-137.58]],"i":[[0,0],[-19.91,-69.49],[67.34,-26.28],[32.42,64.61],[-61.32,38.27],[0,0],[-29.82,-59.44],[-61.95,24.17],[18.32,63.93],[65.35,-12.3],[0,0]],"o":[[71.04,-13.37],[19.91,69.49],[-67.34,26.28],[-32.42,-64.61],[0,0],[-56.41,35.21],[29.82,59.44],[61.95,-24.17],[-18.32,-63.93],[0,0],[0,0]]}],"h":1},{"t":43,"s":[{"v":[[-22.82,-138.13],[135.8,-34.03],[45.02,132.56],[-128.44,55.71],[-66.02,-123.46],[-60.74,-113.58],[-118.16,51.25],[41.42,121.96],[124.94,-31.31],[-20.99,-127.08],[-22.82,-138.13]],"i":[[0,0],[-17.72,-70.7],[69.01,-23.44],[29,66.86],[-64.27,34.37],[0,0],[-26.68,-61.52],[-63.49,21.56],[16.3,65.04],[66.16,-10.93],[0,0]],"o":[[71.91,-11.88],[17.72,70.7],[-69.01,23.44],[-29,-66.86],[0,0],[-59.13,31.62],[26.68,61.52],[63.49,-21.56],[-16.3,-65.04],[0,0],[0,0]]}],"h":1},{"t":44,"s":[{"v":[[-19.97,-138.57],[136.78,-29.83],[39.55,134.3],[-131.12,49.06],[-58.31,-127.28],[-53.65,-117.09],[-120.63,45.13],[36.38,123.55],[125.84,-27.45],[-18.37,-127.48],[-19.97,-138.57]],"i":[[0,0],[-15.65,-71.75],[70.44,-20.74],[25.73,68.78],[-66.76,30.59],[0,0],[-23.67,-63.27],[-64.81,19.08],[14.4,66.01],[66.87,-9.64],[0,0]],"o":[[72.68,-10.47],[15.65,71.75],[-70.44,20.74],[-25.73,-68.78],[0,0],[-61.42,28.14],[23.67,63.27],[64.81,-19.08],[-14.4,-66.01],[0,0],[0,0]]}],"h":1},{"t":45,"s":[{"v":[[-17.35,-138.92],[137.58,-25.93],[34.41,135.7],[-133.31,42.76],[-50.95,-130.4],[-46.87,-119.97],[-122.64,39.34],[31.66,124.85],[126.57,-23.86],[-15.96,-127.81],[-17.35,-138.92]],"i":[[0,0],[-13.7,-72.67],[71.68,-18.18],[22.59,70.41],[-68.88,26.91],[0,0],[-20.78,-64.78],[-65.95,16.72],[12.6,66.86],[67.51,-8.43],[0,0]],"o":[[73.38,-9.17],[13.7,72.67],[-71.68,18.18],[-22.59,-70.41],[0,0],[-63.37,24.76],[20.78,64.78],[65.95,-16.72],[-12.6,-66.86],[0,0],[0,0]]}],"h":1},{"t":46,"s":[{"v":[[-14.93,-139.2],[138.21,-22.34],[29.68,136.82],[-135.04,36.94],[-44.1,-132.87],[-40.57,-122.24],[-124.23,33.99],[27.31,125.87],[127.15,-20.55],[-13.73,-128.07],[-14.93,-139.2]],"i":[[0,0],[-11.87,-73.46],[72.72,-15.78],[19.64,71.78],[-70.63,23.44],[0,0],[-18.07,-66.04],[-66.91,14.51],[10.92,67.59],[68.07,-7.3],[0,0]],"o":[[73.99,-7.93],[11.87,73.46],[-72.72,15.78],[-19.64,-71.78],[0,0],[-64.98,21.56],[18.07,66.04],[66.91,-14.51],[-10.92,-67.59],[0,0],[0,0]]}],"h":1},{"t":47,"s":[{"v":[[-12.71,-139.42],[138.7,-19.05],[25.34,137.69],[-136.39,31.59],[-37.77,-134.81],[-34.75,-124.03],[-125.48,29.06],[23.32,126.67],[127.6,-17.52],[-11.7,-128.27],[-12.71,-139.42]],"i":[[0,0],[-10.18,-74.14],[73.6,-13.55],[16.89,72.91],[-72.07,20.19],[0,0],[-15.54,-67.08],[-67.72,12.46],[9.37,68.21],[68.57,-6.25],[0,0]],"o":[[74.53,-6.8],[10.18,74.14],[-73.6,13.55],[-16.89,-72.91],[0,0],[-66.3,18.57],[15.54,67.08],[67.72,-12.46],[-9.37,-68.21],[0,0],[0,0]]}],"h":1},{"t":48,"s":[{"v":[[-10.72,-139.59],[139.08,-16.06],[21.37,138.36],[-137.44,26.66],[-31.91,-136.32],[-29.35,-125.41],[-126.44,24.53],[19.66,127.29],[127.95,-14.77],[-9.86,-128.42],[-10.72,-139.59]],"i":[[0,0],[-8.63,-74.74],[74.35,-11.49],[14.33,73.86],[-73.25,17.15],[0,0],[-13.18,-67.95],[-68.4,10.57],[7.94,68.76],[69.01,-5.3],[0,0]],"o":[[75.01,-5.76],[8.63,74.74],[-74.35,11.49],[-14.33,-73.86],[0,0],[-67.39,15.77],[13.18,67.95],[68.4,-10.57],[-7.94,-68.76],[0,0],[0,0]]}],"h":1},{"t":49,"s":[{"v":[[-8.89,-139.72],[139.37,-13.32],[17.73,138.87],[-138.24,22.13],[-26.5,-137.47],[-24.38,-126.47],[-127.18,20.36],[16.31,127.76],[128.22,-12.25],[-8.18,-128.54],[-8.89,-139.72]],"i":[[0,0],[-7.19,-75.25],[74.98,-9.57],[11.95,74.64],[-74.22,14.31],[0,0],[-10.99,-68.67],[-68.98,8.81],[6.61,69.23],[69.4,-4.42],[0,0]],"o":[[75.44,-4.8],[7.19,75.25],[-74.98,9.57],[-11.95,-74.64],[0,0],[-68.29,13.16],[10.99,68.67],[68.98,-8.81],[-6.61,-69.23],[0,0],[0,0]]}],"h":1},{"t":50,"s":[{"v":[[-7.25,-139.81],[139.58,-10.87],[14.49,139.25],[-138.83,18.09],[-21.68,-138.31],[-19.95,-127.25],[-127.72,16.64],[13.33,128.11],[128.41,-10],[-6.67,-128.63],[-7.25,-139.81]],"i":[[0,0],[-5.9,-75.68],[75.5,-7.86],[9.81,75.27],[-74.99,11.76],[0,0],[-9.02,-69.25],[-69.46,7.23],[5.42,69.62],[69.74,-3.62],[0,0]],"o":[[75.8,-3.93],[5.9,75.68],[-75.5,7.86],[-9.81,-75.27],[0,0],[-68.99,10.82],[9.02,69.25],[69.46,-7.23],[-5.42,-69.62],[0,0],[0,0]]}],"h":1},{"t":51,"s":[{"v":[[-5.81,-139.88],[139.73,-8.71],[11.61,139.52],[-139.25,14.5],[-17.38,-138.92],[-15.99,-127.8],[-128.11,13.34],[10.68,128.36],[128.55,-8.02],[-5.35,-128.69],[-5.81,-139.88]],"i":[[0,0],[-4.74,-76.04],[75.93,-6.32],[7.89,75.78],[-75.6,9.46],[0,0],[-7.26,-69.72],[-69.85,5.81],[4.36,69.96],[70.03,-2.91],[0,0]],"o":[[76.12,-3.16],[4.74,76.04],[-75.93,6.32],[-7.89,-75.78],[0,0],[-69.55,8.7],[7.26,69.72],[69.85,-5.81],[-4.36,-69.96],[0,0],[0,0]]}],"h":1},{"t":52,"s":[{"v":[[-4.54,-139.93],[139.83,-6.81],[9.07,139.71],[-139.54,11.33],[-13.58,-139.34],[-12.5,-128.19],[-128.38,10.42],[8.34,128.53],[128.65,-6.26],[-4.18,-128.73],[-4.54,-139.93]],"i":[[0,0],[-3.72,-76.35],[76.28,-4.95],[6.18,76.19],[-76.08,7.42],[0,0],[-5.69,-70.09],[-70.17,4.56],[3.42,70.24],[70.28,-2.28],[0,0]],"o":[[76.4,-2.48],[3.72,76.35],[-76.28,4.95],[-6.18,-76.19],[0,0],[-69.99,6.82],[5.69,70.09],[70.17,-4.56],[-3.42,-70.24],[0,0],[0,0]]}],"h":1},{"t":53,"s":[{"v":[[-3.44,-139.96],[139.9,-5.16],[6.87,139.83],[-139.74,8.59],[-10.3,-139.62],[-9.47,-128.45],[-128.56,7.9],[6.32,128.64],[128.71,-4.75],[-3.17,-128.76],[-3.44,-139.96]],"i":[[0,0],[-2.82,-76.6],[76.56,-3.76],[4.7,76.51],[-76.44,5.64],[0,0],[-4.32,-70.39],[-70.43,3.46],[2.6,70.47],[70.5,-1.74],[0,0]],"o":[[76.63,-1.89],[2.82,76.6],[-76.56,3.76],[-4.7,-76.51],[0,0],[-70.33,5.19],[4.32,70.39],[70.43,-3.46],[-2.6,-70.47],[0,0],[0,0]]}],"h":1},{"t":54,"s":[{"v":[[-2.49,-139.98],[139.95,-3.75],[5,139.91],[-139.86,6.25],[-7.5,-139.8],[-6.9,-128.61],[-128.67,5.75],[4.6,128.72],[128.75,-3.45],[-2.29,-128.78],[-2.49,-139.98]],"i":[[0,0],[-2.06,-76.8],[76.78,-2.74],[3.43,76.75],[-76.72,4.12],[0,0],[-3.16,-70.61],[-70.64,2.52],[1.89,70.66],[70.67,-1.26],[0,0]],"o":[[76.82,-1.37],[2.06,76.8],[-76.78,2.74],[-3.43,-76.75],[0,0],[-70.58,3.79],[3.16,70.61],[70.64,-2.52],[-1.89,-70.66],[0,0],[0,0]]}],"h":1},{"t":55,"s":[{"v":[[-1.71,-139.99],[139.98,-2.57],[3.43,139.96],[-139.93,4.28],[-5.14,-139.91],[-4.73,-128.71],[-128.74,3.94],[3.15,128.76],[128.78,-2.36],[-1.57,-128.79],[-1.71,-139.99]],"i":[[0,0],[-1.41,-76.97],[76.96,-1.88],[2.36,76.95],[-76.93,2.83],[0,0],[-2.17,-70.79],[-70.81,1.73],[1.3,70.81],[70.82,-0.87],[0,0]],"o":[[76.98,-0.94],[1.41,76.97],[-76.96,1.88],[-2.36,-76.95],[0,0],[-70.78,2.6],[2.17,70.79],[70.81,-1.73],[-1.3,-70.81],[0,0],[0,0]]}],"h":1},{"t":56,"s":[{"v":[[-1.08,-140],[139.99,-1.62],[2.17,139.98],[-139.97,2.72],[-3.27,-139.96],[-3.01,-128.76],[-128.78,2.51],[2,128.78],[128.79,-1.49],[-0.99,-128.8],[-1.08,-140]],"i":[[0,0],[-0.89,-77.1],[77.1,-1.2],[1.5,77.09],[-77.08,1.8],[0,0],[-1.38,-70.92],[-70.93,1.1],[0.82,70.93],[70.93,-0.54],[0,0]],"o":[[77.1,-0.59],[0.89,77.1],[-77.1,1.2],[-1.5,-77.09],[0,0],[-70.92,1.66],[1.38,70.92],[70.93,-1.1],[-0.82,-70.93],[0,0],[0,0]]}],"h":1},{"t":57,"s":[{"v":[[-0.61,-140],[140,-0.92],[1.23,139.99],[-139.99,1.53],[-1.84,-139.99],[-1.69,-128.79],[-128.79,1.41],[1.13,128.8],[128.8,-0.85],[-0.56,-128.8],[-0.61,-140]],"i":[[0,0],[-0.51,-77.2],[77.2,-0.68],[0.85,77.2],[-77.19,1.02],[0,0],[-0.78,-71.02],[-71.02,0.62],[0.47,71.02],[71.02,-0.31],[0,0]],"o":[[77.2,-0.34],[0.51,77.2],[-77.2,0.68],[-0.85,-77.2],[0,0],[-71.02,0.93],[0.78,71.02],[71.02,-0.62],[-0.47,-71.02],[0,0],[0,0]]}],"h":1},{"t":58,"s":[{"v":[[-0.27,-140],[140,-0.4],[0.53,140],[-140,0.67],[-0.8,-140],[-0.27,-140],[-0.27,-140],[-0.27,-140],[-0.27,-140],[-0.27,-140],[-0.27,-140]],"i":[[0,0],[-0.22,-77.27],[77.27,-0.29],[0.37,77.27],[-77.27,0.44],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[77.27,-0.15],[0.22,77.27],[-77.27,0.29],[-0.37,-77.27],[0,0],[-0.53,0],[-0.53,0],[-0.53,0],[-0.53,0],[-0.53,0],[-0.53,0]]}],"h":1},{"t":59,"s":[{"v":[[-0.07,-140],[140,-0.1],[0.12,140],[-140,0.14],[-0.16,-140],[-0.07,-140],[-0.07,-140],[-0.07,-140],[-0.07,-140],[-0.07,-140],[-0.07,-140]],"i":[[0,0],[-0.05,-77.31],[77.31,-0.07],[0.08,77.31],[-77.31,0.09],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[77.31,-0.04],[0.05,77.31],[-77.31,0.07],[-0.08,-77.31],[0,0],[-0.09,0],[-0.09,0],[-0.09,0],[-0.09,0],[-0.09,0],[-0.09,0]]}],"h":1},{"t":60,"s":[{"v":[[0,-140],[140,0],[0,140],[-140,0],[0,-140],[0,-140],[0,-140],[0,-140],[0,-140],[0,-140],[0,-140]],"i":[[0,0],[0,-77.32],[77.32,0],[0,77.32],[-77.32,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[77.32,0],[0,77.32],[-77.32,0],[0,-77.32],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":96,"s":[{"v":[[0,-140],[140,0],[0,140],[-140,0],[0,-140],[0,-140],[0,-140],[0,-140],[0,-140],[0,-140],[0,-140]],"i":[[0,0],[0,-77.32],[77.32,0],[0,77.32],[-77.32,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[77.32,0],[0,77.32],[-77.32,0],[0,-77.32],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":97,"s":[{"v":[[0.05,-140],[140,0.05],[-0.05,140],[-140,-0.05],[0.05,-140],[0.05,-140],[0.05,-140],[0.05,-140],[0.05,-140],[0.05,-140],[0.05,-140]],"i":[[0,0],[0.03,-77.32],[77.32,0.03],[-0.03,77.32],[-77.32,-0.03],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[77.32,0.03],[-0.03,77.32],[-77.32,-0.03],[0.03,-77.32],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":98,"s":[{"v":[[0.32,-140],[140,0.25],[-0.18,140],[-140,-0.12],[0.05,-140],[0.32,-140],[0.32,-140],[0.32,-140],[0.32,-140],[0.32,-140],[0.32,-140]],"i":[[0,0],[0.14,-77.29],[77.29,0.1],[-0.07,77.29],[-77.29,-0.03],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[77.29,0.18],[-0.14,77.29],[-77.29,-0.1],[0.07,-77.29],[0,0],[-0.27,0],[-0.27,0],[-0.27,0],[-0.27,0],[-0.27,0],[-0.27,0]]}],"h":1},{"t":99,"s":[{"v":[[1.1,-140],[140,0.88],[-0.66,140],[-140,-0.44],[0.22,-140],[1.1,-140],[1.1,-140],[1.1,-140],[1.1,-140],[1.1,-140],[1.1,-140]],"i":[[0,0],[0.48,-77.23],[77.23,0.36],[-0.24,77.23],[-77.23,-0.12],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[77.23,0.61],[-0.48,77.23],[-77.23,-0.36],[0.24,-77.23],[0,0],[-0.88,0],[-0.88,0],[-0.88,0],[-0.88,0],[-0.88,0],[-0.88,0]]}],"h":1},{"t":100,"s":[{"v":[[2.61,-139.98],[139.98,2.09],[-1.56,139.99],[-140,-1.03],[0.5,-140],[0.46,-128.8],[-128.8,-0.95],[-1.43,128.79],[128.79,1.92],[2.41,-128.78],[2.61,-139.98]],"i":[[0,0],[1.15,-77.11],[77.11,0.86],[-0.57,77.11],[-77.11,-0.28],[0,0],[0.52,-70.94],[-70.94,-0.79],[-1.06,70.94],[70.93,1.32],[0,0]],"o":[[77.1,1.44],[-1.15,77.11],[-77.11,-0.86],[0.57,-77.11],[0,0],[-70.94,-0.26],[-0.52,70.94],[70.94,0.79],[1.06,-70.94],[0,0],[0,0]]}],"h":1},{"t":101,"s":[{"v":[[5.08,-139.91],[139.94,4.07],[-3.06,139.97],[-139.99,-2.05],[1.04,-140],[0.95,-128.8],[-128.79,-1.88],[-2.81,128.77],[128.75,3.74],[4.67,-128.72],[5.08,-139.91]],"i":[[0,0],[2.24,-76.89],[76.91,1.68],[-1.13,76.92],[-76.92,-0.57],[0,0],[1.04,-70.76],[-70.75,-1.55],[-2.06,70.74],[70.72,2.57],[0,0]],"o":[[76.87,2.79],[-2.24,76.89],[-76.91,-1.68],[1.13,-76.92],[0,0],[-70.77,-0.52],[-1.04,70.76],[70.75,1.55],[2.06,-70.74],[0,0],[0,0]]}],"h":1},{"t":102,"s":[{"v":[[8.79,-139.72],[139.82,7.03],[-5.28,139.9],[-139.96,-3.52],[1.76,-139.99],[1.62,-128.79],[-128.76,-3.24],[-4.85,128.71],[128.64,6.47],[8.09,-128.55],[8.79,-139.72]],"i":[[0,0],[3.85,-76.54],[76.58,2.89],[-1.93,76.61],[-76.63,-0.96],[0,0],[1.77,-70.48],[-70.45,-2.66],[-3.54,70.41],[70.36,4.43],[0,0]],"o":[[76.48,4.81],[-3.85,76.54],[-76.58,-2.89],[1.93,-76.61],[0,0],[-70.5,-0.89],[-1.77,70.48],[70.45,2.66],[3.54,-70.41],[0,0],[0,0]]}],"h":1},{"t":103,"s":[{"v":[[13.95,-139.3],[139.55,11.17],[-8.39,139.75],[-139.89,-5.6],[2.8,-139.97],[2.58,-128.77],[-128.7,-5.15],[-7.71,128.57],[128.39,10.28],[12.84,-128.16],[13.95,-139.3]],"i":[[0,0],[6.08,-75.99],[76.09,4.57],[-3.05,76.17],[-76.22,-1.53],[0,0],[2.8,-70.08],[-70.01,-4.2],[-5.6,69.91],[69.78,6.99],[0,0]],"o":[[75.85,7.6],[-6.08,75.99],[-76.09,-4.57],[3.05,-76.17],[0,0],[-70.12,-1.41],[-2.8,70.08],[70.01,4.2],[5.6,-69.91],[0,0],[0,0]]}],"h":1},{"t":104,"s":[{"v":[[20.77,-138.45],[139.01,16.63],[-12.47,139.44],[-139.75,-8.3],[4.13,-139.94],[3.8,-128.74],[-128.57,-7.64],[-11.47,128.29],[127.89,15.3],[19.1,-127.38],[20.77,-138.45]],"i":[[0,0],[8.99,-75.16],[75.39,6.74],[-4.49,75.56],[-75.66,-2.23],[0,0],[4.13,-69.52],[-69.36,-6.2],[-8.27,69.14],[68.87,10.33],[0,0]],"o":[[74.86,11.23],[-8.99,75.16],[-75.39,-6.74],[4.49,-75.56],[0,0],[-69.61,-2.05],[-4.13,69.52],[69.36,6.2],[8.27,-69.14],[0,0],[0,0]]}],"h":1},{"t":105,"s":[{"v":[[29.47,-136.86],[137.99,23.64],[-17.76,138.87],[-139.5,-11.86],[5.94,-139.87],[5.46,-128.68],[-128.34,-10.91],[-16.34,127.76],[126.95,21.75],[27.11,-125.91],[29.47,-136.86]],"i":[[0,0],[12.66,-73.93],[74.4,9.52],[-6.36,74.74],[-74.94,-3.18],[0,0],[5.85,-68.76],[-68.45,-8.76],[-11.65,68.02],[67.46,14.52],[0,0]],"o":[[73.33,15.79],[-12.66,73.93],[-74.4,-9.52],[6.36,-74.74],[0,0],[-68.95,-2.93],[-5.85,68.76],[68.45,8.76],[11.65,-68.02],[0,0],[0,0]]}],"h":1},{"t":106,"s":[{"v":[[40.16,-134.12],[136.22,32.3],[-24.33,137.87],[-139.05,-16.29],[8.18,-139.76],[7.53,-128.58],[-127.93,-14.98],[-22.39,126.84],[125.32,29.72],[36.95,-123.39],[40.16,-134.12]],"i":[[0,0],[17.11,-72.16],[73.03,12.89],[-8.63,73.66],[-74.03,-4.33],[0,0],[7.94,-67.77],[-67.19,-11.86],[-15.74,66.39],[65.36,19.57],[0,0]],"o":[[71.04,21.27],[-17.11,72.16],[-73.03,-12.89],[8.63,-73.66],[0,0],[-68.11,-3.99],[-7.94,67.77],[67.19,11.86],[15.74,-66.39],[0,0],[0,0]]}],"h":1},{"t":107,"s":[{"v":[[52.85,-129.64],[133.34,42.66],[-32.22,136.24],[-138.33,-21.58],[10.82,-139.58],[9.95,-128.41],[-127.26,-19.86],[-29.64,125.34],[122.67,39.25],[48.62,-119.27],[52.85,-129.64]],"i":[[0,0],[22.28,-69.64],[71.16,16.83],[-11.27,72.24],[-72.9,-5.65],[0,0],[10.37,-66.47],[-65.46,-15.48],[-20.5,64.07],[62.29,25.4],[0,0]],"o":[[67.71,27.6],[-22.28,69.64],[-71.16,-16.83],[11.27,-72.24],[0,0],[-67.07,-5.2],[-10.37,66.47],[65.46,15.48],[20.5,-64.07],[0,0],[0,0]]}],"h":1},{"t":108,"s":[{"v":[[67.45,-122.68],[128.83,54.79],[-41.59,133.68],[-137.18,-27.96],[14.05,-139.29],[12.93,-128.15],[-126.21,-25.72],[-38.26,122.99],[118.53,50.41],[62.05,-112.87],[67.45,-122.68]],"i":[[0,0],[28.13,-66.15],[68.63,21.35],[-14.35,70.43],[-71.52,-7.21],[0,0],[13.21,-64.8],[-63.14,-19.64],[-25.88,60.85],[57.95,31.86],[0,0]],"o":[[62.99,34.63],[-28.13,66.15],[-68.63,-21.35],[14.35,-70.43],[0,0],[-65.79,-6.64],[-13.21,64.8],[63.14,19.64],[25.88,-60.85],[0,0],[0,0]]}],"h":1},{"t":109,"s":[{"v":[[83.51,-112.37],[122.1,68.5],[-52.37,129.84],[-135.45,-35.39],[17.83,-138.86],[16.4,-127.75],[-124.62,-32.56],[-48.18,119.45],[112.33,63.02],[76.83,-103.38],[83.51,-112.37]],"i":[[0,0],[34.46,-61.41],[65.31,26.34],[-17.8,68.13],[-69.84,-8.97],[0,0],[16.38,-62.68],[-60.08,-24.24],[-31.7,56.5],[52,38.64],[0,0]],"o":[[56.52,42],[-34.46,61.41],[-65.31,-26.34],[17.8,-68.13],[0,0],[-64.26,-8.25],[-16.38,62.68],[60.08,24.24],[31.7,-56.5],[0,0],[0,0]]}],"h":1},{"t":110,"s":[{"v":[[100.25,-97.73],[112.41,83.44],[-64.52,124.25],[-132.92,-43.95],[22.27,-138.22],[20.49,-127.16],[-122.29,-40.44],[-59.36,114.31],[103.42,76.77],[92.23,-89.91],[100.25,-97.73]],"i":[[0,0],[40.97,-55.19],[61,31.68],[-21.58,65.26],[-67.86,-10.93],[0,0],[19.85,-60.04],[-56.12,-29.14],[-37.69,50.77],[44.14,45.28],[0,0]],"o":[[47.98,49.22],[-40.97,55.19],[-61,-31.68],[21.58,-65.26],[0,0],[-62.43,-10.06],[-19.85,60.04],[56.12,29.14],[37.69,-50.77],[0,0],[0,0]]}],"h":1},{"t":111,"s":[{"v":[[116.41,-77.78],[98.99,98.99],[-77.78,116.41],[-129.34,-53.58],[27.31,-137.31],[25.13,-126.33],[-119,-49.29],[-71.56,107.09],[91.08,91.08],[107.09,-71.56],[116.41,-77.78]],"i":[[0,0],[47.23,-47.23],[55.53,37.11],[-25.56,61.71],[-65.51,-13.03],[0,0],[23.51,-56.77],[-51.09,-34.14],[-43.45,43.45],[34.14,51.09],[0,0]],"o":[[37.11,55.53],[-47.23,47.23],[-55.53,-37.11],[25.56,-61.71],[0,0],[-60.27,-11.99],[-23.51,56.77],[51.09,34.14],[43.45,-43.45],[0,0],[0,0]]}],"h":1},{"t":112,"s":[{"v":[[130.05,-51.83],[81.07,114.14],[-91.78,105.72],[-124.39,-64.23],[33.06,-136.04],[30.41,-125.16],[-114.44,-59.1],[-84.44,97.26],[74.58,105.01],[119.65,-47.69],[130.05,-51.83]],"i":[[0,0],[52.66,-37.4],[48.77,42.34],[-29.64,57.39],[-62.76,-15.25],[0,0],[27.26,-52.8],[-44.87,-38.96],[-48.45,34.41],[22,55.2],[0,0]],"o":[[23.91,60],[-52.66,37.4],[-48.77,-42.34],[29.64,-57.39],[0,0],[-57.74,-14.03],[-27.26,52.8],[44.87,38.96],[48.45,-34.41],[0,0],[0,0]]}],"h":1},{"t":113,"s":[{"v":[[138.6,-19.77],[58.06,127.39],[-105.85,91.63],[-117.76,-75.72],[39.43,-134.33],[36.28,-123.58],[-108.34,-69.66],[-97.38,84.3],[53.41,117.2],[127.51,-18.19],[138.6,-19.77]],"i":[[0,0],[56.52,-25.76],[40.65,46.96],[-33.59,52.25],[-59.6,-17.5],[0,0],[30.91,-48.07],[-37.4,-43.21],[-52,23.7],[8.07,56.57],[0,0]],"o":[[8.77,61.49],[-56.52,25.76],[-40.65,-46.96],[33.59,-52.25],[0,0],[-54.83,-16.1],[-30.91,48.07],[37.4,43.21],[52,-23.7],[0,0],[0,0]]}],"h":1},{"t":114,"s":[{"v":[[138.9,17.55],[29.68,136.82],[-119.14,73.52],[-108.98,-87.88],[46.59,-132.02],[42.87,-121.46],[-100.27,-80.85],[-109.61,67.64],[27.31,125.87],[127.78,16.14],[138.9,17.55]],"i":[[0,0],[58.01,-12.58],[31.17,50.51],[-37.26,46.21],[-55.97,-19.76],[0,0],[34.28,-42.51],[-28.68,-46.47],[-53.37,11.58],[-6.84,54.18],[0,0]],"o":[[-7.44,58.89],[-58.01,12.58],[-31.17,-50.51],[37.26,-46.21],[0,0],[-51.5,-18.17],[-34.28,42.51],[28.68,46.47],[53.37,-11.58],[0,0],[0,0]]}],"h":1},{"t":115,"s":[{"v":[[127.58,57.66],[-56.59,128.05],[-128.52,-55.51],[54.43,-128.98],[50.08,-118.67],[-118.24,-51.07],[-52.06,117.81],[117.37,53.04],[127.58,57.66],[127.58,57.66],[127.58,57.66]],"i":[[0,0],[70.3,31.07],[-30.48,70.56],[-70.81,-29.88],[0,0],[28.04,-64.92],[-64.68,-28.58],[-29.12,64.44],[0,0],[0,0],[0,0]],"o":[[-31.65,70.04],[-70.3,-31.07],[30.48,-70.56],[0,0],[-65.15,-27.49],[-28.04,64.92],[64.68,28.58],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":116,"s":[{"v":[[101.84,96.07],[-85.76,110.66],[-118.44,-74.64],[62.82,-125.11],[57.8,-115.1],[-108.97,-68.67],[-78.9,101.81],[93.69,88.38],[101.84,96.07],[101.84,96.07],[101.84,96.07]],"i":[[0,0],[56.97,44.15],[-38.42,60.97],[-64.41,-32.34],[0,0],[35.35,-56.1],[-52.41,-40.61],[-45.5,48.23],[0,0],[0,0],[0,0]],"o":[[-49.45,52.42],[-56.97,-44.15],[38.42,-60.97],[0,0],[-59.25,-29.75],[-35.35,56.1],[52.41,40.61],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":117,"s":[{"v":[[60.6,126.2],[-112.09,83.88],[-103.99,-93.73],[71.83,-120.17],[66.09,-110.55],[-95.67,-86.23],[-103.12,77.17],[55.75,116.11],[60.6,126.2],[60.6,126.2],[60.6,126.2]],"i":[[0,0],[40.07,53.54],[-44.77,49.67],[-57.4,-34.31],[0,0],[41.19,-45.7],[-36.86,-49.26],[-55.46,26.63],[0,0],[0,0],[0,0]],"o":[[-60.28,28.95],[-40.07,-53.54],[44.77,-49.67],[0,0],[-52.81,-31.57],[-41.19,45.7],[36.86,49.26],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":118,"s":[{"v":[[6.18,139.86],[-131.68,47.56],[-84.62,-111.53],[81.27,-114],[74.77,-104.88],[-77.85,-102.61],[-121.14,43.75],[5.69,128.67],[6.18,139.86],[6.18,139.86],[6.18,139.86]],"i":[[0,0],[20.81,57.61],[-48.8,37.02],[-49.88,-35.56],[0,0],[44.9,-34.06],[-19.14,-53.01],[-56.3,2.49],[0,0],[0,0],[0,0]],"o":[[-61.2,2.7],[-20.81,-57.61],[48.8,-37.02],[0,0],[-45.89,-32.72],[-44.9,34.06],[19.14,53.01],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":119,"s":[{"v":[[-54.21,129.08],[-139.96,3.16],[-59.97,-126.5],[91.04,-106.36],[83.76,-97.85],[-55.17,-116.38],[-128.77,2.9],[-49.87,118.75],[-54.21,129.08],[-54.21,129.08],[-54.21,129.08]],"i":[[0,0],[1.25,55.22],[-49.91,23.66],[-41.96,-35.92],[0,0],[45.91,-21.77],[-1.15,-50.8],[-46.85,-19.67],[0,0],[0,0],[0,0]],"o":[[-50.92,-21.38],[-1.25,-55.22],[49.91,-23.66],[0,0],[-38.6,-33.04],[-45.91,21.77],[1.15,50.8],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":120,"s":[{"v":[[-107.87,89.24],[-93.24,-104.43],[100.84,-97.11],[92.78,-89.34],[-85.78,-96.08],[-99.24,82.1],[-107.87,89.24],[-107.87,89.24],[-107.87,89.24],[-107.87,89.24],[-107.87,89.24]],"i":[[0,0],[-56.14,50.13],[-52.21,-54.22],[0,0],[51.65,-46.12],[-44.14,-53.35],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-47.98,-57.99],[56.14,-50.13],[0,0],[-48.03,-49.88],[-51.65,46.12],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":121,"s":[{"v":[[-138.05,23.3],[-56.38,-128.15],[110.45,-86.02],[101.62,-79.14],[-51.87,-117.9],[-127,21.44],[-138.05,23.3],[-138.05,23.3],[-138.05,23.3],[-138.05,23.3],[-138.05,23.3]],"i":[[0,0],[-58.69,25.82],[-39.4,-50.59],[0,0],[54,-23.76],[-9.82,-58.17],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-10.67,-63.23],[58.69,-25.82],[0,0],[-36.25,-46.54],[-54,23.76],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":122,"s":[{"v":[[-128.94,-54.54],[-10.38,-139.62],[119.46,-73],[109.9,-67.16],[-9.55,-128.45],[-118.62,-50.18],[-128.94,-54.54],[-128.94,-54.54],[-128.94,-54.54],[-128.94,-54.54],[-128.94,-54.54]],"i":[[0,0],[-52.34,3.89],[-27.37,-44.79],[0,0],[48.16,-3.58],[18.81,-44.47],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[20.45,-48.34],[52.34,-3.89],[0,0],[-25.18,-41.2],[-48.16,3.58],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":123,"s":[{"v":[[-74.09,-118.79],[40.53,-134],[127.51,-57.81],[117.31,-53.19],[37.29,-123.28],[-68.16,-109.29],[-74.09,-118.79],[-74.09,-118.79],[-74.09,-118.79],[-74.09,-118.79],[-74.09,-118.79]],"i":[[0,0],[-38.61,-11.68],[-16.66,-36.74],[0,0],[35.52,10.75],[31.49,-19.64],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[34.23,-21.35],[38.61,11.68],[0,0],[-15.33,-33.8],[-35.52,-10.75],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":124,"s":[{"v":[[14.32,-139.27],[134.02,-40.49],[123.3,-37.25],[13.17,-128.12],[14.32,-139.27],[14.32,-139.27],[14.32,-139.27],[14.32,-139.27],[14.32,-139.27],[14.32,-139.27],[14.32,-139.27]],"i":[[0,0],[-16.33,-54.05],[0,0],[51.68,5.31],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[56.17,5.77],[0,0],[-15.02,-49.73],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":125,"s":[{"v":[[101.52,-96.41],[138.39,-21.2],[127.32,-19.5],[93.4,-88.69],[101.52,-96.41],[101.52,-96.41],[101.52,-96.41],[101.52,-96.41],[101.52,-96.41],[101.52,-96.41],[101.52,-96.41]],"i":[[0,0],[-4.33,-28.24],[0,0],[18.1,19.06],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[19.68,20.72],[0,0],[-3.98,-25.99],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":126,"s":[{"v":[[140,0],[140,0],[128.8,0],[128.8,0],[140,0],[140,0],[140,0],[140,0],[140,0],[140,0],[140,0]],"i":[[0,0],[-140,0],[0,0],[-128.8,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-140,0],[0,0],[-128.8,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1}]}},{"ty":"sh","hd":false,"ix":1,"ks":{"a":1,"k":[{"t":0,"s":[{"v":[[0,-128.8],[-128.8,0],[0,128.8],[128.8,0],[0,-128.8],[0,-128.8],[0,-128.8],[0,-128.8],[0,-128.8],[0,-128.8],[0,-128.8]],"i":[[0,0],[0,-71.13],[-71.13,0],[0,71.13],[71.13,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-71.13,0],[0,71.13],[71.13,0],[0,-71.13],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":0,"s":[{"v":[[0,140],[0,140],[0,140],[0,140],[0,140],[0,140],[0,140],[0,140],[0,140],[0,140],[0,140]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":1,"s":[{"v":[[-3.54,139.96],[-3.54,139.96],[-3.54,139.96],[-3.54,139.96],[-3.54,139.96],[-3.54,139.96],[-3.54,139.96],[-3.54,139.96],[-3.54,139.96],[-3.54,139.96],[-3.54,139.96]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":2,"s":[{"v":[[-8.33,139.75],[-8.33,139.75],[-8.33,139.75],[-8.33,139.75],[-8.33,139.75],[-8.33,139.75],[-8.33,139.75],[-8.33,139.75],[-8.33,139.75],[-8.33,139.75],[-8.33,139.75]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":3,"s":[{"v":[[-14.46,139.25],[-14.46,139.25],[-14.46,139.25],[-14.46,139.25],[-14.46,139.25],[-14.46,139.25],[-14.46,139.25],[-14.46,139.25],[-14.46,139.25],[-14.46,139.25],[-14.46,139.25]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":4,"s":[{"v":[[-22,138.26],[-22,138.26],[-22,138.26],[-22,138.26],[-22,138.26],[-22,138.26],[-22,138.26],[-22,138.26],[-22,138.26],[-22,138.26],[-22,138.26]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":5,"s":[{"v":[[-30.9,136.55],[-30.9,136.55],[-30.9,136.55],[-30.9,136.55],[-30.9,136.55],[-30.9,136.55],[-30.9,136.55],[-30.9,136.55],[-30.9,136.55],[-30.9,136.55],[-30.9,136.55]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":6,"s":[{"v":[[-41.07,133.84],[-41.07,133.84],[-41.07,133.84],[-41.07,133.84],[-41.07,133.84],[-41.07,133.84],[-41.07,133.84],[-41.07,133.84],[-41.07,133.84],[-41.07,133.84],[-41.07,133.84]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":7,"s":[{"v":[[-52.38,129.83],[-52.38,129.83],[-52.38,129.83],[-52.38,129.83],[-52.38,129.83],[-52.38,129.83],[-52.38,129.83],[-52.38,129.83],[-52.38,129.83],[-52.38,129.83],[-52.38,129.83]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":8,"s":[{"v":[[-64.51,124.25],[-64.51,124.25],[-64.51,124.25],[-64.51,124.25],[-64.51,124.25],[-64.51,124.25],[-64.51,124.25],[-64.51,124.25],[-64.51,124.25],[-64.51,124.25],[-64.51,124.25]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":9,"s":[{"v":[[-77.03,116.91],[-77.03,116.91],[-77.03,116.91],[-77.03,116.91],[-77.03,116.91],[-77.03,116.91],[-77.03,116.91],[-77.03,116.91],[-77.03,116.91],[-77.03,116.91],[-77.03,116.91]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":10,"s":[{"v":[[-89.47,107.68],[-89.47,107.68],[-89.47,107.68],[-89.47,107.68],[-89.47,107.68],[-89.47,107.68],[-89.47,107.68],[-89.47,107.68],[-89.47,107.68],[-89.47,107.68],[-89.47,107.68]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":11,"s":[{"v":[[-101.3,96.64],[-101.3,96.64],[-101.3,96.64],[-101.3,96.64],[-101.3,96.64],[-101.3,96.64],[-101.3,96.64],[-101.3,96.64],[-101.3,96.64],[-101.3,96.64],[-101.3,96.64]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":12,"s":[{"v":[[-112.01,83.98],[-112.01,83.98],[-112.01,83.98],[-112.01,83.98],[-112.01,83.98],[-112.01,83.98],[-112.01,83.98],[-112.01,83.98],[-112.01,83.98],[-112.01,83.98],[-112.01,83.98]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":13,"s":[{"v":[[-121.24,70],[-121.24,70],[-121.24,70],[-121.24,70],[-121.24,70],[-121.24,70],[-121.24,70],[-121.24,70],[-121.24,70],[-121.24,70],[-121.24,70]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":14,"s":[{"v":[[-128.71,55.08],[-128.71,55.08],[-128.71,55.08],[-128.71,55.08],[-128.71,55.08],[-128.71,55.08],[-128.71,55.08],[-128.71,55.08],[-128.71,55.08],[-128.71,55.08],[-128.71,55.08]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":15,"s":[{"v":[[-134.26,39.69],[-134.26,39.69],[-134.26,39.69],[-134.26,39.69],[-134.26,39.69],[-134.26,39.69],[-134.26,39.69],[-134.26,39.69],[-134.26,39.69],[-134.26,39.69],[-134.26,39.69]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":16,"s":[{"v":[[-137.9,24.17],[-137.9,24.17],[-137.9,24.17],[-137.9,24.17],[-137.9,24.17],[-137.9,24.17],[-137.9,24.17],[-137.9,24.17],[-137.9,24.17],[-137.9,24.17],[-137.9,24.17]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":17,"s":[{"v":[[-139.72,8.91],[-139.72,8.91],[-139.72,8.91],[-139.72,8.91],[-139.72,8.91],[-139.72,8.91],[-139.72,8.91],[-139.72,8.91],[-139.72,8.91],[-139.72,8.91],[-139.72,8.91]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":18,"s":[{"v":[[-139.88,-5.86],[-139.88,-5.86],[-139.88,-5.86],[-139.88,-5.86],[-139.88,-5.86],[-139.88,-5.86],[-139.88,-5.86],[-139.88,-5.86],[-139.88,-5.86],[-139.88,-5.86],[-139.88,-5.86]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":19,"s":[{"v":[[-138.58,-19.9],[-138.58,-19.9],[-138.58,-19.9],[-138.58,-19.9],[-138.58,-19.9],[-138.58,-19.9],[-138.58,-19.9],[-138.58,-19.9],[-138.58,-19.9],[-138.58,-19.9],[-138.58,-19.9]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":20,"s":[{"v":[[-136.04,-33.06],[-136.04,-33.06],[-136.04,-33.06],[-136.04,-33.06],[-136.04,-33.06],[-136.04,-33.06],[-136.04,-33.06],[-136.04,-33.06],[-136.04,-33.06],[-136.04,-33.06],[-136.04,-33.06]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":21,"s":[{"v":[[-132.48,-45.26],[-132.48,-45.26],[-132.48,-45.26],[-132.48,-45.26],[-132.48,-45.26],[-132.48,-45.26],[-132.48,-45.26],[-132.48,-45.26],[-132.48,-45.26],[-132.48,-45.26],[-132.48,-45.26]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":22,"s":[{"v":[[-128.1,-56.47],[-128.1,-56.47],[-128.1,-56.47],[-128.1,-56.47],[-128.1,-56.47],[-128.1,-56.47],[-128.1,-56.47],[-128.1,-56.47],[-128.1,-56.47],[-128.1,-56.47],[-128.1,-56.47]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":23,"s":[{"v":[[-123.08,-66.72],[-123.08,-66.72],[-123.08,-66.72],[-123.08,-66.72],[-123.08,-66.72],[-123.08,-66.72],[-123.08,-66.72],[-123.08,-66.72],[-123.08,-66.72],[-123.08,-66.72],[-123.08,-66.72]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":24,"s":[{"v":[[-117.6,-75.96],[-117.6,-75.96],[-117.6,-75.96],[-117.6,-75.96],[-117.6,-75.96],[-117.6,-75.96],[-117.6,-75.96],[-117.6,-75.96],[-117.6,-75.96],[-117.6,-75.96],[-117.6,-75.96]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":25,"s":[{"v":[[-111.79,-84.27],[-111.79,-84.27],[-111.79,-84.27],[-111.79,-84.27],[-111.79,-84.27],[-111.79,-84.27],[-111.79,-84.27],[-111.79,-84.27],[-111.79,-84.27],[-111.79,-84.27],[-111.79,-84.27]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":26,"s":[{"v":[[-105.79,-91.7],[-105.79,-91.7],[-105.79,-91.7],[-105.79,-91.7],[-105.79,-91.7],[-105.79,-91.7],[-105.79,-91.7],[-105.79,-91.7],[-105.79,-91.7],[-105.79,-91.7],[-105.79,-91.7]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":27,"s":[{"v":[[-99.67,-98.32],[-99.67,-98.32],[-99.67,-98.32],[-99.67,-98.32],[-99.67,-98.32],[-99.67,-98.32],[-99.67,-98.32],[-99.67,-98.32],[-99.67,-98.32],[-99.67,-98.32],[-99.67,-98.32]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":28,"s":[{"v":[[-93.51,-104.19],[-93.51,-104.19],[-93.51,-104.19],[-93.51,-104.19],[-93.51,-104.19],[-93.51,-104.19],[-93.51,-104.19],[-93.51,-104.19],[-93.51,-104.19],[-93.51,-104.19],[-93.51,-104.19]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":29,"s":[{"v":[[-87.42,-109.35],[-87.42,-109.35],[-87.42,-109.35],[-87.42,-109.35],[-87.42,-109.35],[-87.42,-109.35],[-87.42,-109.35],[-87.42,-109.35],[-87.42,-109.35],[-87.42,-109.35],[-87.42,-109.35]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":30,"s":[{"v":[[-81.44,-113.88],[-81.44,-113.88],[-81.44,-113.88],[-81.44,-113.88],[-81.44,-113.88],[-81.44,-113.88],[-81.44,-113.88],[-81.44,-113.88],[-81.44,-113.88],[-81.44,-113.88],[-81.44,-113.88]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":31,"s":[{"v":[[-75.59,-117.84],[-75.59,-117.84],[-75.59,-117.84],[-75.59,-117.84],[-75.59,-117.84],[-75.59,-117.84],[-75.59,-117.84],[-75.59,-117.84],[-75.59,-117.84],[-75.59,-117.84],[-75.59,-117.84]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":32,"s":[{"v":[[-69.92,-121.29],[-69.92,-121.29],[-69.92,-121.29],[-69.92,-121.29],[-69.92,-121.29],[-69.92,-121.29],[-69.92,-121.29],[-69.92,-121.29],[-69.92,-121.29],[-69.92,-121.29],[-69.92,-121.29]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":33,"s":[{"v":[[-64.43,-124.29],[-64.43,-124.29],[-64.43,-124.29],[-64.43,-124.29],[-64.43,-124.29],[-64.43,-124.29],[-64.43,-124.29],[-64.43,-124.29],[-64.43,-124.29],[-64.43,-124.29],[-64.43,-124.29]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":34,"s":[{"v":[[-59.19,-126.87],[-59.19,-126.87],[-59.19,-126.87],[-59.19,-126.87],[-59.19,-126.87],[-59.19,-126.87],[-59.19,-126.87],[-59.19,-126.87],[-59.19,-126.87],[-59.19,-126.87],[-59.19,-126.87]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":35,"s":[{"v":[[-54.16,-129.1],[-54.16,-129.1],[-54.16,-129.1],[-54.16,-129.1],[-54.16,-129.1],[-54.16,-129.1],[-54.16,-129.1],[-54.16,-129.1],[-54.16,-129.1],[-54.16,-129.1],[-54.16,-129.1]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":36,"s":[{"v":[[-49.4,-131],[-49.4,-131],[-49.4,-131],[-49.4,-131],[-49.4,-131],[-49.4,-131],[-49.4,-131],[-49.4,-131],[-49.4,-131],[-49.4,-131],[-49.4,-131]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":37,"s":[{"v":[[-44.86,-132.62],[-44.86,-132.62],[-44.86,-132.62],[-44.86,-132.62],[-44.86,-132.62],[-44.86,-132.62],[-44.86,-132.62],[-44.86,-132.62],[-44.86,-132.62],[-44.86,-132.62],[-44.86,-132.62]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":38,"s":[{"v":[[-40.58,-133.99],[-40.58,-133.99],[-40.58,-133.99],[-40.58,-133.99],[-40.58,-133.99],[-40.58,-133.99],[-40.58,-133.99],[-40.58,-133.99],[-40.58,-133.99],[-40.58,-133.99],[-40.58,-133.99]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":39,"s":[{"v":[[-36.54,-135.15],[-36.54,-135.15],[-36.54,-135.15],[-36.54,-135.15],[-36.54,-135.15],[-36.54,-135.15],[-36.54,-135.15],[-36.54,-135.15],[-36.54,-135.15],[-36.54,-135.15],[-36.54,-135.15]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":40,"s":[{"v":[[-32.75,-136.11],[-32.75,-136.11],[-32.75,-136.11],[-32.75,-136.11],[-32.75,-136.11],[-32.75,-136.11],[-32.75,-136.11],[-32.75,-136.11],[-32.75,-136.11],[-32.75,-136.11],[-32.75,-136.11]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":41,"s":[{"v":[[-29.2,-136.92],[-29.2,-136.92],[-29.2,-136.92],[-29.2,-136.92],[-29.2,-136.92],[-29.2,-136.92],[-29.2,-136.92],[-29.2,-136.92],[-29.2,-136.92],[-29.2,-136.92],[-29.2,-136.92]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":42,"s":[{"v":[[-25.9,-137.58],[-25.9,-137.58],[-25.9,-137.58],[-25.9,-137.58],[-25.9,-137.58],[-25.9,-137.58],[-25.9,-137.58],[-25.9,-137.58],[-25.9,-137.58],[-25.9,-137.58],[-25.9,-137.58]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":43,"s":[{"v":[[-22.82,-138.13],[-22.82,-138.13],[-22.82,-138.13],[-22.82,-138.13],[-22.82,-138.13],[-22.82,-138.13],[-22.82,-138.13],[-22.82,-138.13],[-22.82,-138.13],[-22.82,-138.13],[-22.82,-138.13]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":44,"s":[{"v":[[-19.97,-138.57],[-19.97,-138.57],[-19.97,-138.57],[-19.97,-138.57],[-19.97,-138.57],[-19.97,-138.57],[-19.97,-138.57],[-19.97,-138.57],[-19.97,-138.57],[-19.97,-138.57],[-19.97,-138.57]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":45,"s":[{"v":[[-17.35,-138.92],[-17.35,-138.92],[-17.35,-138.92],[-17.35,-138.92],[-17.35,-138.92],[-17.35,-138.92],[-17.35,-138.92],[-17.35,-138.92],[-17.35,-138.92],[-17.35,-138.92],[-17.35,-138.92]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":46,"s":[{"v":[[-14.93,-139.2],[-14.93,-139.2],[-14.93,-139.2],[-14.93,-139.2],[-14.93,-139.2],[-14.93,-139.2],[-14.93,-139.2],[-14.93,-139.2],[-14.93,-139.2],[-14.93,-139.2],[-14.93,-139.2]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":47,"s":[{"v":[[-12.71,-139.42],[-12.71,-139.42],[-12.71,-139.42],[-12.71,-139.42],[-12.71,-139.42],[-12.71,-139.42],[-12.71,-139.42],[-12.71,-139.42],[-12.71,-139.42],[-12.71,-139.42],[-12.71,-139.42]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":48,"s":[{"v":[[-10.72,-139.59],[-10.72,-139.59],[-10.72,-139.59],[-10.72,-139.59],[-10.72,-139.59],[-10.72,-139.59],[-10.72,-139.59],[-10.72,-139.59],[-10.72,-139.59],[-10.72,-139.59],[-10.72,-139.59]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":49,"s":[{"v":[[-8.89,-139.72],[-8.89,-139.72],[-8.89,-139.72],[-8.89,-139.72],[-8.89,-139.72],[-8.89,-139.72],[-8.89,-139.72],[-8.89,-139.72],[-8.89,-139.72],[-8.89,-139.72],[-8.89,-139.72]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":50,"s":[{"v":[[-7.25,-139.81],[-7.25,-139.81],[-7.25,-139.81],[-7.25,-139.81],[-7.25,-139.81],[-7.25,-139.81],[-7.25,-139.81],[-7.25,-139.81],[-7.25,-139.81],[-7.25,-139.81],[-7.25,-139.81]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":51,"s":[{"v":[[-5.81,-139.88],[-5.81,-139.88],[-5.81,-139.88],[-5.81,-139.88],[-5.81,-139.88],[-5.81,-139.88],[-5.81,-139.88],[-5.81,-139.88],[-5.81,-139.88],[-5.81,-139.88],[-5.81,-139.88]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":52,"s":[{"v":[[-4.54,-139.93],[-4.54,-139.93],[-4.54,-139.93],[-4.54,-139.93],[-4.54,-139.93],[-4.54,-139.93],[-4.54,-139.93],[-4.54,-139.93],[-4.54,-139.93],[-4.54,-139.93],[-4.54,-139.93]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":53,"s":[{"v":[[-3.44,-139.96],[-3.44,-139.96],[-3.44,-139.96],[-3.44,-139.96],[-3.44,-139.96],[-3.44,-139.96],[-3.44,-139.96],[-3.44,-139.96],[-3.44,-139.96],[-3.44,-139.96],[-3.44,-139.96]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":54,"s":[{"v":[[-2.49,-139.98],[-2.49,-139.98],[-2.49,-139.98],[-2.49,-139.98],[-2.49,-139.98],[-2.49,-139.98],[-2.49,-139.98],[-2.49,-139.98],[-2.49,-139.98],[-2.49,-139.98],[-2.49,-139.98]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":55,"s":[{"v":[[-1.71,-139.99],[-1.71,-139.99],[-1.71,-139.99],[-1.71,-139.99],[-1.71,-139.99],[-1.71,-139.99],[-1.71,-139.99],[-1.71,-139.99],[-1.71,-139.99],[-1.71,-139.99],[-1.71,-139.99]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":56,"s":[{"v":[[-1.08,-140],[-1.08,-140],[-1.08,-140],[-1.08,-140],[-1.08,-140],[-1.08,-140],[-1.08,-140],[-1.08,-140],[-1.08,-140],[-1.08,-140],[-1.08,-140]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":57,"s":[{"v":[[-0.61,-140],[-0.61,-140],[-0.61,-140],[-0.61,-140],[-0.61,-140],[-0.61,-140],[-0.61,-140],[-0.61,-140],[-0.61,-140],[-0.61,-140],[-0.61,-140]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":58,"s":[{"v":[[-0.74,-128.8],[-128.8,0.61],[0.49,128.8],[128.8,-0.37],[-0.25,-128.8],[-0.74,-128.8],[-0.74,-128.8],[-0.74,-128.8],[-0.74,-128.8],[-0.74,-128.8],[-0.74,-128.8]],"i":[[0,0],[-0.34,-71.09],[-71.09,0.27],[0.2,71.09],[71.09,-0.14],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-71.09,0.41],[0.34,71.09],[71.09,-0.27],[-0.2,-71.09],[0,0],[0.49,0],[0.49,0],[0.49,0],[0.49,0],[0.49,0],[0.49,0]]}],"h":1},{"t":59,"s":[{"v":[[-0.15,-128.8],[-128.8,0.13],[0.11,128.8],[128.8,-0.09],[-0.07,-128.8],[-0.15,-128.8],[-0.15,-128.8],[-0.15,-128.8],[-0.15,-128.8],[-0.15,-128.8],[-0.15,-128.8]],"i":[[0,0],[-0.07,-71.13],[-71.13,0.06],[0.05,71.13],[71.13,-0.04],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-71.13,0.08],[0.07,71.13],[71.13,-0.06],[-0.05,-71.13],[0,0],[0.08,0],[0.08,0],[0.08,0],[0.08,0],[0.08,0],[0.08,0]]}],"h":1},{"t":60,"s":[{"v":[[0,-128.8],[-128.8,0],[0,128.8],[128.8,0],[0,-128.8],[0,-128.8],[0,-128.8],[0,-128.8],[0,-128.8],[0,-128.8],[0,-128.8]],"i":[[0,0],[0,-71.13],[-71.13,0],[0,71.13],[71.13,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-71.13,0],[0,71.13],[71.13,0],[0,-71.13],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":96,"s":[{"v":[[0,-128.8],[-128.8,0],[0,128.8],[128.8,0],[0,-128.8],[0,-128.8],[0,-128.8],[0,-128.8],[0,-128.8],[0,-128.8],[0,-128.8]],"i":[[0,0],[0,-71.13],[-71.13,0],[0,71.13],[71.13,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-71.13,0],[0,71.13],[71.13,0],[0,-71.13],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":97,"s":[{"v":[[0.04,-128.8],[-128.8,-0.04],[-0.04,128.8],[128.8,0.04],[0.04,-128.8],[0.04,-128.8],[0.04,-128.8],[0.04,-128.8],[0.04,-128.8],[0.04,-128.8],[0.04,-128.8]],"i":[[0,0],[0.02,-71.13],[-71.13,-0.02],[-0.02,71.13],[71.13,0.02],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-71.13,-0.02],[-0.02,71.13],[71.13,0.02],[0.02,-71.13],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":98,"s":[{"v":[[0.05,-128.8],[-128.8,-0.11],[-0.17,128.8],[128.8,0.23],[0.29,-128.8],[0.05,-128.8],[0.05,-128.8],[0.05,-128.8],[0.05,-128.8],[0.05,-128.8],[0.05,-128.8]],"i":[[0,0],[0.06,-71.11],[-71.11,-0.09],[-0.13,71.11],[71.11,0.16],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-71.11,-0.03],[-0.06,71.11],[71.11,0.09],[0.13,-71.11],[0,0],[0.25,0],[0.25,0],[0.25,0],[0.25,0],[0.25,0],[0.25,0]]}],"h":1},{"t":99,"s":[{"v":[[0.2,-128.8],[-128.8,-0.4],[-0.61,128.8],[128.8,0.81],[1.01,-128.8],[0.2,-128.8],[0.2,-128.8],[0.2,-128.8],[0.2,-128.8],[0.2,-128.8],[0.2,-128.8]],"i":[[0,0],[0.22,-71.05],[-71.05,-0.33],[-0.45,71.05],[71.05,0.56],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-71.05,-0.11],[-0.22,71.05],[71.05,0.33],[0.45,-71.05],[0,0],[0.81,0],[0.81,0],[0.81,0],[0.81,0],[0.81,0],[0.81,0]]}],"h":1},{"t":100,"s":[{"v":[[2.61,-139.98],[2.61,-139.98],[2.61,-139.98],[2.61,-139.98],[2.61,-139.98],[2.61,-139.98],[2.61,-139.98],[2.61,-139.98],[2.61,-139.98],[2.61,-139.98],[2.61,-139.98]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":101,"s":[{"v":[[5.08,-139.91],[5.08,-139.91],[5.08,-139.91],[5.08,-139.91],[5.08,-139.91],[5.08,-139.91],[5.08,-139.91],[5.08,-139.91],[5.08,-139.91],[5.08,-139.91],[5.08,-139.91]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":102,"s":[{"v":[[8.79,-139.72],[8.79,-139.72],[8.79,-139.72],[8.79,-139.72],[8.79,-139.72],[8.79,-139.72],[8.79,-139.72],[8.79,-139.72],[8.79,-139.72],[8.79,-139.72],[8.79,-139.72]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":103,"s":[{"v":[[13.95,-139.3],[13.95,-139.3],[13.95,-139.3],[13.95,-139.3],[13.95,-139.3],[13.95,-139.3],[13.95,-139.3],[13.95,-139.3],[13.95,-139.3],[13.95,-139.3],[13.95,-139.3]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":104,"s":[{"v":[[20.77,-138.45],[20.77,-138.45],[20.77,-138.45],[20.77,-138.45],[20.77,-138.45],[20.77,-138.45],[20.77,-138.45],[20.77,-138.45],[20.77,-138.45],[20.77,-138.45],[20.77,-138.45]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":105,"s":[{"v":[[29.47,-136.86],[29.47,-136.86],[29.47,-136.86],[29.47,-136.86],[29.47,-136.86],[29.47,-136.86],[29.47,-136.86],[29.47,-136.86],[29.47,-136.86],[29.47,-136.86],[29.47,-136.86]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":106,"s":[{"v":[[40.16,-134.12],[40.16,-134.12],[40.16,-134.12],[40.16,-134.12],[40.16,-134.12],[40.16,-134.12],[40.16,-134.12],[40.16,-134.12],[40.16,-134.12],[40.16,-134.12],[40.16,-134.12]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":107,"s":[{"v":[[52.85,-129.64],[52.85,-129.64],[52.85,-129.64],[52.85,-129.64],[52.85,-129.64],[52.85,-129.64],[52.85,-129.64],[52.85,-129.64],[52.85,-129.64],[52.85,-129.64],[52.85,-129.64]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":108,"s":[{"v":[[67.45,-122.68],[67.45,-122.68],[67.45,-122.68],[67.45,-122.68],[67.45,-122.68],[67.45,-122.68],[67.45,-122.68],[67.45,-122.68],[67.45,-122.68],[67.45,-122.68],[67.45,-122.68]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":109,"s":[{"v":[[83.51,-112.37],[83.51,-112.37],[83.51,-112.37],[83.51,-112.37],[83.51,-112.37],[83.51,-112.37],[83.51,-112.37],[83.51,-112.37],[83.51,-112.37],[83.51,-112.37],[83.51,-112.37]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":110,"s":[{"v":[[100.25,-97.73],[100.25,-97.73],[100.25,-97.73],[100.25,-97.73],[100.25,-97.73],[100.25,-97.73],[100.25,-97.73],[100.25,-97.73],[100.25,-97.73],[100.25,-97.73],[100.25,-97.73]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":111,"s":[{"v":[[116.41,-77.78],[116.41,-77.78],[116.41,-77.78],[116.41,-77.78],[116.41,-77.78],[116.41,-77.78],[116.41,-77.78],[116.41,-77.78],[116.41,-77.78],[116.41,-77.78],[116.41,-77.78]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":112,"s":[{"v":[[130.05,-51.83],[130.05,-51.83],[130.05,-51.83],[130.05,-51.83],[130.05,-51.83],[130.05,-51.83],[130.05,-51.83],[130.05,-51.83],[130.05,-51.83],[130.05,-51.83],[130.05,-51.83]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":113,"s":[{"v":[[138.6,-19.77],[138.6,-19.77],[138.6,-19.77],[138.6,-19.77],[138.6,-19.77],[138.6,-19.77],[138.6,-19.77],[138.6,-19.77],[138.6,-19.77],[138.6,-19.77],[138.6,-19.77]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":114,"s":[{"v":[[138.9,17.55],[138.9,17.55],[138.9,17.55],[138.9,17.55],[138.9,17.55],[138.9,17.55],[138.9,17.55],[138.9,17.55],[138.9,17.55],[138.9,17.55],[138.9,17.55]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":115,"s":[{"v":[[127.58,57.66],[127.58,57.66],[127.58,57.66],[127.58,57.66],[127.58,57.66],[127.58,57.66],[127.58,57.66],[127.58,57.66],[127.58,57.66],[127.58,57.66],[127.58,57.66]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":116,"s":[{"v":[[101.84,96.07],[101.84,96.07],[101.84,96.07],[101.84,96.07],[101.84,96.07],[101.84,96.07],[101.84,96.07],[101.84,96.07],[101.84,96.07],[101.84,96.07],[101.84,96.07]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":117,"s":[{"v":[[60.6,126.2],[60.6,126.2],[60.6,126.2],[60.6,126.2],[60.6,126.2],[60.6,126.2],[60.6,126.2],[60.6,126.2],[60.6,126.2],[60.6,126.2],[60.6,126.2]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":118,"s":[{"v":[[6.18,139.86],[6.18,139.86],[6.18,139.86],[6.18,139.86],[6.18,139.86],[6.18,139.86],[6.18,139.86],[6.18,139.86],[6.18,139.86],[6.18,139.86],[6.18,139.86]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":119,"s":[{"v":[[-54.21,129.08],[-54.21,129.08],[-54.21,129.08],[-54.21,129.08],[-54.21,129.08],[-54.21,129.08],[-54.21,129.08],[-54.21,129.08],[-54.21,129.08],[-54.21,129.08],[-54.21,129.08]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":120,"s":[{"v":[[-107.87,89.24],[-107.87,89.24],[-107.87,89.24],[-107.87,89.24],[-107.87,89.24],[-107.87,89.24],[-107.87,89.24],[-107.87,89.24],[-107.87,89.24],[-107.87,89.24],[-107.87,89.24]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":121,"s":[{"v":[[-138.05,23.3],[-138.05,23.3],[-138.05,23.3],[-138.05,23.3],[-138.05,23.3],[-138.05,23.3],[-138.05,23.3],[-138.05,23.3],[-138.05,23.3],[-138.05,23.3],[-138.05,23.3]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":122,"s":[{"v":[[-128.94,-54.54],[-128.94,-54.54],[-128.94,-54.54],[-128.94,-54.54],[-128.94,-54.54],[-128.94,-54.54],[-128.94,-54.54],[-128.94,-54.54],[-128.94,-54.54],[-128.94,-54.54],[-128.94,-54.54]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":123,"s":[{"v":[[-74.09,-118.79],[-74.09,-118.79],[-74.09,-118.79],[-74.09,-118.79],[-74.09,-118.79],[-74.09,-118.79],[-74.09,-118.79],[-74.09,-118.79],[-74.09,-118.79],[-74.09,-118.79],[-74.09,-118.79]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":124,"s":[{"v":[[14.32,-139.27],[14.32,-139.27],[14.32,-139.27],[14.32,-139.27],[14.32,-139.27],[14.32,-139.27],[14.32,-139.27],[14.32,-139.27],[14.32,-139.27],[14.32,-139.27],[14.32,-139.27]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":125,"s":[{"v":[[101.52,-96.41],[101.52,-96.41],[101.52,-96.41],[101.52,-96.41],[101.52,-96.41],[101.52,-96.41],[101.52,-96.41],[101.52,-96.41],[101.52,-96.41],[101.52,-96.41],[101.52,-96.41]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1},{"t":126,"s":[{"v":[[140,0],[140,0],[140,0],[140,0],[140,0],[140,0],[140,0],[140,0],[140,0],[140,0],[140,0]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"h":1}]}},{"ty":"gf","hd":false,"bm":0,"e":{"a":0,"k":[140,0]},"g":{"p":3,"k":{"a":0,"k":[0,0.97,0.77,0.63,0.49,0.92,0.68,0.78,1,0.88,0.61,0.91,0,1,0.49,1,1,1]}},"t":1,"a":{"a":0,"k":0},"h":{"a":0,"k":0},"o":{"a":0,"k":100},"r":1,"s":{"a":0,"k":[-140,0]}},{"ty":"tr","nm":"Transform","a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"np":0}]}]},{"id":"hkNLTi0l45YuREyb8CHPb","layers":[]},{"id":"1GgzJloKZ5FArLgzY-xHu","layers":[{"ddd":0,"ind":8,"ty":4,"nm":"","ln":"LM8zQfJDxZS-UAa5GEA3z8","sr":1,"ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[49909,49926.12]},"r":{"a":0,"k":0},"s":{"a":0,"k":[1155.5266666666666,1158.872988235294]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"ip":0,"op":157,"st":0,"bm":0,"shapes":[{"ty":"gr","nm":"surface1","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[3.81,0],[0,-3.83],[0,0],[-0.1,-0.11],[-0.15,0],[0,0],[-0.1,0.1],[0,0.15],[0,0],[-0.3,0],[0,0],[0,-0.31],[0,0],[-0.11,-0.11],[-0.14,0],[0,0],[-0.1,0.1],[0,0.15],[0,0],[-0.94,0.55],[-0.94,-0.55],[0,-1.09],[0,0],[-0.3,0],[0,0],[0,0.31]],"o":[[0,-3.83],[-3.81,0],[0,0],[0,0.15],[0.1,0.1],[0,0],[0.14,0],[0.11,-0.11],[0,0],[0,-0.31],[0,0],[0.3,0],[0,0],[0,0.15],[0.1,0.1],[0,0],[0.15,0],[0.11,-0.11],[0,0],[0,-1.09],[0.94,-0.55],[0.94,0.55],[0,0],[0,0.31],[0,0],[0.3,0],[0,0]],"v":[[15.21,7.28],[8.32,0.34],[1.27,7.28],[1.27,11.61],[1.43,12],[1.82,12.16],[2.61,12.16],[3,12],[3.16,11.61],[3.16,8.01],[3.71,7.46],[4.83,7.46],[5.38,8.01],[5.38,11.61],[5.54,12],[5.93,12.16],[6.71,12.16],[7.1,12],[7.26,11.61],[7.26,10.52],[8.78,7.87],[11.82,7.87],[13.34,10.52],[13.34,11.61],[13.89,12.16],[14.67,12.16],[15.22,11.61]]}}},{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0.17,-0.1],[0.32,0.11],[0.04,0.02],[0,0.41],[-0.36,0.2],[-0.05,0.01],[-0.31,-0.3],[0,-0.3],[0.11,-0.17]],"o":[[-0.1,0.17],[-0.29,0.17],[-0.05,-0.01],[-0.36,-0.2],[0,-0.41],[0.04,-0.03],[0.41,-0.15],[0.22,0.21],[0,0.2],[0,0]],"v":[[5.24,5.8],[4.83,6.21],[3.87,6.29],[3.74,6.23],[3.15,5.23],[3.74,4.23],[3.88,4.18],[5.06,4.44],[5.4,5.23],[5.24,5.8]]}}},{"ty":"fl","c":{"a":0,"k":[0.99,0.99,0.99,1]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","nm":"Transform","a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}]},{"ty":"tr","nm":"Transform","a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[3.81,0],[0,-3.83],[0,0],[-0.1,-0.11],[-0.15,0],[0,0],[-0.1,0.1],[0,0.15],[0,0],[-0.3,0],[0,0],[0,-0.31],[0,0],[-0.11,-0.11],[-0.14,0],[0,0],[-0.1,0.1],[0,0.15],[0,0],[-0.94,0.55],[-0.94,-0.55],[0,-1.09],[0,0],[-0.3,0],[0,0],[0,0.31]],"o":[[0,-3.83],[-3.81,0],[0,0],[0,0.15],[0.1,0.1],[0,0],[0.14,0],[0.11,-0.11],[0,0],[0,-0.31],[0,0],[0.3,0],[0,0],[0,0.15],[0.1,0.1],[0,0],[0.15,0],[0.11,-0.11],[0,0],[0,-1.09],[0.94,-0.55],[0.94,0.55],[0,0],[0,0.31],[0,0],[0.3,0],[0,0]],"v":[[14.6,7.28],[7.71,0.34],[0.66,7.28],[0.66,11.61],[0.82,12],[1.21,12.16],[2,12.16],[2.38,12],[2.55,11.61],[2.55,8.01],[3.09,7.46],[4.21,7.46],[4.77,8.01],[4.77,11.61],[4.93,12],[5.31,12.16],[6.1,12.16],[6.49,12],[6.65,11.61],[6.65,10.52],[8.17,7.87],[11.21,7.87],[12.73,10.52],[12.73,11.61],[13.28,12.16],[14.05,12.16],[14.61,11.61]]}}},{"ty":"sh","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0.17,-0.1],[0.32,0.11],[0.04,0.02],[0,0.41],[-0.36,0.2],[-0.05,0.01],[-0.31,-0.3],[0,-0.3],[0.11,-0.17]],"o":[[-0.1,0.17],[-0.29,0.17],[-0.05,-0.01],[-0.36,-0.2],[0,-0.41],[0.04,-0.03],[0.41,-0.15],[0.22,0.21],[0,0.2],[0,0]],"v":[[4.63,5.8],[4.22,6.21],[3.26,6.29],[3.13,6.23],[2.54,5.23],[3.13,4.23],[3.27,4.18],[4.45,4.44],[4.79,5.23],[4.63,5.8]]}}},{"ty":"fl","c":{"a":0,"k":[0.86,0.86,0.86,1]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","nm":"Transform","a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}]},{"ty":"tr","nm":"Transform","a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}]},{"ty":"tr","nm":"Transform","a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}]}]}]},{"id":"dyN8tSSNzvO2wX5_Dtjla","layers":[{"ddd":0,"ind":10,"ty":4,"nm":"","ln":"_GIj9ZeA7rwWCuRAnwK0b10","sr":1,"ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[50000,50000]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"ip":0,"op":157,"st":0,"bm":0,"shapes":[{"ty":"gr","hd":false,"bm":0,"it":[{"ty":"rc","hd":false,"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[182,147.76]}},{"ty":"fl","hd":false,"bm":0,"c":{"a":0,"k":[0,0,0]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","nm":"Transform","a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}}],"np":0}]}]},{"id":"cHVRDk8IVgVTI7H-xrQ5X","layers":[{"ddd":0,"ind":9,"ty":0,"nm":"","td":1,"ln":"precomp_ZtOb0OCgqiQQYswd_bYsZ9","sr":1,"ks":{"a":{"a":0,"k":[50000,50000]},"o":{"a":0,"k":100},"p":{"a":0,"k":[50000,50000]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"w":100000,"h":100000,"ip":0,"op":157,"st":0,"bm":0,"refId":"dyN8tSSNzvO2wX5_Dtjla"},{"ddd":0,"ind":7,"ty":0,"nm":"","tt":1,"ln":"precomp_5oZ83-FT3oshDyBMTbHvB7","sr":1,"ks":{"a":{"a":0,"k":[100000,100000]},"o":{"a":0,"k":100},"p":{"a":0,"k":[100000,100000]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"w":100000,"h":100000,"ip":0,"op":157,"st":0,"bm":0,"refId":"1GgzJloKZ5FArLgzY-xHu"}]},{"id":"XsSIV0z0ZSNYl1T_eIymc","layers":[]},{"id":"VuiL0lwCg13eB6LBe74VD","layers":[{"ddd":0,"ind":5,"ty":0,"nm":"","ln":"precomp_axBdqkXukWmZZtt1lLTYO5","sr":1,"ks":{"a":{"a":0,"k":[50000,50000]},"o":{"a":0,"k":100},"p":{"a":0,"k":[50000,50000]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"w":100000,"h":100000,"ip":0,"op":157,"st":0,"bm":0,"refId":"hkNLTi0l45YuREyb8CHPb"},{"ddd":0,"ind":6,"ty":0,"nm":"","ln":"precomp_5oZ83-FT3oshDyBMTbHvB6","sr":1,"ks":{"a":{"a":0,"k":[50000,50000]},"o":{"a":0,"k":100},"p":{"a":0,"k":[50000,50000]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"w":100000,"h":100000,"ip":0,"op":157,"st":0,"bm":0,"refId":"cHVRDk8IVgVTI7H-xrQ5X"},{"ddd":0,"ind":11,"ty":0,"nm":"","ln":"precomp_la5YlE_GV_4BPZbinraQb11","sr":1,"ks":{"a":{"a":0,"k":[50000,50000]},"o":{"a":0,"k":100},"p":{"a":0,"k":[50000,50000]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"w":100000,"h":100000,"ip":0,"op":157,"st":0,"bm":0,"refId":"XsSIV0z0ZSNYl1T_eIymc"}]},{"id":"-c2Xn1AzRrKvkPfONMGjS","layers":[]},{"id":"bFwLslNtClblskRaDTJ47","layers":[]},{"id":"VurtnAUi2i84HIyFiKf0R","layers":[{"ddd":0,"ind":2,"ty":0,"nm":"","ln":"precomp_19:2262","sr":1,"ks":{"a":{"a":0,"k":[50000,50000]},"o":{"a":0,"k":100},"p":{"a":0,"k":[50000,50000]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"w":100000,"h":100000,"ip":0,"op":157,"st":0,"bm":0,"refId":"Qe0HNtHmMoBZnWq8BH9Mt"},{"ddd":0,"ind":4,"ty":0,"nm":"","ln":"precomp_62:864","sr":1,"ks":{"a":{"a":0,"k":[50000,50000]},"o":{"a":0,"k":100},"p":{"a":0,"k":[49997,49986]},"r":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":0,"s":[-15],"i":{"x":0.25,"y":1},"o":{"x":0.25,"y":0.1}},{"t":45,"s":[0],"h":1}]},"s":{"a":1,"k":[{"t":0,"s":[100,100],"h":1},{"t":0,"s":[0,0],"i":{"x":0.68,"y":1},"o":{"x":0.33,"y":1}},{"t":45,"s":[100,100],"h":1}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"w":100000,"h":100000,"ip":0,"op":157,"st":0,"bm":0,"refId":"VuiL0lwCg13eB6LBe74VD"},{"ddd":0,"ind":12,"ty":0,"nm":"","ln":"precomp_iOD4psOXBXQeK5pSsY_7E12","sr":1,"ks":{"a":{"a":0,"k":[50000,50000]},"o":{"a":0,"k":100},"p":{"a":0,"k":[50000,50000]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"w":100000,"h":100000,"ip":0,"op":157,"st":0,"bm":0,"refId":"-c2Xn1AzRrKvkPfONMGjS"},{"ddd":0,"ind":13,"ty":0,"nm":"","ln":"precomp_Z6TzdKXLEm4izCTbzf9_H13","sr":1,"ks":{"a":{"a":0,"k":[50000,50000]},"o":{"a":0,"k":100},"p":{"a":0,"k":[50000,50000]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"w":100000,"h":100000,"ip":0,"op":157,"st":0,"bm":0,"refId":"bFwLslNtClblskRaDTJ47"}]},{"id":"nVfSuOBGnEIT-28K-U4PB","layers":[]},{"id":"agFvKdbZlin7heACCH5oS","layers":[]},{"id":"6Th_lJJtxwVWXUGkxtS3J","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"","ln":"precomp_Zche5tnE1","sr":1,"ks":{"a":{"a":0,"k":[50000,50000]},"o":{"a":0,"k":100},"p":{"a":0,"k":[50000,50000]},"r":{"a":0,"k":0},"s":{"a":1,"k":[{"t":0,"s":[100,100],"h":1},{"t":102,"s":[100,100],"i":{"x":0.67,"y":0},"o":{"x":0.32,"y":0}},{"t":132,"s":[0,0],"h":1}]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"w":100000,"h":100000,"ip":0,"op":157,"st":0,"bm":0,"refId":"VurtnAUi2i84HIyFiKf0R"},{"ddd":0,"ind":14,"ty":0,"nm":"","ln":"precomp_xSOdPSa5U7L0QXvotJz_N14","sr":1,"ks":{"a":{"a":0,"k":[50000,50000]},"o":{"a":0,"k":100},"p":{"a":0,"k":[50000,50000]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"w":100000,"h":100000,"ip":0,"op":157,"st":0,"bm":0,"refId":"nVfSuOBGnEIT-28K-U4PB"},{"ddd":0,"ind":15,"ty":0,"nm":"","ln":"precomp_EUwLytwoOE93GiW7MQYMh15","sr":1,"ks":{"a":{"a":0,"k":[50000,50000]},"o":{"a":0,"k":100},"p":{"a":0,"k":[50000,50000]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"w":100000,"h":100000,"ip":0,"op":157,"st":0,"bm":0,"refId":"agFvKdbZlin7heACCH5oS"}]}],"ddd":0,"fr":60,"h":400,"ip":0,"layers":[{"ddd":0,"ind":0,"ty":0,"nm":"","ln":"precomp_19:2220","sr":1,"ks":{"a":{"a":0,"k":[50000,50000]},"o":{"a":0,"k":100},"p":{"a":0,"k":[200,200]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"ao":0,"w":100000,"h":100000,"ip":0,"op":157,"st":0,"bm":0,"refId":"6Th_lJJtxwVWXUGkxtS3J"}],"meta":{"g":"https://jitter.video"},"nm":"Profile-New-Story-[remix]","op":156,"v":"5.7.4","w":400} \ No newline at end of file diff --git a/src/components/Button.tsx b/src/components/Button.tsx index 92337c12..460774ed 100644 --- a/src/components/Button.tsx +++ b/src/components/Button.tsx @@ -28,28 +28,27 @@ export const Button = ({ onClick?: MouseEventHandler; }) => { if (buttonType === ButtonType.PRIMARY) { + const classNames = [ + 'rounded-md bg-gradient-to-b from-btn-primary-outer-gradient-start to-btn-primary-outer-gradient-end p-px', + className, + ].join(' '); + + const btnClassNames = + 'inline-flex size-full items-center gap-[11px] rounded-md bg-btn-primary-base bg-gradient-to-b from-btn-primary-gradient-start to-btn-primary-gradient-end px-[11px] py-[5px] shadow-inner'; + return ( -
+
@@ -76,7 +75,9 @@ export const Button = ({ > {icon} {text && ( -
+
{text} {rightIcon}
)} diff --git a/src/components/Profile.tsx b/src/components/Profile.tsx index 453a5a69..00065406 100644 --- a/src/components/Profile.tsx +++ b/src/components/Profile.tsx @@ -42,7 +42,7 @@ const Profile = () => {
diff --git a/src/components/WalletProvider.tsx b/src/components/WalletProvider.tsx index 0698038c..17a4f33a 100644 --- a/src/components/WalletProvider.tsx +++ b/src/components/WalletProvider.tsx @@ -1,9 +1,13 @@ +import { ArIO } from '@ar.io/sdk/web'; +import { ARNS_REGISTRY_ADDRESS } from '@src/constants'; import { useEffectOnce } from '@src/hooks/useEffectOnce'; import { ArConnectWalletConnector } from '@src/services/wallets/ArConnectWalletConnector'; import { useGlobalState } from '@src/store'; +import { KEY_WALLET_TYPE } from '@src/store/persistent'; import { WALLET_TYPES } from '@src/types'; import { mioToIo } from '@src/utils'; import { ArweaveTransactionID } from '@src/utils/ArweaveTransactionId'; +import { showErrorToast } from '@src/utils/toast'; import Ar from 'arweave/web/ar'; import { ReactElement, useEffect } from 'react'; @@ -15,10 +19,16 @@ const WalletProvider = ({ children }: { children: ReactElement }) => { const setWalletStateInitialized = useGlobalState( (state) => state.setWalletStateInitialized, ); + const setGateway = useGlobalState((state) => state.setGateway); + + const wallet = useGlobalState((state) => state.wallet); const updateWallet = useGlobalState((state) => state.updateWallet); const setBalances = useGlobalState((state) => state.setBalances); const arweave = useGlobalState((state) => state.arweave); const arIOReadSDK = useGlobalState((state) => state.arIOReadSDK); + const setArIOWriteableSDK = useGlobalState( + (state) => state.setArIOWriteableSDK, + ); useEffect(() => { window.addEventListener('arweaveWalletLoaded', updateIfConnected); @@ -48,7 +58,7 @@ const WalletProvider = ({ children }: { children: ReactElement }) => { setBalances(arBalance, ioBalance); } catch (error) { - // eventEmitter.emit('error', error); + showErrorToast(`${error}`); } }; @@ -56,8 +66,38 @@ const WalletProvider = ({ children }: { children: ReactElement }) => { } }, [walletAddress, blockHeight, arIOReadSDK, arweave, setBalances]); + useEffect(() => { + if (wallet) { + const signer = wallet.signer; + + if (signer) { + const writeable = ArIO.init({ + contractTxId: ARNS_REGISTRY_ADDRESS.toString(), + signer, + }); + setArIOWriteableSDK(writeable); + } + } else { + setArIOWriteableSDK(undefined); + } + }, [setArIOWriteableSDK, wallet]); + + useEffect(() => { + if (walletAddress) { + const update = async () => { + const gateway = await arIOReadSDK.getGateway({ + address: walletAddress.toString(), + }); + setGateway(gateway); + }; + update(); + } else { + setGateway(undefined); + } + }, [arIOReadSDK, setGateway, walletAddress]); + const updateIfConnected = async () => { - const walletType = window.localStorage.getItem('walletType'); + const walletType = window.localStorage.getItem(KEY_WALLET_TYPE); try { if (walletType === WALLET_TYPES.ARCONNECT) { @@ -67,7 +107,7 @@ const WalletProvider = ({ children }: { children: ReactElement }) => { updateWallet(address, connector); } } catch (error) { - // eventEmitter.emit('error', error); + showErrorToast(`${error}`); } finally { setWalletStateInitialized(true); } diff --git a/src/components/forms/FormRow.tsx b/src/components/forms/FormRow.tsx new file mode 100644 index 00000000..77ff7e18 --- /dev/null +++ b/src/components/forms/FormRow.tsx @@ -0,0 +1,134 @@ +import * as Tooltip from '@radix-ui/react-tooltip'; +import { FormErrorIcon } from '../icons'; + +export enum RowType { + TOP, + MIDDLE, + BOTTOM, + SINGLE, +} + +const ROUND_STYLES = { + [RowType.TOP]: 'rounded-t-md', + [RowType.BOTTOM]: 'rounded-b-md', + [RowType.SINGLE]: 'rounded-md', + [RowType.MIDDLE]: '', +}; + +const FormRow = ({ + formPropertyName, + formState, + placeholder, + enabled = true, + setFormState, + errorMessages, + setErrorMessages, + label, + rowType = RowType.MIDDLE, + leftComponent, + rightComponent, + validateProperty, +}: { + formPropertyName: string; + placeholder?: string; + enabled?: boolean; + formState: Record; + setFormState: (formState: Record) => void; + errorMessages: Record; + setErrorMessages: (errorMessages: Record) => void; + label: string; + rowType?: RowType; + leftComponent?: JSX.Element; + rightComponent?: JSX.Element; + validateProperty: (value: string) => string | undefined; +}) => { + const roundStyle = ROUND_STYLES[rowType]; + + const errorMessage = errorMessages[formPropertyName]; + const hasError = enabled && errorMessage?.trim().length > 0; + + return ( + <> +
+
+ {label} +
+
+
+
+
+ {leftComponent} + { + if (hasError) { + const cleared = { ...errorMessages }; + delete cleared[formPropertyName]; + setErrorMessages(cleared); + } + setFormState({ + ...formState, + [formPropertyName]: e.target.value, + }); + }} + onBlur={() => { + const errMessage = validateProperty( + formState[formPropertyName], + ); + if (errMessage) { + setErrorMessages({ + ...errorMessages, + [formPropertyName]: errMessage, + }); + } else { + const cleared = { ...errorMessages }; + delete cleared[formPropertyName]; + setErrorMessages(cleared); + } + }} + /> + {hasError && ( +
+ + + + + + + + +
+ {errorMessage} +
+
+
+
+
+
+ )} + {rightComponent} +
+
+
+ + ); +}; + +export default FormRow; diff --git a/src/components/forms/FormSwitch.tsx b/src/components/forms/FormSwitch.tsx new file mode 100644 index 00000000..9160dc68 --- /dev/null +++ b/src/components/forms/FormSwitch.tsx @@ -0,0 +1,31 @@ +import { Switch } from '@headlessui/react'; + +const FormSwitch = ({ + checked, + onChange, + title, +}: { + checked: boolean; + onChange: (checked: boolean) => void; + title: string; +}) => { + return ( + + + + + ); +}; + +export default FormSwitch; diff --git a/src/components/icons/banner_right_chevron.svg b/src/components/icons/banner_right_chevron.svg new file mode 100644 index 00000000..49b92cb1 --- /dev/null +++ b/src/components/icons/banner_right_chevron.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/components/icons/form_error.svg b/src/components/icons/form_error.svg new file mode 100644 index 00000000..09f82984 --- /dev/null +++ b/src/components/icons/form_error.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/components/icons/gateway.svg b/src/components/icons/gateway.svg new file mode 100644 index 00000000..03cf287f --- /dev/null +++ b/src/components/icons/gateway.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/components/icons/gateway_hover.svg b/src/components/icons/gateway_hover.svg new file mode 100644 index 00000000..9376f534 --- /dev/null +++ b/src/components/icons/gateway_hover.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/icons/index.ts b/src/components/icons/index.ts index 5a97ec60..a85b8f90 100644 --- a/src/components/icons/index.ts +++ b/src/components/icons/index.ts @@ -1,6 +1,7 @@ /// import ArConnectIcon from './arconnect.svg?react'; import ArioLogoIcon from './ario.svg?react'; +import BannerRightChevron from './banner_right_chevron.svg?react'; import BinocularsIcon from './binoculars.svg?react'; import CloseIcon from './close.svg?react'; import CloseDrawerIcon from './close_drawer.svg?react'; @@ -8,17 +9,25 @@ import ConnectIcon from './connect.svg?react'; import ContractIcon from './contract.svg?react'; import DashboardIcon from './dashboard.svg?react'; import DocsIcon from './docs.svg?react'; +import FormErrorIcon from './form_error.svg?react'; import GatewaysIcon from './gateways.svg?react'; +import GatewayIcon from './gateway.svg?react'; +import GatewayHoverIcon from './gateway_hover.svg?react'; import GearIcon from './gear.svg?react'; import LinkArrowIcon from './link_arrow.svg?react'; import LogoutIcon from './logout.svg?react'; import OpenDrawerIcon from './open_drawer.svg?react'; +import PinkArrowIcon from './pink_arrow.svg?react'; import StakingIcon from './staking.svg?react'; +import StartGatewayCubes from './start_gateway_cubes.svg?react'; +import SuccessCheck from './success_check.svg?react'; +import ToastCloseIcon from './toast_close.svg?react'; import WalletIcon from './wallet.svg?react'; export { ArConnectIcon, ArioLogoIcon, + BannerRightChevron, BinocularsIcon, CloseIcon, CloseDrawerIcon, @@ -26,11 +35,18 @@ export { ContractIcon, DashboardIcon, DocsIcon, + FormErrorIcon, + GatewayIcon, + GatewayHoverIcon, GatewaysIcon, GearIcon, - OpenDrawerIcon, LinkArrowIcon, LogoutIcon, + OpenDrawerIcon, + PinkArrowIcon, StakingIcon, + StartGatewayCubes, + SuccessCheck, + ToastCloseIcon, WalletIcon, }; diff --git a/src/components/icons/pink_arrow.svg b/src/components/icons/pink_arrow.svg new file mode 100644 index 00000000..7e078ef5 --- /dev/null +++ b/src/components/icons/pink_arrow.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/components/icons/start_gateway_cubes.svg b/src/components/icons/start_gateway_cubes.svg new file mode 100644 index 00000000..6a297264 --- /dev/null +++ b/src/components/icons/start_gateway_cubes.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/icons/success_check.svg b/src/components/icons/success_check.svg new file mode 100644 index 00000000..26d44cc3 --- /dev/null +++ b/src/components/icons/success_check.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/components/icons/toast_close.svg b/src/components/icons/toast_close.svg new file mode 100644 index 00000000..15332ea8 --- /dev/null +++ b/src/components/icons/toast_close.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/components/modals/BaseModal.tsx b/src/components/modals/BaseModal.tsx new file mode 100644 index 00000000..ff58b865 --- /dev/null +++ b/src/components/modals/BaseModal.tsx @@ -0,0 +1,37 @@ +import { Dialog } from '@headlessui/react'; +import { ReactElement } from 'react'; +import { CloseIcon } from '../icons'; + +const BaseModal = ({ + open, + onClose, + children, + showCloseButton = true, +}: { + open: boolean; + onClose: () => void; + children: ReactElement; + showCloseButton?: boolean; +}) => { + return ( + {}} className="relative z-10"> + + ); +}; + +export default BaseModal; diff --git a/src/components/modals/BlockingMessageModal.tsx b/src/components/modals/BlockingMessageModal.tsx new file mode 100644 index 00000000..cbda80c3 --- /dev/null +++ b/src/components/modals/BlockingMessageModal.tsx @@ -0,0 +1,31 @@ +import Lottie from 'lottie-react'; +import arioLoading from '../../animations/ario-spinner.json'; +import BaseModal from './BaseModal'; + +const BlockingMessageModal = ({ + open, + onClose, + message, +}: { + open: boolean; + onClose: () => void; + message: string; +}) => { + return ( + +
+
+ +
+
{message}
+
+
+ ); +}; + +export default BlockingMessageModal; diff --git a/src/components/modals/ConnectModal.tsx b/src/components/modals/ConnectModal.tsx index b6988778..427bbdfb 100644 --- a/src/components/modals/ConnectModal.tsx +++ b/src/components/modals/ConnectModal.tsx @@ -1,10 +1,10 @@ -import { Dialog } from '@headlessui/react'; import { ArConnectWalletConnector } from '@src/services/wallets/ArConnectWalletConnector'; import { useGlobalState } from '@src/store'; import { ArweaveWalletConnector } from '@src/types'; import { useState } from 'react'; import Button from '../Button'; -import { ArConnectIcon, CloseIcon, ConnectIcon } from '../icons'; +import { ArConnectIcon, ConnectIcon } from '../icons'; +import BaseModal from './BaseModal'; const ConnectModal = ({ open, @@ -46,53 +46,39 @@ const ConnectModal = ({ }; return ( - - + ); }; diff --git a/src/components/modals/StartGatewayModal.tsx b/src/components/modals/StartGatewayModal.tsx new file mode 100644 index 00000000..d7b11fc8 --- /dev/null +++ b/src/components/modals/StartGatewayModal.tsx @@ -0,0 +1,346 @@ +import { ARWEAVE_TX_REGEX, JoinNetworkParams } from '@ar.io/sdk/web'; +import { FQDN_REGEX } from '@src/constants'; +import { useGlobalState } from '@src/store'; +import { updatePendingDataCache } from '@src/store/persistent'; +import { showErrorToast } from '@src/utils/toast'; +import { useEffect, useState } from 'react'; +import Button, { ButtonType } from '../Button'; +import FormRow, { RowType } from '../forms/FormRow'; +import FormSwitch from '../forms/FormSwitch'; +import BaseModal from './BaseModal'; +import BlockingMessageModal from './BlockingMessageModal'; +import SuccessModal from './SuccessModal'; + +const DEFAULT_FORM_STATE = { + label: '', + address: '', + observerWallet: '', + propertiesId: 'FH1aVetOoulPGqgYukj0VE0wIhDy90WiQoV3U2PeY44', + stake: '', + delegatedStaking: '', + delegatedStakingShareRatio: '', + note: '', +}; + +const DEFAULT_PROTOCOL = 'https'; +const DEFAULT_PORT = 443; +const DEFAULT_DELEGATED_STAKING_REWARD_SHARE_RATIO = 0; +const DEFAULT_DELEGATED_STAKING = 100; + +interface FormRowDef { + formPropertyName: string; + label: string; + rowType?: RowType; + leftComponent?: JSX.Element; + rightComponent?: JSX.Element; + enabled?: boolean; + placeholder?: string; + validateProperty: (value: string) => string | undefined; +} + +const StartGatewayModal = ({ + open, + onClose, +}: { + open: boolean; + onClose: () => void; +}) => { + const walletAddress = useGlobalState((state) => state.walletAddress); + const arioWriteableSDK = useGlobalState((state) => state.arIOWriteableSDK); + + const [formState, setFormState] = + useState>(DEFAULT_FORM_STATE); + const [formErrors, setFormErrors] = useState>({}); + + const [delegatedStakingEnabled, setDelegatedStakingEnabled] = + useState(false); + const [propertiesIdEnabled, setPropertiesIdEnabled] = + useState(false); + + const [showBlockingMessageModal, setShowBlockingMessageModal] = + useState(false); + const [showSuccessModal, setShowSuccessModal] = useState(false); + + useEffect(() => { + setFormState((currentState) => { + return { + ...currentState, + observerWallet: walletAddress?.toString() ?? '', + }; + }); + }, [walletAddress]); + + const formRowDefs: FormRowDef[] = [ + { + formPropertyName: 'label', + label: '*Label:', + rowType: RowType.TOP, + validateProperty: (v: string) => { + return v.trim().length < 1 || v.trim().length > 64 + ? 'Label is required and must be 1-64 characters in length.' + : undefined; + }, + }, + { + formPropertyName: 'address', + label: '*Address:', + leftComponent:
https://
, + rightComponent:
:443
, + + validateProperty: (v: string) => { + return v.trim() === '' || !FQDN_REGEX.test(v) + ? 'Address is required and must be a valid domain name.' + : undefined; + }, + }, + { + formPropertyName: 'observerWallet', + label: '*Observer Wallet:', + validateProperty: (v: string) => { + return v.trim() === '' || !ARWEAVE_TX_REGEX.test(v) + ? 'Observer Wallet is required and must be a valid wallet address.' + : undefined; + }, + }, + { + formPropertyName: 'propertiesId', + label: '*Properties ID:', + enabled: propertiesIdEnabled, + placeholder: DEFAULT_FORM_STATE.propertiesId, + validateProperty: (v: string) => { + return v.trim() === '' || !ARWEAVE_TX_REGEX.test(v) + ? 'Properties ID is required and must be a valid Arweave transaction ID.' + : undefined; + }, + rightComponent: ( +
+ { + if (!v) { + const cleared = { ...formErrors }; + delete cleared['propertiesId']; + setFormErrors(cleared); + setFormState({ + ...formState, + propertiesId: DEFAULT_FORM_STATE.propertiesId, + }); + } + setPropertiesIdEnabled(v); + }} + title={`${propertiesIdEnabled ? 'Disable' : 'Enable'} Custom Properties ID`} + /> +
+ ), + }, + { + formPropertyName: 'stake', + label: '*Stake (IO):', + placeholder: 'Minimum 10000 IO', + validateProperty: (v: string) => { + const value = parseFloat(v); + return value < 10000 || isNaN(value) + ? 'Stake must be a number > 10000 IO.' + : undefined; + }, + }, + { + formPropertyName: 'delegatedStaking', + label: 'Delegated Staking (IO):', + enabled: delegatedStakingEnabled, + placeholder: delegatedStakingEnabled + ? 'Minimum 0.1 IO' + : 'Delegated Staking Off', + validateProperty: (v: string) => { + if (!delegatedStakingEnabled) { + return undefined; + } + const value = parseFloat(v); + return value < 0.1 || isNaN(value) + ? 'Delegated Staking must be a number > 0.1 IO.' + : undefined; + }, + rightComponent: ( +
+ +
+ ), + }, + { + formPropertyName: 'delegatedStakingShareRatio', + label: 'Delegated Staking Share Ratio:', + enabled: delegatedStakingEnabled, + placeholder: delegatedStakingEnabled + ? 'Enter value 0-100' + : 'Enable Delegated Staking to set this value.', + validateProperty: (v: string) => { + const value = parseFloat(v); + return value < 0 || value > 100 || isNaN(value) + ? 'Delegated Staking Share Ratio must be a number from 0 to 100.' + : undefined; + }, + }, + { + formPropertyName: 'note', + label: '*Note:', + rowType: RowType.BOTTOM, + validateProperty: (v: string) => { + return v.trim().length < 1 || v.trim().length > 256 + ? 'Note is required and must be 1-256 characters in length.' + : undefined; + }, + }, + ]; + + const isFormValid = () => { + return formRowDefs.every((rowDef) => { + // enabled value can be true, false, or undefined. We shortcircuit and accept the row + // as valid here only if the row definition is explicity set to false. + if (rowDef.enabled == false) { + return true; + } + const errorMessage = rowDef.validateProperty( + formState[rowDef.formPropertyName], + ); + return errorMessage === undefined; + }); + }; + + const submitForm = async () => { + if (isFormValid() && arioWriteableSDK) { + try { + setShowBlockingMessageModal(true); + const joinNetworkParams: JoinNetworkParams = { + // GatewayConnectionSettings + protocol: DEFAULT_PROTOCOL, + fqdn: formState.address, + port: DEFAULT_PORT, + + // GatewayMetadata + note: formState.note, + label: formState.label, + properties: propertiesIdEnabled + ? formState.propertiesId + : DEFAULT_FORM_STATE.propertiesId, + observerWallet: formState.observerWallet, + + // GatewayStakingSettings + allowDelegatedStaking: delegatedStakingEnabled, + delegateRewardShareRatio: delegatedStakingEnabled + ? parseFloat(formState.delegatedStakingShareRatio) + : DEFAULT_DELEGATED_STAKING_REWARD_SHARE_RATIO, + minDelegatedStake: delegatedStakingEnabled + ? parseFloat(formState.delegatedStaking) + : DEFAULT_DELEGATED_STAKING, + autoStake: true, + + qty: parseFloat(formState.stake), + }; + + // UNCOMMENT AND COMMENT OUT JOIN NETWORK FOR DEV WORK + // await delay(5000); + const { id: txID } = + await arioWriteableSDK.joinNetwork(joinNetworkParams); + console.log('Join Network txID:', txID); + + if (walletAddress) { + updatePendingDataCache(walletAddress.toString(), { + pendingJoinNetworkParams: joinNetworkParams, + }); + } + setShowSuccessModal(true); + } catch (e: any) { + showErrorToast(`${e}`); + } finally { + setShowBlockingMessageModal(false); + } + } + }; + + const resetForm = () => { + setFormState({ + ...DEFAULT_FORM_STATE, + observerWallet: walletAddress?.toString() ?? '', + }); + setDelegatedStakingEnabled(false); + setPropertiesIdEnabled(false); + setFormErrors({}); + }; + + const closeDialog = () => { + resetForm(); + onClose(); + }; + + return ( + +
+
Start Gateway
+
+ Owner ID:  + {walletAddress?.toString()} +
+ +
+ {formRowDefs.map((rowDef, index) => { + return ( + + ); + })} +
+
+
+
+ setShowBlockingMessageModal(false)} + message="Sign the following data with your wallet to proceed." + > + { + resetForm(); + setShowSuccessModal(false); + onClose(); + }} + title="Congratulations" + bodyText="You have successfully joined the network." + /> +
+ + ); +}; + +export default StartGatewayModal; diff --git a/src/components/modals/SuccessModal.tsx b/src/components/modals/SuccessModal.tsx new file mode 100644 index 00000000..0f300647 --- /dev/null +++ b/src/components/modals/SuccessModal.tsx @@ -0,0 +1,37 @@ +import Button, { ButtonType } from '../Button'; +import { SuccessCheck } from '../icons'; +import BaseModal from './BaseModal'; + +const SuccessModal = ({ + open, + onClose, + title, + bodyText, +}: { + open: boolean; + onClose: () => void; + title: string; + bodyText: string; +}) => { + return ( + +
+
+ +
+
{title}
+
{bodyText}
+
+
+
+
+ ); +}; + +export default SuccessModal; diff --git a/src/constants.ts b/src/constants.ts index d568da2a..18d13d55 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -9,6 +9,10 @@ export const ARNS_REGISTRY_ADDRESS = new ArweaveTransactionID( ); export const GATEWAY_CONTRACT_URL = `https://viewblock.io/arweave/contract/${ARNS_REGISTRY_ADDRESS.toString()}`; +export const DEFAULT_ARWEAVE_PROTOCOL = process.env.VITE_GATEWAY_PROTOCOL ?? 'https'; +export const DEFAULT_ARWEAVE_HOST = process.env.VITE_GATEWAY_HOST ?? 'ar-io.dev'; +export const DEFAULT_ARWEAVE_PORT = Number(process.env.VITE_GATEWAY_PORT) ?? 443; + export const THEME_TYPES = { LIGHT: 'light', DARK: 'dark', @@ -17,6 +21,10 @@ export const THEME_TYPES = { // Unicode non-breaking space that renders where   does not in React code export const NBSP = '\u00A0'; +export const FQDN_REGEX = new RegExp( + '^(?:(?!-)[A-Za-z0-9-]{1,63}(? { + const gateway = useGlobalState((state) => state.gateway); + const walletAddress = useGlobalState((state) => state.walletAddress); + const pendingDataCache = getPendingDataCache(walletAddress?.toString()); + const pendingJoinNetworkParams = pendingDataCache.pendingJoinNetworkParams; + + const arIOReadSDK = useGlobalState((state) => state.arIOReadSDK); + const setGateway = useGlobalState((state) => state.setGateway); + + let gatewayInfo: Array<[string, string | number]>; + + useEffect(() => { + if (!gateway && walletAddress && pendingJoinNetworkParams) { + const pollGateway = async () => { + const gateway = await arIOReadSDK.getGateway({ + address: walletAddress.toString(), + }); + setGateway(gateway); + }; + pollGateway(); + + // check every 15 seconds + const intervalId = setInterval(pollGateway, GATEWAY_POLLING_INTERVAL_MS); + + return () => clearInterval(intervalId); + } + }, [ + arIOReadSDK, + gateway, + pendingJoinNetworkParams, + setGateway, + walletAddress, + ]); + + if (gateway) { + if (pendingJoinNetworkParams && walletAddress) { + const updated = { ...pendingDataCache }; + delete updated.pendingJoinNetworkParams; + storePendingDataCache(walletAddress.toString(), updated); + } + + gatewayInfo = [ + ['Label', gateway.settings.label], + [ + 'Address', + `${gateway.settings.protocol}://${gateway.settings.fqdn}:${gateway.settings.port}`, + ], + ['Observer Wallet', formatWalletAddress(gateway.observerWallet)], + ['Joined at', gateway.start], + ['Stake (IO)', formatWithCommas(mioToIo(gateway.operatorStake))], + ['Status', gateway.status], + ['Reward Ratio', gateway.settings.delegateRewardShareRatio], + ]; + } else if (pendingJoinNetworkParams) { + const { + label, + protocol, + fqdn, + port, + observerWallet, + qty: operatorStake, + delegateRewardShareRatio, + } = pendingJoinNetworkParams; + + gatewayInfo = [ + ['Label', label], + ['Address', `${protocol}://${fqdn}:${port}`], + [ + 'Observer Wallet', + observerWallet ? formatWalletAddress(observerWallet) : '', + ], + ['Joined at', 'PENDING'], + ['Stake (IO)', formatWithCommas(mioToIo(operatorStake))], + ['Status', 'PENDING'], + ['Reward Ratio', delegateRewardShareRatio], + ]; + } else { + gatewayInfo = []; + } + + const gatewayStatus = gateway + ? GatewayStatus.FOUND + : pendingJoinNetworkParams + ? GatewayStatus.PENDING + : GatewayStatus.NOT_FOUND; + + return { gatewayInfo, gatewayStatus }; +}; diff --git a/src/index.css b/src/index.css index b5c61c95..0215eb55 100644 --- a/src/index.css +++ b/src/index.css @@ -1,3 +1,9 @@ @tailwind base; @tailwind components; @tailwind utilities; + +@layer components { + .text-gradient { + @apply bg-gradient-to-r from-gradient-primary-start to-gradient-primary-end bg-clip-text text-transparent; + } +} \ No newline at end of file diff --git a/src/layout/AppRouterLayout.tsx b/src/layout/AppRouterLayout.tsx index 98f9b49d..0e7c4a09 100644 --- a/src/layout/AppRouterLayout.tsx +++ b/src/layout/AppRouterLayout.tsx @@ -1,6 +1,5 @@ +import { Toaster } from 'react-hot-toast'; import { Outlet } from 'react-router-dom'; - -import Notifications from './Notifications'; import Sidebar from './Sidebar'; function AppRouterLayout() { @@ -12,7 +11,10 @@ function AppRouterLayout() {
- + ); } diff --git a/src/layout/Sidebar.tsx b/src/layout/Sidebar.tsx index 444580b4..538e2109 100644 --- a/src/layout/Sidebar.tsx +++ b/src/layout/Sidebar.tsx @@ -2,25 +2,22 @@ import { ARIO_DOCS_URL, GATEWAY_CONTRACT_URL } from '@src/constants'; import { useEffect, useState } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; +import Button from '@src/components/Button'; import { ArioLogoIcon, - BinocularsIcon, CloseDrawerIcon, ContractIcon, - DashboardIcon, DocsIcon, GatewaysIcon, LinkArrowIcon, OpenDrawerIcon, - StakingIcon, } from '../components/icons'; -import Button from '@src/components/Button'; const ROUTES_PRIMARY = [ - { title: 'Dashboard', icon: , path: '/dashboard' }, + // { title: 'Dashboard', icon: , path: '/dashboard' }, { title: 'Gateways', icon: , path: '/gateways' }, - { title: 'Staking', icon: , path: '/staking' }, - { title: 'Observers', icon: , path: '/observers' }, + // { title: 'Staking', icon: , path: '/staking' }, + // { title: 'Observers', icon: , path: '/observers' }, ]; const ROUTES_SECONDARY = [ @@ -74,19 +71,19 @@ const Sidebar = () => {

- {ROUTES_SECONDARY.map(({ title, icon, path }, index) => ( -

diff --git a/src/pages/Dashboard.tsx b/src/pages/Dashboard.tsx index a2c69239..4ad41107 100644 --- a/src/pages/Dashboard.tsx +++ b/src/pages/Dashboard.tsx @@ -1,6 +1,6 @@ import Header from "@src/components/Header"; -function Dashboard() { +const Dashboard = () => { return (
diff --git a/src/pages/Gateways/Banner.tsx b/src/pages/Gateways/Banner.tsx new file mode 100644 index 00000000..38e8cc33 --- /dev/null +++ b/src/pages/Gateways/Banner.tsx @@ -0,0 +1,115 @@ +import { + BannerRightChevron, + GatewayHoverIcon, + GatewayIcon, + PinkArrowIcon, + StartGatewayCubes, +} from '@src/components/icons'; +import ConnectModal from '@src/components/modals/ConnectModal'; +import StartGatewayModal from '@src/components/modals/StartGatewayModal'; +import { GatewayStatus, useGatewayInfo } from '@src/hooks/useGatewayInfo'; +import { useGlobalState } from '@src/store'; +import { useState } from 'react'; + +const InfoSection = ({ label, value }: { label: string; value: string }) => { + return ( +
+
{label}
+
{value}
+
+ ); +}; + +const Banner = () => { + const walletAddress = useGlobalState((state) => state.walletAddress); + + const [loginOpen, setLoginOpen] = useState(false); + const [startGatewayOpen, setStartGatewayOpen] = useState(false); + + const { gatewayInfo, gatewayStatus } = useGatewayInfo(); + + return gatewayStatus !== GatewayStatus.NOT_FOUND ? ( +
+ + setLoginOpen(false)} /> + setStartGatewayOpen(false)} + /> +
+ ) : ( +
+ + setLoginOpen(false)} /> + setStartGatewayOpen(false)} + /> +
+ ); +}; + +export default Banner; diff --git a/src/pages/Gateways.tsx b/src/pages/Gateways/index.tsx similarity index 57% rename from src/pages/Gateways.tsx rename to src/pages/Gateways/index.tsx index 50e86e61..1237f0db 100644 --- a/src/pages/Gateways.tsx +++ b/src/pages/Gateways/index.tsx @@ -1,12 +1,11 @@ import Header from "@src/components/Header"; +import Banner from "./Banner"; -function Gateways() { +const Gateways = () => { return (
-
-

Gateways

-
+
); } diff --git a/src/pages/NotFound.tsx b/src/pages/NotFound.tsx index ee1b4d76..a9531723 100644 --- a/src/pages/NotFound.tsx +++ b/src/pages/NotFound.tsx @@ -1,4 +1,4 @@ -function NotFound() { +const NotFound = () => { return (

Page Not Found

diff --git a/src/pages/Observers.tsx b/src/pages/Observers.tsx index 483d0122..69f31209 100644 --- a/src/pages/Observers.tsx +++ b/src/pages/Observers.tsx @@ -1,6 +1,6 @@ import Header from "@src/components/Header"; -function Observers() { +const Observers = () => { return (
diff --git a/src/pages/Staking.tsx b/src/pages/Staking.tsx index eac28179..9fa249b2 100644 --- a/src/pages/Staking.tsx +++ b/src/pages/Staking.tsx @@ -1,6 +1,6 @@ import Header from '@src/components/Header'; -function Staking() { +const Staking = () => { return (
diff --git a/src/services/wallets/ArConnectWalletConnector.ts b/src/services/wallets/ArConnectWalletConnector.ts index 77c50b48..3412e680 100644 --- a/src/services/wallets/ArConnectWalletConnector.ts +++ b/src/services/wallets/ArConnectWalletConnector.ts @@ -1,13 +1,12 @@ import { ArconnectError, WalletNotInstalledError } from '@src/utils/errors'; import { PermissionType } from 'arconnect'; -import { ApiConfig } from 'arweave/node/lib/api'; -// import { CustomSignature, SignatureType, Transaction } from 'warp-contracts'; +import { ApiConfig } from 'arweave/web/lib/api'; -// import { ARCONNECT_UNRESPONSIVE_ERROR } from '../../components/layout/Notifications/Notifications'; -import { ArconnectSigner } from '@ar.io/sdk'; +import { ArconnectSigner } from '@ar.io/sdk/web'; import { executeWithTimeout } from '@src/utils'; import { ArweaveTransactionID } from '@src/utils/ArweaveTransactionId'; import { ArweaveWalletConnector, WALLET_TYPES } from '../../types'; +import { KEY_WALLET_TYPE } from '@src/store/persistent'; export const ARCONNECT_WALLET_PERMISSIONS: PermissionType[] = [ 'ACCESS_ADDRESS', @@ -15,6 +14,7 @@ export const ARCONNECT_WALLET_PERMISSIONS: PermissionType[] = [ 'ACCESS_PUBLIC_KEY', 'SIGN_TRANSACTION', 'ACCESS_ARWEAVE_CONFIG', + 'SIGNATURE', ]; export const ARCONNECT_UNRESPONSIVE_ERROR = 'There was an issue initializing ArConnect. Please reload the page to initialize.'; @@ -25,15 +25,7 @@ export class ArConnectWalletConnector implements ArweaveWalletConnector { constructor() { this._wallet = window?.arweaveWallet; - // this.signer = new ArconnectSigner(this._wallet, ); - - // { - // signer: async (transaction: Transaction) => { - // const signedTransaction = await this._wallet.sign(transaction); - // Object.assign(transaction, signedTransaction); - // }, - // // type: 'arweave' as SignatureType, - // }; + this.signer = new ArconnectSigner(this._wallet, null as any); } // The API has been shown to be unreliable, so we call each function with a timeout @@ -61,7 +53,7 @@ export class ArConnectWalletConnector implements ArweaveWalletConnector { return; } // confirm they have the extension installed - localStorage.setItem('walletType', WALLET_TYPES.ARCONNECT); + localStorage.setItem(KEY_WALLET_TYPE, WALLET_TYPES.ARCONNECT); const permissions = await this.safeArconnectApiExecutor( this._wallet?.getPermissions, ); @@ -86,15 +78,14 @@ export class ArConnectWalletConnector implements ArweaveWalletConnector { // TODO: add arweave configs here ) .catch((err) => { - localStorage.removeItem('walletType'); + localStorage.removeItem(KEY_WALLET_TYPE); console.error(err); throw new ArconnectError('User cancelled authentication.'); }); - // this.signer.signer.bind(this); } async disconnect(): Promise { - localStorage.removeItem('walletType'); + localStorage.removeItem(KEY_WALLET_TYPE); return this.safeArconnectApiExecutor(this._wallet?.disconnect); } diff --git a/src/store/index.ts b/src/store/index.ts index dfca185b..feee2116 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -1,5 +1,17 @@ -import { ArIO, ArIOReadable, EpochDistributionData } from '@ar.io/sdk/web'; -import { THEME_TYPES } from '@src/constants'; +import { + ArIO, + ArIOReadable, + ArIOWritable, + EpochDistributionData, + Gateway, +} from '@ar.io/sdk/web'; +import { + ARNS_REGISTRY_ADDRESS, + DEFAULT_ARWEAVE_HOST, + DEFAULT_ARWEAVE_PORT, + DEFAULT_ARWEAVE_PROTOCOL, + THEME_TYPES, +} from '@src/constants'; import { ArweaveWalletConnector } from '@src/types'; import { ArweaveTransactionID } from '@src/utils/ArweaveTransactionId'; import Arweave from 'arweave/web'; @@ -11,10 +23,12 @@ export type GlobalState = { theme: ThemeType; arweave: Arweave; arIOReadSDK: ArIOReadable; + arIOWriteableSDK?: ArIOWritable; blockHeight?: number; currentEpoch?: EpochDistributionData; walletAddress?: ArweaveTransactionID; wallet?: ArweaveWalletConnector; + gateway?: Gateway; balances: { ar: number; io: number; @@ -30,6 +44,8 @@ export type GlobalStateActions = { walletAddress?: ArweaveTransactionID, wallet?: ArweaveWalletConnector, ) => void; + setGateway: (gateway?: Gateway) => void; + setArIOWriteableSDK: (arIOWriteableSDK?: ArIOWritable) => void; setBalances(ar: number, io: number): void; setWalletStateInitialized: (initialized: boolean) => void; reset: () => void; @@ -37,8 +53,12 @@ export type GlobalStateActions = { export const initialGlobalState: GlobalState = { theme: THEME_TYPES.DARK, - arweave: Arweave.init({}), - arIOReadSDK: ArIO.init(), + arweave: Arweave.init({ + host: DEFAULT_ARWEAVE_HOST, + protocol: DEFAULT_ARWEAVE_PROTOCOL, + port: DEFAULT_ARWEAVE_PORT, + }), + arIOReadSDK: ArIO.init({ contractTxId: ARNS_REGISTRY_ADDRESS.toString() }), balances: { ar: 0, io: 0, @@ -64,12 +84,23 @@ export class GlobalStateActionBase implements GlobalStateActions { this.set({ currentEpoch }); }; - updateWallet = (walletAddress?: ArweaveTransactionID, wallet?: ArweaveWalletConnector) => { + updateWallet = ( + walletAddress?: ArweaveTransactionID, + wallet?: ArweaveWalletConnector, + ) => { this.set({ walletAddress, wallet }); }; + setGateway = (gateway?: Gateway) => { + this.set({ gateway }); + }; + + setArIOWriteableSDK = (arIOWriteableSDK?: ArIOWritable) => { + this.set({ arIOWriteableSDK }); + }; + setBalances = (ar: number, io: number) => { - this.set ({ balances: { ar, io } }); + this.set({ balances: { ar, io } }); }; setWalletStateInitialized = (initialized: boolean) => { diff --git a/src/store/persistent.ts b/src/store/persistent.ts new file mode 100644 index 00000000..d12cdca0 --- /dev/null +++ b/src/store/persistent.ts @@ -0,0 +1,35 @@ +import { JoinNetworkParams } from '@ar.io/sdk/web'; + +// KEYS FOR LOCAL STORAGE +export const KEY_WALLET_TYPE = 'walletType'; + +// PENDING DATA CACHE +export interface PendingDataCache { + pendingJoinNetworkParams?: JoinNetworkParams; +} + +export const getPendingDataCache = ( + walletAddress: string | undefined, +): PendingDataCache => { + if (!walletAddress) return {}; + const pendingDataCache = localStorage.getItem(walletAddress); + return pendingDataCache ? JSON.parse(pendingDataCache) : {}; +}; + +export const storePendingDataCache = ( + walletAddress: string, + pendingDataCache: PendingDataCache, +) => { + localStorage.setItem(walletAddress, JSON.stringify(pendingDataCache)); +}; + +export const updatePendingDataCache = ( + walletAddress: string, + pendingDataCache: PendingDataCache, +) => { + const currentPendingDataCache = getPendingDataCache(walletAddress); + storePendingDataCache(walletAddress, { + ...currentPendingDataCache, + ...pendingDataCache, + }); +}; diff --git a/src/utils/index.ts b/src/utils/index.ts index 26fe176f..fa5f4ee5 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,5 +1,9 @@ import { THEME_TYPES } from '../constants'; +const COMMA_NUMBER_FORMAT = new Intl.NumberFormat('en-US', { + maximumFractionDigits: 1, +}); + // for tailwind css, need the change the root export const applyThemePreference = (theme: string) => { const { DARK, LIGHT } = THEME_TYPES; @@ -34,4 +38,13 @@ export const formatBalance = (ar: number) => { export function mioToIo(mio: number): number { return mio / 1_000_000; -} \ No newline at end of file +} + +/** Format number with commas, with maximum one fraction digit */ +export function formatWithCommas(num: number) { + return COMMA_NUMBER_FORMAT.format(num); +} + +/** Utility for simulating delay times. Useful for development work and testing; + * do not use in production code. */ +export const delay = (ms: number) => new Promise((res) => setTimeout(res, ms)); diff --git a/src/utils/toast.tsx b/src/utils/toast.tsx new file mode 100644 index 00000000..98cae1ed --- /dev/null +++ b/src/utils/toast.tsx @@ -0,0 +1,15 @@ +import { ToastCloseIcon } from '@src/components/icons'; +import toast from 'react-hot-toast'; + +export const showErrorToast = (message: string) => { + toast.custom((t) => { + return ( +
+
{message}
+ +
+ ); + }); +}; diff --git a/tailwind.config.js b/tailwind.config.js index 9763b70f..67bfe0d0 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -20,16 +20,19 @@ export default { transparent: 'transparent', 'gradient-primary-start': '#F7C3A1', 'gradient-primary-end': '#DF9BE8', + 'gradient-red-start': '#FFB4B4', + 'gradient-red-end': '#FF6C6C', 'btn-primary-base': '#0e0e0f', 'btn-primary-gradient-start': 'rgba(102, 102, 102, 0.06)', 'btn-primary-gradient-end': 'rgba(0, 0, 0 0.06)', 'btn-primary-outer-gradient-start': '#EEB3BFA3', 'btn-primary-outer-gradient-end': '#DF9BE808', divider: '#232329', - // these correspond to textHigh, textMid, textLow + // these correspond to textHigh, textMid, textLow high: '#CACAD6', mid: '#A3A3AD', low: '#7F7F87', + link: '#A3A3AD', }, }, plugins: [require('tailwindcss-animate')], diff --git a/yarn.lock b/yarn.lock index a2656603..a759c6c9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -25,18 +25,17 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@ar.io/sdk@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@ar.io/sdk/-/sdk-1.0.3.tgz#bd707e428f33096f0c5c18edfa0d31fca7a8daed" - integrity sha512-sPmSlGs6ppU6Ou2q2zVhCeFtk6S91xlRgVF0FliPxlwkNHoVpbRXpssfFXgMlu0hZ3B0ApvawGfUM9nWh9t+Nw== +"@ar.io/sdk@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@ar.io/sdk/-/sdk-1.0.6.tgz#2491803c717f692a729027f6d7d039a94eac4087" + integrity sha512-0UlfPDKrI9n3813BX7Wtpu1ZMmfXC2ArJJDMzdaHw9s0+2hdLsXTCCpQqNht5jGGd0iccurI1gINL0yo8WE3tA== dependencies: arbundles "0.11.0" arweave "1.14.4" axios "1.4.0" - setimmediate "^1.0.5" + bunyan "^1.8.15" warp-arbundles "^1.0.4" - warp-contracts "1.4.39" - winston "^3.11.0" + warp-contracts "1.4.43" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2": version "7.24.2" @@ -1046,6 +1045,13 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.13.10": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.5.tgz#230946857c053a36ccc66e1dd03b17dd0c4ed02c" + integrity sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.22.15", "@babel/template@^7.24.0", "@babel/template@^7.3.3": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" @@ -1709,6 +1715,33 @@ resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== +"@floating-ui/core@^1.0.0": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.1.tgz#a4e6fef1b069cda533cbc7a4998c083a37f37573" + integrity sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A== + dependencies: + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/dom@^1.0.0": + version "1.6.4" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.4.tgz#3a9d1f3b7ccdab89a4ca05713acc6204b1f67a29" + integrity sha512-0G8R+zOvQsAG1pg2Q99P21jiqxqGBW1iRe/iXHsBRBxnpXKFI8QwbB4x5KmYLggNO5m34IQgOIu9SCRfR/WWiQ== + dependencies: + "@floating-ui/core" "^1.0.0" + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/react-dom@^2.0.0": + version "2.0.9" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.9.tgz#264ba8b061000baa132b5910f0427a6acf7ad7ce" + integrity sha512-q0umO0+LQK4+p6aGyvzASqKbKOJcAHJ7ycE9CuUvfx3s9zTHWmGJTPOIlM/hmSBfUfg/XfY5YhLBLR/LHwShQQ== + dependencies: + "@floating-ui/dom" "^1.0.0" + +"@floating-ui/utils@^0.2.0": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.2.tgz#d8bae93ac8b815b2bd7a98078cf91e2724ef11e5" + integrity sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw== + "@fontsource/rubik@^5.0.19": version "5.0.20" resolved "https://registry.yarnpkg.com/@fontsource/rubik/-/rubik-5.0.20.tgz#1daf953cac4076dad45dc3a23df22c3e4e85a283" @@ -2048,6 +2081,185 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@radix-ui/primitive@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.0.1.tgz#e46f9958b35d10e9f6dc71c497305c22e3e55dbd" + integrity sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-arrow@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz#c24f7968996ed934d57fe6cde5d6ec7266e1d25d" + integrity sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-primitive" "1.0.3" + +"@radix-ui/react-compose-refs@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz#7ed868b66946aa6030e580b1ffca386dd4d21989" + integrity sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-context@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.0.1.tgz#fe46e67c96b240de59187dcb7a1a50ce3e2ec00c" + integrity sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-dismissable-layer@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz#3f98425b82b9068dfbab5db5fff3df6ebf48b9d4" + integrity sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" + "@radix-ui/react-use-escape-keydown" "1.0.3" + +"@radix-ui/react-id@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.0.1.tgz#73cdc181f650e4df24f0b6a5b7aa426b912c88c0" + integrity sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-layout-effect" "1.0.1" + +"@radix-ui/react-popper@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.1.3.tgz#24c03f527e7ac348fabf18c89795d85d21b00b42" + integrity sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w== + dependencies: + "@babel/runtime" "^7.13.10" + "@floating-ui/react-dom" "^2.0.0" + "@radix-ui/react-arrow" "1.0.3" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" + "@radix-ui/react-use-layout-effect" "1.0.1" + "@radix-ui/react-use-rect" "1.0.1" + "@radix-ui/react-use-size" "1.0.1" + "@radix-ui/rect" "1.0.1" + +"@radix-ui/react-portal@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.0.4.tgz#df4bfd353db3b1e84e639e9c63a5f2565fb00e15" + integrity sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-primitive" "1.0.3" + +"@radix-ui/react-presence@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.0.1.tgz#491990ba913b8e2a5db1b06b203cb24b5cdef9ba" + integrity sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-use-layout-effect" "1.0.1" + +"@radix-ui/react-primitive@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz#d49ea0f3f0b2fe3ab1cb5667eb03e8b843b914d0" + integrity sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-slot" "1.0.2" + +"@radix-ui/react-slot@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.0.2.tgz#a9ff4423eade67f501ffb32ec22064bc9d3099ab" + integrity sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "1.0.1" + +"@radix-ui/react-tooltip@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@radix-ui/react-tooltip/-/react-tooltip-1.0.7.tgz#8f55070f852e7e7450cc1d9210b793d2e5a7686e" + integrity sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-dismissable-layer" "1.0.5" + "@radix-ui/react-id" "1.0.1" + "@radix-ui/react-popper" "1.1.3" + "@radix-ui/react-portal" "1.0.4" + "@radix-ui/react-presence" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-slot" "1.0.2" + "@radix-ui/react-use-controllable-state" "1.0.1" + "@radix-ui/react-visually-hidden" "1.0.3" + +"@radix-ui/react-use-callback-ref@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz#f4bb1f27f2023c984e6534317ebc411fc181107a" + integrity sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-use-controllable-state@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz#ecd2ced34e6330caf89a82854aa2f77e07440286" + integrity sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-callback-ref" "1.0.1" + +"@radix-ui/react-use-escape-keydown@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz#217b840c250541609c66f67ed7bab2b733620755" + integrity sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-callback-ref" "1.0.1" + +"@radix-ui/react-use-layout-effect@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz#be8c7bc809b0c8934acf6657b577daf948a75399" + integrity sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-use-rect@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz#fde50b3bb9fd08f4a1cd204572e5943c244fcec2" + integrity sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/rect" "1.0.1" + +"@radix-ui/react-use-size@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz#1c5f5fea940a7d7ade77694bb98116fb49f870b2" + integrity sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-layout-effect" "1.0.1" + +"@radix-ui/react-visually-hidden@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz#51aed9dd0fe5abcad7dee2a234ad36106a6984ac" + integrity sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-primitive" "1.0.3" + +"@radix-ui/rect@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.0.1.tgz#bf8e7d947671996da2e30f4904ece343bc4a883f" + integrity sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@randlabs/communication-bridge@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@randlabs/communication-bridge/-/communication-bridge-1.0.1.tgz#d1ecfc29157afcbb0ca2d73122d67905eecb5bf3" @@ -3810,6 +4022,16 @@ builtin-status-codes@^3.0.0: resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== +bunyan@^1.8.15: + version "1.8.15" + resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.15.tgz#8ce34ca908a17d0776576ca1b2f6cbd916e93b46" + integrity sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig== + optionalDependencies: + dtrace-provider "~0.8" + moment "^2.19.3" + mv "~2" + safe-json-stringify "~1" + cac@^6.7.14: version "6.7.14" resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" @@ -4565,6 +4787,13 @@ dot-prop@^5.1.0: dependencies: is-obj "^2.0.0" +dtrace-provider@~0.8: + version "0.8.8" + resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.8.tgz#2996d5490c37e1347be263b423ed7b297fb0d97e" + integrity sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg== + dependencies: + nan "^2.14.0" + eastasianwidth@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" @@ -5445,6 +5674,17 @@ glob@^10.3.10, glob@^10.3.7: minipass "^7.0.4" path-scurry "^1.10.2" +glob@^6.0.1: + version "6.0.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" + integrity sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A== + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.3: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" @@ -5495,6 +5735,11 @@ globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" +goober@^2.1.10: + version "2.1.14" + resolved "https://registry.yarnpkg.com/goober/-/goober-2.1.14.tgz#4a5c94fc34dc086a8e6035360ae1800005135acd" + integrity sha512-4UpC0NdGyAFqLNPnhCT2iHpza2q+RAY3GV85a/mRPdzyPQMsj0KmMMuetdIkzWRbJ+Hgau1EZztq8ImmiMGhsg== + gopd@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" @@ -7001,6 +7246,18 @@ loose-envify@^1.1.0, loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" +lottie-react@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/lottie-react/-/lottie-react-2.4.0.tgz#f7249eee2b1deee70457a2d142194fdf2456e4bd" + integrity sha512-pDJGj+AQlnlyHvOHFK7vLdsDcvbuqvwPZdMlJ360wrzGFurXeKPr8SiRCjLf3LrNYKANQtSsh5dz9UYQHuqx4w== + dependencies: + lottie-web "^5.10.2" + +lottie-web@^5.10.2: + version "5.12.2" + resolved "https://registry.yarnpkg.com/lottie-web/-/lottie-web-5.12.2.tgz#579ca9fe6d3fd9e352571edd3c0be162492f68e5" + integrity sha512-uvhvYPC8kGPjXT3MyKMrL3JitEAmDMp30lVkuq/590Mw9ok6pWcFCwXJveo0t5uqYw1UREQHofD+jVpdjBv8wg== + lower-case@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" @@ -7180,6 +7437,13 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== +"minimatch@2 || 3", minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + minimatch@9.0.3: version "9.0.3" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" @@ -7187,13 +7451,6 @@ minimatch@9.0.3: dependencies: brace-expansion "^2.0.1" -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - minimatch@^5.1.0: version "5.1.6" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" @@ -7239,11 +7496,23 @@ minipass@^4.2.4: resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== +mkdirp@~0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + module-error@^1.0.1, module-error@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/module-error/-/module-error-1.0.2.tgz#8d1a48897ca883f47a45816d4fb3e3c6ba404d86" integrity sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA== +moment@^2.19.3: + version "2.30.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" + integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== + ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" @@ -7262,6 +7531,15 @@ multistream@^4.1.0: once "^1.4.0" readable-stream "^3.6.0" +mv@~2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" + integrity sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg== + dependencies: + mkdirp "~0.5.1" + ncp "~2.0.0" + rimraf "~2.4.0" + mz@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" @@ -7271,6 +7549,11 @@ mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" +nan@^2.14.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.19.0.tgz#bb58122ad55a6c5bc973303908d5b16cfdd5a8c0" + integrity sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw== + nanoid@^3.3.7: version "3.3.7" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" @@ -7286,6 +7569,11 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== +ncp@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" + integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA== + no-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" @@ -7999,6 +8287,13 @@ react-dom@^18.2.0: loose-envify "^1.1.0" scheduler "^0.23.0" +react-hot-toast@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/react-hot-toast/-/react-hot-toast-2.4.1.tgz#df04295eda8a7b12c4f968e54a61c8d36f4c0994" + integrity sha512-j8z+cQbWIM5LY37pR6uZR6D4LfseplqnuAO4co4u8917hBUvXlEqyP1ZzqVLcqoyUesZZv/ImreoCeHVDpE5pQ== + dependencies: + goober "^2.1.10" + react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" @@ -8288,6 +8583,13 @@ rimraf@^5.0.5: dependencies: glob "^10.3.7" +rimraf@~2.4.0: + version "2.4.5" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" + integrity sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ== + dependencies: + glob "^6.0.1" + ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -8365,6 +8667,11 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +safe-json-stringify@~1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" + integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== + safe-regex-test@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" @@ -8468,7 +8775,7 @@ set-function-name@^2.0.1, set-function-name@^2.0.2: functions-have-names "^1.2.3" has-property-descriptors "^1.0.2" -setimmediate@^1.0.4, setimmediate@^1.0.5: +setimmediate@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== @@ -9415,10 +9722,10 @@ warp-arbundles@^1.0.4: buffer "^6.0.3" warp-isomorphic "^1.0.7" -warp-contracts@1.4.39: - version "1.4.39" - resolved "https://registry.yarnpkg.com/warp-contracts/-/warp-contracts-1.4.39.tgz#b56f4baa61b633c04d8abba65ee5dfca333ffea5" - integrity sha512-Dyk9wjhYceLRSq+U5Ba8h2mTbMPeB1hjdnDhYJP825E7gcc3jGc12GTLynSBqx5eJscOtpGG5Z5SQNxcTOP7/A== +warp-contracts@1.4.43: + version "1.4.43" + resolved "https://registry.yarnpkg.com/warp-contracts/-/warp-contracts-1.4.43.tgz#070023842f11501aa9e4787a267db213505ef3e1" + integrity sha512-72mbYH7opfPoreTOLIWqOqOw8chhvd3iR4cAztaz+JawV7enY3SnpVyAW+erlu+/OoEb2TX2Ap4xNeShdp/paw== dependencies: archiver "^5.3.0" arweave "1.14.4"