From 6e7f13895c7e5700548f25d05b173cf656fb00cf Mon Sep 17 00:00:00 2001 From: a-bochilo <103776395+a-bochilo@users.noreply.github.com> Date: Mon, 24 Jun 2024 14:52:44 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20master=20from=20@=20CodeCavePr?= =?UTF-8?q?o/codecave.pro-new@19f22d7658f38ae51c3bb59f7d555820f2f013ee=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 4 ++-- 404/index.html | 4 ++-- _gatsby/slices/_gatsby-scripts-1.html | 4 ++-- blog/051de283-9f2d-5dce-9281-2390aad03114/index.html | 4 ++-- blog/2eff51f3-1715-52fc-8a28-0f6a8602f038/index.html | 4 ++-- blog/49d0c78e-98c5-5910-b945-6722a64f8939/index.html | 4 ++-- blog/61b4a9d2-85e8-5b56-b1c9-1b5901917f8e/index.html | 4 ++-- blog/68a961bb-1417-57fe-98c5-8590c381b144/index.html | 4 ++-- blog/74245ea4-1b48-5e99-819b-619657fa1e52/index.html | 4 ++-- blog/7d934082-78d4-5ec0-a540-e94809b26e1f/index.html | 4 ++-- blog/ab37b495-8676-5d94-9eb5-50370eb39fe4/index.html | 4 ++-- blog/azure-devops/index.html | 4 ++-- blog/azure-devops/page/1/index.html | 4 ++-- blog/azure/index.html | 4 ++-- blog/azure/page/1/index.html | 4 ++-- blog/changelog/index.html | 4 ++-- blog/changelog/page/1/index.html | 4 ++-- blog/cloud-init/index.html | 4 ++-- blog/cloud-init/page/1/index.html | 4 ++-- blog/confluence/index.html | 4 ++-- blog/confluence/page/1/index.html | 4 ++-- blog/devops/index.html | 4 ++-- blog/devops/page/1/index.html | 4 ++-- blog/ef2dfe11-61c5-5b1f-a869-d86df1cacddc/index.html | 4 ++-- blog/index.html | 4 ++-- blog/page/1/index.html | 4 ++-- blog/page/2/index.html | 4 ++-- blog/podryabinkina/index.html | 4 ++-- blog/podryabinkina/page/1/index.html | 4 ++-- blog/proxmox/index.html | 4 ++-- blog/proxmox/page/1/index.html | 4 ++-- blog/self-hosted-build-agent/index.html | 4 ++-- blog/self-hosted-build-agent/page/1/index.html | 4 ++-- blog/vm/index.html | 4 ++-- blog/vm/page/1/index.html | 4 ++-- blog/zhmayev/index.html | 4 ++-- blog/zhmayev/page/1/index.html | 4 ++-- blog/zhmayev/page/2/index.html | 4 ++-- .../index.html" | 4 ++-- .../page/1/index.html" | 4 ++-- .../index.html" | 4 ++-- .../page/1/index.html" | 4 ++-- .../index.html" | 4 ++-- .../page/1/index.html" | 4 ++-- .../index.html" | 4 ++-- .../page/1/index.html" | 4 ++-- "blog/\321\202\320\265\320\272\321\201\321\202/index.html" | 4 ++-- .../page/1/index.html" | 4 ++-- "blog/\321\202\320\265\320\274\320\260/index.html" | 4 ++-- "blog/\321\202\320\265\320\274\320\260/page/1/index.html" | 4 ++-- .../index.html" | 4 ++-- .../page/1/index.html" | 4 ++-- chunk-map.json | 2 +- ...---src-pages-templates-index-tsx-4ec4965671423d3ead71.js | 4 ++-- ...rc-pages-templates-index-tsx-4ec4965671423d3ead71.js.map | 2 +- ...src-pages-templates-projects-tsx-8c45e01db800ebc62ad1.js | 4 ++-- ...pages-templates-projects-tsx-8c45e01db800ebc62ad1.js.map | 2 +- cookie-policy/index.html | 4 ++-- index.html | 6 +++--- page-data/app-data.json | 2 +- privacy-policy/index.html | 4 ++-- projects/1624634e-e30c-5f6a-8d70-5da1c8439457/index.html | 4 ++-- projects/95622706-d8c1-5f9f-838c-705ed9299584/index.html | 4 ++-- projects/d4fc980f-88d4-56ac-9fb4-b1a1defac772/index.html | 4 ++-- projects/e07a9678-af8d-5a56-b7ed-07bc386a1582/index.html | 4 ++-- projects/index.html | 6 +++--- projects/page/1/index.html | 6 +++--- services/index.html | 4 ++-- ...c6cc5820ad.js => webpack-runtime-84ba28d067192da47aba.js | 4 ++-- ...9a.js.map => webpack-runtime-84ba28d067192da47aba.js.map | 2 +- ...5a1467109a.js => webpack-runtime-9bd74661ae35ae73f4b8.js | 4 ++-- ...ad.js.map => webpack-runtime-9bd74661ae35ae73f4b8.js.map | 2 +- webpack.stats.json | 2 +- workflow/index.html | 4 ++-- 74 files changed, 144 insertions(+), 144 deletions(-) rename component---src-pages-templates-index-tsx-f800793638eeb52e7347.js => component---src-pages-templates-index-tsx-4ec4965671423d3ead71.js (99%) rename component---src-pages-templates-index-tsx-f800793638eeb52e7347.js.map => component---src-pages-templates-index-tsx-4ec4965671423d3ead71.js.map (99%) rename component---src-pages-templates-projects-tsx-0e67ae538ee4d4cb1350.js => component---src-pages-templates-projects-tsx-8c45e01db800ebc62ad1.js (97%) rename component---src-pages-templates-projects-tsx-0e67ae538ee4d4cb1350.js.map => component---src-pages-templates-projects-tsx-8c45e01db800ebc62ad1.js.map (99%) rename webpack-runtime-67dc0ce9e5c6cc5820ad.js => webpack-runtime-84ba28d067192da47aba.js (95%) rename webpack-runtime-39978160d85a1467109a.js.map => webpack-runtime-84ba28d067192da47aba.js.map (98%) rename webpack-runtime-39978160d85a1467109a.js => webpack-runtime-9bd74661ae35ae73f4b8.js (95%) rename webpack-runtime-67dc0ce9e5c6cc5820ad.js.map => webpack-runtime-9bd74661ae35ae73f4b8.js.map (98%) diff --git a/404.html b/404.html index 034703da..9919ece4 100644 --- a/404.html +++ b/404.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/404/index.html b/404/index.html index 537107bc..4f0d707d 100644 --- a/404/index.html +++ b/404/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/_gatsby/slices/_gatsby-scripts-1.html b/_gatsby/slices/_gatsby-scripts-1.html index a371936c..476a575f 100644 --- a/_gatsby/slices/_gatsby-scripts-1.html +++ b/_gatsby/slices/_gatsby-scripts-1.html @@ -2,6 +2,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/051de283-9f2d-5dce-9281-2390aad03114/index.html b/blog/051de283-9f2d-5dce-9281-2390aad03114/index.html index b33856bd..f3ce1fdb 100644 --- a/blog/051de283-9f2d-5dce-9281-2390aad03114/index.html +++ b/blog/051de283-9f2d-5dce-9281-2390aad03114/index.html @@ -140,6 +140,6 @@

Part 2

- \ No newline at end of file + \ No newline at end of file diff --git a/blog/2eff51f3-1715-52fc-8a28-0f6a8602f038/index.html b/blog/2eff51f3-1715-52fc-8a28-0f6a8602f038/index.html index 8b9caf78..ebaad6cd 100644 --- a/blog/2eff51f3-1715-52fc-8a28-0f6a8602f038/index.html +++ b/blog/2eff51f3-1715-52fc-8a28-0f6a8602f038/index.html @@ -168,6 +168,6 @@

Заключение

- \ No newline at end of file + \ No newline at end of file diff --git a/blog/49d0c78e-98c5-5910-b945-6722a64f8939/index.html b/blog/49d0c78e-98c5-5910-b945-6722a64f8939/index.html index c3634d2d..c37ec1d1 100644 --- a/blog/49d0c78e-98c5-5910-b945-6722a64f8939/index.html +++ b/blog/49d0c78e-98c5-5910-b945-6722a64f8939/index.html @@ -293,6 +293,6 @@

И последнее

- \ No newline at end of file + \ No newline at end of file diff --git a/blog/61b4a9d2-85e8-5b56-b1c9-1b5901917f8e/index.html b/blog/61b4a9d2-85e8-5b56-b1c9-1b5901917f8e/index.html index a55db8c9..22bce6fe 100644 --- a/blog/61b4a9d2-85e8-5b56-b1c9-1b5901917f8e/index.html +++ b/blog/61b4a9d2-85e8-5b56-b1c9-1b5901917f8e/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/68a961bb-1417-57fe-98c5-8590c381b144/index.html b/blog/68a961bb-1417-57fe-98c5-8590c381b144/index.html index df532d1e..c1906d7d 100644 --- a/blog/68a961bb-1417-57fe-98c5-8590c381b144/index.html +++ b/blog/68a961bb-1417-57fe-98c5-8590c381b144/index.html @@ -191,6 +191,6 @@

Part 2

- \ No newline at end of file + \ No newline at end of file diff --git a/blog/74245ea4-1b48-5e99-819b-619657fa1e52/index.html b/blog/74245ea4-1b48-5e99-819b-619657fa1e52/index.html index 20c7722f..7928f482 100644 --- a/blog/74245ea4-1b48-5e99-819b-619657fa1e52/index.html +++ b/blog/74245ea4-1b48-5e99-819b-619657fa1e52/index.html @@ -183,6 +183,6 @@

Заключение

- \ No newline at end of file + \ No newline at end of file diff --git a/blog/7d934082-78d4-5ec0-a540-e94809b26e1f/index.html b/blog/7d934082-78d4-5ec0-a540-e94809b26e1f/index.html index 1d9b8644..41b18454 100644 --- a/blog/7d934082-78d4-5ec0-a540-e94809b26e1f/index.html +++ b/blog/7d934082-78d4-5ec0-a540-e94809b26e1f/index.html @@ -179,6 +179,6 @@

One more list:

