Initial commit

This commit is contained in:
vitalijmulika
2025-12-29 14:45:23 +02:00
commit aaf972ad5d
90 changed files with 2529 additions and 0 deletions

1
.env.production Normal file
View File

@@ -0,0 +1 @@
DISABLE_ESLINT_PLUGIN=true

View File

@@ -0,0 +1,62 @@
name: Build
on:
workflow_dispatch:
inputs:
branch:
description: 'Branch to build'
required: true
default: 'main'
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout branch
uses: actions/checkout@v3
with:
ref: ${{ gitea.event.inputs.branch }}
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 24
- name: Install dependencies
run: |
set -euo pipefail
npm install --no-audit --silent 2>&1 | tee install.log
env:
NODE_OPTIONS: '--max-old-space-size=4096'
- name: Build (react-scripts build)
env:
CI: 'false'
NODE_OPTIONS: '--max-old-space-size=4096'
run: |
set -euo pipefail
npm run build 2>&1 | tee build.log
timeout-minutes: 5
- name: Verify build folder exists
run: test -d build || (echo "No build folder. Check build logs above."; exit 1)
- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v3
with:
name: build-logs
path: |
install.log
build.log
npm-debug.log*
if-no-files-found: ignore
- name: Build completed
if: success()
run: echo "Build completed successfully"

41
package.json Normal file
View File

@@ -0,0 +1,41 @@
{
"name": "sargas-website",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-scripts": "^5.0.1",
"framer-motion": "^11.0.0",
"lucide-react": "^0.400.0"
},
"devDependencies": {
"tailwindcss": "^3.4.0",
"postcss": "^8.4.0",
"autoprefixer": "^10.4.0"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}

6
postcss.config.js Normal file
View File

@@ -0,0 +1,6 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAyNSAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGQ9Ik0wLjQyODcxMSA0LjM1MTE1TDEyLjQ1NDUgMC4wNjY0MDYyTDI0LjgwNDEgNC4yNzQ5NkwyMi44MDQ1IDIwLjE4NTZMMTIuNDU0NSAyNS45MTc3TDIuMjY2MzkgMjAuMjYxOEwwLjQyODcxMSA0LjM1MTE1WiIgZmlsbD0icmVkIi8+CjxwYXRoIGQ9Ik0yNC44MDQyIDQuMjc0OTZMMTIuNDU0NiAwLjA2NjQwNjJWMjUuOTE3N0wyMi44MDQ2IDIwLjE5NTJMMjQuODA0MiA0LjI3NDk2WiIgZmlsbD0icmVkIi8+CjxwYXRoIGQ9Ik0xMi40NzM0IDMuMDg0OTZMNC45Nzk5OCAxOS43NTc0TDcuNzc5MjggMTkuNzA5OEw5LjI4Mzc1IDE1Ljk0ODdIMTYuMDA2TDE3LjY1MzMgMTkuNzU3NEwyMC4zMjg4IDE5LjgwNUwxMi40NzM0IDMuMDg0OTZaTTEyLjQ5MjUgOC40MjY2MkwxNS4wMjUzIDEzLjcyMDZIMTAuMjY0NEwxMi40OTI1IDguNDI2NjJaIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwIj4KPHJlY3Qgd2lkdGg9IjI0LjQ3MTIiIGhlaWdodD0iMjYiIGZpbGw9IndoaXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjQxODk0NSkiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iOTMzIiBoZWlnaHQ9IjExNzkiIHZpZXdCb3g9IjAgMCA5MzMgMTE3OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUzMS40MzYgMzAyLjA5NlYxMDgzLjRDNTMxLjQzNiAxMTA0LjU3IDUxNi4wNzcgMTEyMi42MiA0OTUuMTc4IDExMjZMMTgxLjQ3NyAxMTc2Ljc2QzE1NS4yMzYgMTE4MS4wMSAxMzEuNDM0IDExNjAuNzUgMTMxLjQzNCAxMTM0LjE2VjcxNi4xNTVMLTIxOC41MjMgNzcyLjc2MUMtMjQ0Ljc2MyA3NzcuMDA1IC0yNjguNTYzIDc1Ni43NDUgLTI2OC41NjQgNzMwLjE2NEwtMjY4LjU2NiA0MTcuNTgyQy0yNjguNTY3IDM5Ni40MTEgLTI1My4yMDggMzc4LjM2NyAtMjMyLjMwOCAzNzQuOTg1TDQ4MS4zOTMgMjU5LjVNNTMxLjQzNiAzMDIuMDk2QzUzMS40MzYgMjc1LjUxNCA1MDcuNjMzIDI1NS4yNTQgNDgxLjM5MyAyNTkuNU01MzEuNDM2IDMwMi4wOTZMNTMxLjQzOCA0NTguOTM4TDE4MS40NzkgNTE1LjU1OE00ODEuMzkzIDI1OS41TDEzMS40MzYgMzE2LjY1NkwxMzEuNDM2IDQ3Mi45NjFNMTMxLjQzNiA0NzIuOTYxTDEzMS40MzYgMTYwLjMzNEMxMzEuNDM2IDEzOS4xNjIgMTQ2Ljc5NiAxMjEuMTE4IDE2Ny42OTYgMTE3LjczN0w4ODEuMzkgMi4yOTc2NUM5MDcuNjMgLTEuOTQ2NjEgOTMxLjQzMSAxOC4zMTM1IDkzMS40MzEgNDQuODk0Mkw5MzEuNDM0IDM1Ny40NzZDOTMxLjQzNCAzNzguNjQ3IDkxNi4wNzUgMzk2LjY5MSA4OTUuMTc2IDQwMC4wNzNMMTgxLjQ3OSA1MTUuNTU4TTEzMS40MzYgNDcyLjk2MUMxMzEuNDM2IDQ5OS41NDMgMTU1LjIzOSA1MTkuODA0IDE4MS40NzkgNTE1LjU1OCIgc3Ryb2tlPSIjMUUyNTMyIiBzdHJva2Utb3BhY2l0eT0iMC4wNSIgc3Ryb2tlLXdpZHRoPSIyIi8+Cjwvc3ZnPgo=

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxNCAxOSIgZmlsbD0id2hpdGUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+Cgk8cGF0aCBkPSJNNi45OTk4OCAwLjcxMDkzOEMzLjQwNTMyIDAuNzEwOTM4IDAuNDgwOTU3IDMuNjM1MyAwLjQ4MDk1NyA3LjIyOTgyQzAuNDgwOTU3IDExLjY5MDcgNi4zMTQ3NSAxOC4yMzk2IDYuNTYzMTMgMTguNTE2MkM2Ljc5NjQzIDE4Ljc3NiA3LjIwMzc1IDE4Ljc3NTYgNy40MzY2MiAxOC41MTYyQzcuNjg1IDE4LjIzOTYgMTMuNTE4OCAxMS42OTA3IDEzLjUxODggNy4yMjk4MkMxMy41MTg3IDMuNjM1MyAxMC41OTQ0IDAuNzEwOTM4IDYuOTk5ODggMC43MTA5MzhaTTYuOTk5ODggMTAuNTA5N0M1LjE5MTM3IDEwLjUwOTcgMy43MjAwOCA5LjAzODMzIDMuNzIwMDggNy4yMjk4MkMzLjcyMDA4IDUuNDIxMzEgNS4xOTE0IDMuOTUwMDIgNi45OTk4OCAzLjk1MDAyQzguODA4MzUgMy45NTAwMiAxMC4yNzk2IDUuNDIxMzUgMTAuMjc5NiA3LjIyOTg2QzEwLjI3OTYgOS4wMzgzNiA4LjgwODM1IDEwLjUwOTcgNi45OTk4OCAxMC41MDk3WiIvPgo8L3N2Zz4=

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0id2hpdGUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+Cgk8cGF0aCBkPSJNMTEuMjUgNS41ODU5NEMxMC44MzYgNS41ODU5NCAxMC41IDUuMjQ5OTQgMTAuNSA0LjgzNTk0VjMuNzEwOTRINy41VjQuODM1OTRDNy41IDUuMjQ5OTQgNy4xNjQgNS41ODU5NCA2Ljc1IDUuNTg1OTRDNi4zMzYgNS41ODU5NCA2IDUuMjQ5OTQgNiA0LjgzNTk0VjMuNzEwOTRDNiAyLjg4MzY5IDYuNjcyNzUgMi4yMTA5NCA3LjUgMi4yMTA5NEgxMC41QzExLjMyNzIgMi4yMTA5NCAxMiAyLjg4MzY5IDEyIDMuNzEwOTRWNC44MzU5NEMxMiA1LjI0OTk0IDExLjY2NCA1LjU4NTk0IDExLjI1IDUuNTg1OTRaIi8+Cgk8cGF0aCBkPSJNOS41MzI1IDEyLjI0NThDOS4zOTc1IDEyLjI5ODMgOS4yMDI1IDEyLjMzNTggOSAxMi4zMzU4QzguNzk3NSAxMi4zMzU4IDguNjAyNSAxMi4yOTgzIDguNDIyNSAxMi4yMzA4TDAgOS40MjU3OFYxNS4xNDgzQzAgMTYuMjg4MyAwLjkyMjUgMTcuMjEwOCAyLjA2MjUgMTcuMjEwOEgxNS45Mzc1QzE3LjA3NzUgMTcuMjEwOCAxOCAxNi4yODgzIDE4IDE1LjE0ODNWOS40MjU3OEw5LjUzMjUgMTIuMjQ1OFoiLz4KCTxwYXRoIGQ9Ik0xOCA2LjUyMzQ0VjguMjQwOTRMOS4xOCAxMS4xODA5QzkuMTIgMTEuMjAzNCA5LjA2IDExLjIxMDkgOSAxMS4yMTA5QzguOTQgMTEuMjEwOSA4Ljg4IDExLjIwMzQgOC44MiAxMS4xODA5TDAgOC4yNDA5NFY2LjUyMzQ0QzAgNS4zODM0NCAwLjkyMjUgNC40NjA5NCAyLjA2MjUgNC40NjA5NEgxNS45Mzc1QzE3LjA3NzUgNC40NjA5NCAxOCA1LjM4MzQ0IDE4IDYuNTIzNDRaIi8+Cjwvc3ZnPg==

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjciIHZpZXdCb3g9IjAgMCAyNCAyNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuNjgzNTk0IDAuNjY4OTQ1TDIuNzU1NDcgMjQuMDY4OUwxMi4wNTg2IDI2LjY2ODlMMjEuMzU4NSAyNC4wNzA2TDIzLjQzMzYgMC42Njg5NDVIMC42ODM1OTRaIiBmaWxsPSIjMDA3MGI3Ii8+CjxwYXRoIGQ9Ik0xOS4wMDQyIDguMzIwMjdMMTguNzQyNiAxMS4yNTk5TDE3Ljk1MjggMjAuMDcyM0wxMi4wNTg5IDIxLjcwMjJMMTIuMDU0MSAyMS43MDM4TDYuMTYzNDMgMjAuMDcyM0w1Ljc1MjMxIDE1LjQ2MzhIOC42MzgzMUw4Ljg1MjgxIDE3Ljg1NDFMMTIuMDU1NyAxOC43MTg2TDEyLjA1NzMgMTguNzE3TDE1LjI2NTEgMTcuODUyNUwxNS43MDIyIDEzLjg2OTZMNS42MTQxOCAxMy44OTczTDUuMzI4MTggMTEuMTczOEwxNS45NDQzIDExLjA0ODZMMTYuMTU4OCA4LjEzMzRMNS4wNDM4MSA4LjE2NDI3TDQuODU2OTMgNS40NTIxNUgxMi4wNTg5SDE5LjI2MDlMMTkuMDA0MiA4LjMyMDI3WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMjciIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAyNyAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxnIG9wYWNpdHk9IjAuMiI+CjxwYXRoIGQ9Ik0yMC42NjQ4IDE5LjMxOThDMTkuMDAwOSAxOS4zMTk4IDE3LjYyODkgMjAuNjYyNiAxNy42Mjg5IDIyLjM1NTdDMTcuNjI4OSAyNC4wMTk2IDE4Ljk3MTcgMjUuMzkxNiAyMC42NjQ4IDI1LjM5MTZDMjIuMzI4NyAyNS4zOTE2IDIzLjcwMDcgMjQuMDQ4OCAyMy43MDA3IDIyLjM1NTdDMjMuNjcxNSAyMC42OTE4IDIyLjMyODcgMTkuMzE5OCAyMC42NjQ4IDE5LjMxOThaIiBmaWxsPSIjZjg3YjAwIi8+CjwvZz4KPGcgb3BhY2l0eT0iMC40Ij4KPHBhdGggZD0iTTI2LjAwNjkgNC44NDExMUMyNS45NDg1IDQuODQxMTEgMjUuODYxIDQuODExOTIgMjUuNzczNCA0LjgxMTkySDcuMzgyOTlMNy4wOTEwNyAyLjg1NjEyQzYuOTE1OTMgMS41NzE3MSA1LjgwNjY2IDAuNjA4Mzk4IDQuNDkzMDYgMC42MDgzOThIMi4xMjg1OEMxLjQ4NjM4IDAuNjA4Mzk4IDAuOTYwOTM4IDEuMTMzODQgMC45NjA5MzggMS43NzYwNEMwLjk2MDkzOCAyLjQxODI1IDEuNDg2MzggMi45NDM2OSAyLjEyODU4IDIuOTQzNjlINC40OTMwNkM0LjYzOTAyIDIuOTQzNjkgNC43NTU3OCAzLjA2MDQ1IDQuNzg0OTcgMy4yMDY0MUw2LjU5NDgyIDE1LjUyNTFDNi44MjgzNSAxNy4wNzIyIDguMTcxMTUgMTguMjM5OCA5Ljc0NzQ3IDE4LjIzOThIMjEuODkxQzIzLjQwODkgMTguMjM5OCAyNC43MjI1IDE3LjE1OTggMjUuMDQzNiAxNS42NzFMMjYuOTQxIDYuMTgzOUMyNy4wNTc4IDUuNTcwODkgMjYuNjQ5MSA0Ljk1Nzg4IDI2LjAwNjkgNC44NDExMVoiIGZpbGw9IiNmODdiMDAiLz4KPC9nPgo8ZyBvcGFjaXR5PSIwLjIiPgo8cGF0aCBkPSJNMTMuMjIxNyAyMi4yMDk3QzEzLjE2MzMgMjAuNjA0MiAxMS44MjA1IDE5LjMxOTggMTAuMjE1IDE5LjMxOThDOC41MjE4OSAxOS40MDc0IDcuMjM3NDggMjAuODA4NiA3LjI5NTg2IDIyLjQ3MjVDNy4zNTQyNCAyNC4wNzggOC42Njc4NCAyNS4zNjI0IDEwLjI3MzQgMjUuMzYyNEgxMC4zMzE3QzExLjk5NTYgMjUuMjc0OCAxMy4zMDkyIDIzLjg3MzYgMTMuMjIxNyAyMi4yMDk3WiIgZmlsbD0iI2Y4N2IwMCIvPgo8L2c+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iMjYiIGhlaWdodD0iMjYiIGZpbGw9IndoaXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjk2MDkzOCkiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K

View File

