-
+
Christina Kayastha is a Principal Software Engineer with nearly a decade of industry experience. Originally from Nepal, she is currently working in Boston, USA as a Domain Architect leading innovation initiatives at Vista. Christina is an inventor on 11 patents, has given 50+ conference talks. In her free time, she loves nerding out about emerging tech, building interactive art installations, and is an active leader in her local cultural and tech communities.
@@ -26,7 +26,7 @@ The contributors of this project are participants of Incubate Nepal.
-
+
Binam Kayastha is a Senior Software engineer with six years of industry experience. Originally from Nepal, he is currently working in Boston, USA as a Platform Engineer at Cirkul. Binam is a true full-stack developer with experience spanning DevOps, data engineering, back-end, and front-end. In his free time, he loves tinkering with new technologies, developing his own productivity apps, building games, and competing in hackathons.
@@ -35,11 +35,13 @@ The contributors of this project are participants of Incubate Nepal.
### Peer Mentor
+
#### Hemanta Bhandari
+
-
+
Hemanta (Hems) is a Budhanilkantha School alumnus with a passion for both mathematics and computer science, seamlessly blending theory with practical applications. He has a keen interest in applied mathematics and building full-stack web applications. In his free time, he enjoys playing chess and basketball, as well as expressing his creativity through sketching.
@@ -50,10 +52,11 @@ The contributors of this project are participants of Incubate Nepal.
### Mentees
#### Saphal Upreti
+
-
+
Saphal Upreti is an incoming freshman at Mississippi State University, double majoring in Computer Science and Business. His hobbies includes watching movies, gaming, occasionally listening and producing music and participating in hackathons. In his free time, he likes to work on different side projects and spend time with his friends and family.
@@ -66,7 +69,7 @@ The contributors of this project are participants of Incubate Nepal.
-
+
Sanskar Lamsal is a high school graduate. His hobbies include watching movies and TV series, participating in hackathons, and listening to music and podcasts. He has a keen interest in design and programming and enjoys creating things that matter. In his free time, he mostly hangs out with friends and family, works on side projects, or explores new interests.
@@ -79,7 +82,7 @@ The contributors of this project are participants of Incubate Nepal.
-
+
Aanchal Nancy Jha is a high school graduate and a passionate coding enthusiast. She enjoys learning new programming languages, frameworks, and technologies. Her hobbies include creating mini-games and side projects, making coding tutorials on YouTube, reading tech blogs, and competing in hackathons. Nancy is always eager to learn and take on new challenges.
@@ -88,10 +91,11 @@ The contributors of this project are participants of Incubate Nepal.
#### Puja Tajpuriya
+
-
+
Puja Tajpuriya, a high school graduate with a deep passion for creativity and technology, is embarking on an exciting journey into programming. Alongside her hobbies of crafting poetry, singing melodies, and exploring zenart, she is passionately diving into the dynamic world of coding. she is committed to mastering programming fundamentals and leveraging her diverse interests to inspire unique projects. With a keen eye for detail and a natural flair for expression.
@@ -99,11 +103,12 @@ The contributors of this project are participants of Incubate Nepal.
-#### Aditya Bikram Thakur
+#### Aditya Bikram Thakur
+
-
+
Aditya Bikram Thakur is a senior A-levels student at Budhanilkantha School. He is interested in various aspects of computer science such as Data structures and algorithms, web developement and Deep learning. His hobbies include listening audiobooks, going on a morning stroll, learning Japanese and watching movies.
@@ -116,10 +121,10 @@ The contributors of this project are participants of Incubate Nepal.
-
+
- Devaki Rawal is a high school graduate and a tech enthusiast, always eager to spread digital literacy. In her free time, she loves teaching children. She challenges herself every day to become one step better than yesterday. Devaki enjoys traveling, watching Shark Tank, and teaching. She is always open to learning and exploring new things every day.
+ Devaki Rawal is a high school graduate and a tech enthusiast, always eager to spread digital literacy programs. In her free time, she loves teaching children. She challenges herself every day to become one step better than yesterday. Devaki enjoys traveling, watching Shark Tank, and teaching. She is always open to learning and exploring new things every day.
diff --git a/nepalingo-web/.env b/nepalingo-web/.env
index 44807ce..20f950c 100644
--- a/nepalingo-web/.env
+++ b/nepalingo-web/.env
@@ -1,2 +1,6 @@
VITE_NEPALBHASA_API_URL=https://subhash.net.np
VITE_GOOGLE_ANALYTICS_TRACKING_ID = "G-DR5RGQ8NZ1"
+VITE_SUPABASE_URL=https://iupkdpieqxplryytuerr.supabase.co
+VITE_SUPABASE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Iml1cGtkcGllcXhwbHJ5eXR1ZXJyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MTk1NDY4MTEsImV4cCI6MjAzNTEyMjgxMX0.FcvSaML1Z0KLzXWAfXI-xL4b9aGc179uI8Bo2Q_glPI
+VITE_GOOGLE_TRANSLATE_API_KEY=AIzaSyCi239eredIAEEJkI8xzvGwW1GPS7B1vxQ
+VITE_OPEN_API=sk-svcacct-Kq44sWC6ATfg5VM5Ygm_gA0G-Hk1hpzikg61PxZcKnRWcK2OT3BlbkFJuegR4TMZCDUiBzHGIfSBVqra2eE6FFxpVWO9ASR9qCB8OdEA
diff --git a/nepalingo-web/.eslintrc.cjs b/nepalingo-web/.eslintrc.cjs
index f1c96ce..e905050 100644
--- a/nepalingo-web/.eslintrc.cjs
+++ b/nepalingo-web/.eslintrc.cjs
@@ -1,20 +1,20 @@
module.exports = {
- parser: '@typescript-eslint/parser',
+ parser: "@typescript-eslint/parser",
extends: [
- 'eslint:recommended',
- 'plugin:react/recommended',
- 'plugin:@typescript-eslint/recommended',
+ "eslint:recommended",
+ "plugin:react/recommended",
+ "plugin:@typescript-eslint/recommended",
],
parserOptions: {
ecmaVersion: 2020,
- sourceType: 'module',
+ sourceType: "module",
ecmaFeatures: {
jsx: true,
},
},
settings: {
react: {
- version: 'detect',
+ version: "detect",
},
},
};
diff --git a/nepalingo-web/.prettierignore b/nepalingo-web/.prettierignore
new file mode 100644
index 0000000..bd5535a
--- /dev/null
+++ b/nepalingo-web/.prettierignore
@@ -0,0 +1 @@
+pnpm-lock.yaml
diff --git a/nepalingo-web/README.md b/nepalingo-web/README.md
index 54370ee..ae67fc7 100644
--- a/nepalingo-web/README.md
+++ b/nepalingo-web/README.md
@@ -14,10 +14,10 @@ Ensure you have the following installed on your machine:
1. **Clone the repository:**
- ```sh
- git clone https://github.com/nepalcodes/nepalingo.git
- cd nepalingo-web
- ```
+ ```sh
+ git clone https://github.com/nepalcodes/nepalingo.git
+ cd nepalingo-web
+ ```
2. **Install pnpm (if you have not done it already)**
```sh
@@ -25,10 +25,9 @@ Ensure you have the following installed on your machine:
```
3. **Install dependencies:**
- ```sh
- pnpm install
- ```
-
+ ```sh
+ pnpm install
+ ```
## Running the Development Server
@@ -39,22 +38,23 @@ pnpm run dev
```
## Project Structure
+
my-react-app/
├── public/
-│ ├── index.html
-│ └── ...
+│ ├── index.html
+│ └── ...
├── src/
-│ ├── assets/
-│ │ ├── images/
-│ ├── components/
-│ ├── pages/
-│ │ ├── Home/
-│ │ │ ├── Home.ts
-│ │ └── ...
-│ ├── App.ts
-│ ├── index.ts
-│ ├── routes.ts
-│ └── ...
+│ ├── assets/
+│ │ ├── images/
+│ ├── components/
+│ ├── pages/
+│ │ ├── Home/
+│ │ │ ├── Home.ts
+│ │ └── ...
+│ ├── App.ts
+│ ├── index.ts
+│ ├── routes.ts
+│ └── ...
├── .env.example
├── .gitignore
├── package.json
diff --git a/nepalingo-web/index.html b/nepalingo-web/index.html
index d58aa62..193541a 100644
--- a/nepalingo-web/index.html
+++ b/nepalingo-web/index.html
@@ -5,10 +5,34 @@
Nepalingo
-
-
+
+
+
diff --git a/nepalingo-web/package.json b/nepalingo-web/package.json
index 638707a..3638f47 100644
--- a/nepalingo-web/package.json
+++ b/nepalingo-web/package.json
@@ -7,12 +7,18 @@
"dev": "vite",
"build": "tsc -b && vite build",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
- "preview": "vite preview"
+ "format-check": "prettier . --check",
+ "preview": "vite preview",
+ "format": "prettier . --write"
},
"dependencies": {
+ "@fortawesome/fontawesome-svg-core": "^6.5.2",
"@fortawesome/free-solid-svg-icons": "^6.5.2",
"@fortawesome/react-fontawesome": "^0.2.2",
"@supabase/supabase-js": "^2.44.2",
+ "cors": "^2.8.5",
+ "express": "^4.19.2",
+ "lottie-react": "^2.4.0",
"random-words": "^2.0.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
@@ -35,6 +41,7 @@
"eslint-plugin-react-hooks": "^4.6.2",
"eslint-plugin-react-refresh": "^0.4.7",
"postcss": "^8.4.38",
+ "prettier": "3.3.3",
"tailwindcss": "^3.4.4",
"ts-node": "^10.9.2",
"typescript": "^5.5.2",
diff --git a/nepalingo-web/pnpm-lock.yaml b/nepalingo-web/pnpm-lock.yaml
index cd6a031..2e3eeaa 100644
--- a/nepalingo-web/pnpm-lock.yaml
+++ b/nepalingo-web/pnpm-lock.yaml
@@ -8,6 +8,9 @@ importers:
.:
dependencies:
+ '@fortawesome/fontawesome-svg-core':
+ specifier: ^6.5.2
+ version: 6.5.2
'@fortawesome/free-solid-svg-icons':
specifier: ^6.5.2
version: 6.5.2
@@ -17,6 +20,15 @@ importers:
'@supabase/supabase-js':
specifier: ^2.44.2
version: 2.44.2
+ cors:
+ specifier: ^2.8.5
+ version: 2.8.5
+ express:
+ specifier: ^4.19.2
+ version: 4.19.2
+ lottie-react:
+ specifier: ^2.4.0
+ version: 2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
random-words:
specifier: ^2.0.1
version: 2.0.1
@@ -78,6 +90,9 @@ importers:
postcss:
specifier: ^8.4.38
version: 8.4.38
+ prettier:
+ specifier: 3.3.3
+ version: 3.3.3
tailwindcss:
specifier: ^3.4.4
version: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))
@@ -672,6 +687,10 @@ packages:
peerDependencies:
vite: ^4.2.0 || ^5.0.0
+ accepts@1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
@@ -729,6 +748,9 @@ packages:
resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
engines: {node: '>= 0.4'}
+ array-flatten@1.1.1:
+ resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
+
array-includes@3.1.8:
resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
engines: {node: '>= 0.4'}
@@ -782,6 +804,10 @@ packages:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
+ body-parser@1.20.2:
+ resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
brace-expansion@1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
@@ -797,6 +823,10 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
+ bytes@3.1.2:
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
+ engines: {node: '>= 0.8'}
+
call-bind@1.0.7:
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
engines: {node: '>= 0.4'}
@@ -847,9 +877,28 @@ packages:
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ content-disposition@0.5.4:
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
+ engines: {node: '>= 0.6'}
+
+ content-type@1.0.5:
+ resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
+ engines: {node: '>= 0.6'}
+
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+ cookie-signature@1.0.6:
+ resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
+
+ cookie@0.6.0:
+ resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
+ engines: {node: '>= 0.6'}
+
+ cors@2.8.5:
+ resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
+ engines: {node: '>= 0.10'}
+
create-require@1.1.1:
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
@@ -877,6 +926,14 @@ packages:
resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
engines: {node: '>= 0.4'}
+ debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
@@ -905,6 +962,14 @@ packages:
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
engines: {node: '>= 0.4'}
+ depd@2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
+
+ destroy@1.2.0:
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
didyoumean@1.2.2:
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
@@ -930,6 +995,9 @@ packages:
eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+ ee-first@1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
+
electron-to-chromium@1.4.816:
resolution: {integrity: sha512-EKH5X5oqC6hLmiS7/vYtZHZFTNdhsYG5NVPRN6Yn0kQHNBlT59+xSM8HBy66P5fxWpKgZbPqb+diC64ng295Jw==}
@@ -939,6 +1007,10 @@ packages:
emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ encodeurl@1.0.2:
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
+ engines: {node: '>= 0.8'}
+
es-abstract@1.23.3:
resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
engines: {node: '>= 0.4'}
@@ -979,6 +1051,9 @@ packages:
resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
engines: {node: '>=6'}
+ escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+
escape-string-regexp@1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
engines: {node: '>=0.8.0'}
@@ -1074,6 +1149,14 @@ packages:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
+ etag@1.8.1:
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+ engines: {node: '>= 0.6'}
+
+ express@4.19.2:
+ resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==}
+ engines: {node: '>= 0.10.0'}
+
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
@@ -1098,6 +1181,10 @@ packages:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
+ finalhandler@1.2.0:
+ resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
+ engines: {node: '>= 0.8'}
+
find-up@5.0.0:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
@@ -1116,9 +1203,17 @@ packages:
resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==}
engines: {node: '>=14'}
+ forwarded@0.2.0:
+ resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
+ engines: {node: '>= 0.6'}
+
fraction.js@4.3.7:
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+ fresh@0.5.2:
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
+ engines: {node: '>= 0.6'}
+
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
@@ -1221,6 +1316,14 @@ packages:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
+ http-errors@2.0.0:
+ resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
+ engines: {node: '>= 0.8'}
+
+ iconv-lite@0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ engines: {node: '>=0.10.0'}
+
ignore@5.3.1:
resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
engines: {node: '>= 4'}
@@ -1244,6 +1347,10 @@ packages:
resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
engines: {node: '>= 0.4'}
+ ipaddr.js@1.9.1:
+ resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
+ engines: {node: '>= 0.10'}
+
is-array-buffer@3.0.4:
resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
engines: {node: '>= 0.4'}
@@ -1433,6 +1540,15 @@ packages:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true
+ lottie-react@2.4.0:
+ resolution: {integrity: sha512-pDJGj+AQlnlyHvOHFK7vLdsDcvbuqvwPZdMlJ360wrzGFurXeKPr8SiRCjLf3LrNYKANQtSsh5dz9UYQHuqx4w==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ lottie-web@5.12.2:
+ resolution: {integrity: sha512-uvhvYPC8kGPjXT3MyKMrL3JitEAmDMp30lVkuq/590Mw9ok6pWcFCwXJveo0t5uqYw1UREQHofD+jVpdjBv8wg==}
+
lru-cache@10.3.0:
resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==}
engines: {node: 14 || >=16.14}
@@ -1443,14 +1559,38 @@ packages:
make-error@1.3.6:
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
+ media-typer@0.3.0:
+ resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
+ engines: {node: '>= 0.6'}
+
+ merge-descriptors@1.0.1:
+ resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
+
merge2@1.4.1:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
+ methods@1.1.2:
+ resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
+ engines: {node: '>= 0.6'}
+
micromatch@4.0.7:
resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
engines: {node: '>=8.6'}
+ mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+
+ mime@1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
@@ -1465,6 +1605,9 @@ packages:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
+ ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+
ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
@@ -1482,6 +1625,10 @@ packages:
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ negotiator@0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+
node-releases@2.0.14:
resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
@@ -1533,6 +1680,10 @@ packages:
resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
engines: {node: '>= 0.4'}
+ on-finished@2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+ engines: {node: '>= 0.8'}
+
once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
@@ -1555,6 +1706,10 @@ packages:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
+ parseurl@1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
+
path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
@@ -1574,6 +1729,9 @@ packages:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
engines: {node: '>=16 || 14 >=14.18'}
+ path-to-regexp@0.1.7:
+ resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
+
path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
@@ -1642,19 +1800,40 @@ packages:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
+ prettier@3.3.3:
+ resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
+ engines: {node: '>=14'}
+ hasBin: true
+
prop-types@15.8.1:
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+ proxy-addr@2.0.7:
+ resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
+ engines: {node: '>= 0.10'}
+
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
+ qs@6.11.0:
+ resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
+ engines: {node: '>=0.6'}
+
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
random-words@2.0.1:
resolution: {integrity: sha512-nZNJAmgcFmtJMTDDIUCm/iK4R6RydC6NvALvWhYItXQrgYGk1F7Gww416LpVROFQtfVd5TaLEf4WuSsko03N7w==}
+ range-parser@1.2.1:
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
+ engines: {node: '>= 0.6'}
+
+ raw-body@2.5.2:
+ resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
+ engines: {node: '>= 0.8'}
+
react-dom@18.3.1:
resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
peerDependencies:
@@ -1741,10 +1920,16 @@ packages:
resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
engines: {node: '>=0.4'}
+ safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+
safe-regex-test@1.0.3:
resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
engines: {node: '>= 0.4'}
+ safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+
scheduler@0.23.2:
resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
@@ -1760,6 +1945,14 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ send@0.18.0:
+ resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
+ engines: {node: '>= 0.8.0'}
+
+ serve-static@1.15.0:
+ resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
+ engines: {node: '>= 0.8.0'}
+
set-function-length@1.2.2:
resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
engines: {node: '>= 0.4'}
@@ -1768,6 +1961,9 @@ packages:
resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
engines: {node: '>= 0.4'}
+ setprototypeof@1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+
shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
@@ -1792,6 +1988,10 @@ packages:
resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
engines: {node: '>=0.10.0'}
+ statuses@2.0.1:
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
+ engines: {node: '>= 0.8'}
+
string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
@@ -1876,6 +2076,10 @@ packages:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
+ toidentifier@1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
+
tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
@@ -1923,6 +2127,10 @@ packages:
resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
engines: {node: '>=10'}
+ type-is@1.6.18:
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
+ engines: {node: '>= 0.6'}
+
typed-array-buffer@1.0.2:
resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
engines: {node: '>= 0.4'}
@@ -1950,6 +2158,10 @@ packages:
undici-types@5.26.5:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+ unpipe@1.0.0:
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
+ engines: {node: '>= 0.8'}
+
update-browserslist-db@1.1.0:
resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==}
hasBin: true
@@ -1967,9 +2179,17 @@ packages:
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ utils-merge@1.0.1:
+ resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
+ engines: {node: '>= 0.4.0'}
+
v8-compile-cache-lib@3.0.1:
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
+ vary@1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
+
vite-plugin-string@1.2.3:
resolution: {integrity: sha512-zw2jL0c4B6CAvxO8PshX04494jTcqJjNH2kW1AugBH+fImRY0evdNtVgmeS1i1VFdua/OFhL7fMqIPh0uF21/Q==}
peerDependencies:
@@ -2652,6 +2872,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ accepts@1.3.8:
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+
acorn-jsx@5.3.2(acorn@8.12.1):
dependencies:
acorn: 8.12.1
@@ -2701,6 +2926,8 @@ snapshots:
call-bind: 1.0.7
is-array-buffer: 3.0.4
+ array-flatten@1.1.1: {}
+
array-includes@3.1.8:
dependencies:
call-bind: 1.0.7
@@ -2788,6 +3015,23 @@ snapshots:
binary-extensions@2.3.0: {}
+ body-parser@1.20.2:
+ dependencies:
+ bytes: 3.1.2
+ content-type: 1.0.5
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ on-finished: 2.4.1
+ qs: 6.11.0
+ raw-body: 2.5.2
+ type-is: 1.6.18
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
brace-expansion@1.1.11:
dependencies:
balanced-match: 1.0.2
@@ -2808,6 +3052,8 @@ snapshots:
node-releases: 2.0.14
update-browserslist-db: 1.1.0(browserslist@4.23.1)
+ bytes@3.1.2: {}
+
call-bind@1.0.7:
dependencies:
es-define-property: 1.0.0
@@ -2863,8 +3109,23 @@ snapshots:
concat-map@0.0.1: {}
+ content-disposition@0.5.4:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ content-type@1.0.5: {}
+
convert-source-map@2.0.0: {}
+ cookie-signature@1.0.6: {}
+
+ cookie@0.6.0: {}
+
+ cors@2.8.5:
+ dependencies:
+ object-assign: 4.1.1
+ vary: 1.1.2
+
create-require@1.1.1: {}
cross-spawn@7.0.3:
@@ -2895,6 +3156,10 @@ snapshots:
es-errors: 1.3.0
is-data-view: 1.0.1
+ debug@2.6.9:
+ dependencies:
+ ms: 2.0.0
+
debug@3.2.7:
dependencies:
ms: 2.1.3
@@ -2917,6 +3182,10 @@ snapshots:
has-property-descriptors: 1.0.2
object-keys: 1.1.1
+ depd@2.0.0: {}
+
+ destroy@1.2.0: {}
+
didyoumean@1.2.2: {}
diff@4.0.2: {}
@@ -2937,12 +3206,16 @@ snapshots:
eastasianwidth@0.2.0: {}
+ ee-first@1.1.1: {}
+
electron-to-chromium@1.4.816: {}
emoji-regex@8.0.0: {}
emoji-regex@9.2.2: {}
+ encodeurl@1.0.2: {}
+
es-abstract@1.23.3:
dependencies:
array-buffer-byte-length: 1.0.1
@@ -3063,6 +3336,8 @@ snapshots:
escalade@3.1.2: {}
+ escape-html@1.0.3: {}
+
escape-string-regexp@1.0.5: {}
escape-string-regexp@4.0.0: {}
@@ -3212,6 +3487,44 @@ snapshots:
esutils@2.0.3: {}
+ etag@1.8.1: {}
+
+ express@4.19.2:
+ dependencies:
+ accepts: 1.3.8
+ array-flatten: 1.1.1
+ body-parser: 1.20.2
+ content-disposition: 0.5.4
+ content-type: 1.0.5
+ cookie: 0.6.0
+ cookie-signature: 1.0.6
+ debug: 2.6.9
+ depd: 2.0.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ finalhandler: 1.2.0
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ merge-descriptors: 1.0.1
+ methods: 1.1.2
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ path-to-regexp: 0.1.7
+ proxy-addr: 2.0.7
+ qs: 6.11.0
+ range-parser: 1.2.1
+ safe-buffer: 5.2.1
+ send: 0.18.0
+ serve-static: 1.15.0
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ type-is: 1.6.18
+ utils-merge: 1.0.1
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
fast-deep-equal@3.1.3: {}
fast-glob@3.3.2:
@@ -3238,6 +3551,18 @@ snapshots:
dependencies:
to-regex-range: 5.0.1
+ finalhandler@1.2.0:
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ statuses: 2.0.1
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
find-up@5.0.0:
dependencies:
locate-path: 6.0.0
@@ -3260,8 +3585,12 @@ snapshots:
cross-spawn: 7.0.3
signal-exit: 4.1.0
+ forwarded@0.2.0: {}
+
fraction.js@4.3.7: {}
+ fresh@0.5.2: {}
+
fs.realpath@1.0.0: {}
fsevents@2.3.3:
@@ -3370,6 +3699,18 @@ snapshots:
dependencies:
function-bind: 1.1.2
+ http-errors@2.0.0:
+ dependencies:
+ depd: 2.0.0
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ toidentifier: 1.0.1
+
+ iconv-lite@0.4.24:
+ dependencies:
+ safer-buffer: 2.1.2
+
ignore@5.3.1: {}
import-fresh@3.3.0:
@@ -3392,6 +3733,8 @@ snapshots:
hasown: 2.0.2
side-channel: 1.0.6
+ ipaddr.js@1.9.1: {}
+
is-array-buffer@3.0.4:
dependencies:
call-bind: 1.0.7
@@ -3562,6 +3905,14 @@ snapshots:
dependencies:
js-tokens: 4.0.0
+ lottie-react@2.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ lottie-web: 5.12.2
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ lottie-web@5.12.2: {}
+
lru-cache@10.3.0: {}
lru-cache@5.1.1:
@@ -3570,13 +3921,27 @@ snapshots:
make-error@1.3.6: {}
+ media-typer@0.3.0: {}
+
+ merge-descriptors@1.0.1: {}
+
merge2@1.4.1: {}
+ methods@1.1.2: {}
+
micromatch@4.0.7:
dependencies:
braces: 3.0.3
picomatch: 2.3.1
+ mime-db@1.52.0: {}
+
+ mime-types@2.1.35:
+ dependencies:
+ mime-db: 1.52.0
+
+ mime@1.6.0: {}
+
minimatch@3.1.2:
dependencies:
brace-expansion: 1.1.11
@@ -3589,6 +3954,8 @@ snapshots:
minipass@7.1.2: {}
+ ms@2.0.0: {}
+
ms@2.1.2: {}
ms@2.1.3: {}
@@ -3603,6 +3970,8 @@ snapshots:
natural-compare@1.4.0: {}
+ negotiator@0.6.3: {}
+
node-releases@2.0.14: {}
normalize-path@3.0.0: {}
@@ -3655,6 +4024,10 @@ snapshots:
define-properties: 1.2.1
es-object-atoms: 1.0.0
+ on-finished@2.4.1:
+ dependencies:
+ ee-first: 1.1.1
+
once@1.4.0:
dependencies:
wrappy: 1.0.2
@@ -3682,6 +4055,8 @@ snapshots:
dependencies:
callsites: 3.1.0
+ parseurl@1.3.3: {}
+
path-exists@4.0.0: {}
path-is-absolute@1.0.1: {}
@@ -3695,6 +4070,8 @@ snapshots:
lru-cache: 10.3.0
minipass: 7.1.2
+ path-to-regexp@0.1.7: {}
+
path-type@4.0.0: {}
picocolors@1.0.1: {}
@@ -3747,20 +4124,40 @@ snapshots:
prelude-ls@1.2.1: {}
+ prettier@3.3.3: {}
+
prop-types@15.8.1:
dependencies:
loose-envify: 1.4.0
object-assign: 4.1.1
react-is: 16.13.1
+ proxy-addr@2.0.7:
+ dependencies:
+ forwarded: 0.2.0
+ ipaddr.js: 1.9.1
+
punycode@2.3.1: {}
+ qs@6.11.0:
+ dependencies:
+ side-channel: 1.0.6
+
queue-microtask@1.2.3: {}
random-words@2.0.1:
dependencies:
seedrandom: 3.0.5
+ range-parser@1.2.1: {}
+
+ raw-body@2.5.2:
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ unpipe: 1.0.0
+
react-dom@18.3.1(react@18.3.1):
dependencies:
loose-envify: 1.4.0
@@ -3872,12 +4269,16 @@ snapshots:
has-symbols: 1.0.3
isarray: 2.0.5
+ safe-buffer@5.2.1: {}
+
safe-regex-test@1.0.3:
dependencies:
call-bind: 1.0.7
es-errors: 1.3.0
is-regex: 1.1.4
+ safer-buffer@2.1.2: {}
+
scheduler@0.23.2:
dependencies:
loose-envify: 1.4.0
@@ -3888,6 +4289,33 @@ snapshots:
semver@7.6.2: {}
+ send@0.18.0:
+ dependencies:
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ mime: 1.6.0
+ ms: 2.1.3
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ statuses: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ serve-static@1.15.0:
+ dependencies:
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 0.18.0
+ transitivePeerDependencies:
+ - supports-color
+
set-function-length@1.2.2:
dependencies:
define-data-property: 1.1.4
@@ -3904,6 +4332,8 @@ snapshots:
functions-have-names: 1.2.3
has-property-descriptors: 1.0.2
+ setprototypeof@1.2.0: {}
+
shebang-command@2.0.0:
dependencies:
shebang-regex: 3.0.0
@@ -3923,6 +4353,8 @@ snapshots:
source-map-js@1.2.0: {}
+ statuses@2.0.1: {}
+
string-width@4.2.3:
dependencies:
emoji-regex: 8.0.0
@@ -4050,6 +4482,8 @@ snapshots:
dependencies:
is-number: 7.0.0
+ toidentifier@1.0.1: {}
+
tr46@0.0.3: {}
ts-api-utils@1.3.0(typescript@5.5.2):
@@ -4093,6 +4527,11 @@ snapshots:
type-fest@0.20.2: {}
+ type-is@1.6.18:
+ dependencies:
+ media-typer: 0.3.0
+ mime-types: 2.1.35
+
typed-array-buffer@1.0.2:
dependencies:
call-bind: 1.0.7
@@ -4136,6 +4575,8 @@ snapshots:
undici-types@5.26.5: {}
+ unpipe@1.0.0: {}
+
update-browserslist-db@1.1.0(browserslist@4.23.1):
dependencies:
browserslist: 4.23.1
@@ -4152,8 +4593,12 @@ snapshots:
util-deprecate@1.0.2: {}
+ utils-merge@1.0.1: {}
+
v8-compile-cache-lib@3.0.1: {}
+ vary@1.1.2: {}
+
vite-plugin-string@1.2.3(rollup@4.18.0)(vite@5.3.1(@types/node@20.14.9)):
dependencies:
'@rollup/pluginutils': 5.1.0(rollup@4.18.0)
diff --git a/nepalingo-web/postcss.config.js b/nepalingo-web/postcss.config.js
index af86863..70cccb4 100644
--- a/nepalingo-web/postcss.config.js
+++ b/nepalingo-web/postcss.config.js
@@ -1,4 +1,4 @@
export const plugins = {
tailwindcss: {},
autoprefixer: {},
-};
\ No newline at end of file
+};
diff --git a/nepalingo-web/public/CardOverlay.jpg b/nepalingo-web/public/CardOverlay.jpg
new file mode 100644
index 0000000..d996dea
Binary files /dev/null and b/nepalingo-web/public/CardOverlay.jpg differ
diff --git a/nepalingo-web/public/CardOverlayBlur.png b/nepalingo-web/public/CardOverlayBlur.png
new file mode 100644
index 0000000..2a3ea43
Binary files /dev/null and b/nepalingo-web/public/CardOverlayBlur.png differ
diff --git a/nepalingo-web/public/dictionaries/TajpuriyaDictionary.csv b/nepalingo-web/public/dictionaries/TajpuriyaDictionary.csv
index c632494..4a1a533 100644
--- a/nepalingo-web/public/dictionaries/TajpuriyaDictionary.csv
+++ b/nepalingo-web/public/dictionaries/TajpuriyaDictionary.csv
@@ -1,4 +1,3 @@
-English,Tajpuriya
Go,जा
Come,ओस
Sit,बोठ
@@ -38,4 +37,45 @@ Did,करेसोक
House,घरत
Infront,आगुबिती
Behind,पाछुबिती
-His/Her,वाँर
\ No newline at end of file
+His/Her,वाँर
+Road,दमाल्ड
+Very much,बढ्ढा
+Mango,आँम
+Monkey,बन्दर
+Book,किताब
+Blanket,झाका
+Balcony,धाप
+Door,दुवार
+Kitchen,नदेन घर
+Few,एक जरा
+Soon,ज्ल्दी
+Saw,देखल्कु
+Far,भेल्ला दुर
+Pull,तान्नु
+Ask,पुछारिक
+Now,अल्हा
+Many,भेलेला
+Out,बाहार
+Nowadays,आचकल
+Possible,सम्भव
+Threate,गाली दितोक
+Now,अल्लाई
+Prison,जेल
+Want,चाहॉवर / चाहातोक
+Too,ईहान
+See,देख्नु
+Run,दौडीनू
+our,हामार
+Near,नज्दिक
+Far,दुर
+push,ठेल्वा
+Open,खुल्ला
+Ask,ककीना
+Tell,क
+Coming,आसेसोक
+Going,जासोक
+From,आर से
+Try,कोशिस
+Back,पाछु
+Eat,खाबा
+Put,रखवार
diff --git a/nepalingo-web/public/favicon.ico b/nepalingo-web/public/favicon.ico
index 868ca0e..8284d44 100644
Binary files a/nepalingo-web/public/favicon.ico and b/nepalingo-web/public/favicon.ico differ
diff --git a/nepalingo-web/public/faviconOld.ico b/nepalingo-web/public/faviconOld.ico
new file mode 100644
index 0000000..868ca0e
Binary files /dev/null and b/nepalingo-web/public/faviconOld.ico differ
diff --git a/README-photos/Nancy.png b/nepalingo-web/public/photos/Nancy.png
similarity index 100%
rename from README-photos/Nancy.png
rename to nepalingo-web/public/photos/Nancy.png
diff --git a/README-photos/aditya.jpeg b/nepalingo-web/public/photos/aditya.jpeg
similarity index 100%
rename from README-photos/aditya.jpeg
rename to nepalingo-web/public/photos/aditya.jpeg
diff --git a/README-photos/binamkayastha.png b/nepalingo-web/public/photos/binamkayastha.png
similarity index 100%
rename from README-photos/binamkayastha.png
rename to nepalingo-web/public/photos/binamkayastha.png
diff --git a/README-photos/christinakayastha.png b/nepalingo-web/public/photos/christinakayastha.png
similarity index 100%
rename from README-photos/christinakayastha.png
rename to nepalingo-web/public/photos/christinakayastha.png
diff --git a/README-photos/devakirawal.jpeg b/nepalingo-web/public/photos/devakirawal.jpeg
similarity index 100%
rename from README-photos/devakirawal.jpeg
rename to nepalingo-web/public/photos/devakirawal.jpeg
diff --git a/README-photos/hemsbhandari.jpg b/nepalingo-web/public/photos/hemsbhandari.jpg
similarity index 100%
rename from README-photos/hemsbhandari.jpg
rename to nepalingo-web/public/photos/hemsbhandari.jpg
diff --git a/README-photos/puja.png b/nepalingo-web/public/photos/puja.png
similarity index 100%
rename from README-photos/puja.png
rename to nepalingo-web/public/photos/puja.png
diff --git a/README-photos/sanskar.jpg b/nepalingo-web/public/photos/sanskar.jpg
similarity index 100%
rename from README-photos/sanskar.jpg
rename to nepalingo-web/public/photos/sanskar.jpg
diff --git a/README-photos/saphalupreti.jpg b/nepalingo-web/public/photos/saphalupreti.jpg
similarity index 100%
rename from README-photos/saphalupreti.jpg
rename to nepalingo-web/public/photos/saphalupreti.jpg
diff --git a/nepalingo-web/public/quotes/maithili.csv b/nepalingo-web/public/quotes/maithili.csv
index e69de29..a67d6ce 100644
--- a/nepalingo-web/public/quotes/maithili.csv
+++ b/nepalingo-web/public/quotes/maithili.csv
@@ -0,0 +1,5 @@
+संघर्षे जीवन के वास्तविक रंग छै।,Struggle is the true color of life.
+सफलता के रास्ता संघर्ष से होइत अछि।,The path to success goes through struggle.
+सहनशीलता मनुष्य के बड़ता अछि।,Tolerance elevates a person.
+"बेर-बेर कोशिश करब, सफलता जरूर मिलत।","Keep trying repeatedly, success will surely come."
+सपना देखै में कोनो हर्ज नइ छै।,There is no harm in dreaming.
diff --git a/nepalingo-web/public/quotes/newari.csv b/nepalingo-web/public/quotes/newari.csv
index 857b18b..04447e2 100644
--- a/nepalingo-web/public/quotes/newari.csv
+++ b/nepalingo-web/public/quotes/newari.csv
@@ -1,6 +1,5 @@
-nepalbhasa, english
-"𑐮𑐸𑑃 𑐮𑐣𑐾𑐐𑐸 𑐟𑑅𑐎𑑅, 𑐩𑐣𑐹 𑐮𑐣𑐾𑐐𑐸 𑐕𑐎𑑅 𑑋", "Gold may be weighed many times, a man weighed but once.(www.nepal-lipi.com)"
-"𑐟𑑅𑐡𑐾𑐰𑐵𑐫𑐵 𑐎𑑂𑐰𑐫𑑂 𑐩𑐟𑑃 𑐩𑐏𑑃 𑑋", "Dark under the lamp.(www.nepal-lipi.com)"
-"𑐘𑐶𑐩𑑂𑐴 𑐟𑐶𑐥𑐹 𑐮𑑂𑐰𑐵𑐂, 𑐩𑐵𑐎𑐮𑑃 𑐦𑑃𑐳𑐶 𑐏𑐵𑐂 𑑋", "While the couple quarrels the monkey picks up the fruit.(www.nepal-lipi.com)"
-"𑐮𑐸𑐦𑐶𑑃 𑐴𑐵𑐫𑐾𑐰𑑃 𑐩𑐵𑑃 𑐮𑐸𑐩𑑃 𑑋", "When you stumble, you remember your mother.(www.nepal-lipi.com)"
-"𑐩𑐶𑐳𑐵𑐫𑐵 𑐟𑐶𑐳𑐵, 𑐧𑐬𑐾𑐖𑐸𑐫𑐵 𑐣𑐳𑐵 𑑋", "A woman’s ornament is food for the goldsmith. (www.nepal-lipi.com)"
+"𑐮𑐸𑑃 𑐮𑐣𑐾𑐐𑐸 𑐟𑑅𑐎𑑅, 𑐩𑐣𑐹 𑐮𑐣𑐾𑐐𑐸 𑐕𑐎𑑅 𑑋", "Gold may be weighed many times, a man weighed but once.(www.nepal-lipi.com)"
+"𑐟𑑅𑐡𑐾𑐰𑐵𑐫𑐵 𑐎𑑂𑐰𑐫𑑂 𑐩𑐟𑑃 𑐩𑐏𑑃 𑑋", "Dark under the lamp.(www.nepal-lipi.com)"
+"𑐘𑐶𑐩𑑂𑐴 𑐟𑐶𑐥𑐹 𑐮𑑂𑐰𑐵𑐂, 𑐩𑐵𑐎𑐮𑑃 𑐦𑑃𑐳𑐶 𑐏𑐵𑐂 𑑋", "While the couple quarrels the monkey picks up the fruit.(www.nepal-lipi.com)"
+"𑐮𑐸𑐦𑐶𑑃 𑐴𑐵𑐫𑐾𑐰𑑃 𑐩𑐵𑑃 𑐮𑐸𑐩𑑃 𑑋", "When you stumble, you remember your mother.(www.nepal-lipi.com)"
+"𑐩𑐶𑐳𑐵𑐫𑐵 𑐟𑐶𑐳𑐵, 𑐧𑐬𑐾𑐖𑐸𑐫𑐵 𑐣𑐳𑐵 𑑋", "A woman’s ornament is food for the goldsmith. (www.nepal-lipi.com)"
diff --git a/nepalingo-web/src/App.tsx b/nepalingo-web/src/App.tsx
index e889600..c4dcd31 100644
--- a/nepalingo-web/src/App.tsx
+++ b/nepalingo-web/src/App.tsx
@@ -1,32 +1,47 @@
-import React from 'react';
-import {
- BrowserRouter as Router,
- Route,
- Routes,
- Navigate,
-} from "react-router-dom";
-import User_auth from "./components/userAuth/UserAuth";
-import Home from "./pages/Home/Home";
-import FlashcardPage from "./pages/FlashcardPage"
-import { useAuth } from "./components/userAuth/AuthContext";
+import React from "react";
+import Login from "@/pages/Login";
+import Home from "@/pages/Home";
+import FlashcardPage from "@/pages/FlashcardPage";
+import DictionaryPage from "@/pages/DictionaryPage";
+import ResetPassword from "@/pages/ResetPassword";
+import PasswordEmail from "@/pages/PasswordEmail";
+import About from "@/components/header/About";
+import { BrowserRouter as Router, Route, Routes } from "react-router-dom";
import ReactGA from "react-ga4";
+import { PrivateRoutes } from "@/components/PrivateRoutes";
+import FeedbackForm from "@/components/FeedbackForm";
+import TestYourself from "@/pages/TestYourself";
+import SignUp from "./pages/SignUp";
const App: React.FC = () => {
const TrackingID = import.meta.env.VITE_GOOGLE_ANALYTICS_TRACKING_ID;
ReactGA.initialize(TrackingID);
- const { user } = useAuth();
+ const handleFeedbackFormClose = () => {
+ console.log("Feedback form closed");
+ };
return (
-
-
- } />
- } />
- {/* Protect the / route, redirect to /login if not authenticated */}
- : } />
- {/* Default route redirects to /login */}
- } />
-
-
+
+
+
+ } />
+ } />
+ }
+ />
+ } />
+ } />
+ } />
+ }>
+ } />
+ } />
+ } />
+ } />
+
+
+
+
);
};
diff --git a/nepalingo-web/src/assets/NepalingoCreatureBlinkWave.json b/nepalingo-web/src/assets/NepalingoCreatureBlinkWave.json
new file mode 100644
index 0000000..6a0255c
--- /dev/null
+++ b/nepalingo-web/src/assets/NepalingoCreatureBlinkWave.json
@@ -0,0 +1,7391 @@
+{
+ "v": "5.5.2",
+ "meta": {
+ "a": "SVGator",
+ "d": "SVGator, the ultimate SVG animation generator now supports Lottie: a thoughtfully designed, intuitive interface, right at your fingertips.",
+ "g": "Made in SVGator (https://www.svgator.com/)"
+ },
+ "metadata": {
+ "filename": "Nepalingo Creature Variation.json",
+ "customProps": {
+ "k": [
+ "SVGator",
+ "svgator",
+ "lottie animation",
+ "svg animation",
+ "lottie",
+ "svg"
+ ],
+ "version": 1,
+ "app": "https://app.svgator.com/editor#/5fb45bdc2de94eeb97b0c1ab8c68a12c",
+ "site": "https://www.svgator.com/",
+ "date": "2024-08-04T12:43:01.826Z",
+ "exportId": "3b947883594a4948b35d8160414f59e2",
+ "cached": "false"
+ }
+ },
+ "nm": "Nepalingo Creature Variation",
+ "ddd": 0,
+ "assets": [],
+ "w": 810,
+ "h": 809.999993,
+ "ip": 0,
+ "op": 350,
+ "fr": 100,
+ "fonts": { "list": [] },
+ "layers": [
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [584.269531, 634.1875],
+ [207.335938, 462.96875],
+ [292.632812, 275.183594],
+ [669.570312, 446.402344],
+ [584.269531, 634.1875],
+ [584.269531, 634.1875]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path209"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path210",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [438.453125, 454.685547] },
+ "p": { "a": 0, "k": [438.453125, 454.685547] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path208"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-7fd6e5e3e22"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-7fd6e5e3e2",
+ "ao": 0,
+ "ind": 115,
+ "parent": 114,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [472.01355, 421.132935] },
+ "p": { "a": 0, "k": [472.01355, 421.132935] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [395.835938, 548.632812],
+ [287.921875, 433.117188],
+ [293.191406, 275.128906],
+ [669.339844, 445.988281],
+ [553.828125, 553.902344],
+ [395.835938, 548.632812],
+ [395.835938, 548.632812]
+ ],
+ "i": [
+ [0, 0],
+ [18.589844, 49.535156],
+ [-23.542968, 51.824219],
+ [-61.164063, -27.78125],
+ [49.53125, -18.589844],
+ [51.824218, 23.542969],
+ [0, 0]
+ ],
+ "o": [
+ [-52.007813, -23.625],
+ [-18.589844, -49.53125],
+ [60.980469, 27.699219],
+ [-23.539063, 51.828125],
+ [-49.535156, 18.589844],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path212"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.101961, 0.101961, 0.101961] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path213",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [472.01355, 421.132935] },
+ "p": { "a": 0, "k": [472.01355, 421.132935] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path211"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [472.01355, 421.132935] },
+ "p": { "a": 0, "k": [472.01355, 421.132935] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g307"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g306"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g305",
+ "ao": 0,
+ "ind": 114,
+ "parent": 116,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 115
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [472.01355, 421.132935] },
+ "p": { "a": 0, "k": [472.01355, 421.132935] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g304",
+ "ao": 0,
+ "ind": 116,
+ "parent": 113,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [472.01355, 421.132935] },
+ "p": { "a": 0, "k": [472.01355, 421.132935] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g303",
+ "ao": 0,
+ "ind": 113,
+ "parent": 117,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [472.01355, 421.132935] },
+ "p": { "a": 0, "k": [472.01355, 421.132935] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g298",
+ "ao": 0,
+ "ind": 117,
+ "parent": 112,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [327.007806, 354.849521] },
+ "p": { "a": 0, "k": [327.007817, 357.244055] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [0],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 50,
+ "s": [-50],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 120,
+ "s": [0],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 190,
+ "s": [-50],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 280,
+ "s": [0],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g297",
+ "ao": 0,
+ "ind": 112,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [564.519531, 712.347656],
+ [109.542969, 504.390625],
+ [213.367188, 277.242188],
+ [668.34375, 485.199219],
+ [564.519531, 712.347656],
+ [564.519531, 712.347656]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path197"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path198",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [388.94336, 494.794922] },
+ "p": { "a": 0, "k": [388.94336, 494.794922] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path196"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-d65927a6452"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-d65927a645",
+ "ao": 0,
+ "ind": 109,
+ "parent": 108,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [429.502167, 454.269318] },
+ "p": { "a": 0, "k": [429.502167, 454.269318] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [337.011719, 608.40625],
+ [206.898438, 468.476562],
+ [213.71875, 277.523438],
+ [667.894531, 485.113281],
+ [527.964844, 615.226562],
+ [337.011719, 608.40625],
+ [337.011719, 608.40625]
+ ],
+ "i": [
+ [0, 0],
+ [22.332031, 59.925782],
+ [-28.601562, 62.578124],
+ [-73.855469, -33.753906],
+ [59.925781, -22.332031],
+ [62.574219, 28.601562],
+ [0, 0]
+ ],
+ "o": [
+ [-62.796875, -28.703125],
+ [-22.328126, -59.925781],
+ [73.632812, 33.65625],
+ [-28.601562, 62.578125],
+ [-59.925782, 22.328126],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path200"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.772549, 0.156863, 0.243137] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path201",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [429.502167, 454.269318] },
+ "p": { "a": 0, "k": [429.502167, 454.269318] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path199"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [429.502167, 454.269318] },
+ "p": { "a": 0, "k": [429.502167, 454.269318] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g292"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g291"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g290",
+ "ao": 0,
+ "ind": 108,
+ "parent": 110,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 109
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [429.502167, 454.269318] },
+ "p": { "a": 0, "k": [429.502167, 454.269318] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g289",
+ "ao": 0,
+ "ind": 110,
+ "parent": 107,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [429.502167, 454.269318] },
+ "p": { "a": 0, "k": [429.502167, 454.269318] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g288",
+ "ao": 0,
+ "ind": 107,
+ "parent": 111,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [429.502167, 454.269318] },
+ "p": { "a": 0, "k": [429.502167, 454.269318] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g283",
+ "ao": 0,
+ "ind": 111,
+ "parent": 106,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [429.502167, 454.269318] },
+ "p": { "a": 0, "k": [429.502167, 454.269318] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g282",
+ "ao": 0,
+ "ind": 106,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [342.925781, 771.5],
+ [346.945312, 761.789062],
+ [356.65625, 757.769531],
+ [421.003906, 757.769531],
+ [430.714844, 761.789062],
+ [434.738281, 771.5],
+ [430.714844, 781.210938],
+ [421.003906, 785.234375],
+ [356.65625, 785.234375],
+ [346.945312, 781.210938],
+ [342.925781, 771.5],
+ [342.925781, 771.5]
+ ],
+ "i": [
+ [0, 0],
+ [-2.574218, 2.578126],
+ [-3.640625, 0],
+ [0, 0],
+ [-2.574219, -2.574218],
+ [0, -3.640625],
+ [2.574218, -2.574219],
+ [3.640625, 0],
+ [0, 0],
+ [2.578126, 2.578124],
+ [0, 3.644531],
+ [0, 0]
+ ],
+ "o": [
+ [0, -3.640625],
+ [2.578126, -2.574218],
+ [0, 0],
+ [3.640625, 0],
+ [2.574218, 2.578126],
+ [0, 3.644531],
+ [-2.574219, 2.578124],
+ [0, 0],
+ [-3.640625, 0],
+ [-2.574218, -2.574219],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path185"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path186",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [388.832031, 771.501953] },
+ "p": { "a": 0, "k": [388.832031, 771.501953] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path184"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-8eb63dd1df2"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-8eb63dd1df",
+ "ao": 0,
+ "ind": 104,
+ "parent": 103,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [388.845703, 771.501953] },
+ "p": { "a": 0, "k": [388.845703, 771.501953] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [342.925781, 785.234375],
+ [342.925781, 757.769531],
+ [434.765625, 757.769531],
+ [434.765625, 785.234375],
+ [342.925781, 785.234375],
+ [342.925781, 785.234375]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path188"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.101961, 0.101961, 0.101961] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path189",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [388.845703, 771.501953] },
+ "p": { "a": 0, "k": [388.845703, 771.501953] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path187"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [388.845703, 771.501953] },
+ "p": { "a": 0, "k": [388.845703, 771.501953] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g277"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g276"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g275",
+ "ao": 0,
+ "ind": 103,
+ "parent": 105,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 104
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [388.845703, 771.501953] },
+ "p": { "a": 0, "k": [388.845703, 771.501953] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g274",
+ "ao": 0,
+ "ind": 105,
+ "parent": 102,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [388.845703, 771.501953] },
+ "p": { "a": 0, "k": [388.845703, 771.501953] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g273",
+ "ao": 0,
+ "ind": 102,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [249.394531, 733.53125],
+ [253.414062, 723.820312],
+ [263.125, 719.800781],
+ [327.472656, 719.800781],
+ [337.183594, 723.820312],
+ [341.207031, 733.53125],
+ [337.183594, 743.242188],
+ [327.472656, 747.265625],
+ [263.125, 747.265625],
+ [253.414062, 743.242188],
+ [249.394531, 733.53125],
+ [249.394531, 733.53125]
+ ],
+ "i": [
+ [0, 0],
+ [-2.574218, 2.578126],
+ [-3.640625, 0],
+ [0, 0],
+ [-2.578125, -2.574218],
+ [0, -3.640625],
+ [2.574218, -2.574219],
+ [3.640625, 0],
+ [0, 0],
+ [2.578126, 2.578124],
+ [0, 3.644531],
+ [0, 0]
+ ],
+ "o": [
+ [0, -3.640625],
+ [2.578126, -2.574218],
+ [0, 0],
+ [3.640625, 0],
+ [2.574218, 2.578126],
+ [0, 3.644531],
+ [-2.578125, 2.578124],
+ [0, 0],
+ [-3.640625, 0],
+ [-2.574218, -2.574219],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path176"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path177",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [295.300781, 733.533203] },
+ "p": { "a": 0, "k": [295.300781, 733.533203] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path175"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-ab064993da2"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-ab064993da",
+ "ao": 0,
+ "ind": 100,
+ "parent": 99,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [295.314453, 733.533203] },
+ "p": { "a": 0, "k": [295.314453, 733.533203] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [249.394531, 747.265625],
+ [249.394531, 719.800781],
+ [341.234375, 719.800781],
+ [341.234375, 747.265625],
+ [249.394531, 747.265625],
+ [249.394531, 747.265625]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path179"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.101961, 0.101961, 0.101961] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path180",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [295.314453, 733.533203] },
+ "p": { "a": 0, "k": [295.314453, 733.533203] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path178"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [295.314453, 733.533203] },
+ "p": { "a": 0, "k": [295.314453, 733.533203] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g268"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g267"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g266",
+ "ao": 0,
+ "ind": 99,
+ "parent": 101,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 100
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [295.314453, 733.533203] },
+ "p": { "a": 0, "k": [295.314453, 733.533203] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g265",
+ "ao": 0,
+ "ind": 101,
+ "parent": 98,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [295.314453, 733.533203] },
+ "p": { "a": 0, "k": [295.314453, 733.533203] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g264",
+ "ao": 0,
+ "ind": 98,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [416.648438, 595.765625],
+ [431.871094, 602.683594],
+ [437.742188, 618.339844],
+ [433.976562, 729.492188],
+ [427.058594, 744.714844],
+ [411.402344, 750.585938],
+ [396.175781, 743.667969],
+ [390.304688, 728.011719],
+ [394.070312, 616.863281],
+ [400.992188, 601.636719],
+ [416.648438, 595.765625],
+ [416.648438, 595.765625]
+ ],
+ "i": [
+ [0, 0],
+ [-3.957032, -4.234375],
+ [0.199218, -5.789063],
+ [0, 0],
+ [4.234375, -3.957032],
+ [5.789062, 0.199218],
+ [3.957031, 4.234375],
+ [-0.195313, 5.789062],
+ [0, 0],
+ [-4.234376, 3.957031],
+ [-5.792969, -0.195313],
+ [0, 0]
+ ],
+ "o": [
+ [5.789062, 0.195313],
+ [3.957031, 4.234375],
+ [0, 0],
+ [-0.195312, 5.789062],
+ [-4.234375, 3.957031],
+ [-5.792969, -0.195313],
+ [-3.953125, -4.234375],
+ [0, 0],
+ [0.199219, -5.792969],
+ [4.230468, -3.957031],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path167"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path168",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [414.023666, 673.175995] },
+ "p": { "a": 0, "k": [414.023666, 673.175995] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path166"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-4fa0653c092"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-4fa0653c09",
+ "ao": 0,
+ "ind": 95,
+ "parent": 94,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [414.023438, 673.214844] },
+ "p": { "a": 0, "k": [414.023438, 673.214844] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [394.8125, 595.027344],
+ [438.484375, 596.503906],
+ [433.234375, 751.402344],
+ [389.5625, 749.921875],
+ [394.8125, 595.027344],
+ [394.8125, 595.027344]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path170"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.772549, 0.156863, 0.243137] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path171",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [414.023437, 673.214844] },
+ "p": { "a": 0, "k": [414.023438, 673.214844] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path169"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [414.023437, 673.214844] },
+ "p": { "a": 0, "k": [414.023438, 673.214844] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g259"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g258"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g257",
+ "ao": 0,
+ "ind": 94,
+ "parent": 96,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 95
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [414.023437, 673.214844] },
+ "p": { "a": 0, "k": [414.023438, 673.214844] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g256",
+ "ao": 0,
+ "ind": 96,
+ "parent": 93,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [414.023438, 673.214844] },
+ "p": { "a": 0, "k": [414.023438, 673.214844] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g255",
+ "ao": 0,
+ "ind": 93,
+ "parent": 97,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [414.023437, 673.214844] },
+ "p": { "a": 0, "k": [414.023438, 673.214844] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g250",
+ "ao": 0,
+ "ind": 97,
+ "parent": 92,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [414.023438, 673.214844] },
+ "p": { "a": 0, "k": [414.023438, 673.214844] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g249",
+ "ao": 0,
+ "ind": 92,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [329.632812, 556.789062],
+ [344.855469, 563.707031],
+ [350.730469, 579.363281],
+ [346.960938, 690.515625],
+ [340.042969, 705.738281],
+ [324.386719, 711.609375],
+ [309.164062, 704.691406],
+ [303.292969, 689.035156],
+ [307.058594, 577.882812],
+ [313.976562, 562.660156],
+ [329.632812, 556.789062],
+ [329.632812, 556.789062]
+ ],
+ "i": [
+ [0, 0],
+ [-3.953125, -4.234375],
+ [0.195312, -5.789062],
+ [0, 0],
+ [4.234375, -3.957031],
+ [5.792969, 0.195313],
+ [3.957032, 4.234375],
+ [-0.199219, 5.789063],
+ [0, 0],
+ [-4.234374, 3.957032],
+ [-5.789062, -0.195312],
+ [0, 0]
+ ],
+ "o": [
+ [5.792969, 0.195313],
+ [3.957031, 4.234375],
+ [0, 0],
+ [-0.195313, 5.789063],
+ [-4.234375, 3.957031],
+ [-5.789063, -0.195313],
+ [-3.957031, -4.234375],
+ [0, 0],
+ [0.195312, -5.789062],
+ [4.234376, -3.957031],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path155"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path156",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [327.01149, 634.199218] },
+ "p": { "a": 0, "k": [327.01149, 634.199218] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path154"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-9be36222562"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-9be3622256",
+ "ao": 0,
+ "ind": 89,
+ "parent": 88,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [327.007813, 634.236328] },
+ "p": { "a": 0, "k": [327.007813, 634.236328] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [307.796875, 556.046875],
+ [351.46875, 557.527344],
+ [346.21875, 712.425781],
+ [302.546875, 710.945312],
+ [307.796875, 556.046875],
+ [307.796875, 556.046875]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path158"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.772549, 0.156863, 0.243137] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path159",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [327.007812, 634.236328] },
+ "p": { "a": 0, "k": [327.007813, 634.236328] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path157"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [327.007812, 634.236328] },
+ "p": { "a": 0, "k": [327.007813, 634.236328] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g244"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g243"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g242",
+ "ao": 0,
+ "ind": 88,
+ "parent": 90,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 89
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [327.007812, 634.236328] },
+ "p": { "a": 0, "k": [327.007813, 634.236328] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g241",
+ "ao": 0,
+ "ind": 90,
+ "parent": 87,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [327.007813, 634.236328] },
+ "p": { "a": 0, "k": [327.007813, 634.236328] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g240",
+ "ao": 0,
+ "ind": 87,
+ "parent": 91,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [327.007812, 634.236328] },
+ "p": { "a": 0, "k": [327.007813, 634.236328] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g235",
+ "ao": 0,
+ "ind": 91,
+ "parent": 86,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [327.007813, 634.236328] },
+ "p": { "a": 0, "k": [327.007813, 634.236328] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g234",
+ "ao": 0,
+ "ind": 86,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [260.917969, 83.90625],
+ [296.496094, 117.238281],
+ [287.777344, 126.542969],
+ [252.203125, 93.210938],
+ [260.917969, 83.90625],
+ [260.917969, 83.90625]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path143"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path144",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [274.34961, 105.224609] },
+ "p": { "a": 0, "k": [274.34961, 105.22461] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path142"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-fac1b937542"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-fac1b93754",
+ "ao": 0,
+ "ind": 82,
+ "parent": 81,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [270.256729, 109.423828] },
+ "p": { "a": 0, "k": [270.256729, 109.423828] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [252.242188, 93.167969],
+ [255.667969, 92.507812],
+ [257.421875, 92.371094],
+ [257.640625, 92.359375],
+ [257.859375, 92.355469],
+ [258.300781, 92.351562],
+ [258.519531, 92.347656],
+ [258.742188, 92.351562],
+ [259.183594, 92.359375],
+ [266.222656, 93.453125],
+ [278.695312, 100.574219],
+ [286.609375, 112.554688],
+ [288.160156, 119.507812],
+ [288.195312, 119.949219],
+ [288.214844, 120.167969],
+ [288.226562, 120.386719],
+ [288.25, 120.828125],
+ [288.261719, 121.046875],
+ [288.265625, 121.265625],
+ [288.269531, 121.707031],
+ [288.269531, 122.148438],
+ [288.261719, 122.585938],
+ [288.246094, 123.023438],
+ [287.808594, 126.488281],
+ [287.507812, 126.5],
+ [286.566406, 119.875],
+ [284.382812, 113.5625],
+ [283.644531, 112.0625],
+ [282.84375, 110.597656],
+ [281.027344, 107.796875],
+ [271.335938, 98.71875],
+ [268.421875, 97.089844],
+ [266.910156, 96.382812],
+ [265.363281, 95.742188],
+ [258.921875, 93.980469],
+ [252.25, 93.472656],
+ [252.242188, 93.167969],
+ [252.242188, 93.167969]
+ ],
+ "i": [
+ [0, 0],
+ [-1.160157, 0.121094],
+ [-0.585937, 0.027344],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [-2.300781, -0.664063],
+ [-3.535156, -3.316407],
+ [-1.613281, -4.515626],
+ [-0.21875, -2.382812],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [-0.003907, -0.074219],
+ [0, 0],
+ [0, 0],
+ [0.003907, -0.152344],
+ [0.007812, -0.144532],
+ [0.007812, -0.144532],
+ [0.246094, -1.140625],
+ [0, 0],
+ [0.527344, 2.175781],
+ [0.933594, 2.03125],
+ [0.257813, 0.492188],
+ [0.277344, 0.484375],
+ [0.652344, 0.90625],
+ [3.820312, 2.398438],
+ [1, 0.496094],
+ [0.507813, 0.222657],
+ [0.519531, 0.203124],
+ [2.207031, 0.375],
+ [2.242188, -0.046875],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [1.121093, -0.316407],
+ [0.582031, -0.070312],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [2.394531, 0.0625],
+ [4.617188, 1.316406],
+ [3.535157, 3.320312],
+ [0.8125, 2.253906],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0.003906, 0.070313],
+ [0, 0],
+ [0, 0],
+ [0, 0.144531],
+ [0, 0.148437],
+ [-0.003907, 0.144531],
+ [-0.046875, 1.167968],
+ [0, 0],
+ [-0.101562, -2.238281],
+ [-0.523437, -2.175781],
+ [-0.234374, -0.507812],
+ [-0.257812, -0.496094],
+ [-0.558594, -0.960937],
+ [-2.640625, -3.65625],
+ [-0.941407, -0.589844],
+ [-0.496094, -0.25],
+ [-0.511718, -0.222656],
+ [-2.089843, -0.800782],
+ [-2.207031, -0.386719],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path146"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.101961, 0.101961, 0.101961] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path147",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [270.256729, 109.423828] },
+ "p": { "a": 0, "k": [270.256729, 109.423828] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path145"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [270.256729, 109.423828] },
+ "p": { "a": 0, "k": [270.256729, 109.423828] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g229"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g228"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g227",
+ "ao": 0,
+ "ind": 81,
+ "parent": 83,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 82
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [270.256729, 109.423828] },
+ "p": { "a": 0, "k": [270.256729, 109.423828] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g226",
+ "ao": 0,
+ "ind": 83,
+ "parent": 80,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [270.256729, 109.423828] },
+ "p": { "a": 0, "k": [270.256729, 109.423828] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g225",
+ "ao": 0,
+ "ind": 80,
+ "parent": 84,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [270.256729, 109.423828] },
+ "p": { "a": 0, "k": [270.256729, 109.423828] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g220",
+ "ao": 0,
+ "ind": 84,
+ "parent": 79,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [270.256729, 109.423828] },
+ "p": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [270.256729, 109.423828],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 1
+ },
+ {
+ "t": 140,
+ "s": [241.242577, 135.753503],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 1
+ },
+ {
+ "t": 280,
+ "s": [270.26, 109.42],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0,
+ "ti": [0, 0],
+ "to": [0, 0]
+ }
+ ]
+ },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [0],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 1
+ },
+ {
+ "t": 140,
+ "s": [-47.364495],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 1
+ },
+ {
+ "t": 280,
+ "s": [0],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g219",
+ "ao": 0,
+ "ind": 79,
+ "parent": 85,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.97265, 307.266908] },
+ "p": { "a": 0, "k": [241.906387, 295.805458] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [-1.682554],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 140,
+ "s": [8.490303],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 280,
+ "s": [-1.68],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g214",
+ "ao": 0,
+ "ind": 85,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [256.785156, 116.367188],
+ [249.628906, 123.054688],
+ [256.316406, 130.210938],
+ [263.472656, 123.523438],
+ [256.785156, 116.367188],
+ [256.785156, 116.367188]
+ ],
+ "i": [
+ [0, 0],
+ [0.128906, -3.824219],
+ [-3.824218, -0.128907],
+ [-0.128906, 3.820312],
+ [3.820313, 0.128906],
+ [0, 0]
+ ],
+ "o": [
+ [-3.824218, -0.128907],
+ [-0.128906, 3.820312],
+ [3.820313, 0.128906],
+ [0.128906, -3.824219],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path131"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path132",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [256.550781, 123.289058] },
+ "p": { "a": 0, "k": [256.550781, 123.289059] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path130"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-3bc73179b92"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-3bc73179b9",
+ "ao": 0,
+ "ind": 75,
+ "parent": 74,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [256.550781, 123.289063] },
+ "p": { "a": 0, "k": [256.550781, 123.289063] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [100],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 1
+ },
+ {
+ "t": 140,
+ "s": [0],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 1
+ },
+ {
+ "t": 280,
+ "s": [100],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [249.863281, 116.132812],
+ [263.707031, 116.601562],
+ [263.238281, 130.445312],
+ [249.394531, 129.976562],
+ [249.863281, 116.132812],
+ [249.863281, 116.132812]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path134"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [1, 1, 1] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path135",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [256.550781, 123.289062] },
+ "p": { "a": 0, "k": [256.550781, 123.289063] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path133"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [256.550781, 123.289062] },
+ "p": { "a": 0, "k": [256.550781, 123.289063] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g210"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g209"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g208",
+ "ao": 0,
+ "ind": 74,
+ "parent": 76,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 75
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [256.550781, 123.289062] },
+ "p": { "a": 0, "k": [256.550781, 123.289063] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g207",
+ "ao": 0,
+ "ind": 76,
+ "parent": 73,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [256.550781, 123.289063] },
+ "p": { "a": 0, "k": [256.550781, 123.289063] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g206",
+ "ao": 0,
+ "ind": 73,
+ "parent": 77,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [256.550781, 123.289062] },
+ "p": { "a": 0, "k": [256.550781, 123.289063] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g201",
+ "ao": 0,
+ "ind": 77,
+ "parent": 72,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [256.550781, 123.289063] },
+ "p": { "a": 0, "k": [256.550781, 123.289063] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g200",
+ "ao": 0,
+ "ind": 72,
+ "parent": 78,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.97265, 307.266908] },
+ "p": { "a": 0, "k": [241.906387, 295.805458] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [-1.682554],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 140,
+ "s": [8.490303],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 280,
+ "s": [-1.68],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g195",
+ "ao": 0,
+ "ind": 78,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [249.863281, 116.132812],
+ [235.550781, 129.507812],
+ [248.925781, 143.820312],
+ [263.238281, 130.445312],
+ [249.863281, 116.132812],
+ [249.863281, 116.132812]
+ ],
+ "i": [
+ [0, 0],
+ [0.257813, -7.648437],
+ [-7.648437, -0.261718],
+ [-0.261719, 7.644532],
+ [7.644531, 0.257813],
+ [0, 0]
+ ],
+ "o": [
+ [-7.648437, -0.261718],
+ [-0.261719, 7.644532],
+ [7.644531, 0.257813],
+ [0.257813, -7.648437],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path119"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path120",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [249.394417, 129.976452] },
+ "p": { "a": 0, "k": [249.394417, 129.976452] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path118"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-7f9b23e0dd2"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-7f9b23e0dd",
+ "ao": 0,
+ "ind": 68,
+ "parent": 67,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [249.394531, 129.976563] },
+ "p": { "a": 0, "k": [249.394531, 129.976563] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [100],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 1
+ },
+ {
+ "t": 140,
+ "s": [0],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 1
+ },
+ {
+ "t": 280,
+ "s": [100],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [236.019531, 115.664062],
+ [263.707031, 116.601562],
+ [262.769531, 144.289062],
+ [235.082031, 143.351562],
+ [236.019531, 115.664062],
+ [236.019531, 115.664062]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path122"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.101961, 0.101961, 0.101961] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path123",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [249.394531, 129.976562] },
+ "p": { "a": 0, "k": [249.394531, 129.976563] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path121"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [249.394531, 129.976562] },
+ "p": { "a": 0, "k": [249.394531, 129.976563] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g191"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g190"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g189",
+ "ao": 0,
+ "ind": 67,
+ "parent": 69,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 68
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [249.394531, 129.976562] },
+ "p": { "a": 0, "k": [249.394531, 129.976563] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g188",
+ "ao": 0,
+ "ind": 69,
+ "parent": 66,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [249.394531, 129.976563] },
+ "p": { "a": 0, "k": [249.394531, 129.976563] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g187",
+ "ao": 0,
+ "ind": 66,
+ "parent": 70,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [249.394531, 129.976562] },
+ "p": { "a": 0, "k": [249.394531, 129.976563] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g182",
+ "ao": 0,
+ "ind": 70,
+ "parent": 65,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [249.394531, 129.976563] },
+ "p": { "a": 0, "k": [249.394531, 129.976563] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g181",
+ "ao": 0,
+ "ind": 65,
+ "parent": 71,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.97265, 307.266908] },
+ "p": { "a": 0, "k": [241.906387, 295.805458] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [-1.682554],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 140,
+ "s": [8.490303],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 280,
+ "s": [-1.68],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g176",
+ "ao": 0,
+ "ind": 71,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [216.8125, 161.613281],
+ [227.953125, 172.75],
+ [216.8125, 183.886719],
+ [205.675781, 172.75],
+ [216.8125, 161.613281],
+ [216.8125, 161.613281]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path107"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path108",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [216.814453, 172.75] },
+ "p": { "a": 0, "k": [216.814453, 172.75] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path106"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-3d392e66ba2"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-3d392e66ba",
+ "ao": 0,
+ "ind": 61,
+ "parent": 60,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [216.814453, 173.488281] },
+ "p": { "a": 0, "k": [216.814453, 173.488281] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [224.683594, 169.484375],
+ [208.941406, 169.484375],
+ [205.585938, 172.839844],
+ [228.042969, 172.839844],
+ [224.683594, 169.484375],
+ [224.683594, 169.484375]
+ ],
+ "i": [
+ [0, 0],
+ [4.34375, 4.339844],
+ [0, 0],
+ [-6.203125, 6.203125],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [-4.339844, 4.339844],
+ [0, 0],
+ [6.203124, 6.203125],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path110"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.027451, 0.027451, 0.027451] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path111",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [216.814453, 173.488281] },
+ "p": { "a": 0, "k": [216.814453, 173.488281] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path109"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [216.814453, 173.488281] },
+ "p": { "a": 0, "k": [216.814453, 173.488281] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g172"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g171"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g170",
+ "ao": 0,
+ "ind": 60,
+ "parent": 62,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 61
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [216.814453, 173.488281] },
+ "p": { "a": 0, "k": [216.814453, 173.488281] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g169",
+ "ao": 0,
+ "ind": 62,
+ "parent": 59,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [216.814453, 173.488281] },
+ "p": { "a": 0, "k": [216.814453, 173.488281] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g168",
+ "ao": 0,
+ "ind": 59,
+ "parent": 63,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [216.814453, 173.488281] },
+ "p": { "a": 0, "k": [216.814453, 173.488281] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g163",
+ "ao": 0,
+ "ind": 63,
+ "parent": 58,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [216.814453, 173.488281] },
+ "p": { "a": 0, "k": [216.814453, 173.488281] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g162",
+ "ao": 0,
+ "ind": 58,
+ "parent": 64,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.97265, 307.266908] },
+ "p": { "a": 0, "k": [241.906387, 295.805458] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [-1.682554],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 140,
+ "s": [8.490303],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 280,
+ "s": [-1.68],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g157",
+ "ao": 0,
+ "ind": 64,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [222.296875, 145.953125],
+ [277.648438, 159.554688],
+ [270.847656, 187.230469],
+ [215.496094, 173.628906],
+ [222.296875, 145.953125],
+ [222.296875, 145.953125]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path95"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path96",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [246.572266, 166.591797] },
+ "p": { "a": 0, "k": [246.572266, 166.591797] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path94"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-d98f4d73892"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-d98f4d7389",
+ "ao": 0,
+ "ind": 54,
+ "parent": 53,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [243.659241, 169.612244] },
+ "p": { "a": 0, "k": [243.659241, 169.612244] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [250.054688, 152.769531],
+ [267.648438, 165.703125],
+ [270.953125, 187.285156],
+ [215.535156, 173.667969],
+ [228.472656, 156.074219],
+ [250.054688, 152.769531],
+ [250.054688, 152.769531]
+ ],
+ "i": [
+ [0, 0],
+ [-3.785157, -6.25],
+ [1.878906, -7.632812],
+ [9.011719, 2.214843],
+ [-6.253906, 3.785156],
+ [-7.636719, -1.878906],
+ [0, 0]
+ ],
+ "o": [
+ [7.664062, 1.882813],
+ [3.785156, 6.25],
+ [-8.984375, -2.207031],
+ [1.878906, -7.636719],
+ [6.25, -3.785157],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path98"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.772549, 0.156863, 0.243137] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path99",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [243.659241, 169.612244] },
+ "p": { "a": 0, "k": [243.659241, 169.612244] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path97"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [243.659241, 169.612244] },
+ "p": { "a": 0, "k": [243.659241, 169.612244] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g153"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g152"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g151",
+ "ao": 0,
+ "ind": 53,
+ "parent": 55,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 54
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [243.659241, 169.612244] },
+ "p": { "a": 0, "k": [243.659241, 169.612244] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g150",
+ "ao": 0,
+ "ind": 55,
+ "parent": 52,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [243.659241, 169.612244] },
+ "p": { "a": 0, "k": [243.659241, 169.612244] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g149",
+ "ao": 0,
+ "ind": 52,
+ "parent": 56,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [243.659241, 169.612244] },
+ "p": { "a": 0, "k": [243.659241, 169.612244] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g144",
+ "ao": 0,
+ "ind": 56,
+ "parent": 51,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [243.659241, 169.612244] },
+ "p": { "a": 0, "k": [243.659241, 169.612244] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g143",
+ "ao": 0,
+ "ind": 51,
+ "parent": 57,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.97265, 307.266908] },
+ "p": { "a": 0, "k": [241.906387, 295.805458] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [-1.682554],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 140,
+ "s": [8.490303],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 280,
+ "s": [-1.68],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g138",
+ "ao": 0,
+ "ind": 57,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [250.429688, 99.355469],
+ [218.773438, 128.9375],
+ [248.355469, 160.597656],
+ [280.015625, 131.011719],
+ [250.429688, 99.355469],
+ [250.429688, 99.355469]
+ ],
+ "i": [
+ [0, 0],
+ [0.570312, -16.910156],
+ [-16.910157, -0.574218],
+ [-0.574219, 16.914062],
+ [16.914062, 0.570312],
+ [0, 0]
+ ],
+ "o": [
+ [-16.910157, -0.574219],
+ [-0.574219, 16.910156],
+ [16.910156, 0.570313],
+ [0.570313, -16.910157],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path83"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path84",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [249.394409, 129.976448] },
+ "p": { "a": 0, "k": [249.39441, 129.976448] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path82"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-207ff196af2"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-207ff196af",
+ "ao": 0,
+ "ind": 47,
+ "parent": 46,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [249.392578, 129.974609] },
+ "p": { "a": 0, "k": [249.392578, 129.974609] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [100],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 1
+ },
+ {
+ "t": 140,
+ "s": [0],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 1
+ },
+ {
+ "t": 280,
+ "s": [100],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [219.808594, 98.316406],
+ [281.050781, 100.390625],
+ [278.976562, 161.632812],
+ [217.734375, 159.558594],
+ [219.808594, 98.316406],
+ [219.808594, 98.316406]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path86"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [1, 1, 1] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path87",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [249.392578, 129.974609] },
+ "p": { "a": 0, "k": [249.392578, 129.974609] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path85"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [249.392578, 129.974609] },
+ "p": { "a": 0, "k": [249.392578, 129.974609] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g134"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g133"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g132",
+ "ao": 0,
+ "ind": 46,
+ "parent": 48,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 47
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [249.392578, 129.974609] },
+ "p": { "a": 0, "k": [249.392578, 129.974609] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g131",
+ "ao": 0,
+ "ind": 48,
+ "parent": 45,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [249.392578, 129.974609] },
+ "p": { "a": 0, "k": [249.392578, 129.974609] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g130",
+ "ao": 0,
+ "ind": 45,
+ "parent": 49,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [249.392578, 129.974609] },
+ "p": { "a": 0, "k": [249.392578, 129.974609] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g125",
+ "ao": 0,
+ "ind": 49,
+ "parent": 44,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [249.392578, 129.974609] },
+ "p": { "a": 0, "k": [249.392578, 129.974609] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g124",
+ "ao": 0,
+ "ind": 44,
+ "parent": 50,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.97265, 307.266908] },
+ "p": { "a": 0, "k": [241.906387, 295.805458] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [-1.682554],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 140,
+ "s": [8.490303],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 280,
+ "s": [-1.68],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g119",
+ "ao": 0,
+ "ind": 50,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [191, 132.941406],
+ [205.578125, 132.941406],
+ [205.578125, 161.304688],
+ [191, 161.304688],
+ [191, 132.941406],
+ [191, 132.941406]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path71"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path72",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [198.289062, 147.123047] },
+ "p": { "a": 0, "k": [198.289063, 147.123047] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path70"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-a46be1e9ea2"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-a46be1e9ea",
+ "ao": 0,
+ "ind": 42,
+ "parent": 41,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [198.429688, 147.267578] },
+ "p": { "a": 0, "k": [198.429688, 147.267578] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [205.578125, 147.265625],
+ [201.390625, 157.375],
+ [191.28125, 161.566406],
+ [191.28125, 132.96875],
+ [201.390625, 137.160156],
+ [205.578125, 147.265625],
+ [205.578125, 147.265625]
+ ],
+ "i": [
+ [0, 0],
+ [2.589844, -2.589844],
+ [3.941406, 0],
+ [0, 4.648438],
+ [-2.589844, -2.589844],
+ [0, -3.9375],
+ [0, 0]
+ ],
+ "o": [
+ [0, 3.957031],
+ [-2.589844, 2.589844],
+ [0, -4.636718],
+ [3.9375, 0],
+ [2.589844, 2.589844],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path74"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.101961, 0.101961, 0.101961] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path75",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [198.429687, 147.267578] },
+ "p": { "a": 0, "k": [198.429688, 147.267578] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path73"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [198.429687, 147.267578] },
+ "p": { "a": 0, "k": [198.429688, 147.267578] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g115"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g114"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g113",
+ "ao": 0,
+ "ind": 41,
+ "parent": 43,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 42
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.97265, 307.266908] },
+ "p": { "a": 0, "k": [241.906387, 295.805458] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [-1.682554],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 140,
+ "s": [8.490303],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 280,
+ "s": [-1.68],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g112",
+ "ao": 0,
+ "ind": 43,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [119.832031, 147.28125],
+ [192.195312, 161.617188],
+ [192.195312, 132.945312],
+ [119.832031, 147.28125],
+ [119.832031, 147.28125]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path65"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path66",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [156.013671, 147.28125] },
+ "p": { "a": 0, "k": [156.013672, 147.28125] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path64"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-d02c372c3b2"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-d02c372c3b",
+ "ao": 0,
+ "ind": 38,
+ "parent": 37,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [156.017578, 147.28125] },
+ "p": { "a": 0, "k": [156.017578, 147.28125] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [192.195312, 132.945312],
+ [192.195312, 161.617188],
+ [119.839844, 161.617188],
+ [119.839844, 132.945312],
+ [192.195312, 132.945312],
+ [192.195312, 132.945312]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path68"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.101961, 0.101961, 0.101961] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path69",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [156.017578, 147.28125] },
+ "p": { "a": 0, "k": [156.017578, 147.28125] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path67"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [156.017578, 147.28125] },
+ "p": { "a": 0, "k": [156.017578, 147.28125] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g108"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g107"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g106",
+ "ao": 0,
+ "ind": 37,
+ "parent": 39,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 38
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [156.017578, 147.28125] },
+ "p": { "a": 0, "k": [156.017578, 147.28125] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g105",
+ "ao": 0,
+ "ind": 39,
+ "parent": 36,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [156.017578, 147.28125] },
+ "p": { "a": 0, "k": [156.017578, 147.28125] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g104",
+ "ao": 0,
+ "ind": 36,
+ "parent": 40,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.97265, 307.266908] },
+ "p": { "a": 0, "k": [241.906387, 295.805458] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [-1.682554],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 140,
+ "s": [8.490303],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 280,
+ "s": [-1.68],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g99",
+ "ao": 0,
+ "ind": 40,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [232.699219, 98.011719],
+ [179.96875, 147.285156],
+ [229.246094, 200.015625],
+ [281.976562, 150.742188],
+ [232.699219, 98.011719],
+ [232.699219, 98.011719]
+ ],
+ "i": [
+ [0, 0],
+ [0.957031, -28.167968],
+ [-28.167969, -0.953125],
+ [-0.957031, 28.167968],
+ [28.167969, 0.953125],
+ [0, 0]
+ ],
+ "o": [
+ [-28.167969, -0.953125],
+ [-0.953125, 28.167969],
+ [28.167968, 0.957031],
+ [0.953126, -28.167969],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path56"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path57",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [230.972664, 149.013782] },
+ "p": { "a": 0, "k": [230.972664, 149.013783] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path55"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-f12295254c2"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-f12295254c",
+ "ao": 0,
+ "ind": 32,
+ "parent": 31,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.972656, 149.015625] },
+ "p": { "a": 0, "k": [230.972656, 149.015625] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [181.699219, 96.285156],
+ [283.703125, 99.738281],
+ [280.246094, 201.746094],
+ [178.242188, 198.289062],
+ [181.699219, 96.285156],
+ [181.699219, 96.285156]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path59"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.772549, 0.156863, 0.243137] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path60",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [230.972656, 149.015625] },
+ "p": { "a": 0, "k": [230.972656, 149.015625] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path58"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [230.972656, 149.015625] },
+ "p": { "a": 0, "k": [230.972656, 149.015625] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g95"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g94"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g93",
+ "ao": 0,
+ "ind": 31,
+ "parent": 33,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 32
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.972656, 149.015625] },
+ "p": { "a": 0, "k": [230.972656, 149.015625] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g92",
+ "ao": 0,
+ "ind": 33,
+ "parent": 30,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.972656, 149.015625] },
+ "p": { "a": 0, "k": [230.972656, 149.015625] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g91",
+ "ao": 0,
+ "ind": 30,
+ "parent": 34,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.972656, 149.015625] },
+ "p": { "a": 0, "k": [230.972656, 149.015625] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g86",
+ "ao": 0,
+ "ind": 34,
+ "parent": 29,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.972656, 149.015625] },
+ "p": { "a": 0, "k": [230.972656, 149.015625] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g85",
+ "ao": 0,
+ "ind": 29,
+ "parent": 35,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.97265, 307.266908] },
+ "p": { "a": 0, "k": [241.906387, 295.805458] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [-1.682554],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 140,
+ "s": [8.490303],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 280,
+ "s": [-1.68],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g80",
+ "ao": 0,
+ "ind": 35,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [236.699219, 127.082031],
+ [243.105469, 127.300781],
+ [279.765625, 166.53125],
+ [272.972656, 367.054688],
+ [233.738281, 403.714844],
+ [227.332031, 403.496094],
+ [190.671875, 364.265625],
+ [197.46875, 163.742188],
+ [236.699219, 127.082031],
+ [236.699219, 127.082031]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0.710937, -20.957031],
+ [0, 0],
+ [20.957031, 0.710937],
+ [0, 0],
+ [-0.710937, 20.957031],
+ [0, 0],
+ [-20.957031, -0.710937],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [20.957031, 0.707031],
+ [0, 0],
+ [-0.710937, 20.957031],
+ [0, 0],
+ [-20.957031, -0.707032],
+ [0, 0],
+ [0.707031, -20.957032],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path44"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path45",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [235.21875, 265.398437] },
+ "p": { "a": 0, "k": [235.21875, 265.398438] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path43"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-09d781b99d2"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-09d781b99d",
+ "ao": 0,
+ "ind": 25,
+ "parent": 24,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [235.216797, 265.427734] },
+ "p": { "a": 0, "k": [235.216797, 265.427734] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [198.753906, 125.796875],
+ [281.050781, 128.585938],
+ [271.683594, 405.058594],
+ [189.382812, 402.269531],
+ [198.753906, 125.796875],
+ [198.753906, 125.796875]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path47"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.772549, 0.156863, 0.243137] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path48",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [235.216797, 265.427734] },
+ "p": { "a": 0, "k": [235.216797, 265.427734] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path46"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [235.216797, 265.427734] },
+ "p": { "a": 0, "k": [235.216797, 265.427734] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g76"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g75"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g74",
+ "ao": 0,
+ "ind": 24,
+ "parent": 26,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 25
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [235.216797, 265.427734] },
+ "p": { "a": 0, "k": [235.216797, 265.427734] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g73",
+ "ao": 0,
+ "ind": 26,
+ "parent": 23,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [235.216797, 265.427734] },
+ "p": { "a": 0, "k": [235.216797, 265.427734] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g72",
+ "ao": 0,
+ "ind": 23,
+ "parent": 27,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [235.216797, 265.427734] },
+ "p": { "a": 0, "k": [235.216797, 265.427734] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g67",
+ "ao": 0,
+ "ind": 27,
+ "parent": 22,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [235.216797, 265.427734] },
+ "p": { "a": 0, "k": [235.216797, 265.427734] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g66",
+ "ao": 0,
+ "ind": 22,
+ "parent": 28,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.97265, 307.266908] },
+ "p": { "a": 0, "k": [241.906387, 295.805458] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [-1.682554],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 140,
+ "s": [8.490303],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 280,
+ "s": [-1.68],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g61",
+ "ao": 0,
+ "ind": 28,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [196.796875, 34.34375],
+ [295.332031, 24.761719],
+ [304.914062, 123.296875],
+ [206.378906, 132.878906],
+ [196.796875, 34.34375],
+ [196.796875, 34.34375]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path32"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path33",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [250.855468, 78.820312] },
+ "p": { "a": 0, "k": [250.855469, 78.820313] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path31"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-142ace96fd2"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-142ace96fd",
+ "ao": 0,
+ "ind": 18,
+ "parent": 17,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [250.751953, 78.857422] },
+ "p": { "a": 0, "k": [250.751953, 78.857422] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [295.574219, 26.585938],
+ [208.214844, 132.765625],
+ [206.402344, 132.941406],
+ [206.046875, 128.09375],
+ [205.929688, 123.230469],
+ [206.050781, 118.371094],
+ [206.414062, 113.519531],
+ [207.011719, 108.695312],
+ [207.847656, 103.90625],
+ [208.914062, 99.160156],
+ [210.214844, 94.476562],
+ [211.746094, 89.859375],
+ [213.5, 85.324219],
+ [215.472656, 80.882812],
+ [217.664062, 76.539062],
+ [220.066406, 72.3125],
+ [222.671875, 68.207031],
+ [225.476562, 64.234375],
+ [228.472656, 60.40625],
+ [231.652344, 56.726562],
+ [235.011719, 53.210938],
+ [238.535156, 49.863281],
+ [242.222656, 46.691406],
+ [246.0625, 43.703125],
+ [250.039062, 40.910156],
+ [254.152344, 38.316406],
+ [258.386719, 35.925781],
+ [262.734375, 33.746094],
+ [267.183594, 31.785156],
+ [271.722656, 30.042969],
+ [276.34375, 28.527344],
+ [281.03125, 27.238281],
+ [285.777344, 26.179688],
+ [290.570312, 25.359375],
+ [295.398438, 24.773438]
+ ],
+ "i": [
+ [0, 0],
+ [-5.1875, -53.359375],
+ [0, 0],
+ [0.078125, 1.617188],
+ [0, 1.621093],
+ [-0.078125, 1.617187],
+ [-0.160156, 1.613281],
+ [-0.238281, 1.601563],
+ [-0.320312, 1.589844],
+ [-0.394531, 1.574219],
+ [-0.472656, 1.550782],
+ [-0.550782, 1.527344],
+ [-0.625, 1.5],
+ [-0.695312, 1.464844],
+ [-0.765624, 1.429688],
+ [-0.835937, 1.390625],
+ [-0.902344, 1.347657],
+ [-0.96875, 1.300781],
+ [-1.03125, 1.25],
+ [-1.089844, 1.199219],
+ [-1.148438, 1.144531],
+ [-1.203125, 1.085938],
+ [-1.253906, 1.027344],
+ [-1.304688, 0.964844],
+ [-1.347656, 0.898438],
+ [-1.390625, 0.832032],
+ [-1.429688, 0.761719],
+ [-1.46875, 0.691406],
+ [-1.5, 0.617188],
+ [-1.527344, 0.542969],
+ [-1.554688, 0.464844],
+ [-1.574219, 0.390625],
+ [-1.589844, 0.316406],
+ [-1.605468, 0.234375],
+ [-1.613282, 0.15625]
+ ],
+ "o": [
+ [-53.359375, 5.1875],
+ [0, 0],
+ [-0.15625, -1.613281],
+ [-0.078125, -1.621094],
+ [0, -1.621094],
+ [0.082031, -1.621094],
+ [0.160157, -1.613281],
+ [0.238281, -1.605468],
+ [0.316406, -1.589844],
+ [0.394532, -1.570312],
+ [0.472656, -1.550781],
+ [0.546875, -1.523437],
+ [0.621094, -1.496094],
+ [0.695313, -1.464843],
+ [0.765626, -1.425781],
+ [0.832032, -1.390625],
+ [0.902344, -1.347656],
+ [0.964844, -1.300781],
+ [1.03125, -1.253906],
+ [1.089844, -1.199218],
+ [1.144531, -1.144532],
+ [1.203125, -1.089843],
+ [1.253906, -1.027344],
+ [1.300781, -0.960937],
+ [1.351563, -0.898437],
+ [1.390625, -0.832031],
+ [1.433593, -0.761719],
+ [1.464844, -0.691406],
+ [1.5, -0.617187],
+ [1.527344, -0.542969],
+ [1.550781, -0.46875],
+ [1.574219, -0.390625],
+ [1.589844, -0.3125],
+ [1.605469, -0.234375],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path35"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.772549, 0.156863, 0.243137] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path36",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [250.751953, 78.857422] },
+ "p": { "a": 0, "k": [250.751953, 78.857422] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path34"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [250.751953, 78.857422] },
+ "p": { "a": 0, "k": [250.751953, 78.857422] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g57"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g56"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g55",
+ "ao": 0,
+ "ind": 17,
+ "parent": 19,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 18
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [250.751953, 78.857422] },
+ "p": { "a": 0, "k": [250.751953, 78.857422] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g54",
+ "ao": 0,
+ "ind": 19,
+ "parent": 16,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [250.751953, 78.857422] },
+ "p": { "a": 0, "k": [250.751953, 78.857422] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g53",
+ "ao": 0,
+ "ind": 16,
+ "parent": 20,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [250.751953, 78.857422] },
+ "p": { "a": 0, "k": [250.751953, 78.857422] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g48",
+ "ao": 0,
+ "ind": 20,
+ "parent": 15,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [250.751953, 78.857422] },
+ "p": { "a": 0, "k": [250.751953, 78.857422] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g47",
+ "ao": 0,
+ "ind": 15,
+ "parent": 21,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.97265, 307.266908] },
+ "p": { "a": 0, "k": [241.906387, 295.805458] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [-1.682554],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 140,
+ "s": [8.490303],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 280,
+ "s": [-1.68],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g42",
+ "ao": 0,
+ "ind": 21,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [235.125, 37.542969],
+ [329.621094, 67.0625],
+ [300.097656, 161.558594],
+ [205.605469, 132.039062],
+ [235.125, 37.542969],
+ [235.125, 37.542969]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path20"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path21",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [267.613282, 99.550781] },
+ "p": { "a": 0, "k": [267.613282, 99.550782] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path19"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-48d3740a652"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-48d3740a65",
+ "ao": 0,
+ "ind": 11,
+ "parent": 10,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [267.638672, 97.611126] },
+ "p": { "a": 0, "k": [267.638672, 97.611126] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [329.132812, 68.835938],
+ [207.339844, 132.648438],
+ [205.601562, 132.105469],
+ [207.160156, 127.5],
+ [208.945312, 122.976562],
+ [210.949219, 118.546875],
+ [213.167969, 114.21875],
+ [215.597656, 110.007812],
+ [218.230469, 105.917969],
+ [221.0625, 101.964844],
+ [224.082031, 98.15625],
+ [227.289062, 94.5],
+ [230.667969, 91.003906],
+ [234.21875, 87.679688],
+ [237.925781, 84.53125],
+ [241.78125, 81.570312],
+ [245.78125, 78.804688],
+ [249.910156, 76.238281],
+ [254.160156, 73.875],
+ [258.523438, 71.726562],
+ [262.984375, 69.792969],
+ [267.535156, 68.082031],
+ [272.164062, 66.59375],
+ [276.863281, 65.335938],
+ [281.617188, 64.3125],
+ [286.414062, 63.523438],
+ [291.246094, 62.96875],
+ [296.097656, 62.652344],
+ [300.957031, 62.578125],
+ [305.816406, 62.738281],
+ [310.664062, 63.140625],
+ [315.484375, 63.777344],
+ [320.269531, 64.652344],
+ [325.003906, 65.761719],
+ [329.675781, 67.101562]
+ ],
+ "i": [
+ [0, 0],
+ [15.984375, -51.171876],
+ [0, 0],
+ [-0.554687, 1.519531],
+ [-0.632812, 1.492188],
+ [-0.703125, 1.457031],
+ [-0.773438, 1.421875],
+ [-0.84375, 1.382813],
+ [-0.910157, 1.339843],
+ [-0.976562, 1.292968],
+ [-1.035156, 1.242188],
+ [-1.097656, 1.191406],
+ [-1.152344, 1.136719],
+ [-1.210938, 1.078124],
+ [-1.261719, 1.019531],
+ [-1.308594, 0.957032],
+ [-1.355469, 0.890624],
+ [-1.398437, 0.820313],
+ [-1.433594, 0.753906],
+ [-1.472657, 0.679688],
+ [-1.503906, 0.605469],
+ [-1.53125, 0.53125],
+ [-1.554687, 0.457031],
+ [-1.578125, 0.382812],
+ [-1.59375, 0.300781],
+ [-1.605468, 0.222656],
+ [-1.617188, 0.144531],
+ [-1.621094, 0.066406],
+ [-1.621093, -0.015625],
+ [-1.617187, -0.09375],
+ [-1.613281, -0.175781],
+ [-1.601563, -0.25],
+ [-1.589843, -0.332032],
+ [-1.570312, -0.410157],
+ [-1.546875, -0.484374]
+ ],
+ "o": [
+ [-51.167968, -15.984376],
+ [0, 0],
+ [0.484376, -1.550781],
+ [0.558594, -1.523438],
+ [0.632813, -1.496093],
+ [0.707031, -1.460937],
+ [0.777343, -1.425781],
+ [0.84375, -1.386718],
+ [0.914062, -1.339844],
+ [0.976562, -1.292969],
+ [1.039063, -1.246094],
+ [1.097657, -1.195312],
+ [1.15625, -1.136718],
+ [1.210938, -1.082032],
+ [1.261719, -1.015625],
+ [1.3125, -0.953124],
+ [1.355469, -0.890626],
+ [1.398438, -0.824219],
+ [1.4375, -0.753906],
+ [1.46875, -0.683593],
+ [1.503906, -0.609375],
+ [1.53125, -0.535156],
+ [1.554688, -0.457031],
+ [1.574219, -0.378907],
+ [1.589843, -0.304688],
+ [1.605469, -0.226563],
+ [1.613281, -0.144531],
+ [1.617188, -0.0625],
+ [1.621094, 0.011719],
+ [1.621094, 0.09375],
+ [1.613282, 0.171875],
+ [1.601563, 0.253906],
+ [1.585938, 0.332031],
+ [1.566406, 0.40625],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path23"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.772549, 0.156863, 0.243137] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path24",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [267.638672, 97.611126] },
+ "p": { "a": 0, "k": [267.638672, 97.611126] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path22"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [267.638672, 97.611126] },
+ "p": { "a": 0, "k": [267.638672, 97.611126] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g38"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g37"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g36",
+ "ao": 0,
+ "ind": 10,
+ "parent": 12,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 11
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [267.638672, 97.611126] },
+ "p": { "a": 0, "k": [267.638672, 97.611126] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g35",
+ "ao": 0,
+ "ind": 12,
+ "parent": 9,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [267.638672, 97.611126] },
+ "p": { "a": 0, "k": [267.638672, 97.611126] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g34",
+ "ao": 0,
+ "ind": 9,
+ "parent": 13,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [267.638672, 97.611126] },
+ "p": { "a": 0, "k": [267.638672, 97.611126] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g29",
+ "ao": 0,
+ "ind": 13,
+ "parent": 8,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [267.638672, 97.611126] },
+ "p": { "a": 0, "k": [267.638672, 97.611126] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g28",
+ "ao": 0,
+ "ind": 8,
+ "parent": 14,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.97265, 307.266908] },
+ "p": { "a": 0, "k": [241.906387, 295.805458] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [-1.682554],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 140,
+ "s": [8.490303],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 280,
+ "s": [-1.68],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g23",
+ "ao": 0,
+ "ind": 14,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [217.347656, 34.273438],
+ [315.648438, 46.027344],
+ [303.894531, 144.328125],
+ [205.59375, 132.574219],
+ [217.347656, 34.273438],
+ [217.347656, 34.273438]
+ ],
+ "i": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "o": [
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path8"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0, 0, 0] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path9",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [260.621094, 89.300781] },
+ "p": { "a": 0, "k": [260.621094, 89.300782] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path7"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-341fa769fa2"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-u-341fa769fa",
+ "ao": 0,
+ "ind": 4,
+ "parent": 3,
+ "hasMask": false,
+ "tt": 0,
+ "td": 1,
+ "tp": 0
+ },
+ {
+ "ty": 4,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [260.65625, 89.099461] },
+ "p": { "a": 0, "k": [260.65625, 89.099461] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "ty": "sh",
+ "ks": {
+ "a": 0,
+ "k": {
+ "v": [
+ [315.492188, 47.859375],
+ [207.410156, 132.855469],
+ [205.605469, 132.636719],
+ [206.296875, 127.824219],
+ [207.222656, 123.050781],
+ [208.382812, 118.332031],
+ [209.773438, 113.671875],
+ [211.394531, 109.085938],
+ [213.234375, 104.585938],
+ [215.296875, 100.179688],
+ [217.570312, 95.882812],
+ [220.050781, 91.703125],
+ [222.738281, 87.648438],
+ [225.617188, 83.730469],
+ [228.6875, 79.960938],
+ [231.941406, 76.34375],
+ [235.363281, 72.894531],
+ [238.957031, 69.613281],
+ [242.703125, 66.515625],
+ [246.597656, 63.605469],
+ [250.628906, 60.886719],
+ [254.792969, 58.375],
+ [259.074219, 56.066406],
+ [263.460938, 53.972656],
+ [267.945312, 52.097656],
+ [272.519531, 50.441406],
+ [277.167969, 49.015625],
+ [281.882812, 47.816406],
+ [286.648438, 46.855469],
+ [291.453125, 46.125],
+ [296.292969, 45.632812],
+ [301.148438, 45.378906],
+ [306.011719, 45.367188],
+ [310.867188, 45.589844],
+ [315.707031, 46.050781]
+ ],
+ "i": [
+ [0, 0],
+ [6.367188, -53.230469],
+ [0, 0],
+ [-0.273437, 1.601562],
+ [-0.347656, 1.585938],
+ [-0.425781, 1.5625],
+ [-0.5, 1.539063],
+ [-0.578125, 1.515624],
+ [-0.652344, 1.484374],
+ [-0.726563, 1.453124],
+ [-0.792968, 1.414063],
+ [-0.859375, 1.371094],
+ [-0.929687, 1.328124],
+ [-0.992188, 1.28125],
+ [-1.054688, 1.230468],
+ [-1.113281, 1.179688],
+ [-1.167969, 1.121094],
+ [-1.226562, 1.0625],
+ [-1.273437, 1],
+ [-1.324218, 0.9375],
+ [-1.363281, 0.875],
+ [-1.410157, 0.800781],
+ [-1.449219, 0.734375],
+ [-1.480469, 0.660156],
+ [-1.507812, 0.585938],
+ [-1.539062, 0.515625],
+ [-1.5625, 0.4375],
+ [-1.582031, 0.363282],
+ [-1.597657, 0.28125],
+ [-1.605469, 0.203125],
+ [-1.617188, 0.125],
+ [-1.621094, 0.046875],
+ [-1.621094, -0.035157],
+ [-1.617188, -0.113282],
+ [-1.609375, -0.191406]
+ ],
+ "o": [
+ [-53.230469, -6.363281],
+ [0, 0],
+ [0.1875, -1.609375],
+ [0.269531, -1.597657],
+ [0.347656, -1.582031],
+ [0.425782, -1.566406],
+ [0.503906, -1.542969],
+ [0.574219, -1.515626],
+ [0.652344, -1.484376],
+ [0.722656, -1.449219],
+ [0.792969, -1.414062],
+ [0.863281, -1.375],
+ [0.925781, -1.328126],
+ [0.992187, -1.28125],
+ [1.054688, -1.234376],
+ [1.113282, -1.175781],
+ [1.171875, -1.125],
+ [1.222657, -1.0625],
+ [1.273437, -1.003906],
+ [1.320313, -0.941407],
+ [1.367188, -0.871094],
+ [1.40625, -0.804688],
+ [1.445312, -0.734375],
+ [1.480468, -0.664062],
+ [1.511719, -0.589844],
+ [1.539063, -0.511718],
+ [1.5625, -0.4375],
+ [1.578126, -0.359375],
+ [1.59375, -0.285157],
+ [1.609375, -0.203125],
+ [1.617187, -0.125],
+ [1.621093, -0.042968],
+ [1.621093, 0.035156],
+ [1.617187, 0.113281],
+ [0, 0]
+ ],
+ "c": false
+ }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path11"
+ },
+ {
+ "ty": "fl",
+ "o": { "a": 0, "k": 100 },
+ "c": { "a": 0, "k": [0.772549, 0.156863, 0.243137] },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path12",
+ "r": 1
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [260.65625, 89.099461] },
+ "p": { "a": 0, "k": [260.65625, 89.099461] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-path10"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [260.65625, 89.099461] },
+ "p": { "a": 0, "k": [260.65625, 89.099461] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g19"
+ },
+ {
+ "ty": "tr",
+ "o": { "a": 0, "k": 100 },
+ "a": { "a": 0, "k": [0, 0] },
+ "p": { "a": 0, "k": [0, 0] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g18"
+ }
+ ],
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g17",
+ "ao": 0,
+ "ind": 3,
+ "parent": 5,
+ "hasMask": false,
+ "tt": 1,
+ "td": 0,
+ "tp": 4
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [260.65625, 89.099461] },
+ "p": { "a": 0, "k": [260.65625, 89.099461] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g16",
+ "ao": 0,
+ "ind": 5,
+ "parent": 2,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [260.65625, 89.099461] },
+ "p": { "a": 0, "k": [260.65625, 89.099461] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g15",
+ "ao": 0,
+ "ind": 2,
+ "parent": 6,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [260.65625, 89.099461] },
+ "p": { "a": 0, "k": [260.65625, 89.099461] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g10",
+ "ao": 0,
+ "ind": 6,
+ "parent": 1,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [260.65625, 89.099461] },
+ "p": { "a": 0, "k": [260.65625, 89.099461] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": { "a": 0, "k": 0 },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g9",
+ "ao": 0,
+ "ind": 1,
+ "parent": 7,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 3,
+ "st": 0,
+ "ip": 0,
+ "op": 350,
+ "ks": {
+ "a": { "a": 0, "k": [230.97265, 307.266908] },
+ "p": { "a": 0, "k": [241.906387, 295.805458] },
+ "s": { "a": 0, "k": [100, 100] },
+ "r": {
+ "a": 1,
+ "k": [
+ {
+ "t": 0,
+ "s": [-1.682554],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 140,
+ "s": [8.490303],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ },
+ {
+ "t": 280,
+ "s": [-1.68],
+ "i": { "x": 1, "y": 1 },
+ "o": { "x": 0, "y": 0 },
+ "h": 0
+ }
+ ]
+ },
+ "o": { "a": 0, "k": 100 },
+ "sk": { "a": 0, "k": 0 },
+ "sa": { "a": 0, "k": 0 }
+ },
+ "hd": false,
+ "bm": 0,
+ "ln": "nepalingo-creature-variation-s-g4",
+ "ao": 0,
+ "ind": 7,
+ "hasMask": false,
+ "tt": 0,
+ "td": 0,
+ "tp": 0
+ },
+ {
+ "ty": 1,
+ "ip": 0,
+ "op": 350,
+ "st": 0,
+ "ks": {},
+ "sc": "transparent",
+ "sw": 810,
+ "sh": 809.999993
+ }
+ ]
+}
diff --git a/nepalingo-web/src/assets/NewLogo.png b/nepalingo-web/src/assets/NewLogo.png
new file mode 100644
index 0000000..412f329
Binary files /dev/null and b/nepalingo-web/src/assets/NewLogo.png differ
diff --git a/nepalingo-web/src/assets/NewLogoCircular.png b/nepalingo-web/src/assets/NewLogoCircular.png
new file mode 100644
index 0000000..9cc14ab
Binary files /dev/null and b/nepalingo-web/src/assets/NewLogoCircular.png differ
diff --git a/nepalingo-web/src/assets/NewLogoSquare.png b/nepalingo-web/src/assets/NewLogoSquare.png
new file mode 100644
index 0000000..cf9337a
Binary files /dev/null and b/nepalingo-web/src/assets/NewLogoSquare.png differ
diff --git a/nepalingo-web/src/assets/TheBird.png b/nepalingo-web/src/assets/TheBird.png
new file mode 100644
index 0000000..bdecf2d
Binary files /dev/null and b/nepalingo-web/src/assets/TheBird.png differ
diff --git a/nepalingo-web/src/assets/TheBird.svg b/nepalingo-web/src/assets/TheBird.svg
new file mode 100644
index 0000000..8701f58
--- /dev/null
+++ b/nepalingo-web/src/assets/TheBird.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/nepalingo-web/src/assets/fire.svg b/nepalingo-web/src/assets/fire.svg
new file mode 100644
index 0000000..118c7b0
--- /dev/null
+++ b/nepalingo-web/src/assets/fire.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/nepalingo-web/src/components/ActivityCard.tsx b/nepalingo-web/src/components/ActivityCard.tsx
new file mode 100644
index 0000000..ad4573f
--- /dev/null
+++ b/nepalingo-web/src/components/ActivityCard.tsx
@@ -0,0 +1,54 @@
+import React from "react";
+import Button from "@/components/Button";
+
+interface ActivityCardProps {
+ backgroundImageUrl: string;
+ quizYourselfText: string;
+ descriptionText: string;
+ buttonText?: string;
+ backDrop?: boolean;
+ children?: React.ReactNode;
+ onClick?: () => void;
+}
+
+const ActivityCard: React.FC = ({
+ backgroundImageUrl,
+ quizYourselfText,
+ descriptionText,
+ buttonText,
+ children,
+ onClick,
+}) => {
+ return (
+
+
+
+
+
+
+ {quizYourselfText}
+
+
+ {descriptionText}
+
+
+ {children}
+ {buttonText && onClick && (
+
+ {buttonText}
+
+ )}
+
+
+ );
+};
+
+export default ActivityCard;
diff --git a/nepalingo-web/src/components/AnimatedBhasaWithLottie.tsx b/nepalingo-web/src/components/AnimatedBhasaWithLottie.tsx
new file mode 100644
index 0000000..87a7bcd
--- /dev/null
+++ b/nepalingo-web/src/components/AnimatedBhasaWithLottie.tsx
@@ -0,0 +1,13 @@
+import React from "react";
+import Lottie from "lottie-react";
+import bhasaAnimationData from "@/assets/NepalingoCreatureBlinkWave.json";
+
+const BhasaAnimation: React.FC = () => {
+ return (
+
+
+
+ );
+};
+
+export default BhasaAnimation;
diff --git a/nepalingo-web/src/components/Button.tsx b/nepalingo-web/src/components/Button.tsx
index a6f6c2e..5c937cf 100644
--- a/nepalingo-web/src/components/Button.tsx
+++ b/nepalingo-web/src/components/Button.tsx
@@ -1,13 +1,14 @@
-import React, { forwardRef } from 'react';
+import React, { forwardRef } from "react";
interface ButtonProps extends React.ButtonHTMLAttributes {
-
+ smallHeight?: boolean;
}
const Button = forwardRef((props, ref) => {
- const { className, children, ...rest } = props;
+ const { className, smallHeight = false, children, ...rest } = props;
- const buttonClasses = `bg-blue-500 hover:md:bg-opacity-80 text-white font-bold py-2 px-4 rounded ${className}`;
+ const heightClass = smallHeight ? "h-auto" : "h-full";
+ const buttonClasses = `${heightClass} bg-primary text-white font-primary font-bold m-0 py-2 px-4 rounded-lg ${className}`;
return (
@@ -16,6 +17,6 @@ const Button = forwardRef((props, ref) => {
);
});
-Button.displayName = 'Button';
+Button.displayName = "Button";
export default Button;
diff --git a/nepalingo-web/src/components/Card.tsx b/nepalingo-web/src/components/Card.tsx
index d18edba..29b01bf 100644
--- a/nepalingo-web/src/components/Card.tsx
+++ b/nepalingo-web/src/components/Card.tsx
@@ -1,27 +1,29 @@
import React, { useState } from "react";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
-import { faVolumeHigh } from '@fortawesome/free-solid-svg-icons';
+import { faVolumeHigh } from "@fortawesome/free-solid-svg-icons";
+import { useLanguage } from "@/hooks/Langauge";
interface CardProps {
Word: string;
TranslatedWord: string;
+ NepaliWord?: string;
Pronunciation: string;
- DevenagiriSpelling: string;
ImageUrl?: string;
PronounciationUrl?: string;
- isFlipped: boolean;
+ viewType: number;
}
const Card: React.FC = ({
Word,
TranslatedWord,
+ NepaliWord,
Pronunciation,
- DevenagiriSpelling,
ImageUrl,
PronounciationUrl,
- isFlipped,
+ viewType,
}) => {
const [audio, setAudio] = useState(null);
+ const { selectedLanguage } = useLanguage();
const handlePronunciation = (event: React.MouseEvent) => {
event.stopPropagation();
@@ -42,31 +44,105 @@ const Card: React.FC = ({
};
return (
-
-
-
- {!isFlipped &&
{Word}
}
-
-
-
+
+ {/* Front View */}
+
+ {viewType === 0 && (
+
+ {Word}
+
+ )}
+
+
+ {/* Second View */}
+
+
+
+
+ {Word}
+
+
+ {Pronunciation}
+
+ {PronounciationUrl && (
+
+
+
+ )}
+
+
{ImageUrl && (
-
+
)}
-
{TranslatedWord}
-
{DevenagiriSpelling}
-
{Pronunciation}
+
+
+
+
+
{selectedLanguage}:
+
{TranslatedWord}
+
+ {NepaliWord && (
+
+
Nepali:
+
{NepaliWord}
+
+ )}
+
+
+
+
+
+
+ {/* Third View */}
+
+
+
+
+ {Word}
+
+
+ {Pronunciation}
+
{PronounciationUrl && (
-
+
)}
+
+ {ImageUrl && (
+
+ )}
+
diff --git a/nepalingo-web/src/components/CustomTextInput.tsx b/nepalingo-web/src/components/CustomTextInput.tsx
new file mode 100644
index 0000000..bcb4b94
--- /dev/null
+++ b/nepalingo-web/src/components/CustomTextInput.tsx
@@ -0,0 +1,51 @@
+import React from "react";
+import {
+ FontAwesomeIcon,
+ FontAwesomeIconProps,
+} from "@fortawesome/react-fontawesome";
+
+interface TextInputProps extends React.InputHTMLAttributes
{
+ label?: string;
+ value?: string;
+ iconProps?: FontAwesomeIconProps;
+ placeholder?: string;
+ error?: string;
+ name: string;
+ containerStyle?: string;
+}
+const CustomTextInput = ({
+ label,
+ iconProps,
+ placeholder,
+ name,
+ className,
+ error,
+ containerStyle,
+ ...props
+}: TextInputProps) => {
+ return (
+
+ {label && (
+
+ {label}
+
+ )}
+
+ {iconProps && }
+
+
+
+ );
+};
+export default CustomTextInput;
diff --git a/nepalingo-web/src/components/ExitConfirmationModal.tsx b/nepalingo-web/src/components/ExitConfirmationModal.tsx
new file mode 100644
index 0000000..e7f4022
--- /dev/null
+++ b/nepalingo-web/src/components/ExitConfirmationModal.tsx
@@ -0,0 +1,37 @@
+import React from "react";
+
+interface ExitConfirmationModalProps {
+ show: boolean;
+ onConfirm: (confirm: boolean) => void;
+}
+
+const ExitConfirmationModal: React.FC = ({
+ show,
+ onConfirm
+}) => {
+ if (!show) return null;
+
+ return (
+
+
+
Are you sure you want to exit?
+
+ onConfirm(true)}
+ >
+ Yes
+
+ onConfirm(false)}
+ >
+ No
+
+
+
+
+ );
+};
+
+export default ExitConfirmationModal;
\ No newline at end of file
diff --git a/nepalingo-web/src/components/FeedbackForm.tsx b/nepalingo-web/src/components/FeedbackForm.tsx
new file mode 100644
index 0000000..c45b221
--- /dev/null
+++ b/nepalingo-web/src/components/FeedbackForm.tsx
@@ -0,0 +1,122 @@
+import React, { useState } from "react";
+import { supabaseClient } from "@/config/supabase-client";
+
+interface FeedbackFormProps {
+ onClose: () => void;
+}
+
+const FeedbackForm: React.FC = ({ onClose }) => {
+ const [rating, setRating] = useState(null);
+ const [emojiRating, setEmojiRating] = useState(null);
+ const [comments, setComments] = useState("");
+ const [submitted, setSubmitted] = useState(false);
+ const [error, setError] = useState("");
+
+ const handleClose = () => {
+ onClose();
+ };
+
+ const handleSubmit = async () => {
+ if (rating === null || emojiRating === null) {
+ setError("Please provide both a star and emoji rating.");
+ return;
+ }
+
+ // Insert feedback into Supabase
+ const { error: insertError } = await supabaseClient
+ .from("feedback")
+ .insert([{ rating, emoji_rating: emojiRating, comments }]);
+
+ if (insertError) {
+ console.error("Error inserting feedback:", insertError);
+ return;
+ }
+
+ setSubmitted(true);
+ };
+
+ return (
+
+ {submitted ? (
+
+
+ ×
+
+
+ Thank you for your feedback! 🎉
+
+
+ ) : (
+ <>
+
+ ×
+
+
+ We value your feedback! 🌟
+
+
+ How would you rate your experience with Nepalingo?
+
+
+
+
Rate with stars:
+
+ {[1, 2, 3, 4, 5].map((star) => (
+ setRating(star)}
+ >
+ ★
+
+ ))}
+
+
+
+
+
Rate with emojis:
+
+ {["😟", "😐", "😊", "😃", "😍"].map((emoji, index) => (
+ setEmojiRating(index + 1)}
+ >
+ {emoji}
+
+ ))}
+
+
+
+ {error &&
{error}
}
+
+
+ );
+};
+
+export default FeedbackForm;
diff --git a/nepalingo-web/src/components/Flashcard.tsx b/nepalingo-web/src/components/Flashcard.tsx
index 028150f..83a68ca 100644
--- a/nepalingo-web/src/components/Flashcard.tsx
+++ b/nepalingo-web/src/components/Flashcard.tsx
@@ -1,75 +1,173 @@
-import React, { useState } from "react";
-import Card from "./Card";
-import Button from "./Button";
-import useDictionary from "../hooks/useDictionary";
-import { generate } from "random-words";
+import React, { useEffect, useState } from "react";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import {
+ faThumbsUp,
+ faEye,
+ faThumbsDown,
+ faSignOutAlt,
+} from "@fortawesome/free-solid-svg-icons";
+import Card from "@/components/Card";
+import useDictionary from "@/hooks/useDictionary";
import ReactGA from "react-ga4";
+import { useLanguage } from "@/hooks/Langauge";
+import { getNextWord } from "@/lib/getNextWord";
+import { useNavigate } from "react-router-dom";
+import ExitConfirmationModal from "@/components/ExitConfirmationModal";
const Flashcard: React.FC = () => {
- ReactGA.event({
- category: "flash cards",
- action: "Click",
- value: 99, // optional, must be a number
- nonInteraction: true, // optional, true/false
- transport: "xhr", // optional, beacon/xhr/image
- });
- const [word, setWord] = useState("salt");
- const [isFlipped, setIsFlipped] = useState(false);
- const { data, isLoading, error } = useDictionary({
- language: "newari",
- word,
- });
- console.log(error);
+ const [viewType, setViewType] = useState(0);
+ const { selectedLanguage } = useLanguage();
+ const [word, setWord] = useState("Today");
+ const [wordGenerator, setWordGenerator] = useState | null>(null);
+ const [showExitModal, setShowExitModal] = useState(false);
+ const navigate = useNavigate();
- const handleFlip = () => {
- setIsFlipped(!isFlipped);
- };
+ const { data, isLoading, error } = useDictionary({
+ language: selectedLanguage || "",
+ word,
+ });
- const handleNextWord = () => {
- setWord(generate() as string);
- setIsFlipped(false);
- };
+ useEffect(() => {
+ // Initialize the word generator when the language changes
+ const initWordGenerator = async () => {
+ const generator = await getNextWord(selectedLanguage || "Newari");
+ setWordGenerator(generator);
+ handleNextWord(generator);
+ };
+ initWordGenerator();
+ }, [selectedLanguage]);
- if (isLoading) return Loading
;
- if (error?.response?.length) handleNextWord();
- const meaning = data && data.meanings[0];
+ const handleFlip = () => {
+ setViewType((prevViewType) => (prevViewType + 1) % 3);
+ };
- return (
-
-
- {error ? (
-
Error: {error.message}
- ) : (
-
- )}
+ const handleNextWord = async (
+ generator?: Generator
,
+ ) => {
+ if (!generator && wordGenerator) {
+ generator = wordGenerator;
+ }
+ if (generator) {
+ const nextWord = generator.next().value;
+ if (typeof nextWord === "string") {
+ setWord(nextWord);
+ setViewType(0);
+ }
+ }
+ };
-
-
- Flip
-
-
- Next Word
-
+ const handleExit = () => {
+ setShowExitModal(true);
+ };
+
+ const confirmExit = (confirm: boolean) => {
+ if (confirm) {
+ navigate("/");
+ } else {
+ setShowExitModal(false);
+ }
+ };
+
+ if (isLoading) return
Loading...
;
+ if (error?.response?.length) handleNextWord();
+
+ const meaning = data ? data.meanings[0] : null;
+
+ return (
+
+
+ {error ? (
+
Error: {error.message}
+ ) : selectedLanguage ? (
+
+ ) : (
+
No data available
+ )}
+
+
+
+ {
+ handleNextWord();
+ ReactGA.event({
+ category: "flash cards",
+ label: "thumbs down",
+ action: "Click",
+ value: 99,
+ nonInteraction: true,
+ transport: "xhr",
+ });
+ }}
+ style={{ width: "50px", height: "50px" }}
+ >
+
+
+ {
+ handleFlip();
+ ReactGA.event({
+ category: "flash cards",
+ label: "eye",
+ action: "Click",
+ value: 99,
+ nonInteraction: true,
+ transport: "xhr",
+ });
+ }}
+ style={{ width: "50px", height: "50px" }}
+ >
+
+
+ {
+ handleNextWord();
+ ReactGA.event({
+ category: "flash cards",
+ label: "thumbs up",
+ action: "Click",
+ value: 99,
+ nonInteraction: true,
+ transport: "xhr",
+ });
+ }}
+ style={{ width: "50px", height: "50px" }}
+ >
+
+
+
+
+
+
+
+
+
-
-
- );
+ );
};
-export default Flashcard;
+export default Flashcard;
\ No newline at end of file
diff --git a/nepalingo-web/src/components/GreetingCard.tsx b/nepalingo-web/src/components/GreetingCard.tsx
new file mode 100644
index 0000000..4095704
--- /dev/null
+++ b/nepalingo-web/src/components/GreetingCard.tsx
@@ -0,0 +1,38 @@
+import React from "react";
+import ReactGA from "react-ga4";
+
+interface GreetingCardProps {
+ name: string;
+}
+
+const GreetingCard: React.FC
= ({ name }) => {
+ ReactGA.send({
+ hitType: "pageview",
+ page: window.location.pathname,
+ title: "home",
+ });
+
+ const getCurrentGreeting = (): string => {
+ const CurrentHours = new Date().getHours();
+ if (CurrentHours < 12) {
+ return "Good Morning";
+ } else if (CurrentHours < 18) {
+ return "Good Afternoon";
+ } else {
+ return "Good Evening";
+ }
+ };
+
+ return (
+
+
+ {`${getCurrentGreeting()} ${name},`}
+
+
+ Lets learn some new words today!
+
+
+ );
+};
+
+export default GreetingCard;
diff --git a/nepalingo-web/src/components/InputText.tsx b/nepalingo-web/src/components/InputText.tsx
new file mode 100644
index 0000000..643d9ae
--- /dev/null
+++ b/nepalingo-web/src/components/InputText.tsx
@@ -0,0 +1,41 @@
+import React from "react";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
+
+interface InputTextProps extends React.InputHTMLAttributes {
+ value: string;
+ onChange?: (e: React.ChangeEvent) => void;
+ onKeyDown?: (e: React.KeyboardEvent) => void;
+ placeholder?: string;
+ icon?: IconDefinition; // Optional icon prop
+}
+
+const InputText: React.FC = ({
+ value,
+ onChange,
+ onKeyDown,
+ placeholder,
+ icon,
+ ...otherInputProps
+}) => {
+ return (
+
+ {icon && (
+
+
+
+ )}
+
+
+ );
+};
+
+export default InputText;
diff --git a/nepalingo-web/src/components/PrivateRoutes.tsx b/nepalingo-web/src/components/PrivateRoutes.tsx
new file mode 100644
index 0000000..9ee5089
--- /dev/null
+++ b/nepalingo-web/src/components/PrivateRoutes.tsx
@@ -0,0 +1,8 @@
+import React from "react";
+import { Navigate, Outlet } from "react-router-dom";
+import { useAuth } from "@/hooks/Auth";
+
+export const PrivateRoutes = () => {
+ const { user } = useAuth();
+ return user ? : ;
+};
diff --git a/nepalingo-web/src/components/SearchResponseCard.tsx b/nepalingo-web/src/components/SearchResponseCard.tsx
new file mode 100644
index 0000000..1277525
--- /dev/null
+++ b/nepalingo-web/src/components/SearchResponseCard.tsx
@@ -0,0 +1,62 @@
+import { Meaning } from "@/hooks/useDictionary";
+import React from "react";
+
+const SearchResponseCard = ({ meaning }: { meaning: Meaning }) => {
+ return (
+
+
+
+
+
+ {meaning.meaningOriginal}
+
+ {meaning?.transliterations?.latn && (
+
+ [{meaning.transliterations.latn}]
+
+ )}
+
+ {meaning.audio && (
+
+ )}
+
+
+ {meaning.partsOfSpeech && (
+
+ POS: {meaning.partsOfSpeech}
+
+ )}
+
+ {meaning.dialect} Dialect
+
+ {meaning.transliterations?.original && (
+
+ Nepal Lipi: {meaning.transliterations?.original}
+
+ )}
+
+ {meaning.meaningEn && (
+
+ {meaning.meaningEn}
+
+ )}
+
+ {meaning.image && (
+
+ )}
+
+ );
+};
+
+export default SearchResponseCard;
diff --git a/nepalingo-web/src/components/UserAvatar.tsx b/nepalingo-web/src/components/UserAvatar.tsx
index 70ed5d6..e7dda8d 100644
--- a/nepalingo-web/src/components/UserAvatar.tsx
+++ b/nepalingo-web/src/components/UserAvatar.tsx
@@ -1,10 +1,10 @@
import React from "react";
-import { useAuth } from "./userAuth/AuthContext"; // Adjust the import path based on your project structure
+import { useAuth } from "@/hooks/Auth";
const UserAvatar: React.FC = () => {
const { user } = useAuth();
const username = user?.user_metadata?.username;
- const avatarUrl = `https://robohash.org/${username}.png`;
+ const avatarUrl = `https://robohash.org/${username}.png?set=set4`;
return (
{
+ const [username, setUsername] = useState('');
+ const [email, setEmail] = useState('');
+ const [password, setPassword] = useState('');
+
+ const handleSave = () => {
+ // Handle save logic, like updating the profile data via an API call
+ console.log('Updated profile:', { username, email, password });
+ };
+
+ return (
+
+ );
+};
+
+export default EditProfile;
diff --git a/nepalingo-web/src/components/header/About.tsx b/nepalingo-web/src/components/header/About.tsx
new file mode 100644
index 0000000..2fe1f94
--- /dev/null
+++ b/nepalingo-web/src/components/header/About.tsx
@@ -0,0 +1,167 @@
+import React from "react";
+import Header from "@/components/header/Header";
+
+const teamMembers = [
+ {
+ name: "Binam Kayastha",
+ role: "Mentor",
+ image: "/photos/binamkayastha.png",
+ bio: "Binam Kayastha is a Senior Software engineer with six years of industry experience. Originally from Nepal, he is currently working in Boston, USA as a Platform Engineer at Cirkul. Binam is a true full-stack developer with experience spanning DevOps, data engineering, back-end, and front-end. In his free time, he loves tinkering with new technologies, developing his own productivity apps, building games, and competing in hackathons.",
+ },
+ {
+ name: "Christina Kayastha",
+ role: "Mentor",
+ image: "/photos/christinakayastha.png",
+ bio: "Christina Kayastha is a Principal Software Engineer with nearly a decade of industry experience. Originally from Nepal, she is currently working in Boston, USA as a Domain Architect leading innovation initiatives at Vista. Christina is an inventor on 11 patents, has given 50+ conference talks. In her free time, she loves nerding out about emerging tech, building interactive art installations, and is an active leader in her local cultural and tech communities.",
+ },
+
+ {
+ name: "Hemanta Bhandari",
+ role: "Peer Mentor",
+ image: "/photos/hemsbhandari.jpg",
+ bio: "Hemanta (Hems) is a Budhanilkantha School alumnus with a passion for both mathematics and computer science, seamlessly blending theory with practical applications. He has a keen interest in applied mathematics and building full-stack web applications. In his free time, he enjoys playing chess and basketball, as well as expressing his creativity through sketching.",
+ },
+
+ {
+ name: "Aanchal Nancy Jha",
+ role: "Mentee",
+ image: "/photos/Nancy.png",
+ bio: "Aanchal Nancy Jha is a high school graduate and a passionate coding enthusiast. She enjoys learning new programming languages, frameworks, and technologies. Her hobbies include creating mini-games and side projects, making coding tutorials on YouTube, reading tech blogs, and competing in hackathons. Nancy is always eager to learn and take on new challenges.",
+ },
+
+ {
+ name: "Aditya Bikram Thakur",
+ role: "Mentee",
+ image: "/photos/aditya.jpeg",
+ bio: "Aditya Bikram Thakur is a senior A-levels student at Budhanilkantha School. He is interested in various aspects of computer science such as Data structures and algorithms, web development, and Deep learning. His hobbies include listening to audiobooks, going on a morning stroll, learning Japanese, and watching movies.",
+ },
+
+ {
+ name: "Devaki Rawal",
+ role: "Mentee",
+ image: "/photos/devakirawal.jpeg",
+ bio: "Devaki Rawal is a high school graduate and a tech enthusiast, always eager to spread digital literacy programs. In her free time, she loves teaching children. She challenges herself every day to become one step better than yesterday. Devaki enjoys traveling, watching Shark Tank, and teaching. She is always open to learning and exploring new things every day.",
+ },
+
+ {
+ name: "Puja Tajpuriya",
+ role: "Mentee",
+ image: "/photos/puja.png",
+ bio: "Puja Tajpuriya, a high school graduate with a deep passion for creativity and technology, is embarking on an exciting journey into programming. Alongside her hobbies of crafting poetry, singing melodies, and exploring zenart, she is passionately diving into the dynamic world of coding. She is committed to mastering programming fundamentals and leveraging her diverse interests to inspire unique projects. With a keen eye for detail and a natural flair for expression.",
+ },
+
+ {
+ name: "Sanskar Lamsal",
+ role: "Mentee",
+ image: "/photos/sanskar.jpg",
+ bio: "Sanskar Lamsal is a high school graduate. His hobbies include watching movies and TV series, participating in hackathons, and listening to music and podcasts. He has a keen interest in design and programming and enjoys creating things that matter. In his free time, he mostly hangs out with friends and family, works on side projects, or explores new interests.",
+ },
+
+ {
+ name: "Saphal Upreti",
+ role: "Mentee",
+ image: "/photos/saphalupreti.jpg",
+ bio: "Saphal Upreti is an incoming freshman at Mississippi State University, double majoring in Computer Science and Business. His hobbies include watching movies, gaming, occasionally listening and producing music, and participating in hackathons. In his free time, he likes to work on different side projects and spend time with his friends and family.",
+ },
+];
+
+const About: React.FC = () => {
+ return (
+ <>
+
+
+
+ Incubate Nepal
+
+
+
+ Incubate Nepal
+
+ is an 8-week virtual program that connects students from all
+ over Nepal to collaborate on open-ended projects. These students are
+ matched with accomplished mentors as they navigate through their
+ projects in small teams. Students will need to think creatively,
+ deeply, and collaboratively as they write papers or prototype apps
+ during the program. Mentors and guest speakers will also provide
+ guidance on the US college admission process, as well as career advice
+ in research and entrepreneurship. Incubate Nepal is completely free
+ and available to students who have completed Grade 11 or Grade 12, and
+ not yet enrolled in university.
+
+ This program was founded by a group of MIT and Harvard graduates to
+ make project-based learning more accessible to students in Nepal. In
+ addition to connecting students from all over Nepal, this virtual
+ program offers mentorship and exposure to open-ended projects.
+
+
+
+
+ Nepalingo
+
+
+
+ Nepalingo
+
+ is a project under Incubate Nepal. Since 1795, 61% of native
+ languages across the world have already been lost, and many of
+ Nepal's 100 indigenous languages have also been identified as at
+ risk. Nepalingo.com aims to help preserve these languages and with
+ them our stories, songs, history, and culture. We take the work of
+ linguists who have already expended great efforts accumulating the
+ knowledge of these languages into dictionaries and make that
+ information easier to learn and remember. In doing so, we hope to help
+ new generations connect with their elders and reconnect with their
+ heritage.
+
+
+
+ Team Members
+
+
+ {teamMembers.map((member, index) => (
+
+
+
{member.name}
+
{member.role}
+
{member.bio}
+
+ ))}
+
+
+
+
+ >
+ );
+};
+
+export default About;
diff --git a/nepalingo-web/src/components/header/ChangeLanguage.tsx b/nepalingo-web/src/components/header/ChangeLanguage.tsx
new file mode 100644
index 0000000..06d1be5
--- /dev/null
+++ b/nepalingo-web/src/components/header/ChangeLanguage.tsx
@@ -0,0 +1,66 @@
+import React, { useEffect, useRef, useState } from "react";
+import Menu from "@/components/header/Menu";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import { faChevronDown } from "@fortawesome/free-solid-svg-icons";
+import { LanguageKey, Languages, useLanguage } from "@/hooks/Langauge";
+
+const ChangeLanguage: React.FC = () => {
+ const [isOpen, setIsOpen] = useState(false);
+ const { selectedLanguage, switchLanguage } = useLanguage();
+ const dropdownRef = useRef(null);
+
+ useEffect(() => {
+ const handleEscape = (event: KeyboardEvent) => {
+ if (event.key === "Escape") {
+ setIsOpen(false);
+ }
+ };
+ const handleOutsideClick = (event: MouseEvent) => {
+ if (!dropdownRef.current?.contains(event.target as Node)) {
+ setIsOpen(false);
+ }
+ };
+ if (isOpen) {
+ document.addEventListener("click", handleOutsideClick);
+ } else {
+ document.removeEventListener("click", handleOutsideClick);
+ }
+
+ window.addEventListener("keydown", handleEscape);
+
+ return () => {
+ window.removeEventListener("keydown", handleEscape);
+ document.removeEventListener("click", handleOutsideClick);
+ };
+ }, [isOpen]);
+
+ const toggleMenu = () => {
+ setIsOpen(!isOpen);
+ };
+
+ const handleSelect = (option: LanguageKey) => {
+ switchLanguage(option);
+ setIsOpen(false);
+ };
+ const options = Object.keys(Languages).map((key) => ({
+ label: key,
+ value: Languages[key as LanguageKey],
+ }));
+ return (
+
+
+
+ {selectedLanguage}
+
+
+
+
+
+ );
+};
+
+export default ChangeLanguage;
diff --git a/nepalingo-web/src/components/header/Header.tsx b/nepalingo-web/src/components/header/Header.tsx
index 17fe355..cdaf69f 100644
--- a/nepalingo-web/src/components/header/Header.tsx
+++ b/nepalingo-web/src/components/header/Header.tsx
@@ -1,17 +1,27 @@
import React from "react";
-import logo from "../../assets/NepaLingoLogoWhiteBg.jpg";
-import UserProfile from "./UserProfile";
+import logo from "@/assets/NewLogo.png";
+import UserProfile from "@/components/header/UserProfile";
+import ChangeLanguage from "@/components/header/ChangeLanguage";
+import { Link } from "react-router-dom";
const Header: React.FC = () => {
return (
-
-
-
-
+
+
+
+
+
+
+
);
diff --git a/nepalingo-web/src/components/header/Menu.tsx b/nepalingo-web/src/components/header/Menu.tsx
index 946c9da..0257cb3 100644
--- a/nepalingo-web/src/components/header/Menu.tsx
+++ b/nepalingo-web/src/components/header/Menu.tsx
@@ -1,8 +1,9 @@
import React from "react";
+import { LanguageKey } from "@/hooks/Langauge";
interface MenuProps {
isOpen: boolean;
- onSelect: (option: string) => void;
+ onSelect: (option: LanguageKey) => void;
options: { label: string; value: string }[];
}
@@ -10,9 +11,8 @@ const Menu: React.FC = ({ isOpen, onSelect, options }) => {
if (!isOpen) return null;
return (
-
+
= ({ isOpen, onSelect, options }) => {
onSelect(option.value)}
+ className={`w-full text-left px-4 py-4 text-sm font-primary font-semibold text-white ${
+ option.value === "coming soon"
+ ? "text-gray-500 cursor-not-allowed"
+ : "hover:bg-[#D03641] hover:text-white"
+ }`}
+ onClick={() =>
+ option.value !== "coming soon" &&
+ onSelect(option.label as LanguageKey)
+ }
+ disabled={option.value === "coming soon"}
>
- {option.label}
+ {option.label}{" "}
+ {option.value === "coming soon" && (
+ (Coming Soon)
+ )}
))}
diff --git a/nepalingo-web/src/components/header/StreakDisplay.tsx b/nepalingo-web/src/components/header/StreakDisplay.tsx
new file mode 100644
index 0000000..1131bca
--- /dev/null
+++ b/nepalingo-web/src/components/header/StreakDisplay.tsx
@@ -0,0 +1,25 @@
+import React, { useContext } from "react";
+import { StreakContext } from "@/hooks/StreakContext";
+import { getPhrase } from "@/components/header/StreakPhrase";
+import fire from "@/assets/fire.svg";
+
+const StreakDisplay: React.FC = () => {
+ const { currentStreak } = useContext(StreakContext);
+ const phrase = getPhrase(currentStreak);
+
+ return (
+
+
+
+
+
+ {currentStreak}
+
+
+
+ );
+};
+
+export default StreakDisplay;
diff --git a/nepalingo-web/src/components/header/StreakPhrase.tsx b/nepalingo-web/src/components/header/StreakPhrase.tsx
new file mode 100644
index 0000000..2fd0a7f
--- /dev/null
+++ b/nepalingo-web/src/components/header/StreakPhrase.tsx
@@ -0,0 +1,28 @@
+export interface StreakPhrase {
+ min: number;
+ max: number;
+ text: string;
+}
+
+const phrases = [
+ { min: 0, max: 5, text: "Starting strong!\nKeep going!" },
+ { min: 6, max: 10, text: "On a roll!\nNice job!" },
+ { min: 11, max: 20, text: "Heating up!\nAs hot as a chilly!" },
+ { min: 21, max: 30, text: "Crushing it!\nUnstoppable!" },
+ { min: 31, max: 40, text: "On fire\nEven dragons are impressed!" },
+ { min: 41, max: 50, text: "Blazing trails!\nYou're a legend in the making!" },
+ {
+ min: 51,
+ max: Infinity,
+ text: "Epic streak! You're rewriting the rulebook!",
+ },
+];
+
+export const getPhrase = (streak: number): string => {
+ for (const phrase of phrases) {
+ if (streak >= phrase.min && streak <= phrase.max) {
+ return phrase.text;
+ }
+ }
+ return "";
+};
diff --git a/nepalingo-web/src/components/header/UserProfile.tsx b/nepalingo-web/src/components/header/UserProfile.tsx
index bc0353a..546806a 100644
--- a/nepalingo-web/src/components/header/UserProfile.tsx
+++ b/nepalingo-web/src/components/header/UserProfile.tsx
@@ -1,38 +1,93 @@
-import React, { useState } from "react";
-import UserAvatar from "../UserAvatar";
-import Menu from "./Menu";
-import { useAuth } from "../userAuth/AuthContext";
+import React, { useState, useContext, useRef, useEffect } from "react";
+import UserAvatar from "@/components/UserAvatar";
+import { StreakContext } from "@/hooks/StreakContext";
+import { getPhrase } from "@/components/header/StreakPhrase";
+import { useAuth } from "@/hooks/Auth";
+import fire from "@/assets/fire.svg";
const UserProfile: React.FC = () => {
const [isOpen, setIsOpen] = useState(false);
const { user, signOut } = useAuth();
+ const { currentStreak, longestStreak } = useContext(StreakContext);
+ const phrase = getPhrase(currentStreak);
+ const dropdownRef = useRef
(null);
const toggleMenu = () => {
setIsOpen(!isOpen);
};
- const handleSelect = (option: string) => {
- if (option === "signOut") {
- signOut();
+ const handleClickOutside = (event: MouseEvent) => {
+ if (
+ dropdownRef.current &&
+ !dropdownRef.current.contains(event.target as Node)
+ ) {
+ setIsOpen(false);
}
- setIsOpen(false);
};
- const options = [
- { label: `Username: ${user?.user_metadata?.username}`, value: "username" },
- { label: "Log out", value: "signOut" },
- ];
+ useEffect(() => {
+ document.addEventListener("mousedown", handleClickOutside);
+ return () => {
+ document.removeEventListener("mousedown", handleClickOutside);
+ };
+ }, []);
return (
-
+
-
+
+
+
-
+ {isOpen && (
+
+
+
+
+
+
+ {user?.user_metadata?.username}
+
+
+ {phrase}
+
+
+
+
+
+
+
+
+ {currentStreak}
+
+
+
Current
+
+
+
+
+
+
+ {longestStreak}
+
+
+
Highest
+
+
+
+
+ Log out
+
+
+ )}
);
};
diff --git a/nepalingo-web/src/components/randomQuotes.tsx b/nepalingo-web/src/components/randomQuotes.tsx
new file mode 100644
index 0000000..ab32954
--- /dev/null
+++ b/nepalingo-web/src/components/randomQuotes.tsx
@@ -0,0 +1,97 @@
+<<<<<<< HEAD
+import React, { useState, useEffect } from 'react';
+import useQuotes from '../hooks/useQuotes'
+
+const RandomQuote = () => {
+ const { quotes } = useQuotes(); // Assuming useQuotes returns an object with a quotes array
+ const { language } = useLanguage(); // Assuming useLanguage returns an object with the current language
+ const [randomQuote, setRandomQuote] = useState(null);
+
+ useEffect(() => {
+ if (quotes && quotes.length > 0) {
+ const randomIndex = Math.floor(Math.random() * quotes.length);
+ setRandomQuote(quotes[randomIndex]);
+ }
+ }, [quotes]);
+
+ if (!randomQuote) {
+ return
Loading...
;
+ }
+
+ const { text, translations } = randomQuote;
+ const translatedText = translations[language] || text;
+
+ return (
+
+
{text}
+
{translatedText}
+
+ );
+};
+
+// Example styles - adjust according to your Figma design
+const styles = {
+ container: {
+ padding: '20px',
+ border: '1px solid #ccc',
+ borderRadius: '8px',
+ backgroundColor: '#f9f9f9',
+ textAlign: 'center',
+ },
+ quote: {
+ fontSize: '18px',
+ fontStyle: 'italic',
+ marginBottom: '10px',
+ },
+ translation: {
+ fontSize: '16px',
+ color: '#555',
+ },
+};
+
+export default RandomQuote;
+
+
+=======
+import React from "react";
+import useQuotes from "@/hooks/useQuotes";
+
+const RandomQuoteComponent: React.FC = () => {
+ const { randomQuote } = useQuotes();
+
+ if (!randomQuote) {
+ return
Loading...
;
+ }
+ const { text, translation } = randomQuote;
+
+ return (
+
+
{text}
+
+ {translation}
+
+
+ );
+};
+
+const styles = {
+ container: {
+ padding: "20px",
+ border: "1px solid #ccc",
+ borderRadius: "8px",
+ backgroundColor: "#f9f9f9",
+ textAlign: "center",
+ },
+ quote: {
+ fontSize: "18px",
+ fontStyle: "normal",
+ marginBottom: "10px",
+ },
+ translation: {
+ fontSize: "16px",
+ color: "#555",
+ },
+};
+
+export default RandomQuoteComponent;
+>>>>>>> 1e8f4d1f4bd1c494646432964c99a01746c2ae0a
diff --git a/nepalingo-web/src/components/userAuth/AuthContext.tsx b/nepalingo-web/src/components/userAuth/AuthContext.tsx
deleted file mode 100644
index 5030bce..0000000
--- a/nepalingo-web/src/components/userAuth/AuthContext.tsx
+++ /dev/null
@@ -1,70 +0,0 @@
-import React, {
- createContext,
- useContext,
- useState,
- ReactNode,
- useEffect,
-} from "react";
-import supabase from "./supabaseClient";
-import {
- AuthError,
- AuthResponse,
- AuthTokenResponsePassword,
- SignInWithPasswordCredentials,
- SignUpWithPasswordCredentials,
- User,
-} from "@supabase/supabase-js";
-
-interface AuthContextProps {
- user: User | null;
- signUp: (data: SignUpWithPasswordCredentials) => Promise
;
- signIn: (
- data: SignInWithPasswordCredentials
- ) => Promise;
- signOut: () => Promise<{ error: AuthError | null }>;
-}
-
-const AuthContext = createContext(undefined);
-
-export const AuthProvider = ({ children }: { children: ReactNode }) => {
- const [user, setUser] = useState(null);
- const [, setIsAuthenticated] = useState(false);
-
- useEffect(() => {
- const fetchSession = async () => {
- const {
- data: { session },
- } = await supabase.auth.getSession();
- setIsAuthenticated(!!session);
- setUser(session?.user ?? null);
- };
-
- fetchSession();
-
- const {
- data: { subscription },
- } = supabase.auth.onAuthStateChange((_event, session) => {
- setIsAuthenticated(!!session);
- setUser(session?.user ?? null);
- });
-
- return () => subscription.unsubscribe();
- }, []);
-
- const value: AuthContextProps = {
- signUp: (data) => supabase.auth.signUp(data),
- signIn: (data) => supabase.auth.signInWithPassword(data),
- signOut: () => supabase.auth.signOut(),
- user,
- };
-
- return {children} ;
-};
-
-export const useAuth = () => {
- const context = useContext(AuthContext);
- if (context === undefined) {
- throw new Error("useAuth must be used within an AuthProvider");
- }
- return context;
-};
diff --git a/nepalingo-web/src/components/userAuth/UserAuth.tsx b/nepalingo-web/src/components/userAuth/UserAuth.tsx
deleted file mode 100644
index ae7280c..0000000
--- a/nepalingo-web/src/components/userAuth/UserAuth.tsx
+++ /dev/null
@@ -1,176 +0,0 @@
-import React, { useState } from "react";
-import { useNavigate } from "react-router-dom";
-import { useAuth } from "./AuthContext";
-import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
-import {
- faUser,
- faEnvelope,
- faLock,
- faEye,
- faEyeSlash,
-} from "@fortawesome/free-solid-svg-icons";
-import ReactGA from 'react-ga4';
-
-const User_auth: React.FC = () => {
- ReactGA.send({ hitType: "pageview", page: window.location.pathname, title: "login"});
- const [action, setAction] = useState<"Sign Up" | "Log In">("Sign Up");
- const [username, setUsername] = useState("");
- const [email, setEmail] = useState("");
- const [password, setPassword] = useState("");
- const [error, setError] = useState(null);
- const [success, setSuccess] = useState(false);
- const [showPassword, setShowPassword] = useState(false);
- const { signUp, signIn } = useAuth();
- const navigate = useNavigate();
-
- // Function to handle form submission
- const handleSubmit = async () => {
- setError(null);
- setSuccess(false);
-
- if (action === "Sign Up" && username == "") {
- setError("Please enter a username");
- return;
- }
-
- if (action === "Sign Up" && username != "") {
- const { error } = await signUp({
- email,
- password,
- options: {
- data: {
- username: username,
- },
- },
- });
-
- if (error) {
- setError(error.message);
- } else {
- setSuccess(true);
- }
- } else {
- const { error } = await signIn({
- email,
- password,
- });
-
- if (error) {
- // If there is an error during log in, set the error message
- setError(error.message);
- } else {
- navigate("/");
- }
- }
- };
-
- // Function to handle changing between Sign Up and Log In actions
- const handleActionChange = (newAction: "Sign Up" | "Log In") => {
- setAction(newAction);
- setError(null);
- setSuccess(false);
- setEmail(""); // the email and password field will reset everytime action is changed
- setPassword("");
- };
-
- return (
-
-
- {/* Header */}
-
-
- {/* Input fields */}
-
-
- {action === "Sign Up" ? null : (
-
-
- Forgot Password?
-
-
- )}
-
- {/* Action buttons */}
-
-
{
- if (action === "Sign Up") handleSubmit();
- else handleActionChange("Sign Up");
- }}
- >
- Sign Up
-
-
{
- if (action === "Log In") handleSubmit();
- else handleActionChange("Log In");
- }}
- >
- Log In
-
-
- {error &&
{error}
}
- {success && action === "Sign Up" && (
-
- Sign up successful! Please check your email to confirm.
-
- )}
-
-
- );
-};
-
-export default User_auth;
diff --git a/nepalingo-web/src/components/userAuth/supabaseClient.ts b/nepalingo-web/src/components/userAuth/supabaseClient.ts
deleted file mode 100644
index e5de814..0000000
--- a/nepalingo-web/src/components/userAuth/supabaseClient.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { createClient } from '@supabase/supabase-js';
-
-const supabaseUrl = 'https://iupkdpieqxplryytuerr.supabase.co';
-const supabaseKey = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Iml1cGtkcGllcXhwbHJ5eXR1ZXJyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MTk1NDY4MTEsImV4cCI6MjAzNTEyMjgxMX0.FcvSaML1Z0KLzXWAfXI-xL4b9aGc179uI8Bo2Q_glPI';
-const supabase = createClient(supabaseUrl, supabaseKey);
-
-export default supabase;
diff --git a/nepalingo-web/src/components/userProfile.tsx b/nepalingo-web/src/components/userProfile.tsx
new file mode 100644
index 0000000..e69de29
diff --git a/nepalingo-web/src/config/supabase-client.ts b/nepalingo-web/src/config/supabase-client.ts
new file mode 100644
index 0000000..41a7c88
--- /dev/null
+++ b/nepalingo-web/src/config/supabase-client.ts
@@ -0,0 +1,6 @@
+import { createClient } from "@supabase/supabase-js";
+
+const supabaseUrl = import.meta.env.VITE_SUPABASE_URL;
+const supabaseKey = import.meta.env.VITE_SUPABASE_KEY;
+
+export const supabaseClient = createClient(supabaseUrl, supabaseKey);
diff --git a/nepalingo-web/src/contexts/LanguageContext.tsx b/nepalingo-web/src/contexts/LanguageContext.tsx
new file mode 100644
index 0000000..6df14f4
--- /dev/null
+++ b/nepalingo-web/src/contexts/LanguageContext.tsx
@@ -0,0 +1,29 @@
+
+import React, { createContext, useContext, useState, ReactNode } from 'react';
+
+type Language = 'newari' | 'maithali' | 'tajpuria';
+
+interface LanguageContextProps {
+ language: Language;
+ setLanguage: (language: Language) => void;
+}
+
+const LanguageContext = createContext(undefined);
+
+export const LanguageProvider: React.FC<{ children: ReactNode }> = ({ children }) => {
+ const [language, setLanguage] = useState('newari');
+
+ return (
+
+ {children}
+
+ );
+};
+
+export const useLanguage = (): LanguageContextProps => {
+ const context = useContext(LanguageContext);
+ if (!context) {
+ throw new Error('useLanguage must be used within a LanguageProvider');
+ }
+ return context;
+};
diff --git a/nepalingo-web/src/declarations.d.ts b/nepalingo-web/src/declarations.d.ts
new file mode 100644
index 0000000..beb4ae3
--- /dev/null
+++ b/nepalingo-web/src/declarations.d.ts
@@ -0,0 +1,4 @@
+declare module "*.json" {
+ const value: unknown;
+ export default value;
+}
diff --git a/nepalingo-web/src/hooks/Auth.tsx b/nepalingo-web/src/hooks/Auth.tsx
new file mode 100644
index 0000000..88d309d
--- /dev/null
+++ b/nepalingo-web/src/hooks/Auth.tsx
@@ -0,0 +1,87 @@
+import React, { useContext, useState, useEffect, createContext } from "react";
+import {
+ AuthResponse,
+ AuthTokenResponsePassword,
+ Session,
+ SignUpWithPasswordCredentials,
+ User,
+} from "@supabase/supabase-js";
+import { supabaseClient } from "@/config/supabase-client";
+
+type AuthContextProps = {
+ session: Session | null | undefined;
+ user: User | null | undefined;
+ signOut: () => void;
+ signUp: (data: SignUpWithPasswordCredentials) => Promise;
+ signIn: (
+ data: SignUpWithPasswordCredentials,
+ ) => Promise;
+ resetPasswordEmail: (email: string) => Promise<{ error: Error | null }>;
+};
+
+const AuthContext = createContext({
+ session: null,
+ user: null,
+ signOut: () => {},
+ signUp: (data) => supabaseClient.auth.signUp(data),
+ signIn: (data) => supabaseClient.auth.signInWithPassword(data),
+ resetPasswordEmail: (email) =>
+ supabaseClient.auth.resetPasswordForEmail(email, {
+ redirectTo: "https://www.nepalingo.com/reset-password",
+ }),
+});
+
+export const AuthProvider = ({ children }: { children: React.ReactNode }) => {
+ const [user, setUser] = useState(null);
+ const [session, setSession] = useState(null);
+ const [loading, setLoading] = useState(true);
+
+ useEffect(() => {
+ const setData = async () => {
+ const {
+ data: { session },
+ error,
+ } = await supabaseClient.auth.getSession();
+ if (error) throw error;
+ setSession(session);
+ setUser(session?.user || null);
+ setLoading(false);
+ };
+
+ const { data: listener } = supabaseClient.auth.onAuthStateChange(
+ (_event, session) => {
+ setSession(session);
+ setUser(session?.user || null);
+ setLoading(false);
+ },
+ );
+
+ setData();
+
+ return () => {
+ listener?.subscription.unsubscribe();
+ };
+ }, []);
+
+ const value: AuthContextProps = {
+ session,
+ user,
+ signOut: () => supabaseClient.auth.signOut(),
+ signUp: (data) => supabaseClient.auth.signUp(data),
+ signIn: (data) => supabaseClient.auth.signInWithPassword(data),
+ resetPasswordEmail: (email) =>
+ supabaseClient.auth.resetPasswordForEmail(email, {
+ redirectTo: "https://www.nepalingo.com/reset-password",
+ }),
+ };
+
+ return (
+
+ {!loading && children}
+
+ );
+};
+
+export const useAuth = () => {
+ return useContext(AuthContext);
+};
diff --git a/nepalingo-web/src/hooks/Langauge.tsx b/nepalingo-web/src/hooks/Langauge.tsx
new file mode 100644
index 0000000..c5c9de2
--- /dev/null
+++ b/nepalingo-web/src/hooks/Langauge.tsx
@@ -0,0 +1,57 @@
+import React from "react";
+import { useContext, useState, useEffect, createContext } from "react";
+
+type ValueOf = T[keyof T];
+export type Language = ValueOf;
+
+export type LanguageKey = keyof typeof Languages;
+
+export const Languages = {
+ Newari: "newari",
+ Tajpuriya: "tajpuriya",
+ Maithili: "maithili",
+ Sanskrit: "sanskrit",
+ Nepali: "nepali",
+} as const;
+
+type LanguageContextProps = {
+ selectedLanguage: LanguageKey | "";
+ switchLanguage: (value: LanguageKey) => void;
+};
+const LanguageContext = createContext({
+ selectedLanguage: "",
+ switchLanguage: (value) => console.log(value),
+});
+
+export const LanguageProvider = ({
+ children,
+}: {
+ children: React.ReactNode;
+}) => {
+ const [language, setLanguage] = useState("Newari");
+
+ const switchLanguage = (value: LanguageKey) => {
+ setLanguage(value);
+ localStorage.setItem("language", value);
+ };
+
+ useEffect(() => {
+ localStorage.getItem("language") &&
+ setLanguage(localStorage.getItem("language") as LanguageKey);
+ }, []);
+
+ return (
+
+ {children}
+
+ );
+};
+
+export const useLanguage = () => {
+ return useContext(LanguageContext);
+};
diff --git a/nepalingo-web/src/hooks/StreakContext.tsx b/nepalingo-web/src/hooks/StreakContext.tsx
new file mode 100644
index 0000000..8498ad8
--- /dev/null
+++ b/nepalingo-web/src/hooks/StreakContext.tsx
@@ -0,0 +1,125 @@
+import React, {
+ createContext,
+ useContext,
+ useState,
+ useEffect,
+ ReactNode,
+} from "react";
+import { supabaseClient } from "@/config/supabase-client";
+import { useAuth } from "@/hooks/Auth";
+
+interface StreakContextProps {
+ currentStreak: number;
+ longestStreak: number;
+ updateStreak: () => void;
+}
+
+export const StreakContext = createContext({
+ currentStreak: 0,
+ longestStreak: 0,
+ updateStreak: () => {},
+});
+
+export const StreakProvider = ({ children }: { children: ReactNode }) => {
+ const { user } = useAuth();
+ const [currentStreak, setCurrentStreak] = useState(0);
+ const [longestStreak, setLongestStreak] = useState(0);
+
+ const fetchStreakData = async () => {
+ if (user) {
+ const { data, error } = await supabaseClient
+ .from("user_daily_streaks")
+ .select("*")
+ .eq("user_id", user.id)
+ .maybeSingle();
+
+ if (error && error.code !== "PGRST116") {
+ console.error("Error fetching streak data:", error);
+ }
+ return data;
+ }
+ };
+
+ const updateStreakState = async () => {
+ const data = await fetchStreakData();
+
+ if (data) {
+ setCurrentStreak(data.current_streak);
+ setLongestStreak(data.longest_streak);
+ }
+ };
+
+ useEffect(() => {
+ if (user) {
+ updateStreakState();
+ }
+ }, [user]);
+
+ const updateStreak = async () => {
+ const data = await fetchStreakData();
+ const currentDate = new Date().toISOString().split("T")[0]; // Get current date
+
+ if (user) {
+ let newStreak = 1;
+ let newLongestStreak = 1;
+
+ if (data?.streak_end_date) {
+ const lastDate = new Date(data.streak_end_date)
+ .toISOString()
+ .split("T")[0];
+ if (lastDate === currentDate) {
+ return; // No update needed if the user has already visited today
+ } else if (
+ new Date(currentDate).getTime() - new Date(lastDate).getTime() ===
+ 86400000
+ ) {
+ newStreak = data.current_streak + 1;
+ newLongestStreak = Math.max(newStreak, data.longest_streak);
+ setCurrentStreak(newStreak);
+ setLongestStreak(newLongestStreak);
+ }
+ }
+
+ // Update state
+ // Upsert database
+ const { error } = await supabaseClient
+ .from("user_daily_streaks")
+ .upsert(
+ {
+ user_id: user.id,
+ streak_start_date:
+ newStreak === 1 ? currentDate : data?.streak_start_date,
+ streak_end_date: currentDate, // Update streak_end_date with currentDate
+ current_streak: newStreak,
+ longest_streak: newLongestStreak,
+ created_at: new Date().toISOString(),
+ },
+ { onConflict: "user_id" },
+ )
+ .select();
+
+ if (error) {
+ console.error("Error updating streak data:", error);
+ }
+ }
+
+ // Update the streak state by fetching from the database after an update
+ updateStreakState();
+ };
+
+ return (
+
+ {children}
+
+ );
+};
+
+export const useStreak = () => {
+ const context = useContext(StreakContext);
+ if (context === undefined) {
+ throw new Error("useStreak must be used within a StreakProvider");
+ }
+ return context;
+};
diff --git a/nepalingo-web/src/hooks/getTajpuriya.tsx b/nepalingo-web/src/hooks/getTajpuriya.tsx
deleted file mode 100644
index 5c08dac..0000000
--- a/nepalingo-web/src/hooks/getTajpuriya.tsx
+++ /dev/null
@@ -1,58 +0,0 @@
-import { useState, useEffect } from "react";
-
-const language = "tajpuriya" as const;
-
-export type dictResponse = {
- language: string;
- word: {
- text: string;
- translation: string;
- };
-};
-
-const getTajpuriya = () => {
- const [word, setWord] = useState(null);
- const [wordText, setwordText] = useState("");
-
- useEffect(() => {
- const sourceFile = "./dictionaries/Tajpuriya grammer - Sheet1.csv";
-
- if (sourceFile) {
- fetch(sourceFile)
- .then((r) => r.text())
- .then((text) => {
- setwordText(text);
- })
- .catch((error) => {
- console.error("Error fetching quotes:", error);
- });
- }
- }, []);
-
- useEffect(() => {
- if (wordText) {
- const loadDict = () => {
- const dictArray = wordText.split("\n").map((line: string) => {
- const [text, translation] = line.split(",");
- return {
- text: text ? text.trim().replace(/(^"|"$)/g, "") : "",
- translation: translation
- ? translation.trim().replace(/(^"|"$)/g, "")
- : "",
- };
- });
-
- const randomIndex = Math.floor(Math.random() * dictArray.length);
- const randomWord = dictArray[randomIndex];
-
- setWord({ language, word: randomWord });
- };
-
- loadDict();
- }
- }, [wordText]);
-
- return word;
-};
-
-export default getTajpuriya;
diff --git a/nepalingo-web/src/hooks/useDictionary.tsx b/nepalingo-web/src/hooks/useDictionary.tsx
index 8624edb..80fca79 100644
--- a/nepalingo-web/src/hooks/useDictionary.tsx
+++ b/nepalingo-web/src/hooks/useDictionary.tsx
@@ -1,50 +1,66 @@
-import useNewari from './useNewari'
-
-const Languages = [
- 'newari',
- 'tajpuriya',
- 'maithili'
-]
+import useSWR from "swr";
+import { getNewariWord } from "@/lib/getNewariWord";
+import { getTajpuriyaWord } from "@/lib/getTajpuriyaWord";
+import { getGTranslate } from "@/lib/getGTranslate";
export type DictionaryProps = {
- language: typeof Languages[number],
- word: string
-}
+ language: string;
+ word: string;
+};
+
+export type Meaning = {
+ audio?: { uri: string };
+ image?: { uri: string };
+ language: string;
+ meaningOriginal?: string;
+ meaningNp?: string;
+ meaningEn: string;
+ partsOfSpeech?: string;
+ dialect?: string;
+ transliterations?: {
+ deva: string;
+ latn: string;
+ original: string;
+ };
+};
export type DictionaryResponse = {
- language: string;
- word: string;
- meanings: [{
- audio?: { uri: string},
- image?: {uri:string},
- language: string,
- meaningOriginal?: string,
- meaningNp?: string,
- meaningEn: string,
- }]
-}
+ language: string;
+ word: string;
+ meanings: Array;
+};
+
+async function getFetcherByLanguage(
+ language: string,
+ word?: string,
+): Promise {
+ if (!word) {
+ word = "hello";
+ }
+
+ switch (language) {
+ case "Newari":
+ return await getNewariWord(word);
+ case "Tajpuriya":
+ return await getTajpuriyaWord(word);
+ case "Maithili":
+ return await getGTranslate("maithili", word);
+ case "Sanskrit":
+ return await getGTranslate("sanskrit", word);
+ case "Nepali":
+ return await getGTranslate("nepali", word);
-///Use case
-//const {data, isLoading, error} = useDictionary('newari', "Hello")
-
-const useDictionary = ({ language, ...otherProps }: DictionaryProps) => {
- switch (language) {
- case 'newari':
- return useNewari(otherProps)
- // case 'tajpuriya':
- // return ({
- // error: { message: "Sorry the language doesnot exists" },
- // data: null,
- // isLoading: false,
- // })
- default:
- return ({
- error: { message: "Sorry the language doesnot exists" },
- data: undefined,
- isLoading: false,
- })
- }
+ default:
+ throw new Error(`Language ${language} not supported`);
+ }
}
+const useDictionary = ({ language, word }: DictionaryProps) => {
+ const cacheKey = word ? `/${language}/${word}` : null;
+ const { data, error, isLoading } = useSWR(cacheKey, () =>
+ getFetcherByLanguage(language, word),
+ );
+ return { data, error, isLoading };
+};
-export default useDictionary
+export default useDictionary;
diff --git a/nepalingo-web/src/hooks/useLanguage.tsx b/nepalingo-web/src/hooks/useLanguage.tsx
new file mode 100644
index 0000000..e69de29
diff --git a/nepalingo-web/src/hooks/useNewari.tsx b/nepalingo-web/src/hooks/useNewari.tsx
deleted file mode 100644
index 51150e0..0000000
--- a/nepalingo-web/src/hooks/useNewari.tsx
+++ /dev/null
@@ -1,41 +0,0 @@
-import useSWR from 'swr'
-import { DictionaryProps, DictionaryResponse } from './useDictionary'
-
-
-const fetcher = (url: string) => fetch(import.meta.env.VITE_NEPALBHASA_API_URL + url, {
-}).then(r => r.json())
-
-const useNewari = (props: Omit) => {
- const { data, error, isLoading } = useSWR(`/dict/en/search/${props.word}`, fetcher)
- console.log(data,error,isLoading)
-
- const customError= data?.errors.length ? {status:true, response:data.errors, message: data.errors[0],}:error
-
-
- const response: DictionaryResponse = {
- language: 'newari',
- word: props.word,
- //Mapping the meanings from the api to create a custom response based on DictionaryResponse
- meanings: data?.meanings.length == 0? []:
- data?.meanings?.map((meaning: {
- audio?: { file: string, directory: string },
- image?: {file:string, directory:string},
- meaning_np?: string,
- meaning_nb?: string,
- meaning_en?: string,
- }) => (
- {
- audio: meaning?.audio && {uri: `${import.meta.env.VITE_NEPALBHASA_API_URL}/dict/${meaning.audio.directory}/${meaning.audio.file}`},
- image: meaning?.image && {uri: `${import.meta.env.VITE_NEPALBHASA_API_URL}/dict/${meaning.image.directory}/w800h800b1sh1/${meaning.image.file}`},
- meaningOriginal: meaning?.meaning_nb,
- meaningNp: meaning?.meaning_np,
- meaningEn: meaning?.meaning_en,
-
- })
- )
- }
-
- return { data: response, error:customError, isLoading }
-}
-
-export default useNewari;
diff --git a/nepalingo-web/src/hooks/useQuotes.tsx b/nepalingo-web/src/hooks/useQuotes.tsx
index aaacdce..2bb11b1 100644
--- a/nepalingo-web/src/hooks/useQuotes.tsx
+++ b/nepalingo-web/src/hooks/useQuotes.tsx
@@ -1,34 +1,68 @@
import { useState, useEffect } from "react";
+import { useLanguage } from "@/hooks/Langauge";
-const Languages = ["newari", "tajpuriya", "maithili"] as const;
+interface Quote {
+ text: string;
-export type QuoteProps = {
- language: (typeof Languages)[number];
-};
+ translation: string;
+}
+export interface QuotesResponse {
+ quotes: Quote[];
+ randomQuote: Quote | null;
+}
-export type QuoteResponse = {
- language: string;
- quote: {
- text: string;
- translation: string;
- };
-};
+const useQuotes = (): QuotesResponse => {
+ const [quotes, setQuotes] = useState([]);
+ const [randomQuote, setRandomQuote] = useState(null);
+ const { selectedLanguage } = useLanguage();
+
+ function parse(row: string) {
+ let insideQuote = false,
+ entry: Array = [];
+ const entries = [];
+ row.split("").forEach(function (character) {
+ if (character === '"') {
+ insideQuote = !insideQuote;
+ } else {
+ if (character == "," && !insideQuote) {
+ entries.push(entry.join(""));
+ entry = [];
+ } else {
+ entry.push(character);
+ }
+ }
+ });
+ entries.push(entry.join(""));
+ return entries;
+ }
+ const loadQuotes = (quotesText: string) => {
+ const quotesArray = quotesText.split(/\r\n|\n/).map((line: string) => {
+ const [quote, englishTranslation] = parse(line);
+ return {
+ text: quote ? quote.trim().replace(/(^"|"$)/g, "") : "",
+ translation: englishTranslation
+ ? englishTranslation.trim().replace(/(^"|"$)/g, "")
+ : "",
+ };
+ });
+
+ const randomIndex = Math.floor(Math.random() * quotesArray.length);
+ const randomQuote = quotesArray[randomIndex];
-const useQuotes = ({ language }: QuoteProps) => {
- const [quote, setQuote] = useState(null);
- const [quotesText, setQuotesText] = useState("");
+ setQuotes(quotesArray);
+ setRandomQuote(randomQuote);
+ };
useEffect(() => {
let sourceFile = "";
-
- switch (language) {
- case "newari":
+ switch (selectedLanguage) {
+ case "Newari":
sourceFile = "/quotes/newari.csv";
break;
- case "tajpuriya":
+ case "Tajpuriya":
sourceFile = "/quotes/tajpuriya.csv";
break;
- case "maithili":
+ case "Maithili":
sourceFile = "/quotes/maithili.csv";
break;
default:
@@ -39,38 +73,15 @@ const useQuotes = ({ language }: QuoteProps) => {
fetch(sourceFile)
.then((r) => r.text())
.then((text) => {
- setQuotesText(text);
+ loadQuotes(text);
})
.catch((error) => {
console.error("Error fetching quotes:", error);
});
}
- }, [language]);
-
- useEffect(() => {
- if (quotesText) {
- const loadQuotes = () => {
- const quotesArray = quotesText.split("\n").map((line: string) => {
- const [text, translation] = line.split(",");
- return {
- text: text ? text.trim().replace(/(^"|"$)/g, "") : "",
- translation: translation
- ? translation.trim().replace(/(^"|"$)/g, "")
- : "",
- };
- });
-
- const randomIndex = Math.floor(Math.random() * quotesArray.length);
- const randomQuote = quotesArray[randomIndex];
-
- setQuote({ language, quote: randomQuote });
- };
-
- loadQuotes();
- }
- }, [quotesText]);
+ }, [selectedLanguage]);
- return quote;
+ return { quotes, randomQuote };
};
export default useQuotes;
diff --git a/nepalingo-web/src/hooks/useTajpuriya.tsx b/nepalingo-web/src/hooks/useTajpuriya.tsx
deleted file mode 100644
index d3899f9..0000000
--- a/nepalingo-web/src/hooks/useTajpuriya.tsx
+++ /dev/null
@@ -1,45 +0,0 @@
-import { useState, useEffect } from "react";
-import { DictionaryProps } from "./useDictionary";
-
-const useTajpuriya = (props: Omit) => {
-
- const word = props.word
- const [translatedText, setTranslatedText] = useState("")
- const [dictionaryText, setDictionaryText] = useState("");
- useEffect(() => {
- const sourceFile = "./dictionaries/TajpuriyaDictionary.csv";
-
- fetch(sourceFile)
- .then((r) => r.text())
- .then((text) => {
-
- setDictionaryText(text);
- })
- .catch((error) => {
- console.error("Error fetching words:", error);
- });
-
- }, []);
-
- useEffect(() => {
- if (dictionaryText) {
- const loadDict = () => {
- const dictArray = dictionaryText.split("\n")
- dictArray.forEach((line) => {
-
- const [englishWord, tajpuriyaWord] = line.split(",")
-
- if (englishWord == word) {
-
- setTranslatedText(tajpuriyaWord)
- }
- })
- };
- loadDict();
- }
-
- }, [dictionaryText, word]);
- return translatedText
-
-};
-export default useTajpuriya;
diff --git a/nepalingo-web/src/index.css b/nepalingo-web/src/index.css
index d544329..5722274 100644
--- a/nepalingo-web/src/index.css
+++ b/nepalingo-web/src/index.css
@@ -1,19 +1,30 @@
+@import url("https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
+
@tailwind base;
@tailwind components;
@tailwind utilities;
+input:-webkit-autofill,
+input:-webkit-autofill:focus {
+ transition:
+ background-color 600000s 0s,
+ color 600000s 0s;
+}
+input[data-autocompleted] {
+ background-color: transparent !important;
+}
.backface-hidden {
- backface-visibility: hidden;
+ backface-visibility: hidden;
}
.flipped .rotateY-180 {
- transform: rotateY(0deg);
+ transform: rotateY(0deg);
}
.flipped .rotateY-0 {
- transform: rotateY(-180deg);
+ transform: rotateY(-180deg);
}
.rotateY-180 {
- transform: rotateY(180deg);
+ transform: rotateY(180deg);
}
.rotateY-0 {
- transform: rotateY(0deg);
-}
\ No newline at end of file
+ transform: rotateY(0deg);
+}
diff --git a/nepalingo-web/src/lib/getGTranslate.tsx b/nepalingo-web/src/lib/getGTranslate.tsx
new file mode 100644
index 0000000..90d588f
--- /dev/null
+++ b/nepalingo-web/src/lib/getGTranslate.tsx
@@ -0,0 +1,83 @@
+import { supabaseClient } from "@/config/supabase-client";
+
+const GOOGLE_TRANSLATE_API_KEY = import.meta.env.VITE_GOOGLE_TRANSLATE_API_KEY;
+
+const languageCodes: { [key: string]: string } = {
+ maithili: "mai",
+ sanskrit: "sa",
+ nepali: "ne",
+};
+
+export const getGTranslate = async (
+ language: string,
+ word: string,
+): Promise<{
+ language: string;
+ word: string;
+ meanings: Array<{
+ language: string;
+ meaningOriginal: string;
+ meaningEn: string;
+ }>;
+}> => {
+ const targetLanguage = languageCodes[language];
+ if (!targetLanguage) {
+ throw new Error(`Language code for ${language} not found`);
+ }
+
+ // Check if the translation is already cached in Supabase
+ const { data: cachedResult, error } = await supabaseClient
+ .from("translations_cache")
+ .select("translated_word")
+ .eq("language", language)
+ .eq("word", word)
+ .single();
+
+ if (error) {
+ console.error("Error fetching from cache:", error);
+ } else if (cachedResult) {
+ const translatedWord = cachedResult.translated_word;
+ return {
+ language,
+ word,
+ meanings: [
+ {
+ language,
+ meaningOriginal: translatedWord,
+ meaningEn: word,
+ },
+ ],
+ };
+ }
+
+ const url = `https://translation.googleapis.com/language/translate/v2?key=${GOOGLE_TRANSLATE_API_KEY}&q=${word}&target=${targetLanguage}`;
+ const response = await fetch(url);
+ const data = await response.json();
+
+ if (!response.ok) {
+ throw new Error(data.error.message);
+ }
+
+ const translatedWord = data.data.translations[0].translatedText;
+
+ // Store the result in the Supabase cache
+ const { error: insertError } = await supabaseClient
+ .from("translations_cache")
+ .insert([{ language, word, translated_word: translatedWord }]);
+
+ if (insertError) {
+ console.error("Error inserting into cache:", insertError);
+ }
+
+ return {
+ language,
+ word,
+ meanings: [
+ {
+ language,
+ meaningOriginal: translatedWord,
+ meaningEn: word,
+ },
+ ],
+ };
+};
diff --git a/nepalingo-web/src/lib/getNewariWord.tsx b/nepalingo-web/src/lib/getNewariWord.tsx
new file mode 100644
index 0000000..9bd3e1c
--- /dev/null
+++ b/nepalingo-web/src/lib/getNewariWord.tsx
@@ -0,0 +1,66 @@
+import { DictionaryResponse } from "@/hooks/useDictionary";
+
+export async function getNewariWord(word: string): Promise {
+ const api_endpoint = `/dict/en/search/${word}`;
+ const data = await fetch(
+ import.meta.env.VITE_NEPALBHASA_API_URL + api_endpoint,
+ {},
+ ).then((r) => r.json());
+
+ if (data?.errors.length) {
+ console.error(data.errors);
+ throw new Error(data.errors[0]);
+ }
+
+ const response: DictionaryResponse = {
+ language: "newari",
+ word: word,
+ meanings:
+ data?.meanings.length === 0
+ ? []
+ : (data?.meanings
+ ?.map(
+ (meaning: {
+ audio?: { file: string; directory: string };
+ image?: { file: string; directory: string };
+ meaning_np?: string;
+ meaning_nb?: string;
+ meaning_en?: string;
+ pos?: string;
+ dialect?: string;
+ transliterations?: {
+ deva: string;
+ latn: string;
+ newa: string;
+ };
+ }) => {
+ // Skip the 'dolakha' dialect
+ if (meaning.dialect === "dolakha") {
+ return null;
+ }
+
+ return {
+ audio: meaning?.audio && {
+ uri: `${import.meta.env.VITE_NEPALBHASA_API_URL}/dict/${meaning.audio.directory}/${meaning.audio.file}`,
+ },
+ image: meaning?.image && {
+ // TODO: Revert this back to 400x400, Currently set to 400x401 to avoid API error
+ uri: `${import.meta.env.VITE_NEPALBHASA_API_URL}/dict/${meaning.image.directory}/w400h401b1sh1/${meaning.image.file}`,
+ },
+ meaningOriginal: meaning?.meaning_nb,
+ meaningNp: meaning?.meaning_np,
+ meaningEn: meaning?.meaning_en,
+ dialect: meaning.dialect,
+ partsOfSpeech: meaning.pos,
+ transliterations: {
+ latn: meaning.transliterations?.latn,
+ deva: meaning.transliterations?.deva,
+ original: meaning.transliterations?.newa,
+ },
+ };
+ },
+ )
+ .filter(Boolean) as DictionaryResponse["meanings"]), // Filter out any null entries
+ };
+ return response;
+}
diff --git a/nepalingo-web/src/lib/getNextWord.ts b/nepalingo-web/src/lib/getNextWord.ts
new file mode 100644
index 0000000..b5ce530
--- /dev/null
+++ b/nepalingo-web/src/lib/getNextWord.ts
@@ -0,0 +1,77 @@
+export const newariWords = [
+ "hello",
+ "call",
+ "do",
+ "how",
+ "I",
+ "my",
+ "what",
+ "where",
+ "a",
+ "do",
+ "not",
+ "for",
+ "from",
+ "fun",
+ "have",
+ "help",
+ "language",
+ "me",
+ "name",
+ "need",
+ "please",
+ "police",
+ "sick",
+ "speak",
+ "understand",
+ "well",
+ "you",
+ "your",
+ "salt",
+];
+
+export async function getTajpuriyaWords(): Promise {
+ const wordText = await fetch("./dictionaries/TajpuriyaDictionary.csv")
+ .then((r) => r.text())
+ .catch((error) => {
+ console.error("Error fetching words:", error);
+ });
+
+ if (wordText) {
+ return wordText.split("\n").map((line: string) =>
+ line
+ .split(",")[0]
+ .trim()
+ .replace(/(^"|"$)/g, ""),
+ );
+ }
+ return [];
+}
+
+export function* wordGenerator(words: string[]) {
+ let index = 0;
+ while (true) {
+ yield words[index];
+ index = (index + 1) % words.length;
+ }
+}
+
+export async function getNextWord(language: string) {
+ let words: string[] = [];
+ if (
+ language === "Newari" ||
+ language === "Maithili" ||
+ language === "Sanskrit" ||
+ language === "Nepali"
+ ) {
+ words = newariWords;
+ } else if (language === "Tajpuriya") {
+ words = await getTajpuriyaWords();
+ }
+
+ if (words.length === 0) {
+ throw new Error("No words found for the selected language.");
+ }
+
+ return wordGenerator(words);
+}
diff --git a/nepalingo-web/src/lib/getTajpuriyaWord.tsx b/nepalingo-web/src/lib/getTajpuriyaWord.tsx
new file mode 100644
index 0000000..43f9e2c
--- /dev/null
+++ b/nepalingo-web/src/lib/getTajpuriyaWord.tsx
@@ -0,0 +1,37 @@
+import { DictionaryResponse } from "@/hooks/useDictionary";
+
+export async function getTajpuriyaWord(
+ word: string,
+): Promise {
+ const wordText = await fetch("./dictionaries/TajpuriyaDictionary.csv")
+ .then((r) => r.text())
+ .catch((error) => {
+ console.error("Error fetching words:", error);
+ });
+
+ if (!wordText) {
+ throw new Error("Error fetching tajpuriya CSV");
+ }
+ const dictArray = wordText.split("\n");
+
+ for (const line of dictArray) {
+ const [englishWord, tajpuriyaWord] = line
+ .split(",")
+ .map((word) => word.trim().replace(/(^"|"$)/g, ""));
+
+ if (englishWord.toLowerCase() == word.toLowerCase()) {
+ return {
+ language: "tajpuriya",
+ word: word,
+ meanings: [
+ {
+ language: "tajpuriya",
+ meaningOriginal: tajpuriyaWord,
+ meaningEn: englishWord,
+ },
+ ],
+ };
+ }
+ }
+ throw new Error(`Word "${word}" not found in tajpuriya dictionary`);
+}
diff --git a/nepalingo-web/src/main.tsx b/nepalingo-web/src/main.tsx
index 6762a56..a975692 100644
--- a/nepalingo-web/src/main.tsx
+++ b/nepalingo-web/src/main.tsx
@@ -1,13 +1,19 @@
import React from "react";
import ReactDOM from "react-dom/client";
-import App from "./App";
-import "./index.css";
-import { AuthProvider } from "./components/userAuth/AuthContext";
+import App from "@/App";
+import "@/index.css";
+import { AuthProvider } from "@/hooks/Auth";
+import { StreakProvider } from "@/hooks/StreakContext";
+import { LanguageProvider } from "@/hooks/Langauge";
ReactDOM.createRoot(document.getElementById("root")!).render(
-
+
+
+
+
+
-
+ ,
);
diff --git a/nepalingo-web/src/pages/DictionaryPage.tsx b/nepalingo-web/src/pages/DictionaryPage.tsx
new file mode 100644
index 0000000..6c3b243
--- /dev/null
+++ b/nepalingo-web/src/pages/DictionaryPage.tsx
@@ -0,0 +1,64 @@
+import React, { useState } from "react";
+import Header from "@/components/header/Header";
+import CustomTextInput from "@/components/CustomTextInput";
+import Button from "@/components/Button";
+import useDictionary from "@/hooks/useDictionary";
+import SearchResponseCard from "@/components/SearchResponseCard";
+import { useLanguage } from "@/hooks/Langauge";
+
+const DictionaryPage: React.FC = () => {
+ const [searchTerm, setSearchTerm] = useState("");
+ const { selectedLanguage } = useLanguage();
+ const { data, isLoading, error } = useDictionary({
+ language: selectedLanguage || "",
+ word: searchTerm,
+ });
+
+ const handleSearchClick = (e: React.FormEvent) => {
+ e.preventDefault();
+ const formData = new FormData(e.target as HTMLFormElement);
+ setSearchTerm(formData.get("search") as string);
+ };
+ return (
+
+
+
+
+
+
+
+ {isLoading &&
Loading...
}
+ {data && data.meanings?.length > 0
+ ? data.meanings.map((meaning, index) => (
+
+ ))
+ : error && (
+
{error.message}
+ )}
+
+
+
+ );
+};
+
+export default DictionaryPage;
diff --git a/nepalingo-web/src/pages/FlashcardPage.tsx b/nepalingo-web/src/pages/FlashcardPage.tsx
index 78fb3d0..7c49ff6 100644
--- a/nepalingo-web/src/pages/FlashcardPage.tsx
+++ b/nepalingo-web/src/pages/FlashcardPage.tsx
@@ -1,14 +1,22 @@
-import Flashcard from "../components/Flashcard";
-import Header from "../components/header/Header";
-import React from "react";
+import Flashcard from "@/components/Flashcard";
+import Header from "@/components/header/Header";
+import React, { useEffect } from "react";
+import { useStreak } from "@/hooks/StreakContext";
import ReactGA from "react-ga4";
const FlashcardPage: React.FC = () => {
+ const { updateStreak } = useStreak();
+
ReactGA.send({
hitType: "pageview",
page: window.location.pathname,
title: "flashcard page",
});
+
+ useEffect(() => {
+ updateStreak(); // Trigger streak update on flashcard page load
+ }, []);
+
return (
<>
diff --git a/nepalingo-web/src/pages/Home.tsx b/nepalingo-web/src/pages/Home.tsx
new file mode 100644
index 0000000..fea750a
--- /dev/null
+++ b/nepalingo-web/src/pages/Home.tsx
@@ -0,0 +1,116 @@
+import React, { useState } from "react";
+import { useNavigate } from "react-router-dom";
+import ReactGA from "react-ga4";
+import { useAuth } from "@/hooks/Auth";
+import Header from "@/components/header/Header";
+import GreetingCard from "@/components/GreetingCard";
+import ActivityCard from "@/components/ActivityCard";
+import { useLanguage } from "@/hooks/Langauge";
+import StreakDisplay from "@/components/header/StreakDisplay";
+import FeedbackForm from "@/components/FeedbackForm";
+import RandomQuoteComponent from "@/components/randomQuotes";
+
+const Home: React.FC = () => {
+ ReactGA.send({
+ hitType: "pageview",
+ page: window.location.pathname,
+ title: "home",
+ });
+ const navigate = useNavigate();
+ const { user } = useAuth();
+ const { selectedLanguage } = useLanguage();
+ const [isFeedbackFormOpen, setIsFeedbackFormOpen] = useState(false);
+
+ const handleOpenFeedbackForm = () => {
+ setIsFeedbackFormOpen(true);
+ };
+
+ const handleCloseFeedbackForm = () => {
+ setIsFeedbackFormOpen(false);
+ };
+
+ return (
+ <>
+
+
+
+
+
+
+
+
+
+
{
+ navigate("/flashcard");
+ }}
+ />
+
+
+
+
{
+ navigate("/dictionary");
+ }}
+ />
+
+
+
+
{
+ navigate("/test-yourself");
+ }}
+ />
+
+
+
+
+
+
+
+
+
+ Give Feedback
+
+
+
+ {isFeedbackFormOpen && (
+
+
+
+ )}
+
+ >
+ );
+};
+
+export default Home;
diff --git a/nepalingo-web/src/pages/Home/Home.tsx b/nepalingo-web/src/pages/Home/Home.tsx
deleted file mode 100644
index a9dd105..0000000
--- a/nepalingo-web/src/pages/Home/Home.tsx
+++ /dev/null
@@ -1,55 +0,0 @@
-import React from "react";
-import { Link } from "react-router-dom";
-import logo from "../../assets/logo.png";
-import Header from "../../components/header/Header";
-import ReactGA from "react-ga4";
-import { useAuth } from "../../components/userAuth/AuthContext";
-
-const Home: React.FC = () => {
- ReactGA.send({
- hitType: "pageview",
- page: window.location.pathname,
- title: "home",
- });
- const { user } = useAuth();
-
- return (
-
-
-
-
-
- Hello {user?.user_metadata?.username}, welcome to Nepalingo!
-
-
-
-
-
-
-
-
-
- Learn indigenous languages of Nepal for free
-
-
-
-
-
-
- Learn Words
-
-
-
- );
-};
-
-export default Home;
diff --git a/nepalingo-web/src/pages/Login.tsx b/nepalingo-web/src/pages/Login.tsx
new file mode 100644
index 0000000..a0984d1
--- /dev/null
+++ b/nepalingo-web/src/pages/Login.tsx
@@ -0,0 +1,146 @@
+import React, { FormEvent, useState } from "react";
+import { Link, Navigate, useNavigate } from "react-router-dom";
+import { useAuth } from "@/hooks/Auth";
+import CustomTextInput from "@/components/CustomTextInput";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import {
+ faEnvelope,
+ faLock,
+ faEye,
+ faEyeSlash,
+} from "@fortawesome/free-solid-svg-icons";
+import BhasaAnimation from "@/components/AnimatedBhasaWithLottie";
+import ReactGA from "react-ga4";
+import Button from "@/components/Button";
+
+const Login: React.FC = () => {
+ ReactGA.send({
+ hitType: "pageview",
+ page: window.location.pathname,
+ title: "login",
+ });
+
+ const [error, setError] = useState(null);
+ const [showPassword, setShowPassword] = useState(false);
+ const { signIn, session } = useAuth();
+ const navigate = useNavigate();
+
+ // Function to handle form submission
+ const handleSubmit = async (e: FormEvent) => {
+ e.preventDefault();
+ setError(null);
+ const formData = new FormData(e.currentTarget);
+ const { error } = await signIn({
+ email: formData.get("email") as string,
+ password: formData.get("password") as string,
+ });
+ if (error) {
+ setError(error.message);
+ } else {
+ navigate("/");
+ }
+ };
+
+ if (session) {
+ return ;
+ }
+
+ return (
+
+ );
+};
+
+export default Login;
diff --git a/nepalingo-web/src/pages/PasswordEmail.tsx b/nepalingo-web/src/pages/PasswordEmail.tsx
new file mode 100644
index 0000000..bb4dc49
--- /dev/null
+++ b/nepalingo-web/src/pages/PasswordEmail.tsx
@@ -0,0 +1,60 @@
+import React, { useState } from "react";
+import { useAuth } from "@/hooks/Auth";
+import { faEnvelope } from "@fortawesome/free-solid-svg-icons";
+import CustomTextInput from "@/components/CustomTextInput";
+import Button from "@/components/Button";
+
+const PasswordEmail: React.FC = () => {
+ const [email, setEmail] = useState("");
+ const [message, setMessage] = useState("");
+ const [error, setError] = useState("");
+ const { resetPasswordEmail } = useAuth();
+
+ const handlePasswordEmail = async (event: React.FormEvent) => {
+ event.preventDefault();
+ resetPasswordEmail(email).then(({ error }) => {
+ if (error) {
+ setError(error.message);
+ setMessage("");
+ } else {
+ setMessage("Password reset email sent! Check your inbox");
+ setError("");
+ }
+ });
+ };
+
+ return (
+
+
+
+ Reset Password
+
+
+ {message &&
{message}
}
+ {error &&
{error}
}
+
+
+ );
+};
+
+export default PasswordEmail;
diff --git a/nepalingo-web/src/pages/ResetPassword.tsx b/nepalingo-web/src/pages/ResetPassword.tsx
new file mode 100644
index 0000000..93278a1
--- /dev/null
+++ b/nepalingo-web/src/pages/ResetPassword.tsx
@@ -0,0 +1,125 @@
+import React, { useState, useEffect } from "react";
+import { useNavigate } from "react-router-dom";
+import CustomTextInput from "@/components/CustomTextInput";
+import Button from "@/components/Button";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import { faLock, faEye, faEyeSlash } from "@fortawesome/free-solid-svg-icons";
+import { supabaseClient } from "@/config/supabase-client";
+
+const ResetPassword: React.FC = () => {
+ const [password, setPassword] = useState("");
+ const [confirmPassword, setConfirmPassword] = useState("");
+ const [error, setError] = useState("");
+ const [showNewPassword, setShowNewPassword] = useState(false);
+ const [showConfirmPassword, setShowConfirmPassword] = useState(false);
+ const navigate = useNavigate();
+
+ const handlePasswordReset = async (event: React.FormEvent) => {
+ event.preventDefault();
+
+ if (password !== confirmPassword) {
+ setError("Passwords do not match");
+ return;
+ }
+
+ // Update the password using the Supabase client
+ const { error: updateError } = await supabaseClient.auth.updateUser({
+ password: password,
+ });
+
+ if (updateError) {
+ setError(updateError.message);
+ } else {
+ navigate("/login", {
+ state: {
+ message: "Password reset successful!",
+ },
+ });
+ }
+ };
+
+ useEffect(() => {
+ const handleSessionFromURL = async () => {
+ // Extract session-related parameters from the URL
+ const urlParams = new URLSearchParams(window.location.search);
+ const accessToken = urlParams.get("access_token");
+ const refreshToken = urlParams.get("refresh_token");
+
+ if (accessToken && refreshToken) {
+ // Set the session in Supabase
+ const { error } = await supabaseClient.auth.setSession({
+ access_token: accessToken,
+ refresh_token: refreshToken,
+ });
+
+ if (error) {
+ setError("Failed to restore session. Please try again.");
+ }
+ }
+ };
+
+ handleSessionFromURL();
+ }, []);
+
+ return (
+
+
+
Reset Password
+
+ {error &&
{error}
}
+
+
+ );
+};
+
+export default ResetPassword;
diff --git a/nepalingo-web/src/pages/SignUp.tsx b/nepalingo-web/src/pages/SignUp.tsx
new file mode 100644
index 0000000..26be257
--- /dev/null
+++ b/nepalingo-web/src/pages/SignUp.tsx
@@ -0,0 +1,159 @@
+import React, { FormEvent, useState } from "react";
+import { Link, Navigate } from "react-router-dom";
+import { useAuth } from "@/hooks/Auth";
+import CustomTextInput from "@/components/CustomTextInput";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import {
+ faEnvelope,
+ faLock,
+ faEye,
+ faEyeSlash,
+ faUser,
+} from "@fortawesome/free-solid-svg-icons";
+import BhasaAnimation from "@/components/AnimatedBhasaWithLottie";
+import ReactGA from "react-ga4";
+import Button from "@/components/Button";
+
+const SignUp: React.FC = () => {
+ ReactGA.send({
+ hitType: "pageview",
+ page: window.location.pathname,
+ title: "login",
+ });
+
+ const [error, setError] = useState(null);
+ const [success, setSuccess] = useState(false);
+ const [showPassword, setShowPassword] = useState(false);
+ const { signUp, session } = useAuth();
+
+ // Function to handle form submission
+ const handleSubmit = async (e: FormEvent) => {
+ e.preventDefault();
+ setError(null);
+ setSuccess(false);
+ const formData = new FormData(e.currentTarget);
+ const { error } = await signUp({
+ options: { data: { username: formData.get("username") as string } },
+ email: formData.get("email") as string,
+ password: formData.get("password") as string,
+ });
+ if (error) {
+ setError(error.message);
+ } else {
+ setSuccess(true);
+ }
+ };
+
+ if (session) {
+ return ;
+ }
+
+ return (
+
+ );
+};
+
+export default SignUp;
diff --git a/nepalingo-web/src/pages/TestYourself.tsx b/nepalingo-web/src/pages/TestYourself.tsx
new file mode 100644
index 0000000..474832c
--- /dev/null
+++ b/nepalingo-web/src/pages/TestYourself.tsx
@@ -0,0 +1,126 @@
+import React, { useState, useEffect, useRef } from "react";
+import useDictionary from "@/hooks/useDictionary";
+import { generate } from "random-words";
+import Header from "@/components/header/Header";
+import Button from "@/components/Button";
+import { useStreak } from "@/hooks/StreakContext";
+import { useLanguage } from "@/hooks/Langauge";
+import { getNextWord } from "@/lib/getNextWord";
+
+const TestYourself: React.FC = () => {
+ const { updateStreak } = useStreak();
+ const { selectedLanguage } = useLanguage();
+ const [word, setWord] = useState("today");
+
+ const [options, setOptions] = useState([
+ "today",
+ "rice",
+ "hot",
+ "salt",
+ ]);
+ const [selectedOption, setSelectedOption] = useState(null);
+ const [isCorrect, setIsCorrect] = useState(null);
+ const { data, isLoading } = useDictionary({
+ language: selectedLanguage || "newari",
+ word,
+ });
+ const wordGeneratorRef = useRef | null>(null);
+
+ useEffect(() => {
+ updateStreak(); // Trigger streak update on flashcard page load
+ wordGeneratorRef.current = getNextWord(selectedLanguage || "newari");
+ }, [selectedLanguage]);
+
+ const getOptions = (word: string) => {
+ const randomWords = generate({ exactly: 3 }) as string[];
+ randomWords.push(word);
+ const shuffledOptions = randomWords.sort(() => Math.random() - 0.5);
+ setOptions(shuffledOptions);
+ };
+
+ const handleNextQuestion = async () => {
+ const generator = await wordGeneratorRef.current;
+ if (generator) {
+ const nextWord = generator?.next()?.value;
+
+ if (typeof nextWord === "string") {
+ setWord(nextWord);
+ setSelectedOption(null);
+ setIsCorrect(null);
+ getOptions(nextWord);
+ } else {
+ console.error("Generated word is not a string.");
+ }
+ } else {
+ console.error("Word generator not initialized.");
+ }
+ };
+
+ const handleOptionSelect = (option: string) => {
+ setSelectedOption(option);
+ setIsCorrect(option === word);
+ };
+
+ if (isLoading) {
+ return (
+
+ Loading...
+
+ );
+ }
+
+ const meaning = data && data.meanings[0];
+ const displayedWord = meaning?.meaningOriginal || "";
+
+ return (
+
+
+
+
+
+ What is this word in English?
+
+
{displayedWord}
+
+ {options.map((option, index) => (
+ handleOptionSelect(option)}
+ disabled={selectedOption !== null}
+ >
+ {String.fromCharCode(65 + index)}. {option}
+
+ ))}
+
+ {selectedOption !== null && (
+
+ {isCorrect ? (
+
+ Correct! The answer is indeed {word}.
+
+ ) : (
+
+ Incorrect. The correct answer is {word}.
+
+ )}
+
+ Next Question
+
+
+ )}
+
+
+
+ );
+};
+
+export default TestYourself;
diff --git a/nepalingo-web/tailwind.config.ts b/nepalingo-web/tailwind.config.ts
index ea3c42c..fd90356 100644
--- a/nepalingo-web/tailwind.config.ts
+++ b/nepalingo-web/tailwind.config.ts
@@ -1,12 +1,21 @@
-import { Config } from 'tailwindcss';
+import { Config } from "tailwindcss";
const config: Config = {
- content: [
- './index.html',
- './src/**/*.{js,ts,jsx,tsx}',
- ],
+ content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"],
theme: {
- extend: {},
+ extend: {
+ colors: {
+ primary: "#D03641",
+ black: "#1A1A1A",
+ white: "#F8F4F4",
+ grayDark: "#2B2B2B",
+ grayLight: "#C8C8C8",
+ },
+ fontFamily: {
+ primary: ["Nunito", "sans serif"],
+ secondary: "Roboto",
+ },
+ },
},
plugins: [],
};
diff --git a/nepalingo-web/tsconfig.json b/nepalingo-web/tsconfig.json
index e0211af..02fd833 100644
--- a/nepalingo-web/tsconfig.json
+++ b/nepalingo-web/tsconfig.json
@@ -8,7 +8,10 @@
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
- "outDir": "dist"
+ "outDir": "dist",
+ "paths": {
+ "@/*": ["./src/*"]
+ }
},
"include": ["src", "tailwind.config.ts", "postcss.config.js"]
-}
\ No newline at end of file
+}
diff --git a/nepalingo-web/vite.config.ts b/nepalingo-web/vite.config.ts
index dcc995c..60c4941 100644
--- a/nepalingo-web/vite.config.ts
+++ b/nepalingo-web/vite.config.ts
@@ -5,10 +5,7 @@ import { resolve } from "path";
import tailwindcss from "tailwindcss";
export default defineConfig({
- plugins: [
- react(),
- tsconfigPaths(),
- ],
+ plugins: [react(), tsconfigPaths()],
css: {
postcss: {
plugins: [tailwindcss()],
@@ -19,4 +16,4 @@ export default defineConfig({
"@": resolve(__dirname, "src"),
},
},
-});
\ No newline at end of file
+});