- \ No newline at end of file + \ No newline at end of file diff --git a/blog/ab37b495-8676-5d94-9eb5-50370eb39fe4/index.html b/blog/ab37b495-8676-5d94-9eb5-50370eb39fe4/index.html index 8a0eb7b9..498ca781 100644 --- a/blog/ab37b495-8676-5d94-9eb5-50370eb39fe4/index.html +++ b/blog/ab37b495-8676-5d94-9eb5-50370eb39fe4/index.html @@ -101,6 +101,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/azure-devops/index.html b/blog/azure-devops/index.html index cce3686e..859cfa1c 100644 --- a/blog/azure-devops/index.html +++ b/blog/azure-devops/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/azure-devops/page/1/index.html b/blog/azure-devops/page/1/index.html index d7943336..5dcb8f0a 100644 --- a/blog/azure-devops/page/1/index.html +++ b/blog/azure-devops/page/1/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/azure/index.html b/blog/azure/index.html index 81170cfe..b586da44 100644 --- a/blog/azure/index.html +++ b/blog/azure/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/azure/page/1/index.html b/blog/azure/page/1/index.html index f86cd1a2..631243b3 100644 --- a/blog/azure/page/1/index.html +++ b/blog/azure/page/1/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/changelog/index.html b/blog/changelog/index.html index 8bf4e928..edac0fb7 100644 --- a/blog/changelog/index.html +++ b/blog/changelog/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/changelog/page/1/index.html b/blog/changelog/page/1/index.html index 84c30e97..b4eda545 100644 --- a/blog/changelog/page/1/index.html +++ b/blog/changelog/page/1/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/cloud-init/index.html b/blog/cloud-init/index.html index d7e00842..9189915d 100644 --- a/blog/cloud-init/index.html +++ b/blog/cloud-init/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/cloud-init/page/1/index.html b/blog/cloud-init/page/1/index.html index ab87bbd0..3ccc4582 100644 --- a/blog/cloud-init/page/1/index.html +++ b/blog/cloud-init/page/1/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/confluence/index.html b/blog/confluence/index.html index a3242a52..3ac2b6d3 100644 --- a/blog/confluence/index.html +++ b/blog/confluence/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/confluence/page/1/index.html b/blog/confluence/page/1/index.html index cb85bf7a..ebeaaadb 100644 --- a/blog/confluence/page/1/index.html +++ b/blog/confluence/page/1/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/devops/index.html b/blog/devops/index.html index 73608673..c4f74d63 100644 --- a/blog/devops/index.html +++ b/blog/devops/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/devops/page/1/index.html b/blog/devops/page/1/index.html index 175b83bc..c081a2eb 100644 --- a/blog/devops/page/1/index.html +++ b/blog/devops/page/1/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/ef2dfe11-61c5-5b1f-a869-d86df1cacddc/index.html b/blog/ef2dfe11-61c5-5b1f-a869-d86df1cacddc/index.html index 2831d34d..85bf4216 100644 --- a/blog/ef2dfe11-61c5-5b1f-a869-d86df1cacddc/index.html +++ b/blog/ef2dfe11-61c5-5b1f-a869-d86df1cacddc/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/index.html b/blog/index.html index bf4b9a5a..d333b1f4 100644 --- a/blog/index.html +++ b/blog/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/page/1/index.html b/blog/page/1/index.html index 9a0fc52c..1ea1d230 100644 --- a/blog/page/1/index.html +++ b/blog/page/1/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/page/2/index.html b/blog/page/2/index.html index ac807ff2..65a2c34b 100644 --- a/blog/page/2/index.html +++ b/blog/page/2/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/podryabinkina/index.html b/blog/podryabinkina/index.html index 01f38970..923f65ef 100644 --- a/blog/podryabinkina/index.html +++ b/blog/podryabinkina/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/podryabinkina/page/1/index.html b/blog/podryabinkina/page/1/index.html index 8ff73c53..bc5a0ded 100644 --- a/blog/podryabinkina/page/1/index.html +++ b/blog/podryabinkina/page/1/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/proxmox/index.html b/blog/proxmox/index.html index 27fe6b9b..77f986f9 100644 --- a/blog/proxmox/index.html +++ b/blog/proxmox/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/proxmox/page/1/index.html b/blog/proxmox/page/1/index.html index 3b04e0e0..6246f592 100644 --- a/blog/proxmox/page/1/index.html +++ b/blog/proxmox/page/1/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/self-hosted-build-agent/index.html b/blog/self-hosted-build-agent/index.html index 535cdeb4..69bf886c 100644 --- a/blog/self-hosted-build-agent/index.html +++ b/blog/self-hosted-build-agent/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/self-hosted-build-agent/page/1/index.html b/blog/self-hosted-build-agent/page/1/index.html index 5fbba69c..9fa84653 100644 --- a/blog/self-hosted-build-agent/page/1/index.html +++ b/blog/self-hosted-build-agent/page/1/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/vm/index.html b/blog/vm/index.html index 30b80af2..552bd08a 100644 --- a/blog/vm/index.html +++ b/blog/vm/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/vm/page/1/index.html b/blog/vm/page/1/index.html index 8f06767b..6004caa1 100644 --- a/blog/vm/page/1/index.html +++ b/blog/vm/page/1/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/zhmayev/index.html b/blog/zhmayev/index.html index ca3ad4e9..285c39c7 100644 --- a/blog/zhmayev/index.html +++ b/blog/zhmayev/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/zhmayev/page/1/index.html b/blog/zhmayev/page/1/index.html index cbaf1657..afea80af 100644 --- a/blog/zhmayev/page/1/index.html +++ b/blog/zhmayev/page/1/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/blog/zhmayev/page/2/index.html b/blog/zhmayev/page/2/index.html index 809ab078..c04774dc 100644 --- a/blog/zhmayev/page/2/index.html +++ b/blog/zhmayev/page/2/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git "a/blog/\320\262\320\260\320\266\320\275\320\260\321\217\321\202\320\265\320\274\320\260/index.html" "b/blog/\320\262\320\260\320\266\320\275\320\260\321\217\321\202\320\265\320\274\320\260/index.html" index eb9dd092..e80ad7c7 100644 --- "a/blog/\320\262\320\260\320\266\320\275\320\260\321\217\321\202\320\265\320\274\320\260/index.html" +++ "b/blog/\320\262\320\260\320\266\320\275\320\260\321\217\321\202\320\265\320\274\320\260/index.html" @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git "a/blog/\320\262\320\260\320\266\320\275\320\260\321\217\321\202\320\265\320\274\320\260/page/1/index.html" "b/blog/\320\262\320\260\320\266\320\275\320\260\321\217\321\202\320\265\320\274\320\260/page/1/index.html" index 43e07589..8933ceae 100644 --- "a/blog/\320\262\320\260\320\266\320\275\320\260\321\217\321\202\320\265\320\274\320\260/page/1/index.html" +++ "b/blog/\320\262\320\260\320\266\320\275\320\260\321\217\321\202\320\265\320\274\320\260/page/1/index.html" @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git "a/blog/\320\262\320\270\321\200\321\202\321\203\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/index.html" "b/blog/\320\262\320\270\321\200\321\202\321\203\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/index.html" index bbd79009..de057bd4 100644 --- "a/blog/\320\262\320\270\321\200\321\202\321\203\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/index.html" +++ "b/blog/\320\262\320\270\321\200\321\202\321\203\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/index.html" @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git "a/blog/\320\262\320\270\321\200\321\202\321\203\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/page/1/index.html" "b/blog/\320\262\320\270\321\200\321\202\321\203\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/page/1/index.html" index 2999560d..5d1c7aa9 100644 --- "a/blog/\320\262\320\270\321\200\321\202\321\203\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/page/1/index.html" +++ "b/blog/\320\262\320\270\321\200\321\202\321\203\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/page/1/index.html" @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git "a/blog/\320\267\320\260\320\277\320\270\321\201\321\214/index.html" "b/blog/\320\267\320\260\320\277\320\270\321\201\321\214/index.html" index 254beace..94cd4179 100644 --- "a/blog/\320\267\320\260\320\277\320\270\321\201\321\214/index.html" +++ "b/blog/\320\267\320\260\320\277\320\270\321\201\321\214/index.html" @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git "a/blog/\320\267\320\260\320\277\320\270\321\201\321\214/page/1/index.html" "b/blog/\320\267\320\260\320\277\320\270\321\201\321\214/page/1/index.html" index 4af25258..bf179559 100644 --- "a/blog/\320\267\320\260\320\277\320\270\321\201\321\214/page/1/index.html" +++ "b/blog/\320\267\320\260\320\277\320\270\321\201\321\214/page/1/index.html" @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git "a/blog/\321\201\321\202\320\260\321\202\321\214\321\217/index.html" "b/blog/\321\201\321\202\320\260\321\202\321\214\321\217/index.html" index 30640716..1090474f 100644 --- "a/blog/\321\201\321\202\320\260\321\202\321\214\321\217/index.html" +++ "b/blog/\321\201\321\202\320\260\321\202\321\214\321\217/index.html" @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git "a/blog/\321\201\321\202\320\260\321\202\321\214\321\217/page/1/index.html" "b/blog/\321\201\321\202\320\260\321\202\321\214\321\217/page/1/index.html" index 93a6ae71..e374eaca 100644 --- "a/blog/\321\201\321\202\320\260\321\202\321\214\321\217/page/1/index.html" +++ "b/blog/\321\201\321\202\320\260\321\202\321\214\321\217/page/1/index.html" @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git "a/blog/\321\202\320\265\320\272\321\201\321\202/index.html" "b/blog/\321\202\320\265\320\272\321\201\321\202/index.html" index db14bee3..549e70a1 100644 --- "a/blog/\321\202\320\265\320\272\321\201\321\202/index.html" +++ "b/blog/\321\202\320\265\320\272\321\201\321\202/index.html" @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git "a/blog/\321\202\320\265\320\272\321\201\321\202/page/1/index.html" "b/blog/\321\202\320\265\320\272\321\201\321\202/page/1/index.html" index 55529764..5f75020b 100644 --- "a/blog/\321\202\320\265\320\272\321\201\321\202/page/1/index.html" +++ "b/blog/\321\202\320\265\320\272\321\201\321\202/page/1/index.html" @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git "a/blog/\321\202\320\265\320\274\320\260/index.html" "b/blog/\321\202\320\265\320\274\320\260/index.html" index 5662c9cf..c33670d6 100644 --- "a/blog/\321\202\320\265\320\274\320\260/index.html" +++ "b/blog/\321\202\320\265\320\274\320\260/index.html" @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git "a/blog/\321\202\320\265\320\274\320\260/page/1/index.html" "b/blog/\321\202\320\265\320\274\320\260/page/1/index.html" index 115f46b2..79e28621 100644 --- "a/blog/\321\202\320\265\320\274\320\260/page/1/index.html" +++ "b/blog/\321\202\320\265\320\274\320\260/page/1/index.html" @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git "a/blog/\321\205\321\215\321\210\321\202\320\265\320\263/index.html" "b/blog/\321\205\321\215\321\210\321\202\320\265\320\263/index.html" index 5517cf4b..9d8feed6 100644 --- "a/blog/\321\205\321\215\321\210\321\202\320\265\320\263/index.html" +++ "b/blog/\321\205\321\215\321\210\321\202\320\265\320\263/index.html" @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git "a/blog/\321\205\321\215\321\210\321\202\320\265\320\263/page/1/index.html" "b/blog/\321\205\321\215\321\210\321\202\320\265\320\263/page/1/index.html" index 835f9a9e..61144e06 100644 --- "a/blog/\321\205\321\215\321\210\321\202\320\265\320\263/page/1/index.html" +++ "b/blog/\321\205\321\215\321\210\321\202\320\265\320\263/page/1/index.html" @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/chunk-map.json b/chunk-map.json index 0b897c57..d01c27a7 100644 --- a/chunk-map.json +++ b/chunk-map.json @@ -1 +1 @@ -{"app":["/app-581deb6f7a622e81efed.js"],"component---src-pages-templates-404-tsx":["/component---src-pages-templates-404-tsx-f72e430d4b3c5be8e265.js"],"component---src-pages-templates-blog-by-author-tsx":["/component---src-pages-templates-blog-by-author-tsx-bc531c4bc996f29bee9f.js"],"component---src-pages-templates-blog-by-hashtag-tsx":["/component---src-pages-templates-blog-by-hashtag-tsx-f53b1de30ee28d66d584.js"],"component---src-pages-templates-blog-tsx":["/component---src-pages-templates-blog-tsx-cd446229a46b0696bab6.js"],"component---src-pages-templates-index-tsx":["/component---src-pages-templates-index-tsx-f800793638eeb52e7347.js"],"component---src-pages-templates-policies-tsx":["/component---src-pages-templates-policies-tsx-15f53bf827c36e52ae75.js"],"component---src-pages-templates-post-tsx":["/component---src-pages-templates-post-tsx-d9e4800abdf31a9b10bf.js"],"component---src-pages-templates-project-tsx":["/component---src-pages-templates-project-tsx-ad10d952e1365a3c9e6c.js"],"component---src-pages-templates-projects-tsx":["/component---src-pages-templates-projects-tsx-0e67ae538ee4d4cb1350.js"],"component---src-pages-templates-services-tsx":["/component---src-pages-templates-services-tsx-70d7b900298dc1ccfa97.js"],"component---src-pages-templates-workflow-tsx":["/component---src-pages-templates-workflow-tsx-f3bbb7c00459362eb3e1.js"]} \ No newline at end of file +{"app":["/app-581deb6f7a622e81efed.js"],"component---src-pages-templates-404-tsx":["/component---src-pages-templates-404-tsx-f72e430d4b3c5be8e265.js"],"component---src-pages-templates-blog-by-author-tsx":["/component---src-pages-templates-blog-by-author-tsx-bc531c4bc996f29bee9f.js"],"component---src-pages-templates-blog-by-hashtag-tsx":["/component---src-pages-templates-blog-by-hashtag-tsx-f53b1de30ee28d66d584.js"],"component---src-pages-templates-blog-tsx":["/component---src-pages-templates-blog-tsx-cd446229a46b0696bab6.js"],"component---src-pages-templates-index-tsx":["/component---src-pages-templates-index-tsx-4ec4965671423d3ead71.js"],"component---src-pages-templates-policies-tsx":["/component---src-pages-templates-policies-tsx-15f53bf827c36e52ae75.js"],"component---src-pages-templates-post-tsx":["/component---src-pages-templates-post-tsx-d9e4800abdf31a9b10bf.js"],"component---src-pages-templates-project-tsx":["/component---src-pages-templates-project-tsx-ad10d952e1365a3c9e6c.js"],"component---src-pages-templates-projects-tsx":["/component---src-pages-templates-projects-tsx-8c45e01db800ebc62ad1.js"],"component---src-pages-templates-services-tsx":["/component---src-pages-templates-services-tsx-70d7b900298dc1ccfa97.js"],"component---src-pages-templates-workflow-tsx":["/component---src-pages-templates-workflow-tsx-f3bbb7c00459362eb3e1.js"]} \ No newline at end of file diff --git a/component---src-pages-templates-index-tsx-f800793638eeb52e7347.js b/component---src-pages-templates-index-tsx-4ec4965671423d3ead71.js similarity index 99% rename from component---src-pages-templates-index-tsx-f800793638eeb52e7347.js rename to component---src-pages-templates-index-tsx-4ec4965671423d3ead71.js index ccd827d6..bff47fd3 100644 --- a/component---src-pages-templates-index-tsx-f800793638eeb52e7347.js +++ b/component---src-pages-templates-index-tsx-4ec4965671423d3ead71.js @@ -1,2 +1,2 @@ -(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[832],{6838:function(e,t,l){var r=l(9720).w_;e.exports.z=function(e){return r({tag:"svg",attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M304 280h416c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1-17.2-31.5-42.5-56.8-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9-31.5 17.2-56.8 42.5-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z"}},{tag:"path",attr:{d:"M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 34.8-28.2 63-63 63H232c-34.8 0-63-28.2-63-63 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7 6 17.2 13.6 33.6 22.7 49 24.3 41.5 59 76.2 100.5 100.5 28.9 16.9 61 28.8 95.3 34.5 4.4 0 8-3.6 8-8V484c0-4.4 3.6-8 8-8h60c4.4 0 8 3.6 8 8v464.2c0 4.4 3.6 8 8 8 34.3-5.7 66.4-17.6 95.3-34.5 41.5-24.3 76.2-59 100.5-100.5 9.1-15.5 16.7-31.9 22.7-49C812.1 793.1 836 831.8 836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"}}]})(e)}},6488:function(e,t,l){var r=l(9720).w_;e.exports.p=function(e){return r({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M6.5 4a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V4.5H7a.5.5 0 01-.5-.5z",clipRule:"evenodd"}},{tag:"path",attr:{fillRule:"evenodd",d:"M12.354 3.646a.5.5 0 010 .708l-9 9a.5.5 0 01-.708-.708l9-9a.5.5 0 01.708 0z",clipRule:"evenodd"}}]})(e)}},4032:function(e,t,l){var r=l(9720).w_;e.exports.t=function(e){return r({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z"}}]})(e)}},1929:function(e,t,l){"use strict";l.d(t,{Z:function(){return d}});var r=l(7294),n=l(8032),a=l(4471),o=l.n(a),s=l(1164);var c=e=>{let{className:t}=e;return r.createElement("div",{className:`flex justify-center items-center h-full w-full ${t}`},r.createElement("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),r.createElement("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var i=()=>{const{0:e,1:t}=(0,r.useState)(!1),n=(0,r.useRef)(!0),a=(0,r.useRef)(null);return(0,r.useEffect)((()=>{if(!n.current||!a.current||"undefined"==typeof window)return;n.current=!1;const e=new Worker(new URL(l.p+l.u(475),l.b),{type:void 0});e.onmessage=e=>{let{data:l}=e;"ready"===l&&t(!0)};const r=a.current;r.width=r.clientWidth,r.height=r.clientHeight;const o=r.transferControlToOffscreen();e.postMessage({canvas:o},[o]);const s=()=>{e.postMessage({width:r.clientWidth,height:r.clientHeight})};window.addEventListener("resize",s,{passive:!0});const c=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};r.addEventListener("wheel",c);const i=t=>{e.postMessage({x:t.movementX,y:t.movementY})};r.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",i,{passive:!0}),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",i)),{once:!0,passive:!0})}));let d;return r.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const l=t.touches[0];t.preventDefault();const r={x:l.screenX,y:l.screenY};d=t=>{const{newX:l,newY:n}=((t,l)=>{const r=t.touches[0];return e.postMessage({x:r.screenX-l.x,y:r.screenY-l.y}),{newX:r.screenX,newY:r.screenY}})(t,r);r.x=l,r.y=n},window.addEventListener("touchmove",d,{passive:!0}),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",d)}),{passive:!0})}),{passive:!0}),()=>{window&&(window.removeEventListener("resize",s),window.removeEventListener("mousemove",i),window.removeEventListener("touchmove",d),r&&r.removeEventListener("wheel",c),e.terminate())}}),[]),r.createElement("div",{className:"h-full w-full relative"},r.createElement("canvas",{ref:a,className:"bg-main-100 h-91 w-full flex items-center justify-center cursor-pointer"}),e?null:r.createElement(c,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var d=e=>{let{heightClass:t="min-h-91",title:l,className:a,borderBottom:c,borderTop:d,babylon:m,image:f,titleBlockClassName:u,children:p}=e;const{0:h,1:b}=(0,r.useState)("translate-y-full");return(0,r.useEffect)((()=>{b("translate-y-0")}),[]),r.createElement("div",{className:`w-full flex items-center bg-main-100 relative overflow-hidden ${t} ${a}`},d?r.createElement(o(),{className:"absolute top-0 left-0 right-0 w-full"}):null,r.createElement(s.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center justify-between text-secondary-100 flex-grow gap-y-8"},r.createElement("div",{className:`flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full ${u||"lg:w-1/2"} bg-main-100`},r.createElement("h1",{className:"overflow-hidden w-full"},r.createElement("span",{className:`banner-title inline-block text-3xl lg:text-4xl w-full text-center lg:text-start transition-all duration-1000 font-light ${h}`},l))),m?r.createElement("div",{className:"w-[85%] lg:w-1/2 lg:h-full hidden md:flex -order-1 lg:order-none"},r.createElement(i,null)):null,f?r.createElement("div",{className:"w-[220px] lg:w-1/2 lg:h-full flex justify-center lg:justify-end items-center -order-1 lg:order-none"},r.createElement(n.G,{image:f,alt:"cover",className:"object-contain aspect-square"})):null,p?r.createElement("div",{className:"w-full lg:h-full flex justify-center lg:justify-start items-center"},p):null),c?r.createElement(o(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},8039:function(e,t,l){"use strict";l.d(t,{Z:function(){return m}});var r=l(7294),n=l(4160),a=l(8322),o=l(216);var s=e=>{let{id:t,type:l,label:n,placeholder:a,className:o,placeholderIndentClass:s="placeholder:left-[60px]",...c}=e;return r.createElement("div",{className:"relative w-full h-10"},r.createElement("input",Object.assign({id:t,type:l,placeholder:null!=a?a:" "},c,{className:`peer h-full w-full rounded-lg border-solid border border-main-100 border-t-secondary-100 px-4 py-2 text-sm font-medium text-main-100 placeholder-shown:border placeholder-shown:border-main-100 focus:border-t-secondary-100 focus:border-main-100 bg-secondary-100 placeholder:absolute ${s} focus:placeholder:left-4 placeholder:transition-all placeholder:italic placeholder:text-main-10 placeholder:font-light`})),r.createElement("label",{htmlFor:t,className:"font-medium before:content-[' '] after:content-[' '] pointer-events-none absolute leading-tight text-xs left-0 -top-[6.5px] flex h-full w-full select-none text-main-100 transition-all before:pointer-events-none before:mt-[6.5px] before:mr-1 before:box-border before:block before:h-1.5 before:w-2.5 before:rounded-tl-lg after:pointer-events-none after:mt-[6.5px] after:ml-1 after:box-border after:block after:h-1.5 after:w-2.5 after:flex-grow after:rounded-tr-lg peer-placeholder-shown:text-sm peer-placeholder-shown:leading-[3.9] peer-placeholder-shown:text-main-100 peer-placeholder-shown:before:border-0 peer-focus:text-main-100 peer-placeholder-shown:after:border-0 peer-focus:text-xs peer-focus:leading-tight before:border-t before:border-l before:border-main-100 after:border-t after:border-r after:border-main-100 peer-focus:before:border-t peer-focus:before:border-l peer-focus:before:border-main-100 peer-focus:after:border-t peer-focus:after:border-r peer-focus:after:border-main-100"},n))};var c=e=>{let{id:t,label:l,placeholder:n,className:a,placeholderIndentClass:o="placeholder:left-[60px]",rows:s=1,...c}=e;return r.createElement("div",{className:"relative w-full min-h-10"},r.createElement("textarea",Object.assign({id:t,placeholder:null!=n?n:" ",rows:s},c,{className:`peer h-full w-full rounded-lg border-solid border border-main-100 border-t-secondary-100 px-4 py-2 text-sm font-medium text-main-100 placeholder-shown:border placeholder-shown:border-main-100 focus:border-t-secondary-100 focus:border-main-100 bg-secondary-100 placeholder:absolute ${o} focus:placeholder:left-4 placeholder:transition-all placeholder:italic placeholder:text-main-10 placeholder:font-light`})),r.createElement("label",{htmlFor:t,className:"font-medium before:content-[' '] after:content-[' '] pointer-events-none absolute leading-tight text-xs left-0 -top-[6.5px] flex h-full w-full select-none text-main-100 transition-all before:pointer-events-none before:mt-[6.5px] before:mr-1 before:box-border before:block before:h-1.5 before:w-2.5 before:rounded-tl-lg after:pointer-events-none after:mt-[6.5px] after:ml-1 after:box-border after:block after:h-1.5 after:w-2.5 after:flex-grow after:rounded-tr-lg peer-placeholder-shown:text-sm peer-placeholder-shown:leading-[3.9] peer-placeholder-shown:text-main-100 peer-placeholder-shown:before:border-0 peer-focus:text-main-100 peer-placeholder-shown:after:border-0 peer-focus:text-xs peer-focus:leading-tight before:border-t before:border-l before:border-main-100 after:border-t after:border-r after:border-main-100 peer-focus:before:border-t peer-focus:before:border-l peer-focus:before:border-main-100 peer-focus:after:border-t peer-focus:after:border-r peer-focus:after:border-main-100"},l))};var i=e=>{let{id:t,name:l,label:n,options:a,placeholder:o,className:s,...c}=e;return r.createElement("div",{className:"relative w-full h-10"},r.createElement("select",Object.assign({disabled:!0,id:t,name:l,placeholder:null!=o?o:" "},c,{value:"",className:"peer h-full w-full rounded-lg border-solid border border-main-100 border-t-main-100 px-4 py-2 text-sm font-medium text-main-100 placeholder-shown:border placeholder-shown:border-main-100 focus:border-t-secondary-100 focus:border-main-100 bg-secondary-100 placeholder:absolute focus:placeholder:left-4 placeholder:transition-all placeholder:italic placeholder:text-main-10 placeholder:font-light"}),r.createElement("option",{hidden:!0,disabled:!0,value:""})),r.createElement("label",{htmlFor:t,className:"font-medium before:content-[' '] after:content-[' '] pointer-events-none absolute left-0 -top-[6.5px] flex h-full w-full select-none text-main-100 transition-all before:pointer-events-none before:mt-[6.5px] before:mr-1 before:box-border before:block before:h-1.5 before:w-2.5 before:rounded-tl-lg after:pointer-events-none after:mt-[6.5px] after:ml-1 after:box-border after:block after:h-1.5 after:w-2.5 after:flex-grow after:rounded-tr-lg text-sm leading-[3.9] text-main-100 before:border-0 after:border-0 peer-focus:text-main-100 peer-focus:text-xs peer-focus:leading-tight before:border-t before:border-l before:border-main-100 after:border-t after:border-r after:border-main-100 peer-focus:before:border-t peer-focus:before:border-l peer-focus:before:border-main-100 peer-focus:after:border-t peer-focus:after:border-r peer-focus:after:border-main-100"},n,r.createElement("span",{className:"italic text-main-10 font-light pl-1 group-[.hide]:hidden "},o)))},d=l(6061);var m=e=>{var t,l,m,u,p,h,b,v,x,g,w,E;let{lang:y}=e;const N=(0,n.K2)(f),k=null==N||null===(t=N.markupData)||void 0===t||null===(l=t.nodes)||void 0===l||null===(m=l.find((e=>e.fields.language===y)))||void 0===m||null===(u=m.frontmatter)||void 0===u?void 0:u.contactForm;let C;return C=y in N?null==N||null===(p=N[y])||void 0===p||null===(h=p.nodes)||void 0===h||null===(b=h[0])||void 0===b?void 0:b.html:null==N||null===(v=N.en)||void 0===v||null===(x=v.nodes)||void 0===x||null===(g=x[0])||void 0===g?void 0:g.html,r.createElement(r.Fragment,null,k?r.createElement(o.Z,{id:"contact-form",theme:a.Q.light,title:null!==(w=null==k?void 0:k.sectionTitle)&&void 0!==w?w:"Let’s discuss your project",linkTitle:null!==(E=null==k?void 0:k.sectionLinkTitle)&&void 0!==E?E:"we’ll be glad to hear from you!",section:"/#contact-form",isArrowLink:!1},r.createElement("div",{className:"flex flex-col md:flex-row gap-10 lg:gap-28 justify-center max-w-4.5xl items-stretch"},C?r.createElement("p",{className:"contact-form-description flex-1 text-xl font-light w-full",dangerouslySetInnerHTML:{__html:C}}):null,r.createElement("form",{action:"submit",className:"flex-1 flex flex-col gap-2.5"},r.createElement(s,{id:"email",type:"email",name:"email",label:k.emailLabel}),r.createElement(s,{id:"companyName",type:"text",name:"companyName",label:k.companyNameLabel}),r.createElement(s,{id:"name",type:"text",name:"name",label:k.nameLabel}),r.createElement(i,{id:"services",name:"services",label:k.servicesLabel,options:["Web development","QA","Mobile development","DevOps","UX/UI"],placeholder:k.selectPlaceholder}),r.createElement(i,{id:"budget",name:"budget",label:k.budgetLabel,options:["$5000","$15000","$50000"],placeholder:k.selectPlaceholder}),r.createElement(c,{name:"description",label:k.descriptionLabel,placeholder:k.descriptionPlaceholder,placeholderIndentClass:"placeholder:left-[150px]",rows:5}),r.createElement("label",{className:"flex items-center gap-2 pt-2.5 text-xs font-normal"},r.createElement("input",{type:"checkbox",className:"h-5 w-5 accent-main-100"})," ",r.createElement("span",null,k.privacyPolicyCheckboxLabel)),r.createElement("label",{className:"flex items-center gap-2 text-xs font-normal"},r.createElement("input",{type:"checkbox",className:"h-5 w-5 accent-main-100"})," ",r.createElement("span",null,k.adsCheckboxLabel)),r.createElement("div",{className:"flex items-center justify-center pt-5"},r.createElement(d.Z,{title:k.buttonLabel,className:"px-6"}))))):null)};const f="1713862793"},216:function(e,t,l){"use strict";var r=l(7294),n=l(4160),a=l(8322),o=l(4471),s=l.n(o),c=l(1164);t.Z=e=>{let{section:t,theme:l,title:o,linkTitle:i,className:d,children:m,borderT:f,borderB:u,isArrowLink:p=!0,...h}=e;const b=l===a.Q.dark?"text-secondary-100":"text-main-100",v=l===a.Q.dark?"text-secondary-100 hover:text-secondary-70":"text-main-100 hover:text-main-10",x=l===a.Q.dark?"bg-main-100":"text-secondary-100";return r.createElement(r.Fragment,null,f?r.createElement(s(),{className:"w-full"}):null,r.createElement("section",Object.assign({className:`w-full py-16 ${x} ${d}`},h),r.createElement(c.Z,{maxWidthClass:"max-w-[1280px]",className:`flex-col items-center ${b}`},r.createElement("div",{className:"flex justify-between w-full items-center pb-8 sm:pb-14 flex-col sm:flex-row gap-5"},r.createElement("h2",{className:`text-4xl font-bold w-full ${b}`},o.toUpperCase()),t?r.createElement(n.rU,{to:`/${t}`,className:`w-full sm:w-auto text-start sm:text-end text-xl font-normal cursor-pointer whitespace-nowrap ${v}`},i?i.toUpperCase():"DISCOVER MORE"," ",p?r.createElement(r.Fragment,null,"→"):null):null),m)),u?r.createElement(s(),{className:"w-full"}):null)}},3793:function(e,t,l){"use strict";var r=l(7294),n=l(4160),a=l(6488),o=l(9165),s=l(8322);t.Z=e=>{let{post:t,theme:l,className:c,markupData:i,lang:d}=e;const{date:m,title:f,text:u}=t.frontmatter,p=Math.floor(t.wordCount.words/200),h=p||1,b=l===s.Q.light?"text-main-100":"text-secondary-100",v=l===s.Q.light?"text-main-10":"text-secondary-10",x=l===s.Q.light?"hover:text-main-10":"hover:text-secondary-10";return r.createElement(n.rU,{to:`/blog/${t.id}`,className:`flex flex-col sm:flex-row w-full justify-center gap-5 md:gap-14 ${b} ${x} ${c}`,itemScope:!0,itemType:"https://schema.org/Article"},r.createElement("div",{className:"flex flex-col w-full max-w-[400px] gap-2.5 sm:gap-5"},r.createElement("p",{itemProp:"dateCreated",className:`text-lg ${v}`},m),r.createElement("h3",{itemProp:"headline",className:`text-3xl font-semibold ${b}`},f)),r.createElement("div",{className:"flex flex-col w-full max-w-[500px] gap-5"},r.createElement("p",{className:`font-normal text-base ${b}`,itemProp:"abstract"},u.split(" ").slice(0,70).join(" "),"..."),r.createElement("div",{className:"flex w-full items-center justify-between"},r.createElement("div",{className:"flex items-center gap-3 text-sm font-bold"},r.createElement("span",null,null==i?void 0:i.readPostLink),r.createElement(a.p,{size:14})),r.createElement("p",{className:`text-sm ${v}`},`${null==i?void 0:i.readingTimeTitle}: ~${h} ${null==i?void 0:i.readingTimeUnits}.`))),r.createElement(o.Lx,{itemProp:"copyrightHolder",lang:d}))}},6745:function(e,t,l){"use strict";var r=l(7294),n=l(4160),a=l(8032),o=l(8322),s=l(6488),c=l(9165);t.Z=e=>{let{project:t,className:l,theme:i,lang:d}=e;const m=(0,a.c)(t.frontmatter.cover),{title:f,teamSize:u,duration:p}=t.frontmatter,h=i===o.Q.light?"text-main-100 hover:text-main-10":"text-secondary-100 hover:text-secondary-10",b=i===o.Q.light?"bg-secondary-100 hover:bg-secondary-100":"bg-main-100 hover:bg-main-100";return r.createElement(n.rU,{to:`/projects/${t.id}`,className:`${b} ${h} flex flex-col justify-between hover:text-main-10 rounded-2xl p-2.5 gap-2.5 ${l}`,itemScope:!0,itemType:"https://schema.org/CreativeWork"},r.createElement("div",{className:"w-full h-full relative"},m?r.createElement(a.G,{image:m,alt:"cover",itemProp:"image",className:"object-contain w-full rounded-[10px]"}):null,r.createElement("div",{className:"absolute left-2 bottom-2 flex items-center gap-2.5 z-50"},r.createElement("p",{className:"backdrop-blur-sm backdrop-brightness-75 text-secondary-100 px-5 h-10 flex items-center rounded-lg"},p),r.createElement("p",{className:"backdrop-blur-sm backdrop-brightness-75 text-secondary-100 px-5 h-10 flex items-center rounded-lg"},u))),r.createElement("div",{className:"flex px-2.5 py-1 items-center grow"},r.createElement("h3",{className:"text-base grow font-medium h-full",itemProp:"description"},f),r.createElement(s.p,{size:20})),r.createElement(c.Lx,{itemProp:"author",lang:d}))}},171:function(e,t,l){"use strict";l.r(t),l.d(t,{Head:function(){return P},default:function(){return Z}});var r=l(7294),n=l(9720),a=l(1929),o=l(4160),s=l(6838),c=l(7576),i=l(2074);var d=(0,r.forwardRef)(((e,t)=>{let{className:l,children:n}=e;const[a,o]=(0,c.Z)({loop:!0,dragFree:!0,duration:1e4,align:0},[(0,i.Z)({delay:0,stopOnInteraction:!1,stopOnMouseEnter:!0})]);return r.createElement("div",{className:`overflow-hidden ${l}`,ref:a},r.createElement("div",{ref:t,className:"h-full flex items-center",onMouseEnter:()=>{null==o||o.internalEngine().animation.stop()},onMouseLeave:()=>{null==o||o.internalEngine().animation.start()}},n))})),m=l(4471),f=l.n(m);var u=e=>{let{children:t}=e;return r.createElement("div",{className:"h-full shrink-0 min-w-0 cursor-pointer flex flex-col justify-between items-center content-center w-[192px] md:w-[256px] xl:w-[256px] 3xl:w-[400px]"},r.createElement(f(),{className:"min-w-0 shrink-0 w-full"}),r.createElement("p",{className:"text-lg font-semibold whitespace-nowrap"},t),r.createElement(f(),{className:"min-w-0 shrink-0 w-full"}))};var p=()=>{var e,t;const l=(0,o.K2)(h),n=null==l||null===(e=l.markdownRemark)||void 0===e||null===(t=e.frontmatter)||void 0===t?void 0:t.stack;return r.createElement(r.Fragment,null,n?r.createElement("section",{className:"h-16 flex flex-col relative"},r.createElement(d,{className:"grow"},n.map((e=>r.createElement(u,{key:e},e))),r.createElement(u,null,r.createElement(s.z,{size:32,className:"-rotate-90"})))):null)};const h="3518807326";var b=l(3793),v=l(216),x=l(8322);var g=e=>{var t,l,n,a,s,c,i,d,m,f;let{lang:u}=e;const p=(0,o.K2)(w),h=null==p||null===(t=p.markupData)||void 0===t||null===(l=t.nodes)||void 0===l||null===(n=l.find((e=>e.fields.language===u)))||void 0===n||null===(a=n.frontmatter)||void 0===a?void 0:a.blog;let g;return g=u in p?null==p||null===(s=p[u])||void 0===s||null===(c=s.nodes)||void 0===c?void 0:c[0]:null==p||null===(i=p.en)||void 0===i||null===(d=i.nodes)||void 0===d?void 0:d[0],r.createElement(r.Fragment,null,g?r.createElement(v.Z,{theme:x.Q.dark,title:null!==(m=null==h?void 0:h.blogSectionTitle)&&void 0!==m?m:"new in our blog",linkTitle:null!==(f=null==h?void 0:h.blogSectionLinkTitle)&&void 0!==f?f:"all posts",section:"blog",borderB:!0},r.createElement(b.Z,{lang:u,post:g,theme:x.Q.dark,markupData:h})):null)};const w="641077248";var E=l(6745);var y=e=>{var t,l,n,a,s,c,i,d;let{excludeId:m,lang:f}=e;const u=(0,o.K2)(N),p=null==u||null===(t=u.markupData)||void 0===t||null===(l=t.nodes)||void 0===l||null===(n=l.find((e=>e.fields.language===f)))||void 0===n||null===(a=n.frontmatter)||void 0===a?void 0:a.projects;let h;return h=f in u?null==u||null===(s=u[f])||void 0===s?void 0:s.nodes:null===(c=u.en)||void 0===c?void 0:c.nodes,h?(m&&(h=h.filter((e=>e.id!==m))),r.createElement(v.Z,{theme:x.Q.dark,section:"projects",title:null!==(i=null==p?void 0:p.moreProjectsSectionTitle)&&void 0!==i?i:"OUR PROJECTS",linkTitle:null!==(d=null==p?void 0:p.moreProjectsSectionLinkTitle)&&void 0!==d?d:"Discover MORE",borderB:!0},r.createElement("div",{className:"flex justify-between items-center gap-5 lg:gap-10 flex-col sm:flex-row items-stretch"},h.map(((e,t)=>{if(3!==t)return r.createElement(E.Z,{key:e.id,project:e,lang:f,theme:x.Q.light,className:"flex-1 sm:last:hidden lg:last:flex"})}))))):r.createElement(r.Fragment,null)};const N="2041872833";var k=l(9165),C=l(8032),L=l(4032);var $=e=>{let{review:{frontmatter:{company:t,person:l,position:n,location:a,image:o},html:s},className:c}=e;const i=(0,C.c)(o);return r.createElement("div",{className:`flex flex-col p-6 gap-3.5 bg-secondary-100 shadow-[0px_2px_14px_rgba(68,68,68,0.25)] rounded-2.5xl text-main-100 ${c}`},r.createElement("div",{className:"flex w-full items-start"},i?r.createElement(C.G,{image:i,alt:t,className:"h-[72px] w-[72px] object-cover rounded-full mr-3.5"}):null,r.createElement("div",{className:"flex-1 font-normal text-base text-main-10 leading-5"},r.createElement("h3",{className:"font-bold text-xl text-main-100"},l),r.createElement("h4",null,r.createElement("span",null,n),", ",r.createElement("span",null,t)),r.createElement("h4",null,a)),r.createElement(L.t,{size:25,color:"#E4E4E4"})),r.createElement("div",{className:"review-body text-sm",dangerouslySetInnerHTML:{__html:s}}))};var j=e=>{var t,l,n,a,s,c,i,d,m;let{lang:f}=e;const u=(0,o.K2)(T),p=null==u||null===(t=u.markupData)||void 0===t||null===(l=t.nodes)||void 0===l||null===(n=l.find((e=>e.fields.language===f)))||void 0===n||null===(a=n.frontmatter)||void 0===a?void 0:a.reviews;let h;return h=f in u?null==u||null===(s=u[f])||void 0===s||null===(c=s.nodes)||void 0===c?void 0:c.sort(((e,t)=>e.frontmatter.person>t.frontmatter.person?1:-1)):null==u||null===(i=u.en)||void 0===i||null===(d=i.nodes)||void 0===d?void 0:d.sort(((e,t)=>e.frontmatter.person>t.frontmatter.person?1:-1)),r.createElement(r.Fragment,null,h?r.createElement(v.Z,{id:"reviews",theme:x.Q.light,title:null!==(m=null==p?void 0:p.title)&&void 0!==m?m:"our clients' testimonials",section:"/#reviews",linkTitle:null==p?void 0:p.linkTitle,isArrowLink:!1,borderB:!0},r.createElement("div",{className:"flex justify-between items-start gap-5 lg:gap-10 flex-col md:flex-row"},h.map((e=>r.createElement($,{review:e,key:e.id,className:"flex-1"}))))):null)};const T="1287994371";var M=l(8039);var Z=e=>{let{pageContext:{markupData:t,lang:l}}=e;return r.createElement(n.Pd.Provider,{value:{style:{verticalAlign:"middle"}}},r.createElement(a.Z,{title:t.bannerTitle,babylon:!0}),r.createElement(p,null),r.createElement(y,{lang:l}),r.createElement(j,{lang:l}),r.createElement(g,{lang:l}),r.createElement(M.Z,{lang:l}))};const P=e=>{let{pageContext:{markupData:t,site:l,lang:n},location:a}=e;return r.createElement(k.Ag,{title:`${t.head} | ${t.bannerTitle.toUpperCase()}`,description:t.metaDescription,siteUrl:l.siteUrl,path:a.pathname,lang:n})}},8322:function(e,t,l){"use strict";l.d(t,{Q:function(){return r}});let r=function(e){return e.dark="dark",e.light="light",e}({})},4471:function(e,t,l){var r=l(7294);function n(e){return r.createElement("svg",e,[r.createElement("line",{width:"800",height:"8",stroke:"#f9f9f9",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),r.createElement("line",{width:"800",height:"8",stroke:"#111111",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}n.defaultProps={height:"8"},e.exports=n,n.default=n}}]); -//# sourceMappingURL=component---src-pages-templates-index-tsx-f800793638eeb52e7347.js.map \ No newline at end of file +(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[832],{6838:function(e,t,l){var r=l(9720).w_;e.exports.z=function(e){return r({tag:"svg",attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M304 280h416c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1-17.2-31.5-42.5-56.8-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9-31.5 17.2-56.8 42.5-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z"}},{tag:"path",attr:{d:"M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 34.8-28.2 63-63 63H232c-34.8 0-63-28.2-63-63 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7 6 17.2 13.6 33.6 22.7 49 24.3 41.5 59 76.2 100.5 100.5 28.9 16.9 61 28.8 95.3 34.5 4.4 0 8-3.6 8-8V484c0-4.4 3.6-8 8-8h60c4.4 0 8 3.6 8 8v464.2c0 4.4 3.6 8 8 8 34.3-5.7 66.4-17.6 95.3-34.5 41.5-24.3 76.2-59 100.5-100.5 9.1-15.5 16.7-31.9 22.7-49C812.1 793.1 836 831.8 836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"}}]})(e)}},6488:function(e,t,l){var r=l(9720).w_;e.exports.p=function(e){return r({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M6.5 4a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V4.5H7a.5.5 0 01-.5-.5z",clipRule:"evenodd"}},{tag:"path",attr:{fillRule:"evenodd",d:"M12.354 3.646a.5.5 0 010 .708l-9 9a.5.5 0 01-.708-.708l9-9a.5.5 0 01.708 0z",clipRule:"evenodd"}}]})(e)}},4032:function(e,t,l){var r=l(9720).w_;e.exports.t=function(e){return r({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z"}}]})(e)}},1929:function(e,t,l){"use strict";l.d(t,{Z:function(){return d}});var r=l(7294),n=l(8032),a=l(4471),o=l.n(a),s=l(1164);var c=e=>{let{className:t}=e;return r.createElement("div",{className:`flex justify-center items-center h-full w-full ${t}`},r.createElement("svg",{"aria-hidden":"true",className:"w-8 h-8 mr-2 text-main-10 animate-spin dark:text-secondary-10 fill-main-100",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),r.createElement("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})))};var i=()=>{const{0:e,1:t}=(0,r.useState)(!1),n=(0,r.useRef)(!0),a=(0,r.useRef)(null);return(0,r.useEffect)((()=>{if(!n.current||!a.current||"undefined"==typeof window)return;n.current=!1;const e=new Worker(new URL(l.p+l.u(475),l.b),{type:void 0});e.onmessage=e=>{let{data:l}=e;"ready"===l&&t(!0)};const r=a.current;r.width=r.clientWidth,r.height=r.clientHeight;const o=r.transferControlToOffscreen();e.postMessage({canvas:o},[o]);const s=()=>{e.postMessage({width:r.clientWidth,height:r.clientHeight})};window.addEventListener("resize",s,{passive:!0});const c=t=>{t.preventDefault(),e.postMessage({wheel:t.deltaY})};r.addEventListener("wheel",c);const i=t=>{e.postMessage({x:t.movementX,y:t.movementY})};r.addEventListener("mousedown",(e=>{e.preventDefault(),window.addEventListener("mousemove",i,{passive:!0}),window.addEventListener("mouseup",(()=>window.removeEventListener("mousemove",i)),{once:!0,passive:!0})}));let d;return r.addEventListener("touchstart",(t=>{if(1!==t.touches.length)return;const l=t.touches[0];t.preventDefault();const r={x:l.screenX,y:l.screenY};d=t=>{const{newX:l,newY:n}=((t,l)=>{const r=t.touches[0];return e.postMessage({x:r.screenX-l.x,y:r.screenY-l.y}),{newX:r.screenX,newY:r.screenY}})(t,r);r.x=l,r.y=n},window.addEventListener("touchmove",d,{passive:!0}),window.addEventListener("touchend",(()=>{window.removeEventListener("touchmove",d)}),{passive:!0})}),{passive:!0}),()=>{window&&(window.removeEventListener("resize",s),window.removeEventListener("mousemove",i),window.removeEventListener("touchmove",d),r&&r.removeEventListener("wheel",c),e.terminate())}}),[]),r.createElement("div",{className:"h-full w-full relative"},r.createElement("canvas",{ref:a,className:"bg-main-100 h-91 w-full flex items-center justify-center cursor-pointer"}),e?null:r.createElement(c,{className:"absolute top-0 left-0 right-0 bottom-0 z-10"}))};var d=e=>{let{heightClass:t="min-h-91",title:l,className:a,borderBottom:c,borderTop:d,babylon:m,image:f,titleBlockClassName:u,children:p}=e;const{0:h,1:b}=(0,r.useState)("translate-y-full");return(0,r.useEffect)((()=>{b("translate-y-0")}),[]),r.createElement("div",{className:`w-full flex items-center bg-main-100 relative overflow-hidden ${t} ${a}`},d?r.createElement(o(),{className:"absolute top-0 left-0 right-0 w-full"}):null,r.createElement(s.Z,{className:"h-full flex flex-col lg:flex-row py-12 lg:py-0 items-center justify-between text-secondary-100 flex-grow gap-y-8"},r.createElement("div",{className:`flex flex-col overflow-hidden items-left h-full justify-center text-secondary-100 h-full w-full ${u||"lg:w-1/2"} bg-main-100`},r.createElement("h1",{className:"overflow-hidden w-full"},r.createElement("span",{className:`banner-title inline-block text-3xl lg:text-4xl w-full text-center lg:text-start transition-all duration-1000 font-light ${h}`},l))),m?r.createElement("div",{className:"w-[85%] lg:w-1/2 lg:h-full hidden md:flex -order-1 lg:order-none"},r.createElement(i,null)):null,f?r.createElement("div",{className:"w-[220px] lg:w-1/2 lg:h-full flex justify-center lg:justify-end items-center -order-1 lg:order-none"},r.createElement(n.G,{image:f,alt:"cover",className:"object-contain aspect-square"})):null,p?r.createElement("div",{className:"w-full lg:h-full flex justify-center lg:justify-start items-center"},p):null),c?r.createElement(o(),{className:"absolute bottom-0 left-0 right-0 w-full"}):null)}},8039:function(e,t,l){"use strict";l.d(t,{Z:function(){return m}});var r=l(7294),n=l(4160),a=l(8322),o=l(216);var s=e=>{let{id:t,type:l,label:n,placeholder:a,className:o,placeholderIndentClass:s="placeholder:left-[60px]",...c}=e;return r.createElement("div",{className:"relative w-full h-10"},r.createElement("input",Object.assign({id:t,type:l,placeholder:null!=a?a:" "},c,{className:`peer h-full w-full rounded-lg border-solid border border-main-100 border-t-secondary-100 px-4 py-2 text-sm font-medium text-main-100 placeholder-shown:border placeholder-shown:border-main-100 focus:border-t-secondary-100 focus:border-main-100 bg-secondary-100 placeholder:absolute ${s} focus:placeholder:left-4 placeholder:transition-all placeholder:italic placeholder:text-main-10 placeholder:font-light`})),r.createElement("label",{htmlFor:t,className:"font-medium before:content-[' '] after:content-[' '] pointer-events-none absolute leading-tight text-xs left-0 -top-[6.5px] flex h-full w-full select-none text-main-100 transition-all before:pointer-events-none before:mt-[6.5px] before:mr-1 before:box-border before:block before:h-1.5 before:w-2.5 before:rounded-tl-lg after:pointer-events-none after:mt-[6.5px] after:ml-1 after:box-border after:block after:h-1.5 after:w-2.5 after:flex-grow after:rounded-tr-lg peer-placeholder-shown:text-sm peer-placeholder-shown:leading-[3.9] peer-placeholder-shown:text-main-100 peer-placeholder-shown:before:border-0 peer-focus:text-main-100 peer-placeholder-shown:after:border-0 peer-focus:text-xs peer-focus:leading-tight before:border-t before:border-l before:border-main-100 after:border-t after:border-r after:border-main-100 peer-focus:before:border-t peer-focus:before:border-l peer-focus:before:border-main-100 peer-focus:after:border-t peer-focus:after:border-r peer-focus:after:border-main-100"},n))};var c=e=>{let{id:t,label:l,placeholder:n,className:a,placeholderIndentClass:o="placeholder:left-[60px]",rows:s=1,...c}=e;return r.createElement("div",{className:"relative w-full min-h-10"},r.createElement("textarea",Object.assign({id:t,placeholder:null!=n?n:" ",rows:s},c,{className:`peer h-full w-full rounded-lg border-solid border border-main-100 border-t-secondary-100 px-4 py-2 text-sm font-medium text-main-100 placeholder-shown:border placeholder-shown:border-main-100 focus:border-t-secondary-100 focus:border-main-100 bg-secondary-100 placeholder:absolute ${o} focus:placeholder:left-4 placeholder:transition-all placeholder:italic placeholder:text-main-10 placeholder:font-light`})),r.createElement("label",{htmlFor:t,className:"font-medium before:content-[' '] after:content-[' '] pointer-events-none absolute leading-tight text-xs left-0 -top-[6.5px] flex h-full w-full select-none text-main-100 transition-all before:pointer-events-none before:mt-[6.5px] before:mr-1 before:box-border before:block before:h-1.5 before:w-2.5 before:rounded-tl-lg after:pointer-events-none after:mt-[6.5px] after:ml-1 after:box-border after:block after:h-1.5 after:w-2.5 after:flex-grow after:rounded-tr-lg peer-placeholder-shown:text-sm peer-placeholder-shown:leading-[3.9] peer-placeholder-shown:text-main-100 peer-placeholder-shown:before:border-0 peer-focus:text-main-100 peer-placeholder-shown:after:border-0 peer-focus:text-xs peer-focus:leading-tight before:border-t before:border-l before:border-main-100 after:border-t after:border-r after:border-main-100 peer-focus:before:border-t peer-focus:before:border-l peer-focus:before:border-main-100 peer-focus:after:border-t peer-focus:after:border-r peer-focus:after:border-main-100"},l))};var i=e=>{let{id:t,name:l,label:n,options:a,placeholder:o,className:s,...c}=e;return r.createElement("div",{className:"relative w-full h-10"},r.createElement("select",Object.assign({disabled:!0,id:t,name:l,placeholder:null!=o?o:" "},c,{value:"",className:"peer h-full w-full rounded-lg border-solid border border-main-100 border-t-main-100 px-4 py-2 text-sm font-medium text-main-100 placeholder-shown:border placeholder-shown:border-main-100 focus:border-t-secondary-100 focus:border-main-100 bg-secondary-100 placeholder:absolute focus:placeholder:left-4 placeholder:transition-all placeholder:italic placeholder:text-main-10 placeholder:font-light"}),r.createElement("option",{hidden:!0,disabled:!0,value:""})),r.createElement("label",{htmlFor:t,className:"font-medium before:content-[' '] after:content-[' '] pointer-events-none absolute left-0 -top-[6.5px] flex h-full w-full select-none text-main-100 transition-all before:pointer-events-none before:mt-[6.5px] before:mr-1 before:box-border before:block before:h-1.5 before:w-2.5 before:rounded-tl-lg after:pointer-events-none after:mt-[6.5px] after:ml-1 after:box-border after:block after:h-1.5 after:w-2.5 after:flex-grow after:rounded-tr-lg text-sm leading-[3.9] text-main-100 before:border-0 after:border-0 peer-focus:text-main-100 peer-focus:text-xs peer-focus:leading-tight before:border-t before:border-l before:border-main-100 after:border-t after:border-r after:border-main-100 peer-focus:before:border-t peer-focus:before:border-l peer-focus:before:border-main-100 peer-focus:after:border-t peer-focus:after:border-r peer-focus:after:border-main-100"},n,r.createElement("span",{className:"italic text-main-10 font-light pl-1 group-[.hide]:hidden "},o)))},d=l(6061);var m=e=>{var t,l,m,u,p,h,b,v,x,g,w,E;let{lang:y}=e;const N=(0,n.K2)(f),k=null==N||null===(t=N.markupData)||void 0===t||null===(l=t.nodes)||void 0===l||null===(m=l.find((e=>e.fields.language===y)))||void 0===m||null===(u=m.frontmatter)||void 0===u?void 0:u.contactForm;let C;return C=y in N?null==N||null===(p=N[y])||void 0===p||null===(h=p.nodes)||void 0===h||null===(b=h[0])||void 0===b?void 0:b.html:null==N||null===(v=N.en)||void 0===v||null===(x=v.nodes)||void 0===x||null===(g=x[0])||void 0===g?void 0:g.html,r.createElement(r.Fragment,null,k?r.createElement(o.Z,{id:"contact-form",theme:a.Q.light,title:null!==(w=null==k?void 0:k.sectionTitle)&&void 0!==w?w:"Let’s discuss your project",linkTitle:null!==(E=null==k?void 0:k.sectionLinkTitle)&&void 0!==E?E:"we’ll be glad to hear from you!",section:"/#contact-form",isArrowLink:!1},r.createElement("div",{className:"flex flex-col md:flex-row gap-10 lg:gap-28 justify-center max-w-4.5xl items-stretch"},C?r.createElement("p",{className:"contact-form-description flex-1 text-xl font-light w-full",dangerouslySetInnerHTML:{__html:C}}):null,r.createElement("form",{action:"submit",className:"flex-1 flex flex-col gap-2.5"},r.createElement(s,{id:"email",type:"email",name:"email",label:k.emailLabel}),r.createElement(s,{id:"companyName",type:"text",name:"companyName",label:k.companyNameLabel}),r.createElement(s,{id:"name",type:"text",name:"name",label:k.nameLabel}),r.createElement(i,{id:"services",name:"services",label:k.servicesLabel,options:["Web development","QA","Mobile development","DevOps","UX/UI"],placeholder:k.selectPlaceholder}),r.createElement(i,{id:"budget",name:"budget",label:k.budgetLabel,options:["$5000","$15000","$50000"],placeholder:k.selectPlaceholder}),r.createElement(c,{name:"description",label:k.descriptionLabel,placeholder:k.descriptionPlaceholder,placeholderIndentClass:"placeholder:left-[150px]",rows:5}),r.createElement("label",{className:"flex items-center gap-2 pt-2.5 text-xs font-normal"},r.createElement("input",{type:"checkbox",className:"h-5 w-5 accent-main-100"})," ",r.createElement("span",null,k.privacyPolicyCheckboxLabel)),r.createElement("label",{className:"flex items-center gap-2 text-xs font-normal"},r.createElement("input",{type:"checkbox",className:"h-5 w-5 accent-main-100"})," ",r.createElement("span",null,k.adsCheckboxLabel)),r.createElement("div",{className:"flex items-center justify-center pt-5"},r.createElement(d.Z,{title:k.buttonLabel,className:"px-6"}))))):null)};const f="1713862793"},216:function(e,t,l){"use strict";var r=l(7294),n=l(4160),a=l(8322),o=l(4471),s=l.n(o),c=l(1164);t.Z=e=>{let{section:t,theme:l,title:o,linkTitle:i,className:d,children:m,borderT:f,borderB:u,isArrowLink:p=!0,...h}=e;const b=l===a.Q.dark?"text-secondary-100":"text-main-100",v=l===a.Q.dark?"text-secondary-100 hover:text-secondary-70":"text-main-100 hover:text-main-10",x=l===a.Q.dark?"bg-main-100":"text-secondary-100";return r.createElement(r.Fragment,null,f?r.createElement(s(),{className:"w-full"}):null,r.createElement("section",Object.assign({className:`w-full py-16 ${x} ${d}`},h),r.createElement(c.Z,{maxWidthClass:"max-w-[1280px]",className:`flex-col items-center ${b}`},r.createElement("div",{className:"flex justify-between w-full items-center pb-8 sm:pb-14 flex-col sm:flex-row gap-5"},r.createElement("h2",{className:`text-4xl font-bold w-full ${b}`},o.toUpperCase()),t?r.createElement(n.rU,{to:`/${t}`,className:`w-full sm:w-auto text-start sm:text-end text-xl font-normal cursor-pointer whitespace-nowrap ${v}`},i?i.toUpperCase():"DISCOVER MORE"," ",p?r.createElement(r.Fragment,null,"→"):null):null),m)),u?r.createElement(s(),{className:"w-full"}):null)}},3793:function(e,t,l){"use strict";var r=l(7294),n=l(4160),a=l(6488),o=l(9165),s=l(8322);t.Z=e=>{let{post:t,theme:l,className:c,markupData:i,lang:d}=e;const{date:m,title:f,text:u}=t.frontmatter,p=Math.floor(t.wordCount.words/200),h=p||1,b=l===s.Q.light?"text-main-100":"text-secondary-100",v=l===s.Q.light?"text-main-10":"text-secondary-10",x=l===s.Q.light?"hover:text-main-10":"hover:text-secondary-10";return r.createElement(n.rU,{to:`/blog/${t.id}`,className:`flex flex-col sm:flex-row w-full justify-center gap-5 md:gap-14 ${b} ${x} ${c}`,itemScope:!0,itemType:"https://schema.org/Article"},r.createElement("div",{className:"flex flex-col w-full max-w-[400px] gap-2.5 sm:gap-5"},r.createElement("p",{itemProp:"dateCreated",className:`text-lg ${v}`},m),r.createElement("h3",{itemProp:"headline",className:`text-3xl font-semibold ${b}`},f)),r.createElement("div",{className:"flex flex-col w-full max-w-[500px] gap-5"},r.createElement("p",{className:`font-normal text-base ${b}`,itemProp:"abstract"},u.split(" ").slice(0,70).join(" "),"..."),r.createElement("div",{className:"flex w-full items-center justify-between"},r.createElement("div",{className:"flex items-center gap-3 text-sm font-bold"},r.createElement("span",null,null==i?void 0:i.readPostLink),r.createElement(a.p,{size:14})),r.createElement("p",{className:`text-sm ${v}`},`${null==i?void 0:i.readingTimeTitle}: ~${h} ${null==i?void 0:i.readingTimeUnits}.`))),r.createElement(o.Lx,{itemProp:"copyrightHolder",lang:d}))}},6745:function(e,t,l){"use strict";var r=l(7294),n=l(4160),a=l(8032),o=l(8322),s=l(6488),c=l(9165);t.Z=e=>{let{project:t,className:l,theme:i,lang:d}=e;const m=(0,a.c)(t.frontmatter.cover),{title:f,teamSize:u,duration:p}=t.frontmatter,h=i===o.Q.light?"text-main-100 hover:text-main-10":"text-secondary-100 hover:text-secondary-10",b=i===o.Q.light?"bg-secondary-100 hover:bg-secondary-100":"bg-main-100 hover:bg-main-100";return r.createElement(n.rU,{to:`/projects/${t.id}`,className:`${b} ${h} flex flex-col justify-between hover:text-main-10 rounded-2xl p-2.5 gap-2.5 ${l}`,itemScope:!0,itemType:"https://schema.org/CreativeWork"},r.createElement("div",{className:"w-full h-full relative"},m?r.createElement(a.G,{image:m,alt:"cover",itemProp:"image",className:"object-contain w-full rounded-[10px]"}):null,r.createElement("div",{className:"absolute left-2 bottom-2 flex items-center gap-2.5 z-10"},r.createElement("p",{className:"backdrop-blur-sm backdrop-brightness-75 text-secondary-100 px-5 h-10 flex items-center rounded-lg"},p),r.createElement("p",{className:"backdrop-blur-sm backdrop-brightness-75 text-secondary-100 px-5 h-10 flex items-center rounded-lg"},u))),r.createElement("div",{className:"flex px-2.5 py-1 items-center grow"},r.createElement("h3",{className:"text-base grow font-medium h-full",itemProp:"description"},f),r.createElement(s.p,{size:20})),r.createElement(c.Lx,{itemProp:"author",lang:d}))}},171:function(e,t,l){"use strict";l.r(t),l.d(t,{Head:function(){return P},default:function(){return Z}});var r=l(7294),n=l(9720),a=l(1929),o=l(4160),s=l(6838),c=l(7576),i=l(2074);var d=(0,r.forwardRef)(((e,t)=>{let{className:l,children:n}=e;const[a,o]=(0,c.Z)({loop:!0,dragFree:!0,duration:1e4,align:0},[(0,i.Z)({delay:0,stopOnInteraction:!1,stopOnMouseEnter:!0})]);return r.createElement("div",{className:`overflow-hidden ${l}`,ref:a},r.createElement("div",{ref:t,className:"h-full flex items-center",onMouseEnter:()=>{null==o||o.internalEngine().animation.stop()},onMouseLeave:()=>{null==o||o.internalEngine().animation.start()}},n))})),m=l(4471),f=l.n(m);var u=e=>{let{children:t}=e;return r.createElement("div",{className:"h-full shrink-0 min-w-0 cursor-pointer flex flex-col justify-between items-center content-center w-[192px] md:w-[256px] xl:w-[256px] 3xl:w-[400px]"},r.createElement(f(),{className:"min-w-0 shrink-0 w-full"}),r.createElement("p",{className:"text-lg font-semibold whitespace-nowrap"},t),r.createElement(f(),{className:"min-w-0 shrink-0 w-full"}))};var p=()=>{var e,t;const l=(0,o.K2)(h),n=null==l||null===(e=l.markdownRemark)||void 0===e||null===(t=e.frontmatter)||void 0===t?void 0:t.stack;return r.createElement(r.Fragment,null,n?r.createElement("section",{className:"h-16 flex flex-col relative"},r.createElement(d,{className:"grow"},n.map((e=>r.createElement(u,{key:e},e))),r.createElement(u,null,r.createElement(s.z,{size:32,className:"-rotate-90"})))):null)};const h="3518807326";var b=l(3793),v=l(216),x=l(8322);var g=e=>{var t,l,n,a,s,c,i,d,m,f;let{lang:u}=e;const p=(0,o.K2)(w),h=null==p||null===(t=p.markupData)||void 0===t||null===(l=t.nodes)||void 0===l||null===(n=l.find((e=>e.fields.language===u)))||void 0===n||null===(a=n.frontmatter)||void 0===a?void 0:a.blog;let g;return g=u in p?null==p||null===(s=p[u])||void 0===s||null===(c=s.nodes)||void 0===c?void 0:c[0]:null==p||null===(i=p.en)||void 0===i||null===(d=i.nodes)||void 0===d?void 0:d[0],r.createElement(r.Fragment,null,g?r.createElement(v.Z,{theme:x.Q.dark,title:null!==(m=null==h?void 0:h.blogSectionTitle)&&void 0!==m?m:"new in our blog",linkTitle:null!==(f=null==h?void 0:h.blogSectionLinkTitle)&&void 0!==f?f:"all posts",section:"blog",borderB:!0},r.createElement(b.Z,{lang:u,post:g,theme:x.Q.dark,markupData:h})):null)};const w="641077248";var E=l(6745);var y=e=>{var t,l,n,a,s,c,i,d;let{excludeId:m,lang:f}=e;const u=(0,o.K2)(N),p=null==u||null===(t=u.markupData)||void 0===t||null===(l=t.nodes)||void 0===l||null===(n=l.find((e=>e.fields.language===f)))||void 0===n||null===(a=n.frontmatter)||void 0===a?void 0:a.projects;let h;return h=f in u?null==u||null===(s=u[f])||void 0===s?void 0:s.nodes:null===(c=u.en)||void 0===c?void 0:c.nodes,h?(m&&(h=h.filter((e=>e.id!==m))),r.createElement(v.Z,{theme:x.Q.dark,section:"projects",title:null!==(i=null==p?void 0:p.moreProjectsSectionTitle)&&void 0!==i?i:"OUR PROJECTS",linkTitle:null!==(d=null==p?void 0:p.moreProjectsSectionLinkTitle)&&void 0!==d?d:"Discover MORE",borderB:!0},r.createElement("div",{className:"flex justify-between items-center gap-5 lg:gap-10 flex-col sm:flex-row items-stretch"},h.map(((e,t)=>{if(3!==t)return r.createElement(E.Z,{key:e.id,project:e,lang:f,theme:x.Q.light,className:"flex-1 sm:last:hidden lg:last:flex"})}))))):r.createElement(r.Fragment,null)};const N="2041872833";var k=l(9165),C=l(8032),L=l(4032);var $=e=>{let{review:{frontmatter:{company:t,person:l,position:n,location:a,image:o},html:s},className:c}=e;const i=(0,C.c)(o);return r.createElement("div",{className:`flex flex-col p-6 gap-3.5 bg-secondary-100 shadow-[0px_2px_14px_rgba(68,68,68,0.25)] rounded-2.5xl text-main-100 ${c}`},r.createElement("div",{className:"flex w-full items-start"},i?r.createElement(C.G,{image:i,alt:t,className:"h-[72px] w-[72px] object-cover rounded-full mr-3.5"}):null,r.createElement("div",{className:"flex-1 font-normal text-base text-main-10 leading-5"},r.createElement("h3",{className:"font-bold text-xl text-main-100"},l),r.createElement("h4",null,r.createElement("span",null,n),", ",r.createElement("span",null,t)),r.createElement("h4",null,a)),r.createElement(L.t,{size:25,color:"#E4E4E4"})),r.createElement("div",{className:"review-body text-sm",dangerouslySetInnerHTML:{__html:s}}))};var j=e=>{var t,l,n,a,s,c,i,d,m;let{lang:f}=e;const u=(0,o.K2)(T),p=null==u||null===(t=u.markupData)||void 0===t||null===(l=t.nodes)||void 0===l||null===(n=l.find((e=>e.fields.language===f)))||void 0===n||null===(a=n.frontmatter)||void 0===a?void 0:a.reviews;let h;return h=f in u?null==u||null===(s=u[f])||void 0===s||null===(c=s.nodes)||void 0===c?void 0:c.sort(((e,t)=>e.frontmatter.person>t.frontmatter.person?1:-1)):null==u||null===(i=u.en)||void 0===i||null===(d=i.nodes)||void 0===d?void 0:d.sort(((e,t)=>e.frontmatter.person>t.frontmatter.person?1:-1)),r.createElement(r.Fragment,null,h?r.createElement(v.Z,{id:"reviews",theme:x.Q.light,title:null!==(m=null==p?void 0:p.title)&&void 0!==m?m:"our clients' testimonials",section:"/#reviews",linkTitle:null==p?void 0:p.linkTitle,isArrowLink:!1,borderB:!0},r.createElement("div",{className:"flex justify-between items-start gap-5 lg:gap-10 flex-col md:flex-row"},h.map((e=>r.createElement($,{review:e,key:e.id,className:"flex-1"}))))):null)};const T="1287994371";var M=l(8039);var Z=e=>{let{pageContext:{markupData:t,lang:l}}=e;return r.createElement(n.Pd.Provider,{value:{style:{verticalAlign:"middle"}}},r.createElement(a.Z,{title:t.bannerTitle,babylon:!0}),r.createElement(p,null),r.createElement(y,{lang:l}),r.createElement(j,{lang:l}),r.createElement(g,{lang:l}),r.createElement(M.Z,{lang:l}))};const P=e=>{let{pageContext:{markupData:t,site:l,lang:n},location:a}=e;return r.createElement(k.Ag,{title:`${t.head} | ${t.bannerTitle.toUpperCase()}`,description:t.metaDescription,siteUrl:l.siteUrl,path:a.pathname,lang:n})}},8322:function(e,t,l){"use strict";l.d(t,{Q:function(){return r}});let r=function(e){return e.dark="dark",e.light="light",e}({})},4471:function(e,t,l){var r=l(7294);function n(e){return r.createElement("svg",e,[r.createElement("line",{width:"800",height:"8",stroke:"#f9f9f9",strokeWidth:"8",strokeDasharray:"8 8",x1:"0",x2:"100%",y1:"4",y2:"4",key:0}),r.createElement("line",{width:"800",height:"8",stroke:"#111111",strokeWidth:"8",strokeDasharray:"8 8",x1:"8",x2:"100%",y1:"4",y2:"4",key:1})])}n.defaultProps={height:"8"},e.exports=n,n.default=n}}]); +//# sourceMappingURL=component---src-pages-templates-index-tsx-4ec4965671423d3ead71.js.map \ No newline at end of file diff --git a/component---src-pages-templates-index-tsx-f800793638eeb52e7347.js.map b/component---src-pages-templates-index-tsx-4ec4965671423d3ead71.js.map similarity index 99% rename from component---src-pages-templates-index-tsx-f800793638eeb52e7347.js.map rename to component---src-pages-templates-index-tsx-4ec4965671423d3ead71.js.map index 5762103e..6b1a156e 100644 --- a/component---src-pages-templates-index-tsx-f800793638eeb52e7347.js.map +++ b/component---src-pages-templates-index-tsx-4ec4965671423d3ead71.js.map @@ -1 +1 @@ -{"version":3,"file":"component---src-pages-templates-index-tsx-f800793638eeb52e7347.js","mappings":"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","sources":["webpack://code-cave/./node_modules/@react-icons/all-files/ai/AiFillBug.js","webpack://code-cave/./node_modules/@react-icons/all-files/bs/BsArrowUpRight.js","webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaQuoteRight.js","webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./src/components/common/textInput.tsx","webpack://code-cave/./src/components/common/textAreaInput.tsx","webpack://code-cave/./src/components/common/selectInput.tsx","webpack://code-cave/./src/components/common/contactFormSection.tsx","webpack://code-cave/./src/components/common/templateSection.tsx","webpack://code-cave/./src/components/posts/postPreview.tsx","webpack://code-cave/./src/components/projects/projectPreview.tsx","webpack://code-cave/./src/components/stack/stackCarousel.tsx","webpack://code-cave/./src/components/stack/stakUnit.tsx","webpack://code-cave/./src/components/stack/stackSection.tsx","webpack://code-cave/./src/components/posts/postSection.tsx","webpack://code-cave/./src/components/projects/projectsSection.tsx","webpack://code-cave/./src/components/reviews/review.tsx","webpack://code-cave/./src/components/reviews/staticReviewsSection.tsx","webpack://code-cave/./src/pagesTemplates/index.tsx","webpack://code-cave/./src/types/common.type.ts","webpack://code-cave/./src/assets/common/border.svg"],"sourcesContent":["// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.AiFillBug = function AiFillBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 280h416c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1-17.2-31.5-42.5-56.8-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9-31.5 17.2-56.8 42.5-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 34.8-28.2 63-63 63H232c-34.8 0-63-28.2-63-63 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7 6 17.2 13.6 33.6 22.7 49 24.3 41.5 59 76.2 100.5 100.5 28.9 16.9 61 28.8 95.3 34.5 4.4 0 8-3.6 8-8V484c0-4.4 3.6-8 8-8h60c4.4 0 8 3.6 8 8v464.2c0 4.4 3.6 8 8 8 34.3-5.7 66.4-17.6 95.3-34.5 41.5-24.3 76.2-59 100.5-100.5 9.1-15.5 16.7-31.9 22.7-49C812.1 793.1 836 831.8 836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.BsArrowUpRight = function BsArrowUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 16 16\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 4a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V4.5H7a.5.5 0 01-.5-.5z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.354 3.646a.5.5 0 010 .708l-9 9a.5.5 0 01-.708-.708l9-9a.5.5 0 01.708 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaQuoteRight = function FaQuoteRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z\"}}]})(props);\n};\n","import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler, { passive: true });\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler, {\n passive: true,\n });\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true, passive: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\n \"touchstart\",\n (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler, {\n passive: true,\n });\n window.addEventListener(\n \"touchend\",\n () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n },\n { passive: true }\n );\n },\n { passive: true }\n );\n\n // UNMOUNT handler\n return () => {\n if (!window) return;\n\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.terminate();\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\nimport { GatsbyImage, IGatsbyImageData } from \"gatsby-plugin-image\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\n// interface IBannerProps {\n// heightClass?: string;\n// title: string;\n// className?: string;\n// borderBottom?: boolean;\n// borderTop?: boolean;\n// babylon?: boolean;\n// image?: IGatsbyImageData;\n// }\ntype TBannerCommonProps = {\n heightClass?: string;\n title: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n};\ntype TBannerConditionalProps =\n | {\n babylon?: boolean;\n image?: never;\n children?: never;\n titleBlockClassName?: never;\n }\n | {\n babylon?: never;\n image?: IGatsbyImageData;\n children?: never;\n titleBlockClassName?: never;\n }\n | {\n babylon?: never;\n image?: never;\n children?: React.ReactNode;\n titleBlockClassName?: string;\n };\ntype TBannerProps = TBannerCommonProps & TBannerConditionalProps;\n\nconst Banner = ({\n heightClass = \"min-h-91\",\n title,\n className,\n borderBottom,\n borderTop,\n babylon,\n image,\n titleBlockClassName,\n children,\n}: TBannerProps) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n \n

\n \n {title}\n \n

\n \n {babylon ? (\n \n ) : null}\n {image ? (\n
\n \n
\n ) : null}\n {children ? (\n
\n {children}\n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","import React from \"react\";\n\ninterface ITextInputProps extends React.HTMLAttributes {\n type: string;\n name: string;\n label: string;\n className?: string;\n placeholderIndentClass?: string;\n}\n\nconst TextInput = ({\n id,\n type,\n label,\n placeholder,\n className,\n placeholderIndentClass = \"placeholder:left-[60px]\",\n ...attr\n}: ITextInputProps) => {\n return (\n
\n \n\n \n {label}\n \n
\n );\n};\n\nexport default TextInput;\n","import React from \"react\";\n\ninterface ITextAreaInputProps\n extends React.HTMLAttributes {\n name: string;\n label: string;\n className?: string;\n placeholderIndentClass?: string;\n rows?: number;\n}\n\nconst TextAreaInput = ({\n id,\n label,\n placeholder,\n className,\n placeholderIndentClass = \"placeholder:left-[60px]\",\n rows = 1,\n ...attr\n}: ITextAreaInputProps) => {\n return (\n
\n \n\n \n {label}\n \n
\n );\n};\n\nexport default TextAreaInput;\n","import React from \"react\";\n\ninterface ISelectInputProps extends React.HTMLAttributes {\n name: string;\n label: string;\n options: string[];\n className?: string;\n}\n\nconst SelectInput = ({\n id,\n name,\n label,\n options,\n placeholder,\n className,\n ...attr\n}: ISelectInputProps) => {\n const value = \"\";\n const isEmptySelected = !value;\n\n return (\n
\n \n \n {/* \n {options.map((option) => (\n \n {option}\n \n ))} */}\n \n\n \n {label}\n \n {placeholder}\n \n \n
\n );\n};\n\nexport default SelectInput;\n","import React from \"react\";\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport { ILang, Theme } from \"../../types/common.type\";\nimport {\n IContactFormMarkup,\n IMarkupQueryResult,\n} from \"../../types/commonMarkup.type\";\n\nimport TemplateSection from \"./templateSection\";\nimport TextInput from \"./textInput\";\nimport TextAreaInput from \"./textAreaInput\";\nimport SelectInput from \"./selectInput\";\nimport DiscussProjectButton from \"../layout/discussProjectButton\";\n\ninterface IContactFromQueryResult\n extends IMarkupQueryResult<{ contactForm: IContactFormMarkup }> {\n en?: { nodes?: { html: string }[] };\n ru?: { nodes?: { html: string }[] };\n}\n\nconst ContactForm = ({ lang }: ILang) => {\n const formMdData = useStaticQuery(query) as IContactFromQueryResult;\n const formMarkup = formMdData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.contactForm;\n\n let formDescription: string | null | undefined;\n if (lang in formMdData)\n formDescription = formMdData?.[lang]?.nodes?.[0]?.html as string | null;\n else formDescription = formMdData?.en?.nodes?.[0]?.html;\n\n return (\n <>\n {formMarkup ? (\n \n
\n {formDescription ? (\n \n ) : null}\n
\n \n \n \n \n \n \n \n \n
\n \n
\n \n
\n \n ) : null}\n \n );\n};\n\nexport default ContactForm;\n\nexport const query = graphql`\n query {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"contactForm\" }, language: { eq: \"en\" } }\n }\n ) {\n nodes {\n html\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"contactForm\" }, language: { eq: \"ru\" } }\n }\n ) {\n nodes {\n html\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n contactForm {\n sectionTitle\n sectionLinkTitle\n emailLabel\n nameLabel\n companyNameLabel\n servicesLabel\n budgetLabel\n selectPlaceholder\n descriptionLabel\n descriptionPlaceholder\n privacyPolicyCheckboxLabel\n adsCheckboxLabel\n buttonLabel\n }\n }\n }\n }\n }\n`;\n","import React, { PropsWithChildren } from \"react\";\nimport { Link } from \"gatsby\";\n\nimport { Theme } from \"../../types/common.type\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\n\ninterface ITemplateSectionProps extends React.HTMLAttributes {\n title: string;\n theme: Theme;\n isArrowLink?: boolean;\n linkTitle?: string;\n section?: string;\n className?: string;\n borderT?: boolean;\n borderB?: boolean;\n}\n\nconst TemplateSection = ({\n section,\n theme,\n title,\n linkTitle,\n className,\n children,\n borderT,\n borderB,\n isArrowLink = true,\n ...attr\n}: PropsWithChildren) => {\n const mainColorClass =\n theme === Theme.dark ? \"text-secondary-100\" : \"text-main-100\";\n const linkColorClass =\n theme === Theme.dark\n ? \"text-secondary-100 hover:text-secondary-70\"\n : \"text-main-100 hover:text-main-10\";\n const bgColorClass =\n theme === Theme.dark ? \"bg-main-100\" : \"text-secondary-100\";\n\n return (\n <>\n {borderT ? : null}\n \n \n
\n