@@ -0,0 +1 @@
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9Ii0zMC41IDAgMzE3IDMxNyIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+CiAgICA8ZGVmcz4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjMuOTUxNzA4OCUiIHkxPSIyNi45OTMwMjg3JSIgeDI9Ijc1Ljg5NzA3MzQlIiB5Mj0iNTIuOTE5MjY1NyUiIGlkPSJsaW5lYXJHcmFkaWVudC0xIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwMDAwMCIgb2Zmc2V0PSIwJSI+Cg08L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMCIgb2Zmc2V0PSIxMDAlIj4KDTwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPC9kZWZzPgoJCTxnPgoJCQkJPHBvbHlnb24gZmlsbD0iIzQ3QzVGQiIgcG9pbnRzPSIxNTcuNjY1Nzg1IDAuMDAwNTQ5MzU2MjIzIDAuMDAwNTQ5MzU2MjIzIDE1Ny42NjU3ODUgNDguODAwOTYxNCAyMDYuNDY2MTk3IDI1NS4yNjc3MDggMC4wMDA1NDkzNTYyMjMiPgoNPC9wb2x5Z29uPgoJCQkJPHBvbHlnb24gZmlsbD0iIzQ3QzVGQiIgcG9pbnRzPSIxNTYuNTY3MTgzIDE0NS4zOTY3OTMgNzIuMTQ4NzEwNyAyMjkuODE1MjY1IDEyMS4xMzI2MDggMjc5LjUzMDkwNSAxNjkuODQyOTI1IDIzMC44MjA1ODcgMjU1LjI2NzgxOCAxNDUuMzk2NzkzIj4KDTwvcG9seWdvbj4KCQkJCTxwb2x5Z29uIGZpbGw9IiMwMDU2OUUiIHBvaW50cz0iMTIxLjEzMzA0NyAyNzkuNTMxMTI0IDE1OC4yMTQ1OTIgMzE2LjYxMjY3IDI1NS4yNjcxNTkgMzE2LjYxMjY3IDE2OS44NDIyNjYgMjMwLjgyMDgwNyI+Cg08L3BvbHlnb24+CgkJCQk8cG9seWdvbiBmaWxsPSIjMDBCNUY4IiBwb2ludHM9IjcxLjU5OTU3NDIgMjMwLjM2NDA3MiAxMjAuNDAxMDg1IDE4MS41NjI1NjEgMTY5Ljg0MjA0NiAyMzAuODIxMTM2IDEyMS4xMzI4MjcgMjc5LjUzMTQ1NCI+Cg08L3BvbHlnb24+CgkJCQk8cG9seWdvbiBmaWxsLW9wYWNpdHk9IjAuOCIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgcG9pbnRzPSIxMjEuMTMyODI3IDI3OS41MzE0NTQgMTYxLjY5Mjg5NiAyNjYuMDcyMjI3IDE2NS43MjE4NzUgMjM0Ljk0MTMwOCI+Cg08L3BvbHlnb24+CgkJPC9nPgo8L3N2Zz4=

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iNjQyIiBoZWlnaHQ9IjcxOCIgdmlld0JveD0iMCAwIDY0MiA3MTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik02MTEuNDEyIDAuNjk0MzM2SDMxLjQxODdDMTQuODY2NCAwLjY5NDMzNiAxLjQ0MTc2IDE0LjEwMDMgMS40MTg2OCAzMC42NTI1TDAuNTAyMzMzIDY4Ny45MjFDMC40NzkyMTEgNzA0LjUwNiAxMy45MTc0IDcxNy45NjMgMzAuNTAyMyA3MTcuOTYzSDUxOS41NjZDNTI2LjU2MyA3MTcuOTYzIDUzMy4zNCA3MTUuNTE3IDUzOC43MjUgNzExLjA0OUw2MjkuNjQxIDYzNS42QzYzNi40OTYgNjI5LjkxMSA2NDAuNDY5IDYyMS40NyA2NDAuNDgzIDYxMi41NjJMNjQxLjQxMiAzMC43NDIzQzY0MS40MzkgMTQuMTU1IDYyOCAwLjY5NDMzNiA2MTEuNDEyIDAuNjk0MzM2WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMjciIGhlaWdodD0iMjciIHZpZXdCb3g9IjAgMCAyNyAyNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGQ9Ik0yLjYyNTU0IDAuNTM1MTU2QzIuMzg2NTYgMC41MzUxNTYgMi4yMDg1MiAwLjcyOTkwMyAyLjIyOTc0IDAuOTY3ODY2TDQuMjQ0MyAyMy41NjQ1QzQuMjY1NTMgMjMuODAyNSA0LjQ3MTE5IDI0LjA0OTYgNC43MDE1NCAyNC4xMTM1TDEzLjI1MDMgMjYuNDg3MkMxMy40ODA2IDI2LjU1MTEgMTMuODU3MyAyNi41NTExIDE0LjA4NzcgMjYuNDg3M0wyMi42NjI1IDI0LjEwOThDMjIuODkyOCAyNC4wNDU5IDIzLjA5ODcgMjMuNzk4OSAyMy4xMTk4IDIzLjU2MDlMMjUuMTM3OCAwLjk2Nzg2NkMyNS4xNTkxIDAuNzI5OTAzIDI0Ljk4MDkgMC41MzUxNTYgMjQuNzQxOSAwLjUzNTE1NkgyLjYyNTU0Wk0yMC44NDc1IDUuNzE3NjJDMjAuODI4NCA1LjkyOTg4IDIwLjc5NTUgNi4yOTg0MSAyMC43NzQzIDYuNTM2NDJMMjAuNzIxMiA3LjEyOTI5QzIwLjY5OTkgNy4zNjcyIDIwLjY2OTQgNy43MDc0OSAyMC42NTM0IDcuODg1MzhDMjAuNjM3NCA4LjA2MzMyIDIwLjYyMjIgOC4yMDg5MSAyMC42MTk0IDguMjA4OTFDMjAuNjE2NyA4LjIwODkxIDIwLjQxODkgOC4yMDg5MSAyMC4xOCA4LjIwODkxSDE0LjExODJDMTMuODc5MiA4LjIwODkxIDEzLjY4MTcgOC4yMDg5MSAxMy42NzkyIDguMjA4OTFDMTMuNjc2NiA4LjIwODkxIDEzLjQ3ODkgOC4yMDg5MSAxMy4yMzk5IDguMjA4OTFIMTAuMDQ3NEM5LjgwODM4IDguMjA4OTEgOS42MzAzNCA4LjQwMzY2IDkuNjUxNTcgOC42NDE2Mkw5LjgzNzc4IDEwLjcyMzJDOS44NTkwMSAxMC45NjExIDEwLjA3MiAxMS4xNTU5IDEwLjMxMDkgMTEuMTU1OUgxMy4yMzk5QzEzLjQ3ODkgMTEuMTU1OSAxMy42NzY2IDExLjE1NTkgMTMuNjc5MiAxMS4xNTU5QzEzLjY4MTggMTEuMTU1OSAxMy44NzkzIDExLjE1NTkgMTQuMTE4MyAxMS4xNTU5SDE5LjE1MjhDMTkuMzkxOCAxMS4xNTU5IDE5Ljc2MTYgMTEuMTU1OSAxOS45NzQ2IDExLjE1NTlDMjAuMTg3NCAxMS4xNTU5IDIwLjM0NTkgMTEuMzI5NiAyMC4zMjY2IDExLjU0MTlDMjAuMzA3MiAxMS43NTQxIDIwLjI3NDEgMTIuMTIyNyAyMC4yNTI5IDEyLjM2MDdMMTkuNjU0MiAxOS4wNzE0QzE5LjYzMjggMTkuMzA5NSAxOS42MDU4IDE5LjYxMzUgMTkuNTk0MSAxOS43NDcxQzE5LjU4MjMgMTkuODgwNyAxOS4zODQyIDIwLjA0MjIgMTkuMTUzOSAyMC4xMDYxTDE0LjEwMjUgMjEuNTA2OEMxMy44NzIyIDIxLjU3MDUgMTMuNjgwOSAyMS42MjM0IDEzLjY3NzMgMjEuNjI0MkMxMy42NzM3IDIxLjYyNDkgMTMuNDgyNSAyMS41NzMyIDEzLjI1MjEgMjEuNTA5NEw4LjE5NTI2IDIwLjEwNjJDNy45NjQ5NiAyMC4wNDIzIDcuNzU5MTkgMTkuNzk1MyA3LjczODAyIDE5LjU1NzNMNy40MTI1MSAxNS45MDM4QzcuMzkxMjggMTUuNjY1OCA3LjU2OTUzIDE1LjQ3MTEgNy44MDg1IDE1LjQ3MTFIOC4yNzAwMUM4LjUwODk4IDE1LjQ3MTEgOC45IDE1LjQ3MTEgOS4xMzg5MyAxNS40NzExSDkuODI3MTJDMTAuMDY2MSAxNS40NzExIDEwLjI3ODkgMTUuNjY1OCAxMC4zMDAzIDE1LjkwMzhMMTAuNDI3OSAxNy4zMzRDMTAuNDQ5MSAxNy41NzIxIDEwLjY1NTIgMTcuODE3NyAxMC44ODU5IDE3Ljg4TDEzLjI1MTMgMTguNTE4OEMxMy40ODE5IDE4LjU4MTEgMTMuNjcxNSAxOC42MzIxIDEzLjY3MjYgMTguNjMyMUMxMy42NzM2IDE4LjYzMjEgMTMuODYzMSAxOC41ODEgMTQuMDkzOCAxOC41MTg3TDE2LjQ2MzUgMTcuODc4NEMxNi42OTQxIDE3LjgxNjEgMTYuOTAwMyAxNy41NzAzIDE2LjkyMTcgMTcuMzMyNEwxNy4xNzg2IDE0LjQ2N0MxNy4yIDE0LjIyOSAxNy4wMjE5IDE0LjAzNDIgMTYuNzgzIDE0LjAzNDJIMTQuMTE4M0MxMy44NzkzIDE0LjAzNDIgMTMuNjgxOCAxNC4wMzQyIDEzLjY3OTIgMTQuMDM0MkMxMy42NzY2IDE0LjAzNDIgMTMuNDc4OSAxNC4wMzQyIDEzLjIzOTkgMTQuMDM0Mkg3LjY3OTY3QzcuNDQwNjkgMTQuMDM0MiA3LjIyNzkyIDEzLjgzOTQgNy4yMDY2OSAxMy42MDE1TDYuNTc2MTkgNi41MzY0N0M2LjU1NDk2IDYuMjk4NDYgNi41MjIwNSA1LjkzMDA0IDYuNTAzMDEgNS43MTc2N0M2LjQ4NDE3IDUuNTA1NCA2LjY2NDA5IDUuMzMxNjggNi45MDMwNyA1LjMzMTY4SDEzLjIzOTlDMTMuNDc4OSA1LjMzMTY4IDEzLjY3NjYgNS4zMzE2OCAxMy42NzkyIDUuMzMxNjhDMTMuNjgxOCA1LjMzMTY4IDEzLjg3OTMgNS4zMzE2OCAxNC4xMTgzIDUuMzMxNjhIMjAuNDQ3NUMyMC42ODY0IDUuMzMxNTcgMjAuODY2NCA1LjUwNTI1IDIwLjg0NzUgNS43MTc2MloiIGZpbGw9IiNkYzRhMjUiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMCI+CjxyZWN0IHdpZHRoPSIyNiIgaGVpZ2h0PSIyNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuNjgzNTk0IDAuNTM1MTU2KSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjciIHZpZXdCb3g9IjAgMCAyNCAyNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIuODA3MTQgMjQuMDQ1N0wwLjY4MzU5NCAwLjY2ODk0NUwyMy41NjA3IDAuNjc3ODY4TDIxLjQ1NSAyNC4wMjc5TDEyLjEwNDMgMjYuNjY4OUwyLjgwNzE0IDI0LjA0NTdaTTE5LjczMyAyMi43Njk4TDIxLjUwODYgMi43NDc4N0gxMi4xNEwxMi4yMTE0IDI0LjgzMDlMMTkuNzMzIDIyLjc2OThaTTExLjI2NTYgNS42ODMzNkg4Ljk5MDM5TDguOTYzNjIgMTcuNjY2Mkw0LjU0NzAxIDE2LjQ2MTdMNC41NTU5MyAxOS4yMDA5TDExLjI2NTYgMjEuMDEyMVY1LjY4MzM2WiIgZmlsbD0iI2QzYjMyYyIvPgo8cGF0aCBvcGFjaXR5PSIwLjk4NiIgZD0iTTEwLjUxNjIgMjAuNzg4M0MxMC4yMjE3IDIwLjY5OTEgOC43NjczNyAyMC4zMDY1IDcuMjg2MjQgMTkuOTA1TDQuNjAwNTkgMTkuMTgyM1YxNy44MzVDNC42MDA1OSAxNi41MTQ1IDQuNjAwNTkgMTYuNDg3NyA0LjczNDQyIDE2LjUzMjNDNC44MDU4IDE2LjU1OTEgNS43ODcyNyAxNi44MjY3IDYuOTExNSAxNy4xMzlMOC45NTQ3NCAxNy43MDExTDguOTcyNTggMTEuNzIzMUw4Ljk5MDQzIDUuNzQ1MTJIMTEuMjIxVjEzLjM0N0MxMS4yMjEgMTkuMzg3NSAxMS4yMDMyIDIwLjk0ODkgMTEuMTQwNyAyMC45NDg5QzExLjA5NjEgMjAuOTQgMTAuODEwNiAyMC44Njg2IDEwLjUxNjIgMjAuNzg4M1oiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTIuMTQwMSAyLjczOTI2SDIxLjUwODdMMTkuNzMzMSAyMi43NjEyTDEyLjE0MDEgMjQuODIyM1YyLjczOTI2Wk0xOS44NjcgMTEuOTIwNUwxOS4yNTEzIDE5LjQwNjRMMTMuMDg1OSAyMS4wMTI0TDEzLjA0MTMgMTguM0wxNy41MDI1IDE3LjExMzNMMTcuNTY1IDE0LjkwMDVMMTMuMTM5NSAxNS42NTlMMTMuMDQxMyA1LjcxOTM1TDIwLjM2NjYgNS42ODM2NkwyMC4xNzAzIDguNDEzOTNMMTUuMzE2NSA4LjQzMTc4VjEyLjQyOUwxOS44NjcgMTEuOTIwNVoiIGZpbGw9IiNmN2QxMzgiLz4KPHBhdGggZD0iTTE5LjI1MTMgMTkuNDA2NEwxOS44NjcgMTEuOTIwNUwxNS4zMTY1IDEyLjQyOVY4LjQzMTc4TDIwLjE3MDMgOC40MTM5M0wyMC4zNjY2IDUuNjgzNjZMMTMuMDQxMyA1LjcxOTM1TDEzLjEzOTUgMTUuNjU5TDE3LjU2NSAxNC45MDA1TDE3LjUwMjUgMTcuMTEzM0wxMy4wNDEzIDE4LjNMMTMuMDg1OSAyMS4wMTI0TDE5LjI1MTMgMTkuNDA2NFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMjMiIHZpZXdCb3g9IjAgMCAyMyAyMyIgZmlsbD0iIzFFMjUzMiIgZmlsbC1vcGFjaXR5PSIuMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Ik0xMC4xMzk2IDExLjU5OTVMMy4xMTQ2NCA3Ljc4MTY1QzIuODAyMTYgNy42MTE5MiAyLjQzMzE2IDcuNjE4OTMgMi4xMjczOSA3LjgwMDY5QzEuODIxNjIgNy45ODI0MiAxLjYzOTE2IDguMzAzMjggMS42MzkxNiA4LjY1OVYxNy41MTU1QzEuNjM5MTYgMTcuODczOCAxLjgzMjY2IDE4LjIwNjQgMi4xNDQxOSAxOC4zODM2TDkuMTY5MjUgMjIuMzc3M0M5LjMyNDExIDIyLjQ2NTMgOS40OTM0NiAyMi41MDkzIDkuNjYyODUgMjIuNTA5M0M5LjgzNTQ3IDIyLjUwOTMgMTAuMDA4IDIyLjQ2MzYgMTAuMTY1IDIyLjM3MjNDMTAuNDc1OCAyMi4xOTE0IDEwLjY2MTMgMjEuODY4OCAxMC42NjEzIDIxLjUwOTFWMTIuNDc2OEMxMC42NjEzIDEyLjExMDYgMTAuNDYxNSAxMS43NzQ0IDEwLjEzOTYgMTEuNTk5NVoiLz4KCTxwYXRoIGQ9Ik0xOS45OTQ1IDUuNDc3NDhDMTkuOTk0MSA1LjEwMzU0IDE5Ljc4NzUgNC43NjQzNyAxOS40NTU2IDQuNTkyMzJMMTEuNzk1MSAwLjYyMDg1MkMxMS41MDUxIDAuNDcwNDE3IDExLjE1OTQgMC40NzE1MzQgMTAuODcwNCAwLjYyMzY0NkwzLjMyMjU5IDQuNTk1MTFDMi45OTM5NiA0Ljc2ODExIDIuNzg5NTQgNS4xMDYyNSAyLjc4OTA2IDUuNDc3NjVDMi43ODg2MyA1Ljg0ODk3IDIuOTkyMjQgNi4xODc1OCAzLjMyMDQgNi4zNjEzMUwxMC44NjgyIDEwLjM1NzZDMTEuMDE0NCAxMC40MzQ5IDExLjE3NDggMTAuNDczNiAxMS4zMzU0IDEwLjQ3MzZDMTEuNDkzOSAxMC40NzM2IDExLjY1MjUgMTAuNDM1OCAxMS43OTcyIDEwLjM2MDNMMTkuNDU3OCA2LjM2NDE1QzE5Ljc4OTQgNi4xOTExOSAxOS45OTUxIDUuODUxNDIgMTkuOTk0NSA1LjQ3NzQ4WiIvPgoJPHBhdGggZD0iTTIwLjc4MSA3Ljc5OTc5QzIwLjQ3NTQgNy42MTgwMiAyMC4xMDYyIDcuNjEwODQgMTkuNzkzOSA3Ljc4MDcxTDEyLjc2ODcgMTEuNTk4NkMxMi40NDY5IDExLjc3MzUgMTIuMjQ3MSAxMi4xMDk2IDEyLjI0NzEgMTIuNDc1OVYyMS41MDgyQzEyLjI0NzEgMjEuODY3OCAxMi40MzI2IDIyLjE5MDUgMTIuNzQzNCAyMi4zNzEzQzEyLjkwMDQgMjIuNDYyNiAxMy4wNzI5IDIyLjUwODMgMTMuMjQ1NSAyMi41MDgzQzEzLjQxNDkgMjIuNTA4MyAxMy41ODQzIDIyLjQ2NDMgMTMuNzM5MSAyMi4zNzYzTDIwLjc2NDIgMTguMzgyNkMyMS4wNzU4IDE4LjIwNTUgMjEuMjY5MiAxNy44NzI4IDIxLjI2OTIgMTcuNTE0NVY4LjY1ODA5QzIxLjI2OTIgOC4zMDIzOCAyMS4wODY4IDcuOTgxNTIgMjAuNzgxIDcuNzk5NzlaIi8+Cjwvc3ZnPg==

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNSAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguMDE2NiAwQzQuMTcxOCAwIDAuOTg5MjU4IDMuMTI3ODUgMC45ODkyNTggNi45NzI2NkMwLjk4OTI1OCAxMC44MTc1IDQuMTcxOCAxNCA4LjAxNjYgMTRDMTEuODYxNCAxNCAxNC45ODkzIDEwLjgxNzUgMTQuOTg5MyA2Ljk3MjY2QzE0Ljk4OTMgMy4xMjc4NSAxMS44NjE0IDAgOC4wMTY2IDBaTTguODM2OTEgMTAuNzE4OEM4LjgzNjkxIDExLjE3MSA4LjQ2ODU5IDExLjUzOTEgOC4wMTY2IDExLjUzOTFDNy41NjQzNCAxMS41MzkxIDcuMTk2MjkgMTEuMTcxIDcuMTk2MjkgMTAuNzE4OFY2LjU2MjVDNy4xOTYyOSA2LjExMDIzIDcuNTY0MzQgNS43NDIxOSA4LjAxNjYgNS43NDIxOUM4LjQ2ODU5IDUuNzQyMTkgOC44MzY5MSA2LjExMDIzIDguODM2OTEgNi41NjI1VjEwLjcxODhaTTguMDE2NiA0LjEwMTU2QzcuNTY0MzQgNC4xMDE1NiA3LjE5NjI5IDMuNzMzNTIgNy4xOTYyOSAzLjI4MTI1QzcuMTk2MjkgMi44Mjg5OCA3LjU2NDM0IDIuNDYwOTQgOC4wMTY2IDIuNDYwOTRDOC40Njg1OSAyLjQ2MDk0IDguODM2OTEgMi44Mjg5OCA4LjgzNjkxIDMuMjgxMjVDOC44MzY5MSAzLjczMzUyIDguNDY4NTkgNC4xMDE1NiA4LjAxNjYgNC4xMDE1NloiIGZpbGw9IiMxRTI1MzIiLz4KPC9zdmc+Cg==

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNSAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGQ9Ik02LjE4NzczIDAuNDM3OTg4QzMuMDUxODIgMC40Mzc5ODggMC41MDAzOSAyLjU5NjU1IDAuNTAwMzkgNS4yNTAzNkMwLjUwMDM5IDYuMzM4ODMgMC45MjkxMjggNy4zODA5MiAxLjcxNjYxIDguMjI3OUwwLjYyODEzNiA5LjMxNjM3QzAuNTAzMDE0IDkuNDQxNDkgMC40NjUzOSA5LjYyOTYxIDAuNTMzNjM5IDkuNzkzMjNDMC42MDEwMTIgOS45NTU5OCAwLjc2MTEzMiAxMC4wNjI3IDAuOTM3ODc4IDEwLjA2MjdINi4xODc3M0M5LjMyMzY1IDEwLjA2MjcgMTEuODc1MSA3LjkwNDE2IDExLjg3NTEgNS4yNTAzNkMxMS44NzUxIDIuNTk2NTUgOS4zMjM2NSAwLjQzNzk4OCA2LjE4NzczIDAuNDM3OTg4WiIgZmlsbD0iIzFFMjUzMiIvPgo8cGF0aCBkPSJNMTMuMjgzMiAxMS43Mjc1QzE0LjA3MDYgMTAuODgxNCAxNC40OTk0IDkuODM4NDMgMTQuNDk5NCA4Ljc0OTk2QzE0LjQ5OTQgNy4zODg1IDEzLjgyNDggNi4xNjAwMyAxMi43NDc3IDUuMjg0MThDMTIuNzI1OCA4LjQwNDM0IDkuNzkyODkgMTAuOTM3NCA2LjE4NzExIDEwLjkzNzRIMy43NTI5M0M0LjY5NjE1IDEyLjQ5MzEgNi42MDc5OCAxMy41NjIzIDguODEyMDQgMTMuNTYyM0gxNC4wNjE5QzE0LjIzODYgMTMuNTYyMyAxNC4zOTg4IDEzLjQ1NTYgMTQuNDY2MSAxMy4yOTJDMTQuNTMzNSAxMy4xMjgzIDE0LjQ5NTkgMTIuOTQwMiAxNC4zNzE2IDEyLjgxNTFMMTMuMjgzMiAxMS43Mjc1WiIgZmlsbD0iIzFFMjUzMiIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwIj4KPHJlY3Qgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC41KSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
PHN2ZyBoZWlnaHQ9IjI1MDAiIHZpZXdCb3g9IjguNzM4IC0uMDM2IDE0LjUxNyAzMi4wMzgiIHdpZHRoPSIyNTAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0xNS45LjA4Ny44NTQgMS42MDRjLjE5Mi4yOTYuNC41NTguNjQ1LjgwMmEyMi40MDYgMjIuNDA2IDAgMCAxIDIuMDA0IDIuMjY2YzEuNDQ3IDEuOSAyLjQyMyA0LjAxIDMuMTIgNi4yOTIuNDE4IDEuMzk0LjY0NSAyLjgyNC42NjIgNC4yNy4wNyA0LjMyMy0xLjQxMiA4LjAzNS00LjQgMTEuMTJhMTIuNyAxMi43IDAgMCAxIC0xLjU3IDEuMzQyYy0uMjk2IDAtLjQzNi0uMjI3LS41NTgtLjQzNmEzLjU4OSAzLjU4OSAwIDAgMSAtLjQzNi0xLjI1NWMtLjEwNS0uNTIzLS4xNzQtMS4wNDYtLjE0LTEuNTg2di0uMjQ0Yy0uMDI0LS4wNTItLjI4NS0yNC4wNTItLjE4MS0yNC4xNzV6IiBmaWxsPSIjNTk5NjM2Ii8+PHBhdGggZD0ibTE1LjkuMDM0Yy0uMDM1LS4wNy0uMDctLjAxNy0uMTA1LjAxNy4wMTcuMzUtLjEwNS42NjItLjI5Ni45Ni0uMjEuMjk2LS40ODguNTIzLS43NjcuNzY3LTEuNTUgMS4zNDItMi43NyAyLjk2My0zLjc0NyA0Ljc3Ni0xLjMgMi40NC0xLjk3IDUuMDU1LTIuMTYgNy44MDgtLjA4Ny45OTMuMzE0IDQuNDk3LjYyNyA1LjUwOC44NTQgMi42ODQgMi4zODggNC45MzMgNC4zNzUgNi44ODUuNDg4LjQ3IDEuMDEuOTA2IDEuNTUgMS4zMjUuMTU3IDAgLjE3NC0uMTQuMjEtLjI0NGE0Ljc4IDQuNzggMCAwIDAgLjE1Ny0uNjhsLjM1LTIuNjE0eiIgZmlsbD0iIzZjYWM0OCIvPjxwYXRoIGQ9Im0xNi43NTQgMjguODQ1Yy4wMzUtLjQuMjI3LS43MzIuNDM2LTEuMDYzLS4yMS0uMDg3LS4zNjYtLjI2LS40ODgtLjQ1M2EzLjIzNSAzLjIzNSAwIDAgMSAtLjI2LS41NzVjLS4yNDQtLjczMi0uMjk2LTEuNS0uMzY2LTIuMjQ4di0uNDUzYy0uMDg3LjA3LS4xMDUuNjYyLS4xMDUuNzVhMTcuMzcgMTcuMzcgMCAwIDEgLS4zMTQgMi4zNTNjLS4wNTIuMzE0LS4wODcuNjI3LS4yOC45MDYgMCAuMDM1IDAgLjA3LjAxNy4xMjIuMzE0LjkyNC40IDEuODY1LjQ1MyAyLjgyNHYuMzVjMCAuNDE4LS4wMTcuMzMuMzMuNDcuMTQuMDUyLjI5Ni4wNy40MzYuMTc0LjEwNSAwIC4xMjItLjA4Ny4xMjItLjE1N2wtLjA1Mi0uNTc1di0xLjYwNGMtLjAxNy0uMjguMDM1LS41NTguMDctLjgyeiIgZmlsbD0iI2MyYmZiZiIvPjwvc3ZnPg==

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPgo8c3ZnIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCIgdmlld0JveD0iMCAwIDMyIDMyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSIxNS45OTciIHkxPSI5OTMiIHgyPSIxNS45OTciIHkyPSIxMDIxIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEsIDAsIDAsIC0xLCAwLCAxMDIzKSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2ZmYjE5OSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmMDg0NCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfbmVzdF9taWRkbGV3YXJlX3RzPC90aXRsZT48cGF0aCBkPSJNMTguNDg4LDJhMS43NTMsMS43NTMsMCwwLDAtLjU2NC4xYzEuNjExLDEuMDU4LS4yOCwyLjU5NC42LDMuOUEyLjIzNCwyLjIzNCwwLDAsMSwxOS42LDMuNzY1Yy4yODUtLjIzNy40NjctLjMyMi40MDYtLjcxNEMxOS45MSwyLjQwOSwxOS4wNTQsMiwxOC40ODgsMlptMi4zLjQxNGMtLjIyMiwxLjEyMy0uNSwxLjE2NC0xLjMyMywxLjg4N2ExLjgyLDEuODIsMCwwLDAtLjUyOCwyLjE5MWMtMy40LTEuMzItNy43NTgtMi4xMTgtMTAuOTUzLjE2Ni0xLjE0OS44MjEtMS44NTEsMi0zLjI2OCwyLjQ4MUMzLjgsOS40NTIsMi45LDkuMzYsMi4zMjgsMTAuMjY4QTEuNDEzLDEuNDEzLDAsMCwwLDIuMzg0LDEyLjFjLjE3LjE3NS41LjI4Ny42MzYuNDY1LjA3OS4xLjA3Ny4yLjE1Mi4zMzNhMi41ODYsMi41ODYsMCwwLDAsLjU2NC44MjhjLjE0Ni4xMjEuNjUyLjIzOS43MzguMzY4LjEwNy4xNjEtLjE3My44LjA2Mi45LjE1OS4wNzMuNjIyLS43NDQuNjY3LS44MTYtLjA5Mi42NDMtLjIxMywxLjc4NC41MS44MzQuMzQzLS40NTEuMzY0LS42Ljk0MS0uN2E4LjM2LDguMzYsMCwwLDEsOS43MzksNy41MDZjLS4xMDgtLjUtLjc2MS0xLjMtMS4zNjktMS4xMS0uMjU5LjA4LS4zNTUuNTI3LS41MjUuNzg2YTMuNzUsMy43NSwwLDAsMS0uNzg1Ljg2OCw0LjY1Nyw0LjY1NywwLDAsMC0uMDcyLTEuNDUyYy0uMTgyLjc0OC0uNTQ3LDEuOTg5LTEuNDY2LDEuNzg4YTEuNjUyLDEuNjUyLDAsMCwxLTEuMzI4LTEuMTQyYy0uMTE5LS43Ni42ODQtMS42NTEtLjYwNy0xLjcxNC0yLjU5LS4xMjctMS45OTEsMy42ODItLjQ2Miw0LjY3NWEzLjI3MiwzLjI3MiwwLDAsMC0xLjAxNS4yODNBNi44OTMsNi44OTMsMCwwLDAsMTkuMDQsMTkuODg5YTcuMDQ2LDcuMDQ2LDAsMCwxLS42NDYsNC43OSw2LjksNi45LDAsMCwxLTEuMjMsMS42NjhjLS4zLjMtLjg5NC42My0xLjA4OS45NDFBMTMuNDI3LDEzLjQyNywwLDAsMCwxOS42LDI2LjMyLDExLjY0NywxMS42NDcsMCwwLDEsMTUuMSwzMGExMS41OSwxMS41OSwwLDAsMCw5LjMtNS45MDksMTEuNjU3LDExLjY1NywwLDAsMS0xLjk0NSw0LjY2OCwxMS41MzEsMTEuNTMxLDAsMCwwLDQuOTc1LTcuNzgzLDExLjY1NSwxMS42NTUsMCwwLDEsLjIwOSwzLjVBMTIuNDE4LDEyLjQxOCwwLDAsMCwyOS41MywxMy45MWExNS43NTUsMTUuNzU1LDAsMCwwLTEuNjg5LTMuOTYyQTE0LjgzOCwxNC44MzgsMCwwLDAsMjYuOSw4LjU1NGMtLjEzMy0uMTczLS44NDQtLjgwNi0uODQ0LTFxLS4wMDkuMDI5LS4wMTUsMGMwLDMuMjY2LTMuNSw1LjMxMS02LjQzMSw0LjQ2M2E1LDUsMCwwLDAsNC41Ni00LjI4OEE0Ljk4OCw0Ljk4OCwwLDAsMCwyMC43ODksMi40MTRaIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7ZmlsbDp1cmwoI2EpIi8+PHBhdGggZD0iTTI2LjQsMTguNmEyLjgyLDIuODIsMCwwLDEsMS40MS44MSwzLjgsMy44LDAsMCwxLC41NC43MnMtMSwuNjktMS41NywxLjA2YS40OS40OSwwLDAsMS0uMi0uMjIsMS4yODMsMS4yODMsMCwwLDAtMS4wNi0uNjQuOTIuOTIsMCwwLDAtMS4xLjcuODkzLjg5MywwLDAsMC0uMDIyLjIxMi44MTguODE4LDAsMCwwLC4xLjQyLDIuMjE4LDIuMjE4LDAsMCwwLDEuMzEuODhjMS42Mi43LDIuMzEsMS4xNiwyLjc0LDEuODFhMy4yODMsMy4yODMsMCwwLDEsLjI2LDIuNzYsMywzLDAsMCwxLTIuNTEsMS44NCw2Ljg3NSw2Ljg3NSwwLDAsMS0xLjcyLDAsNC4xNDIsNC4xNDIsMCwwLDEtMi4zLTEuMiwzLjk1OCwzLjk1OCwwLDAsMS0uNTktLjg3bC4yMS0uMTMuODQtLjQ4LjY1LS4zOC4xNC4yYTIuOTg3LDIuOTg3LDAsMCwwLC44Ni44MiwyLjEsMi4xLDAsMCwwLDIuMi0uMTEsMSwxLDAsMCwwLC4xMy0xLjI1LDMuNzQyLDMuNzQyLDAsMCwwLTEuNTUtLjksNS41ODQsNS41ODQsMCwwLDEtMi4xOC0xLjM4LDIuOTg4LDIuOTg4LDAsMCwxLS42Mi0xLjEzLDQuNTE3LDQuNTE3LDAsMCwxLDAtMS40NCwyLjc2MSwyLjc2MSwwLDAsMSwyLjMyLTIuMTVBNS43MzUsNS43MzUsMCwwLDEsMjYuNCwxOC42Wm0tNS4zMS45NHYuOTNIMTguMTV2OC4zNkgxNi4wN3YtOC4zNkgxMy4xM3YtLjkxYTguNDg2LDguNDg2LDAsMCwxLDAtLjkzaDh2LjkyWiIgc3R5bGU9ImZpbGw6IzAwN2FjYyIvPjwvc3ZnPg==

