diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..3f90fed --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,8 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true }, + extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'], + ignorePatterns: ['dist', '.eslintrc.cjs'], + parser: '@typescript-eslint/parser', + rules: {}, +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..1b8ac88 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,3 @@ +# Ignore artifacts: +build +coverage diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..c2eb088 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,11 @@ +{ + "printWidth": 80, + "singleQuote": true, + "semi": true, + "tabWidth": 2, + "useTabs": false, + "trailingComma": "all", + "bracketSpacing": true, + "arrowParens": "always", + "endOfLine": "lf" +} diff --git a/DOCUMENTATION.md b/DOCUMENTATION.md deleted file mode 100644 index 16b8eff..0000000 --- a/DOCUMENTATION.md +++ /dev/null @@ -1,56 +0,0 @@ -# CodePen Export with Build Process -_Transform raw code into a browser-ready preview... offline_ - -This package contains all of the original code ([src/](./src/)), and a custom build script with processors. You'll be able to edit and build for a local CodePen-like experience. - -## Installation - -Ensure you have a recent version of [node & npm](https://nodejs.org/en/download/) or [yarn](https://yarnpkg.com/en/docs/install) installed. - -All of the following steps run on the command line within this directory. You can substitute `npm` for `yarn` depending on your preferences. - -Install all the necessary packages: - -``` -npm install -``` - -## Build - -To build for distribution: - -``` -npm run build -``` - -All of the final output will be dropped into the [/dist/](./dist) folder. - -## Server - -Run a local server that will automatically compile your code & refresh when you save a change! - -``` -npm run serve -``` - ---- - -## Folder Structure - -``` -/exported-item/ -|-- /build/ - Build scripts -| |-- gulpfile.js - The tasks for the main build process -| |-- util.js - Utilities used by the tasks -| -|-- /src/ - Your code -| |-- index.template.html - The wrapper around your compiled HTML that includes any external stylesheets and scripts -| |-- index.partial.(html|pug|haml|...) - The raw HTML input or preprocessor equivalent -| |-- style.(css|scss|less|...) - The raw CSS input, or preprocessor equivalent -| |-- script.(js|ts|coffee|...) - The raw JavaScript input, or preprocessor equivalent -| -|-- /dist/ - The compiled output after running `npm run build` -| |-- index.html -| |-- script.js -| |-- style.css -``` \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 96ac3a6..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 Takane Ichinose - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index 9826abd..0000000 --- a/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2022 by Takane Ichinose (https://codepen.io/takaneichinose/pen/dympyjN) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index e51bb9b..637c652 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,4 @@ -# Brave Chicky Dice Adventure - -A Pen created on CodePen.io. Original URL: [https://codepen.io/takaneichinose/pen/dympyjN](https://codepen.io/takaneichinose/pen/dympyjN). - -スクリーンショット 2022-07-15 0 22 06 +# Bravy Chicky Dice Adventure ## Description @@ -14,12 +10,10 @@ There are 4 possible commands to fight the ghost defending the Natural Tower. By rolling the dice, you can guide Chicky with the possible commands depends on the number appeared on the dice. -``` -== 1 Do nothing ->= 2 Defend ->= 3 Defend, Attack ->= 5 Defend, Attack, Heal -``` +- `n == 1` Do nothing +- `n >= 2` Able to Defend +- `n >= 3` Able to Defend, and Attack +- `n >= 5` Able to Defend, Attack, and Heal Also, you may challenge your friends and brag your highest score. @@ -27,13 +21,38 @@ I haven't been ditching practicing web development these days, and I had hard ti This game is best viewed in landscape mode. -## Resources +## Requirements + +1. Text editor (Preferred Visual Studio Code) +1. Terminal (I use the built-in terminal on Visual Studio Code) -- [ThreeJS](https://threejs.org) for 3D rendering and graphics -- [GSAP](https://greensock.com) for animation -- [ReactJS](https://reactjs.org) for UI +## Building the program + +For my future reference, below is the way to build the program. + +1. Clone the repository +1. Install the dependencies using this command: + `# npm` +1. Build the main program using this command: + `# npm run build` +1. At the step above, the distributed program will be produced, and _dist_ folder will be generated. The step from here will be optional if you want to run the program on the localhost. +1. Create a local virtual server using this command: + `# npm run dev` +1. After building, it can be accessed at [http://localhost:5173/](http://localhost:5173/). + +## Resources -- [MagicaVoxel](https://ephtracy.github.io) to create all the 3D models. -- [Aseprite](https://www.aseprite.org) for background, dice, and effect. -- [PICO-8](https://www.aseprite.org) for the colour palette used for graphics. -- [Press Start 2P](https://fonts.google.com/specimen/Press+Start+2P) for the fonts in the UI. +1. [Blockbench](https://www.blockbench.net/) Low poly 3D model creation tool +1. [Aseprite](https://www.aseprite.org/) Image creation software for textures +1. [ThreeJS](https://threejs.org/) 3D Rendering engine used for the game +1. [tween.js](https://tweenjs.github.io/tween.js/) Animation or tweening +1. [TailwindCSS](https://tailwindcss.com/) CSS framework for easy styling +1. [howler.js](https://howlerjs.com/) Audio playing library +1. [Vite](https://vitejs.dev/) Build tool for the web +1. [TypeScript](https://www.typescriptlang.org/) Type safety JavaScript transpiler +1. [NodeJS](https://nodejs.org/en/) Runtime JavaScript used for building the app +1. [npm](https://www.npmjs.com/) Package manager for NodeJS +1. [Silkscreen](https://fonts.google.com/specimen/Silkscreen) Pixel-art fonts +1. [Misaki](https://littlelimit.net/misaki.htm) Pixel-art fonts +1. [PICO-8 Secret Palette](https://lospec.com/palette-list/pico-8-secret-palette) All PICO-8 palettes and its hidden colours +1. [Visual Studio Code](https://code.visualstudio.com/) Text editor (IDE) I used for development diff --git a/build/gulpfile.js b/build/gulpfile.js deleted file mode 100644 index 68c8f09..0000000 --- a/build/gulpfile.js +++ /dev/null @@ -1,77 +0,0 @@ -const { src, dest, series, watch } = require('gulp'); -const del = require('del'); - -const { config, tasks } = require('../package.json'); -const { makeTask } = require('./util.js'); - -/* Make sure each task has its key inserted. */ -Object.keys(tasks).forEach((key) => { - tasks[key].key = key; -}); - -/* - * Tasks loaded from package.json and converted into runnable task functions */ -const taskFns = Object.keys(tasks).reduce((obj, key) => { - obj[key] = makeTask(tasks[key]); - return obj; -}, {}); - -/* - * Array of tasks sorted by their `order` property for running in series. - */ -const orderedTasks = - // Get all of the processors as an array - Object.values(tasks) - // Sort by the order value - .sort((a, b) => (a.order < b.order ? -1 : 1)) - // Turn into processor tasks - .map(makeTask) - // Flatten into a single array - .reduce((arr, task) => arr.concat(task), []); - -/* - * Remove all files from the dist dir. - */ -function clean(done) { - del.sync([config.distDir]); - return done(); -} - -/* - * Copy src files to the dist dir for processing. The tasks will cleanup unneeded files. - */ -function copyToDist() { - return src([config.srcDir + '**/*.*', '!**/_*.*']).pipe(dest(config.distDir)); -} - -/* - * $ npm run build - * The default build task, running these tasks in series. - */ -const build = series(clean, copyToDist, ...orderedTasks); - -module.exports = { - default: build, - build, - - /* - * $ npm run serve - * A watch task to run a local server with auto-refreshing when files are changed - */ - serve: series(build, () => { - const browserSync = require('browser-sync').create(); - - function refresh(done) { - browserSync.reload(); - done(); - } - - browserSync.init({ - server: config.distDir - }); - - watch([config.srcDir + '**/*.*'], series(build, refresh)); - }), - - ...taskFns -}; \ No newline at end of file diff --git a/build/util.js b/build/util.js deleted file mode 100644 index dd14302..0000000 --- a/build/util.js +++ /dev/null @@ -1,96 +0,0 @@ -const { src, dest, series } = require('gulp'); -const rename = require('gulp-rename'); -const del = require('del'); - -const { config } = require('../package.json'); - -/* - * Typical PreProcessor workflow - * Reads files from /src/ directory, runs processes, and outputs to /dist/ directory - * - * Pass in a `rename` option to rename the processed files - * Pass in a `cleanup` parameter to remove unnecessary files - */ -function makeTask(opts) { - const { key, pipe = [] } = opts; - - function runTask() { - // Gather the files from the entry directory (dir) - src( - opts.src.map((file) => config.srcDir + file), - { - sourcemaps: config.sourcemaps - } - ).pipe(dest(config.distDir)); // Copy to the Dist dir - - const filesToModify = src( - opts.src.map((file) => config.distDir + file), - { - sourcemaps: config.sourcemaps - } - ); // Make sure we include any additional files from the dist dir - - const pipes = pipe.map((processor) => { - const fn = require(processor.require); - return fn.apply(null, processor.args); - }); - - if (opts.rename) { - pipes.push(makeRename(opts.rename)); - } - - // Pipe the files through the all of the task's functions - return ( - pipes - .reduce((stream, processor) => { - return stream.pipe(processor); - }, filesToModify) - - // Pipe the output to the destination - .pipe( - dest(config.distDir, { - sourcemaps: '.' - }) - ) - ); - } - - runTask.displayName = key; - - if (opts.cleanup) { - return series(runTask, makeCleanup(opts)); - } - - return runTask; -} - -/* - * Rename files in the pipeline. - */ -function makeRename(opts) { - // Find & replace of the basename if `find` option passed in - if (opts.find) { - return rename(function (path) { - path.basename = path.basename.replace(opts.find, opts.replace); - }); - } - - return rename(opts); -} - -/* - * Delete unnecessary files in the /dist/ directory - */ -function makeCleanup(opts) { - function runCleanup(done) { - const filesToDelete = Array.isArray(opts.cleanup) ? opts.cleanup : opts.src; - del.sync(filesToDelete.map((file) => config.distDir + file)); - done(); - } - runCleanup.displayName = 'cleanup:' + opts.key; - return runCleanup; -} - -module.exports = { - makeTask -}; \ No newline at end of file diff --git a/dist/index.html b/dist/index.html deleted file mode 100644 index 259393d..0000000 --- a/dist/index.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - CodePen - Brave Chicky Dice Adventure - - - - - - - - - - - - - - - - - - - - - -
- - - - - diff --git a/dist/script.js b/dist/script.js deleted file mode 100644 index b5550ae..0000000 --- a/dist/script.js +++ /dev/null @@ -1,913 +0,0 @@ -'use strict'; -import * as THREE from 'https://cdn.skypack.dev/three@0.135.0'; -import { MTLLoader } from 'https://cdn.skypack.dev/three@0.135.0/examples/jsm/loaders/MTLLoader.js'; -import { DDSLoader } from 'https://cdn.skypack.dev/three@0.135.0/examples/jsm/loaders/DDSLoader.js'; -import { OBJLoader } from 'https://cdn.skypack.dev/three@0.135.0/examples/jsm/loaders/OBJLoader.js'; -import React, { useState, useEffect, useRef } from 'https://cdn.skypack.dev/react@18.2.0'; -import ReactDOM from 'https://cdn.skypack.dev/react-dom@18.2.0'; -import gsap from 'https://cdn.skypack.dev/gsap@3.10.4'; -console.clear(); -const IS_DEBUG = false; -const ASSETS_PATH = 'https://assets.codepen.io/430361'; -const FPS = 24; -const SCREEN = [{ - FOV: 65, - Y: 2, - Z: 7, - }, { - FOV: 45, - Y: 1.15, - Z: 6.5 - }]; -const DEFAULT_LIFE = 40; -const DEFAULT_ENEMY_LIFE = 10; -const COMMANDS = ['Skip', 'Defend', 'Attack', 'Heal']; -let scene; -let camera; -let renderer; -let chicky; -let ghost; -let stage; -let dice; -let renderTimeout = 0; -////////////////////////////////////////////////// -// ENUMS -var ObjectType; -(function (ObjectType) { - ObjectType[ObjectType["Chicky"] = 0] = "Chicky"; - ObjectType[ObjectType["Ghost"] = 1] = "Ghost"; -})(ObjectType || (ObjectType = {})); -var FadeType; -(function (FadeType) { - FadeType[FadeType["Hidden"] = 0] = "Hidden"; - FadeType[FadeType["In"] = 1] = "In"; - FadeType[FadeType["Out"] = 2] = "Out"; -})(FadeType || (FadeType = {})); -var FloorType; -(function (FloorType) { - FloorType[FloorType["None"] = 0] = "None"; - FloorType[FloorType["Next"] = 1] = "Next"; - FloorType[FloorType["Reset"] = 2] = "Reset"; -})(FloorType || (FloorType = {})); -////////////////////////////////////////////////// -// HELPERS -function getRadian(degree) { - return degree * Math.PI / 180; -} -function random(min, max) { - return Math.round(Math.random() * (max - min) + min); -} -////////////////////////////////////////////////// -// ThreeJS Settings -function setRenderer() { - renderer.setPixelRatio(window.devicePixelRatio); - renderer.setSize(window.innerWidth, window.innerHeight); - // renderer.setClearColor(SKY_COLOR); - renderer.shadowMap.enabled = true; - renderer.shadowMap.type = THREE.PCFSoftShadowMap; - document.body.appendChild(renderer.domElement); -} -function setLighting() { - const ambientColor = 0xffffff; - const ambientIntensity = 0.7; - const ambientLight = new THREE.AmbientLight(ambientColor, ambientIntensity); - scene.add(ambientLight); - const directionalColor = 0xffffff; - const directionalIntensity = 0.8; - const directionalLight = new THREE.DirectionalLight(directionalColor, directionalIntensity); - const directionalX = -3; - const directionalY = 5; - const directionalZ = 2; - directionalLight.position.set(directionalX, directionalY, directionalZ); - directionalLight.castShadow = true; - directionalLight.shadow.camera.near = 0.1; - directionalLight.shadow.camera.far = 100; - directionalLight.shadow.bias = -0.0005; - scene.add(directionalLight); - if (IS_DEBUG) { - scene.add(new THREE.CameraHelper(directionalLight.shadow.camera)); - } -} -function setScreenSettings() { - let fov = SCREEN[0].FOV; - let y = SCREEN[0].Y; - let z = SCREEN[0].Z; - if (window.innerWidth > 525) { - fov = SCREEN[1].FOV; - y = SCREEN[1].Y; - z = SCREEN[1].Z; - } - camera.fov = fov; - camera.position.y = y; - camera.position.z = z; -} -////////////////////////////////////////////////// -// ThreeJS Models -function loadModel(name) { - return new Promise((resolve, reject) => { - const manager = new THREE.LoadingManager(); - manager.addHandler(/\.dds$/i, new DDSLoader()); - new MTLLoader(manager) - .load(`${ASSETS_PATH}/${name}.mtl`, (materials) => { - materials.preload(); - new OBJLoader() - .setMaterials(materials) - .load(`${ASSETS_PATH}/${name}.obj`, (obj) => { - obj.traverse((o) => { - o.castShadow = true; - o.receiveShadow = true; - }); - resolve(obj); - }, undefined, (error) => { - reject(error); - }); - }); - }); -} -async function setChicky() { - chicky = await loadModel('RogueLikeChicky-5'); - scene.add(chicky); - chicky.position.set(-2, 0, 0); - chicky.traverse((obj) => { - if (obj.isMesh === true) { - obj.rotateY(getRadian(90)); - } - }); -} -async function setGhost() { - ghost = await loadModel('RogueLikeGhost-6'); - scene.add(ghost); - ghost.position.set(2, 0, 0); - ghost.traverse((obj) => { - if (obj.isMesh === true) { - obj.rotateY(getRadian(-90)); - } - }); -} -async function setStage() { - stage = await loadModel('RogueLikeStage'); - scene.add(stage); - stage.position.set(0, -1.6, 0); -} -async function setDice() { - dice = await loadModel('RogueLikeDice'); - scene.add(dice); - dice.visible = false; -} -////////////////////////////////////////////////// -// Game Functions -function animateFloor(callback) { - let y = SCREEN[0].Y; - let z = SCREEN[0].Z; - if (window.innerWidth > 525) { - y = SCREEN[1].Y; - z = SCREEN[1].Z; - } - gsap.fromTo(camera.position, { - y: 0, - z: 0, - }, { - y: y, - z: z, - duration: 0.75, - ease: 'back.out(1.5)', - onComplete() { - callback(); - }, - }); -} -function doSkip(obj) { - return new Promise((resolve) => { - let tl = gsap.timeline(); - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 0.9, - y: 1.1, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1, - y: 1, - duration: 1, - ease: 'elastic.out', - onComplete() { - resolve(); - }, - }); - }); -} -function doAttack(obj, type) { - return new Promise((resolve) => { - let tl = gsap.timeline(); - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.3, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1, - y: 1, - duration: 0.3, - ease: 'elastic.out', - }); - tl.to(obj.position, { - y: 0.8, - duration: 0.3, - ease: 'power3.out', - }, '-=0.3'); - tl.to(obj.position, { - y: 0, - duration: 0.3, - ease: 'power3.in', - }); - tl.to(obj.position, { - x: (type === ObjectType.Chicky) ? 2 : -2, - duration: 0.8, - ease: 'power1.out', - }, '-=0.6'); - tl.to(obj.scale, { - x: 1.1, - y: 0.9, - duration: 0.1, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1, - y: 1, - duration: 0.35, - ease: 'elastic.out', - }); - tl.to(obj.rotation, { - y: getRadian(-25), - z: getRadian(-10), - ease: 'power4.out', - duration: 0.2, - delay: 0.05, - onComplete() { - let obj2 = (type === ObjectType.Chicky) ? ghost : chicky; - let tl2 = gsap.timeline(); - tl2.to(obj2.position, { - x: obj2.position.x - ((type === ObjectType.Chicky) ? -0.15 : 0.15), - ease: 'power4.out', - duration: 0.1, - delay: 0.5, - }); - tl2.to(obj2.position, { - x: obj2.position.x + ((type === ObjectType.Chicky) ? -0.15 : 0.15), - ease: 'bounce.out', - duration: 0.5, - }); - }, - }); - tl.to(obj.rotation, { - y: getRadian(45), - z: getRadian((type === ObjectType.Chicky) ? -20 : 20), - ease: 'power4.inOut', - duration: 0.5, - }); - tl.to(obj.rotation, { - y: 0, - z: 0, - ease: 'bounce.out', - duration: 0.4, - delay: 0.25, - }); - tl.to(obj.position, { - y: 0.2, - duration: 0.3, - ease: 'power4.out', - delay: 0.2, - }); - tl.to(obj.position, { - x: (type === ObjectType.Chicky) ? -2 : 2, - duration: 0.6, - ease: 'power1.out', - }, '-=0.2'); - tl.to(obj.rotation, { - z: getRadian((type === ObjectType.Chicky) ? 10 : -10), - duration: 0.1, - ease: 'power1.out', - }, '-=0.6'); - tl.to(obj.rotation, { - z: 0, - duration: 0.1, - ease: 'power1.out', - }, '-=0.3'); - tl.to(obj.position, { - y: 0, - duration: 0.3, - ease: 'power4.out', - }, '-=0.2'); - tl.to(obj.scale, { - x: 1.1, - y: 0.9, - duration: 0.2, - ease: 'power4.out', - }, '-=0.2'); - tl.to(obj.scale, { - x: 1, - y: 1, - duration: 0.4, - ease: 'elastic.out', - onComplete() { - resolve(); - }, - }); - }); -} -function doDefend(obj, type) { - return new Promise((resolve) => { - let tl = gsap.timeline(); - tl.to(obj.rotation, { - y: getRadian((type === ObjectType.Chicky) ? -90 : 90), - ease: 'power4.out', - duration: 0.75, - }); - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.15, - delay: 0.2, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 0.9, - y: 1.1, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1, - y: 1, - duration: 1, - ease: 'elastic.out', - }); - tl.to(obj.rotation, { - y: 0, - ease: 'power4.out', - duration: 0.75, - onComplete() { - resolve(); - }, - }); - }); -} -function doHeal(obj, type) { - return new Promise((resolve) => { - let tl = gsap.timeline(); - tl.to(obj.rotation, { - y: getRadian((type === ObjectType.Chicky) ? 720 : -720), - ease: 'power2.out', - duration: 2, - }); - tl.to(obj.position, { - y: 1.5, - ease: 'power2.out', - duration: 1, - }, '-=2'); - tl.to(obj.position, { - y: 0, - ease: 'power2.in', - duration: 1, - }, '-=1'); - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 0.9, - y: 1.1, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1, - y: 1, - duration: 1, - ease: 'elastic.out', - onComplete() { - obj.rotation.y = 0; - resolve(); - }, - }); - }); -} -function doCommand(command, type) { - let obj; - if (type === ObjectType.Chicky) { - obj = chicky; - } - else if (type === ObjectType.Ghost) { - obj = ghost; - } - return new Promise(async (resolve) => { - switch (command) { - case 0: - await doSkip(obj); - break; - case 1: - await doDefend(obj, type); - break; - case 2: - await doAttack(obj, type); - break; - case 3: - await doHeal(obj, type); - break; - } - resolve(); - }); -} -function animateDefeat(type) { - let obj; - if (type === ObjectType.Chicky) { - obj = chicky; - } - else if (type === ObjectType.Ghost) { - obj = ghost; - } - return new Promise((resolve) => { - let tl = gsap.timeline(); - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1, - y: 1, - duration: 0.5, - ease: 'elastic.out', - }); - tl.to(obj.position, { - y: 1.2, - x: (type === ObjectType.Chicky) ? -2.5 : 2.5, - duration: 0.3, - ease: 'power4.out', - }); - tl.to(obj.rotation, { - z: getRadian((type === ObjectType.Chicky) ? 90 : -90), - duration: 0.5, - ease: 'power4.out', - }, '-=0.3'); - tl.to(obj.position, { - y: 0.9, - duration: 0.5, - ease: 'bounce.out', - onComplete() { - resolve(); - }, - }, '-=0.3'); - }); -} -function doChangeFloor(callback) { - return new Promise((resolve) => { - let tl = new gsap.timeline(); - tl.to(stage.position, { - x: -6, - duration: 2, - }); - tl.to(ghost.position, { - x: -4, - duration: 2, - }, '-=2'); - tl.to(chicky.position, { - y: 0.2, - yoyo: true, - ease: 'power2.out', - repeat: 12, - duration: 0.1, - }, '-=2'); - tl.fromTo(chicky.rotation, { - y: getRadian(5), - }, { - y: getRadian(-5), - yoyo: true, - ease: 'power2.inOut', - repeat: 6, - duration: 0.2, - onComplete() { - resolve(); - }, - }, '-=2'); - }); -} -function repositionFloor() { - return new Promise((resolve) => { - let tl = gsap.timeline(); - tl.to(chicky.position, { - x: -2, - y: 0, - duration: 0.1, - }); - tl.to(chicky.rotation, { - y: 0, - z: 0, - duration: 0.1, - }); - tl.to(ghost.position, { - x: 2, - y: 0, - duration: 0.1, - }); - tl.to(ghost.rotation, { - z: 0, - duration: 0.1, - }); - tl.to(stage.position, { - x: 0, - duration: 0.1, - onComplete() { - resolve(); - }, - }); - }); -} -////////////////////////////////////////////////// -// Game Settings -async function create(callback) { - setRenderer(); - if (IS_DEBUG) { - scene.add(new THREE.CameraHelper(camera)); - } - setLighting(); - await setChicky(); - await setGhost(); - await setStage(); - // await setDice(); - animateFloor(callback); -} -function update() { -} -function render() { - if (performance.now() - renderTimeout > 1000 / FPS) { - renderTimeout = performance.now(); - renderer.render(scene, camera); - } -} -function loop() { - requestAnimationFrame(loop); - update(); - render(); -} -////////////////////////////////////////////////// -// Initialization -async function initialize(gameCanvas, callback) { - let fov = SCREEN[0].FOV; - if (window.innerWidth > 525) { - fov = SCREEN[1].FOV; - } - scene = new THREE.Scene(); - camera = new THREE.PerspectiveCamera(fov, window.innerWidth / window.innerHeight, 0.1, 1000); - renderer = new THREE.WebGLRenderer({ - canvas: gameCanvas, - antialias: true, - alpha: true, - }); - await create(callback); - loop(); -} -////////////////////////////////////////////////// -// ReactJS Components -function CommandMenu(props) { - const [item, setItem] = useState(null); - useEffect(() => { - setItem(null); - }, [props.shown]); - if (props.shown === false) { - return null; - } - let menuClassName = 'command'; - if (item !== null) { - menuClassName += ' selected'; - } - return (React.createElement("div", { className: menuClassName, onAnimationEnd: (evt) => { - if (evt.animationName === 'fade-out') { - props.onSelect(item); - } - } }, props.items.map((i, k) => { - let itemClassName = 'command-item'; - if (item === k) { - itemClassName += ' selected'; - } - if (props.allowed[k] === undefined) { - itemClassName += ' disabled'; - } - return (React.createElement("a", { href: "#", className: itemClassName, onClick: (evt) => { - evt.preventDefault(); - if (props.allowed[k] === undefined) { - return; - } - if (item === null) { - setItem(k); - } - } }, i)); - }))); -} -function DiceArea(props) { - const [diceStyle, setDiceStyle] = useState({ - '--number': '-0vmin', - '--rotation': '0deg', - }); - const [diceValue, setDiceValue] = useState(null); - useEffect(() => { - if (props.shown === false) { - return; - } - let diceOccurence = { - count: 0, - num: [], - rotation: 0, - }; - for (let i = 0; i < 20; i++) { - diceOccurence.num[i] = random(1, 6); - } - gsap.fromTo(diceOccurence, { - count: 0, - rotation: 0, - }, { - count: diceOccurence.num.length - 1, - rotation: 720, - ease: 'power2.out', - duration: 1.5, - onUpdate() { - let i = Math.floor(diceOccurence.count); - let num = diceOccurence.num[i]; - setDiceStyle({ - '--number': `${num * -50}vmin`, - '--rotation': `${diceOccurence.rotation}deg`, - }); - }, - onComplete() { - setTimeout(() => { - let value = diceOccurence.num.pop() + 1; - value = (value > 6) ? (value - 6) : value; - setDiceValue(value); - }, 512); - }, - }); - }, [props.shown]); - if (props.shown === false) { - return null; - } - let diceAreaStyle = 'dice-area'; - if (diceValue !== null) { - diceAreaStyle += ' hidden'; - } - return (React.createElement("div", { className: diceAreaStyle, onAnimationEnd: (evt) => { - if (evt.animationName === 'fade-out') { - setDiceStyle({ - '--number': '-0vmin', - '--rotation': '0deg', - }); - setDiceValue(null); - props.onSelect(diceValue); - } - } }, - React.createElement("div", { className: "dice", style: diceStyle }))); -} -function Fade(props) { - if (props.type === FadeType.Hidden) { - return null; - } - let fadeClassName = 'fade'; - if (props.type === FadeType.In) { - fadeClassName += ' fade-in'; - } - else if (props.type === FadeType.Out) { - fadeClassName += ' fade-out'; - } - return (React.createElement("div", { className: fadeClassName, onAnimationEnd: (evt) => { - props.onFadeEnd(evt.animationName); - } })); -} -function CommandEffect(props) { - if (props.shown === false) { - return null; - } - let imageUrl = `url(${ASSETS_PATH}/${props.link})`; - return (React.createElement("div", { className: "effect", onAnimationEnd: (evt) => { - if (evt.animationName === 'fade-out') { - props.onEnded(); - } - } }, - React.createElement("div", { className: "effect-image", style: { '--image-url': imageUrl } }))); -} -function ChickyAdventure() { - const [turn, setTurn] = useState(ObjectType.Chicky); - const [life, setLife] = useState(DEFAULT_LIFE); - const [enemyLife, setEnemyLife] = useState(DEFAULT_ENEMY_LIFE); - const [defend, setDefend] = useState(0); - const [enemyDefend, setEnemyDefend] = useState(0); - const [floor, setFloor] = useState(1); - const [diceCmdShown, setDiceCmdShown] = useState(false); - const [diceShown, setDiceShown] = useState(false); - const [diceValue, setDiceValue] = useState(null); - const [allowedCommand, setAllowedCommand] = useState([]); - const [fadeType, setFadeType] = useState(FadeType.Hidden); - const [floorType, setFloorType] = useState(FloorType.None); - const [showGameOver, setShowGameOver] = useState(false); - const [showDefendEffect, setShowDefendEffect] = useState(false); - const [showAttackEffect, setShowAttackEffect] = useState(false); - const [showHealEffect, setShowHealEffect] = useState(false); - let canvasElm = useRef(null); - useEffect(() => { - initialize(canvasElm.current, () => { - setDiceCmdShown(true); - }); - window.addEventListener('resize', (evt) => { - camera.aspect = window.innerWidth / window.innerHeight; - camera.updateProjectionMatrix(); - renderer.setSize(window.innerWidth, window.innerHeight); - setScreenSettings(); - }); - }, []); - useEffect(() => { - if (diceValue === null) { - return; - } - let tmpAllowedCommand = []; - tmpAllowedCommand = [...tmpAllowedCommand, 0]; - if (diceValue >= 2) { - tmpAllowedCommand = [...tmpAllowedCommand, 1]; - } - if (diceValue >= 3) { - tmpAllowedCommand = [...tmpAllowedCommand, 2]; - } - if (diceValue >= 5) { - tmpAllowedCommand = [...tmpAllowedCommand, 3]; - } - setAllowedCommand(tmpAllowedCommand); - }, [diceValue]); - useEffect(() => { - if (turn === ObjectType.Chicky) { - return; - } - setDiceShown(true); - }, [turn]); - const doEnemyTurn = async (value) => { - if (value < 3) { - await doCommand(0, ObjectType.Ghost); - } - else { - setShowAttackEffect(true); - await doCommand(2, ObjectType.Ghost); - let damage = value - defend; - damage = (damage < 0) ? 0 : damage; - setDefend(0); - if (life - damage <= 0) { - setLife(0); - await animateDefeat(ObjectType.Chicky); - setShowGameOver(true); - return; - } - else { - setLife(life - damage); - } - } - setTurn(ObjectType.Chicky); - setDiceCmdShown(true); - }; - const doChickyTurn = async (value) => { - switch (value) { - case 1: - setShowDefendEffect(true); - break; - case 2: - setShowAttackEffect(true); - break; - case 3: - setShowHealEffect(true); - break; - } - await doCommand(value, ObjectType.Chicky); - switch (value) { - case 1: - setDefend(diceValue); - break; - case 2: - let damage = diceValue - enemyDefend; - damage = (damage < 0) ? 0 : damage; - setEnemyDefend(0); - if (enemyLife - damage <= 0) { - setEnemyLife(0); - await animateDefeat(ObjectType.Ghost); - changeFloor(); - return; - } - else { - setEnemyLife(enemyLife - damage); - } - break; - case 3: - setLife(life + diceValue); - break; - } - setTurn(ObjectType.Ghost); - }; - const changeFloor = () => { - setTimeout(async () => { - await doChangeFloor(); - setFloorType(FloorType.Next); - setFadeType(FadeType.In); - }, 512); - }; - const changeFloorFade = async (fadeType) => { - if (fadeType === 'fade-in') { - if (floorType === FloorType.Reset) { - setFloor(1); - setLife(DEFAULT_LIFE); - setEnemyLife(DEFAULT_ENEMY_LIFE); - } - else if (floorType === FloorType.Next) { - setFloor(floor + 1); - setEnemyLife(DEFAULT_ENEMY_LIFE + Math.floor((floor / 8) * 2)); - } - await repositionFloor(); - setFadeType(FadeType.Out); - } - else if (fadeType === 'fade-out') { - setFadeType(FadeType.Hidden); - setFloorType(FloorType.None); - setDiceCmdShown(true); - } - }; - return (React.createElement("div", { className: "container" }, - React.createElement("canvas", { className: "game-canvas", ref: canvasElm }), - React.createElement("div", { className: "hud" }, - React.createElement("span", { className: "life" }, - "HP:", - life), - React.createElement("span", { className: "enemy-life" }, - "Enemy:", - enemyLife), - React.createElement("span", { className: "floor" }, - "Floor:", - floor)), - React.createElement(CommandMenu, { items: ['Roll the dice'], allowed: [0], shown: diceCmdShown, onSelect: (item) => { - setDiceCmdShown(false); - setDiceShown(true); - } }), - React.createElement(CommandMenu, { items: COMMANDS, allowed: allowedCommand, shown: diceValue !== null, onSelect: (item) => { - setDiceValue(null); - doChickyTurn(item); - } }), - React.createElement(CommandMenu, { items: ['Try Again!'], allowed: [0], shown: showGameOver, onSelect: (item) => { - setFloorType(FloorType.Reset); - setFadeType(FadeType.In); - setShowGameOver(false); - } }), - React.createElement(CommandEffect, { shown: showDefendEffect, link: "chicky-dice-shield.png", onEnded: () => { - setShowDefendEffect(false); - } }), - React.createElement(CommandEffect, { shown: showAttackEffect, link: "chicky-dice-sword.png", onEnded: () => { - setShowAttackEffect(false); - } }), - React.createElement(CommandEffect, { shown: showHealEffect, link: "chicky-dice-heal.png", onEnded: () => { - setShowHealEffect(false); - } }), - React.createElement(DiceArea, { shown: diceShown, onSelect: (value) => { - setDiceShown(false); - if (IS_DEBUG === true) { - value = 6; - } - if (turn === ObjectType.Chicky) { - setDiceValue(value); - } - else { - doEnemyTurn(value); - } - } }), - React.createElement(Fade, { type: fadeType, onFadeEnd: (type) => { - changeFloorFade(type); - } }))); -} -ReactDOM.render(React.createElement(ChickyAdventure, null), document.querySelector('#app')); \ No newline at end of file diff --git a/dist/style.css b/dist/style.css deleted file mode 100644 index 4f66ea4..0000000 --- a/dist/style.css +++ /dev/null @@ -1,193 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P"); -body { - font-family: "Press Start 2P", cursive; - font-size: 16px; -} - -.container { - background-image: url("https://assets.codepen.io/430361/chicky-dice-bg.png"); - background-size: cover; - width: 100vw; - height: 100vh; - position: absolute; - top: 0; - left: 0; - image-rendering: pixelated; -} - -.hud, .game-canvas { - position: absolute; - top: 0; - left: 0; -} - -.hud { - color: #fff1e8; - width: 100vw; - height: 100vh; -} - -.life { - position: absolute; - top: 1rem; - left: 1rem; - user-select: none; - z-index: 2; -} - -.enemy-life { - position: absolute; - top: 1rem; - right: 1rem; - user-select: none; - z-index: 2; -} - -.floor { - position: absolute; - top: 2.5rem; - left: 1rem; - user-select: none; - z-index: 2; -} - -.command { - color: #fff1e8; - background-color: #000000; - width: 60vw; - padding: 0.5rem 0; - display: flex; - flex-direction: column; - flex-wrap: nowrap; - z-index: 2; - position: absolute; - top: 50%; - left: 20vw; - transform: translateY(-50%); - animation: fade-in 512ms ease-out; -} -.command.selected { - animation: fade-out 512ms ease-out; -} - -.command-item { - color: #fff1e8; - text-decoration: none; - padding: 0.5rem 1rem 0.5rem 2rem; - display: block; - position: relative; - user-select: none; -} -.command-item.disabled { - color: #5f574f; -} -.command-item:hover:not(.disabled)::before, .command-item.selected::before { - content: ""; - width: 0; - height: 0; - border-top: solid 0.5rem transparent; - border-bottom: solid 0.5rem transparent; - border-left: solid 0.9rem #fff1e8; - position: absolute; - top: 50%; - left: 0.5rem; - transform: translateY(-50%); -} - -.dice-area { - background-color: #000000; - width: 100vw; - height: 100vh; - display: flex; - align-items: center; - justify-content: center; - position: absolute; - top: 0; - left: 0; - z-index: 3; - animation: fade-in 512ms ease-out; -} -.dice-area.hidden { - animation: fade-out 512ms ease-out; -} - -.fade { - background-color: #000000; - width: 100vw; - height: 100vh; - position: absolute; - top: 0; - left: 0; - z-index: 4; -} -.fade.fade-in { - animation: fade-in 512ms ease-out; -} -.fade.fade-out { - animation: fade-out 512ms ease-out; -} - -.dice { - --number: 0vmin; - --rotation: 0deg; - background-image: url("https://assets.codepen.io/430361/chicky-dice-game.png"); - background-position: var(--number) 0; - background-size: 300vmin 50vmin; - width: 50vmin; - height: 50vmin; - image-rendering: pixelated; - transform: rotateZ(var(--rotation)); -} - -.effect { - width: 100vw; - height: 100vh; - display: flex; - align-items: center; - justify-content: center; - position: absolute; - top: 0; - left: 0; - user-select: none; - z-index: 1; - animation: fade-in 512ms ease-out, fade-out 512ms ease-out 768ms; -} - -.effect-image { - background-image: var(--image-url); - background-size: 50vmin 50vmin; - width: 50vmin; - height: 50vmin; - image-rendering: pixelated; -} - -@keyframes fade-in { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@keyframes fade-out { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -@media screen and (min-width: 526px) { - .container { - background-size: contain; - } -} -@media screen and (min-width: 961px) { - .command { - flex-direction: row; - } - - .command-item { - width: 50%; - } -} \ No newline at end of file diff --git "a/dist/\343\202\242\343\203\274\343\202\253\343\202\244\343\203\225\343\202\231.zip" "b/dist/\343\202\242\343\203\274\343\202\253\343\202\244\343\203\225\343\202\231.zip" deleted file mode 100644 index eb7a297..0000000 Binary files "a/dist/\343\202\242\343\203\274\343\202\253\343\202\244\343\203\225\343\202\231.zip" and /dev/null differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..4887d0c --- /dev/null +++ b/index.html @@ -0,0 +1,29 @@ + + + + + + + Brave Chicky Dice Adventure + + +
+
+
+ +
+
+
+
+
+
+
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..b58a4a1 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3504 @@ +{ + "name": "brave-chicky-dice-adventure", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "brave-chicky-dice-adventure", + "version": "0.0.0", + "dependencies": { + "@typescript-eslint/eslint-plugin": "^7.6.0", + "@typescript-eslint/parser": "^7.6.0", + "clsx": "^2.1.0", + "howler": "^2.2.4", + "three": "^0.163.0" + }, + "devDependencies": { + "@eslint/js": "^9.0.0", + "@types/three": "^0.163.0", + "autoprefixer": "^10.4.19", + "eslint": "^8.57.0", + "postcss": "^8.4.38", + "prettier": "3.2.5", + "tailwindcss": "^3.4.3", + "typescript": "^5.4.4", + "typescript-eslint": "^7.6.0", + "vite": "^5.2.8" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.0.0.tgz", + "integrity": "sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.1.tgz", + "integrity": "sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.1.tgz", + "integrity": "sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.1.tgz", + "integrity": "sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.1.tgz", + "integrity": "sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.1.tgz", + "integrity": "sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.1.tgz", + "integrity": "sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.1.tgz", + "integrity": "sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.1.tgz", + "integrity": "sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw==", + "cpu": [ + "ppc64le" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.1.tgz", + "integrity": "sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.1.tgz", + "integrity": "sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.1.tgz", + "integrity": "sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.1.tgz", + "integrity": "sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.1.tgz", + "integrity": "sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.1.tgz", + "integrity": "sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.1.tgz", + "integrity": "sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tweenjs/tween.js": { + "version": "23.1.1", + "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.1.tgz", + "integrity": "sha512-ZpboH7pCPPeyBWKf8c7TJswtCEQObFo3bOBYalm99NzZarATALYCo5OhbCa/n4RQyJyHfhkdx+hNrdL5ByFYDw==", + "dev": true + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + }, + "node_modules/@types/stats.js": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz", + "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==", + "dev": true + }, + "node_modules/@types/three": { + "version": "0.163.0", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.163.0.tgz", + "integrity": "sha512-uIdDhsXRpQiBUkflBS/i1l3JX14fW6Ot9csed60nfbZNXHDTRsnV2xnTVwXcgbvTiboAR4IW+t+lTL5f1rqIqA==", + "dev": true, + "dependencies": { + "@tweenjs/tween.js": "~23.1.1", + "@types/stats.js": "*", + "@types/webxr": "*", + "fflate": "~0.8.2", + "meshoptimizer": "~0.18.1" + } + }, + "node_modules/@types/webxr": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.15.tgz", + "integrity": "sha512-nC9116Gd4N+CqTxqo6gvCfhAMAzgRcfS8ZsciNodHq8uwW4JCVKwhagw8yN0XmC7mHrLnWqniJpoVEiR+72Drw==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.6.0.tgz", + "integrity": "sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.6.0", + "@typescript-eslint/type-utils": "7.6.0", + "@typescript-eslint/utils": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.6.0.tgz", + "integrity": "sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==", + "dependencies": { + "@typescript-eslint/scope-manager": "7.6.0", + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/typescript-estree": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.6.0.tgz", + "integrity": "sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==", + "dependencies": { + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.6.0.tgz", + "integrity": "sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==", + "dependencies": { + "@typescript-eslint/typescript-estree": "7.6.0", + "@typescript-eslint/utils": "7.6.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.6.0.tgz", + "integrity": "sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==", + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.6.0.tgz", + "integrity": "sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==", + "dependencies": { + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.6.0.tgz", + "integrity": "sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.15", + "@types/semver": "^7.5.8", + "@typescript-eslint/scope-manager": "7.6.0", + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/typescript-estree": "7.6.0", + "semver": "^7.6.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.6.0.tgz", + "integrity": "sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==", + "dependencies": { + "@typescript-eslint/types": "7.6.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001607", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001607.tgz", + "integrity": "sha512-WcvhVRjXLKFB/kmOFVwELtMxyhq3iM/MvmXcyCe2PNf166c39mptscOc/45TTS96n2gpNV2z7+NakArTWZCQ3w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/clsx": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.730", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.730.tgz", + "integrity": "sha512-oJRPo82XEqtQAobHpJIR3zW5YO3sSRRkPz2an4yxi1UvqhsGm54vR/wzTFV74a3soDOJ8CKW7ajOOX5ESzddwg==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==" + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/howler": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/howler/-/howler-2.2.4.tgz", + "integrity": "sha512-iARIBPgcQrwtEr+tALF+rapJ8qSc+Set2GJQl7xT1MQzWaVkFebdJhR3alVlSiUf5U7nAANKuj3aWpwerocD5w==" + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/meshoptimizer": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", + "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", + "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.14.1.tgz", + "integrity": "sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.14.1", + "@rollup/rollup-android-arm64": "4.14.1", + "@rollup/rollup-darwin-arm64": "4.14.1", + "@rollup/rollup-darwin-x64": "4.14.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.14.1", + "@rollup/rollup-linux-arm64-gnu": "4.14.1", + "@rollup/rollup-linux-arm64-musl": "4.14.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.14.1", + "@rollup/rollup-linux-riscv64-gnu": "4.14.1", + "@rollup/rollup-linux-s390x-gnu": "4.14.1", + "@rollup/rollup-linux-x64-gnu": "4.14.1", + "@rollup/rollup-linux-x64-musl": "4.14.1", + "@rollup/rollup-win32-arm64-msvc": "4.14.1", + "@rollup/rollup-win32-ia32-msvc": "4.14.1", + "@rollup/rollup-win32-x64-msvc": "4.14.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.3.12", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", + "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.6", + "minimatch": "^9.0.1", + "minipass": "^7.0.4", + "path-scurry": "^1.10.2" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", + "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/three": { + "version": "0.163.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.163.0.tgz", + "integrity": "sha512-HlMgCb2TF/dTLRtknBnjUTsR8FsDqBY43itYop2+Zg822I+Kd0Ua2vs8CvfBVefXkBdNDrLMoRTGCIIpfCuDew==" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.4.tgz", + "integrity": "sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.6.0.tgz", + "integrity": "sha512-LY6vH6F1l5jpGqRtU+uK4+mOecIb4Cd4kaz1hAiJrgnNiHUA8wiw8BkJyYS+MRLM69F1QuSKwtGlQqnGl1Rc6w==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "7.6.0", + "@typescript-eslint/parser": "7.6.0", + "@typescript-eslint/utils": "7.6.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/vite": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.8.tgz", + "integrity": "sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==", + "dev": true, + "dependencies": { + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yaml": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", + "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json index 3ed6dda..7f758ff 100644 --- a/package.json +++ b/package.json @@ -1,86 +1,32 @@ { "name": "brave-chicky-dice-adventure", - "version": "2022.07.15-05.25.39", - "license": "MIT", - "homepage": "https://codepen.io/takaneichinose/pen/dympyjN", + "private": true, + "version": "0.0.0", + "type": "module", "scripts": { - "build": "gulp -f ./build/gulpfile.js --cwd ./ --continue", - "serve": "gulp serve -f ./build/gulpfile.js --cwd ./ --continue", - "task": "gulp -f ./build/gulpfile.js --cwd ./ --continue", - "tasks": "gulp --tasks-simple -f ./build/gulpfile.js --cwd ./ --continue" - }, - "config": { - "srcDir": "src/", - "distDir": "dist/" + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview", + "lint": "eslint . --ext ts --report-unused-disable-directives --max-warnings 0", + "format": "prettier . --write" }, "devDependencies": { - "browser-sync": "^2.26.7", - "del": "^4.1.1", - "glob": "^7.1.4", - "gulp-inject-partials": "^1.0.5", - "gulp-rename": "^1.4.0", - "gulp": "^4.0.2", - "webpack-cli": "^3.2.3", - "webpack-dev-server": "^3.2.1", - "webpack": "^4.29.6", - "gulp-sass": "^4.0.2", - "node-sass": "^4.12.0", - "gulp-typescript": "^5.0.1", - "typescript": "^3.5.2" + "@eslint/js": "^9.0.0", + "@types/three": "^0.163.0", + "autoprefixer": "^10.4.19", + "eslint": "^8.57.0", + "postcss": "^8.4.38", + "prettier": "3.2.5", + "tailwindcss": "^3.4.3", + "typescript": "^5.4.4", + "typescript-eslint": "^7.6.0", + "vite": "^5.2.8" }, - "browserslist": [ - "last 5 version" - ], - "tasks": { - "partials": { - "order": 999, - "src": [ - "**/*.template.html" - ], - "pipe": [ - { - "require": "gulp-inject-partials", - "args": [ - { - "removeTags": true, - "quiet": true, - "ignoreError": true - } - ] - } - ], - "rename": { - "find": ".template", - "replace": "" - }, - "cleanup": [ - "**/*.partial.html", - "**/*.template.html" - ] - }, - "sass": { - "src": [ - "**/*.sass", - "**/*.scss" - ], - "pipe": [ - { - "require": "gulp-sass" - } - ], - "cleanup": true - }, - "livescript": { - "src": [ - "**/*.typescript", - "**/*.ts" - ], - "pipe": [ - { - "require": "gulp-typescript" - } - ], - "cleanup": true - } + "dependencies": { + "@typescript-eslint/eslint-plugin": "^7.6.0", + "@typescript-eslint/parser": "^7.6.0", + "clsx": "^2.1.0", + "howler": "^2.2.4", + "three": "^0.163.0" } -} \ No newline at end of file +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..2aa7205 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/public/fonts/Silkscreen-Bold.ttf b/public/fonts/Silkscreen-Bold.ttf new file mode 100644 index 0000000..e934b6f Binary files /dev/null and b/public/fonts/Silkscreen-Bold.ttf differ diff --git a/public/fonts/Silkscreen-Regular.ttf b/public/fonts/Silkscreen-Regular.ttf new file mode 100644 index 0000000..ecb242b Binary files /dev/null and b/public/fonts/Silkscreen-Regular.ttf differ diff --git a/public/fonts/misaki_gothic.ttf b/public/fonts/misaki_gothic.ttf new file mode 100644 index 0000000..51d1cc7 Binary files /dev/null and b/public/fonts/misaki_gothic.ttf differ diff --git a/public/fonts/misaki_gothic_2nd.ttf b/public/fonts/misaki_gothic_2nd.ttf new file mode 100644 index 0000000..95fe5d3 Binary files /dev/null and b/public/fonts/misaki_gothic_2nd.ttf differ diff --git a/public/fonts/misaki_mincho.ttf b/public/fonts/misaki_mincho.ttf new file mode 100644 index 0000000..fb03f83 Binary files /dev/null and b/public/fonts/misaki_mincho.ttf differ diff --git a/public/images/background.png b/public/images/background.png new file mode 100644 index 0000000..b818117 Binary files /dev/null and b/public/images/background.png differ diff --git a/public/models/bush.gltf b/public/models/bush.gltf new file mode 100644 index 0000000..db2d8c3 --- /dev/null +++ b/public/models/bush.gltf @@ -0,0 +1,106 @@ +{ + "asset": { "version": "2.0", "generator": "Blockbench 4.8.3 glTF exporter" }, + "scenes": [{ "nodes": [1], "name": "blockbench_export" }], + "scene": 0, + "nodes": [{ "name": "Bush", "mesh": 0 }, { "children": [0] }], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 2160, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 2160, + "byteLength": 2160, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 4320, + "byteLength": 1440, + "target": 34962, + "byteStride": 8 + }, + { "buffer": 0, "byteOffset": 5760, "byteLength": 480, "target": 34963 } + ], + "buffers": [ + { + "byteLength": 6240, + "uri": "data:application/octet-stream;base64,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6IwAPjhnxDwAAAAAAADQPQAAAAAAAAAA6IwAPueMAD7ojAA+AAAAAAAAAADnjAA+AAAAADhnxDzojAA+AADQPeiMAD4AAAAAAAAAAOeMAD4AAAAAMuaePQAAAAAAAAAAAAAAADLmHj3ojAA+AAAAAOiMAD4y5p496IwAPjLmHj0AAAAAAAAAAOiMAD7njAA+6IwAPjhnxDwAAAAAAADQPQAAAAAAAAAA6IwAPueMAD7ojAA+AAAAAAAAAADnjAA+AAAAADhnxDzojAA+AADQPeiMAD4AAAAAAAAAAOeMAD4AAAAAMuaePQAAAAAAAAAAAAAAADLmHj3ojAA+AAAAAOiMAD4y5p496IwAPjLmHj0AAAAAAAAAAOiMAD7njAA+6IwAPjhnxDwAAAAAAADQPQAAAAAAAAAA6IwAPueMAD7ojAA+AAAAAAAAAADnjAA+AAAAADhnxDzojAA+AADQPeiMAD4AAAAAAAAAAOeMAD4AAAAAMuaePQAAAAAAAAAAAAAAADLmHj3ojAA+AAAAAOiMAD4y5p496IwAPjLmHj0AAAAAAAAAAOiMAD7njAA+6IwAPjhnxDwAAAAAAADQPQAAAAAAAAAA6IwAPueMAD7ojAA+AAAAAAAAAADnjAA+AAAAADhnxDzojAA+AADQPeiMAD4AAAAAAAAAAOeMAD4AAAAAMuaePQAAAAAAAAAAAAAAADLmHj3ojAA+AAAAAOiMAD4y5p496IwAPjLmHj0AAAAAAAAAAOiMAD7njAA+6IwAPjhnxDwAAAAAAADQPQAAAAAAAAAA6IwAPueMAD7ojAA+AAAAAAAAAADnjAA+AAAAADhnxDzojAA+AADQPeiMAD4AAAAAAAAAAOeMAD4AAAAAMuaePQAAAAAAAAAAAAAAADLmHj3ojAA+AAAAAOiMAD4y5p496IwAPjLmHj0AAAAAAAAAAOiMAD7njAA+6IwAPjhnxDwAAAAAAADQPQAAAAAAAAAA6IwAPueMAD7ojAA+AAAAAAAAAADnjAA+AAAAADhnxDzojAA+AADQPeiMAD4AAAAAAAAAAOeMAD4AAAAAMuaePQAAAAAAAAAAAAAAADLmHj3ojAA+AAAAAOiMAD4y5p496IwAPjLmHj0AAAAAAAAAAOiMAD7njAA+6IwAPjhnxDwAAAAAAADQPQAAAAAAAAAA6IwAPueMAD7ojAA+AAAAAAAAAADnjAA+AAAAADhnxDzojAA+AADQPeiMAD4AAAAAAAAAAOeMAD4AAAAAMuaePQAAAAAAAAAAAAAAADLmHj3ojAA+AAAAAOiMAD4y5p496IwAPjLmHj0AAAAAMQFUPFReEj5U/ic+VF4SPgAAAAAAAAAA0c5sPXBHEj0AAAAA6IwAPueMAD7ojAA+AAAAAAAAAADnjAA+AAAAADhnxDzojAA+AADQPeiMAD4AAAAAAAAAAOeMAD4AAAAAMuaePQAAAAAAAAAAAAAAADLmHj3ojAA+AAAAAOiMAD4y5p496IwAPjLmHj0AAAAAAAAAAOiMAD7njAA+6IwAPjhnxDwAAAAAAADQPQAAAAAAAAAA6IwAPueMAD7ojAA+AAAAAAAAAADnjAA+AAAAADhnxDzojAA+AADQPeiMAD4AAAAAAAAAAOeMAD4AAAAAMuaePQAAAAAAAAAAAAAAADLmHj3ojAA+AAABAAIABQADAAQABQAEAAYACQAHAAgACQAIAAoADQALAAwADQAMAA4ADwAQABEAEgATABQAFwAVABYAFwAWABgAGwAZABoAGwAaABwAHwAdAB4AHwAeACAAIQAiACMAJAAlACYAKQAnACgAKQAoACoALQArACwALQAsAC4AMQAvADAAMQAwADIAMwA0ADUANgA3ADgAOwA5ADoAOwA6ADwAPwA9AD4APwA+AEAAQwBBAEIAQwBCAEQARQBGAEcASABJAEoATQBLAEwATQBMAE4AUQBPAFAAUQBQAFIAVQBTAFQAVQBUAFYAVwBYAFkAWgBbAFwAXwBdAF4AXwBeAGAAYwBhAGIAYwBiAGQAZwBlAGYAZwBmAGgAaQBqAGsAbABtAG4AcQBvAHAAcQBwAHIAdQBzAHQAdQB0AHYAeQB3AHgAeQB4AHoAewB8AH0AfgB/AIAAgwCBAIIAgwCCAIQAhwCFAIYAhwCGAIgAiwCJAIoAiwCKAIwAjQCOAI8AkACRAJIAlQCTAJQAlQCUAJYAmQCXAJgAmQCYAJoAnQCbAJwAnQCcAJ4AnwCgAKEAogCjAKQApwClAKYApwCmAKgAqwCpAKoAqwCqAKwArwCtAK4ArwCuALAAsQCyALMA" + } + ], + "accessors": [ + { + "bufferView": 0, + "componentType": 5126, + "count": 180, + "max": [0.4855595529079437, 0.8031250238418579, 0.48324376344680786], + "min": [ + -0.49935296177864075, 0.0031250000465661287, -0.47699373960494995 + ], + "type": "VEC3" + }, + { + "bufferView": 1, + "componentType": 5126, + "count": 180, + "max": [0.868667483329773, 0.8590676188468933, 0.9868062734603882], + "min": [-0.9513154029846191, -0.9999468922615051, -0.8464816808700562], + "type": "VEC3" + }, + { + "bufferView": 2, + "componentType": 5126, + "count": 180, + "max": [0.16405612230300903, 0.14293795824050903], + "min": [0, 0], + "type": "VEC2" + }, + { + "bufferView": 3, + "componentType": 5123, + "count": 240, + "max": [179], + "min": [0], + "type": "SCALAR" + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0, + "roughnessFactor": 1, + "baseColorTexture": { "index": 0 } + }, + "alphaMode": "MASK", + "alphaCutoff": 0.05, + "doubleSided": true + } + ], + "textures": [{ "sampler": 0, "source": 0, "name": "Bush.png" }], + "samplers": [ + { "magFilter": 9728, "minFilter": 9728, "wrapS": 33071, "wrapT": 33071 } + ], + "images": [ + { + "mimeType": "image/png", + "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAB5JREFUOE9jZHhi9p+BAsA4agDDaBgwjIYBw7AIAwAzuCGhqApsNAAAAABJRU5ErkJggg==" + } + ], + "meshes": [ + { + "primitives": [ + { + "mode": 4, + "attributes": { "POSITION": 0, "NORMAL": 1, "TEXCOORD_0": 2 }, + "indices": 3, + "material": 0 + } + ] + } + ] +} diff --git a/public/models/chicky.gltf b/public/models/chicky.gltf new file mode 100644 index 0000000..610421f --- /dev/null +++ b/public/models/chicky.gltf @@ -0,0 +1 @@ +{"asset":{"version":"2.0","generator":"Blockbench 4.9.4 glTF exporter"},"scenes":[{"nodes":[23],"name":"blockbench_export"}],"scene":0,"nodes":[{"translation":[4.5315225494904345e-18,-0.846551191221802,-0.01275510204081632],"name":"Helmet","mesh":0},{"translation":[-4.5315225494904345e-18,0.846551191221802,0.01275510204081632],"name":"Helmet","children":[0]},{"translation":[1.2225670211646069e-17,0.49622501687248033,-0.008239268841805418],"name":"Body","mesh":1},{"name":"UpperBeak","mesh":2},{"translation":[0,-0.07812499999999956,-0.015624999999999778],"name":"LowerBeak","mesh":3},{"translation":[0,0.390625,0.334375],"name":"LowerBeak","children":[4]},{"name":"Beak","children":[3,5]},{"name":"Body","children":[2,6]},{"translation":[0,0,-9.130123557772666e-19],"name":"Hand","mesh":4},{"rotation":[-0.49999999999999983,-0.49999999999999994,-0.49999999999999983,0.5000000000000004],"name":"Buckler","mesh":5},{"rotation":[0.7071067811865475,0,0,0.7071067811865476],"translation":[0.4375,0.23437500000000003,4.382459307730881e-18],"name":"LeftHand","children":[8,9]},{"translation":[0,0,-9.130123557772666e-19],"name":"Hand","mesh":6},{"rotation":[0.7071067811865475,0,0,0.7071067811865476],"name":"Handle","mesh":7},{"rotation":[0,0,0.7071067811865475,0.7071067811865476],"translation":[0.4375,-0.23437500000000003,-4.382459307730881e-18],"name":"Decoration","mesh":8},{"name":"SwordGuard","mesh":9},{"name":"Blade","mesh":10},{"name":"Sword","children":[12,13,14,15]},{"translation":[-0.4375,0.23437500000000003,4.382459307730881e-18],"name":"RightHand","children":[11,16]},{"translation":[0,-0.003359347707980409,0.00211373207127866],"name":"Foot","mesh":11},{"translation":[-0.1875,0.09375,-0.006249999999999995],"name":"RightFoot","children":[18]},{"translation":[0,-0.0033593477079803813,-0.00413626792872134],"name":"Foot","mesh":12},{"translation":[0.1875,0.09374999999999997,5.295471663508148e-18],"name":"LeftFoot","children":[20]},{"name":"Chicky","children":[1,7,10,17,19,21]},{"children":[22]}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":2448,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":2448,"byteLength":2448,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":4896,"byteLength":1632,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":6528,"byteLength":576,"target":34963},{"buffer":0,"byteOffset":7104,"byteLength":3264,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":10368,"byteLength":3264,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":13632,"byteLength":2176,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":15808,"byteLength":732,"target":34963},{"buffer":0,"byteOffset":16540,"byteLength":192,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":16732,"byteLength":192,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":16924,"byteLength":128,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":17052,"byteLength":36,"target":34963},{"buffer":0,"byteOffset":17088,"byteLength":192,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":17280,"byteLength":192,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":17472,"byteLength":128,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":17600,"byteLength":36,"target":34963},{"buffer":0,"byteOffset":17636,"byteLength":1944,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":19580,"byteLength":1944,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":21524,"byteLength":1296,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":22820,"byteLength":432,"target":34963},{"buffer":0,"byteOffset":23252,"byteLength":1344,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":24596,"byteLength":1344,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":25940,"byteLength":896,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":26836,"byteLength":288,"target":34963},{"buffer":0,"byteOffset":27124,"byteLength":1944,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":29068,"byteLength":1944,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":31012,"byteLength":1296,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":32308,"byteLength":432,"target":34963},{"buffer":0,"byteOffset":32740,"byteLength":720,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":33460,"byteLength":720,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":34180,"byteLength":480,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":34660,"byteLength":144,"target":34963},{"buffer":0,"byteOffset":34804,"byteLength":960,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":35764,"byteLength":960,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":36724,"byteLength":640,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":37364,"byteLength":192,"target":34963},{"buffer":0,"byteOffset":37556,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":37844,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":38132,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":38324,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":38396,"byteLength":336,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":38732,"byteLength":336,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":39068,"byteLength":224,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":39292,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":39364,"byteLength":2232,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":41596,"byteLength":2232,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":43828,"byteLength":1488,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":45316,"byteLength":528,"target":34963},{"buffer":0,"byteOffset":45844,"byteLength":2232,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":48076,"byteLength":2232,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":50308,"byteLength":1488,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":51796,"byteLength":528,"target":34963},{"buffer":0,"byteOffset":52324,"byteLength":12},{"buffer":0,"byteOffset":52336,"byteLength":36},{"buffer":0,"byteOffset":52372,"byteLength":8},{"buffer":0,"byteOffset":52380,"byteLength":24},{"buffer":0,"byteOffset":52404,"byteLength":8},{"buffer":0,"byteOffset":52412,"byteLength":32},{"buffer":0,"byteOffset":52444,"byteLength":8},{"buffer":0,"byteOffset":52452,"byteLength":24},{"buffer":0,"byteOffset":52476,"byteLength":8},{"buffer":0,"byteOffset":52484,"byteLength":32},{"buffer":0,"byteOffset":52516,"byteLength":8},{"buffer":0,"byteOffset":52524,"byteLength":24},{"buffer":0,"byteOffset":52548,"byteLength":8},{"buffer":0,"byteOffset":52556,"byteLength":24},{"buffer":0,"byteOffset":52580,"byteLength":8},{"buffer":0,"byteOffset":52588,"byteLength":24},{"buffer":0,"byteOffset":52612,"byteLength":8},{"buffer":0,"byteOffset":52620,"byteLength":32},{"buffer":0,"byteOffset":52652,"byteLength":16},{"buffer":0,"byteOffset":52668,"byteLength":48},{"buffer":0,"byteOffset":52716,"byteLength":16},{"buffer":0,"byteOffset":52732,"byteLength":48},{"buffer":0,"byteOffset":52780,"byteLength":12},{"buffer":0,"byteOffset":52792,"byteLength":48},{"buffer":0,"byteOffset":52840,"byteLength":16},{"buffer":0,"byteOffset":52856,"byteLength":48},{"buffer":0,"byteOffset":52904,"byteLength":16},{"buffer":0,"byteOffset":52920,"byteLength":48},{"buffer":0,"byteOffset":52968,"byteLength":20},{"buffer":0,"byteOffset":52988,"byteLength":60},{"buffer":0,"byteOffset":53048,"byteLength":20},{"buffer":0,"byteOffset":53068,"byteLength":60},{"buffer":0,"byteOffset":53128,"byteLength":20},{"buffer":0,"byteOffset":53148,"byteLength":80},{"buffer":0,"byteOffset":53228,"byteLength":20},{"buffer":0,"byteOffset":53248,"byteLength":80},{"buffer":0,"byteOffset":53328,"byteLength":20},{"buffer":0,"byteOffset":53348,"byteLength":60},{"buffer":0,"byteOffset":53408,"byteLength":20},{"buffer":0,"byteOffset":53428,"byteLength":80},{"buffer":0,"byteOffset":53508,"byteLength":20},{"buffer":0,"byteOffset":53528,"byteLength":60},{"buffer":0,"byteOffset":53588,"byteLength":20},{"buffer":0,"byteOffset":53608,"byteLength":80},{"buffer":0,"byteOffset":53688,"byteLength":20},{"buffer":0,"byteOffset":53708,"byteLength":60},{"buffer":0,"byteOffset":53768,"byteLength":20},{"buffer":0,"byteOffset":53788,"byteLength":80},{"buffer":0,"byteOffset":53868,"byteLength":20},{"buffer":0,"byteOffset":53888,"byteLength":60},{"buffer":0,"byteOffset":53948,"byteLength":32},{"buffer":0,"byteOffset":53980,"byteLength":128},{"buffer":0,"byteOffset":54108,"byteLength":28},{"buffer":0,"byteOffset":54136,"byteLength":84},{"buffer":0,"byteOffset":54220,"byteLength":28},{"buffer":0,"byteOffset":54248,"byteLength":112},{"buffer":0,"byteOffset":54360,"byteLength":12},{"buffer":0,"byteOffset":54372,"byteLength":36},{"buffer":0,"byteOffset":54408,"byteLength":16},{"buffer":0,"byteOffset":54424,"byteLength":64},{"buffer":0,"byteOffset":54488,"byteLength":28},{"buffer":0,"byteOffset":54516,"byteLength":112},{"buffer":0,"byteOffset":54628,"byteLength":28},{"buffer":0,"byteOffset":54656,"byteLength":84},{"buffer":0,"byteOffset":54740,"byteLength":28},{"buffer":0,"byteOffset":54768,"byteLength":112},{"buffer":0,"byteOffset":54880,"byteLength":28},{"buffer":0,"byteOffset":54908,"byteLength":84},{"buffer":0,"byteOffset":54992,"byteLength":24},{"buffer":0,"byteOffset":55016,"byteLength":96},{"buffer":0,"byteOffset":55112,"byteLength":24},{"buffer":0,"byteOffset":55136,"byteLength":72},{"buffer":0,"byteOffset":55208,"byteLength":24},{"buffer":0,"byteOffset":55232,"byteLength":96},{"buffer":0,"byteOffset":55328,"byteLength":32},{"buffer":0,"byteOffset":55360,"byteLength":96},{"buffer":0,"byteOffset":55456,"byteLength":20},{"buffer":0,"byteOffset":55476,"byteLength":60},{"buffer":0,"byteOffset":55536,"byteLength":8},{"buffer":0,"byteOffset":55544,"byteLength":32},{"buffer":0,"byteOffset":55576,"byteLength":8},{"buffer":0,"byteOffset":55584,"byteLength":24},{"buffer":0,"byteOffset":55608,"byteLength":8},{"buffer":0,"byteOffset":55616,"byteLength":32},{"buffer":0,"byteOffset":55648,"byteLength":8},{"buffer":0,"byteOffset":55656,"byteLength":24},{"buffer":0,"byteOffset":55680,"byteLength":8},{"buffer":0,"byteOffset":55688,"byteLength":32},{"buffer":0,"byteOffset":55720,"byteLength":8},{"buffer":0,"byteOffset":55728,"byteLength":24},{"buffer":0,"byteOffset":55752,"byteLength":8},{"buffer":0,"byteOffset":55760,"byteLength":32},{"buffer":0,"byteOffset":55792,"byteLength":8},{"buffer":0,"byteOffset":55800,"byteLength":24},{"buffer":0,"byteOffset":55824,"byteLength":32},{"buffer":0,"byteOffset":55856,"byteLength":96},{"buffer":0,"byteOffset":55952,"byteLength":32},{"buffer":0,"byteOffset":55984,"byteLength":96},{"buffer":0,"byteOffset":56080,"byteLength":32},{"buffer":0,"byteOffset":56112,"byteLength":96},{"buffer":0,"byteOffset":56208,"byteLength":32},{"buffer":0,"byteOffset":56240,"byteLength":96},{"buffer":0,"byteOffset":56336,"byteLength":32},{"buffer":0,"byteOffset":56368,"byteLength":128},{"buffer":0,"byteOffset":56496,"byteLength":32},{"buffer":0,"byteOffset":56528,"byteLength":96},{"buffer":0,"byteOffset":56624,"byteLength":32},{"buffer":0,"byteOffset":56656,"byteLength":128},{"buffer":0,"byteOffset":56784,"byteLength":32},{"buffer":0,"byteOffset":56816,"byteLength":96},{"buffer":0,"byteOffset":56912,"byteLength":16},{"buffer":0,"byteOffset":56928,"byteLength":64},{"buffer":0,"byteOffset":56992,"byteLength":24},{"buffer":0,"byteOffset":57016,"byteLength":72},{"buffer":0,"byteOffset":57088,"byteLength":24},{"buffer":0,"byteOffset":57112,"byteLength":72},{"buffer":0,"byteOffset":57184,"byteLength":20},{"buffer":0,"byteOffset":57204,"byteLength":80},{"buffer":0,"byteOffset":57284,"byteLength":16},{"buffer":0,"byteOffset":57300,"byteLength":64},{"buffer":0,"byteOffset":57364,"byteLength":24},{"buffer":0,"byteOffset":57388,"byteLength":72},{"buffer":0,"byteOffset":57460,"byteLength":16},{"buffer":0,"byteOffset":57476,"byteLength":64},{"buffer":0,"byteOffset":57540,"byteLength":24},{"buffer":0,"byteOffset":57564,"byteLength":72},{"buffer":0,"byteOffset":57636,"byteLength":16},{"buffer":0,"byteOffset":57652,"byteLength":64},{"buffer":0,"byteOffset":57716,"byteLength":20},{"buffer":0,"byteOffset":57736,"byteLength":60},{"buffer":0,"byteOffset":57796,"byteLength":16},{"buffer":0,"byteOffset":57812,"byteLength":64},{"buffer":0,"byteOffset":57876,"byteLength":20},{"buffer":0,"byteOffset":57896,"byteLength":60},{"buffer":0,"byteOffset":57956,"byteLength":24},{"buffer":0,"byteOffset":57980,"byteLength":72},{"buffer":0,"byteOffset":58052,"byteLength":24},{"buffer":0,"byteOffset":58076,"byteLength":72},{"buffer":0,"byteOffset":58148,"byteLength":16},{"buffer":0,"byteOffset":58164,"byteLength":64},{"buffer":0,"byteOffset":58228,"byteLength":16},{"buffer":0,"byteOffset":58244,"byteLength":64},{"buffer":0,"byteOffset":58308,"byteLength":24},{"buffer":0,"byteOffset":58332,"byteLength":72},{"buffer":0,"byteOffset":58404,"byteLength":16},{"buffer":0,"byteOffset":58420,"byteLength":64},{"buffer":0,"byteOffset":58484,"byteLength":24},{"buffer":0,"byteOffset":58508,"byteLength":72},{"buffer":0,"byteOffset":58580,"byteLength":16},{"buffer":0,"byteOffset":58596,"byteLength":48},{"buffer":0,"byteOffset":58644,"byteLength":12},{"buffer":0,"byteOffset":58656,"byteLength":48},{"buffer":0,"byteOffset":58704,"byteLength":28},{"buffer":0,"byteOffset":58732,"byteLength":84},{"buffer":0,"byteOffset":58816,"byteLength":8},{"buffer":0,"byteOffset":58824,"byteLength":32},{"buffer":0,"byteOffset":58856,"byteLength":20},{"buffer":0,"byteOffset":58876,"byteLength":60},{"buffer":0,"byteOffset":58936,"byteLength":8},{"buffer":0,"byteOffset":58944,"byteLength":32},{"buffer":0,"byteOffset":58976,"byteLength":20},{"buffer":0,"byteOffset":58996,"byteLength":60},{"buffer":0,"byteOffset":59056,"byteLength":24},{"buffer":0,"byteOffset":59080,"byteLength":96},{"buffer":0,"byteOffset":59176,"byteLength":12},{"buffer":0,"byteOffset":59188,"byteLength":36},{"buffer":0,"byteOffset":59224,"byteLength":24},{"buffer":0,"byteOffset":59248,"byteLength":96},{"buffer":0,"byteOffset":59344,"byteLength":12},{"buffer":0,"byteOffset":59356,"byteLength":36},{"buffer":0,"byteOffset":59392,"byteLength":20},{"buffer":0,"byteOffset":59412,"byteLength":80}],"buffers":[{"byteLength":59492,"uri":"data:application/octet-stream;base64,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9MjNvbVldzsQyLu+DDeyPZfdQz7xDqK+DDeyvZfdQz7xDqK+9MhNvRZYpL4gkDe+9MhNPRZYpL4gkDe+GIZhozURpr4A/gY89MhNva01qD4gkDe+w40Mvq01qD7jHQS+GIZho8vuwT4A/gY8DDeyvZfdQz7xDqK+PXJzvpfdQz5dAmu+9MhNva01qD4gkDe+w40Mvq01qD7jHQS+9MjNvbVldzsQyLu+w42MvrVldzvTVYi+DDeyvZfdQz7xDqK+PXJzvpfdQz5dAmu+DDeyvWkiPL7xDqK+PXJzvmkiPL5dAmu+9MjNvbVldzsQyLu+w42MvrVldzvTVYi+9MhNvRZYpL4gkDe+w40MvhZYpL7jHQS+DDeyvWkiPL7xDqK+PXJzvmkiPL5dAmu+w40MvhZYpL7jHQS+9MhNvRZYpL4gkDe+GIZhozURpr4A/gY8w40Mvq01qD7jHQS+AABAvq01qD51CSy9GIZho8vuwT4A/gY8PXJzvpfdQz5dAmu+4UamvpfdQz5MV6G9w40Mvq01qD7jHQS+AABAvq01qD51CSy9w42MvrVldzvTVYi+AADAvrVldzs06by9PXJzvpfdQz5dAmu+4UamvpfdQz5MV6G9PXJzvmkiPL5dAmu+4UamvmkiPL5MV6G9w42MvrVldzvTVYi+AADAvrVldzs06by9w40MvhZYpL7jHQS+AABAvhZYpL51CSy9PXJzvmkiPL5dAmu+4UamvmkiPL5MV6G9AABAvhZYpL51CSy9w40MvhZYpL7jHQS+GIZhozURpr4A/gY8AABAvq01qD51CSy9AABAvq01qD50iG89GIZho8vuwT4A/gY84UamvpfdQz5MV6G94UamvpfdQz7MFsM9AABAvq01qD51CSy9AABAvq01qD50iG89AADAvrVldzs06by9AADAvrVldzu0qN494UamvpfdQz5MV6G94UamvpfdQz7MFsM9AABAvhZYpL51CSy9AABAvhZYpL50iG894UamvmkiPL5MV6G94UamvmkiPL7MFsM9AABAvhZYpL50iG89AABAvhZYpL51CSy9GIZhozURpr4A/gY8AABAvq01qD50iG89w40Mvq01qD6j/RQ+GIZho8vuwT4A/gY84UamvpfdQz7MFsM9PXJzvpfdQz4d4ns+AABAvq01qD50iG89w40Mvq01qD6j/RQ+AADAvrVldzu0qN49w42MvrVldzuzxZA+4UamvpfdQz7MFsM9PXJzvpfdQz4d4ns+4UamvmkiPL7MFsM9PXJzvmkiPL4d4ns+AADAvrVldzu0qN49w42MvrVldzuzxZA+AABAvhZYpL50iG89w40MvhZYpL6j/RQ+4UamvmkiPL7MFsM9PXJzvmkiPL4d4ns+w40MvhZYpL6j/RQ+AABAvhZYpL50iG89GIZhozURpr4A/gY8w40Mvq01qD6j/RQ+9MhNva01qD7gb0g+GIZho8vuwT4A/gY8PXJzvpfdQz4d4ns+DDeyvZfdQz7Rfqo+w40Mvq01qD6j/RQ+9MhNva01qD7gb0g+w42MvrVldzuzxZA+9MjNvbVldzvwN8Q+PXJzvpfdQz4d4ns+DDeyvZfdQz7Rfqo+PXJzvmkiPL4d4ns+DDeyvWkiPL7Rfqo+w42MvrVldzuzxZA+9MjNvbVldzvwN8Q+w40MvhZYpL6j/RQ+9MhNvRZYpL7gb0g+PXJzvmkiPL4d4ns+DDeyvWkiPL7Rfqo+9MhNvRZYpL7gb0g+w40MvhZYpL6j/RQ+GIZhozURpr4A/gY89MhNva01qD7gb0g+9MhNPa01qD7gb0g+GIZho8vuwT4A/gY8DDeyvZfdQz7Rfqo+DDeyPZfdQz7Rfqo+9MhNva01qD7gb0g+9MhNPa01qD7gb0g+9MjNvbVldzvwN8Q+9MjNPbVldzvwN8Q+DDeyvZfdQz7Rfqo+DDeyPZfdQz7Rfqo+DDeyvWkiPL7Rfqo+DDeyPWkiPL7Rfqo+9MjNvbVldzvwN8Q+9MjNPbVldzvwN8Q+9MhNvRZYpL7gb0g+9MhNPRZYpL7gb0g+DDeyvWkiPL7Rfqo+DDeyPWkiPL7Rfqo+9MhNPRZYpL7gb0g+9MhNvRZYpL7gb0g+GIZhozURpr4A/gY8DDeyPWkiPL7xDqK+DDeyvWkiPL7xDqK+9MjNPbVldzsQyLu+9MjNvbVldzsQyLu+Pc/LJETVp74fjM2+9MhNPRZYpL4gkDe+9MhNvRZYpL4gkDe+Pc/LJETVp74fjM2+9MhNvRZYpL4gkDe+DDeyvWkiPL7xDqK+Pc/LJETVp74fjM2+DDeyvWkiPL7xDqK+DDeyPWkiPL7xDqK+w40MPq01qD7jHQS+9MhNPa01qD4gkDe+GIZho8vuwT4A/gY8PXJzPpfdQz5dAmu+DDeyPZfdQz7xDqK+w40MPq01qD7jHQS+9MhNPa01qD4gkDe+w42MPrVldzvTVYi+9MjNPbVldzsQyLu+PXJzPpfdQz5dAmu+DDeyPZfdQz7xDqK+PXJzPmkiPL5dAmu+DDeyPWkiPL7xDqK+w42MPrVldzvTVYi+9MjNPbVldzsQyLu+w40MPhZYpL7jHQS+9MhNPRZYpL4gkDe+PXJzPmkiPL5dAmu+DDeyPWkiPL7xDqK+9MhNPRZYpL4gkDe+w40MPhZYpL7jHQS+GIZhozURpr4A/gY8AABAPq01qD51CSy9w40MPq01qD7jHQS+GIZho8vuwT4A/gY84UamPpfdQz5MV6G9PXJzPpfdQz5dAmu+AABAPq01qD51CSy9w40MPq01qD7jHQS+AADAPrVldzs06by9w42MPrVldzvTVYi+4UamPpfdQz5MV6G9PXJzPpfdQz5dAmu+4UamPmkiPL5MV6G9PXJzPmkiPL5dAmu+AADAPrVldzs06by9w42MPrVldzvTVYi+AABAPhZYpL51CSy9w40MPhZYpL7jHQS+4UamPmkiPL5MV6G9PXJzPmkiPL5dAmu+w40MPhZYpL7jHQS+AABAPhZYpL51CSy9GIZhozURpr4A/gY8AABAPq01qD50iG89AABAPq01qD51CSy9GIZho8vuwT4A/gY84UamPpfdQz7MFsM94UamPpfdQz5MV6G9AABAPq01qD50iG89AABAPq01qD51CSy9AADAPrVldzu0qN49AADAPrVldzs06by94UamPpfdQz7MFsM94UamPpfdQz5MV6G9AABAPhZYpL50iG89AABAPhZYpL51CSy94UamPmkiPL7MFsM94UamPmkiPL5MV6G9AABAPhZYpL51CSy9AABAPhZYpL50iG89GIZhozURpr4A/gY8w40MPq01qD6j/RQ+AABAPq01qD50iG89GIZho8vuwT4A/gY8PXJzPpfdQz4d4ns+4UamPpfdQz7MFsM9w40MPq01qD6j/RQ+AABAPq01qD50iG89w42MPrVldzuzxZA+AADAPrVldzu0qN49PXJzPpfdQz4d4ns+4UamPpfdQz7MFsM9PXJzPmkiPL4d4ns+4UamPmkiPL7MFsM9w42MPrVldzuzxZA+AADAPrVldzu0qN49w40MPhZYpL6j/RQ+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RABFAEYARwBIAEkASgBLAEkASwBMAE0ATgBPAFAAUQBSAFAAUgBTAFQAVQBWAFQAVgBXAFgAWQBaAFgAWgBbAFwAXQBeAFwAXgBfAGAAYQBiAGAAYgBjAGQAZQBmAGQAZgBnAGgAaQBqAGgAagBrAGwAbQBuAGwAbgBvAJhNpDzOVJs9pLVhPdkDUD3OVJs98DHwPAAAAAAAAMA9AACAoozsBD03U+08VJq2PadJqD03U+08aFJCPZhNpDzOVJs9pLVhPdkDUD3OVJs98DHwPIzsBD03U+28VJq2PadJqD03U+28aFJCPYzsBD03U+08VJq2PadJqD03U+08aFJCPZhNpDzOVJu9pLVhPdkDUD3OVJu98DHwPIzsBD03U+28VJq2PadJqD03U+28aFJCPdkDUD3OVJu98DHwPJhNpDzOVJu9pLVhPQAAAAAAAMC9AACAotkDUD3OVJs98DHwPMWLbD3OVJs9d9YmvAAAAAAAAMA9AACAoqdJqD03U+08aFJCPaVevz03U+08fvmGvNkDUD3OVJs98DHwPMWLbD3OVJs9d9YmvKdJqD03U+28aFJCPaVevz03U+28fvmGvKdJqD03U+08aFJCPaVevz03U+08fvmGvNkDUD3OVJu98DHwPMWLbD3OVJu9d9YmvKdJqD03U+28aFJCPaVevz03U+28fvmGvMWLbD3OVJu9d9YmvNkDUD3OVJu98DHwPAAAAAAAAMC9AACAosWLbD3OVJs9d9YmvPhkGj3OVJs9BwA4vQAAAAAAAMA9AACAoqVevz03U+08fvmGvL/QeT03U+089duUvcWLbD3OVJs9d9YmvPhkGj3OVJs9BwA4vaVevz03U+28fvmGvL/QeT03U+289duUvaVevz03U+08fvmGvL/QeT03U+089duUvcWLbD3OVJu9d9YmvPhkGj3OVJu9BwA4vaVevz03U+28fvmGvL/QeT03U+289duUvfhkGj3OVJu9BwA4vcWLbD3OVJu9d9YmvAAAAAAAAMC9AACAovhkGj3OVJs9BwA4vQAAAADOVJs98DFwvQAAAAAAAMA9AACAor/QeT03U+089duUvQAAAAA3U+08aFLCvfhkGj3OVJs9BwA4vQAAAADOVJs98DFwvb/QeT03U+289duUvQAAAAA3U+28aFLCvb/QeT03U+089duUvQAAAAA3U+08aFLCvfhkGj3OVJu9BwA4vQAAAADOVJu98DFwvb/QeT03U+289duUvQAAAAA3U+28aFLCvQAAAADOVJu98DFwvfhkGj3OVJu9BwA4vQAAAAAAAMC9AACAogAAAADOVJs98DFwvfhkGr3OVJs9BwA4vQAAAAAAAMA9AACAogAAAAA3U+08aFLCvb/Qeb03U+089duUvQAAAADOVJs98DFwvfhkGr3OVJs9BwA4vQAAAAA3U+28aFLCvb/Qeb03U+289duUvQAAAAA3U+08aFLCvb/Qeb03U+089duUvQAAAADOVJu98DFwvfhkGr3OVJu9BwA4vQAAAAA3U+28aFLCvb/Qeb03U+289duUvfhkGr3OVJu9BwA4vQAAAADOVJu98DFwvQAAAAAAAMC9AACAovhkGr3OVJs9BwA4vcWLbL3OVJs9d9YmvAAAAAAAAMA9AACAor/Qeb03U+089duUvaVev703U+08fvmGvPhkGr3OVJs9BwA4vcWLbL3OVJs9d9YmvL/Qeb03U+289duUvaVev703U+28fvmGvL/Qeb03U+089duUvaVev703U+08fvmGvPhkGr3OVJu9BwA4vcWLbL3OVJu9d9YmvL/Qeb03U+289duUvaVev703U+28fvmGvMWLbL3OVJu9d9YmvPhkGr3OVJu9BwA4vQAAAAAAAMC9AACAosWLbL3OVJs9d9YmvNkDUL3OVJs98DHwPAAAAAAAAMA9AACAoqVev703U+08fvmGvKdJqL03U+08aFJCPcWLbL3OVJs9d9YmvNkDUL3OVJs98DHwPKVev703U+28fvmGvKdJqL03U+28aFJCPaVev703U+08fvmGvKdJqL03U+08aFJCPcWLbL3OVJu9d9YmvNkDUL3OVJu98DHwPKVev703U+28fvmGvKdJqL03U+28aFJCPdkDUL3OVJu98DHwPMWLbL3OVJu9d9YmvAAAAAAAAMC9AACAotkDUL3OVJs98DHwPJhNpLzOVJs9pLVhPQAAAAAAAMA9AACAoqdJqL03U+08aFJCPYzsBL03U+08VJq2PdkDUL3OVJs98DHwPJhNpLzOVJs9pLVhPadJqL03U+28aFJCPYzsBL03U+28VJq2PadJqL03U+08aFJCPYzsBL03U+08VJq2PdkDUL3OVJu98DHwPJhNpLzOVJu9pLVhPadJqL03U+28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mplJvpudgD7NzOw+mplJvs3MjD7NzOw+NTsxvs3MjD7NzOw+NTsxvpudgD7NzOw+mplJvgAAcD7NzOw+AAAgvsvEXj4zM9M+mplJvpudgD4zM9M+mplJvgAAcD4zM9M+AAAgvpudgD4zM9M+mplJvsvEXj4zM9M+mplJvsvEXj7NzOw+mplJvpudgD7NzOw+mplJvpudgD7NzOw+mplJvsvEXj7NzOw+mplJvgAAcD7NzOw+AAAgvmZmRj4zM9M+NTsxvsvEXj4zM9M+mplJvgAAcD4zM9M+AAAgvsvEXj4zM9M+mplJvmZmRj4zM9M+NTsxvmZmRj7NzOw+NTsxvsvEXj7NzOw+mplJvsvEXj7NzOw+mplJvmZmRj7NzOw+NTsxvgAAcD7NzOw+AAAgvmZmRj4zM9M+y8QOvmZmRj4zM9M+NTsxvgAAcD4zM9M+AAAgvmZmRj4zM9M+NTsxvmZmRj4zM9M+y8QOvmZmRj7NzOw+y8QOvmZmRj7NzOw+NTsxvmZmRj7NzOw+NTsxvmZmRj7NzOw+y8QOvgAAcD7NzOw+AAAgvsvEXj4zM9M+zczsvWZmRj4zM9M+y8QOvgAAcD4zM9M+AAAgvmZmRj4zM9M+y8QOvsvEXj4zM9M+zczsvcvEXj7NzOw+zczsvWZmRj7NzOw+y8QOvmZmRj7NzOw+y8QOvsvEXj7NzOw+zczsvQAAcD7NzOw+AAAgvpudgD4zM9M+zczsvcvEXj4zM9M+zczsvQAAcD4zM9M+AAAgvsvEXj4zM9M+zczsvZudgD4zM9M+zczsvZudgD7NzOw+zczsvcvEXj7NzOw+zczsvcvEXj7NzOw+zczsvZudgD7NzOw+zczsvQAAcD7NzOw+AAAgvgAAAIAAAIC/AAAAAAAAAIAAAIC/AAAAAAAAAIAAAIC/AAAAAPMENT8AAAAA8wQ1P/MENT8AAAAA8wQ1P/MENT8AAAAA8wQ1P/MENT8AAAAA8wQ1PwAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/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AADgPQAAAD4AAAA9AADgvQAAAD4AAAC9AADgPQAAAD4AAAC9AADgvQAAAD4AAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAACQPgAAAAAAANA+AAAAPQAAkD4AAAA9AADQPgAAwD0AAJA+AACAPQAAkD4AAMA9AADQPgAAgD0AANA+AACQPgAA8D4AAJA+AADgPgAAgD4AAPA+AACAPgAA4D4AAPA+AADgPgAA4D4AAOA+AADwPgAA8D4AAOA+AADwPgAAID4AAJA+AAAAPgAAkD4AACA+AADQPgAAAD4AANA+AABAPgAAkD4AAEA+AADQPgAAYD4AAJA+AABgPgAA0D4CAAAAAQACAAEAAwAGAAQABQAGAAUABwAKAAgACQAKAAkACwAOAAwADQAOAA0ADwASABAAEQASABEAEwAWABQAFQAWABUAFwAAAAAAZmYmPWZmYj8AAIA8AAAAADMzVz8AAAAAAAAAAAAAgj8AAIC8AAAAAAAAED4AAAAAZmYmPWZmYj8AAIC8AAAAADMzVz8AAAAAAACAPQAAED4AAAAAAACAvQAAED4AAIC8AAAAADMzVz8AAAAAZmYmvWZmYj8AAIC8AAAAAAAAED4AAIA8AAAAADMzVz8AAAAAZmYmvWZmYj8AAAAAAAAAAAAAgj8AAAAAZmYmPWZmYj8AAIC8AAAAADMzVz8AAAAAAAAAAAAAgj8AAAAAAAAAAAAAgj8AAIC8AAAAADMzVz8AAAAAZmYmvWZmYj8AAAAAAACAPQAAED4AAAAAZmYmPWZmYj8AAIA8AAAAADMzVz8AAIA8AAAAAAAAED4AAIA8AAAAAAAAED4AAIA8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"}],"accessors":[{"bufferView":0,"componentType":5126,"count":204,"max":[0.4375,1.0906250476837158,0.4375],"min":[-0.4375,0.640625,-0.4375],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":204,"max":[1,0.9995313286781311,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":204,"max":[0.599637508392334,0.4557090401649475],"min":[0,0],"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":288,"max":[203],"min":[0],"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":272,"max":[0.375,0.3787749707698822,0.3832392692565918],"min":[-0.375,-0.3277989625930786,-0.401459664106369],"type":"VEC3"},{"bufferView":5,"componentType":5126,"count":272,"max":[0.9659258127212524,0.9659258127212524,0.9659258127212524],"min":[-0.9659258127212524,-0.9998389482498169,-0.9659258127212524],"type":"VEC3"},{"bufferView":6,"componentType":5126,"count":272,"max":[0.4919549226760864,0.529296875],"min":[0.0006598310428671539,0],"type":"VEC2"},{"bufferView":7,"componentType":5123,"count":366,"max":[271],"min":[0],"type":"SCALAR"},{"bufferView":8,"componentType":5126,"count":16,"max":[0.109375,0.515625,0.546875],"min":[-0.109375,0.390625,0.34375],"type":"VEC3"},{"bufferView":9,"componentType":5126,"count":16,"max":[0.8987760543823242,1,0.5547001957893372],"min":[-0.8987760543823242,0.12403473258018494,-0.9922778606414795],"type":"VEC3"},{"bufferView":10,"componentType":5126,"count":16,"max":[0.65625,0.6254889965057373],"min":[0.0031649486627429724,0],"type":"VEC2"},{"bufferView":11,"componentType":5123,"count":18,"max":[15],"min":[0],"type":"SCALAR"},{"bufferView":12,"componentType":5126,"count":16,"max":[0.08749999850988388,0.078125,0.15312500298023224],"min":[-0.08749999850988388,0.0031250000465661287,0.0031250000465661287],"type":"VEC3"},{"bufferView":13,"componentType":5126,"count":16,"max":[0.7977094054222107,1,3.466062208296386e-15],"min":[-0.7977094054222107,0.25860700011253357,-0.9599999785423279],"type":"VEC3"},{"bufferView":14,"componentType":5126,"count":16,"max":[0.8125,0.753125011920929],"min":[0.1875,0.375],"type":"VEC2"},{"bufferView":15,"componentType":5123,"count":18,"max":[15],"min":[0],"type":"SCALAR"},{"bufferView":16,"componentType":5126,"count":162,"max":[0.09344223886728287,0.09375,0.08916154503822327],"min":[-0.09344223886728287,-0.09375,-0.0948837399482727],"type":"VEC3"},{"bufferView":17,"componentType":5126,"count":162,"max":[0.9848077297210693,0.9510565400123596,1],"min":[-0.9848077297210693,-0.9510565400123596,-0.9396926164627075],"type":"VEC3"},{"bufferView":18,"componentType":5126,"count":162,"max":[0.703125,0.75],"min":[0,0],"type":"VEC2"},{"bufferView":19,"componentType":5123,"count":216,"max":[161],"min":[0],"type":"SCALAR"},{"bufferView":20,"componentType":5126,"count":112,"max":[0.1875,0.125,0.21875],"min":[-0.21875,0.09375,-0.21875],"type":"VEC3"},{"bufferView":21,"componentType":5126,"count":112,"max":[1,1,0.9698605537414551],"min":[-1,-1,-0.9698605537414551],"type":"VEC3"},{"bufferView":22,"componentType":5126,"count":112,"max":[0.953125,0.9375],"min":[0,0],"type":"VEC2"},{"bufferView":23,"componentType":5123,"count":144,"max":[111],"min":[0],"type":"SCALAR"},{"bufferView":24,"componentType":5126,"count":162,"max":[0.09344223886728287,0.09375,0.08916154503822327],"min":[-0.09344223886728287,-0.09375,-0.0948837399482727],"type":"VEC3"},{"bufferView":25,"componentType":5126,"count":162,"max":[0.9848077297210693,0.9510565400123596,1],"min":[-0.9848077297210693,-0.9510565400123596,-0.9396926164627075],"type":"VEC3"},{"bufferView":26,"componentType":5126,"count":162,"max":[0.703125,0.75],"min":[0,0],"type":"VEC2"},{"bufferView":27,"componentType":5123,"count":216,"max":[161],"min":[0],"type":"SCALAR"},{"bufferView":28,"componentType":5126,"count":60,"max":[0.029834391549229622,0.125,0.02500000037252903],"min":[-0.029834391549229622,-0.125,-0.02500000037252903],"type":"VEC3"},{"bufferView":29,"componentType":5126,"count":60,"max":[0.8587452173233032,1,1],"min":[-0.8587452173233032,-1,-1],"type":"VEC3"},{"bufferView":30,"componentType":5126,"count":60,"max":[0.5617937445640564,0.5625],"min":[0,0.0625],"type":"VEC2"},{"bufferView":31,"componentType":5123,"count":72,"max":[59],"min":[0],"type":"SCALAR"},{"bufferView":32,"componentType":5126,"count":80,"max":[0.2750000059604645,0.4625000059604645,-0.11562500149011612],"min":[0.19374999403953552,0.4124999940395355,-0.19687500596046448],"type":"VEC3"},{"bufferView":33,"componentType":5126,"count":80,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":34,"componentType":5126,"count":80,"max":[0.53125,0.53125],"min":[0.21875,0],"type":"VEC2"},{"bufferView":35,"componentType":5123,"count":96,"max":[79],"min":[0],"type":"SCALAR"},{"bufferView":36,"componentType":5126,"count":24,"max":[0.03125,0.109375,0.14374999701976776],"min":[-0.03125,-0.109375,0.125],"type":"VEC3"},{"bufferView":37,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":38,"componentType":5126,"count":24,"max":[0.46875,0.46875],"min":[0,0.28125],"type":"VEC2"},{"bufferView":39,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":40,"componentType":5126,"count":28,"max":[0.015625,0.0625,1.015625],"min":[-0.015625,-0.0625,0.140625],"type":"VEC3"},{"bufferView":41,"componentType":5126,"count":28,"max":[0.9369535446166992,0.35897907614707947,0.08547386527061462],"min":[-0.9573073983192444,-0.35897907614707947,-0.08547386527061462],"type":"VEC3"},{"bufferView":42,"componentType":5126,"count":28,"max":[0.43770742416381836,0.4814453125],"min":[0,0],"type":"VEC2"},{"bufferView":43,"componentType":5123,"count":36,"max":[27],"min":[0],"type":"SCALAR"},{"bufferView":44,"componentType":5126,"count":186,"max":[0.1692209541797638,0.003359347814694047,0.2651728093624115],"min":[-0.1692209541797638,-0.0903906524181366,-0.09074746817350388],"type":"VEC3"},{"bufferView":45,"componentType":5126,"count":186,"max":[1,1,0.9752317667007446],"min":[-1,-1,-0.9396926164627075],"type":"VEC3"},{"bufferView":46,"componentType":5126,"count":186,"max":[0.9375,0.9375],"min":[0,0],"type":"VEC2"},{"bufferView":47,"componentType":5123,"count":264,"max":[185],"min":[0],"type":"SCALAR"},{"bufferView":48,"componentType":5126,"count":186,"max":[0.1692209541797638,0.003359347814694047,0.2651728093624115],"min":[-0.1692209541797638,-0.0903906524181366,-0.09074746817350388],"type":"VEC3"},{"bufferView":49,"componentType":5126,"count":186,"max":[1,1,0.9752317667007446],"min":[-1,-1,-0.9396926164627075],"type":"VEC3"},{"bufferView":50,"componentType":5126,"count":186,"max":[0.9375,0.9375],"min":[0,0],"type":"VEC2"},{"bufferView":51,"componentType":5123,"count":264,"max":[185],"min":[0],"type":"SCALAR"},{"bufferView":52,"componentType":5126,"count":3,"max":[0.3333333432674408],"min":[0],"type":"SCALAR"},{"bufferView":53,"componentType":5126,"count":3,"max":[-4.5315224566436314e-18,0.8778011798858643,0.012755102477967739],"min":[-4.5315224566436314e-18,0.7840511798858643,0.012755102477967739],"type":"VEC3"},{"bufferView":54,"componentType":5126,"count":2,"max":[0.25],"min":[0],"type":"SCALAR"},{"bufferView":55,"componentType":5126,"count":2,"max":[0,0,0],"min":[0,-0.0625,0],"type":"VEC3"},{"bufferView":56,"componentType":5126,"count":2,"max":[0.25],"min":[0],"type":"SCALAR"},{"bufferView":57,"componentType":5126,"count":2,"max":[0.7071067690849304,0,0.5,0.7071067690849304],"min":[0.5,-0.5,0,0.5],"type":"VEC4"},{"bufferView":58,"componentType":5126,"count":2,"max":[0.25],"min":[0],"type":"SCALAR"},{"bufferView":59,"componentType":5126,"count":2,"max":[0.4375,0.234375,0.390625],"min":[0.2562499940395355,0.234375,4.382459133587594e-18],"type":"VEC3"},{"bufferView":60,"componentType":5126,"count":2,"max":[0.25],"min":[0],"type":"SCALAR"},{"bufferView":61,"componentType":5126,"count":2,"max":[0,0,0,1],"min":[0,-0.3826834261417389,0,0.9238795042037964],"type":"VEC4"},{"bufferView":62,"componentType":5126,"count":2,"max":[0.25],"min":[0],"type":"SCALAR"},{"bufferView":63,"componentType":5126,"count":2,"max":[-0.4375,0.234375,4.382459133587594e-18],"min":[-0.4375,0.234375,-0.1875],"type":"VEC3"},{"bufferView":64,"componentType":5126,"count":2,"max":[0.25],"min":[0],"type":"SCALAR"},{"bufferView":65,"componentType":5126,"count":2,"max":[-0.1875,0.09375,-0.0062500000931322575],"min":[-0.1875,0.09375,-0.13124999403953552],"type":"VEC3"},{"bufferView":66,"componentType":5126,"count":2,"max":[0.25],"min":[0],"type":"SCALAR"},{"bufferView":67,"componentType":5126,"count":2,"max":[0.1875,0.09375,0.125],"min":[0.1875,0.09375,5.2954717288118805e-18],"type":"VEC3"},{"bufferView":68,"componentType":5126,"count":2,"max":[0.25],"min":[0],"type":"SCALAR"},{"bufferView":69,"componentType":5126,"count":2,"max":[0.19509032368659973,0,0,1],"min":[0,0,0,0.9807852506637573],"type":"VEC4"},{"bufferView":70,"componentType":5126,"count":4,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":71,"componentType":5126,"count":4,"max":[-4.5315224566436314e-18,0.8934261798858643,0.012755102477967739],"min":[-4.5315224566436314e-18,0.8153011798858643,0.012755102477967739],"type":"VEC3"},{"bufferView":72,"componentType":5126,"count":4,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":73,"componentType":5126,"count":4,"max":[0,0.03125,0],"min":[0,-0.03125,0],"type":"VEC3"},{"bufferView":74,"componentType":5126,"count":3,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":75,"componentType":5126,"count":3,"max":[0.3826834261417389,0,0,1],"min":[0,0,0,0.9238795042037964],"type":"VEC4"},{"bufferView":76,"componentType":5126,"count":4,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":77,"componentType":5126,"count":4,"max":[0.4375,0.28125,4.382459133587594e-18],"min":[0.4375,0.1875,4.382459133587594e-18],"type":"VEC3"},{"bufferView":78,"componentType":5126,"count":4,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":79,"componentType":5126,"count":4,"max":[-0.4375,0.28125,4.382459133587594e-18],"min":[-0.4375,0.1875,4.382459133587594e-18],"type":"VEC3"},{"bufferView":80,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":81,"componentType":5126,"count":5,"max":[-4.5315224566436314e-18,1.0340511798858643,0.012755102477967739],"min":[-4.5315224566436314e-18,0.8465511798858643,0.012755102477967739],"type":"VEC3"},{"bufferView":82,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":83,"componentType":5126,"count":5,"max":[0,0.1875,0],"min":[0,0,0],"type":"VEC3"},{"bufferView":84,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":85,"componentType":5126,"count":5,"max":[0.19509032368659973,0,0,1],"min":[0,0,0,0.9807852506637573],"type":"VEC4"},{"bufferView":86,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":87,"componentType":5126,"count":5,"max":[0.8191520571708679,0,0,0.8314695954322815],"min":[0.5555702447891235,0,0,0.5735764503479004],"type":"VEC4"},{"bufferView":88,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":89,"componentType":5126,"count":5,"max":[0.4375,0.359375,0.3125],"min":[0.4375,0.234375,-0.3125],"type":"VEC3"},{"bufferView":90,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":91,"componentType":5126,"count":5,"max":[0.1736481785774231,0,0,1],"min":[-0.19509032368659973,0,0,0.9807852506637573],"type":"VEC4"},{"bufferView":92,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":93,"componentType":5126,"count":5,"max":[-0.4375,0.359375,0.3125],"min":[-0.4375,0.234375,-0.3125],"type":"VEC3"},{"bufferView":94,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":95,"componentType":5126,"count":5,"max":[0.5555702447891235,0,0,1],"min":[-0.5555702447891235,0,0,0.8314695954322815],"type":"VEC4"},{"bufferView":96,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":97,"componentType":5126,"count":5,"max":[-0.1875,0.3125,0.3687500059604645],"min":[-0.1875,0.09375,-0.3499999940395355],"type":"VEC3"},{"bufferView":98,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":99,"componentType":5126,"count":5,"max":[0.5555702447891235,0,0,1],"min":[-0.5555702447891235,0,0,0.8314695954322815],"type":"VEC4"},{"bufferView":100,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":101,"componentType":5126,"count":5,"max":[0.1875,0.3125,0.375],"min":[0.1875,0.09375,-0.34375],"type":"VEC3"},{"bufferView":102,"componentType":5126,"count":8,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":103,"componentType":5126,"count":8,"max":[0.30070579051971436,0,0,1],"min":[-0.258819043636322,0,0,0.9537169337272644],"type":"VEC4"},{"bufferView":104,"componentType":5126,"count":7,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":105,"componentType":5126,"count":7,"max":[-4.5315224566436314e-18,0.9403011798858643,0.3565050959587097],"min":[-4.5315224566436314e-18,0.8153011798858643,-0.3309949040412903],"type":"VEC3"},{"bufferView":106,"componentType":5126,"count":7,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":107,"componentType":5126,"count":7,"max":[0.19509032368659973,0,0,1],"min":[-0.19509032368659973,0,0,0.9807852506637573],"type":"VEC4"},{"bufferView":108,"componentType":5126,"count":3,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":109,"componentType":5126,"count":3,"max":[0,0.03125,0],"min":[0,0,0],"type":"VEC3"},{"bufferView":110,"componentType":5126,"count":4,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":111,"componentType":5126,"count":4,"max":[0.3826834261417389,0,0,1],"min":[0,0,0,0.9238795042037964],"type":"VEC4"},{"bufferView":112,"componentType":5126,"count":7,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":113,"componentType":5126,"count":7,"max":[0.901979923248291,0.19996413588523865,0.1530459225177765,0.7631294131278992],"min":[0.640341579914093,0,0,0.37361231446266174],"type":"VEC4"},{"bufferView":114,"componentType":5126,"count":7,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":115,"componentType":5126,"count":7,"max":[0.5625,0.359375,0.0625],"min":[0.4375,0.234375,-0.125],"type":"VEC3"},{"bufferView":116,"componentType":5126,"count":7,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":117,"componentType":5126,"count":7,"max":[0,0,0,1],"min":[-0.9537169337272644,0,0,0.30070579051971436],"type":"VEC4"},{"bufferView":118,"componentType":5126,"count":7,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":119,"componentType":5126,"count":7,"max":[-0.4375,0.421875,0.375],"min":[-0.4375,0.109375,-0.25],"type":"VEC3"},{"bufferView":120,"componentType":5126,"count":6,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":121,"componentType":5126,"count":6,"max":[0.4617486000061035,0,0,1],"min":[-0.10886687785387039,0,0,0.8870108127593994],"type":"VEC4"},{"bufferView":122,"componentType":5126,"count":6,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":123,"componentType":5126,"count":6,"max":[-0.1875,0.28125,0.04062499850988388],"min":[-0.1875,0.09375,-0.2562499940395355],"type":"VEC3"},{"bufferView":124,"componentType":5126,"count":6,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":125,"componentType":5126,"count":6,"max":[0,0,0,1],"min":[-0.4617486000061035,0,0,0.8870108127593994],"type":"VEC4"},{"bufferView":126,"componentType":5126,"count":8,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":127,"componentType":5126,"count":8,"max":[0.1875,0.28125,0.25],"min":[0.1875,0.09375,5.2954717288118805e-18],"type":"VEC3"},{"bufferView":128,"componentType":5126,"count":5,"max":[0.5833333134651184],"min":[0],"type":"SCALAR"},{"bufferView":129,"componentType":5126,"count":5,"max":[0,0.125,0],"min":[0,-0.17687499523162842,0],"type":"VEC3"},{"bufferView":130,"componentType":5126,"count":2,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":131,"componentType":5126,"count":2,"max":[0.7071067690849304,0.09592200815677643,0.3168692886829376,0.8992419242858887],"min":[0.28593140840530396,0,0,0.7071067690849304],"type":"VEC4"},{"bufferView":132,"componentType":5126,"count":2,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":133,"componentType":5126,"count":2,"max":[0.4375,0.265625,4.382459133587594e-18],"min":[0.4375,0.234375,4.382459133587594e-18],"type":"VEC3"},{"bufferView":134,"componentType":5126,"count":2,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":135,"componentType":5126,"count":2,"max":[0,0,0,1],"min":[-0.13052618503570557,0,0,0.9914448857307434],"type":"VEC4"},{"bufferView":136,"componentType":5126,"count":2,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":137,"componentType":5126,"count":2,"max":[-0.4375,0.265625,0.03125],"min":[-0.4375,0.234375,4.382459133587594e-18],"type":"VEC3"},{"bufferView":138,"componentType":5126,"count":2,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":139,"componentType":5126,"count":2,"max":[0,0,0,1],"min":[-0.3826834261417389,0,0,0.9238795042037964],"type":"VEC4"},{"bufferView":140,"componentType":5126,"count":2,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":141,"componentType":5126,"count":2,"max":[-0.1875,0.28125,0.3062500059604645],"min":[-0.1875,0.09375,-0.0062500000931322575],"type":"VEC3"},{"bufferView":142,"componentType":5126,"count":2,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":143,"componentType":5126,"count":2,"max":[0,0,0,1],"min":[-0.3826834261417389,0,0,0.9238795042037964],"type":"VEC4"},{"bufferView":144,"componentType":5126,"count":2,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":145,"componentType":5126,"count":2,"max":[0.1875,0.28125,0.3125],"min":[0.1875,0.09375,5.2954717288118805e-18],"type":"VEC3"},{"bufferView":146,"componentType":5126,"count":8,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":147,"componentType":5126,"count":8,"max":[-4.5315224566436314e-18,1.0340511798858643,0.012755102477967739],"min":[-4.5315224566436314e-18,0.7840511798858643,0.012755102477967739],"type":"VEC3"},{"bufferView":148,"componentType":5126,"count":8,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":149,"componentType":5126,"count":8,"max":[0,0.1875,0],"min":[0,-0.0625,0],"type":"VEC3"},{"bufferView":150,"componentType":5126,"count":8,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":151,"componentType":5126,"count":8,"max":[0.4375,0.421875,4.382459133587594e-18],"min":[0.4375,0.171875,4.382459133587594e-18],"type":"VEC3"},{"bufferView":152,"componentType":5126,"count":8,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":153,"componentType":5126,"count":8,"max":[-0.4375,0.421875,4.382459133587594e-18],"min":[-0.4375,0.171875,4.382459133587594e-18],"type":"VEC3"},{"bufferView":154,"componentType":5126,"count":8,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":155,"componentType":5126,"count":8,"max":[0.3826834261417389,0,0,1],"min":[0,0,0,0.9238795042037964],"type":"VEC4"},{"bufferView":156,"componentType":5126,"count":8,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":157,"componentType":5126,"count":8,"max":[-0.1875,0.28125,-0.0062500000931322575],"min":[-0.1875,0.09375,-0.0062500000931322575],"type":"VEC3"},{"bufferView":158,"componentType":5126,"count":8,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":159,"componentType":5126,"count":8,"max":[0.3826834261417389,0,0,1],"min":[0,0,0,0.9238795042037964],"type":"VEC4"},{"bufferView":160,"componentType":5126,"count":8,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":161,"componentType":5126,"count":8,"max":[0.1875,0.28125,5.2954717288118805e-18],"min":[0.1875,0.09375,5.2954717288118805e-18],"type":"VEC3"},{"bufferView":162,"componentType":5126,"count":4,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":163,"componentType":5126,"count":4,"max":[0.3826834261417389,0,0,1],"min":[0,0,0,0.9238795042037964],"type":"VEC4"},{"bufferView":164,"componentType":5126,"count":6,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":165,"componentType":5126,"count":6,"max":[-4.5315224566436314e-18,1.1590511798858643,0.012755102477967739],"min":[-4.5315224566436314e-18,0.7840511798858643,0.012755102477967739],"type":"VEC3"},{"bufferView":166,"componentType":5126,"count":6,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":167,"componentType":5126,"count":6,"max":[0,0.3125,0],"min":[0,-0.0625,0],"type":"VEC3"},{"bufferView":168,"componentType":5126,"count":5,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":169,"componentType":5126,"count":5,"max":[0.3826834261417389,0,0,1],"min":[0,0,0,0.9238795042037964],"type":"VEC4"},{"bufferView":170,"componentType":5126,"count":4,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":171,"componentType":5126,"count":4,"max":[0.7071067690849304,0.13794969022274017,0.13794969022274017,0.7071067690849304],"min":[0.6935199499130249,0,0,0.6935199499130249],"type":"VEC4"},{"bufferView":172,"componentType":5126,"count":6,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":173,"componentType":5126,"count":6,"max":[0.5625,0.484375,4.382459133587594e-18],"min":[0.4375,0.171875,4.382459133587594e-18],"type":"VEC3"},{"bufferView":174,"componentType":5126,"count":4,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":175,"componentType":5126,"count":4,"max":[0,0,0.15495416522026062,1],"min":[-0.718505322933197,-0.12068262696266174,0,0.6672143340110779],"type":"VEC4"},{"bufferView":176,"componentType":5126,"count":6,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":177,"componentType":5126,"count":6,"max":[-0.4375,0.859375,4.382459133587594e-18],"min":[-0.625,0.171875,4.382459133587594e-18],"type":"VEC3"},{"bufferView":178,"componentType":5126,"count":4,"max":[1.125],"min":[0.2916666567325592],"type":"SCALAR"},{"bufferView":179,"componentType":5126,"count":4,"max":[0.3826834261417389,0,0,1],"min":[0,0,0,0.9238795042037964],"type":"VEC4"},{"bufferView":180,"componentType":5126,"count":5,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":181,"componentType":5126,"count":5,"max":[-0.1875,0.40625,-0.0062500000931322575],"min":[-0.1875,0.09375,-0.19374999403953552],"type":"VEC3"},{"bufferView":182,"componentType":5126,"count":4,"max":[1.125],"min":[0.2916666567325592],"type":"SCALAR"},{"bufferView":183,"componentType":5126,"count":4,"max":[0,0,0,1],"min":[-0.3826834261417389,0,0,0.9238795042037964],"type":"VEC4"},{"bufferView":184,"componentType":5126,"count":5,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":185,"componentType":5126,"count":5,"max":[0.1875,0.46875,0.3125],"min":[0.1875,0.09375,5.2954717288118805e-18],"type":"VEC3"},{"bufferView":186,"componentType":5126,"count":6,"max":[0.875],"min":[0],"type":"SCALAR"},{"bufferView":187,"componentType":5126,"count":6,"max":[-4.5315224566436314e-18,0.8465511798858643,0.012755102477967739],"min":[-4.5315224566436314e-18,0.7840511798858643,-0.11224489659070969],"type":"VEC3"},{"bufferView":188,"componentType":5126,"count":6,"max":[0.875],"min":[0],"type":"SCALAR"},{"bufferView":189,"componentType":5126,"count":6,"max":[0,0,0],"min":[0,-0.0625,-0.125],"type":"VEC3"},{"bufferView":190,"componentType":5126,"count":4,"max":[0.875],"min":[0],"type":"SCALAR"},{"bufferView":191,"componentType":5126,"count":4,"max":[0.3826834261417389,0,0,1],"min":[0,0,0,0.9238795042037964],"type":"VEC4"},{"bufferView":192,"componentType":5126,"count":4,"max":[0.875],"min":[0],"type":"SCALAR"},{"bufferView":193,"componentType":5126,"count":4,"max":[0.7071067690849304,0.27059805393218994,0.27059805393218994,0.7071067690849304],"min":[0.6532815098762512,0,0,0.6532815098762512],"type":"VEC4"},{"bufferView":194,"componentType":5126,"count":6,"max":[0.875],"min":[0],"type":"SCALAR"},{"bufferView":195,"componentType":5126,"count":6,"max":[0.5625,0.296875,4.382459133587594e-18],"min":[0.4375,0.234375,4.382459133587594e-18],"type":"VEC3"},{"bufferView":196,"componentType":5126,"count":4,"max":[0.875],"min":[0],"type":"SCALAR"},{"bufferView":197,"componentType":5126,"count":4,"max":[0,0,0,1],"min":[0,0,-0.3826834261417389,0.9238795042037964],"type":"VEC4"},{"bufferView":198,"componentType":5126,"count":6,"max":[0.875],"min":[0],"type":"SCALAR"},{"bufferView":199,"componentType":5126,"count":6,"max":[-0.4375,0.296875,4.382459133587594e-18],"min":[-0.5625,0.234375,4.382459133587594e-18],"type":"VEC3"},{"bufferView":200,"componentType":5126,"count":4,"max":[0.875],"min":[0],"type":"SCALAR"},{"bufferView":201,"componentType":5126,"count":4,"max":[0.1875,0.09375,5.2954717288118805e-18],"min":[0.1875,0.09375,-0.25],"type":"VEC3"},{"bufferView":202,"componentType":5126,"count":3,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":203,"componentType":5126,"count":3,"max":[0,0,0,1],"min":[-0.7071067690849304,0,0,0.7071067690849304],"type":"VEC4"},{"bufferView":204,"componentType":5126,"count":7,"max":[0.8333333134651184],"min":[0],"type":"SCALAR"},{"bufferView":205,"componentType":5126,"count":7,"max":[0,0.5625,0],"min":[0,0,-0.25],"type":"VEC3"},{"bufferView":206,"componentType":5126,"count":2,"max":[0.3333333432674408],"min":[0.1666666716337204],"type":"SCALAR"},{"bufferView":207,"componentType":5126,"count":2,"max":[0.7071067690849304,0,0.27059805393218994,0.7071067690849304],"min":[0.6532815098762512,-0.27059805393218994,0,0.6532815098762512],"type":"VEC4"},{"bufferView":208,"componentType":5126,"count":5,"max":[0.8333333134651184],"min":[0.1666666716337204],"type":"SCALAR"},{"bufferView":209,"componentType":5126,"count":5,"max":[0.4375,0.234375,4.382459133587594e-18],"min":[0.4375,0.234375,-0.25],"type":"VEC3"},{"bufferView":210,"componentType":5126,"count":2,"max":[0.3333333432674408],"min":[0.1666666716337204],"type":"SCALAR"},{"bufferView":211,"componentType":5126,"count":2,"max":[0.3826834261417389,0,0,1],"min":[0,0,0,0.9238795042037964],"type":"VEC4"},{"bufferView":212,"componentType":5126,"count":5,"max":[0.8333333134651184],"min":[0.1666666716337204],"type":"SCALAR"},{"bufferView":213,"componentType":5126,"count":5,"max":[-0.4375,0.234375,4.382459133587594e-18],"min":[-0.4375,0.234375,-0.25],"type":"VEC3"},{"bufferView":214,"componentType":5126,"count":6,"max":[0.8333333134651184],"min":[0],"type":"SCALAR"},{"bufferView":215,"componentType":5126,"count":6,"max":[0.19509032368659973,0,0,1],"min":[-0.3826834261417389,0,0,0.9238795042037964],"type":"VEC4"},{"bufferView":216,"componentType":5126,"count":3,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":217,"componentType":5126,"count":3,"max":[-0.1875,0.09375,0.18125000596046448],"min":[-0.1875,0.03125,-0.0062500000931322575],"type":"VEC3"},{"bufferView":218,"componentType":5126,"count":6,"max":[0.8333333134651184],"min":[0],"type":"SCALAR"},{"bufferView":219,"componentType":5126,"count":6,"max":[0.19509032368659973,0,0,1],"min":[-0.3826834261417389,0,0,0.9238795042037964],"type":"VEC4"},{"bufferView":220,"componentType":5126,"count":3,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":221,"componentType":5126,"count":3,"max":[0.1875,0.09375,0.1875],"min":[0.1875,0.03125,5.2954717288118805e-18],"type":"VEC3"},{"bufferView":222,"componentType":5126,"count":5,"max":[0.8333333134651184],"min":[0],"type":"SCALAR"},{"bufferView":223,"componentType":5126,"count":5,"max":[0.3826834261417389,0,0,1],"min":[0,0,0,0.9238795042037964],"type":"VEC4"}],"materials":[{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":0}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true},{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":1}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true},{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":2}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true},{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":3}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true},{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":4}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true},{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":5}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true},{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":6}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true}],"textures":[{"sampler":0,"source":0},{"sampler":1,"source":1},{"sampler":2,"source":2},{"sampler":3,"source":3},{"sampler":4,"source":4},{"sampler":5,"source":5},{"sampler":6,"source":6}],"samplers":[{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071},{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071},{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071},{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071},{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071},{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071},{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071}],"images":[{"mimeType":"image/png","uri":"data:image/png;base64,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gTICBFAWqHYQSAgQQEJLLQJlBAigLFDtIJAQIICElloEyggQQFmg2kEgIUAACS21CJQRIICyQLWDQEKAABJaahEoI0AAZYFqB4GEAAEktNQiUEaAAMoC1Q4CCQECSGipRaCMAAGUBaodBBICBJDQUotAGQECKAtUOwgkBAggoaUWgTICBFAWqHYQSAgQQEJLLQJlBAigLFDtIJAQIICElloEyggQQFmg2kEgIUAACS21CJQRIICyQLWDQEKAABJaahEoI0AAZYFqB4GEAAEktNQiUEaAAMoC1Q4CCQECSGipRaCMAAGUBaodBBICBJDQUotAGQECKAtUOwgkBAggoaUWgTICBFAWqHYQSAgQQEJLLQJlBAigLFDtIJAQIICElloEyggQQFmg2kEgIUAACS21CJQRIICyQLWDQEKAABJaahEoI0AAZYFqB4GEAAEktNQiUEaAAMoC1Q4CCQECSGipRaCMAAGUBaodBBICBJDQUotAGQECKAtUOwgkBAggoaUWgTICBFAWqHYQSAgQQEJLLQJlBAigLFDtIJAQIICElloEyggQQFmg2kEgIUAACS21CJQRIICyQLWDQEKAABJaahEoI0AAZYFqB4GEAAEktNQiUEaAAMoC1Q4CCQECSGipRaCMAAGUBaodBBICBJDQUotAGQECKAtUOwgkBAggoaUWgTICBFAWqHYQSAgQQEJLLQJlBAigLFDtIJAQIICElloEyggQQFmg2kEgIUAACS21CJQRIICyQLWDQEKAABJaahEoI0AAZYFqB4GEAAEktNQiUEaAAMoC1Q4CCQECSGipRaCMAAGUBaodBBICBJDQUotAGQECKAtUOwgkBAggoaUWgTICBFAWqHYQSAgQQEJLLQJlBAigLFDtIJAQIICElloEyggQQFmg2kEgIUAACS21CJQRIICyQLWDQEKAABJaahEoI0AAZYFqB4GEAAEktNQiUEaAAMoC1Q4CCQECSGipRaCMAAGUBaodBBICBJDQUotAGQECKAtUOwgkBAggoaUWgTICBFAWqHYQSAgQQEJLLQJlBAigLFDtIJAQIICElloEyggQQFmg2kEgIUAACS21CJQRIICyQLWDQEKAABJaahEoI0AAZYFqB4GEAAEktNQiUEaAAMoC1Q4CCQECSGipRaCMAAGUBaodBBICBJDQUotAGQECKAtUOwgkBAggoaUWgTICBFAWqHYQSAj8ATiI9D1OywmPAAAAAElFTkSuQmCC"},{"mimeType":"image/png","uri":"data:image/png;base64,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"},{"mimeType":"image/png","uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAdFJREFUeF7tmTFyw0AIRaO7pEmVi7nMMVz6YqnS+C7OeMbyaNZaf75hEWP9tCaAHh92habL4fPyQfxNp/P0zJz1t+YLxSDShaYTmzBKjvUnACsEEGRYVsJACnhFskyFWP+Mb6LQXVNaAVdPTJICEHzKRFR96UMKqC7R6Iq3/mgFMP0/OvkI/wKgFgBTOlryLPBZ5tF53P2ihKIDo3i9vo7OQwBuBOAQjCZfXgHogX++v8z7g+Pv38PuoBwA9iwVAClALeCaAWzLjbZ/uuBcC+6dAaMfiPUvACyxt1MAOpfbewECsHb2LyH34vXuHyi/h/d78N2C3gcIQENUCgAXod21wKsPbO3d8jNgNAD2lGLt6dfhdgbsDgBL2Cph9BrOxrXa0wqwOp7tBMD4aUwKIG9wrBK7y1YkUW9lkP/Ra28ECu7svABQAlv/LgBtBVrJSgEbDaes1qBbAL0NLhO3fBdoFWYdmlHDM30lhlpMAIwXJylg/rjpnFHlWiBr+N0VxAYcPQTZfLz2UgBLcPcKaIFFbIi2vG3SLcAqBl21r78LgPMo8xRFCvDQe4f/TVdANWgCUK0i2flIAdnEq8WTAqpVJDsfKSCbeLV4UkC1imTn8w8SoKxQqoBRnQAAAABJRU5ErkJggg=="},{"mimeType":"image/png","uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAWRJREFUeF7tmt0NwjAQg5sd2IH9x2EHdihPINFGXK3kTo74eI1zudi+/JW2P+/7dvHXbo92hPb693Dvftn4i1P5wBoE4ABKwHoNUGtaxduvAeqEVDwEuO8CqqIq3t4B6rkBAkQGcIBI2AmuWjQbr87ndLZXA6yOh4DVFRzNHwdEB6Hj3T57EVPjDzsAAoL3ABxweAZTLZqNpwQGGQiPwpQAJfD9FJ5d02r8wQrY5IOQmqCKH52Q2h8CVMZURVW8ms8oHge4KVSdT/cc8Ovj5qjlov4Q0LmbZAqCA1TLZeOjEpndLjsAAsQaVQmbrXAUDweoCrnhI4WjdjsHqARHE4zaIUBl3A0fKRy1y5ehKOBq7RCwmmKz88UBx0Ut8+Y1W70Z8U7bIAR0/hE+g2nXGDjAVZmqvNgFqph2HQcHuCpTlRcOqGLadRwc4KpMVV44oIpp13FwgKsyVXnhgCqmXcf5ewe8AJGE7FDiQQlyAAAAAElFTkSuQmCC"},{"mimeType":"image/png","uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAf1JREFUeF7tWzFSxDAMTH4D/IDi4AEpKCnhaVBSUuQBcAU/AH4D45nzzCGsSOIkbCd77elka7VaS05uvLu9+RocP49Pz+OSu2maTOvN87zo79StjwAADEAJmGrSWnOSJlj9edu7awDdIAAQTgXvjFr9gQHexyCXAa4UrH2BJcOaHiKcAXnDAIDRgs0zwELpCNvqJRARlMUnAKh9CliyFWELBtRmwOZPAQBgvCGy6EAXnaAloAjbcBHEOIxxePmWOILWFp8oAe8+oPWap+xwZwAAaFz0wACCQOhzN4sa17IFALWQb2VdMEAaR/NEJdlZMypNaq/7N9dnlle7y2KyRykwAHB4Q0MCCgwwItBMCWj37c0Aui4FxFsD6HpZE9SnAAAIvLtL2QEDyOtw/1YClNqcOEWXQK7RvL4GgN35fVHC9h8PWmkbfvUBvQFw8fL5I9j367NhEwDk7JcASIhoQeiSAcfU5wDQgtDMMajRAFrzNPjsI5VB6VNiRXcAcEFLqsdpAwCQkMvft3AMphJwZ4AUWNQ4zAG/1AcAANL4uIhgTwzIrHE9BnsEIAHh1gi1IoJ/mQZLmqBthVdxH3DKMLQKALTsLdkBgMM1ebVOcPOXogBA+Eeo5kbIogHskyGtE6lf0PqhYy/3u+YAsAbYi71aBHsJyLpPAGBFbG3238pg7dQV2eBwAAAAAElFTkSuQmCC"},{"mimeType":"image/png","uri":"data:image/png;base64,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"},{"mimeType":"image/png","uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAeBJREFUeF7tmmuSAiEMhJ27eLw9jsfbu7jl1lo1MshHV2BAtv2nCSR0Og9m3C7J5/51vae/lb5vt++tJFf3e+71bt+a/cinvb8H52sMvGxgAMyA/50Caf6n+dc6pZT6VKMbrgEEQI0TI3UMQLQNfjwD1Bwluio9mPbKyXP+lmym+qnuZgDEyY+iZgbAZEgAknz6FGgxy5f2UAEgQJvXAAPwh0DkNkcgUlQV+ccxQDlcje4BgN6zvNJ2e3eUB0CnA1ATlTN1ilfZMx0ZZcsAjEK+l111TliOAQYgc7cpdRMzQOnLv30zueyo62nKU/ZrMSfIk6ABMANeX4QolN23vlkuS8ulgNwG1Qi2KDy9hqDHvgZAnQPMAPGp8OwpoKZXuAiqBmfTNwCr1QCVYeHLkAJgrn70WK/UKQOgUibV7xHBdz7VMsgMEN5Pyo/FI9fh2gieygD6AwHJoykUXa/O/qm9MAOiBxi93gAQxUk+OoJR+2YARZjk0QiMXm8GUIRVee7dwT7KatuK6tNUiAwgikYd7A2YAYCx2AwgipN8thQgfw+jsLqg5jqs/Hm5dQ1QzxN+IKIanE3fAKh9ntrKbBEmf7ALEEBkYHa5AaAIk3z2CJN/LoKE0OpyM2D1CNP5fgD/AjRfOW9PCQAAAABJRU5ErkJggg=="}],"meshes":[{"primitives":[{"mode":4,"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":1}]},{"primitives":[{"mode":4,"attributes":{"POSITION":8,"NORMAL":9,"TEXCOORD_0":10},"indices":11,"material":2}]},{"primitives":[{"mode":4,"attributes":{"POSITION":12,"NORMAL":13,"TEXCOORD_0":14},"indices":15,"material":2}]},{"primitives":[{"mode":4,"attributes":{"POSITION":16,"NORMAL":17,"TEXCOORD_0":18},"indices":19,"material":3}]},{"primitives":[{"mode":4,"attributes":{"POSITION":20,"NORMAL":21,"TEXCOORD_0":22},"indices":23,"material":4}]},{"primitives":[{"mode":4,"attributes":{"POSITION":24,"NORMAL":25,"TEXCOORD_0":26},"indices":27,"material":3}]},{"primitives":[{"mode":4,"attributes":{"POSITION":28,"NORMAL":29,"TEXCOORD_0":30},"indices":31,"material":5}]},{"primitives":[{"mode":4,"attributes":{"POSITION":32,"NORMAL":33,"TEXCOORD_0":34},"indices":35,"material":5}]},{"primitives":[{"mode":4,"attributes":{"POSITION":36,"NORMAL":37,"TEXCOORD_0":38},"indices":39,"material":5}]},{"primitives":[{"mode":4,"attributes":{"POSITION":40,"NORMAL":41,"TEXCOORD_0":42},"indices":43,"material":5}]},{"primitives":[{"mode":4,"attributes":{"POSITION":44,"NORMAL":45,"TEXCOORD_0":46},"indices":47,"material":6}]},{"primitives":[{"mode":4,"attributes":{"POSITION":48,"NORMAL":49,"TEXCOORD_0":50},"indices":51,"material":6}]}],"animations":[{"name":"Guard","samplers":[{"input":52,"output":53,"interpolation":"LINEAR"},{"input":54,"output":55,"interpolation":"LINEAR"},{"input":56,"output":57,"interpolation":"LINEAR"},{"input":58,"output":59,"interpolation":"LINEAR"},{"input":60,"output":61,"interpolation":"LINEAR"},{"input":62,"output":63,"interpolation":"LINEAR"},{"input":64,"output":65,"interpolation":"LINEAR"},{"input":66,"output":67,"interpolation":"LINEAR"},{"input":68,"output":69,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"translation"}},{"sampler":1,"target":{"node":7,"path":"translation"}},{"sampler":2,"target":{"node":10,"path":"rotation"}},{"sampler":3,"target":{"node":10,"path":"translation"}},{"sampler":4,"target":{"node":17,"path":"rotation"}},{"sampler":5,"target":{"node":17,"path":"translation"}},{"sampler":6,"target":{"node":19,"path":"translation"}},{"sampler":7,"target":{"node":21,"path":"translation"}},{"sampler":8,"target":{"node":5,"path":"rotation"}}]},{"name":"Idle","samplers":[{"input":70,"output":71,"interpolation":"LINEAR"},{"input":72,"output":73,"interpolation":"LINEAR"},{"input":74,"output":75,"interpolation":"LINEAR"},{"input":76,"output":77,"interpolation":"LINEAR"},{"input":78,"output":79,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"translation"}},{"sampler":1,"target":{"node":7,"path":"translation"}},{"sampler":2,"target":{"node":5,"path":"rotation"}},{"sampler":3,"target":{"node":10,"path":"translation"}},{"sampler":4,"target":{"node":17,"path":"translation"}}]},{"name":"Walk","samplers":[{"input":80,"output":81,"interpolation":"LINEAR"},{"input":82,"output":83,"interpolation":"LINEAR"},{"input":84,"output":85,"interpolation":"LINEAR"},{"input":86,"output":87,"interpolation":"LINEAR"},{"input":88,"output":89,"interpolation":"LINEAR"},{"input":90,"output":91,"interpolation":"LINEAR"},{"input":92,"output":93,"interpolation":"LINEAR"},{"input":94,"output":95,"interpolation":"LINEAR"},{"input":96,"output":97,"interpolation":"LINEAR"},{"input":98,"output":99,"interpolation":"LINEAR"},{"input":100,"output":101,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"translation"}},{"sampler":1,"target":{"node":7,"path":"translation"}},{"sampler":2,"target":{"node":5,"path":"rotation"}},{"sampler":3,"target":{"node":10,"path":"rotation"}},{"sampler":4,"target":{"node":10,"path":"translation"}},{"sampler":5,"target":{"node":17,"path":"rotation"}},{"sampler":6,"target":{"node":17,"path":"translation"}},{"sampler":7,"target":{"node":19,"path":"rotation"}},{"sampler":8,"target":{"node":19,"path":"translation"}},{"sampler":9,"target":{"node":21,"path":"rotation"}},{"sampler":10,"target":{"node":21,"path":"translation"}}]},{"name":"Attack","samplers":[{"input":102,"output":103,"interpolation":"LINEAR"},{"input":104,"output":105,"interpolation":"LINEAR"},{"input":106,"output":107,"interpolation":"LINEAR"},{"input":108,"output":109,"interpolation":"LINEAR"},{"input":110,"output":111,"interpolation":"LINEAR"},{"input":112,"output":113,"interpolation":"LINEAR"},{"input":114,"output":115,"interpolation":"LINEAR"},{"input":116,"output":117,"interpolation":"LINEAR"},{"input":118,"output":119,"interpolation":"LINEAR"},{"input":120,"output":121,"interpolation":"LINEAR"},{"input":122,"output":123,"interpolation":"LINEAR"},{"input":124,"output":125,"interpolation":"LINEAR"},{"input":126,"output":127,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"rotation"}},{"sampler":1,"target":{"node":1,"path":"translation"}},{"sampler":2,"target":{"node":7,"path":"rotation"}},{"sampler":3,"target":{"node":7,"path":"translation"}},{"sampler":4,"target":{"node":5,"path":"rotation"}},{"sampler":5,"target":{"node":10,"path":"rotation"}},{"sampler":6,"target":{"node":10,"path":"translation"}},{"sampler":7,"target":{"node":17,"path":"rotation"}},{"sampler":8,"target":{"node":17,"path":"translation"}},{"sampler":9,"target":{"node":19,"path":"rotation"}},{"sampler":10,"target":{"node":19,"path":"translation"}},{"sampler":11,"target":{"node":21,"path":"rotation"}},{"sampler":12,"target":{"node":21,"path":"translation"}}]},{"name":"Skip","samplers":[{"input":128,"output":129,"interpolation":"LINEAR"},{"input":130,"output":131,"interpolation":"LINEAR"},{"input":132,"output":133,"interpolation":"LINEAR"},{"input":134,"output":135,"interpolation":"LINEAR"},{"input":136,"output":137,"interpolation":"LINEAR"},{"input":138,"output":139,"interpolation":"LINEAR"},{"input":140,"output":141,"interpolation":"LINEAR"},{"input":142,"output":143,"interpolation":"LINEAR"},{"input":144,"output":145,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":22,"path":"translation"}},{"sampler":1,"target":{"node":10,"path":"rotation"}},{"sampler":2,"target":{"node":10,"path":"translation"}},{"sampler":3,"target":{"node":17,"path":"rotation"}},{"sampler":4,"target":{"node":17,"path":"translation"}},{"sampler":5,"target":{"node":19,"path":"rotation"}},{"sampler":6,"target":{"node":19,"path":"translation"}},{"sampler":7,"target":{"node":21,"path":"rotation"}},{"sampler":8,"target":{"node":21,"path":"translation"}}]},{"name":"Jump","samplers":[{"input":146,"output":147,"interpolation":"LINEAR"},{"input":148,"output":149,"interpolation":"LINEAR"},{"input":150,"output":151,"interpolation":"LINEAR"},{"input":152,"output":153,"interpolation":"LINEAR"},{"input":154,"output":155,"interpolation":"LINEAR"},{"input":156,"output":157,"interpolation":"LINEAR"},{"input":158,"output":159,"interpolation":"LINEAR"},{"input":160,"output":161,"interpolation":"LINEAR"},{"input":162,"output":163,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"translation"}},{"sampler":1,"target":{"node":7,"path":"translation"}},{"sampler":2,"target":{"node":10,"path":"translation"}},{"sampler":3,"target":{"node":17,"path":"translation"}},{"sampler":4,"target":{"node":19,"path":"rotation"}},{"sampler":5,"target":{"node":19,"path":"translation"}},{"sampler":6,"target":{"node":21,"path":"rotation"}},{"sampler":7,"target":{"node":21,"path":"translation"}},{"sampler":8,"target":{"node":5,"path":"rotation"}}]},{"name":"Heal","samplers":[{"input":164,"output":165,"interpolation":"LINEAR"},{"input":166,"output":167,"interpolation":"LINEAR"},{"input":168,"output":169,"interpolation":"LINEAR"},{"input":170,"output":171,"interpolation":"LINEAR"},{"input":172,"output":173,"interpolation":"LINEAR"},{"input":174,"output":175,"interpolation":"LINEAR"},{"input":176,"output":177,"interpolation":"LINEAR"},{"input":178,"output":179,"interpolation":"LINEAR"},{"input":180,"output":181,"interpolation":"LINEAR"},{"input":182,"output":183,"interpolation":"LINEAR"},{"input":184,"output":185,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"translation"}},{"sampler":1,"target":{"node":7,"path":"translation"}},{"sampler":2,"target":{"node":5,"path":"rotation"}},{"sampler":3,"target":{"node":10,"path":"rotation"}},{"sampler":4,"target":{"node":10,"path":"translation"}},{"sampler":5,"target":{"node":17,"path":"rotation"}},{"sampler":6,"target":{"node":17,"path":"translation"}},{"sampler":7,"target":{"node":19,"path":"rotation"}},{"sampler":8,"target":{"node":19,"path":"translation"}},{"sampler":9,"target":{"node":21,"path":"rotation"}},{"sampler":10,"target":{"node":21,"path":"translation"}}]},{"name":"Hurt","samplers":[{"input":186,"output":187,"interpolation":"LINEAR"},{"input":188,"output":189,"interpolation":"LINEAR"},{"input":190,"output":191,"interpolation":"LINEAR"},{"input":192,"output":193,"interpolation":"LINEAR"},{"input":194,"output":195,"interpolation":"LINEAR"},{"input":196,"output":197,"interpolation":"LINEAR"},{"input":198,"output":199,"interpolation":"LINEAR"},{"input":200,"output":201,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"translation"}},{"sampler":1,"target":{"node":7,"path":"translation"}},{"sampler":2,"target":{"node":5,"path":"rotation"}},{"sampler":3,"target":{"node":10,"path":"rotation"}},{"sampler":4,"target":{"node":10,"path":"translation"}},{"sampler":5,"target":{"node":17,"path":"rotation"}},{"sampler":6,"target":{"node":17,"path":"translation"}},{"sampler":7,"target":{"node":21,"path":"translation"}}]},{"name":"Faint","samplers":[{"input":202,"output":203,"interpolation":"LINEAR"},{"input":204,"output":205,"interpolation":"LINEAR"},{"input":206,"output":207,"interpolation":"LINEAR"},{"input":208,"output":209,"interpolation":"LINEAR"},{"input":210,"output":211,"interpolation":"LINEAR"},{"input":212,"output":213,"interpolation":"LINEAR"},{"input":214,"output":215,"interpolation":"LINEAR"},{"input":216,"output":217,"interpolation":"LINEAR"},{"input":218,"output":219,"interpolation":"LINEAR"},{"input":220,"output":221,"interpolation":"LINEAR"},{"input":222,"output":223,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":22,"path":"rotation"}},{"sampler":1,"target":{"node":22,"path":"translation"}},{"sampler":2,"target":{"node":10,"path":"rotation"}},{"sampler":3,"target":{"node":10,"path":"translation"}},{"sampler":4,"target":{"node":17,"path":"rotation"}},{"sampler":5,"target":{"node":17,"path":"translation"}},{"sampler":6,"target":{"node":19,"path":"rotation"}},{"sampler":7,"target":{"node":19,"path":"translation"}},{"sampler":8,"target":{"node":21,"path":"rotation"}},{"sampler":9,"target":{"node":21,"path":"translation"}},{"sampler":10,"target":{"node":5,"path":"rotation"}}]}]} \ No newline at end of file diff --git a/public/models/dice.gltf b/public/models/dice.gltf new file mode 100644 index 0000000..6ee3ed8 --- /dev/null +++ b/public/models/dice.gltf @@ -0,0 +1 @@ +{"asset":{"version":"2.0","generator":"Blockbench 4.9.4 glTF exporter"},"scenes":[{"nodes":[2],"name":"blockbench_export"}],"scene":0,"nodes":[{"rotation":[0,-0.7071067811865475,0,0.7071067811865476],"translation":[0,-0.375,0],"name":"Dice","mesh":0},{"translation":[0,0.375,0],"name":"Dice","children":[0]},{"children":[1]}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":288,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":576,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":768,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":840,"byteLength":24},{"buffer":0,"byteOffset":864,"byteLength":96},{"buffer":0,"byteOffset":960,"byteLength":16},{"buffer":0,"byteOffset":976,"byteLength":48},{"buffer":0,"byteOffset":1024,"byteLength":24},{"buffer":0,"byteOffset":1048,"byteLength":96},{"buffer":0,"byteOffset":1144,"byteLength":16},{"buffer":0,"byteOffset":1160,"byteLength":48},{"buffer":0,"byteOffset":1208,"byteLength":24},{"buffer":0,"byteOffset":1232,"byteLength":96},{"buffer":0,"byteOffset":1328,"byteLength":16},{"buffer":0,"byteOffset":1344,"byteLength":48},{"buffer":0,"byteOffset":1392,"byteLength":24},{"buffer":0,"byteOffset":1416,"byteLength":96},{"buffer":0,"byteOffset":1512,"byteLength":16},{"buffer":0,"byteOffset":1528,"byteLength":48},{"buffer":0,"byteOffset":1576,"byteLength":24},{"buffer":0,"byteOffset":1600,"byteLength":96},{"buffer":0,"byteOffset":1696,"byteLength":16},{"buffer":0,"byteOffset":1712,"byteLength":48},{"buffer":0,"byteOffset":1760,"byteLength":24},{"buffer":0,"byteOffset":1784,"byteLength":96},{"buffer":0,"byteOffset":1880,"byteLength":16},{"buffer":0,"byteOffset":1896,"byteLength":48}],"buffers":[{"byteLength":1944,"uri":"data:application/octet-stream;base64,AADAPgAAQD8AAMA+AADAPgAAAAAAAMA+AADAPgAAQD8AAMC+AADAPgAAAAAAAMC+AADAvgAAQD8AAMA+AADAvgAAQD8AAMC+AADAvgAAAAAAAMA+AADAvgAAAAAAAMC+AADAPgAAQD8AAMA+AADAPgAAQD8AAMC+AADAvgAAQD8AAMA+AADAvgAAQD8AAMC+AADAPgAAAAAAAMA+AADAvgAAAAAAAMA+AADAPgAAAAAAAMC+AADAvgAAAAAAAMC+AADAPgAAQD8AAMA+AADAvgAAQD8AAMA+AADAPgAAAAAAAMA+AADAvgAAAAAAAMA+AADAPgAAQD8AAMC+AADAPgAAAAAAAMC+AADAvgAAQD8AAMC+AADAvgAAAAAAAMC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAAAAAABAPgAAQD4AAAAAAABAPgAAQD4AAEA+AABAPgAAAAAAAEA+AABAPgAAwD4AAAAAAADAPgAAwD4AAEA+AADAPgAAAAAAAEA+AABAPgAAQD4AAAAAAADAPgAAQD4AAEA+AABAPgAAwD4AAMA+AABAPgAAwD4AAEA+AADAPgAAAAAAAMA+AABAPgAAED8AAAAAAAAQPwAAwD4AAAAAAADAPgAAQD4AABA/AAAAAAAAED8AAEA+AgAAAAEAAgABAAMABgAEAAUABgAFAAcACgAIAAkACgAJAAsADgAMAA0ADgANAA8AEgAQABEAEgARABMAFgAUABUAFgAVABcAAAAAAAAAQD4AAMA+AAAQPwAAQD8AAIA/MjGNpTIxjaUyMY0lAACAP73xGT7XZGa+vfEZvvlscz9eg+y+Fe9Dvl6D7D6Zhzu/94ECvs8GJD/3gQI+PQ4/v/MENT8AAIAk8wQ1vwAAQCUAAAAAAAAAAAAAAAAAAIA/AAAAAAAAwD4AAEA/AACAPwAAAAAAAPA/AADAPwAAAAAAAMA+AABAPwAAAAAAAJA/AADAPgAAAAAAAMA+AAAAAAAAAAAAAEA+AADAPgAAED8AAEA/AACAPwAAAAzzBDW/AAAAjPMENT9T4oc+I7YAP1Pih756V0c/Fe9Dvl6D7D4V70M+OjlYvxYOC7/F4Ss+Fg4LP90qHr8AAAA/AAAAvwAAAL8AAAA/AAAAAPMENb8AAAAA8wQ1PwAAAAAAAMA+AABAPwAAgD8AAAAAAADwPwAAwD8AAAAAAADAPgAAQD8AAAAAAACQPwAAwD4AAAAAAADAPgAAAAAAAAAAAABAPgAAwD4AABA/AABAPwAAgD/zBDU/AAAAjAatxyXzBDU/eldHP1Pih75wO1g9COoQPzo5WL8V70M+XoPsPhXvQ77dKh6/Fg4LP8PTub5QDeC+AAAAPwAAAL8AAAC/AAAAv/MENT8AAAAAAAAAAPMENT8AAAAAAADAPgAAQD8AAIA/AAAAAAAA8D8AAMA/AAAAAAAAwD4AAEA/AAAAAAAAkD8AAMA+AAAAAAAAwD4AAAAAAAAAAAAAQD4AAMA+AAAQPwAAQD8AAIA/8wQ1vwatx6UAAACM8wQ1PwjqEL9wO1i9U+KHvnpXRz8V70M+XoPsvhXvQz46OVi/UA3gPsPTuT4WDgs/3SoevwAAAD8AAAA/AAAAvwAAAD/zBDW/AAAAAAAAAADzBDU/AAAAAAAAwD4AAEA/AACAPwAAAAAAAPA/AADAPwAAAAAAAMA+AABAPwAAAAAAAJA/AADAPgAAAAAAAMA+AAAAAAAAAAAAAEA+AADAPgAAED8AAEA/AACAPwatx6XzBDU/Bq3HJfMENT9wO1i9AytSv3A7WD0I6hA/XoPsvpmHO79eg+w+Fe9DvsPTuT6H/zw/w9O5vlAN4L4AAAA/AAAAPwAAAL8AAAC/AAAAAPMENT8AAAAA8wQ1PwAAAAAAAMA+AABAPwAAgD8AAAAAAADwPwAAwD8AAAAAAADAPgAAQD8AAAAAAACQPwAAwD4AAAAAAADAPgAAAAAAAAAAAABAPgAAwD4AABA/AABAPwAAgD8yMY0lAACAvzIxjaXKyVOl12RmPr2fbz/XZGa+vfEZPhXvQz46OVg/Fe9Dvl6D7L7PBiS/qoPOvs8GJD/3gQK+AACAJPMENb8AAICk8wQ1PwAAAAAAAIC/AAAAADIxjSQAAAAAAADAPgAAQD8AAIA/AAAAAAAA8D8AAMA/AAAAAAAAwD4AAEA/AAAAAAAAkD8AAMA+AAAAAAAAwD4AAAAA"}],"accessors":[{"bufferView":0,"componentType":5126,"count":24,"max":[0.375,0.75,0.375],"min":[-0.375,0,-0.375],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":24,"max":[0.5625,0.5625],"min":[0,0],"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":6,"max":[1],"min":[0],"type":"SCALAR"},{"bufferView":5,"componentType":5126,"count":6,"max":[0.7071067690849304,0.6407288908958435,0.4619397521018982,1],"min":[-0.4619397521018982,-0.22499404847621918,-0.7071067690849304,-0.7463110089302063],"type":"VEC4"},{"bufferView":6,"componentType":5126,"count":4,"max":[1],"min":[0],"type":"SCALAR"},{"bufferView":7,"componentType":5126,"count":4,"max":[0,1.875,1.5],"min":[0,0.375,0],"type":"VEC3"},{"bufferView":8,"componentType":5126,"count":6,"max":[1],"min":[0],"type":"SCALAR"},{"bufferView":9,"componentType":5126,"count":6,"max":[0.5,0.5027791857719421,0.5431836843490601,0.7786785364151001],"min":[-0.5431836843490601,-0.7071067690849304,-0.5,-0.8446232080459595],"type":"VEC4"},{"bufferView":10,"componentType":5126,"count":4,"max":[1],"min":[0],"type":"SCALAR"},{"bufferView":11,"componentType":5126,"count":4,"max":[0,1.875,1.5],"min":[0,0.375,0],"type":"VEC3"},{"bufferView":12,"componentType":5126,"count":6,"max":[1],"min":[0],"type":"SCALAR"},{"bufferView":13,"componentType":5126,"count":6,"max":[0.7786785364151001,0.5431836843490601,0.4619397521018982,0.7071067690849304],"min":[-0.8446232080459595,-0.5,-0.5,-0.5],"type":"VEC4"},{"bufferView":14,"componentType":5126,"count":4,"max":[1],"min":[0],"type":"SCALAR"},{"bufferView":15,"componentType":5126,"count":4,"max":[0,1.875,1.5],"min":[0,0.375,0],"type":"VEC3"},{"bufferView":16,"componentType":5126,"count":6,"max":[1],"min":[0],"type":"SCALAR"},{"bufferView":17,"componentType":5126,"count":6,"max":[0.5,0.5,0.5431836843490601,0.7786785364151001],"min":[-0.7071067690849304,-0.4619397521018982,-0.5,-0.8446232080459595],"type":"VEC4"},{"bufferView":18,"componentType":5126,"count":4,"max":[1],"min":[0],"type":"SCALAR"},{"bufferView":19,"componentType":5126,"count":4,"max":[0,1.875,1.5],"min":[0,0.375,0],"type":"VEC3"},{"bufferView":20,"componentType":5126,"count":6,"max":[1],"min":[0],"type":"SCALAR"},{"bufferView":21,"componentType":5126,"count":6,"max":[0.5,0.7382740378379822,0.4619397521018982,0.7071067690849304],"min":[-0.4619397521018982,-0.8209688067436218,-0.5,-0.5],"type":"VEC4"},{"bufferView":22,"componentType":5126,"count":4,"max":[1],"min":[0],"type":"SCALAR"},{"bufferView":23,"componentType":5126,"count":4,"max":[0,1.875,1.5],"min":[0,0.375,0],"type":"VEC3"},{"bufferView":24,"componentType":5126,"count":6,"max":[1],"min":[0],"type":"SCALAR"},{"bufferView":25,"componentType":5126,"count":6,"max":[0.22499404847621918,0.9360311627388,0.6407288908958435,0.7071067690849304],"min":[-0.6407288908958435,-1,-0.22499404847621918,-0.4619397521018982],"type":"VEC4"},{"bufferView":26,"componentType":5126,"count":4,"max":[1],"min":[0],"type":"SCALAR"},{"bufferView":27,"componentType":5126,"count":4,"max":[0,1.875,1.5],"min":[0,0.375,0],"type":"VEC3"}],"materials":[{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":0}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true}],"textures":[{"sampler":0,"source":0}],"samplers":[{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071}],"images":[{"mimeType":"image/png","uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAA8xJREFUeF7tnctxwzAQQ6MKfHWDqSoN5uoKnLHHOuRnarVcCKRfriEFEHgjUrIzWa6Xz+sbP/8msJzOy8zxLADwvF4AmBn/DWsDgA0hzTwEAAraXU7n+1Wvl8+Cq8cv+cwPAMTzfDpjDXsddDQELT8AAAA8BXRm4I0toHei+6+3/THw9P5d5fKxX3WgmWwBt7J+lr8W+AIQAMB/5RdA4LY13JYIACIAWqfxo3YNAACAF38KEAHwuN1avSBiC1jvuxwCj9qBynV5DGxEzBmgnMG2QPTpIDr+mQMAaPdTOiL6dBAd3zIPAK2Ein8fLTQ6vmUfAFoJCX4fvaVHx7MFCEocVYI7wKjNdfINAJ2CHPUyADBqc518A0CnIKsuM3tBVbmt193+JrDayc7rA8DO4B7TACCX3/CzAWD4CnML+BOA6IuUI8ezBXQGIPoq9ejxAAAAU39jJ1dvezZbQDujqUdwCJy63vbiAKCd0dQjDtkCeibKITCX5i8Aqk/1Obu/ZwNALlEAyOU3/Gy2gOErzC2AQ2Auv+FnA8DwFeYWcMgW0POzAw6BnQGofgrofX0AAAA+C0gwwBaQCG+GqRwCZ2gxsQYASIQ3w1QAmKHFxBoAIBHeDFPLAeAxzRsTAPDup9wdAJRH7C0AAN79lLsrfxHEGaC8w5RA+RdCACDVT/lkACiP2FuALcC7n3J3HALLI/YWAADvfsrdhQCIfpPn5p5DYHmHKYHNAES/ybO6AoBUP+WTAaA8Ym+BzQA8buf31UT+1x93gIkA2LMUANiTmm5O6A6wxxYA7ElNN4cXQbqsLZV4FWxZi84UAOiytlRiC7CsRWeKQ6Aua0slALCsRWcKAHRZWyoBgGUtOlP8Za0ua0slALCsRWcKAHRZWyoBgGUtOlMAoMvaUgkALGvRmQIAXdaWSgBgWYvOFADosrZUAgDLWnSmAECXtaUSAFjWojMFALqsLZUAwLIWnSkA0GVtqQQAlrXoTAGALmtLJQCwrEVnCgB0WVsqAYBlLTpTAKDL2lIJACxr0ZkCAF3WlkoAYFmLzhQA6LK2VAIAy1p0pgBAl7WlEgBY1qIzBQC6rC2VAMCyFp0pANBlbakEAJa16EwBgC5rSyUAsKxFZwoAdFlbKgGAZS06UwCgy9pSCQAsa9GZAgBd1pZKAGBZi84UAOiytlQCAMtadKYAQJe1pRIAWNaiMwUAuqwtlQDAshadKQDQZW2pBACWtehMAYAua0slALCsRWcKAHRZWyoBgGUtOlMAoMvaUgkALGvRmQIAXdaWSgBgWYvO1Bd21iCfHddHCQAAAABJRU5ErkJggg=="}],"meshes":[{"primitives":[{"mode":4,"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"animations":[{"name":"Roll1","samplers":[{"input":4,"output":5,"interpolation":"LINEAR"},{"input":6,"output":7,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"rotation"}},{"sampler":1,"target":{"node":1,"path":"translation"}}]},{"name":"Roll2","samplers":[{"input":8,"output":9,"interpolation":"LINEAR"},{"input":10,"output":11,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"rotation"}},{"sampler":1,"target":{"node":1,"path":"translation"}}]},{"name":"Roll3","samplers":[{"input":12,"output":13,"interpolation":"LINEAR"},{"input":14,"output":15,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"rotation"}},{"sampler":1,"target":{"node":1,"path":"translation"}}]},{"name":"Roll4","samplers":[{"input":16,"output":17,"interpolation":"LINEAR"},{"input":18,"output":19,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"rotation"}},{"sampler":1,"target":{"node":1,"path":"translation"}}]},{"name":"Roll5","samplers":[{"input":20,"output":21,"interpolation":"LINEAR"},{"input":22,"output":23,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"rotation"}},{"sampler":1,"target":{"node":1,"path":"translation"}}]},{"name":"Roll6","samplers":[{"input":24,"output":25,"interpolation":"LINEAR"},{"input":26,"output":27,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"rotation"}},{"sampler":1,"target":{"node":1,"path":"translation"}}]}]} \ No newline at end of file diff --git a/public/models/ghost.gltf b/public/models/ghost.gltf new file mode 100644 index 0000000..75facab --- /dev/null +++ b/public/models/ghost.gltf @@ -0,0 +1 @@ +{"asset":{"version":"2.0","generator":"Blockbench 4.9.4 glTF exporter"},"scenes":[{"nodes":[15],"name":"blockbench_export"}],"scene":0,"nodes":[{"translation":[4.5315225494904345e-18,-0.846551191221802,-0.01275510204081632],"name":"Helmet","mesh":0},{"translation":[-4.5315225494904345e-18,0.846551191221802,0.01275510204081632],"name":"Helmet","children":[0]},{"translation":[1.2225670211646069e-17,0.49622501687248033,-0.008239268841805418],"name":"Body","mesh":1},{"name":"Body","children":[2]},{"translation":[0,0,-9.130123557772666e-19],"name":"Hand","mesh":2},{"rotation":[-0.49999999999999983,-0.49999999999999994,-0.49999999999999983,0.5000000000000004],"name":"Buckler","mesh":3},{"rotation":[0.7071067811865475,0,0,0.7071067811865476],"translation":[0.4375,0.23437500000000003,4.382459307730881e-18],"name":"LeftHand","children":[4,5]},{"translation":[0,0,-9.130123557772666e-19],"name":"Hand","mesh":4},{"rotation":[0.7071067811865475,0,0,0.7071067811865476],"name":"Handle","mesh":5},{"rotation":[0,0,0.7071067811865475,0.7071067811865476],"translation":[0.4375,-0.23437500000000003,-4.382459307730881e-18],"name":"Decoration","mesh":6},{"name":"SwordGuard","mesh":7},{"name":"Blade","mesh":8},{"name":"Sword","children":[8,9,10,11]},{"translation":[-0.4375,0.23437500000000003,4.382459307730881e-18],"name":"RightHand","children":[7,12]},{"name":"Chicky","children":[1,3,6,13]},{"children":[14]}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":2448,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":2448,"byteLength":2448,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":4896,"byteLength":1632,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":6528,"byteLength":576,"target":34963},{"buffer":0,"byteOffset":7104,"byteLength":3300,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":10404,"byteLength":3300,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":13704,"byteLength":2200,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":15904,"byteLength":740,"target":34963},{"buffer":0,"byteOffset":16644,"byteLength":1944,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":18588,"byteLength":1944,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":20532,"byteLength":1296,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":21828,"byteLength":432,"target":34963},{"buffer":0,"byteOffset":22260,"byteLength":1344,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":23604,"byteLength":1344,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":24948,"byteLength":896,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":25844,"byteLength":288,"target":34963},{"buffer":0,"byteOffset":26132,"byteLength":1944,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":28076,"byteLength":1944,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":30020,"byteLength":1296,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":31316,"byteLength":432,"target":34963},{"buffer":0,"byteOffset":31748,"byteLength":720,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":32468,"byteLength":720,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":33188,"byteLength":480,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":33668,"byteLength":144,"target":34963},{"buffer":0,"byteOffset":33812,"byteLength":960,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":34772,"byteLength":960,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":35732,"byteLength":640,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":36372,"byteLength":192,"target":34963},{"buffer":0,"byteOffset":36564,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":36852,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":37140,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":37332,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":37404,"byteLength":336,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":37740,"byteLength":336,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":38076,"byteLength":224,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":38300,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":38372,"byteLength":12},{"buffer":0,"byteOffset":38384,"byteLength":36},{"buffer":0,"byteOffset":38420,"byteLength":8},{"buffer":0,"byteOffset":38428,"byteLength":24},{"buffer":0,"byteOffset":38452,"byteLength":8},{"buffer":0,"byteOffset":38460,"byteLength":32},{"buffer":0,"byteOffset":38492,"byteLength":8},{"buffer":0,"byteOffset":38500,"byteLength":24},{"buffer":0,"byteOffset":38524,"byteLength":8},{"buffer":0,"byteOffset":38532,"byteLength":32},{"buffer":0,"byteOffset":38564,"byteLength":8},{"buffer":0,"byteOffset":38572,"byteLength":24},{"buffer":0,"byteOffset":38596,"byteLength":16},{"buffer":0,"byteOffset":38612,"byteLength":48},{"buffer":0,"byteOffset":38660,"byteLength":16},{"buffer":0,"byteOffset":38676,"byteLength":48},{"buffer":0,"byteOffset":38724,"byteLength":16},{"buffer":0,"byteOffset":38740,"byteLength":48},{"buffer":0,"byteOffset":38788,"byteLength":16},{"buffer":0,"byteOffset":38804,"byteLength":48},{"buffer":0,"byteOffset":38852,"byteLength":20},{"buffer":0,"byteOffset":38872,"byteLength":60},{"buffer":0,"byteOffset":38932,"byteLength":20},{"buffer":0,"byteOffset":38952,"byteLength":60},{"buffer":0,"byteOffset":39012,"byteLength":20},{"buffer":0,"byteOffset":39032,"byteLength":80},{"buffer":0,"byteOffset":39112,"byteLength":20},{"buffer":0,"byteOffset":39132,"byteLength":60},{"buffer":0,"byteOffset":39192,"byteLength":20},{"buffer":0,"byteOffset":39212,"byteLength":80},{"buffer":0,"byteOffset":39292,"byteLength":20},{"buffer":0,"byteOffset":39312,"byteLength":60},{"buffer":0,"byteOffset":39372,"byteLength":32},{"buffer":0,"byteOffset":39404,"byteLength":128},{"buffer":0,"byteOffset":39532,"byteLength":28},{"buffer":0,"byteOffset":39560,"byteLength":84},{"buffer":0,"byteOffset":39644,"byteLength":28},{"buffer":0,"byteOffset":39672,"byteLength":112},{"buffer":0,"byteOffset":39784,"byteLength":12},{"buffer":0,"byteOffset":39796,"byteLength":36},{"buffer":0,"byteOffset":39832,"byteLength":28},{"buffer":0,"byteOffset":39860,"byteLength":112},{"buffer":0,"byteOffset":39972,"byteLength":28},{"buffer":0,"byteOffset":40000,"byteLength":84},{"buffer":0,"byteOffset":40084,"byteLength":28},{"buffer":0,"byteOffset":40112,"byteLength":112},{"buffer":0,"byteOffset":40224,"byteLength":28},{"buffer":0,"byteOffset":40252,"byteLength":84},{"buffer":0,"byteOffset":40336,"byteLength":20},{"buffer":0,"byteOffset":40356,"byteLength":60},{"buffer":0,"byteOffset":40416,"byteLength":8},{"buffer":0,"byteOffset":40424,"byteLength":32},{"buffer":0,"byteOffset":40456,"byteLength":8},{"buffer":0,"byteOffset":40464,"byteLength":24},{"buffer":0,"byteOffset":40488,"byteLength":8},{"buffer":0,"byteOffset":40496,"byteLength":32},{"buffer":0,"byteOffset":40528,"byteLength":8},{"buffer":0,"byteOffset":40536,"byteLength":24},{"buffer":0,"byteOffset":40560,"byteLength":32},{"buffer":0,"byteOffset":40592,"byteLength":96},{"buffer":0,"byteOffset":40688,"byteLength":32},{"buffer":0,"byteOffset":40720,"byteLength":96},{"buffer":0,"byteOffset":40816,"byteLength":32},{"buffer":0,"byteOffset":40848,"byteLength":96},{"buffer":0,"byteOffset":40944,"byteLength":32},{"buffer":0,"byteOffset":40976,"byteLength":96},{"buffer":0,"byteOffset":41072,"byteLength":24},{"buffer":0,"byteOffset":41096,"byteLength":72},{"buffer":0,"byteOffset":41168,"byteLength":24},{"buffer":0,"byteOffset":41192,"byteLength":72},{"buffer":0,"byteOffset":41264,"byteLength":16},{"buffer":0,"byteOffset":41280,"byteLength":64},{"buffer":0,"byteOffset":41344,"byteLength":24},{"buffer":0,"byteOffset":41368,"byteLength":72},{"buffer":0,"byteOffset":41440,"byteLength":16},{"buffer":0,"byteOffset":41456,"byteLength":64},{"buffer":0,"byteOffset":41520,"byteLength":24},{"buffer":0,"byteOffset":41544,"byteLength":72},{"buffer":0,"byteOffset":41616,"byteLength":12},{"buffer":0,"byteOffset":41628,"byteLength":48},{"buffer":0,"byteOffset":41676,"byteLength":28},{"buffer":0,"byteOffset":41704,"byteLength":84},{"buffer":0,"byteOffset":41788,"byteLength":8},{"buffer":0,"byteOffset":41796,"byteLength":32},{"buffer":0,"byteOffset":41828,"byteLength":20},{"buffer":0,"byteOffset":41848,"byteLength":60},{"buffer":0,"byteOffset":41908,"byteLength":8},{"buffer":0,"byteOffset":41916,"byteLength":32},{"buffer":0,"byteOffset":41948,"byteLength":20},{"buffer":0,"byteOffset":41968,"byteLength":60},{"buffer":0,"byteOffset":42028,"byteLength":24},{"buffer":0,"byteOffset":42052,"byteLength":72},{"buffer":0,"byteOffset":42124,"byteLength":24},{"buffer":0,"byteOffset":42148,"byteLength":72},{"buffer":0,"byteOffset":42220,"byteLength":16},{"buffer":0,"byteOffset":42236,"byteLength":64},{"buffer":0,"byteOffset":42300,"byteLength":24},{"buffer":0,"byteOffset":42324,"byteLength":72},{"buffer":0,"byteOffset":42396,"byteLength":16},{"buffer":0,"byteOffset":42412,"byteLength":64},{"buffer":0,"byteOffset":42476,"byteLength":24},{"buffer":0,"byteOffset":42500,"byteLength":72}],"buffers":[{"byteLength":42572,"uri":"data:application/octet-stream;base64,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9MjNvbVldzsQyLu+DDeyPZfdQz7xDqK+DDeyvZfdQz7xDqK+9MhNva01qD4gkDe+w40Mvq01qD7jHQS+GIZho8vuwT4A/gY8DDeyvZfdQz7xDqK+PXJzvpfdQz5dAmu+9MhNva01qD4gkDe+w40Mvq01qD7jHQS+9MjNvbVldzsQyLu+w42MvrVldzvTVYi+DDeyvZfdQz7xDqK+PXJzvpfdQz5dAmu+DDeyvWkiPL7xDqK+PXJzvmkiPL5dAmu+9MjNvbVldzsQyLu+w42MvrVldzvTVYi+w40MvhZYpL7jHSS+FH6gvUmLp74gkGe+GIZho86q/74QyIu+w40Mvq01qD7jHQS+AABAvq01qD51CSy9GIZho8vuwT4A/gY8PXJzvpfdQz5dAmu+4UamvpfdQz5MV6G9w40Mvq01qD7jHQS+AABAvq01qD51CSy9w42MvrVldzvTVYi+AADAvrVldzs06by9PXJzvpfdQz5dAmu+4UamvpfdQz5MV6G9PXJzvmkiPL5dAmu+4UamvmkiPL5MV6G9w42MvrVldzvTVYi+AADAvrVldzs06by9w40MvhZYpL7jHSS+AABAvhZYpL51CSy9PXJzvmkiPL5dAmu+4UamvmkiPL5MV6G9AABAvhZYpL51CSy9w40MvhZYpL7jHSS+GIZho86q/74QyIu+AABAvq01qD51CSy9AABAvq01qD50iG89GIZho8vuwT4A/gY84UamvpfdQz5MV6G94UamvpfdQz7MFsM9AABAvq01qD51CSy9AABAvq01qD50iG89AADAvrVldzs06by9AADAvrVldzu0qN494UamvpfdQz5MV6G94UamvpfdQz7MFsM9AABAvhZYpL51CSy9AABAvhZYpL50iG894UamvmkiPL5MV6G94UamvmkiPL7MFsM9AABAvhZYpL50iG89AABAvhZYpL51CSy9GIZho86q/74QyIu+AABAvq01qD50iG89w40Mvq01qD6j/RQ+GIZho8vuwT4A/gY84UamvpfdQz7MFsM9PXJzvpfdQz4d4ns+AABAvq01qD50iG89w40Mvq01qD6j/RQ+AADAvrVldzu0qN49w42MvrVldzuzxZA+4UamvpfdQz7MFsM9PXJzvpfdQz4d4ns+4UamvmkiPL7MFsM9PXJzvmkiPL4d4ns+AADAvrVldzu0qN49w42MvrVldzuzxZA+AABAvhZYpL50iG89w40MvhZYpL6j/RQ+4UamvmkiPL7MFsM9PXJzvmkiPL4d4ns+w40MvhZYpL6j/RQ+AABAvhZYpL50iG89GIZho86q/74QyIu+w40Mvq01qD6j/RQ+9MhNva01qD7gb0g+GIZho8vuwT4A/gY8PXJzvpfdQz4d4ns+DDeyvZfdQz7Rfqo+w40Mvq01qD6j/RQ+9MhNva01qD7gb0g+w42MvrVldzuzxZA+9MjNvbVldzvwN8Q+PXJzvpfdQz4d4ns+DDeyvZfdQz7Rfqo+PXJzvmkiPL4d4ns+DDeyvWkiPL7Rfqo+w42MvrVldzuzxZA+9MjNvbVldzvwN8Q+w40MvhZYpL6j/RQ+9MhNvRZYpL7gb0g+PXJzvmkiPL4d4ns+DDeyvWkiPL7Rfqo+9MhNvRZYpL7gb0g+w40MvhZYpL6j/RQ+GIZho86q/74QyIu+9MhNva01qD7gb0g+9MhNPa01qD7gb0g+GIZho8vuwT4A/gY8DDeyvZfdQz7Rfqo+DDeyPZfdQz7Rfqo+9MhNva01qD7gb0g+9MhNPa01qD7gb0g+9MjNvbVldzvwN8Q+9MjNPbVldzvwN8Q+DDeyvZfdQz7Rfqo+DDeyPZfdQz7Rfqo+DDeyvWkiPL7Rfqo+DDeyPWkiPL7Rfqo+9MjNvbVldzvwN8Q+9MjNPbVldzvwN8Q+9MhNvRZYpL7gb0g+9MhNPRZYpL7gb0g+DDeyvWkiPL7Rfqo+DDeyPWkiPL7Rfqo+9MhNPRZYpL7gb0g+9MhNvRZYpL7gb0g+GIZho86q/74QyIu+DDeyPWkiPL7xDqK+DDeyvWkiPL7xDqK+9MjNPbVldzsQyLu+9MjNvbVldzsQyLu+w40MPq01qD7jHQS+9MhNPa01qD4gkDe+GIZho8vuwT4A/gY8PXJzPpfdQz5dAmu+DDeyPZfdQz7xDqK+w40MPq01qD7jHQS+9MhNPa01qD4gkDe+w42MPrVldzvTVYi+9MjNPbVldzsQyLu+PXJzPpfdQz5dAmu+DDeyPZfdQz7xDqK+PXJzPmkiPL5dAmu+DDeyPWkiPL7xDqK+w42MPrVldzvTVYi+9MjNPbVldzsQyLu+w40MPhZYpL7jHSS+FH6gPRZYpL7tXHS+PXJzPmkiPL5dAmu+DDeyPWkiPL7xDqK+FH6gPRZYpL7tXHS+w40MPhZYpL7jHSS+GIZho86q/74QyIu+AABAPq01qD51CSy9w40MPq01qD7jHQS+GIZho8vuwT4A/gY84UamPpfdQz5MV6G9PXJzPpfdQz5dAmu+AABAPq01qD51CSy9w40MPq01qD7jHQS+AADAPrVldzs06by9w42MPrVldzvTVYi+4UamPpfdQz5MV6G9PXJzPpfdQz5dAmu+4UamPmkiPL5MV6G9PXJzPmkiPL5dAmu+AADAPrVldzs06by9w42MPrVldzvTVYi+AABAPhZYpL51CSy9w40MPhZYpL7jHSS+4UamPmkiPL5MV6G9PXJzPmkiPL5dAmu+w40MPhZYpL7jHSS+AABAPhZYpL51CSy9GIZho86q/74QyIu+AABAPq01qD50iG89AABAPq01qD51CSy9GIZho8vuwT4A/gY84UamPpfdQz7MFsM94UamPpfdQz5MV6G9AABAPq01qD50iG89AABAPq01qD51CSy9AADAPrVldzu0qN49AADAPrVldzs06by94UamPpfdQz7MFsM94UamPpfdQz5MV6G9AABAPhZYpL50iG89AABAPhZYpL51CSy94UamPmkiPL7MFsM94UamPmkiPL5MV6G9AABAPhZYpL51CSy9AABAPhZYpL50iG89GIZho86q/74QyIu+w40MPq01qD6j/RQ+AABAPq01qD50iG89GIZho8vuwT4A/gY8PXJzPpfdQz4d4ns+4UamPpfdQz7MFsM9w40MPq01qD6j/RQ+AABAPq01qD50iG89w42MPrVldzuzxZA+AADAPrVldzu0qN49PXJzPpfdQz4d4ns+4UamPpfdQz7MFsM9PXJzPmkiPL4d4ns+4UamPmkiPL7MFsM9w42MPrVldzuzxZA+AADAPrVldzu0qN49w40MPhZYpL6j/RQ+AABAPhZYpL50iG89PXJzPmkiPL4d4ns+4UamPmkiPL7MFsM9AABAPhZYpL50iG89w40MPhZYpL6j/RQ+GIZho86q/74QyIu+9MhNPa01qD7gb0g+w40MPq01qD6j/RQ+GIZho8vuwT4A/gY8DDeyPZfdQz7Rfqo+PXJzPpfdQz4d4ns+9MhNPa01qD7gb0g+w40MPq01qD6j/RQ+9MjNPbVldzvwN8Q+w42MPrVldzuzxZA+DDeyPZfdQz7Rfqo+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"}],"accessors":[{"bufferView":0,"componentType":5126,"count":204,"max":[0.4375,1.0906250476837158,0.4375],"min":[-0.4375,0.640625,-0.4375],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":204,"max":[1,0.9995313286781311,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":204,"max":[0.599637508392334,0.4557090401649475],"min":[0,0],"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":288,"max":[203],"min":[0],"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":275,"max":[0.375,0.3787749707698822,0.3832392692565918],"min":[-0.375,-0.49935001134872437,-0.3667607307434082],"type":"VEC3"},{"bufferView":5,"componentType":5126,"count":275,"max":[0.9659258127212524,0.9659258127212524,0.9659258127212524],"min":[-0.9659258127212524,-0.9592723250389099,-0.9847778081893921],"type":"VEC3"},{"bufferView":6,"componentType":5126,"count":275,"max":[0.4919549226760864,0.529296875],"min":[0.0006598310428671539,0],"type":"VEC2"},{"bufferView":7,"componentType":5123,"count":369,"max":[274],"min":[0],"type":"SCALAR"},{"bufferView":8,"componentType":5126,"count":162,"max":[0.09344223886728287,0.09375,0.08916154503822327],"min":[-0.09344223886728287,-0.09375,-0.0948837399482727],"type":"VEC3"},{"bufferView":9,"componentType":5126,"count":162,"max":[0.9848077297210693,0.9510565400123596,1],"min":[-0.9848077297210693,-0.9510565400123596,-0.9396926164627075],"type":"VEC3"},{"bufferView":10,"componentType":5126,"count":162,"max":[0.703125,0.75],"min":[0,0],"type":"VEC2"},{"bufferView":11,"componentType":5123,"count":216,"max":[161],"min":[0],"type":"SCALAR"},{"bufferView":12,"componentType":5126,"count":112,"max":[0.1875,0.125,0.21875],"min":[-0.21875,0.09375,-0.21875],"type":"VEC3"},{"bufferView":13,"componentType":5126,"count":112,"max":[1,1,0.9698605537414551],"min":[-1,-1,-0.9698605537414551],"type":"VEC3"},{"bufferView":14,"componentType":5126,"count":112,"max":[0.953125,0.9375],"min":[0,0],"type":"VEC2"},{"bufferView":15,"componentType":5123,"count":144,"max":[111],"min":[0],"type":"SCALAR"},{"bufferView":16,"componentType":5126,"count":162,"max":[0.09344223886728287,0.09375,0.08916154503822327],"min":[-0.09344223886728287,-0.09375,-0.0948837399482727],"type":"VEC3"},{"bufferView":17,"componentType":5126,"count":162,"max":[0.9848077297210693,0.9510565400123596,1],"min":[-0.9848077297210693,-0.9510565400123596,-0.9396926164627075],"type":"VEC3"},{"bufferView":18,"componentType":5126,"count":162,"max":[0.703125,0.75],"min":[0,0],"type":"VEC2"},{"bufferView":19,"componentType":5123,"count":216,"max":[161],"min":[0],"type":"SCALAR"},{"bufferView":20,"componentType":5126,"count":60,"max":[0.029834391549229622,0.125,0.02500000037252903],"min":[-0.029834391549229622,-0.125,-0.02500000037252903],"type":"VEC3"},{"bufferView":21,"componentType":5126,"count":60,"max":[0.8587452173233032,1,1],"min":[-0.8587452173233032,-1,-1],"type":"VEC3"},{"bufferView":22,"componentType":5126,"count":60,"max":[0.5617937445640564,0.5625],"min":[0,0.0625],"type":"VEC2"},{"bufferView":23,"componentType":5123,"count":72,"max":[59],"min":[0],"type":"SCALAR"},{"bufferView":24,"componentType":5126,"count":80,"max":[0.2750000059604645,0.4625000059604645,-0.11562500149011612],"min":[0.19374999403953552,0.4124999940395355,-0.19687500596046448],"type":"VEC3"},{"bufferView":25,"componentType":5126,"count":80,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":26,"componentType":5126,"count":80,"max":[0.53125,0.53125],"min":[0.21875,0],"type":"VEC2"},{"bufferView":27,"componentType":5123,"count":96,"max":[79],"min":[0],"type":"SCALAR"},{"bufferView":28,"componentType":5126,"count":24,"max":[0.03125,0.109375,0.14374999701976776],"min":[-0.03125,-0.109375,0.125],"type":"VEC3"},{"bufferView":29,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":30,"componentType":5126,"count":24,"max":[0.46875,0.46875],"min":[0,0.28125],"type":"VEC2"},{"bufferView":31,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":32,"componentType":5126,"count":28,"max":[0.015625,0.0625,1.015625],"min":[-0.015625,-0.0625,0.140625],"type":"VEC3"},{"bufferView":33,"componentType":5126,"count":28,"max":[0.9369535446166992,0.35897907614707947,0.08547386527061462],"min":[-0.9573073983192444,-0.35897907614707947,-0.08547386527061462],"type":"VEC3"},{"bufferView":34,"componentType":5126,"count":28,"max":[0.43770742416381836,0.4814453125],"min":[0,0],"type":"VEC2"},{"bufferView":35,"componentType":5123,"count":36,"max":[27],"min":[0],"type":"SCALAR"},{"bufferView":36,"componentType":5126,"count":3,"max":[0.3333333432674408],"min":[0],"type":"SCALAR"},{"bufferView":37,"componentType":5126,"count":3,"max":[-4.5315224566436314e-18,0.8778011798858643,0.012755102477967739],"min":[-4.5315224566436314e-18,0.7840511798858643,0.012755102477967739],"type":"VEC3"},{"bufferView":38,"componentType":5126,"count":2,"max":[0.25],"min":[0],"type":"SCALAR"},{"bufferView":39,"componentType":5126,"count":2,"max":[0,0,0],"min":[0,-0.0625,0],"type":"VEC3"},{"bufferView":40,"componentType":5126,"count":2,"max":[0.25],"min":[0],"type":"SCALAR"},{"bufferView":41,"componentType":5126,"count":2,"max":[0.7071067690849304,0,0.5,0.7071067690849304],"min":[0.5,-0.5,0,0.5],"type":"VEC4"},{"bufferView":42,"componentType":5126,"count":2,"max":[0.25],"min":[0],"type":"SCALAR"},{"bufferView":43,"componentType":5126,"count":2,"max":[0.4375,0.234375,0.390625],"min":[0.2562499940395355,0.234375,4.382459133587594e-18],"type":"VEC3"},{"bufferView":44,"componentType":5126,"count":2,"max":[0.25],"min":[0],"type":"SCALAR"},{"bufferView":45,"componentType":5126,"count":2,"max":[0,0,0,1],"min":[0,-0.3826834261417389,0,0.9238795042037964],"type":"VEC4"},{"bufferView":46,"componentType":5126,"count":2,"max":[0.25],"min":[0],"type":"SCALAR"},{"bufferView":47,"componentType":5126,"count":2,"max":[-0.4375,0.234375,4.382459133587594e-18],"min":[-0.4375,0.234375,-0.1875],"type":"VEC3"},{"bufferView":48,"componentType":5126,"count":4,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":49,"componentType":5126,"count":4,"max":[-4.5315224566436314e-18,0.8934261798858643,0.012755102477967739],"min":[-4.5315224566436314e-18,0.8153011798858643,0.012755102477967739],"type":"VEC3"},{"bufferView":50,"componentType":5126,"count":4,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":51,"componentType":5126,"count":4,"max":[0,0.03125,0],"min":[0,-0.03125,0],"type":"VEC3"},{"bufferView":52,"componentType":5126,"count":4,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":53,"componentType":5126,"count":4,"max":[0.4375,0.28125,4.382459133587594e-18],"min":[0.4375,0.1875,4.382459133587594e-18],"type":"VEC3"},{"bufferView":54,"componentType":5126,"count":4,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":55,"componentType":5126,"count":4,"max":[-0.4375,0.28125,4.382459133587594e-18],"min":[-0.4375,0.1875,4.382459133587594e-18],"type":"VEC3"},{"bufferView":56,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":57,"componentType":5126,"count":5,"max":[-4.5315224566436314e-18,1.0340511798858643,0.012755102477967739],"min":[-4.5315224566436314e-18,0.8465511798858643,0.012755102477967739],"type":"VEC3"},{"bufferView":58,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":59,"componentType":5126,"count":5,"max":[0,0.1875,0],"min":[0,0,0],"type":"VEC3"},{"bufferView":60,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":61,"componentType":5126,"count":5,"max":[0.8191520571708679,0,0,0.8314695954322815],"min":[0.5555702447891235,0,0,0.5735764503479004],"type":"VEC4"},{"bufferView":62,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":63,"componentType":5126,"count":5,"max":[0.4375,0.359375,0.3125],"min":[0.4375,0.234375,-0.3125],"type":"VEC3"},{"bufferView":64,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":65,"componentType":5126,"count":5,"max":[0.1736481785774231,0,0,1],"min":[-0.19509032368659973,0,0,0.9807852506637573],"type":"VEC4"},{"bufferView":66,"componentType":5126,"count":5,"max":[0.6666666865348816],"min":[0],"type":"SCALAR"},{"bufferView":67,"componentType":5126,"count":5,"max":[-0.4375,0.359375,0.3125],"min":[-0.4375,0.234375,-0.3125],"type":"VEC3"},{"bufferView":68,"componentType":5126,"count":8,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":69,"componentType":5126,"count":8,"max":[0.30070579051971436,0,0,1],"min":[-0.258819043636322,0,0,0.9537169337272644],"type":"VEC4"},{"bufferView":70,"componentType":5126,"count":7,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":71,"componentType":5126,"count":7,"max":[-4.5315224566436314e-18,0.9403011798858643,0.3565050959587097],"min":[-4.5315224566436314e-18,0.8153011798858643,-0.3309949040412903],"type":"VEC3"},{"bufferView":72,"componentType":5126,"count":7,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":73,"componentType":5126,"count":7,"max":[0.19509032368659973,0,0,1],"min":[-0.19509032368659973,0,0,0.9807852506637573],"type":"VEC4"},{"bufferView":74,"componentType":5126,"count":3,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":75,"componentType":5126,"count":3,"max":[0,0.03125,0],"min":[0,0,0],"type":"VEC3"},{"bufferView":76,"componentType":5126,"count":7,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":77,"componentType":5126,"count":7,"max":[0.901979923248291,0.19996413588523865,0.1530459225177765,0.7631294131278992],"min":[0.640341579914093,0,0,0.37361231446266174],"type":"VEC4"},{"bufferView":78,"componentType":5126,"count":7,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":79,"componentType":5126,"count":7,"max":[0.5625,0.359375,0.0625],"min":[0.4375,0.234375,-0.125],"type":"VEC3"},{"bufferView":80,"componentType":5126,"count":7,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":81,"componentType":5126,"count":7,"max":[0,0,0,1],"min":[-0.9537169337272644,0,0,0.30070579051971436],"type":"VEC4"},{"bufferView":82,"componentType":5126,"count":7,"max":[0.75],"min":[0],"type":"SCALAR"},{"bufferView":83,"componentType":5126,"count":7,"max":[-0.4375,0.421875,0.375],"min":[-0.4375,0.109375,-0.25],"type":"VEC3"},{"bufferView":84,"componentType":5126,"count":5,"max":[0.5833333134651184],"min":[0],"type":"SCALAR"},{"bufferView":85,"componentType":5126,"count":5,"max":[0,0.125,0],"min":[0,-0.17687499523162842,0],"type":"VEC3"},{"bufferView":86,"componentType":5126,"count":2,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":87,"componentType":5126,"count":2,"max":[0.7071067690849304,0.09592200815677643,0.3168692886829376,0.8992419242858887],"min":[0.28593140840530396,0,0,0.7071067690849304],"type":"VEC4"},{"bufferView":88,"componentType":5126,"count":2,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":89,"componentType":5126,"count":2,"max":[0.4375,0.265625,4.382459133587594e-18],"min":[0.4375,0.234375,4.382459133587594e-18],"type":"VEC3"},{"bufferView":90,"componentType":5126,"count":2,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":91,"componentType":5126,"count":2,"max":[0,0,0,1],"min":[-0.13052618503570557,0,0,0.9914448857307434],"type":"VEC4"},{"bufferView":92,"componentType":5126,"count":2,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":93,"componentType":5126,"count":2,"max":[-0.4375,0.265625,0.03125],"min":[-0.4375,0.234375,4.382459133587594e-18],"type":"VEC3"},{"bufferView":94,"componentType":5126,"count":8,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":95,"componentType":5126,"count":8,"max":[-4.5315224566436314e-18,1.0340511798858643,0.012755102477967739],"min":[-4.5315224566436314e-18,0.7840511798858643,0.012755102477967739],"type":"VEC3"},{"bufferView":96,"componentType":5126,"count":8,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":97,"componentType":5126,"count":8,"max":[0,0.1875,0],"min":[0,-0.0625,0],"type":"VEC3"},{"bufferView":98,"componentType":5126,"count":8,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":99,"componentType":5126,"count":8,"max":[0.4375,0.421875,4.382459133587594e-18],"min":[0.4375,0.171875,4.382459133587594e-18],"type":"VEC3"},{"bufferView":100,"componentType":5126,"count":8,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":101,"componentType":5126,"count":8,"max":[-0.4375,0.421875,4.382459133587594e-18],"min":[-0.4375,0.171875,4.382459133587594e-18],"type":"VEC3"},{"bufferView":102,"componentType":5126,"count":6,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":103,"componentType":5126,"count":6,"max":[-4.5315224566436314e-18,1.1590511798858643,0.012755102477967739],"min":[-4.5315224566436314e-18,0.7840511798858643,0.012755102477967739],"type":"VEC3"},{"bufferView":104,"componentType":5126,"count":6,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":105,"componentType":5126,"count":6,"max":[0,0.3125,0],"min":[0,-0.0625,0],"type":"VEC3"},{"bufferView":106,"componentType":5126,"count":4,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":107,"componentType":5126,"count":4,"max":[0.7071067690849304,0.13794969022274017,0.13794969022274017,0.7071067690849304],"min":[0.6935199499130249,0,0,0.6935199499130249],"type":"VEC4"},{"bufferView":108,"componentType":5126,"count":6,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":109,"componentType":5126,"count":6,"max":[0.5625,0.484375,4.382459133587594e-18],"min":[0.4375,0.171875,4.382459133587594e-18],"type":"VEC3"},{"bufferView":110,"componentType":5126,"count":4,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":111,"componentType":5126,"count":4,"max":[0,0,0.15495416522026062,1],"min":[-0.718505322933197,-0.12068262696266174,0,0.6672143340110779],"type":"VEC4"},{"bufferView":112,"componentType":5126,"count":6,"max":[1.125],"min":[0],"type":"SCALAR"},{"bufferView":113,"componentType":5126,"count":6,"max":[-0.4375,0.859375,4.382459133587594e-18],"min":[-0.625,0.171875,4.382459133587594e-18],"type":"VEC3"},{"bufferView":114,"componentType":5126,"count":3,"max":[0.4166666567325592],"min":[0],"type":"SCALAR"},{"bufferView":115,"componentType":5126,"count":3,"max":[0,0,0,1],"min":[-0.7071067690849304,0,0,0.7071067690849304],"type":"VEC4"},{"bufferView":116,"componentType":5126,"count":7,"max":[0.8333333134651184],"min":[0],"type":"SCALAR"},{"bufferView":117,"componentType":5126,"count":7,"max":[0,0.5625,0],"min":[0,0,-0.25],"type":"VEC3"},{"bufferView":118,"componentType":5126,"count":2,"max":[0.3333333432674408],"min":[0.1666666716337204],"type":"SCALAR"},{"bufferView":119,"componentType":5126,"count":2,"max":[0.7071067690849304,0,0.27059805393218994,0.7071067690849304],"min":[0.6532815098762512,-0.27059805393218994,0,0.6532815098762512],"type":"VEC4"},{"bufferView":120,"componentType":5126,"count":5,"max":[0.8333333134651184],"min":[0.1666666716337204],"type":"SCALAR"},{"bufferView":121,"componentType":5126,"count":5,"max":[0.4375,0.234375,4.382459133587594e-18],"min":[0.4375,0.234375,-0.25],"type":"VEC3"},{"bufferView":122,"componentType":5126,"count":2,"max":[0.3333333432674408],"min":[0.1666666716337204],"type":"SCALAR"},{"bufferView":123,"componentType":5126,"count":2,"max":[0.3826834261417389,0,0,1],"min":[0,0,0,0.9238795042037964],"type":"VEC4"},{"bufferView":124,"componentType":5126,"count":5,"max":[0.8333333134651184],"min":[0.1666666716337204],"type":"SCALAR"},{"bufferView":125,"componentType":5126,"count":5,"max":[-0.4375,0.234375,4.382459133587594e-18],"min":[-0.4375,0.234375,-0.25],"type":"VEC3"},{"bufferView":126,"componentType":5126,"count":6,"max":[0.875],"min":[0],"type":"SCALAR"},{"bufferView":127,"componentType":5126,"count":6,"max":[-4.5315224566436314e-18,0.8465511798858643,0.012755102477967739],"min":[-4.5315224566436314e-18,0.7840511798858643,-0.11224489659070969],"type":"VEC3"},{"bufferView":128,"componentType":5126,"count":6,"max":[0.875],"min":[0],"type":"SCALAR"},{"bufferView":129,"componentType":5126,"count":6,"max":[0,0,0],"min":[0,-0.0625,-0.125],"type":"VEC3"},{"bufferView":130,"componentType":5126,"count":4,"max":[0.875],"min":[0],"type":"SCALAR"},{"bufferView":131,"componentType":5126,"count":4,"max":[0.7071067690849304,0.27059805393218994,0.27059805393218994,0.7071067690849304],"min":[0.6532815098762512,0,0,0.6532815098762512],"type":"VEC4"},{"bufferView":132,"componentType":5126,"count":6,"max":[0.875],"min":[0],"type":"SCALAR"},{"bufferView":133,"componentType":5126,"count":6,"max":[0.5625,0.296875,4.382459133587594e-18],"min":[0.4375,0.234375,4.382459133587594e-18],"type":"VEC3"},{"bufferView":134,"componentType":5126,"count":4,"max":[0.875],"min":[0],"type":"SCALAR"},{"bufferView":135,"componentType":5126,"count":4,"max":[0,0,0,1],"min":[0,0,-0.3826834261417389,0.9238795042037964],"type":"VEC4"},{"bufferView":136,"componentType":5126,"count":6,"max":[0.875],"min":[0],"type":"SCALAR"},{"bufferView":137,"componentType":5126,"count":6,"max":[-0.4375,0.296875,4.382459133587594e-18],"min":[-0.5625,0.234375,4.382459133587594e-18],"type":"VEC3"}],"materials":[{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":0}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true},{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":1}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true},{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":2}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true},{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":3}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true},{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":4}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true}],"textures":[{"sampler":0,"source":0},{"sampler":1,"source":1},{"sampler":2,"source":2},{"sampler":3,"source":3},{"sampler":4,"source":4}],"samplers":[{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071},{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071},{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071},{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071},{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071}],"images":[{"mimeType":"image/png","uri":"data:image/png;base64,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gTICBFAWqHYQSAgQQEJLLQJlBAigLFDtIJAQIICElloEyggQQFmg2kEgIUAACS21CJQRIICyQLWDQEKAABJaahEoI0AAZYFqB4GEAAEktNQiUEaAAMoC1Q4CCQECSGipRaCMAAGUBaodBBICBJDQUotAGQECKAtUOwgkBAggoaUWgTICBFAWqHYQSAgQQEJLLQJlBAigLFDtIJAQIICElloEyggQQFmg2kEgIUAACS21CJQRIICyQLWDQEKAABJaahEoI0AAZYFqB4GEAAEktNQiUEaAAMoC1Q4CCQECSGipRaCMAAGUBaodBBICBJDQUotAGQECKAtUOwgkBAggoaUWgTICBFAWqHYQSAgQQEJLLQJlBAigLFDtIJAQIICElloEyggQQFmg2kEgIUAACS21CJQRIICyQLWDQEKAABJaahEoI0AAZYFqB4GEAAEktNQiUEaAAMoC1Q4CCQECSGipRaCMAAGUBaodBBICBJDQUotAGQECKAtUOwgkBAggoaUWgTICBFAWqHYQSAgQQEJLLQJlBAigLFDtIJAQIICElloEyggQQFmg2kEgIUAACS21CJQRIICyQLWDQEKAABJaahEoI0AAZYFqB4GEAAEktNQiUEaAAMoC1Q4CCQECSGipRaCMAAGUBaodBBICBJDQUotAGQECKAtUOwgkBAggoaUWgTICBFAWqHYQSAgQQEJLLQJlBAigLFDtIJAQIICElloEyggQQFmg2kEgIUAACS21CJQRIICyQLWDQEKAABJaahEoI0AAZYFqB4GEAAEktNQiUEaAAMoC1Q4CCQECSGipRaCMAAGUBaodBBICBJDQUotAGQECKAtUOwgkBAggoaUWgTICBFAWqHYQSAgQQEJLLQJlBAigLFDtIJAQIICElloEyggQQFmg2kEgIUAACS21CJQRIICyQLWDQEKAABJaahEoI0AAZYFqB4GEAAEktNQiUEaAAMoC1Q4CCQECSGipRaCMAAGUBaodBBICBJDQUotAGQECKAtUOwgkBAggoaUWgTICBFAWqHYQSAgQQEJLLQJlBAigLFDtIJAQIICElloEyggQQFmg2kEgIUAACS21CJQRIICyQLWDQEKAABJaahEoI0AAZYFqB4GEAAEktNQiUEaAAMoC1Q4CCQECSGipRaCMAAGUBaodBBICBJDQUotAGQECKAtUOwgkBAggoaUWgTICBFAWqHYQSAj8ATiI9D1OywmPAAAAAElFTkSuQmCC"},{"mimeType":"image/png","uri":"data:image/png;base64,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"},{"mimeType":"image/png","uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAWNJREFUeF7tmksOwjAMRJsTsOX+p2PLCcoKJNoId5TYmojHNhPHmRnnV9r+fOzbxV+73dsR2uvfw737ZeMvTuUDaxCAAygB6zVArWkVb78GqBNS8RDgvguoiqp4eweo5wYIEBnAASJhJ7hq0Wy8Op/T2V4NsDoeAlZXcDR/HBAdhI53++xFTI0/7AAICN4DcMDhGUy1aDaeEhhkIDwKUwKUwPdTeHZNq/EHK2CTD0Jqgip+dEJqfwhQGVMVVfFqPqN4HOCmUHU+3XPAr4+bo5aL+kNA526SKQgOUC2XjY9KZHa77AAIEGtUJWy2wlE8HKAq5IaPFI7a7RygEhxNMGqHAJVxN3ykcNQuX4aigKu1Q8Bqis3OFwccF7XMm9ds9WbEO22DEND5R/gMpl1j4ABXZaryYheoYtp1HBzgqkxVXjigimnXcXCAqzJVeeGAKqZdx8EBrspU5YUDqph2HefvHfACCsPsUBi3Zw4AAAAASUVORK5CYII="},{"mimeType":"image/png","uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAf9JREFUeF7tWzFSw0AMjP/AG5jhCRThAy4oKeFpUFJS+AOk4AnM5A35A4yZHDNRfJaWSNydvWmj6E6r1Z50drrHh/uvjePn5fWtm3PX9z203jAMs/4u3XpHAMgAlgBUk2jNaZqA+vO2d9cAuUECoJwK3hlF/ZEB3sdgLgO5UkD7AiTDlh4inAFpwwQgowWrZwBC6Qjb4iUQERTikwCUPgWQbEXYkgGlGbD6U4AAgDdEiA400QkiAUXYhosgx2GOw/O3xBG0RnyyBLz7gNprXrLDnQEEoHLRIwMEAqHP3RA1LmVLAEohX8u6ZIA2jqaJSrNDM6pNau+7D9dnlnfb28lkd1pgBOD4hoYGFBkAIlBNCVj37c0Aua4ExFsD5HpJE8ynAAEIvLsbs0MGiNfh/q0EJLVz4hRdAqlG0/oWALY3T5MStvt8tkrb5qwPaA6Aq+vTYA/7zSoA+M3+BAAjIlYQmmTACfUzAFhBqOYYtGjAWc3L4JOTw96sDe0BkAtak72MNhAADbj0fQ3H4E8JeDNACyxqHM4BP9cHEADZ+HiIYEsMSKxxPQZbBGAEwq0RqkUE/zINTmqCsRVexH3AJcPQIgCwsnfKjgAcr8mLdYKrvxQlAMo/Qi03QogGZJ8MWZ1o/YLVjxx7c7+rDgA0wFbszSLYSkDoPgkAitjS7L8B64vh1I+XGFkAAAAASUVORK5CYII="},{"mimeType":"image/png","uri":"data:image/png;base64,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"}],"meshes":[{"primitives":[{"mode":4,"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":1}]},{"primitives":[{"mode":4,"attributes":{"POSITION":8,"NORMAL":9,"TEXCOORD_0":10},"indices":11,"material":2}]},{"primitives":[{"mode":4,"attributes":{"POSITION":12,"NORMAL":13,"TEXCOORD_0":14},"indices":15,"material":3}]},{"primitives":[{"mode":4,"attributes":{"POSITION":16,"NORMAL":17,"TEXCOORD_0":18},"indices":19,"material":2}]},{"primitives":[{"mode":4,"attributes":{"POSITION":20,"NORMAL":21,"TEXCOORD_0":22},"indices":23,"material":4}]},{"primitives":[{"mode":4,"attributes":{"POSITION":24,"NORMAL":25,"TEXCOORD_0":26},"indices":27,"material":4}]},{"primitives":[{"mode":4,"attributes":{"POSITION":28,"NORMAL":29,"TEXCOORD_0":30},"indices":31,"material":4}]},{"primitives":[{"mode":4,"attributes":{"POSITION":32,"NORMAL":33,"TEXCOORD_0":34},"indices":35,"material":4}]}],"animations":[{"name":"Guard","samplers":[{"input":36,"output":37,"interpolation":"LINEAR"},{"input":38,"output":39,"interpolation":"LINEAR"},{"input":40,"output":41,"interpolation":"LINEAR"},{"input":42,"output":43,"interpolation":"LINEAR"},{"input":44,"output":45,"interpolation":"LINEAR"},{"input":46,"output":47,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"translation"}},{"sampler":1,"target":{"node":3,"path":"translation"}},{"sampler":2,"target":{"node":6,"path":"rotation"}},{"sampler":3,"target":{"node":6,"path":"translation"}},{"sampler":4,"target":{"node":13,"path":"rotation"}},{"sampler":5,"target":{"node":13,"path":"translation"}}]},{"name":"Idle","samplers":[{"input":48,"output":49,"interpolation":"LINEAR"},{"input":50,"output":51,"interpolation":"LINEAR"},{"input":52,"output":53,"interpolation":"LINEAR"},{"input":54,"output":55,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"translation"}},{"sampler":1,"target":{"node":3,"path":"translation"}},{"sampler":2,"target":{"node":6,"path":"translation"}},{"sampler":3,"target":{"node":13,"path":"translation"}}]},{"name":"Walk","samplers":[{"input":56,"output":57,"interpolation":"LINEAR"},{"input":58,"output":59,"interpolation":"LINEAR"},{"input":60,"output":61,"interpolation":"LINEAR"},{"input":62,"output":63,"interpolation":"LINEAR"},{"input":64,"output":65,"interpolation":"LINEAR"},{"input":66,"output":67,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"translation"}},{"sampler":1,"target":{"node":3,"path":"translation"}},{"sampler":2,"target":{"node":6,"path":"rotation"}},{"sampler":3,"target":{"node":6,"path":"translation"}},{"sampler":4,"target":{"node":13,"path":"rotation"}},{"sampler":5,"target":{"node":13,"path":"translation"}}]},{"name":"Attack","samplers":[{"input":68,"output":69,"interpolation":"LINEAR"},{"input":70,"output":71,"interpolation":"LINEAR"},{"input":72,"output":73,"interpolation":"LINEAR"},{"input":74,"output":75,"interpolation":"LINEAR"},{"input":76,"output":77,"interpolation":"LINEAR"},{"input":78,"output":79,"interpolation":"LINEAR"},{"input":80,"output":81,"interpolation":"LINEAR"},{"input":82,"output":83,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"rotation"}},{"sampler":1,"target":{"node":1,"path":"translation"}},{"sampler":2,"target":{"node":3,"path":"rotation"}},{"sampler":3,"target":{"node":3,"path":"translation"}},{"sampler":4,"target":{"node":6,"path":"rotation"}},{"sampler":5,"target":{"node":6,"path":"translation"}},{"sampler":6,"target":{"node":13,"path":"rotation"}},{"sampler":7,"target":{"node":13,"path":"translation"}}]},{"name":"Skip","samplers":[{"input":84,"output":85,"interpolation":"LINEAR"},{"input":86,"output":87,"interpolation":"LINEAR"},{"input":88,"output":89,"interpolation":"LINEAR"},{"input":90,"output":91,"interpolation":"LINEAR"},{"input":92,"output":93,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":14,"path":"translation"}},{"sampler":1,"target":{"node":6,"path":"rotation"}},{"sampler":2,"target":{"node":6,"path":"translation"}},{"sampler":3,"target":{"node":13,"path":"rotation"}},{"sampler":4,"target":{"node":13,"path":"translation"}}]},{"name":"Jump","samplers":[{"input":94,"output":95,"interpolation":"LINEAR"},{"input":96,"output":97,"interpolation":"LINEAR"},{"input":98,"output":99,"interpolation":"LINEAR"},{"input":100,"output":101,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"translation"}},{"sampler":1,"target":{"node":3,"path":"translation"}},{"sampler":2,"target":{"node":6,"path":"translation"}},{"sampler":3,"target":{"node":13,"path":"translation"}}]},{"name":"Heal","samplers":[{"input":102,"output":103,"interpolation":"LINEAR"},{"input":104,"output":105,"interpolation":"LINEAR"},{"input":106,"output":107,"interpolation":"LINEAR"},{"input":108,"output":109,"interpolation":"LINEAR"},{"input":110,"output":111,"interpolation":"LINEAR"},{"input":112,"output":113,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"translation"}},{"sampler":1,"target":{"node":3,"path":"translation"}},{"sampler":2,"target":{"node":6,"path":"rotation"}},{"sampler":3,"target":{"node":6,"path":"translation"}},{"sampler":4,"target":{"node":13,"path":"rotation"}},{"sampler":5,"target":{"node":13,"path":"translation"}}]},{"name":"Faint","samplers":[{"input":114,"output":115,"interpolation":"LINEAR"},{"input":116,"output":117,"interpolation":"LINEAR"},{"input":118,"output":119,"interpolation":"LINEAR"},{"input":120,"output":121,"interpolation":"LINEAR"},{"input":122,"output":123,"interpolation":"LINEAR"},{"input":124,"output":125,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":14,"path":"rotation"}},{"sampler":1,"target":{"node":14,"path":"translation"}},{"sampler":2,"target":{"node":6,"path":"rotation"}},{"sampler":3,"target":{"node":6,"path":"translation"}},{"sampler":4,"target":{"node":13,"path":"rotation"}},{"sampler":5,"target":{"node":13,"path":"translation"}}]},{"name":"Hurt","samplers":[{"input":126,"output":127,"interpolation":"LINEAR"},{"input":128,"output":129,"interpolation":"LINEAR"},{"input":130,"output":131,"interpolation":"LINEAR"},{"input":132,"output":133,"interpolation":"LINEAR"},{"input":134,"output":135,"interpolation":"LINEAR"},{"input":136,"output":137,"interpolation":"LINEAR"}],"channels":[{"sampler":0,"target":{"node":1,"path":"translation"}},{"sampler":1,"target":{"node":3,"path":"translation"}},{"sampler":2,"target":{"node":6,"path":"rotation"}},{"sampler":3,"target":{"node":6,"path":"translation"}},{"sampler":4,"target":{"node":13,"path":"rotation"}},{"sampler":5,"target":{"node":13,"path":"translation"}}]}]} \ No newline at end of file diff --git a/public/models/grass.gltf b/public/models/grass.gltf new file mode 100644 index 0000000..2bafedf --- /dev/null +++ b/public/models/grass.gltf @@ -0,0 +1,111 @@ +{ + "asset": { "version": "2.0", "generator": "Blockbench 4.8.3 glTF exporter" }, + "scenes": [{ "nodes": [1], "name": "blockbench_export" }], + "scene": 0, + "nodes": [ + { + "rotation": [-0.7071067811865475, 0, 0, 0.7071067811865476], + "name": "plane", + "mesh": 0 + }, + { "children": [0] } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 36, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 36, + "byteLength": 36, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 72, + "byteLength": 24, + "target": 34962, + "byteStride": 8 + }, + { "buffer": 0, "byteOffset": 96, "byteLength": 8, "target": 34963 } + ], + "buffers": [ + { + "byteLength": 104, + "uri": "data:application/octet-stream;base64,AACAPAAAAAAAAAAAAACAvAAAAAAAAAAAAAAAAAAAAAAAAEA+AAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAADAQAAAAAAAAAAAAAAAAAAAQEAAAMBAAAABAAIAAAA=" + } + ], + "accessors": [ + { + "bufferView": 0, + "componentType": 5126, + "count": 3, + "max": [0.015625, 0, 0.1875], + "min": [-0.015625, 0, 0], + "type": "VEC3" + }, + { + "bufferView": 1, + "componentType": 5126, + "count": 3, + "max": [0, 1, 0], + "min": [0, 1, 0], + "type": "VEC3" + }, + { + "bufferView": 2, + "componentType": 5126, + "count": 3, + "max": [6, 6], + "min": [0, 0], + "type": "VEC2" + }, + { + "bufferView": 3, + "componentType": 5123, + "count": 3, + "max": [2], + "min": [0], + "type": "SCALAR" + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0, + "roughnessFactor": 1, + "baseColorTexture": { "index": 0 } + }, + "alphaMode": "MASK", + "alphaCutoff": 0.05, + "doubleSided": true + } + ], + "textures": [{ "sampler": 0, "source": 0, "name": "Grass" }], + "samplers": [ + { "magFilter": 9728, "minFilter": 9728, "wrapS": 33071, "wrapT": 33071 } + ], + "images": [ + { + "mimeType": "image/png", + "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAB5JREFUOE9jZHhi9p+BAsA4agDDaBgwjIYBw7AIAwAzuCGhqApsNAAAAABJRU5ErkJggg==" + } + ], + "meshes": [ + { + "primitives": [ + { + "mode": 4, + "attributes": { "POSITION": 0, "NORMAL": 1, "TEXCOORD_0": 2 }, + "indices": 3, + "material": 0 + } + ] + } + ] +} diff --git a/public/models/stage.gltf b/public/models/stage.gltf new file mode 100644 index 0000000..52dc814 --- /dev/null +++ b/public/models/stage.gltf @@ -0,0 +1,104 @@ +{ + "asset": { "version": "2.0", "generator": "Blockbench 4.8.3 glTF exporter" }, + "scenes": [{ "nodes": [1], "name": "blockbench_export" }], + "scene": 0, + "nodes": [{ "name": "Stage", "mesh": 0 }, { "children": [0] }], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 12288, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 12288, + "byteLength": 12288, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 24576, + "byteLength": 8192, + "target": 34962, + "byteStride": 8 + }, + { "buffer": 0, "byteOffset": 32768, "byteLength": 3072, "target": 34963 } + ], + "buffers": [ + { + "byteLength": 35840, + "uri": "data:application/octet-stream;base64,AADgvwAAAAAAAABAAAAAwAAAAAAAAOA/AADgvwAAAAAAAOA/AAAAwAAAAAAAAABAAACAPgAAAAAAAABAAAAAAAAAAAAAAOA/AACAPgAAAAAAAOA/AAAAAAAAAAAAAABAAACgPwAAAAAAAABAAACAPwAAAAAAAOA/AACgPwAAAAAAAOA/AACAPwAAAAAAAABAAABAvwAAAAAAAABAAACAvwAAAAAAAOA/AABAvwAAAAAAAOA/AACAvwAAAAAAAABAAACgvwAAAAAAAABAAADAvwAAAAAAAOA/AACgvwAAAAAAAOA/AADAvwAAAAAAAABAAACAvgAAAAAAAABAAAAAvwAAAAAAAOA/AACAvgAAAAAAAOA/AAAAvwAAAAAAAABAAABAPwAAAAAAAABAAAAAPwAAAAAAAOA/AABAPwAAAAAAAOA/AAAAPwAAAAAAAABAAADgPwAAAAAAAABAAADAPwAAAAAAAOA/AADgPwAAAAAAAOA/AADAPwAAAAAAAABAAAAAQAAAAAAAAABAAADgPwAAAAAAAOA/AAAAQAAAAAAAAOA/AADgPwAAAAAAAABAAADAPwAAAAAAAABAAACgPwAAAAAAAOA/AADAPwAAAAAAAOA/AACgPwAAAAAAAABAAACAPwAAAAAAAABAAABAPwAAAAAAAOA/AACAPwAAAAAAAOA/AABAPwAAAAAAAABAAAAAPwAAAAAAAABAAACAPgAAAAAAAOA/AAAAPwAAAAAAAOA/AACAPgAAAAAAAABAAAAAAAAAAAAAAABAAACAvgAAAAAAAOA/AAAAAAAAAAAAAOA/AACAvgAAAAAAAABAAAAAvwAAAAAAAABAAABAvwAAAAAAAOA/AAAAvwAAAAAAAOA/AABAvwAAAAAAAABAAACAvwAAAAAAAABAAACgvwAAAAAAAOA/AACAvwAAAAAAAOA/AACgvwAAAAAAAABAAADAvwAAAAAAAABAAADgvwAAAAAAAOA/AADAvwAAAAAAAOA/AADgvwAAAAAAAABAAADgvwAAAAAAAIA/AAAAwAAAAAAAAEA/AADgvwAAAAAAAEA/AAAAwAAAAAAAAIA/AADAvwAAAAAAAIA/AADgvwAAAAAAAEA/AADAvwAAAAAAAEA/AADgvwAAAAAAAIA/AACgvwAAAAAAAIA/AADAvwAAAAAAAEA/AACgvwAAAAAAAEA/AADAvwAAAAAAAIA/AACAvwAAAAAAAIA/AACgvwAAAAAAAEA/AACAvwAAAAAAAEA/AACgvwAAAAAAAIA/AABAvwAAAAAAAIA/AACAvwAAAAAAAEA/AABAvwAAAAAAAEA/AACAvwAAAAAAAIA/AAAAvwAAAAAAAIA/AABAvwAAAAAAAEA/AAAAvwAAAAAAAEA/AABAvwAAAAAAAIA/AACAvgAAAAAAAIA/AAAAvwAAAAAAAEA/AACAvgAAAAAAAEA/AAAAvwAAAAAAAIA/AAAAAAAAAAAAAIA/AACAvgAAAAAAAEA/AAAAAAAAAAAAAEA/AACAvgAAAAAAAIA/AACAPgAAAAAAAIA/AAAAAAAAAAAAAEA/AACAPgAAAAAAAEA/AAAAAAAAAAAAAIA/AAAAPwAAAAAAAIA/AACAPgAAAAAAAEA/AAAAPwAAAAAAAEA/AACAPgAAAAAAAIA/AABAPwAAAAAAAIA/AAAAPwAAAAAAAEA/AABAPwAAAAAAAEA/AAAAPwAAAAAAAIA/AACAPwAAAAAAAIA/AABAPwAAAAAAAEA/AACAPwAAAAAAAEA/AABAPwAAAAAAAIA/AACgPwAAAAAAAIA/AACAPwAAAAAAAEA/AACgPwAAAAAAAEA/AACAPwAAAAAAAIA/AADAPwAAAAAAAIA/AACgPwAAAAAAAEA/AADAPwAAAAAAAEA/AACgPwAAAAAAAIA/AADgPwAAAAAAAIA/AADAPwAAAAAAAEA/AADgPwAAAAAAAEA/AADAPwAAAAAAAIA/AAAAQAAAAAAAAIA/AADgPwAAAAAAAEA/AAAAQAAAAAAAAEA/AADgPwAAAAAAAIA/AAAAwAAAAAAAAIClAAAAwAAAAAAAAIA+AADgvwAAAAAAAIA+AADgvwAAAAAAAIClAADgvwAAAAAAAIClAADgvwAAAAAAAIA+AADAvwAAAAAAAIA+AADAvwAAAAAAAIClAADAvwAAAAAAAIClAADAvwAAAAAAAIA+AACgvwAAAAAAAIA+AACgvwAAAAAAAIClAACgvwAAAAAAAIClAACgvwAAAAAAAIA+AACAvwAAAAAAAIA+AACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIA+AABAvwAAAAAAAIA+AABAvwAAAAAAAIClAABAvwAAAAAAAIClAABAvwAAAAAAAIA+AAAAvwAAAAAAAIA+AAAAvwAAAAAAAIClAAAAvwAAAAAAAIClAAAAvwAAAAAAAIA+AACAvgAAAAAAAIA+AACAvgAAAAAAAIClAACAvgAAAAAAAIClAACAvgAAAAAAAIA+AAAAAAAAAAAAAIA+AAAAAAAAAAAAAIClAAAAAAAAAAAAAIClAAAAAAAAAAAAAIA+AACAPgAAAAAAAIA+AACAPgAAAAAAAIClAACAPgAAAAAAAIClAACAPgAAAAAAAIA+AAAAPwAAAAAAAIA+AAAAPwAAAAAAAIClAAAAPwAAAAAAAIClAAAAPwAAAAAAAIA+AABAPwAAAAAAAIA+AABAPwAAAAAAAIClAABAPwAAAAAAAIClAABAPwAAAAAAAIA+AACAPwAAAAAAAIA+AACAPwAAAAAAAIClAACAPwAAAAAAAIClAACAPwAAAAAAAIA+AACgPwAAAAAAAIA+AACgPwAAAAAAAIClAACgPwAAAAAAAIClAACgPwAAAAAAAIA+AADAPwAAAAAAAIA+AADAPwAAAAAAAIClAADAPwAAAAAAAIClAADAPwAAAAAAAIA+AADgPwAAAAAAAIA+AADgPwAAAAAAAIClAADgPwAAAAAAAIClAADgPwAAAAAAAIA+AAAAQAAAAAAAAIA+AAAAQAAAAAAAAIClAADgvwAAAAAAAMA/AAAAwAAAAAAAAKA/AADgvwAAAAAAAKA/AAAAwAAAAAAAAMA/AADAvwAAAAAAAMA/AADgvwAAAAAAAKA/AADAvwAAAAAAAKA/AADgvwAAAAAAAMA/AACgvwAAAAAAAMA/AADAvwAAAAAAAKA/AACgvwAAAAAAAKA/AADAvwAAAAAAAMA/AACAvwAAAAAAAMA/AACgvwAAAAAAAKA/AACAvwAAAAAAAKA/AACgvwAAAAAAAMA/AABAvwAAAAAAAMA/AACAvwAAAAAAAKA/AABAvwAAAAAAAKA/AACAvwAAAAAAAMA/AAAAvwAAAAAAAMA/AABAvwAAAAAAAKA/AAAAvwAAAAAAAKA/AABAvwAAAAAAAMA/AACAvgAAAAAAAMA/AAAAvwAAAAAAAKA/AACAvgAAAAAAAKA/AAAAvwAAAAAAAMA/AAAAAAAAAAAAAMA/AACAvgAAAAAAAKA/AAAAAAAAAAAAAKA/AACAvgAAAAAAAMA/AACAPgAAAAAAAMA/AAAAAAAAAAAAAKA/AACAPgAAAAAAAKA/AAAAAAAAAAAAAMA/AAAAPwAAAAAAAMA/AACAPgAAAAAAAKA/AAAAPwAAAAAAAKA/AACAPgAAAAAAAMA/AABAPwAAAAAAAMA/AAAAPwAAAAAAAKA/AABAPwAAAAAAAKA/AAAAPwAAAAAAAMA/AACAPwAAAAAAAMA/AABAPwAAAAAAAKA/AACAPwAAAAAAAKA/AABAPwAAAAAAAMA/AACgPwAAAAAAAMA/AACAPwAAAAAAAKA/AACgPwAAAAAAAKA/AACAPwAAAAAAAMA/AADAPwAAAAAAAMA/AACgPwAAAAAAAKA/AADAPwAAAAAAAKA/AACgPwAAAAAAAMA/AADgPwAAAAAAAMA/AADAPwAAAAAAAKA/AADgPwAAAAAAAKA/AADAPwAAAAAAAMA/AAAAQAAAAAAAAMA/AADgPwAAAAAAAKA/AAAAQAAAAAAAAKA/AADgPwAAAAAAAMA/AAAAwAAAAAAAAMA/AAAAwAAAAAAAAOA/AADgvwAAAAAAAOA/AADgvwAAAAAAAMA/AADgvwAAAAAAAMA/AADgvwAAAAAAAOA/AADAvwAAAAAAAOA/AADAvwAAAAAAAMA/AADAvwAAAAAAAMA/AADAvwAAAAAAAOA/AACgvwAAAAAAAOA/AACgvwAAAAAAAMA/AACgvwAAAAAAAMA/AACgvwAAAAAAAOA/AACAvwAAAAAAAOA/AACAvwAAAAAAAMA/AACAvwAAAAAAAMA/AACAvwAAAAAAAOA/AABAvwAAAAAAAOA/AABAvwAAAAAAAMA/AABAvwAAAAAAAMA/AABAvwAAAAAAAOA/AAAAvwAAAAAAAOA/AAAAvwAAAAAAAMA/AAAAvwAAAAAAAMA/AAAAvwAAAAAAAOA/AACAvgAAAAAAAOA/AACAvgAAAAAAAMA/AACAvgAAAAAAAMA/AACAvgAAAAAAAOA/AAAAAAAAAAAAAOA/AAAAAAAAAAAAAMA/AAAAAAAAAAAAAMA/AAAAAAAAAAAAAOA/AACAPgAAAAAAAOA/AACAPgAAAAAAAMA/AACAPgAAAAAAAMA/AACAPgAAAAAAAOA/AAAAPwAAAAAAAOA/AAAAPwAAAAAAAMA/AAAAPwAAAAAAAMA/AAAAPwAAAAAAAOA/AABAPwAAAAAAAOA/AABAPwAAAAAAAMA/AABAPwAAAAAAAMA/AABAPwAAAAAAAOA/AACAPwAAAAAAAOA/AACAPwAAAAAAAMA/AACAPwAAAAAAAMA/AACAPwAAAAAAAOA/AACgPwAAAAAAAOA/AACgPwAAAAAAAMA/AACgPwAAAAAAAMA/AACgPwAAAAAAAOA/AADAPwAAAAAAAOA/AADAPwAAAAAAAMA/AADAPwAAAAAAAMA/AADAPwAAAAAAAOA/AADgPwAAAAAAAOA/AADgPwAAAAAAAMA/AADgPwAAAAAAAMA/AADgPwAAAAAAAOA/AAAAQAAAAAAAAOA/AAAAQAAAAAAAAMA/AAAAwAAAAAAAAIA/AAAAwAAAAAAAAKA/AADgvwAAAAAAAKA/AADgvwAAAAAAAIA/AADgvwAAAAAAAIA/AADgvwAAAAAAAKA/AADAvwAAAAAAAKA/AADAvwAAAAAAAIA/AADAvwAAAAAAAIA/AADAvwAAAAAAAKA/AACgvwAAAAAAAKA/AACgvwAAAAAAAIA/AACgvwAAAAAAAIA/AACgvwAAAAAAAKA/AACAvwAAAAAAAKA/AACAvwAAAAAAAIA/AACAvwAAAAAAAIA/AACAvwAAAAAAAKA/AABAvwAAAAAAAKA/AABAvwAAAAAAAIA/AABAvwAAAAAAAIA/AABAvwAAAAAAAKA/AAAAvwAAAAAAAKA/AAAAvwAAAAAAAIA/AAAAvwAAAAAAAIA/AAAAvwAAAAAAAKA/AACAvgAAAAAAAKA/AACAvgAAAAAAAIA/AACAvgAAAAAAAIA/AACAvgAAAAAAAKA/AAAAAAAAAAAAAKA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAKA/AACAPgAAAAAAAKA/AACAPgAAAAAAAIA/AACAPgAAAAAAAIA/AACAPgAAAAAAAKA/AAAAPwAAAAAAAKA/AAAAPwAAAAAAAIA/AAAAPwAAAAAAAIA/AAAAPwAAAAAAAKA/AABAPwAAAAAAAKA/AABAPwAAAAAAAIA/AABAPwAAAAAAAIA/AABAPwAAAAAAAKA/AACAPwAAAAAAAKA/AACAPwAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAKA/AACgPwAAAAAAAKA/AACgPwAAAAAAAIA/AACgPwAAAAAAAIA/AACgPwAAAAAAAKA/AADAPwAAAAAAAKA/AADAPwAAAAAAAIA/AADAPwAAAAAAAIA/AADAPwAAAAAAAKA/AADgPwAAAAAAAKA/AADgPwAAAAAAAIA/AADgPwAAAAAAAIA/AADgPwAAAAAAAKA/AAAAQAAAAAAAAKA/AAAAQAAAAAAAAIA/AAAAwAAAAAAAAAA/AAAAwAAAAAAAAEA/AADgvwAAAAAAAEA/AADgvwAAAAAAAAA/AADgvwAAAAAAAAA/AADgvwAAAAAAAEA/AADAvwAAAAAAAEA/AADAvwAAAAAAAAA/AADAvwAAAAAAAAA/AADAvwAAAAAAAEA/AACgvwAAAAAAAEA/AACgvwAAAAAAAAA/AACgvwAAAAAAAAA/AACgvwAAAAAAAEA/AACAvwAAAAAAAEA/AACAvwAAAAAAAAA/AACAvwAAAAAAAAA/AACAvwAAAAAAAEA/AABAvwAAAAAAAEA/AABAvwAAAAAAAAA/AABAvwAAAAAAAAA/AABAvwAAAAAAAEA/AAAAvwAAAAAAAEA/AAAAvwAAAAAAAAA/AAAAvwAAAAAAAAA/AAAAvwAAAAAAAEA/AACAvgAAAAAAAEA/AACAvgAAAAAAAAA/AACAvgAAAAAAAAA/AACAvgAAAAAAAEA/AAAAAAAAAAAAAEA/AAAAAAAAAAAAAAA/AAAAAAAAAAAAAAA/AAAAAAAAAAAAAEA/AACAPgAAAAAAAEA/AACAPgAAAAAAAAA/AACAPgAAAAAAAAA/AACAPgAAAAAAAEA/AAAAPwAAAAAAAEA/AAAAPwAAAAAAAAA/AAAAPwAAAAAAAAA/AAAAPwAAAAAAAEA/AABAPwAAAAAAAEA/AABAPwAAAAAAAAA/AABAPwAAAAAAAAA/AABAPwAAAAAAAEA/AACAPwAAAAAAAEA/AACAPwAAAAAAAAA/AACAPwAAAAAAAAA/AACAPwAAAAAAAEA/AACgPwAAAAAAAEA/AACgPwAAAAAAAAA/AACgPwAAAAAAAAA/AACgPwAAAAAAAEA/AADAPwAAAAAAAEA/AADAPwAAAAAAAAA/AADAPwAAAAAAAAA/AADAPwAAAAAAAEA/AADgPwAAAAAAAEA/AADgPwAAAAAAAAA/AADgPwAAAAAAAAA/AADgPwAAAAAAAEA/AAAAQAAAAAAAAEA/AAAAQAAAAAAAAAA/AADgvwAAAAAAAAA/AAAAwAAAAAAAAIA+AADgvwAAAAAAAIA+AAAAwAAAAAAAAAA/AADAvwAAAAAAAAA/AADgvwAAAAAAAIA+AADAvwAAAAAAAIA+AADgvwAAAAAAAAA/AACgvwAAAAAAAAA/AADAvwAAAAAAAIA+AACgvwAAAAAAAIA+AADAvwAAAAAAAAA/AACAvwAAAAAAAAA/AACgvwAAAAAAAIA+AACAvwAAAAAAAIA+AACgvwAAAAAAAAA/AABAvwAAAAAAAAA/AACAvwAAAAAAAIA+AABAvwAAAAAAAIA+AACAvwAAAAAAAAA/AAAAvwAAAAAAAAA/AABAvwAAAAAAAIA+AAAAvwAAAAAAAIA+AABAvwAAAAAAAAA/AACAvgAAAAAAAAA/AAAAvwAAAAAAAIA+AACAvgAAAAAAAIA+AAAAvwAAAAAAAAA/AAAAAAAAAAAAAAA/AACAvgAAAAAAAIA+AAAAAAAAAAAAAIA+AACAvgAAAAAAAAA/AACAPgAAAAAAAAA/AAAAAAAAAAAAAIA+AACAPgAAAAAAAIA+AAAAAAAAAAAAAAA/AAAAPwAAAAAAAAA/AACAPgAAAAAAAIA+AAAAPwAAAAAAAIA+AACAPgAAAAAAAAA/AABAPwAAAAAAAAA/AAAAPwAAAAAAAIA+AABAPwAAAAAAAIA+AAAAPwAAAAAAAAA/AACAPwAAAAAAAAA/AABAPwAAAAAAAIA+AACAPwAAAAAAAIA+AABAPwAAAAAAAAA/AACgPwAAAAAAAAA/AACAPwAAAAAAAIA+AACgPwAAAAAAAIA+AACAPwAAAAAAAAA/AADAPwAAAAAAAAA/AACgPwAAAAAAAIA+AADAPwAAAAAAAIA+AACgPwAAAAAAAAA/AADgPwAAAAAAAAA/AADAPwAAAAAAAIA+AADgPwAAAAAAAIA+AADAPwAAAAAAAAA/AAAAQAAAAAAAAAA/AADgPwAAAAAAAIA+AAAAQAAAAAAAAIA+AADgPwAAAAAAAAA/AADgvwAAAAAAAIAlAAAAwAAAAAAAAIC+AADgvwAAAAAAAIC+AAAAwAAAAAAAAIAlAACAPgAAAAAAAIAlAAAAAAAAAAAAAIC+AACAPgAAAAAAAIC+AAAAAAAAAAAAAIAlAACgPwAAAAAAAIAlAACAPwAAAAAAAIC+AACgPwAAAAAAAIC+AACAPwAAAAAAAIAlAABAvwAAAAAAAIAlAACAvwAAAAAAAIC+AABAvwAAAAAAAIC+AACAvwAAAAAAAIAlAACgvwAAAAAAAIAlAADAvwAAAAAAAIC+AACgvwAAAAAAAIC+AADAvwAAAAAAAIAlAACAvgAAAAAAAIAlAAAAvwAAAAAAAIC+AACAvgAAAAAAAIC+AAAAvwAAAAAAAIAlAABAPwAAAAAAAIAlAAAAPwAAAAAAAIC+AABAPwAAAAAAAIC+AAAAPwAAAAAAAIAlAADgPwAAAAAAAIAlAADAPwAAAAAAAIC+AADgPwAAAAAAAIC+AADAPwAAAAAAAIAlAAAAQAAAAAAAAIAlAADgPwAAAAAAAIC+AAAAQAAAAAAAAIC+AADgPwAAAAAAAIAlAADAPwAAAAAAAIAlAACgPwAAAAAAAIC+AADAPwAAAAAAAIC+AACgPwAAAAAAAIAlAACAPwAAAAAAAIAlAABAPwAAAAAAAIC+AACAPwAAAAAAAIC+AABAPwAAAAAAAIAlAAAAPwAAAAAAAIAlAACAPgAAAAAAAIC+AAAAPwAAAAAAAIC+AACAPgAAAAAAAIAlAAAAAAAAAAAAAIAlAACAvgAAAAAAAIC+AAAAAAAAAAAAAIC+AACAvgAAAAAAAIAlAAAAvwAAAAAAAIAlAABAvwAAAAAAAIC+AAAAvwAAAAAAAIC+AABAvwAAAAAAAIAlAACAvwAAAAAAAIAlAACgvwAAAAAAAIC+AACAvwAAAAAAAIC+AACgvwAAAAAAAIAlAADAvwAAAAAAAIAlAADgvwAAAAAAAIC+AADAvwAAAAAAAIC+AADgvwAAAAAAAIAlAADgvwAAAAAAAIC/AAAAwAAAAAAAAKC/AADgvwAAAAAAAKC/AAAAwAAAAAAAAIC/AADAvwAAAAAAAIC/AADgvwAAAAAAAKC/AADAvwAAAAAAAKC/AADgvwAAAAAAAIC/AACgvwAAAAAAAIC/AADAvwAAAAAAAKC/AACgvwAAAAAAAKC/AADAvwAAAAAAAIC/AACAvwAAAAAAAIC/AACgvwAAAAAAAKC/AACAvwAAAAAAAKC/AACgvwAAAAAAAIC/AABAvwAAAAAAAIC/AACAvwAAAAAAAKC/AABAvwAAAAAAAKC/AACAvwAAAAAAAIC/AAAAvwAAAAAAAIC/AABAvwAAAAAAAKC/AAAAvwAAAAAAAKC/AABAvwAAAAAAAIC/AACAvgAAAAAAAIC/AAAAvwAAAAAAAKC/AACAvgAAAAAAAKC/AAAAvwAAAAAAAIC/AAAAAAAAAAAAAIC/AACAvgAAAAAAAKC/AAAAAAAAAAAAAKC/AACAvgAAAAAAAIC/AACAPgAAAAAAAIC/AAAAAAAAAAAAAKC/AACAPgAAAAAAAKC/AAAAAAAAAAAAAIC/AAAAPwAAAAAAAIC/AACAPgAAAAAAAKC/AAAAPwAAAAAAAKC/AACAPgAAAAAAAIC/AABAPwAAAAAAAIC/AAAAPwAAAAAAAKC/AABAPwAAAAAAAKC/AAAAPwAAAAAAAIC/AACAPwAAAAAAAIC/AABAPwAAAAAAAKC/AACAPwAAAAAAAKC/AABAPwAAAAAAAIC/AACgPwAAAAAAAIC/AACAPwAAAAAAAKC/AACgPwAAAAAAAKC/AACAPwAAAAAAAIC/AADAPwAAAAAAAIC/AACgPwAAAAAAAKC/AADAPwAAAAAAAKC/AACgPwAAAAAAAIC/AADgPwAAAAAAAIC/AADAPwAAAAAAAKC/AADgPwAAAAAAAKC/AADAPwAAAAAAAIC/AAAAQAAAAAAAAIC/AADgPwAAAAAAAKC/AAAAQAAAAAAAAKC/AADgPwAAAAAAAIC/AAAAwAAAAAAAAADAAAAAwAAAAAAAAOC/AADgvwAAAAAAAOC/AADgvwAAAAAAAADAAADgvwAAAAAAAADAAADgvwAAAAAAAOC/AADAvwAAAAAAAOC/AADAvwAAAAAAAADAAADAvwAAAAAAAADAAADAvwAAAAAAAOC/AACgvwAAAAAAAOC/AACgvwAAAAAAAADAAACgvwAAAAAAAADAAACgvwAAAAAAAOC/AACAvwAAAAAAAOC/AACAvwAAAAAAAADAAACAvwAAAAAAAADAAACAvwAAAAAAAOC/AABAvwAAAAAAAOC/AABAvwAAAAAAAADAAABAvwAAAAAAAADAAABAvwAAAAAAAOC/AAAAvwAAAAAAAOC/AAAAvwAAAAAAAADAAAAAvwAAAAAAAADAAAAAvwAAAAAAAOC/AACAvgAAAAAAAOC/AACAvgAAAAAAAADAAACAvgAAAAAAAADAAACAvgAAAAAAAOC/AAAAAAAAAAAAAOC/AAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAOC/AACAPgAAAAAAAOC/AACAPgAAAAAAAADAAACAPgAAAAAAAADAAACAPgAAAAAAAOC/AAAAPwAAAAAAAOC/AAAAPwAAAAAAAADAAAAAPwAAAAAAAADAAAAAPwAAAAAAAOC/AABAPwAAAAAAAOC/AABAPwAAAAAAAADAAABAPwAAAAAAAADAAABAPwAAAAAAAOC/AACAPwAAAAAAAOC/AACAPwAAAAAAAADAAACAPwAAAAAAAADAAACAPwAAAAAAAOC/AACgPwAAAAAAAOC/AACgPwAAAAAAAADAAACgPwAAAAAAAADAAACgPwAAAAAAAOC/AADAPwAAAAAAAOC/AADAPwAAAAAAAADAAADAPwAAAAAAAADAAADAPwAAAAAAAOC/AADgPwAAAAAAAOC/AADgPwAAAAAAAADAAADgPwAAAAAAAADAAADgPwAAAAAAAOC/AAAAQAAAAAAAAOC/AAAAQAAAAAAAAADAAADgvwAAAAAAAAC/AAAAwAAAAAAAAEC/AADgvwAAAAAAAEC/AAAAwAAAAAAAAAC/AADAvwAAAAAAAAC/AADgvwAAAAAAAEC/AADAvwAAAAAAAEC/AADgvwAAAAAAAAC/AACgvwAAAAAAAAC/AADAvwAAAAAAAEC/AACgvwAAAAAAAEC/AADAvwAAAAAAAAC/AACAvwAAAAAAAAC/AACgvwAAAAAAAEC/AACAvwAAAAAAAEC/AACgvwAAAAAAAAC/AABAvwAAAAAAAAC/AACAvwAAAAAAAEC/AABAvwAAAAAAAEC/AACAvwAAAAAAAAC/AAAAvwAAAAAAAAC/AABAvwAAAAAAAEC/AAAAvwAAAAAAAEC/AABAvwAAAAAAAAC/AACAvgAAAAAAAAC/AAAAvwAAAAAAAEC/AACAvgAAAAAAAEC/AAAAvwAAAAAAAAC/AAAAAAAAAAAAAAC/AACAvgAAAAAAAEC/AAAAAAAAAAAAAEC/AACAvgAAAAAAAAC/AACAPgAAAAAAAAC/AAAAAAAAAAAAAEC/AACAPgAAAAAAAEC/AAAAAAAAAAAAAAC/AAAAPwAAAAAAAAC/AACAPgAAAAAAAEC/AAAAPwAAAAAAAEC/AACAPgAAAAAAAAC/AABAPwAAAAAAAAC/AAAAPwAAAAAAAEC/AABAPwAAAAAAAEC/AAAAPwAAAAAAAAC/AACAPwAAAAAAAAC/AABAPwAAAAAAAEC/AACAPwAAAAAAAEC/AABAPwAAAAAAAAC/AACgPwAAAAAAAAC/AACAPwAAAAAAAEC/AACgPwAAAAAAAEC/AACAPwAAAAAAAAC/AADAPwAAAAAAAAC/AACgPwAAAAAAAEC/AADAPwAAAAAAAEC/AACgPwAAAAAAAAC/AADgPwAAAAAAAAC/AADAPwAAAAAAAEC/AADgPwAAAAAAAEC/AADAPwAAAAAAAAC/AAAAQAAAAAAAAAC/AADgPwAAAAAAAEC/AAAAQAAAAAAAAEC/AADgPwAAAAAAAAC/AAAAwAAAAAAAAAC/AAAAwAAAAAAAAIC+AADgvwAAAAAAAIC+AADgvwAAAAAAAAC/AADgvwAAAAAAAAC/AADgvwAAAAAAAIC+AADAvwAAAAAAAIC+AADAvwAAAAAAAAC/AADAvwAAAAAAAAC/AADAvwAAAAAAAIC+AACgvwAAAAAAAIC+AACgvwAAAAAAAAC/AACgvwAAAAAAAAC/AACgvwAAAAAAAIC+AACAvwAAAAAAAIC+AACAvwAAAAAAAAC/AACAvwAAAAAAAAC/AACAvwAAAAAAAIC+AABAvwAAAAAAAIC+AABAvwAAAAAAAAC/AABAvwAAAAAAAAC/AABAvwAAAAAAAIC+AAAAvwAAAAAAAIC+AAAAvwAAAAAAAAC/AAAAvwAAAAAAAAC/AAAAvwAAAAAAAIC+AACAvgAAAAAAAIC+AACAvgAAAAAAAAC/AACAvgAAAAAAAAC/AACAvgAAAAAAAIC+AAAAAAAAAAAAAIC+AAAAAAAAAAAAAAC/AAAAAAAAAAAAAAC/AAAAAAAAAAAAAIC+AACAPgAAAAAAAIC+AACAPgAAAAAAAAC/AACAPgAAAAAAAAC/AACAPgAAAAAAAIC+AAAAPwAAAAAAAIC+AAAAPwAAAAAAAAC/AAAAPwAAAAAAAAC/AAAAPwAAAAAAAIC+AABAPwAAAAAAAIC+AABAPwAAAAAAAAC/AABAPwAAAAAAAAC/AABAPwAAAAAAAIC+AACAPwAAAAAAAIC+AACAPwAAAAAAAAC/AACAPwAAAAAAAAC/AACAPwAAAAAAAIC+AACgPwAAAAAAAIC+AACgPwAAAAAAAAC/AACgPwAAAAAAAAC/AACgPwAAAAAAAIC+AADAPwAAAAAAAIC+AADAPwAAAAAAAAC/AADAPwAAAAAAAAC/AADAPwAAAAAAAIC+AADgPwAAAAAAAIC+AADgPwAAAAAAAAC/AADgPwAAAAAAAAC/AADgPwAAAAAAAIC+AAAAQAAAAAAAAIC+AAAAQAAAAAAAAAC/AAAAwAAAAAAAAIC/AAAAwAAAAAAAAEC/AADgvwAAAAAAAEC/AADgvwAAAAAAAIC/AADgvwAAAAAAAIC/AADgvwAAAAAAAEC/AADAvwAAAAAAAEC/AADAvwAAAAAAAIC/AADAvwAAAAAAAIC/AADAvwAAAAAAAEC/AACgvwAAAAAAAEC/AACgvwAAAAAAAIC/AACgvwAAAAAAAIC/AACgvwAAAAAAAEC/AACAvwAAAAAAAEC/AACAvwAAAAAAAIC/AACAvwAAAAAAAIC/AACAvwAAAAAAAEC/AABAvwAAAAAAAEC/AABAvwAAAAAAAIC/AABAvwAAAAAAAIC/AABAvwAAAAAAAEC/AAAAvwAAAAAAAEC/AAAAvwAAAAAAAIC/AAAAvwAAAAAAAIC/AAAAvwAAAAAAAEC/AACAvgAAAAAAAEC/AACAvgAAAAAAAIC/AACAvgAAAAAAAIC/AACAvgAAAAAAAEC/AAAAAAAAAAAAAEC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAEC/AACAPgAAAAAAAEC/AACAPgAAAAAAAIC/AACAPgAAAAAAAIC/AACAPgAAAAAAAEC/AAAAPwAAAAAAAEC/AAAAPwAAAAAAAIC/AAAAPwAAAAAAAIC/AAAAPwAAAAAAAEC/AABAPwAAAAAAAEC/AABAPwAAAAAAAIC/AABAPwAAAAAAAIC/AABAPwAAAAAAAEC/AACAPwAAAAAAAEC/AACAPwAAAAAAAIC/AACAPwAAAAAAAIC/AACAPwAAAAAAAEC/AACgPwAAAAAAAEC/AACgPwAAAAAAAIC/AACgPwAAAAAAAIC/AACgPwAAAAAAAEC/AADAPwAAAAAAAEC/AADAPwAAAAAAAIC/AADAPwAAAAAAAIC/AADAPwAAAAAAAEC/AADgPwAAAAAAAEC/AADgPwAAAAAAAIC/AADgPwAAAAAAAIC/AADgPwAAAAAAAEC/AAAAQAAAAAAAAEC/AAAAQAAAAAAAAIC/AAAAwAAAAAAAAMC/AAAAwAAAAAAAAKC/AADgvwAAAAAAAKC/AADgvwAAAAAAAMC/AADgvwAAAAAAAMC/AADgvwAAAAAAAKC/AADAvwAAAAAAAKC/AADAvwAAAAAAAMC/AADAvwAAAAAAAMC/AADAvwAAAAAAAKC/AACgvwAAAAAAAKC/AACgvwAAAAAAAMC/AACgvwAAAAAAAMC/AACgvwAAAAAAAKC/AACAvwAAAAAAAKC/AACAvwAAAAAAAMC/AACAvwAAAAAAAMC/AACAvwAAAAAAAKC/AABAvwAAAAAAAKC/AABAvwAAAAAAAMC/AABAvwAAAAAAAMC/AABAvwAAAAAAAKC/AAAAvwAAAAAAAKC/AAAAvwAAAAAAAMC/AAAAvwAAAAAAAMC/AAAAvwAAAAAAAKC/AACAvgAAAAAAAKC/AACAvgAAAAAAAMC/AACAvgAAAAAAAMC/AACAvgAAAAAAAKC/AAAAAAAAAAAAAKC/AAAAAAAAAAAAAMC/AAAAAAAAAAAAAMC/AAAAAAAAAAAAAKC/AACAPgAAAAAAAKC/AACAPgAAAAAAAMC/AACAPgAAAAAAAMC/AACAPgAAAAAAAKC/AAAAPwAAAAAAAKC/AAAAPwAAAAAAAMC/AAAAPwAAAAAAAMC/AAAAPwAAAAAAAKC/AABAPwAAAAAAAKC/AABAPwAAAAAAAMC/AABAPwAAAAAAAMC/AABAPwAAAAAAAKC/AACAPwAAAAAAAKC/AACAPwAAAAAAAMC/AACAPwAAAAAAAMC/AACAPwAAAAAAAKC/AACgPwAAAAAAAKC/AACgPwAAAAAAAMC/AACgPwAAAAAAAMC/AACgPwAAAAAAAKC/AADAPwAAAAAAAKC/AADAPwAAAAAAAMC/AADAPwAAAAAAAMC/AADAPwAAAAAAAKC/AADgPwAAAAAAAKC/AADgPwAAAAAAAMC/AADgPwAAAAAAAMC/AADgPwAAAAAAAKC/AAAAQAAAAAAAAKC/AAAAQAAAAAAAAMC/AADgvwAAAAAAAMC/AAAAwAAAAAAAAOC/AADgvwAAAAAAAOC/AAAAwAAAAAAAAMC/AADAvwAAAAAAAMC/AADgvwAAAAAAAOC/AADAvwAAAAAAAOC/AADgvwAAAAAAAMC/AACgvwAAAAAAAMC/AADAvwAAAAAAAOC/AACgvwAAAAAAAOC/AADAvwAAAAAAAMC/AACAvwAAAAAAAMC/AACgvwAAAAAAAOC/AACAvwAAAAAAAOC/AACgvwAAAAAAAMC/AABAvwAAAAAAAMC/AACAvwAAAAAAAOC/AABAvwAAAAAAAOC/AACAvwAAAAAAAMC/AAAAvwAAAAAAAMC/AABAvwAAAAAAAOC/AAAAvwAAAAAAAOC/AABAvwAAAAAAAMC/AACAvgAAAAAAAMC/AAAAvwAAAAAAAOC/AACAvgAAAAAAAOC/AAAAvwAAAAAAAMC/AAAAAAAAAAAAAMC/AACAvgAAAAAAAOC/AAAAAAAAAAAAAOC/AACAvgAAAAAAAMC/AACAPgAAAAAAAMC/AAAAAAAAAAAAAOC/AACAPgAAAAAAAOC/AAAAAAAAAAAAAMC/AAAAPwAAAAAAAMC/AACAPgAAAAAAAOC/AAAAPwAAAAAAAOC/AACAPgAAAAAAAMC/AABAPwAAAAAAAMC/AAAAPwAAAAAAAOC/AABAPwAAAAAAAOC/AAAAPwAAAAAAAMC/AACAPwAAAAAAAMC/AABAPwAAAAAAAOC/AACAPwAAAAAAAOC/AABAPwAAAAAAAMC/AACgPwAAAAAAAMC/AACAPwAAAAAAAOC/AACgPwAAAAAAAOC/AACAPwAAAAAAAMC/AADAPwAAAAAAAMC/AACgPwAAAAAAAOC/AADAPwAAAAAAAOC/AACgPwAAAAAAAMC/AADgPwAAAAAAAMC/AADAPwAAAAAAAOC/AADgPwAAAAAAAOC/AADAPwAAAAAAAMC/AAAAQAAAAAAAAMC/AADgPwAAAAAAAOC/AAAAQAAAAAAAAOC/AADgPwAAAAAAAMC/AAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAAAAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAIA/AACAPwAAAAAAAAIAAQAAAAEAAwAEAAYABQAEAAUABwAIAAoACQAIAAkACwAMAA4ADQAMAA0ADwAQABIAEQAQABEAEwAUABYAFQAUABUAFwAYABoAGQAYABkAGwAcAB4AHQAcAB0AHwAgACIAIQAgACEAIwAkACYAJQAkACUAJwAoACoAKQAoACkAKwAsAC4ALQAsAC0ALwAwADIAMQAwADEAMwA0ADYANQA0ADUANwA4ADoAOQA4ADkAOwA8AD4APQA8AD0APwBAAEIAQQBAAEEAQwBEAEYARQBEAEUARwBIAEoASQBIAEkASwBMAE4ATQBMAE0ATwBQAFIAUQBQAFEAUwBUAFYAVQBUAFUAVwBYAFoAWQBYAFkAWwBcAF4AXQBcAF0AXwBgAGIAYQBgAGEAYwBkAGYAZQBkAGUAZwBoAGoAaQBoAGkAawBsAG4AbQBsAG0AbwBwAHIAcQBwAHEAcwB0AHYAdQB0AHUAdwB4AHoAeQB4AHkAewB8AH4AfQB8AH0AfwCAAIEAggCAAIIAgwCEAIUAhgCEAIYAhwCIAIkAigCIAIoAiwCMAI0AjgCMAI4AjwCQAJEAkgCQAJIAkwCUAJUAlgCUAJYAlwCYAJkAmgCYAJoAmwCcAJ0AngCcAJ4AnwCgAKEAogCgAKIAowCkAKUApgCkAKYApwCoAKkAqgCoAKoAqwCsAK0ArgCsAK4ArwCwALEAsgCwALIAswC0ALUAtgC0ALYAtwC4ALkAugC4ALoAuwC8AL0AvgC8AL4AvwDAAMIAwQDAAMEAwwDEAMYAxQDEAMUAxwDIAMoAyQDIAMkAywDMAM4AzQDMAM0AzwDQANIA0QDQANEA0wDUANYA1QDUANUA1wDYANoA2QDYANkA2wDcAN4A3QDcAN0A3wDgAOIA4QDgAOEA4wDkAOYA5QDkAOUA5wDoAOoA6QDoAOkA6wDsAO4A7QDsAO0A7wDwAPIA8QDwAPEA8wD0APYA9QD0APUA9wD4APoA+QD4APkA+wD8AP4A/QD8AP0A/wAAAQEBAgEAAQIBAwEEAQUBBgEEAQYBBwEIAQkBCgEIAQoBCwEMAQ0BDgEMAQ4BDwEQAREBEgEQARIBEwEUARUBFgEUARYBFwEYARkBGgEYARoBGwEcAR0BHgEcAR4BHwEgASEBIgEgASIBIwEkASUBJgEkASYBJwEoASkBKgEoASoBKwEsAS0BLgEsAS4BLwEwATEBMgEwATIBMwE0ATUBNgE0ATYBNwE4ATkBOgE4AToBOwE8AT0BPgE8AT4BPwFAAUEBQgFAAUIBQwFEAUUBRgFEAUYBRwFIAUkBSgFIAUoBSwFMAU0BTgFMAU4BTwFQAVEBUgFQAVIBUwFUAVUBVgFUAVYBVwFYAVkBWgFYAVoBWwFcAV0BXgFcAV4BXwFgAWEBYgFgAWIBYwFkAWUBZgFkAWYBZwFoAWkBagFoAWoBawFsAW0BbgFsAW4BbwFwAXEBcgFwAXIBcwF0AXUBdgF0AXYBdwF4AXkBegF4AXoBewF8AX0BfgF8AX4BfwGAAYEBggGAAYIBgwGEAYUBhgGEAYYBhwGIAYkBigGIAYoBiwGMAY0BjgGMAY4BjwGQAZEBkgGQAZIBkwGUAZUBlgGUAZYBlwGYAZkBmgGYAZoBmwGcAZ0BngGcAZ4BnwGgAaEBogGgAaIBowGkAaUBpgGkAaYBpwGoAakBqgGoAaoBqwGsAa0BrgGsAa4BrwGwAbEBsgGwAbIBswG0AbUBtgG0AbYBtwG4AbkBugG4AboBuwG8Ab0BvgG8Ab4BvwHAAcIBwQHAAcEBwwHEAcYBxQHEAcUBxwHIAcoByQHIAckBywHMAc4BzQHMAc0BzwHQAdIB0QHQAdEB0wHUAdYB1QHUAdUB1wHYAdoB2QHYAdkB2wHcAd4B3QHcAd0B3wHgAeIB4QHgAeEB4wHkAeYB5QHkAeUB5wHoAeoB6QHoAekB6wHsAe4B7QHsAe0B7wHwAfIB8QHwAfEB8wH0AfYB9QH0AfUB9wH4AfoB+QH4AfkB+wH8Af4B/QH8Af0B/wEAAgICAQIAAgECAwIEAgYCBQIEAgUCBwIIAgoCCQIIAgkCCwIMAg4CDQIMAg0CDwIQAhICEQIQAhECEwIUAhYCFQIUAhUCFwIYAhoCGQIYAhkCGwIcAh4CHQIcAh0CHwIgAiICIQIgAiECIwIkAiYCJQIkAiUCJwIoAioCKQIoAikCKwIsAi4CLQIsAi0CLwIwAjICMQIwAjECMwI0AjYCNQI0AjUCNwI4AjoCOQI4AjkCOwI8Aj4CPQI8Aj0CPwJAAkICQQJAAkECQwJEAkYCRQJEAkUCRwJIAkoCSQJIAkkCSwJMAk4CTQJMAk0CTwJQAlICUQJQAlECUwJUAlYCVQJUAlUCVwJYAloCWQJYAlkCWwJcAl4CXQJcAl0CXwJgAmICYQJgAmECYwJkAmYCZQJkAmUCZwJoAmoCaQJoAmkCawJsAm4CbQJsAm0CbwJwAnICcQJwAnECcwJ0AnYCdQJ0AnUCdwJ4AnoCeQJ4AnkCewJ8An4CfQJ8An0CfwKAAoECggKAAoICgwKEAoUChgKEAoYChwKIAokCigKIAooCiwKMAo0CjgKMAo4CjwKQApECkgKQApICkwKUApUClgKUApYClwKYApkCmgKYApoCmwKcAp0CngKcAp4CnwKgAqECogKgAqICowKkAqUCpgKkAqYCpwKoAqkCqgKoAqoCqwKsAq0CrgKsAq4CrwKwArECsgKwArICswK0ArUCtgK0ArYCtwK4ArkCugK4AroCuwK8Ar0CvgK8Ar4CvwLAAsICwQLAAsECwwLEAsYCxQLEAsUCxwLIAsoCyQLIAskCywLMAs4CzQLMAs0CzwLQAtIC0QLQAtEC0wLUAtYC1QLUAtUC1wLYAtoC2QLYAtkC2wLcAt4C3QLcAt0C3wLgAuIC4QLgAuEC4wLkAuYC5QLkAuUC5wLoAuoC6QLoAukC6wLsAu4C7QLsAu0C7wLwAvIC8QLwAvEC8wL0AvYC9QL0AvUC9wL4AvoC+QL4AvkC+wL8Av4C/QL8Av0C/wIAAwEDAgMAAwIDAwMEAwUDBgMEAwYDBwMIAwkDCgMIAwoDCwMMAw0DDgMMAw4DDwMQAxEDEgMQAxIDEwMUAxUDFgMUAxYDFwMYAxkDGgMYAxoDGwMcAx0DHgMcAx4DHwMgAyEDIgMgAyIDIwMkAyUDJgMkAyYDJwMoAykDKgMoAyoDKwMsAy0DLgMsAy4DLwMwAzEDMgMwAzIDMwM0AzUDNgM0AzYDNwM4AzkDOgM4AzoDOwM8Az0DPgM8Az4DPwNAA0EDQgNAA0IDQwNEA0UDRgNEA0YDRwNIA0kDSgNIA0oDSwNMA00DTgNMA04DTwNQA1EDUgNQA1IDUwNUA1UDVgNUA1YDVwNYA1kDWgNYA1oDWwNcA10DXgNcA14DXwNgA2EDYgNgA2IDYwNkA2UDZgNkA2YDZwNoA2kDagNoA2oDawNsA20DbgNsA24DbwNwA3EDcgNwA3IDcwN0A3UDdgN0A3YDdwN4A3kDegN4A3oDewN8A30DfgN8A34DfwOAA4EDggOAA4IDgwOEA4UDhgOEA4YDhwOIA4kDigOIA4oDiwOMA40DjgOMA44DjwOQA5EDkgOQA5IDkwOUA5UDlgOUA5YDlwOYA5kDmgOYA5oDmwOcA50DngOcA54DnwOgA6EDogOgA6IDowOkA6UDpgOkA6YDpwOoA6kDqgOoA6oDqwOsA60DrgOsA64DrwOwA7EDsgOwA7IDswO0A7UDtgO0A7YDtwO4A7kDugO4A7oDuwO8A70DvgO8A74DvwPAA8IDwQPAA8EDwwPEA8YDxQPEA8UDxwPIA8oDyQPIA8kDywPMA84DzQPMA80DzwPQA9ID0QPQA9ED0wPUA9YD1QPUA9UD1wPYA9oD2QPYA9kD2wPcA94D3QPcA90D3wPgA+ID4QPgA+ED4wPkA+YD5QPkA+UD5wPoA+oD6QPoA+kD6wPsA+4D7QPsA+0D7wPwA/ID8QPwA/ED8wP0A/YD9QP0A/UD9wP4A/oD+QP4A/kD+wP8A/4D/QP8A/0D/wM=" + } + ], + "accessors": [ + { + "bufferView": 0, + "componentType": 5126, + "count": 1024, + "max": [2, 0, 2], + "min": [-2, 0, -2], + "type": "VEC3" + }, + { + "bufferView": 1, + "componentType": 5126, + "count": 1024, + "max": [0, 1, 0], + "min": [0, 1, 0], + "type": "VEC3" + }, + { + "bufferView": 2, + "componentType": 5126, + "count": 1024, + "max": [1, 1], + "min": [0, 0], + "type": "VEC2" + }, + { + "bufferView": 3, + "componentType": 5123, + "count": 1536, + "max": [1023], + "min": [0], + "type": "SCALAR" + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0, + "roughnessFactor": 1, + "baseColorTexture": { "index": 0 } + }, + "alphaMode": "MASK", + "alphaCutoff": 0.05, + "doubleSided": true + } + ], + "textures": [{ "sampler": 0, "source": 0, "name": "Stage.png" }], + "samplers": [ + { "magFilter": 9728, "minFilter": 9728, "wrapS": 33071, "wrapT": 33071 } + ], + "images": [ + { + "mimeType": "image/png", + "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAThJREFUOE91UzFOA0EMnBNNmqSjokx/kSj4AC+gSxOJ3/CNSDT3Ab4RKenpiCjokiZNdGi8Hp93IW5ub9f2zoxnO3w9jXh/APoTcFgAmyOwn09rna3O075yAXR4exmH10+sd/ewWJ0x3F2w3i5LM0VupLU1EAIl83ZF24yFTV5pAJRbr7PyFRpSIlwG1wxRJCVD8PE8Vtydhp02aGLPi6ldaaANZhAmQzfzzKFX6FxUEzE4Z3hqJM5tYy8yBMPjT81bXB2RTYlTyXr4KANBlXRY4N+ijMbX3fDdjzFzieaaBOc8jUbkgqA/4Q8N6aGC3FxOlROr2SpRts7i5b3N0TxTjMSiNC7+B6IbekijsHIWzYqz6snalbnkRCu4zibnNVDjdXJ02XT7eXmNYSQlpNcWZ3oLynEhfwGwqd3KRjd5QwAAAABJRU5ErkJggg==" + } + ], + "meshes": [ + { + "primitives": [ + { + "mode": 4, + "attributes": { "POSITION": 0, "NORMAL": 1, "TEXCOORD_0": 2 }, + "indices": 3, + "material": 0 + } + ] + } + ] +} diff --git a/public/models/stone.gltf b/public/models/stone.gltf new file mode 100644 index 0000000..f0624c4 --- /dev/null +++ b/public/models/stone.gltf @@ -0,0 +1,104 @@ +{ + "asset": { "version": "2.0", "generator": "Blockbench 4.8.3 glTF exporter" }, + "scenes": [{ "nodes": [1], "name": "blockbench_export" }], + "scene": 0, + "nodes": [{ "name": "sphere", "mesh": 0 }, { "children": [0] }], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1992, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 1992, + "byteLength": 1992, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 3984, + "byteLength": 1328, + "target": 34962, + "byteStride": 8 + }, + { "buffer": 0, "byteOffset": 5312, "byteLength": 468, "target": 34963 } + ], + "buffers": [ + { + "byteLength": 5780, + "uri": "data:application/octet-stream;base64,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2MVFPtbFRT7YxUU+AAAAAAAAAADWxUU+AAAAAFkXFz3YxUU+AAAgPtjFRT4AAAAAAAAAANbFRT4AAAAAVHT0PQAAAAAAAAAAAAAAAFR0dD3YxUU+AAAAANjFRT7WxUU+2MVFPlkXFz0AAAAAAAAgPgAAAAAAAAAA2MVFPtbFRT7YxUU+AAAAAAAAAADWxUU+AAAAAFkXFz3YxUU+AAAgPtjFRT4AAAAAAAAAANbFRT4AAAAAVHT0PQAAAAAAAAAAAAAAAFR0dD3YxUU+AAAAANjFRT7WxUU+2MVFPlkXFz0AAAAAAAAgPgAAAAAAAAAA2MVFPtbFRT7YxUU+AAAAAAAAAADWxUU+AAAAAFkXFz3YxUU+AAAgPtjFRT4AAAAAAAAAANbFRT4AAAAAVHT0PQAAAAAAAAAAAAAAAFR0dD3YxUU+AAAAANjFRT7WxUU+2MVFPlkXFz0AAAAAAAAgPgAAAAAAAAAA2MVFPtbFRT7YxUU+AAAAAAAAAADWxUU+AAAAAFkXFz3YxUU+AAAgPtjFRT4AAAAAAAAAANbFRT4AAAAAVHT0PQAAAAAAAAAAAAAAAFR0dD3YxUU+AAAAANjFRT7WxUU+2MVFPlkXFz0AAAAAAAAgPgAAAAAAAAAA2MVFPtbFRT7YxUU+AAAAAAAAAADWxUU+AAAAAFkXFz3YxUU+AAAgPtjFRT4AAAAAAAAAANbFRT4AAAAAVHT0PQAAAAAAAAAAAAAAAFR0dD3YxUU+AAAAANjFRT7WxUU+2MVFPlkXFz0AAAAAAAAgPgAAAAAAAAAA2MVFPtbFRT7YxUU+AAAAAAAAAADWxUU+AAAAAFkXFz3YxUU+AAAgPtjFRT4AAAAAAAAAANbFRT4AAAAAVHT0PQAAAAAAAAAAAAAAAFR0dD3YxUU+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQACAAEAAwAGAAQABQAGAAUABwAKAAgACQAKAAkACwAMAA0ADgARAA8AEAARABAAEgAVABMAFAAVABQAFgAZABcAGAAZABgAGgAbABwAHQAgAB4AHwAgAB8AIQAkACIAIwAkACMAJQAoACYAJwAoACcAKQAqACsALAAvAC0ALgAvAC4AMAAzADEAMgAzADIANAA3ADUANgA3ADYAOAA5ADoAOwA+ADwAPQA+AD0APwBCAEAAQQBCAEEAQwBGAEQARQBGAEUARwBIAEkASgBNAEsATABNAEwATgBRAE8AUABRAFAAUgBVAFMAVABVAFQAVgBXAFgAWQBcAFoAWwBcAFsAXQBgAF4AXwBgAF8AYQBkAGIAYwBkAGMAZQBmAGcAaABrAGkAagBrAGoAbABvAG0AbgBvAG4AcABzAHEAcgBzAHIAdAB1AHYAdwB6AHgAeQB6AHkAewB+AHwAfQB+AH0AfwCCAIAAgQCCAIEAgwCEAIUAhgCJAIcAiACJAIgAigCNAIsAjACNAIwAjgCRAI8AkACRAJAAkgCTAJQAlQCWAJcAmACWAJgAmQCaAJsAnACaAJwAnQCeAJ8AoACeAKAAoQCiAKMApACiAKQApQA=" + } + ], + "accessors": [ + { + "bufferView": 0, + "componentType": 5126, + "count": 166, + "max": [0.35624998807907104, 0.5184428095817566, 0.3284551501274109], + "min": [-0.36250001192092896, 0.0031250000465661287, -0.3409551680088043], + "type": "VEC3" + }, + { + "bufferView": 1, + "componentType": 5126, + "count": 166, + "max": [0.9622546434402466, 0.9883954524993896, 0.9767354130744934], + "min": [-0.9683908224105835, -0.9999992251396179, -0.9993011951446533], + "type": "VEC3" + }, + { + "bufferView": 2, + "componentType": 5126, + "count": 166, + "max": [0.1931374967098236, 0.193137526512146], + "min": [0, 0], + "type": "VEC2" + }, + { + "bufferView": 3, + "componentType": 5123, + "count": 234, + "max": [165], + "min": [0], + "type": "SCALAR" + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0, + "roughnessFactor": 1, + "baseColorTexture": { "index": 0 } + }, + "alphaMode": "MASK", + "alphaCutoff": 0.05, + "doubleSided": true + } + ], + "textures": [{ "sampler": 0, "source": 0, "name": "Stone.png" }], + "samplers": [ + { "magFilter": 9728, "minFilter": 9728, "wrapS": 33071, "wrapT": 33071 } + ], + "images": [ + { + "mimeType": "image/png", + "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAB5JREFUOE9jPHT4+H8GCgDjqAEMo2HAMBoGDMMiDABZfzTBuvtpJwAAAABJRU5ErkJggg==" + } + ], + "meshes": [ + { + "primitives": [ + { + "mode": 4, + "attributes": { "POSITION": 0, "NORMAL": 1, "TEXCOORD_0": 2 }, + "indices": 3, + "material": 0 + } + ] + } + ] +} diff --git a/public/models/tree.gltf b/public/models/tree.gltf new file mode 100644 index 0000000..2708146 --- /dev/null +++ b/public/models/tree.gltf @@ -0,0 +1,322 @@ +{ + "asset": { "version": "2.0", "generator": "Blockbench 4.8.3 glTF exporter" }, + "scenes": [{ "nodes": [4], "name": "blockbench_export" }], + "scene": 0, + "nodes": [ + { "name": "Trunk", "mesh": 0 }, + { "name": "BottomLeaves", "mesh": 1 }, + { "name": "CenterLeaves", "mesh": 2 }, + { "name": "TopLeaves", "mesh": 3 }, + { "children": [0, 1, 2, 3] } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1056, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 1056, + "byteLength": 1056, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 2112, + "byteLength": 704, + "target": 34962, + "byteStride": 8 + }, + { "buffer": 0, "byteOffset": 2816, "byteLength": 240, "target": 34963 }, + { + "buffer": 0, + "byteOffset": 3056, + "byteLength": 672, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 3728, + "byteLength": 672, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 4400, + "byteLength": 448, + "target": 34962, + "byteStride": 8 + }, + { "buffer": 0, "byteOffset": 4848, "byteLength": 144, "target": 34963 }, + { + "buffer": 0, + "byteOffset": 4992, + "byteLength": 672, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 5664, + "byteLength": 672, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 6336, + "byteLength": 448, + "target": 34962, + "byteStride": 8 + }, + { "buffer": 0, "byteOffset": 6784, "byteLength": 144, "target": 34963 }, + { + "buffer": 0, + "byteOffset": 6928, + "byteLength": 576, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 7504, + "byteLength": 576, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 8080, + "byteLength": 384, + "target": 34962, + "byteStride": 8 + }, + { "buffer": 0, "byteOffset": 8464, "byteLength": 96, "target": 34963 } + ], + "buffers": [ + { + "byteLength": 8560, + "uri": "data:application/octet-stream;base64,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" + } + ], + "accessors": [ + { + "bufferView": 0, + "componentType": 5126, + "count": 88, + "max": [0.22499999403953552, 0.4156250059604645, 0.22499999403953552], + "min": [ + -0.22499999403953552, 0.0031250000465661287, -0.22499999403953552 + ], + "type": "VEC3" + }, + { + "bufferView": 1, + "componentType": 5126, + "count": 88, + "max": [0.9841383695602417, 0.6742693781852722, 0.9942624568939209], + "min": [-0.9942511320114136, -1, -0.9931177496910095], + "type": "VEC3" + }, + { + "bufferView": 2, + "componentType": 5126, + "count": 88, + "max": [0.984375, 0.109375], + "min": [0.015625, 0.015625], + "type": "VEC2" + }, + { + "bufferView": 3, + "componentType": 5123, + "count": 120, + "max": [87], + "min": [0], + "type": "SCALAR" + }, + { + "bufferView": 4, + "componentType": 5126, + "count": 56, + "max": [0.6499999761581421, 0.9833696484565735, 0.671875], + "min": [-0.653124988079071, 0.3770134150981903, -0.668749988079071], + "type": "VEC3" + }, + { + "bufferView": 5, + "componentType": 5126, + "count": 56, + "max": [0.8699563145637512, 0.534467875957489, 0.8472685813903809], + "min": [-0.8785680532455444, -0.9995002150535583, -0.872292160987854], + "type": "VEC3" + }, + { + "bufferView": 6, + "componentType": 5126, + "count": 56, + "max": [0.984375, 0.171875], + "min": [0.015625, 0.140625], + "type": "VEC2" + }, + { + "bufferView": 7, + "componentType": 5123, + "count": 72, + "max": [55], + "min": [0], + "type": "SCALAR" + }, + { + "bufferView": 8, + "componentType": 5126, + "count": 56, + "max": [0.5562499761581421, 1.8312499523162842, 0.6031249761581421], + "min": [-0.559374988079071, 0.9312499761581421, -0.606249988079071], + "type": "VEC3" + }, + { + "bufferView": 9, + "componentType": 5126, + "count": 56, + "max": [0.9268777966499329, 0.41018643975257874, 0.9243565797805786], + "min": [-0.9357932209968567, -1, -0.9066998362541199], + "type": "VEC3" + }, + { + "bufferView": 10, + "componentType": 5126, + "count": 56, + "max": [0.984375, 0.109375], + "min": [0.015625, 0.078125], + "type": "VEC2" + }, + { + "bufferView": 11, + "componentType": 5123, + "count": 72, + "max": [55], + "min": [0], + "type": "SCALAR" + }, + { + "bufferView": 12, + "componentType": 5126, + "count": 48, + "max": [0.5093749761581421, 2.953125, 0.512499988079071], + "min": [-0.512499988079071, 1.7625000476837158, -0.5093749761581421], + "type": "VEC3" + }, + { + "bufferView": 13, + "componentType": 5126, + "count": 48, + "max": [0.9112063050270081, 0.41004282236099243, 0.9141259789466858], + "min": [-0.9112437963485718, -0.9988544583320618, -0.9122021794319153], + "type": "VEC3" + }, + { + "bufferView": 14, + "componentType": 5126, + "count": 48, + "max": [0.984375, 0.046875], + "min": [0.015625, 0.015625], + "type": "VEC2" + }, + { + "bufferView": 15, + "componentType": 5123, + "count": 48, + "max": [47], + "min": [0], + "type": "SCALAR" + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0, + "roughnessFactor": 1, + "baseColorTexture": { "index": 0 } + }, + "alphaMode": "MASK", + "alphaCutoff": 0.05, + "doubleSided": true + }, + { + "pbrMetallicRoughness": { + "metallicFactor": 0, + "roughnessFactor": 1, + "baseColorTexture": { "index": 1 } + }, + "alphaMode": "MASK", + "alphaCutoff": 0.05, + "doubleSided": true + } + ], + "textures": [ + { "sampler": 0, "source": 0, "name": "Trunk.png" }, + { "sampler": 1, "source": 1, "name": "Leaves.png" } + ], + "samplers": [ + { "magFilter": 9728, "minFilter": 9728, "wrapS": 33071, "wrapT": 33071 }, + { "magFilter": 9728, "minFilter": 9728, "wrapS": 33071, "wrapT": 33071 } + ], + "images": [ + { + "mimeType": "image/png", + "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAC1JREFUOE9jXB1k9p+BAsBIyIDQdacY8ZmPV5IYh40awMAwGgajYQDKKxSnAwAFcwZDfRLBFgAAAABJRU5ErkJggg==" + }, + { + "mimeType": "image/png", + "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAACZJREFUOE9jZGgP/M9AAWAcBAZQ4HyQVkYK9Y8aMBqI4CQ0DBISABtnBZaO6nJdAAAAAElFTkSuQmCC" + } + ], + "meshes": [ + { + "primitives": [ + { + "mode": 4, + "attributes": { "POSITION": 0, "NORMAL": 1, "TEXCOORD_0": 2 }, + "indices": 3, + "material": 0 + } + ] + }, + { + "primitives": [ + { + "mode": 4, + "attributes": { "POSITION": 4, "NORMAL": 5, "TEXCOORD_0": 6 }, + "indices": 7, + "material": 1 + } + ] + }, + { + "primitives": [ + { + "mode": 4, + "attributes": { "POSITION": 8, "NORMAL": 9, "TEXCOORD_0": 10 }, + "indices": 11, + "material": 1 + } + ] + }, + { + "primitives": [ + { + "mode": 4, + "attributes": { "POSITION": 12, "NORMAL": 13, "TEXCOORD_0": 14 }, + "indices": 15, + "material": 1 + } + ] + } + ] +} diff --git a/public/models/tree2.gltf b/public/models/tree2.gltf new file mode 100644 index 0000000..1cf62a7 --- /dev/null +++ b/public/models/tree2.gltf @@ -0,0 +1,329 @@ +{ + "asset": { "version": "2.0", "generator": "Blockbench 4.8.3 glTF exporter" }, + "scenes": [{ "nodes": [4], "name": "blockbench_export" }], + "scene": 0, + "nodes": [ + { "name": "Trunk", "mesh": 0 }, + { "name": "Leaves", "mesh": 1 }, + { + "rotation": [0, 0, -0.45204554617671966, 0.8919948565893142], + "translation": [ + 0.0310673695220908, 0.14659576970004984, 5.115210249675201e-19 + ], + "name": "Branch", + "mesh": 2 + }, + { "name": "Leaves2", "mesh": 3 }, + { "children": [0, 1, 2, 3] } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1092, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 1092, + "byteLength": 1092, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 2184, + "byteLength": 728, + "target": 34962, + "byteStride": 8 + }, + { "buffer": 0, "byteOffset": 2912, "byteLength": 248, "target": 34963 }, + { + "buffer": 0, + "byteOffset": 3160, + "byteLength": 1968, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 5128, + "byteLength": 1968, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 7096, + "byteLength": 1312, + "target": 34962, + "byteStride": 8 + }, + { "buffer": 0, "byteOffset": 8408, "byteLength": 456, "target": 34963 }, + { + "buffer": 0, + "byteOffset": 8864, + "byteLength": 1200, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 10064, + "byteLength": 1200, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 11264, + "byteLength": 800, + "target": 34962, + "byteStride": 8 + }, + { "buffer": 0, "byteOffset": 12064, "byteLength": 300, "target": 34963 }, + { + "buffer": 0, + "byteOffset": 12364, + "byteLength": 816, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 13180, + "byteLength": 816, + "target": 34962, + "byteStride": 12 + }, + { + "buffer": 0, + "byteOffset": 13996, + "byteLength": 544, + "target": 34962, + "byteStride": 8 + }, + { "buffer": 0, "byteOffset": 14540, "byteLength": 168, "target": 34963 } + ], + "buffers": [ + { + "byteLength": 14708, + "uri": "data:application/octet-stream;base64,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" + } + ], + "accessors": [ + { + "bufferView": 0, + "componentType": 5126, + "count": 91, + "max": [0.12343750149011612, 0.7164062261581421, 0.11484374850988388], + "min": [ + -0.11406250298023224, -0.0023437500931322575, -0.11640624701976776 + ], + "type": "VEC3" + }, + { + "bufferView": 1, + "componentType": 5126, + "count": 91, + "max": [0.9948022365570068, 0.6896929740905762, 0.9984109997749329], + "min": [-0.9874708652496338, -1, -0.9694219827651978], + "type": "VEC3" + }, + { + "bufferView": 2, + "componentType": 5126, + "count": 91, + "max": [0.06764918565750122, 0.25], + "min": [0, 0], + "type": "VEC2" + }, + { + "bufferView": 3, + "componentType": 5123, + "count": 123, + "max": [90], + "min": [0], + "type": "SCALAR" + }, + { + "bufferView": 4, + "componentType": 5126, + "count": 164, + "max": [0.46562498807907104, 1.8754364252090454, 0.621874988079071], + "min": [-0.734375, 0.6647364497184753, -0.628125011920929], + "type": "VEC3" + }, + { + "bufferView": 5, + "componentType": 5126, + "count": 164, + "max": [0.9697277545928955, 0.9053729176521301, 0.9205961227416992], + "min": [-0.9378311038017273, -0.9876888394355774, -0.9504234790802002], + "type": "VEC3" + }, + { + "bufferView": 6, + "componentType": 5126, + "count": 164, + "max": [0.12943750619888306, 0.1195874810218811], + "min": [0, 0], + "type": "VEC2" + }, + { + "bufferView": 7, + "componentType": 5123, + "count": 228, + "max": [163], + "min": [0], + "type": "SCALAR" + }, + { + "bufferView": 8, + "componentType": 5126, + "count": 100, + "max": [-0.2920379042625427, 0.5646129250526428, 0.02890625037252903], + "min": [-0.36148789525032043, 0.18266290426254272, -0.02734375], + "type": "VEC3" + }, + { + "bufferView": 9, + "componentType": 5126, + "count": 100, + "max": [0.9997537732124329, 0.27578601241111755, 0.998561441898346], + "min": [-0.9900462031364441, -0.3800804913043976, -0.9992518424987793], + "type": "VEC3" + }, + { + "bufferView": 10, + "componentType": 5126, + "count": 100, + "max": [0.06250525265932083, 0.06250524520874023], + "min": [0, 0], + "type": "VEC2" + }, + { + "bufferView": 11, + "componentType": 5123, + "count": 150, + "max": [99], + "min": [0], + "type": "SCALAR" + }, + { + "bufferView": 12, + "componentType": 5126, + "count": 68, + "max": [0.8081926107406616, 1.502343773841858, 0.390625], + "min": [0.036342598497867584, 0.74609375, -0.3843750059604645], + "type": "VEC3" + }, + { + "bufferView": 13, + "componentType": 5126, + "count": 68, + "max": [0.8695974349975586, 0.921271026134491, 0.9090049862861633], + "min": [-0.4523985981941223, -0.9686704874038696, -0.9804680943489075], + "type": "VEC3" + }, + { + "bufferView": 14, + "componentType": 5126, + "count": 68, + "max": [0.07175000011920929, 0.07098126411437988], + "min": [0, 0], + "type": "VEC2" + }, + { + "bufferView": 15, + "componentType": 5123, + "count": 84, + "max": [67], + "min": [0], + "type": "SCALAR" + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0, + "roughnessFactor": 1, + "baseColorTexture": { "index": 0 } + }, + "alphaMode": "MASK", + "alphaCutoff": 0.05, + "doubleSided": true + }, + { + "pbrMetallicRoughness": { + "metallicFactor": 0, + "roughnessFactor": 1, + "baseColorTexture": { "index": 1 } + }, + "alphaMode": "MASK", + "alphaCutoff": 0.05, + "doubleSided": true + } + ], + "textures": [ + { "sampler": 0, "source": 0, "name": "Trunk.png" }, + { "sampler": 1, "source": 1, "name": "Leaves.png" } + ], + "samplers": [ + { "magFilter": 9728, "minFilter": 9728, "wrapS": 33071, "wrapT": 33071 }, + { "magFilter": 9728, "minFilter": 9728, "wrapS": 33071, "wrapT": 33071 } + ], + "images": [ + { + "mimeType": "image/png", + "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAB5JREFUOE9jLNHX/M9AAWAcNYBhNAwYRsOAYViEAQC/cxzBPB19ygAAAABJRU5ErkJggg==" + }, + { + "mimeType": "image/png", + "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAB5JREFUOE9jZNjq/J+BAsA4agDDaBgwjIYBw7AIAwCgzR+BeGmZcwAAAABJRU5ErkJggg==" + } + ], + "meshes": [ + { + "primitives": [ + { + "mode": 4, + "attributes": { "POSITION": 0, "NORMAL": 1, "TEXCOORD_0": 2 }, + "indices": 3, + "material": 0 + } + ] + }, + { + "primitives": [ + { + "mode": 4, + "attributes": { "POSITION": 4, "NORMAL": 5, "TEXCOORD_0": 6 }, + "indices": 7, + "material": 1 + } + ] + }, + { + "primitives": [ + { + "mode": 4, + "attributes": { "POSITION": 8, "NORMAL": 9, "TEXCOORD_0": 10 }, + "indices": 11, + "material": 0 + } + ] + }, + { + "primitives": [ + { + "mode": 4, + "attributes": { "POSITION": 12, "NORMAL": 13, "TEXCOORD_0": 14 }, + "indices": 15, + "material": 1 + } + ] + } + ] +} diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/actors/chicky.ts b/src/actors/chicky.ts new file mode 100644 index 0000000..b88a146 --- /dev/null +++ b/src/actors/chicky.ts @@ -0,0 +1,82 @@ +import { + AnimationClip, + AnimationMixer, + Euler, + Object3D, + Object3DEventMap, + Vector3, +} from 'three'; +import { degToRad } from 'three/src/math/MathUtils.js'; + +import { modelData } from '@/storage/models'; +import { AnimationSettings } from '@/types/actors'; +import { playAnimation, stopAnimation } from '@/utils/models'; + +import { modelsGroup } from '@/game'; + +export type ChickySettings = { + position: Vector3; + rotation: Euler; +}; + +export const chickySettings: ChickySettings = { + position: new Vector3(-1.25, 0, 0), + rotation: new Euler(0, degToRad(90), 0), +}; + +export let chicky: Object3D | null = null; + +export let chickyClips: AnimationClip[] | null = null; + +export let chickyMixer: AnimationMixer | null = null; + +export let chickyGuard: number = 0; + +export let chickyIsFaint: boolean = false; + +let currentAnimation: AnimationSettings | null = null; + +export const createChicky = (): void => { + if (modelData.chicky === null) { + throw new Error('Object cannot be null'); + } + + chicky = modelData.chicky.scene; + chickyClips = modelData.chicky.animations; + chickyMixer = new AnimationMixer(chicky); + + modelsGroup.add(chicky); + + chicky.position.set( + chickySettings.position.x, + chickySettings.position.y, + chickySettings.position.z, + ); + chicky.rotation.set( + chickySettings.rotation.x, + chickySettings.rotation.y, + chickySettings.rotation.z, + ); +}; + +export const chickyAnimation = (animation: AnimationSettings): void => { + if (chickyClips == null || chickyMixer == null) { + return; + } + + if (currentAnimation != null) { + stopAnimation(currentAnimation.name, chickyClips, chickyMixer); + } + + currentAnimation = animation; + + playAnimation(animation.name, chickyClips, chickyMixer, animation.loop); +}; + +export const setChickyGuard = (isGuard: number): void => { + chickyGuard = isGuard; +}; + +export const setChickyFaint = (isFaint: boolean): void => { + chickyIsFaint = isFaint; +}; diff --git a/src/actors/ghost.ts b/src/actors/ghost.ts new file mode 100644 index 0000000..fd3381c --- /dev/null +++ b/src/actors/ghost.ts @@ -0,0 +1,82 @@ +import { + AnimationClip, + AnimationMixer, + Euler, + Object3D, + Object3DEventMap, + Vector3, +} from 'three'; +import { degToRad } from 'three/src/math/MathUtils.js'; + +import { modelData } from '@/storage/models'; +import { AnimationSettings } from '@/types/actors'; +import { playAnimation, stopAnimation } from '@/utils/models'; + +import { modelsGroup } from '@/game'; + +export type GhostSettings = { + position: Vector3; + rotation: Euler; +}; + +export const ghostSettings: GhostSettings = { + position: new Vector3(1.25, 0, 0), + rotation: new Euler(0, degToRad(-90), 0), +}; + +export let ghost: Object3D | null = null; + +export let ghostClips: AnimationClip[] | null = null; + +export let ghostMixer: AnimationMixer | null = null; + +export let ghostGuard: number = 0; + +export let ghostIsFaint: boolean = false; + +let currentAnimation: AnimationSettings | null = null; + +export const createGhost = (): void => { + if (modelData.ghost === null) { + throw new Error('Object cannot be null'); + } + + ghost = modelData.ghost.scene; + ghostClips = modelData.ghost.animations; + ghostMixer = new AnimationMixer(ghost); + + modelsGroup.add(ghost); + + ghost.position.set( + ghostSettings.position.x, + ghostSettings.position.y, + ghostSettings.position.z, + ); + ghost.rotation.set( + ghostSettings.rotation.x, + ghostSettings.rotation.y, + ghostSettings.rotation.z, + ); +}; + +export const ghostAnimation = (animation: AnimationSettings): void => { + if (ghostClips == null || ghostMixer == null) { + return; + } + + if (currentAnimation != null) { + stopAnimation(currentAnimation.name, ghostClips, ghostMixer); + } + + currentAnimation = animation; + + playAnimation(animation.name, ghostClips, ghostMixer, animation.loop); +}; + +export const setGhostGuard = (isGuard: number): void => { + ghostGuard = isGuard; +}; + +export const setGhostFaint = (isFaint: boolean): void => { + ghostIsFaint = isFaint; +}; diff --git a/src/constants/actors.ts b/src/constants/actors.ts new file mode 100644 index 0000000..927ee98 --- /dev/null +++ b/src/constants/actors.ts @@ -0,0 +1,48 @@ +import { Animations } from '@/types/actors'; + +export const animations: Animations = { + Attack: { + name: 'Attack', + loop: false, + }, + Guard: { + name: 'Guard', + loop: false, + }, + Idle: { + name: 'Idle', + loop: true, + }, + Walk: { + name: 'Walk', + loop: true, + }, + Skip: { + name: 'Skip', + loop: false, + }, + Jump: { + name: 'Jump', + loop: false, + }, + Heal: { + name: 'Heal', + loop: false, + }, + Hurt: { + name: 'Hurt', + loop: false, + }, + Faint: { + name: 'Faint', + loop: false, + }, +}; + +export const jumpTime: number = 1100; + +export const jumpDirection: number = 1.25; + +export const nextFloorTime: number = 2000; + +export const nextFloorDirection: number = 1.75; diff --git a/src/constants/commands.ts b/src/constants/commands.ts new file mode 100644 index 0000000..164954f --- /dev/null +++ b/src/constants/commands.ts @@ -0,0 +1,23 @@ +import { DiceCommand } from '@/enums/game'; + +import { labels } from '@/constants/labels'; + +export const ableDiceCommand: number[] = [ + 0, // Skip + 2, // Defend + 3, // Attack + 5, // Heal +]; + +export const commandButtonTexts: string[] = [ + labels.en.commands.skip, + labels.en.commands.defend, + labels.en.commands.attack, + labels.en.commands.heal, +]; + +export const computerAllowedCommands: DiceCommand[] = [ + DiceCommand.Attack, + DiceCommand.Defend, + DiceCommand.Skip, +]; diff --git a/src/constants/labels.ts b/src/constants/labels.ts new file mode 100644 index 0000000..0c4c917 --- /dev/null +++ b/src/constants/labels.ts @@ -0,0 +1,23 @@ +import { Labels } from '@/types/labels'; + +export const labels: Labels = { + en: { + preload: { + loading: 'Loading...', + }, + hud: { + playerHp: 'HP', + computerHp: 'Computer', + floor: 'Floor', + }, + commands: { + rollTheDice: 'Roll The Dice', + skip: 'Skip', + defend: 'Defend', + attack: 'Attack', + heal: 'Heal', + retry: 'Try again?', + }, + gameOver: 'Game Over', + }, +}; diff --git a/src/constants/models.ts b/src/constants/models.ts new file mode 100644 index 0000000..264fca0 --- /dev/null +++ b/src/constants/models.ts @@ -0,0 +1,17 @@ +import { Models } from '@/types/assets'; + +export const modelsPath: string = '/models/'; + +export const modelsExt: string = 'gltf'; + +export const modelList: Models = { + bush: 'bush', + chicky: 'chicky', + dice: 'dice', + ghost: 'ghost', + grass: 'grass', + stage: 'stage', + stone: 'stone', + tree: 'tree', + tree2: 'tree2', +}; diff --git a/src/constants/settings.ts b/src/constants/settings.ts new file mode 100644 index 0000000..c345bd6 --- /dev/null +++ b/src/constants/settings.ts @@ -0,0 +1,64 @@ +import { PCFShadowMap, Vector2, Vector3 } from 'three'; + +import { + AmbientLightSettings, + CameraSettings, + DirectionalLightSettings, + FogSettings, + ModelsGroupSettings, + RendererSettings, +} from '@/types/settings'; + +export const fps: number = 1000 / 60; + +export const cameraSetings: CameraSettings = { + fov: 75, + near: 0.1, + far: 10, + position: new Vector3(0, 0.15, 1.75), +}; + +export const rendererSettings: RendererSettings = { + antialias: false, + alpha: true, + shadowMap: { + enabled: true, + type: PCFShadowMap, + }, +}; + +export const directionalLightSettings: DirectionalLightSettings = { + color: 0xffffff, + intensity: 1, + position: new Vector3(-3, 4, 3), + castShadow: true, + shadow: { + bias: -0.004, + mapSize: new Vector2(1024, 1024), + camera: { + near: 0.1, + far: 10, + }, + }, +}; + +export const ambientLightSettings: AmbientLightSettings = { + color: 0xffffff, + intensity: 0.5, +}; + +export const fogSettings: FogSettings = { + color: 0x065ab5, + near: 3, + far: 5, +}; + +export const modelsGroupSettings: ModelsGroupSettings = { + position: new Vector3(0, -0.5, 0), +}; + +export const defaultPlayerHp: number = 50; + +export const defaultComputerHp: number = 10; + +export const computerHpIterationPerFloor: number = 5; diff --git a/src/controls.ts b/src/controls.ts new file mode 100644 index 0000000..9156227 --- /dev/null +++ b/src/controls.ts @@ -0,0 +1,220 @@ +import { AnimationMixer, Object3D, Object3DEventMap } from 'three'; + +import { + chicky, + chickyAnimation, + chickyGuard, + chickyMixer, + setChickyGuard, +} from '@/actors/chicky'; +import { + ghost, + ghostAnimation, + ghostGuard, + ghostMixer, + setGhostGuard, +} from '@/actors/ghost'; +import { animations, jumpDirection } from '@/constants/actors'; +import { commandButtonTexts } from '@/constants/commands'; +import { CommandTurn, DiceCommand } from '@/enums/game'; +import { dice } from '@/objects/dice'; +import { AnimationSettings } from '@/types/actors'; +import { Commands } from '@/types/commands'; +import { startComputerProcess } from '@/utils/ai'; +import { + checkDisabledDiceCommand, + createGameOverDialog, + createRollDiceDialog, +} from '@/utils/commands'; +import { doDiceRollProcess, doSelectCommandProcess } from '@/utils/controls'; + +import { getComputerHp, getPlayerHp, setComputerHp, setPlayerHp } from '@/hud'; +import { initializePosition } from './utils/game'; +import { fadeIn, fadeOut } from './utils/fade'; + +const commandWindow: HTMLDivElement = document.querySelector( + '#command_window', +) as HTMLDivElement; + +export let commandTurn: CommandTurn; +export let diceValue: number; +export let currentObject: Object3D; +export let currentMixer: AnimationMixer; +export let oppositeMixer: AnimationMixer; +export let currentHp: number; +export let oppositeHp: number; +export let oppositeGuard: number; +export let currentAnimation: (animation: AnimationSettings) => void; +export let oppositeAnimation: (animation: AnimationSettings) => void; +export let currentSetHp: (hp: number) => void; +export let oppositeSetHp: (hp: number) => void; +export let currentSetGuard: (isGuard: number) => void; +export let originalPosition: number; +export let currentDirection: number; + +/** + * Start rolling the dice + */ +const doStartRoll = (): void => { + if (commandTurn === CommandTurn.Computer) { + doDiceRollProcess(); + + return; + } + + const rollDialog: HTMLDivElement = createRollDiceDialog(); + + commandWindow.append(rollDialog); + + const rollButton: HTMLButtonElement = rollDialog.querySelector( + 'button', + ) as HTMLButtonElement; + + rollButton.addEventListener('click', (): void => { + if (dice != null) return; + + doDiceRollProcess(); + + rollDialog.classList.remove('animate-fade-in'); + rollDialog.classList.add('animate-fade-out'); + }); + + rollDialog.addEventListener('animationend', (event: AnimationEvent): void => { + if (event.animationName === 'fade-out') { + rollDialog.remove(); + } + }); +}; + +/** + * Start selecting the command to do + * @param {number} value Dice value + */ +const doSelectCommand = (value: number): void => { + if (commandTurn === CommandTurn.Computer) { + startComputerProcess(value, (command: DiceCommand) => { + doSelectCommandProcess(command); + }); + + return; + } + + const diceDialog: HTMLDivElement = document.createElement('div'); + diceDialog.className = 'dialog-window text-common animate-fade-in'; + + commandWindow.append(diceDialog); + + for (let index = 0; index < commandButtonTexts.length; index++) { + const text: string = commandButtonTexts[index]; + const button: HTMLButtonElement = document.createElement('button'); + button.className = 'link'; + button.innerText = text; + button.disabled = checkDisabledDiceCommand(index, value); + + button.addEventListener('click', (): void => { + if (diceDialog.classList.contains('animate-fade-out')) return; + + if (diceDialog != null) { + diceDialog.classList.remove('animate-fade-in'); + diceDialog.classList.add('animate-fade-out'); + } + + doSelectCommandProcess(index); + }); + + diceDialog.append(button); + } + + diceDialog.addEventListener('animationend', (event: AnimationEvent): void => { + if (event.animationName === 'fade-out') { + diceDialog.remove(); + } + }); +}; + +/** + * Show game over dialog + */ +const doShowGameOver = (): void => { + const gameOverDialog: HTMLDivElement = createGameOverDialog(); + const link: HTMLButtonElement = gameOverDialog.querySelector( + 'button', + ) as HTMLButtonElement; + + commandWindow.append(gameOverDialog); + + const handleGameOverLinkClickEvent = (): void => { + link.removeEventListener('click', handleGameOverLinkClickEvent); + + gameOverDialog.remove(); + + fadeOut((): void => { + fadeIn(); + + initializePosition(commandTurn); + }); + }; + + link.addEventListener('click', handleGameOverLinkClickEvent); +}; + +/** + * Available commands to execute + */ +export const commands = (): Commands => { + return { + startRoll: doStartRoll, + selectCommand: doSelectCommand, + showGameOver: doShowGameOver, + }; +}; + +/** + * Set the value of the dice + * @param {number} value Value of the dice + */ +export const setDiceValue = (value: number): void => { + diceValue = value; +}; + +/** + * Set the action turn of the actors + * @param {CommandTurn} turn Actors to do the turn + * @returns + */ +export const setCommandTurn = (turn: CommandTurn): void => { + commandTurn = turn; + + if ( + chicky == null || + ghost == null || + chickyMixer == null || + ghostMixer == null + ) { + return; + } + + const condition: boolean = commandTurn === CommandTurn.Player; + + currentObject = condition ? chicky : ghost; + currentMixer = condition ? chickyMixer : ghostMixer; + oppositeMixer = condition ? ghostMixer : chickyMixer; + currentHp = condition ? getPlayerHp() : getComputerHp(); + oppositeHp = condition ? getComputerHp() : getPlayerHp(); + oppositeGuard = condition ? ghostGuard : chickyGuard; + + currentAnimation = condition ? chickyAnimation : ghostAnimation; + oppositeAnimation = condition ? ghostAnimation : chickyAnimation; + currentSetHp = condition ? setPlayerHp : setComputerHp; + oppositeSetHp = condition ? setComputerHp : setPlayerHp; + currentSetGuard = condition ? setChickyGuard : setGhostGuard; + + originalPosition = currentObject.position.x; + currentDirection = + originalPosition + (condition ? jumpDirection : -jumpDirection); + + currentAnimation(animations.Idle); + currentSetGuard(0); + + commands().startRoll(); +}; diff --git a/src/enums/game.ts b/src/enums/game.ts new file mode 100644 index 0000000..d0ae037 --- /dev/null +++ b/src/enums/game.ts @@ -0,0 +1,11 @@ +export enum CommandTurn { + Player, + Computer, +} + +export enum DiceCommand { + Skip, + Defend, + Attack, + Heal, +} diff --git a/src/game.ts b/src/game.ts new file mode 100644 index 0000000..acf1e55 --- /dev/null +++ b/src/game.ts @@ -0,0 +1,184 @@ +import { + AmbientLight, + Clock, + DirectionalLight, + Fog, + Group, + PerspectiveCamera, + Scene, + WebGLRenderer, +} from 'three'; + +import * as TWEEN from '@tweenjs/tween.js'; + +import { animations } from '@/constants/actors'; +import { + ambientLightSettings, + cameraSetings, + directionalLightSettings, + fogSettings, + rendererSettings, +} from '@/constants/settings'; +import { chickyAnimation, chickyMixer } from '@/actors/chicky'; +import { ghostAnimation, ghostMixer } from '@/actors/ghost'; +import { CommandTurn } from '@/enums/game'; +import { diceMixer } from '@/objects/dice'; +import { addModels } from '@/utils/models'; + +import { setCommandTurn } from '@/controls'; +import { createHud } from '@/hud'; + +export const modelsGroup: Group = new Group(); + +const screen: HTMLDivElement = document.querySelector( + '#screen', +) as HTMLDivElement; +const canvas: HTMLCanvasElement = document.querySelector( + '#canvas', +) as HTMLCanvasElement; + +const scene: Scene = new Scene(); +const camera: PerspectiveCamera = new PerspectiveCamera( + cameraSetings.fov, + screen.clientWidth / screen.clientHeight, + cameraSetings.near, + cameraSetings.far, +); +const clock: Clock = new Clock(); + +let renderer: WebGLRenderer; + +/** + * Create the ThreeJS renderer + */ +const createRenderer = (): void => { + renderer = new WebGLRenderer({ + canvas, + antialias: rendererSettings.antialias, + alpha: rendererSettings.alpha, + }); + + renderer.setPixelRatio(window.devicePixelRatio); + renderer.setSize(screen.clientWidth, screen.clientHeight); + + renderer.shadowMap.enabled = rendererSettings.shadowMap.enabled; + renderer.shadowMap.type = rendererSettings.shadowMap.type; +}; + +/** + * Create ThreeJS DirectionalLight and AmbientLight objects + */ +const createLighting = (): void => { + // Ambient light + const ambientLight: AmbientLight = new AmbientLight( + ambientLightSettings.color, + ambientLightSettings.intensity, + ); + + scene.add(ambientLight); + + // Directional light + const directionalLight: DirectionalLight = new DirectionalLight( + directionalLightSettings.color, + directionalLightSettings.intensity, + ); + + directionalLight.position.set( + directionalLightSettings.position.x, + directionalLightSettings.position.y, + directionalLightSettings.position.z, + ); + directionalLight.castShadow = directionalLightSettings.castShadow; + directionalLight.shadow.bias = directionalLightSettings.shadow.bias; + directionalLight.shadow.mapSize = directionalLightSettings.shadow.mapSize; + directionalLight.shadow.camera.near = + directionalLightSettings.shadow.camera.near; + directionalLight.shadow.camera.far = + directionalLightSettings.shadow.camera.far; + + scene.add(directionalLight); +}; + +/** + * Create ThreeJS fog + */ +const createFog = (): void => { + const fog = new Fog(fogSettings.color, fogSettings.near, fogSettings.far); + + scene.fog = fog; +}; + +/** + * Resize the window + */ +const resize = (): void => { + camera.aspect = screen.clientWidth / screen.clientHeight; + camera.updateProjectionMatrix(); + + renderer.setSize(screen.clientWidth, screen.clientHeight); +}; + +/** + * Initialise ThreeJS objects + */ +export const initialize = (): void => { + createHud(); + + camera.position.set( + cameraSetings.position.x, + cameraSetings.position.y, + cameraSetings.position.z, + ); + + createRenderer(); + createLighting(); + createFog(); +}; + +/** + * Create the scene + */ +export const create = (): void => { + resize(); + + try { + scene.add(modelsGroup); + + addModels(modelsGroup); + + chickyAnimation(animations.Idle); + ghostAnimation(animations.Idle); + } catch (error: unknown) { + alert('There is an error while rendering an object'); + + console.error(error); + + return; + } + + setCommandTurn(CommandTurn.Player); +}; + +/** + * Update the scene + */ +export const update = (): void => { + requestAnimationFrame(update); + + const delta: number = clock.getDelta(); + + chickyMixer?.update(delta); + ghostMixer?.update(delta); + diceMixer?.update(delta); + + renderer.render(scene, camera); + + TWEEN.update(); +}; + +/** + * Window resize event handler + */ +window.addEventListener('resize', (): void => { + resize(); +}); diff --git a/src/hud.ts b/src/hud.ts new file mode 100644 index 0000000..24edfeb --- /dev/null +++ b/src/hud.ts @@ -0,0 +1,147 @@ +import { labels } from '@/constants/labels'; +import { defaultComputerHp, defaultPlayerHp } from '@/constants/settings'; + +let playerHp: number = defaultPlayerHp; +let computerHp: number = defaultComputerHp; +let floor: number = 1; + +/** + * Create HUD elements then add those to the DOM + */ +export const createHud = (): void => { + const hud: HTMLDivElement = document.querySelector( + '#hud_window', + ) as HTMLDivElement; + hud.className = 'size-full p-common absolute-top-left'; + + const hpContainer: HTMLDivElement = document.createElement('div'); + hpContainer.className = 'flex justify-between'; + + const playerHpContainer: HTMLSpanElement = document.createElement('span'); + playerHpContainer.className = 'text-common'; + + const playerHpLabel: HTMLSpanElement = document.createElement('span'); + playerHpLabel.innerText = labels.en.hud.playerHp + ': '; + + const playerHp: HTMLSpanElement = document.createElement('span'); + + playerHpContainer.append(playerHpLabel, playerHp); + + const computerHpContainer: HTMLSpanElement = document.createElement('span'); + computerHpContainer.className = 'text-common'; + + const computerHpLabel: HTMLSpanElement = document.createElement('span'); + computerHpLabel.innerText = labels.en.hud.computerHp + ': '; + + const computerHp: HTMLSpanElement = document.createElement('span'); + + computerHpContainer.append(computerHpLabel, computerHp); + + hpContainer.append(playerHpContainer, computerHpContainer); + + const floorContainer: HTMLDivElement = document.createElement('div'); + floorContainer.className = 'text-common'; + + const floorLabel: HTMLSpanElement = document.createElement('span'); + floorLabel.innerText = labels.en.hud.floor + ': '; + + const floor: HTMLSpanElement = document.createElement('span'); + + floorContainer.append(floorLabel, floor); + + hud.append(hpContainer, floorContainer); + + bindPlayerHp(playerHp); + bindComputerHp(computerHp); + bindFloor(floor); +}; + +/** + * Get the value of the player HP + * @returns {number} Value of the player HP + */ +export const getPlayerHp = (): number => { + return playerHp; +}; + +/** + * Get the value of the computer HP + * @returns {number} Value of the computer HP + */ +export const getComputerHp = (): number => { + return computerHp; +}; + +/** + * Get the value of the floor + * @returns {number} Value of the floor + */ +export const getFloor = (): number => { + return floor; +}; + +/** + * Set the value of the player HP then set to bound element + * @param {number} newPlayerHp New value of the player HP + */ +export const setPlayerHp = (newPlayerHp: number): void => { + playerHp = newPlayerHp; + + window.dispatchEvent(new CustomEvent('updatePlayerHp')); +}; + +/** + * Set the value of the computer HP then set to bound element + * @param {number} newComputerHp New value of the computer HP + */ +export const setComputerHp = (newComputerHp: number): void => { + computerHp = newComputerHp; + + window.dispatchEvent(new CustomEvent('updateComputerHp')); +}; + +/** + * Set the value of the floor then set to bound element + * @param {number} newFloor New value of the floor + */ +export const setFloor = (newFloor: number): void => { + floor = newFloor; + + window.dispatchEvent(new CustomEvent('updateFloor')); +}; + +/** + * Bind the player HP element when the player HP value changes + * @param {HTMLElement} elm HTML element of the player HP + */ +export const bindPlayerHp = (elm: HTMLElement) => { + elm.innerText = playerHp.toString(); + + window.addEventListener('updatePlayerHp', (): void => { + elm.innerText = playerHp.toString(); + }); +}; + +/** + * Bind the computer HP element when the computer HP value changes + * @param {HTMLElement} elm HTML element of the computer HP + */ +export const bindComputerHp = (elm: HTMLElement) => { + elm.innerText = computerHp.toString(); + + window.addEventListener('updateComputerHp', (): void => { + elm.innerText = computerHp.toString(); + }); +}; + +/** + * Bind the floor element when the floor value changes + * @param {HTMLElement} elm HTML element of the floor + */ +export const bindFloor = (elm: HTMLElement) => { + elm.innerText = floor.toString(); + + window.addEventListener('updateFloor', (): void => { + elm.innerText = floor.toString(); + }); +}; diff --git a/src/index.partial.html b/src/index.partial.html deleted file mode 100644 index 865e670..0000000 --- a/src/index.partial.html +++ /dev/null @@ -1 +0,0 @@ -
\ No newline at end of file diff --git a/src/index.template.html b/src/index.template.html deleted file mode 100644 index 259393d..0000000 --- a/src/index.template.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - CodePen - Brave Chicky Dice Adventure - - - - - - - - - - - - - - - - - - - - - -
- - - - - diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..9befc4f --- /dev/null +++ b/src/main.ts @@ -0,0 +1,13 @@ +import { create, initialize, update } from '@/game'; +import { preload } from '@/preload'; + +import '@/style.css'; + +(async (): Promise => { + initialize(); + + await preload(); + + create(); + update(); +})(); diff --git a/src/objects/bush.ts b/src/objects/bush.ts new file mode 100644 index 0000000..a9df2f8 --- /dev/null +++ b/src/objects/bush.ts @@ -0,0 +1,50 @@ +import { Object3D, Object3DEventMap } from 'three'; +import { degToRad, randFloat } from 'three/src/math/MathUtils.js'; + +import { modelData } from '@/storage/models'; + +import { modelsGroup } from '@/game'; + +export type BushSettings = { + count: number; + x: { + min: number; + max: number; + }; + z: { + min: number; + max: number; + }; +}; + +export const bushSettings: BushSettings = { + count: 4, + x: { + min: -5, + max: 5, + }, + z: { + min: -4.5, + max: -0.75, + }, +}; + +export const bush: Object3D[] = []; + +export const createBush = (): void => { + if (modelData.bush === null) { + throw new Error('Object cannot be null'); + } + + const tmpBush: Object3D = modelData.bush.scene.clone(true); + bush.push(tmpBush); + + modelsGroup.add(tmpBush); + + tmpBush.position.set( + randFloat(bushSettings.x.min, bushSettings.x.max), + 0, + randFloat(bushSettings.z.min, bushSettings.z.max), + ); + tmpBush.rotation.set(0, randFloat(degToRad(0), degToRad(360)), 0); +}; diff --git a/src/objects/dice.ts b/src/objects/dice.ts new file mode 100644 index 0000000..fa63b28 --- /dev/null +++ b/src/objects/dice.ts @@ -0,0 +1,83 @@ +import { + AnimationClip, + AnimationMixer, + Mesh, + Object3D, + Object3DEventMap, +} from 'three'; + +import * as TWEEN from '@tweenjs/tween.js'; + +import { modelData } from '@/storage/models'; + +import { modelsGroup } from '@/game'; +import { playAnimation } from '@/utils/models'; + +export type DiceSettings = { + value: { + min: number; + max: number; + }; + animationPrefix: string; + fadeTime: number; +}; + +export const diceSettings: DiceSettings = { + value: { + min: 1, + max: 6, + }, + animationPrefix: 'Roll', + fadeTime: 500, +}; + +export let dice: Object3D | null = null; + +export let diceClips: AnimationClip[] | null = null; + +export let diceMixer: AnimationMixer | null = null; + +export const createDice = (value: number, onRollEnd: () => void): void => { + if (modelData.dice === null) { + throw new Error('Object cannot be null'); + } + + dice = modelData.dice.scene.clone(true); + diceClips = modelData.dice.animations; + diceMixer = new AnimationMixer(dice); + + modelsGroup.add(dice); + + const animationName: string = diceSettings.animationPrefix + value; + + playAnimation(animationName, diceClips, diceMixer, false); + + diceMixer.addEventListener('finished', (): void => { + dice?.traverse((object: Object3D) => { + if (object instanceof Mesh) { + new TWEEN.Tween(object.material) + .to( + { + opacity: 0, + }, + diceSettings.fadeTime, + ) + .easing(TWEEN.Easing.Quadratic.Out) + .start() + .onComplete((): void => { + modelsGroup.remove(dice as Object3D); + + dice?.traverse((object: Object3D) => { + if (object instanceof Mesh) { + object.material.opacity = 1; + } + }); + + dice = null; + + onRollEnd(); + }); + } + }); + }); +}; diff --git a/src/objects/grass.ts b/src/objects/grass.ts new file mode 100644 index 0000000..504748f --- /dev/null +++ b/src/objects/grass.ts @@ -0,0 +1,51 @@ +import { Object3D, Object3DEventMap } from 'three'; +import { degToRad, randFloat } from 'three/src/math/MathUtils.js'; + +import { modelData } from '@/storage/models'; + +import { modelsGroup } from '@/game'; + +export type GrassSettings = { + count: number; + x: { + min: number; + max: number; + }; + z: { + min: number; + max: number; + }; +}; + +export const grassSettings: GrassSettings = { + count: 200, + x: { + min: -4.5, + max: 4.5, + }, + z: { + min: -3.5, + max: 1.75, + }, +}; + +export const grass: Object3D[] = []; + +export const createGrass = (): void => { + if (modelData.grass === null) { + throw new Error('Object cannot be null'); + } + + const tmpGrass: Object3D = + modelData.grass.scene.clone(true); + grass.push(tmpGrass); + + modelsGroup.add(tmpGrass); + + tmpGrass.position.set( + randFloat(grassSettings.x.min, grassSettings.x.max), + 0, + randFloat(grassSettings.z.min, grassSettings.z.max), + ); + tmpGrass.rotation.set(0, randFloat(degToRad(0), degToRad(360)), 0); +}; diff --git a/src/objects/stage.ts b/src/objects/stage.ts new file mode 100644 index 0000000..58f67ef --- /dev/null +++ b/src/objects/stage.ts @@ -0,0 +1,27 @@ +import { Object3D, Object3DEventMap, Vector3 } from 'three'; + +import { modelData } from '@/storage/models'; + +import { modelsGroup } from '@/game'; + +export type StageSettings = { + scale: Vector3; +}; + +export const settings: StageSettings = { + scale: new Vector3(4, 1, 4), +}; + +export let stage: Object3D | null = null; + +export const createStage = (): void => { + if (modelData.stage === null) { + throw new Error('Object cannot be null'); + } + + stage = modelData.stage.scene; + + modelsGroup.add(stage); + + stage.scale.set(settings.scale.x, settings.scale.y, settings.scale.z); +}; diff --git a/src/objects/stone.ts b/src/objects/stone.ts new file mode 100644 index 0000000..fdf919c --- /dev/null +++ b/src/objects/stone.ts @@ -0,0 +1,51 @@ +import { Object3D, Object3DEventMap } from 'three'; +import { degToRad, randFloat } from 'three/src/math/MathUtils.js'; + +import { modelData } from '@/storage/models'; + +import { modelsGroup } from '@/game'; + +export type StoneSettings = { + count: number; + x: { + min: number; + max: number; + }; + z: { + min: number; + max: number; + }; +}; + +export const stoneSettings: StoneSettings = { + count: 4, + x: { + min: -5, + max: 5, + }, + z: { + min: -4.5, + max: -0.75, + }, +}; + +export const stone: Object3D[] = []; + +export const createStone = (): void => { + if (modelData.stone === null) { + throw new Error('Object cannot be null'); + } + + const tmpStone: Object3D = + modelData.stone.scene.clone(true); + stone.push(tmpStone); + + modelsGroup.add(tmpStone); + + tmpStone.position.set( + randFloat(stoneSettings.x.min, stoneSettings.x.max), + 0, + randFloat(stoneSettings.z.min, stoneSettings.z.max), + ); + tmpStone.rotation.set(0, randFloat(degToRad(0), degToRad(360)), 0); +}; diff --git a/src/objects/tree.ts b/src/objects/tree.ts new file mode 100644 index 0000000..35671be --- /dev/null +++ b/src/objects/tree.ts @@ -0,0 +1,50 @@ +import { Object3D, Object3DEventMap } from 'three'; +import { degToRad, randFloat } from 'three/src/math/MathUtils.js'; + +import { modelData } from '@/storage/models'; + +import { modelsGroup } from '@/game'; + +export type TreeSettings = { + count: number; + x: { + min: number; + max: number; + }; + z: { + min: number; + max: number; + }; +}; + +export const treeSettings: TreeSettings = { + count: 8, + x: { + min: -5, + max: 5, + }, + z: { + min: -4.5, + max: -0.75, + }, +}; + +export const tree: Object3D[] = []; + +export const createTree = (): void => { + if (modelData.tree === null) { + throw new Error('Object cannot be null'); + } + + const tmpTree: Object3D = modelData.tree.scene.clone(true); + tree.push(tmpTree); + + modelsGroup.add(tmpTree); + + tmpTree.position.set( + randFloat(treeSettings.x.min, treeSettings.x.max), + 0, + randFloat(treeSettings.z.min, treeSettings.z.max), + ); + tmpTree.rotation.set(0, randFloat(degToRad(0), degToRad(360)), 0); +}; diff --git a/src/objects/tree2.ts b/src/objects/tree2.ts new file mode 100644 index 0000000..e0040aa --- /dev/null +++ b/src/objects/tree2.ts @@ -0,0 +1,51 @@ +import { Object3D, Object3DEventMap } from 'three'; +import { degToRad, randFloat } from 'three/src/math/MathUtils.js'; + +import { modelData } from '@/storage/models'; + +import { modelsGroup } from '@/game'; + +export type Tree2Settings = { + count: number; + x: { + min: number; + max: number; + }; + z: { + min: number; + max: number; + }; +}; + +export const tree2Settings: Tree2Settings = { + count: 8, + x: { + min: -5, + max: 5, + }, + z: { + min: -4.5, + max: -0.75, + }, +}; + +export const tree2: Object3D[] = []; + +export const createTree2 = (): void => { + if (modelData.tree2 === null) { + throw new Error('Object cannot be null'); + } + + const tmpTree2: Object3D = + modelData.tree2.scene.clone(true); + tree2.push(tmpTree2); + + modelsGroup.add(tmpTree2); + + tmpTree2.position.set( + randFloat(tree2Settings.x.min, tree2Settings.x.max), + 0, + randFloat(tree2Settings.z.min, tree2Settings.z.max), + ); + tmpTree2.rotation.set(0, randFloat(degToRad(0), degToRad(360)), 0); +}; diff --git a/src/preload.ts b/src/preload.ts new file mode 100644 index 0000000..a257004 --- /dev/null +++ b/src/preload.ts @@ -0,0 +1,71 @@ +import { GLTF } from 'three/examples/jsm/Addons.js'; + +import { labels } from '@/constants/labels'; +import { modelList, modelsExt, modelsPath } from '@/constants/models'; +import { modelData } from '@/storage/models'; +import { loadModel } from '@/utils/models'; + +const preloadWindow: HTMLDivElement = document.querySelector( + '#preload_window', +) as HTMLDivElement; + +/** + * Creates the elements for the preload then add to the DOM + * @returns {HTMLSpanElement} Preload span element for the loaded value + */ +const createPreloadElement = (): HTMLSpanElement => { + preloadWindow.className = + 'bg-pico-1 size-full center-element absolute-top-left'; + + const preloadContainer: HTMLDivElement = document.createElement('div'); + preloadContainer.className = 'text-common'; + + const loadingLabel: HTMLSpanElement = document.createElement('span'); + loadingLabel.innerText = labels.en.preload.loading + ' '; + + const loading: HTMLSpanElement = document.createElement('span'); + + preloadContainer.append(loadingLabel, loading); + + preloadWindow.append(preloadContainer); + + return loading; +}; + +/** + * Preloading all the assets then add those to the storage + */ +export const preload = async (): Promise => { + const text = createPreloadElement(); + const total: number = Object.keys(modelList).length; + + let progress: number = 0; + + try { + for (const key in modelList) { + const model: string = (modelList as Record)[key]; + const gtlf: GLTF = await loadModel(`${modelsPath}/${model}.${modelsExt}`); + + (modelData as Record)[model] = gtlf; + + progress++; + + text.innerText = ( + Math.round((progress / total) * 10000) / 100 + ).toString(); + } + + preloadWindow.classList.add( + 'opacity-0', + 'transition-opacity', + 'duration-500', + 'ease-out', + ); + } catch (ex) { + console.error(ex); + } +}; + +preloadWindow.addEventListener('transitionend', (): void => { + preloadWindow.remove(); +}); diff --git a/src/script.typescript b/src/script.typescript deleted file mode 100644 index 25edb9e..0000000 --- a/src/script.typescript +++ /dev/null @@ -1,1119 +0,0 @@ -'use strict'; - -import * as THREE from 'https://cdn.skypack.dev/three@0.135.0'; -import { MTLLoader } from 'https://cdn.skypack.dev/three@0.135.0/examples/jsm/loaders/MTLLoader.js'; -import { DDSLoader } from 'https://cdn.skypack.dev/three@0.135.0/examples/jsm/loaders/DDSLoader.js'; -import { OBJLoader } from 'https://cdn.skypack.dev/three@0.135.0/examples/jsm/loaders/OBJLoader.js'; -import React, { useState, useEffect, useRef } from 'https://cdn.skypack.dev/react@18.2.0'; -import ReactDOM from 'https://cdn.skypack.dev/react-dom@18.2.0'; -import gsap from 'https://cdn.skypack.dev/gsap@3.10.4'; - -console.clear(); - -const IS_DEBUG = false; -const ASSETS_PATH = 'https://assets.codepen.io/430361'; -const FPS = 24; -const SCREEN = [{ - FOV: 65, - Y: 2, - Z: 7, -}, { - FOV: 45, - Y: 1.15, - Z: 6.5 -}]; -const DEFAULT_LIFE = 40; -const DEFAULT_ENEMY_LIFE = 10; -const COMMANDS = ['Skip', 'Defend', 'Attack', 'Heal']; - -let scene; -let camera; -let renderer; - -let chicky; -let ghost; -let stage; -let dice; - -let renderTimeout = 0; - -////////////////////////////////////////////////// -// ENUMS - -enum ObjectType { - Chicky, - Ghost, -} - -enum FadeType { - Hidden, - In, - Out, -} - -enum FloorType { - None, - Next, - Reset, -} - -////////////////////////////////////////////////// -// HELPERS - -function getRadian(degree: number): number { - return degree * Math.PI / 180; -} - -function random(min: number, max: number): number { - return Math.round(Math.random() * (max - min) + min); -} - -////////////////////////////////////////////////// -// ThreeJS Settings - -function setRenderer() { - renderer.setPixelRatio(window.devicePixelRatio); - renderer.setSize(window.innerWidth, window.innerHeight); - // renderer.setClearColor(SKY_COLOR); - - renderer.shadowMap.enabled = true; - renderer.shadowMap.type = THREE.PCFSoftShadowMap; - - document.body.appendChild(renderer.domElement); -} - -function setLighting() { - const ambientColor = 0xffffff; - const ambientIntensity = 0.7; - const ambientLight = new THREE.AmbientLight(ambientColor, ambientIntensity); - - scene.add(ambientLight); - - const directionalColor = 0xffffff; - const directionalIntensity = 0.8; - const directionalLight = new THREE.DirectionalLight( - directionalColor, directionalIntensity); - const directionalX = -3; - const directionalY = 5; - const directionalZ = 2; - - directionalLight.position.set(directionalX, directionalY, directionalZ); - directionalLight.castShadow = true; - directionalLight.shadow.camera.near = 0.1; - directionalLight.shadow.camera.far = 100; - directionalLight.shadow.bias = -0.0005; - - scene.add(directionalLight); - - if (IS_DEBUG) { - scene.add(new THREE.CameraHelper(directionalLight.shadow.camera)); - } -} - -function setScreenSettings() { - let fov = SCREEN[0].FOV; - let y = SCREEN[0].Y; - let z = SCREEN[0].Z; - - if (window.innerWidth > 525) { - fov = SCREEN[1].FOV; - y = SCREEN[1].Y; - z = SCREEN[1].Z; - } - - camera.fov = fov; - camera.position.y = y; - camera.position.z = z; -} - -////////////////////////////////////////////////// -// ThreeJS Models - -function loadModel(name) { - return new Promise((resolve, reject) => { - const manager = new THREE.LoadingManager(); - - manager.addHandler(/\.dds$/i, new DDSLoader()); - - new MTLLoader(manager) - .load(`${ASSETS_PATH}/${name}.mtl`, (materials) => { - - materials.preload(); - - new OBJLoader() - .setMaterials(materials) - .load(`${ASSETS_PATH}/${name}.obj`, (obj) => { - - obj.traverse((o) => { - o.castShadow = true; - o.receiveShadow = true; - }); - - resolve(obj); - }, undefined, (error) => { - reject(error); - }); - }); - }); -} - -async function setChicky() { - chicky = await loadModel('RogueLikeChicky-5'); - - scene.add(chicky); - - chicky.position.set(-2, 0, 0); - chicky.traverse((obj) => { - if (obj.isMesh === true) { - obj.rotateY(getRadian(90)); - } - }); -} - -async function setGhost() { - ghost = await loadModel('RogueLikeGhost-6'); - - scene.add(ghost); - - ghost.position.set(2, 0, 0); - ghost.traverse((obj) => { - if (obj.isMesh === true) { - obj.rotateY(getRadian(-90)); - } - }); -} - -async function setStage() { - stage = await loadModel('RogueLikeStage'); - - scene.add(stage); - - stage.position.set(0, -1.6, 0); -} - -async function setDice() { - dice = await loadModel('RogueLikeDice'); - - scene.add(dice); - - dice.visible = false; -} - -////////////////////////////////////////////////// -// Game Functions - -function animateFloor(callback) { - let y = SCREEN[0].Y; - let z = SCREEN[0].Z; - - if (window.innerWidth > 525) { - y = SCREEN[1].Y; - z = SCREEN[1].Z; - } - - gsap.fromTo(camera.position, { - y: 0, - z: 0, - }, { - y: y, - z: z, - duration: 0.75, - ease: 'back.out(1.5)', - onComplete() { - callback(); - }, - }); -} - -function doSkip(obj: THREE.Group) { - return new Promise((resolve) => { - let tl = gsap.timeline(); - - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 0.9, - y: 1.1, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1, - y: 1, - duration: 1, - ease: 'elastic.out', - onComplete() { - resolve(); - }, - }); - }); -} - -function doAttack(obj: THREE.Group, type: ObjectType) { - return new Promise((resolve) => { - let tl = gsap.timeline(); - - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.3, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1, - y: 1, - duration: 0.3, - ease: 'elastic.out', - }); - tl.to(obj.position, { - y: 0.8, - duration: 0.3, - ease: 'power3.out', - }, '-=0.3'); - tl.to(obj.position, { - y: 0, - duration: 0.3, - ease: 'power3.in', - }); - tl.to(obj.position, { - x: (type === ObjectType.Chicky) ? 2 : -2, - duration: 0.8, - ease: 'power1.out', - }, '-=0.6'); - tl.to(obj.scale, { - x: 1.1, - y: 0.9, - duration: 0.1, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1, - y: 1, - duration: 0.35, - ease: 'elastic.out', - }); - tl.to(obj.rotation, { - y: getRadian(-25), - z: getRadian(-10), - ease: 'power4.out', - duration: 0.2, - delay: 0.05, - onComplete() { - let obj2 = (type === ObjectType.Chicky) ? ghost : chicky; - let tl2 = gsap.timeline(); - - tl2.to(obj2.position, { - x: obj2.position.x - ((type === ObjectType.Chicky) ? -0.15 : 0.15), - ease: 'power4.out', - duration: 0.1, - delay: 0.5, - }); - tl2.to(obj2.position, { - x: obj2.position.x + ((type === ObjectType.Chicky) ? -0.15 : 0.15), - ease: 'bounce.out', - duration: 0.5, - }); - }, - }); - tl.to(obj.rotation, { - y: getRadian(45), - z: getRadian((type === ObjectType.Chicky) ? -20 : 20), - ease: 'power4.inOut', - duration: 0.5, - }); - tl.to(obj.rotation, { - y: 0, - z: 0, - ease: 'bounce.out', - duration: 0.4, - delay: 0.25, - }); - tl.to(obj.position, { - y: 0.2, - duration: 0.3, - ease: 'power4.out', - delay: 0.2, - }); - tl.to(obj.position, { - x: (type === ObjectType.Chicky) ? -2 : 2, - duration: 0.6, - ease: 'power1.out', - }, '-=0.2'); - tl.to(obj.rotation, { - z: getRadian((type === ObjectType.Chicky) ? 10 : -10), - duration: 0.1, - ease: 'power1.out', - }, '-=0.6'); - tl.to(obj.rotation, { - z: 0, - duration: 0.1, - ease: 'power1.out', - }, '-=0.3'); - tl.to(obj.position, { - y: 0, - duration: 0.3, - ease: 'power4.out', - }, '-=0.2'); - tl.to(obj.scale, { - x: 1.1, - y: 0.9, - duration: 0.2, - ease: 'power4.out', - }, '-=0.2'); - tl.to(obj.scale, { - x: 1, - y: 1, - duration: 0.4, - ease: 'elastic.out', - onComplete() { - resolve(); - }, - }); - }); -} - -function doDefend(obj: THREE.Group, type: ObjectType) { - return new Promise((resolve) => { - let tl = gsap.timeline(); - - tl.to(obj.rotation, { - y: getRadian((type === ObjectType.Chicky) ? -90 : 90), - ease: 'power4.out', - duration: 0.75, - }); - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.15, - delay: 0.2, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 0.9, - y: 1.1, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1, - y: 1, - duration: 1, - ease: 'elastic.out', - }); - tl.to(obj.rotation, { - y: 0, - ease: 'power4.out', - duration: 0.75, - onComplete() { - resolve(); - }, - }); - }); -} - -function doHeal(obj: THREE.Group, type: ObjectType) { - return new Promise((resolve) => { - let tl = gsap.timeline(); - - tl.to(obj.rotation, { - y: getRadian((type === ObjectType.Chicky) ? 720 : -720), - ease: 'power2.out', - duration: 2, - }); - tl.to(obj.position, { - y: 1.5, - ease: 'power2.out', - duration: 1, - }, '-=2'); - tl.to(obj.position, { - y: 0, - ease: 'power2.in', - duration: 1, - }, '-=1'); - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 0.9, - y: 1.1, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1, - y: 1, - duration: 1, - ease: 'elastic.out', - onComplete() { - obj.rotation.y = 0; - - resolve(); - }, - }); - }); -} - -function doCommand(command: Number, type: ObjectType) { - let obj; - - if (type === ObjectType.Chicky) { - obj = chicky; - } else if (type === ObjectType.Ghost) { - obj = ghost; - } - - return new Promise(async (resolve) => { - switch (command) { - case 0: - await doSkip(obj); - break; - case 1: - await doDefend(obj, type); - break; - case 2: - await doAttack(obj, type); - break; - case 3: - await doHeal(obj, type); - break; - } - - resolve(); - }); -} - -function animateDefeat(type) { - let obj; - - if (type === ObjectType.Chicky) { - obj = chicky; - } else if (type === ObjectType.Ghost) { - obj = ghost; - } - - return new Promise((resolve) => { - let tl = gsap.timeline(); - - tl.to(obj.scale, { - x: 1.2, - y: 0.8, - duration: 0.15, - ease: 'power4.out', - }); - tl.to(obj.scale, { - x: 1, - y: 1, - duration: 0.5, - ease: 'elastic.out', - }); - tl.to(obj.position, { - y: 1.2, - x: (type === ObjectType.Chicky) ? -2.5 : 2.5, - duration: 0.3, - ease: 'power4.out', - }); - tl.to(obj.rotation, { - z: getRadian((type === ObjectType.Chicky) ? 90 : -90), - duration: 0.5, - ease: 'power4.out', - }, '-=0.3'); - tl.to(obj.position, { - y: 0.9, - duration: 0.5, - ease: 'bounce.out', - onComplete() { - resolve(); - }, - }, '-=0.3'); - }); -} - -function doChangeFloor(callback) { - return new Promise((resolve) => { - let tl = new gsap.timeline(); - - tl.to(stage.position, { - x: -6, - duration: 2, - }); - tl.to(ghost.position, { - x: -4, - duration: 2, - }, '-=2'); - tl.to(chicky.position, { - y: 0.2, - yoyo: true, - ease: 'power2.out', - repeat: 12, - duration: 0.1, - }, '-=2'); - tl.fromTo(chicky.rotation, { - y: getRadian(5), - }, { - y: getRadian(-5), - yoyo: true, - ease: 'power2.inOut', - repeat: 6, - duration: 0.2, - onComplete() { - resolve(); - }, - }, '-=2'); - }); -} - -function repositionFloor() { - return new Promise((resolve) => { - let tl = gsap.timeline(); - - tl.to(chicky.position, { - x: -2, - y: 0, - duration: 0.1, - }) - tl.to(chicky.rotation, { - y: 0, - z: 0, - duration: 0.1, - }); - tl.to(ghost.position, { - x: 2, - y: 0, - duration: 0.1, - }); - tl.to(ghost.rotation, { - z: 0, - duration: 0.1, - }); - tl.to(stage.position, { - x: 0, - duration: 0.1, - onComplete() { - resolve(); - }, - }); - }); -} - -////////////////////////////////////////////////// -// Game Settings - -async function create(callback) { - setRenderer(); - - if (IS_DEBUG) { - scene.add(new THREE.CameraHelper(camera)); - } - - setLighting(); - - await setChicky(); - await setGhost(); - await setStage(); - // await setDice(); - - animateFloor(callback); -} - -function update() { -} - -function render() { - if (performance.now() - renderTimeout > 1000 / FPS) { - renderTimeout = performance.now(); - - renderer.render(scene, camera); - } -} - -function loop() { - requestAnimationFrame(loop); - update(); - render(); -} - -////////////////////////////////////////////////// -// Initialization - -async function initialize(gameCanvas, callback) { - let fov = SCREEN[0].FOV; - - if (window.innerWidth > 525) { - fov = SCREEN[1].FOV; - } - - scene = new THREE.Scene(); - camera = new THREE.PerspectiveCamera( - fov, window.innerWidth / window.innerHeight, 0.1, 1000); - renderer = new THREE.WebGLRenderer({ - canvas: gameCanvas, - antialias: true, - alpha: true, - }); - - await create(callback); - loop(); -} - -////////////////////////////////////////////////// -// ReactJS Components - -function CommandMenu(props) { - const [item, setItem] = useState(null); - - useEffect(() => { - setItem(null); - }, [props.shown]); - - if (props.shown === false) { - return null; - } - - let menuClassName = 'command'; - - if (item !== null) { - menuClassName += ' selected'; - } - - return ( -
{ - if (evt.animationName === 'fade-out') { - props.onSelect(item); - } - }} - > - {props.items.map((i, k) => { - let itemClassName = 'command-item'; - - if (item === k) { - itemClassName += ' selected'; - } - - if (props.allowed[k] === undefined) { - itemClassName += ' disabled'; - } - - return ( - { - evt.preventDefault(); - - if (props.allowed[k] === undefined) { - return; - } - - if (item === null) { - setItem(k); - } - }} - >{i} - ); - })} -
- ); -} - -function DiceArea(props) { - const [diceStyle, setDiceStyle] = useState({ - '--number': '-0vmin', - '--rotation': '0deg', - }); - const [diceValue, setDiceValue] = useState(null); - - useEffect(() => { - if (props.shown === false) { - return; - } - - let diceOccurence = { - count: 0, - num: [], - rotation: 0, - }; - - for (let i = 0; i < 20; i++) { - diceOccurence.num[i] = random(1, 6); - } - - gsap.fromTo(diceOccurence, { - count: 0, - rotation: 0, - }, { - count: diceOccurence.num.length - 1, - rotation: 720, - ease: 'power2.out', - duration: 1.5, - onUpdate() { - let i = Math.floor(diceOccurence.count); - let num = diceOccurence.num[i]; - - setDiceStyle({ - '--number': `${num * -50}vmin`, - '--rotation': `${diceOccurence.rotation}deg`, - }); - }, - onComplete() { - setTimeout(() => { - let value = diceOccurence.num.pop() + 1; - value = (value > 6) ? (value - 6) : value; - setDiceValue(value); - }, 512); - }, - }); - }, [props.shown]); - - if (props.shown === false) { - return null; - } - - let diceAreaStyle = 'dice-area'; - - if (diceValue !== null) { - diceAreaStyle += ' hidden'; - } - - return ( -
{ - if (evt.animationName === 'fade-out') { - setDiceStyle({ - '--number': '-0vmin', - '--rotation': '0deg', - }); - setDiceValue(null); - - props.onSelect(diceValue); - } - }}> -
-
- ); -} - -function Fade(props) { - if (props.type === FadeType.Hidden) { - return null; - } - - let fadeClassName = 'fade'; - - if (props.type === FadeType.In) { - fadeClassName += ' fade-in'; - } else if (props.type === FadeType.Out) { - fadeClassName += ' fade-out'; - } - - return ( -
{ - props.onFadeEnd(evt.animationName); - }} - >
- ); -} - -function CommandEffect(props) { - if (props.shown === false) { - return null; - } - - let imageUrl = `url(${ASSETS_PATH}/${props.link})`; - - return ( -
{ - if (evt.animationName === 'fade-out') { - props.onEnded(); - } - }} - > -
-
- ); -} - -function ChickyAdventure() { - const [turn, setTurn] = useState(ObjectType.Chicky); - const [life, setLife] = useState(DEFAULT_LIFE); - const [enemyLife, setEnemyLife] = useState(DEFAULT_ENEMY_LIFE); - const [defend, setDefend] = useState(0); - const [enemyDefend, setEnemyDefend] = useState(0); - const [floor, setFloor] = useState(1); - const [diceCmdShown, setDiceCmdShown] = useState(false); - const [diceShown, setDiceShown] = useState(false); - const [diceValue, setDiceValue] = useState(null); - const [allowedCommand, setAllowedCommand] = useState([]); - const [fadeType, setFadeType] = useState(FadeType.Hidden); - const [floorType, setFloorType] = useState(FloorType.None); - const [showGameOver, setShowGameOver] = useState(false); - const [showDefendEffect, setShowDefendEffect] = useState(false); - const [showAttackEffect, setShowAttackEffect] = useState(false); - const [showHealEffect, setShowHealEffect] = useState(false); - - let canvasElm = useRef(null); - - useEffect(() => { - initialize(canvasElm.current, () => { - setDiceCmdShown(true); - }); - - window.addEventListener('resize', (evt) => { - camera.aspect = window.innerWidth / window.innerHeight; - camera.updateProjectionMatrix(); - - renderer.setSize(window.innerWidth, window.innerHeight); - - setScreenSettings(); - }); - }, []); - - useEffect(() => { - if (diceValue === null) { - return; - } - - let tmpAllowedCommand = []; - - tmpAllowedCommand = [...tmpAllowedCommand, 0]; - - if (diceValue >= 2) { - tmpAllowedCommand = [...tmpAllowedCommand, 1]; - } - - if (diceValue >= 3) { - tmpAllowedCommand = [...tmpAllowedCommand, 2]; - } - - if (diceValue >= 5) { - tmpAllowedCommand = [...tmpAllowedCommand, 3]; - } - - setAllowedCommand(tmpAllowedCommand); - }, [diceValue]); - - useEffect(() => { - if (turn === ObjectType.Chicky) { - return; - } - - setDiceShown(true); - }, [turn]); - - const doEnemyTurn = async (value: number) => { - if (value < 3) { - await doCommand(0, ObjectType.Ghost); - } else { - setShowAttackEffect(true); - - await doCommand(2, ObjectType.Ghost); - - let damage = value - defend; - - damage = (damage < 0) ? 0 : damage; - - setDefend(0); - - if (life - damage <= 0) { - setLife(0); - - await animateDefeat(ObjectType.Chicky); - - setShowGameOver(true); - - return; - } else { - setLife(life - damage); - } - } - - setTurn(ObjectType.Chicky); - setDiceCmdShown(true); - }; - - const doChickyTurn = async (value: number) => { - switch (value) { - case 1: - setShowDefendEffect(true); - break; - case 2: - setShowAttackEffect(true); - break; - case 3: - setShowHealEffect(true); - break; - } - await doCommand(value, ObjectType.Chicky); - - switch (value) { - case 1: - setDefend(diceValue); - break; - case 2: - let damage = diceValue - enemyDefend; - - damage = (damage < 0) ? 0 : damage; - - setEnemyDefend(0); - - if (enemyLife - damage <= 0) { - setEnemyLife(0); - - await animateDefeat(ObjectType.Ghost); - - changeFloor(); - - return; - } else { - setEnemyLife(enemyLife - damage); - } - break; - case 3: - setLife(life + diceValue); - break; - } - - setTurn(ObjectType.Ghost); - }; - - const changeFloor = () => { - setTimeout(async() => { - await doChangeFloor(); - - setFloorType(FloorType.Next); - setFadeType(FadeType.In); - }, 512); - }; - - const changeFloorFade = async (fadeType: FadeType) => { - if (fadeType === 'fade-in') { - if (floorType === FloorType.Reset) { - setFloor(1); - setLife(DEFAULT_LIFE); - setEnemyLife(DEFAULT_ENEMY_LIFE); - } else if (floorType === FloorType.Next) { - setFloor(floor + 1); - setEnemyLife(DEFAULT_ENEMY_LIFE + Math.floor((floor / 8) * 2)); - } - - await repositionFloor(); - - setFadeType(FadeType.Out); - } else if (fadeType === 'fade-out') { - setFadeType(FadeType.Hidden); - setFloorType(FloorType.None); - - setDiceCmdShown(true); - } - }; - - return ( -
- -
- HP:{life} - Enemy:{enemyLife} - Floor:{floor} -
- { - setDiceCmdShown(false); - setDiceShown(true); - }} - /> - { - setDiceValue(null); - doChickyTurn(item); - }} - /> - { - setFloorType(FloorType.Reset); - setFadeType(FadeType.In); - setShowGameOver(false); - }} - /> - { - setShowDefendEffect(false); - }} - /> - { - setShowAttackEffect(false); - }} - /> - { - setShowHealEffect(false); - }} - /> - { - setDiceShown(false); - - if (IS_DEBUG === true) { - value = 6; - } - - if (turn === ObjectType.Chicky) { - setDiceValue(value); - } else { - doEnemyTurn(value); - } - }} /> - { - changeFloorFade(type); - }} - /> -
- ); -} - -ReactDOM.render(, document.querySelector('#app')); diff --git a/src/storage/models.ts b/src/storage/models.ts new file mode 100644 index 0000000..4bfa44d --- /dev/null +++ b/src/storage/models.ts @@ -0,0 +1,13 @@ +import { ModelData } from '@/types/assets'; + +export const modelData: ModelData = { + bush: null, + chicky: null, + dice: null, + ghost: null, + grass: null, + stage: null, + stone: null, + tree: null, + tree2: null, +}; diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..f1b4250 --- /dev/null +++ b/src/style.css @@ -0,0 +1,65 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@font-face { + font-family: misaki; + src: url('/fonts/misaki_gothic.ttf'); +} + +@font-face { + font-family: misaki-2nd; + src: url('/fonts/misaki_gothic_2nd.ttf'); +} + +@font-face { + font-family: misaki-mincho; + src: url('/fonts/misaki_mincho.ttf'); +} + +@font-face { + font-family: silkscreen; + src: url('/fonts/Silkscreen-Regular.ttf'); +} + +@font-face { + font-family: silkscreen-bold; + font-weight: bold; + src: url('/fonts/Silkscreen-Bold.ttf'); +} + +body, +button, +input, +select { + font-family: silkscreen, misaki, Courier, monospace; +} + +@layer components { + .center-element { + @apply flex justify-center items-center; + } + + .absolute-top-left { + @apply absolute top-0 left-0; + } + + .text-common { + @apply text-pico-8 md:text-2xl lg:text-3xl; + } + + .p-common { + @apply p-4 md:p-6 lg:p-8; + } + + .dialog-window { + @apply bg-pico-1 w-1/2 sm:w-72 lg:w-96 p-common space-y-2 lg:space-y-4; + } + + .link { + @apply text-common text-left w-full block relative pl-4 md:pl-6 lg:pl-8 + before:text-inherit before:absolute before:top-0 before:left-0 + enabled:text-pico-8 enabled:hover:before:content-['>'] + disabled:text-pico-6 disabled:cursor-not-allowed; + } +} diff --git a/src/style.scss b/src/style.scss deleted file mode 100644 index 1637cb9..0000000 --- a/src/style.scss +++ /dev/null @@ -1,199 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P'); - -body { - font-family: 'Press Start 2P', cursive; - font-size: 16px; -} - -.container { - background-image: url('https://assets.codepen.io/430361/chicky-dice-bg.png'); - background-size: cover; - width: 100vw; - height: 100vh; - position: absolute; - top: 0; - left: 0; - image-rendering: pixelated; -} - -.hud, .game-canvas { - position: absolute; - top: 0; - left: 0; -} - -.hud { - color: #fff1e8; - width: 100vw; - height: 100vh; -} - -.life { - position: absolute; - top: 1rem; - left: 1rem; - user-select: none; - z-index: 2; -} - -.enemy-life { - position: absolute; - top: 1rem; - right: 1rem; - user-select: none; - z-index: 2; -} - -.floor { - position: absolute; - top: 2.5rem; - left: 1rem; - user-select: none; - z-index: 2; -} - -.command { - color: #fff1e8; - background-color: #000000; - width: 60vw; - padding: 0.5rem 0; - display: flex; - flex-direction: column; - flex-wrap: nowrap; - z-index: 2; - position: absolute; - top: 50%; - left: 20vw; - transform: translateY(-50%); - animation: fade-in 512ms ease-out; - &.selected { - animation: fade-out 512ms ease-out; - } -} - -.command-item { - color: #fff1e8; - text-decoration: none; - padding: 0.5rem 1rem 0.5rem 2rem; - display: block; - position: relative; - user-select: none; - &.disabled { - color: #5f574f; - } - &:hover:not(.disabled)::before, &.selected::before { - content: ''; - width: 0; - height: 0; - border-top: solid 0.5rem transparent; - border-bottom: solid 0.5rem transparent; - border-left: solid 0.9rem #fff1e8; - position: absolute; - top: 50%; - left: 0.5rem; - transform: translateY(-50%); - } -} - -.dice-area { - background-color: #000000; - width: 100vw; - height: 100vh; - display: flex; - align-items: center; - justify-content: center; - position: absolute; - top: 0; - left: 0; - z-index: 3; - animation: fade-in 512ms ease-out; - &.hidden { - animation: fade-out 512ms ease-out; - } -} - -.fade { - background-color: #000000; - width: 100vw; - height: 100vh; - position: absolute; - top: 0; - left: 0; - z-index: 4; - &.fade-in { - animation: fade-in 512ms ease-out; - } - &.fade-out { - animation: fade-out 512ms ease-out; - } -} - -.dice { - --number: 0vmin; - --rotation: 0deg; - background-image: url('https://assets.codepen.io/430361/chicky-dice-game.png'); - background-position: var(--number) 0; - background-size: 300vmin 50vmin; - width: 50vmin; - height: 50vmin; - image-rendering: pixelated; - transform: rotateZ(var(--rotation)); -} - -.effect { - width: 100vw; - height: 100vh; - display: flex; - align-items: center; - justify-content: center; - position: absolute; - top: 0; - left: 0; - user-select: none; - z-index: 1; - animation: - fade-in 512ms ease-out, - fade-out 512ms ease-out 768ms; -} - -.effect-image { - background-image: var(--image-url); - background-size: 50vmin 50vmin; - width: 50vmin; - height: 50vmin; - image-rendering: pixelated; -} - -@keyframes fade-in { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} - -@keyframes fade-out { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} - -@media screen and (min-width: 526px) { - .container { - background-size: contain; - } -} - -@media screen and (min-width: 961px) { - .command { - flex-direction: row; - } - - .command-item { - width: 50%; - } -} diff --git a/src/types/actors.ts b/src/types/actors.ts new file mode 100644 index 0000000..cab8f97 --- /dev/null +++ b/src/types/actors.ts @@ -0,0 +1,16 @@ +export type AnimationSettings = { + name: string; + loop: boolean; +}; + +export type Animations = { + Attack: AnimationSettings; + Guard: AnimationSettings; + Idle: AnimationSettings; + Walk: AnimationSettings; + Skip: AnimationSettings; + Jump: AnimationSettings; + Heal: AnimationSettings; + Hurt: AnimationSettings; + Faint: AnimationSettings; +}; diff --git a/src/types/assets.ts b/src/types/assets.ts new file mode 100644 index 0000000..29ca618 --- /dev/null +++ b/src/types/assets.ts @@ -0,0 +1,25 @@ +import { GLTF } from 'three/examples/jsm/Addons.js'; + +export type Models = { + bush: string; + chicky: string; + dice: string; + ghost: string; + grass: string; + stage: string; + stone: string; + tree: string; + tree2: string; +}; + +export type ModelData = { + bush: GLTF | null; + chicky: GLTF | null; + dice: GLTF | null; + ghost: GLTF | null; + grass: GLTF | null; + stage: GLTF | null; + stone: GLTF | null; + tree: GLTF | null; + tree2: GLTF | null; +}; diff --git a/src/types/commands.ts b/src/types/commands.ts new file mode 100644 index 0000000..131aff6 --- /dev/null +++ b/src/types/commands.ts @@ -0,0 +1,5 @@ +export type Commands = { + startRoll: () => void; + selectCommand: (value: number) => void; + showGameOver: () => void; +}; diff --git a/src/types/labels.ts b/src/types/labels.ts new file mode 100644 index 0000000..b02b139 --- /dev/null +++ b/src/types/labels.ts @@ -0,0 +1,23 @@ +export type LabelDetail = { + preload: { + loading: string; + }; + hud: { + playerHp: string; + computerHp: string; + floor: string; + }; + commands: { + rollTheDice: string; + skip: string; + defend: string; + attack: string; + heal: string; + retry: string; + }; + gameOver: string; +}; + +export type Labels = { + en: LabelDetail; +}; diff --git a/src/types/settings.ts b/src/types/settings.ts new file mode 100644 index 0000000..f771a46 --- /dev/null +++ b/src/types/settings.ts @@ -0,0 +1,47 @@ +import { ShadowMapType, Vector2, Vector3 } from 'three'; + +export type CameraSettings = { + fov: number; + near: number; + far: number; + position: Vector3; +}; + +export type RendererSettings = { + antialias: boolean; + alpha: boolean; + shadowMap: { + enabled: boolean; + type: ShadowMapType; + }; +}; + +export type DirectionalLightSettings = { + color: number; + intensity: number; + position: Vector3; + castShadow: boolean; + shadow: { + bias: number; + mapSize: Vector2; + camera: { + near: number; + far: number; + }; + }; +}; + +export type AmbientLightSettings = { + color: number; + intensity: number; +}; + +export type FogSettings = { + color: number; + near: number; + far: number; +}; + +export type ModelsGroupSettings = { + position: Vector3; +}; diff --git a/src/utils/ai.ts b/src/utils/ai.ts new file mode 100644 index 0000000..f84e97f --- /dev/null +++ b/src/utils/ai.ts @@ -0,0 +1,34 @@ +import { + commandButtonTexts, + computerAllowedCommands, +} from '@/constants/commands'; +import { checkDisabledDiceCommand } from './commands'; +import { DiceCommand } from '@/enums/game'; + +/** + * Get the command done by the computer based on the value of the dice + * @param {number} value Value from the dice + * @param {(command: DiceCommand) => void} callback Callback function + * @returns {DiceCommand | void} Selected command + */ +export const startComputerProcess = ( + value: number, + callback?: (command: DiceCommand) => void, +): DiceCommand | void => { + for (let index = commandButtonTexts.length - 1; index >= 0; index--) { + if ( + computerAllowedCommands[index] == null || + checkDisabledDiceCommand(index, value) + ) { + continue; + } + + if (callback == null) { + return value; + } + + callback(index); + + return; + } +}; diff --git a/src/utils/commands.ts b/src/utils/commands.ts new file mode 100644 index 0000000..bb6b15f --- /dev/null +++ b/src/utils/commands.ts @@ -0,0 +1,60 @@ +import { ableDiceCommand } from '@/constants/commands'; +import { labels } from '@/constants/labels'; +import { DiceCommand } from '@/enums/game'; + +/** + * Created dialog box for 'Roll the dice' dialog + * @returns {HTMLDivElement} + */ +export const createRollDiceDialog = (): HTMLDivElement => { + const element: HTMLDivElement = document.createElement('div'); + element.className = 'dialog-window text-common animate-fade-in'; + + const button: HTMLButtonElement = document.createElement('button'); + button.className = 'link'; + button.innerText = labels.en.commands.rollTheDice; + + element.append(button); + + return element; +}; + +/** + * Set the command link into disabled depends on the condition from the value of the dice + * @param {DiceCommand} command Target command + * @param {number} value Number from the dice + * @returns + */ +export const checkDisabledDiceCommand = ( + command: DiceCommand, + value: number, +): boolean => { + return ( + (command === DiceCommand.Defend && + value < ableDiceCommand[DiceCommand.Defend]) || + (command === DiceCommand.Attack && + value < ableDiceCommand[DiceCommand.Attack]) || + (command === DiceCommand.Heal && value < ableDiceCommand[DiceCommand.Heal]) + ); +}; + +/** + * Created dialog box for 'game over' dialog + * @returns {HTMLDivElement} + */ +export const createGameOverDialog = (): HTMLDivElement => { + const element: HTMLDivElement = document.createElement('div'); + element.className = 'dialog-window text-common animate-fade-in'; + + const gameOverLabel: HTMLDivElement = document.createElement('div'); + gameOverLabel.className = 'text-common'; + gameOverLabel.innerText = labels.en.gameOver; + + const button: HTMLButtonElement = document.createElement('button'); + button.className = 'link'; + button.innerText = labels.en.commands.retry; + + element.append(gameOverLabel, button); + + return element; +}; diff --git a/src/utils/controls.ts b/src/utils/controls.ts new file mode 100644 index 0000000..2d22a47 --- /dev/null +++ b/src/utils/controls.ts @@ -0,0 +1,230 @@ +import { randInt } from 'three/src/math/MathUtils.js'; + +import * as TWEEN from '@tweenjs/tween.js'; + +import { + animations, + jumpTime, + nextFloorDirection, + nextFloorTime, +} from '@/constants/actors'; +import { CommandTurn, DiceCommand } from '@/enums/game'; +import { createDice, diceSettings } from '@/objects/dice'; +import { fadeIn, fadeOut } from '@/utils/fade'; +import { initializePosition } from '@/utils/game'; + +import { + commandTurn, + commands, + currentAnimation, + currentDirection, + currentHp, + currentMixer, + currentObject, + currentSetGuard, + currentSetHp, + diceValue, + oppositeAnimation, + oppositeGuard, + oppositeHp, + oppositeMixer, + oppositeSetHp, + originalPosition, + setCommandTurn, + setDiceValue, +} from '@/controls'; +import { getFloor, setFloor } from '@/hud'; + +let tmpOppositeHp: number = 0; + +/** + * Process of dice rolling + */ +export const doDiceRollProcess = (): void => { + setDiceValue(randInt(diceSettings.value.min, diceSettings.value.max)); + + createDice(diceValue, (): void => { + commands().selectCommand(diceValue); + }); +}; + +/** + * Process of after selecting a command + * @param {DiceCommand} command Selected command + * @returns + */ +export const doSelectCommandProcess = (command: DiceCommand): void => { + if (command === DiceCommand.Skip) { + currentAnimation(animations.Skip); + } else if (command === DiceCommand.Defend) { + currentAnimation(animations.Guard); + currentSetGuard(diceValue); + } else if (command === DiceCommand.Attack) { + currentAnimation(animations.Jump); + attackCommandProcess(); + + return; + } else if (command === DiceCommand.Heal) { + currentAnimation(animations.Heal); + currentMixer.addEventListener('finished', currentMixerHealAnimation); + + return; + } + + currentMixer.addEventListener('finished', commonMixerAnimation); +}; + +/** + * Process of attacking an opponent + */ +const attackCommandProcess = (): void => { + new TWEEN.Tween(currentObject.position) + .to( + { + x: currentDirection, + }, + jumpTime, + ) + .easing(TWEEN.Easing.Quadratic.InOut) + .start() + .onComplete((): void => { + currentAnimation(animations.Attack); + }); + + currentMixer.addEventListener('finished', currentMixerAttackAnimation); +}; + +/** + * Animation finished event handler for attack animation + */ +const currentMixerAttackAnimation = (): void => { + currentMixer.removeEventListener('finished', currentMixerAttackAnimation); + + currentAnimation(animations.Jump); + + oppositeMixer.addEventListener('finished', oppositeMixerAttackAnimation); + + const damage: number = diceValue - oppositeGuard; + + tmpOppositeHp = oppositeHp - (damage > 0 ? damage : 0); + + oppositeSetHp(tmpOppositeHp > 0 ? tmpOppositeHp : 0); + + if (tmpOppositeHp > 0) { + oppositeAnimation(animations.Hurt); + } else { + oppositeAnimation(animations.Faint); + } + + backToOriginalPosition(); +}; + +/** + * Back to the original position after attacking + */ +const backToOriginalPosition = (): void => { + new TWEEN.Tween(currentObject.position) + .to( + { + x: originalPosition, + }, + jumpTime, + ) + .easing(TWEEN.Easing.Quadratic.InOut) + .start() + .onComplete((): void => { + if (tmpOppositeHp <= 0) { + if (commandTurn === CommandTurn.Player) { + moveToNextFloor(); + } else if (commandTurn === CommandTurn.Computer) { + currentAnimation(animations.Idle); + commands().showGameOver(); + } + + return; + } + + currentAnimation(animations.Idle); + + if (tmpOppositeHp > 0) { + setCommandTurn( + commandTurn === CommandTurn.Player + ? CommandTurn.Computer + : CommandTurn.Player, + ); + } + }); +}; + +/** + * Animation finished event handler for hurt or faint command + */ +const oppositeMixerAttackAnimation = (): void => { + oppositeMixer.removeEventListener('finished', oppositeMixerAttackAnimation); + + if (tmpOppositeHp > 0) { + oppositeAnimation(animations.Idle); + } +}; + +/** + * Animation finished event handler for heal command + */ +const currentMixerHealAnimation = (): void => { + currentMixer.removeEventListener('finished', currentMixerHealAnimation); + + currentSetHp(currentHp + diceValue); + currentAnimation(animations.Idle); + + setCommandTurn( + commandTurn === CommandTurn.Player + ? CommandTurn.Computer + : CommandTurn.Player, + ); +}; + +/** + * Animation event for skip, and defend command + */ +const commonMixerAnimation = (): void => { + currentMixer.removeEventListener('finished', commonMixerAnimation); + + setCommandTurn( + commandTurn === CommandTurn.Player + ? CommandTurn.Computer + : CommandTurn.Player, + ); +}; + +/** + * Fade the screen, then move to the next floor + */ +const moveToNextFloor = (): void => { + currentAnimation(animations.Walk); + + new TWEEN.Tween(currentObject.position) + .to( + { + x: nextFloorDirection, + }, + nextFloorTime, + ) + .easing(TWEEN.Easing.Quadratic.In) + .start() + .onComplete((): void => { + setFloor(getFloor() + 1); + + initializePosition(commandTurn); + + fadeIn(); + }); + + const fadeTimeout: number = setTimeout( + (): void => { + clearTimeout(fadeTimeout); + + fadeOut(); + }, + (nextFloorDirection / 2) * 1000, + ); +}; diff --git a/src/utils/fade.ts b/src/utils/fade.ts new file mode 100644 index 0000000..8ccb913 --- /dev/null +++ b/src/utils/fade.ts @@ -0,0 +1,35 @@ +const fade: HTMLDivElement = document.querySelector('#fade') as HTMLDivElement; + +/** + * export the screen from black + */ +export const fadeIn = (callback?: () => void): void => { + fade.classList.remove('opacity-1'); + fade.classList.add('opacity-0'); + + fadeProcess(callback); +}; + +/** + * Fade out the screen to black + */ +export const fadeOut = (callback?: () => void): void => { + fade.classList.remove('opacity-0'); + fade.classList.add('opacity-1'); + + fadeProcess(callback); +}; + +/** + * Common process of fading + * @param {() => void | undefined} callback Callback function + */ +const fadeProcess = (callback?: () => void): void => { + const transitionEndHandler = (): void => { + fade.removeEventListener('transitionend', transitionEndHandler); + + if (callback != null) callback(); + }; + + fade.addEventListener('transitionend', transitionEndHandler); +}; diff --git a/src/utils/game.ts b/src/utils/game.ts new file mode 100644 index 0000000..c052d80 --- /dev/null +++ b/src/utils/game.ts @@ -0,0 +1,42 @@ +import { chicky, chickyAnimation, chickySettings } from '@/actors/chicky'; +import { ghost, ghostAnimation, ghostSettings } from '@/actors/ghost'; +import { animations } from '@/constants/actors'; +import { + computerHpIterationPerFloor, + defaultComputerHp, + defaultPlayerHp, +} from '@/constants/settings'; +import { setCommandTurn } from '@/controls'; +import { CommandTurn } from '@/enums/game'; +import { getFloor, setComputerHp, setPlayerHp } from '@/hud'; + +/** + * Initialize the position of the actors + */ +export const initializePosition = (commandTurn: CommandTurn): void => { + if (chicky == null || ghost == null) { + return; + } + + chicky.position.x = chickySettings.position.x; + chicky.position.y = chickySettings.position.y; + chicky.position.z = chickySettings.position.z; + + ghost.position.x = ghostSettings.position.x; + ghost.position.y = ghostSettings.position.y; + ghost.position.z = ghostSettings.position.z; + + chickyAnimation(animations.Idle); + ghostAnimation(animations.Idle); + + if (commandTurn === CommandTurn.Player) { + setComputerHp( + defaultComputerHp + Math.floor(getFloor() / computerHpIterationPerFloor), + ); + } else { + setPlayerHp(defaultPlayerHp); + setComputerHp(defaultComputerHp); + } + + setCommandTurn(CommandTurn.Player); +}; diff --git a/src/utils/models.ts b/src/utils/models.ts new file mode 100644 index 0000000..a4abc8b --- /dev/null +++ b/src/utils/models.ts @@ -0,0 +1,142 @@ +import { modelsGroupSettings } from '@/constants/settings'; +import { + AnimationAction, + AnimationClip, + AnimationMixer, + Group, + LoopOnce, + LoopRepeat, + Mesh, + Object3D, + Object3DEventMap, +} from 'three'; +import { GLTF, GLTFLoader } from 'three/examples/jsm/Addons.js'; + +import { bushSettings, createBush } from '@/objects/bush'; +import { createGrass, grassSettings } from '@/objects/grass'; +import { createStage } from '@/objects/stage'; +import { createStone, stoneSettings } from '@/objects/stone'; +import { createTree, treeSettings } from '@/objects/tree'; +import { createTree2, tree2Settings } from '@/objects/tree2'; +import { createChicky } from '@/actors/chicky'; +import { createGhost } from '@/actors/ghost'; + +/** + * Load the model and return its GLTF data + * @param {string} path Path of the model + * @returns {Promise} + */ +export const loadModel = async (path: string): Promise => { + const loader: GLTFLoader = new GLTFLoader(); + + return new Promise( + ( + resolve: (value: GLTF | PromiseLike) => void, + reject: (reason?: unknown) => void, + ): void => { + loader.load( + path, + (gltf: GLTF): void => { + gltf.scene.castShadow = true; + gltf.scene.receiveShadow = true; + gltf.scene.traverse((object: Object3D): void => { + if (object instanceof Mesh) { + object.castShadow = true; + object.receiveShadow = true; + } + }); + + resolve(gltf); + }, + undefined, + (error: unknown): void => { + reject(error); + }, + ); + }, + ); +}; + +/** + * Add the models into the group + * @param {Group} modelsGroup Group object where the models to be added + */ +export const addModels = (modelsGroup: Group): void => { + modelsGroup.position.set( + modelsGroupSettings.position.x, + modelsGroupSettings.position.y, + modelsGroupSettings.position.z, + ); + + createStage(); + + for (let i = 0; i < bushSettings.count; i++) { + createBush(); + } + + for (let i = 0; i < grassSettings.count; i++) { + createGrass(); + } + + for (let i = 0; i < stoneSettings.count; i++) { + createStone(); + } + + for (let i = 0; i < treeSettings.count; i++) { + createTree(); + } + + for (let i = 0; i < tree2Settings.count; i++) { + createTree2(); + } + + createChicky(); + createGhost(); +}; + +/** + * Stop the animation + * @param {string} name Animation name + * @param {AnimationClip[]} clips Animation clips + * @param {AnimationMixer} mixer Animation mixer + * @returns {void} + */ +export const stopAnimation = ( + name: string, + clips: AnimationClip[], + mixer: AnimationMixer, +): void => { + const clip: AnimationClip = AnimationClip.findByName(clips, name); + const action: AnimationAction = mixer.clipAction(clip); + + action.stop(); +}; + +/** + * Play the animation + * @param {string} name Animation name + * @param {AnimationClip[]} clips Animation clips + * @param {AnimationMixer} mixer Animation mixer + * @param {boolean} isLoop Repeat the animation by loop + * @returns {void} + */ +export const playAnimation = ( + name: string, + clips: AnimationClip[], + mixer: AnimationMixer, + isLoop: boolean, +): void => { + const clip: AnimationClip = AnimationClip.findByName(clips, name); + const action: AnimationAction = mixer.clipAction(clip); + + if (action == null) return; + + if (isLoop) { + action.setLoop(LoopRepeat, Infinity); + } else { + action.setLoop(LoopOnce, 1); + } + + action.clampWhenFinished = true; + action.play(); +}; diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..b9bd349 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,57 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: ['./index.html', './src/**/*.{html,js,ts,jsx,tsx}'], + theme: { + extend: { + colors: { + 'pico-1': '#000000', + 'pico-2': '#1d2b53', + 'pico-3': '#7e2553', + 'pico-4': '#008751', + 'pico-5': '#ab5236', + 'pico-6': '#5f574f', + 'pico-7': '#c2c3c7', + 'pico-8': '#fff1e8', + 'pico-9': '#ff004d', + 'pico-10': '#ffa300', + 'pico-11': '#ffec27', + 'pico-12': '#00e436', + 'pico-13': '#29adff', + 'pico-14': '#83769c', + 'pico-15': '#ff77a8', + 'pico-16': '#ffccaa', + 'pico-17': '#291814', + 'pico-18': '#111d35', + 'pico-19': '#422136', + 'pico-20': '#125359', + 'pico-21': '#742f29', + 'pico-22': '#49333b', + 'pico-23': '#a28879', + 'pico-24': '#f3ef7d', + 'pico-25': '#be1250', + 'pico-26': '#ff6c24', + 'pico-27': '#a8e72e', + 'pico-28': '#00b543', + 'pico-29': '#065ab5', + 'pico-30': '#754665', + 'pico-31': '#ff6e59', + 'pico-32': '#ff9d81', + }, + }, + keyframes: { + 'fade-in': { + '0%': { opacity: 0 }, + '100%': { opacity: 1 }, + }, + 'fade-out': { + '0%': { opacity: 1 }, + '100%': { opacity: 0 }, + }, + }, + animation: { + 'fade-in': 'fade-in 0.5s ease-out', + 'fade-out': 'fade-out 0.5s ease-out', + }, + }, + plugins: [], +}; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..fab136f --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }], + "extends": "./tsconfig.paths.json" +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..42872c5 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/tsconfig.paths.json b/tsconfig.paths.json new file mode 100644 index 0000000..2c8ee2b --- /dev/null +++ b/tsconfig.paths.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["src/*"] + } + } +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..873b526 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,17 @@ +import { defineConfig } from 'vite'; + +// https://vitejs.dev/config/ +export default defineConfig({ + resolve: { + alias: { + '@': '/src', + }, + }, + server: { + host: true, + port: 5173, + watch: { + usePolling: true, + }, + }, +});