\n {title.toUpperCase()}\n

\n {section ? (\n \n {linkTitle ? linkTitle.toUpperCase() : \"DISCOVER MORE\"}{\" \"}\n {isArrowLink ? <>→ : null}\n \n ) : null}\n
\n {children}\n \n \n {borderB ? : null}\n \n );\n};\n\nexport default TemplateSection;\n","import React from \"react\";\nimport { Link } from \"gatsby\";\n\nimport { BsArrowUpRight } from \"@react-icons/all-files/bs/BsArrowUpRight\";\n\nimport { IPostPreviewQueryResult } from \"../../types/post.type\";\nimport { LocalBusinessMetadata } from \"../common/metadata\";\nimport { IBlogMarkupData } from \"../../types/commonMarkup.type\";\nimport { TLang, Theme } from \"../../types/common.type\";\n\nconst PostPreview = ({\n post,\n theme,\n className,\n markupData,\n lang,\n}: {\n post: IPostPreviewQueryResult;\n className?: string;\n theme: Theme;\n markupData?: IBlogMarkupData;\n lang: TLang;\n}) => {\n const { date, title, text } = post.frontmatter;\n\n const minutes = Math.floor(post.wordCount.words / 200);\n const readingTime = minutes ? minutes : 1;\n\n const fontColorClass100 =\n theme === Theme.light ? \"text-main-100\" : \"text-secondary-100\";\n const fontColorClass10 =\n theme === Theme.light ? \"text-main-10\" : \"text-secondary-10\";\n const fontColorHover =\n theme === Theme.light ? \"hover:text-main-10\" : \"hover:text-secondary-10\";\n\n return (\n \n
\n

\n {date}\n

\n \n {title}\n \n
\n
\n \n {text.split(\" \").slice(0, 70).join(\" \")}...\n

\n
\n
\n {markupData?.readPostLink}\n \n
\n

\n {`${markupData?.readingTimeTitle}: ~${readingTime} ${markupData?.readingTimeUnits}.`}\n

\n
\n
\n \n \n );\n};\n\nexport default PostPreview;\n","import React from \"react\";\nimport { Link } from \"gatsby\";\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nimport { IProjectPreviewQueryResult } from \"../../types/project.type\";\nimport { TLang, Theme } from \"../../types/common.type\";\n\nimport { BsArrowUpRight } from \"@react-icons/all-files/bs/BsArrowUpRight\";\n\nimport { LocalBusinessMetadata } from \"../common/metadata\";\n\nconst ProjectPreview = ({\n project,\n className,\n theme,\n lang,\n}: {\n project: IProjectPreviewQueryResult;\n className?: string;\n theme: Theme;\n lang: TLang;\n}) => {\n const cover = getImage(project.frontmatter.cover);\n const { title, teamSize, duration } = project.frontmatter;\n\n const fontColorClass10 =\n theme === Theme.light\n ? \"text-main-100 hover:text-main-10\"\n : \"text-secondary-100 hover:text-secondary-10\";\n const bgColors =\n theme === Theme.light\n ? \"bg-secondary-100 hover:bg-secondary-100\"\n : \"bg-main-100 hover:bg-main-100\";\n\n return (\n \n
\n {cover ? (\n \n ) : null}\n
\n

\n {duration}\n

\n

\n {teamSize}\n

\n
\n
\n
\n \n {title}\n \n \n
\n \n \n );\n};\n\nexport default ProjectPreview;\n","import React, { forwardRef } from \"react\";\n\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport Autoplay from \"embla-carousel-autoplay\";\n\nconst StackCarousel = forwardRef<\n HTMLDivElement,\n React.PropsWithChildren<{ className?: string }>\n>(({ className, children }, ref) => {\n const [emblaRef, emblaApi] = useEmblaCarousel(\n { loop: true, dragFree: true, duration: 10000, align: 0 },\n [\n Autoplay({\n delay: 0,\n stopOnInteraction: false,\n stopOnMouseEnter: true,\n }),\n ]\n );\n\n return (\n
\n {\n emblaApi?.internalEngine().animation.stop();\n }}\n onMouseLeave={() => {\n emblaApi?.internalEngine().animation.start();\n }}\n >\n {children}\n
\n \n );\n});\n\nexport default StackCarousel;\n","import React, { PropsWithChildren } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\n\nconst StackUnit = ({ children }: PropsWithChildren) => {\n return (\n
\n \n

{children}

\n \n
\n );\n};\n\nexport default StackUnit;\n","import React from \"react\";\nimport { useStaticQuery, graphql } from \"gatsby\";\n\nimport { AiFillBug } from \"@react-icons/all-files/ai/AiFillBug\";\n\nimport StackCarousel from \"./stackCarousel\";\nimport StackUnit from \"./stakUnit\";\n\nconst StackSection = () => {\n const techData = useStaticQuery(query);\n const techArr = techData?.markdownRemark?.frontmatter?.stack as\n | string[]\n | null;\n\n return (\n <>\n {techArr ? (\n
\n \n {techArr.map((tech) => (\n {tech}\n ))}\n \n \n \n \n
\n ) : null}\n \n );\n};\n\nexport default StackSection;\n\nexport const query = graphql`\n query {\n markdownRemark(fields: { sourceName: { eq: \"stack\" } }) {\n frontmatter {\n stack\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport {\n IBlogSectionQueryResult,\n IPostPreviewQueryResult,\n} from \"../../types/post.type\";\n\nimport PostPreview from \"./postPreview\";\nimport TemplateSection from \"../common/templateSection\";\nimport { ILang, Theme } from \"../../types/common.type\";\n\nconst PostSection = ({ lang }: ILang) => {\n const postData = useStaticQuery(query) as IBlogSectionQueryResult;\n\n const sectionMarkup = postData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.blog;\n\n let post: IPostPreviewQueryResult | null | undefined;\n\n if (lang in postData)\n post = postData?.[lang]?.nodes?.[0] as IPostPreviewQueryResult | null;\n else post = postData?.en?.nodes?.[0];\n\n return (\n <>\n {post ? (\n \n \n \n ) : null}\n \n );\n};\n\nexport default PostSection;\n\nexport const query = graphql`\n query {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"posts\" }, language: { eq: \"en\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 1\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"DD MMM YYYY\", locale: \"en\")\n title\n text\n }\n wordCount {\n words\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"posts\" }, language: { eq: \"ru\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 1\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"DD MMM YYYY\", locale: \"ru\")\n title\n text\n }\n wordCount {\n words\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n blog {\n bannerTitle\n head\n readPostLink\n readingTimeTitle\n readingTimeUnits\n postFooterTitle\n postFooterText\n blogSectionTitle\n blogSectionLinkTitle\n }\n }\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport {\n IProjectPreviewQueryResult,\n IProjectSectionQueryResult,\n} from \"../../types/project.type\";\n\nimport ProjectPreview from \"./projectPreview\";\nimport TemplateSection from \"../common/templateSection\";\nimport { ILang, Theme } from \"../../types/common.type\";\n\ninterface IProjectsSectionProps extends ILang {\n excludeId?: string;\n}\n\nconst ProjectsSection = ({ excludeId, lang }: IProjectsSectionProps) => {\n const projectsPreviewData = useStaticQuery(\n query\n ) as IProjectSectionQueryResult;\n\n const sectionMarkup = projectsPreviewData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.projects;\n\n let projects: IProjectPreviewQueryResult[] | null | undefined;\n if (lang in projectsPreviewData)\n projects = projectsPreviewData?.[lang]?.nodes as\n | IProjectPreviewQueryResult[]\n | null\n | undefined;\n else projects = projectsPreviewData.en?.nodes;\n\n if (!projects) return <>;\n\n if (excludeId) {\n projects = projects.filter((project) => project.id !== excludeId);\n }\n\n return (\n \n
\n {projects.map((project, i) => {\n if (i === 3) return;\n return (\n \n );\n })}\n
\n \n );\n};\n\nexport default ProjectsSection;\n\nexport const query = graphql`\n {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"projects\" }, language: { eq: \"en\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 4\n ) {\n nodes {\n id\n frontmatter {\n title\n cover {\n childImageSharp {\n gatsbyImageData(\n width: 600\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n )\n }\n }\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"projects\" }, language: { eq: \"ru\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 4\n ) {\n nodes {\n id\n frontmatter {\n title\n cover {\n childImageSharp {\n gatsbyImageData(\n width: 600\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n )\n }\n }\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n projects {\n moreProjectsSectionTitle\n moreProjectsSectionLinkTitle\n }\n }\n }\n }\n }\n`;\n","import React from \"react\";\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nimport { IReviewQueryResult } from \"../../types/review.type\";\n\nimport { FaQuoteRight } from \"@react-icons/all-files/fa/FaQuoteRight\";\n\nconst Review = ({\n review: {\n frontmatter: { company, person, position, location, image },\n html,\n },\n className,\n}: {\n review: IReviewQueryResult;\n className?: string;\n}) => {\n const avatar = getImage(image);\n\n return (\n \n
\n {avatar ? (\n \n ) : null}\n
\n