View File

@@ -0,0 +1 @@
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9Ii0xNy41IDAgMjkxIDI5MSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+CiAgICA8Zz4KCQkJCTxwYXRoIGQ9Ik0yLjA1Mzg2ODE5LDIxOC4xODY4MTkgQzMuMzc0MjEyMDMsMjIwLjUzNDA5NyA1LjI4MTM3NTM2LDIyMi4yOTQ1NTYgNy42Mjg2NTMzLDIyMy42MTQ5IEwxMjAuNTkxNDA0LDI4OC43NTE4NjIgTDEyMC41OTE0MDQsMjg4Ljc1MTg2MiBDMTI1LjI4NTk2LDI5MS41MzkyNTUgMTMxLjAwNzQ1LDI5MS41MzkyNTUgMTM1LjU1NTMwMSwyODguNzUxODYyIEwyNDguNTE4MDUyLDIyMy42MTQ5IEMyNTMuMjEyNjA3LDIyMC45NzQyMTIgMjU2LDIxNS45ODYyNDYgMjU2LDIxMC41NTgxNjYgTDI1Niw4MC4yODQyNDA3IEwyNTYsODAuMjg0MjQwNyBDMjU2LDc0Ljg1NjE2MDUgMjUzLjIxMjYwNyw2OS44NjgxOTQ4IDI0OC41MTgwNTIsNjcuMjI3NTA3MiBMMTM1LjU1NTMwMSwyLjA5MDU0NDQxIEwxMzUuNTU1MzAxLDIuMDkwNTQ0NDEgQzEzMC44NjA3NDUsLTAuNjk2ODQ4MTM4IDEyNS4xMzkyNTUsLTAuNjk2ODQ4MTM4IDEyMC41OTE0MDQsMi4wOTA1NDQ0MSBMMTIwLjU5MTQwNCwyLjA5MDU0NDQxIEw3LjYyODY1MzMsNjcuMjI3NTA3MiBDMi43ODczOTI1NSw2OS44NjgxOTQ4IDAsNzQuODU2MTYwNSAwLDgwLjI4NDI0MDcgTDAsODAuMjg0MjQwNyBMMCwyMTAuNzA0ODcxIEMwLDIxMy4zNDU1NTkgMC41ODY4MTk0ODQsMjE1LjgzOTU0MiAyLjA1Mzg2ODE5LDIxOC4xODY4MTkiIGZpbGw9IiMwMDk2MzkiPgoNPC9wYXRoPgoJCQkJPHBhdGggZD0iTTkxLjgzNzI0OTMsMTk1LjE1NDE1NSBDOTEuODM3MjQ5MywyMDMuMjIyOTIzIDg1LjM4MjIzNSwyMDkuNjc3OTM3IDc3LjMxMzQ2NywyMDkuNjc3OTM3IEM2OS4yNDQ2OTkxLDIwOS42Nzc5MzcgNjIuNzg5Njg0OCwyMDMuMjIyOTIzIDYyLjc4OTY4NDgsMTk1LjE1NDE1NSBMNjIuNzg5Njg0OCwxOTUuMTU0MTU1IEw2Mi43ODk2ODQ4LDk1LjU0MTU0NzMgQzYyLjc4OTY4NDgsODcuNzY2MTg5MSA2OS42ODQ4MTM4LDgxLjQ1Nzg3OTcgNzkuMjIwNjMwNCw4MS40NTc4Nzk3IEM4Ni4xMTU3NTkzLDgxLjQ1Nzg3OTcgOTQuMTg0NTI3Miw4NC4yNDUyNzIyIDk5LjAyNTc4OCw5MC4yNjAxNzE5IEwxMDMuNDI2OTM0LDk1LjU0MTU0NzMgTDE2NC4xNjI3NTEsMTY4LjE2MDQ1OCBMMTY0LjE2Mjc1MSw5NS44MzQ5NTcgTDE2NC4xNjI3NTEsOTUuODM0OTU3IEMxNjQuMTYyNzUxLDg3Ljc2NjE4OTEgMTcwLjYxNzc2NSw4MS4zMTExNzQ4IDE3OC42ODY1MzMsODEuMzExMTc0OCBDMTg2Ljc1NTMwMSw4MS4zMTExNzQ4IDE5My4yMTAzMTUsODcuNzY2MTg5MSAxOTMuMjEwMzE1LDk1LjgzNDk1NyBMMTkzLjIxMDMxNSw5NS44MzQ5NTcgTDE5My4yMTAzMTUsMTk1LjQ0NzU2NCBDMTkzLjIxMDMxNSwyMDMuMjIyOTIzIDE4Ni4zMTUxODYsMjA5LjUzMTIzMiAxNzYuNzc5MzcsMjA5LjUzMTIzMiBDMTY5Ljg4NDI0MSwyMDkuNTMxMjMyIDE2MS44MTU0NzMsMjA2Ljc0Mzg0IDE1Ni45NzQyMTIsMjAwLjcyODk0IEw5MS44MzcyNDkzLDEyMi45NzUzNTggTDkxLjgzNzI0OTMsMTk1LjE1NDE1NSBMOTEuODM3MjQ5MywxOTUuMTU0MTU1IFoiIGZpbGw9IiNGRkZGRkYiPgoNPC9wYXRoPgogICAgPC9nPgo8L3N2Zz4=

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAyNCAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGQ9Ik0xMC44NTU4IDAuMzI5ODkyQzExLjQ5NzcgLTAuMDM3NTE5MiAxMi4zMzM4IC0wLjAzOTE3ODggMTIuOTc1MSAwLjMyOTg5MkMxNi4yMDE2IDIuMTUzMDMgMTkuNDI5MSAzLjk3MzMgMjIuNjU1IDUuNzk3NTRDMjMuMjYxOCA2LjEzOTMyIDIzLjY2NzYgNi44MTQ1OSAyMy42NjE1IDcuNTEzNzNWMTguNDgyNEMyMy42NjYgMTkuMjEwNSAyMy4yMiAxOS45MDE5IDIyLjU3OTkgMjAuMjM1OUMxOS4zNjQgMjIuMDQ5IDE2LjE0OTggMjMuODY0MyAxMi45MzQ0IDI1LjY3NzRDMTIuMjc5MyAyNi4wNTIgMTEuNDI2NCAyNi4wMjMxIDEwLjc5MTcgMjUuNjE3OEM5LjgyNzYyIDI1LjA1ODkgOC44NjE4NCAyNC41MDI4IDcuODk3NjIgMjMuOTQ0NEM3LjcwMDYgMjMuODI3IDcuNDc4NDkgMjMuNzMzNSA3LjMzOTM2IDIzLjU0MjVDNy40NjIzNiAyMy4zNzY3IDcuNjgyMjUgMjMuMzU2IDcuODYwOTMgMjMuMjgzNkM4LjI2MzM4IDIzLjE1NTcgOC42MzMgMjIuOTUwMyA5LjAwMjcyIDIyLjc1MDlDOS4wOTYyMSAyMi42ODY5IDkuMjEwMzUgMjIuNzExNSA5LjI5OTk2IDIyLjc2ODdDMTAuMTI0NCAyMy4yNDE0IDEwLjk0MTYgMjMuNzI3OSAxMS43Njg4IDI0LjE5NkMxMS45NDUyIDI0LjI5NzkgMTIuMTIzOSAyNC4xNjI3IDEyLjI3NDggMjQuMDc4NkMxNS40MzA1IDIyLjI5NSAxOC41OTAyIDIwLjUxODIgMjEuNzQ1NCAxOC43MzRDMjEuODYyMyAxOC42Nzc4IDIxLjkyNjkgMTguNTUzNyAyMS45MTc0IDE4LjQyNTZDMjEuOTE5NiAxNC44MDczIDIxLjkxOCAxMS4xODgzIDIxLjkxODUgNy41Njk5N0MyMS45MzE5IDcuNDI0NjcgMjEuODQ3OCA3LjI5MTA3IDIxLjcxNjQgNy4yMzE2QzE4LjUxMTcgNS40MjY4MSAxNS4zMDg2IDMuNjE5MjYgMTIuMTA0NSAxLjgxNDAxQzEyLjA0ODkgMS43NzU4NSAxMS45ODMyIDEuNzU1MzcgMTEuOTE1OCAxLjc1NTI3QzExLjg0ODQgMS43NTUxNyAxMS43ODI2IDEuNzc1NDYgMTEuNzI3IDEuODEzNDZDOC41MjI4MiAzLjYxOTI2IDUuMzIwMzEgNS40Mjg0NyAyLjExNjEzIDcuMjMzMTdDMS45ODUyMSA3LjI5MjczIDEuODk3MzQgNy40MjQxMSAxLjkxMjkyIDcuNTY5OTdDMS45MTM0OCAxMS4xODgzIDEuOTEyOTIgMTQuODA3MyAxLjkxMjkyIDE4LjQyNjJDMS45MDczNyAxOC40ODg3IDEuOTIxMDkgMTguNTUxMyAxLjk1MjI1IDE4LjYwNThDMS45ODM0IDE4LjY2MDIgMi4wMzA0OSAxOC43MDM4IDIuMDg3MTggMTguNzMwN0MyLjk0MjIzIDE5LjIxNTYgMy43OTgzOCAxOS42OTcgNC42NTM5OSAyMC4xODAyQzUuMTM2IDIwLjQzOTcgNS43Mjc4MiAyMC41OTM4IDYuMjU4ODkgMjAuMzk1MUM2LjcyNzUzIDIwLjIyNyA3LjA1NjA0IDE5Ljc0ODggNy4wNDcwOSAxOS4yNTEyQzcuMDUxNTIgMTUuNjUzOSA3LjA0NDg4IDEyLjA1NjIgNy4wNTA0MSA4LjQ1OTVDNy4wMzg3IDguMjk5ODEgNy4xOTAxOSA4LjE2Nzg4IDcuMzQ1NDUgOC4xODI5MUM3Ljc1NjI4IDguMTgwMTQgOC4xNjc2NyA4LjE3NzM3IDguNTc4NTEgOC4xODQwMUM4Ljc1IDguMTgwMTQgOC44NjgwMSA4LjM1MjA5IDguODQ2ODEgOC41MTI5OEM4Ljg0NTE1IDEyLjEzMyA4Ljg1MTIzIDE1Ljc1MzEgOC44NDQwNCAxOS4zNzNDOC44NDUxNSAyMC4zMzc4IDguNDQ4NzkgMjEuMzg3NiA3LjU1NjQgMjEuODU5NkM2LjQ1NzAyIDIyLjQyOTIgNS4wOTgyIDIyLjMwODQgNC4wMTIxIDIxLjc2MjNDMy4wNzE4NiAyMS4yOTMgMi4xNzQ1OCAyMC43MzkyIDEuMjUxMDMgMjAuMjM2NEMwLjYwOTIzNSAxOS45MDQyIDAuMTY1NDgzIDE5LjIxIDAuMTcwMDAxIDE4LjQ4MjVWNy41MTM3M0MwLjE2MzI3MSA2LjgwMDExIDAuNTg1MjY0IDYuMTEyNTkgMS4yMTA5MiA1Ljc3NTc5QzQuNDI2MjYgMy45NjEyMyA3LjY0MTA0IDIuMTQ1MjggMTAuODU1OCAwLjMyOTg5MloiIGZpbGw9IiM2NDlhNjAiLz4KPHBhdGggZD0iTTEzLjY2MSA3LjkyODMzQzE1LjA2MzQgNy44MzgwNyAxNi41NjQ2IDcuODc0ODYgMTcuODI2NiA4LjU2NTcxQzE4LjgwMzYgOS4wOTUxMiAxOS4zNDUzIDEwLjIwNjIgMTkuMzYyNSAxMS4yOTE3QzE5LjMzNTIgMTEuNDM4MSAxOS4xODIyIDExLjUxODkgMTkuMDQyNCAxMS41MDg4QzE4LjYzNTUgMTEuNTA4MyAxOC4yMjg2IDExLjUxNDMgMTcuODIxNyAxMS41MDZDMTcuNjQ5MSAxMS41MTI3IDE3LjU0ODggMTEuMzUzNSAxNy41MjcxIDExLjIwMUMxNy40MTAyIDEwLjY4MTYgMTcuMTI3IDEwLjE2NzIgMTYuNjM4MSA5LjkxNjcxQzE1Ljg4NzcgOS41NDEgMTUuMDE3NiA5LjU1OTkgMTQuMTk5NCA5LjU2NzczQzEzLjYwMiA5LjU5OTQ1IDEyLjk1OTcgOS42NTExNyAxMi40NTM2IDEwLjAwMjVDMTIuMDY1IDEwLjI2ODUgMTEuOTQ3IDEwLjgwNTcgMTIuMDg1NyAxMS4yMzgzQzEyLjIxNjQgMTEuNTQ4OSAxMi41NzUgMTEuNjQ5MSAxMi44Njg0IDExLjc0MTVDMTQuNTU4NCAxMi4xODM1IDE2LjM0OTMgMTIuMTM5NSAxOC4wMDcgMTIuNzIxMkMxOC42OTMzIDEyLjk1ODQgMTkuMzY0NyAxMy40MTk0IDE5LjU5OTcgMTQuMTM4QzE5LjkwNyAxNS4xMDExIDE5Ljc3MjMgMTYuMjUyMyAxOS4wODcgMTcuMDI1NUMxOC41MzEzIDE3LjY2MTggMTcuNzIyIDE4LjAwODEgMTYuOTE0OCAxOC4xOTYxQzE1Ljg0MSAxOC40MzU2IDE0LjcyNjYgMTguNDQxNyAxMy42MzYgMTguMzM1NEMxMi42MTA2IDE4LjIxODUgMTEuNTQzNSAxNy45NDkgMTAuNzUxOSAxNy4yNTA0QzEwLjA3NDkgMTYuNjYyNiA5Ljc0NDMgMTUuNzQ2OCA5Ljc3NzEzIDE0Ljg2MjlDOS43ODQ5NiAxNC43MTM2IDkuOTMzNTkgMTQuNjA5NSAxMC4wNzY2IDE0LjYyMTdDMTAuNDg2MyAxNC42MTg0IDEwLjg5NjEgMTQuNjE3MyAxMS4zMDU4IDE0LjYyMjNDMTEuNDY5NCAxNC42MTA2IDExLjU5MDggMTQuNzUyIDExLjU5OTIgMTQuOTA2M0MxMS42NzQ4IDE1LjQwMTEgMTEuODYwNyAxNS45MjA1IDEyLjI5MjIgMTYuMjEzOUMxMy4xMjUgMTYuNzUxMSAxNC4xNjk5IDE2LjcxNDMgMTUuMTIzNCAxNi43MjkzQzE1LjkxMzMgMTYuNjk0MyAxNi44MDAxIDE2LjY4MzcgMTcuNDQ0OCAxNi4xNjE2QzE3Ljc4NDkgMTUuODYzOCAxNy44ODU3IDE1LjM2NTUgMTcuNzkzNyAxNC45MzY5QzE3LjY5NDIgMTQuNTc1IDE3LjMxNTYgMTQuNDA2NCAxNi45OTA1IDE0LjI5NjFDMTUuMzIyMiAxMy43NjgzIDEzLjUxMTMgMTMuOTU5OCAxMS44NTkxIDEzLjM2M0MxMS4xODgzIDEzLjEyNiAxMC41Mzk3IDEyLjY3NzggMTAuMjgyIDExLjk4ODdDOS45MjI0MyAxMS4wMTM0IDEwLjA4NzIgOS44MDcwOCAxMC44NDQyIDkuMDU5OTlDMTEuNTgyNCA4LjMxNjg2IDEyLjY0NzkgOC4wMzA2NyAxMy42NjEgNy45MjgyNFY3LjkyODMzWiIgZmlsbD0iIzY0OWE2MCIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwIj4KPHJlY3Qgd2lkdGg9IjIzLjYwOCIgaGVpZ2h0PSIyNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMTE0MjU4KSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=