{person}

\n

\n {position}, {company}\n

\n

{location}

\n
\n \n
\n \n \n\n //
\n //
\n // \n // {avatar ? (\n // \n // ) : null}\n //
\n //
\n //

{person}

\n // {person}\n //

\n // {position}, {company}\n //

\n //

\n // {location}\n //

\n //
\n //
\n // \n // \n );\n};\n\nexport default Review;\n","import React from \"react\";\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport { ILang, Theme } from \"../../types/common.type\";\nimport {\n IReviewQueryResult,\n IReviewSectionQueryResult,\n} from \"../../types/review.type\";\n\nimport TemplateSection from \"../common/templateSection\";\nimport Review from \"./review\";\n\nconst StaticReviewsSection = ({ lang }: ILang) => {\n const reviewsData = useStaticQuery(query) as IReviewSectionQueryResult;\n\n const sectionMarkup = reviewsData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.reviews;\n\n let reviews: IReviewQueryResult[] | null | undefined;\n\n if (lang in reviewsData)\n reviews = reviewsData?.[lang]?.nodes?.sort((a, b) =>\n a.frontmatter.person > b.frontmatter.person ? 1 : -1\n ) as IReviewQueryResult[] | null | undefined;\n else\n reviews = reviewsData?.en?.nodes?.sort((a, b) =>\n a.frontmatter.person > b.frontmatter.person ? 1 : -1\n );\n\n return (\n <>\n {reviews ? (\n \n
\n {reviews.map((review) => (\n \n ))}\n
\n \n ) : null}\n \n );\n};\n\nexport default StaticReviewsSection;\n\nexport const query = graphql`\n query {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"reviews\" }, language: { eq: \"en\" } }\n }\n ) {\n nodes {\n id\n html\n frontmatter {\n company\n location\n person\n position\n image {\n childImageSharp {\n gatsbyImageData(\n height: 112\n placeholder: BLURRED\n formats: [AUTO, AVIF, WEBP]\n )\n }\n }\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"reviews\" }, language: { eq: \"ru\" } }\n }\n ) {\n nodes {\n id\n html\n frontmatter {\n company\n location\n person\n position\n image {\n childImageSharp {\n gatsbyImageData(\n height: 112\n placeholder: BLURRED\n formats: [AUTO, AVIF, WEBP]\n )\n }\n }\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n reviews {\n title\n linkTitle\n }\n }\n }\n }\n }\n`;\n","import * as React from \"react\";\nimport type { HeadFC, HeadProps, PageProps } from \"gatsby\";\n\nimport { IconContext } from \"@react-icons/all-files\";\nimport \"../styles/styles.css\";\n\nimport { IIndexPageContext } from \"../types/index.type\";\n\nimport Banner from \"../components/common/banner\";\nimport StackSection from \"../components/stack/stackSection\";\nimport PostSection from \"../components/posts/postSection\";\nimport ProjectsSection from \"../components/projects/projectsSection\";\nimport { HeadSeo } from \"../components/common/metadata\";\nimport StaticReviewsSection from \"../components/reviews/staticReviewsSection\";\nimport ContactForm from \"../components/common/contactFormSection\";\n\nconst IndexPage = ({\n pageContext: { markupData, lang },\n}: PageProps) => {\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nexport default IndexPage;\n\nexport const Head: HeadFC = ({\n pageContext: { markupData, site, lang },\n location,\n}: HeadProps) => {\n return (\n \n );\n};\n","export interface ILang {\n lang: TLang;\n}\n\nexport type TLang = \"en\" | \"ru\";\n\nexport type TLinks = \"services\" | \"workflow\" | \"projects\" | \"blog\";\n\nexport interface IBasePageContext extends ILang {\n site: ISiteMetadata;\n}\n\nexport interface IMdQueryResult {\n allMarkdownRemark: {\n nodes: T[];\n };\n}\n\nexport interface ISiteMetadata {\n title: string;\n description: string;\n siteUrl: string;\n image: string;\n analyticsId: string;\n}\n\nexport enum Theme {\n dark = \"dark\",\n light = \"light\",\n}\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"#f9f9f9\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"#111111\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n"],"names":["GenIcon","module","exports","props","_ref","className","React","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","passive","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","terminate","ref","Spinner","heightClass","title","borderBottom","borderTop","babylon","image","titleBlockClassName","children","textTranslate","setTextTranslate","Border","ContentContainer","GatsbyImage","alt","id","label","placeholder","placeholderIndentClass","attr","Object","assign","htmlFor","rows","name","options","disabled","value","hidden","_formMdData$markupDat","_formMdData$markupDat2","_formMdData$markupDat3","_formMdData$markupDat4","_formMdData$lang","_formMdData$lang$node","_formMdData$lang$node2","_formMdData$en","_formMdData$en$nodes","_formMdData$en$nodes$","_formMarkup$sectionTi","_formMarkup$sectionLi","lang","formMdData","useStaticQuery","query","formMarkup","markupData","nodes","find","node","fields","language","frontmatter","contactForm","formDescription","html","en","TemplateSection","theme","Theme","light","sectionTitle","linkTitle","sectionLinkTitle","section","isArrowLink","dangerouslySetInnerHTML","__html","action","TextInput","emailLabel","companyNameLabel","nameLabel","SelectInput","servicesLabel","selectPlaceholder","budgetLabel","TextAreaInput","descriptionLabel","descriptionPlaceholder","privacyPolicyCheckboxLabel","adsCheckboxLabel","DiscussProjectButton","buttonLabel","borderT","borderB","mainColorClass","dark","linkColorClass","bgColorClass","maxWidthClass","toUpperCase","Link","to","post","date","text","minutes","Math","floor","wordCount","words","readingTime","fontColorClass100","fontColorClass10","fontColorHover","itemScope","itemType","itemProp","split","slice","join","readPostLink","BsArrowUpRight","size","readingTimeTitle","readingTimeUnits","LocalBusinessMetadata","project","cover","getImage","teamSize","duration","bgColors","forwardRef","emblaRef","emblaApi","useEmblaCarousel","loop","dragFree","align","Autoplay","delay","stopOnInteraction","stopOnMouseEnter","onMouseEnter","internalEngine","animation","stop","onMouseLeave","start","StackSection","_techData$markdownRem","_techData$markdownRem2","techData","techArr","markdownRemark","stack","StackCarousel","map","tech","StackUnit","key","AiFillBug","_postData$markupData","_postData$markupData$","_postData$markupData$2","_postData$markupData$3","_postData$lang","_postData$lang$nodes","_postData$en","_postData$en$nodes","_sectionMarkup$blogSe","_sectionMarkup$blogSe2","postData","sectionMarkup","blog","blogSectionTitle","blogSectionLinkTitle","PostPreview","_projectsPreviewData$","_projectsPreviewData$2","_projectsPreviewData$3","_projectsPreviewData$4","_projectsPreviewData$5","_projectsPreviewData$6","_sectionMarkup$morePr","_sectionMarkup$morePr2","excludeId","projectsPreviewData","projects","filter","moreProjectsSectionTitle","moreProjectsSectionLinkTitle","i","ProjectPreview","review","company","person","position","location","avatar","FaQuoteRight","color","_reviewsData$markupDa","_reviewsData$markupDa2","_reviewsData$markupDa3","_reviewsData$markupDa4","_reviewsData$lang","_reviewsData$lang$nod","_reviewsData$en","_reviewsData$en$nodes","_sectionMarkup$title","reviewsData","reviews","sort","a","b","Review","pageContext","IconContext","Provider","style","verticalAlign","Banner","bannerTitle","ProjectsSection","StaticReviewsSection","PostSection","ContactForm","Head","_ref2","site","HeadSeo","head","description","metaDescription","siteUrl","path","pathname","createElement","defaultProps","default"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"component---src-pages-templates-index-tsx-4ec4965671423d3ead71.js","mappings":"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","sources":["webpack://code-cave/./node_modules/@react-icons/all-files/ai/AiFillBug.js","webpack://code-cave/./node_modules/@react-icons/all-files/bs/BsArrowUpRight.js","webpack://code-cave/./node_modules/@react-icons/all-files/fa/FaQuoteRight.js","webpack://code-cave/./src/components/common/spinner.tsx","webpack://code-cave/./src/components/babylonjs/babylon.tsx","webpack://code-cave/./src/components/common/banner.tsx","webpack://code-cave/./src/components/common/textInput.tsx","webpack://code-cave/./src/components/common/textAreaInput.tsx","webpack://code-cave/./src/components/common/selectInput.tsx","webpack://code-cave/./src/components/common/contactFormSection.tsx","webpack://code-cave/./src/components/common/templateSection.tsx","webpack://code-cave/./src/components/posts/postPreview.tsx","webpack://code-cave/./src/components/projects/projectPreview.tsx","webpack://code-cave/./src/components/stack/stackCarousel.tsx","webpack://code-cave/./src/components/stack/stakUnit.tsx","webpack://code-cave/./src/components/stack/stackSection.tsx","webpack://code-cave/./src/components/posts/postSection.tsx","webpack://code-cave/./src/components/projects/projectsSection.tsx","webpack://code-cave/./src/components/reviews/review.tsx","webpack://code-cave/./src/components/reviews/staticReviewsSection.tsx","webpack://code-cave/./src/pagesTemplates/index.tsx","webpack://code-cave/./src/types/common.type.ts","webpack://code-cave/./src/assets/common/border.svg"],"sourcesContent":["// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.AiFillBug = function AiFillBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 280h416c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1-17.2-31.5-42.5-56.8-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9-31.5 17.2-56.8 42.5-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 34.8-28.2 63-63 63H232c-34.8 0-63-28.2-63-63 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7 6 17.2 13.6 33.6 22.7 49 24.3 41.5 59 76.2 100.5 100.5 28.9 16.9 61 28.8 95.3 34.5 4.4 0 8-3.6 8-8V484c0-4.4 3.6-8 8-8h60c4.4 0 8 3.6 8 8v464.2c0 4.4 3.6 8 8 8 34.3-5.7 66.4-17.6 95.3-34.5 41.5-24.3 76.2-59 100.5-100.5 9.1-15.5 16.7-31.9 22.7-49C812.1 793.1 836 831.8 836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.BsArrowUpRight = function BsArrowUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 16 16\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 4a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V4.5H7a.5.5 0 01-.5-.5z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.354 3.646a.5.5 0 010 .708l-9 9a.5.5 0 01-.708-.708l9-9a.5.5 0 01.708 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.FaQuoteRight = function FaQuoteRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z\"}}]})(props);\n};\n","import React from \"react\";\n\nconst Spinner = ({ className }: { className?: string }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Spinner;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport Spinner from \"../common/spinner\";\n\nconst Babylon = () => {\n const [isBabylonReady, setIsBabylonReady] = useState(false);\n const isInitial = useRef(true);\n const canvasRef = useRef(null);\n\n useEffect(() => {\n if (\n !isInitial.current ||\n !canvasRef.current ||\n typeof window == \"undefined\"\n )\n return;\n\n isInitial.current = false;\n\n // WORKER instance creation\n const babylonWorker = new Worker(\n new URL(\"../../workers/babylon.worker.ts\", import.meta.url),\n {\n type: \"module\",\n }\n );\n babylonWorker.onmessage = ({ data }) => {\n if (data === \"ready\") setIsBabylonReady(true);\n };\n\n // OFFSCREEN canvas\n const canvas = canvasRef.current;\n canvas.width = canvas.clientWidth;\n canvas.height = canvas.clientHeight;\n\n const offscreenCanvas = canvas.transferControlToOffscreen();\n babylonWorker.postMessage({ canvas: offscreenCanvas }, [offscreenCanvas]);\n\n // RESIZE handler\n const onResizeHandler = () => {\n babylonWorker.postMessage({\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n });\n };\n window.addEventListener(\"resize\", onResizeHandler, { passive: true });\n\n // WHEEL handler\n const onWheelHandler = (e: WheelEvent) => {\n e.preventDefault();\n babylonWorker.postMessage({ wheel: e.deltaY });\n };\n canvas.addEventListener(\"wheel\", onWheelHandler);\n\n // ROTATE mouse handler\n const onMouseMoveHandler = (e: MouseEvent) => {\n babylonWorker.postMessage({\n x: e.movementX,\n y: e.movementY,\n });\n };\n canvas.addEventListener(\"mousedown\", (e: MouseEvent) => {\n e.preventDefault();\n window.addEventListener(\"mousemove\", onMouseMoveHandler, {\n passive: true,\n });\n window.addEventListener(\n \"mouseup\",\n () => window.removeEventListener(\"mousemove\", onMouseMoveHandler),\n { once: true, passive: true }\n );\n });\n\n // ROTATE touch handler\n const nestedTouchMoveHandler = (\n e: TouchEvent,\n previousCoords: { x: number; y: number }\n ) => {\n const touch = e.touches[0];\n babylonWorker.postMessage({\n x: touch.screenX - previousCoords.x,\n y: touch.screenY - previousCoords.y,\n });\n\n return {\n newX: touch.screenX,\n newY: touch.screenY,\n };\n };\n let onTouchMoveHandler: (e: TouchEvent) => void;\n canvas.addEventListener(\n \"touchstart\",\n (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n\n const firstTouch = e.touches[0];\n\n e.preventDefault();\n const previousCoords = {\n x: firstTouch.screenX,\n y: firstTouch.screenY,\n };\n\n onTouchMoveHandler = (e: TouchEvent) => {\n const { newX, newY } = nestedTouchMoveHandler(e, previousCoords);\n previousCoords.x = newX;\n previousCoords.y = newY;\n };\n\n window.addEventListener(\"touchmove\", onTouchMoveHandler, {\n passive: true,\n });\n window.addEventListener(\n \"touchend\",\n () => {\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n },\n { passive: true }\n );\n },\n { passive: true }\n );\n\n // UNMOUNT handler\n return () => {\n if (!window) return;\n\n window.removeEventListener(\"resize\", onResizeHandler);\n window.removeEventListener(\"mousemove\", onMouseMoveHandler);\n window.removeEventListener(\"touchmove\", onTouchMoveHandler);\n if (canvas) {\n canvas.removeEventListener(\"wheel\", onWheelHandler);\n }\n babylonWorker.terminate();\n };\n }, []);\n\n return (\n
\n \n {!isBabylonReady ? (\n \n ) : null}\n
\n );\n};\n\nexport default Babylon;\n","import React, { useEffect, useState } from \"react\";\nimport { GatsbyImage, IGatsbyImageData } from \"gatsby-plugin-image\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\nimport Babylon from \"../babylonjs/babylon\";\n\n// interface IBannerProps {\n// heightClass?: string;\n// title: string;\n// className?: string;\n// borderBottom?: boolean;\n// borderTop?: boolean;\n// babylon?: boolean;\n// image?: IGatsbyImageData;\n// }\ntype TBannerCommonProps = {\n heightClass?: string;\n title: string;\n className?: string;\n borderBottom?: boolean;\n borderTop?: boolean;\n};\ntype TBannerConditionalProps =\n | {\n babylon?: boolean;\n image?: never;\n children?: never;\n titleBlockClassName?: never;\n }\n | {\n babylon?: never;\n image?: IGatsbyImageData;\n children?: never;\n titleBlockClassName?: never;\n }\n | {\n babylon?: never;\n image?: never;\n children?: React.ReactNode;\n titleBlockClassName?: string;\n };\ntype TBannerProps = TBannerCommonProps & TBannerConditionalProps;\n\nconst Banner = ({\n heightClass = \"min-h-91\",\n title,\n className,\n borderBottom,\n borderTop,\n babylon,\n image,\n titleBlockClassName,\n children,\n}: TBannerProps) => {\n const [textTranslate, setTextTranslate] = useState<\n \"translate-y-full\" | \"translate-y-0\"\n >(\"translate-y-full\");\n useEffect(() => {\n setTextTranslate(\"translate-y-0\");\n }, []);\n\n return (\n \n {borderTop ? (\n \n ) : null}\n \n \n

\n \n {title}\n \n

\n \n {babylon ? (\n \n ) : null}\n {image ? (\n
\n \n
\n ) : null}\n {children ? (\n
\n {children}\n
\n ) : null}\n \n {borderBottom ? (\n \n ) : null}\n \n );\n};\n\nexport default Banner;\n","import React from \"react\";\n\ninterface ITextInputProps extends React.HTMLAttributes {\n type: string;\n name: string;\n label: string;\n className?: string;\n placeholderIndentClass?: string;\n}\n\nconst TextInput = ({\n id,\n type,\n label,\n placeholder,\n className,\n placeholderIndentClass = \"placeholder:left-[60px]\",\n ...attr\n}: ITextInputProps) => {\n return (\n
\n \n\n \n {label}\n \n
\n );\n};\n\nexport default TextInput;\n","import React from \"react\";\n\ninterface ITextAreaInputProps\n extends React.HTMLAttributes {\n name: string;\n label: string;\n className?: string;\n placeholderIndentClass?: string;\n rows?: number;\n}\n\nconst TextAreaInput = ({\n id,\n label,\n placeholder,\n className,\n placeholderIndentClass = \"placeholder:left-[60px]\",\n rows = 1,\n ...attr\n}: ITextAreaInputProps) => {\n return (\n
\n \n\n \n {label}\n \n
\n );\n};\n\nexport default TextAreaInput;\n","import React from \"react\";\n\ninterface ISelectInputProps extends React.HTMLAttributes {\n name: string;\n label: string;\n options: string[];\n className?: string;\n}\n\nconst SelectInput = ({\n id,\n name,\n label,\n options,\n placeholder,\n className,\n ...attr\n}: ISelectInputProps) => {\n const value = \"\";\n const isEmptySelected = !value;\n\n return (\n
\n \n \n {/* \n {options.map((option) => (\n \n {option}\n \n ))} */}\n \n\n \n {label}\n \n {placeholder}\n \n \n
\n );\n};\n\nexport default SelectInput;\n","import React from \"react\";\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport { ILang, Theme } from \"../../types/common.type\";\nimport {\n IContactFormMarkup,\n IMarkupQueryResult,\n} from \"../../types/commonMarkup.type\";\n\nimport TemplateSection from \"./templateSection\";\nimport TextInput from \"./textInput\";\nimport TextAreaInput from \"./textAreaInput\";\nimport SelectInput from \"./selectInput\";\nimport DiscussProjectButton from \"../layout/discussProjectButton\";\n\ninterface IContactFromQueryResult\n extends IMarkupQueryResult<{ contactForm: IContactFormMarkup }> {\n en?: { nodes?: { html: string }[] };\n ru?: { nodes?: { html: string }[] };\n}\n\nconst ContactForm = ({ lang }: ILang) => {\n const formMdData = useStaticQuery(query) as IContactFromQueryResult;\n const formMarkup = formMdData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.contactForm;\n\n let formDescription: string | null | undefined;\n if (lang in formMdData)\n formDescription = formMdData?.[lang]?.nodes?.[0]?.html as string | null;\n else formDescription = formMdData?.en?.nodes?.[0]?.html;\n\n return (\n <>\n {formMarkup ? (\n \n
\n {formDescription ? (\n \n ) : null}\n
\n \n \n \n \n \n \n \n \n
\n \n
\n \n
\n \n ) : null}\n \n );\n};\n\nexport default ContactForm;\n\nexport const query = graphql`\n query {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"contactForm\" }, language: { eq: \"en\" } }\n }\n ) {\n nodes {\n html\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"contactForm\" }, language: { eq: \"ru\" } }\n }\n ) {\n nodes {\n html\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n contactForm {\n sectionTitle\n sectionLinkTitle\n emailLabel\n nameLabel\n companyNameLabel\n servicesLabel\n budgetLabel\n selectPlaceholder\n descriptionLabel\n descriptionPlaceholder\n privacyPolicyCheckboxLabel\n adsCheckboxLabel\n buttonLabel\n }\n }\n }\n }\n }\n`;\n","import React, { PropsWithChildren } from \"react\";\nimport { Link } from \"gatsby\";\n\nimport { Theme } from \"../../types/common.type\";\n\nimport Border from \"../../assets/common/border.svg\";\n\nimport ContentContainer from \"./contentContainer\";\n\ninterface ITemplateSectionProps extends React.HTMLAttributes {\n title: string;\n theme: Theme;\n isArrowLink?: boolean;\n linkTitle?: string;\n section?: string;\n className?: string;\n borderT?: boolean;\n borderB?: boolean;\n}\n\nconst TemplateSection = ({\n section,\n theme,\n title,\n linkTitle,\n className,\n children,\n borderT,\n borderB,\n isArrowLink = true,\n ...attr\n}: PropsWithChildren) => {\n const mainColorClass =\n theme === Theme.dark ? \"text-secondary-100\" : \"text-main-100\";\n const linkColorClass =\n theme === Theme.dark\n ? \"text-secondary-100 hover:text-secondary-70\"\n : \"text-main-100 hover:text-main-10\";\n const bgColorClass =\n theme === Theme.dark ? \"bg-main-100\" : \"text-secondary-100\";\n\n return (\n <>\n {borderT ? : null}\n \n \n
\n

\n {title.toUpperCase()}\n

\n {section ? (\n \n {linkTitle ? linkTitle.toUpperCase() : \"DISCOVER MORE\"}{\" \"}\n {isArrowLink ? <>→ : null}\n \n ) : null}\n
\n {children}\n \n \n {borderB ? : null}\n \n );\n};\n\nexport default TemplateSection;\n","import React from \"react\";\nimport { Link } from \"gatsby\";\n\nimport { BsArrowUpRight } from \"@react-icons/all-files/bs/BsArrowUpRight\";\n\nimport { IPostPreviewQueryResult } from \"../../types/post.type\";\nimport { LocalBusinessMetadata } from \"../common/metadata\";\nimport { IBlogMarkupData } from \"../../types/commonMarkup.type\";\nimport { TLang, Theme } from \"../../types/common.type\";\n\nconst PostPreview = ({\n post,\n theme,\n className,\n markupData,\n lang,\n}: {\n post: IPostPreviewQueryResult;\n className?: string;\n theme: Theme;\n markupData?: IBlogMarkupData;\n lang: TLang;\n}) => {\n const { date, title, text } = post.frontmatter;\n\n const minutes = Math.floor(post.wordCount.words / 200);\n const readingTime = minutes ? minutes : 1;\n\n const fontColorClass100 =\n theme === Theme.light ? \"text-main-100\" : \"text-secondary-100\";\n const fontColorClass10 =\n theme === Theme.light ? \"text-main-10\" : \"text-secondary-10\";\n const fontColorHover =\n theme === Theme.light ? \"hover:text-main-10\" : \"hover:text-secondary-10\";\n\n return (\n \n
\n

\n {date}\n

\n \n {title}\n \n
\n
\n \n {text.split(\" \").slice(0, 70).join(\" \")}...\n

\n
\n
\n {markupData?.readPostLink}\n \n
\n

\n {`${markupData?.readingTimeTitle}: ~${readingTime} ${markupData?.readingTimeUnits}.`}\n

\n
\n
\n \n \n );\n};\n\nexport default PostPreview;\n","import React from \"react\";\nimport { Link } from \"gatsby\";\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nimport { IProjectPreviewQueryResult } from \"../../types/project.type\";\nimport { TLang, Theme } from \"../../types/common.type\";\n\nimport { BsArrowUpRight } from \"@react-icons/all-files/bs/BsArrowUpRight\";\n\nimport { LocalBusinessMetadata } from \"../common/metadata\";\n\nconst ProjectPreview = ({\n project,\n className,\n theme,\n lang,\n}: {\n project: IProjectPreviewQueryResult;\n className?: string;\n theme: Theme;\n lang: TLang;\n}) => {\n const cover = getImage(project.frontmatter.cover);\n const { title, teamSize, duration } = project.frontmatter;\n\n const fontColorClass10 =\n theme === Theme.light\n ? \"text-main-100 hover:text-main-10\"\n : \"text-secondary-100 hover:text-secondary-10\";\n const bgColors =\n theme === Theme.light\n ? \"bg-secondary-100 hover:bg-secondary-100\"\n : \"bg-main-100 hover:bg-main-100\";\n\n return (\n \n
\n {cover ? (\n \n ) : null}\n
\n

\n {duration}\n

\n

\n {teamSize}\n

\n
\n
\n
\n \n {title}\n \n \n
\n \n \n );\n};\n\nexport default ProjectPreview;\n","import React, { forwardRef } from \"react\";\n\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport Autoplay from \"embla-carousel-autoplay\";\n\nconst StackCarousel = forwardRef<\n HTMLDivElement,\n React.PropsWithChildren<{ className?: string }>\n>(({ className, children }, ref) => {\n const [emblaRef, emblaApi] = useEmblaCarousel(\n { loop: true, dragFree: true, duration: 10000, align: 0 },\n [\n Autoplay({\n delay: 0,\n stopOnInteraction: false,\n stopOnMouseEnter: true,\n }),\n ]\n );\n\n return (\n
\n {\n emblaApi?.internalEngine().animation.stop();\n }}\n onMouseLeave={() => {\n emblaApi?.internalEngine().animation.start();\n }}\n >\n {children}\n
\n \n );\n});\n\nexport default StackCarousel;\n","import React, { PropsWithChildren } from \"react\";\n\nimport Border from \"../../assets/common/border.svg\";\n\n\nconst StackUnit = ({ children }: PropsWithChildren) => {\n return (\n
\n \n

{children}

\n \n
\n );\n};\n\nexport default StackUnit;\n","import React from \"react\";\nimport { useStaticQuery, graphql } from \"gatsby\";\n\nimport { AiFillBug } from \"@react-icons/all-files/ai/AiFillBug\";\n\nimport StackCarousel from \"./stackCarousel\";\nimport StackUnit from \"./stakUnit\";\n\nconst StackSection = () => {\n const techData = useStaticQuery(query);\n const techArr = techData?.markdownRemark?.frontmatter?.stack as\n | string[]\n | null;\n\n return (\n <>\n {techArr ? (\n
\n \n {techArr.map((tech) => (\n {tech}\n ))}\n \n \n \n \n
\n ) : null}\n \n );\n};\n\nexport default StackSection;\n\nexport const query = graphql`\n query {\n markdownRemark(fields: { sourceName: { eq: \"stack\" } }) {\n frontmatter {\n stack\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport {\n IBlogSectionQueryResult,\n IPostPreviewQueryResult,\n} from \"../../types/post.type\";\n\nimport PostPreview from \"./postPreview\";\nimport TemplateSection from \"../common/templateSection\";\nimport { ILang, Theme } from \"../../types/common.type\";\n\nconst PostSection = ({ lang }: ILang) => {\n const postData = useStaticQuery(query) as IBlogSectionQueryResult;\n\n const sectionMarkup = postData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.blog;\n\n let post: IPostPreviewQueryResult | null | undefined;\n\n if (lang in postData)\n post = postData?.[lang]?.nodes?.[0] as IPostPreviewQueryResult | null;\n else post = postData?.en?.nodes?.[0];\n\n return (\n <>\n {post ? (\n \n \n \n ) : null}\n \n );\n};\n\nexport default PostSection;\n\nexport const query = graphql`\n query {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"posts\" }, language: { eq: \"en\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 1\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"DD MMM YYYY\", locale: \"en\")\n title\n text\n }\n wordCount {\n words\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"posts\" }, language: { eq: \"ru\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 1\n ) {\n nodes {\n id\n frontmatter {\n date(formatString: \"DD MMM YYYY\", locale: \"ru\")\n title\n text\n }\n wordCount {\n words\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n blog {\n bannerTitle\n head\n readPostLink\n readingTimeTitle\n readingTimeUnits\n postFooterTitle\n postFooterText\n blogSectionTitle\n blogSectionLinkTitle\n }\n }\n }\n }\n }\n`;\n","import React from \"react\";\n\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport {\n IProjectPreviewQueryResult,\n IProjectSectionQueryResult,\n} from \"../../types/project.type\";\n\nimport ProjectPreview from \"./projectPreview\";\nimport TemplateSection from \"../common/templateSection\";\nimport { ILang, Theme } from \"../../types/common.type\";\n\ninterface IProjectsSectionProps extends ILang {\n excludeId?: string;\n}\n\nconst ProjectsSection = ({ excludeId, lang }: IProjectsSectionProps) => {\n const projectsPreviewData = useStaticQuery(\n query\n ) as IProjectSectionQueryResult;\n\n const sectionMarkup = projectsPreviewData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.projects;\n\n let projects: IProjectPreviewQueryResult[] | null | undefined;\n if (lang in projectsPreviewData)\n projects = projectsPreviewData?.[lang]?.nodes as\n | IProjectPreviewQueryResult[]\n | null\n | undefined;\n else projects = projectsPreviewData.en?.nodes;\n\n if (!projects) return <>;\n\n if (excludeId) {\n projects = projects.filter((project) => project.id !== excludeId);\n }\n\n return (\n \n
\n {projects.map((project, i) => {\n if (i === 3) return;\n return (\n \n );\n })}\n
\n \n );\n};\n\nexport default ProjectsSection;\n\nexport const query = graphql`\n {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"projects\" }, language: { eq: \"en\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 4\n ) {\n nodes {\n id\n frontmatter {\n title\n cover {\n childImageSharp {\n gatsbyImageData(\n width: 600\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n )\n }\n }\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"projects\" }, language: { eq: \"ru\" } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: 4\n ) {\n nodes {\n id\n frontmatter {\n title\n cover {\n childImageSharp {\n gatsbyImageData(\n width: 600\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n )\n }\n }\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n projects {\n moreProjectsSectionTitle\n moreProjectsSectionLinkTitle\n }\n }\n }\n }\n }\n`;\n","import React from \"react\";\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nimport { IReviewQueryResult } from \"../../types/review.type\";\n\nimport { FaQuoteRight } from \"@react-icons/all-files/fa/FaQuoteRight\";\n\nconst Review = ({\n review: {\n frontmatter: { company, person, position, location, image },\n html,\n },\n className,\n}: {\n review: IReviewQueryResult;\n className?: string;\n}) => {\n const avatar = getImage(image);\n\n return (\n \n
\n {avatar ? (\n \n ) : null}\n
\n