View File

@@ -0,0 +1 @@
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPgo8c3ZnIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCIgdmlld0JveD0iMCAwIDMyIDMyIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTQiIGZpbGw9IiM4ODkyQkYiLz4NCjxwYXRoIGQ9Ik0xNC40MzkyIDEwSDE2LjExOTJMMTUuNjQ0NCAxMi41MjQySDE3LjE1NEMxNy45ODE5IDEyLjU0MTkgMTguNTk4NiAxMi43MjY5IDE5LjAwNDUgMTMuMDc5M0MxOS40MTg0IDEzLjQzMTYgMTkuNTQwMiAxNC4xMDE0IDE5LjM2OTggMTUuMDg4MUwxOC41NTQxIDE5LjQ4ODlIMTYuODQ5N0wxNy42Mjg4IDE1LjI4NjNDMTcuNzA5OSAxNC44NDU3IDE3LjY4NTYgMTQuNTMzIDE3LjU1NTggMTQuMzQ4QzE3LjQyNiAxNC4xNjMgMTcuMTQ2IDE0LjA3MDUgMTYuNzE1OCAxNC4wNzA1TDE1LjM2NDQgMTQuMDU3M0wxNC4zNjYxIDE5LjQ4ODlIMTIuNjg2MUwxNC40MzkyIDEwWiIgZmlsbD0id2hpdGUiLz4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNi43NDA5MiAxMi41MjQzSDEwLjAwMzZDMTAuOTYxMiAxMi41MzMgMTEuNjU1MiAxMi44MzI3IDEyLjA4NTQgMTMuNDIyOUMxMi41MTU2IDE0LjAxMzIgMTIuNjU3NiAxNC44MTkzIDEyLjUxMTUgMTUuODQxNEMxMi40NTQ4IDE2LjMwODUgMTIuMzI4OSAxNi43NjY1IDEyLjEzNDEgMTcuMjE1OUMxMS45NDc0IDE3LjY2NTIgMTEuNjg3OCAxOC4wNzA0IDExLjM1NSAxOC40MzE3QzEwLjk0OTEgMTguODg5OCAxMC41MTQ5IDE5LjE4MDUgMTAuMDUyMyAxOS4zMDRDOS41ODk2OSAxOS40Mjc0IDkuMTEwNzYgMTkuNDg5IDguNjE1NzUgMTkuNDg5SDcuMTU0ODRMNi42OTIyMiAyMkg1TDYuNzQwOTIgMTIuNTI0M1pNNy40MzQ4NSAxNy45OTU2TDguMTYyODcgMTQuMDQ0MUg4LjQwODc5QzguNDk4MTUgMTQuMDQ0MSA4LjU5MTQgMTQuMDM5NiA4LjY4ODggMTQuMDMwOUM5LjMzODE3IDE0LjAyMjEgOS44Nzc3NCAxNC4wODgyIDEwLjMwOCAxNC4yMjkxQzEwLjc0NjIgMTQuMzcgMTAuODkyMyAxNC45MDMxIDEwLjc0NjIgMTUuODI4MkMxMC41Njc4IDE2LjkyOTYgMTAuMjE4NiAxNy41NzI3IDkuNjk5MjYgMTcuNzU3N0M5LjE3OTkgMTcuOTM0IDguNTMwNTMgMTguMDE3NiA3Ljc1MTM4IDE4LjAwODhINy41ODA5NEM3LjUzMjI0IDE4LjAwODggNy40ODM1NSAxOC4wMDQzIDcuNDM0ODUgMTcuOTk1NloiIGZpbGw9IndoaXRlIi8+DQo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTI0LjQzNjUgMTIuNTI0M0gyMS4xNzM4TDE5LjQzMjkgMjJIMjEuMTI1MUwyMS41ODc4IDE5LjQ4OUgyMy4wNDg3QzIzLjU0MzcgMTkuNDg5IDI0LjAyMjYgMTkuNDI3NCAyNC40ODUyIDE5LjMwNEMyNC45NDc5IDE5LjE4MDUgMjUuMzgyIDE4Ljg4OTggMjUuNzg3OSAxOC40MzE3QzI2LjEyMDcgMTguMDcwNCAyNi4zODAzIDE3LjY2NTIgMjYuNTY3IDE3LjIxNTlDMjYuNzYxOCAxNi43NjY1IDI2Ljg4NzcgMTYuMzA4NSAyNi45NDQ0IDE1Ljg0MTRDMjcuMDkwNSAxNC44MTkzIDI2Ljk0ODYgMTQuMDEzMiAyNi41MTgzIDEzLjQyMjlDMjYuMDg4MSAxMi44MzI3IDI1LjM5NDIgMTIuNTMzIDI0LjQzNjUgMTIuNTI0M1pNMjIuNTk1OCAxNC4wNDQxTDIxLjg2NzggMTcuOTk1NkMyMS45MTY1IDE4LjAwNDMgMjEuOTY1MiAxOC4wMDg4IDIyLjAxMzkgMTguMDA4OEgyMi4xODQzQzIyLjk2MzUgMTguMDE3NiAyMy42MTI4IDE3LjkzNCAyNC4xMzIyIDE3Ljc1NzdDMjQuNjUxNSAxNy41NzI3IDI1LjAwMDcgMTYuOTI5NiAyNS4xNzkyIDE1LjgyODJDMjUuMzI1MyAxNC45MDMxIDI1LjE3OTIgMTQuMzcgMjQuNzQwOSAxNC4yMjkxQzI0LjMxMDcgMTQuMDg4MiAyMy43NzExIDE0LjAyMjEgMjMuMTIxNyAxNC4wMzA5QzIzLjAyNDMgMTQuMDM5NiAyMi45MzExIDE0LjA0NDEgMjIuODQxNyAxNC4wNDQxSDIyLjU5NThaIiBmaWxsPSJ3aGl0ZSIvPg0KPC9zdmc+

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPgo8c3ZnIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCIgdmlld0JveD0iMCAtMTggMjU2IDI1NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij48cGF0aCBkPSJNMjQ1Ljk3IDE2OC45NDNjLTEzLjY2MiA3LjEyMS04NC40MzQgMzYuMjItOTkuNTAxIDQ0LjA3NS0xNS4wNjcgNy44NTYtMjMuNDM3IDcuNzgtMzUuMzQgMi4wOS0xMS45MDItNS42OS04Ny4yMTYtMzYuMTEyLTEwMC43ODMtNDIuNTk3QzMuNTY2IDE2OS4yNzEgMCAxNjYuNTM1IDAgMTYzLjk1MXYtMjUuODc2czk4LjA1LTIxLjM0NSAxMTMuODc5LTI3LjAyNGMxNS44MjgtNS42NzkgMjEuMzItNS44ODQgMzQuNzktLjk1IDEzLjQ3MiA0LjkzNiA5NC4wMTggMTkuNDY4IDEwNy4zMzEgMjQuMzQ0bC0uMDA2IDI1LjUxYy4wMDIgMi41NTgtMy4wNyA1LjM2NC0xMC4wMjQgOC45ODgiIGZpbGw9IiM5MTI2MjYiLz48cGF0aCBkPSJNMjQ1Ljk2NSAxNDMuMjJjLTEzLjY2MSA3LjExOC04NC40MzEgMzYuMjE4LTk5LjQ5OCA0NC4wNzItMTUuMDY2IDcuODU3LTIzLjQzNiA3Ljc4LTM1LjMzOCAyLjA5LTExLjkwMy01LjY4Ni04Ny4yMTQtMzYuMTEzLTEwMC43OC00Mi41OTQtMTMuNTY2LTYuNDg1LTEzLjg1LTEwLjk0OC0uNTI0LTE2LjE2NiAxMy4zMjYtNS4yMiA4OC4yMjQtMzQuNjA1IDEwNC4wNTUtNDAuMjg0IDE1LjgyOC01LjY3NyAyMS4zMTktNS44ODQgMzQuNzg5LS45NDggMTMuNDcxIDQuOTM0IDgzLjgxOSAzMi45MzUgOTcuMTMgMzcuODEgMTMuMzE2IDQuODgxIDEzLjgyNyA4LjkuMTY2IDE2LjAyIiBmaWxsPSIjQzYzMDJCIi8+PHBhdGggZD0iTTI0NS45NyAxMjcuMDc0Yy0xMy42NjIgNy4xMjItODQuNDM0IDM2LjIyLTk5LjUwMSA0NC4wNzgtMTUuMDY3IDcuODUzLTIzLjQzNyA3Ljc3Ny0zNS4zNCAyLjA4Ny0xMS45MDMtNS42ODctODcuMjE2LTM2LjExMi0xMDAuNzgzLTQyLjU5N0MzLjU2NiAxMjcuNDAyIDAgMTI0LjY3IDAgMTIyLjA4NVY5Ni4yMDZzOTguMDUtMjEuMzQ0IDExMy44NzktMjcuMDIzYzE1LjgyOC01LjY3OSAyMS4zMi01Ljg4NSAzNC43OS0uOTVDMTYyLjE0MiA3My4xNjggMjQyLjY4OCA4Ny42OTcgMjU2IDkyLjU3NGwtLjAwNiAyNS41MTNjLjAwMiAyLjU1Ny0zLjA3IDUuMzYzLTEwLjAyNCA4Ljk4NyIgZmlsbD0iIzkxMjYyNiIvPjxwYXRoIGQ9Ik0yNDUuOTY1IDEwMS4zNTFjLTEzLjY2MSA3LjEyLTg0LjQzMSAzNi4yMTgtOTkuNDk4IDQ0LjA3NS0xNS4wNjYgNy44NTQtMjMuNDM2IDcuNzc3LTM1LjMzOCAyLjA4Ny0xMS45MDMtNS42ODYtODcuMjE0LTM2LjExMi0xMDAuNzgtNDIuNTk0LTEzLjU2Ni02LjQ4My0xMy44NS0xMC45NDctLjUyNC0xNi4xNjdDMjMuMTUxIDgzLjUzNSA5OC4wNSA1NC4xNDggMTEzLjg4IDQ4LjQ3YzE1LjgyOC01LjY3OCAyMS4zMTktNS44ODQgMzQuNzg5LS45NDkgMTMuNDcxIDQuOTM0IDgzLjgxOSAzMi45MzMgOTcuMTMgMzcuODEgMTMuMzE2IDQuODggMTMuODI3IDguOS4xNjYgMTYuMDIiIGZpbGw9IiNDNjMwMkIiLz48cGF0aCBkPSJNMjQ1Ljk3IDgzLjY1M2MtMTMuNjYyIDcuMTItODQuNDM0IDM2LjIyLTk5LjUwMSA0NC4wNzgtMTUuMDY3IDcuODU0LTIzLjQzNyA3Ljc3Ny0zNS4zNCAyLjA4Ny0xMS45MDMtNS42ODctODcuMjE2LTM2LjExMy0xMDAuNzgzLTQyLjU5NUMzLjU2NiA4My45OCAwIDgxLjI0NyAwIDc4LjY2NXYtMjUuODhzOTguMDUtMjEuMzQzIDExMy44NzktMjcuMDIxYzE1LjgyOC01LjY4IDIxLjMyLTUuODg0IDM0Ljc5LS45NUMxNjIuMTQyIDI5Ljc0OSAyNDIuNjg4IDQ0LjI3OCAyNTYgNDkuMTU1bC0uMDA2IDI1LjUxMmMuMDAyIDIuNTU1LTMuMDcgNS4zNjEtMTAuMDI0IDguOTg2IiBmaWxsPSIjOTEyNjI2Ii8+PHBhdGggZD0iTTI0NS45NjUgNTcuOTNjLTEzLjY2MSA3LjEyLTg0LjQzMSAzNi4yMi05OS40OTggNDQuMDc0LTE1LjA2NiA3Ljg1NC0yMy40MzYgNy43NzctMzUuMzM4IDIuMDlDOTkuMjI3IDk4LjQwNCAyMy45MTUgNjcuOTggMTAuMzUgNjEuNDk3LTMuMjE3IDU1LjAxNS0zLjUgNTAuNTUgOS44MjUgNDUuMzMxIDIzLjE1MSA0MC4xMTMgOTguMDUgMTAuNzMgMTEzLjg4IDUuMDVjMTUuODI4LTUuNjc5IDIxLjMxOS01Ljg4MyAzNC43ODktLjk0OCAxMy40NzEgNC45MzUgODMuODE5IDMyLjkzNCA5Ny4xMyAzNy44MTEgMTMuMzE2IDQuODc2IDEzLjgyNyA4Ljg5Ny4xNjYgMTYuMDE3IiBmaWxsPSIjQzYzMDJCIi8+PHBhdGggZD0iTTE1OS4yODMgMzIuNzU3bC0yMi4wMSAyLjI4NS00LjkyNyAxMS44NTYtNy45NTgtMTMuMjMtMjUuNDE1LTIuMjg0IDE4Ljk2NC02LjgzOS01LjY5LTEwLjQ5OCAxNy43NTUgNi45NDQgMTYuNzM4LTUuNDgtNC41MjQgMTAuODU1IDE3LjA2NyA2LjM5MU0xMzEuMDMyIDkwLjI3NUw4OS45NTUgNzMuMjM4bDU4Ljg2LTkuMDM1LTE3Ljc4MyAyNi4wNzJNNzQuMDgyIDM5LjM0N2MxNy4zNzUgMCAzMS40NiA1LjQ2IDMxLjQ2IDEyLjE5NCAwIDYuNzM2LTE0LjA4NSAxMi4xOTUtMzEuNDYgMTIuMTk1cy0zMS40Ni01LjQ2LTMxLjQ2LTEyLjE5NWMwLTYuNzM0IDE0LjA4NS0xMi4xOTQgMzEuNDYtMTIuMTk0IiBmaWxsPSIjRkZGIi8+PHBhdGggZD0iTTE4NS4yOTUgMzUuOTk4bDM0LjgzNiAxMy43NjYtMzQuODA2IDEzLjc1My0uMDMtMjcuNTIiIGZpbGw9IiM2MjFCMUMiLz48cGF0aCBkPSJNMTQ2Ljc1NSA1MS4yNDNsMzguNTQtMTUuMjQ1LjAzIDI3LjUxOS0zLjc3OSAxLjQ3OC0zNC43OTEtMTMuNzUyIiBmaWxsPSIjOUEyOTI4Ii8+PC9zdmc+