{person}

\n

\n {position}, {company}\n

\n

{location}

\n
\n \n
\n \n \n\n //
\n //
\n // \n // {avatar ? (\n // \n // ) : null}\n //
\n //
\n //

{person}

\n // {person}\n //

\n // {position}, {company}\n //

\n //

\n // {location}\n //

\n //
\n //
\n // \n // \n );\n};\n\nexport default Review;\n","import React from \"react\";\nimport { graphql, useStaticQuery } from \"gatsby\";\n\nimport { ILang, Theme } from \"../../types/common.type\";\nimport {\n IReviewQueryResult,\n IReviewSectionQueryResult,\n} from \"../../types/review.type\";\n\nimport TemplateSection from \"../common/templateSection\";\nimport Review from \"./review\";\n\nconst StaticReviewsSection = ({ lang }: ILang) => {\n const reviewsData = useStaticQuery(query) as IReviewSectionQueryResult;\n\n const sectionMarkup = reviewsData?.markupData?.nodes?.find(\n (node) => node.fields.language === lang\n )?.frontmatter?.reviews;\n\n let reviews: IReviewQueryResult[] | null | undefined;\n\n if (lang in reviewsData)\n reviews = reviewsData?.[lang]?.nodes?.sort((a, b) =>\n a.frontmatter.person > b.frontmatter.person ? 1 : -1\n ) as IReviewQueryResult[] | null | undefined;\n else\n reviews = reviewsData?.en?.nodes?.sort((a, b) =>\n a.frontmatter.person > b.frontmatter.person ? 1 : -1\n );\n\n return (\n <>\n {reviews ? (\n \n
\n {reviews.map((review) => (\n \n ))}\n
\n \n ) : null}\n \n );\n};\n\nexport default StaticReviewsSection;\n\nexport const query = graphql`\n query {\n en: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"reviews\" }, language: { eq: \"en\" } }\n }\n ) {\n nodes {\n id\n html\n frontmatter {\n company\n location\n person\n position\n image {\n childImageSharp {\n gatsbyImageData(\n height: 112\n placeholder: BLURRED\n formats: [AUTO, AVIF, WEBP]\n )\n }\n }\n }\n }\n }\n ru: allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"reviews\" }, language: { eq: \"ru\" } }\n }\n ) {\n nodes {\n id\n html\n frontmatter {\n company\n location\n person\n position\n image {\n childImageSharp {\n gatsbyImageData(\n height: 112\n placeholder: BLURRED\n formats: [AUTO, AVIF, WEBP]\n )\n }\n }\n }\n }\n }\n markupData: allMarkdownRemark(\n filter: { fields: { sourceName: { eq: \"common\" } } }\n sort: { frontmatter: { order: ASC } }\n ) {\n nodes {\n fields {\n language\n }\n frontmatter {\n reviews {\n title\n linkTitle\n }\n }\n }\n }\n }\n`;\n","import * as React from \"react\";\nimport type { HeadFC, HeadProps, PageProps } from \"gatsby\";\n\nimport { IconContext } from \"@react-icons/all-files\";\nimport \"../styles/styles.css\";\n\nimport { IIndexPageContext } from \"../types/index.type\";\n\nimport Banner from \"../components/common/banner\";\nimport StackSection from \"../components/stack/stackSection\";\nimport PostSection from \"../components/posts/postSection\";\nimport ProjectsSection from \"../components/projects/projectsSection\";\nimport { HeadSeo } from \"../components/common/metadata\";\nimport StaticReviewsSection from \"../components/reviews/staticReviewsSection\";\nimport ContactForm from \"../components/common/contactFormSection\";\n\nconst IndexPage = ({\n pageContext: { markupData, lang },\n}: PageProps) => {\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nexport default IndexPage;\n\nexport const Head: HeadFC = ({\n pageContext: { markupData, site, lang },\n location,\n}: HeadProps) => {\n return (\n \n );\n};\n","export interface ILang {\n lang: TLang;\n}\n\nexport type TLang = \"en\" | \"ru\";\n\nexport type TLinks = \"services\" | \"workflow\" | \"projects\" | \"blog\";\n\nexport interface IBasePageContext extends ILang {\n site: ISiteMetadata;\n}\n\nexport interface IMdQueryResult {\n allMarkdownRemark: {\n nodes: T[];\n };\n}\n\nexport interface ISiteMetadata {\n title: string;\n description: string;\n siteUrl: string;\n image: string;\n analyticsId: string;\n}\n\nexport enum Theme {\n dark = \"dark\",\n light = \"light\",\n}\n","var React = require('react');\n\nfunction Border (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"#f9f9f9\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"0\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":0}),React.createElement(\"line\",{\"width\":\"800\",\"height\":\"8\",\"stroke\":\"#111111\",\"strokeWidth\":\"8\",\"strokeDasharray\":\"8 8\",\"x1\":\"8\",\"x2\":\"100%\",\"y1\":\"4\",\"y2\":\"4\",\"key\":1})]);\n}\n\nBorder.defaultProps = {\"height\":\"8\"};\n\nmodule.exports = Border;\n\nBorder.default = Border;\n"],"names":["GenIcon","module","exports","props","_ref","className","React","viewBox","fill","xmlns","d","Babylon","isBabylonReady","setIsBabylonReady","useState","isInitial","useRef","canvasRef","useEffect","current","window","babylonWorker","Worker","URL","type","onmessage","data","canvas","width","clientWidth","height","clientHeight","offscreenCanvas","transferControlToOffscreen","postMessage","onResizeHandler","addEventListener","passive","onWheelHandler","e","preventDefault","wheel","deltaY","onMouseMoveHandler","x","movementX","y","movementY","removeEventListener","once","onTouchMoveHandler","touches","length","firstTouch","previousCoords","screenX","screenY","newX","newY","nestedTouchMoveHandler","touch","terminate","ref","Spinner","heightClass","title","borderBottom","borderTop","babylon","image","titleBlockClassName","children","textTranslate","setTextTranslate","Border","ContentContainer","GatsbyImage","alt","id","label","placeholder","placeholderIndentClass","attr","Object","assign","htmlFor","rows","name","options","disabled","value","hidden","_formMdData$markupDat","_formMdData$markupDat2","_formMdData$markupDat3","_formMdData$markupDat4","_formMdData$lang","_formMdData$lang$node","_formMdData$lang$node2","_formMdData$en","_formMdData$en$nodes","_formMdData$en$nodes$","_formMarkup$sectionTi","_formMarkup$sectionLi","lang","formMdData","useStaticQuery","query","formMarkup","markupData","nodes","find","node","fields","language","frontmatter","contactForm","formDescription","html","en","TemplateSection","theme","Theme","light","sectionTitle","linkTitle","sectionLinkTitle","section","isArrowLink","dangerouslySetInnerHTML","__html","action","TextInput","emailLabel","companyNameLabel","nameLabel","SelectInput","servicesLabel","selectPlaceholder","budgetLabel","TextAreaInput","descriptionLabel","descriptionPlaceholder","privacyPolicyCheckboxLabel","adsCheckboxLabel","DiscussProjectButton","buttonLabel","borderT","borderB","mainColorClass","dark","linkColorClass","bgColorClass","maxWidthClass","toUpperCase","Link","to","post","date","text","minutes","Math","floor","wordCount","words","readingTime","fontColorClass100","fontColorClass10","fontColorHover","itemScope","itemType","itemProp","split","slice","join","readPostLink","BsArrowUpRight","size","readingTimeTitle","readingTimeUnits","LocalBusinessMetadata","project","cover","getImage","teamSize","duration","bgColors","forwardRef","emblaRef","emblaApi","useEmblaCarousel","loop","dragFree","align","Autoplay","delay","stopOnInteraction","stopOnMouseEnter","onMouseEnter","internalEngine","animation","stop","onMouseLeave","start","StackSection","_techData$markdownRem","_techData$markdownRem2","techData","techArr","markdownRemark","stack","StackCarousel","map","tech","StackUnit","key","AiFillBug","_postData$markupData","_postData$markupData$","_postData$markupData$2","_postData$markupData$3","_postData$lang","_postData$lang$nodes","_postData$en","_postData$en$nodes","_sectionMarkup$blogSe","_sectionMarkup$blogSe2","postData","sectionMarkup","blog","blogSectionTitle","blogSectionLinkTitle","PostPreview","_projectsPreviewData$","_projectsPreviewData$2","_projectsPreviewData$3","_projectsPreviewData$4","_projectsPreviewData$5","_projectsPreviewData$6","_sectionMarkup$morePr","_sectionMarkup$morePr2","excludeId","projectsPreviewData","projects","filter","moreProjectsSectionTitle","moreProjectsSectionLinkTitle","i","ProjectPreview","review","company","person","position","location","avatar","FaQuoteRight","color","_reviewsData$markupDa","_reviewsData$markupDa2","_reviewsData$markupDa3","_reviewsData$markupDa4","_reviewsData$lang","_reviewsData$lang$nod","_reviewsData$en","_reviewsData$en$nodes","_sectionMarkup$title","reviewsData","reviews","sort","a","b","Review","pageContext","IconContext","Provider","style","verticalAlign","Banner","bannerTitle","ProjectsSection","StaticReviewsSection","PostSection","ContactForm","Head","_ref2","site","HeadSeo","head","description","metaDescription","siteUrl","path","pathname","createElement","defaultProps","default"],"sourceRoot":""} \ No newline at end of file diff --git a/component---src-pages-templates-projects-tsx-0e67ae538ee4d4cb1350.js b/component---src-pages-templates-projects-tsx-8c45e01db800ebc62ad1.js similarity index 97% rename from component---src-pages-templates-projects-tsx-0e67ae538ee4d4cb1350.js rename to component---src-pages-templates-projects-tsx-8c45e01db800ebc62ad1.js index 0566deff..9fdb83d9 100644 --- a/component---src-pages-templates-projects-tsx-0e67ae538ee4d4cb1350.js +++ b/component---src-pages-templates-projects-tsx-8c45e01db800ebc62ad1.js @@ -1,2 +1,2 @@ -(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[650],{6488:function(e,t,a){var r=a(9720).w_;e.exports.p=function(e){return r({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M6.5 4a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V4.5H7a.5.5 0 01-.5-.5z",clipRule:"evenodd"}},{tag:"path",attr:{fillRule:"evenodd",d:"M12.354 3.646a.5.5 0 010 .708l-9 9a.5.5 0 01-.708-.708l9-9a.5.5 0 01.708 0z",clipRule:"evenodd"}}]})(e)}},1434:function(e,t,a){"use strict";var r=a(7294),n=a(8322);t.Z=e=>{const{theme:t,onClick:a,className:l,children:c,border:s,...o}=e,i=""+(t===n.Q.dark?"bg-main-100 text-secondary-100 border-secondary-100 hover:bg-main-70":"bg-secondary-100 text-main-100 border-main-100 hover:bg-secondary-30");return r.createElement("button",Object.assign({onClick:a,className:`flex min-w-10 items-center justify-center rounded-lg border-solid ${s?"border":""} ${i} ${l}`},o),c)}},4568:function(e,t,a){"use strict";var r=a(7294),n=a(4160),l=a(8322),c=a(1434);t.Z=e=>{let{section:t,pagesQuantity:a,currentPage:s,nextPageTitle:o,className:i}=e;const m=Array.from({length:a},((e,t)=>t+1)),d=s+1;return r.createElement("div",{className:`flex justify-center w-full gap-6 ${i}`},s1?m.map((e=>r.createElement(n.rU,{key:`pagination-link-${e}`,to:`/${t}/page/${e}`},r.createElement(c.Z,{theme:l.Q.light,border:e===s,className:"h-10 font-bold"},e)))):null))}},6745:function(e,t,a){"use strict";var r=a(7294),n=a(4160),l=a(8032),c=a(8322),s=a(6488),o=a(9165);t.Z=e=>{let{project:t,className:a,theme:i,lang:m}=e;const d=(0,l.c)(t.frontmatter.cover),{title:u,teamSize:g,duration:p}=t.frontmatter,h=i===c.Q.light?"text-main-100 hover:text-main-10":"text-secondary-100 hover:text-secondary-10",f=i===c.Q.light?"bg-secondary-100 hover:bg-secondary-100":"bg-main-100 hover:bg-main-100";return r.createElement(n.rU,{to:`/projects/${t.id}`,className:`${f} ${h} flex flex-col justify-between hover:text-main-10 rounded-2xl p-2.5 gap-2.5 ${a}`,itemScope:!0,itemType:"https://schema.org/CreativeWork"},r.createElement("div",{className:"w-full h-full relative"},d?r.createElement(l.G,{image:d,alt:"cover",itemProp:"image",className:"object-contain w-full rounded-[10px]"}):null,r.createElement("div",{className:"absolute left-2 bottom-2 flex items-center gap-2.5 z-50"},r.createElement("p",{className:"backdrop-blur-sm backdrop-brightness-75 text-secondary-100 px-5 h-10 flex items-center rounded-lg"},p),r.createElement("p",{className:"backdrop-blur-sm backdrop-brightness-75 text-secondary-100 px-5 h-10 flex items-center rounded-lg"},g))),r.createElement("div",{className:"flex px-2.5 py-1 items-center grow"},r.createElement("h3",{className:"text-base grow font-medium h-full",itemProp:"description"},u),r.createElement(s.p,{size:20})),r.createElement(o.Lx,{itemProp:"author",lang:m}))}},3997:function(e,t,a){"use strict";a.r(t),a.d(t,{Head:function(){return i}});var r=a(7294),n=a(8322),l=a(1164),c=a(6745),s=a(4568),o=a(9165);t.default=e=>{let{data:t,pageContext:a}=e;const o=t.allMarkdownRemark.nodes,{currentPage:i,pagesQuantity:m,lang:d}=a;return r.createElement("div",{className:"flex w-full justify-center bg-main-100"},r.createElement(l.Z,{maxWidthClass:"max-w-4.5xl",className:"flex-col py-16"},r.createElement("div",{className:"w-full grid grid-cols-1 sm:grid-cols-2 gap-x-14 gap-y-8"},o?o.map((e=>r.createElement(c.Z,{key:e.id,project:e,lang:d,theme:n.Q.light}))):null),m>1?r.createElement(s.Z,{section:"projects",pagesQuantity:m,currentPage:i,nextPageTitle:a.pagination.next}):null))};const i=e=>{let{pageContext:{markupData:t,site:a,lang:n},location:l}=e;return r.createElement(o.Ag,{title:`${t.head} | ${t.bannerTitle.toUpperCase()}`,siteUrl:a.siteUrl,path:l.pathname,lang:n})}},8322:function(e,t,a){"use strict";a.d(t,{Q:function(){return r}});let r=function(e){return e.dark="dark",e.light="light",e}({})}}]); -//# sourceMappingURL=component---src-pages-templates-projects-tsx-0e67ae538ee4d4cb1350.js.map \ No newline at end of file +(self.webpackChunkcode_cave=self.webpackChunkcode_cave||[]).push([[650],{6488:function(e,t,a){var r=a(9720).w_;e.exports.p=function(e){return r({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M6.5 4a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V4.5H7a.5.5 0 01-.5-.5z",clipRule:"evenodd"}},{tag:"path",attr:{fillRule:"evenodd",d:"M12.354 3.646a.5.5 0 010 .708l-9 9a.5.5 0 01-.708-.708l9-9a.5.5 0 01.708 0z",clipRule:"evenodd"}}]})(e)}},1434:function(e,t,a){"use strict";var r=a(7294),n=a(8322);t.Z=e=>{const{theme:t,onClick:a,className:l,children:c,border:s,...o}=e,i=""+(t===n.Q.dark?"bg-main-100 text-secondary-100 border-secondary-100 hover:bg-main-70":"bg-secondary-100 text-main-100 border-main-100 hover:bg-secondary-30");return r.createElement("button",Object.assign({onClick:a,className:`flex min-w-10 items-center justify-center rounded-lg border-solid ${s?"border":""} ${i} ${l}`},o),c)}},4568:function(e,t,a){"use strict";var r=a(7294),n=a(4160),l=a(8322),c=a(1434);t.Z=e=>{let{section:t,pagesQuantity:a,currentPage:s,nextPageTitle:o,className:i}=e;const m=Array.from({length:a},((e,t)=>t+1)),d=s+1;return r.createElement("div",{className:`flex justify-center w-full gap-6 ${i}`},s1?m.map((e=>r.createElement(n.rU,{key:`pagination-link-${e}`,to:`/${t}/page/${e}`},r.createElement(c.Z,{theme:l.Q.light,border:e===s,className:"h-10 font-bold"},e)))):null))}},6745:function(e,t,a){"use strict";var r=a(7294),n=a(4160),l=a(8032),c=a(8322),s=a(6488),o=a(9165);t.Z=e=>{let{project:t,className:a,theme:i,lang:m}=e;const d=(0,l.c)(t.frontmatter.cover),{title:u,teamSize:g,duration:p}=t.frontmatter,h=i===c.Q.light?"text-main-100 hover:text-main-10":"text-secondary-100 hover:text-secondary-10",f=i===c.Q.light?"bg-secondary-100 hover:bg-secondary-100":"bg-main-100 hover:bg-main-100";return r.createElement(n.rU,{to:`/projects/${t.id}`,className:`${f} ${h} flex flex-col justify-between hover:text-main-10 rounded-2xl p-2.5 gap-2.5 ${a}`,itemScope:!0,itemType:"https://schema.org/CreativeWork"},r.createElement("div",{className:"w-full h-full relative"},d?r.createElement(l.G,{image:d,alt:"cover",itemProp:"image",className:"object-contain w-full rounded-[10px]"}):null,r.createElement("div",{className:"absolute left-2 bottom-2 flex items-center gap-2.5 z-10"},r.createElement("p",{className:"backdrop-blur-sm backdrop-brightness-75 text-secondary-100 px-5 h-10 flex items-center rounded-lg"},p),r.createElement("p",{className:"backdrop-blur-sm backdrop-brightness-75 text-secondary-100 px-5 h-10 flex items-center rounded-lg"},g))),r.createElement("div",{className:"flex px-2.5 py-1 items-center grow"},r.createElement("h3",{className:"text-base grow font-medium h-full",itemProp:"description"},u),r.createElement(s.p,{size:20})),r.createElement(o.Lx,{itemProp:"author",lang:m}))}},3997:function(e,t,a){"use strict";a.r(t),a.d(t,{Head:function(){return i}});var r=a(7294),n=a(8322),l=a(1164),c=a(6745),s=a(4568),o=a(9165);t.default=e=>{let{data:t,pageContext:a}=e;const o=t.allMarkdownRemark.nodes,{currentPage:i,pagesQuantity:m,lang:d}=a;return r.createElement("div",{className:"flex w-full justify-center bg-main-100"},r.createElement(l.Z,{maxWidthClass:"max-w-4.5xl",className:"flex-col py-16"},r.createElement("div",{className:"w-full grid grid-cols-1 sm:grid-cols-2 gap-x-14 gap-y-8"},o?o.map((e=>r.createElement(c.Z,{key:e.id,project:e,lang:d,theme:n.Q.light}))):null),m>1?r.createElement(s.Z,{section:"projects",pagesQuantity:m,currentPage:i,nextPageTitle:a.pagination.next}):null))};const i=e=>{let{pageContext:{markupData:t,site:a,lang:n},location:l}=e;return r.createElement(o.Ag,{title:`${t.head} | ${t.bannerTitle.toUpperCase()}`,siteUrl:a.siteUrl,path:l.pathname,lang:n})}},8322:function(e,t,a){"use strict";a.d(t,{Q:function(){return r}});let r=function(e){return e.dark="dark",e.light="light",e}({})}}]); +//# sourceMappingURL=component---src-pages-templates-projects-tsx-8c45e01db800ebc62ad1.js.map \ No newline at end of file diff --git a/component---src-pages-templates-projects-tsx-0e67ae538ee4d4cb1350.js.map b/component---src-pages-templates-projects-tsx-8c45e01db800ebc62ad1.js.map similarity index 99% rename from component---src-pages-templates-projects-tsx-0e67ae538ee4d4cb1350.js.map rename to component---src-pages-templates-projects-tsx-8c45e01db800ebc62ad1.js.map index 69ac6dc7..e64d08f7 100644 --- a/component---src-pages-templates-projects-tsx-0e67ae538ee4d4cb1350.js.map +++ b/component---src-pages-templates-projects-tsx-8c45e01db800ebc62ad1.js.map @@ -1 +1 @@ -{"version":3,"file":"component---src-pages-templates-projects-tsx-0e67ae538ee4d4cb1350.js","mappings":"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","sources":["webpack://code-cave/./node_modules/@react-icons/all-files/bs/BsArrowUpRight.js","webpack://code-cave/./src/components/common/button.tsx","webpack://code-cave/./src/components/common/pagination.tsx","webpack://code-cave/./src/components/projects/projectPreview.tsx","webpack://code-cave/./src/pagesTemplates/projects.tsx","webpack://code-cave/./src/types/common.type.ts"],"sourcesContent":["// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.BsArrowUpRight = function BsArrowUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 16 16\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 4a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V4.5H7a.5.5 0 01-.5-.5z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.354 3.646a.5.5 0 010 .708l-9 9a.5.5 0 01-.708-.708l9-9a.5.5 0 01.708 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\n","import React from \"react\";\n\nimport { Theme } from \"../../types/common.type\";\n\ninterface IButtonProps extends React.ButtonHTMLAttributes {\n theme: Theme;\n onClick?: () => any;\n className?: string;\n border?: boolean;\n}\n\nconst Button = (props: React.PropsWithChildren) => {\n const { theme, onClick, className, children, border, ...attr } = props;\n\n const colorClasses = `${\n theme === Theme.dark\n ? \"bg-main-100 text-secondary-100 border-secondary-100 hover:bg-main-70\"\n : \"bg-secondary-100 text-main-100 border-main-100 hover:bg-secondary-30\"\n }`;\n\n return (\n \n {children}\n \n );\n};\n\nexport default Button;\n","import React from \"react\";\nimport { Link } from \"gatsby\";\n\nimport { Theme } from \"../../types/common.type\";\n\nimport Button from \"./button\";\n\nconst Pagination = ({\n section,\n pagesQuantity,\n currentPage,\n nextPageTitle,\n className,\n}: {\n section: \"projects\" | `blog${string}`;\n pagesQuantity: number;\n currentPage: number;\n nextPageTitle?: string;\n className?: string;\n}) => {\n const pages = Array.from({ length: pagesQuantity }, (_, i) => i + 1);\n const nextPage = currentPage + 1;\n\n return (\n
\n {currentPage < pagesQuantity ? (\n \n \n {nextPageTitle ?? \"Next page\"}\n \n \n ) : null}\n\n \n
\n );\n};\n\nexport default Pagination;\n","import React from \"react\";\nimport { Link } from \"gatsby\";\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nimport { IProjectPreviewQueryResult } from \"../../types/project.type\";\nimport { TLang, Theme } from \"../../types/common.type\";\n\nimport { BsArrowUpRight } from \"@react-icons/all-files/bs/BsArrowUpRight\";\n\nimport { LocalBusinessMetadata } from \"../common/metadata\";\n\nconst ProjectPreview = ({\n project,\n className,\n theme,\n lang,\n}: {\n project: IProjectPreviewQueryResult;\n className?: string;\n theme: Theme;\n lang: TLang;\n}) => {\n const cover = getImage(project.frontmatter.cover);\n const { title, teamSize, duration } = project.frontmatter;\n\n const fontColorClass10 =\n theme === Theme.light\n ? \"text-main-100 hover:text-main-10\"\n : \"text-secondary-100 hover:text-secondary-10\";\n const bgColors =\n theme === Theme.light\n ? \"bg-secondary-100 hover:bg-secondary-100\"\n : \"bg-main-100 hover:bg-main-100\";\n\n return (\n \n
\n {cover ? (\n \n ) : null}\n
\n

\n {duration}\n

\n

\n {teamSize}\n

\n
\n
\n
\n \n {title}\n \n \n
\n \n \n );\n};\n\nexport default ProjectPreview;\n","import React from \"react\";\n\nimport { HeadFC, HeadProps, PageProps } from \"gatsby\";\nimport { graphql } from \"gatsby\";\n\nimport { IProjectsPageContext, IProjectsPageData } from \"../types/project.type\";\nimport { Theme } from \"../types/common.type\";\n\nimport ContentContainer from \"../components/common/contentContainer\";\nimport ProjectPreview from \"../components/projects/projectPreview\";\nimport Pagination from \"../components/common/pagination\";\nimport { HeadSeo } from \"../components/common/metadata\";\n\nconst Projects = ({\n data,\n pageContext,\n}: PageProps) => {\n const projects = data.allMarkdownRemark.nodes;\n const { currentPage, pagesQuantity, lang } = pageContext;\n\n return (\n
\n \n
\n {projects\n ? projects.map((project) => (\n \n ))\n : null}\n
\n {pagesQuantity > 1 ? (\n \n ) : null}\n
\n
\n );\n};\n\nexport default Projects;\n\nexport const Head: HeadFC = ({\n pageContext: { markupData, site, lang },\n location,\n}: HeadProps) => (\n \n);\n\nexport const query = graphql`\n query ($skip: Int!, $limit: Int!, $lang: String) {\n allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"projects\" }, language: { eq: $lang } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: $limit\n skip: $skip\n ) {\n nodes {\n id\n frontmatter {\n title\n teamSize\n duration\n cover {\n childImageSharp {\n gatsbyImageData(\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n width: 600\n )\n }\n }\n }\n }\n }\n }\n`;\n","export interface ILang {\n lang: TLang;\n}\n\nexport type TLang = \"en\" | \"ru\";\n\nexport type TLinks = \"services\" | \"workflow\" | \"projects\" | \"blog\";\n\nexport interface IBasePageContext extends ILang {\n site: ISiteMetadata;\n}\n\nexport interface IMdQueryResult {\n allMarkdownRemark: {\n nodes: T[];\n };\n}\n\nexport interface ISiteMetadata {\n title: string;\n description: string;\n siteUrl: string;\n image: string;\n analyticsId: string;\n}\n\nexport enum Theme {\n dark = \"dark\",\n light = \"light\",\n}\n"],"names":["GenIcon","module","exports","props","theme","onClick","className","children","border","attr","colorClasses","Theme","dark","React","Object","assign","_ref","section","pagesQuantity","currentPage","nextPageTitle","pages","Array","from","length","_","i","nextPage","Link","to","Button","light","map","page","key","project","lang","cover","getImage","frontmatter","title","teamSize","duration","fontColorClass10","bgColors","id","itemScope","itemType","GatsbyImage","image","alt","itemProp","BsArrowUpRight","size","LocalBusinessMetadata","data","pageContext","projects","allMarkdownRemark","nodes","ContentContainer","maxWidthClass","ProjectPreview","Pagination","pagination","next","Head","_ref2","markupData","site","location","HeadSeo","head","bannerTitle","toUpperCase","siteUrl","path","pathname"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"component---src-pages-templates-projects-tsx-8c45e01db800ebc62ad1.js","mappings":"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","sources":["webpack://code-cave/./node_modules/@react-icons/all-files/bs/BsArrowUpRight.js","webpack://code-cave/./src/components/common/button.tsx","webpack://code-cave/./src/components/common/pagination.tsx","webpack://code-cave/./src/components/projects/projectPreview.tsx","webpack://code-cave/./src/pagesTemplates/projects.tsx","webpack://code-cave/./src/types/common.type.ts"],"sourcesContent":["// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon\nmodule.exports.BsArrowUpRight = function BsArrowUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 16 16\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 4a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V4.5H7a.5.5 0 01-.5-.5z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.354 3.646a.5.5 0 010 .708l-9 9a.5.5 0 01-.708-.708l9-9a.5.5 0 01.708 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\n","import React from \"react\";\n\nimport { Theme } from \"../../types/common.type\";\n\ninterface IButtonProps extends React.ButtonHTMLAttributes {\n theme: Theme;\n onClick?: () => any;\n className?: string;\n border?: boolean;\n}\n\nconst Button = (props: React.PropsWithChildren) => {\n const { theme, onClick, className, children, border, ...attr } = props;\n\n const colorClasses = `${\n theme === Theme.dark\n ? \"bg-main-100 text-secondary-100 border-secondary-100 hover:bg-main-70\"\n : \"bg-secondary-100 text-main-100 border-main-100 hover:bg-secondary-30\"\n }`;\n\n return (\n \n {children}\n \n );\n};\n\nexport default Button;\n","import React from \"react\";\nimport { Link } from \"gatsby\";\n\nimport { Theme } from \"../../types/common.type\";\n\nimport Button from \"./button\";\n\nconst Pagination = ({\n section,\n pagesQuantity,\n currentPage,\n nextPageTitle,\n className,\n}: {\n section: \"projects\" | `blog${string}`;\n pagesQuantity: number;\n currentPage: number;\n nextPageTitle?: string;\n className?: string;\n}) => {\n const pages = Array.from({ length: pagesQuantity }, (_, i) => i + 1);\n const nextPage = currentPage + 1;\n\n return (\n
\n {currentPage < pagesQuantity ? (\n \n \n {nextPageTitle ?? \"Next page\"}\n \n \n ) : null}\n\n \n
\n );\n};\n\nexport default Pagination;\n","import React from \"react\";\nimport { Link } from \"gatsby\";\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\";\n\nimport { IProjectPreviewQueryResult } from \"../../types/project.type\";\nimport { TLang, Theme } from \"../../types/common.type\";\n\nimport { BsArrowUpRight } from \"@react-icons/all-files/bs/BsArrowUpRight\";\n\nimport { LocalBusinessMetadata } from \"../common/metadata\";\n\nconst ProjectPreview = ({\n project,\n className,\n theme,\n lang,\n}: {\n project: IProjectPreviewQueryResult;\n className?: string;\n theme: Theme;\n lang: TLang;\n}) => {\n const cover = getImage(project.frontmatter.cover);\n const { title, teamSize, duration } = project.frontmatter;\n\n const fontColorClass10 =\n theme === Theme.light\n ? \"text-main-100 hover:text-main-10\"\n : \"text-secondary-100 hover:text-secondary-10\";\n const bgColors =\n theme === Theme.light\n ? \"bg-secondary-100 hover:bg-secondary-100\"\n : \"bg-main-100 hover:bg-main-100\";\n\n return (\n \n
\n {cover ? (\n \n ) : null}\n
\n

\n {duration}\n

\n

\n {teamSize}\n

\n
\n
\n
\n \n {title}\n \n \n
\n \n \n );\n};\n\nexport default ProjectPreview;\n","import React from \"react\";\n\nimport { HeadFC, HeadProps, PageProps } from \"gatsby\";\nimport { graphql } from \"gatsby\";\n\nimport { IProjectsPageContext, IProjectsPageData } from \"../types/project.type\";\nimport { Theme } from \"../types/common.type\";\n\nimport ContentContainer from \"../components/common/contentContainer\";\nimport ProjectPreview from \"../components/projects/projectPreview\";\nimport Pagination from \"../components/common/pagination\";\nimport { HeadSeo } from \"../components/common/metadata\";\n\nconst Projects = ({\n data,\n pageContext,\n}: PageProps) => {\n const projects = data.allMarkdownRemark.nodes;\n const { currentPage, pagesQuantity, lang } = pageContext;\n\n return (\n
\n \n
\n {projects\n ? projects.map((project) => (\n \n ))\n : null}\n
\n {pagesQuantity > 1 ? (\n \n ) : null}\n
\n
\n );\n};\n\nexport default Projects;\n\nexport const Head: HeadFC = ({\n pageContext: { markupData, site, lang },\n location,\n}: HeadProps) => (\n \n);\n\nexport const query = graphql`\n query ($skip: Int!, $limit: Int!, $lang: String) {\n allMarkdownRemark(\n filter: {\n fields: { sourceName: { eq: \"projects\" }, language: { eq: $lang } }\n }\n sort: { frontmatter: { date: DESC } }\n limit: $limit\n skip: $skip\n ) {\n nodes {\n id\n frontmatter {\n title\n teamSize\n duration\n cover {\n childImageSharp {\n gatsbyImageData(\n formats: [AUTO, WEBP, AVIF]\n placeholder: BLURRED\n width: 600\n )\n }\n }\n }\n }\n }\n }\n`;\n","export interface ILang {\n lang: TLang;\n}\n\nexport type TLang = \"en\" | \"ru\";\n\nexport type TLinks = \"services\" | \"workflow\" | \"projects\" | \"blog\";\n\nexport interface IBasePageContext extends ILang {\n site: ISiteMetadata;\n}\n\nexport interface IMdQueryResult {\n allMarkdownRemark: {\n nodes: T[];\n };\n}\n\nexport interface ISiteMetadata {\n title: string;\n description: string;\n siteUrl: string;\n image: string;\n analyticsId: string;\n}\n\nexport enum Theme {\n dark = \"dark\",\n light = \"light\",\n}\n"],"names":["GenIcon","module","exports","props","theme","onClick","className","children","border","attr","colorClasses","Theme","dark","React","Object","assign","_ref","section","pagesQuantity","currentPage","nextPageTitle","pages","Array","from","length","_","i","nextPage","Link","to","Button","light","map","page","key","project","lang","cover","getImage","frontmatter","title","teamSize","duration","fontColorClass10","bgColors","id","itemScope","itemType","GatsbyImage","image","alt","itemProp","BsArrowUpRight","size","LocalBusinessMetadata","data","pageContext","projects","allMarkdownRemark","nodes","ContentContainer","maxWidthClass","ProjectPreview","Pagination","pagination","next","Head","_ref2","markupData","site","location","HeadSeo","head","bannerTitle","toUpperCase","siteUrl","path","pathname"],"sourceRoot":""} \ No newline at end of file diff --git a/cookie-policy/index.html b/cookie-policy/index.html index 1e4a8350..134d1b0c 100644 --- a/cookie-policy/index.html +++ b/cookie-policy/index.html @@ -171,6 +171,6 @@

Контакты

- \ No newline at end of file + \ No newline at end of file diff --git a/index.html b/index.html index 9356ad00..2e991d2b 100644 --- a/index.html +++ b/index.html @@ -64,7 +64,7 @@ }); } - }]);

AR

CAD ADDINS

PLM

QUALITY ASSURANCE

3D

ETL

WEB DEVELOPMENT

UX/UI

MOBILE APP

CLOUD & DEVOPS

ЕЩЕ ПРОЕКТЫ

СМОТРЕТЬ ЕЩЁ
cover

Расширение Bimcore Revit

cover

Приложение управления доставками

cover

IFSE плагин для Revit

Specifi Europe Srl

Fabio Tantaro

Генеральный директор, Specifi Europe Srl

Италия

Codecave помогли нам перейти с нашей старой внутренней системы на новую, написав документацию, которую мы сможем переиспользовать в будущем, обеспечив достаточное количество предлагаемых услуг нашим пользователям в переходный период.

Prima Consulting d.o.o.

Roberto Assi

Директор, Prima Consulting d.o.o.

Сербия

Мы компания сферы услуг и хотели создать веб-сайт, который бы вместил весь наш опыт, полученный за последние 30 лет.

+ }]);

AR

CAD ADDINS

PLM

QUALITY ASSURANCE

3D

ETL

WEB DEVELOPMENT

UX/UI

MOBILE APP

CLOUD & DEVOPS

ЕЩЕ ПРОЕКТЫ

СМОТРЕТЬ ЕЩЁ
cover

Расширение Bimcore Revit

cover

Приложение управления доставками

cover

IFSE плагин для Revit

Specifi Europe Srl

Fabio Tantaro

Генеральный директор, Specifi Europe Srl

Италия

Codecave помогли нам перейти с нашей старой внутренней системы на новую, написав документацию, которую мы сможем переиспользовать в будущем, обеспечив достаточное количество предлагаемых услуг нашим пользователям в переходный период.

Prima Consulting d.o.o.

Roberto Assi

Директор, Prima Consulting d.o.o.

Сербия

Мы компания сферы услуг и хотели создать веб-сайт, который бы вместил весь наш опыт, полученный за последние 30 лет.

В то же время мы хотели быть динамичными, иметь возможность со временем добавлять информацию, ведь, как известно, только динамичность делает сайт более интересным для пользователей.

Мы обратились в CODECAVE, так как имели опыт сотрудничества с их генеральным директором, когда он работал в итальянской IT компании. Ярослав провел нас по всем стадиям создания веб-сайта, обеспечивая полную поддержку. Мы очень довольны качеством предоставленных услуг и готовым продуктом.

Soytex LLC

SIA "Agrolats Group"

Директор, Soytex LLC

Латвия

За время нашего сотрудничества CodeCave подтвердили свою надежность и ответственность. Эта компания быстро и качественно справляется в поставленными задачами. В сжатые сроки смогли подготовить для нас современную веб-презентацию. Во время сотрудничества всегда большое внимание уделялось нашим потребностям.

ДАВАЙТЕ ОБСУДИМ ВАШ ПРОЕКТ

МЫ БУДЕМ РАДЫ ЗАПРОСУ!

Дайте нам немного информации о вашем проекте или идее, чтобы мы смогли лучше вас проконсультировать. @@ -74,6 +74,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/page-data/app-data.json b/page-data/app-data.json index 656ad7ed..2904acf3 100644 --- a/page-data/app-data.json +++ b/page-data/app-data.json @@ -1 +1 @@ -{"webpackCompilationHash":"595120ef71842ac5794f"} +{"webpackCompilationHash":"0bf139e8ef1fb7fd6d46"} diff --git a/privacy-policy/index.html b/privacy-policy/index.html index af9e26ee..69870dbe 100644 --- a/privacy-policy/index.html +++ b/privacy-policy/index.html @@ -250,6 +250,6 @@

Правовая информация

- \ No newline at end of file + \ No newline at end of file diff --git a/projects/1624634e-e30c-5f6a-8d70-5da1c8439457/index.html b/projects/1624634e-e30c-5f6a-8d70-5da1c8439457/index.html index 0eaac822..88ee0666 100644 --- a/projects/1624634e-e30c-5f6a-8d70-5da1c8439457/index.html +++ b/projects/1624634e-e30c-5f6a-8d70-5da1c8439457/index.html @@ -70,6 +70,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/95622706-d8c1-5f9f-838c-705ed9299584/index.html b/projects/95622706-d8c1-5f9f-838c-705ed9299584/index.html index 6733a548..1d9520a3 100644 --- a/projects/95622706-d8c1-5f9f-838c-705ed9299584/index.html +++ b/projects/95622706-d8c1-5f9f-838c-705ed9299584/index.html @@ -72,6 +72,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/d4fc980f-88d4-56ac-9fb4-b1a1defac772/index.html b/projects/d4fc980f-88d4-56ac-9fb4-b1a1defac772/index.html index 53b60a29..e9ff0baa 100644 --- a/projects/d4fc980f-88d4-56ac-9fb4-b1a1defac772/index.html +++ b/projects/d4fc980f-88d4-56ac-9fb4-b1a1defac772/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/e07a9678-af8d-5a56-b7ed-07bc386a1582/index.html b/projects/e07a9678-af8d-5a56-b7ed-07bc386a1582/index.html index 974b196c..79b95b8c 100644 --- a/projects/e07a9678-af8d-5a56-b7ed-07bc386a1582/index.html +++ b/projects/e07a9678-af8d-5a56-b7ed-07bc386a1582/index.html @@ -68,6 +68,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/projects/index.html b/projects/index.html index 15981b7c..4b6e4cc8 100644 --- a/projects/index.html +++ b/projects/index.html @@ -64,10 +64,10 @@ }); } - }]);
cover

3 месяца

4 специалиста

Расширение Bimcore Revit

cover

3 месяца

7 специалистов

Приложение управления доставками

cover

3 месяца

6 специалистов

IFSE плагин для Revit

cover

3 месяца

5 специалистов

Решение для интернет торговли

+ }]);
cover

3 месяца

4 специалиста

Расширение Bimcore Revit

cover

3 месяца

7 специалистов

Приложение управления доставками

cover

3 месяца

6 специалистов

IFSE плагин для Revit

cover

3 месяца

5 специалистов

Решение для интернет торговли

- \ No newline at end of file + \ No newline at end of file diff --git a/projects/page/1/index.html b/projects/page/1/index.html index 39b6f79e..6ecb9f7a 100644 --- a/projects/page/1/index.html +++ b/projects/page/1/index.html @@ -64,10 +64,10 @@ }); } - }]);
cover

3 месяца

4 специалиста

Расширение Bimcore Revit

cover

3 месяца

7 специалистов

Приложение управления доставками

cover

3 месяца

6 специалистов

IFSE плагин для Revit

cover

3 месяца

5 специалистов

Решение для интернет торговли

+ }]);
cover

3 месяца

4 специалиста

Расширение Bimcore Revit

cover

3 месяца

7 специалистов

Приложение управления доставками

cover

3 месяца

6 специалистов

IFSE плагин для Revit

cover

3 месяца

5 специалистов

Решение для интернет торговли