View File

@@ -0,0 +1 @@
PHN2ZyBoZWlnaHQ9IjI1MDAiIHdpZHRoPSIyNDkwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2Ij48ZyBmaWxsPSJub25lIj48cGF0aCBkPSJNMCAxOC4zMzhDMCA4LjIxNiA4LjQ3NCAwIDE4LjkyIDBoMjE4LjE2QzI0Ny41MyAwIDI1NiA4LjIxNiAyNTYgMTguMzM4djIxOS4zMjdDMjU2IDI0Ny43OSAyNDcuNTMgMjU2IDIzNy4wOCAyNTZIMTguOTJDOC40NzUgMjU2IDAgMjQ3Ljc5MSAwIDIzNy42NjhWMTguMzM1eiIgZmlsbD0iIzA2OSIvPjxwYXRoIGQ9Ik03Ny43OTYgMjE0LjIzOFY5OC45ODZIMzkuNDg4djExNS4yNTJINzcuOHpNNTguNjUgODMuMjUzYzEzLjM1NiAwIDIxLjY3MS04Ljg1IDIxLjY3MS0xOS45MS0uMjUtMTEuMzEyLTguMzE1LTE5LjkxNS0yMS40MTctMTkuOTE1LTEzLjExMSAwLTIxLjY3NCA4LjYwMy0yMS42NzQgMTkuOTE0IDAgMTEuMDYgOC4zMTIgMTkuOTEgMjEuMTY5IDE5LjkxaC4yNDh6TTk5IDIxNC4yMzhoMzguMzA1di02NC4zNTVjMC0zLjQ0LjI1LTYuODg5IDEuMjYyLTkuMzQ2IDIuNzY4LTYuODg1IDkuMDcxLTE0LjAxMiAxOS42NTYtMTQuMDEyIDEzLjg1OCAwIDE5LjQwNSAxMC41NjggMTkuNDA1IDI2LjA2M3Y2MS42NWgzOC4zMDR2LTY2LjA4MmMwLTM1LjM5OS0xOC44OTYtNTEuODcyLTQ0LjA5OS01MS44NzItMjAuNjYzIDAtMjkuNzM4IDExLjU0OS0zNC43OCAxOS40MTVoLjI1NVY5OC45OUg5OS4wMDJjLjUgMTAuODEyLS4wMDMgMTE1LjI1Mi0uMDAzIDExNS4yNTJ6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxNiAxNyIgZmlsbD0iI0ZGQ0E0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Ik04LjM3ODQ1IDAuNzkyMzM3TDEwLjQxMzcgNS42MDkzNEwxNS42MjQxIDYuMDU2OTVDMTUuOTg1NCA2LjA4ODE2IDE2LjEzMjUgNi41MzkwNiAxNS44NTgxIDYuNzc2NDJMMTEuOTA2IDEwLjIwMDVMMTMuMDkwMyAxNS4yOTQzQzEzLjE3MjQgMTUuNjQ4MiAxMi43ODg5IDE1LjkyNjcgMTIuNDc4NCAxNS43Mzg2TDguMDAwNjQgMTMuMDM4MUwzLjUyMjg0IDE1LjczODZDMy4yMTE1NyAxNS45MjU5IDIuODI4ODMgMTUuNjQ3NCAyLjkxMDk2IDE1LjI5NDNMNC4wOTUzIDEwLjIwMDVMMC4xNDIzMTkgNi43NzU2Qy0wLjEzMiA2LjUzODI0IDAuMDE0MTkzNyA2LjA4NzM0IDAuMzc2MzkzIDYuMDU2MTNMNS41ODY4IDUuNjA4NTJMNy42MjIwMiAwLjc5MjMzN0M3Ljc2MzI4IDAuNDU3MjQyIDguMjM3MTggMC40NTcyNDIgOC4zNzg0NSAwLjc5MjMzN1oiLz4KPC9zdmc+

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjkiIHZpZXdCb3g9IjAgMCAyOCAyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIxLjY1MiAxNi42NDgyQzIwLjM2MzggMTYuNjQ4MiAxOS4xNTggMTYuMTAyMyAxOC4wNjEgMTUuMjEzM0wxOC4zMjggMTMuOTU5MkwxOC4zMzk4IDEzLjkxMzRDMTguNTc4MSAxMi41NzggMTkuMzMyMiAxMC4zMzU1IDIxLjY1MiAxMC4zMzU1QzIzLjM5MTggMTAuMzM1NSAyNC44MDcgMTEuNzUzMyAyNC44MDcgMTMuNDk0NEMyNC44MDE4IDE1LjIzMDQgMjMuMzg2NiAxNi42NDgyIDIxLjY1MiAxNi42NDgyWk0yMS42NTIgNy4xMzQ2MkMxOC42ODgxIDcuMTM0NjIgMTYuMzkwNSA5LjA2Mjk5IDE1LjQ1NzEgMTIuMjMzN0MxNC4wMzAxIDEwLjA5MDcgMTIuOTUxNCA3LjUxODIgMTIuMzE5MSA1LjM1MTU2SDkuMTNWMTMuNjYyQzkuMTMgMTUuMjk5NyA3Ljc5NTk5IDE2LjYzNTEgNi4xNTk1NiAxNi42MzUxQzQuNTIzMTMgMTYuNjM1MSAzLjE5MDQyIDE1LjI5OTcgMy4xOTA0MiAxMy42NjJWNS4zNTE1NkgzLjc0ODE4ZS0wNVYxMy42NjJDLTAuMDExNzQ0OCAxNy4wNjU4IDIuNzU1NzggMTkuODU5NSA2LjE1NDMyIDE5Ljg1OTVDOS41NTI4NiAxOS44NTk1IDEyLjMyMDQgMTcuMDY1OCAxMi4zMjA0IDEzLjY2MlYxMi4yNjc4QzEyLjk0MDkgMTMuNTYyNSAxMy43MDAyIDE0Ljg2OSAxNC42MjMyIDE2LjAzMTZMMTIuNjY4NiAyNS4yMzA5SDE1LjkzNDlMMTcuMzUwMSAxOC41NTgyQzE4LjU5MTIgMTkuMzU0MiAyMC4wMTgyIDE5Ljg1MyAyMS42NTQ2IDE5Ljg1M0MyNS4xNTI2IDE5Ljg1MyAyOCAxNi45ODMzIDI4IDEzLjQ4MTNDMjcuOTk3NCA5Ljk4NTkzIDI1LjE1IDcuMTM0NjIgMjEuNjUyIDcuMTM0NjJaIiBmaWxsPSIjNkZEQTQ0Ii8+Cjwvc3ZnPgo=

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI3IiB2aWV3Qm94PSIwIDAgOCA3IiBvcGFjaXR5PSIwLjQiIGZpbGw9IiMxRTI1MzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+Cgk8cGF0aCBkPSJNNS4wMzI5NSA2LjAzMTY1QzQuNDY0MiA2LjYwNjMgMy41MzU4IDYuNjA2MyAyLjk2NzA1IDYuMDMxNjVMMC40MjMzMDEgMy40NjE1NEMtMC40ODQ5ODQgMi41NDM4NSAwLjE2NTA3IDAuOTg1ODQgMS40NTYyNSAwLjk4NTg0TDYuNTQzNzUgMC45ODU4NEM3LjgzNDkzIDAuOTg1ODQgOC40ODQ5OSAyLjU0Mzg1IDcuNTc2NyAzLjQ2MTU0TDUuMDMyOTUgNi4wMzE2NVoiLz4KPC9zdmc+

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcikiIGQ9Ik0xMC4zMjkxIDAuNUg1LjA3OTFDMi42NjMyMyAwLjUgMC43MDQxMDIgMi40NTkxMyAwLjcwNDEwMiA0Ljg3NVYxMC4xMjVDMC43MDQxMDIgMTIuNTQwOSAyLjY2MzIzIDE0LjUgNS4wNzkxIDE0LjVIMTAuMzI5MUMxMi43NDUgMTQuNSAxNC43MDQxIDEyLjU0MDkgMTQuNzA0MSAxMC4xMjVWNC44NzVDMTQuNzA0MSAyLjQ1OTEzIDEyLjc0NSAwLjUgMTAuMzI5MSAwLjVaTTEzLjM5MTYgMTAuMTI1QzEzLjM5MTYgMTEuODEzOCAxMi4wMTc5IDEzLjE4NzUgMTAuMzI5MSAxMy4xODc1SDUuMDc5MUMzLjM5MDM1IDEzLjE4NzUgMi4wMTY2IDExLjgxMzggMi4wMTY2IDEwLjEyNVY0Ljg3NUMyLjAxNjYgMy4xODYyNSAzLjM5MDM1IDEuODEyNSA1LjA3OTEgMS44MTI1SDEwLjMyOTFDMTIuMDE3OSAxLjgxMjUgMTMuMzkxNiAzLjE4NjI1IDEzLjM5MTYgNC44NzVWMTAuMTI1WiIvPgoJPHBhdGggZmlsbD0idXJsKCNwYWludDFfbGluZWFyKSIgZD0iTTcuNzA0MSA0QzUuNzcxMjMgNCA0LjIwNDEgNS41NjcxMiA0LjIwNDEgNy41QzQuMjA0MSA5LjQzMjg3IDUuNzcxMjMgMTEgNy43MDQxIDExQzkuNjM2OTggMTEgMTEuMjA0MSA5LjQzMjg3IDExLjIwNDEgNy41QzExLjIwNDEgNS41NjcxMiA5LjYzNjk4IDQgNy43MDQxIDRaTTcuNzA0MSA5LjY4NzVDNi40OTgzNSA5LjY4NzUgNS41MTY2IDguNzA1NzUgNS41MTY2IDcuNUM1LjUxNjYgNi4yOTMzOCA2LjQ5ODM1IDUuMzEyNSA3LjcwNDEgNS4zMTI1QzguOTA5ODUgNS4zMTI1IDkuODkxNiA2LjI5MzM4IDkuODkxNiA3LjVDOS44OTE2IDguNzA1NzUgOC45MDk4NSA5LjY4NzUgNy43MDQxIDkuNjg3NVoiLz4KCTxwYXRoIGZpbGw9InVybCgjcGFpbnQyX2xpbmVhcikiIGQ9Ik0xMS40NjY3IDQuMjAzNTdDMTEuNzI0MiA0LjIwMzU3IDExLjkzMyAzLjk5NDc3IDExLjkzMyAzLjczNzJDMTEuOTMzIDMuNDc5NjMgMTEuNzI0MiAzLjI3MDgzIDExLjQ2NjcgMy4yNzA4M0MxMS4yMDkxIDMuMjcwODMgMTEuMDAwMyAzLjQ3OTYzIDExLjAwMDMgMy43MzcyQzExLjAwMDMgMy45OTQ3NyAxMS4yMDkxIDQuMjAzNTcgMTEuNDY2NyA0LjIwMzU3WiIvPgoJPGRlZnM+CgkJPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyIiB4MT0iMS42NDQwOSIgeTE9IjEzLjU4NzkiIHgyPSIxNC42MTYiIHkyPSIyLjM1ODYyIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CgkJCTxzdG9wIHN0b3AtY29sb3I9IiNGRkRENTUiLz4KCQkJPHN0b3Agb2Zmc2V0PSIwLjUiIHN0b3AtY29sb3I9IiNGRjU0M0UiLz4KCQkJPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQzgzN0FCIi8+CgkJPC9saW5lYXJHcmFkaWVudD4KCQk8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MV9saW5lYXIiIHgxPSIxLjY0NDA5IiB5MT0iMTMuNTg3OSIgeDI9IjE0LjYxNiIgeTI9IjIuMzU4NjIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KCQkJPHN0b3Agc3RvcC1jb2xvcj0iI0ZGREQ1NSIvPgoJCQk8c3RvcCBvZmZzZXQ9IjAuNSIgc3RvcC1jb2xvcj0iI0ZGNTQzRSIvPgoJCQk8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNDODM3QUIiLz4KCQk8L2xpbmVhckdyYWRpZW50PgoJCTxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQyX2xpbmVhciIgeDE9IjEuNjQ0MDkiIHkxPSIxMy41ODc5IiB4Mj0iMTQuNjE2IiB5Mj0iMi4zNTg2MiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgoJCQk8c3RvcCBzdG9wLWNvbG9yPSIjRkZERDU1Ii8+CgkJCTxzdG9wIG9mZnNldD0iMC41IiBzdG9wLWNvbG9yPSIjRkY1NDNFIi8+CgkJCTxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0M4MzdBQiIvPgoJCTwvbGluZWFyR3JhZGllbnQ+Cgk8L2RlZnM+Cjwvc3ZnPg==

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0iIzlFQTJBQSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuNSwtLjIpIj4KCQk8cGF0aCBkPSJNMTkuNDI4NiAxOS45NjgyQzE4IDIxLjExMSAxNiAyMS45NjgyIDE0IDIxLjk2ODJDOS40Mjg1OCAyMS45NjgyIDYuMjg1NzEgMTguNTM5NiA2LjI4NTcxIDEzLjk2ODJDNi4yODU3MSA5LjM5Njc2IDkuNDI4NTggNi4yNTM5IDE0IDYuMjUzOUMxNiA2LjI1MzkgMTggNi44MjUzMyAxOS40Mjg2IDguMjUzOUwyMC4yODU3IDkuMTExMDVMMjQuODU3MSA0LjgyNTMzTDIzLjcxNDMgMy45NjgxOUMyMS4xNDI5IDEuNjgyNDcgMTcuNzE0MyAwLjI1MzkwNiAxNCAwLjI1MzkwNkM2LjAwMDAxIDAuMjUzOTA2IDAgNi4yNTM5IDAgMTQuMjUzOUMwIDIyLjI1MzkgNi4wMDAwMSAyOC4yNTM5IDE0IDI4LjI1MzlDMTcuNzE0MyAyOC4yNTM5IDIxLjE0MjkgMjYuODI1MyAyMy43MTQzIDI0LjUzOTZMMjQuODU3MSAyMy42ODI1TDIwLjI4NTcgMTkuMTExTDE5LjQyODYgMTkuOTY4MloiLz4KCQk8cGF0aCBkPSJNMTMuNzE0IDE4LjgyNDVDMTYuMjM4NyAxOC44MjQ1IDE4LjI4NTQgMTYuNzc3OCAxOC4yODU0IDE0LjI1MzFDMTguMjg1NCAxMS43MjgzIDE2LjIzODcgOS42ODE2NCAxMy43MTQgOS42ODE2NEMxMS4xODkzIDkuNjgxNjQgOS4xNDI1OCAxMS43MjgzIDkuMTQyNTggMTQuMjUzMUM5LjE0MjU4IDE2Ljc3NzggMTEuMTg5MyAxOC44MjQ1IDEzLjcxNCAxOC44MjQ1WiIvPgoJPC9nPgo8L3N2Zz4=

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0iIzlFQTJBQSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Ik0xNC4wMDE2IDAuNjI1MDAxQzYuMjY1NjcgMC42MjE4NzMgMCA2Ljg4NDQxIDAgMTQuNjE0MUMwIDIwLjcyNjQgMy45MTk1NiAyNS45MjIzIDkuMzc4MTcgMjcuODMwNUMxMC4xMTMzIDI4LjAxNSAxMC4wMDA3IDI3LjQ5MjYgMTAuMDAwNyAyNy4xMzZWMjQuNzExN0M1Ljc1NTc4IDI1LjIwOTEgNS41ODM3MyAyMi40IDUuMjk5MDcgMjEuOTMwOEM0LjcyMzQ5IDIwLjk0ODUgMy4zNjI3NSAyMC42OTgzIDMuNzY5NDEgMjAuMjI5MUM0LjczNjAxIDE5LjczMTcgNS43MjEzNyAyMC4zNTQyIDYuODYzMTQgMjIuMDQwM0M3LjY4ODk3IDIzLjI2MzQgOS4yOTk5NyAyMy4wNTY5IDEwLjExNjQgMjIuODUzNkMxMC4yOTQ3IDIyLjExODUgMTAuNjc2MyAyMS40NjE2IDExLjIwMTkgMjAuOTUxN0M2LjgwMzcxIDIwLjE2MzQgNC45NzA2MiAxNy40Nzk0IDQuOTcwNjIgMTQuMjg4N0M0Ljk3MDYyIDEyLjc0MDMgNS40ODA1MSAxMS4zMTcgNi40ODE1MSAxMC4xNjlDNS44NDMzNyA4LjI3NjQ0IDYuNTQwOTUgNi42NTYwNiA2LjYzNDc5IDYuNDE1MTlDOC40NTIyNCA2LjI1MjUzIDEwLjM0MTYgNy43MTY1IDEwLjQ4ODcgNy44MzIyNEMxMS41MjA5IDcuNTUzODQgMTIuNzAwMyA3LjQwNjgxIDE0LjAyMDMgNy40MDY4MUMxNS4zNDY3IDcuNDA2ODEgMTYuNTI5MSA3LjU2MDA5IDE3LjU3MDggNy44NDE2MkMxNy45MjQzIDcuNTcyNiAxOS42NzYgNi4zMTUwOSAyMS4zNjUyIDYuNDY4MzdDMjEuNDU1OSA2LjcwOTI0IDIyLjEzNzkgOC4yOTIwOCAyMS41MzczIDEwLjE1OTZDMjIuNTUwOCAxMS4zMTA3IDIzLjA2NjkgMTIuNzQ2NiAyMy4wNjY5IDE0LjI5ODFDMjMuMDY2OSAxNy40OTUxIDIxLjIyMTMgMjAuMTgyMSAxNi44MTA2IDIwLjk1NzlDMTcuMTg4NCAyMS4zMjk1IDE3LjQ4ODQgMjEuNzcyNSAxNy42OTMgMjIuMjYxM0MxNy44OTc3IDIyLjc1IDE4LjAwMjggMjMuMjc0NyAxOC4wMDI1IDIzLjgwNDVWMjcuMzIzN0MxOC4wMjc1IDI3LjYwNTIgMTguMDAyNSAyNy44ODM2IDE4LjQ3MTcgMjcuODgzNkMyNC4wMTE2IDI2LjAxNjEgMjggMjAuNzgyNyAyOCAxNC42MTcyQzI4IDYuODg0NDEgMjEuNzMxMiAwLjYyNTAwMSAxNC4wMDE2IDAuNjI1MDAxWiIvPgo8L3N2Zz4=

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0iIzlFQTJBQSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLS4yKSI+CgkJPHBhdGggZD0iTTI3Ljk5MzUgMjguMjUzNVYyOC4yNTIzSDI4LjAwMDVWMTcuOTgzM0MyOC4wMDA1IDEyLjk1OTcgMjYuOTE5IDkuMDg5ODQgMjEuMDQ2IDkuMDg5ODRDMTguMjIyNiA5LjA4OTg0IDE2LjMyOCAxMC42MzkyIDE1LjU1NDUgMTIuMTA4SDE1LjQ3MjhWOS41NTg4NEg5LjkwNDNWMjguMjUyM0gxNS43MDI2VjE4Ljk5NkMxNS43MDI2IDE2LjU1ODggMTYuMTY0NiAxNC4yMDIyIDE5LjE4MjggMTQuMjAyMkMyMi4xNTY3IDE0LjIwMjIgMjIuMjAxIDE2Ljk4MzUgMjIuMjAxIDE5LjE1MjNWMjguMjUzNUgyNy45OTM1WiIvPgoJCTxwYXRoIGQ9Ik0wLjQ2MTkxNCA5LjU2MDU1SDYuMjY3MjVWMjguMjU0SDAuNDYxOTE0VjkuNTYwNTVaIi8+CgkJPHBhdGggZD0iTTMuMzYyMzMgMC4yNTM5MDZDMS41MDYxNyAwLjI1MzkwNiAwIDEuNzYwMDcgMCAzLjYxNjI0QzAgNS40NzI0MSAxLjUwNjE3IDcuMDEwMDcgMy4zNjIzMyA3LjAxMDA3QzUuMjE4NSA3LjAxMDA3IDYuNzI0NjcgNS40NzI0MSA2LjcyNDY3IDMuNjE2MjRDNi43MjM1IDEuNzYwMDcgNS4yMTczMyAwLjI1MzkwNiAzLjM2MjMzIDAuMjUzOTA2VjAuMjUzOTA2WiIvPgoJPC9nPgo8L3N2Zz4K

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0iIzlFQTJBQSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Ik04LjI4OTA1IDEyLjkwNDRMNy45NTgyMiAxNy41NTc4QzguNDMxNTYgMTcuNTU3OCA4LjYzNjU1IDE3LjM1NDQgOC44ODIzOSAxNy4xMTAzTDExLjEwMTYgMTQuOTg5NEwxNS42OTk5IDE4LjM1NjlDMTYuNTQzMiAxOC44MjY5IDE3LjEzNzQgMTguNTc5NCAxNy4zNjQ5IDE3LjU4MTFMMjAuMzgzMiAzLjQzNzc2TDIwLjM4NDEgMy40MzY5M0MyMC42NTE2IDIuMTkwMjYgMTkuOTMzMiAxLjcwMjc2IDE5LjExMTYgMi4wMDg1OUwxLjM2OTg5IDguODAxMDlDMC4xNTkwNTQgOS4yNzEwOSAwLjE3NzM4OCA5Ljk0NjA5IDEuMTY0MDUgMTAuMjUxOUw1LjY5OTg5IDExLjY2MjhMMTYuMjM1NyA1LjA3MDI2QzE2LjczMTYgNC43NDE5MyAxNy4xODI0IDQuOTIzNTkgMTYuODExNiA1LjI1MTkzTDguMjg5MDUgMTIuOTA0NFoiLz4KPC9zdmc+

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0iIzlFQTJBQSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0uNywwKSIgZD0iTTIyLjUwOTQgMTYuNzMyMkMyMS4yMjEyIDE2LjczMjIgMjAuMDE1NSAxNi4xODYyIDE4LjkxODQgMTUuMjk3M0wxOS4xODU1IDE0LjA0MzJMMTkuMTk3MyAxMy45OTc0QzE5LjQzNTUgMTIuNjYyIDIwLjE4OTYgMTAuNDE5NSAyMi41MDk0IDEwLjQxOTVDMjQuMjQ5MiAxMC40MTk1IDI1LjY2NDQgMTEuODM3MyAyNS42NjQ0IDEzLjU3ODRDMjUuNjU5MiAxNS4zMTQ0IDI0LjI0NCAxNi43MzIyIDIyLjUwOTQgMTYuNzMyMlpNMjIuNTA5NCA3LjIxODZDMTkuNTQ1NSA3LjIxODYgMTcuMjQ3OSA5LjE0Njk3IDE2LjMxNDUgMTIuMzE3N0MxNC44ODc2IDEwLjE3NDYgMTMuODA4OCA3LjYwMjE4IDEzLjE3NjUgNS40MzU1NUg5Ljk4NzQzVjEzLjc0NkM5Ljk4NzQzIDE1LjM4MzcgOC42NTM0MSAxNi43MTkxIDcuMDE2OTggMTYuNzE5MUM1LjM4MDU1IDE2LjcxOTEgNC4wNDc4NCAxNS4zODM3IDQuMDQ3ODQgMTMuNzQ2VjUuNDM1NTVIMC44NTc0NTlWMTMuNzQ2QzAuODQ1Njc3IDE3LjE0OTggMy42MTMyMSAxOS45NDM1IDcuMDExNzQgMTkuOTQzNUMxMC40MTAzIDE5Ljk0MzUgMTMuMTc3OCAxNy4xNDk4IDEzLjE3NzggMTMuNzQ2VjEyLjM1MThDMTMuNzk4MyAxMy42NDY1IDE0LjU1NzYgMTQuOTUzIDE1LjQ4MDYgMTYuMTE1NUwxMy41MjYgMjUuMzE0OUgxNi43OTI0TDE4LjIwNzUgMTguNjQyMkMxOS40NDg2IDE5LjQzODIgMjAuODc1NiAxOS45MzY5IDIyLjUxMiAxOS45MzY5QzI2LjAxIDE5LjkzNjkgMjguODU3NCAxNy4wNjczIDI4Ljg1NzQgMTMuNTY1M0MyOC44NTQ4IDEwLjA2OTkgMjYuMDA3NCA3LjIxODYgMjIuNTA5NCA3LjIxODZaIi8+Cjwvc3ZnPg==

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0iIzlFQTJBQSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Ik0xMC40NDM5IDAuMjUzOTA2SDEwLjQzODlDNC45MjUxNiAwLjI1MzkwNiAwLjQ0MTQwNiA0LjczODkxIDAuNDQxNDA2IDEwLjI1MzlDMC40NDE0MDYgMTIuNDQxNCAxLjE0NjQxIDE0LjQ2ODkgMi4zNDUxNiAxNi4xMTUyTDEuMDk4OTEgMTkuODMwMkw0Ljk0MjY2IDE4LjYwMTRDNi41MjM5MSAxOS42NDg5IDguNDEwMTYgMjAuMjUzOSAxMC40NDM5IDIwLjI1MzlDMTUuOTU3NyAyMC4yNTM5IDIwLjQ0MTQgMTUuNzY3NyAyMC40NDE0IDEwLjI1MzlDMjAuNDQxNCA0Ljc0MDE2IDE1Ljk1NzcgMC4yNTM5MDYgMTAuNDQzOSAwLjI1MzkwNlpNMTYuMjYyNyAxNC4zNzUyQzE2LjAyMTQgMTUuMDU2NCAxNS4wNjM5IDE1LjYyMTQgMTQuMzAwMiAxNS43ODY0QzEzLjc3NzcgMTUuODk3NyAxMy4wOTUyIDE1Ljk4NjQgMTAuNzk3NyAxNS4wMzM5QzcuODU4OTEgMTMuODE2NCA1Ljk2NjQxIDEwLjgzMDIgNS44MTg5MSAxMC42MzY0QzUuNjc3NjYgMTAuNDQyNyA0LjYzMTQxIDkuMDU1MTYgNC42MzE0MSA3LjYyMDE2QzQuNjMxNDEgNi4xODUxNiA1LjM2MDE2IDUuNDg2NDEgNS42NTM5MSA1LjE4NjQxQzUuODk1MTYgNC45NDAxNiA2LjI5MzkxIDQuODI3NjYgNi42NzY0MSA0LjgyNzY2QzYuODAwMTYgNC44Mjc2NiA2LjkxMTQxIDQuODMzOTEgNy4wMTE0MSA0LjgzODkxQzcuMzA1MTYgNC44NTE0MSA3LjQ1MjY2IDQuODY4OTEgNy42NDY0MSA1LjMzMjY2QzcuODg3NjYgNS45MTM5MSA4LjQ3NTE2IDcuMzQ4OTEgOC41NDUxNiA3LjQ5NjQxQzguNjE2NDEgNy42NDM5MSA4LjY4NzY2IDcuODQzOTEgOC41ODc2NiA4LjAzNzY2QzguNDkzOTEgOC4yMzc2NiA4LjQxMTQxIDguMzI2NDEgOC4yNjM5MSA4LjQ5NjQxQzguMTE2NDEgOC42NjY0MSA3Ljk3NjQxIDguNzk2NDEgNy44Mjg5MSA4Ljk3ODkxQzcuNjkzOTEgOS4xMzc2NiA3LjU0MTQxIDkuMzA3NjYgNy43MTE0MSA5LjYwMTQxQzcuODgxNDEgOS44ODg5MSA4LjQ2ODkxIDEwLjg0NzcgOS4zMzM5MSAxMS42MTc3QzEwLjQ1MDIgMTIuNjExNCAxMS4zNTUyIDEyLjkyODkgMTEuNjc4OSAxMy4wNjM5QzExLjkyMDIgMTMuMTYzOSAxMi4yMDc3IDEzLjE0MDIgMTIuMzgzOSAxMi45NTI3QzEyLjYwNzcgMTIuNzExNCAxMi44ODM5IDEyLjMxMTQgMTMuMTY1MiAxMS45MTc3QzEzLjM2NTIgMTEuNjM1MiAxMy42MTc3IDExLjYwMDIgMTMuODgyNyAxMS43MDAyQzE0LjE1MjcgMTEuNzkzOSAxNS41ODE0IDEyLjUwMDIgMTUuODc1MiAxMi42NDY0QzE2LjE2ODkgMTIuNzkzOSAxNi4zNjI3IDEyLjg2MzkgMTYuNDMzOSAxMi45ODc3QzE2LjUwMzkgMTMuMTExNCAxNi41MDM5IDEzLjY5MjcgMTYuMjYyNyAxNC4zNzUyWiIvPgo8L3N2Zz4=

View File

@@ -0,0 +1 @@
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPgo8c3ZnIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCIgdmlld0JveD0iMCAwIDMyIDMyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjx0aXRsZT5maWxlX3R5cGVfdHlwZXNjcmlwdDwvdGl0bGU+PHBhdGggZD0iTTIzLjgyNyw4LjI0M0E0LjQyNCw0LjQyNCwwLDAsMSwyNi4wNSw5LjUyNGE1Ljg1Myw1Ljg1MywwLDAsMSwuODUyLDEuMTQzYy4wMTEuMDQ1LTEuNTM0LDEuMDgzLTIuNDcxLDEuNjYyLS4wMzQuMDIzLS4xNjktLjEyNC0uMzIyLS4zNWEyLjAxNCwyLjAxNCwwLDAsMC0xLjY3LTFjLTEuMDc3LS4wNzQtMS43NzEuNDktMS43NjYsMS40MzNhMS4zLDEuMywwLDAsMCwuMTUzLjY2NmMuMjM3LjQ5LjY3Ny43ODQsMi4wNTksMS4zODMsMi41NDQsMS4wOTUsMy42MzYsMS44MTcsNC4zMSwyLjg0M2E1LjE1OCw1LjE1OCwwLDAsMSwuNDE2LDQuMzMzLDQuNzY0LDQuNzY0LDAsMCwxLTMuOTMyLDIuODE1LDEwLjksMTAuOSwwLDAsMS0yLjcwOC0uMDI4LDYuNTMxLDYuNTMxLDAsMCwxLTMuNjE2LTEuODg0LDYuMjc4LDYuMjc4LDAsMCwxLS45MjYtMS4zNzEsMi42NTUsMi42NTUsMCwwLDEsLjMyNy0uMjA4Yy4xNTgtLjA5Ljc1Ni0uNDM0LDEuMzItLjc2MUwxOS4xLDE5LjZsLjIxNC4zMTJhNC43NzEsNC43NzEsMCwwLDAsMS4zNSwxLjI5MiwzLjMsMy4zLDAsMCwwLDMuNDU4LS4xNzUsMS41NDUsMS41NDUsMCwwLDAsLjItMS45NzRjLS4yNzYtLjM5NS0uODQtLjcyNy0yLjQ0My0xLjQyMmE4LjgsOC44LDAsMCwxLTMuMzQ5LTIuMDU1LDQuNjg3LDQuNjg3LDAsMCwxLS45NzYtMS43NzcsNy4xMTYsNy4xMTYsMCwwLDEtLjA2Mi0yLjI2OCw0LjMzMiw0LjMzMiwwLDAsMSwzLjY0NC0zLjM3NEE5LDksMCwwLDEsMjMuODI3LDguMjQzWk0xNS40ODQsOS43MjZsLjAxMSwxLjQ1NGgtNC42M1YyNC4zMjhINy42VjExLjE4M0gyLjk3VjkuNzU1QTEzLjk4NiwxMy45ODYsMCwwLDEsMy4wMSw4LjI4OWMuMDE3LS4wMjMsMi44MzItLjAzNCw2LjI0NS0uMDI4bDYuMjExLjAxN1oiIHN0eWxlPSJmaWxsOiMwMDdhY2MiLz48L3N2Zz4=

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
PHN2ZyB3aWR0aD0iMjciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNyAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGQ9Ik0yMS42ODgyIDAuNzc4MzJIMjYuODg3N0wxMy44ODg5IDIzLjIwMTJMMC44OTAxMzcgMC43NzgzMkgxMC44MzQyTDEzLjg4ODkgNS45Nzc4M0wxNi44Nzg2IDAuNzc4MzJIMjEuNjg4MloiIGZpbGw9IiMzZWIyN2YiLz4KPHBhdGggZD0iTTAuODkwMTM3IDAuNzc4MzJMMTMuODg4OSAyMy4yMDEyTDI2Ljg4NzcgMC43NzgzMkgyMS42ODgyTDEzLjg4ODkgMTQuMjMyMUw2LjAyNDY1IDAuNzc4MzJIMC44OTAxMzdaIiBmaWxsPSIjM2ViMjdmIi8+CjxwYXRoIGQ9Ik02LjAyNDQxIDAuNzc4MzJMMTMuODg4NyAxNC4yOTdMMjEuNjg4IDAuNzc4MzJIMTYuODc4NUwxMy44ODg3IDUuOTc3ODNMMTAuODM0IDAuNzc4MzJINi4wMjQ0MVoiIGZpbGw9IiMzMjQ3NWIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMCI+CjxyZWN0IHdpZHRoPSIyNiIgaGVpZ2h0PSIyMi40NDMyIiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC44OTAxMzcgMC43NzgzMikiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K

View File