- \ No newline at end of file + \ No newline at end of file diff --git a/services/index.html b/services/index.html index 64f55a65..9620962d 100644 --- a/services/index.html +++ b/services/index.html @@ -73,6 +73,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/webpack-runtime-67dc0ce9e5c6cc5820ad.js b/webpack-runtime-84ba28d067192da47aba.js similarity index 95% rename from webpack-runtime-67dc0ce9e5c6cc5820ad.js rename to webpack-runtime-84ba28d067192da47aba.js index 5d23fed6..a81ab1af 100644 --- a/webpack-runtime-67dc0ce9e5c6cc5820ad.js +++ b/webpack-runtime-84ba28d067192da47aba.js @@ -1,2 +1,2 @@ -!function(){"use strict";var e,t,n,r,o,c={},a={};function f(e){var t=a[e];if(void 0!==t)return t.exports;var n=a[e]={exports:{}};return c[e](n,n.exports,f),n.exports}f.m=c,e=[],f.O=function(t,n,r,o){if(!n){var c=1/0;for(s=0;s=o)&&Object.keys(f.O).every((function(e){return f.O[e](n[u])}))?n.splice(u--,1):(a=!1,o0&&e[s-1][2]>o;s--)e[s]=e[s-1];e[s]=[n,r,o]},f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);f.r(o);var c={};t=t||[null,n({}),n([]),n(n)];for(var a=2&r&&e;"object"==typeof a&&!~t.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach((function(t){c[t]=function(){return e[t]}}));return c.default=function(){return e},f.d(o,c),o},f.d=function(e,t){for(var n in t)f.o(t,n)&&!f.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},f.f={},f.e=function(e){return Promise.all(Object.keys(f.f).reduce((function(t,n){return f.f[n](e,t),t}),[]))},f.u=function(e){return({147:"component---src-pages-templates-project-tsx",149:"component---src-pages-templates-policies-tsx",354:"component---src-pages-templates-post-tsx",374:"1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b",403:"c294adedbbc0a5c4b071b27a5ffb97a116928d98",417:"component---src-pages-templates-services-tsx",514:"component---src-pages-templates-404-tsx",548:"component---src-pages-templates-workflow-tsx",650:"component---src-pages-templates-projects-tsx",748:"component---src-pages-templates-blog-by-author-tsx",832:"component---src-pages-templates-index-tsx",899:"component---src-pages-templates-blog-by-hashtag-tsx",926:"component---src-pages-templates-blog-tsx"}[e]||e)+"-"+{147:"ad10d952e1365a3c9e6c",149:"15f53bf827c36e52ae75",354:"d9e4800abdf31a9b10bf",374:"836ed7a6c9535bee39d1",403:"83f152d3f32c8162f39f",417:"70d7b900298dc1ccfa97",475:"3e46bce72021fe5f8d9d",514:"f72e430d4b3c5be8e265",548:"f3bbb7c00459362eb3e1",650:"0e67ae538ee4d4cb1350",731:"fc2222e8bcbd3a323b37",748:"bc531c4bc996f29bee9f",832:"f800793638eeb52e7347",843:"82fd7f798c0dd9a6f67b",899:"f53b1de30ee28d66d584",926:"cd446229a46b0696bab6"}[e]+".js"},f.miniCssF=function(e){return"styles.2cd20ad838b466e0a666.css"},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="code-cave:",f.l=function(e,t,n,c){if(r[e])r[e].push(t);else{var a,u;if(void 0!==n)for(var i=document.getElementsByTagName("script"),s=0;s=o)&&Object.keys(f.O).every((function(e){return f.O[e](n[u])}))?n.splice(u--,1):(a=!1,o0&&e[s-1][2]>o;s--)e[s]=e[s-1];e[s]=[n,r,o]},f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);f.r(o);var c={};t=t||[null,n({}),n([]),n(n)];for(var a=2&r&&e;"object"==typeof a&&!~t.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach((function(t){c[t]=function(){return e[t]}}));return c.default=function(){return e},f.d(o,c),o},f.d=function(e,t){for(var n in t)f.o(t,n)&&!f.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},f.f={},f.e=function(e){return Promise.all(Object.keys(f.f).reduce((function(t,n){return f.f[n](e,t),t}),[]))},f.u=function(e){return({147:"component---src-pages-templates-project-tsx",149:"component---src-pages-templates-policies-tsx",354:"component---src-pages-templates-post-tsx",374:"1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b",403:"c294adedbbc0a5c4b071b27a5ffb97a116928d98",417:"component---src-pages-templates-services-tsx",514:"component---src-pages-templates-404-tsx",548:"component---src-pages-templates-workflow-tsx",650:"component---src-pages-templates-projects-tsx",748:"component---src-pages-templates-blog-by-author-tsx",832:"component---src-pages-templates-index-tsx",899:"component---src-pages-templates-blog-by-hashtag-tsx",926:"component---src-pages-templates-blog-tsx"}[e]||e)+"-"+{147:"ad10d952e1365a3c9e6c",149:"15f53bf827c36e52ae75",354:"d9e4800abdf31a9b10bf",374:"836ed7a6c9535bee39d1",403:"83f152d3f32c8162f39f",417:"70d7b900298dc1ccfa97",475:"3e46bce72021fe5f8d9d",514:"f72e430d4b3c5be8e265",548:"f3bbb7c00459362eb3e1",650:"8c45e01db800ebc62ad1",731:"fc2222e8bcbd3a323b37",748:"bc531c4bc996f29bee9f",832:"4ec4965671423d3ead71",843:"82fd7f798c0dd9a6f67b",899:"f53b1de30ee28d66d584",926:"cd446229a46b0696bab6"}[e]+".js"},f.miniCssF=function(e){return"styles.2cd20ad838b466e0a666.css"},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="code-cave:",f.l=function(e,t,n,c){if(r[e])r[e].push(t);else{var a,u;if(void 0!==n)for(var i=document.getElementsByTagName("script"),s=0;s 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"code-cave:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"147\":\"component---src-pages-templates-project-tsx\",\"149\":\"component---src-pages-templates-policies-tsx\",\"354\":\"component---src-pages-templates-post-tsx\",\"374\":\"1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b\",\"403\":\"c294adedbbc0a5c4b071b27a5ffb97a116928d98\",\"417\":\"component---src-pages-templates-services-tsx\",\"514\":\"component---src-pages-templates-404-tsx\",\"548\":\"component---src-pages-templates-workflow-tsx\",\"650\":\"component---src-pages-templates-projects-tsx\",\"748\":\"component---src-pages-templates-blog-by-author-tsx\",\"832\":\"component---src-pages-templates-index-tsx\",\"899\":\"component---src-pages-templates-blog-by-hashtag-tsx\",\"926\":\"component---src-pages-templates-blog-tsx\"}[chunkId] || chunkId) + \"-\" + {\"147\":\"ad10d952e1365a3c9e6c\",\"149\":\"15f53bf827c36e52ae75\",\"354\":\"d9e4800abdf31a9b10bf\",\"374\":\"836ed7a6c9535bee39d1\",\"403\":\"83f152d3f32c8162f39f\",\"417\":\"70d7b900298dc1ccfa97\",\"475\":\"3e46bce72021fe5f8d9d\",\"514\":\"f72e430d4b3c5be8e265\",\"548\":\"f3bbb7c00459362eb3e1\",\"650\":\"0e67ae538ee4d4cb1350\",\"731\":\"fc2222e8bcbd3a323b37\",\"748\":\"bc531c4bc996f29bee9f\",\"832\":\"f800793638eeb52e7347\",\"843\":\"82fd7f798c0dd9a6f67b\",\"899\":\"f53b1de30ee28d66d584\",\"926\":\"cd446229a46b0696bab6\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + \"styles\" + \".\" + \"2cd20ad838b466e0a666\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t658: 0,\n\t532: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(532|658)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkcode_cave\"] = self[\"webpackChunkcode_cave\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","getPrototypeOf","obj","__proto__","t","value","mode","this","then","ns","create","def","current","indexOf","getOwnPropertyNames","forEach","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","window","prop","prototype","hasOwnProperty","call","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","p","b","baseURI","self","location","href","installedChunks","installedChunkData","test","promise","resolve","reject","error","Error","errorType","realSrc","message","name","request","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","id","chunkLoadingGlobal"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"webpack-runtime-84ba28d067192da47aba.js","mappings":"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","sources":["webpack://code-cave/webpack/runtime/chunk loaded","webpack://code-cave/webpack/runtime/create fake namespace object","webpack://code-cave/webpack/runtime/load script","webpack://code-cave/webpack/bootstrap","webpack://code-cave/webpack/runtime/compat get default export","webpack://code-cave/webpack/runtime/define property getters","webpack://code-cave/webpack/runtime/ensure chunk","webpack://code-cave/webpack/runtime/get javascript chunk filename","webpack://code-cave/webpack/runtime/get mini-css chunk filename","webpack://code-cave/webpack/runtime/global","webpack://code-cave/webpack/runtime/hasOwnProperty shorthand","webpack://code-cave/webpack/runtime/make namespace object","webpack://code-cave/webpack/runtime/publicPath","webpack://code-cave/webpack/runtime/jsonp chunk loading"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"code-cave:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"147\":\"component---src-pages-templates-project-tsx\",\"149\":\"component---src-pages-templates-policies-tsx\",\"354\":\"component---src-pages-templates-post-tsx\",\"374\":\"1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b\",\"403\":\"c294adedbbc0a5c4b071b27a5ffb97a116928d98\",\"417\":\"component---src-pages-templates-services-tsx\",\"514\":\"component---src-pages-templates-404-tsx\",\"548\":\"component---src-pages-templates-workflow-tsx\",\"650\":\"component---src-pages-templates-projects-tsx\",\"748\":\"component---src-pages-templates-blog-by-author-tsx\",\"832\":\"component---src-pages-templates-index-tsx\",\"899\":\"component---src-pages-templates-blog-by-hashtag-tsx\",\"926\":\"component---src-pages-templates-blog-tsx\"}[chunkId] || chunkId) + \"-\" + {\"147\":\"ad10d952e1365a3c9e6c\",\"149\":\"15f53bf827c36e52ae75\",\"354\":\"d9e4800abdf31a9b10bf\",\"374\":\"836ed7a6c9535bee39d1\",\"403\":\"83f152d3f32c8162f39f\",\"417\":\"70d7b900298dc1ccfa97\",\"475\":\"3e46bce72021fe5f8d9d\",\"514\":\"f72e430d4b3c5be8e265\",\"548\":\"f3bbb7c00459362eb3e1\",\"650\":\"8c45e01db800ebc62ad1\",\"731\":\"fc2222e8bcbd3a323b37\",\"748\":\"bc531c4bc996f29bee9f\",\"832\":\"4ec4965671423d3ead71\",\"843\":\"82fd7f798c0dd9a6f67b\",\"899\":\"f53b1de30ee28d66d584\",\"926\":\"cd446229a46b0696bab6\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + \"styles\" + \".\" + \"2cd20ad838b466e0a666\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t658: 0,\n\t532: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(532|658)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkcode_cave\"] = self[\"webpackChunkcode_cave\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","getPrototypeOf","obj","__proto__","t","value","mode","this","then","ns","create","def","current","indexOf","getOwnPropertyNames","forEach","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","window","prop","prototype","hasOwnProperty","call","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","p","b","baseURI","self","location","href","installedChunks","installedChunkData","test","promise","resolve","reject","error","Error","errorType","realSrc","message","name","request","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","id","chunkLoadingGlobal"],"sourceRoot":""} \ No newline at end of file diff --git a/webpack-runtime-39978160d85a1467109a.js b/webpack-runtime-9bd74661ae35ae73f4b8.js similarity index 95% rename from webpack-runtime-39978160d85a1467109a.js rename to webpack-runtime-9bd74661ae35ae73f4b8.js index 81b500dc..2a466368 100644 --- a/webpack-runtime-39978160d85a1467109a.js +++ b/webpack-runtime-9bd74661ae35ae73f4b8.js @@ -1,2 +1,2 @@ -!function(){"use strict";var e,t,n,r,o,c={},a={};function u(e){var t=a[e];if(void 0!==t)return t.exports;var n=a[e]={exports:{}};return c[e](n,n.exports,u),n.exports}u.m=c,e=[],u.O=function(t,n,r,o){if(!n){var c=1/0;for(f=0;f=o)&&Object.keys(u.O).every((function(e){return u.O[e](n[i])}))?n.splice(i--,1):(a=!1,o0&&e[f-1][2]>o;f--)e[f]=e[f-1];e[f]=[n,r,o]},u.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},u.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);u.r(o);var c={};t=t||[null,n({}),n([]),n(n)];for(var a=2&r&&e;"object"==typeof a&&!~t.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach((function(t){c[t]=function(){return e[t]}}));return c.default=function(){return e},u.d(o,c),o},u.d=function(e,t){for(var n in t)u.o(t,n)&&!u.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},u.f={},u.e=function(e){return Promise.all(Object.keys(u.f).reduce((function(t,n){return u.f[n](e,t),t}),[]))},u.u=function(e){return({147:"component---src-pages-templates-project-tsx",149:"component---src-pages-templates-policies-tsx",354:"component---src-pages-templates-post-tsx",374:"1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b",403:"c294adedbbc0a5c4b071b27a5ffb97a116928d98",417:"component---src-pages-templates-services-tsx",514:"component---src-pages-templates-404-tsx",548:"component---src-pages-templates-workflow-tsx",650:"component---src-pages-templates-projects-tsx",748:"component---src-pages-templates-blog-by-author-tsx",832:"component---src-pages-templates-index-tsx",899:"component---src-pages-templates-blog-by-hashtag-tsx",926:"component---src-pages-templates-blog-tsx"}[e]||e)+"-"+{147:"ad10d952e1365a3c9e6c",149:"15f53bf827c36e52ae75",354:"d9e4800abdf31a9b10bf",374:"836ed7a6c9535bee39d1",403:"83f152d3f32c8162f39f",417:"70d7b900298dc1ccfa97",475:"3e46bce72021fe5f8d9d",514:"f72e430d4b3c5be8e265",548:"f3bbb7c00459362eb3e1",650:"0e67ae538ee4d4cb1350",731:"fc2222e8bcbd3a323b37",748:"bc531c4bc996f29bee9f",832:"f800793638eeb52e7347",843:"82fd7f798c0dd9a6f67b",899:"f53b1de30ee28d66d584",926:"cd446229a46b0696bab6"}[e]+".js"},u.miniCssF=function(e){return"styles.2cd20ad838b466e0a666.css"},u.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="code-cave:",u.l=function(e,t,n,c){if(r[e])r[e].push(t);else{var a,i;if(void 0!==n)for(var s=document.getElementsByTagName("script"),f=0;f=o)&&Object.keys(u.O).every((function(e){return u.O[e](n[i])}))?n.splice(i--,1):(a=!1,o0&&e[f-1][2]>o;f--)e[f]=e[f-1];e[f]=[n,r,o]},u.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},u.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);u.r(o);var c={};t=t||[null,n({}),n([]),n(n)];for(var a=2&r&&e;"object"==typeof a&&!~t.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach((function(t){c[t]=function(){return e[t]}}));return c.default=function(){return e},u.d(o,c),o},u.d=function(e,t){for(var n in t)u.o(t,n)&&!u.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},u.f={},u.e=function(e){return Promise.all(Object.keys(u.f).reduce((function(t,n){return u.f[n](e,t),t}),[]))},u.u=function(e){return({147:"component---src-pages-templates-project-tsx",149:"component---src-pages-templates-policies-tsx",354:"component---src-pages-templates-post-tsx",374:"1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b",403:"c294adedbbc0a5c4b071b27a5ffb97a116928d98",417:"component---src-pages-templates-services-tsx",514:"component---src-pages-templates-404-tsx",548:"component---src-pages-templates-workflow-tsx",650:"component---src-pages-templates-projects-tsx",748:"component---src-pages-templates-blog-by-author-tsx",832:"component---src-pages-templates-index-tsx",899:"component---src-pages-templates-blog-by-hashtag-tsx",926:"component---src-pages-templates-blog-tsx"}[e]||e)+"-"+{147:"ad10d952e1365a3c9e6c",149:"15f53bf827c36e52ae75",354:"d9e4800abdf31a9b10bf",374:"836ed7a6c9535bee39d1",403:"83f152d3f32c8162f39f",417:"70d7b900298dc1ccfa97",475:"3e46bce72021fe5f8d9d",514:"f72e430d4b3c5be8e265",548:"f3bbb7c00459362eb3e1",650:"8c45e01db800ebc62ad1",731:"fc2222e8bcbd3a323b37",748:"bc531c4bc996f29bee9f",832:"4ec4965671423d3ead71",843:"82fd7f798c0dd9a6f67b",899:"f53b1de30ee28d66d584",926:"cd446229a46b0696bab6"}[e]+".js"},u.miniCssF=function(e){return"styles.2cd20ad838b466e0a666.css"},u.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="code-cave:",u.l=function(e,t,n,c){if(r[e])r[e].push(t);else{var a,i;if(void 0!==n)for(var s=document.getElementsByTagName("script"),f=0;f 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"code-cave:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"147\":\"component---src-pages-templates-project-tsx\",\"149\":\"component---src-pages-templates-policies-tsx\",\"354\":\"component---src-pages-templates-post-tsx\",\"374\":\"1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b\",\"403\":\"c294adedbbc0a5c4b071b27a5ffb97a116928d98\",\"417\":\"component---src-pages-templates-services-tsx\",\"514\":\"component---src-pages-templates-404-tsx\",\"548\":\"component---src-pages-templates-workflow-tsx\",\"650\":\"component---src-pages-templates-projects-tsx\",\"748\":\"component---src-pages-templates-blog-by-author-tsx\",\"832\":\"component---src-pages-templates-index-tsx\",\"899\":\"component---src-pages-templates-blog-by-hashtag-tsx\",\"926\":\"component---src-pages-templates-blog-tsx\"}[chunkId] || chunkId) + \"-\" + {\"147\":\"ad10d952e1365a3c9e6c\",\"149\":\"15f53bf827c36e52ae75\",\"354\":\"d9e4800abdf31a9b10bf\",\"374\":\"836ed7a6c9535bee39d1\",\"403\":\"83f152d3f32c8162f39f\",\"417\":\"70d7b900298dc1ccfa97\",\"475\":\"3e46bce72021fe5f8d9d\",\"514\":\"f72e430d4b3c5be8e265\",\"548\":\"f3bbb7c00459362eb3e1\",\"650\":\"0e67ae538ee4d4cb1350\",\"731\":\"fc2222e8bcbd3a323b37\",\"748\":\"bc531c4bc996f29bee9f\",\"832\":\"f800793638eeb52e7347\",\"843\":\"82fd7f798c0dd9a6f67b\",\"899\":\"f53b1de30ee28d66d584\",\"926\":\"cd446229a46b0696bab6\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + \"styles\" + \".\" + \"2cd20ad838b466e0a666\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t658: 0,\n\t532: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(532|658)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkcode_cave\"] = self[\"webpackChunkcode_cave\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","getPrototypeOf","obj","__proto__","t","value","mode","this","then","ns","create","def","current","indexOf","getOwnPropertyNames","forEach","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","window","prop","prototype","hasOwnProperty","call","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","p","b","baseURI","self","location","href","installedChunks","installedChunkData","test","promise","resolve","reject","error","Error","errorType","realSrc","message","name","request","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","id","chunkLoadingGlobal"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"webpack-runtime-9bd74661ae35ae73f4b8.js","mappings":"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","sources":["webpack://code-cave/webpack/runtime/chunk loaded","webpack://code-cave/webpack/runtime/create fake namespace object","webpack://code-cave/webpack/runtime/load script","webpack://code-cave/webpack/bootstrap","webpack://code-cave/webpack/runtime/compat get default export","webpack://code-cave/webpack/runtime/define property getters","webpack://code-cave/webpack/runtime/ensure chunk","webpack://code-cave/webpack/runtime/get javascript chunk filename","webpack://code-cave/webpack/runtime/get mini-css chunk filename","webpack://code-cave/webpack/runtime/global","webpack://code-cave/webpack/runtime/hasOwnProperty shorthand","webpack://code-cave/webpack/runtime/make namespace object","webpack://code-cave/webpack/runtime/publicPath","webpack://code-cave/webpack/runtime/jsonp chunk loading"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"code-cave:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"147\":\"component---src-pages-templates-project-tsx\",\"149\":\"component---src-pages-templates-policies-tsx\",\"354\":\"component---src-pages-templates-post-tsx\",\"374\":\"1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b\",\"403\":\"c294adedbbc0a5c4b071b27a5ffb97a116928d98\",\"417\":\"component---src-pages-templates-services-tsx\",\"514\":\"component---src-pages-templates-404-tsx\",\"548\":\"component---src-pages-templates-workflow-tsx\",\"650\":\"component---src-pages-templates-projects-tsx\",\"748\":\"component---src-pages-templates-blog-by-author-tsx\",\"832\":\"component---src-pages-templates-index-tsx\",\"899\":\"component---src-pages-templates-blog-by-hashtag-tsx\",\"926\":\"component---src-pages-templates-blog-tsx\"}[chunkId] || chunkId) + \"-\" + {\"147\":\"ad10d952e1365a3c9e6c\",\"149\":\"15f53bf827c36e52ae75\",\"354\":\"d9e4800abdf31a9b10bf\",\"374\":\"836ed7a6c9535bee39d1\",\"403\":\"83f152d3f32c8162f39f\",\"417\":\"70d7b900298dc1ccfa97\",\"475\":\"3e46bce72021fe5f8d9d\",\"514\":\"f72e430d4b3c5be8e265\",\"548\":\"f3bbb7c00459362eb3e1\",\"650\":\"8c45e01db800ebc62ad1\",\"731\":\"fc2222e8bcbd3a323b37\",\"748\":\"bc531c4bc996f29bee9f\",\"832\":\"4ec4965671423d3ead71\",\"843\":\"82fd7f798c0dd9a6f67b\",\"899\":\"f53b1de30ee28d66d584\",\"926\":\"cd446229a46b0696bab6\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + \"styles\" + \".\" + \"2cd20ad838b466e0a666\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t658: 0,\n\t532: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(532|658)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkcode_cave\"] = self[\"webpackChunkcode_cave\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","getPrototypeOf","obj","__proto__","t","value","mode","this","then","ns","create","def","current","indexOf","getOwnPropertyNames","forEach","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","window","prop","prototype","hasOwnProperty","call","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","p","b","baseURI","self","location","href","installedChunks","installedChunkData","test","promise","resolve","reject","error","Error","errorType","realSrc","message","name","request","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","id","chunkLoadingGlobal"],"sourceRoot":""} \ No newline at end of file diff --git a/webpack.stats.json b/webpack.stats.json index 0c478bcc..00482e78 100644 --- a/webpack.stats.json +++ b/webpack.stats.json @@ -1 +1 @@ -{"name":"build-javascript","namedChunkGroups":{"app":{"name":"app","assets":[{"name":"webpack-runtime-39978160d85a1467109a.js","size":4757},{"name":"styles.2cd20ad838b466e0a666.css","size":51064},{"name":"framework-e4f3e98283dd6d5d8e77.js","size":140759},{"name":"app-581deb6f7a622e81efed.js","size":91296}],"filteredAssets":0,"assetsSize":287876,"filteredAuxiliaryAssets":17,"auxiliaryAssetsSize":1194249},"component---src-pages-templates-404-tsx":{"name":"component---src-pages-templates-404-tsx","assets":[{"name":"component---src-pages-templates-404-tsx-f72e430d4b3c5be8e265.js","size":1675}],"filteredAssets":0,"assetsSize":1675,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":4354},"component---src-pages-templates-blog-by-author-tsx":{"name":"component---src-pages-templates-blog-by-author-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-blog-by-author-tsx-bc531c4bc996f29bee9f.js","size":10814}],"filteredAssets":0,"assetsSize":21470,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":99846},"component---src-pages-templates-blog-by-hashtag-tsx":{"name":"component---src-pages-templates-blog-by-hashtag-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-blog-by-hashtag-tsx-f53b1de30ee28d66d584.js","size":9920}],"filteredAssets":0,"assetsSize":20576,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":96909},"component---src-pages-templates-blog-tsx":{"name":"component---src-pages-templates-blog-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-blog-tsx-cd446229a46b0696bab6.js","size":9697}],"filteredAssets":0,"assetsSize":20353,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":96550},"component---src-pages-templates-index-tsx":{"name":"component---src-pages-templates-index-tsx","assets":[{"name":"styles.2cd20ad838b466e0a666.css","size":51064},{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b-836ed7a6c9535bee39d1.js","size":18634},{"name":"component---src-pages-templates-index-tsx-f800793638eeb52e7347.js","size":25413}],"filteredAssets":0,"assetsSize":105767,"filteredAuxiliaryAssets":17,"auxiliaryAssetsSize":732523},"component---src-pages-templates-policies-tsx":{"name":"component---src-pages-templates-policies-tsx","assets":[{"name":"component---src-pages-templates-policies-tsx-15f53bf827c36e52ae75.js","size":835}],"filteredAssets":0,"assetsSize":835,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":2102},"component---src-pages-templates-post-tsx":{"name":"component---src-pages-templates-post-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-post-tsx-d9e4800abdf31a9b10bf.js","size":7138}],"filteredAssets":0,"assetsSize":17794,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":86557},"component---src-pages-templates-project-tsx":{"name":"component---src-pages-templates-project-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b-836ed7a6c9535bee39d1.js","size":18634},{"name":"component---src-pages-templates-project-tsx-ad10d952e1365a3c9e6c.js","size":6768}],"filteredAssets":0,"assetsSize":36058,"filteredAuxiliaryAssets":3,"auxiliaryAssetsSize":171565},"component---src-pages-templates-projects-tsx":{"name":"component---src-pages-templates-projects-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-projects-tsx-0e67ae538ee4d4cb1350.js","size":4236}],"filteredAssets":0,"assetsSize":14892,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":81118},"component---src-pages-templates-services-tsx":{"name":"component---src-pages-templates-services-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-services-tsx-70d7b900298dc1ccfa97.js","size":16261}],"filteredAssets":0,"assetsSize":26917,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":109154},"component---src-pages-templates-workflow-tsx":{"name":"component---src-pages-templates-workflow-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-workflow-tsx-f3bbb7c00459362eb3e1.js","size":18034}],"filteredAssets":0,"assetsSize":28690,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":116938}},"assetsByChunkName":{"app":["webpack-runtime-39978160d85a1467109a.js","styles.2cd20ad838b466e0a666.css","framework-e4f3e98283dd6d5d8e77.js","app-581deb6f7a622e81efed.js"],"component---src-pages-templates-404-tsx":["component---src-pages-templates-404-tsx-f72e430d4b3c5be8e265.js"],"component---src-pages-templates-blog-by-author-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-blog-by-author-tsx-bc531c4bc996f29bee9f.js"],"component---src-pages-templates-blog-by-hashtag-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-blog-by-hashtag-tsx-f53b1de30ee28d66d584.js"],"component---src-pages-templates-blog-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-blog-tsx-cd446229a46b0696bab6.js"],"component---src-pages-templates-index-tsx":["styles.2cd20ad838b466e0a666.css","c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b-836ed7a6c9535bee39d1.js","component---src-pages-templates-index-tsx-f800793638eeb52e7347.js"],"component---src-pages-templates-policies-tsx":["component---src-pages-templates-policies-tsx-15f53bf827c36e52ae75.js"],"component---src-pages-templates-post-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-post-tsx-d9e4800abdf31a9b10bf.js"],"component---src-pages-templates-project-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b-836ed7a6c9535bee39d1.js","component---src-pages-templates-project-tsx-ad10d952e1365a3c9e6c.js"],"component---src-pages-templates-projects-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-projects-tsx-0e67ae538ee4d4cb1350.js"],"component---src-pages-templates-services-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-services-tsx-70d7b900298dc1ccfa97.js"],"component---src-pages-templates-workflow-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-workflow-tsx-f3bbb7c00459362eb3e1.js"]},"childAssetsByChunkName":{}} \ No newline at end of file +{"name":"build-javascript","namedChunkGroups":{"app":{"name":"app","assets":[{"name":"webpack-runtime-9bd74661ae35ae73f4b8.js","size":4757},{"name":"styles.2cd20ad838b466e0a666.css","size":51064},{"name":"framework-e4f3e98283dd6d5d8e77.js","size":140759},{"name":"app-581deb6f7a622e81efed.js","size":91296}],"filteredAssets":0,"assetsSize":287876,"filteredAuxiliaryAssets":17,"auxiliaryAssetsSize":1194249},"component---src-pages-templates-404-tsx":{"name":"component---src-pages-templates-404-tsx","assets":[{"name":"component---src-pages-templates-404-tsx-f72e430d4b3c5be8e265.js","size":1675}],"filteredAssets":0,"assetsSize":1675,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":4354},"component---src-pages-templates-blog-by-author-tsx":{"name":"component---src-pages-templates-blog-by-author-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-blog-by-author-tsx-bc531c4bc996f29bee9f.js","size":10814}],"filteredAssets":0,"assetsSize":21470,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":99846},"component---src-pages-templates-blog-by-hashtag-tsx":{"name":"component---src-pages-templates-blog-by-hashtag-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-blog-by-hashtag-tsx-f53b1de30ee28d66d584.js","size":9920}],"filteredAssets":0,"assetsSize":20576,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":96909},"component---src-pages-templates-blog-tsx":{"name":"component---src-pages-templates-blog-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-blog-tsx-cd446229a46b0696bab6.js","size":9697}],"filteredAssets":0,"assetsSize":20353,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":96550},"component---src-pages-templates-index-tsx":{"name":"component---src-pages-templates-index-tsx","assets":[{"name":"styles.2cd20ad838b466e0a666.css","size":51064},{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b-836ed7a6c9535bee39d1.js","size":18634},{"name":"component---src-pages-templates-index-tsx-4ec4965671423d3ead71.js","size":25413}],"filteredAssets":0,"assetsSize":105767,"filteredAuxiliaryAssets":17,"auxiliaryAssetsSize":732523},"component---src-pages-templates-policies-tsx":{"name":"component---src-pages-templates-policies-tsx","assets":[{"name":"component---src-pages-templates-policies-tsx-15f53bf827c36e52ae75.js","size":835}],"filteredAssets":0,"assetsSize":835,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":2102},"component---src-pages-templates-post-tsx":{"name":"component---src-pages-templates-post-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-post-tsx-d9e4800abdf31a9b10bf.js","size":7138}],"filteredAssets":0,"assetsSize":17794,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":86557},"component---src-pages-templates-project-tsx":{"name":"component---src-pages-templates-project-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b-836ed7a6c9535bee39d1.js","size":18634},{"name":"component---src-pages-templates-project-tsx-ad10d952e1365a3c9e6c.js","size":6768}],"filteredAssets":0,"assetsSize":36058,"filteredAuxiliaryAssets":3,"auxiliaryAssetsSize":171565},"component---src-pages-templates-projects-tsx":{"name":"component---src-pages-templates-projects-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-projects-tsx-8c45e01db800ebc62ad1.js","size":4236}],"filteredAssets":0,"assetsSize":14892,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":81118},"component---src-pages-templates-services-tsx":{"name":"component---src-pages-templates-services-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-services-tsx-70d7b900298dc1ccfa97.js","size":16261}],"filteredAssets":0,"assetsSize":26917,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":109154},"component---src-pages-templates-workflow-tsx":{"name":"component---src-pages-templates-workflow-tsx","assets":[{"name":"c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","size":10656},{"name":"component---src-pages-templates-workflow-tsx-f3bbb7c00459362eb3e1.js","size":18034}],"filteredAssets":0,"assetsSize":28690,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":116938}},"assetsByChunkName":{"app":["webpack-runtime-9bd74661ae35ae73f4b8.js","styles.2cd20ad838b466e0a666.css","framework-e4f3e98283dd6d5d8e77.js","app-581deb6f7a622e81efed.js"],"component---src-pages-templates-404-tsx":["component---src-pages-templates-404-tsx-f72e430d4b3c5be8e265.js"],"component---src-pages-templates-blog-by-author-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-blog-by-author-tsx-bc531c4bc996f29bee9f.js"],"component---src-pages-templates-blog-by-hashtag-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-blog-by-hashtag-tsx-f53b1de30ee28d66d584.js"],"component---src-pages-templates-blog-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-blog-tsx-cd446229a46b0696bab6.js"],"component---src-pages-templates-index-tsx":["styles.2cd20ad838b466e0a666.css","c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b-836ed7a6c9535bee39d1.js","component---src-pages-templates-index-tsx-4ec4965671423d3ead71.js"],"component---src-pages-templates-policies-tsx":["component---src-pages-templates-policies-tsx-15f53bf827c36e52ae75.js"],"component---src-pages-templates-post-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-post-tsx-d9e4800abdf31a9b10bf.js"],"component---src-pages-templates-project-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","1470453bba0c0cc23f8aa20c3cefd756f6b7fd4b-836ed7a6c9535bee39d1.js","component---src-pages-templates-project-tsx-ad10d952e1365a3c9e6c.js"],"component---src-pages-templates-projects-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-projects-tsx-8c45e01db800ebc62ad1.js"],"component---src-pages-templates-services-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-services-tsx-70d7b900298dc1ccfa97.js"],"component---src-pages-templates-workflow-tsx":["c294adedbbc0a5c4b071b27a5ffb97a116928d98-83f152d3f32c8162f39f.js","component---src-pages-templates-workflow-tsx-f3bbb7c00459362eb3e1.js"]},"childAssetsByChunkName":{}} \ No newline at end of file diff --git a/workflow/index.html b/workflow/index.html index 5d4cf133..e983073a 100644 --- a/workflow/index.html +++ b/workflow/index.html @@ -71,6 +71,6 @@ - \ No newline at end of file + \ No newline at end of file