@@ -0,0 +1 @@
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIGZpbGw9IiMwMDAwMDAiIHZlcnNpb249IjEuMSIgaWQ9IkNhcGFfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgDQoJIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCIgdmlld0JveD0iMCAwIDk2LjI0IDk2LjI0IiB4bWw6c3BhY2U9InByZXNlcnZlIg0KCT4NCjxnPg0KCTxwYXRoIGQ9Ik00OC4xMjIsMEMyMS41ODcsMCwwLjAwMSwyMS41ODUsMC4wMDEsNDguMTE4YzAsMjYuNTM1LDIxLjU4Nyw0OC4xMjIsNDguMTIsNDguMTIyYzI2LjUzMiwwLDQ4LjExNy0yMS41ODcsNDguMTE3LTQ4LjEyMg0KCQlDOTYuMjM5LDIxLjU4Niw3NC42NTQsMCw0OC4xMjIsMHogTTQuODU3LDQ4LjExOGMwLTYuMjcxLDEuMzQ1LTEyLjIyNywzLjc0Ni0xNy42MDZsMjAuNjM4LDU2LjU0NA0KCQlDMTQuODEsODAuMDQyLDQuODU3LDY1LjI0Myw0Ljg1Nyw0OC4xMTh6IE00OC4xMjIsOTEuMzg1Yy00LjI0NywwLTguMzQ2LTAuNjIzLTEyLjIyMi0xLjc2M0w0OC44OCw1MS45MDNsMTMuMzAxLDM2LjQzMw0KCQljMC4wODYsMC4yMTUsMC4xOTEsMC40MTEsMC4zMDgsMC41OTZDNTcuOTkyLDkwLjUxNCw1My4xNiw5MS4zODUsNDguMTIyLDkxLjM4NXogTTU0LjA4MywyNy44MzQNCgkJYzIuNjA0LTAuMTM3LDQuOTUzLTAuNDEyLDQuOTUzLTAuNDEyYzIuMzMtMC4yNzYsMi4wNTctMy43MDEtMC4yNzctMy41NjRjMCwwLTcuMDA3LDAuNTQ5LTExLjUzMiwwLjU0OQ0KCQljLTQuMjUsMC0xMS4zOTYtMC41NDktMTEuMzk2LTAuNTQ5Yy0yLjMzMi0wLjEzNy0yLjYwNCwzLjQyNy0wLjI3MywzLjU2NGMwLDAsMi4yMDgsMC4yNzUsNC41MzcsMC40MTJsNi43NCwxOC40NjlsLTkuNDY4LDI4LjM5NQ0KCQlMMjEuNjE1LDI3LjgzNWMyLjYwOC0wLjEzNiw0Ljk1Mi0wLjQxMiw0Ljk1Mi0wLjQxMmMyLjMzLTAuMjc1LDIuMDU1LTMuNzAyLTAuMjc4LTMuNTYyYzAsMC03LjAwNCwwLjU0OS0xMS41MywwLjU0OQ0KCQljLTAuODEzLDAtMS43Ny0wLjAyMS0yLjc4NC0wLjA1MkMxOS43MDksMTIuNjExLDMzLjAwOCw0Ljg1Niw0OC4xMjIsNC44NTZjMTEuMjY1LDAsMjEuNTE5LDQuMzA2LDI5LjIxNSwxMS4zNTcNCgkJYy0wLjE4Ny0wLjAxLTAuMzY4LTAuMDM1LTAuNTYyLTAuMDM1Yy00LjI0OCwwLTcuMjY0LDMuNzAyLTcuMjY0LDcuNjc5YzAsMy41NjQsMi4wNTUsNi41ODIsNC4yNDgsMTAuMTQ2DQoJCWMxLjY0NywyLjg4MiwzLjU2Nyw2LjU4NSwzLjU2NywxMS45MzJjMCwzLjcwNC0xLjQyMiw4LTMuMjkzLDEzLjk4NmwtNC4zMTUsMTQuNDIxTDU0LjA4MywyNy44MzR6IE02OS44NzEsODUuNTE2bDEzLjIxNS0zOC4yMDgNCgkJYzIuNDcxLTYuMTcxLDMuMjktMTEuMTA2LDMuMjktMTUuNDk3YzAtMS41OTEtMC4xMDQtMy4wNy0wLjI5Mi00LjQ0OWMzLjM4LDYuMTYzLDUuMzAzLDEzLjIzNiw1LjMwMSwyMC43NTgNCgkJQzkxLjM4NCw2NC4wOCw4Mi43MzIsNzguMDE2LDY5Ljg3MSw4NS41MTZ6Ii8+DQo8L2c+DQo8L3N2Zz4=

File diff suppressed because one or more lines are too long

1232
public/index.html Normal file

File diff suppressed because it is too large Load Diff

45
src/App.js Normal file
View File

@@ -0,0 +1,45 @@
import React, { useState } from 'react';
import Header from './components/Header';
import Hero from './components/Hero';
import Stats from './components/Stats';
import Services from './components/Services';
import CaseStudies from './components/CaseStudies';
import Testimonials from './components/Testimonials';
import Team from './components/Team';
import Contact from './components/Contact';
import Footer from './components/Footer';
import CookieConsent from './components/CookieConsent';
import MobileMenu from './components/MobileMenu';
function App() {
const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
const [showCookieConsent, setShowCookieConsent] = useState(true);
return (
<div className="App">
<Header
isMobileMenuOpen={isMobileMenuOpen}
setIsMobileMenuOpen={setIsMobileMenuOpen}
/>
<MobileMenu
isOpen={isMobileMenuOpen}
setIsOpen={setIsMobileMenuOpen}
/>
<main>
<Hero />
<Stats />
<Services />
<CaseStudies />
<Testimonials />
<Team />
<Contact />
</main>
<Footer />
{showCookieConsent && (
<CookieConsent onClose={() => setShowCookieConsent(false)} />
)}
</div>
);
}
export default App;

View File

@@ -0,0 +1,120 @@
import React from 'react';
import { motion, useReducedMotion } from 'framer-motion';
const fadeUpPreset = (delay = 0, duration = 1.2) => ({
initial: { opacity: 0, y: 20 },
whileInView: { opacity: 1, y: 0 },
viewport: { once: true, amount: 0.2 },
transition: { delay, duration, ease: "easeOut" }
});
const CaseStudies = () => {
const shouldReduceMotion = useReducedMotion();
if (shouldReduceMotion) {
return (
<section className="py-20 bg-white">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center mb-16">
<h2 className="text-3xl lg:text-4xl font-bold text-gray-900 mb-4">
Case Studies
</h2>
</div>
<div className="case-study-card max-w-4xl mx-auto">
<div className="grid lg:grid-cols-2 gap-8 items-center">
<div>
<h3 className="text-2xl font-bold mb-4">Dios</h3>
<p className="text-blue-100 mb-6">
A comprehensive platform for managing digital assets and workflows with advanced AI integration.
</p>
<div className="flex flex-wrap gap-2 mb-6">
<span className="bg-white/20 text-white px-3 py-1 rounded-full text-sm">React</span>
<span className="bg-white/20 text-white px-3 py-1 rounded-full text-sm">Node.js</span>
<span className="bg-white/20 text-white px-3 py-1 rounded-full text-sm">AI/ML</span>
<span className="bg-white/20 text-white px-3 py-1 rounded-full text-sm">Cloud</span>
</div>
<div className="flex items-center space-x-6">
<div>
<div className="text-2xl font-bold">$2,500</div>
<div className="text-blue-100 text-sm">Project Value</div>
</div>
<div>
<div className="text-2xl font-bold">12w</div>
<div className="text-blue-100 text-sm">Timeline</div>
</div>
</div>
</div>
<div className="bg-white/10 rounded-lg p-6 h-64 flex items-center justify-center">
<div className="text-center">
<div className="w-16 h-16 bg-white rounded-lg mx-auto mb-4 flex items-center justify-center">
<span className="text-blue-500 text-2xl font-bold">D</span>
</div>
<p className="text-white font-medium">Dios Platform</p>
</div>
</div>
</div>
</div>
</div>
</section>
);
}
return (
<motion.section
{...fadeUpPreset(0.1, 1.0)}
className="py-20 bg-white"
>
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<motion.div
{...fadeUpPreset(0.2, 0.8)}
className="text-center mb-16"
>
<h2 className="text-3xl lg:text-4xl font-bold text-gray-900 mb-4">
Case Studies
</h2>
</motion.div>
<motion.div
{...fadeUpPreset(0.3, 0.8)}
className="case-study-card max-w-4xl mx-auto"
>
<div className="grid lg:grid-cols-2 gap-8 items-center">
<div>
<h3 className="text-2xl font-bold mb-4">Dios</h3>
<p className="text-blue-100 mb-6">
A comprehensive platform for managing digital assets and workflows with advanced AI integration.
</p>
<div className="flex flex-wrap gap-2 mb-6">
<span className="bg-white/20 text-white px-3 py-1 rounded-full text-sm">React</span>
<span className="bg-white/20 text-white px-3 py-1 rounded-full text-sm">Node.js</span>
<span className="bg-white/20 text-white px-3 py-1 rounded-full text-sm">AI/ML</span>
<span className="bg-white/20 text-white px-3 py-1 rounded-full text-sm">Cloud</span>
</div>
<div className="flex items-center space-x-6">
<div>
<div className="text-2xl font-bold">$2,500</div>
<div className="text-blue-100 text-sm">Project Value</div>
</div>
<div>
<div className="text-2xl font-bold">12w</div>
<div className="text-blue-100 text-sm">Timeline</div>
</div>
</div>
</div>
<div className="bg-white/10 rounded-lg p-6 h-64 flex items-center justify-center">
<div className="text-center">
<div className="w-16 h-16 bg-white rounded-lg mx-auto mb-4 flex items-center justify-center">
<span className="text-blue-500 text-2xl font-bold">D</span>
</div>
<p className="text-white font-medium">Dios Platform</p>
</div>
</div>
</div>
</motion.div>
</div>
</motion.section>
);
};
export default CaseStudies;

59
src/components/Contact.js Normal file
View File

@@ -0,0 +1,59 @@
import React from 'react';
import { motion, useReducedMotion } from 'framer-motion';
const fadeUpPreset = (delay = 0, duration = 1.2) => ({
initial: { opacity: 0, y: 20 },
whileInView: { opacity: 1, y: 0 },
viewport: { once: true, amount: 0.2 },
transition: { delay, duration, ease: "easeOut" }
});
const Contact = () => {
const shouldReduceMotion = useReducedMotion();
if (shouldReduceMotion) {
return (
<section className="py-20 gradient-bg">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center">
<h2 className="text-3xl lg:text-4xl font-bold text-gray-900 mb-4">
How can we help? Let's talk
</h2>
<p className="text-gray-600 max-w-2xl mx-auto mb-8">
Ready to start your next project? Get in touch with our team.
</p>
<button className="btn-primary">
Start Conversation
</button>
</div>
</div>
</section>
);
}
return (
<motion.section
{...fadeUpPreset(0.1, 1.0)}
className="py-20 gradient-bg"
>
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<motion.div
{...fadeUpPreset(0.2, 0.8)}
className="text-center"
>
<h2 className="text-3xl lg:text-4xl font-bold text-gray-900 mb-4">
How can we help? Let's talk
</h2>
<p className="text-gray-600 max-w-2xl mx-auto mb-8">
Ready to start your next project? Get in touch with our team.
</p>
<button className="btn-primary">
Start Conversation
</button>
</motion.div>
</div>
</motion.section>
);
};
export default Contact;

View File

@@ -0,0 +1,52 @@
import React from 'react';
import { X } from 'lucide-react';
const CookieConsent = ({ onClose }) => {
const handleAccept = () => {
onClose();
};
const handleDeny = () => {
onClose();
};
return (
<div className="cookie-consent">
<button
onClick={onClose}
className="absolute top-4 right-4 text-gray-400 hover:text-gray-600"
>
<X className="w-5 h-5" />
</button>
<h3 className="text-lg font-semibold text-gray-900 mb-3">
This site uses cookies
</h3>
<p className="text-sm text-gray-600 mb-4">
We and selected third parties use cookies (or similar technologies) for technical purposes, to enhance and analyze site usage, to support our marketing efforts, and for other purposes described below.
</p>
<p className="text-sm text-gray-600 mb-6">
By clicking "Accept all", you agree to the storing of cookies on your device for these purposes.
</p>
<div className="flex space-x-3">
<button
onClick={handleDeny}
className="flex-1 px-4 py-2 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-50 font-medium"
>
Deny
</button>
<button
onClick={handleAccept}
className="flex-1 btn-secondary"
>
Accept all
</button>
</div>
</div>
);
};
export default CookieConsent;

84
src/components/Footer.js Normal file
View File

@@ -0,0 +1,84 @@
import React from 'react';
import { Github, Linkedin, Mail } from 'lucide-react';
const Footer = () => {
return (
<footer className="bg-white border-t border-gray-200">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
<div className="grid md:grid-cols-4 gap-8">
{/* Logo & Description */}
<div className="md:col-span-1">
<div className="flex items-center space-x-2 mb-4">
<div className="w-8 h-8 bg-gradient-to-br from-blue-500 to-blue-600 rounded-lg flex items-center justify-center">
<span className="text-white font-bold text-sm">S</span>
</div>
<span className="text-xl font-bold text-gray-900">Sargas</span>
</div>
<p className="text-gray-600 text-sm mb-4">
AI-powered web and mobile development solutions.
</p>
<div className="flex items-center space-x-2 text-sm text-gray-600">
<Mail className="w-4 h-4" />
<span>contact@sargas.io</span>
</div>
</div>
{/* Menu */}
<div>
<h3 className="font-semibold text-gray-900 mb-4">Menu</h3>
<ul className="space-y-2 text-sm text-gray-600">
<li><a href="#case-studies" className="hover:text-gray-900">Case Studies</a></li>
<li><a href="#blog" className="hover:text-gray-900">Blog</a></li>
<li><a href="#contacts" className="hover:text-gray-900">Contacts</a></li>
<li><a href="#about" className="hover:text-gray-900">About Us</a></li>
<li><a href="#faq" className="hover:text-gray-900">FAQ</a></li>
</ul>
</div>
{/* Services */}
<div>
<h3 className="font-semibold text-gray-900 mb-4">Services</h3>
<ul className="space-y-2 text-sm text-gray-600">
<li><a href="#web-dev" className="hover:text-gray-900">Web Development</a></li>
<li><a href="#mobile-dev" className="hover:text-gray-900">Mobile Development</a></li>
<li><a href="#support" className="hover:text-gray-900">Support and Maintenance</a></li>
</ul>
</div>
{/* Contact & Social */}
<div>
<div className="mb-6">
<p className="text-sm text-gray-600 mb-2">Feel free to drop us a note:</p>
<p className="text-sm font-medium text-gray-900">contact@sargas.io</p>
</div>
<div className="flex items-center space-x-4">
<a href="#" className="text-gray-400 hover:text-gray-600">
<Github className="w-5 h-5" />
</a>
<a href="#" className="text-gray-400 hover:text-gray-600">
<Linkedin className="w-5 h-5" />
</a>
<a href="#" className="text-gray-400 hover:text-gray-600">
<span className="w-5 h-5 bg-black rounded-full flex items-center justify-center">
<span className="text-white text-xs font-bold">C</span>
</span>
</a>
</div>
</div>
</div>
<div className="border-t border-gray-200 mt-8 pt-8 flex flex-col md:flex-row justify-between items-center">
<p className="text-sm text-gray-600">
© 2024 Sargas. All rights reserved.
</p>
<div className="flex items-center space-x-6 mt-4 md:mt-0">
<a href="#privacy" className="text-sm text-gray-600 hover:text-gray-900">Privacy Policy</a>
<a href="#terms" className="text-sm text-gray-600 hover:text-gray-900">Terms of Use</a>
</div>
</div>
</div>
</footer>
);
};
export default Footer;

70
src/components/Header.js Normal file
View File

@@ -0,0 +1,70 @@
import React from 'react';
import { Menu, X, ChevronDown, Star } from 'lucide-react';
const Header = ({ isMobileMenuOpen, setIsMobileMenuOpen }) => {
return (
<header className="fixed top-0 left-0 right-0 bg-white/95 backdrop-blur-sm border-b border-gray-200 z-40">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="flex items-center justify-between h-16">
{/* Logo */}
<div className="flex items-center">
<div className="flex items-center space-x-2">
<div className="w-8 h-8 bg-gradient-to-br from-blue-500 to-blue-600 rounded-lg flex items-center justify-center">
<span className="text-white font-bold text-sm">S</span>
</div>
<span className="text-xl font-bold text-gray-900">Sargas</span>
</div>
</div>
{/* Desktop Navigation */}
<nav className="hidden md:flex items-center space-x-8">
<div className="relative group">
<button className="flex items-center space-x-1 text-gray-700 hover:text-gray-900 font-medium">
<span>Services</span>
<ChevronDown className="w-4 h-4" />
</button>
</div>
<a href="#portfolio" className="text-gray-700 hover:text-gray-900 font-medium">Portfolio</a>
<a href="#about" className="text-gray-700 hover:text-gray-900 font-medium">About</a>
<a href="#contacts" className="text-gray-700 hover:text-gray-900 font-medium">Contacts</a>
</nav>
{/* Clutch Rating & CTA */}
<div className="hidden md:flex items-center space-x-4">
<div className="flex items-center space-x-2 bg-gray-50 px-3 py-2 rounded-lg">
<div className="w-6 h-6 bg-black rounded-full flex items-center justify-center">
<span className="text-white text-xs font-bold">C</span>
</div>
<div className="flex items-center space-x-1">
<span className="text-sm font-semibold">4.9</span>
<div className="flex">
{[...Array(5)].map((_, i) => (
<Star key={i} className="w-3 h-3 fill-red-500 text-red-500" />
))}
</div>
</div>
<span className="text-xs text-gray-600">Based on 6 Clutch reviews</span>
</div>
<button className="btn-secondary">
Book a Call
</button>
</div>
{/* Mobile Menu Button */}
<button
className="md:hidden p-2 rounded-lg hover:bg-gray-100"
onClick={() => setIsMobileMenuOpen(!isMobileMenuOpen)}
>
{isMobileMenuOpen ? (
<X className="w-6 h-6" />
) : (
<Menu className="w-6 h-6" />
)}
</button>
</div>
</div>
</header>
);
};
export default Header;

130
src/components/Hero.js Normal file
View File

@@ -0,0 +1,130 @@
import React from 'react';
import { motion, useReducedMotion } from 'framer-motion';
import { Package } from 'lucide-react';
const fadeUpPreset = (delay = 0, duration = 1.2) => ({
initial: { opacity: 0, y: 20 },
whileInView: { opacity: 1, y: 0 },
viewport: { once: true, amount: 0.2 },
transition: { delay, duration, ease: "easeOut" }
});
const Hero = () => {
const shouldReduceMotion = useReducedMotion();
const techStack = [
{ name: 'nestjs', color: 'text-red-500' },
{ name: 'mysql', color: 'text-blue-600' },
{ name: 'mongodb', color: 'text-green-600' },
{ name: 'nginx', color: 'text-green-700' },
{ name: 'redis', color: 'text-red-600' },
{ name: 'typescript', color: 'text-blue-600' }
];
if (shouldReduceMotion) {
return (
<section className="hero-gradient pt-20 pb-16 px-4 sm:px-6 lg:px-8">
<div className="max-w-7xl mx-auto">
<div className="text-center max-w-4xl mx-auto">
<h1 className="text-4xl sm:text-5xl lg:text-6xl font-bold mb-6">
<span className="text-gradient">AI-powered</span>
<br />
<span className="text-gray-900">web and mobile</span>
<br />
<span className="text-gradient">in 12 weeks</span>
</h1>
<div className="flex items-center justify-center space-x-2 mb-8">
<span className="text-gray-600 font-medium">Powered by</span>
<div className="flex items-center space-x-1">
<div className="w-6 h-6 bg-red-500 rounded-full"></div>
<span className="font-semibold text-gray-900">n8n</span>
</div>
</div>
<div className="flex flex-col sm:flex-row items-center justify-center space-y-4 sm:space-y-0 sm:space-x-4 mb-12">
<button className="btn-primary">
Start Discovery
</button>
<button className="btn-secondary flex items-center space-x-2">
<Package className="w-5 h-5" />
<span>Portfolio Showcase</span>
</button>
</div>
<div className="flex flex-wrap items-center justify-center gap-4">
{techStack.map((tech, index) => (
<div key={tech.name} className="tech-badge">
<span className={`text-sm font-medium ${tech.color}`}>#{tech.name}</span>
</div>
))}
</div>
</div>
</div>
</section>
);
}
return (
<motion.section
{...fadeUpPreset(0.1, 0.8)}
className="hero-gradient pt-20 pb-16 px-4 sm:px-6 lg:px-8"
>
<div className="max-w-7xl mx-auto">
<div className="text-center max-w-4xl mx-auto">
<motion.h1
{...fadeUpPreset(0.2, 0.8)}
className="text-4xl sm:text-5xl lg:text-6xl font-bold mb-6"
>
<span className="text-gradient">AI-powered</span>
<br />
<span className="text-gray-900">web and mobile</span>
<br />
<span className="text-gradient">in 12 weeks</span>
</motion.h1>
<motion.div
{...fadeUpPreset(0.3, 0.8)}
className="flex items-center justify-center space-x-2 mb-8"
>
<span className="text-gray-600 font-medium">Powered by</span>
<div className="flex items-center space-x-1">
<div className="w-6 h-6 bg-red-500 rounded-full"></div>
<span className="font-semibold text-gray-900">n8n</span>
</div>
</motion.div>
<motion.div
{...fadeUpPreset(0.4, 0.8)}
className="flex flex-col sm:flex-row items-center justify-center space-y-4 sm:space-y-0 sm:space-x-4 mb-12"
>
<button className="btn-primary">
Start Discovery
</button>
<button className="btn-secondary flex items-center space-x-2">
<Package className="w-5 h-5" />
<span>Portfolio Showcase</span>
</button>
</motion.div>
<motion.div
{...fadeUpPreset(0.5, 0.8)}
className="flex flex-wrap items-center justify-center gap-4"
>
{techStack.map((tech, index) => (
<motion.div
key={tech.name}
{...fadeUpPreset(0.6 + index * 0.05, 0.6)}
className="tech-badge"
>
<span className={`text-sm font-medium ${tech.color}`}>#{tech.name}</span>
</motion.div>
))}
</motion.div>
</div>
</div>
</motion.section>
);
};
export default Hero;

View File

@@ -0,0 +1,94 @@
import React from 'react';
import { motion, AnimatePresence } from 'framer-motion';
import { X, Github, Linkedin, Mail } from 'lucide-react';
const MobileMenu = ({ isOpen, setIsOpen }) => {
return (
<AnimatePresence>
{isOpen && (
<>
<motion.div
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
exit={{ opacity: 0 }}
className="fixed inset-0 mobile-menu-overlay z-50"
onClick={() => setIsOpen(false)}
/>
<motion.div
initial={{ x: '100%' }}
animate={{ x: 0 }}
exit={{ x: '100%' }}
transition={{ type: 'tween', duration: 0.3 }}
className="fixed top-0 right-0 h-full w-80 bg-white shadow-xl z-50 overflow-y-auto"
>
<div className="p-6">
<div className="flex items-center justify-between mb-8">
<h2 className="text-xl font-bold text-gray-900">Menu</h2>
<button
onClick={() => setIsOpen(false)}
className="p-2 rounded-lg hover:bg-gray-100"
>
<X className="w-6 h-6" />
</button>
</div>
<div className="grid grid-cols-2 gap-8">
{/* Menu */}
<div>
<h3 className="font-semibold text-gray-900 mb-4">Menu</h3>
<ul className="space-y-3">
<li><a href="#case-studies" className="text-gray-600 hover:text-gray-900">Case Studies</a></li>
<li><a href="#blog" className="text-gray-600 hover:text-gray-900">Blog</a></li>
<li><a href="#contacts" className="text-gray-600 hover:text-gray-900">Contacts</a></li>
<li><a href="#about" className="text-gray-600 hover:text-gray-900">About Us</a></li>
<li><a href="#faq" className="text-gray-600 hover:text-gray-900">FAQ</a></li>
</ul>
</div>
{/* Services */}
<div>
<h3 className="font-semibold text-gray-900 mb-4">Services</h3>
<ul className="space-y-3">
<li><a href="#web-dev" className="text-gray-600 hover:text-gray-900">Web Development</a></li>
<li><a href="#mobile-dev" className="text-gray-600 hover:text-gray-900">Mobile Development</a></li>
<li><a href="#support" className="text-gray-600 hover:text-gray-900">Support and Maintenance</a></li>
</ul>
</div>
</div>
<div className="mt-8 pt-8 border-t border-gray-200">
<div className="mb-6">
<p className="text-sm text-gray-600 mb-2">Feel free to drop us a note:</p>
<p className="text-sm font-medium text-gray-900">contact@sargas.io</p>
</div>
<div className="flex items-center space-x-4">
<a href="#" className="text-gray-400 hover:text-gray-600">
<Github className="w-5 h-5" />
</a>
<a href="#" className="text-gray-400 hover:text-gray-600">
<Linkedin className="w-5 h-5" />
</a>
<a href="#" className="text-gray-400 hover:text-gray-600">
<span className="w-5 h-5 bg-black rounded-full flex items-center justify-center">
<span className="text-white text-xs font-bold">C</span>
</span>
</a>
</div>
</div>
<div className="mt-8 pt-8 border-t border-gray-200">
<div className="flex items-center space-x-4 text-sm text-gray-600">
<a href="#privacy" className="hover:text-gray-900">Privacy Policy</a>
<a href="#terms" className="hover:text-gray-900">Terms of Use</a>
</div>
</div>
</div>
</motion.div>
</>
)}
</AnimatePresence>
);
};
export default MobileMenu;

130
src/components/Services.js Normal file
View File

@@ -0,0 +1,130 @@
import React from 'react';
import { motion, useReducedMotion } from 'framer-motion';
const fadeUpPreset = (delay = 0, duration = 1.2) => ({
initial: { opacity: 0, y: 20 },
whileInView: { opacity: 1, y: 0 },
viewport: { once: true, amount: 0.2 },
transition: { delay, duration, ease: "easeOut" }
});
const Services = () => {
const shouldReduceMotion = useReducedMotion();
if (shouldReduceMotion) {
return (
<section className="py-20 gradient-bg">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center mb-16">
<h2 className="text-3xl lg:text-4xl font-bold text-gray-900 mb-4">
Explore our services
</h2>
</div>
<div className="grid lg:grid-cols-2 gap-16 items-center">
{/* Web Development */}
<div className="service-card">
<h3 className="text-2xl font-bold text-gray-900 mb-4">Web Development</h3>
<p className="text-gray-600 mb-6">Custom web applications built with modern technologies and best practices.</p>
<div className="w-full h-64 bg-gradient-to-br from-blue-100 to-blue-200 rounded-lg flex items-center justify-center">
<div className="text-center">
<div className="w-16 h-16 bg-blue-500 rounded-lg mx-auto mb-4 flex items-center justify-center">
<span className="text-white text-2xl">🌐</span>
</div>
<p className="text-blue-700 font-medium">Web Development</p>
</div>
</div>
</div>
{/* Mobile Development */}
<div className="service-card">
<h3 className="text-2xl font-bold text-gray-900 mb-4">Mobile Development</h3>
<p className="text-gray-600 mb-6">Native and cross-platform mobile applications for iOS and Android.</p>
<div className="w-full h-64 bg-gradient-to-br from-gray-100 to-gray-200 rounded-lg flex items-center justify-center">
<div className="w-32 h-56 bg-blue-500 rounded-2xl shadow-lg flex items-center justify-center">
<div className="w-24 h-48 bg-white rounded-xl flex items-center justify-center">
<span className="text-blue-500 text-2xl">📱</span>
</div>
</div>
</div>
</div>
</div>
<div className="text-center mt-16">
<div className="bg-white rounded-xl p-8 card-shadow max-w-2xl mx-auto">
<h3 className="text-xl font-semibold text-gray-900 mb-2">
Get the same high-quality service for a smaller task
</h3>
</div>
</div>
</div>
</section>
);
}
return (
<motion.section
{...fadeUpPreset(0.1, 1.0)}
className="py-20 gradient-bg"
>
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<motion.div
{...fadeUpPreset(0.2, 0.8)}
className="text-center mb-16"
>
<h2 className="text-3xl lg:text-4xl font-bold text-gray-900 mb-4">
Explore our services
</h2>
</motion.div>
<div className="grid lg:grid-cols-2 gap-16 items-center">
{/* Web Development */}
<motion.div
{...fadeUpPreset(0.3, 0.8)}
className="service-card"
>
<h3 className="text-2xl font-bold text-gray-900 mb-4">Web Development</h3>
<p className="text-gray-600 mb-6">Custom web applications built with modern technologies and best practices.</p>
<div className="w-full h-64 bg-gradient-to-br from-blue-100 to-blue-200 rounded-lg flex items-center justify-center">
<div className="text-center">
<div className="w-16 h-16 bg-blue-500 rounded-lg mx-auto mb-4 flex items-center justify-center">
<span className="text-white text-2xl">🌐</span>
</div>
<p className="text-blue-700 font-medium">Web Development</p>
</div>
</div>
</motion.div>
{/* Mobile Development */}
<motion.div
{...fadeUpPreset(0.4, 0.8)}
className="service-card"
>
<h3 className="text-2xl font-bold text-gray-900 mb-4">Mobile Development</h3>
<p className="text-gray-600 mb-6">Native and cross-platform mobile applications for iOS and Android.</p>
<div className="w-full h-64 bg-gradient-to-br from-gray-100 to-gray-200 rounded-lg flex items-center justify-center">
<div className="w-32 h-56 bg-blue-500 rounded-2xl shadow-lg flex items-center justify-center">
<div className="w-24 h-48 bg-white rounded-xl flex items-center justify-center">
<span className="text-blue-500 text-2xl">📱</span>
</div>
</div>
</div>
</motion.div>
</div>
<motion.div
{...fadeUpPreset(0.5, 0.8)}
className="text-center mt-16"
>
<div className="bg-white rounded-xl p-8 card-shadow max-w-2xl mx-auto">
<h3 className="text-xl font-semibold text-gray-900 mb-2">
Get the same high-quality service for a smaller task
</h3>
</div>
</motion.div>
</div>
</motion.section>
);
};
export default Services;

69
src/components/Stats.js Normal file
View File

@@ -0,0 +1,69 @@
import React from 'react';
import { motion, useReducedMotion } from 'framer-motion';
const fadeUpPreset = (delay = 0, duration = 1.2) => ({
initial: { opacity: 0, y: 20 },
whileInView: { opacity: 1, y: 0 },
viewport: { once: true, amount: 0.2 },
transition: { delay, duration, ease: "easeOut" }
});
const Stats = () => {
const shouldReduceMotion = useReducedMotion();
const stats = [
{ value: '92%', label: 'Client Satisfaction' },
{ value: '50+', label: 'Projects Completed' },
{ value: '30k+', label: 'Lines of Code' },
{ value: '100%', label: 'On-Time Delivery' }
];
if (shouldReduceMotion) {
return (
<section className="py-16 bg-white">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8">
{stats.map((stat, index) => (
<div key={index} className="text-center">
<div className="text-3xl lg:text-4xl font-bold text-gray-900 mb-2">
{stat.value}
</div>
<div className="text-gray-600 font-medium">
{stat.label}
</div>
</div>
))}
</div>
</div>
</section>
);
}
return (
<motion.section
{...fadeUpPreset(0.1, 1.0)}
className="py-16 bg-white"
>
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8">
{stats.map((stat, index) => (
<motion.div
key={index}
{...fadeUpPreset(0.2 + index * 0.1, 0.8)}
className="text-center"
>
<div className="text-3xl lg:text-4xl font-bold text-gray-900 mb-2">
{stat.value}
</div>
<div className="text-gray-600 font-medium">
{stat.label}
</div>
</motion.div>
))}
</div>
</div>
</motion.section>
);
};
export default Stats;

53
src/components/Team.js Normal file
View File

@@ -0,0 +1,53 @@
import React from 'react';
import { motion, useReducedMotion } from 'framer-motion';
const fadeUpPreset = (delay = 0, duration = 1.2) => ({
initial: { opacity: 0, y: 20 },
whileInView: { opacity: 1, y: 0 },
viewport: { once: true, amount: 0.2 },
transition: { delay, duration, ease: "easeOut" }
});
const Team = () => {
const shouldReduceMotion = useReducedMotion();
if (shouldReduceMotion) {
return (
<section className="py-20 bg-white">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center">
<h2 className="text-3xl lg:text-4xl font-bold text-gray-900 mb-4">
Sargas Team
</h2>
<p className="text-gray-600 max-w-2xl mx-auto">
Meet the talented professionals behind our success
</p>
</div>
</div>
</section>
);
}
return (
<motion.section
{...fadeUpPreset(0.1, 1.0)}
className="py-20 bg-white"
>
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<motion.div
{...fadeUpPreset(0.2, 0.8)}
className="text-center"
>
<h2 className="text-3xl lg:text-4xl font-bold text-gray-900 mb-4">
Sargas Team
</h2>
<p className="text-gray-600 max-w-2xl mx-auto">
Meet the talented professionals behind our success
</p>
</motion.div>
</div>
</motion.section>
);
};
export default Team;

View File

@@ -0,0 +1,53 @@
import React from 'react';
import { motion, useReducedMotion } from 'framer-motion';
const fadeUpPreset = (delay = 0, duration = 1.2) => ({
initial: { opacity: 0, y: 20 },
whileInView: { opacity: 1, y: 0 },
viewport: { once: true, amount: 0.2 },
transition: { delay, duration, ease: "easeOut" }
});
const Testimonials = () => {
const shouldReduceMotion = useReducedMotion();
if (shouldReduceMotion) {
return (
<section className="py-20 gradient-bg">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center">
<h2 className="text-3xl lg:text-4xl font-bold text-gray-900 mb-4">
Testimonials
</h2>
<p className="text-gray-600 max-w-2xl mx-auto">
What our clients say about working with us
</p>
</div>
</div>
</section>
);
}
return (
<motion.section
{...fadeUpPreset(0.1, 1.0)}
className="py-20 gradient-bg"
>
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<motion.div
{...fadeUpPreset(0.2, 0.8)}
className="text-center"
>
<h2 className="text-3xl lg:text-4xl font-bold text-gray-900 mb-4">
Testimonials
</h2>
<p className="text-gray-600 max-w-2xl mx-auto">
What our clients say about working with us
</p>
</motion.div>
</div>
</motion.section>
);
};
export default Testimonials;

92
src/index.css Normal file
View File

@@ -0,0 +1,92 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
:root {
--primary-blue: 59 130 246;
--primary-dark: 30 41 59;
--gray-50: 248 250 252;
--gray-100: 241 245 249;
--gray-200: 226 232 240;
--gray-300: 203 213 225;
--gray-400: 148 163 184;
--gray-500: 100 116 139;
--gray-600: 71 85 105;
--gray-700: 51 65 85;
--gray-800: 30 41 59;
--gray-900: 15 23 42;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
background-color: rgb(var(--gray-50));
color: rgb(var(--gray-900));
}
.gradient-bg {
background: linear-gradient(135deg, rgb(var(--gray-50)) 0%, rgb(var(--gray-100)) 100%);
}
.hero-gradient {
background: linear-gradient(135deg, rgb(var(--gray-50)) 0%, rgb(var(--gray-100)) 50%, rgb(var(--gray-200)) 100%);
}
.text-gradient {
background: linear-gradient(135deg, rgb(var(--primary-blue)) 0%, #3b82f6 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.btn-primary {
@apply bg-blue-500 hover:bg-blue-600 text-white font-medium px-6 py-3 rounded-lg transition-colors duration-200;
}
.btn-secondary {
@apply bg-slate-800 hover:bg-slate-700 text-white font-medium px-6 py-3 rounded-lg transition-colors duration-200;
}
.card-shadow {
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
.tech-badge {
@apply inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-white border border-gray-200;
}
.service-card {
@apply bg-white rounded-xl p-8 card-shadow hover:shadow-lg transition-shadow duration-300;
}
.case-study-card {
@apply bg-gradient-to-br from-blue-500 to-blue-600 rounded-xl p-8 text-white;
}
.mobile-menu-overlay {
background: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(4px);
}
.cookie-consent {
@apply fixed bottom-4 left-4 right-4 md:left-auto md:right-4 md:max-w-md bg-white rounded-lg p-6 card-shadow z-50;
}
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}

8
src/index.js Normal file
View File

@@ -0,0 +1,8 @@
import React from 'react';
import { createRoot } from 'react-dom/client';
import './index.css';
import App from './App';
const container = document.getElementById('root');
const root = createRoot(container);
root.render(<App />);

54
tailwind.config.js Normal file
View File

@@ -0,0 +1,54 @@
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
"./src/**/*.{js,jsx,ts,tsx}",
],
theme: {
extend: {
fontFamily: {
sans: ['Inter', 'system-ui', 'sans-serif'],
},
colors: {
primary: {
50: 'rgb(239 246 255)',
100: 'rgb(219 234 254)',
200: 'rgb(191 219 254)',
300: 'rgb(147 197 253)',
400: 'rgb(96 165 250)',
500: 'rgb(59 130 246)',
600: 'rgb(37 99 235)',
700: 'rgb(29 78 216)',
800: 'rgb(30 64 175)',
900: 'rgb(30 58 138)',
},
gray: {
50: 'rgb(248 250 252)',
100: 'rgb(241 245 249)',
200: 'rgb(226 232 240)',
300: 'rgb(203 213 225)',
400: 'rgb(148 163 184)',
500: 'rgb(100 116 139)',
600: 'rgb(71 85 105)',
700: 'rgb(51 65 85)',
800: 'rgb(30 41 59)',
900: 'rgb(15 23 42)',
},
},
animation: {
'fade-in': 'fadeIn 0.5s ease-in-out',
'slide-up': 'slideUp 0.5s ease-out',
},
keyframes: {
fadeIn: {
'0%': { opacity: '0' },
'100%': { opacity: '1' },
},
slideUp: {
'0%': { transform: 'translateY(20px)', opacity: '0' },
'100%': { transform: 'translateY(0)', opacity: '1' },
},
},
},
},
plugins: [],
}

5
vercel.json Normal file
View File

@@ -0,0 +1,5 @@
{
"installCommand": "npm install",
"buildCommand": "CI=false npm run build",
"outputDirectory": "build"
}