From ce1fb7b23f770909fd6bd9b461fb11a08a4c48c8 Mon Sep 17 00:00:00 2001 From: fabio Date: Wed, 18 Feb 2026 21:04:57 +0100 Subject: [PATCH] first commit --- .DS_Store | Bin 6148 -> 8196 bytes CH.txt | 4520 ++++++++++++++ README.md | 3 + app/.DS_Store | Bin 0 -> 8196 bytes app/.editorconfig | 7 + app/.eslintignore | 3 + app/.eslintrc.cjs | 21 + app/.npmrc | 5 + app/.prettierrc.json | 5 + app/.quasar/dev-spa/app.js | 77 + app/.quasar/dev-spa/client-entry.js | 154 + app/.quasar/dev-spa/client-prefetch.js | 116 + app/.quasar/dev-spa/quasar-user-options.js | 21 + app/.quasar/feature-flags.d.ts | 8 + app/.quasar/pinia.d.ts | 8 + app/.quasar/prod-spa/app.js | 75 + app/.quasar/prod-spa/client-entry.js | 152 + app/.quasar/prod-spa/client-prefetch.js | 116 + app/.quasar/prod-spa/quasar-user-options.js | 21 + app/.quasar/quasar.d.ts | 4 + app/.quasar/shims-vue.d.ts | 6 + app/.quasar/tsconfig.json | 100 + app/.vscode/extensions.json | 15 + app/.vscode/settings.json | 9 + app/README.md | 43 + app/Reports/2026-01-07.md | 48 + app/Reports/report-2026-01-10.md | 41 + app/dist/.DS_Store | Bin 0 -> 6148 bytes app/dist/spa/assets/AddressInput-Brku8Gup.js | 1 + app/dist/spa/assets/AddressInput-DTjVpzGz.css | 1 + app/dist/spa/assets/ChildrenStep-BaJwTfaC.js | 1 + app/dist/spa/assets/ChildrenStep-CyFMlGKq.css | 1 + .../spa/assets/CommentAttachment-BuVtM3GK.js | 1 + .../spa/assets/CommentAttachment-M56Dxc2A.css | 1 + app/dist/spa/assets/ErrorNotFound-C9XXVpv6.js | 1 + app/dist/spa/assets/IncomeStep-Cw8mizyx.css | 1 + app/dist/spa/assets/IncomeStep-RKJ4eG2Y.js | 1 + app/dist/spa/assets/IndexPage-CwM_myNb.js | 2 + app/dist/spa/assets/IndexPage-sr_89QZh.css | 1 + ...ylUAMQXC89YmC2DPNWuYjalmUiAw-BepdiOnY.woff | Bin 0 -> 25552 bytes ...ylUAMQXC89YmC2DPNWuZtalmUiAw-4ZhHFPot.woff | Bin 0 -> 25260 bytes ...ylUAMQXC89YmC2DPNWuaabVmUiAw-CNa4tw4G.woff | Bin 0 -> 25368 bytes ...ylUAMQXC89YmC2DPNWub2bVmUiAw-CHKg1YId.woff | Bin 0 -> 25396 bytes ...ylUAMQXC89YmC2DPNWubEbFmUiAw-yBxCyPWP.woff | Bin 0 -> 24924 bytes ...ylUAMQXC89YmC2DPNWubEbVmUiAw-3fZ6d7DD.woff | Bin 0 -> 25192 bytes app/dist/spa/assets/LocalStorage-7Uw3xG9P.js | 1 + app/dist/spa/assets/MainLayout-Cyzrc7AM.js | 1 + app/dist/spa/assets/MaritalStep-DL6z_e8a.css | 1 + app/dist/spa/assets/MaritalStep-npjGE3Gl.js | 1 + app/dist/spa/assets/QList-CHwmSUjA.js | 1 + app/dist/spa/assets/TaxpayerStep-BfPZ-rxP.js | 1 + app/dist/spa/assets/TaxpayerStep-CWAfROv3.css | 1 + app/dist/spa/assets/WelcomeStep-BTfvnfIz.css | 1 + app/dist/spa/assets/WelcomeStep-Crh-xhDH.js | 1 + app/dist/spa/assets/children-ChLzVyp9.js | 1 + ...flUhRq6tzZclQEJ-Vdg-IuiaDsNa-Dr0goTwe.woff | Bin 0 -> 164912 bytes ...tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ-D-x-0Q06.woff2 | Bin 0 -> 128616 bytes app/dist/spa/assets/i18n-iY85aRww.js | 1 + app/dist/spa/assets/index-0B2sgEyA.js | 2 + app/dist/spa/assets/index-BQveqNql.css | 1 + app/dist/spa/assets/taxstore-oR45_mFg.js | 1 + app/dist/spa/assets/userstore-DBCughIu.js | 1 + .../spa/assets/vue-i18n.runtime-DPKkE7zN.js | 3 + app/dist/spa/favicon.ico | Bin 0 -> 64483 bytes app/dist/spa/icons/favicon-128x128.png | Bin 0 -> 12324 bytes app/dist/spa/icons/favicon-16x16.png | Bin 0 -> 859 bytes app/dist/spa/icons/favicon-32x32.png | Bin 0 -> 2039 bytes app/dist/spa/icons/favicon-96x96.png | Bin 0 -> 9643 bytes app/dist/spa/index.html | 3 + app/docs/.DS_Store | Bin 0 -> 6148 bytes app/docs/Manuale_Utente.md | 72 + app/docs/Manuale_Utente.pdf | Bin 0 -> 165850 bytes app/docs/reports/2026-01-11.md | 43 + app/eslint.config.js | 83 + app/index.html | 24 + app/package.json | 49 + app/pnpm-lock.yaml | 5520 +++++++++++++++++ app/postcss.config.js | 29 + app/public/favicon.ico | Bin 0 -> 64483 bytes app/public/icons/favicon-128x128.png | Bin 0 -> 12324 bytes app/public/icons/favicon-16x16.png | Bin 0 -> 859 bytes app/public/icons/favicon-32x32.png | Bin 0 -> 2039 bytes app/public/icons/favicon-96x96.png | Bin 0 -> 9643 bytes app/quasar.config.ts | 239 + app/scripts/gen-swiss.cjs | 25 + app/scripts/gen-swiss.js | 26 + app/scripts/swiss-out.ts | 3365 ++++++++++ app/src/App.vue | 7 + app/src/assets/quasar-logo-vertical.svg | 15 + app/src/boot/.gitkeep | 0 app/src/boot/i18n.ts | 33 + app/src/components/AddressInput.vue | 126 + app/src/components/AddressModal.vue | 323 + app/src/components/CommentAttachment.vue | 391 ++ app/src/components/SchoolModal.vue | 305 + app/src/components/SimpleAttachment.vue | 340 + app/src/components/StepsStepper.vue | 123 + app/src/components/steps/ChildrenStep.vue | 441 ++ app/src/components/steps/IncomeStep.vue | 183 + app/src/components/steps/MaritalStep.vue | 275 + app/src/components/steps/TaxpayerStep.vue | 148 + app/src/components/steps/WelcomeStep.vue | 36 + app/src/css/app.scss | 1 + app/src/css/quasar.variables.scss | 25 + app/src/data/countryCodes.ts | 4570 ++++++++++++++ app/src/env.d.ts | 7 + app/src/i18n/en-US/index.ts | 7 + app/src/i18n/index.ts | 22 + app/src/i18n/locales/de-DE/attachments.ts | 14 + app/src/i18n/locales/de-DE/common.ts | 33 + app/src/i18n/locales/de-DE/steps.ts | 118 + app/src/i18n/locales/en-US/attachments.ts | 14 + app/src/i18n/locales/en-US/common.ts | 33 + app/src/i18n/locales/en-US/steps.ts | 118 + app/src/i18n/locales/fr-FR/attachments.ts | 14 + app/src/i18n/locales/fr-FR/common.ts | 33 + app/src/i18n/locales/fr-FR/steps.ts | 118 + app/src/i18n/locales/it-IT/attachments.ts | 14 + app/src/i18n/locales/it-IT/common.ts | 33 + app/src/i18n/locales/it-IT/steps.ts | 118 + app/src/layouts/MainLayout.vue | 102 + app/src/pages/ErrorNotFound.vue | 23 + app/src/pages/IndexPage.vue | 26 + app/src/router/index.ts | 37 + app/src/router/routes.ts | 18 + app/src/schema.json | 283 + app/src/stores/children.ts | 102 + app/src/stores/income.ts | 66 + app/src/stores/index.ts | 32 + app/src/stores/marital.ts | 40 + app/src/stores/taxpayer.ts | 34 + app/src/stores/taxstore.ts | 121 + app/src/stores/userstore.ts | 9 + app/src/types/address.ts | 17 + app/src/types/types.d.ts | 41 + app/src/utils/api.ts | 256 + app/tsconfig.json | 6 + info.pdf | Bin 0 -> 48544 bytes schema.json | 283 + taxorganizer | 1 - taxserver | 1 - 141 files changed, 24621 insertions(+), 2 deletions(-) create mode 100644 CH.txt create mode 100644 app/.DS_Store create mode 100644 app/.editorconfig create mode 100644 app/.eslintignore create mode 100644 app/.eslintrc.cjs create mode 100644 app/.npmrc create mode 100644 app/.prettierrc.json create mode 100644 app/.quasar/dev-spa/app.js create mode 100644 app/.quasar/dev-spa/client-entry.js create mode 100644 app/.quasar/dev-spa/client-prefetch.js create mode 100644 app/.quasar/dev-spa/quasar-user-options.js create mode 100644 app/.quasar/feature-flags.d.ts create mode 100644 app/.quasar/pinia.d.ts create mode 100644 app/.quasar/prod-spa/app.js create mode 100644 app/.quasar/prod-spa/client-entry.js create mode 100644 app/.quasar/prod-spa/client-prefetch.js create mode 100644 app/.quasar/prod-spa/quasar-user-options.js create mode 100644 app/.quasar/quasar.d.ts create mode 100644 app/.quasar/shims-vue.d.ts create mode 100644 app/.quasar/tsconfig.json create mode 100644 app/.vscode/extensions.json create mode 100644 app/.vscode/settings.json create mode 100644 app/README.md create mode 100644 app/Reports/2026-01-07.md create mode 100644 app/Reports/report-2026-01-10.md create mode 100644 app/dist/.DS_Store create mode 100644 app/dist/spa/assets/AddressInput-Brku8Gup.js create mode 100644 app/dist/spa/assets/AddressInput-DTjVpzGz.css create mode 100644 app/dist/spa/assets/ChildrenStep-BaJwTfaC.js create mode 100644 app/dist/spa/assets/ChildrenStep-CyFMlGKq.css create mode 100644 app/dist/spa/assets/CommentAttachment-BuVtM3GK.js create mode 100644 app/dist/spa/assets/CommentAttachment-M56Dxc2A.css create mode 100644 app/dist/spa/assets/ErrorNotFound-C9XXVpv6.js create mode 100644 app/dist/spa/assets/IncomeStep-Cw8mizyx.css create mode 100644 app/dist/spa/assets/IncomeStep-RKJ4eG2Y.js create mode 100644 app/dist/spa/assets/IndexPage-CwM_myNb.js create mode 100644 app/dist/spa/assets/IndexPage-sr_89QZh.css create mode 100644 app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjalmUiAw-BepdiOnY.woff create mode 100644 app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuZtalmUiAw-4ZhHFPot.woff create mode 100644 app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabVmUiAw-CNa4tw4G.woff create mode 100644 app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWub2bVmUiAw-CHKg1YId.woff create mode 100644 app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbFmUiAw-yBxCyPWP.woff create mode 100644 app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAw-3fZ6d7DD.woff create mode 100644 app/dist/spa/assets/LocalStorage-7Uw3xG9P.js create mode 100644 app/dist/spa/assets/MainLayout-Cyzrc7AM.js create mode 100644 app/dist/spa/assets/MaritalStep-DL6z_e8a.css create mode 100644 app/dist/spa/assets/MaritalStep-npjGE3Gl.js create mode 100644 app/dist/spa/assets/QList-CHwmSUjA.js create mode 100644 app/dist/spa/assets/TaxpayerStep-BfPZ-rxP.js create mode 100644 app/dist/spa/assets/TaxpayerStep-CWAfROv3.css create mode 100644 app/dist/spa/assets/WelcomeStep-BTfvnfIz.css create mode 100644 app/dist/spa/assets/WelcomeStep-Crh-xhDH.js create mode 100644 app/dist/spa/assets/children-ChLzVyp9.js create mode 100644 app/dist/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa-Dr0goTwe.woff create mode 100644 app/dist/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ-D-x-0Q06.woff2 create mode 100644 app/dist/spa/assets/i18n-iY85aRww.js create mode 100644 app/dist/spa/assets/index-0B2sgEyA.js create mode 100644 app/dist/spa/assets/index-BQveqNql.css create mode 100644 app/dist/spa/assets/taxstore-oR45_mFg.js create mode 100644 app/dist/spa/assets/userstore-DBCughIu.js create mode 100644 app/dist/spa/assets/vue-i18n.runtime-DPKkE7zN.js create mode 100644 app/dist/spa/favicon.ico create mode 100644 app/dist/spa/icons/favicon-128x128.png create mode 100644 app/dist/spa/icons/favicon-16x16.png create mode 100644 app/dist/spa/icons/favicon-32x32.png create mode 100644 app/dist/spa/icons/favicon-96x96.png create mode 100644 app/dist/spa/index.html create mode 100644 app/docs/.DS_Store create mode 100644 app/docs/Manuale_Utente.md create mode 100644 app/docs/Manuale_Utente.pdf create mode 100644 app/docs/reports/2026-01-11.md create mode 100644 app/eslint.config.js create mode 100644 app/index.html create mode 100644 app/package.json create mode 100644 app/pnpm-lock.yaml create mode 100644 app/postcss.config.js create mode 100644 app/public/favicon.ico create mode 100644 app/public/icons/favicon-128x128.png create mode 100644 app/public/icons/favicon-16x16.png create mode 100644 app/public/icons/favicon-32x32.png create mode 100644 app/public/icons/favicon-96x96.png create mode 100644 app/quasar.config.ts create mode 100644 app/scripts/gen-swiss.cjs create mode 100644 app/scripts/gen-swiss.js create mode 100644 app/scripts/swiss-out.ts create mode 100644 app/src/App.vue create mode 100644 app/src/assets/quasar-logo-vertical.svg create mode 100644 app/src/boot/.gitkeep create mode 100644 app/src/boot/i18n.ts create mode 100644 app/src/components/AddressInput.vue create mode 100644 app/src/components/AddressModal.vue create mode 100644 app/src/components/CommentAttachment.vue create mode 100644 app/src/components/SchoolModal.vue create mode 100644 app/src/components/SimpleAttachment.vue create mode 100644 app/src/components/StepsStepper.vue create mode 100644 app/src/components/steps/ChildrenStep.vue create mode 100644 app/src/components/steps/IncomeStep.vue create mode 100644 app/src/components/steps/MaritalStep.vue create mode 100644 app/src/components/steps/TaxpayerStep.vue create mode 100644 app/src/components/steps/WelcomeStep.vue create mode 100644 app/src/css/app.scss create mode 100644 app/src/css/quasar.variables.scss create mode 100644 app/src/data/countryCodes.ts create mode 100644 app/src/env.d.ts create mode 100644 app/src/i18n/en-US/index.ts create mode 100644 app/src/i18n/index.ts create mode 100644 app/src/i18n/locales/de-DE/attachments.ts create mode 100644 app/src/i18n/locales/de-DE/common.ts create mode 100644 app/src/i18n/locales/de-DE/steps.ts create mode 100644 app/src/i18n/locales/en-US/attachments.ts create mode 100644 app/src/i18n/locales/en-US/common.ts create mode 100644 app/src/i18n/locales/en-US/steps.ts create mode 100644 app/src/i18n/locales/fr-FR/attachments.ts create mode 100644 app/src/i18n/locales/fr-FR/common.ts create mode 100644 app/src/i18n/locales/fr-FR/steps.ts create mode 100644 app/src/i18n/locales/it-IT/attachments.ts create mode 100644 app/src/i18n/locales/it-IT/common.ts create mode 100644 app/src/i18n/locales/it-IT/steps.ts create mode 100644 app/src/layouts/MainLayout.vue create mode 100644 app/src/pages/ErrorNotFound.vue create mode 100644 app/src/pages/IndexPage.vue create mode 100644 app/src/router/index.ts create mode 100644 app/src/router/routes.ts create mode 100644 app/src/schema.json create mode 100644 app/src/stores/children.ts create mode 100644 app/src/stores/income.ts create mode 100644 app/src/stores/index.ts create mode 100644 app/src/stores/marital.ts create mode 100644 app/src/stores/taxpayer.ts create mode 100644 app/src/stores/taxstore.ts create mode 100644 app/src/stores/userstore.ts create mode 100644 app/src/types/address.ts create mode 100644 app/src/types/types.d.ts create mode 100644 app/src/utils/api.ts create mode 100644 app/tsconfig.json create mode 100644 info.pdf create mode 100644 schema.json delete mode 160000 taxorganizer delete mode 160000 taxserver diff --git a/.DS_Store b/.DS_Store index b8e289d64588844e551c3a4155d6d2788861d557..f68df1848dc74185c256b553bda3aca8d2fb2b00 100644 GIT binary patch delta 510 zcmZoMXmOBWU|?W$DortDU;r^WfEYvza8E20o2aKK%nOnS@)`1zlXCKtKvJ6pImB2t zD{%BPFJ|Z9nApH#2vWq%kjPNLP~e$^Pzco74V2OQ4+cOMT-9VP*5mb19c95qc{%xc z=|EYaMGR~V&I}$5dJH8D6$~Y4ru_uUBb&y-kjaq8kj9V?RA0c5!jOilp1~2QejbwT zoD4w>u0T;2244o(2%x51h7>GXkgecmC}v1z$Y4kXs!asy$O7{78S>C{tw*+KG7pQ4 z3>F1&V}T0h3KQLVM3b YnJ4qhc!F$UV1n2Pask diff --git a/CH.txt b/CH.txt new file mode 100644 index 0000000..751a1f9 --- /dev/null +++ b/CH.txt @@ -0,0 +1,4520 @@ +CH 5000 Aarau Kanton Aargau AG Bezirk Aarau 1901 Aarau 4001 47.3887 8.0483 4 +CH 5001 Aarau 1 Kanton Aargau AG Bezirk Aarau 1901 Aarau 4001 47.3888 8.0483 +CH 5004 Aarau Kanton Aargau AG Bezirk Aarau 1901 Aarau 4001 47.4007 8.0607 4 +CH 5017 Barmelweid Kanton Aargau AG Bezirk Aarau 1901 Erlinsbach (AG) 4005 47.4219 7.9722 4 +CH 5018 Erlinsbach Kanton Aargau AG Bezirk Aarau 1901 Erlinsbach (AG) 4005 47.4143 8.0077 4 +CH 5022 Rombach Kanton Aargau AG Bezirk Aarau 1901 Küttigen 4008 47.4052 8.0456 4 +CH 5023 Biberstein Kanton Aargau AG Bezirk Aarau 1901 Biberstein 4002 47.4188 8.083 4 +CH 5024 Küttigen Kanton Aargau AG Bezirk Aarau 1901 Küttigen 4008 47.4221 8.0439 4 +CH 5025 Asp Kanton Aargau AG Bezirk Aarau 1901 Densbüren 4004 47.4421 8.0506 4 +CH 5026 Densbüren Kanton Aargau AG Bezirk Aarau 1901 Densbüren 4004 47.4566 8.0599 4 +CH 5032 Aarau Rohr Kanton Aargau AG Bezirk Aarau 1901 Aarau 4001 47.4055 8.0841 4 +CH 5033 Buchs AG Kanton Aargau AG Bezirk Aarau 1901 Buchs (AG) 4003 47.3937 8.0879 4 +CH 5034 Suhr Kanton Aargau AG Bezirk Aarau 1901 Suhr 4012 47.3749 8.084 4 +CH 5035 Unterentfelden Kanton Aargau AG Bezirk Aarau 1901 Unterentfelden 4013 47.3684 8.0427 4 +CH 5036 Oberentfelden Kanton Aargau AG Bezirk Aarau 1901 Oberentfelden 4010 47.3542 8.0413 4 +CH 5037 Muhen Kanton Aargau AG Bezirk Aarau 1901 Muhen 4009 47.3329 8.0627 4 +CH 5042 Hirschthal Kanton Aargau AG Bezirk Aarau 1901 Hirschthal 4007 47.3176 8.0671 4 +CH 5722 Gränichen Kanton Aargau AG Bezirk Aarau 1901 Gränichen 4006 47.3516 8.1066 4 +CH 5300 Turgi Kanton Aargau AG Bezirk Baden 1902 Turgi 4042 47.4901 8.2561 4 +CH 5301 Siggenthal Station Kanton Aargau AG Bezirk Baden 1902 Untersiggenthal 4044 47.5152 8.238 4 +CH 5303 Würenlingen Kanton Aargau AG Bezirk Baden 1902 Würenlingen 4047 47.5321 8.2492 4 +CH 5400 Baden Kanton Aargau AG Bezirk Baden 1902 Baden 4021 47.4721 8.2914 4 +CH 5401 Baden Kanton Aargau AG Bezirk Baden 1902 Baden 4021 47.4733 8.3059 +CH 5402 Baden Kanton Aargau AG Bezirk Baden 1902 Baden 4021 47.4733 8.3059 +CH 5404 Baden Kanton Aargau AG Bezirk Baden 1902 Baden 4021 47.4549 8.2783 4 +CH 5405 Baden Kanton Aargau AG Bezirk Baden 1902 Baden 4021 47.4733 8.3059 4 +CH 5405 Dättwil AG Kanton Aargau AG Bezirk Baden 1902 Baden 4021 47.4537 8.2899 4 +CH 5406 Rütihof Kanton Aargau AG Bezirk Baden 1902 Baden 4021 47.4381 8.2659 4 +CH 5406 Baden Kanton Aargau AG Bezirk Baden 1902 Baden 4021 47.4733 8.3059 4 +CH 5408 Ennetbaden Kanton Aargau AG Bezirk Baden 1902 Ennetbaden 4026 47.4804 8.3235 4 +CH 5412 Vogelsang AG Kanton Aargau AG Bezirk Baden 1902 Gebenstorf 4029 47.4974 8.2393 4 +CH 5412 Gebenstorf Kanton Aargau AG Bezirk Baden 1902 Gebenstorf 4029 47.4782 8.2487 4 +CH 5413 Birmenstorf AG Kanton Aargau AG Bezirk Baden 1902 Birmenstorf (AG) 4024 47.4558 8.2562 4 +CH 5415 Rieden AG Kanton Aargau AG Bezirk Baden 1902 Obersiggenthal 4038 47.4839 8.304 4 +CH 5415 Nussbaumen AG Kanton Aargau AG Bezirk Baden 1902 Obersiggenthal 4038 47.4935 8.2967 4 +CH 5415 Hertenstein AG Kanton Aargau AG Bezirk Baden 1902 Obersiggenthal 4038 47.4888 8.3158 4 +CH 5416 Kirchdorf AG Kanton Aargau AG Bezirk Baden 1902 Obersiggenthal 4038 47.499 8.2801 4 +CH 5417 Untersiggenthal Kanton Aargau AG Bezirk Baden 1902 Untersiggenthal 4044 47.5067 8.2584 4 +CH 5420 Ehrendingen Kanton Aargau AG Bezirk Baden 1902 Ehrendingen 4049 47.4943 8.3468 4 +CH 5423 Freienwil Kanton Aargau AG Bezirk Baden 1902 Freienwil 4028 47.5014 8.319 4 +CH 5430 Wettingen 1 Kanton Aargau AG Bezirk Baden 1902 Wettingen 4045 47.4668 8.3412 +CH 5430 Wettingen 3 Kanton Aargau AG Bezirk Baden 1902 Wettingen 4045 47.4668 8.3412 +CH 5430 Wettingen Kanton Aargau AG Bezirk Baden 1902 Wettingen 4045 47.4666 8.3412 4 +CH 5432 Neuenhof Kanton Aargau AG Bezirk Baden 1902 Neuenhof 4034 47.4441 8.3251 4 +CH 5436 Würenlos Kanton Aargau AG Bezirk Baden 1902 Würenlos 4048 47.4473 8.3639 4 +CH 5442 Fislisbach Kanton Aargau AG Bezirk Baden 1902 Fislisbach 4027 47.4374 8.2907 4 +CH 5443 Niederrohrdorf Kanton Aargau AG Bezirk Baden 1902 Niederrohrdorf 4035 47.4201 8.3013 4 +CH 5444 Künten Kanton Aargau AG Bezirk Baden 1902 Künten 4031 47.386 8.3254 4 +CH 5452 Oberrohrdorf Kanton Aargau AG Bezirk Baden 1902 Oberrohrdorf 4037 47.4251 8.3205 4 +CH 5453 Remetschwil Kanton Aargau AG Bezirk Baden 1902 Remetschwil 4039 47.4083 8.3319 4 +CH 5454 Bellikon Kanton Aargau AG Bezirk Baden 1902 Bellikon 4022 47.3916 8.3494 4 +CH 5506 Mägenwil Kanton Aargau AG Bezirk Baden 1902 Mägenwil 4032 47.4123 8.2342 4 +CH 5507 Mellingen Kanton Aargau AG Bezirk Baden 1902 Mellingen 4033 47.4211 8.2742 4 +CH 5512 Wohlenschwil Kanton Aargau AG Bezirk Baden 1902 Wohlenschwil 4046 47.4167 8.2543 4 +CH 5608 Stetten AG Kanton Aargau AG Bezirk Baden 1902 Stetten (AG) 4041 47.4013 8.3051 4 +CH 8109 Kloster Fahr Kanton Aargau AG Bezirk Baden 1902 Würenlos 4048 47.4083 8.4391 1 +CH 8956 Killwangen Kanton Aargau AG Bezirk Baden 1902 Killwangen 4030 47.428 8.3443 4 +CH 8957 Spreitenbach Kanton Aargau AG Bezirk Baden 1902 Spreitenbach 4040 47.418 8.3672 4 +CH 8962 Bergdietikon Kanton Aargau AG Bezirk Baden 1902 Bergdietikon 4023 47.3881 8.3785 4 +CH 5445 Eggenwil Kanton Aargau AG Bezirk Bremgarten 1903 Eggenwil 4066 47.3716 8.3385 4 +CH 5522 Tägerig Kanton Aargau AG Bezirk Bremgarten 1903 Tägerig 4077 47.3992 8.2789 4 +CH 5524 Niederwil AG Kanton Aargau AG Bezirk Bremgarten 1903 Niederwil (AG) 4072 47.3763 8.2905 4 +CH 5524 Nesselnbach Kanton Aargau AG Bezirk Bremgarten 1903 Niederwil (AG) 4072 47.3906 8.2968 4 +CH 5525 Fischbach-Göslikon Kanton Aargau AG Bezirk Bremgarten 1903 Fischbach-Göslikon 4067 47.3691 8.3111 4 +CH 5605 Dottikon Kanton Aargau AG Bezirk Bremgarten 1903 Dottikon 4065 47.3779 8.2415 4 +CH 5607 Hägglingen Kanton Aargau AG Bezirk Bremgarten 1903 Hägglingen 4068 47.39 8.2576 4 +CH 5610 Wohlen AG Kanton Aargau AG Bezirk Bremgarten 1903 Wohlen (AG) 4082 47.3503 8.2836 4 +CH 5610 Wohlen AG 1 Kanton Aargau AG Bezirk Bremgarten 1903 Wohlen (AG) 4082 47.3533 8.2807 +CH 5611 Anglikon Kanton Aargau AG Bezirk Bremgarten 1903 Wohlen (AG) 4082 47.3665 8.2631 4 +CH 5612 Villmergen Kanton Aargau AG Bezirk Bremgarten 1903 Villmergen 4080 47.3475 8.2403 4 +CH 5613 Hilfikon Kanton Aargau AG Bezirk Bremgarten 1903 Villmergen 4080 47.3308 8.2453 4 +CH 5614 Sarmenstorf Kanton Aargau AG Bezirk Bremgarten 1903 Sarmenstorf 4076 47.3117 8.2524 4 +CH 5619 Büttikon AG Kanton Aargau AG Bezirk Bremgarten 1903 Büttikon 4064 47.3282 8.2683 4 +CH 5619 Uezwil Kanton Aargau AG Bezirk Bremgarten 1903 Uezwil 4078 47.315 8.2778 4 +CH 5620 Bremgarten AG Kanton Aargau AG Bezirk Bremgarten 1903 Bremgarten (AG) 4063 47.3535 8.3299 4 +CH 5620 Bremgarten AG 1 Kanton Aargau AG Bezirk Bremgarten 1903 Bremgarten (AG) 4063 47.3535 8.3298 +CH 5621 Zufikon Kanton Aargau AG Bezirk Bremgarten 1903 Zufikon 4083 47.3447 8.3582 4 +CH 5626 Hermetschwil-Staffeln Kanton Aargau AG Bezirk Bremgarten 1903 Bremgarten (AG) 4063 47.3304 8.3415 4 +CH 8905 Arni-Islisberg Kanton Aargau AG Bezirk Bremgarten 1903 Arni (AG) 4061 47.317 8.4223 6 +CH 8905 Islisberg Kanton Aargau AG Bezirk Bremgarten 1903 Islisberg 4084 47.3233 8.4412 4 +CH 8905 Arni AG Kanton Aargau AG Bezirk Bremgarten 1903 Arni (AG) 4061 47.317 8.4223 4 +CH 8916 Jonen Kanton Aargau AG Bezirk Bremgarten 1903 Jonen 4071 47.2997 8.4022 4 +CH 8917 Oberlunkhofen Kanton Aargau AG Bezirk Bremgarten 1903 Oberlunkhofen 4073 47.3125 8.3977 4 +CH 8918 Unterlunkhofen Kanton Aargau AG Bezirk Bremgarten 1903 Unterlunkhofen 4079 47.3248 8.3832 4 +CH 8964 Rudolfstetten Kanton Aargau AG Bezirk Bremgarten 1903 Rudolfstetten-Friedlisberg 4075 47.3683 8.3847 4 +CH 8965 Berikon Kanton Aargau AG Bezirk Bremgarten 1903 Berikon 4062 47.3538 8.3837 4 +CH 8966 Oberwil-Lieli Kanton Aargau AG Bezirk Bremgarten 1903 Oberwil-Lieli 4074 47.3371 8.3952 4 +CH 8967 Widen Kanton Aargau AG Bezirk Bremgarten 1903 Widen 4081 47.3705 8.3583 4 +CH 5105 Auenstein Kanton Aargau AG Bezirk Brugg 1904 Auenstein 4091 47.4185 8.1262 4 +CH 5106 Veltheim AG Kanton Aargau AG Bezirk Brugg 1904 Veltheim (AG) 4120 47.4318 8.1484 4 +CH 5107 Schinznach Dorf Kanton Aargau AG Bezirk Brugg 1904 Schinznach 4125 47.4543 8.139 4 +CH 5108 Oberflachs Kanton Aargau AG Bezirk Brugg 1904 Schinznach 4125 47.4379 8.1229 4 +CH 5112 Thalheim AG Kanton Aargau AG Bezirk Brugg 1904 Thalheim (AG) 4117 47.4392 8.0934 4 +CH 5116 Schinznach Bad Kanton Aargau AG Bezirk Brugg 1904 Brugg 4095 47.4538 8.1687 4 +CH 5200 Brugg AG Kanton Aargau AG Bezirk Brugg 1904 Brugg 4095 47.4864 8.2112 4 +CH 5201 Brugg AG Kanton Aargau AG Bezirk Brugg 1904 Brugg 4095 47.4863 8.211 +CH 5210 Windisch Kanton Aargau AG Bezirk Brugg 1904 Windisch 4123 47.4759 8.2221 4 +CH 5212 Hausen AG Kanton Aargau AG Bezirk Brugg 1904 Hausen (AG) 4100 47.4613 8.2074 4 +CH 5213 Villnachern Kanton Aargau AG Bezirk Brugg 1904 Villnachern 4122 47.4725 8.1625 4 +CH 5222 Umiken Kanton Aargau AG Bezirk Brugg 1904 Brugg 4095 47.4812 8.1867 4 +CH 5223 Riniken Kanton Aargau AG Bezirk Brugg 1904 Riniken 4111 47.4939 8.1867 4 +CH 5225 Bözberg Kanton Aargau AG Bezirk Brugg 1904 Bözberg 4124 47.4891 8.145 4 +CH 5232 Villigen PSI Kanton Aargau AG Bezirk Brugg 1904 Villigen 4121 47.5296 8.2072 +CH 5233 Stilli Kanton Aargau AG Bezirk Brugg 1904 Villigen 4121 47.5165 8.2315 4 +CH 5234 Villigen Kanton Aargau AG Bezirk Brugg 1904 Villigen 4121 47.5301 8.2063 4 +CH 5235 Rüfenach AG Kanton Aargau AG Bezirk Brugg 1904 Rüfenach 4112 47.5049 8.2127 4 +CH 5236 Remigen Kanton Aargau AG Bezirk Brugg 1904 Remigen 4110 47.5174 8.1759 4 +CH 5237 Mönthal Kanton Aargau AG Bezirk Brugg 1904 Mönthal 4106 47.5165 8.1376 4 +CH 5242 Lupfig Kanton Aargau AG Bezirk Brugg 1904 Lupfig 4104 47.4436 8.2075 4 +CH 5242 Birr Kanton Aargau AG Bezirk Brugg 1904 Birr 4092 47.4322 8.2121 4 +CH 5242 Birr-Lupfig Kanton Aargau AG Bezirk Brugg 1904 Lupfig 4104 47.4437 8.2076 6 +CH 5243 Mülligen Kanton Aargau AG Bezirk Brugg 1904 Mülligen 4107 47.4524 8.2385 4 +CH 5244 Birrhard Kanton Aargau AG Bezirk Brugg 1904 Birrhard 4093 47.4361 8.2423 4 +CH 5245 Habsburg Kanton Aargau AG Bezirk Brugg 1904 Habsburg 4099 47.4614 8.186 4 +CH 5246 Scherz Kanton Aargau AG Bezirk Brugg 1904 Lupfig 4104 47.4469 8.1842 4 +CH 5318 Mandach Kanton Aargau AG Bezirk Brugg 1904 Mandach 4105 47.5515 8.1877 4 +CH 5040 Schöftland Kanton Aargau AG Bezirk Kulm 1905 Schöftland 4144 47.3054 8.0557 4 +CH 5043 Holziken Kanton Aargau AG Bezirk Kulm 1905 Holziken 4136 47.3195 8.0343 4 +CH 5044 Schlossrued Kanton Aargau AG Bezirk Kulm 1905 Schlossrued 4142 47.2902 8.0884 4 +CH 5046 Walde AG Kanton Aargau AG Bezirk Kulm 1905 Schmiedrued 4143 47.2535 8.1161 4 +CH 5046 Schmiedrued Kanton Aargau AG Bezirk Kulm 1905 Schmiedrued 4143 47.271 8.1087 4 +CH 5046 Schmiedrued-Walde Kanton Aargau AG Bezirk Kulm 1905 Schmiedrued 4143 47.2632 8.1117 6 +CH 5708 Birrwil Kanton Aargau AG Bezirk Kulm 1905 Birrwil 4132 47.2919 8.1981 4 +CH 5712 Beinwil am See Kanton Aargau AG Bezirk Kulm 1905 Beinwil am See 4131 47.2665 8.2086 4 +CH 5723 Teufenthal AG Kanton Aargau AG Bezirk Kulm 1905 Teufenthal (AG) 4145 47.3281 8.1259 4 +CH 5724 Dürrenäsch Kanton Aargau AG Bezirk Kulm 1905 Dürrenäsch 4134 47.3186 8.1544 4 +CH 5725 Leutwil Kanton Aargau AG Bezirk Kulm 1905 Leutwil 4138 47.3056 8.1738 4 +CH 5726 Unterkulm Kanton Aargau AG Bezirk Kulm 1905 Unterkulm 4146 47.3177 8.1032 4 +CH 5727 Oberkulm Kanton Aargau AG Bezirk Kulm 1905 Oberkulm 4140 47.2984 8.1259 4 +CH 5728 Gontenschwil Kanton Aargau AG Bezirk Kulm 1905 Gontenschwil 4135 47.2676 8.1415 4 +CH 5732 Zetzwil Kanton Aargau AG Bezirk Kulm 1905 Zetzwil 4147 47.2883 8.162 4 +CH 5733 Leimbach AG Kanton Aargau AG Bezirk Kulm 1905 Leimbach (AG) 4137 47.2749 8.1701 4 +CH 5734 Reinach AG Kanton Aargau AG Bezirk Kulm 1905 Reinach (AG) 4141 47.2612 8.1793 4 +CH 5736 Burg AG Kanton Aargau AG Bezirk Kulm 1905 Burg (AG) 4133 47.2339 8.178 4 +CH 5737 Menziken Kanton Aargau AG Bezirk Kulm 1905 Menziken 4139 47.236 8.1865 4 +CH 4333 Münchwilen AG Kanton Aargau AG Bezirk Laufenburg 1906 Münchwilen (AG) 4172 47.5375 7.9642 4 +CH 4334 Sisseln AG Kanton Aargau AG Bezirk Laufenburg 1906 Sisseln 4177 47.5522 7.9853 4 +CH 5027 Herznach Kanton Aargau AG Bezirk Laufenburg 1906 Herznach 4166 47.4721 8.0465 4 +CH 5028 Ueken Kanton Aargau AG Bezirk Laufenburg 1906 Ueken 4179 47.4854 8.0434 4 +CH 5062 Oberhof Kanton Aargau AG Bezirk Laufenburg 1906 Oberhof 4173 47.4418 8.007 4 +CH 5063 Wölflinswil Kanton Aargau AG Bezirk Laufenburg 1906 Wölflinswil 4182 47.4628 8.0002 4 +CH 5064 Wittnau Kanton Aargau AG Bezirk Laufenburg 1906 Wittnau 4181 47.4771 7.9661 4 +CH 5070 Frick Kanton Aargau AG Bezirk Laufenburg 1906 Frick 4163 47.5097 8.0142 4 +CH 5072 Oeschgen Kanton Aargau AG Bezirk Laufenburg 1906 Oeschgen 4175 47.5249 8.0171 4 +CH 5073 Gipf-Oberfrick Kanton Aargau AG Bezirk Laufenburg 1906 Gipf-Oberfrick 4165 47.4931 7.9962 4 +CH 5074 Eiken Kanton Aargau AG Bezirk Laufenburg 1906 Eiken 4161 47.537 7.9892 4 +CH 5075 Hornussen Kanton Aargau AG Bezirk Laufenburg 1906 Böztal 4185 47.5016 8.0625 4 +CH 5076 Bözen Kanton Aargau AG Bezirk Laufenburg 1906 Böztal 4185 47.4964 8.0859 4 +CH 5077 Elfingen Kanton Aargau AG Bezirk Laufenburg 1906 Böztal 4185 47.51 8.1022 4 +CH 5078 Effingen Kanton Aargau AG Bezirk Laufenburg 1906 Böztal 4185 47.4928 8.1125 4 +CH 5079 Zeihen Kanton Aargau AG Bezirk Laufenburg 1906 Zeihen 4183 47.4705 8.0931 4 +CH 5080 Laufenburg Kanton Aargau AG Bezirk Laufenburg 1906 Laufenburg 4170 47.556 8.0608 4 +CH 5082 Kaisten Kanton Aargau AG Bezirk Laufenburg 1906 Kaisten 4169 47.5386 8.0448 4 +CH 5083 Ittenthal Kanton Aargau AG Bezirk Laufenburg 1906 Kaisten 4169 47.519 8.0622 4 +CH 5084 Rheinsulz Kanton Aargau AG Bezirk Laufenburg 1906 Laufenburg 4170 47.5528 8.0867 4 +CH 5085 Sulz AG Kanton Aargau AG Bezirk Laufenburg 1906 Laufenburg 4170 47.5343 8.098 4 +CH 5272 Gansingen Kanton Aargau AG Bezirk Laufenburg 1906 Gansingen 4164 47.5372 8.1317 4 +CH 5273 Oberhofen AG Kanton Aargau AG Bezirk Laufenburg 1906 Mettauertal 4184 47.5562 8.1252 4 +CH 5274 Mettau Kanton Aargau AG Bezirk Laufenburg 1906 Mettauertal 4184 47.569 8.1301 4 +CH 5275 Etzgen Kanton Aargau AG Bezirk Laufenburg 1906 Mettauertal 4184 47.5743 8.1137 4 +CH 5276 Wil AG Kanton Aargau AG Bezirk Laufenburg 1906 Mettauertal 4184 47.5662 8.1575 4 +CH 5277 Hottwil Kanton Aargau AG Bezirk Laufenburg 1906 Mettauertal 4184 47.5423 8.1638 4 +CH 5326 Schwaderloch Kanton Aargau AG Bezirk Laufenburg 1906 Schwaderloch 4176 47.5858 8.1457 4 +CH 5102 Rupperswil Kanton Aargau AG Bezirk Lenzburg 1907 Rupperswil 4206 47.4038 8.1311 4 +CH 5103 Wildegg Kanton Aargau AG Bezirk Lenzburg 1907 Möriken-Wildegg 4203 47.4159 8.1651 4 +CH 5103 Möriken AG Kanton Aargau AG Bezirk Lenzburg 1907 Möriken-Wildegg 4203 47.4165 8.191 4 +CH 5113 Holderbank AG Kanton Aargau AG Bezirk Lenzburg 1907 Holderbank (AG) 4199 47.4309 8.1707 4 +CH 5502 Hunzenschwil Kanton Aargau AG Bezirk Lenzburg 1907 Hunzenschwil 4200 47.3842 8.1229 4 +CH 5503 Schafisheim Kanton Aargau AG Bezirk Lenzburg 1907 Schafisheim 4207 47.3737 8.1391 4 +CH 5504 Othmarsingen Kanton Aargau AG Bezirk Lenzburg 1907 Othmarsingen 4205 47.4016 8.2146 4 +CH 5505 Brunegg Kanton Aargau AG Bezirk Lenzburg 1907 Brunegg 4193 47.4207 8.2199 4 +CH 5600 Lenzburg 1 Kanton Aargau AG Bezirk Lenzburg 1907 Lenzburg 4201 47.3856 8.1805 6 +CH 5600 Lenzburg Kanton Aargau AG Bezirk Lenzburg 1907 Lenzburg 4201 47.3855 8.1805 4 +CH 5600 Ammerswil AG Kanton Aargau AG Bezirk Lenzburg 1907 Ammerswil 4191 47.3682 8.2057 4 +CH 5603 Staufen Kanton Aargau AG Bezirk Lenzburg 1907 Staufen 4210 47.3788 8.16 4 +CH 5604 Hendschiken Kanton Aargau AG Bezirk Lenzburg 1907 Hendschiken 4198 47.3846 8.2159 4 +CH 5606 Dintikon Kanton Aargau AG Bezirk Lenzburg 1907 Dintikon 4194 47.3616 8.2218 4 +CH 5615 Fahrwangen Kanton Aargau AG Bezirk Lenzburg 1907 Fahrwangen 4196 47.2863 8.2392 4 +CH 5616 Meisterschwanden Kanton Aargau AG Bezirk Lenzburg 1907 Meisterschwanden 4202 47.2902 8.2258 4 +CH 5617 Tennwil Kanton Aargau AG Bezirk Lenzburg 1907 Meisterschwanden 4202 47.3062 8.2191 4 +CH 5702 Niederlenz Kanton Aargau AG Bezirk Lenzburg 1907 Niederlenz 4204 47.4034 8.1704 4 +CH 5703 Seon Kanton Aargau AG Bezirk Lenzburg 1907 Seon 4209 47.3482 8.1576 4 +CH 5704 Egliswil Kanton Aargau AG Bezirk Lenzburg 1907 Egliswil 4195 47.3517 8.1903 4 +CH 5705 Hallwil Kanton Aargau AG Bezirk Lenzburg 1907 Hallwil 4197 47.3265 8.1779 4 +CH 5706 Boniswil Kanton Aargau AG Bezirk Lenzburg 1907 Boniswil 4192 47.3118 8.1921 4 +CH 5707 Seengen Kanton Aargau AG Bezirk Lenzburg 1907 Seengen 4208 47.3283 8.2087 4 +CH 5618 Bettwil Kanton Aargau AG Bezirk Muri 1908 Bettwil 4227 47.2902 8.2717 4 +CH 5622 Waltenschwil Kanton Aargau AG Bezirk Muri 1908 Waltenschwil 4240 47.3341 8.2989 4 +CH 5623 Boswil Kanton Aargau AG Bezirk Muri 1908 Boswil 4228 47.2998 8.3092 4 +CH 5624 Bünzen Kanton Aargau AG Bezirk Muri 1908 Bünzen 4229 47.3156 8.3263 4 +CH 5624 Waldhäusern AG Kanton Aargau AG Bezirk Muri 1908 Bünzen 4229 47.3274 8.3164 4 +CH 5625 Kallern Kanton Aargau AG Bezirk Muri 1908 Kallern 4233 47.3095 8.2901 4 +CH 5627 Besenbüren Kanton Aargau AG Bezirk Muri 1908 Besenbüren 4226 47.3128 8.3449 4 +CH 5628 Aristau Kanton Aargau AG Bezirk Muri 1908 Aristau 4222 47.2912 8.3647 4 +CH 5630 Muri AG Kanton Aargau AG Bezirk Muri 1908 Muri (AG) 4236 47.272 8.3393 4 +CH 5632 Buttwil Kanton Aargau AG Bezirk Muri 1908 Buttwil 4230 47.2688 8.3063 4 +CH 5634 Merenschwand Kanton Aargau AG Bezirk Muri 1908 Merenschwand 4234 47.2627 8.3839 4 +CH 5636 Benzenschwil Kanton Aargau AG Bezirk Muri 1908 Merenschwand 4234 47.2465 8.3637 4 +CH 5637 Geltwil Kanton Aargau AG Bezirk Muri 1908 Geltwil 4232 47.249 8.326 4 +CH 5637 Beinwil (Freiamt) Kanton Aargau AG Bezirk Muri 1908 Beinwil (Freiamt) 4224 47.2295 8.3392 4 +CH 5642 Mühlau Kanton Aargau AG Bezirk Muri 1908 Mühlau 4235 47.2342 8.3891 4 +CH 5643 Alikon Kanton Aargau AG Bezirk Muri 1908 Sins 4239 47.1965 8.3524 4 +CH 5643 Meienberg Kanton Aargau AG Bezirk Muri 1908 Sins 4239 47.1976 8.3767 4 +CH 5643 Sins Kanton Aargau AG Bezirk Muri 1908 Sins 4239 47.196 8.3851 4 +CH 5643 Sins Kanton Aargau AG Bezirk Muri 1908 Sins 4239 47.196 8.3851 4 +CH 5644 Auw Kanton Aargau AG Bezirk Muri 1908 Auw 4223 47.2148 8.3627 4 +CH 5645 Fenkrieden Kanton Aargau AG Bezirk Muri 1908 Sins 4239 47.1595 8.3712 4 +CH 5645 Aettenschwil Kanton Aargau AG Bezirk Muri 1908 Sins 4239 47.1838 8.3727 4 +CH 5646 Abtwil AG Kanton Aargau AG Bezirk Muri 1908 Abtwil 4221 47.174 8.3538 4 +CH 5647 Oberrüti Kanton Aargau AG Bezirk Muri 1908 Oberrüti 4237 47.1669 8.3986 4 +CH 6042 Dietwil Kanton Aargau AG Bezirk Muri 1908 Dietwil 4231 47.1483 8.3963 4 +CH 8919 Rottenschwil Kanton Aargau AG Bezirk Muri 1908 Rottenschwil 4238 47.3144 8.3659 4 +CH 4303 Kaiseraugst Liebrüti Kanton Aargau AG Bezirk Rheinfelden 1909 Kaiseraugst 4252 47.5361 7.7421 +CH 4303 Kaiseraugst Kanton Aargau AG Bezirk Rheinfelden 1909 Kaiseraugst 4252 47.5364 7.7428 4 +CH 4305 Olsberg Kanton Aargau AG Bezirk Rheinfelden 1909 Olsberg 4257 47.526 7.7777 4 +CH 4310 Rheinfelden Kanton Aargau AG Bezirk Rheinfelden 1909 Rheinfelden 4258 47.5493 7.7982 4 +CH 4310 Rheinfelden 1 Kanton Aargau AG Bezirk Rheinfelden 1909 Rheinfelden 4258 47.5559 7.8045 +CH 4312 Magden Kanton Aargau AG Bezirk Rheinfelden 1909 Magden 4253 47.5196 7.8096 4 +CH 4313 Möhlin Kanton Aargau AG Bezirk Rheinfelden 1909 Möhlin 4254 47.5655 7.8489 4 +CH 4314 Zeiningen Kanton Aargau AG Bezirk Rheinfelden 1909 Zeiningen 4263 47.5433 7.8762 4 +CH 4315 Zuzgen Kanton Aargau AG Bezirk Rheinfelden 1909 Zuzgen 4264 47.5243 7.8999 4 +CH 4316 Hellikon Kanton Aargau AG Bezirk Rheinfelden 1909 Hellikon 4251 47.5089 7.9167 4 +CH 4317 Wegenstetten Kanton Aargau AG Bezirk Rheinfelden 1909 Wegenstetten 4262 47.4939 7.9312 4 +CH 4322 Mumpf Kanton Aargau AG Bezirk Rheinfelden 1909 Mumpf 4255 47.5451 7.9135 4 +CH 4323 Wallbach Kanton Aargau AG Bezirk Rheinfelden 1909 Wallbach 4261 47.568 7.8979 4 +CH 4324 Obermumpf Kanton Aargau AG Bezirk Rheinfelden 1909 Obermumpf 4256 47.5299 7.937 4 +CH 4325 Schupfart Kanton Aargau AG Bezirk Rheinfelden 1909 Schupfart 4259 47.5134 7.9625 4 +CH 4332 Stein AG Kanton Aargau AG Bezirk Rheinfelden 1909 Stein (AG) 4260 47.5452 7.9528 4 +CH 4663 Aarburg Kanton Aargau AG Bezirk Zofingen 1910 Aarburg 4271 47.3236 7.9057 4 +CH 4665 Oftringen 1 Kanton Aargau AG Bezirk Zofingen 1910 Oftringen 4280 47.3134 7.939 +CH 4665 Oftringen Kanton Aargau AG Bezirk Zofingen 1910 Oftringen 4280 47.313 7.9391 4 +CH 4665 Oftringen 2 Kanton Aargau AG Bezirk Zofingen 1910 Oftringen 4280 47.3134 7.939 +CH 4800 Zofingen Kanton Aargau AG Bezirk Zofingen 1910 Zofingen 4289 47.2865 7.9576 4 +CH 4801 Zofingen Kanton Aargau AG Bezirk Zofingen 1910 Zofingen 4289 47.2888 7.9633 +CH 4801 Zofingen Ringier AG Kanton Aargau AG Bezirk Zofingen 1910 Zofingen 4289 47.2888 7.9633 +CH 4802 Strengelbach Kanton Aargau AG Bezirk Zofingen 1910 Strengelbach 4285 47.2834 7.9225 4 +CH 4803 Vordemwald Kanton Aargau AG Bezirk Zofingen 1910 Vordemwald 4287 47.2694 7.8926 4 +CH 4805 Brittnau Kanton Aargau AG Bezirk Zofingen 1910 Brittnau 4274 47.2546 7.9287 4 +CH 4807 Zofingen PostFinance Kanton Aargau AG Bezirk Zofingen 1910 Zofingen 4289 47.2888 7.9633 +CH 4807 Zofingen PF Kanton Aargau AG Bezirk Zofingen 1910 Zofingen 4289 47.2888 7.9633 +CH 4808 Zofingen PF Kanton Aargau AG Bezirk Zofingen 1910 Zofingen 4289 47.2888 7.9633 +CH 4808 Zofingen PostFinance Kanton Aargau AG Bezirk Zofingen 1910 Zofingen 4289 47.2888 7.9633 +CH 4809 Zofingen PF Kanton Aargau AG Bezirk Zofingen 1910 Zofingen 4289 47.2888 7.9633 +CH 4809 Zofingen PF UBS Kanton Aargau AG Bezirk Zofingen 1910 Zofingen 4289 47.2888 7.9633 +CH 4809 Zofingen PF UBS Verarb. Kanton Aargau AG Bezirk Zofingen 1910 Zofingen 4289 47.2888 7.9633 +CH 4809 Zofingen Postfinance UBS Kanton Aargau AG Bezirk Zofingen 1910 Zofingen 4289 47.2888 7.9633 +CH 4810 Zofingen PF Kanton Aargau AG Bezirk Zofingen 1910 Zofingen 4289 47.2888 7.9633 +CH 4812 Mühlethal Kanton Aargau AG Bezirk Zofingen 1910 Zofingen 4289 47.299 7.9784 4 +CH 4813 Uerkheim Kanton Aargau AG Bezirk Zofingen 1910 Uerkheim 4286 47.3042 8.01 4 +CH 4814 Bottenwil Kanton Aargau AG Bezirk Zofingen 1910 Bottenwil 4273 47.2847 8.0021 4 +CH 4852 Rothrist Kanton Aargau AG Bezirk Zofingen 1910 Rothrist 4282 47.2983 7.8836 4 +CH 4853 Murgenthal Kanton Aargau AG Bezirk Zofingen 1910 Murgenthal 4279 47.2698 7.8388 4 +CH 4853 Riken AG Kanton Aargau AG Bezirk Zofingen 1910 Murgenthal 4279 47.2729 7.8612 4 +CH 4853 Murgenthal Kanton Aargau AG Bezirk Zofingen 1910 Murgenthal 4279 47.2698 7.8388 4 +CH 4856 Glashütten Kanton Aargau AG Bezirk Zofingen 1910 Murgenthal 4279 47.2492 7.8546 4 +CH 5053 Wittwil Kanton Aargau AG Bezirk Zofingen 1910 Staffelbach 4284 47.2931 8.0359 4 +CH 5053 Staffelbach Kanton Aargau AG Bezirk Zofingen 1910 Staffelbach 4284 47.2813 8.0391 4 +CH 5054 Moosleerau Kanton Aargau AG Bezirk Zofingen 1910 Moosleerau 4277 47.2645 8.0661 4 +CH 5054 Kirchleerau-Moosleerau Kanton Aargau AG Bezirk Zofingen 1910 Kirchleerau 4275 47.2772 8.0741 6 +CH 5054 Kirchleerau Kanton Aargau AG Bezirk Zofingen 1910 Kirchleerau 4275 47.2772 8.074 4 +CH 5056 Attelwil Kanton Aargau AG Bezirk Zofingen 1910 Reitnau 4281 47.2634 8.0397 4 +CH 5057 Reitnau Kanton Aargau AG Bezirk Zofingen 1910 Reitnau 4281 47.2515 8.0354 4 +CH 5058 Wiliberg Kanton Aargau AG Bezirk Zofingen 1910 Wiliberg 4288 47.2669 8.0166 4 +CH 5742 Kölliken Kanton Aargau AG Bezirk Zofingen 1910 Kölliken 4276 47.3347 8.021 4 +CH 5745 Safenwil Kanton Aargau AG Bezirk Zofingen 1910 Safenwil 4283 47.3197 7.9869 4 +CH 5304 Endingen Kanton Aargau AG Bezirk Zurzach 1911 Endingen 4305 47.5307 8.2901 4 +CH 5305 Unterendingen Kanton Aargau AG Bezirk Zurzach 1911 Endingen 4305 47.5461 8.289 4 +CH 5306 Tegerfelden Kanton Aargau AG Bezirk Zurzach 1911 Tegerfelden 4320 47.5619 8.2849 4 +CH 5312 Döttingen Kanton Aargau AG Bezirk Zurzach 1911 Döttingen 4304 47.56 8.253 4 +CH 5313 Klingnau Kanton Aargau AG Bezirk Zurzach 1911 Klingnau 4309 47.5886 8.2507 4 +CH 5314 Kleindöttingen Kanton Aargau AG Bezirk Zurzach 1911 Böttstein 4303 47.5692 8.238 4 +CH 5315 Böttstein Kanton Aargau AG Bezirk Zurzach 1911 Böttstein 4303 47.5529 8.2181 4 +CH 5316 Leuggern Kanton Aargau AG Bezirk Zurzach 1911 Leuggern 4313 47.584 8.2169 4 +CH 5317 Hettenschwil Kanton Aargau AG Bezirk Zurzach 1911 Leuggern 4313 47.5739 8.1939 4 +CH 5322 Koblenz Kanton Aargau AG Bezirk Zurzach 1911 Koblenz 4310 47.6044 8.2447 4 +CH 5323 Rietheim Kanton Aargau AG Bezirk Zurzach 1911 Zurzach 4324 47.6029 8.2739 4 +CH 5324 Full-Reuenthal Kanton Aargau AG Bezirk Zurzach 1911 Full-Reuenthal 4307 47.6087 8.2028 4 +CH 5325 Leibstadt Kanton Aargau AG Bezirk Zurzach 1911 Leibstadt 4311 47.5897 8.1784 4 +CH 5330 Bad Zurzach Kanton Aargau AG Bezirk Zurzach 1911 Zurzach 4324 47.5859 8.292 4 +CH 5332 Rekingen AG Kanton Aargau AG Bezirk Zurzach 1911 Zurzach 4324 47.5671 8.3218 4 +CH 5333 Baldingen Kanton Aargau AG Bezirk Zurzach 1911 Zurzach 4324 47.5548 8.3136 4 +CH 5334 Böbikon Kanton Aargau AG Bezirk Zurzach 1911 Zurzach 4324 47.5504 8.3379 4 +CH 5425 Schneisingen Kanton Aargau AG Bezirk Zurzach 1911 Schneisingen 4318 47.5249 8.3617 4 +CH 5426 Lengnau AG Kanton Aargau AG Bezirk Zurzach 1911 Lengnau (AG) 4312 47.5251 8.3241 4 +CH 5462 Siglistorf Kanton Aargau AG Bezirk Zurzach 1911 Siglistorf 4319 47.5387 8.387 4 +CH 5463 Wislikofen Kanton Aargau AG Bezirk Zurzach 1911 Zurzach 4324 47.5537 8.3667 4 +CH 5464 Rümikon AG Kanton Aargau AG Bezirk Zurzach 1911 Zurzach 4324 47.5643 8.3806 4 +CH 5465 Mellikon Kanton Aargau AG Bezirk Zurzach 1911 Mellikon 4314 47.5633 8.3472 4 +CH 5466 Kaiserstuhl AG Kanton Aargau AG Bezirk Zurzach 1911 Zurzach 4324 47.5677 8.419 4 +CH 5467 Fisibach Kanton Aargau AG Bezirk Zurzach 1911 Fisibach 4306 47.5583 8.4047 4 +CH 9050 Appenzell Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Appenzell 3101 47.3238 9.4038 4 +CH 9050 Appenzell Eggerstanden Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Rüte 3103 47.334 9.4797 4 +CH 9050 Appenzell Schlatt Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Schlatt-Haslen 3104 47.3563 9.4015 4 +CH 9050 Appenzell Enggenhütten Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Schlatt-Haslen 3104 47.3491 9.3614 4 +CH 9050 Appenzell Meistersrüte Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Appenzell 3101 47.348 9.4364 4 +CH 9050 Appenzell Steinegg Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Rüte 3103 47.3211 9.4522 4 +CH 9054 Haslen AI Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Schlatt-Haslen 3104 47.3692 9.3788 4 +CH 9057 Wasserauen Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Schwende 3105 47.2644 9.3918 4 +CH 9057 Weissbad Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Rüte 3103 47.2868 9.3818 4 +CH 9057 Schwende Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Schwende 3105 47.2965 9.4345 4 +CH 9058 Brülisau Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Rüte 3103 47.2799 9.4497 4 +CH 9108 Jakobsbad Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Gonten 3102 47.3064 9.3299 4 +CH 9108 Gontenbad Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Gonten 3102 47.3259 9.3707 4 +CH 9108 Gonten Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Gonten 3102 47.3237 9.3494 4 +CH 9413 Oberegg Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Oberegg 3111 47.4165 9.5533 4 +CH 9413 Oberegg Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Oberegg 3111 47.4165 9.5533 4 +CH 9442 Büriswilen Kanton Appenzell Innerrhoden AI Appenzell Inner Rhodes 1600 Oberegg 3111 47.4331 9.6025 4 +CH 9063 Stein AR Kanton Appenzell Ausserrhoden AR Bezirk Hinterland 1501 Stein (AR) 3005 47.3761 9.3417 4 +CH 9064 Hundwil Kanton Appenzell Ausserrhoden AR Bezirk Hinterland 1501 Hundwil 3002 47.3517 9.319 4 +CH 9100 Herisau Kanton Appenzell Ausserrhoden AR Bezirk Hinterland 1501 Herisau 3001 47.3833 9.2813 4 +CH 9102 Herisau Kanton Appenzell Ausserrhoden AR Bezirk Hinterland 1501 Herisau 3001 47.3861 9.2792 +CH 9103 Schwellbrunn Kanton Appenzell Ausserrhoden AR Bezirk Hinterland 1501 Schwellbrunn 3004 47.3516 9.2362 4 +CH 9104 Waldstatt Kanton Appenzell Ausserrhoden AR Bezirk Hinterland 1501 Waldstatt 3007 47.3567 9.2854 4 +CH 9105 Schönengrund Kanton Appenzell Ausserrhoden AR Bezirk Hinterland 1501 Schönengrund 3003 47.3254 9.2267 4 +CH 9107 Urnäsch Kanton Appenzell Ausserrhoden AR Bezirk Hinterland 1501 Urnäsch 3006 47.2948 9.2779 4 +CH 9112 Schachen b. Herisau Kanton Appenzell Ausserrhoden AR Bezirk Hinterland 1501 Herisau 3001 47.3797 9.2366 4 +CH 9037 Speicherschwendi Kanton Appenzell Ausserrhoden AR Bezirk Mittelland 1502 Speicher 3023 47.428 9.4383 4 +CH 9042 Speicher Kanton Appenzell Ausserrhoden AR Bezirk Mittelland 1502 Speicher 3023 47.4099 9.441 4 +CH 9043 Trogen Kanton Appenzell Ausserrhoden AR Bezirk Mittelland 1502 Trogen 3025 47.4003 9.4764 4 +CH 9052 Niederteufen Kanton Appenzell Ausserrhoden AR Bezirk Mittelland 1502 Teufen (AR) 3024 47.3909 9.362 4 +CH 9053 Teufen AR Kanton Appenzell Ausserrhoden AR Bezirk Mittelland 1502 Teufen (AR) 3024 47.3928 9.4 4 +CH 9055 Bühler Kanton Appenzell Ausserrhoden AR Bezirk Mittelland 1502 Bühler 3021 47.3783 9.4266 4 +CH 9056 Gais Kanton Appenzell Ausserrhoden AR Bezirk Mittelland 1502 Gais 3022 47.368 9.4714 4 +CH 9062 Lustmühle Kanton Appenzell Ausserrhoden AR Bezirk Mittelland 1502 Teufen (AR) 3024 47.3988 9.3542 4 +CH 9035 Grub AR Kanton Appenzell Ausserrhoden AR Bezirk Vorderland 1503 Grub (AR) 3031 47.4412 9.5017 4 +CH 9038 Rehetobel Kanton Appenzell Ausserrhoden AR Bezirk Vorderland 1503 Rehetobel 3034 47.4283 9.4843 4 +CH 9044 Wald AR Kanton Appenzell Ausserrhoden AR Bezirk Vorderland 1503 Wald (AR) 3036 47.4146 9.5044 4 +CH 9405 Wienacht-Tobel Kanton Appenzell Ausserrhoden AR Bezirk Vorderland 1503 Lutzenberg 3033 47.465 9.5362 4 +CH 9410 Heiden Kanton Appenzell Ausserrhoden AR Bezirk Vorderland 1503 Heiden 3032 47.4408 9.5349 4 +CH 9411 Schachen b. Reute Kanton Appenzell Ausserrhoden AR Bezirk Vorderland 1503 Reute (AR) 3035 47.4256 9.5608 4 +CH 9411 Reute AR Kanton Appenzell Ausserrhoden AR Bezirk Vorderland 1503 Reute (AR) 3035 47.4088 9.5662 4 +CH 9426 Lutzenberg Kanton Appenzell Ausserrhoden AR Bezirk Vorderland 1503 Lutzenberg 3033 47.4593 9.5748 4 +CH 9427 Wolfhalden Kanton Appenzell Ausserrhoden AR Bezirk Vorderland 1503 Wolfhalden 3038 47.4506 9.5612 4 +CH 9428 Walzenhausen Kanton Appenzell Ausserrhoden AR Bezirk Vorderland 1503 Walzenhausen 3037 47.4433 9.5971 4 +CH 2333 La Ferrière Canton de Berne BE Jura bernois 241 La Ferrière 435 47.1498 6.9105 4 +CH 2345 Le Cerneux-Veusil Canton de Berne BE Jura bernois 241 Saint-Imier 443 47.1791 6.967 4 +CH 2515 Prêles Canton de Berne BE Jura bernois 241 Plateau de Diesse 726 47.095 7.1153 4 +CH 2516 Lamboing Canton de Berne BE Jura bernois 241 Plateau de Diesse 726 47.1256 7.1575 4 +CH 2517 Diesse Canton de Berne BE Jura bernois 241 Plateau de Diesse 726 47.1201 7.118 4 +CH 2518 Nods Canton de Berne BE Jura bernois 241 Nods 724 47.1209 7.0746 4 +CH 2520 La Neuveville Canton de Berne BE Jura bernois 241 La Neuveville 723 47.0741 7.1023 4 +CH 2534 Les Prés-d'Orvin Canton de Berne BE Jura bernois 241 Orvin 438 47.1555 7.1664 4 +CH 2534 Orvin Canton de Berne BE Jura bernois 241 Orvin 438 47.157 7.2125 4 +CH 2535 Frinvillier Canton de Berne BE Jura bernois 241 Sauge 449 47.1695 7.2544 4 +CH 2536 Plagne Canton de Berne BE Jura bernois 241 Sauge 449 47.1905 7.2848 4 +CH 2537 Vauffelin Canton de Berne BE Jura bernois 241 Sauge 449 47.1841 7.298 4 +CH 2538 Romont BE Canton de Berne BE Jura bernois 241 Romont (BE) 442 47.1932 7.3318 4 +CH 2603 Péry Canton de Berne BE Jura bernois 241 Péry-La Heutte 450 47.1998 7.2694 4 +CH 2604 La Heutte Canton de Berne BE Jura bernois 241 Péry-La Heutte 450 47.1887 7.2178 4 +CH 2605 Sonceboz-Sombeval Canton de Berne BE Jura bernois 241 Sonceboz-Sombeval 444 47.1884 7.1806 4 +CH 2606 Corgémont Canton de Berne BE Jura bernois 241 Corgémont 431 47.1927 7.1413 4 +CH 2607 Cortébert Canton de Berne BE Jura bernois 241 Cortébert 433 47.1893 7.1071 4 +CH 2608 Courtelary Canton de Berne BE Jura bernois 241 Courtelary 434 47.1857 7.074 4 +CH 2608 Montagne-de-Courtelary Canton de Berne BE Jura bernois 241 Cortébert 433 47.1599 7.0959 3 +CH 2610 St-Imier Canton de Berne BE Jura bernois 241 Saint-Imier 443 47.1559 6.9933 3 +CH 2610 Mont-Crosin Canton de Berne BE Jura bernois 241 Cormoret 432 47.1862 7.0307 4 +CH 2610 Mont-Soleil Canton de Berne BE Jura bernois 241 Saint-Imier 443 47.1529 6.9593 4 +CH 2610 Les Pontins Canton de Berne BE Jura bernois 241 Saint-Imier 443 47.1308 7.0049 4 +CH 2612 Cormoret Canton de Berne BE Jura bernois 241 Cormoret 432 47.1679 7.0484 4 +CH 2613 Villeret Canton de Berne BE Jura bernois 241 Villeret 448 47.1491 7.0309 4 +CH 2615 Sonvilier Canton de Berne BE Jura bernois 241 Sonvilier 445 47.1336 6.9619 4 +CH 2615 Montagne-de-Sonvilier Canton de Berne BE Jura bernois 241 Sonvilier 445 47.1207 6.9579 3 +CH 2616 Renan BE Canton de Berne BE Jura bernois 241 Renan (BE) 441 47.1072 6.9012 4 +CH 2710 Tavannes Canton de Berne BE Jura bernois 241 Tavannes 713 47.2216 7.1893 4 +CH 2712 Le Fuet Canton de Berne BE Jura bernois 241 Saicourt 706 47.2485 7.1751 4 +CH 2713 Bellelay Canton de Berne BE Jura bernois 241 Saicourt 706 47.264 7.1637 4 +CH 2715 Monible Canton de Berne BE Jura bernois 241 Petit-Val 716 47.2797 7.1994 4 +CH 2715 Châtelat Canton de Berne BE Jura bernois 241 Petit-Val 716 47.2683 7.1895 4 +CH 2716 Sornetan Canton de Berne BE Jura bernois 241 Petit-Val 716 47.2728 7.2179 4 +CH 2717 Fornet-Dessous Canton de Berne BE Jura bernois 241 Petit-Val 716 47.2771 7.1761 3 +CH 2717 Rebévelier Canton de Berne BE Jura bernois 241 Rebévelier 715 47.2899 7.1861 4 +CH 2720 Tramelan Canton de Berne BE Jura bernois 241 Tramelan 446 47.23 7.1173 4 +CH 2720 La Tanne Canton de Berne BE Jura bernois 241 Tavannes 713 47.2137 7.1413 4 +CH 2722 Les Reussilles Canton de Berne BE Jura bernois 241 Tramelan 446 47.228 7.0711 4 +CH 2723 Mont-Tramelan Canton de Berne BE Jura bernois 241 Mont-Tramelan 437 47.2071 7.0657 1 +CH 2732 Loveresse Canton de Berne BE Jura bernois 241 Loveresse 696 47.2408 7.2411 4 +CH 2732 Saicourt Canton de Berne BE Jura bernois 241 Saicourt 706 47.2462 7.2027 4 +CH 2732 Saules BE Canton de Berne BE Jura bernois 241 Saules (BE) 707 47.2533 7.2221 4 +CH 2732 Reconvilier Canton de Berne BE Jura bernois 241 Reconvilier 703 47.2248 7.2242 4 +CH 2733 Pontenet Canton de Berne BE Jura bernois 241 Valbirse 717 47.2498 7.2542 4 +CH 2735 Malleray-Bévilard Canton de Berne BE Jura bernois 241 Valbirse 717 47.2391 7.2714 6 +CH 2735 Bévilard Canton de Berne BE Jura bernois 241 Valbirse 717 47.2312 7.2855 4 +CH 2735 Champoz Canton de Berne BE Jura bernois 241 Champoz 683 47.2598 7.3107 4 +CH 2735 Malleray Canton de Berne BE Jura bernois 241 Valbirse 717 47.2377 7.2661 4 +CH 2736 Sorvilier Canton de Berne BE Jura bernois 241 Sorvilier 711 47.2315 7.3076 4 +CH 2738 Court Canton de Berne BE Jura bernois 241 Court 690 47.239 7.3609 4 +CH 2740 Moutier Canton de Berne BE Jura bernois 241 Moutier 700 47.2778 7.3602 4 +CH 2742 Perrefitte Canton de Berne BE Jura bernois 241 Perrefitte 701 47.2774 7.3182 4 +CH 2743 Eschert Canton de Berne BE Jura bernois 241 Eschert 692 47.2655 7.4076 4 +CH 2744 Belprahon Canton de Berne BE Jura bernois 241 Belprahon 681 47.2905 7.4041 4 +CH 2745 Grandval Canton de Berne BE Jura bernois 241 Grandval 694 47.2836 7.428 4 +CH 2746 Crémines Canton de Berne BE Jura bernois 241 Crémines 691 47.285 7.4514 4 +CH 2747 Corcelles BE Canton de Berne BE Jura bernois 241 Corcelles (BE) 687 47.2916 7.4714 4 +CH 2747 Seehof Canton de Berne BE Jura bernois 241 Seehof 709 47.3048 7.5253 4 +CH 2748 Souboz Canton de Berne BE Jura bernois 241 Petit-Val 716 47.2722 7.2558 4 +CH 2748 Les Ecorcheresses Canton de Berne BE Jura bernois 241 Petit-Val 716 47.2836 7.2637 4 +CH 2762 Roches BE Canton de Berne BE Jura bernois 241 Roches (BE) 704 47.3039 7.3818 4 +CH 2827 Schelten Canton de Berne BE Jura bernois 241 Schelten 708 47.3327 7.5531 4 +CH 2500 Biel/Bienne 4 Canton de Berne BE Biel/Bienne District 242 Biel/Bienne 371 47.1492 7.2611 +CH 2500 Biel/Bienne Canton de Berne BE Biel/Bienne District 242 Biel/Bienne 371 47.1371 7.2461 +CH 2500 Biel/Bienne 6 Canton de Berne BE Biel/Bienne District 242 Biel/Bienne 371 47.1492 7.2611 +CH 2501 Biel/Bienne Canton de Berne BE Biel/Bienne District 242 Biel/Bienne 371 47.1371 7.2461 +CH 2502 Biel/Bienne Canton de Berne BE Biel/Bienne District 242 Biel/Bienne 371 47.1489 7.2473 4 +CH 2503 Biel/Bienne Canton de Berne BE Biel/Bienne District 242 Biel/Bienne 371 47.1324 7.2551 4 +CH 2504 Biel/Bienne Canton de Berne BE Biel/Bienne District 242 Biel/Bienne 371 47.1574 7.2809 4 +CH 2505 Biel/Bienne Canton de Berne BE Biel/Bienne District 242 Biel/Bienne 371 47.1338 7.2171 4 +CH 2512 Tüscherz-Alfermée Canton de Berne BE Biel/Bienne District 242 Twann-Tüscherz 756 47.1217 7.1964 4 +CH 2513 Twann Canton de Berne BE Biel/Bienne District 242 Twann-Tüscherz 756 47.1053 7.1637 4 +CH 2514 Ligerz Canton de Berne BE Biel/Bienne District 242 Ligerz 740 47.0905 7.1388 4 +CH 2532 Macolin Canton de Berne BE Biel/Bienne District 242 Evilard 372 47.139 7.2141 4 +CH 2532 Magglingen/Macolin Canton de Berne BE Biel/Bienne District 242 Evilard 372 47.142 7.2115 +CH 2533 Evilard Canton de Berne BE Biel/Bienne District 242 Evilard 372 47.1509 7.2359 4 +CH 2542 Pieterlen Canton de Berne BE Biel/Bienne District 242 Pieterlen 392 47.1739 7.328 4 +CH 2543 Lengnau BE Canton de Berne BE Biel/Bienne District 242 Lengnau (BE) 387 47.182 7.3659 4 +CH 2552 Orpund Canton de Berne BE Biel/Bienne District 242 Orpund 744 47.1417 7.3031 4 +CH 2553 Safnern Canton de Berne BE Biel/Bienne District 242 Safnern 746 47.1523 7.322 4 +CH 2554 Meinisberg Canton de Berne BE Biel/Bienne District 242 Meinisberg 390 47.1614 7.3527 4 +CH 2555 Brügg BE Canton de Berne BE Biel/Bienne District 242 Brügg 733 47.128 7.2781 4 +CH 2556 Scheuren Canton de Berne BE Biel/Bienne District 242 Scheuren 747 47.1323 7.3269 4 +CH 2556 Schwadernau Canton de Berne BE Biel/Bienne District 242 Schwadernau 748 47.1239 7.3173 4 +CH 2558 Aegerten Canton de Berne BE Biel/Bienne District 242 Aegerten 731 47.1172 7.2851 4 +CH 2560 Nidau Canton de Berne BE Biel/Bienne District 242 Nidau 743 47.1244 7.2409 4 +CH 2562 Port Canton de Berne BE Biel/Bienne District 242 Port 745 47.1135 7.2591 4 +CH 2563 Ipsach Canton de Berne BE Biel/Bienne District 242 Ipsach 739 47.1149 7.2314 4 +CH 2564 Bellmund Canton de Berne BE Biel/Bienne District 242 Bellmund 732 47.1024 7.2436 4 +CH 2572 Mörigen Canton de Berne BE Biel/Bienne District 242 Mörigen 742 47.0843 7.2116 4 +CH 2572 Sutz Canton de Berne BE Biel/Bienne District 242 Sutz-Lattrigen 750 47.0992 7.2188 4 +CH 2557 Studen BE Canton de Berne BE Seeland District 243 Studen (BE) 749 47.1126 7.3029 4 +CH 2565 Jens Canton de Berne BE Seeland District 243 Jens 738 47.0981 7.2691 4 +CH 2575 Gerolfingen Canton de Berne BE Seeland District 243 Täuffelen 751 47.0759 7.2001 4 +CH 2575 Hagneck Canton de Berne BE Seeland District 243 Hagneck 736 47.0532 7.1872 4 +CH 2575 Täuffelen Canton de Berne BE Seeland District 243 Täuffelen 751 47.0621 7.1957 4 +CH 2576 Lüscherz Canton de Berne BE Seeland District 243 Lüscherz 497 47.0441 7.1615 4 +CH 2577 Siselen BE Canton de Berne BE Seeland District 243 Siselen 499 47.0325 7.196 4 +CH 2577 Finsterhennen Canton de Berne BE Seeland District 243 Finsterhennen 493 47.0206 7.1792 4 +CH 3035 Frieswil Canton de Berne BE Seeland District 243 Seedorf (BE) 312 46.9924 7.2934 4 +CH 3036 Detligen Canton de Berne BE Seeland District 243 Radelfingen 309 46.994 7.268 4 +CH 3053 Lätti Canton de Berne BE Seeland District 243 Rapperswil (BE) 310 47.038 7.4314 4 +CH 3054 Schüpfen Canton de Berne BE Seeland District 243 Schüpfen 311 47.0358 7.3733 4 +CH 3225 Müntschemier Canton de Berne BE Seeland District 243 Müntschemier 498 46.9949 7.1464 4 +CH 3226 Treiten Canton de Berne BE Seeland District 243 Treiten 500 47.0062 7.1656 4 +CH 3232 Ins Canton de Berne BE Seeland District 243 Ins 496 47.0025 7.1093 4 +CH 3233 Tschugg Canton de Berne BE Seeland District 243 Tschugg 501 47.0239 7.0779 4 +CH 3234 Vinelz Canton de Berne BE Seeland District 243 Vinelz 502 47.0326 7.1188 4 +CH 3235 Erlach Canton de Berne BE Seeland District 243 Erlach 492 47.0468 7.104 4 +CH 3236 Gampelen Canton de Berne BE Seeland District 243 Gampelen 495 46.9964 7.0593 4 +CH 3237 Brüttelen Canton de Berne BE Seeland District 243 Brüttelen 491 47.024 7.1512 4 +CH 3238 Gals Canton de Berne BE Seeland District 243 Gals 494 47.0339 7.0563 4 +CH 3250 Lyss Canton de Berne BE Seeland District 243 Lyss 306 47.0763 7.3152 4 +CH 3251 Wengi b. Büren Canton de Berne BE Seeland District 243 Wengi 394 47.0861 7.3954 3 +CH 3251 Ruppoldsried Canton de Berne BE Seeland District 243 Rapperswil (BE) 310 47.0904 7.4271 4 +CH 3252 Worben Canton de Berne BE Seeland District 243 Worben 755 47.0991 7.2968 4 +CH 3255 Rapperswil BE Canton de Berne BE Seeland District 243 Rapperswil (BE) 310 47.0662 7.4111 4 +CH 3256 Seewil Canton de Berne BE Seeland District 243 Rapperswil (BE) 310 47.0463 7.4108 4 +CH 3256 Dieterswil Canton de Berne BE Seeland District 243 Rapperswil (BE) 310 47.0503 7.4305 4 +CH 3256 Bangerten b. Dieterswil Canton de Berne BE Seeland District 243 Rapperswil (BE) 310 47.0563 7.447 3 +CH 3257 Grossaffoltern Canton de Berne BE Seeland District 243 Grossaffoltern 303 47.0711 7.3652 4 +CH 3257 Ammerzwil BE Canton de Berne BE Seeland District 243 Grossaffoltern 303 47.0736 7.3425 4 +CH 3262 Suberg Canton de Berne BE Seeland District 243 Grossaffoltern 303 47.0559 7.3389 4 +CH 3263 Büetigen Canton de Berne BE Seeland District 243 Büetigen 382 47.106 7.338 4 +CH 3264 Diessbach b. Büren Canton de Berne BE Seeland District 243 Diessbach bei Büren 385 47.1044 7.3639 4 +CH 3266 Wiler b. Seedorf Canton de Berne BE Seeland District 243 Seedorf (BE) 312 47.0494 7.3209 4 +CH 3267 Seedorf BE Canton de Berne BE Seeland District 243 Seedorf (BE) 312 47.0265 7.3231 4 +CH 3268 Lobsigen Canton de Berne BE Seeland District 243 Seedorf (BE) 312 47.0187 7.2998 4 +CH 3270 Aarberg Canton de Berne BE Seeland District 243 Aarberg 301 47.0461 7.2829 4 +CH 3271 Radelfingen b. Aarberg Canton de Berne BE Seeland District 243 Radelfingen 309 47.0186 7.2729 4 +CH 3272 Walperswil Canton de Berne BE Seeland District 243 Walperswil 754 47.0522 7.2238 4 +CH 3272 Epsach Canton de Berne BE Seeland District 243 Epsach 735 47.0704 7.2201 4 +CH 3273 Kappelen Canton de Berne BE Seeland District 243 Kappelen 305 47.0713 7.2744 4 +CH 3274 Merzligen Canton de Berne BE Seeland District 243 Merzligen 741 47.0873 7.2537 4 +CH 3274 Hermrigen Canton de Berne BE Seeland District 243 Hermrigen 737 47.0814 7.2408 4 +CH 3274 Bühl b. Aarberg Canton de Berne BE Seeland District 243 Bühl 734 47.067 7.2465 4 +CH 3282 Bargen BE Canton de Berne BE Seeland District 243 Bargen (BE) 302 47.0362 7.2449 4 +CH 3283 Kallnach Canton de Berne BE Seeland District 243 Kallnach 304 47.0166 7.2168 4 +CH 3283 Niederried b. Kallnach Canton de Berne BE Seeland District 243 Kallnach 304 47.0063 7.2314 4 +CH 3292 Busswil BE Canton de Berne BE Seeland District 243 Lyss 306 47.0995 7.3211 4 +CH 3293 Dotzigen Canton de Berne BE Seeland District 243 Dotzigen 386 47.1242 7.3479 4 +CH 3294 Meienried Canton de Berne BE Seeland District 243 Meienried 389 47.1372 7.3417 4 +CH 3294 Büren an der Aare Canton de Berne BE Seeland District 243 Büren an der Aare 383 47.1417 7.3701 4 +CH 3295 Rüti b. Büren Canton de Berne BE Seeland District 243 Rüti bei Büren 393 47.1513 7.4113 1 +CH 3296 Arch Canton de Berne BE Seeland District 243 Arch 381 47.1656 7.4342 4 +CH 3297 Leuzigen Canton de Berne BE Seeland District 243 Leuzigen 388 47.1709 7.4666 4 +CH 3298 Oberwil b. Büren Canton de Berne BE Seeland District 243 Oberwil bei Büren 391 47.1307 7.4114 1 +CH 3360 Herzogenbuchsee Canton de Berne BE Oberaargau 244 Herzogenbuchsee 979 47.1946 7.7138 4 +CH 3362 Niederönz Canton de Berne BE Oberaargau 244 Niederönz 982 47.1861 7.684 4 +CH 3363 Oberönz Canton de Berne BE Oberaargau 244 Herzogenbuchsee 979 47.1739 7.6887 4 +CH 3365 Seeberg Canton de Berne BE Oberaargau 244 Seeberg 988 47.159 7.6643 4 +CH 3365 Grasswil Canton de Berne BE Oberaargau 244 Seeberg 988 47.1408 7.669 4 +CH 3366 Bettenhausen Canton de Berne BE Oberaargau 244 Bettenhausen 973 47.1743 7.7128 4 +CH 3366 Bollodingen Canton de Berne BE Oberaargau 244 Bettenhausen 973 47.1659 7.7047 4 +CH 3367 Ochlenberg Canton de Berne BE Oberaargau 244 Ochlenberg 985 47.1535 7.7421 4 +CH 3367 Thörigen Canton de Berne BE Oberaargau 244 Thörigen 989 47.173 7.7307 4 +CH 3368 Bleienbach Canton de Berne BE Oberaargau 244 Bleienbach 324 47.1822 7.7569 4 +CH 3372 Wanzwil Canton de Berne BE Oberaargau 244 Heimenhausen 977 47.199 7.6916 4 +CH 3373 Röthenbach Herzogenbuchsee Canton de Berne BE Oberaargau 244 Heimenhausen 977 47.2067 7.6833 4 +CH 3373 Heimenhausen Canton de Berne BE Oberaargau 244 Heimenhausen 977 47.2137 7.6969 4 +CH 3374 Wangenried Canton de Berne BE Oberaargau 244 Wangenried 993 47.2177 7.659 4 +CH 3375 Inkwil Canton de Berne BE Oberaargau 244 Inkwil 980 47.2035 7.6665 4 +CH 3376 Berken Canton de Berne BE Oberaargau 244 Berken 972 47.2256 7.7055 4 +CH 3376 Graben Canton de Berne BE Oberaargau 244 Graben 976 47.2183 7.7205 4 +CH 3377 Walliswil b. Wangen Canton de Berne BE Oberaargau 244 Walliswil bei Wangen 991 47.2271 7.6835 4 +CH 3380 Wangen an der Aare Canton de Berne BE Oberaargau 244 Wangen an der Aare 992 47.2315 7.6515 4 +CH 3380 Walliswil b. Niederbipp Canton de Berne BE Oberaargau 244 Walliswil bei Niederbipp 990 47.2362 7.6953 3 +CH 3464 Schmidigen-Mühleweg Canton de Berne BE Oberaargau 244 Walterswil (BE) 959 47.0939 7.7377 4 +CH 3475 Hermiswil Canton de Berne BE Oberaargau 244 Seeberg 988 47.1558 7.6998 4 +CH 3475 Riedtwil Canton de Berne BE Oberaargau 244 Seeberg 988 47.1411 7.6927 4 +CH 3476 Oschwand Canton de Berne BE Oberaargau 244 Ochlenberg 985 47.137 7.7217 4 +CH 4536 Attiswil Canton de Berne BE Oberaargau 244 Attiswil 971 47.2527 7.611 4 +CH 4537 Wiedlisbach Canton de Berne BE Oberaargau 244 Wiedlisbach 995 47.2459 7.6517 4 +CH 4538 Oberbipp Canton de Berne BE Oberaargau 244 Oberbipp 983 47.254 7.6776 4 +CH 4539 Rumisberg Canton de Berne BE Oberaargau 244 Rumisberg 987 47.2716 7.6346 4 +CH 4539 Farnern Canton de Berne BE Oberaargau 244 Farnern 975 47.2705 7.6104 4 +CH 4704 Niederbipp Canton de Berne BE Oberaargau 244 Niederbipp 981 47.2662 7.7037 4 +CH 4704 Wolfisberg Canton de Berne BE Oberaargau 244 Niederbipp 981 47.2771 7.6586 4 +CH 4900 Langenthal Canton de Berne BE Oberaargau 244 Langenthal 329 47.2158 7.7946 4 +CH 4901 Langenthal Canton de Berne BE Oberaargau 244 Langenthal 329 47.2153 7.7961 +CH 4911 Schwarzhäusern Canton de Berne BE Oberaargau 244 Schwarzhäusern 341 47.2557 7.7669 4 +CH 4912 Aarwangen Canton de Berne BE Oberaargau 244 Aarwangen 321 47.2357 7.7643 4 +CH 4913 Bannwil Canton de Berne BE Oberaargau 244 Bannwil 323 47.2385 7.7303 4 +CH 4914 Roggwil BE Canton de Berne BE Oberaargau 244 Roggwil (BE) 337 47.2366 7.8185 4 +CH 4916 Untersteckholz Canton de Berne BE Oberaargau 244 Langenthal 329 47.2069 7.844 4 +CH 4917 Melchnau Canton de Berne BE Oberaargau 244 Melchnau 333 47.1771 7.856 4 +CH 4917 Busswil b. Melchnau Canton de Berne BE Oberaargau 244 Busswil bei Melchnau 325 47.1876 7.8295 3 +CH 4919 Reisiswil Canton de Berne BE Oberaargau 244 Reisiswil 336 47.1613 7.8424 4 +CH 4922 Thunstetten Canton de Berne BE Oberaargau 244 Thunstetten 342 47.1991 7.7478 4 +CH 4922 Bützberg Canton de Berne BE Oberaargau 244 Thunstetten 342 47.215 7.7442 4 +CH 4923 Wynau Canton de Berne BE Oberaargau 244 Wynau 345 47.256 7.8048 4 +CH 4924 Obersteckholz Canton de Berne BE Oberaargau 244 Langenthal 329 47.2019 7.8254 4 +CH 4932 Lotzwil Canton de Berne BE Oberaargau 244 Lotzwil 331 47.1902 7.7922 4 +CH 4932 Gutenburg Canton de Berne BE Oberaargau 244 Madiswil 332 47.1822 7.7998 4 +CH 4933 Rütschelen Canton de Berne BE Oberaargau 244 Rütschelen 340 47.1712 7.7709 4 +CH 4934 Madiswil Canton de Berne BE Oberaargau 244 Madiswil 332 47.1618 7.8111 4 +CH 4935 Leimiswil Canton de Berne BE Oberaargau 244 Madiswil 332 47.1489 7.7657 4 +CH 4936 Kleindietwil Canton de Berne BE Oberaargau 244 Madiswil 332 47.1423 7.791 4 +CH 4937 Ursenbach Canton de Berne BE Oberaargau 244 Ursenbach 344 47.13 7.7644 4 +CH 4938 Rohrbach Canton de Berne BE Oberaargau 244 Rohrbach 338 47.1331 7.811 4 +CH 4938 Rohrbachgraben Canton de Berne BE Oberaargau 244 Rohrbachgraben 339 47.113 7.803 4 +CH 4942 Walterswil BE Canton de Berne BE Oberaargau 244 Walterswil (BE) 959 47.1064 7.7747 4 +CH 4943 Oeschenbach Canton de Berne BE Oberaargau 244 Oeschenbach 335 47.1105 7.7463 4 +CH 4944 Auswil Canton de Berne BE Oberaargau 244 Auswil 322 47.1358 7.8383 4 +CH 4950 Huttwil Canton de Berne BE Oberaargau 244 Huttwil 954 47.1098 7.8546 4 +CH 4952 Eriswil Canton de Berne BE Oberaargau 244 Eriswil 953 47.0707 7.8587 4 +CH 4953 Schwarzenbach (Huttwil) Canton de Berne BE Oberaargau 244 Huttwil 954 47.1023 7.826 4 +CH 4954 Wyssachen Canton de Berne BE Oberaargau 244 Wyssachen 960 47.0732 7.8216 4 +CH 4955 Gondiswil Canton de Berne BE Oberaargau 244 Gondiswil 326 47.1434 7.8683 4 +CH 3309 Kernenried Canton de Berne BE Emmental District 245 Kernenried 411 47.0663 7.5498 4 +CH 3315 Kräiligen Canton de Berne BE Emmental District 245 Bätterkinden 533 47.1506 7.5358 4 +CH 3315 Bätterkinden Canton de Berne BE Emmental District 245 Bätterkinden 533 47.1283 7.5262 4 +CH 3324 Hindelbank Canton de Berne BE Emmental District 245 Hindelbank 409 47.0418 7.5432 4 +CH 3324 Mötschwil Canton de Berne BE Emmental District 245 Hindelbank 409 47.0459 7.569 4 +CH 3325 Hettiswil b. Hindelbank Canton de Berne BE Emmental District 245 Krauchthal 414 47.0267 7.5569 1 +CH 3326 Krauchthal Canton de Berne BE Emmental District 245 Krauchthal 414 47.0041 7.5641 4 +CH 3400 Burgdorf Canton de Berne BE Emmental District 245 Burgdorf 404 47.0561 7.6184 4 +CH 3401 Burgdorf Canton de Berne BE Emmental District 245 Burgdorf 404 47.059 7.6279 +CH 3412 Heimiswil Canton de Berne BE Emmental District 245 Heimiswil 407 47.0515 7.6611 4 +CH 3413 Kaltacker Canton de Berne BE Emmental District 245 Heimiswil 407 47.0751 7.6744 4 +CH 3414 Oberburg Canton de Berne BE Emmental District 245 Oberburg 418 47.0202 7.6085 4 +CH 3415 Schafhausen im Emmental Canton de Berne BE Emmental District 245 Hasle bei Burgdorf 406 46.9912 7.6463 3 +CH 3415 Rüegsauschachen Canton de Berne BE Emmental District 245 Rüegsau 956 47.0225 7.6568 4 +CH 3415 Hasle-Rüegsau Canton de Berne BE Emmental District 245 Hasle bei Burgdorf 406 46.9983 7.6431 6 +CH 3415 Hasle b. Burgdorf Canton de Berne BE Emmental District 245 Hasle bei Burgdorf 406 47.0124 7.6442 4 +CH 3416 Affoltern im Emmental Canton de Berne BE Emmental District 245 Affoltern im Emmental 951 47.0688 7.7255 4 +CH 3417 Rüegsau Canton de Berne BE Emmental District 245 Rüegsau 956 47.0275 7.6773 4 +CH 3418 Rüegsbach Canton de Berne BE Emmental District 245 Rüegsau 956 47.0468 7.6991 4 +CH 3419 Biembach im Emmental Canton de Berne BE Emmental District 245 Hasle bei Burgdorf 406 46.9938 7.6161 4 +CH 3421 Lyssach Canton de Berne BE Emmental District 245 Lyssach 415 47.0633 7.5812 4 +CH 3421 Lyssach Canton de Berne BE Emmental District 245 Oberburg 418 47.0633 7.5812 4 +CH 3421 Rüti b. Lyssach Canton de Berne BE Emmental District 245 Rüti bei Lyssach 422 47.055 7.5822 3 +CH 3422 Kirchberg BE Canton de Berne BE Emmental District 245 Kirchberg (BE) 412 47.0846 7.6015 4 +CH 3422 Rüdtligen Canton de Berne BE Emmental District 245 Rüdtligen-Alchenflüh 420 47.0855 7.5661 4 +CH 3422 Alchenflüh Canton de Berne BE Emmental District 245 Rüdtligen-Alchenflüh 420 47.0824 7.5774 4 +CH 3423 Ersigen Canton de Berne BE Emmental District 245 Ersigen 405 47.0976 7.6043 4 +CH 3424 Niederösch Canton de Berne BE Emmental District 245 Ersigen 405 47.116 7.6153 4 +CH 3424 Oberösch Canton de Berne BE Emmental District 245 Ersigen 405 47.1071 7.6106 4 +CH 3425 Willadingen Canton de Berne BE Emmental District 245 Willadingen 423 47.147 7.6149 4 +CH 3425 Koppigen Canton de Berne BE Emmental District 245 Koppigen 413 47.1359 7.6027 4 +CH 3426 Aefligen Canton de Berne BE Emmental District 245 Aefligen 401 47.0966 7.5495 4 +CH 3427 Utzenstorf Canton de Berne BE Emmental District 245 Utzenstorf 552 47.124 7.5635 4 +CH 3428 Wiler b. Utzenstorf Canton de Berne BE Emmental District 245 Wiler bei Utzenstorf 554 47.1529 7.5582 4 +CH 3429 Hellsau Canton de Berne BE Emmental District 245 Hellsau 408 47.1437 7.6483 4 +CH 3429 Höchstetten Canton de Berne BE Emmental District 245 Höchstetten 410 47.1437 7.6334 4 +CH 3432 Lützelflüh-Goldbach Canton de Berne BE Emmental District 245 Lützelflüh 955 47.001 7.6821 4 +CH 3433 Schwanden im Emmental Canton de Berne BE Emmental District 245 Rüderswil 905 46.9779 7.695 4 +CH 3435 Ramsei Canton de Berne BE Emmental District 245 Lützelflüh 955 46.9994 7.7121 4 +CH 3436 Zollbrück Canton de Berne BE Emmental District 245 Rüderswil 905 46.9751 7.7663 4 +CH 3437 Rüderswil Canton de Berne BE Emmental District 245 Rüderswil 905 46.9827 7.7167 4 +CH 3438 Lauperswil Canton de Berne BE Emmental District 245 Lauperswil 903 46.9603 7.7268 4 +CH 3439 Ranflüh Canton de Berne BE Emmental District 245 Lützelflüh 955 46.9901 7.7472 4 +CH 3452 Grünenmatt Canton de Berne BE Emmental District 245 Lützelflüh 955 47.0149 7.7247 4 +CH 3453 Heimisbach Canton de Berne BE Emmental District 245 Trachselwald 958 47.0091 7.7838 4 +CH 3454 Sumiswald Canton de Berne BE Emmental District 245 Sumiswald 957 47.0376 7.7502 4 +CH 3455 Grünen Canton de Berne BE Emmental District 245 Sumiswald 957 47.0222 7.7391 4 +CH 3456 Trachselwald Canton de Berne BE Emmental District 245 Trachselwald 958 47.0154 7.7448 4 +CH 3457 Wasen im Emmental Canton de Berne BE Emmental District 245 Sumiswald 957 47.029 7.8386 4 +CH 3462 Weier im Emmental Canton de Berne BE Emmental District 245 Affoltern im Emmental 951 47.0601 7.7616 4 +CH 3463 Häusernmoos im Emmental Canton de Berne BE Emmental District 245 Affoltern im Emmental 951 47.0806 7.7527 4 +CH 3465 Dürrenroth Canton de Berne BE Emmental District 245 Dürrenroth 952 47.0796 7.7867 4 +CH 3472 Rumendingen Canton de Berne BE Emmental District 245 Rumendingen 421 47.1054 7.6432 4 +CH 3472 Wynigen Canton de Berne BE Emmental District 245 Wynigen 424 47.0991 7.6819 4 +CH 3473 Alchenstorf Canton de Berne BE Emmental District 245 Alchenstorf 402 47.1245 7.6437 4 +CH 3474 Rüedisbach Canton de Berne BE Emmental District 245 Wynigen 424 47.1184 7.7028 4 +CH 3534 Signau Canton de Berne BE Emmental District 245 Signau 907 46.9089 7.7339 4 +CH 3535 Schüpbach Canton de Berne BE Emmental District 245 Signau 907 46.9292 7.7483 4 +CH 3536 Aeschau Canton de Berne BE Emmental District 245 Eggiwil 901 46.9041 7.7853 4 +CH 3537 Eggiwil Canton de Berne BE Emmental District 245 Eggiwil 901 46.8613 7.812 4 +CH 3538 Röthenbach im Emmental Canton de Berne BE Emmental District 245 Röthenbach im Emmental 904 46.8574 7.7413 4 +CH 3543 Emmenmatt Canton de Berne BE Emmental District 245 Lauperswil 903 46.9444 7.7269 4 +CH 3550 Langnau im Emmental Canton de Berne BE Emmental District 245 Langnau im Emmental 902 46.9333 7.7854 4 +CH 3551 Oberfrittenbach Canton de Berne BE Emmental District 245 Langnau im Emmental 902 46.9744 7.7959 4 +CH 3552 Bärau Canton de Berne BE Emmental District 245 Langnau im Emmental 902 46.94 7.8265 4 +CH 3553 Gohl Canton de Berne BE Emmental District 245 Langnau im Emmental 902 46.9762 7.826 4 +CH 3555 Trubschachen Canton de Berne BE Emmental District 245 Trubschachen 909 46.9101 7.8523 4 +CH 3556 Trub Canton de Berne BE Emmental District 245 Trub 908 46.9648 7.8769 4 +CH 3557 Fankhaus (Trub) Canton de Berne BE Emmental District 245 Trub 908 46.9824 7.9244 4 +CH 3618 Süderen Canton de Berne BE Emmental District 245 Röthenbach im Emmental 904 46.8198 7.7713 4 +CH 4564 Zielebach Canton de Berne BE Emmental District 245 Zielebach 556 47.158 7.573 4 +CH 6197 Schangnau Canton de Berne BE Emmental District 245 Schangnau 906 46.8106 7.8871 4 +CH 1595 Clavaleyres Canton de Berne BE Bern-Mittelland District 246 Murten 2275 46.8976 7.0917 4 +CH 1738 Sangernboden Canton de Berne BE Bern-Mittelland District 246 Guggisberg 852 46.6993 7.371 4 +CH 1797 Münchenwiler Canton de Berne BE Bern-Mittelland District 246 Münchenwiler 669 46.9111 7.1255 4 +CH 3000 Bern 9 Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3000 Bern 5 Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3000 Bern 31 Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3000 Bern 65 Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3000 Bern 94 Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3000 Bern 13 Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3000 Bern 8 Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3000 Bern 6 Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3000 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9481 7.4474 +CH 3000 Bern 60 UPD Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3000 Bern 14 Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3000 Bern 22 Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3000 Bern 65 SBB Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3000 Bern 16 Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3000 Bern 15 Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3001 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9481 7.4474 +CH 3002 Bern PostFinance Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3003 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9481 7.4474 +CH 3004 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9753 7.45 4 +CH 3005 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9398 7.4502 4 +CH 3006 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9462 7.4707 4 +CH 3007 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9385 7.4339 4 +CH 3008 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.944 7.4156 4 +CH 3010 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.947 7.4237 4 +CH 3011 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9477 7.4458 4 +CH 3011 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9477 7.4458 4 +CH 3012 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9608 7.4262 4 +CH 3013 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9547 7.4507 4 +CH 3014 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9635 7.4591 4 +CH 3015 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9397 7.4841 4 +CH 3018 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9364 7.3906 4 +CH 3019 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.932 7.348 4 +CH 3020 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9369 7.3243 4 +CH 3024 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9481 7.4474 +CH 3027 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9528 7.3844 4 +CH 3029 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9481 7.4474 +CH 3030 Bern Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9481 7.4474 +CH 3032 Hinterkappelen Canton de Berne BE Bern-Mittelland District 246 Wohlen bei Bern 360 46.9673 7.3816 4 +CH 3033 Wohlen b. Bern Canton de Berne BE Bern-Mittelland District 246 Wohlen bei Bern 360 46.974 7.3512 1 +CH 3034 Murzelen Canton de Berne BE Bern-Mittelland District 246 Wohlen bei Bern 360 46.9765 7.3104 4 +CH 3037 Herrenschwanden Canton de Berne BE Bern-Mittelland District 246 Kirchlindach 354 46.9761 7.4179 4 +CH 3038 Kirchlindach Canton de Berne BE Bern-Mittelland District 246 Kirchlindach 354 47.0016 7.4155 4 +CH 3039 Bern PF OC Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3039 Bern PF Operations Center Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3040 Bern Verarb.zentr. Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3040 Bern Verarbeitungszentrum Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3041 Bern UBS Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3042 Ortschwaben Canton de Berne BE Bern-Mittelland District 246 Meikirch 307 46.9923 7.3992 4 +CH 3043 Uettligen Canton de Berne BE Bern-Mittelland District 246 Wohlen bei Bern 360 46.9864 7.3809 4 +CH 3044 Innerberg Canton de Berne BE Bern-Mittelland District 246 Wohlen bei Bern 360 46.9959 7.3122 4 +CH 3045 Meikirch Canton de Berne BE Bern-Mittelland District 246 Meikirch 307 47.0093 7.3723 4 +CH 3046 Wahlendorf Canton de Berne BE Bern-Mittelland District 246 Meikirch 307 47.0081 7.3342 4 +CH 3047 Bremgarten b. Bern Canton de Berne BE Bern-Mittelland District 246 Bremgarten bei Bern 353 46.9781 7.4355 4 +CH 3048 Worblaufen Canton de Berne BE Bern-Mittelland District 246 Ittigen 362 46.9796 7.4643 4 +CH 3049 Säriswil Canton de Berne BE Bern-Mittelland District 246 Wohlen bei Bern 360 46.9935 7.3363 4 +CH 3050 Bern Swisscom Canton de Berne BE Bern-Mittelland District 246 Bern 351 46.9476 7.4065 +CH 3052 Zollikofen Canton de Berne BE Bern-Mittelland District 246 Zollikofen 361 46.9959 7.4548 4 +CH 3053 Diemerswil Canton de Berne BE Bern-Mittelland District 246 Diemerswil 536 47.0201 7.4205 4 +CH 3053 Münchenbuchsee Canton de Berne BE Bern-Mittelland District 246 Münchenbuchsee 546 47.0208 7.445 4 +CH 3053 Wiggiswil Canton de Berne BE Bern-Mittelland District 246 Wiggiswil 553 47.0313 7.4711 4 +CH 3053 Deisswil b. Münchenbuchsee Canton de Berne BE Bern-Mittelland District 246 Deisswil bei Münchenbuchsee 535 47.0372 7.4533 3 +CH 3063 Ittigen Canton de Berne BE Bern-Mittelland District 246 Ittigen 362 46.9803 7.4782 4 +CH 3065 Bolligen Canton de Berne BE Bern-Mittelland District 246 Bolligen 352 46.9858 7.5077 4 +CH 3066 Stettlen Canton de Berne BE Bern-Mittelland District 246 Stettlen 358 46.9634 7.5286 4 +CH 3067 Boll Canton de Berne BE Bern-Mittelland District 246 Vechigen 359 46.9613 7.5519 4 +CH 3068 Utzigen Canton de Berne BE Bern-Mittelland District 246 Vechigen 359 46.9667 7.5823 4 +CH 3071 Ostermundigen KATA Canton de Berne BE Bern-Mittelland District 246 Ostermundigen 363 46.9559 7.4956 +CH 3072 Ostermundigen 1 Canton de Berne BE Bern-Mittelland District 246 Ostermundigen 363 46.9559 7.4956 +CH 3072 Ostermundigen Canton de Berne BE Bern-Mittelland District 246 Ostermundigen 363 46.9564 7.4939 4 +CH 3073 Gümligen Canton de Berne BE Bern-Mittelland District 246 Muri bei Bern 356 46.9356 7.5081 4 +CH 3074 Muri b. Bern Canton de Berne BE Bern-Mittelland District 246 Muri bei Bern 356 46.928 7.4885 4 +CH 3075 Vielbringen b. Worb Canton de Berne BE Bern-Mittelland District 246 Worb 627 46.9169 7.543 3 +CH 3075 Rüfenacht BE Canton de Berne BE Bern-Mittelland District 246 Worb 627 46.928 7.5368 4 +CH 3076 Worb Canton de Berne BE Bern-Mittelland District 246 Worb 627 46.9336 7.5618 4 +CH 3077 Enggistein Canton de Berne BE Bern-Mittelland District 246 Worb 627 46.9296 7.6004 4 +CH 3078 Richigen Canton de Berne BE Bern-Mittelland District 246 Worb 627 46.9171 7.585 4 +CH 3082 Schlosswil Canton de Berne BE Bern-Mittelland District 246 Grosshöchstetten 608 46.9113 7.6112 4 +CH 3083 Trimstein Canton de Berne BE Bern-Mittelland District 246 Münsingen 616 46.9029 7.5769 4 +CH 3084 Wabern Canton de Berne BE Bern-Mittelland District 246 Köniz 355 46.923 7.453 4 +CH 3085 Wabern Weihnachten Canton de Berne BE Bern-Mittelland District 246 Köniz 355 46.9043 7.3978 +CH 3085 Wabern 2 x Weihnachten Canton de Berne BE Bern-Mittelland District 246 Köniz 355 46.9043 7.3978 +CH 3086 Englisberg Canton de Berne BE Bern-Mittelland District 246 Wald (BE) 888 46.8955 7.4635 4 +CH 3086 Zimmerwald Canton de Berne BE Bern-Mittelland District 246 Wald (BE) 888 46.8801 7.4616 4 +CH 3087 Niedermuhlern Canton de Berne BE Bern-Mittelland District 246 Niedermuhlern 877 46.8587 7.4579 4 +CH 3088 Rüeggisberg Canton de Berne BE Bern-Mittelland District 246 Rüeggisberg 880 46.8241 7.4383 4 +CH 3088 Oberbütschel Canton de Berne BE Bern-Mittelland District 246 Rüeggisberg 880 46.8409 7.4534 4 +CH 3089 Hinterfultigen Canton de Berne BE Bern-Mittelland District 246 Rüeggisberg 880 46.8391 7.4052 4 +CH 3095 Spiegel b. Bern Canton de Berne BE Bern-Mittelland District 246 Köniz 355 46.9247 7.4342 4 +CH 3096 Oberbalm Canton de Berne BE Bern-Mittelland District 246 Oberbalm 357 46.8655 7.4093 4 +CH 3097 Liebefeld Canton de Berne BE Bern-Mittelland District 246 Köniz 355 46.9304 7.4192 4 +CH 3098 Schliern b. Köniz Canton de Berne BE Bern-Mittelland District 246 Köniz 355 46.907 7.4219 3 +CH 3098 Köniz Canton de Berne BE Bern-Mittelland District 246 Köniz 355 46.916 7.4181 4 +CH 3099 Rüti b. Riggisberg Canton de Berne BE Bern-Mittelland District 246 Riggisberg 879 46.7631 7.4568 1 +CH 3110 Münsingen Canton de Berne BE Bern-Mittelland District 246 Münsingen 616 46.8761 7.5607 4 +CH 3111 Tägertschi Canton de Berne BE Bern-Mittelland District 246 Münsingen 616 46.8726 7.5869 4 +CH 3112 Allmendingen b. Bern Canton de Berne BE Bern-Mittelland District 246 Allmendingen 630 46.9167 7.5211 4 +CH 3113 Rubigen Canton de Berne BE Bern-Mittelland District 246 Rubigen 623 46.8997 7.545 4 +CH 3114 Wichtrach Canton de Berne BE Bern-Mittelland District 246 Wichtrach 632 46.8451 7.5789 4 +CH 3115 Gerzensee Canton de Berne BE Bern-Mittelland District 246 Gerzensee 866 46.8463 7.5418 4 +CH 3116 Noflen BE Canton de Berne BE Bern-Mittelland District 246 Kirchdorf 872 46.8027 7.5449 4 +CH 3116 Kirchdorf BE Canton de Berne BE Bern-Mittelland District 246 Kirchdorf 872 46.8172 7.5453 4 +CH 3116 Mühledorf BE Canton de Berne BE Bern-Mittelland District 246 Kirchdorf 872 46.8275 7.5303 4 +CH 3122 Kehrsatz Canton de Berne BE Bern-Mittelland District 246 Kehrsatz 870 46.9114 7.472 4 +CH 3123 Belp Canton de Berne BE Bern-Mittelland District 246 Belp 861 46.8933 7.5077 4 +CH 3124 Belpberg Canton de Berne BE Bern-Mittelland District 246 Belp 861 46.8669 7.5211 4 +CH 3125 Toffen Canton de Berne BE Bern-Mittelland District 246 Toffen 884 46.8593 7.4935 4 +CH 3126 Kaufdorf Canton de Berne BE Bern-Mittelland District 246 Kaufdorf 869 46.8397 7.4965 4 +CH 3126 Gelterfingen Canton de Berne BE Bern-Mittelland District 246 Kirchdorf 872 46.8436 7.516 4 +CH 3127 Lohnstorf Canton de Berne BE Bern-Mittelland District 246 Thurnen 889 46.8066 7.5131 4 +CH 3127 Mühlethurnen Canton de Berne BE Bern-Mittelland District 246 Thurnen 889 46.8159 7.5103 4 +CH 3128 Kirchenthurnen Canton de Berne BE Bern-Mittelland District 246 Thurnen 889 46.8243 7.5058 4 +CH 3128 Rümligen Canton de Berne BE Bern-Mittelland District 246 Riggisberg 879 46.8287 7.4934 4 +CH 3132 Riggisberg Canton de Berne BE Bern-Mittelland District 246 Riggisberg 879 46.8098 7.4675 4 +CH 3144 Gasel Canton de Berne BE Bern-Mittelland District 246 Köniz 355 46.8971 7.4099 4 +CH 3145 Niederscherli Canton de Berne BE Bern-Mittelland District 246 Köniz 355 46.8857 7.394 4 +CH 3147 Mittelhäusern Canton de Berne BE Bern-Mittelland District 246 Köniz 355 46.8724 7.3699 4 +CH 3148 Lanzenhäusern Canton de Berne BE Bern-Mittelland District 246 Schwarzenburg 855 46.8466 7.3629 4 +CH 3150 Schwarzenburg Canton de Berne BE Bern-Mittelland District 246 Schwarzenburg 855 46.811 7.3335 4 +CH 3152 Mamishaus Canton de Berne BE Bern-Mittelland District 246 Schwarzenburg 855 46.8152 7.3801 4 +CH 3153 Rüschegg Gambach Canton de Berne BE Bern-Mittelland District 246 Rüschegg 853 46.7726 7.3774 4 +CH 3154 Rüschegg Heubach Canton de Berne BE Bern-Mittelland District 246 Rüschegg 853 46.7682 7.4174 4 +CH 3155 Helgisried-Rohrbach Canton de Berne BE Bern-Mittelland District 246 Rüeggisberg 880 46.8109 7.4184 4 +CH 3156 Riffenmatt Canton de Berne BE Bern-Mittelland District 246 Guggisberg 852 46.7507 7.3621 4 +CH 3157 Milken Canton de Berne BE Bern-Mittelland District 246 Schwarzenburg 855 46.794 7.3617 4 +CH 3158 Guggisberg Canton de Berne BE Bern-Mittelland District 246 Guggisberg 852 46.7591 7.3182 4 +CH 3159 Riedstätt Canton de Berne BE Bern-Mittelland District 246 Guggisberg 852 46.7841 7.3218 4 +CH 3172 Niederwangen b. Bern Canton de Berne BE Bern-Mittelland District 246 Köniz 355 46.9213 7.3786 1 +CH 3173 Oberwangen b. Bern Canton de Berne BE Bern-Mittelland District 246 Köniz 355 46.9136 7.3568 1 +CH 3174 Thörishaus Canton de Berne BE Bern-Mittelland District 246 Köniz 355 46.8967 7.35 4 +CH 3176 Neuenegg Canton de Berne BE Bern-Mittelland District 246 Neuenegg 670 46.9065 7.2997 4 +CH 3177 Laupen BE Canton de Berne BE Bern-Mittelland District 246 Laupen 667 46.9105 7.2433 4 +CH 3179 Kriechenwil Canton de Berne BE Bern-Mittelland District 246 Kriechenwil 666 46.9112 7.2159 4 +CH 3183 Albligen Canton de Berne BE Bern-Mittelland District 246 Schwarzenburg 855 46.8486 7.3229 4 +CH 3202 Frauenkappelen Canton de Berne BE Bern-Mittelland District 246 Frauenkappelen 663 46.9556 7.3319 4 +CH 3203 Mühleberg Canton de Berne BE Bern-Mittelland District 246 Mühleberg 668 46.9618 7.2718 4 +CH 3204 Rosshäusern Canton de Berne BE Bern-Mittelland District 246 Mühleberg 668 46.9313 7.2759 4 +CH 3205 Gümmenen Canton de Berne BE Bern-Mittelland District 246 Mühleberg 668 46.9431 7.2526 4 +CH 3206 Ferenbalm Canton de Berne BE Bern-Mittelland District 246 Ferenbalm 662 46.9551 7.2148 4 +CH 3206 Gammen Canton de Berne BE Bern-Mittelland District 246 Ferenbalm 662 46.9215 7.2264 4 +CH 3206 Biberen Canton de Berne BE Bern-Mittelland District 246 Ferenbalm 662 46.9375 7.2128 4 +CH 3206 Rizenbach Canton de Berne BE Bern-Mittelland District 246 Ferenbalm 662 46.9489 7.2259 4 +CH 3207 Wileroltigen Canton de Berne BE Bern-Mittelland District 246 Wileroltigen 671 46.9709 7.238 4 +CH 3207 Golaten Canton de Berne BE Bern-Mittelland District 246 Kallnach 304 46.9867 7.2393 4 +CH 3208 Gurbrü Canton de Berne BE Bern-Mittelland District 246 Gurbrü 665 46.9654 7.2145 4 +CH 3302 Moosseedorf Canton de Berne BE Bern-Mittelland District 246 Moosseedorf 544 47.0101 7.4845 4 +CH 3303 Jegenstorf Canton de Berne BE Bern-Mittelland District 246 Jegenstorf 540 47.0522 7.5036 4 +CH 3303 Münchringen Canton de Berne BE Bern-Mittelland District 246 Jegenstorf 540 47.0484 7.5249 4 +CH 3303 Zuzwil BE Canton de Berne BE Bern-Mittelland District 246 Zuzwil (BE) 557 47.0498 7.4673 4 +CH 3303 Ballmoos Canton de Berne BE Bern-Mittelland District 246 Jegenstorf 540 47.0409 7.4753 4 +CH 3305 Iffwil Canton de Berne BE Bern-Mittelland District 246 Iffwil 541 47.0651 7.4771 4 +CH 3305 Scheunen Canton de Berne BE Bern-Mittelland District 246 Jegenstorf 540 47.0705 7.4549 4 +CH 3306 Etzelkofen Canton de Berne BE Bern-Mittelland District 246 Fraubrunnen 538 47.0835 7.4806 4 +CH 3308 Grafenried Canton de Berne BE Bern-Mittelland District 246 Fraubrunnen 538 47.0784 7.5055 4 +CH 3309 Zauggenried Canton de Berne BE Bern-Mittelland District 246 Fraubrunnen 538 47.0709 7.5322 4 +CH 3312 Fraubrunnen Canton de Berne BE Bern-Mittelland District 246 Fraubrunnen 538 47.0879 7.5386 4 +CH 3313 Büren zum Hof Canton de Berne BE Bern-Mittelland District 246 Fraubrunnen 538 47.0972 7.5116 4 +CH 3314 Schalunen Canton de Berne BE Bern-Mittelland District 246 Fraubrunnen 538 47.1102 7.5257 4 +CH 3317 Limpach Canton de Berne BE Bern-Mittelland District 246 Fraubrunnen 538 47.1102 7.4987 4 +CH 3317 Mülchi Canton de Berne BE Bern-Mittelland District 246 Fraubrunnen 538 47.1013 7.4761 4 +CH 3321 Schönbühl Einkaufszentrum Canton de Berne BE Bern-Mittelland District 246 Moosseedorf 544 47.0168 7.4839 +CH 3321 Schönbühl EKZ Canton de Berne BE Bern-Mittelland District 246 Moosseedorf 544 47.0168 7.4839 +CH 3322 Urtenen-Schönbühl Canton de Berne BE Bern-Mittelland District 246 Urtenen-Schönbühl 551 47.0216 7.4996 4 +CH 3322 Mattstetten Canton de Berne BE Bern-Mittelland District 246 Mattstetten 543 47.0232 7.5205 4 +CH 3323 Bäriswil BE Canton de Berne BE Bern-Mittelland District 246 Bäriswil 403 47.0169 7.532 4 +CH 3434 Landiswil Canton de Berne BE Bern-Mittelland District 246 Landiswil 613 46.9541 7.6886 4 +CH 3434 Obergoldbach Canton de Berne BE Bern-Mittelland District 246 Landiswil 613 46.9585 7.664 4 +CH 3503 Gysenstein Canton de Berne BE Bern-Mittelland District 246 Konolfingen 612 46.8935 7.5955 4 +CH 3504 Oberhünigen Canton de Berne BE Bern-Mittelland District 246 Oberhünigen 629 46.8733 7.6693 4 +CH 3504 Niederhünigen Canton de Berne BE Bern-Mittelland District 246 Niederhünigen 617 46.8711 7.6465 4 +CH 3506 Grosshöchstetten Canton de Berne BE Bern-Mittelland District 246 Grosshöchstetten 608 46.9068 7.6354 4 +CH 3507 Biglen Canton de Berne BE Bern-Mittelland District 246 Biglen 603 46.9286 7.6288 4 +CH 3508 Arni BE Canton de Berne BE Bern-Mittelland District 246 Arni (BE) 602 46.9349 7.6601 4 +CH 3510 Häutligen Canton de Berne BE Bern-Mittelland District 246 Häutligen 609 46.8576 7.6047 4 +CH 3510 Konolfingen Canton de Berne BE Bern-Mittelland District 246 Konolfingen 612 46.8813 7.6179 4 +CH 3510 Freimettigen Canton de Berne BE Bern-Mittelland District 246 Freimettigen 607 46.8634 7.6325 4 +CH 3512 Walkringen Canton de Berne BE Bern-Mittelland District 246 Walkringen 626 46.9491 7.6199 4 +CH 3513 Bigenthal Canton de Berne BE Bern-Mittelland District 246 Walkringen 626 46.9721 7.6345 4 +CH 3531 Oberthal Canton de Berne BE Bern-Mittelland District 246 Oberthal 620 46.9187 7.6835 4 +CH 3532 Zäziwil Canton de Berne BE Bern-Mittelland District 246 Zäziwil 628 46.8956 7.6676 4 +CH 3532 Mirchel Canton de Berne BE Bern-Mittelland District 246 Mirchel 615 46.8915 7.6503 4 +CH 3533 Bowil Canton de Berne BE Bern-Mittelland District 246 Bowil 605 46.8891 7.7009 4 +CH 3629 Kiesen Canton de Berne BE Bern-Mittelland District 246 Kiesen 611 46.8124 7.5794 4 +CH 3629 Jaberg Canton de Berne BE Bern-Mittelland District 246 Jaberg 868 46.8202 7.5657 4 +CH 3629 Oppligen Canton de Berne BE Bern-Mittelland District 246 Oppligen 622 46.8172 7.5966 4 +CH 3671 Herbligen Canton de Berne BE Bern-Mittelland District 246 Herbligen 610 46.8271 7.611 4 +CH 3671 Brenzikofen Canton de Berne BE Bern-Mittelland District 246 Brenzikofen 606 46.8148 7.6165 4 +CH 3672 Oberdiessbach Canton de Berne BE Bern-Mittelland District 246 Oberdiessbach 619 46.8426 7.6273 4 +CH 3672 Aeschlen b. Oberdiessbach Canton de Berne BE Bern-Mittelland District 246 Oberdiessbach 619 46.8329 7.652 3 +CH 3673 Linden Canton de Berne BE Bern-Mittelland District 246 Linden 614 46.8497 7.6867 4 +CH 3674 Bleiken b. Oberdiessbach Canton de Berne BE Bern-Mittelland District 246 Oberdiessbach 619 46.8168 7.6401 1 +CH 3600 Thun Canton de Berne BE Thun District 247 Thun 942 46.7554 7.6234 4 +CH 3602 Thun Canton de Berne BE Thun District 247 Thun 942 46.7512 7.6217 +CH 3603 Thun Canton de Berne BE Thun District 247 Thun 942 46.7624 7.5991 4 +CH 3604 Thun Canton de Berne BE Thun District 247 Thun 942 46.7403 7.6201 4 +CH 3607 Thun Canton de Berne BE Thun District 247 Thun 942 46.7512 7.6217 +CH 3608 Thun Canton de Berne BE Thun District 247 Thun 942 46.7387 7.5974 4 +CH 3609 Thun Canton de Berne BE Thun District 247 Thun 942 46.7512 7.6217 +CH 3612 Steffisburg Canton de Berne BE Thun District 247 Steffisburg 939 46.7825 7.6336 4 +CH 3613 Steffisburg Canton de Berne BE Thun District 247 Steffisburg 939 46.7713 7.6157 4 +CH 3614 Unterlangenegg Canton de Berne BE Thun District 247 Unterlangenegg 945 46.7989 7.6936 4 +CH 3615 Heimenschwand Canton de Berne BE Thun District 247 Buchholterberg 923 46.821 7.6913 4 +CH 3616 Schwarzenegg Canton de Berne BE Thun District 247 Unterlangenegg 945 46.8 7.7343 4 +CH 3617 Fahrni b. Thun Canton de Berne BE Thun District 247 Fahrni 925 46.7978 7.6549 4 +CH 3619 Eriz Canton de Berne BE Thun District 247 Eriz 924 46.7805 7.8048 4 +CH 3619 Innereriz Canton de Berne BE Thun District 247 Eriz 924 46.7883 7.8239 4 +CH 3622 Homberg b. Thun Canton de Berne BE Thun District 247 Homberg 931 46.7764 7.6833 4 +CH 3623 Horrenbach Canton de Berne BE Thun District 247 Horrenbach-Buchen 932 46.7775 7.7467 1 +CH 3623 Teuffenthal b. Thun Canton de Berne BE Thun District 247 Teuffenthal (BE) 940 46.7669 7.7192 1 +CH 3623 Buchen BE Canton de Berne BE Thun District 247 Horrenbach-Buchen 932 46.7821 7.7084 1 +CH 3624 Schwendibach Canton de Berne BE Thun District 247 Steffisburg 939 46.7699 7.661 4 +CH 3624 Goldiwil (Thun) Canton de Berne BE Thun District 247 Thun 942 46.7614 7.6654 4 +CH 3625 Heiligenschwendi Canton de Berne BE Thun District 247 Heiligenschwendi 927 46.752 7.6822 4 +CH 3626 Hünibach Canton de Berne BE Thun District 247 Hilterfingen 929 46.7477 7.6487 4 +CH 3627 Heimberg Canton de Berne BE Thun District 247 Heimberg 928 46.7944 7.6032 4 +CH 3628 Uttigen Canton de Berne BE Thun District 247 Uttigen 885 46.795 7.5732 4 +CH 3631 Höfen b. Thun Canton de Berne BE Thun District 247 Stocken-Höfen 770 46.7225 7.5666 1 +CH 3632 Niederstocken Canton de Berne BE Thun District 247 Stocken-Höfen 770 46.7021 7.5712 4 +CH 3632 Oberstocken Canton de Berne BE Thun District 247 Stocken-Höfen 770 46.7068 7.5502 4 +CH 3633 Amsoldingen Canton de Berne BE Thun District 247 Amsoldingen 921 46.7261 7.5854 4 +CH 3634 Thierachern Canton de Berne BE Thun District 247 Thierachern 941 46.7519 7.5719 4 +CH 3635 Uebeschi Canton de Berne BE Thun District 247 Uebeschi 943 46.7395 7.5473 4 +CH 3636 Längenbühl Canton de Berne BE Thun District 247 Forst-Längenbühl 948 46.7579 7.5385 4 +CH 3636 Forst b. Längenbühl Canton de Berne BE Thun District 247 Forst-Längenbühl 948 46.7647 7.524 4 +CH 3638 Pohlern Canton de Berne BE Thun District 247 Pohlern 936 46.7157 7.5229 4 +CH 3638 Blumenstein Canton de Berne BE Thun District 247 Blumenstein 922 46.7281 7.4955 4 +CH 3645 Zwieselberg Canton de Berne BE Thun District 247 Zwieselberg 947 46.7097 7.615 4 +CH 3647 Reutigen Canton de Berne BE Thun District 247 Reutigen 767 46.6927 7.6055 4 +CH 3652 Hilterfingen Canton de Berne BE Thun District 247 Hilterfingen 929 46.7408 7.6628 4 +CH 3653 Oberhofen am Thunersee Canton de Berne BE Thun District 247 Oberhofen am Thunersee 934 46.7332 7.6771 4 +CH 3654 Gunten Canton de Berne BE Thun District 247 Sigriswil 938 46.7145 7.7023 4 +CH 3655 Sigriswil Canton de Berne BE Thun District 247 Sigriswil 938 46.7193 7.7344 4 +CH 3656 Tschingel ob Gunten Canton de Berne BE Thun District 247 Sigriswil 938 46.7257 7.7088 3 +CH 3656 Aeschlen ob Gunten Canton de Berne BE Thun District 247 Sigriswil 938 46.7216 7.6966 4 +CH 3656 Ringoldswil Canton de Berne BE Thun District 247 Sigriswil 938 46.7375 7.6948 4 +CH 3657 Schwanden (Sigriswil) Canton de Berne BE Thun District 247 Sigriswil 938 46.7443 7.7572 4 +CH 3658 Merligen Canton de Berne BE Thun District 247 Sigriswil 938 46.704 7.753 4 +CH 3661 Uetendorf Canton de Berne BE Thun District 247 Uetendorf 944 46.775 7.5746 4 +CH 3662 Seftigen Canton de Berne BE Thun District 247 Seftigen 883 46.7904 7.5392 4 +CH 3663 Gurzelen Canton de Berne BE Thun District 247 Gurzelen 867 46.7753 7.5357 4 +CH 3664 Burgistein Canton de Berne BE Thun District 247 Burgistein 863 46.792 7.5032 4 +CH 3665 Wattenwil Canton de Berne BE Thun District 247 Wattenwil 886 46.7594 7.4929 4 +CH 1657 Abländschen Canton de Berne BE Obersimmental-Saanen District 248 Saanen 843 46.5662 7.2768 4 +CH 3766 Boltigen Canton de Berne BE Obersimmental-Saanen District 248 Boltigen 791 46.6052 7.3582 4 +CH 3770 Zweisimmen Canton de Berne BE Obersimmental-Saanen District 248 Zweisimmen 794 46.562 7.3903 4 +CH 3771 Blankenburg Canton de Berne BE Obersimmental-Saanen District 248 Zweisimmen 794 46.542 7.4183 4 +CH 3772 St. Stephan Canton de Berne BE Obersimmental-Saanen District 248 St. Stephan 793 46.4964 7.3917 4 +CH 3773 Matten (St. Stephan) Canton de Berne BE Obersimmental-Saanen District 248 St. Stephan 793 46.5104 7.4622 4 +CH 3775 Lenk im Simmental Canton de Berne BE Obersimmental-Saanen District 248 Lenk 792 46.4251 7.4565 4 +CH 3776 Oeschseite Canton de Berne BE Obersimmental-Saanen District 248 Zweisimmen 794 46.5268 7.3277 4 +CH 3777 Saanenmöser Canton de Berne BE Obersimmental-Saanen District 248 Saanen 843 46.5157 7.305 4 +CH 3778 Schönried Canton de Berne BE Obersimmental-Saanen District 248 Saanen 843 46.52 7.2714 4 +CH 3780 Gstaad Canton de Berne BE Obersimmental-Saanen District 248 Saanen 843 46.4707 7.2946 4 +CH 3781 Turbach Canton de Berne BE Obersimmental-Saanen District 248 Saanen 843 46.4629 7.3509 4 +CH 3782 Lauenen b. Gstaad Canton de Berne BE Obersimmental-Saanen District 248 Lauenen 842 46.3981 7.3386 4 +CH 3783 Grund b. Gstaad Canton de Berne BE Obersimmental-Saanen District 248 Saanen 843 46.4375 7.2524 4 +CH 3784 Feutersoey Canton de Berne BE Obersimmental-Saanen District 248 Gsteig 841 46.4044 7.2444 4 +CH 3785 Gsteig b. Gstaad Canton de Berne BE Obersimmental-Saanen District 248 Gsteig 841 46.3691 7.2591 4 +CH 3792 Saanen Canton de Berne BE Obersimmental-Saanen District 248 Saanen 843 46.4775 7.2495 4 +CH 3645 Gwatt (Thun) Canton de Berne BE Frutigen-Niedersimmental District 249 Spiez 768 46.7235 7.6213 4 +CH 3646 Einigen Canton de Berne BE Frutigen-Niedersimmental District 249 Spiez 768 46.7071 7.6453 4 +CH 3700 Spiez Canton de Berne BE Frutigen-Niedersimmental District 249 Spiez 768 46.6857 7.6698 4 +CH 3702 Hondrich Canton de Berne BE Frutigen-Niedersimmental District 249 Spiez 768 46.6718 7.6818 4 +CH 3703 Aeschiried Canton de Berne BE Frutigen-Niedersimmental District 249 Aeschi bei Spiez 562 46.6135 7.7685 4 +CH 3703 Aeschi b. Spiez Canton de Berne BE Frutigen-Niedersimmental District 249 Aeschi bei Spiez 562 46.6543 7.6988 3 +CH 3704 Krattigen Canton de Berne BE Frutigen-Niedersimmental District 249 Krattigen 566 46.6508 7.7393 4 +CH 3705 Faulensee Canton de Berne BE Frutigen-Niedersimmental District 249 Spiez 768 46.6721 7.7074 4 +CH 3711 Mülenen Canton de Berne BE Frutigen-Niedersimmental District 249 Reichenbach im Kandertal 567 46.6396 7.675 4 +CH 3711 Emdthal Canton de Berne BE Frutigen-Niedersimmental District 249 Aeschi bei Spiez 562 46.6505 7.6807 4 +CH 3713 Reichenbach im Kandertal Canton de Berne BE Frutigen-Niedersimmental District 249 Reichenbach im Kandertal 567 46.618 7.6918 4 +CH 3714 Wengi b. Frutigen Canton de Berne BE Frutigen-Niedersimmental District 249 Reichenbach im Kandertal 567 46.6225 7.6464 3 +CH 3714 Frutigen Canton de Berne BE Frutigen-Niedersimmental District 249 Frutigen 563 46.5854 7.6383 4 +CH 3715 Adelboden Canton de Berne BE Frutigen-Niedersimmental District 249 Adelboden 561 46.4736 7.5552 4 +CH 3716 Kandergrund Canton de Berne BE Frutigen-Niedersimmental District 249 Kandergrund 564 46.5515 7.6677 4 +CH 3717 Blausee-Mitholz Canton de Berne BE Frutigen-Niedersimmental District 249 Kandergrund 564 46.525 7.6837 4 +CH 3718 Kandersteg Canton de Berne BE Frutigen-Niedersimmental District 249 Kandersteg 565 46.4692 7.7083 4 +CH 3722 Scharnachtal Canton de Berne BE Frutigen-Niedersimmental District 249 Reichenbach im Kandertal 567 46.6148 7.7159 4 +CH 3723 Kiental Canton de Berne BE Frutigen-Niedersimmental District 249 Reichenbach im Kandertal 567 46.5561 7.7608 4 +CH 3724 Ried (Frutigen) Canton de Berne BE Frutigen-Niedersimmental District 249 Frutigen 563 46.5604 7.5942 4 +CH 3725 Achseten Canton de Berne BE Frutigen-Niedersimmental District 249 Frutigen 563 46.5291 7.6046 4 +CH 3752 Wimmis Canton de Berne BE Frutigen-Niedersimmental District 249 Wimmis 769 46.6616 7.6412 4 +CH 3753 Oey Canton de Berne BE Frutigen-Niedersimmental District 249 Diemtigen 762 46.6477 7.5971 4 +CH 3754 Diemtigen Canton de Berne BE Frutigen-Niedersimmental District 249 Diemtigen 762 46.6466 7.5579 4 +CH 3755 Horboden Canton de Berne BE Frutigen-Niedersimmental District 249 Diemtigen 762 46.6038 7.572 4 +CH 3756 Zwischenflüh Canton de Berne BE Frutigen-Niedersimmental District 249 Diemtigen 762 46.6022 7.5015 4 +CH 3757 Schwenden im Diemtigtal Canton de Berne BE Frutigen-Niedersimmental District 249 Diemtigen 762 46.5563 7.5001 4 +CH 3758 Latterbach Canton de Berne BE Frutigen-Niedersimmental District 249 Erlenbach im Simmental 763 46.6721 7.5895 4 +CH 3762 Erlenbach im Simmental Canton de Berne BE Frutigen-Niedersimmental District 249 Erlenbach im Simmental 763 46.6585 7.5302 4 +CH 3763 Därstetten Canton de Berne BE Frutigen-Niedersimmental District 249 Därstetten 761 46.6804 7.5051 4 +CH 3764 Weissenburg Canton de Berne BE Frutigen-Niedersimmental District 249 Därstetten 761 46.6661 7.477 4 +CH 3765 Oberwil im Simmental Canton de Berne BE Frutigen-Niedersimmental District 249 Oberwil im Simmental 766 46.6559 7.4312 4 +CH 3706 Leissigen Canton de Berne BE Interlaken-Oberhasli District 250 Leissigen 585 46.6428 7.7789 4 +CH 3707 Därligen Canton de Berne BE Interlaken-Oberhasli District 250 Därligen 575 46.6539 7.8128 4 +CH 3800 Sundlauenen Canton de Berne BE Interlaken-Oberhasli District 250 Beatenberg 571 46.6857 7.7818 4 +CH 3800 Interlaken Canton de Berne BE Interlaken-Oberhasli District 250 Interlaken 581 46.6867 7.866 4 +CH 3800 Unterseen Canton de Berne BE Interlaken-Oberhasli District 250 Unterseen 593 46.6945 7.8405 4 +CH 3800 Interlaken Canton de Berne BE Interlaken-Oberhasli District 250 Gündlischwand 578 46.6867 7.866 4 +CH 3800 Matten b. Interlaken Canton de Berne BE Interlaken-Oberhasli District 250 Matten bei Interlaken 587 46.6763 7.8649 4 +CH 3802 Interlaken Ost Canton de Berne BE Interlaken-Oberhasli District 250 Interlaken 581 46.6871 7.8649 +CH 3803 Beatenberg Canton de Berne BE Interlaken-Oberhasli District 250 Beatenberg 571 46.717 7.8063 4 +CH 3804 Habkern Canton de Berne BE Interlaken-Oberhasli District 250 Habkern 579 46.755 7.8899 4 +CH 3805 Goldswil b. Interlaken Canton de Berne BE Interlaken-Oberhasli District 250 Ringgenberg (BE) 590 46.7005 7.8745 4 +CH 3806 Bönigen b. Interlaken Canton de Berne BE Interlaken-Oberhasli District 250 Bönigen 572 46.6804 7.9238 4 +CH 3807 Iseltwald Canton de Berne BE Interlaken-Oberhasli District 250 Iseltwald 582 46.7011 7.9899 4 +CH 3812 Wilderswil Canton de Berne BE Interlaken-Oberhasli District 250 Wilderswil 594 46.6488 7.8691 4 +CH 3813 Saxeten Canton de Berne BE Interlaken-Oberhasli District 250 Saxeten 591 46.6251 7.8275 4 +CH 3814 Gsteigwiler Canton de Berne BE Interlaken-Oberhasli District 250 Gsteigwiler 577 46.6522 7.889 4 +CH 3815 Gündlischwand Canton de Berne BE Interlaken-Oberhasli District 250 Gündlischwand 578 46.6552 7.9369 4 +CH 3815 Zweilütschinen Canton de Berne BE Interlaken-Oberhasli District 250 Gündlischwand 578 46.626 7.9068 4 +CH 3816 Lütschental Canton de Berne BE Interlaken-Oberhasli District 250 Lütschental 586 46.6439 7.9522 4 +CH 3816 Burglauenen Canton de Berne BE Interlaken-Oberhasli District 250 Grindelwald 576 46.6331 7.9739 4 +CH 3818 Grindelwald Canton de Berne BE Interlaken-Oberhasli District 250 Grindelwald 576 46.6186 8.0535 4 +CH 3822 Isenfluh Canton de Berne BE Interlaken-Oberhasli District 250 Lauterbrunnen 584 46.5967 7.8565 4 +CH 3822 Lauterbrunnen Canton de Berne BE Interlaken-Oberhasli District 250 Lauterbrunnen 584 46.5952 7.9072 4 +CH 3823 Wengen Canton de Berne BE Interlaken-Oberhasli District 250 Lauterbrunnen 584 46.5751 7.9498 4 +CH 3823 Eigergletscher Canton de Berne BE Interlaken-Oberhasli District 250 Lauterbrunnen 584 46.5748 7.9744 4 +CH 3823 Kleine Scheidegg Canton de Berne BE Interlaken-Oberhasli District 250 Lauterbrunnen 584 46.5844 7.9602 4 +CH 3824 Stechelberg Canton de Berne BE Interlaken-Oberhasli District 250 Lauterbrunnen 584 46.515 7.8979 4 +CH 3825 Mürren Canton de Berne BE Interlaken-Oberhasli District 250 Lauterbrunnen 584 46.5766 7.8827 4 +CH 3826 Gimmelwald Canton de Berne BE Interlaken-Oberhasli District 250 Lauterbrunnen 584 46.538 7.8517 4 +CH 3852 Ringgenberg BE Canton de Berne BE Interlaken-Oberhasli District 250 Ringgenberg (BE) 590 46.7114 7.8968 4 +CH 3853 Niederried b. Interlaken Canton de Berne BE Interlaken-Oberhasli District 250 Niederried bei Interlaken 588 46.7249 7.9263 4 +CH 3854 Oberried am Brienzersee Canton de Berne BE Interlaken-Oberhasli District 250 Oberried am Brienzersee 589 46.7563 7.9571 4 +CH 3855 Brienz BE Canton de Berne BE Interlaken-Oberhasli District 250 Brienz (BE) 573 46.7321 8.0379 4 +CH 3855 Axalp Canton de Berne BE Interlaken-Oberhasli District 250 Brienz (BE) 573 46.7215 8.0399 4 +CH 3855 Schwanden b. Brienz Canton de Berne BE Interlaken-Oberhasli District 250 Schwanden bei Brienz 592 46.7711 8.0557 3 +CH 3856 Brienzwiler Canton de Berne BE Interlaken-Oberhasli District 250 Brienzwiler 574 46.7586 8.106 4 +CH 3857 Unterbach BE Canton de Berne BE Interlaken-Oberhasli District 250 Meiringen 785 46.7378 8.119 4 +CH 3858 Hofstetten b. Brienz Canton de Berne BE Interlaken-Oberhasli District 250 Hofstetten bei Brienz 580 46.7669 8.0799 4 +CH 3860 Rosenlaui Canton de Berne BE Interlaken-Oberhasli District 250 Schattenhalb 786 46.6796 8.1537 4 +CH 3860 Brünig Canton de Berne BE Interlaken-Oberhasli District 250 Meiringen 785 46.7587 8.133 3 +CH 3860 Meiringen Canton de Berne BE Interlaken-Oberhasli District 250 Meiringen 785 46.7108 8.1255 4 +CH 3860 Schattenhalb Canton de Berne BE Interlaken-Oberhasli District 250 Schattenhalb 786 46.6942 8.17 4 +CH 3862 Innertkirchen Canton de Berne BE Interlaken-Oberhasli District 250 Innertkirchen 784 46.6717 8.2371 4 +CH 3863 Gadmen Canton de Berne BE Interlaken-Oberhasli District 250 Innertkirchen 784 46.7112 8.3757 4 +CH 3864 Guttannen Canton de Berne BE Interlaken-Oberhasli District 250 Guttannen 782 46.5965 8.2578 4 +CH 6083 Hasliberg Hohfluh Canton de Berne BE Interlaken-Oberhasli District 250 Hasliberg 783 46.7543 8.1733 4 +CH 6084 Hasliberg Wasserwendi Canton de Berne BE Interlaken-Oberhasli District 250 Hasliberg 783 46.7559 8.2104 4 +CH 6085 Hasliberg Goldern Canton de Berne BE Interlaken-Oberhasli District 250 Hasliberg 783 46.7385 8.1963 4 +CH 6086 Hasliberg Reuti Canton de Berne BE Interlaken-Oberhasli District 250 Hasliberg 783 46.7418 8.2522 4 +CH 4040 Basel Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Münchenstein 2769 47.5186 7.6174 +CH 4042 Basel PF OC Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Münchenstein 2769 47.5186 7.6174 +CH 4042 Basel PF Operations Center Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Münchenstein 2769 47.5186 7.6174 +CH 4101 Bruderholz Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Binningen 2765 47.528 7.5812 4 +CH 4102 Binningen 1 Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Binningen 2765 47.5367 7.5678 +CH 4102 Binningen Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Binningen 2765 47.5367 7.5676 4 +CH 4103 Bottmingen Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Bottmingen 2767 47.522 7.5765 4 +CH 4104 Oberwil BL Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Oberwil (BL) 2771 47.5169 7.5508 4 +CH 4105 Biel-Benken BL Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Biel-Benken 2764 47.5077 7.5209 4 +CH 4106 Therwil Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Therwil 2775 47.4976 7.5589 4 +CH 4107 Ettingen Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Ettingen 2768 47.4745 7.5459 4 +CH 4123 Allschwil 1 Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Allschwil 2762 47.5451 7.5375 +CH 4123 Allschwil Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Allschwil 2762 47.545 7.5375 4 +CH 4124 Schönenbuch Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Schönenbuch 2774 47.5352 7.5061 4 +CH 4127 Birsfelden Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Birsfelden 2766 47.5508 7.6363 4 +CH 4132 Muttenz 1 Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Muttenz 2770 47.5248 7.6491 +CH 4132 Muttenz Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Muttenz 2770 47.5234 7.6481 4 +CH 4142 Münchenstein 1 Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Münchenstein 2769 47.5186 7.6174 +CH 4142 Münchenstein Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Münchenstein 2769 47.5169 7.6175 4 +CH 4144 Arlesheim Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Arlesheim 2763 47.4955 7.6283 4 +CH 4147 Aesch BL Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Aesch (BL) 2761 47.4728 7.584 4 +CH 4148 Pfeffingen Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Pfeffingen 2772 47.4562 7.582 4 +CH 4153 Reinach BL Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Reinach (BL) 2773 47.4973 7.5909 4 +CH 4153 Reinach BL 1 Kanton Basel-Landschaft BL Bezirk Arlesheim 1301 Reinach (BL) 2773 47.4975 7.5912 +CH 2814 Roggenburg Kanton Basel-Landschaft BL Bezirk Laufen 1302 Roggenburg 2790 47.4277 7.3567 4 +CH 4117 Burg im Leimental Kanton Basel-Landschaft BL Bezirk Laufen 1302 Burg im Leimental 2783 47.4523 7.4368 4 +CH 4202 Duggingen Kanton Basel-Landschaft BL Bezirk Laufen 1302 Duggingen 2785 47.4513 7.6096 4 +CH 4203 Grellingen Kanton Basel-Landschaft BL Bezirk Laufen 1302 Grellingen 2786 47.439 7.5866 4 +CH 4222 Zwingen Kanton Basel-Landschaft BL Bezirk Laufen 1302 Zwingen 2793 47.436 7.5279 4 +CH 4223 Blauen Kanton Basel-Landschaft BL Bezirk Laufen 1302 Blauen 2781 47.4527 7.5233 4 +CH 4224 Nenzlingen Kanton Basel-Landschaft BL Bezirk Laufen 1302 Nenzlingen 2789 47.4493 7.5609 4 +CH 4225 Brislach Kanton Basel-Landschaft BL Bezirk Laufen 1302 Brislach 2782 47.4252 7.5496 4 +CH 4242 Laufen Kanton Basel-Landschaft BL Bezirk Laufen 1302 Laufen 2787 47.4105 7.4911 4 +CH 4243 Dittingen Kanton Basel-Landschaft BL Bezirk Laufen 1302 Dittingen 2784 47.4415 7.4927 4 +CH 4244 Röschenz Kanton Basel-Landschaft BL Bezirk Laufen 1302 Röschenz 2791 47.4329 7.4649 4 +CH 4246 Wahlen b. Laufen Kanton Basel-Landschaft BL Bezirk Laufen 1302 Wahlen 2792 47.398 7.5115 1 +CH 4253 Liesberg Kanton Basel-Landschaft BL Bezirk Laufen 1302 Liesberg 2788 47.3952 7.4298 4 +CH 4254 Liesberg Dorf Kanton Basel-Landschaft BL Bezirk Laufen 1302 Liesberg 2788 47.4074 7.4156 4 +CH 4133 Pratteln Kanton Basel-Landschaft BL Bezirk Liestal 1303 Pratteln 2831 47.5192 7.6913 4 +CH 4133 Pratteln 1 Kanton Basel-Landschaft BL Bezirk Liestal 1303 Pratteln 2831 47.5185 7.6927 +CH 4302 Augst BL Kanton Basel-Landschaft BL Bezirk Liestal 1303 Augst 2822 47.5321 7.7176 4 +CH 4304 Giebenach Kanton Basel-Landschaft BL Bezirk Liestal 1303 Giebenach 2826 47.5234 7.7383 4 +CH 4402 Frenkendorf Kanton Basel-Landschaft BL Bezirk Liestal 1303 Frenkendorf 2824 47.5009 7.6971 4 +CH 4410 Liestal Kanton Basel-Landschaft BL Bezirk Liestal 1303 Liestal 2829 47.4853 7.7255 4 +CH 4411 Seltisberg Kanton Basel-Landschaft BL Bezirk Liestal 1303 Seltisberg 2833 47.462 7.7157 4 +CH 4414 Füllinsdorf Kanton Basel-Landschaft BL Bezirk Liestal 1303 Füllinsdorf 2825 47.5109 7.732 4 +CH 4415 Lausen Kanton Basel-Landschaft BL Bezirk Liestal 1303 Lausen 2828 47.4706 7.7656 4 +CH 4416 Bubendorf Kanton Basel-Landschaft BL Bezirk Liestal 1303 Bubendorf 2823 47.4458 7.737 4 +CH 4417 Ziefen Kanton Basel-Landschaft BL Bezirk Liestal 1303 Ziefen 2834 47.429 7.7027 4 +CH 4419 Lupsingen Kanton Basel-Landschaft BL Bezirk Liestal 1303 Lupsingen 2830 47.4463 7.6961 4 +CH 4422 Arisdorf Kanton Basel-Landschaft BL Bezirk Liestal 1303 Arisdorf 2821 47.5093 7.7665 4 +CH 4423 Hersberg Kanton Basel-Landschaft BL Bezirk Liestal 1303 Hersberg 2827 47.4922 7.7833 4 +CH 4433 Ramlinsburg Kanton Basel-Landschaft BL Bezirk Liestal 1303 Ramlinsburg 2832 47.4502 7.7682 4 +CH 4441 Thürnen Kanton Basel-Landschaft BL Bezirk Sissach 1304 Thürnen 2864 47.4531 7.8289 4 +CH 4442 Diepflingen Kanton Basel-Landschaft BL Bezirk Sissach 1304 Diepflingen 2845 47.445 7.8404 4 +CH 4443 Wittinsburg Kanton Basel-Landschaft BL Bezirk Sissach 1304 Wittinsburg 2867 47.4297 7.8386 4 +CH 4444 Rümlingen Kanton Basel-Landschaft BL Bezirk Sissach 1304 Rümlingen 2859 47.428 7.856 4 +CH 4445 Häfelfingen Kanton Basel-Landschaft BL Bezirk Sissach 1304 Häfelfingen 2847 47.4139 7.8704 4 +CH 4446 Buckten Kanton Basel-Landschaft BL Bezirk Sissach 1304 Buckten 2843 47.4116 7.8467 4 +CH 4447 Känerkinden Kanton Basel-Landschaft BL Bezirk Sissach 1304 Känerkinden 2850 47.4116 7.8324 4 +CH 4448 Läufelfingen Kanton Basel-Landschaft BL Bezirk Sissach 1304 Läufelfingen 2852 47.3942 7.856 4 +CH 4450 Sissach Kanton Basel-Landschaft BL Bezirk Sissach 1304 Sissach 2861 47.4722 7.8076 4 +CH 4451 Wintersingen Kanton Basel-Landschaft BL Bezirk Sissach 1304 Wintersingen 2866 47.4961 7.8271 4 +CH 4452 Itingen Kanton Basel-Landschaft BL Bezirk Sissach 1304 Itingen 2849 47.4647 7.7847 4 +CH 4453 Nusshof Kanton Basel-Landschaft BL Bezirk Sissach 1304 Nusshof 2854 47.4915 7.7985 4 +CH 4455 Zunzgen Kanton Basel-Landschaft BL Bezirk Sissach 1304 Zunzgen 2869 47.4451 7.7986 4 +CH 4456 Tenniken Kanton Basel-Landschaft BL Bezirk Sissach 1304 Tenniken 2863 47.4325 7.8146 4 +CH 4460 Gelterkinden Kanton Basel-Landschaft BL Bezirk Sissach 1304 Gelterkinden 2846 47.4571 7.8586 4 +CH 4461 Böckten Kanton Basel-Landschaft BL Bezirk Sissach 1304 Böckten 2842 47.4673 7.8344 4 +CH 4462 Rickenbach BL Kanton Basel-Landschaft BL Bezirk Sissach 1304 Rickenbach (BL) 2857 47.4847 7.8492 4 +CH 4463 Buus Kanton Basel-Landschaft BL Bezirk Sissach 1304 Buus 2844 47.5047 7.8661 4 +CH 4464 Maisprach Kanton Basel-Landschaft BL Bezirk Sissach 1304 Maisprach 2853 47.5223 7.8458 4 +CH 4465 Hemmiken Kanton Basel-Landschaft BL Bezirk Sissach 1304 Hemmiken 2848 47.4902 7.8917 4 +CH 4466 Ormalingen Kanton Basel-Landschaft BL Bezirk Sissach 1304 Ormalingen 2856 47.4731 7.8784 4 +CH 4467 Rothenfluh Kanton Basel-Landschaft BL Bezirk Sissach 1304 Rothenfluh 2858 47.4703 7.9177 4 +CH 4469 Anwil Kanton Basel-Landschaft BL Bezirk Sissach 1304 Anwil 2841 47.453 7.942 4 +CH 4492 Tecknau Kanton Basel-Landschaft BL Bezirk Sissach 1304 Tecknau 2862 47.4454 7.8897 4 +CH 4493 Wenslingen Kanton Basel-Landschaft BL Bezirk Sissach 1304 Wenslingen 2865 47.4432 7.91 4 +CH 4494 Oltingen Kanton Basel-Landschaft BL Bezirk Sissach 1304 Oltingen 2855 47.4302 7.9373 4 +CH 4495 Zeglingen Kanton Basel-Landschaft BL Bezirk Sissach 1304 Zeglingen 2868 47.4121 7.9123 4 +CH 4496 Kilchberg BL Kanton Basel-Landschaft BL Bezirk Sissach 1304 Kilchberg (BL) 2851 47.4257 7.8969 4 +CH 4497 Rünenberg Kanton Basel-Landschaft BL Bezirk Sissach 1304 Rünenberg 2860 47.432 7.8804 4 +CH 4207 Bretzwil Kanton Basel-Landschaft BL Bezirk Waldenburg 1305 Bretzwil 2883 47.3961 7.6501 4 +CH 4418 Reigoldswil Kanton Basel-Landschaft BL Bezirk Waldenburg 1305 Reigoldswil 2893 47.3948 7.6904 4 +CH 4424 Arboldswil Kanton Basel-Landschaft BL Bezirk Waldenburg 1305 Arboldswil 2881 47.4148 7.7185 4 +CH 4425 Titterten Kanton Basel-Landschaft BL Bezirk Waldenburg 1305 Titterten 2894 47.402 7.7148 4 +CH 4426 Lauwil Kanton Basel-Landschaft BL Bezirk Waldenburg 1305 Lauwil 2889 47.3802 7.6679 4 +CH 4431 Bennwil Kanton Basel-Landschaft BL Bezirk Waldenburg 1305 Bennwil 2882 47.3963 7.7821 4 +CH 4432 Lampenberg Kanton Basel-Landschaft BL Bezirk Waldenburg 1305 Lampenberg 2887 47.4267 7.7539 4 +CH 4434 Hölstein Kanton Basel-Landschaft BL Bezirk Waldenburg 1305 Hölstein 2886 47.4259 7.7749 4 +CH 4435 Niederdorf Kanton Basel-Landschaft BL Bezirk Waldenburg 1305 Niederdorf 2891 47.4105 7.7475 4 +CH 4436 Oberdorf BL Kanton Basel-Landschaft BL Bezirk Waldenburg 1305 Oberdorf (BL) 2892 47.3928 7.7526 4 +CH 4436 Liedertswil Kanton Basel-Landschaft BL Bezirk Waldenburg 1305 Liedertswil 2890 47.3887 7.7206 4 +CH 4437 Waldenburg Kanton Basel-Landschaft BL Bezirk Waldenburg 1305 Waldenburg 2895 47.3771 7.7402 4 +CH 4438 Langenbruck Kanton Basel-Landschaft BL Bezirk Waldenburg 1305 Langenbruck 2888 47.3577 7.7711 4 +CH 4457 Diegten Kanton Basel-Landschaft BL Bezirk Waldenburg 1305 Diegten 2884 47.4093 7.8097 4 +CH 4458 Eptingen Kanton Basel-Landschaft BL Bezirk Waldenburg 1305 Eptingen 2885 47.3797 7.8173 4 +CH 4000 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5584 7.5733 +CH 4001 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5568 7.5887 4 +CH 4002 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5584 7.5733 +CH 4005 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5584 7.5733 +CH 4009 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5584 7.5733 +CH 4010 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5584 7.5733 +CH 4018 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5584 7.5733 +CH 4019 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5584 7.5733 +CH 4020 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5584 7.5733 +CH 4030 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5584 7.5733 +CH 4031 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5619 7.5823 +CH 4039 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5577 7.5936 +CH 4039 Basel SSF Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5577 7.5936 +CH 4041 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5577 7.5936 +CH 4041 Basel UBS Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5577 7.5936 +CH 4051 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.554 7.5865 4 +CH 4052 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5457 7.6096 4 +CH 4052 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5457 7.6096 4 +CH 4053 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5406 7.5964 4 +CH 4054 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5497 7.5696 4 +CH 4055 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5626 7.5667 4 +CH 4056 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5698 7.5749 4 +CH 4057 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5767 7.5947 4 +CH 4058 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.566 7.6112 4 +CH 4059 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5309 7.5939 4 +CH 4070 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5584 7.5733 +CH 4075 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5584 7.5733 +CH 4089 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5577 7.5936 +CH 4089 Basel SPI GLS Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5577 7.5936 +CH 4089 Basel SPILOG Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5577 7.5936 +CH 4089 Basel SPI GLS Retour Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5577 7.5936 +CH 4091 Basel Kanton Basel-Stadt BS Basel-Stadt 1200 Basel 2701 47.5584 7.5733 +CH 4125 Riehen Kanton Basel-Stadt BS Basel-Stadt 1200 Riehen 2703 47.5795 7.6512 4 +CH 4125 Riehen 1 Kanton Basel-Stadt BS Basel-Stadt 1200 Riehen 2703 47.5794 7.6512 +CH 4126 Bettingen Kanton Basel-Stadt BS Basel-Stadt 1200 Bettingen 2702 47.5704 7.6722 4 +CH 1410 Prévondavaux Canton de Fribourg FR Broye District 1001 Prévondavaux 2038 46.7313 6.8026 4 +CH 1468 Cheyres Canton de Fribourg FR Broye District 1001 Cheyres-Châbles 2055 46.8207 6.7756 4 +CH 1470 Bollion Canton de Fribourg FR Broye District 1001 Lully (FR) 2025 46.8215 6.832 4 +CH 1470 Seiry Canton de Fribourg FR Broye District 1001 Lully (FR) 2025 46.8146 6.835 4 +CH 1470 Lully FR Canton de Fribourg FR Broye District 1001 Lully (FR) 2025 46.8317 6.85 4 +CH 1470 Estavayer-le-Lac Canton de Fribourg FR Broye District 1001 Estavayer 2054 46.861 6.8415 4 +CH 1473 Font Canton de Fribourg FR Broye District 1001 Estavayer 2054 46.8483 6.8109 4 +CH 1473 Châtillon FR Canton de Fribourg FR Broye District 1001 Châtillon (FR) 2008 46.83 6.8302 4 +CH 1474 Châbles FR Canton de Fribourg FR Broye District 1001 Cheyres-Châbles 2055 46.8313 6.8002 4 +CH 1475 Forel FR Canton de Fribourg FR Broye District 1001 Estavayer 2054 46.884 6.88 4 +CH 1475 Montbrelloz Canton de Fribourg FR Broye District 1001 Estavayer 2054 46.854 6.8872 4 +CH 1475 Autavaux Canton de Fribourg FR Broye District 1001 Estavayer 2054 46.8762 6.8606 4 +CH 1482 Cugy FR Canton de Fribourg FR Broye District 1001 Cugy (FR) 2011 46.8109 6.8939 4 +CH 1483 Vesin Canton de Fribourg FR Broye District 1001 Cugy (FR) 2011 46.8052 6.8723 4 +CH 1483 Frasses Canton de Fribourg FR Broye District 1001 Les Montets 2050 46.8262 6.8668 4 +CH 1483 Montet (Broye) Canton de Fribourg FR Broye District 1001 Les Montets 2050 46.8172 6.8648 4 +CH 1484 Aumont Canton de Fribourg FR Broye District 1001 Les Montets 2050 46.7975 6.8551 4 +CH 1484 Granges-de-Vesin Canton de Fribourg FR Broye District 1001 Les Montets 2050 46.8107 6.842 3 +CH 1485 Nuvilly Canton de Fribourg FR Broye District 1001 Nuvilly 2035 46.7841 6.8339 4 +CH 1486 Vuissens Canton de Fribourg FR Broye District 1001 Estavayer 2054 46.7346 6.7692 4 +CH 1489 Murist Canton de Fribourg FR Broye District 1001 Estavayer 2054 46.796 6.8112 4 +CH 1527 Villeneuve FR Canton de Fribourg FR Broye District 1001 Surpierre 2044 46.7421 6.8668 4 +CH 1528 Praratoud Canton de Fribourg FR Broye District 1001 Surpierre 2044 46.736 6.8435 4 +CH 1528 Surpierre Canton de Fribourg FR Broye District 1001 Surpierre 2044 46.7474 6.8553 4 +CH 1529 Cheiry Canton de Fribourg FR Broye District 1001 Surpierre 2044 46.7502 6.8383 4 +CH 1532 Fétigny Canton de Fribourg FR Broye District 1001 Fétigny 2016 46.7967 6.9138 4 +CH 1533 Ménières Canton de Fribourg FR Broye District 1001 Ménières 2027 46.7853 6.8861 4 +CH 1534 Chapelle (Broye) Canton de Fribourg FR Broye District 1001 Surpierre 2044 46.7661 6.8499 4 +CH 1541 Morens FR Canton de Fribourg FR Broye District 1001 Estavayer 2054 46.8456 6.9047 4 +CH 1541 Sévaz Canton de Fribourg FR Broye District 1001 Sévaz 2043 46.8394 6.8736 4 +CH 1541 Bussy FR Canton de Fribourg FR Broye District 1001 Estavayer 2054 46.8346 6.8921 4 +CH 1542 Rueyres-les-Prés Canton de Fribourg FR Broye District 1001 Estavayer 2054 46.8571 6.9109 4 +CH 1544 Gletterens Canton de Fribourg FR Broye District 1001 Gletterens 2022 46.9113 6.9241 4 +CH 1563 Dompierre FR Canton de Fribourg FR Broye District 1001 Belmont-Broye 2053 46.8564 6.9906 4 +CH 1564 Domdidier Canton de Fribourg FR Broye District 1001 Belmont-Broye 2053 46.8622 7.0145 4 +CH 1565 Vallon Canton de Fribourg FR Broye District 1001 Vallon 2045 46.8849 6.9533 4 +CH 1566 St-Aubin FR Canton de Fribourg FR Broye District 1001 Saint-Aubin (FR) 2041 46.8912 6.9795 4 +CH 1566 Les Friques Canton de Fribourg FR Broye District 1001 Saint-Aubin (FR) 2041 46.8966 6.9942 4 +CH 1567 Delley Canton de Fribourg FR Broye District 1001 Delley-Portalban 2051 46.9132 6.9717 4 +CH 1568 Portalban Canton de Fribourg FR Broye District 1001 Delley-Portalban 2051 46.9262 6.9392 4 +CH 1773 Russy Canton de Fribourg FR Broye District 1001 Belmont-Broye 2053 46.8408 7.0052 4 +CH 1773 Chandon Canton de Fribourg FR Broye District 1001 Belmont-Broye 2053 46.8411 7.0436 4 +CH 1773 Léchelles Canton de Fribourg FR Broye District 1001 Belmont-Broye 2053 46.8289 7.0204 4 +CH 1774 Cousset Canton de Fribourg FR Broye District 1001 Montagny (FR) 2029 46.8139 6.98 4 +CH 1774 Montagny-les-Monts Canton de Fribourg FR Broye District 1001 Montagny (FR) 2029 46.8016 6.9928 4 +CH 1774 Cousset Canton de Fribourg FR Broye District 1001 Montagny (FR) 2029 46.8139 6.98 4 +CH 1775 Mannens Canton de Fribourg FR Broye District 1001 Montagny (FR) 2029 46.7969 6.9702 4 +CH 1775 Grandsivaz Canton de Fribourg FR Broye District 1001 Montagny (FR) 2029 46.787 6.9823 4 +CH 1776 Montagny-la-Ville Canton de Fribourg FR Broye District 1001 Montagny (FR) 2029 46.8207 6.9989 4 +CH 1553 Châtonnaye Canton de Fribourg FR Glâne District 1002 Châtonnaye 2068 46.7531 6.9382 4 +CH 1608 Chapelle (Glâne) Canton de Fribourg FR Glâne District 1002 Chapelle (Glâne) 2066 46.5879 6.8377 4 +CH 1670 Bionnens Canton de Fribourg FR Glâne District 1002 Ursy 2102 46.635 6.8564 4 +CH 1670 Ursy Canton de Fribourg FR Glâne District 1002 Ursy 2102 46.6333 6.8358 4 +CH 1670 Esmonts Canton de Fribourg FR Glâne District 1002 Ursy 2102 46.6445 6.8469 4 +CH 1673 Ecublens FR Canton de Fribourg FR Glâne District 1002 Ecublens (FR) 2072 46.6153 6.807 4 +CH 1673 Gillarens Canton de Fribourg FR Glâne District 1002 Rue 2097 46.5879 6.825 4 +CH 1673 Promasens Canton de Fribourg FR Glâne District 1002 Rue 2097 46.6022 6.8226 4 +CH 1673 Rue Canton de Fribourg FR Glâne District 1002 Rue 2097 46.6219 6.8237 4 +CH 1673 Auboranges Canton de Fribourg FR Glâne District 1002 Auboranges 2061 46.5838 6.8051 4 +CH 1674 Montet (Glâne) Canton de Fribourg FR Glâne District 1002 Montet (Glâne) 2089 46.6413 6.813 4 +CH 1674 Morlens Canton de Fribourg FR Glâne District 1002 Ursy 2102 46.6554 6.8381 4 +CH 1674 Vuarmarens Canton de Fribourg FR Glâne District 1002 Ursy 2102 46.6476 6.8284 4 +CH 1675 Blessens Canton de Fribourg FR Glâne District 1002 Rue 2097 46.6077 6.8395 4 +CH 1675 Vauderens Canton de Fribourg FR Glâne District 1002 Ursy 2102 46.6236 6.8511 4 +CH 1675 Mossel Canton de Fribourg FR Glâne District 1002 Ursy 2102 46.6139 6.8614 4 +CH 1676 Chavannes-les-Forts Canton de Fribourg FR Glâne District 1002 Siviriez 2099 46.6465 6.8948 4 +CH 1677 Prez-vers-Siviriez Canton de Fribourg FR Glâne District 1002 Siviriez 2099 46.6352 6.8745 4 +CH 1678 Siviriez Canton de Fribourg FR Glâne District 1002 Siviriez 2099 46.6604 6.8774 4 +CH 1679 Villaraboud Canton de Fribourg FR Glâne District 1002 Siviriez 2099 46.66 6.9128 4 +CH 1680 Berlens Canton de Fribourg FR Glâne District 1002 Mézières (FR) 2087 46.6953 6.9514 4 +CH 1680 Romont FR Canton de Fribourg FR Glâne District 1002 Romont (FR) 2096 46.7 6.9186 4 +CH 1681 Hennens Canton de Fribourg FR Glâne District 1002 Billens-Hennens 2063 46.6816 6.8786 4 +CH 1681 Billens Canton de Fribourg FR Glâne District 1002 Billens-Hennens 2063 46.6897 6.8962 4 +CH 1684 Mézières FR Canton de Fribourg FR Glâne District 1002 Mézières (FR) 2087 46.679 6.9272 4 +CH 1685 Villariaz Canton de Fribourg FR Glâne District 1002 Vuisternens-devant-Romont 2113 46.6633 6.9442 4 +CH 1686 Grangettes-près-Romont Canton de Fribourg FR Glâne District 1002 Grangettes 2079 46.6717 6.9753 3 +CH 1686 La Neirigue Canton de Fribourg FR Glâne District 1002 Vuisternens-devant-Romont 2113 46.684 6.9543 4 +CH 1687 Estévenens Canton de Fribourg FR Glâne District 1002 Vuisternens-devant-Romont 2113 46.6661 6.9651 4 +CH 1687 La Magne Canton de Fribourg FR Glâne District 1002 Vuisternens-devant-Romont 2113 46.6379 6.9299 4 +CH 1687 Vuisternens-devant-Romont Canton de Fribourg FR Glâne District 1002 Vuisternens-devant-Romont 2113 46.6502 6.9325 4 +CH 1688 Lieffrens Canton de Fribourg FR Glâne District 1002 Vuisternens-devant-Romont 2113 46.6329 6.8988 4 +CH 1688 Sommentier Canton de Fribourg FR Glâne District 1002 Vuisternens-devant-Romont 2113 46.6361 6.9144 4 +CH 1689 Le Châtelard-près-Romont Canton de Fribourg FR Glâne District 1002 Le Châtelard 2067 46.6755 6.9949 4 +CH 1690 Lussy FR Canton de Fribourg FR Glâne District 1002 Villaz 2117 46.7179 6.9385 4 +CH 1690 Villaz-St-Pierre Canton de Fribourg FR Glâne District 1002 Villaz 2117 46.7209 6.9621 4 +CH 1691 Villarimboud Canton de Fribourg FR Glâne District 1002 Villaz 2117 46.7409 6.9661 4 +CH 1692 Massonnens Canton de Fribourg FR Glâne District 1002 Massonnens 2086 46.6966 6.9761 4 +CH 1694 Orsonnens Canton de Fribourg FR Glâne District 1002 Villorsonnens 2114 46.7145 6.9947 4 +CH 1694 Villargiroud Canton de Fribourg FR Glâne District 1002 Villorsonnens 2114 46.6953 7.0011 4 +CH 1694 Villarsiviriaux Canton de Fribourg FR Glâne District 1002 Villorsonnens 2114 46.6904 7.0186 4 +CH 1694 Chavannes-sous-Orsonnens Canton de Fribourg FR Glâne District 1002 Villorsonnens 2114 46.728 6.9891 4 +CH 1697 La Joux FR Canton de Fribourg FR Glâne District 1002 Vuisternens-devant-Romont 2113 46.6259 6.9364 4 +CH 1697 Les Ecasseys Canton de Fribourg FR Glâne District 1002 Vuisternens-devant-Romont 2113 46.6213 6.9098 4 +CH 1748 Torny-le-Grand Canton de Fribourg FR Glâne District 1002 Torny 2115 46.7676 6.9678 4 +CH 1749 Middes Canton de Fribourg FR Glâne District 1002 Torny 2115 46.7741 6.9485 4 +CH 1625 Sâles (Gruyère) Canton de Fribourg FR Gruyère District 1003 Sâles 2152 46.6287 6.9639 4 +CH 1625 Maules Canton de Fribourg FR Gruyère District 1003 Sâles 2152 46.643 6.9968 4 +CH 1626 Rueyres-Treyfayes Canton de Fribourg FR Gruyère District 1003 Sâles 2152 46.6444 6.9534 3 +CH 1626 Romanens Canton de Fribourg FR Gruyère District 1003 Sâles 2152 46.6528 6.9766 4 +CH 1626 Treyfayes Canton de Fribourg FR Gruyère District 1003 Sâles 2152 46.6552 6.9575 4 +CH 1627 Vaulruz Canton de Fribourg FR Gruyère District 1003 Vaulruz 2155 46.6186 6.985 4 +CH 1628 Vuadens Canton de Fribourg FR Gruyère District 1003 Vuadens 2160 46.6106 7.0049 4 +CH 1630 Bulle Canton de Fribourg FR Gruyère District 1003 Bulle 2125 46.6021 7.0223 4 +CH 1631 Bulle centre de traitement Canton de Fribourg FR Gruyère District 1003 Bulle 2125 46.6075 7.0462 +CH 1632 Riaz Canton de Fribourg FR Gruyère District 1003 Riaz 2148 46.6428 7.0432 4 +CH 1633 Vuippens Canton de Fribourg FR Gruyère District 1003 Marsens 2140 46.6632 7.0812 4 +CH 1633 Marsens Canton de Fribourg FR Gruyère District 1003 Marsens 2140 46.6566 7.039 4 +CH 1634 La Roche FR Canton de Fribourg FR Gruyère District 1003 La Roche 2149 46.6925 7.1606 4 +CH 1635 La Tour-de-Trême Canton de Fribourg FR Gruyère District 1003 Bulle 2125 46.5889 7.0354 4 +CH 1636 Broc Canton de Fribourg FR Gruyère District 1003 Broc 2124 46.5985 7.1245 4 +CH 1637 Charmey (Gruyère) Canton de Fribourg FR Gruyère District 1003 Val-de-Charmey 2163 46.594 7.1959 4 +CH 1638 Morlon Canton de Fribourg FR Gruyère District 1003 Morlon 2143 46.6247 7.0917 4 +CH 1642 Sorens Canton de Fribourg FR Gruyère District 1003 Sorens 2153 46.6713 7.0437 4 +CH 1643 Gumefens Canton de Fribourg FR Gruyère District 1003 Pont-en-Ogoz 2122 46.6778 7.0722 4 +CH 1644 Avry-devant-Pont Canton de Fribourg FR Gruyère District 1003 Pont-en-Ogoz 2122 46.6865 7.0835 4 +CH 1645 Le Bry Canton de Fribourg FR Gruyère District 1003 Pont-en-Ogoz 2122 46.6986 7.0826 4 +CH 1646 Echarlens Canton de Fribourg FR Gruyère District 1003 Echarlens 2131 46.6472 7.0839 4 +CH 1647 Corbières Canton de Fribourg FR Gruyère District 1003 Corbières 2129 46.6567 7.1175 4 +CH 1648 Hauteville Canton de Fribourg FR Gruyère District 1003 Hauteville 2137 46.6699 7.1308 4 +CH 1649 Pont-la-Ville Canton de Fribourg FR Gruyère District 1003 Pont-la-Ville 2147 46.7026 7.1117 4 +CH 1651 Villarvolard Canton de Fribourg FR Gruyère District 1003 Corbières 2129 46.6435 7.118 4 +CH 1652 Villarbeney Canton de Fribourg FR Gruyère District 1003 Botterens 2123 46.6306 7.1157 4 +CH 1652 Botterens Canton de Fribourg FR Gruyère District 1003 Botterens 2123 46.6185 7.1133 4 +CH 1653 Crésuz Canton de Fribourg FR Gruyère District 1003 Crésuz 2130 46.6225 7.1413 4 +CH 1653 Châtel-sur-Montsalvens Canton de Fribourg FR Gruyère District 1003 Châtel-sur-Montsalvens 2128 46.6177 7.1275 4 +CH 1654 Cerniat FR Canton de Fribourg FR Gruyère District 1003 Val-de-Charmey 2163 46.6657 7.2019 4 +CH 1656 Im Fang Canton de Fribourg FR Gruyère District 1003 Jaun 2138 46.5913 7.2374 4 +CH 1656 Jaun Canton de Fribourg FR Gruyère District 1003 Jaun 2138 46.6075 7.2873 4 +CH 1661 Le Pâquier-Montbarry Canton de Fribourg FR Gruyère District 1003 Le Pâquier (FR) 2145 46.5904 7.0519 4 +CH 1663 Gruyères Canton de Fribourg FR Gruyère District 1003 Gruyères 2135 46.5807 7.085 4 +CH 1663 Pringy Canton de Fribourg FR Gruyère District 1003 Gruyères 2135 46.577 7.0594 4 +CH 1663 Moléson-sur-Gruyères Canton de Fribourg FR Gruyère District 1003 Gruyères 2135 46.5567 7.0281 3 +CH 1663 Epagny Canton de Fribourg FR Gruyère District 1003 Gruyères 2135 46.5883 7.0939 4 +CH 1665 Estavannens Canton de Fribourg FR Gruyère District 1003 Bas-Intyamon 2162 46.5638 7.1304 4 +CH 1666 Villars-sous-Mont Canton de Fribourg FR Gruyère District 1003 Bas-Intyamon 2162 46.5442 7.0578 4 +CH 1666 Grandvillard Canton de Fribourg FR Gruyère District 1003 Grandvillard 2134 46.5281 7.1095 4 +CH 1667 Enney Canton de Fribourg FR Gruyère District 1003 Bas-Intyamon 2162 46.562 7.07 4 +CH 1669 Albeuve Canton de Fribourg FR Gruyère District 1003 Haut-Intyamon 2121 46.508 7.0266 4 +CH 1669 Les Sciernes-d'Albeuve Canton de Fribourg FR Gruyère District 1003 Haut-Intyamon 2121 46.4975 7.0365 4 +CH 1669 Lessoc Canton de Fribourg FR Gruyère District 1003 Haut-Intyamon 2121 46.5051 7.0789 4 +CH 1669 Neirivue Canton de Fribourg FR Gruyère District 1003 Haut-Intyamon 2121 46.5291 7.0303 4 +CH 1669 Montbovon Canton de Fribourg FR Gruyère District 1003 Haut-Intyamon 2121 46.4723 7.012 4 +CH 1695 Rueyres-St-Laurent Canton de Fribourg FR Sarine District 1004 Gibloux 2236 46.7133 7.0377 4 +CH 1695 Villarlod Canton de Fribourg FR Sarine District 1004 Gibloux 2236 46.6975 7.0309 4 +CH 1695 Estavayer-le-Gibloux Canton de Fribourg FR Sarine District 1004 Gibloux 2236 46.7244 7.0244 4 +CH 1695 Villarsel-le-Gibloux Canton de Fribourg FR Sarine District 1004 Gibloux 2236 46.7133 7.0151 4 +CH 1696 Vuisternens-en-Ogoz Canton de Fribourg FR Sarine District 1004 Gibloux 2236 46.7042 7.0561 4 +CH 1700 Fribourg Canton de Fribourg FR Sarine District 1004 Fribourg 2196 46.8067 7.1636 4 +CH 1701 Fribourg Canton de Fribourg FR Sarine District 1004 Fribourg 2196 46.8024 7.1513 4 +CH 1708 Fribourg Canton de Fribourg FR Sarine District 1004 Fribourg 2196 46.8024 7.1513 4 +CH 1720 Chésopelloz Canton de Fribourg FR Sarine District 1004 Corminboeuf 2183 46.8059 7.0769 4 +CH 1720 Corminboeuf Canton de Fribourg FR Sarine District 1004 Corminboeuf 2183 46.8049 7.0973 4 +CH 1722 Bourguillon Canton de Fribourg FR Sarine District 1004 Fribourg 2196 46.7988 7.1748 4 +CH 1723 Marly Canton de Fribourg FR Sarine District 1004 Marly 2206 46.776 7.1494 4 +CH 1723 Marly 1 Canton de Fribourg FR Sarine District 1004 Marly 2206 46.776 7.1492 6 +CH 1723 Villarsel-sur-Marly Canton de Fribourg FR Sarine District 1004 Villarsel-sur-Marly 2230 46.7624 7.1727 4 +CH 1723 Pierrafortscha Canton de Fribourg FR Sarine District 1004 Pierrafortscha 2216 46.7812 7.1807 4 +CH 1724 Ferpicloz Canton de Fribourg FR Sarine District 1004 Ferpicloz 2194 46.7475 7.1637 4 +CH 1724 Montévraz Canton de Fribourg FR Sarine District 1004 Le Mouret 2220 46.7214 7.1807 4 +CH 1724 Bonnefontaine Canton de Fribourg FR Sarine District 1004 Le Mouret 2220 46.7309 7.2048 4 +CH 1724 Le Mouret Canton de Fribourg FR Sarine District 1004 Le Mouret 2220 46.7514 7.1812 4 +CH 1724 Senèdes Canton de Fribourg FR Sarine District 1004 Bois d'Amont 2238 46.742 7.1432 4 +CH 1724 Essert FR Canton de Fribourg FR Sarine District 1004 Le Mouret 2220 46.7361 7.1624 4 +CH 1724 Oberried FR Canton de Fribourg FR Sarine District 1004 Le Mouret 2220 46.7264 7.1938 4 +CH 1724 Zénauva Canton de Fribourg FR Sarine District 1004 Le Mouret 2220 46.7229 7.1868 4 +CH 1725 Posieux Canton de Fribourg FR Sarine District 1004 Hauterive (FR) 2233 46.7715 7.108 4 +CH 1726 Grenilles Canton de Fribourg FR Sarine District 1004 Gibloux 2236 46.7274 7.0487 4 +CH 1726 Farvagny Canton de Fribourg FR Sarine District 1004 Gibloux 2236 46.7277 7.0663 4 +CH 1726 Posat Canton de Fribourg FR Sarine District 1004 Gibloux 2236 46.7406 7.061 4 +CH 1726 Farvagny-le-Grand Canton de Fribourg FR Sarine District 1004 Gibloux 2236 46.7183 7.0717 6 +CH 1726 Farvagny-le-Petit Canton de Fribourg FR Sarine District 1004 Gibloux 2236 46.7309 7.0743 4 +CH 1727 Corpataux Canton de Fribourg FR Sarine District 1004 Gibloux 2236 46.7427 7.0982 4 +CH 1727 Magnedens Canton de Fribourg FR Sarine District 1004 Gibloux 2236 46.7411 7.0794 4 +CH 1728 Rossens FR Canton de Fribourg FR Sarine District 1004 Gibloux 2236 46.723 7.1 4 +CH 1730 Ecuvillens Canton de Fribourg FR Sarine District 1004 Hauterive (FR) 2233 46.7555 7.0784 4 +CH 1731 Ependes FR Canton de Fribourg FR Sarine District 1004 Bois d'Amont 2238 46.7571 7.1488 4 +CH 1732 Arconciel Canton de Fribourg FR Sarine District 1004 Bois d'Amont 2238 46.7512 7.1212 4 +CH 1733 Treyvaux Canton de Fribourg FR Sarine District 1004 Treyvaux 2226 46.7241 7.1438 4 +CH 1740 Neyruz FR Canton de Fribourg FR Sarine District 1004 Neyruz (FR) 2211 46.768 7.0649 4 +CH 1741 Cottens FR Canton de Fribourg FR Sarine District 1004 Cottens (FR) 2186 46.7532 7.0362 4 +CH 1742 Autigny Canton de Fribourg FR Sarine District 1004 Autigny 2173 46.7393 7.0283 4 +CH 1744 Chénens Canton de Fribourg FR Sarine District 1004 Chénens 2177 46.7432 6.9966 4 +CH 1745 Lentigny Canton de Fribourg FR Sarine District 1004 La Brillaz 2234 46.7599 7.0019 4 +CH 1746 Prez-vers-Noréaz Canton de Fribourg FR Sarine District 1004 Prez 2237 46.7857 7.0128 4 +CH 1747 Corserey Canton de Fribourg FR Sarine District 1004 Prez 2237 46.7719 6.989 4 +CH 1752 Villars-sur-Glâne Canton de Fribourg FR Sarine District 1004 Villars-sur-Glâne 2228 46.7943 7.1252 4 +CH 1752 Villars-sur-Glâne 1 Canton de Fribourg FR Sarine District 1004 Villars-sur-Glâne 2228 46.7944 7.1251 +CH 1753 Matran Canton de Fribourg FR Sarine District 1004 Matran 2208 46.7869 7.0916 4 +CH 1754 Rosé Canton de Fribourg FR Sarine District 1004 Avry 2174 46.784 7.0629 4 +CH 1754 Avry-sur-Matran Canton de Fribourg FR Sarine District 1004 Avry 2174 46.7886 7.066 4 +CH 1754 Corjolens Canton de Fribourg FR Sarine District 1004 Avry 2174 46.7863 7.0425 4 +CH 1754 Avry-Centre FR Canton de Fribourg FR Sarine District 1004 Avry 2174 46.7881 7.0603 6 +CH 1756 Onnens FR Canton de Fribourg FR Sarine District 1004 La Brillaz 2234 46.7724 7.0377 4 +CH 1756 Lovens Canton de Fribourg FR Sarine District 1004 La Brillaz 2234 46.7726 7.0189 4 +CH 1757 Noréaz Canton de Fribourg FR Sarine District 1004 Prez 2237 46.8019 7.0365 4 +CH 1762 Givisiez Canton de Fribourg FR Sarine District 1004 Givisiez 2197 46.8127 7.1255 4 +CH 1763 Granges-Paccot Canton de Fribourg FR Sarine District 1004 Granges-Paccot 2198 46.8236 7.1483 4 +CH 1772 Nierlet-les-Bois Canton de Fribourg FR Sarine District 1004 Ponthaux 2217 46.8169 7.0581 4 +CH 1772 Grolley Canton de Fribourg FR Sarine District 1004 Grolley 2200 46.8347 7.0658 4 +CH 1772 Ponthaux Canton de Fribourg FR Sarine District 1004 Ponthaux 2217 46.817 7.0411 4 +CH 1782 Formangueires Canton de Fribourg FR Sarine District 1004 La Sonnaz 2235 46.8279 7.1224 4 +CH 1782 Autafond Canton de Fribourg FR Sarine District 1004 Belfaux 2175 46.8162 7.0759 4 +CH 1782 Lossy Canton de Fribourg FR Sarine District 1004 La Sonnaz 2235 46.8347 7.1061 4 +CH 1782 Belfaux Canton de Fribourg FR Sarine District 1004 Belfaux 2175 46.8288 7.095 4 +CH 1782 Cormagens Canton de Fribourg FR Sarine District 1004 La Sonnaz 2235 46.8359 7.1377 4 +CH 1782 La Corbaz Canton de Fribourg FR Sarine District 1004 La Sonnaz 2235 46.8412 7.1161 4 +CH 1583 Villarepos Canton de Fribourg FR Lake District 1005 Courtepin 2254 46.8823 7.08 4 +CH 1721 Cournillens Canton de Fribourg FR Lake District 1005 Misery-Courtion 2272 46.8555 7.1002 4 +CH 1721 Misery-Courtion Canton de Fribourg FR Lake District 1005 Misery-Courtion 2272 46.8582 7.0849 6 +CH 1721 Misery Canton de Fribourg FR Lake District 1005 Misery-Courtion 2272 46.851 7.0682 4 +CH 1721 Cormérod Canton de Fribourg FR Lake District 1005 Misery-Courtion 2272 46.8667 7.0857 4 +CH 1721 Courtion Canton de Fribourg FR Lake District 1005 Misery-Courtion 2272 46.8595 7.0705 4 +CH 1783 Pensier Canton de Fribourg FR Lake District 1005 Courtepin 2254 46.8471 7.1292 4 +CH 1783 Barberêche Canton de Fribourg FR Lake District 1005 Courtepin 2254 46.8638 7.1604 4 +CH 1784 Courtepin Canton de Fribourg FR Lake District 1005 Courtepin 2254 46.8615 7.1242 4 +CH 1784 Wallenried Canton de Fribourg FR Lake District 1005 Courtepin 2254 46.876 7.1116 4 +CH 1785 Cressier FR Canton de Fribourg FR Lake District 1005 Cressier (FR) 2257 46.898 7.1379 4 +CH 1786 Sugiez Canton de Fribourg FR Lake District 1005 Mont-Vully 2284 46.9687 7.112 4 +CH 1787 Môtier (Vully) Canton de Fribourg FR Lake District 1005 Mont-Vully 2284 46.9393 7.0807 4 +CH 1787 Mur (Vully) FR Canton de Fribourg FR Lake District 1005 Mont-Vully 2284 46.9456 7.0643 4 +CH 1788 Praz (Vully) Canton de Fribourg FR Lake District 1005 Mont-Vully 2284 46.9495 7.1032 4 +CH 1789 Lugnorre Canton de Fribourg FR Lake District 1005 Mont-Vully 2284 46.9586 7.0733 4 +CH 1791 Courtaman Canton de Fribourg FR Lake District 1005 Courtepin 2254 46.8711 7.1316 4 +CH 1792 Cordast Canton de Fribourg FR Lake District 1005 Gurmels 2262 46.8733 7.1512 4 +CH 1792 Guschelmuth Canton de Fribourg FR Lake District 1005 Gurmels 2262 46.8848 7.1397 4 +CH 1793 Jeuss Canton de Fribourg FR Lake District 1005 Murten 2275 46.9124 7.1744 4 +CH 1794 Salvenach Canton de Fribourg FR Lake District 1005 Murten 2275 46.9141 7.1523 4 +CH 1795 Courlevon Canton de Fribourg FR Lake District 1005 Murten 2275 46.891 7.1105 4 +CH 1796 Courgevaux Canton de Fribourg FR Lake District 1005 Courgevaux 2250 46.9043 7.1047 4 +CH 3206 Wallenbuch Canton de Fribourg FR Lake District 1005 Gurmels 2262 46.9318 7.2249 4 +CH 3210 Kerzers Canton de Fribourg FR Lake District 1005 Kerzers 2265 46.9806 7.1959 4 +CH 3212 Gurmels Canton de Fribourg FR Lake District 1005 Gurmels 2262 46.8903 7.1725 4 +CH 3212 Kleingurmels Canton de Fribourg FR Lake District 1005 Gurmels 2262 46.8845 7.187 4 +CH 3213 Kleinbösingen Canton de Fribourg FR Lake District 1005 Kleinbösingen 2266 46.893 7.2024 3 +CH 3213 Liebistorf Canton de Fribourg FR Lake District 1005 Gurmels 2262 46.9113 7.1931 4 +CH 3214 Ulmiz Canton de Fribourg FR Lake District 1005 Ulmiz 2278 46.9299 7.1986 4 +CH 3215 Gempenach Canton de Fribourg FR Lake District 1005 Murten 2275 46.9432 7.1986 4 +CH 3215 Lurtigen Canton de Fribourg FR Lake District 1005 Murten 2275 46.9284 7.1722 4 +CH 3215 Büchslen Canton de Fribourg FR Lake District 1005 Murten 2275 46.9449 7.1787 4 +CH 3216 Agriswil Canton de Fribourg FR Lake District 1005 Ried bei Kerzers 2276 46.9544 7.2013 4 +CH 3216 Ried b. Kerzers Canton de Fribourg FR Lake District 1005 Ried bei Kerzers 2276 46.9653 7.1762 3 +CH 3280 Greng Canton de Fribourg FR Lake District 1005 Greng 2261 46.9191 7.0865 4 +CH 3280 Murten Canton de Fribourg FR Lake District 1005 Murten 2275 46.9304 7.1335 4 +CH 3280 Meyriez Canton de Fribourg FR Lake District 1005 Meyriez 2271 46.9288 7.1007 4 +CH 3284 Fräschels Canton de Fribourg FR Lake District 1005 Fräschels 2258 46.9979 7.2082 4 +CH 3285 Galmiz Canton de Fribourg FR Lake District 1005 Murten 2275 46.9599 7.1466 4 +CH 3286 Muntelier Canton de Fribourg FR Lake District 1005 Muntelier 2274 46.9424 7.128 4 +CH 1712 Tafers Canton de Fribourg FR Sense District 1006 Tafers 2306 46.8126 7.2246 4 +CH 1713 St. Antoni Canton de Fribourg FR Sense District 1006 Tafers 2306 46.8192 7.2671 4 +CH 1714 Heitenried Canton de Fribourg FR Sense District 1006 Heitenried 2296 46.8279 7.3 4 +CH 1715 Alterswil FR Canton de Fribourg FR Sense District 1006 Tafers 2306 46.7892 7.274 4 +CH 1716 Plaffeien Canton de Fribourg FR Sense District 1006 Plaffeien 2299 46.7271 7.2874 4 +CH 1716 Oberschrot Canton de Fribourg FR Sense District 1006 Plaffeien 2299 46.7369 7.2697 4 +CH 1716 Schwarzsee Canton de Fribourg FR Sense District 1006 Plaffeien 2299 46.6724 7.2892 4 +CH 1717 St. Ursen Canton de Fribourg FR Sense District 1006 St. Ursen 2304 46.7884 7.2194 4 +CH 1718 Rechthalten Canton de Fribourg FR Sense District 1006 Rechthalten 2301 46.7653 7.2482 4 +CH 1719 Brünisried Canton de Fribourg FR Sense District 1006 Brünisried 2292 46.7573 7.2764 4 +CH 1719 Zumholz Canton de Fribourg FR Sense District 1006 Plaffeien 2299 46.7566 7.2937 4 +CH 1734 Tentlingen Canton de Fribourg FR Sense District 1006 Tentlingen 2307 46.7676 7.2 4 +CH 1735 Giffers Canton de Fribourg FR Sense District 1006 Giffers 2294 46.7549 7.2246 4 +CH 1736 St. Silvester Canton de Fribourg FR Sense District 1006 St. Silvester 2303 46.738 7.2209 4 +CH 1737 Plasselb Canton de Fribourg FR Sense District 1006 Plasselb 2300 46.7116 7.2436 4 +CH 3175 Flamatt Canton de Fribourg FR Sense District 1006 Wünnewil-Flamatt 2309 46.889 7.3199 4 +CH 3178 Bösingen Canton de Fribourg FR Sense District 1006 Bösingen 2295 46.8853 7.234 4 +CH 3182 Ueberstorf Canton de Fribourg FR Sense District 1006 Ueberstorf 2308 46.8694 7.3262 4 +CH 3184 Wünnewil Canton de Fribourg FR Sense District 1006 Wünnewil-Flamatt 2309 46.8757 7.2791 4 +CH 3185 Schmitten FR Canton de Fribourg FR Sense District 1006 Schmitten (FR) 2305 46.8504 7.247 4 +CH 3186 Düdingen Canton de Fribourg FR Sense District 1006 Düdingen 2293 46.8462 7.1915 4 +CH 1609 St-Martin FR Canton de Fribourg FR Veveyse District 1007 Saint-Martin (FR) 2335 46.5742 6.882 4 +CH 1609 Besencens Canton de Fribourg FR Veveyse District 1007 Saint-Martin (FR) 2335 46.5878 6.8685 4 +CH 1609 Fiaugères Canton de Fribourg FR Veveyse District 1007 Saint-Martin (FR) 2335 46.5894 6.8914 4 +CH 1609 Fiaugères Canton de Fribourg FR Veveyse District 1007 Saint-Martin (FR) 2335 46.5894 6.8914 4 +CH 1611 Le Crêt-près-Semsales Canton de Fribourg FR Veveyse District 1007 La Verrerie 2338 46.607 6.919 4 +CH 1614 Granges (Veveyse) Canton de Fribourg FR Veveyse District 1007 Granges (Veveyse) 2328 46.523 6.8263 4 +CH 1615 Bossonnens Canton de Fribourg FR Veveyse District 1007 Bossonnens 2323 46.5289 6.8481 4 +CH 1616 Attalens Canton de Fribourg FR Veveyse District 1007 Attalens 2321 46.5078 6.8541 4 +CH 1617 Tatroz Canton de Fribourg FR Veveyse District 1007 Attalens 2321 46.5285 6.8671 4 +CH 1617 Remaufens Canton de Fribourg FR Veveyse District 1007 Remaufens 2333 46.5371 6.8826 4 +CH 1618 Châtel-St-Denis Canton de Fribourg FR Veveyse District 1007 Châtel-Saint-Denis 2325 46.5344 6.937 4 +CH 1619 Les Paccots Canton de Fribourg FR Veveyse District 1007 Châtel-Saint-Denis 2325 46.5073 6.9663 4 +CH 1623 Semsales Canton de Fribourg FR Veveyse District 1007 Semsales 2336 46.5699 6.9517 4 +CH 1624 La Verrerie Canton de Fribourg FR Veveyse District 1007 La Verrerie 2338 46.5878 6.9211 4 +CH 1624 Progens Canton de Fribourg FR Veveyse District 1007 Semsales 2336 46.5857 6.9184 4 +CH 1624 Progens Canton de Fribourg FR Veveyse District 1007 La Verrerie 2338 46.5857 6.9184 4 +CH 1624 Grattavache Canton de Fribourg FR Veveyse District 1007 La Verrerie 2338 46.5964 6.9267 4 +CH 1699 Porsel Canton de Fribourg FR Veveyse District 1007 Le Flon 2337 46.6018 6.8706 4 +CH 1699 Pont (Veveyse) Canton de Fribourg FR Veveyse District 1007 Le Flon 2337 46.5913 6.8522 4 +CH 1699 Bouloz Canton de Fribourg FR Veveyse District 1007 Le Flon 2337 46.6148 6.8877 4 +CH 1699 Porsel Canton de Fribourg FR Veveyse District 1007 Le Flon 2337 46.6018 6.8706 4 +CH 1200 Genève Genève GE Geneva 2500 Genève 6621 46.2022 6.1457 4 +CH 1201 Genève Genève GE Geneva 2500 Genève 6621 46.2107 6.1469 4 +CH 1202 Genève Genève GE Geneva 2500 Genève 6621 46.221 6.1432 4 +CH 1203 Genève Genève GE Geneva 2500 Genève 6621 46.2079 6.1221 4 +CH 1204 Genève Genève GE Geneva 2500 Genève 6621 46.2027 6.1457 4 +CH 1205 Genève Genève GE Geneva 2500 Genève 6621 46.1961 6.1403 4 +CH 1206 Genève Genève GE Geneva 2500 Genève 6621 46.1894 6.1574 4 +CH 1207 Genève Genève GE Geneva 2500 Genève 6621 46.2066 6.1624 4 +CH 1208 Genève Genève GE Geneva 2500 Genève 6621 46.1984 6.1676 4 +CH 1209 Genève Genève GE Geneva 2500 Genève 6621 46.2215 6.1232 4 +CH 1211 Genève 70 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 84 Votations Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 14 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 20 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 5 Genève GE Geneva 2500 Le Grand-Saconnex 6623 46.2358 6.1192 +CH 1211 Genève 22 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 28 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 27 Genève GE Geneva 2500 Pregny-Chambésy 6634 46.2379 6.1424 +CH 1211 Genève 1 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 11 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 26 Genève GE Geneva 2500 Lancy 6628 46.1897 6.1158 +CH 1211 Genève 23 Genève GE Geneva 2500 Meyrin 6630 46.2322 6.0791 +CH 1211 Genève 71 CS CP Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 80 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 73 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 84 Votation Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 4 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 6 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 2 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 19 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 12 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 13 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 10 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 3 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1211 Genève 8 Genève GE Geneva 2500 Genève 6621 46.2058 6.1416 +CH 1212 Grand-Lancy Genève GE Geneva 2500 Lancy 6628 46.178 6.122 4 +CH 1212 Grand-Lancy 1 Genève GE Geneva 2500 Lancy 6628 46.1897 6.1158 +CH 1213 Onex Genève GE Geneva 2500 Onex 6631 46.1854 6.1002 4 +CH 1213 Petit-Lancy 1 Genève GE Geneva 2500 Lancy 6628 46.1897 6.1158 6 +CH 1213 Petit-Lancy Genève GE Geneva 2500 Lancy 6628 46.1939 6.1159 4 +CH 1214 Vernier Genève GE Geneva 2500 Vernier 6643 46.2139 6.0796 4 +CH 1215 Genève 15 Aéroport Genève GE Geneva 2500 Meyrin 6630 46.2347 6.1064 +CH 1215 Genève Genève GE Geneva 2500 Le Grand-Saconnex 6623 46.2358 6.1192 4 +CH 1216 Cointrin Genève GE Geneva 2500 Meyrin 6630 46.224 6.1062 4 +CH 1217 Meyrin Genève GE Geneva 2500 Meyrin 6630 46.2339 6.0743 4 +CH 1217 Meyrin 1 Genève GE Geneva 2500 Meyrin 6630 46.2322 6.0791 +CH 1218 Le Grand-Saconnex Genève GE Geneva 2500 Le Grand-Saconnex 6623 46.2338 6.1221 4 +CH 1219 Aïre Genève GE Geneva 2500 Vernier 6643 46.1986 6.0985 4 +CH 1219 Le Lignon Genève GE Geneva 2500 Vernier 6643 46.2067 6.0984 4 +CH 1219 Châtelaine Genève GE Geneva 2500 Vernier 6643 46.2138 6.1087 4 +CH 1220 Les Avanchets Genève GE Geneva 2500 Vernier 6643 46.2207 6.1091 4 +CH 1222 Vésenaz Genève GE Geneva 2500 Collonge-Bellerive 6616 46.2454 6.2008 4 +CH 1223 Cologny Genève GE Geneva 2500 Cologny 6617 46.2228 6.1808 4 +CH 1224 Chêne-Bougeries Genève GE Geneva 2500 Chêne-Bougeries 6612 46.1995 6.1858 4 +CH 1225 Chêne-Bourg Genève GE Geneva 2500 Chêne-Bourg 6613 46.1974 6.197 4 +CH 1226 Thônex Genève GE Geneva 2500 Thônex 6640 46.1961 6.2046 4 +CH 1227 Les Acacias Genève GE Geneva 2500 Genève 6621 46.1926 6.1321 4 +CH 1227 Carouge GE Genève GE Geneva 2500 Carouge (GE) 6608 46.1817 6.1403 3 +CH 1228 Plan-les-Ouates Genève GE Geneva 2500 Plan-les-Ouates 6633 46.1642 6.118 4 +CH 1231 Conches Genève GE Geneva 2500 Chêne-Bougeries 6612 46.1855 6.1759 4 +CH 1232 Confignon Genève GE Geneva 2500 Confignon 6618 46.1743 6.0888 4 +CH 1233 Bernex Genève GE Geneva 2500 Bernex 6607 46.1785 6.0686 4 +CH 1234 Vessy Genève GE Geneva 2500 Veyrier 6645 46.1742 6.159 4 +CH 1236 Cartigny Genève GE Geneva 2500 Cartigny 6609 46.1759 6.0309 4 +CH 1237 Avully Genève GE Geneva 2500 Avully 6603 46.1675 5.9985 4 +CH 1239 Collex Genève GE Geneva 2500 Collex-Bossy 6615 46.2796 6.1212 4 +CH 1240 Genève Genève GE Geneva 2500 Genève 6621 46.2022 6.1457 +CH 1241 Puplinge Genève GE Geneva 2500 Puplinge 6636 46.2108 6.2322 4 +CH 1242 Satigny Genève GE Geneva 2500 Satigny 6638 46.2143 6.035 4 +CH 1243 Presinge Genève GE Geneva 2500 Presinge 6635 46.218 6.2602 4 +CH 1244 Choulex Genève GE Geneva 2500 Choulex 6614 46.2263 6.2238 4 +CH 1245 Collonge-Bellerive Genève GE Geneva 2500 Collonge-Bellerive 6616 46.2587 6.1965 4 +CH 1246 Corsier GE Genève GE Geneva 2500 Corsier (GE) 6619 46.2659 6.2191 4 +CH 1247 Anières Genève GE Geneva 2500 Anières 6602 46.2808 6.2226 4 +CH 1248 Hermance Genève GE Geneva 2500 Hermance 6625 46.2988 6.2325 4 +CH 1251 Gy Genève GE Geneva 2500 Gy 6624 46.2519 6.27 4 +CH 1252 Meinier Genève GE Geneva 2500 Meinier 6629 46.243 6.2351 4 +CH 1253 Vandoeuvres Genève GE Geneva 2500 Vandoeuvres 6642 46.219 6.2037 4 +CH 1254 Jussy Genève GE Geneva 2500 Jussy 6626 46.2372 6.2791 4 +CH 1255 Veyrier Genève GE Geneva 2500 Veyrier 6645 46.1684 6.1769 4 +CH 1256 Troinex Genève GE Geneva 2500 Troinex 6641 46.1593 6.1506 4 +CH 1257 La Croix-de-Rozon Genève GE Geneva 2500 Bardonnex 6605 46.149 6.1207 4 +CH 1258 Perly Genève GE Geneva 2500 Perly-Certoux 6632 46.1575 6.0889 4 +CH 1281 Russin Genève GE Geneva 2500 Russin 6637 46.1939 6.0139 4 +CH 1283 Dardagny Genève GE Geneva 2500 Dardagny 6620 46.2002 5.9878 4 +CH 1283 La Plaine Genève GE Geneva 2500 Dardagny 6620 46.1792 6.0032 4 +CH 1284 Chancy Genève GE Geneva 2500 Chancy 6611 46.1475 5.9787 4 +CH 1285 Athenaz (Avusy) Genève GE Geneva 2500 Avusy 6604 46.1496 6.0086 4 +CH 1286 Soral Genève GE Geneva 2500 Soral 6639 46.1481 6.0474 4 +CH 1287 Laconnex Genève GE Geneva 2500 Laconnex 6627 46.1589 6.0341 4 +CH 1288 Aire-la-Ville Genève GE Geneva 2500 Aire-la-Ville 6601 46.1902 6.0422 4 +CH 1290 Versoix Genève GE Geneva 2500 Versoix 6644 46.2877 6.1559 4 +CH 1292 Chambésy Genève GE Geneva 2500 Pregny-Chambésy 6634 46.2375 6.1511 4 +CH 1293 Bellevue Genève GE Geneva 2500 Bellevue 6606 46.2545 6.1455 4 +CH 1294 Genthod Genève GE Geneva 2500 Genthod 6622 46.2637 6.1614 4 +CH 1298 Céligny Genève GE Geneva 2500 Céligny 6610 46.3473 6.2052 4 +CH 8750 Klöntal Kanton Glarus GL Glarus 800 Glarus 1632 47.019 8.9682 4 +CH 8750 Glarus Kanton Glarus GL Glarus 800 Glarus 1632 47.0369 9.0546 4 +CH 8750 Riedern Kanton Glarus GL Glarus 800 Glarus 1632 47.0496 9.0394 4 +CH 8752 Näfels Kanton Glarus GL Glarus 800 Glarus Nord 1630 47.0865 9.0053 4 +CH 8753 Mollis Kanton Glarus GL Glarus 800 Glarus Nord 1630 47.0938 9.0914 4 +CH 8754 Netstal Kanton Glarus GL Glarus 800 Glarus 1632 47.0638 9.0417 4 +CH 8755 Ennenda Kanton Glarus GL Glarus 800 Glarus 1632 47.0445 9.0986 4 +CH 8756 Mitlödi Kanton Glarus GL Glarus 800 Glarus Süd 1631 47.0154 9.0805 4 +CH 8757 Filzbach Kanton Glarus GL Glarus 800 Glarus Nord 1630 47.1015 9.1253 4 +CH 8758 Obstalden Kanton Glarus GL Glarus 800 Glarus Nord 1630 47.0772 9.1536 4 +CH 8759 Netstal Kanton Glarus GL Glarus 800 Glarus 1632 47.0634 9.0573 +CH 8762 Sool Kanton Glarus GL Glarus 800 Glarus Süd 1631 47.0125 9.1249 4 +CH 8762 Schwanden GL Kanton Glarus GL Glarus 800 Glarus Süd 1631 46.9738 9.0849 4 +CH 8762 Schwändi b. Schwanden Kanton Glarus GL Glarus 800 Glarus Süd 1631 47.0131 9.0564 3 +CH 8765 Engi Kanton Glarus GL Glarus 800 Glarus Süd 1631 46.9983 9.1692 4 +CH 8766 Matt Kanton Glarus GL Glarus 800 Glarus Süd 1631 46.9713 9.198 4 +CH 8767 Elm Kanton Glarus GL Glarus 800 Glarus Süd 1631 46.9061 9.1564 4 +CH 8772 Nidfurn Kanton Glarus GL Glarus 800 Glarus Süd 1631 46.9876 9.0435 4 +CH 8773 Haslen GL Kanton Glarus GL Glarus 800 Glarus Süd 1631 46.9595 9.0726 4 +CH 8774 Leuggelbach Kanton Glarus GL Glarus 800 Glarus Süd 1631 46.9787 9.0363 4 +CH 8775 Luchsingen Kanton Glarus GL Glarus 800 Glarus Süd 1631 46.9764 9.0012 4 +CH 8775 Luchsingen-Hätzingen Kanton Glarus GL Glarus 800 Glarus Süd 1631 46.9271 9.0779 +CH 8775 Hätzingen Kanton Glarus GL Glarus 800 Glarus Süd 1631 46.9603 9.0493 4 +CH 8777 Betschwanden Kanton Glarus GL Glarus 800 Glarus Süd 1631 46.9283 9.0549 4 +CH 8777 Diesbach GL Kanton Glarus GL Glarus 800 Glarus Süd 1631 46.944 9.0511 4 +CH 8782 Rüti GL Kanton Glarus GL Glarus 800 Glarus Süd 1631 46.9316 9.0211 4 +CH 8783 Linthal Kanton Glarus GL Glarus 800 Glarus Süd 1631 46.8631 8.979 4 +CH 8784 Braunwald Kanton Glarus GL Glarus 800 Glarus Süd 1631 46.9458 8.9845 4 +CH 8865 Bilten Kanton Glarus GL Glarus 800 Glarus Nord 1630 47.1479 9.0078 4 +CH 8867 Niederurnen Kanton Glarus GL Glarus 800 Glarus Nord 1630 47.1265 9.0208 4 +CH 8868 Oberurnen Kanton Glarus GL Glarus 800 Glarus Nord 1630 47.1153 9.0366 4 +CH 8874 Mühlehorn Kanton Glarus GL Glarus 800 Glarus Nord 1630 47.1027 9.1749 4 +CH 7077 Valbella Kanton Graubünden GR Region Albula 1841 Vaz/Obervaz 3506 46.7522 9.5502 4 +CH 7078 Lenzerheide/Lai Kanton Graubünden GR Region Albula 1841 Vaz/Obervaz 3506 46.7317 9.5481 4 +CH 7082 Vaz/Obervaz Kanton Graubünden GR Region Albula 1841 Vaz/Obervaz 3506 46.6974 9.5183 4 +CH 7083 Lantsch/Lenz Kanton Graubünden GR Region Albula 1841 Lantsch/Lenz 3513 46.707 9.5794 4 +CH 7084 Brienz/Brinzauls GR Kanton Graubünden GR Region Albula 1841 Albula/Alvra 3542 46.6837 9.6028 4 +CH 7450 Tiefencastel Kanton Graubünden GR Region Albula 1841 Albula/Alvra 3542 46.6483 9.6037 4 +CH 7450 Tiefencastel Kanton Graubünden GR Region Albula 1841 Vaz/Obervaz 3506 46.6483 9.6037 4 +CH 7451 Alvaschein Kanton Graubünden GR Region Albula 1841 Albula/Alvra 3542 46.6778 9.5467 4 +CH 7452 Cunter Kanton Graubünden GR Region Albula 1841 Surses 3543 46.6202 9.6043 4 +CH 7453 Tinizong Kanton Graubünden GR Region Albula 1841 Surses 3543 46.5868 9.6608 4 +CH 7454 Rona Kanton Graubünden GR Region Albula 1841 Surses 3543 46.5567 9.6608 4 +CH 7455 Mulegns Kanton Graubünden GR Region Albula 1841 Surses 3543 46.5044 9.5795 4 +CH 7456 Marmorera Kanton Graubünden GR Region Albula 1841 Surses 3543 46.4997 9.6473 4 +CH 7456 Sur Kanton Graubünden GR Region Albula 1841 Surses 3543 46.528 9.6632 4 +CH 7457 Bivio Kanton Graubünden GR Region Albula 1841 Surses 3543 46.4578 9.6618 4 +CH 7458 Mon Kanton Graubünden GR Region Albula 1841 Albula/Alvra 3542 46.6487 9.5484 4 +CH 7459 Stierva Kanton Graubünden GR Region Albula 1841 Albula/Alvra 3542 46.657 9.5204 4 +CH 7460 Savognin Kanton Graubünden GR Region Albula 1841 Surses 3543 46.5814 9.6024 4 +CH 7462 Salouf Kanton Graubünden GR Region Albula 1841 Surses 3543 46.6124 9.533 4 +CH 7463 Riom Kanton Graubünden GR Region Albula 1841 Surses 3543 46.6224 9.5892 4 +CH 7463 Riom Kanton Graubünden GR Region Albula 1841 Surses 3543 46.6224 9.5892 4 +CH 7464 Parsonz Kanton Graubünden GR Region Albula 1841 Surses 3543 46.5567 9.5423 4 +CH 7472 Surava Kanton Graubünden GR Region Albula 1841 Albula/Alvra 3542 46.6572 9.6172 4 +CH 7473 Alvaneu Bad Kanton Graubünden GR Region Albula 1841 Albula/Alvra 3542 46.6686 9.6491 4 +CH 7477 Filisur Kanton Graubünden GR Region Albula 1841 Bergün Filisur 3544 46.6488 9.6882 4 +CH 7482 Stugl/Stuls Kanton Graubünden GR Region Albula 1841 Bergün Filisur 3544 46.6575 9.7426 4 +CH 7482 Bergün/Bravuogn Kanton Graubünden GR Region Albula 1841 Bergün Filisur 3544 46.6389 9.8055 4 +CH 7482 Preda Kanton Graubünden GR Region Albula 1841 Bergün Filisur 3544 46.587 9.7729 4 +CH 7484 Latsch Kanton Graubünden GR Region Albula 1841 Bergün Filisur 3544 46.6377 9.7553 4 +CH 7492 Alvaneu Dorf Kanton Graubünden GR Region Albula 1841 Albula/Alvra 3542 46.7156 9.6443 4 +CH 7493 Schmitten (Albula) Kanton Graubünden GR Region Albula 1841 Schmitten (GR) 3514 46.7042 9.6778 4 +CH 7710 Alp Grüm Kanton Graubünden GR Region Bernina 1842 Poschiavo 3561 46.375 10.0326 4 +CH 7710 Ospizio Bernina Kanton Graubünden GR Region Bernina 1842 Poschiavo 3561 46.3952 10.0196 4 +CH 7741 S. Carlo (Poschiavo) Kanton Graubünden GR Region Bernina 1842 Poschiavo 3561 46.3567 10.082 4 +CH 7742 Sfazù Kanton Graubünden GR Region Bernina 1842 Poschiavo 3561 46.3989 10.1197 4 +CH 7742 Poschiavo Kanton Graubünden GR Region Bernina 1842 Poschiavo 3561 46.3379 10.0388 4 +CH 7742 La Rösa Kanton Graubünden GR Region Bernina 1842 Poschiavo 3561 46.4087 10.0774 4 +CH 7743 Brusio Kanton Graubünden GR Region Bernina 1842 Brusio 3551 46.2753 10.1232 4 +CH 7743 Miralago Kanton Graubünden GR Region Bernina 1842 Poschiavo 3561 46.2731 10.1009 4 +CH 7744 Campocologno Kanton Graubünden GR Region Bernina 1842 Brusio 3551 46.2362 10.142 4 +CH 7745 Li Curt Kanton Graubünden GR Region Bernina 1842 Poschiavo 3561 46.2988 10.0336 4 +CH 7746 Le Prese Kanton Graubünden GR Region Bernina 1842 Poschiavo 3561 46.2834 10.0863 4 +CH 7747 Viano Kanton Graubünden GR Region Bernina 1842 Brusio 3551 46.2612 10.1523 4 +CH 7748 Campascio Kanton Graubünden GR Region Bernina 1842 Brusio 3551 46.2381 10.0953 4 +CH 7527 Brail Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Zernez 3746 46.6765 10.0189 4 +CH 7530 Zernez Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Zernez 3746 46.6705 10.1404 4 +CH 7532 Tschierv Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Val Müstair 3847 46.6422 10.2981 4 +CH 7533 Fuldera Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Val Müstair 3847 46.6048 10.3451 4 +CH 7534 Lü Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Val Müstair 3847 46.6355 10.3724 4 +CH 7535 Valchava Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Val Müstair 3847 46.6022 10.3859 4 +CH 7536 Sta. Maria Val Müstair Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Val Müstair 3847 46.5785 10.3704 4 +CH 7537 Müstair Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Val Müstair 3847 46.615 10.4555 4 +CH 7542 Susch Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Zernez 3746 46.751 10.0223 4 +CH 7543 Lavin Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Zernez 3746 46.7828 10.1073 4 +CH 7545 Guarda Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Scuol 3762 46.8081 10.1422 4 +CH 7546 Ardez Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Scuol 3762 46.7698 10.1857 4 +CH 7550 Scuol Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Scuol 3762 46.7346 10.3263 4 +CH 7551 Ftan Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Scuol 3762 46.8259 10.2279 4 +CH 7552 Vulpera Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Scuol 3762 46.7873 10.286 4 +CH 7553 Tarasp Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Scuol 3762 46.7396 10.2465 4 +CH 7554 Sent Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Scuol 3762 46.8251 10.3404 4 +CH 7554 Crusch Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Scuol 3762 46.7346 10.3264 4 +CH 7556 Ramosch Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Valsot 3764 46.8583 10.33 4 +CH 7556 Ramosch Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Valsot 3764 46.8583 10.33 4 +CH 7557 Vnà Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Valsot 3764 46.8802 10.3512 4 +CH 7558 Strada Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Valsot 3764 46.8407 10.4386 4 +CH 7559 Tschlin Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Valsot 3764 46.9061 10.4097 4 +CH 7560 Martina Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Valsot 3764 46.9159 10.4553 4 +CH 7562 Samnaun-Compatsch Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Samnaun 3752 46.9633 10.4023 4 +CH 7563 Samnaun Dorf Kanton Graubünden GR Region Engiadina Bassa / Val Müstair 1843 Samnaun 3752 46.9496 10.358 4 +CH 7012 Felsberg Kanton Graubünden GR Region Imboden 1844 Felsberg 3731 46.8564 9.4625 4 +CH 7013 Domat/Ems Kanton Graubünden GR Region Imboden 1844 Domat/Ems 3722 46.8197 9.4547 4 +CH 7014 Trin Kanton Graubünden GR Region Imboden 1844 Trin 3734 46.8686 9.3291 4 +CH 7015 Tamins Kanton Graubünden GR Region Imboden 1844 Tamins 3733 46.844 9.4086 4 +CH 7016 Trin Mulin Kanton Graubünden GR Region Imboden 1844 Trin 3734 46.8224 9.3327 4 +CH 7017 Flims Dorf Kanton Graubünden GR Region Imboden 1844 Flims 3732 46.864 9.2694 4 +CH 7018 Flims Waldhaus Kanton Graubünden GR Region Imboden 1844 Flims 3732 46.8248 9.2871 4 +CH 7019 Fidaz Kanton Graubünden GR Region Imboden 1844 Flims 3732 46.8455 9.319 4 +CH 7402 Bonaduz Kanton Graubünden GR Region Imboden 1844 Bonaduz 3721 46.7939 9.3699 4 +CH 7403 Rhäzüns Kanton Graubünden GR Region Imboden 1844 Rhäzüns 3723 46.7862 9.3922 4 +CH 7202 Says Kanton Graubünden GR Region Landquart 1845 Trimmis 3945 46.9013 9.597 4 +CH 7203 Trimmis Kanton Graubünden GR Region Landquart 1845 Trimmis 3945 46.8892 9.5728 4 +CH 7204 Untervaz Kanton Graubünden GR Region Landquart 1845 Untervaz 3946 46.9206 9.5159 4 +CH 7205 Zizers Kanton Graubünden GR Region Landquart 1845 Zizers 3947 46.9343 9.5726 4 +CH 7206 Igis Kanton Graubünden GR Region Landquart 1845 Landquart 3955 46.9452 9.5807 4 +CH 7208 Malans GR Kanton Graubünden GR Region Landquart 1845 Malans 3954 46.9888 9.5803 4 +CH 7302 Landquart Kanton Graubünden GR Region Landquart 1845 Landquart 3955 46.9616 9.5772 4 +CH 7303 Mastrils Kanton Graubünden GR Region Landquart 1845 Landquart 3955 46.9589 9.5295 4 +CH 7304 Maienfeld Kanton Graubünden GR Region Landquart 1845 Maienfeld 3953 47.0305 9.5629 4 +CH 7306 Fläsch Kanton Graubünden GR Region Landquart 1845 Fläsch 3951 47.0395 9.5053 4 +CH 7307 Jenins Kanton Graubünden GR Region Landquart 1845 Jenins 3952 47.0117 9.5744 4 +CH 7500 St. Moritz Kanton Graubünden GR Region Maloja 1846 St. Moritz 3787 46.4905 9.8174 4 +CH 7500 St. Moritz 3 Kanton Graubünden GR Region Maloja 1846 St. Moritz 3787 46.4903 9.8169 +CH 7500 St. Moritz 1 Kanton Graubünden GR Region Maloja 1846 St. Moritz 3787 46.4903 9.8169 +CH 7502 Bever Kanton Graubünden GR Region Maloja 1846 Bever 3781 46.543 9.8005 4 +CH 7502 Bever Kanton Graubünden GR Region Maloja 1846 Bever 3781 46.543 9.8005 4 +CH 7503 Samedan Kanton Graubünden GR Region Maloja 1846 Samedan 3786 46.5332 9.8492 4 +CH 7504 Pontresina Kanton Graubünden GR Region Maloja 1846 Pontresina 3784 46.4311 9.9249 4 +CH 7505 Celerina/Schlarigna Kanton Graubünden GR Region Maloja 1846 Celerina/Schlarigna 3782 46.5097 9.8436 4 +CH 7512 Champfèr Kanton Graubünden GR Region Maloja 1846 Silvaplana 3790 46.4766 9.8058 4 +CH 7513 Silvaplana-Surlej Kanton Graubünden GR Region Maloja 1846 Silvaplana 3790 46.4447 9.82 4 +CH 7513 Silvaplana Kanton Graubünden GR Region Maloja 1846 Silvaplana 3790 46.474 9.7609 4 +CH 7514 Sils/Segl Maria Kanton Graubünden GR Region Maloja 1846 Sils im Engadin/Segl 3789 46.4347 9.7786 4 +CH 7514 Fex Kanton Graubünden GR Region Maloja 1846 Sils im Engadin/Segl 3789 46.3835 9.7899 4 +CH 7515 Sils/Segl Baselgia Kanton Graubünden GR Region Maloja 1846 Sils im Engadin/Segl 3789 46.4371 9.7424 4 +CH 7516 Maloja Kanton Graubünden GR Region Maloja 1846 Bregaglia 3792 46.3649 9.7199 4 +CH 7517 Plaun da Lej Kanton Graubünden GR Region Maloja 1846 Sils im Engadin/Segl 3789 46.4271 9.7091 4 +CH 7522 La Punt Chamues-ch Kanton Graubünden GR Region Maloja 1846 La Punt-Chamues-ch 3785 46.5508 9.9302 4 +CH 7522 La Punt-Chamues-ch Kanton Graubünden GR Region Maloja 1846 La Punt-Chamues-ch 3785 46.5789 9.9201 4 +CH 7523 Madulain Kanton Graubünden GR Region Maloja 1846 Madulain 3783 46.546 9.9659 4 +CH 7523 Madulain Kanton Graubünden GR Region Maloja 1846 Madulain 3783 46.546 9.9659 4 +CH 7524 Zuoz Kanton Graubünden GR Region Maloja 1846 Zuoz 3791 46.5631 9.9802 4 +CH 7524 Zuoz Kanton Graubünden GR Region Maloja 1846 Zuoz 3791 46.5631 9.9802 4 +CH 7525 S-chanf Kanton Graubünden GR Region Maloja 1846 S-chanf 3788 46.5971 10.0385 4 +CH 7526 Cinuos-chel Kanton Graubünden GR Region Maloja 1846 S-chanf 3788 46.6429 10.0222 4 +CH 7526 Chapella Kanton Graubünden GR Region Maloja 1846 S-chanf 3788 46.6557 9.9374 +CH 7602 Casaccia Kanton Graubünden GR Region Maloja 1846 Bregaglia 3792 46.3882 9.6568 4 +CH 7603 Vicosoprano Kanton Graubünden GR Region Maloja 1846 Bregaglia 3792 46.3505 9.6285 4 +CH 7604 Borgonovo Kanton Graubünden GR Region Maloja 1846 Bregaglia 3792 46.3477 9.6062 4 +CH 7605 Stampa Kanton Graubünden GR Region Maloja 1846 Bregaglia 3792 46.3396 9.5922 4 +CH 7606 Promontogno Kanton Graubünden GR Region Maloja 1846 Bregaglia 3792 46.3393 9.5573 4 +CH 7606 Bondo Kanton Graubünden GR Region Maloja 1846 Bregaglia 3792 46.3147 9.5798 4 +CH 7608 Castasegna Kanton Graubünden GR Region Maloja 1846 Bregaglia 3792 46.335 9.5234 4 +CH 7610 Soglio Kanton Graubünden GR Region Maloja 1846 Bregaglia 3792 46.357 9.5381 4 +CH 6534 S. Vittore Kanton Graubünden GR Region Moesa 1847 San Vittore 3835 46.2444 9.0981 4 +CH 6534 S. Vittore Kanton Graubünden GR Region Moesa 1847 San Vittore 3835 46.2444 9.0981 4 +CH 6535 Roveredo GR Kanton Graubünden GR Region Moesa 1847 Roveredo (GR) 3834 46.208 9.1525 4 +CH 6537 Grono Kanton Graubünden GR Region Moesa 1847 Grono 3832 46.2327 9.1814 4 +CH 6538 Verdabbio Kanton Graubünden GR Region Moesa 1847 Grono 3832 46.2731 9.2032 4 +CH 6538 Verdabbio Kanton Graubünden GR Region Moesa 1847 Grono 3832 46.2731 9.2032 4 +CH 6540 Castaneda Kanton Graubünden GR Region Moesa 1847 Castaneda 3805 46.2609 9.1301 4 +CH 6541 Sta. Maria in Calanca Kanton Graubünden GR Region Moesa 1847 Santa Maria in Calanca 3810 46.2835 9.148 4 +CH 6542 Buseno Kanton Graubünden GR Region Moesa 1847 Buseno 3804 46.2759 9.1034 4 +CH 6543 Arvigo Kanton Graubünden GR Region Moesa 1847 Calanca 3837 46.3011 9.0946 4 +CH 6544 Braggio Kanton Graubünden GR Region Moesa 1847 Calanca 3837 46.302 9.1333 4 +CH 6545 Selma Kanton Graubünden GR Region Moesa 1847 Calanca 3837 46.3221 9.1032 4 +CH 6546 Cauco Kanton Graubünden GR Region Moesa 1847 Calanca 3837 46.3336 9.1221 4 +CH 6548 Rossa Kanton Graubünden GR Region Moesa 1847 Rossa 3808 46.404 9.127 4 +CH 6549 Laura Kanton Graubünden GR Region Moesa 1847 Roveredo (GR) 3834 46.2108 9.1047 4 +CH 6556 Leggia Kanton Graubünden GR Region Moesa 1847 Grono 3832 46.2502 9.1872 4 +CH 6557 Cama Kanton Graubünden GR Region Moesa 1847 Cama 3831 46.2607 9.2064 4 +CH 6558 Lostallo Kanton Graubünden GR Region Moesa 1847 Lostallo 3821 46.3068 9.2247 4 +CH 6562 Soazza Kanton Graubünden GR Region Moesa 1847 Soazza 3823 46.3515 9.2259 4 +CH 6563 Mesocco Kanton Graubünden GR Region Moesa 1847 Mesocco 3822 46.4025 9.226 4 +CH 6565 S. Bernardino Kanton Graubünden GR Region Moesa 1847 Mesocco 3822 46.4713 9.1888 1 +CH 7000 Chur Kanton Graubünden GR Region Plessur 1848 Chur 3901 46.8528 9.5299 4 +CH 7001 Chur Kanton Graubünden GR Region Plessur 1848 Chur 3901 46.8499 9.5329 +CH 7004 Chur Kanton Graubünden GR Region Plessur 1848 Chur 3901 46.8499 9.5329 +CH 7006 Chur Kanton Graubünden GR Region Plessur 1848 Chur 3901 46.8499 9.5329 +CH 7007 Chur Kanton Graubünden GR Region Plessur 1848 Chur 3901 46.8499 9.5329 +CH 7023 Haldenstein Kanton Graubünden GR Region Plessur 1848 Chur 3901 46.8816 9.5009 4 +CH 7026 Maladers Kanton Graubünden GR Region Plessur 1848 Chur 3901 46.8447 9.5723 4 +CH 7027 Lüen Kanton Graubünden GR Region Plessur 1848 Arosa 3921 46.8409 9.6237 4 +CH 7027 Castiel Kanton Graubünden GR Region Plessur 1848 Arosa 3921 46.8484 9.6143 4 +CH 7027 Calfreisen Kanton Graubünden GR Region Plessur 1848 Arosa 3921 46.8544 9.6005 3 +CH 7028 St. Peter Kanton Graubünden GR Region Plessur 1848 Arosa 3921 46.8483 9.6586 4 +CH 7028 Pagig Kanton Graubünden GR Region Plessur 1848 Arosa 3921 46.8497 9.6376 4 +CH 7029 Peist Kanton Graubünden GR Region Plessur 1848 Arosa 3921 46.8427 9.6882 4 +CH 7050 Arosa Kanton Graubünden GR Region Plessur 1848 Arosa 3921 46.7699 9.6683 4 +CH 7056 Molinis Kanton Graubünden GR Region Plessur 1848 Arosa 3921 46.8141 9.6465 4 +CH 7057 Langwies Kanton Graubünden GR Region Plessur 1848 Arosa 3921 46.8235 9.7455 4 +CH 7058 Litzirüti Kanton Graubünden GR Region Plessur 1848 Arosa 3921 46.7988 9.7014 4 +CH 7062 Passugg Kanton Graubünden GR Region Plessur 1848 Churwalden 3911 46.8212 9.5573 4 +CH 7063 Praden Kanton Graubünden GR Region Plessur 1848 Tschiertschen-Praden 3932 46.821 9.5824 4 +CH 7064 Tschiertschen Kanton Graubünden GR Region Plessur 1848 Tschiertschen-Praden 3932 46.7929 9.6067 4 +CH 7074 Malix Kanton Graubünden GR Region Plessur 1848 Churwalden 3911 46.8117 9.518 4 +CH 7075 Churwalden Kanton Graubünden GR Region Plessur 1848 Churwalden 3911 46.7826 9.5323 4 +CH 7076 Parpan Kanton Graubünden GR Region Plessur 1848 Churwalden 3911 46.7762 9.5703 4 +CH 7212 Seewis Dorf Kanton Graubünden GR Region Prättigau / Davos 1849 Seewis im Prättigau 3972 47.023 9.6603 4 +CH 7212 Seewis-Pardisla Kanton Graubünden GR Region Prättigau / Davos 1849 Seewis im Prättigau 3972 46.978 9.633 4 +CH 7212 Seewis-Schmitten Kanton Graubünden GR Region Prättigau / Davos 1849 Seewis im Prättigau 3972 46.9815 9.6421 4 +CH 7213 Valzeina Kanton Graubünden GR Region Prättigau / Davos 1849 Grüsch 3961 46.9163 9.6237 4 +CH 7214 Grüsch Kanton Graubünden GR Region Prättigau / Davos 1849 Grüsch 3961 46.9627 9.6397 4 +CH 7215 Fanas Kanton Graubünden GR Region Prättigau / Davos 1849 Grüsch 3961 47.0072 9.6875 4 +CH 7220 Schiers Kanton Graubünden GR Region Prättigau / Davos 1849 Schiers 3962 46.9811 9.7189 4 +CH 7220 Schiers Kanton Graubünden GR Region Prättigau / Davos 1849 Schiers 3962 46.9811 9.7189 4 +CH 7222 Lunden Kanton Graubünden GR Region Prättigau / Davos 1849 Schiers 3962 46.9517 9.7116 4 +CH 7223 Buchen im Prättigau Kanton Graubünden GR Region Prättigau / Davos 1849 Luzein 3891 46.9388 9.7244 4 +CH 7224 Putz Kanton Graubünden GR Region Prättigau / Davos 1849 Luzein 3891 46.9269 9.7407 4 +CH 7226 Fajauna Kanton Graubünden GR Region Prättigau / Davos 1849 Schiers 3962 46.9714 9.7065 4 +CH 7226 Stels Kanton Graubünden GR Region Prättigau / Davos 1849 Schiers 3962 46.9885 9.769 4 +CH 7226 Stels Kanton Graubünden GR Region Prättigau / Davos 1849 Schiers 3962 46.9885 9.769 4 +CH 7228 Pusserein Kanton Graubünden GR Region Prättigau / Davos 1849 Schiers 3962 46.9922 9.7129 4 +CH 7228 Schuders Kanton Graubünden GR Region Prättigau / Davos 1849 Schiers 3962 47.0089 9.7482 4 +CH 7231 Pragg-Jenaz Kanton Graubünden GR Region Prättigau / Davos 1849 Jenaz 3863 46.9426 9.6953 4 +CH 7232 Furna Kanton Graubünden GR Region Prättigau / Davos 1849 Furna 3862 46.9136 9.6615 4 +CH 7233 Jenaz Kanton Graubünden GR Region Prättigau / Davos 1849 Jenaz 3863 46.8981 9.7035 4 +CH 7235 Fideris Kanton Graubünden GR Region Prättigau / Davos 1849 Fideris 3861 46.8866 9.7395 4 +CH 7240 Küblis Kanton Graubünden GR Region Prättigau / Davos 1849 Küblis 3882 46.9253 9.7955 4 +CH 7241 Conters im Prättigau Kanton Graubünden GR Region Prättigau / Davos 1849 Conters im Prättigau 3881 46.8858 9.7876 4 +CH 7242 Luzein Kanton Graubünden GR Region Prättigau / Davos 1849 Luzein 3891 46.9212 9.7623 4 +CH 7243 Pany Kanton Graubünden GR Region Prättigau / Davos 1849 Luzein 3891 46.9482 9.7675 4 +CH 7244 Gadenstätt Kanton Graubünden GR Region Prättigau / Davos 1849 Luzein 3891 46.9448 9.7904 4 +CH 7245 Ascharina Kanton Graubünden GR Region Prättigau / Davos 1849 Luzein 3891 46.9495 9.8203 4 +CH 7246 St. Antönien Kanton Graubünden GR Region Prättigau / Davos 1849 Luzein 3891 46.9802 9.8459 4 +CH 7247 Saas im Prättigau Kanton Graubünden GR Region Prättigau / Davos 1849 Klosters-Serneus 3871 46.9151 9.8524 4 +CH 7249 Serneus Kanton Graubünden GR Region Prättigau / Davos 1849 Klosters-Serneus 3871 46.8871 9.8339 4 +CH 7250 Klosters Kanton Graubünden GR Region Prättigau / Davos 1849 Klosters-Serneus 3871 46.8475 9.9649 4 +CH 7252 Klosters Dorf Kanton Graubünden GR Region Prättigau / Davos 1849 Klosters-Serneus 3871 46.9013 9.9155 4 +CH 7260 Davos Dorf Kanton Graubünden GR Region Prättigau / Davos 1849 Davos 3851 46.7674 9.8969 4 +CH 7265 Davos Wolfgang Kanton Graubünden GR Region Prättigau / Davos 1849 Davos 3851 46.8389 9.8534 4 +CH 7270 Davos Platz Kanton Graubünden GR Region Prättigau / Davos 1849 Davos 3851 46.7874 9.8181 4 +CH 7270 Davos Platz 1 Kanton Graubünden GR Region Prättigau / Davos 1849 Davos 3851 46.8048 9.8372 +CH 7272 Davos Clavadel Kanton Graubünden GR Region Prättigau / Davos 1849 Davos 3851 46.7227 9.8447 4 +CH 7276 Davos Frauenkirch Kanton Graubünden GR Region Prättigau / Davos 1849 Davos 3851 46.7756 9.7698 4 +CH 7277 Davos Glaris Kanton Graubünden GR Region Prättigau / Davos 1849 Davos 3851 46.7398 9.7705 4 +CH 7278 Davos Monstein Kanton Graubünden GR Region Prättigau / Davos 1849 Davos 3851 46.6983 9.7849 4 +CH 7494 Davos Wiesen Kanton Graubünden GR Region Prättigau / Davos 1849 Davos 3851 46.7163 9.7204 4 +CH 7031 Laax GR Kanton Graubünden GR Region Surselva 1850 Laax 3575 46.8095 9.2635 1 +CH 7032 Laax GR 2 Kanton Graubünden GR Region Surselva 1850 Laax 3575 46.8515 9.2121 1 +CH 7104 Arezen Kanton Graubünden GR Region Surselva 1850 Safiental 3672 46.7823 9.3344 4 +CH 7104 Versam Kanton Graubünden GR Region Surselva 1850 Safiental 3672 46.7773 9.3365 4 +CH 7104 Versam Kanton Graubünden GR Region Surselva 1850 Safiental 3672 46.7773 9.3365 4 +CH 7106 Tenna Kanton Graubünden GR Region Surselva 1850 Safiental 3672 46.7465 9.3251 4 +CH 7107 Safien Platz Kanton Graubünden GR Region Surselva 1850 Safiental 3672 46.7127 9.3222 4 +CH 7109 Thalkirch Kanton Graubünden GR Region Surselva 1850 Safiental 3672 46.6321 9.2815 4 +CH 7110 Peiden Kanton Graubünden GR Region Surselva 1850 Lumnezia 3618 46.7158 9.1981 4 +CH 7111 Pitasch Kanton Graubünden GR Region Surselva 1850 Ilanz/Glion 3619 46.7219 9.2458 4 +CH 7112 Duvin Kanton Graubünden GR Region Surselva 1850 Ilanz/Glion 3619 46.6963 9.248 4 +CH 7113 Camuns Kanton Graubünden GR Region Surselva 1850 Lumnezia 3618 46.6891 9.2216 4 +CH 7114 Uors (Lumnezia) Kanton Graubünden GR Region Surselva 1850 Lumnezia 3618 46.7038 9.188 4 +CH 7115 Surcasti Kanton Graubünden GR Region Surselva 1850 Lumnezia 3618 46.6808 9.1692 4 +CH 7116 St. Martin (Lugnez) Kanton Graubünden GR Region Surselva 1850 Vals 3603 46.6543 9.206 4 +CH 7116 Tersnaus Kanton Graubünden GR Region Surselva 1850 Lumnezia 3618 46.6863 9.1951 4 +CH 7122 Valendas Kanton Graubünden GR Region Surselva 1850 Safiental 3672 46.773 9.2947 4 +CH 7122 Carrera Kanton Graubünden GR Region Surselva 1850 Safiental 3672 46.7885 9.2961 4 +CH 7126 Castrisch Kanton Graubünden GR Region Surselva 1850 Ilanz/Glion 3619 46.7726 9.243 4 +CH 7127 Sevgein Kanton Graubünden GR Region Surselva 1850 Ilanz/Glion 3619 46.7575 9.2226 4 +CH 7128 Riein Kanton Graubünden GR Region Surselva 1850 Ilanz/Glion 3619 46.7422 9.2606 4 +CH 7130 Schnaus Kanton Graubünden GR Region Surselva 1850 Ilanz/Glion 3619 46.8056 9.1789 4 +CH 7130 Ilanz Kanton Graubünden GR Region Surselva 1850 Ilanz/Glion 3619 46.7707 9.1927 4 +CH 7130 Schnaus Kanton Graubünden GR Region Surselva 1850 Ilanz/Glion 3619 46.8056 9.1789 4 +CH 7132 Vals Kanton Graubünden GR Region Surselva 1850 Vals 3603 46.5737 9.1308 4 +CH 7134 Obersaxen Kanton Graubünden GR Region Surselva 1850 Obersaxen Mundaun 3988 46.7197 9.0712 4 +CH 7137 Flond Kanton Graubünden GR Region Surselva 1850 Obersaxen Mundaun 3988 46.7664 9.161 4 +CH 7138 Surcuolm Kanton Graubünden GR Region Surselva 1850 Obersaxen Mundaun 3988 46.7529 9.1513 4 +CH 7141 Luven Kanton Graubünden GR Region Surselva 1850 Ilanz/Glion 3619 46.7548 9.1906 4 +CH 7142 Cumbel Kanton Graubünden GR Region Surselva 1850 Lumnezia 3618 46.7345 9.2011 4 +CH 7143 Morissen Kanton Graubünden GR Region Surselva 1850 Lumnezia 3618 46.7348 9.1737 4 +CH 7144 Vella Kanton Graubünden GR Region Surselva 1850 Lumnezia 3618 46.7213 9.159 4 +CH 7145 Degen Kanton Graubünden GR Region Surselva 1850 Lumnezia 3618 46.7059 9.1709 4 +CH 7146 Vattiz Kanton Graubünden GR Region Surselva 1850 Lumnezia 3618 46.7118 9.1384 4 +CH 7147 Vignogn Kanton Graubünden GR Region Surselva 1850 Lumnezia 3618 46.694 9.1413 4 +CH 7148 Lumbrein Kanton Graubünden GR Region Surselva 1850 Lumnezia 3618 46.6683 9.1035 4 +CH 7149 Vrin Kanton Graubünden GR Region Surselva 1850 Lumnezia 3618 46.6241 9.0564 4 +CH 7151 Schluein Kanton Graubünden GR Region Surselva 1850 Schluein 3582 46.7889 9.2224 4 +CH 7152 Sagogn Kanton Graubünden GR Region Surselva 1850 Sagogn 3581 46.7983 9.2755 4 +CH 7153 Falera Kanton Graubünden GR Region Surselva 1850 Falera 3572 46.813 9.22 4 +CH 7154 Ruschein Kanton Graubünden GR Region Surselva 1850 Ilanz/Glion 3619 46.8291 9.1686 4 +CH 7155 Ladir Kanton Graubünden GR Region Surselva 1850 Ilanz/Glion 3619 46.8114 9.1906 4 +CH 7155 Ladir Kanton Graubünden GR Region Surselva 1850 Ilanz/Glion 3619 46.8114 9.1906 4 +CH 7156 Pigniu Kanton Graubünden GR Region Surselva 1850 Ilanz/Glion 3619 46.8423 9.1091 3 +CH 7156 Rueun Kanton Graubünden GR Region Surselva 1850 Ilanz/Glion 3619 46.795 9.1406 4 +CH 7157 Siat Kanton Graubünden GR Region Surselva 1850 Ilanz/Glion 3619 46.8152 9.1545 4 +CH 7158 Waltensburg/Vuorz Kanton Graubünden GR Region Surselva 1850 Breil/Brigels 3981 46.8116 9.0777 4 +CH 7159 Andiast Kanton Graubünden GR Region Surselva 1850 Breil/Brigels 3981 46.8179 9.0975 4 +CH 7162 Tavanasa Kanton Graubünden GR Region Surselva 1850 Breil/Brigels 3981 46.7567 9.0749 4 +CH 7163 Danis Kanton Graubünden GR Region Surselva 1850 Breil/Brigels 3981 46.7561 9.0534 4 +CH 7164 Dardin Kanton Graubünden GR Region Surselva 1850 Breil/Brigels 3981 46.7606 9.0364 4 +CH 7165 Breil/Brigels Kanton Graubünden GR Region Surselva 1850 Breil/Brigels 3981 46.7924 9.0289 4 +CH 7166 Trun Kanton Graubünden GR Region Surselva 1850 Trun 3987 46.7411 8.9786 4 +CH 7167 Zignau Kanton Graubünden GR Region Surselva 1850 Trun 3987 46.734 9.0104 4 +CH 7168 Schlans Kanton Graubünden GR Region Surselva 1850 Trun 3987 46.7653 9.0009 4 +CH 7172 Rabius Kanton Graubünden GR Region Surselva 1850 Sumvitg 3985 46.7419 8.9547 4 +CH 7173 Surrein Kanton Graubünden GR Region Surselva 1850 Sumvitg 3985 46.6738 8.9654 4 +CH 7174 S. Benedetg Kanton Graubünden GR Region Surselva 1850 Sumvitg 3985 46.7371 8.9435 4 +CH 7175 Sumvitg Kanton Graubünden GR Region Surselva 1850 Sumvitg 3985 46.7622 8.9153 4 +CH 7176 Cumpadials Kanton Graubünden GR Region Surselva 1850 Sumvitg 3985 46.7087 8.9161 4 +CH 7180 Disentis/Mustér Kanton Graubünden GR Region Surselva 1850 Disentis/Mustér 3982 46.7456 8.8481 4 +CH 7182 Cavardiras Kanton Graubünden GR Region Surselva 1850 Disentis/Mustér 3982 46.6995 8.8819 4 +CH 7183 Mumpé Medel Kanton Graubünden GR Region Surselva 1850 Disentis/Mustér 3982 46.6811 8.8313 1 +CH 7184 Curaglia Kanton Graubünden GR Region Surselva 1850 Medel (Lucmagn) 3983 46.6525 8.8851 4 +CH 7185 Platta Kanton Graubünden GR Region Surselva 1850 Medel (Lucmagn) 3983 46.6065 8.8364 4 +CH 7186 Segnas Kanton Graubünden GR Region Surselva 1850 Disentis/Mustér 3982 46.6937 8.8169 4 +CH 7187 Camischolas Kanton Graubünden GR Region Surselva 1850 Tujetsch 3986 46.6814 8.7615 4 +CH 7188 Sedrun Kanton Graubünden GR Region Surselva 1850 Tujetsch 3986 46.6377 8.7502 4 +CH 7189 Rueras Kanton Graubünden GR Region Surselva 1850 Tujetsch 3986 46.6662 8.709 4 +CH 7404 Feldis/Veulden Kanton Graubünden GR Region Viamala 1851 Domleschg 3673 46.7968 9.4422 4 +CH 7405 Rothenbrunnen Kanton Graubünden GR Region Viamala 1851 Rothenbrunnen 3637 46.7769 9.4208 4 +CH 7407 Trans Kanton Graubünden GR Region Viamala 1851 Domleschg 3673 46.7624 9.4817 4 +CH 7408 Realta Kanton Graubünden GR Region Viamala 1851 Cazis 3661 46.7319 9.4277 4 +CH 7408 Cazis Kanton Graubünden GR Region Viamala 1851 Cazis 3661 46.7391 9.4258 4 +CH 7411 Sils im Domleschg Kanton Graubünden GR Region Viamala 1851 Sils im Domleschg 3640 46.6908 9.465 4 +CH 7412 Scharans Kanton Graubünden GR Region Viamala 1851 Scharans 3638 46.7183 9.4825 4 +CH 7413 Fürstenaubruck Kanton Graubünden GR Region Viamala 1851 Fürstenau 3633 46.715 9.4498 4 +CH 7414 Fürstenau Kanton Graubünden GR Region Viamala 1851 Fürstenau 3633 46.7231 9.4481 4 +CH 7415 Rodels Kanton Graubünden GR Region Viamala 1851 Domleschg 3673 46.7406 9.4391 4 +CH 7415 Pratval Kanton Graubünden GR Region Viamala 1851 Domleschg 3673 46.7312 9.4458 4 +CH 7416 Almens Kanton Graubünden GR Region Viamala 1851 Domleschg 3673 46.7426 9.4826 4 +CH 7417 Paspels Kanton Graubünden GR Region Viamala 1851 Domleschg 3673 46.7513 9.4509 4 +CH 7418 Tumegl/Tomils Kanton Graubünden GR Region Viamala 1851 Domleschg 3673 46.764 9.4447 4 +CH 7419 Scheid Kanton Graubünden GR Region Viamala 1851 Domleschg 3673 46.7834 9.4663 4 +CH 7421 Summaprada Kanton Graubünden GR Region Viamala 1851 Cazis 3661 46.713 9.4312 4 +CH 7422 Tartar Kanton Graubünden GR Region Viamala 1851 Cazis 3661 46.7221 9.4193 4 +CH 7423 Portein Kanton Graubünden GR Region Viamala 1851 Cazis 3661 46.7121 9.3848 4 +CH 7423 Sarn Kanton Graubünden GR Region Viamala 1851 Cazis 3661 46.7234 9.3879 4 +CH 7424 Präz Kanton Graubünden GR Region Viamala 1851 Cazis 3661 46.7486 9.3965 4 +CH 7424 Dalin Kanton Graubünden GR Region Viamala 1851 Cazis 3661 46.7347 9.4058 4 +CH 7425 Masein Kanton Graubünden GR Region Viamala 1851 Masein 3663 46.6954 9.4226 4 +CH 7426 Flerden Kanton Graubünden GR Region Viamala 1851 Flerden 3662 46.6941 9.3926 4 +CH 7426 Flerden Kanton Graubünden GR Region Viamala 1851 Flerden 3662 46.6941 9.3926 4 +CH 7427 Urmein Kanton Graubünden GR Region Viamala 1851 Urmein 3670 46.686 9.4019 4 +CH 7428 Tschappina Kanton Graubünden GR Region Viamala 1851 Tschappina 3669 46.6767 9.3607 4 +CH 7428 Glaspass Kanton Graubünden GR Region Viamala 1851 Tschappina 3669 46.677 9.3474 4 +CH 7430 Thusis Kanton Graubünden GR Region Viamala 1851 Thusis 3668 46.6885 9.4328 4 +CH 7430 Rongellen Kanton Graubünden GR Region Viamala 1851 Rongellen 3711 46.6739 9.4406 4 +CH 7431 Obermutten Kanton Graubünden GR Region Viamala 1851 Thusis 3668 46.6682 9.4876 4 +CH 7431 Mutten Kanton Graubünden GR Region Viamala 1851 Thusis 3668 46.6773 9.5018 4 +CH 7432 Zillis Kanton Graubünden GR Region Viamala 1851 Zillis-Reischen 3712 46.6381 9.47 4 +CH 7433 Wergenstein Kanton Graubünden GR Region Viamala 1851 Muntogna da Schons 3715 46.6156 9.3519 4 +CH 7433 Farden Kanton Graubünden GR Region Viamala 1851 Muntogna da Schons 3715 46.6327 9.4241 4 +CH 7433 Lohn GR Kanton Graubünden GR Region Viamala 1851 Muntogna da Schons 3715 46.6574 9.4232 3 +CH 7433 Donat Kanton Graubünden GR Region Viamala 1851 Muntogna da Schons 3715 46.6312 9.4247 4 +CH 7433 Mathon Kanton Graubünden GR Region Viamala 1851 Muntogna da Schons 3715 46.6406 9.3803 4 +CH 7434 Sufers Kanton Graubünden GR Region Viamala 1851 Sufers 3695 46.5573 9.3703 4 +CH 7435 Splügen Kanton Graubünden GR Region Viamala 1851 Rheinwald 3714 46.5371 9.329 4 +CH 7436 Medels im Rheinwald Kanton Graubünden GR Region Viamala 1851 Rheinwald 3714 46.5522 9.2853 4 +CH 7437 Nufenen Kanton Graubünden GR Region Viamala 1851 Rheinwald 3714 46.5404 9.2385 4 +CH 7438 Hinterrhein Kanton Graubünden GR Region Viamala 1851 Rheinwald 3714 46.5137 9.1351 4 +CH 7440 Andeer Kanton Graubünden GR Region Viamala 1851 Andeer 3701 46.5859 9.4178 4 +CH 7442 Clugin Kanton Graubünden GR Region Viamala 1851 Andeer 3701 46.6127 9.4121 4 +CH 7443 Pignia Kanton Graubünden GR Region Viamala 1851 Andeer 3701 46.6035 9.4665 4 +CH 7444 Ausserferrera Kanton Graubünden GR Region Viamala 1851 Ferrera 3713 46.5516 9.4606 4 +CH 7445 Innerferrera Kanton Graubünden GR Region Viamala 1851 Ferrera 3713 46.5058 9.4399 4 +CH 7445 Innerferrera Kanton Graubünden GR Region Viamala 1851 Ferrera 3713 46.5058 9.4399 4 +CH 7446 Campsut-Cröt Kanton Graubünden GR Region Viamala 1851 Avers 3681 46.4246 9.491 4 +CH 7447 Am Bach (Avers) Kanton Graubünden GR Region Viamala 1851 Avers 3681 46.4272 9.5449 4 +CH 7447 Cresta (Avers) Kanton Graubünden GR Region Viamala 1851 Avers 3681 46.4738 9.5246 4 +CH 7448 Juf Kanton Graubünden GR Region Viamala 1851 Avers 3681 46.4329 9.5864 4 +CH 2800 Delémont 2 Jura JU Delémont District 2601 Delémont 6711 47.3751 7.3329 +CH 2800 Delémont Jura JU Delémont District 2601 Delémont 6711 47.3718 7.3341 4 +CH 2800 Delémont 1 Jura JU Delémont District 2601 Delémont 6711 47.3751 7.3329 +CH 2802 Develier Jura JU Delémont District 2601 Develier 6712 47.3648 7.2813 4 +CH 2803 Bourrignon Jura JU Delémont District 2601 Bourrignon 6703 47.3932 7.2556 4 +CH 2805 Soyhières Jura JU Delémont District 2601 Soyhières 6724 47.3955 7.3822 4 +CH 2806 Mettembert Jura JU Delémont District 2601 Mettembert 6716 47.3943 7.3276 4 +CH 2807 Pleigne Jura JU Delémont District 2601 Pleigne 6719 47.4151 7.2807 4 +CH 2807 Lucelle Jura JU Delémont District 2601 Pleigne 6719 47.4174 7.2411 3 +CH 2812 Movelier Jura JU Delémont District 2601 Movelier 6718 47.4089 7.3281 4 +CH 2813 Ederswiler Jura JU Delémont District 2601 Ederswiler 6713 47.4264 7.324 4 +CH 2822 Courroux Jura JU Delémont District 2601 Courroux 6709 47.3672 7.3788 4 +CH 2823 Courcelon Jura JU Delémont District 2601 Courroux 6709 47.3674 7.407 4 +CH 2824 Vicques Jura JU Delémont District 2601 Val Terb 6730 47.3516 7.4268 4 +CH 2825 Courchapoix Jura JU Delémont District 2601 Courchapoix 6706 47.3488 7.4522 4 +CH 2826 Corban Jura JU Delémont District 2601 Val Terb 6730 47.3534 7.4742 4 +CH 2827 Mervelier Jura JU Delémont District 2601 Mervelier 6715 47.3402 7.516 4 +CH 2828 Montsevelier Jura JU Delémont District 2601 Val Terb 6730 47.3602 7.512 4 +CH 2829 Vermes Jura JU Delémont District 2601 Val Terb 6730 47.3192 7.4849 4 +CH 2830 Vellerat Jura JU Delémont District 2601 Courrendlin 6708 47.3155 7.3654 4 +CH 2830 Courrendlin Jura JU Delémont District 2601 Courrendlin 6708 47.3343 7.3769 4 +CH 2832 Rebeuvelier Jura JU Delémont District 2601 Courrendlin 6708 47.3209 7.4189 4 +CH 2842 Rossemaison Jura JU Delémont District 2601 Rossemaison 6721 47.3439 7.3443 4 +CH 2843 Châtillon JU Jura JU Delémont District 2601 Châtillon (JU) 6704 47.322 7.3449 4 +CH 2852 Courtételle Jura JU Delémont District 2601 Courtételle 6710 47.3313 7.318 4 +CH 2853 Courfaivre Jura JU Delémont District 2601 Haute-Sorne 6729 47.3298 7.2802 4 +CH 2854 Bassecourt Jura JU Delémont District 2601 Haute-Sorne 6729 47.3365 7.2418 4 +CH 2855 Glovelier Jura JU Delémont District 2601 Haute-Sorne 6729 47.3269 7.1844 4 +CH 2856 Boécourt Jura JU Delémont District 2601 Boécourt 6702 47.3547 7.2168 4 +CH 2857 Montavon Jura JU Delémont District 2601 Boécourt 6702 47.3717 7.2335 4 +CH 2863 Undervelier Jura JU Delémont District 2601 Haute-Sorne 6729 47.3034 7.2194 4 +CH 2864 Soulce Jura JU Delémont District 2601 Haute-Sorne 6729 47.3002 7.2871 4 +CH 2873 Saulcy Jura JU Delémont District 2601 Saulcy 6722 47.3031 7.1606 4 +CH 2336 Les Bois Jura JU Franches-Montagnes District 2602 Les Bois 6742 47.1796 6.8983 4 +CH 2338 Muriaux Jura JU Franches-Montagnes District 2602 Muriaux 6753 47.2442 6.9802 4 +CH 2338 Les Emibois Jura JU Franches-Montagnes District 2602 Muriaux 6753 47.2318 6.9944 4 +CH 2340 Le Noirmont Jura JU Franches-Montagnes District 2602 Le Noirmont 6754 47.2152 6.9438 4 +CH 2345 Les Breuleux Jura JU Franches-Montagnes District 2602 Les Breuleux 6743 47.203 6.9928 4 +CH 2345 La Chaux-des-Breuleux Jura JU Franches-Montagnes District 2602 La Chaux-des-Breuleux 6744 47.2227 7.0287 4 +CH 2350 Saignelégier Jura JU Franches-Montagnes District 2602 Saignelégier 6757 47.2458 7.02 4 +CH 2353 Les Pommerats Jura JU Franches-Montagnes District 2602 Saignelégier 6757 47.2801 6.9908 4 +CH 2354 Goumois Jura JU Franches-Montagnes District 2602 Saignelégier 6757 47.2674 6.9594 4 +CH 2360 Le Bémont JU Jura JU Franches-Montagnes District 2602 Le Bémont (JU) 6741 47.2625 7.0334 4 +CH 2362 Montfaucon Jura JU Franches-Montagnes District 2602 Montfaucon 6751 47.2749 7.0714 4 +CH 2362 Montfavergier Jura JU Franches-Montagnes District 2602 Montfaucon 6751 47.3064 7.0852 4 +CH 2363 Les Enfers Jura JU Franches-Montagnes District 2602 Les Enfers 6745 47.2904 7.0455 4 +CH 2364 St-Brais Jura JU Franches-Montagnes District 2602 Saint-Brais 6758 47.3062 7.1177 4 +CH 2714 Les Genevez JU Jura JU Franches-Montagnes District 2602 Les Genevez (JU) 6748 47.2531 7.1275 3 +CH 2714 Le Prédame Jura JU Franches-Montagnes District 2602 Les Genevez (JU) 6748 47.2557 7.0965 4 +CH 2718 Fornet-Dessus Jura JU Franches-Montagnes District 2602 Lajoux (JU) 6750 47.285 7.16 3 +CH 2718 Lajoux JU Jura JU Franches-Montagnes District 2602 Lajoux (JU) 6750 47.2778 7.1269 4 +CH 2882 St-Ursanne Jura JU Franches-Montagnes District 2602 Saint-Brais 6758 47.3628 7.1459 4 +CH 2887 Soubey Jura JU Franches-Montagnes District 2602 Soubey 6759 47.3101 7.0405 4 +CH 2882 St-Ursanne Jura JU Porrentruy District 2603 Clos du Doubs 6808 47.3628 7.1459 4 +CH 2883 Montmelon Jura JU Porrentruy District 2603 Clos du Doubs 6808 47.3499 7.1729 4 +CH 2884 Montenol Jura JU Porrentruy District 2603 Clos du Doubs 6808 47.3517 7.1448 4 +CH 2885 Epauvillers Jura JU Porrentruy District 2603 Clos du Doubs 6808 47.3366 7.1176 4 +CH 2886 Epiquerez Jura JU Porrentruy District 2603 Clos du Doubs 6808 47.3267 7.0757 4 +CH 2888 Seleute Jura JU Porrentruy District 2603 Clos du Doubs 6808 47.368 7.1118 4 +CH 2889 Ocourt Jura JU Porrentruy District 2603 Clos du Doubs 6808 47.3549 7.0701 4 +CH 2900 Porrentruy 1 Jura JU Porrentruy District 2603 Porrentruy 6800 47.4213 7.071 +CH 2900 Porrentruy Jura JU Porrentruy District 2603 Porrentruy 6800 47.4212 7.071 4 +CH 2900 Porrentruy 2 Jura JU Porrentruy District 2603 Porrentruy 6800 47.4213 7.071 +CH 2902 Fontenais Jura JU Porrentruy District 2603 Fontenais 6790 47.3998 7.0793 4 +CH 2903 Villars-sur-Fontenais Jura JU Porrentruy District 2603 Fontenais 6790 47.3811 7.0754 4 +CH 2904 Bressaucourt Jura JU Porrentruy District 2603 Fontenais 6790 47.3842 7.039 4 +CH 2905 Courtedoux Jura JU Porrentruy District 2603 Courtedoux 6785 47.4129 7.028 4 +CH 2906 Chevenez Jura JU Porrentruy District 2603 Haute-Ajoie 6809 47.3925 6.9934 4 +CH 2907 Rocourt Jura JU Porrentruy District 2603 Haute-Ajoie 6809 47.3865 6.9602 4 +CH 2908 Grandfontaine Jura JU Porrentruy District 2603 Grandfontaine 6792 47.3919 6.9336 4 +CH 2912 Roche-d'Or Jura JU Porrentruy District 2603 Haute-Ajoie 6809 47.3653 6.9587 4 +CH 2912 Réclère Jura JU Porrentruy District 2603 Haute-Ajoie 6809 47.369 6.9241 4 +CH 2914 Damvant Jura JU Porrentruy District 2603 Haute-Ajoie 6809 47.3681 6.8957 4 +CH 2915 Bure Jura JU Porrentruy District 2603 Bure 6778 47.4386 6.9971 4 +CH 2916 Fahy Jura JU Porrentruy District 2603 Fahy 6789 47.42 6.9567 4 +CH 2922 Courchavon Jura JU Porrentruy District 2603 Courchavon 6783 47.4382 7.0463 4 +CH 2923 Courtemaîche Jura JU Porrentruy District 2603 Basse-Allaine 6807 47.4578 7.0469 4 +CH 2924 Montignez Jura JU Porrentruy District 2603 Basse-Allaine 6807 47.4835 7.0587 4 +CH 2925 Buix Jura JU Porrentruy District 2603 Basse-Allaine 6807 47.4756 7.0263 4 +CH 2926 Boncourt Jura JU Porrentruy District 2603 Boncourt 6774 47.488 7.0076 4 +CH 2932 Coeuve Jura JU Porrentruy District 2603 Coeuve 6781 47.4524 7.0953 4 +CH 2933 Damphreux Jura JU Porrentruy District 2603 Damphreux 6787 47.4734 7.1013 4 +CH 2933 Lugnez Jura JU Porrentruy District 2603 Lugnez 6793 47.4854 7.094 4 +CH 2935 Beurnevésin Jura JU Porrentruy District 2603 Beurnevésin 6773 47.4924 7.1328 4 +CH 2942 Alle Jura JU Porrentruy District 2603 Alle 6771 47.4284 7.1262 4 +CH 2943 Vendlincourt Jura JU Porrentruy District 2603 Vendlincourt 6806 47.4519 7.1485 4 +CH 2944 Bonfol Jura JU Porrentruy District 2603 Bonfol 6775 47.4759 7.1568 4 +CH 2946 Miécourt Jura JU Porrentruy District 2603 La Baroche 6810 47.4311 7.1713 4 +CH 2947 Charmoille Jura JU Porrentruy District 2603 La Baroche 6810 47.4274 7.2138 4 +CH 2950 Courtemautruy Jura JU Porrentruy District 2603 Courgenay 6784 47.3867 7.141 4 +CH 2950 Courgenay Jura JU Porrentruy District 2603 Courgenay 6784 47.3933 7.1207 4 +CH 2952 Cornol Jura JU Porrentruy District 2603 Cornol 6782 47.4048 7.1631 4 +CH 2953 Fregiécourt Jura JU Porrentruy District 2603 La Baroche 6810 47.4108 7.1924 4 +CH 2953 Pleujouse Jura JU Porrentruy District 2603 La Baroche 6810 47.4124 7.2203 4 +CH 2954 Asuel Jura JU Porrentruy District 2603 La Baroche 6810 47.3911 7.2051 4 +CH 6000 Luzern 14 Kanton Luzern LU Lucerne-Stadt District 311 Luzern 1061 47.0471 8.3252 +CH 6000 Luzern 6 Kanton Luzern LU Lucerne-Stadt District 311 Luzern 1061 47.0471 8.3252 +CH 6000 Luzern 7 Kanton Luzern LU Lucerne-Stadt District 311 Luzern 1061 47.0471 8.3252 +CH 6000 Luzern 15 Kanton Luzern LU Lucerne-Stadt District 311 Luzern 1061 47.0471 8.3252 +CH 6000 Luzern 30 AAL Kanton Luzern LU Lucerne-Stadt District 311 Luzern 1061 47.0471 8.3252 +CH 6000 Luzern Kanton Luzern LU Lucerne-Stadt District 311 Luzern 1061 47.0505 8.3064 +CH 6000 Luzern 16 Kanton Luzern LU Lucerne-Stadt District 311 Luzern 1061 47.0471 8.3252 +CH 6002 Luzern Kanton Luzern LU Lucerne-Stadt District 311 Luzern 1061 47.0505 8.3064 +CH 6003 Luzern Kanton Luzern LU Lucerne-Stadt District 311 Luzern 1061 47.0491 8.296 4 +CH 6004 Luzern Kanton Luzern LU Lucerne-Stadt District 311 Luzern 1061 47.0594 8.3008 4 +CH 6005 Luzern Kanton Luzern LU Lucerne-Stadt District 311 Luzern 1061 47.0382 8.3134 4 +CH 6006 Luzern Kanton Luzern LU Lucerne-Stadt District 311 Luzern 1061 47.0538 8.3345 4 +CH 6007 Luzern Kanton Luzern LU Lucerne-Stadt District 311 Luzern 1061 47.0505 8.3064 +CH 6014 Luzern Kanton Luzern LU Lucerne-Stadt District 311 Luzern 1061 47.0568 8.247 4 +CH 6015 Luzern Kanton Luzern LU Lucerne-Stadt District 311 Luzern 1061 47.0631 8.2778 4 +CH 6005 St. Niklausen LU Kanton Luzern LU Lucerne-Land District 312 Horw 1058 47.0264 8.3405 4 +CH 6009 Luzern Kanton Luzern LU Lucerne-Land District 312 Kriens 1059 47.0208 8.2589 +CH 6010 Kriens Kanton Luzern LU Lucerne-Land District 312 Kriens 1059 47.0199 8.2682 4 +CH 6010 Kriens 2 Kanton Luzern LU Lucerne-Land District 312 Kriens 1059 47.0208 8.2589 6 +CH 6011 Kriens Kanton Luzern LU Lucerne-Land District 312 Kriens 1059 47.0311 8.2855 +CH 6012 Obernau Kanton Luzern LU Lucerne-Land District 312 Kriens 1059 47.0269 8.2366 4 +CH 6013 Eigenthal Kanton Luzern LU Lucerne-Land District 312 Schwarzenberg 1066 46.9926 8.2154 4 +CH 6030 Ebikon Kanton Luzern LU Lucerne-Land District 312 Ebikon 1054 47.0799 8.3417 4 +CH 6031 Ebikon Kanton Luzern LU Lucerne-Land District 312 Ebikon 1054 47.0794 8.3404 +CH 6033 Buchrain Kanton Luzern LU Lucerne-Land District 312 Buchrain 1052 47.1007 8.3463 4 +CH 6035 Perlen Kanton Luzern LU Lucerne-Land District 312 Buchrain 1052 47.1115 8.3649 4 +CH 6036 Dierikon Kanton Luzern LU Lucerne-Land District 312 Dierikon 1053 47.0942 8.3726 4 +CH 6037 Root Kanton Luzern LU Lucerne-Land District 312 Root 1065 47.1113 8.3928 4 +CH 6038 Honau Kanton Luzern LU Lucerne-Land District 312 Honau 1057 47.1328 8.4093 4 +CH 6038 Gisikon Kanton Luzern LU Lucerne-Land District 312 Gisikon 1055 47.1275 8.3997 4 +CH 6039 Root D4 Kanton Luzern LU Lucerne-Land District 312 Root 1065 47.1031 8.3733 1 +CH 6043 Adligenswil Kanton Luzern LU Lucerne-Land District 312 Adligenswil 1051 47.0723 8.3685 4 +CH 6044 Udligenswil Kanton Luzern LU Lucerne-Land District 312 Udligenswil 1067 47.0928 8.3998 4 +CH 6045 Meggen Kanton Luzern LU Lucerne-Land District 312 Meggen 1063 47.0449 8.3745 4 +CH 6047 Kastanienbaum Kanton Luzern LU Lucerne-Land District 312 Horw 1058 47.0074 8.3402 4 +CH 6048 Horw Kanton Luzern LU Lucerne-Land District 312 Horw 1058 47.0108 8.3039 4 +CH 6102 Malters Kanton Luzern LU Lucerne-Land District 312 Malters 1062 47.0378 8.1845 4 +CH 6103 Schwarzenberg LU Kanton Luzern LU Lucerne-Land District 312 Schwarzenberg 1066 46.9983 8.1738 4 +CH 6344 Meierskappel Kanton Luzern LU Lucerne-Land District 312 Meierskappel 1064 47.1151 8.4527 4 +CH 6353 Weggis Kanton Luzern LU Lucerne-Land District 312 Weggis 1069 47.0313 8.4242 4 +CH 6354 Vitznau Kanton Luzern LU Lucerne-Land District 312 Vitznau 1068 47.0162 8.4859 4 +CH 6356 Rigi Kaltbad Kanton Luzern LU Lucerne-Land District 312 Weggis 1069 47.0366 8.4882 4 +CH 6404 Greppen Kanton Luzern LU Lucerne-Land District 312 Greppen 1056 47.0563 8.4313 4 +CH 6020 Emmenbrücke Kanton Luzern LU Hochdorf District 313 Emmen 1024 47.0771 8.2667 4 +CH 6020 Emmenbrücke 2 Kanton Luzern LU Hochdorf District 313 Emmen 1024 47.0866 8.2862 +CH 6021 Emmenbrücke 1 Kanton Luzern LU Hochdorf District 313 Emmen 1024 47.0866 8.2862 +CH 6023 Rothenburg Kanton Luzern LU Hochdorf District 313 Rothenburg 1040 47.1046 8.2625 4 +CH 6026 Rain Kanton Luzern LU Hochdorf District 313 Rain 1037 47.1319 8.2636 4 +CH 6027 Römerswil LU Kanton Luzern LU Hochdorf District 313 Römerswil 1039 47.1697 8.2489 4 +CH 6028 Herlisberg Kanton Luzern LU Hochdorf District 313 Römerswil 1039 47.1979 8.2303 4 +CH 6032 Emmen Kanton Luzern LU Hochdorf District 313 Emmen 1024 47.0901 8.3101 4 +CH 6034 Inwil Kanton Luzern LU Hochdorf District 313 Inwil 1033 47.1287 8.3623 4 +CH 6274 Eschenbach LU Kanton Luzern LU Hochdorf District 313 Eschenbach (LU) 1026 47.1282 8.3125 4 +CH 6275 Ballwil Kanton Luzern LU Hochdorf District 313 Ballwil 1023 47.1544 8.3348 4 +CH 6276 Hohenrain Kanton Luzern LU Hochdorf District 313 Hohenrain 1032 47.1784 8.3203 4 +CH 6277 Kleinwangen Kanton Luzern LU Hochdorf District 313 Hohenrain 1032 47.197 8.3041 3 +CH 6277 Lieli LU Kanton Luzern LU Hochdorf District 313 Hohenrain 1032 47.2122 8.3058 4 +CH 6280 Urswil Kanton Luzern LU Hochdorf District 313 Hochdorf 1031 47.1496 8.2867 4 +CH 6280 Hochdorf Kanton Luzern LU Hochdorf District 313 Hochdorf 1031 47.1666 8.2847 4 +CH 6281 Hochdorf Kanton Luzern LU Hochdorf District 313 Hochdorf 1031 47.1684 8.2918 +CH 6283 Baldegg Kanton Luzern LU Hochdorf District 313 Hochdorf 1031 47.1848 8.2713 4 +CH 6284 Sulz LU Kanton Luzern LU Hochdorf District 313 Hitzkirch 1030 47.2228 8.2942 4 +CH 6284 Gelfingen Kanton Luzern LU Hochdorf District 313 Hitzkirch 1030 47.2076 8.2679 4 +CH 6285 Hitzkirch Kanton Luzern LU Hochdorf District 313 Hitzkirch 1030 47.2226 8.2578 4 +CH 6285 Retschwil Kanton Luzern LU Hochdorf District 313 Hitzkirch 1030 47.1986 8.2451 4 +CH 6286 Altwis Kanton Luzern LU Hochdorf District 313 Hitzkirch 1030 47.2406 8.2522 4 +CH 6287 Aesch LU Kanton Luzern LU Hochdorf District 313 Aesch (LU) 1021 47.2583 8.2386 4 +CH 6288 Schongau Kanton Luzern LU Hochdorf District 313 Schongau 1041 47.267 8.2715 4 +CH 6289 Hämikon Kanton Luzern LU Hochdorf District 313 Hitzkirch 1030 47.2418 8.2794 4 +CH 6289 Müswangen Kanton Luzern LU Hochdorf District 313 Hitzkirch 1030 47.2384 8.2979 4 +CH 6289 Hämikon Kanton Luzern LU Hochdorf District 313 Hitzkirch 1030 47.2418 8.2794 4 +CH 6294 Ermensee Kanton Luzern LU Hochdorf District 313 Ermensee 1025 47.2254 8.2344 4 +CH 6295 Mosen Kanton Luzern LU Hochdorf District 313 Hitzkirch 1030 47.2419 8.227 4 +CH 5735 Pfeffikon LU Kanton Luzern LU Sursee District 314 Rickenbach (LU) 1097 47.2459 8.165 4 +CH 6016 Hellbühl Kanton Luzern LU Sursee District 314 Neuenkirch 1093 47.0693 8.1974 4 +CH 6017 Ruswil Kanton Luzern LU Sursee District 314 Ruswil 1098 47.0859 8.1338 4 +CH 6018 Buttisholz Kanton Luzern LU Sursee District 314 Buttisholz 1083 47.1141 8.0923 4 +CH 6019 Sigigen Kanton Luzern LU Sursee District 314 Ruswil 1098 47.0591 8.139 4 +CH 6022 Grosswangen Kanton Luzern LU Sursee District 314 Grosswangen 1086 47.1335 8.0549 4 +CH 6024 Hildisrieden Kanton Luzern LU Sursee District 314 Hildisrieden 1088 47.1475 8.2316 4 +CH 6025 Neudorf Kanton Luzern LU Sursee District 314 Beromünster 1081 47.176 8.2102 4 +CH 6203 Sempach Station Kanton Luzern LU Sursee District 314 Neuenkirch 1093 47.1172 8.2006 4 +CH 6204 Sempach Kanton Luzern LU Sursee District 314 Sempach 1102 47.1374 8.1982 4 +CH 6205 Eich Kanton Luzern LU Sursee District 314 Eich 1084 47.1567 8.1654 4 +CH 6206 Neuenkirch Kanton Luzern LU Sursee District 314 Neuenkirch 1093 47.0968 8.201 4 +CH 6207 Nottwil Paraplegikerzentrum Kanton Luzern LU Sursee District 314 Nottwil 1094 47.1279 8.1355 +CH 6207 Nottwil Kanton Luzern LU Sursee District 314 Nottwil 1094 47.1303 8.141 4 +CH 6208 Oberkirch LU Kanton Luzern LU Sursee District 314 Oberkirch 1095 47.1541 8.1078 4 +CH 6210 Sursee Kanton Luzern LU Sursee District 314 Sursee 1103 47.1765 8.1046 4 +CH 6212 Kaltbach Kanton Luzern LU Sursee District 314 Mauensee 1091 47.1824 8.0575 4 +CH 6212 St. Erhard Kanton Luzern LU Sursee District 314 Knutwil 1089 47.1848 8.0721 4 +CH 6213 Knutwil Kanton Luzern LU Sursee District 314 Knutwil 1089 47.2011 8.0703 4 +CH 6214 Schenkon Kanton Luzern LU Sursee District 314 Schenkon 1099 47.1794 8.1333 4 +CH 6215 Beromünster Kanton Luzern LU Sursee District 314 Beromünster 1081 47.2092 8.2032 4 +CH 6215 Schwarzenbach LU Kanton Luzern LU Sursee District 314 Beromünster 1081 47.237 8.2129 4 +CH 6216 Mauensee Kanton Luzern LU Sursee District 314 Mauensee 1091 47.1685 8.0723 4 +CH 6221 Rickenbach LU Kanton Luzern LU Sursee District 314 Rickenbach (LU) 1097 47.2197 8.149 4 +CH 6222 Gunzwil Kanton Luzern LU Sursee District 314 Beromünster 1081 47.1917 8.1716 4 +CH 6231 Schlierbach Kanton Luzern LU Sursee District 314 Schlierbach 1100 47.2274 8.1191 4 +CH 6232 Geuensee Kanton Luzern LU Sursee District 314 Geuensee 1085 47.2018 8.1165 4 +CH 6233 Büron Kanton Luzern LU Sursee District 314 Büron 1082 47.2136 8.0953 4 +CH 6234 Triengen Kanton Luzern LU Sursee District 314 Triengen 1104 47.2374 8.0808 4 +CH 6234 Kulmerau Kanton Luzern LU Sursee District 314 Triengen 1104 47.2531 8.0894 4 +CH 6235 Winikon Kanton Luzern LU Sursee District 314 Triengen 1104 47.2335 8.0419 4 +CH 6236 Wilihof Kanton Luzern LU Sursee District 314 Triengen 1104 47.2206 8.0628 4 +CH 4806 Wikon Kanton Luzern LU Willisau District 315 Wikon 1147 47.2664 7.9679 4 +CH 4915 St. Urban Kanton Luzern LU Willisau District 315 Pfaffnau 1139 47.2236 7.8563 4 +CH 6122 Menznau Kanton Luzern LU Willisau District 315 Menznau 1136 47.0775 8.0373 4 +CH 6123 Geiss Kanton Luzern LU Willisau District 315 Menznau 1136 47.0912 8.062 4 +CH 6125 Menzberg Kanton Luzern LU Willisau District 315 Menznau 1136 47.0403 7.9916 4 +CH 6126 Daiwil Kanton Luzern LU Willisau District 315 Willisau 1151 47.0858 8.0124 4 +CH 6130 Willisau Kanton Luzern LU Willisau District 315 Willisau 1151 47.1078 7.984 4 +CH 6132 Rohrmatt Kanton Luzern LU Willisau District 315 Willisau 1151 47.079 7.9838 4 +CH 6133 Hergiswil b. Willisau Kanton Luzern LU Willisau District 315 Hergiswil bei Willisau 1132 47.0659 7.9528 4 +CH 6142 Gettnau Kanton Luzern LU Willisau District 315 Willisau 1151 47.1385 7.9666 4 +CH 6143 Ohmstal Kanton Luzern LU Willisau District 315 Schötz 1143 47.1592 7.9544 4 +CH 6144 Zell LU Kanton Luzern LU Willisau District 315 Zell (LU) 1150 47.1393 7.9317 4 +CH 6145 Fischbach LU Kanton Luzern LU Willisau District 315 Fischbach 1129 47.1527 7.9069 4 +CH 6146 Grossdietwil Kanton Luzern LU Willisau District 315 Grossdietwil 1131 47.1672 7.8939 4 +CH 6147 Altbüron Kanton Luzern LU Willisau District 315 Altbüron 1122 47.1912 7.8901 4 +CH 6152 Hüswil Kanton Luzern LU Willisau District 315 Zell (LU) 1150 47.1262 7.9066 4 +CH 6153 Ufhusen Kanton Luzern LU Willisau District 315 Ufhusen 1145 47.1077 7.8933 4 +CH 6154 Hofstatt Kanton Luzern LU Willisau District 315 Luthern 1135 47.0777 7.898 4 +CH 6156 Luthern Kanton Luzern LU Willisau District 315 Luthern 1135 47.0559 7.9072 4 +CH 6156 Luthern Bad Kanton Luzern LU Willisau District 315 Luthern 1135 47.0247 7.9209 3 +CH 6211 Buchs LU Kanton Luzern LU Willisau District 315 Dagmersellen 1125 47.2017 8.0386 4 +CH 6217 Kottwil Kanton Luzern LU Willisau District 315 Ettiswil 1128 47.1632 8.0414 4 +CH 6218 Ettiswil Kanton Luzern LU Willisau District 315 Ettiswil 1128 47.1488 8.0184 4 +CH 6242 Wauwil Kanton Luzern LU Willisau District 315 Wauwil 1146 47.1837 8.0315 4 +CH 6243 Egolzwil Kanton Luzern LU Willisau District 315 Egolzwil 1127 47.184 8.0036 4 +CH 6244 Nebikon Kanton Luzern LU Willisau District 315 Nebikon 1137 47.1909 7.9792 4 +CH 6245 Ebersecken Kanton Luzern LU Willisau District 315 Altishofen 1123 47.1813 7.9377 4 +CH 6246 Altishofen Kanton Luzern LU Willisau District 315 Altishofen 1123 47.2023 7.9599 4 +CH 6247 Schötz Kanton Luzern LU Willisau District 315 Schötz 1143 47.1682 7.987 4 +CH 6248 Alberswil Kanton Luzern LU Willisau District 315 Alberswil 1121 47.1472 7.9952 4 +CH 6252 Dagmersellen Kanton Luzern LU Willisau District 315 Dagmersellen 1125 47.2159 7.9951 4 +CH 6253 Uffikon Kanton Luzern LU Willisau District 315 Dagmersellen 1125 47.2157 8.0245 4 +CH 6260 Reiden Kanton Luzern LU Willisau District 315 Reiden 1140 47.2435 7.9767 4 +CH 6260 Hintermoos Kanton Luzern LU Willisau District 315 Wikon 1147 47.2691 7.9962 4 +CH 6260 Reidermoos Kanton Luzern LU Willisau District 315 Reiden 1140 47.2485 7.999 4 +CH 6260 Mehlsecken Kanton Luzern LU Willisau District 315 Reiden 1140 47.2451 7.958 4 +CH 6262 Langnau b. Reiden Kanton Luzern LU Willisau District 315 Reiden 1140 47.2298 7.9489 4 +CH 6263 Richenthal Kanton Luzern LU Willisau District 315 Reiden 1140 47.2105 7.932 4 +CH 6264 Pfaffnau Kanton Luzern LU Willisau District 315 Pfaffnau 1139 47.2297 7.9009 4 +CH 6265 Roggliswil Kanton Luzern LU Willisau District 315 Roggliswil 1142 47.2114 7.8859 4 +CH 6105 Schachen LU Kanton Luzern LU Entlebuch District 316 Werthenstein 1009 47.0292 8.1289 4 +CH 6106 Werthenstein Kanton Luzern LU Entlebuch District 316 Werthenstein 1009 47.0472 8.1044 4 +CH 6110 Fontannen b. Wolhusen Kanton Luzern LU Entlebuch District 316 Wolhusen 1107 47.0203 7.9771 4 +CH 6110 Wolhusen Kanton Luzern LU Entlebuch District 316 Wolhusen 1107 47.0547 8.0726 4 +CH 6112 Doppleschwand Kanton Luzern LU Entlebuch District 316 Doppleschwand 1001 47.0119 8.0508 4 +CH 6113 Romoos Kanton Luzern LU Entlebuch District 316 Romoos 1007 47.007 8.0052 4 +CH 6114 Steinhuserberg Kanton Luzern LU Entlebuch District 316 Wolhusen 1107 47.046 8.0446 4 +CH 6160 Entlebuch Businesszentrum Kanton Luzern LU Entlebuch District 316 Entlebuch 1002 46.9762 8.1079 +CH 6160 Entlebuch Kanton Luzern LU Entlebuch District 316 Entlebuch 1002 46.9762 8.1079 +CH 6162 Rengg Kanton Luzern LU Entlebuch District 316 Entlebuch 1002 47.0003 8.1102 4 +CH 6162 Finsterwald b. Entlebuch Kanton Luzern LU Entlebuch District 316 Entlebuch 1002 46.9418 8.1178 3 +CH 6162 Entlebuch Kanton Luzern LU Entlebuch District 316 Entlebuch 1002 46.9882 8.0746 4 +CH 6163 Ebnet Kanton Luzern LU Entlebuch District 316 Entlebuch 1002 47.0211 8.0831 4 +CH 6166 Hasle LU Kanton Luzern LU Entlebuch District 316 Hasle (LU) 1005 46.9592 8.067 4 +CH 6167 Bramboden Kanton Luzern LU Entlebuch District 316 Romoos 1007 46.9851 7.9727 4 +CH 6170 Schüpfheim Kanton Luzern LU Entlebuch District 316 Schüpfheim 1008 46.9462 8.0121 4 +CH 6173 Flühli LU Kanton Luzern LU Entlebuch District 316 Flühli 1004 46.8826 8.0249 4 +CH 6174 Sörenberg Kanton Luzern LU Entlebuch District 316 Flühli 1004 46.8161 8.0089 4 +CH 6182 Escholzmatt Kanton Luzern LU Entlebuch District 316 Escholzmatt-Marbach 1010 46.9238 7.9427 4 +CH 6192 Wiggen Kanton Luzern LU Entlebuch District 316 Escholzmatt-Marbach 1010 46.8779 7.944 4 +CH 6196 Marbach LU Kanton Luzern LU Entlebuch District 316 Escholzmatt-Marbach 1010 46.8557 7.9091 4 +CH 2012 Auvernier Neuchâtel NE Boudry District 2401 Milvignes 6416 46.9702 6.8926 4 +CH 2013 Colombier NE Neuchâtel NE Boudry District 2401 Milvignes 6416 46.9645 6.8726 4 +CH 2014 Bôle Neuchâtel NE Boudry District 2401 Milvignes 6416 46.9688 6.8372 4 +CH 2015 Areuse Neuchâtel NE Boudry District 2401 Boudry 6404 46.9462 6.8898 4 +CH 2016 Cortaillod Neuchâtel NE Boudry District 2401 Cortaillod 6408 46.9329 6.8617 4 +CH 2017 Boudry Neuchâtel NE Boudry District 2401 Boudry 6404 46.9532 6.8133 4 +CH 2019 Chambrelien Neuchâtel NE Boudry District 2401 Rochefort 6413 46.9702 6.8137 4 +CH 2019 Rochefort Neuchâtel NE Boudry District 2401 Rochefort 6413 46.9894 6.8002 4 +CH 2022 Bevaix Neuchâtel NE Boudry District 2401 La Grande-Béroche 6417 46.9228 6.8195 4 +CH 2023 Gorgier Neuchâtel NE Boudry District 2401 La Grande-Béroche 6417 46.9236 6.7675 4 +CH 2024 St-Aubin-Sauges Neuchâtel NE Boudry District 2401 La Grande-Béroche 6417 46.8993 6.7648 4 +CH 2025 Chez-le-Bart Neuchâtel NE Boudry District 2401 La Grande-Béroche 6417 46.8966 6.8092 4 +CH 2027 Montalchez Neuchâtel NE Boudry District 2401 La Grande-Béroche 6417 46.9092 6.7345 4 +CH 2027 Fresens Neuchâtel NE Boudry District 2401 La Grande-Béroche 6417 46.8886 6.7479 4 +CH 2028 Vaumarcus Neuchâtel NE Boudry District 2401 La Grande-Béroche 6417 46.8705 6.7727 4 +CH 2034 Peseux Neuchâtel NE Boudry District 2401 Neuchâtel 6458 46.9956 6.8894 4 +CH 2035 Corcelles NE Neuchâtel NE Boudry District 2401 Neuchâtel 6458 46.9865 6.8602 4 +CH 2036 Cormondrèche Neuchâtel NE Boudry District 2401 Neuchâtel 6458 46.9808 6.8692 4 +CH 2037 Montezillon Neuchâtel NE Boudry District 2401 Rochefort 6413 46.9863 6.837 4 +CH 2149 Champ-du-Moulin Neuchâtel NE Boudry District 2401 Rochefort 6413 46.9524 6.7683 3 +CH 2149 Brot-Dessous Neuchâtel NE Boudry District 2401 Rochefort 6413 46.9631 6.759 4 +CH 2149 Fretereules Neuchâtel NE Boudry District 2401 Rochefort 6413 46.9605 6.7641 4 +CH 2300 La Chaux-de-Fonds Neuchâtel NE La Chaux-de-Fonds District 2402 La Chaux-de-Fonds 6421 47.1135 6.8347 4 +CH 2300 La Cibourg Neuchâtel NE La Chaux-de-Fonds District 2402 La Chaux-de-Fonds 6421 47.119 6.877 4 +CH 2301 La Chaux-de-Fonds Neuchâtel NE La Chaux-de-Fonds District 2402 La Chaux-de-Fonds 6421 47.0999 6.8259 +CH 2303 La Chaux-de-Fonds Neuchâtel NE La Chaux-de-Fonds District 2402 La Chaux-de-Fonds 6421 47.0999 6.8259 +CH 2304 La Chaux-de-Fonds Neuchâtel NE La Chaux-de-Fonds District 2402 La Chaux-de-Fonds 6421 47.0999 6.8259 +CH 2314 La Sagne NE Neuchâtel NE La Chaux-de-Fonds District 2402 La Sagne 6423 47.0474 6.8021 4 +CH 2322 Le Crêt-du-Locle Neuchâtel NE La Chaux-de-Fonds District 2402 La Chaux-de-Fonds 6421 47.0805 6.7818 4 +CH 2325 Les Planchettes Neuchâtel NE La Chaux-de-Fonds District 2402 Les Planchettes 6422 47.1082 6.7714 4 +CH 2333 La Cibourg Neuchâtel NE La Chaux-de-Fonds District 2402 La Chaux-de-Fonds 6421 47.1242 6.8958 4 +CH 2616 La Cibourg Neuchâtel NE La Chaux-de-Fonds District 2402 La Chaux-de-Fonds 6421 47.1156 6.8903 4 +CH 2316 Les Ponts-de-Martel Neuchâtel NE Le Locle District 2403 Les Ponts-de-Martel 6437 46.9872 6.7111 4 +CH 2316 Petit-Martel Neuchâtel NE Le Locle District 2403 Les Ponts-de-Martel 6437 47.0132 6.7516 4 +CH 2318 Brot-Plamboz Neuchâtel NE Le Locle District 2403 Brot-Plamboz 6433 46.9831 6.7486 4 +CH 2400 Le Prévoux Neuchâtel NE Le Locle District 2403 Le Locle 6436 47.0352 6.7127 4 +CH 2400 Le Locle Neuchâtel NE Le Locle District 2403 Le Locle 6436 47.0548 6.7513 4 +CH 2400 Le Locle Neuchâtel NE Le Locle District 2403 Le Locle 6436 47.0548 6.7513 4 +CH 2405 La Chaux-du-Milieu Neuchâtel NE Le Locle District 2403 La Chaux-du-Milieu 6435 47.0058 6.6981 4 +CH 2406 Les Taillères Neuchâtel NE Le Locle District 2403 La Brévine 6432 46.9728 6.5759 4 +CH 2406 La Brévine Neuchâtel NE Le Locle District 2403 La Brévine 6432 46.9719 6.6029 4 +CH 2406 Le Brouillet Neuchâtel NE Le Locle District 2403 La Brévine 6432 46.9559 6.5247 4 +CH 2406 La Châtagne Neuchâtel NE Le Locle District 2403 La Brévine 6432 46.9784 6.6424 4 +CH 2414 Le Cerneux-Péquignot Neuchâtel NE Le Locle District 2403 Le Cerneux-Péquignot 6434 47.017 6.6702 4 +CH 2416 Les Brenets Neuchâtel NE Le Locle District 2403 Le Locle 6436 47.0745 6.7242 4 +CH 2000 Neuchâtel Neuchâtel NE Neuchâtel District 2404 Neuchâtel 6458 46.9884 6.9413 4 +CH 2001 Neuchâtel 1 Neuchâtel NE Neuchâtel District 2404 Neuchâtel 6458 47.0094 6.9381 +CH 2002 Neuchâtel 2 Neuchâtel NE Neuchâtel District 2404 Neuchâtel 6458 47.0094 6.9381 +CH 2010 Neuchâtel OFS Neuchâtel NE Neuchâtel District 2404 Neuchâtel 6458 47.0094 6.9381 +CH 2067 Chaumont Neuchâtel NE Neuchâtel District 2404 Neuchâtel 6458 47.0404 6.9636 4 +CH 2068 Hauterive NE Neuchâtel NE Neuchâtel District 2404 Hauterive (NE) 6454 47.0104 6.9757 4 +CH 2072 St-Blaise Neuchâtel NE Neuchâtel District 2404 Saint-Blaise 6459 47.0351 6.9969 4 +CH 2073 Enges Neuchâtel NE Neuchâtel District 2404 Enges 6453 47.0722 7.0136 4 +CH 2074 Marin-Centre Neuchâtel NE Neuchâtel District 2404 La Tène 6461 47.0137 7.0165 +CH 2074 Marin-Epagnier Neuchâtel NE Neuchâtel District 2404 La Tène 6461 46.9992 7.0132 4 +CH 2075 Thielle Neuchâtel NE Neuchâtel District 2404 La Tène 6461 47.0183 7.0263 4 +CH 2075 Wavre Neuchâtel NE Neuchâtel District 2404 La Tène 6461 47.0235 7.0202 4 +CH 2087 Cornaux NE Neuchâtel NE Neuchâtel District 2404 Cornaux 6451 47.0348 7.0204 4 +CH 2088 Cressier NE Neuchâtel NE Neuchâtel District 2404 Cressier (NE) 6452 47.0491 7.0367 4 +CH 2523 Lignières Neuchâtel NE Neuchâtel District 2404 Lignières 6456 47.0899 7.0475 4 +CH 2525 Le Landeron Neuchâtel NE Neuchâtel District 2404 Le Landeron 6455 47.0604 7.0651 4 +CH 2037 Montmollin Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 46.9988 6.8432 4 +CH 2042 Valangin Neuchâtel NE Val-de-Ruz District 2405 Neuchâtel 6458 47.0138 6.8995 4 +CH 2043 Boudevilliers Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0289 6.8837 4 +CH 2046 Fontaines NE Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0427 6.9018 4 +CH 2052 La Vue-des-Alpes Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0655 6.8685 4 +CH 2052 Fontainemelon Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0555 6.8877 4 +CH 2053 Cernier Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0588 6.904 4 +CH 2054 Les Vieux-Prés Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0904 6.9297 1 +CH 2054 Chézard-St-Martin Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0638 6.9274 1 +CH 2056 Dombresson Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0699 6.9569 4 +CH 2057 Villiers Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.081 6.9846 4 +CH 2058 Le Pâquier NE Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.1059 6.9821 4 +CH 2063 Saules Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0384 6.9388 4 +CH 2063 Engollon Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0444 6.9246 4 +CH 2063 Vilars NE Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0325 6.9308 4 +CH 2063 Fenin Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0233 6.9192 4 +CH 2065 Savagnier Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0509 6.9568 4 +CH 2206 Les Geneveys-sur-Coffrane Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0186 6.8341 4 +CH 2207 Coffrane Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0088 6.8663 4 +CH 2208 Les Hauts-Geneveys Neuchâtel NE Val-de-Ruz District 2405 Val-de-Ruz 6487 47.0417 6.861 4 +CH 2103 Noiraigue Neuchâtel NE Val-de-Travers District 2406 Val-de-Travers 6512 46.949 6.7247 4 +CH 2105 Travers Neuchâtel NE Val-de-Travers District 2406 Val-de-Travers 6512 46.9471 6.6757 4 +CH 2108 Couvet Neuchâtel NE Val-de-Travers District 2406 Val-de-Travers 6512 46.9189 6.6543 4 +CH 2112 Môtiers NE Neuchâtel NE Val-de-Travers District 2406 Val-de-Travers 6512 46.9044 6.6176 4 +CH 2113 Boveresse Neuchâtel NE Val-de-Travers District 2406 Val-de-Travers 6512 46.9168 6.5996 4 +CH 2114 Fleurier Neuchâtel NE Val-de-Travers District 2406 Val-de-Travers 6512 46.8949 6.5893 4 +CH 2115 Buttes Neuchâtel NE Val-de-Travers District 2406 Val-de-Travers 6512 46.8795 6.5432 4 +CH 2116 Mont-de-Buttes Neuchâtel NE Val-de-Travers District 2406 Val-de-Travers 6512 46.888 6.5197 4 +CH 2117 La Côte-aux-Fées Neuchâtel NE Val-de-Travers District 2406 La Côte-aux-Fées 6504 46.8634 6.4853 4 +CH 2123 St-Sulpice NE Neuchâtel NE Val-de-Travers District 2406 Val-de-Travers 6512 46.9088 6.56 4 +CH 2124 Les Sagnettes Neuchâtel NE Val-de-Travers District 2406 Val-de-Travers 6512 46.9392 6.5957 4 +CH 2126 Les Verrières Neuchâtel NE Val-de-Travers District 2406 Les Verrières 6511 46.9144 6.4748 4 +CH 2127 Les Bayards Neuchâtel NE Val-de-Travers District 2406 Val-de-Travers 6512 46.9254 6.5382 4 +CH 6052 Hergiswil NW Kanton Nidwalden NW Nidwalden 700 Hergiswil (NW) 1507 46.9859 8.2813 4 +CH 6362 Stansstad Kanton Nidwalden NW Nidwalden 700 Stansstad 1510 46.974 8.3314 4 +CH 6363 Fürigen Kanton Nidwalden NW Nidwalden 700 Stansstad 1510 46.9837 8.349 3 +CH 6363 Bürgenstock Kanton Nidwalden NW Nidwalden 700 Ennetbürgen 1505 46.9963 8.3846 3 +CH 6363 Obbürgen Kanton Nidwalden NW Nidwalden 700 Stansstad 1510 46.9854 8.3712 4 +CH 6365 Kehrsiten Kanton Nidwalden NW Nidwalden 700 Stansstad 1510 47.0046 8.3827 4 +CH 6370 Stans Kanton Nidwalden NW Nidwalden 700 Stans 1509 46.9588 8.3633 4 +CH 6370 Oberdorf NW Kanton Nidwalden NW Nidwalden 700 Oberdorf (NW) 1508 46.9518 8.386 3 +CH 6371 Stans Kanton Nidwalden NW Nidwalden 700 Stans 1509 46.9581 8.3661 +CH 6372 Ennetmoos Kanton Nidwalden NW Nidwalden 700 Ennetmoos 1506 46.9448 8.3225 4 +CH 6373 Ennetbürgen Kanton Nidwalden NW Nidwalden 700 Ennetbürgen 1505 46.9945 8.4308 4 +CH 6374 Buochs Kanton Nidwalden NW Nidwalden 700 Buochs 1502 46.9672 8.4227 4 +CH 6375 Beckenried Kanton Nidwalden NW Nidwalden 700 Beckenried 1501 46.9502 8.4716 4 +CH 6376 Emmetten Kanton Nidwalden NW Nidwalden 700 Emmetten 1504 46.946 8.5203 4 +CH 6382 Büren NW Kanton Nidwalden NW Nidwalden 700 Oberdorf (NW) 1508 46.9407 8.408 4 +CH 6383 Wiesenberg Kanton Nidwalden NW Nidwalden 700 Dallenwil 1503 46.915 8.3551 4 +CH 6383 Wirzweli Kanton Nidwalden NW Nidwalden 700 Dallenwil 1503 46.9121 8.3632 4 +CH 6383 Dallenwil Kanton Nidwalden NW Nidwalden 700 Dallenwil 1503 46.9223 8.3836 4 +CH 6383 Niederrickenbach Kanton Nidwalden NW Nidwalden 700 Oberdorf (NW) 1508 46.9193 8.4391 4 +CH 6386 Wolfenschiessen Kanton Nidwalden NW Nidwalden 700 Wolfenschiessen 1511 46.8996 8.3825 4 +CH 6387 Oberrickenbach Kanton Nidwalden NW Nidwalden 700 Wolfenschiessen 1511 46.8787 8.4401 4 +CH 6010 Kriens Kanton Obwalden OW Obwalden 600 Alpnach 1401 47.0199 8.2682 4 +CH 6010 Pilatus Kulm Kanton Obwalden OW Obwalden 600 Alpnach 1401 46.979 8.2548 6 +CH 6053 Alpnachstad Kanton Obwalden OW Obwalden 600 Alpnach 1401 46.961 8.291 4 +CH 6055 Alpnach Dorf Kanton Obwalden OW Obwalden 600 Alpnach 1401 46.949 8.2264 4 +CH 6056 Kägiswil Kanton Obwalden OW Obwalden 600 Sarnen 1407 46.917 8.2553 4 +CH 6060 Ramersberg Kanton Obwalden OW Obwalden 600 Sarnen 1407 46.9136 8.2083 4 +CH 6060 Sarnen Kanton Obwalden OW Obwalden 600 Sarnen 1407 46.8958 8.2474 4 +CH 6060 Sarnen 2 Kanton Obwalden OW Obwalden 600 Sarnen 1407 46.8985 8.1765 +CH 6061 Sarnen 1 Kanton Obwalden OW Obwalden 600 Sarnen 1407 46.8985 8.1765 +CH 6062 Wilen (Sarnen) Kanton Obwalden OW Obwalden 600 Sarnen 1407 46.8705 8.207 4 +CH 6063 Stalden (Sarnen) Kanton Obwalden OW Obwalden 600 Sarnen 1407 46.8944 8.1489 4 +CH 6064 Kerns Kanton Obwalden OW Obwalden 600 Kerns 1404 46.9071 8.3028 4 +CH 6066 St. Niklausen OW Kanton Obwalden OW Obwalden 600 Kerns 1404 46.8732 8.3026 4 +CH 6067 Melchtal Kanton Obwalden OW Obwalden 600 Kerns 1404 46.8235 8.3012 4 +CH 6068 Melchsee-Frutt Kanton Obwalden OW Obwalden 600 Kerns 1404 46.7821 8.2988 4 +CH 6072 Sachseln Kanton Obwalden OW Obwalden 600 Sachseln 1406 46.8319 8.2424 4 +CH 6073 Flüeli-Ranft Kanton Obwalden OW Obwalden 600 Sachseln 1406 46.874 8.2596 4 +CH 6074 Giswil Kanton Obwalden OW Obwalden 600 Giswil 1403 46.8375 8.122 4 +CH 6078 Bürglen OW Kanton Obwalden OW Obwalden 600 Lungern 1405 46.8113 8.1674 4 +CH 6078 Lungern Kanton Obwalden OW Obwalden 600 Lungern 1405 46.7848 8.1673 4 +CH 6388 Grafenort Kanton Obwalden OW Obwalden 600 Engelberg 1402 46.8634 8.3692 4 +CH 6390 Engelberg Kanton Obwalden OW Obwalden 600 Engelberg 1402 46.8145 8.4412 4 +CH 6391 Engelberg Kanton Obwalden OW Obwalden 600 Engelberg 1402 46.8211 8.4013 +CH 9000 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.424 9.3685 4 +CH 9001 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9004 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9006 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9007 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9008 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4413 9.3918 4 +CH 9010 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4419 9.3736 4 +CH 9011 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4154 9.4021 4 +CH 9012 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4096 9.3636 4 +CH 9013 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9014 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4081 9.3356 4 +CH 9015 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.408 9.3072 4 +CH 9016 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4418 9.4154 4 +CH 9020 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9021 St. Gallen MS Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9023 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9024 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9024 St. Gallen Presse-Serv.Güll Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9026 St. Gallen K AG Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9026 St. Gallen Künzler AG Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9027 St. Gallen Mona Versand Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9027 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9028 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9029 St. Gallen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9029 St. Gallen Sonderdienste Kanton St. Gallen SG Wahlkreis St. Gallen 1721 St. Gallen 3203 47.4221 9.3755 +CH 9030 St. Josefen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Gaiserwald 3442 47.426 9.3373 4 +CH 9030 Abtwil SG Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Gaiserwald 3442 47.4283 9.3204 4 +CH 9032 Engelburg Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Gaiserwald 3442 47.443 9.3415 4 +CH 9034 Eggersriet Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Eggersriet 3212 47.4414 9.4623 4 +CH 9036 Grub SG Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Eggersriet 3212 47.4543 9.5098 4 +CH 9200 Gossau SG Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Gossau (SG) 3443 47.4178 9.2492 4 +CH 9200 Gossau SG 2 Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Gossau (SG) 3443 47.421 9.2536 +CH 9201 Gossau SG Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Gossau (SG) 3443 47.421 9.2536 +CH 9204 Andwil SG Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Andwil (SG) 3441 47.4372 9.279 4 +CH 9205 Waldkirch Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Waldkirch 3444 47.463 9.2879 4 +CH 9212 Arnegg Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Gossau (SG) 3443 47.4425 9.2524 4 +CH 9300 Wittenbach Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Wittenbach 3204 47.4661 9.3798 4 +CH 9301 Wittenbach Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Wittenbach 3204 47.4611 9.386 +CH 9304 Bernhardzell Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Waldkirch 3444 47.4669 9.3409 4 +CH 9308 Lömmenschwil Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Häggenschwil 3201 47.4966 9.3455 4 +CH 9312 Häggenschwil Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Häggenschwil 3201 47.4907 9.3353 4 +CH 9313 Muolen Kanton St. Gallen SG Wahlkreis St. Gallen 1721 Muolen 3202 47.5171 9.3179 4 +CH 9033 Untereggen Kanton St. Gallen SG Wahlkreis Rorschach 1722 Untereggen 3219 47.4538 9.4543 4 +CH 9305 Berg SG Kanton St. Gallen SG Wahlkreis Rorschach 1722 Berg (SG) 3211 47.4862 9.4122 4 +CH 9323 Steinach Kanton St. Gallen SG Wahlkreis Rorschach 1722 Steinach 3217 47.5065 9.4497 4 +CH 9327 Tübach Kanton St. Gallen SG Wahlkreis Rorschach 1722 Tübach 3218 47.4825 9.4538 4 +CH 9400 Rorschach Kanton St. Gallen SG Wahlkreis Rorschach 1722 Rorschach 3215 47.4972 9.5037 4 +CH 9401 Rorschach Kanton St. Gallen SG Wahlkreis Rorschach 1722 Rorschach 3215 47.478 9.4903 +CH 9402 Mörschwil Kanton St. Gallen SG Wahlkreis Rorschach 1722 Mörschwil 3214 47.4675 9.426 4 +CH 9403 Goldach Kanton St. Gallen SG Wahlkreis Rorschach 1722 Goldach 3213 47.4859 9.4782 4 +CH 9404 Rorschacherberg Kanton St. Gallen SG Wahlkreis Rorschach 1722 Rorschacherberg 3216 47.4803 9.5104 4 +CH 9422 Staad SG Kanton St. Gallen SG Wahlkreis Rorschach 1722 Thal 3237 47.492 9.5371 4 +CH 9423 Altenrhein Kanton St. Gallen SG Wahlkreis Rorschach 1722 Thal 3237 47.5158 9.5473 4 +CH 9425 Thal Kanton St. Gallen SG Wahlkreis Rorschach 1722 Thal 3237 47.4732 9.5649 4 +CH 9411 Reute AR Kanton St. Gallen SG Wahlkreis Rheintal 1723 Berneck 3233 47.4088 9.5662 3 +CH 9424 Rheineck Kanton St. Gallen SG Wahlkreis Rheintal 1723 Rheineck 3235 47.4688 9.585 4 +CH 9430 St. Margrethen SG Kanton St. Gallen SG Wahlkreis Rheintal 1723 St. Margrethen 3236 47.4529 9.6276 4 +CH 9434 Au SG Kanton St. Gallen SG Wahlkreis Rheintal 1723 Au (SG) 3231 47.4297 9.639 4 +CH 9435 Heerbrugg Kanton St. Gallen SG Wahlkreis Rheintal 1723 Au (SG) 3231 47.4126 9.6266 4 +CH 9436 Balgach Kanton St. Gallen SG Wahlkreis Rheintal 1723 Balgach 3232 47.3935 9.612 4 +CH 9437 Marbach SG Kanton St. Gallen SG Wahlkreis Rheintal 1723 Marbach (SG) 3253 47.3865 9.579 4 +CH 9442 Berneck Kanton St. Gallen SG Wahlkreis Rheintal 1723 Berneck 3233 47.4244 9.6118 4 +CH 9443 Widnau Kanton St. Gallen SG Wahlkreis Rheintal 1723 Widnau 3238 47.4007 9.6376 4 +CH 9444 Diepoldsau Kanton St. Gallen SG Wahlkreis Rheintal 1723 Diepoldsau 3234 47.3823 9.6518 4 +CH 9445 Rebstein Kanton St. Gallen SG Wahlkreis Rheintal 1723 Rebstein 3255 47.3942 9.5898 4 +CH 9450 Altstätten SG 2 Kanton St. Gallen SG Wahlkreis Rheintal 1723 Altstätten 3251 47.378 9.5487 6 +CH 9450 Altstätten SG Kanton St. Gallen SG Wahlkreis Rheintal 1723 Altstätten 3251 47.3706 9.5419 4 +CH 9450 Lüchingen Kanton St. Gallen SG Wahlkreis Rheintal 1723 Altstätten 3251 47.3897 9.5549 4 +CH 9451 Kriessern Kanton St. Gallen SG Wahlkreis Rheintal 1723 Oberriet (SG) 3254 47.3639 9.6059 4 +CH 9452 Hinterforst Kanton St. Gallen SG Wahlkreis Rheintal 1723 Altstätten 3251 47.3579 9.5278 4 +CH 9453 Eichberg Kanton St. Gallen SG Wahlkreis Rheintal 1723 Eichberg 3252 47.3442 9.5209 4 +CH 9462 Montlingen Kanton St. Gallen SG Wahlkreis Rheintal 1723 Oberriet (SG) 3254 47.3412 9.5842 4 +CH 9462 Montlingen Kanton St. Gallen SG Wahlkreis Rheintal 1723 Oberriet (SG) 3254 47.3412 9.5842 4 +CH 9463 Oberriet SG Kanton St. Gallen SG Wahlkreis Rheintal 1723 Oberriet (SG) 3254 47.3228 9.5411 4 +CH 9464 Rüthi (Rheintal) Kanton St. Gallen SG Wahlkreis Rheintal 1723 Rüthi (SG) 3256 47.2949 9.5335 4 +CH 9464 Lienz Kanton St. Gallen SG Wahlkreis Rheintal 1723 Altstätten 3251 47.2866 9.5073 4 +CH 9465 Salez Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Sennwald 3274 47.2337 9.495 4 +CH 9466 Sennwald Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Sennwald 3274 47.2623 9.5013 4 +CH 9467 Frümsen Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Sennwald 3274 47.2505 9.4685 4 +CH 9468 Sax Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Sennwald 3274 47.235 9.4431 4 +CH 9469 Haag (Rheintal) Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Sennwald 3274 47.2094 9.4875 4 +CH 9470 Werdenberg Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Grabs 3273 47.1706 9.458 4 +CH 9470 Buchs SG Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Buchs (SG) 3271 47.1592 9.4622 4 +CH 9471 Buchs SG 3 Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Buchs (SG) 3271 47.166 9.4627 +CH 9471 Buchs SG 1 Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Buchs (SG) 3271 47.166 9.4627 +CH 9472 Grabs Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Grabs 3273 47.1811 9.4465 4 +CH 9472 Grabserberg Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Grabs 3273 47.165 9.3793 4 +CH 9473 Gams Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Gams 3272 47.2117 9.4297 4 +CH 9475 Sevelen Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Sevelen 3275 47.1292 9.4585 4 +CH 9476 Weite Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Wartau 3276 47.0986 9.5026 4 +CH 9476 Fontnas Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Wartau 3276 47.0906 9.4885 4 +CH 9477 Trübbach Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Wartau 3276 47.076 9.4861 4 +CH 9478 Azmoos Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Wartau 3276 47.0886 9.4318 4 +CH 9479 Malans SG Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Wartau 3276 47.0902 9.4756 4 +CH 9479 Oberschan Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Wartau 3276 47.102 9.4579 4 +CH 9479 Gretschins Kanton St. Gallen SG Wahlkreis Werdenberg 1724 Wartau 3276 47.0971 9.486 4 +CH 7310 Bad Ragaz Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Bad Ragaz 3291 46.9969 9.4731 4 +CH 7310 Bad Ragaz Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Pfäfers 3294 46.9969 9.4731 4 +CH 7312 Pfäfers Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Pfäfers 3294 46.9844 9.5075 4 +CH 7313 St. Margrethenberg Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Pfäfers 3294 46.9682 9.5101 4 +CH 7314 Vadura Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Pfäfers 3294 46.9562 9.4916 4 +CH 7315 Vättis Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Pfäfers 3294 46.9132 9.385 4 +CH 7317 Vasön Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Pfäfers 3294 46.9549 9.46 4 +CH 7317 Valens Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Pfäfers 3294 46.977 9.4672 4 +CH 7320 Sargans Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Sargans 3296 47.0556 9.4489 4 +CH 7323 Wangs Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Vilters-Wangs 3297 47.0061 9.4138 4 +CH 7324 Vilters Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Vilters-Wangs 3297 47.0198 9.4573 4 +CH 7325 Schwendi im Weisstannental Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Mels 3293 46.9966 9.3682 4 +CH 7326 Weisstannen Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Mels 3293 46.9719 9.3047 4 +CH 8877 Murg Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Quarten 3295 47.0696 9.1964 4 +CH 8878 Quinten Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Quarten 3295 47.1329 9.221 4 +CH 8879 Pizolpark (Mels) Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Mels 3293 47.0008 9.3374 +CH 8880 Walenstadt Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Walenstadt 3298 47.1224 9.3107 4 +CH 8881 Tscherlach Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Walenstadt 3298 47.1298 9.3402 4 +CH 8881 Walenstadtberg Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Walenstadt 3298 47.1406 9.2785 4 +CH 8882 Unterterzen Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Quarten 3295 47.1161 9.2484 4 +CH 8883 Quarten Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Quarten 3295 47.1029 9.2344 4 +CH 8884 Oberterzen Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Quarten 3295 47.0863 9.2458 4 +CH 8885 Mols Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Quarten 3295 47.1123 9.2824 4 +CH 8886 Mädris-Vermol Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Mels 3293 47.0371 9.3462 4 +CH 8887 Mels Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Mels 3293 47.0327 9.4166 4 +CH 8888 Heiligkreuz (Mels) Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Mels 3293 47.0684 9.4085 4 +CH 8889 Plons Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Mels 3293 47.0618 9.3833 4 +CH 8890 Flums Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Flums 3292 47.0935 9.3416 4 +CH 8892 Berschis Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Walenstadt 3298 47.1136 9.3721 4 +CH 8893 Flums Hochwiese Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Flums 3292 47.0837 9.3781 4 +CH 8894 Flumserberg Saxli Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Flums 3292 47.0597 9.3302 4 +CH 8895 Flumserberg Portels Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Flums 3292 47.0712 9.3208 4 +CH 8896 Flumserberg Bergheim Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Flums 3292 47.0925 9.309 4 +CH 8897 Flumserberg Tannenheim Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Flums 3292 47.046 9.266 4 +CH 8898 Flumserberg Tannenbodenalp Kanton St. Gallen SG Wahlkreis Sarganserland 1725 Flums 3292 47.0805 9.2683 4 +CH 8638 Goldingen Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Eschenbach (SG) 3342 47.2847 8.9739 4 +CH 8640 Rapperswil SG Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Rapperswil-Jona 3340 47.225 8.8188 4 +CH 8645 Jona Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Rapperswil-Jona 3340 47.232 8.84 4 +CH 8646 Wagen Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Rapperswil-Jona 3340 47.2321 8.8862 4 +CH 8715 Bollingen Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Rapperswil-Jona 3340 47.2199 8.8909 4 +CH 8716 Schmerikon Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Schmerikon 3338 47.2245 8.9419 4 +CH 8717 Benken SG Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Benken (SG) 3312 47.1924 8.9958 4 +CH 8718 Schänis Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Schänis 3315 47.1604 9.0585 4 +CH 8722 Kaltbrunn Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Kaltbrunn 3313 47.2096 9.0494 4 +CH 8723 Rufi Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Schänis 3315 47.1835 9.079 4 +CH 8723 Maseltrangen Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Schänis 3315 47.1963 9.0537 4 +CH 8725 Ernetschwil Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Gommiswald 3341 47.2414 8.9985 4 +CH 8725 Gebertingen Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Gommiswald 3341 47.2556 9.0052 4 +CH 8726 Ricken SG Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Gommiswald 3341 47.2594 9.0491 4 +CH 8727 Walde SG Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Eschenbach (SG) 3342 47.2743 9.0227 4 +CH 8730 Uznach Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Uznach 3339 47.2256 8.9811 4 +CH 8732 Neuhaus SG Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Eschenbach (SG) 3342 47.2418 8.9447 4 +CH 8733 Eschenbach SG Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Eschenbach (SG) 3342 47.245 8.922 4 +CH 8734 Ermenswil Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Eschenbach (SG) 3342 47.247 8.8897 4 +CH 8735 St. Gallenkappel Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Eschenbach (SG) 3342 47.246 8.9713 4 +CH 8735 Rüeterswil Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Eschenbach (SG) 3342 47.274 8.9952 4 +CH 8737 Gommiswald Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Gommiswald 3341 47.2315 9.0203 4 +CH 8738 Uetliburg SG Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Gommiswald 3341 47.2412 9.046 4 +CH 8739 Rieden SG Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Gommiswald 3341 47.2258 9.0772 4 +CH 8740 Uznach Vögele AG Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Uznach 3339 47.2265 8.9813 +CH 8740 Uznach Vögele Versandhaus Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Uznach 3339 47.2265 8.9813 +CH 8866 Ziegelbrücke Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Schänis 3315 47.136 9.0625 4 +CH 8872 Weesen Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Weesen 3316 47.1372 9.1115 4 +CH 8873 Amden Kanton St. Gallen SG Wahlkreis See-Gaster 1726 Amden 3311 47.1599 9.1679 4 +CH 9114 Hoffeld Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Neckertal 3378 47.3559 9.1726 4 +CH 9115 Dicken Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Neckertal 3378 47.3366 9.1932 4 +CH 9122 Mogelsberg Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Neckertal 3378 47.3604 9.1372 4 +CH 9122 Ebersol Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Neckertal 3378 47.3414 9.1574 4 +CH 9123 Nassen Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Neckertal 3378 47.3793 9.1493 4 +CH 9125 Brunnadern Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Neckertal 3378 47.324 9.1417 4 +CH 9126 Necker Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Oberhelfenschwil 3375 47.3462 9.1279 4 +CH 9127 St. Peterzell Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Neckertal 3378 47.3212 9.1793 4 +CH 9500 Wil SG Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Kirchberg (SG) 3392 47.4622 9.0517 4 +CH 9533 Dietschwil Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Kirchberg (SG) 3392 47.4253 9.0118 4 +CH 9533 Kirchberg SG Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Kirchberg (SG) 3392 47.4183 9.0341 4 +CH 9534 Gähwil Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Kirchberg (SG) 3392 47.3939 8.9982 4 +CH 9601 Lütisburg Station Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Lütisburg 3393 47.3814 9.0669 4 +CH 9602 Müselbach Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Kirchberg (SG) 3392 47.3883 9.0406 4 +CH 9602 Bazenheid Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Kirchberg (SG) 3392 47.4127 9.0654 4 +CH 9604 Lütisburg Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Lütisburg 3393 47.3954 9.106 4 +CH 9604 Unterrindal Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Lütisburg 3393 47.4091 9.0935 4 +CH 9606 Bütschwil Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Bütschwil-Ganterschwil 3395 47.3563 9.0691 4 +CH 9607 Mosnang Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Mosnang 3394 47.3592 9.0387 4 +CH 9608 Ganterschwil Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Bütschwil-Ganterschwil 3395 47.3743 9.0965 4 +CH 9612 Dreien Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Mosnang 3394 47.3552 9.0047 4 +CH 9613 Mühlrüti Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Mosnang 3394 47.3672 8.9784 4 +CH 9614 Libingen Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Mosnang 3394 47.3228 9.0173 4 +CH 9615 Dietfurt Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Bütschwil-Ganterschwil 3395 47.3365 9.0677 4 +CH 9620 Lichtensteig Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Lichtensteig 3374 47.3187 9.0877 4 +CH 9621 Oberhelfenschwil Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Oberhelfenschwil 3375 47.3483 9.1066 4 +CH 9622 Krinau Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Wattwil 3379 47.3178 9.0521 4 +CH 9630 Wattwil Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Wattwil 3379 47.2939 9.0881 4 +CH 9631 Ulisbach Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Wattwil 3379 47.2851 9.1173 4 +CH 9633 Hemberg Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Hemberg 3372 47.2892 9.1756 4 +CH 9633 Bächli (Hemberg) Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Hemberg 3372 47.3005 9.2016 4 +CH 9642 Ebnat-Kappel Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Ebnat-Kappel 3352 47.245 9.1299 4 +CH 9643 Krummenau Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Nesslau 3360 47.258 9.1869 4 +CH 9650 Nesslau Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Nesslau 3360 47.2123 9.1831 4 +CH 9651 Ennetbühl Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Nesslau 3360 47.2455 9.2592 4 +CH 9652 Neu St. Johann Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Nesslau 3360 47.242 9.1901 4 +CH 9655 Stein SG Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Nesslau 3360 47.2017 9.2298 4 +CH 9656 Alt St. Johann Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Wildhaus-Alt St. Johann 3359 47.1773 9.2647 4 +CH 9657 Unterwasser Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Wildhaus-Alt St. Johann 3359 47.1964 9.3065 4 +CH 9658 Wildhaus Kanton St. Gallen SG Wahlkreis Toggenburg 1727 Wildhaus-Alt St. Johann 3359 47.2165 9.3527 4 +CH 9113 Degersheim Kanton St. Gallen SG Wahlkreis Wil 1728 Degersheim 3401 47.3734 9.1981 4 +CH 9116 Wolfertswil Kanton St. Gallen SG Wahlkreis Wil 1728 Degersheim 3401 47.3957 9.1692 4 +CH 9203 Niederwil SG Kanton St. Gallen SG Wahlkreis Wil 1728 Oberbüren 3424 47.4323 9.2016 4 +CH 9230 Flawil 1 Kanton St. Gallen SG Wahlkreis Wil 1728 Flawil 3402 47.4053 9.1977 +CH 9230 Flawil 2 Botsberg Kanton St. Gallen SG Wahlkreis Wil 1728 Flawil 3402 47.4053 9.1977 +CH 9230 Flawil Kanton St. Gallen SG Wahlkreis Wil 1728 Flawil 3402 47.4086 9.1895 4 +CH 9231 Egg (Flawil) Kanton St. Gallen SG Wahlkreis Wil 1728 Flawil 3402 47.3943 9.2222 4 +CH 9240 Uzwil Kanton St. Gallen SG Wahlkreis Wil 1728 Uzwil 3408 47.4358 9.1356 4 +CH 9240 Niederglatt SG Kanton St. Gallen SG Wahlkreis Wil 1728 Oberuzwil 3407 47.4278 9.163 4 +CH 9242 Oberuzwil Kanton St. Gallen SG Wahlkreis Wil 1728 Oberuzwil 3407 47.4292 9.1217 4 +CH 9243 Jonschwil Kanton St. Gallen SG Wahlkreis Wil 1728 Jonschwil 3405 47.423 9.0951 4 +CH 9244 Niederuzwil Kanton St. Gallen SG Wahlkreis Wil 1728 Uzwil 3408 47.4463 9.1427 4 +CH 9245 Oberbüren Kanton St. Gallen SG Wahlkreis Wil 1728 Oberbüren 3424 47.4505 9.1675 4 +CH 9245 Sonnental Kanton St. Gallen SG Wahlkreis Wil 1728 Oberbüren 3424 47.4584 9.1348 4 +CH 9246 Niederbüren Kanton St. Gallen SG Wahlkreis Wil 1728 Niederbüren 3422 47.4625 9.2147 4 +CH 9247 Henau Kanton St. Gallen SG Wahlkreis Wil 1728 Uzwil 3408 47.4557 9.114 4 +CH 9248 Bichwil Kanton St. Gallen SG Wahlkreis Wil 1728 Oberuzwil 3407 47.4157 9.1376 4 +CH 9249 Niederstetten Kanton St. Gallen SG Wahlkreis Wil 1728 Uzwil 3408 47.4535 9.0823 4 +CH 9249 Algetshausen Kanton St. Gallen SG Wahlkreis Wil 1728 Uzwil 3408 47.4443 9.1101 4 +CH 9249 Oberstetten Kanton St. Gallen SG Wahlkreis Wil 1728 Uzwil 3408 47.4464 9.0914 3 +CH 9500 Wil SG Kanton St. Gallen SG Wahlkreis Wil 1728 Wil (SG) 3427 47.4622 9.0517 4 +CH 9501 Wil SG 1 Kanton St. Gallen SG Wahlkreis Wil 1728 Wil (SG) 3427 47.4757 9.0518 +CH 9512 Rossrüti Kanton St. Gallen SG Wahlkreis Wil 1728 Wil (SG) 3427 47.4817 9.0721 4 +CH 9523 Züberwangen Kanton St. Gallen SG Wahlkreis Wil 1728 Zuzwil (SG) 3426 47.4652 9.0888 4 +CH 9524 Zuzwil SG Kanton St. Gallen SG Wahlkreis Wil 1728 Zuzwil (SG) 3426 47.475 9.1112 4 +CH 9525 Lenggenwil Kanton St. Gallen SG Wahlkreis Wil 1728 Niederhelfenschwil 3423 47.4713 9.1422 4 +CH 9526 Zuckenriet Kanton St. Gallen SG Wahlkreis Wil 1728 Niederhelfenschwil 3423 47.4868 9.1641 4 +CH 9527 Niederhelfenschwil Kanton St. Gallen SG Wahlkreis Wil 1728 Niederhelfenschwil 3423 47.4786 9.1855 4 +CH 9532 Rickenbach b. Wil Kanton St. Gallen SG Wahlkreis Wil 1728 Jonschwil 3405 47.4457 9.0487 3 +CH 9536 Schwarzenbach SG Kanton St. Gallen SG Wahlkreis Wil 1728 Jonschwil 3405 47.4406 9.0728 4 +CH 9552 Bronschhofen Kanton St. Gallen SG Wahlkreis Wil 1728 Wil (SG) 3427 47.481 9.0301 4 +CH 9604 Oberrindal Kanton St. Gallen SG Wahlkreis Wil 1728 Jonschwil 3405 47.4054 9.126 4 +CH 8213 Neunkirch Kanton Schaffhausen SH Bezirk Oberklettgau 1401 Neunkirch 2904 47.682 8.5118 4 +CH 8214 Gächlingen Kanton Schaffhausen SH Bezirk Oberklettgau 1401 Gächlingen 2901 47.7111 8.4965 4 +CH 8224 Löhningen Kanton Schaffhausen SH Bezirk Oberklettgau 1401 Löhningen 2903 47.7035 8.5465 4 +CH 8234 Stetten SH Kanton Schaffhausen SH Bezirk Reiat 1402 Stetten (SH) 2919 47.7384 8.6582 4 +CH 8235 Lohn SH Kanton Schaffhausen SH Bezirk Reiat 1402 Lohn (SH) 2917 47.7558 8.6704 4 +CH 8236 Opfertshofen SH Kanton Schaffhausen SH Bezirk Reiat 1402 Thayngen 2920 47.7725 8.6592 4 +CH 8236 Büttenhardt Kanton Schaffhausen SH Bezirk Reiat 1402 Büttenhardt 2914 47.7533 8.6445 4 +CH 8239 Dörflingen Kanton Schaffhausen SH Bezirk Reiat 1402 Dörflingen 2915 47.7101 8.717 4 +CH 8240 Thayngen Kanton Schaffhausen SH Bezirk Reiat 1402 Thayngen 2920 47.7431 8.7062 4 +CH 8241 Barzheim Kanton Schaffhausen SH Bezirk Reiat 1402 Thayngen 2920 47.7601 8.7176 4 +CH 8242 Hofen SH Kanton Schaffhausen SH Bezirk Reiat 1402 Thayngen 2920 47.7806 8.677 4 +CH 8242 Bibern SH Kanton Schaffhausen SH Bezirk Reiat 1402 Thayngen 2920 47.7689 8.6791 4 +CH 8243 Altdorf SH Kanton Schaffhausen SH Bezirk Reiat 1402 Thayngen 2920 47.7875 8.6568 4 +CH 8200 Schaffhausen Kanton Schaffhausen SH Bezirk Schaffhausen 1403 Schaffhausen 2939 47.7148 8.625 4 +CH 8201 Schaffhausen Kanton Schaffhausen SH Bezirk Schaffhausen 1403 Schaffhausen 2939 47.6973 8.6349 +CH 8203 Schaffhausen Kanton Schaffhausen SH Bezirk Schaffhausen 1403 Schaffhausen 2939 47.6992 8.6634 4 +CH 8207 Schaffhausen Kanton Schaffhausen SH Bezirk Schaffhausen 1403 Schaffhausen 2939 47.7228 8.673 4 +CH 8208 Schaffhausen Kanton Schaffhausen SH Bezirk Schaffhausen 1403 Schaffhausen 2939 47.7122 8.6354 4 +CH 8212 Neuhausen am Rheinfall Kanton Schaffhausen SH Bezirk Schaffhausen 1403 Neuhausen am Rheinfall 2937 47.6791 8.5992 4 +CH 8212 Neuhausen am Rheinfall 1 Kanton Schaffhausen SH Bezirk Schaffhausen 1403 Neuhausen am Rheinfall 2937 47.6792 8.5994 6 +CH 8222 Beringen Kanton Schaffhausen SH Bezirk Schaffhausen 1403 Beringen 2932 47.7044 8.5769 4 +CH 8223 Guntmadingen Kanton Schaffhausen SH Bezirk Schaffhausen 1403 Beringen 2932 47.6814 8.5572 4 +CH 8231 Hemmental Kanton Schaffhausen SH Bezirk Schaffhausen 1403 Schaffhausen 2939 47.7377 8.578 4 +CH 8232 Merishausen Kanton Schaffhausen SH Bezirk Schaffhausen 1403 Merishausen 2936 47.7629 8.5998 4 +CH 8233 Bargen SH Kanton Schaffhausen SH Bezirk Schaffhausen 1403 Bargen (SH) 2931 47.7934 8.5919 4 +CH 8454 Buchberg Kanton Schaffhausen SH Bezirk Schaffhausen 1403 Buchberg 2933 47.571 8.5526 4 +CH 8455 Rüdlingen Kanton Schaffhausen SH Bezirk Schaffhausen 1403 Rüdlingen 2938 47.5871 8.5669 4 +CH 8225 Siblingen Kanton Schaffhausen SH Bezirk Schleitheim 1404 Siblingen 2953 47.7234 8.5225 4 +CH 8226 Schleitheim Kanton Schaffhausen SH Bezirk Schleitheim 1404 Schleitheim 2952 47.7485 8.4948 4 +CH 8228 Beggingen Kanton Schaffhausen SH Bezirk Schleitheim 1404 Beggingen 2951 47.7652 8.5444 4 +CH 8260 Stein am Rhein 2 Stadt Kanton Schaffhausen SH Bezirk Stein 1405 Stein am Rhein 2964 47.6666 8.8578 +CH 8260 Stein am Rhein 1 Kanton Schaffhausen SH Bezirk Stein 1405 Stein am Rhein 2964 47.6666 8.8578 +CH 8260 Stein am Rhein Kanton Schaffhausen SH Bezirk Stein 1405 Stein am Rhein 2964 47.6661 8.8582 4 +CH 8261 Hemishofen Kanton Schaffhausen SH Bezirk Stein 1405 Hemishofen 2962 47.6883 8.841 4 +CH 8262 Ramsen Kanton Schaffhausen SH Bezirk Stein 1405 Ramsen 2963 47.7048 8.8147 4 +CH 8263 Buch SH Kanton Schaffhausen SH Bezirk Stein 1405 Buch (SH) 2961 47.7158 8.7846 4 +CH 8215 Hallau Kanton Schaffhausen SH Bezirk Unterklettgau 1406 Hallau 2971 47.7005 8.4432 4 +CH 8216 Oberhallau Kanton Schaffhausen SH Bezirk Unterklettgau 1406 Oberhallau 2972 47.7139 8.4734 4 +CH 8217 Wilchingen Kanton Schaffhausen SH Bezirk Unterklettgau 1406 Wilchingen 2974 47.665 8.4713 4 +CH 8218 Osterfingen Kanton Schaffhausen SH Bezirk Unterklettgau 1406 Wilchingen 2974 47.658 8.4971 4 +CH 8219 Trasadingen Kanton Schaffhausen SH Bezirk Unterklettgau 1406 Trasadingen 2973 47.67 8.4259 4 +CH 4622 Egerkingen Kanton Solothurn SO Bezirk Gäu 1101 Egerkingen 2401 47.3258 7.7964 4 +CH 4623 Neuendorf Kanton Solothurn SO Bezirk Gäu 1101 Neuendorf 2404 47.2971 7.8008 4 +CH 4624 Härkingen Kanton Solothurn SO Bezirk Gäu 1101 Härkingen 2402 47.3046 7.8214 4 +CH 4625 Oberbuchsiten Kanton Solothurn SO Bezirk Gäu 1101 Oberbuchsiten 2406 47.3122 7.7598 4 +CH 4626 Niederbuchsiten Kanton Solothurn SO Bezirk Gäu 1101 Niederbuchsiten 2405 47.2887 7.7782 4 +CH 4628 Wolfwil Kanton Solothurn SO Bezirk Gäu 1101 Wolfwil 2408 47.2701 7.7982 4 +CH 4702 Oensingen Kanton Solothurn SO Bezirk Gäu 1101 Oensingen 2407 47.2879 7.7228 4 +CH 4703 Kestenholz Kanton Solothurn SO Bezirk Gäu 1101 Kestenholz 2403 47.2763 7.7533 4 +CH 4710 Balsthal Kanton Solothurn SO Bezirk Thal 1102 Balsthal 2422 47.3143 7.7003 4 +CH 4712 Laupersdorf Kanton Solothurn SO Bezirk Thal 1102 Laupersdorf 2426 47.3128 7.6569 4 +CH 4713 Matzendorf Kanton Solothurn SO Bezirk Thal 1102 Matzendorf 2427 47.302 7.6282 4 +CH 4714 Aedermannsdorf Kanton Solothurn SO Bezirk Thal 1102 Aedermannsdorf 2421 47.306 7.6 4 +CH 4715 Herbetswil Kanton Solothurn SO Bezirk Thal 1102 Herbetswil 2424 47.2919 7.5735 4 +CH 4716 Gänsbrunnen Kanton Solothurn SO Bezirk Thal 1102 Welschenrohr-Gänsbrunnen 2430 47.2622 7.4669 4 +CH 4716 Welschenrohr Kanton Solothurn SO Bezirk Thal 1102 Welschenrohr-Gänsbrunnen 2430 47.2792 7.5232 4 +CH 4717 Mümliswil Kanton Solothurn SO Bezirk Thal 1102 Mümliswil-Ramiswil 2428 47.3456 7.6844 4 +CH 4718 Holderbank SO Kanton Solothurn SO Bezirk Thal 1102 Holderbank (SO) 2425 47.3327 7.7513 4 +CH 4719 Ramiswil Kanton Solothurn SO Bezirk Thal 1102 Mümliswil-Ramiswil 2428 47.3463 7.6337 4 +CH 3253 Schnottwil Kanton Solothurn SO Bezirk Bucheggberg 1103 Schnottwil 2461 47.1088 7.3912 4 +CH 3254 Messen Kanton Solothurn SO Bezirk Bucheggberg 1103 Messen 2457 47.0909 7.4496 4 +CH 3254 Balm b. Messen Kanton Solothurn SO Bezirk Bucheggberg 1103 Messen 2457 47.1045 7.4347 3 +CH 3307 Brunnenthal Kanton Solothurn SO Bezirk Bucheggberg 1103 Messen 2457 47.0853 7.4664 4 +CH 4571 Lüterkofen Kanton Solothurn SO Bezirk Bucheggberg 1103 Lüterkofen-Ichertswil 2455 47.1648 7.509 4 +CH 4571 Ichertswil Kanton Solothurn SO Bezirk Bucheggberg 1103 Lüterkofen-Ichertswil 2455 47.1598 7.4939 4 +CH 4574 Nennigkofen Kanton Solothurn SO Bezirk Bucheggberg 1103 Lüsslingen-Nennigkofen 2464 47.1829 7.4889 4 +CH 4574 Lüsslingen Kanton Solothurn SO Bezirk Bucheggberg 1103 Lüsslingen-Nennigkofen 2464 47.1914 7.5016 4 +CH 4576 Tscheppach Kanton Solothurn SO Bezirk Bucheggberg 1103 Buchegg 2465 47.1484 7.4818 4 +CH 4577 Hessigkofen Kanton Solothurn SO Bezirk Bucheggberg 1103 Buchegg 2465 47.139 7.4597 4 +CH 4578 Bibern SO Kanton Solothurn SO Bezirk Bucheggberg 1103 Buchegg 2465 47.1479 7.454 4 +CH 4579 Gossliwil Kanton Solothurn SO Bezirk Bucheggberg 1103 Buchegg 2465 47.1367 7.4345 4 +CH 4581 Küttigkofen Kanton Solothurn SO Bezirk Bucheggberg 1103 Buchegg 2465 47.1516 7.513 4 +CH 4582 Brügglen Kanton Solothurn SO Bezirk Bucheggberg 1103 Buchegg 2465 47.1439 7.4955 4 +CH 4583 Aetigkofen Kanton Solothurn SO Bezirk Bucheggberg 1103 Buchegg 2465 47.1235 7.4642 4 +CH 4583 Mühledorf SO Kanton Solothurn SO Bezirk Bucheggberg 1103 Buchegg 2465 47.1331 7.4755 4 +CH 4584 Gächliwil Kanton Solothurn SO Bezirk Bucheggberg 1103 Lüterswil-Gächliwil 2456 47.1273 7.4453 4 +CH 4584 Lüterswil Kanton Solothurn SO Bezirk Bucheggberg 1103 Lüterswil-Gächliwil 2456 47.1177 7.4407 4 +CH 4585 Biezwil Kanton Solothurn SO Bezirk Bucheggberg 1103 Biezwil 2445 47.1118 7.4191 4 +CH 4586 Kyburg-Buchegg Kanton Solothurn SO Bezirk Bucheggberg 1103 Buchegg 2465 47.1423 7.5137 4 +CH 4587 Aetingen Kanton Solothurn SO Bezirk Bucheggberg 1103 Buchegg 2465 47.1295 7.5009 4 +CH 4588 Unterramsern Kanton Solothurn SO Bezirk Bucheggberg 1103 Unterramsern 2463 47.1189 7.4808 4 +CH 4588 Oberramsern Kanton Solothurn SO Bezirk Bucheggberg 1103 Messen 2457 47.1134 7.4618 3 +CH 4588 Brittern Kanton Solothurn SO Bezirk Bucheggberg 1103 Buchegg 2465 47.121 7.494 4 +CH 4108 Witterswil Kanton Solothurn SO Bezirk Dorneck 1104 Witterswil 2481 47.4873 7.5261 4 +CH 4112 Bättwil-Flüh Kanton Solothurn SO Bezirk Dorneck 1104 Bättwil 2471 47.4916 7.51 6 +CH 4112 Flüh Kanton Solothurn SO Bezirk Dorneck 1104 Hofstetten-Flüh 2476 47.483 7.4984 4 +CH 4112 Bättwil Kanton Solothurn SO Bezirk Dorneck 1104 Bättwil 2471 47.4918 7.5105 4 +CH 4114 Hofstetten SO Kanton Solothurn SO Bezirk Dorneck 1104 Hofstetten-Flüh 2476 47.4703 7.51 4 +CH 4115 Mariastein Kanton Solothurn SO Bezirk Dorneck 1104 Metzerlen-Mariastein 2477 47.4759 7.4844 4 +CH 4116 Metzerlen Kanton Solothurn SO Bezirk Dorneck 1104 Metzerlen-Mariastein 2477 47.4637 7.4682 4 +CH 4118 Rodersdorf Kanton Solothurn SO Bezirk Dorneck 1104 Rodersdorf 2479 47.4846 7.4463 4 +CH 4143 Dornach Kanton Solothurn SO Bezirk Dorneck 1104 Dornach 2473 47.4766 7.6243 4 +CH 4145 Gempen Kanton Solothurn SO Bezirk Dorneck 1104 Gempen 2474 47.4784 7.6591 4 +CH 4146 Hochwald Kanton Solothurn SO Bezirk Dorneck 1104 Hochwald 2475 47.4545 7.6396 4 +CH 4206 Seewen SO Kanton Solothurn SO Bezirk Dorneck 1104 Seewen 2480 47.4263 7.6475 4 +CH 4412 Nuglar Kanton Solothurn SO Bezirk Dorneck 1104 Nuglar-St. Pantaleon 2478 47.4721 7.6887 4 +CH 4413 Büren SO Kanton Solothurn SO Bezirk Dorneck 1104 Büren (SO) 2472 47.4478 7.6733 4 +CH 4421 St. Pantaleon Kanton Solothurn SO Bezirk Dorneck 1104 Nuglar-St. Pantaleon 2478 47.459 7.689 4 +CH 4468 Kienberg Kanton Solothurn SO Bezirk Gösgen 1105 Kienberg 2492 47.4403 7.9672 4 +CH 4632 Trimbach Kanton Solothurn SO Bezirk Gösgen 1105 Trimbach 2500 47.3687 7.8889 4 +CH 4633 Hauenstein Kanton Solothurn SO Bezirk Gösgen 1105 Hauenstein-Ifenthal 2491 47.3713 7.8558 4 +CH 4634 Wisen SO Kanton Solothurn SO Bezirk Gösgen 1105 Wisen (SO) 2502 47.3938 7.8936 4 +CH 4652 Winznau Kanton Solothurn SO Bezirk Gösgen 1105 Winznau 2501 47.3682 7.9288 4 +CH 4653 Obergösgen Kanton Solothurn SO Bezirk Gösgen 1105 Obergösgen 2497 47.3642 7.9541 4 +CH 4654 Lostorf Kanton Solothurn SO Bezirk Gösgen 1105 Lostorf 2493 47.3872 7.9349 4 +CH 4655 Rohr b. Olten Kanton Solothurn SO Bezirk Gösgen 1105 Stüsslingen 2499 47.4108 7.9531 3 +CH 4655 Stüsslingen Kanton Solothurn SO Bezirk Gösgen 1105 Stüsslingen 2499 47.3948 7.9699 4 +CH 5013 Niedergösgen Kanton Solothurn SO Bezirk Gösgen 1105 Niedergösgen 2495 47.3736 7.984 4 +CH 5015 Erlinsbach SO Kanton Solothurn SO Bezirk Gösgen 1105 Erlinsbach (SO) 2503 47.3983 7.9959 4 +CH 4528 Zuchwil Kanton Solothurn SO Bezirk Wasseramt 1106 Zuchwil 2534 47.2047 7.5634 4 +CH 4542 Luterbach Kanton Solothurn SO Bezirk Wasseramt 1106 Luterbach 2527 47.2175 7.5881 4 +CH 4543 Deitingen Kanton Solothurn SO Bezirk Wasseramt 1106 Deitingen 2516 47.2177 7.6223 4 +CH 4552 Derendingen Kanton Solothurn SO Bezirk Wasseramt 1106 Derendingen 2517 47.192 7.5897 4 +CH 4553 Subingen Kanton Solothurn SO Bezirk Wasseramt 1106 Subingen 2532 47.2001 7.6237 4 +CH 4554 Hüniken Kanton Solothurn SO Bezirk Wasseramt 1106 Hüniken 2524 47.1834 7.6357 4 +CH 4554 Etziken Kanton Solothurn SO Bezirk Wasseramt 1106 Etziken 2518 47.1879 7.6458 4 +CH 4556 Steinhof SO Kanton Solothurn SO Bezirk Wasseramt 1106 Aeschi (SO) 2511 47.1591 7.6864 4 +CH 4556 Aeschi SO Kanton Solothurn SO Bezirk Wasseramt 1106 Aeschi (SO) 2511 47.1759 7.6604 4 +CH 4556 Burgäschi Kanton Solothurn SO Bezirk Wasseramt 1106 Aeschi (SO) 2511 47.1725 7.67 3 +CH 4556 Bolken Kanton Solothurn SO Bezirk Wasseramt 1106 Bolken 2514 47.1931 7.6619 4 +CH 4557 Horriwil Kanton Solothurn SO Bezirk Wasseramt 1106 Horriwil 2523 47.1803 7.6256 4 +CH 4558 Heinrichswil Kanton Solothurn SO Bezirk Wasseramt 1106 Drei Höfe 2535 47.1582 7.6307 4 +CH 4558 Hersiwil Kanton Solothurn SO Bezirk Wasseramt 1106 Drei Höfe 2535 47.1663 7.6351 4 +CH 4558 Winistorf Kanton Solothurn SO Bezirk Wasseramt 1106 Drei Höfe 2535 47.1578 7.6466 4 +CH 4562 Biberist Kanton Solothurn SO Bezirk Wasseramt 1106 Biberist 2513 47.1827 7.5498 4 +CH 4563 Gerlafingen Kanton Solothurn SO Bezirk Wasseramt 1106 Gerlafingen 2519 47.1706 7.5725 4 +CH 4564 Obergerlafingen Kanton Solothurn SO Bezirk Wasseramt 1106 Obergerlafingen 2528 47.1611 7.5841 4 +CH 4565 Recherswil Kanton Solothurn SO Bezirk Wasseramt 1106 Recherswil 2530 47.1598 7.6015 4 +CH 4566 Kriegstetten Kanton Solothurn SO Bezirk Wasseramt 1106 Kriegstetten 2525 47.1749 7.595 4 +CH 4566 Halten Kanton Solothurn SO Bezirk Wasseramt 1106 Halten 2520 47.1682 7.6119 4 +CH 4566 Oekingen Kanton Solothurn SO Bezirk Wasseramt 1106 Oekingen 2529 47.1787 7.6119 4 +CH 4573 Lohn-Ammannsegg Kanton Solothurn SO Bezirk Wasseramt 1106 Lohn-Ammannsegg 2526 47.1724 7.5278 4 +CH 2540 Grenchen 1 Kanton Solothurn SO Bezirk Lebern 1107 Grenchen 2546 47.1972 7.3875 +CH 2540 Grenchen Kanton Solothurn SO Bezirk Lebern 1107 Grenchen 2546 47.1972 7.3876 4 +CH 2544 Bettlach Kanton Solothurn SO Bezirk Lebern 1107 Bettlach 2543 47.2085 7.4189 4 +CH 2545 Selzach Kanton Solothurn SO Bezirk Lebern 1107 Selzach 2556 47.2175 7.4481 4 +CH 4512 Bellach Kanton Solothurn SO Bezirk Lebern 1107 Bellach 2542 47.211 7.4947 4 +CH 4513 Langendorf Kanton Solothurn SO Bezirk Lebern 1107 Langendorf 2550 47.2216 7.5153 4 +CH 4514 Lommiswil Kanton Solothurn SO Bezirk Lebern 1107 Lommiswil 2551 47.2284 7.4679 4 +CH 4515 Oberdorf SO Kanton Solothurn SO Bezirk Lebern 1107 Oberdorf (SO) 2553 47.2324 7.4984 4 +CH 4515 Weissenstein b. Solothurn Kanton Solothurn SO Bezirk Lebern 1107 Oberdorf (SO) 2553 47.2472 7.4852 3 +CH 4522 Rüttenen Kanton Solothurn SO Bezirk Lebern 1107 Rüttenen 2555 47.2408 7.5317 4 +CH 4523 Niederwil SO Kanton Solothurn SO Bezirk Lebern 1107 Riedholz 2554 47.247 7.569 4 +CH 4524 Oberbalmberg Kanton Solothurn SO Bezirk Lebern 1107 Balm bei Günsberg 2541 47.2649 7.5385 3 +CH 4524 Günsberg Kanton Solothurn SO Bezirk Lebern 1107 Günsberg 2547 47.2622 7.5746 4 +CH 4524 Balmberg Kanton Solothurn SO Bezirk Lebern 1107 Balm bei Günsberg 2541 47.2685 7.5515 4 +CH 4525 Balm b. Günsberg Kanton Solothurn SO Bezirk Lebern 1107 Balm bei Günsberg 2541 47.2582 7.5432 4 +CH 4532 Feldbrunnen Kanton Solothurn SO Bezirk Lebern 1107 Feldbrunnen-St. Niklaus 2544 47.2249 7.5521 4 +CH 4533 Riedholz Kanton Solothurn SO Bezirk Lebern 1107 Riedholz 2554 47.2319 7.5701 4 +CH 4534 Flumenthal Kanton Solothurn SO Bezirk Lebern 1107 Flumenthal 2545 47.2351 7.6007 4 +CH 4535 Hubersdorf Kanton Solothurn SO Bezirk Lebern 1107 Hubersdorf 2548 47.245 7.5887 4 +CH 4535 Kammersrohr Kanton Solothurn SO Bezirk Lebern 1107 Kammersrohr 2549 47.2567 7.5923 4 +CH 4600 Olten Kanton Solothurn SO Bezirk Olten 1108 Olten 2581 47.3458 7.9009 4 +CH 4601 Olten 1 Fächer Kanton Solothurn SO Bezirk Olten 1108 Olten 2581 47.3448 7.9001 +CH 4605 Olten Kanton Solothurn SO Bezirk Olten 1108 Olten 2581 47.35 7.9033 4 +CH 4609 Olten Sonderdienste Kanton Solothurn SO Bezirk Olten 1108 Olten 2581 47.3448 7.9001 +CH 4609 Olten Kanton Solothurn SO Bezirk Olten 1108 Olten 2581 47.3448 7.9001 +CH 4612 Wangen b. Olten Kanton Solothurn SO Bezirk Olten 1108 Wangen bei Olten 2586 47.3421 7.8717 4 +CH 4613 Rickenbach SO Kanton Solothurn SO Bezirk Olten 1108 Rickenbach (SO) 2582 47.3426 7.8552 4 +CH 4614 Hägendorf Kanton Solothurn SO Bezirk Olten 1108 Hägendorf 2579 47.3446 7.8264 4 +CH 4615 Allerheiligenberg Kanton Solothurn SO Bezirk Olten 1108 Hägendorf 2579 47.3523 7.8149 4 +CH 4616 Kappel SO Kanton Solothurn SO Bezirk Olten 1108 Kappel (SO) 2580 47.321 7.8573 4 +CH 4617 Gunzgen Kanton Solothurn SO Bezirk Olten 1108 Gunzgen 2578 47.3121 7.8355 4 +CH 4618 Boningen Kanton Solothurn SO Bezirk Olten 1108 Boningen 2571 47.3036 7.8543 4 +CH 4629 Fulenbach Kanton Solothurn SO Bezirk Olten 1108 Fulenbach 2575 47.2808 7.8327 4 +CH 4656 Starrkirch-Wil Kanton Solothurn SO Bezirk Olten 1108 Starrkirch-Wil 2584 47.3419 7.927 4 +CH 4657 Dulliken Kanton Solothurn SO Bezirk Olten 1108 Dulliken 2573 47.3473 7.9454 4 +CH 4658 Däniken SO Kanton Solothurn SO Bezirk Olten 1108 Däniken 2572 47.3488 7.9777 4 +CH 5012 Schönenwerd Kanton Solothurn SO Bezirk Olten 1108 Schönenwerd 2583 47.3732 8.0095 4 +CH 5012 Wöschnau Kanton Solothurn SO Bezirk Olten 1108 Eppenberg-Wöschnau 2574 47.3844 8.0251 4 +CH 5012 Eppenberg Kanton Solothurn SO Bezirk Olten 1108 Eppenberg-Wöschnau 2574 47.3741 8.0238 4 +CH 5014 Gretzenbach Kanton Solothurn SO Bezirk Olten 1108 Gretzenbach 2576 47.3541 7.9996 4 +CH 5746 Walterswil SO Kanton Solothurn SO Bezirk Olten 1108 Walterswil (SO) 2585 47.3305 7.9632 4 +CH 4500 Solothurn Kanton Solothurn SO Bezirk Solothurn 1109 Solothurn 2601 47.2062 7.5295 4 +CH 4501 Solothurn Kanton Solothurn SO Bezirk Solothurn 1109 Solothurn 2601 47.2084 7.5301 +CH 4502 Solothurn Kanton Solothurn SO Bezirk Solothurn 1109 Solothurn 2601 47.2079 7.5371 +CH 4503 Solothurn Kanton Solothurn SO Bezirk Solothurn 1109 Solothurn 2601 47.2079 7.5371 +CH 4509 Solothurn Kanton Solothurn SO Bezirk Solothurn 1109 Solothurn 2601 47.2079 7.5371 +CH 4204 Himmelried Kanton Solothurn SO Bezirk Thierstein 1110 Himmelried 2618 47.423 7.5939 4 +CH 4208 Nunningen Kanton Solothurn SO Bezirk Thierstein 1110 Nunningen 2621 47.3977 7.6166 4 +CH 4226 Breitenbach Kanton Solothurn SO Bezirk Thierstein 1110 Breitenbach 2613 47.4061 7.5512 4 +CH 4227 Büsserach Kanton Solothurn SO Bezirk Thierstein 1110 Büsserach 2614 47.3897 7.5447 4 +CH 4228 Erschwil Kanton Solothurn SO Bezirk Thierstein 1110 Erschwil 2615 47.3716 7.5445 4 +CH 4229 Beinwil SO Kanton Solothurn SO Bezirk Thierstein 1110 Beinwil (SO) 2612 47.3578 7.5951 4 +CH 4232 Fehren Kanton Solothurn SO Bezirk Thierstein 1110 Fehren 2616 47.4027 7.5786 4 +CH 4233 Meltingen Kanton Solothurn SO Bezirk Thierstein 1110 Meltingen 2620 47.3795 7.5884 4 +CH 4234 Zullwil Kanton Solothurn SO Bezirk Thierstein 1110 Zullwil 2622 47.388 7.6036 4 +CH 4245 Kleinlützel Kanton Solothurn SO Bezirk Thierstein 1110 Kleinlützel 2619 47.4266 7.4179 4 +CH 4247 Grindel Kanton Solothurn SO Bezirk Thierstein 1110 Grindel 2617 47.3797 7.5073 4 +CH 4252 Bärschwil Kanton Solothurn SO Bezirk Thierstein 1110 Bärschwil 2611 47.3851 7.4659 4 +CH 4252 Bärschwil Dorf Kanton Solothurn SO Bezirk Thierstein 1110 Bärschwil 2611 47.385 7.4657 +CH 8836 Bennau Kanton Schwyz SZ Bezirk Einsiedeln 501 Einsiedeln 1301 47.1506 8.7145 4 +CH 8840 Einsiedeln Kanton Schwyz SZ Bezirk Einsiedeln 501 Einsiedeln 1301 47.1316 8.7441 4 +CH 8840 Trachslau Kanton Schwyz SZ Bezirk Einsiedeln 501 Einsiedeln 1301 47.1033 8.7274 4 +CH 8841 Gross Kanton Schwyz SZ Bezirk Einsiedeln 501 Einsiedeln 1301 47.0969 8.7628 4 +CH 8844 Euthal Kanton Schwyz SZ Bezirk Einsiedeln 501 Einsiedeln 1301 47.0903 8.8293 4 +CH 8846 Willerzell Kanton Schwyz SZ Bezirk Einsiedeln 501 Einsiedeln 1301 47.1299 8.8105 4 +CH 8847 Egg SZ Kanton Schwyz SZ Bezirk Einsiedeln 501 Einsiedeln 1301 47.161 8.7773 4 +CH 6410 Rigi Scheidegg Kanton Schwyz SZ Bezirk Gersau 502 Gersau 1311 47.0257 8.5187 4 +CH 6442 Gersau Kanton Schwyz SZ Bezirk Gersau 502 Gersau 1311 46.9977 8.5198 4 +CH 8640 Hurden Kanton Schwyz SZ Bezirk Höfe 503 Freienbach 1322 47.2129 8.8026 4 +CH 8806 Bäch SZ Kanton Schwyz SZ Bezirk Höfe 503 Freienbach 1322 47.2043 8.7308 4 +CH 8807 Freienbach Kanton Schwyz SZ Bezirk Höfe 503 Freienbach 1322 47.207 8.7571 4 +CH 8808 Pfäffikon SZ Kanton Schwyz SZ Bezirk Höfe 503 Freienbach 1322 47.1976 8.7832 4 +CH 8832 Wilen b. Wollerau Kanton Schwyz SZ Bezirk Höfe 503 Freienbach 1322 47.1958 8.7349 3 +CH 8832 Wollerau Kanton Schwyz SZ Bezirk Höfe 503 Wollerau 1323 47.1907 8.7051 4 +CH 8832 Wollerau Kanton Schwyz SZ Bezirk Höfe 503 Freienbach 1322 47.1907 8.7051 4 +CH 8834 Schindellegi Kanton Schwyz SZ Bezirk Höfe 503 Feusisberg 1321 47.1736 8.711 4 +CH 8835 Feusisberg Kanton Schwyz SZ Bezirk Höfe 503 Feusisberg 1321 47.1812 8.7516 4 +CH 6402 Merlischachen Kanton Schwyz SZ Bezirk Küssnacht 504 Küssnacht (SZ) 1331 47.0704 8.4065 4 +CH 6403 Küssnacht am Rigi Kanton Schwyz SZ Bezirk Küssnacht 504 Küssnacht (SZ) 1331 47.0789 8.4457 4 +CH 6405 Immensee Kanton Schwyz SZ Bezirk Küssnacht 504 Küssnacht (SZ) 1331 47.094 8.4748 4 +CH 8852 Altendorf Kanton Schwyz SZ Bezirk March 505 Altendorf 1341 47.1765 8.8278 4 +CH 8853 Lachen SZ Kanton Schwyz SZ Bezirk March 505 Lachen 1344 47.197 8.8542 4 +CH 8854 Siebnen Kanton Schwyz SZ Bezirk March 505 Schübelbach 1346 47.1486 8.9229 4 +CH 8854 Galgenen Kanton Schwyz SZ Bezirk March 505 Galgenen 1342 47.1673 8.8678 4 +CH 8855 Wangen SZ Kanton Schwyz SZ Bezirk March 505 Wangen (SZ) 1349 47.1988 8.8911 4 +CH 8856 Tuggen Kanton Schwyz SZ Bezirk March 505 Tuggen 1347 47.2014 8.9385 4 +CH 8857 Vorderthal Kanton Schwyz SZ Bezirk March 505 Vorderthal 1348 47.1263 8.8893 4 +CH 8858 Innerthal Kanton Schwyz SZ Bezirk March 505 Innerthal 1343 47.0756 8.9172 4 +CH 8862 Schübelbach Kanton Schwyz SZ Bezirk March 505 Schübelbach 1346 47.1746 8.9271 4 +CH 8863 Buttikon SZ Kanton Schwyz SZ Bezirk March 505 Schübelbach 1346 47.1674 8.9471 4 +CH 8864 Reichenburg Kanton Schwyz SZ Bezirk March 505 Reichenburg 1345 47.161 8.9733 4 +CH 6410 Rigi Klösterli Kanton Schwyz SZ Bezirk Schwyz 506 Arth 1362 47.0432 8.4982 4 +CH 6410 Goldau Kanton Schwyz SZ Bezirk Schwyz 506 Arth 1362 47.0433 8.5468 4 +CH 6410 Rigi Kulm Kanton Schwyz SZ Bezirk Schwyz 506 Arth 1362 47.0562 8.4904 4 +CH 6410 Rigi Staffel Kanton Schwyz SZ Bezirk Schwyz 506 Arth 1362 47.05 8.476 4 +CH 6414 Oberarth Kanton Schwyz SZ Bezirk Schwyz 506 Arth 1362 47.0543 8.5335 4 +CH 6415 Arth Kanton Schwyz SZ Bezirk Schwyz 506 Arth 1362 47.0749 8.5245 4 +CH 6416 Steinerberg Kanton Schwyz SZ Bezirk Schwyz 506 Steinerberg 1374 47.0674 8.5808 4 +CH 6417 Sattel Kanton Schwyz SZ Bezirk Schwyz 506 Sattel 1371 47.08 8.6312 4 +CH 6418 Rothenthurm Kanton Schwyz SZ Bezirk Schwyz 506 Rothenthurm 1370 47.1019 8.6804 4 +CH 6422 Steinen Kanton Schwyz SZ Bezirk Schwyz 506 Steinen 1373 47.0517 8.6095 4 +CH 6423 Seewen SZ Kanton Schwyz SZ Bezirk Schwyz 506 Schwyz 1372 47.0328 8.6281 4 +CH 6424 Lauerz Kanton Schwyz SZ Bezirk Schwyz 506 Lauerz 1365 47.0248 8.5805 4 +CH 6430 Schwyz Kanton Schwyz SZ Bezirk Schwyz 506 Schwyz 1372 47.0346 8.6667 4 +CH 6431 Schwyz Kanton Schwyz SZ Bezirk Schwyz 506 Schwyz 1372 47.0208 8.6541 +CH 6432 Rickenbach b. Schwyz Kanton Schwyz SZ Bezirk Schwyz 506 Schwyz 1372 47.011 8.6928 1 +CH 6433 Stoos SZ Kanton Schwyz SZ Bezirk Schwyz 506 Morschach 1366 46.97 8.6717 4 +CH 6434 Illgau Kanton Schwyz SZ Bezirk Schwyz 506 Illgau 1363 46.9965 8.7399 4 +CH 6436 Bisisthal Kanton Schwyz SZ Bezirk Schwyz 506 Muotathal 1367 46.9296 8.8692 4 +CH 6436 Muotathal Kanton Schwyz SZ Bezirk Schwyz 506 Muotathal 1367 46.9636 8.8079 4 +CH 6436 Ried (Muotathal) Kanton Schwyz SZ Bezirk Schwyz 506 Muotathal 1367 46.982 8.71 4 +CH 6438 Ibach Kanton Schwyz SZ Bezirk Schwyz 506 Schwyz 1372 47.0025 8.6469 4 +CH 6440 Brunnen Kanton Schwyz SZ Bezirk Schwyz 506 Ingenbohl 1364 47.0009 8.5956 4 +CH 6443 Morschach Kanton Schwyz SZ Bezirk Schwyz 506 Morschach 1366 46.9748 8.621 4 +CH 6452 Riemenstalden Kanton Schwyz SZ Bezirk Schwyz 506 Riemenstalden 1369 46.938 8.6855 4 +CH 8842 Unteriberg Kanton Schwyz SZ Bezirk Schwyz 506 Unteriberg 1375 47.0415 8.8079 4 +CH 8843 Oberiberg Kanton Schwyz SZ Bezirk Schwyz 506 Oberiberg 1368 47.0308 8.7617 4 +CH 8845 Studen SZ Kanton Schwyz SZ Bezirk Schwyz 506 Unteriberg 1375 47.0436 8.8589 4 +CH 8849 Alpthal Kanton Schwyz SZ Bezirk Schwyz 506 Alpthal 1361 47.0578 8.7145 4 +CH 8580 Hefenhofen Kanton Thurgau TG Arbon District 2011 Hefenhofen 4416 47.5613 9.3131 4 +CH 8580 Biessenhofen Kanton Thurgau TG Arbon District 2011 Amriswil 4461 47.5454 9.2584 4 +CH 8580 Hagenwil b. Amriswil Kanton Thurgau TG Arbon District 2011 Amriswil 4461 47.5292 9.3065 3 +CH 8580 Amriswil Kanton Thurgau TG Arbon District 2011 Amriswil 4461 47.5411 9.2981 4 +CH 8580 Sommeri Kanton Thurgau TG Arbon District 2011 Sommeri 4446 47.5713 9.2839 4 +CH 8581 Schocherswil Kanton Thurgau TG Arbon District 2011 Amriswil 4461 47.5361 9.2644 4 +CH 8582 Dozwil Kanton Thurgau TG Arbon District 2011 Dozwil 4406 47.5761 9.3191 4 +CH 8587 Oberaach Kanton Thurgau TG Arbon District 2011 Amriswil 4461 47.5597 9.2726 4 +CH 8590 Romanshorn Kanton Thurgau TG Arbon District 2011 Romanshorn 4436 47.5805 9.3897 4 +CH 8592 Uttwil Kanton Thurgau TG Arbon District 2011 Uttwil 4451 47.5994 9.3554 4 +CH 8593 Kesswil Kanton Thurgau TG Arbon District 2011 Kesswil 4426 47.6029 9.3264 4 +CH 8599 Salmsach Kanton Thurgau TG Arbon District 2011 Salmsach 4441 47.5544 9.3736 4 +CH 9306 Freidorf TG Kanton Thurgau TG Arbon District 2011 Roggwil (TG) 4431 47.4854 9.3858 4 +CH 9314 Steinebrunn Kanton Thurgau TG Arbon District 2011 Egnach 4411 47.5338 9.3438 4 +CH 9315 Winden Kanton Thurgau TG Arbon District 2011 Egnach 4411 47.5097 9.3577 4 +CH 9315 Neukirch (Egnach) Kanton Thurgau TG Arbon District 2011 Egnach 4411 47.5263 9.3716 4 +CH 9320 Arbon Kanton Thurgau TG Arbon District 2011 Arbon 4401 47.5331 9.4531 4 +CH 9320 Stachen Kanton Thurgau TG Arbon District 2011 Arbon 4401 47.5088 9.4108 4 +CH 9320 Frasnacht Kanton Thurgau TG Arbon District 2011 Arbon 4401 47.5444 9.4333 4 +CH 9322 Egnach Kanton Thurgau TG Arbon District 2011 Egnach 4411 47.5529 9.4079 4 +CH 9325 Roggwil TG Kanton Thurgau TG Arbon District 2011 Roggwil (TG) 4431 47.5057 9.3928 4 +CH 9326 Horn Kanton Thurgau TG Arbon District 2011 Horn 4421 47.5159 9.4839 4 +CH 8252 Schlatt TG Kanton Thurgau TG Frauenfeld District 2012 Schlatt (TG) 4546 47.6672 8.6989 4 +CH 8253 Diessenhofen Kanton Thurgau TG Frauenfeld District 2012 Diessenhofen 4545 47.6812 8.746 4 +CH 8253 Willisdorf Kanton Thurgau TG Frauenfeld District 2012 Diessenhofen 4545 47.6798 8.7378 4 +CH 8254 Basadingen Kanton Thurgau TG Frauenfeld District 2012 Basadingen-Schlattingen 4536 47.6607 8.7403 4 +CH 8255 Schlattingen Kanton Thurgau TG Frauenfeld District 2012 Basadingen-Schlattingen 4536 47.6605 8.7691 4 +CH 8259 Wagenhausen Kanton Thurgau TG Frauenfeld District 2012 Wagenhausen 4871 47.6629 8.8381 4 +CH 8259 Rheinklingen Kanton Thurgau TG Frauenfeld District 2012 Wagenhausen 4871 47.6709 8.8144 4 +CH 8259 Etzwilen Kanton Thurgau TG Frauenfeld District 2012 Wagenhausen 4871 47.6571 8.8169 4 +CH 8259 Kaltenbach Kanton Thurgau TG Frauenfeld District 2012 Wagenhausen 4871 47.6459 8.8376 4 +CH 8264 Eschenz Kanton Thurgau TG Frauenfeld District 2012 Eschenz 4806 47.6365 8.8756 4 +CH 8265 Mammern Kanton Thurgau TG Frauenfeld District 2012 Mammern 4826 47.6467 8.9214 4 +CH 8266 Steckborn Kanton Thurgau TG Frauenfeld District 2012 Steckborn 4864 47.6604 8.9866 4 +CH 8267 Berlingen Kanton Thurgau TG Frauenfeld District 2012 Berlingen 4801 47.6733 9.0259 4 +CH 8500 Gerlikon Kanton Thurgau TG Frauenfeld District 2012 Frauenfeld 4566 47.5353 8.8801 4 +CH 8500 Frauenfeld Kanton Thurgau TG Frauenfeld District 2012 Frauenfeld 4566 47.5598 8.8977 4 +CH 8501 Frauenfeld Kanton Thurgau TG Frauenfeld District 2012 Frauenfeld 4566 47.5578 8.8989 +CH 8502 Frauenfeld Kanton Thurgau TG Frauenfeld District 2012 Frauenfeld 4566 47.558 8.8964 +CH 8503 Frauenfeld Kanton Thurgau TG Frauenfeld District 2012 Frauenfeld 4566 47.558 8.8964 +CH 8505 Pfyn Kanton Thurgau TG Frauenfeld District 2012 Pfyn 4841 47.599 8.9519 4 +CH 8505 Dettighofen Kanton Thurgau TG Frauenfeld District 2012 Pfyn 4841 47.618 8.9553 4 +CH 8506 Lanzenneunforn Kanton Thurgau TG Frauenfeld District 2012 Herdern 4811 47.6239 8.9336 4 +CH 8507 Hörhausen Kanton Thurgau TG Frauenfeld District 2012 Homburg 4816 47.6416 8.9714 4 +CH 8508 Homburg Kanton Thurgau TG Frauenfeld District 2012 Homburg 4816 47.6292 8.9995 4 +CH 8509 Frauenfeld Kanton Thurgau TG Frauenfeld District 2012 Frauenfeld 4566 47.5578 8.8989 +CH 8510 Frauenfeld Kant. Verwaltung Kanton Thurgau TG Frauenfeld District 2012 Frauenfeld 4566 47.558 8.8964 +CH 8510 Frauenfeld Kanton Thurgau TG Frauenfeld District 2012 Frauenfeld 4566 47.558 8.8964 +CH 8512 Thundorf Kanton Thurgau TG Frauenfeld District 2012 Thundorf 4611 47.5472 8.9642 4 +CH 8512 Wetzikon TG Kanton Thurgau TG Frauenfeld District 2012 Thundorf 4611 47.5385 8.9982 4 +CH 8512 Lustdorf Kanton Thurgau TG Frauenfeld District 2012 Thundorf 4611 47.5548 8.9882 4 +CH 8524 Buch b. Frauenfeld Kanton Thurgau TG Frauenfeld District 2012 Uesslingen-Buch 4616 47.5973 8.8378 4 +CH 8524 Uesslingen Kanton Thurgau TG Frauenfeld District 2012 Uesslingen-Buch 4616 47.5822 8.824 4 +CH 8525 Wilen b. Neunforn Kanton Thurgau TG Frauenfeld District 2012 Neunforn 4601 47.6013 8.7972 3 +CH 8525 Niederneunforn Kanton Thurgau TG Frauenfeld District 2012 Neunforn 4601 47.5944 8.7781 4 +CH 8526 Oberneunforn Kanton Thurgau TG Frauenfeld District 2012 Neunforn 4601 47.6083 8.7627 4 +CH 8532 Weiningen TG Kanton Thurgau TG Frauenfeld District 2012 Warth-Weiningen 4621 47.5905 8.8983 4 +CH 8532 Warth Kanton Thurgau TG Frauenfeld District 2012 Warth-Weiningen 4621 47.5857 8.8697 4 +CH 8535 Herdern Kanton Thurgau TG Frauenfeld District 2012 Herdern 4811 47.6105 8.9102 4 +CH 8536 Hüttwilen Kanton Thurgau TG Frauenfeld District 2012 Hüttwilen 4821 47.6109 8.8696 4 +CH 8537 Uerschhausen Kanton Thurgau TG Frauenfeld District 2012 Hüttwilen 4821 47.6089 8.8169 4 +CH 8537 Nussbaumen TG Kanton Thurgau TG Frauenfeld District 2012 Hüttwilen 4821 47.624 8.8299 4 +CH 8546 Kefikon TG Kanton Thurgau TG Frauenfeld District 2012 Gachnang 4571 47.5527 8.8348 3 +CH 8546 Islikon Kanton Thurgau TG Frauenfeld District 2012 Gachnang 4571 47.5509 8.8449 4 +CH 8547 Gachnang Kanton Thurgau TG Frauenfeld District 2012 Gachnang 4571 47.5381 8.8552 4 +CH 8552 Felben-Wellhausen Kanton Thurgau TG Frauenfeld District 2012 Felben-Wellhausen 4561 47.577 8.94 4 +CH 8553 Eschikofen Kanton Thurgau TG Frauenfeld District 2012 Hüttlingen 4590 47.5804 9.0047 4 +CH 8553 Hüttlingen Kanton Thurgau TG Frauenfeld District 2012 Hüttlingen 4590 47.5785 8.9844 4 +CH 8553 Mettendorf TG Kanton Thurgau TG Frauenfeld District 2012 Hüttlingen 4590 47.5777 8.9664 4 +CH 8553 Harenwilen Kanton Thurgau TG Frauenfeld District 2012 Hüttlingen 4590 47.5683 9.0013 4 +CH 8555 Müllheim Dorf Kanton Thurgau TG Frauenfeld District 2012 Müllheim 4831 47.6028 9.0037 4 +CH 9507 Stettfurt Kanton Thurgau TG Frauenfeld District 2012 Stettfurt 4606 47.525 8.9585 4 +CH 9548 Matzingen Kanton Thurgau TG Frauenfeld District 2012 Matzingen 4591 47.5253 8.9285 4 +CH 8268 Mannenbach-Salenstein Kanton Thurgau TG Kreuzlingen District 2013 Salenstein 4851 47.6758 9.0539 4 +CH 8268 Salenstein Kanton Thurgau TG Kreuzlingen District 2013 Salenstein 4851 47.6627 9.051 4 +CH 8269 Fruthwilen Kanton Thurgau TG Kreuzlingen District 2013 Salenstein 4851 47.654 9.0647 4 +CH 8272 Ermatingen Kanton Thurgau TG Kreuzlingen District 2013 Ermatingen 4646 47.6604 9.0861 4 +CH 8273 Triboltingen Kanton Thurgau TG Kreuzlingen District 2013 Ermatingen 4646 47.6599 9.1078 4 +CH 8274 Gottlieben Kanton Thurgau TG Kreuzlingen District 2013 Gottlieben 4651 47.6654 9.126 4 +CH 8274 Tägerwilen Kanton Thurgau TG Kreuzlingen District 2013 Tägerwilen 4696 47.6481 9.1318 4 +CH 8280 Kreuzlingen Kanton Thurgau TG Kreuzlingen District 2013 Kreuzlingen 4671 47.6415 9.1752 4 +CH 8280 Kreuzlingen 1 Kanton Thurgau TG Kreuzlingen District 2013 Kreuzlingen 4671 47.6398 9.1727 +CH 8280 Kreuzlingen 3 Kanton Thurgau TG Kreuzlingen District 2013 Kreuzlingen 4671 47.6398 9.1727 +CH 8285 Kreuzlingen Ifolor Kanton Thurgau TG Kreuzlingen District 2013 Kreuzlingen 4671 47.6398 9.1727 +CH 8285 Kreuzlingen Ifolor AG Kanton Thurgau TG Kreuzlingen District 2013 Kreuzlingen 4671 47.6398 9.1727 +CH 8558 Raperswilen Kanton Thurgau TG Kreuzlingen District 2013 Raperswilen 4846 47.6367 9.047 4 +CH 8564 Engwilen Kanton Thurgau TG Kreuzlingen District 2013 Wäldi 4701 47.6161 9.0959 4 +CH 8564 Sonterswil Kanton Thurgau TG Kreuzlingen District 2013 Wäldi 4701 47.6221 9.0814 4 +CH 8564 Gunterswilen Kanton Thurgau TG Kreuzlingen District 2013 Wäldi 4701 47.6355 9.077 4 +CH 8564 Hefenhausen Kanton Thurgau TG Kreuzlingen District 2013 Wäldi 4701 47.6161 9.0688 4 +CH 8564 Lipperswil Kanton Thurgau TG Kreuzlingen District 2013 Wäldi 4701 47.6172 9.055 4 +CH 8564 Hattenhausen Kanton Thurgau TG Kreuzlingen District 2013 Wäldi 4701 47.6267 9.0679 4 +CH 8564 Wäldi Kanton Thurgau TG Kreuzlingen District 2013 Wäldi 4701 47.6322 9.0953 4 +CH 8565 Hugelshofen Kanton Thurgau TG Kreuzlingen District 2013 Kemmental 4666 47.5953 9.1175 4 +CH 8566 Ellighausen Kanton Thurgau TG Kreuzlingen District 2013 Kemmental 4666 47.6145 9.1388 4 +CH 8566 Neuwilen Kanton Thurgau TG Kreuzlingen District 2013 Kemmental 4666 47.6238 9.1301 4 +CH 8566 Lippoldswilen Kanton Thurgau TG Kreuzlingen District 2013 Kemmental 4666 47.6106 9.1139 4 +CH 8566 Dotnacht Kanton Thurgau TG Kreuzlingen District 2013 Kemmental 4666 47.5972 9.143 4 +CH 8573 Siegershausen Kanton Thurgau TG Kreuzlingen District 2013 Kemmental 4666 47.6167 9.1689 4 +CH 8573 Alterswilen Kanton Thurgau TG Kreuzlingen District 2013 Kemmental 4666 47.6108 9.1536 4 +CH 8573 Altishausen Kanton Thurgau TG Kreuzlingen District 2013 Kemmental 4666 47.5986 9.1694 4 +CH 8574 Illighausen Kanton Thurgau TG Kreuzlingen District 2013 Lengwil 4683 47.6031 9.2098 4 +CH 8574 Lengwil Kanton Thurgau TG Kreuzlingen District 2013 Lengwil 4683 47.6219 9.1969 4 +CH 8574 Lengwil Kanton Thurgau TG Kreuzlingen District 2013 Lengwil 4683 47.6219 9.1969 4 +CH 8574 Dettighofen (Lengwil) Kanton Thurgau TG Kreuzlingen District 2013 Lengwil 4683 47.6225 9.2043 4 +CH 8574 Oberhofen TG Kanton Thurgau TG Kreuzlingen District 2013 Lengwil 4683 47.6125 9.1914 4 +CH 8585 Langrickenbach Kanton Thurgau TG Kreuzlingen District 2013 Langrickenbach 4681 47.583 9.2506 4 +CH 8585 Schönenbaumgarten Kanton Thurgau TG Kreuzlingen District 2013 Langrickenbach 4681 47.6129 9.2268 4 +CH 8585 Zuben Kanton Thurgau TG Kreuzlingen District 2013 Langrickenbach 4681 47.6026 9.2312 4 +CH 8585 Herrenhof Kanton Thurgau TG Kreuzlingen District 2013 Langrickenbach 4681 47.5973 9.2421 4 +CH 8594 Güttingen Kanton Thurgau TG Kreuzlingen District 2013 Güttingen 4656 47.6118 9.3003 4 +CH 8595 Altnau Kanton Thurgau TG Kreuzlingen District 2013 Altnau 4641 47.6196 9.272 4 +CH 8596 Scherzingen Kanton Thurgau TG Kreuzlingen District 2013 Münsterlingen 4691 47.6285 9.2247 4 +CH 8596 Münsterlingen Kanton Thurgau TG Kreuzlingen District 2013 Münsterlingen 4691 47.6457 9.2374 4 +CH 8597 Landschlacht Kanton Thurgau TG Kreuzlingen District 2013 Münsterlingen 4691 47.6373 9.258 4 +CH 8598 Bottighofen Kanton Thurgau TG Kreuzlingen District 2013 Bottighofen 4643 47.6403 9.2129 4 +CH 8355 Aadorf Kanton Thurgau TG Münchwilen District 2014 Aadorf 4551 47.492 8.9075 4 +CH 8356 Ettenhausen TG Kanton Thurgau TG Münchwilen District 2014 Aadorf 4551 47.4743 8.8967 4 +CH 8357 Guntershausen b. Aadorf Kanton Thurgau TG Münchwilen District 2014 Aadorf 4551 47.4717 8.9207 4 +CH 8360 Eschlikon TG Kanton Thurgau TG Münchwilen District 2014 Eschlikon 4724 47.4638 8.9671 4 +CH 8360 Wallenwil Kanton Thurgau TG Münchwilen District 2014 Eschlikon 4724 47.4532 8.9547 4 +CH 8362 Balterswil Kanton Thurgau TG Münchwilen District 2014 Bichelsee-Balterswil 4721 47.454 8.9368 4 +CH 8363 Bichelsee Kanton Thurgau TG Münchwilen District 2014 Bichelsee-Balterswil 4721 47.4462 8.9178 4 +CH 8370 Sirnach Kanton Thurgau TG Münchwilen District 2014 Sirnach 4761 47.4624 8.9983 4 +CH 8371 Busswil TG Kanton Thurgau TG Münchwilen District 2014 Sirnach 4761 47.4533 9.0172 4 +CH 8372 Wiezikon b. Sirnach Kanton Thurgau TG Münchwilen District 2014 Sirnach 4761 47.4466 8.9872 4 +CH 8374 Dussnang Kanton Thurgau TG Münchwilen District 2014 Fischingen 4726 47.422 8.9427 4 +CH 8374 Oberwangen TG Kanton Thurgau TG Münchwilen District 2014 Fischingen 4726 47.4294 8.9813 4 +CH 8376 Fischingen Kanton Thurgau TG Münchwilen District 2014 Fischingen 4726 47.411 8.973 4 +CH 8376 Au TG Kanton Thurgau TG Münchwilen District 2014 Fischingen 4726 47.3944 8.9512 4 +CH 8522 Aawangen Kanton Thurgau TG Münchwilen District 2014 Aadorf 4551 47.5118 8.9022 4 +CH 8522 Häuslenen Kanton Thurgau TG Münchwilen District 2014 Aadorf 4551 47.5273 8.9021 4 +CH 9502 Braunau Kanton Thurgau TG Münchwilen District 2014 Braunau 4723 47.5044 9.0689 4 +CH 9506 Lommis Kanton Thurgau TG Münchwilen District 2014 Lommis 4741 47.5148 8.9976 4 +CH 9508 Weingarten-Kalthäusern Kanton Thurgau TG Münchwilen District 2014 Lommis 4741 47.5253 8.9872 4 +CH 9532 Rickenbach b. Wil Kanton Thurgau TG Münchwilen District 2014 Rickenbach (TG) 4751 47.4457 9.0487 4 +CH 9535 Wilen b. Wil Kanton Thurgau TG Münchwilen District 2014 Wilen (TG) 4786 47.4471 9.0321 4 +CH 9542 Münchwilen TG Kanton Thurgau TG Münchwilen District 2014 Münchwilen (TG) 4746 47.4794 8.991 4 +CH 9543 St. Margarethen TG Kanton Thurgau TG Münchwilen District 2014 Münchwilen (TG) 4746 47.4906 9.0028 4 +CH 9545 Wängi Kanton Thurgau TG Münchwilen District 2014 Wängi 4781 47.4988 8.9618 4 +CH 9546 Tuttwil Kanton Thurgau TG Münchwilen District 2014 Wängi 4781 47.4808 8.9482 4 +CH 9547 Wittenwil Kanton Thurgau TG Münchwilen District 2014 Aadorf 4551 47.5033 8.9227 4 +CH 9553 Bettwiesen Kanton Thurgau TG Münchwilen District 2014 Bettwiesen 4716 47.4977 9.0187 4 +CH 9554 Tägerschen Kanton Thurgau TG Münchwilen District 2014 Tobel-Tägerschen 4776 47.5062 9.0279 4 +CH 9555 Tobel Kanton Thurgau TG Münchwilen District 2014 Tobel-Tägerschen 4776 47.5167 9.0442 4 +CH 9573 Littenheid Kanton Thurgau TG Münchwilen District 2014 Sirnach 4761 47.4414 9.0079 4 +CH 8514 Amlikon-Bissegg Kanton Thurgau TG Weinfelden District 2015 Amlikon-Bissegg 4881 47.5588 9.0353 4 +CH 8554 Bonau Kanton Thurgau TG Weinfelden District 2015 Wigoltingen 4951 47.5827 9.0355 4 +CH 8554 Müllheim-Wigoltingen Kanton Thurgau TG Weinfelden District 2015 Wigoltingen 4951 47.5901 9.0133 3 +CH 8556 Illhart Kanton Thurgau TG Weinfelden District 2015 Wigoltingen 4951 47.6182 9.0361 4 +CH 8556 Lamperswil TG Kanton Thurgau TG Weinfelden District 2015 Wigoltingen 4951 47.6107 9.0372 4 +CH 8556 Engwang Kanton Thurgau TG Weinfelden District 2015 Wigoltingen 4951 47.6012 9.0524 4 +CH 8556 Wigoltingen Kanton Thurgau TG Weinfelden District 2015 Wigoltingen 4951 47.5974 9.0314 4 +CH 8560 Märstetten Kanton Thurgau TG Weinfelden District 2015 Märstetten 4941 47.5913 9.068 4 +CH 8561 Ottoberg Kanton Thurgau TG Weinfelden District 2015 Märstetten 4941 47.59 9.09 4 +CH 8564 Wagerswil Kanton Thurgau TG Weinfelden District 2015 Wigoltingen 4951 47.6092 9.0635 4 +CH 8570 Weinfelden Kanton Thurgau TG Weinfelden District 2015 Weinfelden 4946 47.5698 9.1122 4 +CH 8572 Graltshausen Kanton Thurgau TG Weinfelden District 2015 Berg (TG) 4891 47.5961 9.1831 4 +CH 8572 Andhausen Kanton Thurgau TG Weinfelden District 2015 Berg (TG) 4891 47.5772 9.1793 4 +CH 8572 Guntershausen b. Berg Kanton Thurgau TG Weinfelden District 2015 Berg (TG) 4891 47.572 9.1869 3 +CH 8572 Berg TG Kanton Thurgau TG Weinfelden District 2015 Berg (TG) 4891 47.5831 9.1672 4 +CH 8572 Berg TG Kanton Thurgau TG Weinfelden District 2015 Berg (TG) 4891 47.5831 9.1672 4 +CH 8575 Bürglen TG Kanton Thurgau TG Weinfelden District 2015 Bürglen (TG) 4911 47.5505 9.1536 4 +CH 8575 Istighofen Kanton Thurgau TG Weinfelden District 2015 Bürglen (TG) 4911 47.5393 9.1431 4 +CH 8576 Mauren TG Kanton Thurgau TG Weinfelden District 2015 Berg (TG) 4891 47.5658 9.1541 4 +CH 8577 Schönholzerswilen Kanton Thurgau TG Weinfelden District 2015 Schönholzerswilen 4756 47.5151 9.1331 4 +CH 8583 Donzhausen Kanton Thurgau TG Weinfelden District 2015 Sulgen 4506 47.5543 9.1976 4 +CH 8583 Sulgen Kanton Thurgau TG Weinfelden District 2015 Sulgen 4506 47.5409 9.1865 4 +CH 8583 Götighofen Kanton Thurgau TG Weinfelden District 2015 Sulgen 4506 47.5349 9.2125 4 +CH 8584 Opfershofen TG Kanton Thurgau TG Weinfelden District 2015 Bürglen (TG) 4911 47.5618 9.1735 4 +CH 8584 Leimbach TG Kanton Thurgau TG Weinfelden District 2015 Bürglen (TG) 4911 47.5624 9.1901 4 +CH 8585 Klarsreuti Kanton Thurgau TG Weinfelden District 2015 Birwinken 4901 47.5882 9.2141 4 +CH 8585 Happerswil Kanton Thurgau TG Weinfelden District 2015 Birwinken 4901 47.5799 9.2272 4 +CH 8585 Birwinken Kanton Thurgau TG Weinfelden District 2015 Birwinken 4901 47.5849 9.1966 3 +CH 8585 Mattwil Kanton Thurgau TG Weinfelden District 2015 Birwinken 4901 47.5794 9.2121 4 +CH 8586 Buchackern Kanton Thurgau TG Weinfelden District 2015 Erlen 4476 47.5364 9.2391 4 +CH 8586 Andwil TG Kanton Thurgau TG Weinfelden District 2015 Birwinken 4901 47.5654 9.2151 4 +CH 8586 Ennetaach Kanton Thurgau TG Weinfelden District 2015 Erlen 4476 47.5527 9.2151 4 +CH 8586 Buch b. Kümmertshausen Kanton Thurgau TG Weinfelden District 2015 Birwinken 4901 47.5716 9.2353 3 +CH 8586 Riedt b. Erlen Kanton Thurgau TG Weinfelden District 2015 Erlen 4476 47.5428 9.2141 3 +CH 8586 Engishofen Kanton Thurgau TG Weinfelden District 2015 Erlen 4476 47.5572 9.2507 4 +CH 8586 Kümmertshausen Kanton Thurgau TG Weinfelden District 2015 Erlen 4476 47.5659 9.2466 4 +CH 8586 Erlen Kanton Thurgau TG Weinfelden District 2015 Erlen 4476 47.5485 9.2346 4 +CH 8588 Zihlschlacht Kanton Thurgau TG Weinfelden District 2015 Zihlschlacht-Sitterdorf 4511 47.521 9.2614 4 +CH 8589 Sitterdorf Kanton Thurgau TG Weinfelden District 2015 Zihlschlacht-Sitterdorf 4511 47.5071 9.2488 4 +CH 9213 Hauptwil Kanton Thurgau TG Weinfelden District 2015 Hauptwil-Gottshaus 4486 47.4823 9.2558 4 +CH 9214 Kradolf Kanton Thurgau TG Weinfelden District 2015 Kradolf-Schönenberg 4501 47.5265 9.1984 4 +CH 9215 Buhwil Kanton Thurgau TG Weinfelden District 2015 Kradolf-Schönenberg 4501 47.5255 9.166 4 +CH 9215 Schönenberg an der Thur Kanton Thurgau TG Weinfelden District 2015 Kradolf-Schönenberg 4501 47.5185 9.1969 4 +CH 9216 Hohentannen Kanton Thurgau TG Weinfelden District 2015 Hohentannen 4495 47.5088 9.2224 4 +CH 9216 Heldswil Kanton Thurgau TG Weinfelden District 2015 Hohentannen 4495 47.5256 9.2274 4 +CH 9217 Neukirch an der Thur Kanton Thurgau TG Weinfelden District 2015 Kradolf-Schönenberg 4501 47.5097 9.1729 4 +CH 9220 Bischofszell Kanton Thurgau TG Weinfelden District 2015 Bischofszell 4471 47.497 9.2568 4 +CH 9223 Schweizersholz Kanton Thurgau TG Weinfelden District 2015 Bischofszell 4471 47.4999 9.1954 4 +CH 9223 Halden Kanton Thurgau TG Weinfelden District 2015 Bischofszell 4471 47.5043 9.2074 4 +CH 9225 Wilen (Gottshaus) Kanton Thurgau TG Weinfelden District 2015 Hauptwil-Gottshaus 4486 47.4896 9.2777 4 +CH 9225 St. Pelagiberg Kanton Thurgau TG Weinfelden District 2015 Hauptwil-Gottshaus 4486 47.4894 9.3048 4 +CH 9503 Lanterswil Kanton Thurgau TG Weinfelden District 2015 Bussnang 4921 47.5167 9.0979 4 +CH 9503 Stehrenberg Kanton Thurgau TG Weinfelden District 2015 Bussnang 4921 47.5233 9.09 4 +CH 9504 Friltschen Kanton Thurgau TG Weinfelden District 2015 Bussnang 4921 47.5353 9.0894 4 +CH 9514 Wuppenau Kanton Thurgau TG Weinfelden District 2015 Wuppenau 4791 47.4972 9.1058 4 +CH 9515 Hosenruck Kanton Thurgau TG Weinfelden District 2015 Wuppenau 4791 47.4916 9.1372 4 +CH 9517 Mettlen Kanton Thurgau TG Weinfelden District 2015 Bussnang 4921 47.5341 9.1195 4 +CH 9556 Zezikon Kanton Thurgau TG Weinfelden District 2015 Affeltrangen 4711 47.5347 9.0174 4 +CH 9556 Affeltrangen Kanton Thurgau TG Weinfelden District 2015 Affeltrangen 4711 47.5277 9.0303 4 +CH 9562 Märwil Kanton Thurgau TG Weinfelden District 2015 Affeltrangen 4711 47.5302 9.0694 4 +CH 9562 Buch b. Märwil Kanton Thurgau TG Weinfelden District 2015 Affeltrangen 4711 47.537 9.0554 3 +CH 9565 Schmidshof Kanton Thurgau TG Weinfelden District 2015 Bussnang 4921 47.5448 9.0549 4 +CH 9565 Rothenhausen Kanton Thurgau TG Weinfelden District 2015 Bussnang 4921 47.5485 9.1056 4 +CH 9565 Oberbussnang Kanton Thurgau TG Weinfelden District 2015 Bussnang 4921 47.5439 9.0922 3 +CH 9565 Oppikon Kanton Thurgau TG Weinfelden District 2015 Bussnang 4921 47.5497 9.0601 4 +CH 9565 Bussnang Kanton Thurgau TG Weinfelden District 2015 Bussnang 4921 47.5567 9.0796 4 +CH 6500 Bellinzona 4 Ticino TI Bellinzona District 2101 Bellinzona 5002 46.1999 9.0225 +CH 6500 Bellinzona Ticino TI Bellinzona District 2101 Bellinzona 5002 46.1926 9.0364 4 +CH 6500 Bellinzona 2 Ticino TI Bellinzona District 2101 Bellinzona 5002 46.1999 9.0225 +CH 6500 Bellinzona 5 Ticino TI Bellinzona District 2101 Bellinzona 5002 46.1999 9.0225 +CH 6500 Bellinzona VZ Ticino TI Bellinzona District 2101 Bellinzona 5002 46.1999 9.0225 +CH 6501 Bellinzona Ticino TI Bellinzona District 2101 Bellinzona 5002 46.1928 9.017 +CH 6503 Bellinzona Ticino TI Bellinzona District 2101 Bellinzona 5002 46.2109 9.0017 4 +CH 6512 Giubiasco Ticino TI Bellinzona District 2101 Bellinzona 5002 46.1733 9.0046 4 +CH 6513 Monte Carasso Ticino TI Bellinzona District 2101 Bellinzona 5002 46.2048 8.9744 4 +CH 6514 Sementina Ticino TI Bellinzona District 2101 Bellinzona 5002 46.1901 8.9702 4 +CH 6515 Gudo Ticino TI Bellinzona District 2101 Bellinzona 5002 46.1818 8.9452 4 +CH 6517 Arbedo Ticino TI Bellinzona District 2101 Arbedo-Castione 5001 46.1987 9.086 4 +CH 6518 Gorduno Ticino TI Bellinzona District 2101 Bellinzona 5002 46.2253 8.9954 4 +CH 6523 Preonzo Ticino TI Bellinzona District 2101 Bellinzona 5002 46.2489 8.9667 4 +CH 6524 Moleno Ticino TI Bellinzona District 2101 Bellinzona 5002 46.2662 8.9684 4 +CH 6525 Gnosca Ticino TI Bellinzona District 2101 Bellinzona 5002 46.2382 9.0038 4 +CH 6528 Camorino Ticino TI Bellinzona District 2101 Bellinzona 5002 46.1577 9.0119 4 +CH 6532 Castione Ticino TI Bellinzona District 2101 Arbedo-Castione 5001 46.23 9.0433 4 +CH 6533 Lumino Ticino TI Bellinzona District 2101 Lumino 5010 46.2384 9.0681 4 +CH 6582 Pianezzo Ticino TI Bellinzona District 2101 Bellinzona 5002 46.1611 9.0487 4 +CH 6583 S. Antonio (Val Morobbia) Ticino TI Bellinzona District 2101 Bellinzona 5002 46.1683 9.0699 4 +CH 6584 Carena Ticino TI Bellinzona District 2101 Bellinzona 5002 46.1556 9.1077 4 +CH 6592 S. Antonino Ticino TI Bellinzona District 2101 Sant'Antonino 5017 46.1554 8.973 4 +CH 6593 Cadenazzo Ticino TI Bellinzona District 2101 Cadenazzo 5003 46.1507 8.9495 4 +CH 6599 Robasacco Ticino TI Bellinzona District 2101 Cadenazzo 5003 46.1384 8.9497 4 +CH 6702 Claro Ticino TI Bellinzona District 2101 Bellinzona 5002 46.2659 9.0372 4 +CH 6809 Medeglia Ticino TI Bellinzona District 2101 Comunanza Cadenazzo/Montecener 5391 46.1285 8.9892 4 +CH 6810 Isone Ticino TI Bellinzona District 2101 Isone 5009 46.1335 9.0144 4 +CH 6713 Malvaglia Ticino TI Blenio District 2102 Serravalle 5050 46.4349 9.0386 4 +CH 6714 Semione Ticino TI Blenio District 2102 Serravalle 5050 46.4019 8.954 4 +CH 6715 Dongio Ticino TI Blenio District 2102 Acquarossa 5048 46.4525 8.9717 4 +CH 6716 Acquarossa Ticino TI Blenio District 2102 Acquarossa 5048 46.4569 8.9378 4 +CH 6716 Leontica Ticino TI Blenio District 2102 Acquarossa 5048 46.4528 8.9032 4 +CH 6716 Lottigna Ticino TI Blenio District 2102 Acquarossa 5048 46.4637 8.9555 4 +CH 6717 Dangio Ticino TI Blenio District 2102 Blenio 5049 46.4955 8.955 4 +CH 6717 Torre Ticino TI Blenio District 2102 Blenio 5049 46.4831 8.9738 4 +CH 6718 Camperio Ticino TI Blenio District 2102 Blenio 5049 46.5169 8.9089 4 +CH 6718 Olivone Ticino TI Blenio District 2102 Blenio 5049 46.5349 8.8778 4 +CH 6719 Aquila Ticino TI Blenio District 2102 Blenio 5049 46.5406 8.9881 4 +CH 6719 Aquila Ticino TI Blenio District 2102 Blenio 5049 46.5406 8.9881 4 +CH 6719 Aquila Ticino TI Blenio District 2102 Blenio 5049 46.5406 8.9881 4 +CH 6720 Ghirone Ticino TI Blenio District 2102 Blenio 5049 46.5906 8.9439 4 +CH 6720 Campo (Blenio) Ticino TI Blenio District 2102 Blenio 5049 46.5598 8.8894 4 +CH 6721 Motto (Blenio) Ticino TI Blenio District 2102 Acquarossa 5048 46.4397 8.9822 4 +CH 6721 Ludiano Ticino TI Blenio District 2102 Serravalle 5050 46.4208 8.9482 4 +CH 6722 Corzoneso Ticino TI Blenio District 2102 Acquarossa 5048 46.4364 8.9256 4 +CH 6723 Prugiasco Ticino TI Blenio District 2102 Acquarossa 5048 46.4716 8.8925 4 +CH 6723 Castro Ticino TI Blenio District 2102 Acquarossa 5048 46.4696 8.9303 4 +CH 6723 Marolta Ticino TI Blenio District 2102 Acquarossa 5048 46.4786 8.9171 4 +CH 6724 Largario Ticino TI Blenio District 2102 Acquarossa 5048 46.4928 8.9383 4 +CH 6724 Ponto Valentino Ticino TI Blenio District 2102 Acquarossa 5048 46.4904 8.8992 4 +CH 6742 Pollegio Ticino TI Leventina District 2103 Pollegio 5077 46.3709 8.9456 4 +CH 6743 Bodio TI Ticino TI Leventina District 2103 Bodio 5064 46.386 8.9205 4 +CH 6744 Personico Ticino TI Leventina District 2103 Personico 5076 46.3463 8.894 4 +CH 6745 Giornico Ticino TI Leventina District 2103 Giornico 5073 46.3892 8.8624 4 +CH 6746 Calonico Ticino TI Leventina District 2103 Faido 5072 46.4536 8.8462 4 +CH 6746 Lavorgo Ticino TI Leventina District 2103 Faido 5072 46.4426 8.8409 4 +CH 6746 Nivo Ticino TI Leventina District 2103 Faido 5072 46.4364 8.8426 4 +CH 6747 Chironico Ticino TI Leventina District 2103 Faido 5072 46.4233 8.7932 4 +CH 6748 Anzonico Ticino TI Leventina District 2103 Faido 5072 46.4412 8.8679 4 +CH 6749 Sobrio Ticino TI Leventina District 2103 Faido 5072 46.403 8.9069 4 +CH 6749 Cavagnago Ticino TI Leventina District 2103 Faido 5072 46.4188 8.8887 4 +CH 6760 Calpiogna Ticino TI Leventina District 2103 Faido 5072 46.485 8.805 4 +CH 6760 Campello Ticino TI Leventina District 2103 Faido 5072 46.4985 8.8148 3 +CH 6760 Rossura Ticino TI Leventina District 2103 Faido 5072 46.4741 8.844 4 +CH 6760 Faido Ticino TI Leventina District 2103 Faido 5072 46.4736 8.8011 4 +CH 6760 Carì Ticino TI Leventina District 2103 Faido 5072 46.5036 8.8264 4 +CH 6760 Molare Ticino TI Leventina District 2103 Faido 5072 46.4941 8.8447 4 +CH 6763 Mairengo Ticino TI Leventina District 2103 Faido 5072 46.5032 8.7969 4 +CH 6763 Osco Ticino TI Leventina District 2103 Faido 5072 46.5038 8.7682 4 +CH 6764 Chiggiogna Ticino TI Leventina District 2103 Faido 5072 46.4613 8.824 4 +CH 6764 Chiggiogna Ticino TI Leventina District 2103 Faido 5072 46.4613 8.824 4 +CH 6772 Rodi-Fiesso Ticino TI Leventina District 2103 Prato (Leventina) 5078 46.481 8.7221 4 +CH 6773 Prato (Leventina) Ticino TI Leventina District 2103 Prato (Leventina) 5078 46.4714 8.7458 4 +CH 6774 Dalpe Ticino TI Leventina District 2103 Dalpe 5071 46.4572 8.7621 4 +CH 6775 Ambrì Ticino TI Leventina District 2103 Quinto 5079 46.4956 8.6951 4 +CH 6776 Piotta Ticino TI Leventina District 2103 Quinto 5079 46.5375 8.7113 4 +CH 6777 Varenzo Ticino TI Leventina District 2103 Quinto 5079 46.5031 8.7251 4 +CH 6777 Quinto Ticino TI Leventina District 2103 Quinto 5079 46.5154 8.7303 4 +CH 6780 Madrano Ticino TI Leventina District 2103 Airolo 5061 46.5272 8.6306 4 +CH 6780 Airolo Ticino TI Leventina District 2103 Airolo 5061 46.542 8.5992 4 +CH 6781 Bedretto Ticino TI Leventina District 2103 Bedretto 5063 46.489 8.478 4 +CH 6781 Villa Bedretto Ticino TI Leventina District 2103 Bedretto 5063 46.5221 8.5168 4 +CH 6516 Cugnasco Ticino TI Locarno District 2104 Cugnasco-Gerra 5138 46.1955 8.9135 4 +CH 6571 Indemini Ticino TI Locarno District 2104 Gambarogno 5398 46.0954 8.8421 4 +CH 6572 Quartino Ticino TI Locarno District 2104 Gambarogno 5398 46.1521 8.8971 4 +CH 6573 Magadino Ticino TI Locarno District 2104 Gambarogno 5398 46.144 8.8713 4 +CH 6574 Vira (Gambarogno) Ticino TI Locarno District 2104 Gambarogno 5398 46.1307 8.8563 4 +CH 6575 S. Nazzaro Ticino TI Locarno District 2104 Gambarogno 5398 46.1364 8.8026 4 +CH 6575 Vairano Ticino TI Locarno District 2104 Gambarogno 5398 46.1206 8.8157 4 +CH 6576 Gerra (Gambarogno) Ticino TI Locarno District 2104 Gambarogno 5398 46.122 8.7889 4 +CH 6577 Ranzo Ticino TI Locarno District 2104 Gambarogno 5398 46.1152 8.7762 4 +CH 6578 Caviano Ticino TI Locarno District 2104 Gambarogno 5398 46.1061 8.7703 4 +CH 6579 Piazzogna Ticino TI Locarno District 2104 Gambarogno 5398 46.1303 8.831 4 +CH 6594 Contone Ticino TI Locarno District 2104 Gambarogno 5398 46.1522 8.9232 4 +CH 6595 Riazzino Ticino TI Locarno District 2104 Lavertezzo 5112 46.1696 8.8953 4 +CH 6596 Gordola Ticino TI Locarno District 2104 Gordola 5108 46.175 8.8649 4 +CH 6597 Agarone Ticino TI Locarno District 2104 Cugnasco-Gerra 5138 46.1799 8.908 4 +CH 6598 Tenero Ticino TI Locarno District 2104 Tenero-Contra 5131 46.1713 8.8461 4 +CH 6600 Muralto Ticino TI Locarno District 2104 Muralto 5120 46.1729 8.8043 4 +CH 6600 Locarno Ticino TI Locarno District 2104 Locarno 5113 46.1608 8.803 4 +CH 6600 Locarno Ticino TI Locarno District 2104 Locarno 5113 46.1608 8.803 4 +CH 6600 Solduno Ticino TI Locarno District 2104 Locarno 5113 46.1744 8.7712 4 +CH 6601 Locarno Ticino TI Locarno District 2104 Locarno 5113 46.1709 8.7995 +CH 6602 Muralto Ticino TI Locarno District 2104 Muralto 5120 46.1732 8.8022 +CH 6604 Locarno Ticino TI Locarno District 2104 Locarno 5113 46.1709 8.7995 +CH 6605 Locarno Ticino TI Locarno District 2104 Locarno 5113 46.1847 8.7788 4 +CH 6611 Crana Ticino TI Locarno District 2104 Onsernone 5136 46.1963 8.6028 4 +CH 6611 Mosogno Ticino TI Locarno District 2104 Onsernone 5136 46.196 8.6351 4 +CH 6611 Gresso Ticino TI Locarno District 2104 Onsernone 5136 46.2394 8.614 4 +CH 6612 Ascona Ticino TI Locarno District 2104 Ascona 5091 46.1477 8.772 4 +CH 6613 Porto Ronco Ticino TI Locarno District 2104 Ronco sopra Ascona 5125 46.1353 8.736 4 +CH 6614 Isole di Brissago Ticino TI Locarno District 2104 Brissago 5097 46.133 8.7354 3 +CH 6614 Brissago Ticino TI Locarno District 2104 Brissago 5097 46.1237 8.6936 4 +CH 6616 Losone Ticino TI Locarno District 2104 Losone 5115 46.1692 8.742 4 +CH 6618 Arcegno Ticino TI Locarno District 2104 Losone 5115 46.1605 8.7403 4 +CH 6622 Ronco sopra Ascona Ticino TI Locarno District 2104 Ronco sopra Ascona 5125 46.1478 8.7196 4 +CH 6631 Corippo Ticino TI Locarno District 2104 Verzasca 5399 46.2357 8.8239 4 +CH 6632 Vogorno Ticino TI Locarno District 2104 Verzasca 5399 46.2246 8.8845 4 +CH 6633 Lavertezzo Ticino TI Locarno District 2104 Lavertezzo 5112 46.2753 8.8632 4 +CH 6634 Brione (Verzasca) Ticino TI Locarno District 2104 Verzasca 5399 46.3017 8.7577 4 +CH 6635 Gerra (Verzasca) Ticino TI Locarno District 2104 Cugnasco-Gerra 5138 46.3175 8.8065 4 +CH 6636 Frasco Ticino TI Locarno District 2104 Verzasca 5399 46.3542 8.8188 4 +CH 6637 Sonogno Ticino TI Locarno District 2104 Verzasca 5399 46.3648 8.7574 4 +CH 6644 Orselina Ticino TI Locarno District 2104 Orselina 5121 46.183 8.7953 4 +CH 6645 Brione sopra Minusio Ticino TI Locarno District 2104 Brione sopra Minusio 5096 46.1944 8.8107 4 +CH 6646 Contra Ticino TI Locarno District 2104 Tenero-Contra 5131 46.1922 8.8385 4 +CH 6647 Mergoscia Ticino TI Locarno District 2104 Mergoscia 5117 46.2143 8.8265 4 +CH 6648 Minusio Ticino TI Locarno District 2104 Minusio 5118 46.1733 8.8244 4 +CH 6652 Tegna Ticino TI Locarno District 2104 Terre di Pedemonte 5396 46.1908 8.7458 4 +CH 6653 Verscio Ticino TI Locarno District 2104 Terre di Pedemonte 5396 46.1931 8.728 4 +CH 6654 Cavigliano Ticino TI Locarno District 2104 Terre di Pedemonte 5396 46.1905 8.7089 4 +CH 6655 Rasa Ticino TI Locarno District 2104 Centovalli 5397 46.157 8.6566 4 +CH 6655 Intragna Ticino TI Locarno District 2104 Centovalli 5397 46.1691 8.6867 4 +CH 6655 Verdasio Ticino TI Locarno District 2104 Centovalli 5397 46.1725 8.6443 4 +CH 6656 Golino Ticino TI Locarno District 2104 Centovalli 5397 46.1785 8.7132 4 +CH 6657 Palagnedra Ticino TI Locarno District 2104 Centovalli 5397 46.1422 8.6463 4 +CH 6658 Borgnone Ticino TI Locarno District 2104 Centovalli 5397 46.1704 8.6008 4 +CH 6659 Camedo Ticino TI Locarno District 2104 Centovalli 5397 46.1554 8.6098 4 +CH 6659 Moneto Ticino TI Locarno District 2104 Centovalli 5397 46.138 8.6183 4 +CH 6661 Berzona Ticino TI Locarno District 2104 Onsernone 5136 46.2082 8.6566 4 +CH 6661 Loco Ticino TI Locarno District 2104 Onsernone 5136 46.2114 8.6755 4 +CH 6661 Auressio Ticino TI Locarno District 2104 Onsernone 5136 46.2043 8.6925 4 +CH 6662 Russo Ticino TI Locarno District 2104 Onsernone 5136 46.2164 8.6265 4 +CH 6663 Spruga Ticino TI Locarno District 2104 Onsernone 5136 46.2034 8.5554 4 +CH 6663 Comologno Ticino TI Locarno District 2104 Onsernone 5136 46.2056 8.5797 4 +CH 6664 Vergeletto Ticino TI Locarno District 2104 Onsernone 5136 46.241 8.5425 4 +CH 6802 Rivera Ticino TI Lugano District 2105 Monteceneri 5238 46.1239 8.9045 4 +CH 6803 Camignolo Ticino TI Lugano District 2105 Monteceneri 5238 46.105 8.9506 4 +CH 6804 Bironico Ticino TI Lugano District 2105 Monteceneri 5238 46.1259 8.9332 4 +CH 6805 Mezzovico Ticino TI Lugano District 2105 Mezzovico-Vira 5199 46.096 8.9082 4 +CH 6805 Mezzovico Ticino TI Lugano District 2105 Mezzovico-Vira 5199 46.096 8.9082 4 +CH 6806 Sigirino Ticino TI Lugano District 2105 Monteceneri 5238 46.0852 8.9 4 +CH 6807 Taverne Ticino TI Lugano District 2105 Torricella-Taverne 5227 46.063 8.9306 4 +CH 6807 Taverne Ticino TI Lugano District 2105 Capriasca 5226 46.063 8.9306 4 +CH 6808 Torricella Ticino TI Lugano District 2105 Torricella-Taverne 5227 46.07 8.9064 4 +CH 6809 Medeglia Ticino TI Lugano District 2105 Monteceneri 5238 46.1285 8.9892 4 +CH 6814 Cadempino Ticino TI Lugano District 2105 Cadempino 5162 46.0339 8.9338 4 +CH 6814 Lamone Ticino TI Lugano District 2105 Lamone 5189 46.0451 8.9315 4 +CH 6814 Lamone-Cadempino Ticino TI Lugano District 2105 Cadempino 5162 46.0342 8.9339 6 +CH 6815 Melide Ticino TI Lugano District 2105 Melide 5198 45.9564 8.9488 4 +CH 6816 Bissone Ticino TI Lugano District 2105 Bissone 5154 45.951 8.9655 4 +CH 6817 Maroggia Ticino TI Lugano District 2105 Maroggia 5195 45.9365 8.9711 4 +CH 6818 Melano Ticino TI Lugano District 2105 Melano 5197 45.9209 8.9911 4 +CH 6821 Rovio Ticino TI Lugano District 2105 Rovio 5219 45.9356 9.0003 4 +CH 6822 Arogno Ticino TI Lugano District 2105 Arogno 5144 45.9571 8.9929 4 +CH 6823 Pugerna Ticino TI Lugano District 2105 Arogno 5144 45.9902 8.9987 4 +CH 6825 Capolago Ticino TI Lugano District 2105 Rovio 5219 45.9043 8.9845 4 +CH 6827 Brusino Arsizio Ticino TI Lugano District 2105 Brusino Arsizio 5160 45.9254 8.9376 4 +CH 6867 Serpiano Ticino TI Lugano District 2105 Brusino Arsizio 5160 45.9163 8.9419 4 +CH 6900 Paradiso Ticino TI Lugano District 2105 Paradiso 5210 45.9891 8.955 4 +CH 6900 Lugano Ticino TI Lugano District 2105 Lugano 5192 46.0054 8.9545 4 +CH 6900 Massagno Ticino TI Lugano District 2105 Massagno 5196 46.0126 8.9437 4 +CH 6901 Lugano Ticino TI Lugano District 2105 Lugano 5192 46.0101 8.96 +CH 6902 Lugano 2 Caselle Ticino TI Lugano District 2105 Paradiso 5210 45.988 8.9483 +CH 6902 Lugano 2 Paradiso Caselle Ticino TI Lugano District 2105 Paradiso 5210 45.988 8.9483 +CH 6903 Lugano Ticino TI Lugano District 2105 Lugano 5192 46.0101 8.96 +CH 6904 Lugano 4 Caselle Ticino TI Lugano District 2105 Lugano 5192 46.0055 8.9714 +CH 6904 Lugano 4 Molino Nuovo Casel Ticino TI Lugano District 2105 Lugano 5192 46.0055 8.9714 +CH 6906 Lugano 6 Caselle Ticino TI Lugano District 2105 Lugano 5192 46.0055 8.9714 +CH 6906 Lugano 6 Cassarate Caselle Ticino TI Lugano District 2105 Lugano 5192 46.0055 8.9714 +CH 6907 Lugano 7 Caselle Ticino TI Lugano District 2105 Lugano 5192 46.0055 8.9714 +CH 6908 Massagno Caselle Ticino TI Lugano District 2105 Massagno 5196 46.0126 8.9437 +CH 6912 Pazzallo Ticino TI Lugano District 2105 Lugano 5192 45.981 8.9473 4 +CH 6913 Carabbia Ticino TI Lugano District 2105 Lugano 5192 45.9704 8.9344 4 +CH 6914 Carona Ticino TI Lugano District 2105 Lugano 5192 45.9567 8.9322 4 +CH 6915 Pambio-Noranco Ticino TI Lugano District 2105 Lugano 5192 45.9855 8.9307 4 +CH 6916 Grancia Ticino TI Lugano District 2105 Grancia 5186 45.9684 8.9276 4 +CH 6917 Barbengo Ticino TI Lugano District 2105 Lugano 5192 45.9604 8.916 4 +CH 6918 Figino Ticino TI Lugano District 2105 Lugano 5192 45.9557 8.9077 4 +CH 6919 Carabietta Ticino TI Lugano District 2105 Collina d'Oro 5236 45.9687 8.8996 4 +CH 6921 Vico Morcote Ticino TI Lugano District 2105 Vico Morcote 5233 45.9347 8.9252 4 +CH 6922 Morcote Ticino TI Lugano District 2105 Morcote 5203 45.9324 8.9082 4 +CH 6924 Sorengo Ticino TI Lugano District 2105 Sorengo 5225 45.9998 8.9355 4 +CH 6925 Gentilino Ticino TI Lugano District 2105 Collina d'Oro 5236 45.9917 8.9261 4 +CH 6926 Montagnola Ticino TI Lugano District 2105 Collina d'Oro 5236 45.9794 8.9143 4 +CH 6927 Agra Ticino TI Lugano District 2105 Collina d'Oro 5236 45.9682 8.9116 4 +CH 6928 Manno Ticino TI Lugano District 2105 Manno 5194 46.0308 8.9194 4 +CH 6929 Gravesano Ticino TI Lugano District 2105 Gravesano 5187 46.0421 8.9187 4 +CH 6930 Bedano Ticino TI Lugano District 2105 Bedano 5148 46.0531 8.9181 4 +CH 6932 Breganzona Ticino TI Lugano District 2105 Lugano 5192 46.009 8.9274 4 +CH 6933 Muzzano Ticino TI Lugano District 2105 Muzzano 5205 45.9971 8.917 4 +CH 6934 Bioggio Ticino TI Lugano District 2105 Bioggio 5151 46.0151 8.9127 4 +CH 6935 Bosco Luganese Ticino TI Lugano District 2105 Bioggio 5151 46.0301 8.9055 4 +CH 6936 Cademario Ticino TI Lugano District 2105 Cademario 5161 46.0226 8.8918 4 +CH 6937 Breno Ticino TI Lugano District 2105 Alto Malcantone 5237 46.0436 8.8587 4 +CH 6938 Fescoggia Ticino TI Lugano District 2105 Alto Malcantone 5237 46.0496 8.8711 4 +CH 6938 Vezio Ticino TI Lugano District 2105 Alto Malcantone 5237 46.0605 8.8711 4 +CH 6939 Mugena Ticino TI Lugano District 2105 Alto Malcantone 5237 46.0566 8.8821 4 +CH 6939 Arosio-Mugena Ticino TI Lugano District 2105 Alto Malcantone 5237 46.0542 8.8764 +CH 6939 Arosio Ticino TI Lugano District 2105 Alto Malcantone 5237 46.0598 8.8935 4 +CH 6942 Savosa Ticino TI Lugano District 2105 Savosa 5221 46.0193 8.9447 4 +CH 6943 Vezia Ticino TI Lugano District 2105 Vezia 5231 46.0248 8.935 4 +CH 6944 Cureglia Ticino TI Lugano District 2105 Cureglia 5180 46.0375 8.9441 4 +CH 6945 Origlio Ticino TI Lugano District 2105 Origlio 5208 46.0514 8.9448 4 +CH 6946 Ponte Capriasca Ticino TI Lugano District 2105 Ponte Capriasca 5212 46.106 9.0219 4 +CH 6946 Ponte Capriasca Ticino TI Lugano District 2105 Ponte Capriasca 5212 46.106 9.0219 4 +CH 6947 Vaglio Ticino TI Lugano District 2105 Capriasca 5226 46.0557 8.96 4 +CH 6948 Porza Ticino TI Lugano District 2105 Porza 5214 46.027 8.9532 4 +CH 6949 Comano Ticino TI Lugano District 2105 Comano 5176 46.04 8.9567 4 +CH 6950 Tesserete Ticino TI Lugano District 2105 Capriasca 5226 46.0699 8.9682 4 +CH 6951 Insone Ticino TI Lugano District 2105 Lugano 5192 46.0901 9.029 4 +CH 6951 Scareglia Ticino TI Lugano District 2105 Lugano 5192 46.0975 9.036 4 +CH 6951 Bogno Ticino TI Lugano District 2105 Lugano 5192 46.0911 9.075 4 +CH 6951 Cozzo Ticino TI Lugano District 2105 Lugano 5192 46.0972 9.0619 4 +CH 6951 Signôra Ticino TI Lugano District 2105 Lugano 5192 46.1035 9.0447 4 +CH 6951 Colla Ticino TI Lugano District 2105 Lugano 5192 46.1057 9.0627 4 +CH 6952 Canobbio Ticino TI Lugano District 2105 Canobbio 5167 46.0365 8.9676 4 +CH 6953 Lugaggia Ticino TI Lugano District 2105 Capriasca 5226 46.0562 8.9707 4 +CH 6954 Sala Capriasca Ticino TI Lugano District 2105 Capriasca 5226 46.0663 8.9552 4 +CH 6954 Bigorio Ticino TI Lugano District 2105 Capriasca 5226 46.0801 8.9488 4 +CH 6955 Oggio Ticino TI Lugano District 2105 Capriasca 5226 46.0715 8.9871 4 +CH 6955 Cagiallo Ticino TI Lugano District 2105 Capriasca 5226 46.0654 8.9752 4 +CH 6955 Oggio Ticino TI Lugano District 2105 Capriasca 5226 46.0715 8.9871 4 +CH 6956 Lopagno Ticino TI Lugano District 2105 Capriasca 5226 46.0699 8.978 4 +CH 6957 Roveredo TI Ticino TI Lugano District 2105 Capriasca 5226 46.0746 8.9827 4 +CH 6958 Corticiasca Ticino TI Lugano District 2105 Capriasca 5226 46.0901 9.0181 4 +CH 6958 Corticiasca Ticino TI Lugano District 2105 Capriasca 5226 46.0901 9.0181 4 +CH 6958 Bidogno Ticino TI Lugano District 2105 Capriasca 5226 46.0892 9.0062 4 +CH 6959 Piandera Paese Ticino TI Lugano District 2105 Lugano 5192 46.0832 9.0427 3 +CH 6959 Cimadera Ticino TI Lugano District 2105 Lugano 5192 46.0718 9.052 4 +CH 6959 Piandera Paese Ticino TI Lugano District 2105 Lugano 5192 46.0832 9.0427 3 +CH 6959 Curtina Ticino TI Lugano District 2105 Lugano 5192 46.0821 9.0217 4 +CH 6959 Certara Ticino TI Lugano District 2105 Lugano 5192 46.0791 9.0668 4 +CH 6959 Maglio di Colla Ticino TI Lugano District 2105 Lugano 5192 46.0869 9.0421 3 +CH 6960 Odogno Ticino TI Lugano District 2105 Capriasca 5226 46.1026 8.9923 4 +CH 6962 Viganello Ticino TI Lugano District 2105 Lugano 5192 46.0129 8.9706 4 +CH 6963 Cureggia Ticino TI Lugano District 2105 Lugano 5192 46.0198 8.9858 4 +CH 6963 Pregassona Ticino TI Lugano District 2105 Lugano 5192 46.0228 8.9753 4 +CH 6964 Davesco-Soragno Ticino TI Lugano District 2105 Lugano 5192 46.0325 8.9862 4 +CH 6965 Cadro Ticino TI Lugano District 2105 Lugano 5192 46.0423 8.9945 4 +CH 6966 Villa Luganese Ticino TI Lugano District 2105 Lugano 5192 46.0521 9.0053 4 +CH 6967 Dino Ticino TI Lugano District 2105 Lugano 5192 46.054 8.9802 4 +CH 6968 Sonvico Ticino TI Lugano District 2105 Lugano 5192 46.0651 9.0144 4 +CH 6974 Aldesago Ticino TI Lugano District 2105 Lugano 5192 46.0094 8.9798 4 +CH 6976 Castagnola Ticino TI Lugano District 2105 Lugano 5192 45.9991 8.9815 4 +CH 6977 Ruvigliana Ticino TI Lugano District 2105 Lugano 5192 46.0053 8.98 4 +CH 6978 Gandria Ticino TI Lugano District 2105 Lugano 5192 46.0093 9.0099 4 +CH 6979 Brè sopra Lugano Ticino TI Lugano District 2105 Lugano 5192 46.0174 8.9989 4 +CH 6980 Castelrotto Ticino TI Lugano District 2105 Tresa 5239 45.9954 8.839 4 +CH 6981 Beride di Bedigliora Ticino TI Lugano District 2105 Bedigliora 5149 46.0033 8.8327 6 +CH 6981 Biogno-Beride Ticino TI Lugano District 2105 Tresa 5239 45.9884 8.8423 3 +CH 6981 Bedigliora Ticino TI Lugano District 2105 Bedigliora 5149 46.0017 8.8455 4 +CH 6981 Banco Ticino TI Lugano District 2105 Bedigliora 5149 46.01 8.8402 4 +CH 6981 Bedigliora Ticino TI Lugano District 2105 Bedigliora 5149 46.0017 8.8455 4 +CH 6981 Bombinasco Ticino TI Lugano District 2105 Curio 5181 46.0162 8.8328 4 +CH 6982 Agno Ticino TI Lugano District 2105 Agno 5141 46.0005 8.9028 4 +CH 6983 Magliaso Ticino TI Lugano District 2105 Magliaso 5193 45.982 8.8914 4 +CH 6984 Pura Ticino TI Lugano District 2105 Pura 5216 45.9833 8.8652 4 +CH 6986 Curio Ticino TI Lugano District 2105 Curio 5181 46.0008 8.8622 4 +CH 6986 Novaggio Ticino TI Lugano District 2105 Novaggio 5207 46.0185 8.8449 4 +CH 6986 Miglieglia Ticino TI Lugano District 2105 Miglieglia 5200 46.0313 8.8494 4 +CH 6987 Caslano Ticino TI Lugano District 2105 Caslano 5171 45.9681 8.8804 4 +CH 6988 Ponte Tresa Ticino TI Lugano District 2105 Tresa 5239 45.9707 8.8593 4 +CH 6989 Purasca Ticino TI Lugano District 2105 Tresa 5239 45.9814 8.8493 4 +CH 6990 Cassina d'Agno Ticino TI Lugano District 2105 Agno 5141 45.9914 8.8933 4 +CH 6991 Neggio Ticino TI Lugano District 2105 Neggio 5206 45.9895 8.8779 4 +CH 6992 Cimo Ticino TI Lugano District 2105 Bioggio 5151 46.0053 8.8908 4 +CH 6992 Vernate Ticino TI Lugano District 2105 Vernate 5230 45.9958 8.8803 4 +CH 6993 Iseo Ticino TI Lugano District 2105 Bioggio 5151 46.0053 8.8786 4 +CH 6994 Aranno Ticino TI Lugano District 2105 Aranno 5143 46.0185 8.874 4 +CH 6995 Molinazzo di Monteggio Ticino TI Lugano District 2105 Tresa 5239 45.9924 8.8194 4 +CH 6995 Madonna del Piano Ticino TI Lugano District 2105 Tresa 5239 45.9891 8.8321 4 +CH 6997 Sessa Ticino TI Lugano District 2105 Tresa 5239 46.0032 8.8156 4 +CH 6998 Monteggio 2 Ticino TI Lugano District 2105 Tresa 5239 45.982 8.8514 +CH 6998 Monteggio Ticino TI Lugano District 2105 Tresa 5239 45.9961 8.8036 +CH 6998 Termine Ticino TI Lugano District 2105 Tresa 5239 45.9998 8.7921 4 +CH 6999 Astano Ticino TI Lugano District 2105 Astano 5146 46.0153 8.8163 4 +CH 6825 Capolago Ticino TI Mendrisio District 2106 Mendrisio 5254 45.9043 8.9845 4 +CH 6826 Riva San Vitale Ticino TI Mendrisio District 2106 Riva San Vitale 5263 45.9129 8.9645 4 +CH 6828 Balerna Ticino TI Mendrisio District 2106 Balerna 5242 45.8432 9.0077 4 +CH 6830 Chiasso 3 Ticino TI Mendrisio District 2106 Chiasso 5250 45.8288 9.0166 +CH 6830 Chiasso 1 Ticino TI Mendrisio District 2106 Chiasso 5250 45.8288 9.0166 +CH 6830 Chiasso Ticino TI Mendrisio District 2106 Chiasso 5250 45.8338 9.0256 4 +CH 6832 Seseglio Ticino TI Mendrisio District 2106 Chiasso 5250 45.8283 8.9998 4 +CH 6832 Pedrinate Ticino TI Mendrisio District 2106 Chiasso 5250 45.8251 9.0158 4 +CH 6833 Vacallo Ticino TI Mendrisio District 2106 Vacallo 5268 45.847 9.0364 4 +CH 6834 Morbio Inferiore Ticino TI Mendrisio District 2106 Morbio Inferiore 5257 45.8497 9.0215 4 +CH 6835 Morbio Superiore Ticino TI Mendrisio District 2106 Breggia 5269 45.867 9.0397 4 +CH 6836 Serfontana Ticino TI Mendrisio District 2106 Morbio Inferiore 5257 45.8497 9.0216 +CH 6837 Bruzella Ticino TI Mendrisio District 2106 Breggia 5269 45.8871 9.0568 4 +CH 6837 Caneggio Ticino TI Mendrisio District 2106 Breggia 5269 45.8764 9.0479 4 +CH 6838 Muggio Ticino TI Mendrisio District 2106 Breggia 5269 45.9115 9.0354 4 +CH 6838 Cabbio Ticino TI Mendrisio District 2106 Breggia 5269 45.9009 9.0604 4 +CH 6838 Scudellate Ticino TI Mendrisio District 2106 Breggia 5269 45.9229 9.0415 4 +CH 6839 Sagno Ticino TI Mendrisio District 2106 Breggia 5269 45.8612 9.0446 4 +CH 6850 Mendrisio Stazione Ticino TI Mendrisio District 2106 Mendrisio 5254 45.8862 8.9929 +CH 6850 Mendrisio Ticino TI Mendrisio District 2106 Mendrisio 5254 45.8748 8.9811 4 +CH 6850 Mendrisio Borgo Ticino TI Mendrisio District 2106 Mendrisio 5254 45.8862 8.9929 +CH 6852 Genestrerio Ticino TI Mendrisio District 2106 Mendrisio 5254 45.8501 8.9573 4 +CH 6853 Ligornetto Ticino TI Mendrisio District 2106 Mendrisio 5254 45.8631 8.9546 4 +CH 6854 S. Pietro Ticino TI Mendrisio District 2106 Stabio 5266 45.8579 8.9354 4 +CH 6855 Stabio Ticino TI Mendrisio District 2106 Stabio 5266 45.8456 8.9324 4 +CH 6862 Rancate Ticino TI Mendrisio District 2106 Mendrisio 5254 45.8755 8.9705 4 +CH 6863 Besazio Ticino TI Mendrisio District 2106 Mendrisio 5254 45.8714 8.9539 4 +CH 6864 Arzo Ticino TI Mendrisio District 2106 Mendrisio 5254 45.88 8.9399 4 +CH 6865 Tremona Ticino TI Mendrisio District 2106 Mendrisio 5254 45.8808 8.959 4 +CH 6866 Meride Ticino TI Mendrisio District 2106 Mendrisio 5254 45.8992 8.9429 4 +CH 6872 Somazzo Ticino TI Mendrisio District 2106 Mendrisio 5254 45.9017 9.0061 4 +CH 6872 Salorino Ticino TI Mendrisio District 2106 Mendrisio 5254 45.8873 9.003 4 +CH 6873 Corteglia Ticino TI Mendrisio District 2106 Castel San Pietro 5249 45.8621 8.9934 4 +CH 6874 Castel San Pietro Ticino TI Mendrisio District 2106 Castel San Pietro 5249 45.8654 9.0085 4 +CH 6875 Campora Ticino TI Mendrisio District 2106 Castel San Pietro 5249 45.8745 9.0187 4 +CH 6875 Monte Ticino TI Mendrisio District 2106 Castel San Pietro 5249 45.8831 9.0225 4 +CH 6875 Casima Ticino TI Mendrisio District 2106 Castel San Pietro 5249 45.893 9.0354 4 +CH 6877 Coldrerio Ticino TI Mendrisio District 2106 Coldrerio 5251 45.854 8.986 4 +CH 6883 Novazzano Ticino TI Mendrisio District 2106 Novazzano 5260 45.8428 8.9785 4 +CH 6526 Prosito Ticino TI Riviera District 2107 Riviera 5287 46.281 8.9411 4 +CH 6527 Lodrino Ticino TI Riviera District 2107 Riviera 5287 46.305 8.9686 4 +CH 6703 Osogna Ticino TI Riviera District 2107 Riviera 5287 46.3262 9.0212 4 +CH 6705 Cresciano Ticino TI Riviera District 2107 Riviera 5287 46.3027 9.0324 4 +CH 6707 Iragna Ticino TI Riviera District 2107 Riviera 5287 46.3248 8.9395 4 +CH 6710 Biasca Ticino TI Riviera District 2107 Biasca 5281 46.3665 9.0226 4 +CH 6710 Biasca Stazione Ticino TI Riviera District 2107 Biasca 5281 46.3597 8.9697 +CH 6670 Avegno Ticino TI Vallemaggia District 2108 Avegno Gordevio 5324 46.2037 8.7645 4 +CH 6672 Gordevio Ticino TI Vallemaggia District 2108 Avegno Gordevio 5324 46.2325 8.7665 4 +CH 6673 Maggia Ticino TI Vallemaggia District 2108 Maggia 5317 46.2661 8.7331 4 +CH 6674 Someo Ticino TI Vallemaggia District 2108 Maggia 5317 46.288 8.641 4 +CH 6674 Riveo Ticino TI Vallemaggia District 2108 Maggia 5317 46.2803 8.6049 4 +CH 6675 Cevio Ticino TI Vallemaggia District 2108 Cevio 5310 46.3042 8.5955 4 +CH 6676 Bignasco Ticino TI Vallemaggia District 2108 Cevio 5310 46.3422 8.594 4 +CH 6677 Aurigeno Ticino TI Vallemaggia District 2108 Maggia 5317 46.2225 8.7175 4 +CH 6677 Moghegno Ticino TI Vallemaggia District 2108 Maggia 5317 46.2391 8.6869 4 +CH 6678 Lodano Ticino TI Vallemaggia District 2108 Maggia 5317 46.2522 8.6581 4 +CH 6678 Coglio Ticino TI Vallemaggia District 2108 Maggia 5317 46.288 8.7071 4 +CH 6678 Giumaglio Ticino TI Vallemaggia District 2108 Maggia 5317 46.2958 8.6819 4 +CH 6682 Linescio Ticino TI Vallemaggia District 2108 Linescio 5315 46.3122 8.5768 4 +CH 6683 Niva (Vallemaggia) Ticino TI Vallemaggia District 2108 Campo (Vallemaggia) 5307 46.2763 8.542 4 +CH 6683 Cerentino Ticino TI Vallemaggia District 2108 Cerentino 5309 46.3099 8.5437 4 +CH 6684 Cimalmotto Ticino TI Vallemaggia District 2108 Campo (Vallemaggia) 5307 46.2748 8.4683 4 +CH 6684 Campo (Vallemaggia) Ticino TI Vallemaggia District 2108 Campo (Vallemaggia) 5307 46.2842 8.5061 4 +CH 6685 Bosco/Gurin Ticino TI Vallemaggia District 2108 Bosco/Gurin 5304 46.3203 8.484 4 +CH 6690 S. Carlo (Val Bavona) Ticino TI Vallemaggia District 2108 Cevio 5310 46.4277 8.5021 3 +CH 6690 Cavergno Ticino TI Vallemaggia District 2108 Cevio 5310 46.3733 8.5357 4 +CH 6692 Brontallo Ticino TI Vallemaggia District 2108 Lavizzara 5323 46.3581 8.6192 4 +CH 6692 Menzonio Ticino TI Vallemaggia District 2108 Lavizzara 5323 46.3554 8.6557 4 +CH 6693 Broglio Ticino TI Vallemaggia District 2108 Lavizzara 5323 46.3715 8.6747 4 +CH 6694 Prato-Sornico Ticino TI Vallemaggia District 2108 Lavizzara 5323 46.3976 8.6942 4 +CH 6695 Peccia Ticino TI Vallemaggia District 2108 Lavizzara 5323 46.4061 8.6407 4 +CH 6695 Piano di Peccia Ticino TI Vallemaggia District 2108 Lavizzara 5323 46.4294 8.5874 4 +CH 6696 Fusio Ticino TI Vallemaggia District 2108 Lavizzara 5323 46.4576 8.6418 4 +CH 6377 Seelisberg Kanton Uri UR Uri 400 Seelisberg 1215 46.9634 8.5748 4 +CH 6441 Rütli Kanton Uri UR Uri 400 Seelisberg 1215 46.9696 8.5983 4 +CH 6452 Sisikon Kanton Uri UR Uri 400 Sisikon 1217 46.941 8.6267 4 +CH 6454 Flüelen Kanton Uri UR Uri 400 Flüelen 1207 46.9143 8.6391 4 +CH 6460 Altdorf UR 2 Kanton Uri UR Uri 400 Altdorf (UR) 1201 46.8883 8.6409 +CH 6460 Altdorf UR Kanton Uri UR Uri 400 Altdorf (UR) 1201 46.8877 8.6414 4 +CH 6460 Altdorf UR 1 Kanton Uri UR Uri 400 Altdorf (UR) 1201 46.8883 8.6409 +CH 6461 Isenthal Kanton Uri UR Uri 400 Isenthal 1211 46.8866 8.5253 4 +CH 6462 Seedorf UR Kanton Uri UR Uri 400 Seedorf (UR) 1214 46.8825 8.5882 4 +CH 6463 Bürglen UR Kanton Uri UR Uri 400 Bürglen (UR) 1205 46.8854 8.6897 4 +CH 6464 Spiringen Kanton Uri UR Uri 400 Spiringen 1218 46.876 8.7352 4 +CH 6465 Unterschächen Kanton Uri UR Uri 400 Unterschächen 1219 46.8476 8.7868 4 +CH 6466 Bauen Kanton Uri UR Uri 400 Seedorf (UR) 1214 46.9299 8.5819 4 +CH 6467 Schattdorf Kanton Uri UR Uri 400 Schattdorf 1213 46.8565 8.6521 4 +CH 6468 Attinghausen Kanton Uri UR Uri 400 Attinghausen 1203 46.8535 8.5985 4 +CH 6469 Haldi b. Schattdorf Kanton Uri UR Uri 400 Schattdorf 1213 46.8451 8.6862 4 +CH 6472 Erstfeld Kanton Uri UR Uri 400 Erstfeld 1206 46.8124 8.6023 4 +CH 6473 Silenen Kanton Uri UR Uri 400 Silenen 1216 46.8042 8.6915 4 +CH 6474 Amsteg Kanton Uri UR Uri 400 Silenen 1216 46.7793 8.6544 4 +CH 6475 Bristen Kanton Uri UR Uri 400 Silenen 1216 46.7724 8.7632 4 +CH 6476 Intschi Kanton Uri UR Uri 400 Gurtnellen 1209 46.7712 8.6323 4 +CH 6482 Gurtnellen Kanton Uri UR Uri 400 Gurtnellen 1209 46.7352 8.6205 4 +CH 6484 Wassen UR Kanton Uri UR Uri 400 Wassen 1220 46.6974 8.597 4 +CH 6485 Meien Kanton Uri UR Uri 400 Wassen 1220 46.7338 8.5119 4 +CH 6487 Göschenen Kanton Uri UR Uri 400 Göschenen 1208 46.6639 8.4988 4 +CH 6490 Andermatt Kanton Uri UR Uri 400 Andermatt 1202 46.6205 8.6314 4 +CH 6491 Realp Kanton Uri UR Uri 400 Realp 1212 46.5803 8.4701 4 +CH 6493 Hospental Kanton Uri UR Uri 400 Hospental 1210 46.6066 8.5617 4 +CH 8751 Urnerboden Kanton Uri UR Uri 400 Spiringen 1218 46.8796 8.9019 4 +CH 1844 Villeneuve VD Canton de Vaud VD Aigle District 2221 Villeneuve (VD) 5414 46.4062 6.9685 4 +CH 1845 Noville Canton de Vaud VD Aigle District 2221 Noville 5408 46.3939 6.883 4 +CH 1846 Chessel Canton de Vaud VD Aigle District 2221 Chessel 5403 46.3534 6.8958 4 +CH 1847 Rennaz Canton de Vaud VD Aigle District 2221 Rennaz 5412 46.3758 6.9184 4 +CH 1852 Roche VD Canton de Vaud VD Aigle District 2221 Roche (VD) 5413 46.3598 6.9252 4 +CH 1853 Yvorne Canton de Vaud VD Aigle District 2221 Yvorne 5415 46.339 6.9458 4 +CH 1854 Leysin Canton de Vaud VD Aigle District 2221 Leysin 5407 46.3525 7.0111 4 +CH 1856 Corbeyrier Canton de Vaud VD Aigle District 2221 Corbeyrier 5404 46.3736 6.9855 4 +CH 1860 Aigle Canton de Vaud VD Aigle District 2221 Aigle 5401 46.3147 6.9716 4 +CH 1862 Les Mosses Canton de Vaud VD Aigle District 2221 Ormont-Dessous 5410 46.3943 7.1052 4 +CH 1862 La Comballaz Canton de Vaud VD Aigle District 2221 Ormont-Dessous 5410 46.3769 7.0778 4 +CH 1863 Le Sépey Canton de Vaud VD Aigle District 2221 Ormont-Dessous 5410 46.3731 7.0478 4 +CH 1864 Vers-l'Eglise Canton de Vaud VD Aigle District 2221 Ormont-Dessus 5411 46.3589 7.1178 4 +CH 1865 Les Diablerets Canton de Vaud VD Aigle District 2221 Ormont-Dessus 5411 46.3439 7.1757 4 +CH 1866 La Forclaz VD Canton de Vaud VD Aigle District 2221 Ormont-Dessous 5410 46.3425 7.0799 4 +CH 1867 Panex Canton de Vaud VD Aigle District 2221 Ollon 5409 46.3164 7.0267 4 +CH 1867 Ollon VD Canton de Vaud VD Aigle District 2221 Ollon 5409 46.2875 7.0022 4 +CH 1867 St-Triphon Canton de Vaud VD Aigle District 2221 Ollon 5409 46.2848 6.9717 4 +CH 1880 Les Posses-sur-Bex Canton de Vaud VD Aigle District 2221 Bex 5402 46.2742 7.0458 3 +CH 1880 Fenalet-sur-Bex Canton de Vaud VD Aigle District 2221 Bex 5402 46.2756 7.0316 4 +CH 1880 Frenières-sur-Bex Canton de Vaud VD Aigle District 2221 Bex 5402 46.2427 7.065 3 +CH 1880 Bex Canton de Vaud VD Aigle District 2221 Bex 5402 46.2479 7.0182 4 +CH 1880 Les Plans-sur-Bex Canton de Vaud VD Aigle District 2221 Bex 5402 46.2446 7.1149 4 +CH 1882 Gryon Canton de Vaud VD Aigle District 2221 Gryon 5405 46.2868 7.1252 4 +CH 1884 Arveyes Canton de Vaud VD Aigle District 2221 Ollon 5409 46.2879 7.0593 4 +CH 1884 Villars-sur-Ollon Canton de Vaud VD Aigle District 2221 Ollon 5409 46.3161 7.0871 4 +CH 1884 Huémoz Canton de Vaud VD Aigle District 2221 Ollon 5409 46.2955 7.0191 4 +CH 1885 Chesières Canton de Vaud VD Aigle District 2221 Ollon 5409 46.3047 7.0418 4 +CH 1892 Morcles Canton de Vaud VD Aigle District 2221 Lavey-Morcles 5406 46.2056 7.048 4 +CH 1892 Lavey-Village Canton de Vaud VD Aigle District 2221 Lavey-Morcles 5406 46.2149 7.0287 4 +CH 1892 Lavey-les-Bains Canton de Vaud VD Aigle District 2221 Lavey-Morcles 5406 46.2042 7.0179 4 +CH 1082 Corcelles-le-Jorat Canton de Vaud VD Broye-Vully District 2222 Corcelles-le-Jorat 5785 46.6013 6.7308 4 +CH 1085 Vulliens Canton de Vaud VD Broye-Vully District 2222 Vulliens 5803 46.6227 6.7936 4 +CH 1088 Ropraz Canton de Vaud VD Broye-Vully District 2222 Ropraz 5798 46.6109 6.7537 4 +CH 1509 Vucherens Canton de Vaud VD Broye-Vully District 2222 Vucherens 5692 46.6269 6.7759 4 +CH 1510 Syens Canton de Vaud VD Broye-Vully District 2222 Syens 5688 46.6429 6.7782 4 +CH 1510 Moudon Canton de Vaud VD Broye-Vully District 2222 Moudon 5678 46.672 6.7921 4 +CH 1512 Chavannes-sur-Moudon Canton de Vaud VD Broye-Vully District 2222 Chavannes-sur-Moudon 5665 46.6597 6.8188 4 +CH 1513 Rossenges Canton de Vaud VD Broye-Vully District 2222 Rossenges 5684 46.6543 6.775 4 +CH 1513 Hermenches Canton de Vaud VD Broye-Vully District 2222 Hermenches 5673 46.6374 6.7546 4 +CH 1514 Bussy-sur-Moudon Canton de Vaud VD Broye-Vully District 2222 Bussy-sur-Moudon 5663 46.6904 6.8096 4 +CH 1515 Villars-le-Comte Canton de Vaud VD Broye-Vully District 2222 Villars-le-Comte 5690 46.7135 6.8018 4 +CH 1521 Curtilles Canton de Vaud VD Broye-Vully District 2222 Curtilles 5669 46.7005 6.8506 4 +CH 1522 Lucens Canton de Vaud VD Broye-Vully District 2222 Lucens 5675 46.7093 6.8375 4 +CH 1522 Oulens-sur-Lucens Canton de Vaud VD Broye-Vully District 2222 Lucens 5675 46.7076 6.8142 3 +CH 1523 Granges-près-Marnand Canton de Vaud VD Broye-Vully District 2222 Valbroye 5831 46.7672 6.887 1 +CH 1524 Marnand Canton de Vaud VD Broye-Vully District 2222 Valbroye 5831 46.7611 6.9046 4 +CH 1525 Henniez Canton de Vaud VD Broye-Vully District 2222 Henniez 5819 46.7426 6.8848 4 +CH 1525 Seigneux Canton de Vaud VD Broye-Vully District 2222 Valbroye 5831 46.7283 6.8779 4 +CH 1526 Forel-sur-Lucens Canton de Vaud VD Broye-Vully District 2222 Lucens 5675 46.7264 6.8242 4 +CH 1526 Cremin Canton de Vaud VD Broye-Vully District 2222 Lucens 5675 46.7235 6.8406 4 +CH 1530 Payerne Canton de Vaud VD Broye-Vully District 2222 Payerne 5822 46.825 6.9299 4 +CH 1534 Sassel Canton de Vaud VD Broye-Vully District 2222 Valbroye 5831 46.777 6.8593 4 +CH 1535 Combremont-le-Grand Canton de Vaud VD Broye-Vully District 2222 Valbroye 5831 46.765 6.8225 4 +CH 1536 Combremont-le-Petit Canton de Vaud VD Broye-Vully District 2222 Valbroye 5831 46.7461 6.8037 4 +CH 1537 Champtauroz Canton de Vaud VD Broye-Vully District 2222 Champtauroz 5812 46.759 6.7863 4 +CH 1538 Treytorrens (Payerne) Canton de Vaud VD Broye-Vully District 2222 Treytorrens (Payerne) 5828 46.7748 6.8024 4 +CH 1543 Grandcour Canton de Vaud VD Broye-Vully District 2222 Grandcour 5817 46.8724 6.9324 4 +CH 1545 Chevroux Canton de Vaud VD Broye-Vully District 2222 Chevroux 5813 46.902 6.8992 4 +CH 1551 Vers-chez-Perrin Canton de Vaud VD Broye-Vully District 2222 Payerne 5822 46.798 6.9479 4 +CH 1552 Trey Canton de Vaud VD Broye-Vully District 2222 Trey 5827 46.7749 6.9232 4 +CH 1554 Rossens VD Canton de Vaud VD Broye-Vully District 2222 Villarzel 5830 46.7331 6.9227 4 +CH 1554 Sédeilles Canton de Vaud VD Broye-Vully District 2222 Villarzel 5830 46.7428 6.9302 4 +CH 1555 Villarzel Canton de Vaud VD Broye-Vully District 2222 Villarzel 5830 46.7438 6.9091 4 +CH 1562 Corcelles-près-Payerne Canton de Vaud VD Broye-Vully District 2222 Corcelles-près-Payerne 5816 46.8425 6.9661 4 +CH 1565 Missy Canton de Vaud VD Broye-Vully District 2222 Missy 5821 46.8761 6.9739 4 +CH 1580 Avenches Canton de Vaud VD Broye-Vully District 2222 Avenches 5451 46.8876 7.0387 4 +CH 1580 Donatyre Canton de Vaud VD Broye-Vully District 2222 Avenches 5451 46.8726 7.0601 3 +CH 1580 Oleyres Canton de Vaud VD Broye-Vully District 2222 Avenches 5451 46.855 7.0409 4 +CH 1584 Villars-le-Grand Canton de Vaud VD Broye-Vully District 2222 Vully-les-Lacs 5464 46.9054 6.9986 4 +CH 1585 Salavaux Canton de Vaud VD Broye-Vully District 2222 Vully-les-Lacs 5464 46.9149 7.0361 4 +CH 1585 Cotterd Canton de Vaud VD Broye-Vully District 2222 Vully-les-Lacs 5464 46.9232 7.0273 4 +CH 1585 Bellerive VD Canton de Vaud VD Broye-Vully District 2222 Vully-les-Lacs 5464 46.9255 7.022 4 +CH 1586 Vallamand Canton de Vaud VD Broye-Vully District 2222 Vully-les-Lacs 5464 46.9303 7.0426 4 +CH 1587 Constantine Canton de Vaud VD Broye-Vully District 2222 Vully-les-Lacs 5464 46.9103 7.0119 4 +CH 1587 Montmagny Canton de Vaud VD Broye-Vully District 2222 Vully-les-Lacs 5464 46.9265 7.006 4 +CH 1588 Cudrefin Canton de Vaud VD Broye-Vully District 2222 Cudrefin 5456 46.9597 7.0127 4 +CH 1589 Chabrey Canton de Vaud VD Broye-Vully District 2222 Vully-les-Lacs 5464 46.942 6.9647 4 +CH 1595 Faoug Canton de Vaud VD Broye-Vully District 2222 Faoug 5458 46.9068 7.0726 4 +CH 1682 Lovatens Canton de Vaud VD Broye-Vully District 2222 Lovatens 5674 46.6921 6.8659 4 +CH 1682 Prévonloup Canton de Vaud VD Broye-Vully District 2222 Prévonloup 5683 46.6979 6.8828 4 +CH 1682 Villars-Bramard Canton de Vaud VD Broye-Vully District 2222 Valbroye 5831 46.7202 6.9046 4 +CH 1682 Cerniaz VD Canton de Vaud VD Broye-Vully District 2222 Valbroye 5831 46.7291 6.8983 4 +CH 1682 Dompierre VD Canton de Vaud VD Broye-Vully District 2222 Dompierre (VD) 5671 46.7113 6.8801 4 +CH 1683 Brenles Canton de Vaud VD Broye-Vully District 2222 Lucens 5675 46.6678 6.8562 4 +CH 1683 Sarzens Canton de Vaud VD Broye-Vully District 2222 Lucens 5675 46.6825 6.8495 4 +CH 1683 Chesalles-sur-Moudon Canton de Vaud VD Broye-Vully District 2222 Lucens 5675 46.6747 6.8366 3 +CH 1787 Mur (Vully) VD Canton de Vaud VD Broye-Vully District 2222 Vully-les-Lacs 5464 46.9388 7.0554 3 +CH 1031 Mex VD Canton de Vaud VD Gros-de-Vaud District 2223 Mex (VD) 5489 46.5771 6.559 4 +CH 1034 Boussens Canton de Vaud VD Gros-de-Vaud District 2223 Boussens 5473 46.6033 6.586 4 +CH 1035 Bournens Canton de Vaud VD Gros-de-Vaud District 2223 Bournens 5472 46.6089 6.564 4 +CH 1036 Sullens Canton de Vaud VD Gros-de-Vaud District 2223 Sullens 5501 46.5912 6.5674 4 +CH 1037 Etagnières Canton de Vaud VD Gros-de-Vaud District 2223 Etagnières 5521 46.6014 6.6085 4 +CH 1038 Bercher Canton de Vaud VD Gros-de-Vaud District 2223 Bercher 5512 46.6916 6.7063 4 +CH 1040 Echallens Canton de Vaud VD Gros-de-Vaud District 2223 Echallens 5518 46.6384 6.6353 4 +CH 1040 Villars-le-Terroir Canton de Vaud VD Gros-de-Vaud District 2223 Villars-le-Terroir 5537 46.6618 6.6426 4 +CH 1040 St-Barthélemy VD Canton de Vaud VD Gros-de-Vaud District 2223 Saint-Barthélemy (VD) 5535 46.6348 6.6021 4 +CH 1041 Montaubion-Chardonney Canton de Vaud VD Gros-de-Vaud District 2223 Jorat-Menthue 5804 46.6458 6.713 4 +CH 1041 Poliez-le-Grand Canton de Vaud VD Gros-de-Vaud District 2223 Montilliez 5540 46.6397 6.6703 4 +CH 1041 Poliez-Pittet Canton de Vaud VD Gros-de-Vaud District 2223 Poliez-Pittet 5533 46.6235 6.6887 4 +CH 1041 Bottens Canton de Vaud VD Gros-de-Vaud District 2223 Bottens 5514 46.6151 6.6621 4 +CH 1041 Naz Canton de Vaud VD Gros-de-Vaud District 2223 Montilliez 5540 46.6594 6.694 4 +CH 1041 Dommartin Canton de Vaud VD Gros-de-Vaud District 2223 Montilliez 5540 46.6438 6.6973 4 +CH 1042 Assens Canton de Vaud VD Gros-de-Vaud District 2223 Assens 5511 46.6178 6.6273 4 +CH 1042 Bioley-Orjulaz Canton de Vaud VD Gros-de-Vaud District 2223 Assens 5511 46.6193 6.6009 4 +CH 1042 Bettens Canton de Vaud VD Gros-de-Vaud District 2223 Bettens 5471 46.6242 6.5751 4 +CH 1043 Sugnens Canton de Vaud VD Gros-de-Vaud District 2223 Montilliez 5540 46.6544 6.6729 4 +CH 1044 Fey Canton de Vaud VD Gros-de-Vaud District 2223 Fey 5522 46.6729 6.6801 4 +CH 1045 Ogens Canton de Vaud VD Gros-de-Vaud District 2223 Ogens 5680 46.7093 6.7236 4 +CH 1046 Rueyres Canton de Vaud VD Gros-de-Vaud District 2223 Rueyres 5534 46.6975 6.6939 4 +CH 1047 Oppens Canton de Vaud VD Gros-de-Vaud District 2223 Oppens 5923 46.7153 6.695 4 +CH 1053 Cugy VD Canton de Vaud VD Gros-de-Vaud District 2223 Cugy (VD) 5516 46.5856 6.658 4 +CH 1053 Bretigny-sur-Morrens Canton de Vaud VD Gros-de-Vaud District 2223 Bretigny-sur-Morrens 5515 46.601 6.6443 4 +CH 1054 Morrens VD Canton de Vaud VD Gros-de-Vaud District 2223 Morrens (VD) 5527 46.5923 6.6271 4 +CH 1055 Froideville Canton de Vaud VD Gros-de-Vaud District 2223 Froideville 5523 46.5982 6.6917 4 +CH 1058 Villars-Tiercelin Canton de Vaud VD Gros-de-Vaud District 2223 Jorat-Menthue 5804 46.6199 6.7109 4 +CH 1059 Peney-le-Jorat Canton de Vaud VD Gros-de-Vaud District 2223 Jorat-Menthue 5804 46.6301 6.729 4 +CH 1061 Villars-Mendraz Canton de Vaud VD Gros-de-Vaud District 2223 Jorat-Menthue 5804 46.6453 6.7268 4 +CH 1062 Sottens Canton de Vaud VD Gros-de-Vaud District 2223 Jorat-Menthue 5804 46.6536 6.7399 4 +CH 1063 Boulens Canton de Vaud VD Gros-de-Vaud District 2223 Boulens 5661 46.6789 6.7183 4 +CH 1063 Chapelle-sur-Moudon Canton de Vaud VD Gros-de-Vaud District 2223 Montanaire 5693 46.6692 6.7359 4 +CH 1063 Martherenges Canton de Vaud VD Gros-de-Vaud District 2223 Montanaire 5693 46.6613 6.7558 4 +CH 1063 Peyres-Possens Canton de Vaud VD Gros-de-Vaud District 2223 Montanaire 5693 46.6628 6.7069 3 +CH 1302 Vufflens-la-Ville Canton de Vaud VD Gros-de-Vaud District 2223 Vufflens-la-Ville 5503 46.5754 6.5373 4 +CH 1303 Penthaz Canton de Vaud VD Gros-de-Vaud District 2223 Penthaz 5496 46.5988 6.5414 4 +CH 1305 Penthalaz Canton de Vaud VD Gros-de-Vaud District 2223 Penthalaz 5495 46.6128 6.5291 4 +CH 1306 Daillens Canton de Vaud VD Gros-de-Vaud District 2223 Daillens 5480 46.6286 6.5497 4 +CH 1307 Lussery-Villars Canton de Vaud VD Gros-de-Vaud District 2223 Lussery-Villars 5487 46.6328 6.5255 4 +CH 1375 Penthéréaz Canton de Vaud VD Gros-de-Vaud District 2223 Penthéréaz 5531 46.6828 6.6065 4 +CH 1376 Eclagnens Canton de Vaud VD Gros-de-Vaud District 2223 Goumoëns 5541 46.6491 6.592 4 +CH 1376 Goumoens-la-Ville Canton de Vaud VD Gros-de-Vaud District 2223 Goumoëns 5541 46.6602 6.6111 4 +CH 1376 Goumoens-le-Jux Canton de Vaud VD Gros-de-Vaud District 2223 Goumoëns 5541 46.6677 6.588 3 +CH 1377 Oulens-sous-Echallens Canton de Vaud VD Gros-de-Vaud District 2223 Oulens-sous-Echallens 5529 46.6467 6.573 4 +CH 1409 Chanéaz Canton de Vaud VD Gros-de-Vaud District 2223 Montanaire 5693 46.7276 6.7445 4 +CH 1410 Correvon Canton de Vaud VD Gros-de-Vaud District 2223 Montanaire 5693 46.7184 6.7414 4 +CH 1410 Thierrens Canton de Vaud VD Gros-de-Vaud District 2223 Montanaire 5693 46.7038 6.7589 4 +CH 1410 Denezy Canton de Vaud VD Gros-de-Vaud District 2223 Montanaire 5693 46.7222 6.7857 4 +CH 1410 St-Cierges Canton de Vaud VD Gros-de-Vaud District 2223 Montanaire 5693 46.6878 6.7447 4 +CH 1416 Pailly Canton de Vaud VD Gros-de-Vaud District 2223 Pailly 5530 46.6997 6.6735 4 +CH 1417 Epautheyres Canton de Vaud VD Gros-de-Vaud District 2223 Essertines-sur-Yverdon 5520 46.7348 6.6454 4 +CH 1417 Essertines-sur-Yverdon Canton de Vaud VD Gros-de-Vaud District 2223 Essertines-sur-Yverdon 5520 46.7142 6.6445 4 +CH 1418 Vuarrens Canton de Vaud VD Gros-de-Vaud District 2223 Vuarrens 5539 46.6858 6.6459 4 +CH 1515 Neyruz-sur-Moudon Canton de Vaud VD Gros-de-Vaud District 2223 Montanaire 5693 46.6972 6.7876 3 +CH 1148 La Praz Canton de Vaud VD Jura-Nord vaudois District 2224 La Praz 5758 46.6698 6.4243 4 +CH 1321 Arnex-sur-Orbe Canton de Vaud VD Jura-Nord vaudois District 2224 Arnex-sur-Orbe 5743 46.69 6.5168 4 +CH 1322 Croy Canton de Vaud VD Jura-Nord vaudois District 2224 Croy 5752 46.6859 6.4859 4 +CH 1323 Romainmôtier Canton de Vaud VD Jura-Nord vaudois District 2224 Romainmôtier-Envy 5761 46.6869 6.4618 4 +CH 1324 Premier Canton de Vaud VD Jura-Nord vaudois District 2224 Premier 5759 46.7092 6.4419 4 +CH 1325 Vaulion Canton de Vaud VD Jura-Nord vaudois District 2224 Vaulion 5765 46.6848 6.3832 4 +CH 1326 Juriens Canton de Vaud VD Jura-Nord vaudois District 2224 Juriens 5754 46.6828 6.4301 4 +CH 1329 Bretonnières Canton de Vaud VD Jura-Nord vaudois District 2224 Bretonnières 5748 46.7159 6.4704 4 +CH 1337 Vallorbe Canton de Vaud VD Jura-Nord vaudois District 2224 Vallorbe 5764 46.7078 6.3714 4 +CH 1338 Ballaigues Canton de Vaud VD Jura-Nord vaudois District 2224 Ballaigues 5744 46.7349 6.4104 4 +CH 1341 Orient Canton de Vaud VD Jura-Nord vaudois District 2224 Le Chenit 5872 46.6015 6.2394 4 +CH 1341 L'Orient Canton de Vaud VD Jura-Nord vaudois District 2224 Le Chenit 5872 46.5912 6.2577 4 +CH 1342 Le Pont Canton de Vaud VD Jura-Nord vaudois District 2224 L'Abbaye 5871 46.6681 6.3377 4 +CH 1343 Les Charbonnières Canton de Vaud VD Jura-Nord vaudois District 2224 Le Lieu 5873 46.6785 6.3026 4 +CH 1344 L'Abbaye Canton de Vaud VD Jura-Nord vaudois District 2224 L'Abbaye 5871 46.6405 6.324 4 +CH 1345 Le Séchey Canton de Vaud VD Jura-Nord vaudois District 2224 Le Lieu 5873 46.656 6.2997 4 +CH 1345 Le Lieu Canton de Vaud VD Jura-Nord vaudois District 2224 Le Lieu 5873 46.6487 6.2605 4 +CH 1346 Les Bioux Canton de Vaud VD Jura-Nord vaudois District 2224 L'Abbaye 5871 46.615 6.2908 4 +CH 1347 Le Solliat Canton de Vaud VD Jura-Nord vaudois District 2224 Le Chenit 5872 46.6259 6.2202 4 +CH 1347 Le Sentier Canton de Vaud VD Jura-Nord vaudois District 2224 Le Chenit 5872 46.6106 6.2143 4 +CH 1348 Le Brassus Canton de Vaud VD Jura-Nord vaudois District 2224 Le Chenit 5872 46.5685 6.1906 4 +CH 1350 Orbe Canton de Vaud VD Jura-Nord vaudois District 2224 Orbe 5757 46.727 6.5431 4 +CH 1352 Agiez Canton de Vaud VD Jura-Nord vaudois District 2224 Agiez 5742 46.7182 6.5077 4 +CH 1353 Bofflens Canton de Vaud VD Jura-Nord vaudois District 2224 Bofflens 5747 46.7036 6.4953 4 +CH 1354 Montcherand Canton de Vaud VD Jura-Nord vaudois District 2224 Montcherand 5756 46.734 6.5108 4 +CH 1355 Sergey Canton de Vaud VD Jura-Nord vaudois District 2224 Sergey 5762 46.7512 6.501 4 +CH 1355 L'Abergement Canton de Vaud VD Jura-Nord vaudois District 2224 L'Abergement 5741 46.7547 6.4832 4 +CH 1356 La Russille Canton de Vaud VD Jura-Nord vaudois District 2224 Les Clées 5750 46.7392 6.4879 4 +CH 1356 Les Clées Canton de Vaud VD Jura-Nord vaudois District 2224 Les Clées 5750 46.7297 6.4624 4 +CH 1357 Lignerolle Canton de Vaud VD Jura-Nord vaudois District 2224 Lignerolle 5755 46.7498 6.4488 4 +CH 1358 Valeyres-sous-Rances Canton de Vaud VD Jura-Nord vaudois District 2224 Valeyres-sous-Rances 5763 46.7482 6.5354 4 +CH 1372 Bavois Canton de Vaud VD Jura-Nord vaudois District 2224 Bavois 5746 46.6793 6.566 4 +CH 1373 Chavornay Canton de Vaud VD Jura-Nord vaudois District 2224 Chavornay 5749 46.705 6.5684 4 +CH 1374 Corcelles-sur-Chavornay Canton de Vaud VD Jura-Nord vaudois District 2224 Chavornay 5749 46.7027 6.6046 4 +CH 1400 Yverdon 2 Canton de Vaud VD Jura-Nord vaudois District 2224 Yverdon-les-Bains 5938 46.7743 6.6371 6 +CH 1400 Yverdon-les-Bains Canton de Vaud VD Jura-Nord vaudois District 2224 Yverdon-les-Bains 5938 46.7762 6.6385 4 +CH 1400 Cheseaux-Noréaz Canton de Vaud VD Jura-Nord vaudois District 2224 Cheseaux-Noréaz 5909 46.7969 6.6878 3 +CH 1401 Yverdon-les-Bains Canton de Vaud VD Jura-Nord vaudois District 2224 Yverdon-les-Bains 5938 46.7785 6.6411 +CH 1404 Villars-Epeney Canton de Vaud VD Jura-Nord vaudois District 2224 Villars-Epeney 5935 46.7832 6.6991 4 +CH 1404 Cuarny Canton de Vaud VD Jura-Nord vaudois District 2224 Cuarny 5911 46.7708 6.692 4 +CH 1405 Pomy Canton de Vaud VD Jura-Nord vaudois District 2224 Pomy 5926 46.7583 6.6692 4 +CH 1406 Cronay Canton de Vaud VD Jura-Nord vaudois District 2224 Cronay 5910 46.7568 6.7029 4 +CH 1407 Donneloye Canton de Vaud VD Jura-Nord vaudois District 2224 Donneloye 5913 46.7519 6.7198 4 +CH 1407 Mézery-près-Donneloye Canton de Vaud VD Jura-Nord vaudois District 2224 Donneloye 5913 46.7531 6.7308 3 +CH 1407 Bioley-Magnoux Canton de Vaud VD Jura-Nord vaudois District 2224 Bioley-Magnoux 5903 46.7267 6.7144 4 +CH 1407 Gossens Canton de Vaud VD Jura-Nord vaudois District 2224 Donneloye 5913 46.7398 6.699 4 +CH 1408 Prahins Canton de Vaud VD Jura-Nord vaudois District 2224 Donneloye 5913 46.7365 6.733 4 +CH 1412 Ursins Canton de Vaud VD Jura-Nord vaudois District 2224 Ursins 5932 46.7345 6.6693 4 +CH 1412 Valeyres-sous-Ursins Canton de Vaud VD Jura-Nord vaudois District 2224 Valeyres-sous-Ursins 5934 46.7453 6.6533 4 +CH 1413 Orzens Canton de Vaud VD Jura-Nord vaudois District 2224 Orzens 5925 46.7263 6.683 4 +CH 1415 Démoret Canton de Vaud VD Jura-Nord vaudois District 2224 Démoret 5912 46.7479 6.7578 4 +CH 1415 Molondin Canton de Vaud VD Jura-Nord vaudois District 2224 Molondin 5921 46.7631 6.7478 4 +CH 1420 Fiez Canton de Vaud VD Jura-Nord vaudois District 2224 Fiez 5556 46.8272 6.6266 4 +CH 1421 Fontaines-sur-Grandson Canton de Vaud VD Jura-Nord vaudois District 2224 Fontaines-sur-Grandson 5557 46.834 6.6188 4 +CH 1421 Grandevent Canton de Vaud VD Jura-Nord vaudois District 2224 Grandevent 5560 46.8419 6.6055 4 +CH 1422 Grandson Canton de Vaud VD Jura-Nord vaudois District 2224 Grandson 5561 46.8122 6.6529 4 +CH 1423 Villars-Burquin Canton de Vaud VD Jura-Nord vaudois District 2224 Tévenon 5571 46.8472 6.6262 4 +CH 1423 Romairon Canton de Vaud VD Jura-Nord vaudois District 2224 Tévenon 5571 46.8506 6.6422 4 +CH 1423 Vaugondry Canton de Vaud VD Jura-Nord vaudois District 2224 Tévenon 5571 46.8448 6.6365 4 +CH 1423 Fontanezier Canton de Vaud VD Jura-Nord vaudois District 2224 Tévenon 5571 46.8641 6.6577 4 +CH 1424 Champagne Canton de Vaud VD Jura-Nord vaudois District 2224 Champagne 5553 46.8358 6.6516 4 +CH 1425 Onnens VD Canton de Vaud VD Jura-Nord vaudois District 2224 Onnens (VD) 5565 46.8429 6.6899 4 +CH 1426 Corcelles-près-Concise Canton de Vaud VD Jura-Nord vaudois District 2224 Corcelles-près-Concise 5555 46.8425 6.7101 4 +CH 1426 Concise Canton de Vaud VD Jura-Nord vaudois District 2224 Concise 5554 46.8558 6.737 4 +CH 1427 Bonvillars Canton de Vaud VD Jura-Nord vaudois District 2224 Bonvillars 5551 46.8376 6.6746 4 +CH 1428 Mutrux Canton de Vaud VD Jura-Nord vaudois District 2224 Mutrux 5563 46.8817 6.7247 4 +CH 1428 Provence Canton de Vaud VD Jura-Nord vaudois District 2224 Provence 5566 46.8915 6.6932 4 +CH 1429 Giez Canton de Vaud VD Jura-Nord vaudois District 2224 Giez 5559 46.8145 6.6098 4 +CH 1430 Orges Canton de Vaud VD Jura-Nord vaudois District 2224 Orges 5924 46.8122 6.5831 4 +CH 1431 Vugelles-La Mothe Canton de Vaud VD Jura-Nord vaudois District 2224 Vugelles-La Mothe 5937 46.825 6.5738 4 +CH 1431 Novalles Canton de Vaud VD Jura-Nord vaudois District 2224 Novalles 5564 46.8319 6.5925 4 +CH 1432 Gressy Canton de Vaud VD Jura-Nord vaudois District 2224 Yverdon-les-Bains 5938 46.7525 6.6386 4 +CH 1432 Belmont-sur-Yverdon Canton de Vaud VD Jura-Nord vaudois District 2224 Belmont-sur-Yverdon 5902 46.7379 6.6255 4 +CH 1433 Suchy Canton de Vaud VD Jura-Nord vaudois District 2224 Suchy 5929 46.7213 6.6051 4 +CH 1434 Ependes VD Canton de Vaud VD Jura-Nord vaudois District 2224 Ependes (VD) 5914 46.7448 6.6027 4 +CH 1435 Essert-Pittet Canton de Vaud VD Jura-Nord vaudois District 2224 Chavornay 5749 46.7288 6.5789 4 +CH 1436 Treycovagnes Canton de Vaud VD Jura-Nord vaudois District 2224 Treycovagnes 5931 46.7695 6.6067 4 +CH 1436 Chamblon Canton de Vaud VD Jura-Nord vaudois District 2224 Chamblon 5904 46.778 6.5987 4 +CH 1437 Suscévaz Canton de Vaud VD Jura-Nord vaudois District 2224 Suscévaz 5930 46.7621 6.5868 4 +CH 1438 Mathod Canton de Vaud VD Jura-Nord vaudois District 2224 Mathod 5919 46.7596 6.565 4 +CH 1439 Rances Canton de Vaud VD Jura-Nord vaudois District 2224 Rances 5760 46.7659 6.5076 4 +CH 1440 Montagny-Chamard Canton de Vaud VD Jura-Nord vaudois District 2224 Montagny-près-Yverdon 5922 46.7904 6.6098 +CH 1441 Valeyres-sous-Montagny Canton de Vaud VD Jura-Nord vaudois District 2224 Valeyres-sous-Montagny 5933 46.8005 6.6037 4 +CH 1442 Montagny-près-Yverdon Canton de Vaud VD Jura-Nord vaudois District 2224 Montagny-près-Yverdon 5922 46.7904 6.6098 4 +CH 1443 Essert-sous-Champvent Canton de Vaud VD Jura-Nord vaudois District 2224 Champvent 5905 46.7938 6.5845 3 +CH 1443 Villars-sous-Champvent Canton de Vaud VD Jura-Nord vaudois District 2224 Champvent 5905 46.7854 6.5847 3 +CH 1443 Champvent Canton de Vaud VD Jura-Nord vaudois District 2224 Champvent 5905 46.7838 6.5622 4 +CH 1445 Vuiteboeuf Canton de Vaud VD Jura-Nord vaudois District 2224 Vuiteboeuf 5766 46.8047 6.5542 4 +CH 1446 Baulmes Canton de Vaud VD Jura-Nord vaudois District 2224 Baulmes 5745 46.7864 6.5048 4 +CH 1450 La Sagne (Ste-Croix) Canton de Vaud VD Jura-Nord vaudois District 2224 Sainte-Croix 5568 46.8085 6.4984 4 +CH 1450 Le Château-de-Ste-Croix Canton de Vaud VD Jura-Nord vaudois District 2224 Sainte-Croix 5568 46.8168 6.5359 4 +CH 1450 Ste-Croix Canton de Vaud VD Jura-Nord vaudois District 2224 Sainte-Croix 5568 46.8236 6.5036 3 +CH 1452 Les Rasses Canton de Vaud VD Jura-Nord vaudois District 2224 Bullet 5552 46.8382 6.5353 4 +CH 1453 Mauborget Canton de Vaud VD Jura-Nord vaudois District 2224 Mauborget 5562 46.8687 6.609 4 +CH 1453 Bullet Canton de Vaud VD Jura-Nord vaudois District 2224 Bullet 5552 46.8491 6.5608 4 +CH 1454 L'Auberson Canton de Vaud VD Jura-Nord vaudois District 2224 Sainte-Croix 5568 46.8177 6.46 4 +CH 1454 La Vraconnaz Canton de Vaud VD Jura-Nord vaudois District 2224 Sainte-Croix 5568 46.8434 6.481 4 +CH 1462 Yvonand Canton de Vaud VD Jura-Nord vaudois District 2224 Yvonand 5939 46.7989 6.7367 4 +CH 1463 Rovray Canton de Vaud VD Jura-Nord vaudois District 2224 Rovray 5928 46.7889 6.7667 4 +CH 1464 Chêne-Pâquier Canton de Vaud VD Jura-Nord vaudois District 2224 Chêne-Pâquier 5908 46.7659 6.7706 4 +CH 1464 Chavannes-le-Chêne Canton de Vaud VD Jura-Nord vaudois District 2224 Chavannes-le-Chêne 5907 46.7801 6.7809 4 +CH 1000 Lausanne 22 Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5218 6.633 +CH 1000 Lausanne 14 Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5218 6.633 +CH 1000 Lausanne 26 Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5557 6.6962 1 +CH 1000 Lausanne 12 Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5218 6.633 +CH 1000 Lausanne 27 Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5416 6.682 1 +CH 1000 Lausanne 18 Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5218 6.633 +CH 1000 Lausanne 10 Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5218 6.633 +CH 1000 Lausanne 16 Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5218 6.633 +CH 1000 Lausanne 25 Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5726 6.694 1 +CH 1001 Lausanne Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.516 6.6328 +CH 1002 Lausanne Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.516 6.6328 +CH 1003 Lausanne Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.52 6.6305 4 +CH 1004 Lausanne Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5289 6.6178 4 +CH 1005 Lausanne Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5217 6.6432 4 +CH 1006 Lausanne Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.4912 6.6349 4 +CH 1007 Lausanne Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.488 6.607 4 +CH 1008 Jouxtens-Mézery Canton de Vaud VD Lausanne District 2225 Jouxtens-Mézery 5585 46.5519 6.596 3 +CH 1010 Lausanne Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5377 6.6553 4 +CH 1011 Lausanne Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5256 6.6433 4 +CH 1012 Lausanne Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5271 6.6566 4 +CH 1014 Lausanne Adm cant Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5218 6.633 +CH 1014 Lausanne Adm cant VD Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5218 6.633 +CH 1015 Lausanne Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5192 6.5762 4 +CH 1018 Lausanne Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5381 6.6279 4 +CH 1019 Lausanne Services spéciaux Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5218 6.633 +CH 1019 Lausanne Canton de Vaud VD Lausanne District 2225 Lausanne 5586 46.5218 6.633 +CH 1032 Romanel-sur-Lausanne Canton de Vaud VD Lausanne District 2225 Romanel-sur-Lausanne 5592 46.5659 6.6091 4 +CH 1033 Cheseaux-sur-Lausanne Canton de Vaud VD Lausanne District 2225 Cheseaux-sur-Lausanne 5582 46.5822 6.5958 4 +CH 1039 Cheseaux Polyval Canton de Vaud VD Lausanne District 2225 Cheseaux-sur-Lausanne 5582 46.5845 6.5955 +CH 1052 Le Mont-sur-Lausanne Canton de Vaud VD Lausanne District 2225 Le Mont-sur-Lausanne 5587 46.5616 6.6445 4 +CH 1066 Epalinges Canton de Vaud VD Lausanne District 2225 Epalinges 5584 46.5507 6.6685 4 +CH 1009 Pully Canton de Vaud VD Lavaux-Oron District 2226 Pully 5590 46.4884 6.6557 4 +CH 1068 Les Monts-de-Pully Canton de Vaud VD Lavaux-Oron District 2226 Pully 5590 46.5346 6.6852 4 +CH 1070 Puidoux Canton de Vaud VD Lavaux-Oron District 2226 Puidoux 5607 46.4945 6.7779 4 +CH 1071 Rivaz Canton de Vaud VD Lavaux-Oron District 2226 Rivaz 5609 46.458 6.7747 4 +CH 1071 Chexbres Canton de Vaud VD Lavaux-Oron District 2226 Chexbres 5601 46.4835 6.784 4 +CH 1071 St-Saphorin (Lavaux) Canton de Vaud VD Lavaux-Oron District 2226 Saint-Saphorin (Lavaux) 5610 46.4554 6.789 4 +CH 1072 Forel (Lavaux) Canton de Vaud VD Lavaux-Oron District 2226 Forel (Lavaux) 5604 46.5381 6.7631 4 +CH 1073 Savigny Canton de Vaud VD Lavaux-Oron District 2226 Savigny 5611 46.5447 6.723 4 +CH 1073 Mollie-Margot Canton de Vaud VD Lavaux-Oron District 2226 Savigny 5611 46.56 6.7377 4 +CH 1076 Ferlens VD Canton de Vaud VD Lavaux-Oron District 2226 Jorat-Mézières 5806 46.589 6.7891 4 +CH 1077 Servion Canton de Vaud VD Lavaux-Oron District 2226 Servion 5799 46.5737 6.7801 4 +CH 1078 Essertes Canton de Vaud VD Lavaux-Oron District 2226 Oron 5805 46.5645 6.789 4 +CH 1080 Les Cullayes Canton de Vaud VD Lavaux-Oron District 2226 Servion 5799 46.5728 6.7558 4 +CH 1081 Montpreveyres Canton de Vaud VD Lavaux-Oron District 2226 Montpreveyres 5792 46.5813 6.7305 4 +CH 1083 Mézières VD Canton de Vaud VD Lavaux-Oron District 2226 Jorat-Mézières 5806 46.5871 6.7656 4 +CH 1084 Carrouge VD Canton de Vaud VD Lavaux-Oron District 2226 Jorat-Mézières 5806 46.6027 6.7728 4 +CH 1090 La Croix (Lutry) Canton de Vaud VD Lavaux-Oron District 2226 Lutry 5606 46.5215 6.7054 4 +CH 1091 Aran Canton de Vaud VD Lavaux-Oron District 2226 Bourg-en-Lavaux 5613 46.5081 6.7154 4 +CH 1091 Chenaux Canton de Vaud VD Lavaux-Oron District 2226 Bourg-en-Lavaux 5613 46.4954 6.7307 4 +CH 1091 Grandvaux Canton de Vaud VD Lavaux-Oron District 2226 Bourg-en-Lavaux 5613 46.5045 6.7261 4 +CH 1092 Belmont-sur-Lausanne Canton de Vaud VD Lavaux-Oron District 2226 Belmont-sur-Lausanne 5581 46.5265 6.6876 4 +CH 1093 La Conversion Canton de Vaud VD Lavaux-Oron District 2226 Lutry 5606 46.5141 6.6858 4 +CH 1094 Paudex Canton de Vaud VD Lavaux-Oron District 2226 Paudex 5588 46.4828 6.6715 4 +CH 1095 Lutry Canton de Vaud VD Lavaux-Oron District 2226 Lutry 5606 46.4875 6.6881 4 +CH 1096 Cully Canton de Vaud VD Lavaux-Oron District 2226 Bourg-en-Lavaux 5613 46.4699 6.7261 4 +CH 1096 Villette (Lavaux) Canton de Vaud VD Lavaux-Oron District 2226 Bourg-en-Lavaux 5613 46.4744 6.7009 4 +CH 1097 Riex Canton de Vaud VD Lavaux-Oron District 2226 Bourg-en-Lavaux 5613 46.5008 6.7406 4 +CH 1098 Epesses Canton de Vaud VD Lavaux-Oron District 2226 Bourg-en-Lavaux 5613 46.4966 6.7497 4 +CH 1607 Les Tavernes Canton de Vaud VD Lavaux-Oron District 2226 Oron 5805 46.5533 6.8097 4 +CH 1607 Les Thioleyres Canton de Vaud VD Lavaux-Oron District 2226 Oron 5805 46.5384 6.8148 4 +CH 1607 Palézieux Canton de Vaud VD Lavaux-Oron District 2226 Oron 5805 46.5441 6.8402 4 +CH 1607 Palézieux-Village Canton de Vaud VD Lavaux-Oron District 2226 Oron 5805 46.5536 6.8358 4 +CH 1608 Oron-le-Châtel Canton de Vaud VD Lavaux-Oron District 2226 Oron 5805 46.5724 6.8413 4 +CH 1608 Chesalles-sur-Oron Canton de Vaud VD Lavaux-Oron District 2226 Oron 5805 46.5748 6.8527 4 +CH 1608 Bussigny-sur-Oron Canton de Vaud VD Lavaux-Oron District 2226 Oron 5805 46.5693 6.8629 4 +CH 1610 Vuibroye Canton de Vaud VD Lavaux-Oron District 2226 Oron 5805 46.5711 6.8052 4 +CH 1610 Oron-la-Ville Canton de Vaud VD Lavaux-Oron District 2226 Oron 5805 46.5715 6.8236 4 +CH 1610 Châtillens Canton de Vaud VD Lavaux-Oron District 2226 Oron 5805 46.5619 6.8054 4 +CH 1612 Ecoteaux Canton de Vaud VD Lavaux-Oron District 2226 Oron 5805 46.5494 6.8578 4 +CH 1613 Maracon Canton de Vaud VD Lavaux-Oron District 2226 Maracon 5790 46.5585 6.879 4 +CH 1026 Echandens-Denges Canton de Vaud VD Morges District 2227 Echandens 5633 46.5397 6.5379 6 +CH 1026 Echandens Canton de Vaud VD Morges District 2227 Echandens 5633 46.5397 6.5379 4 +CH 1026 Denges Canton de Vaud VD Morges District 2227 Denges 5632 46.5234 6.539 4 +CH 1027 Lonay Canton de Vaud VD Morges District 2227 Lonay 5638 46.5299 6.517 4 +CH 1028 Préverenges Canton de Vaud VD Morges District 2227 Préverenges 5643 46.4941 6.5291 4 +CH 1110 Morges 1 Canton de Vaud VD Morges District 2227 Morges 5642 46.514 6.4932 +CH 1110 Morges Canton de Vaud VD Morges District 2227 Morges 5642 46.495 6.5055 4 +CH 1110 Morges 2 Canton de Vaud VD Morges District 2227 Morges 5642 46.514 6.4932 +CH 1112 Echichens Canton de Vaud VD Morges District 2227 Echichens 5634 46.5303 6.4968 4 +CH 1113 St-Saphorin-sur-Morges Canton de Vaud VD Morges District 2227 Echichens 5634 46.5462 6.4917 4 +CH 1114 Colombier VD Canton de Vaud VD Morges District 2227 Echichens 5634 46.5552 6.4678 4 +CH 1115 Vullierens Canton de Vaud VD Morges District 2227 Vullierens 5654 46.5734 6.4808 4 +CH 1116 Cottens VD Canton de Vaud VD Morges District 2227 Hautemorges 5656 46.5743 6.4533 4 +CH 1117 Grancy Canton de Vaud VD Morges District 2227 Grancy 5485 46.5936 6.4609 4 +CH 1121 Bremblens Canton de Vaud VD Morges District 2227 Bremblens 5622 46.5483 6.5194 4 +CH 1122 Romanel-sur-Morges Canton de Vaud VD Morges District 2227 Romanel-sur-Morges 5645 46.5566 6.5106 4 +CH 1123 Aclens Canton de Vaud VD Morges District 2227 Aclens 5621 46.5683 6.5109 4 +CH 1124 Gollion Canton de Vaud VD Morges District 2227 Gollion 5484 46.586 6.512 4 +CH 1125 Monnaz Canton de Vaud VD Morges District 2227 Echichens 5634 46.533 6.4798 4 +CH 1126 Vaux-sur-Morges Canton de Vaud VD Morges District 2227 Vaux-sur-Morges 5650 46.5385 6.4639 4 +CH 1127 Clarmont Canton de Vaud VD Morges District 2227 Clarmont 5629 46.5486 6.4496 4 +CH 1128 Reverolle Canton de Vaud VD Morges District 2227 Hautemorges 5656 46.5417 6.44 4 +CH 1131 Tolochenaz Canton de Vaud VD Morges District 2227 Tolochenaz 5649 46.4849 6.4921 4 +CH 1132 Lully VD Canton de Vaud VD Morges District 2227 Lully (VD) 5639 46.5063 6.4644 4 +CH 1134 Chigny Canton de Vaud VD Morges District 2227 Chigny 5628 46.5162 6.4767 4 +CH 1134 Vufflens-le-Château Canton de Vaud VD Morges District 2227 Vufflens-le-Château 5653 46.5258 6.4667 4 +CH 1135 Denens Canton de Vaud VD Morges District 2227 Denens 5631 46.5174 6.4526 4 +CH 1136 Bussy-Chardonney Canton de Vaud VD Morges District 2227 Hautemorges 5656 46.5309 6.441 4 +CH 1141 Sévery Canton de Vaud VD Morges District 2227 Hautemorges 5656 46.5707 6.4421 4 +CH 1142 Pampigny Canton de Vaud VD Morges District 2227 Hautemorges 5656 46.5862 6.422 4 +CH 1143 Apples Canton de Vaud VD Morges District 2227 Hautemorges 5656 46.555 6.4166 4 +CH 1144 Ballens Canton de Vaud VD Morges District 2227 Ballens 5423 46.5535 6.378 4 +CH 1145 Bière Canton de Vaud VD Morges District 2227 Bière 5425 46.5474 6.3185 4 +CH 1146 Mollens VD Canton de Vaud VD Morges District 2227 Mollens (VD) 5431 46.5787 6.3553 4 +CH 1147 Montricher Canton de Vaud VD Morges District 2227 Montricher 5492 46.6033 6.3588 4 +CH 1148 Cuarnens Canton de Vaud VD Morges District 2227 Cuarnens 5479 46.6311 6.4359 4 +CH 1148 L'Isle Canton de Vaud VD Morges District 2227 L'Isle 5486 46.6245 6.3905 4 +CH 1148 Moiry VD Canton de Vaud VD Morges District 2227 Moiry 5490 46.6534 6.4528 4 +CH 1148 Villars-Bozon Canton de Vaud VD Morges District 2227 L'Isle 5486 46.6079 6.4094 4 +CH 1148 Mont-la-Ville Canton de Vaud VD Morges District 2227 Mont-la-Ville 5491 46.6532 6.3876 4 +CH 1148 Mauraz Canton de Vaud VD Morges District 2227 Mauraz 5488 46.603 6.4165 4 +CH 1148 La Coudre Canton de Vaud VD Morges District 2227 L'Isle 5486 46.6342 6.3987 4 +CH 1148 Chavannes-le-Veyron Canton de Vaud VD Morges District 2227 Chavannes-le-Veyron 5475 46.6089 6.447 4 +CH 1149 Berolle Canton de Vaud VD Morges District 2227 Berolle 5424 46.5682 6.3286 4 +CH 1162 St-Prex Canton de Vaud VD Morges District 2227 Saint-Prex 5646 46.4683 6.4693 4 +CH 1163 Etoy Canton de Vaud VD Morges District 2227 Etoy 5636 46.4841 6.4217 4 +CH 1164 Buchillon Canton de Vaud VD Morges District 2227 Buchillon 5623 46.4468 6.4286 4 +CH 1165 Allaman Canton de Vaud VD Morges District 2227 Allaman 5851 46.442 6.3983 4 +CH 1167 Lussy-sur-Morges Canton de Vaud VD Morges District 2227 Lussy-sur-Morges 5640 46.501 6.4481 4 +CH 1168 Villars-sous-Yens Canton de Vaud VD Morges District 2227 Villars-sous-Yens 5652 46.5069 6.4301 4 +CH 1169 Yens Canton de Vaud VD Morges District 2227 Yens 5655 46.527 6.4067 4 +CH 1170 Aubonne Canton de Vaud VD Morges District 2227 Aubonne 5422 46.491 6.3856 4 +CH 1172 Bougy-Villars Canton de Vaud VD Morges District 2227 Bougy-Villars 5426 46.4838 6.3508 4 +CH 1173 Féchy Canton de Vaud VD Morges District 2227 Féchy 5427 46.479 6.3727 4 +CH 1174 Pizy Canton de Vaud VD Morges District 2227 Aubonne 5422 46.4935 6.3467 4 +CH 1174 Montherod Canton de Vaud VD Morges District 2227 Aubonne 5422 46.5059 6.3541 4 +CH 1175 Lavigny Canton de Vaud VD Morges District 2227 Lavigny 5637 46.5015 6.4081 4 +CH 1176 St-Livres Canton de Vaud VD Morges District 2227 Saint-Livres 5435 46.5176 6.3812 4 +CH 1187 St-Oyens Canton de Vaud VD Morges District 2227 Saint-Oyens 5436 46.4949 6.2983 4 +CH 1188 Gimel Canton de Vaud VD Morges District 2227 Gimel 5428 46.5267 6.2895 4 +CH 1189 Saubraz Canton de Vaud VD Morges District 2227 Saubraz 5437 46.5184 6.3268 4 +CH 1304 Dizy Canton de Vaud VD Morges District 2227 Dizy 5481 46.6344 6.4949 4 +CH 1304 Senarclens Canton de Vaud VD Morges District 2227 Senarclens 5499 46.5992 6.4847 4 +CH 1304 Allens Canton de Vaud VD Morges District 2227 Cossonay 5477 46.5985 6.5078 4 +CH 1304 Cossonay-Ville Canton de Vaud VD Morges District 2227 Cossonay 5477 46.6158 6.5025 4 +CH 1308 La Chaux (Cossonay) Canton de Vaud VD Morges District 2227 La Chaux (Cossonay) 5474 46.6225 6.4682 4 +CH 1312 Eclépens Canton de Vaud VD Morges District 2227 Eclépens 5482 46.6516 6.5431 4 +CH 1313 Ferreyres Canton de Vaud VD Morges District 2227 Ferreyres 5483 46.6602 6.4795 4 +CH 1315 La Sarraz Canton de Vaud VD Morges District 2227 La Sarraz 5498 46.6545 6.5048 4 +CH 1316 Chevilly Canton de Vaud VD Morges District 2227 Chevilly 5476 46.6433 6.4751 4 +CH 1317 Orny Canton de Vaud VD Morges District 2227 Orny 5493 46.6707 6.5366 4 +CH 1318 Pompaples Canton de Vaud VD Morges District 2227 Pompaples 5497 46.6768 6.5213 4 +CH 1166 Perroy Canton de Vaud VD Nyon District 2228 Perroy 5860 46.4427 6.3706 4 +CH 1180 Tartegnin Canton de Vaud VD Nyon District 2228 Tartegnin 5862 46.468 6.3133 4 +CH 1180 Rolle Canton de Vaud VD Nyon District 2228 Rolle 5861 46.4416 6.3406 4 +CH 1182 Gilly Canton de Vaud VD Nyon District 2228 Gilly 5857 46.4631 6.2983 4 +CH 1183 Bursins Canton de Vaud VD Nyon District 2228 Bursins 5853 46.4477 6.2899 4 +CH 1184 Vinzel Canton de Vaud VD Nyon District 2228 Vinzel 5863 46.4481 6.279 4 +CH 1184 Luins Canton de Vaud VD Nyon District 2228 Luins 5858 46.4415 6.2754 4 +CH 1185 Mont-sur-Rolle Canton de Vaud VD Nyon District 2228 Mont-sur-Rolle 5859 46.4754 6.3364 4 +CH 1186 Essertines-sur-Rolle Canton de Vaud VD Nyon District 2228 Essertines-sur-Rolle 5856 46.4851 6.3105 4 +CH 1188 St-George Canton de Vaud VD Nyon District 2228 Saint-George 5434 46.5226 6.2577 4 +CH 1195 Dully Canton de Vaud VD Nyon District 2228 Dully 5855 46.4201 6.31 4 +CH 1195 Bursinel Canton de Vaud VD Nyon District 2228 Bursinel 5852 46.4266 6.3248 4 +CH 1196 Gland Canton de Vaud VD Nyon District 2228 Gland 5721 46.4104 6.2867 4 +CH 1197 Prangins Canton de Vaud VD Nyon District 2228 Prangins 5725 46.3922 6.2625 4 +CH 1260 Nyon 2 Canton de Vaud VD Nyon District 2228 Nyon 5724 46.3863 6.2264 +CH 1260 Nyon 1 Canton de Vaud VD Nyon District 2228 Nyon 5724 46.3863 6.2264 +CH 1260 Nyon Canton de Vaud VD Nyon District 2228 Nyon 5724 46.3803 6.2352 4 +CH 1261 Marchissy Canton de Vaud VD Nyon District 2228 Marchissy 5430 46.4981 6.226 4 +CH 1261 Le Vaud Canton de Vaud VD Nyon District 2228 Le Vaud 5731 46.4774 6.2337 4 +CH 1261 Longirod Canton de Vaud VD Nyon District 2228 Longirod 5429 46.5041 6.2522 4 +CH 1262 Eysins Canton de Vaud VD Nyon District 2228 Eysins 5716 46.3813 6.2051 4 +CH 1263 Crassier Canton de Vaud VD Nyon District 2228 Crassier 5714 46.376 6.1681 4 +CH 1264 St-Cergue Canton de Vaud VD Nyon District 2228 Saint-Cergue 5727 46.451 6.1414 4 +CH 1265 La Cure Canton de Vaud VD Nyon District 2228 Saint-Cergue 5727 46.4611 6.0935 4 +CH 1266 Duillier Canton de Vaud VD Nyon District 2228 Duillier 5715 46.4092 6.2297 4 +CH 1267 Vich Canton de Vaud VD Nyon District 2228 Vich 5732 46.4281 6.2494 4 +CH 1267 Coinsins Canton de Vaud VD Nyon District 2228 Coinsins 5710 46.4234 6.2374 4 +CH 1268 Begnins Canton de Vaud VD Nyon District 2228 Begnins 5704 46.4468 6.2533 4 +CH 1268 Burtigny Canton de Vaud VD Nyon District 2228 Burtigny 5854 46.4695 6.2675 4 +CH 1269 Bassins Canton de Vaud VD Nyon District 2228 Bassins 5703 46.4895 6.199 4 +CH 1270 Trélex Canton de Vaud VD Nyon District 2228 Trélex 5730 46.4189 6.1966 4 +CH 1271 Givrins Canton de Vaud VD Nyon District 2228 Givrins 5720 46.4328 6.1962 4 +CH 1272 Genolier Canton de Vaud VD Nyon District 2228 Genolier 5718 46.4362 6.2204 4 +CH 1273 Arzier-Le Muids Canton de Vaud VD Nyon District 2228 Arzier-Le Muids 5702 46.4883 6.1599 4 +CH 1274 Signy-Centre Canton de Vaud VD Nyon District 2228 Signy-Avenex 5728 46.3926 6.2042 6 +CH 1274 Signy Canton de Vaud VD Nyon District 2228 Signy-Avenex 5728 46.3928 6.2039 4 +CH 1274 Grens Canton de Vaud VD Nyon District 2228 Grens 5722 46.3966 6.1917 4 +CH 1275 Chéserex Canton de Vaud VD Nyon District 2228 Chéserex 5709 46.4109 6.1479 4 +CH 1276 Gingins Canton de Vaud VD Nyon District 2228 Gingins 5719 46.4262 6.1393 4 +CH 1277 Borex Canton de Vaud VD Nyon District 2228 Borex 5706 46.381 6.1792 4 +CH 1277 Arnex-sur-Nyon Canton de Vaud VD Nyon District 2228 Arnex-sur-Nyon 5701 46.3729 6.1898 3 +CH 1278 La Rippe Canton de Vaud VD Nyon District 2228 La Rippe 5726 46.407 6.1167 4 +CH 1279 Bogis-Bossey Canton de Vaud VD Nyon District 2228 Bogis-Bossey 5705 46.3538 6.1716 4 +CH 1279 Chavannes-de-Bogis Canton de Vaud VD Nyon District 2228 Chavannes-de-Bogis 5707 46.34 6.1545 4 +CH 1290 Chavannes-des-Bois Canton de Vaud VD Nyon District 2228 Chavannes-des-Bois 5708 46.3169 6.1367 4 +CH 1291 Commugny Canton de Vaud VD Nyon District 2228 Commugny 5711 46.3236 6.1609 4 +CH 1295 Tannay Canton de Vaud VD Nyon District 2228 Tannay 5729 46.3072 6.1811 4 +CH 1295 Mies Canton de Vaud VD Nyon District 2228 Mies 5723 46.2995 6.1746 4 +CH 1296 Coppet Canton de Vaud VD Nyon District 2228 Coppet 5712 46.316 6.2006 4 +CH 1297 Founex Canton de Vaud VD Nyon District 2228 Founex 5717 46.3331 6.1976 4 +CH 1299 Crans VD Canton de Vaud VD Nyon District 2228 Crans-près-Céligny 5713 46.36 6.2196 +CH 1299 Crans-près-Céligny Canton de Vaud VD Nyon District 2228 Crans-près-Céligny 5713 46.3591 6.2058 4 +CH 1008 Prilly Canton de Vaud VD Ouest Lausannois District 2229 Prilly 5589 46.5389 6.605 4 +CH 1020 Renens VD Canton de Vaud VD Ouest Lausannois District 2229 Renens (VD) 5591 46.5353 6.5897 4 +CH 1020 Renens VD 1 Canton de Vaud VD Ouest Lausannois District 2229 Renens (VD) 5591 46.5353 6.5897 +CH 1022 Chavannes-près-Renens Canton de Vaud VD Ouest Lausannois District 2229 Chavannes-près-Renens 5627 46.5285 6.5758 4 +CH 1023 Crissier Canton de Vaud VD Ouest Lausannois District 2229 Crissier 5583 46.5563 6.5777 4 +CH 1023 Crissier 1 Canton de Vaud VD Ouest Lausannois District 2229 Crissier 5583 46.5585 6.5774 +CH 1024 Ecublens VD Canton de Vaud VD Ouest Lausannois District 2229 Ecublens (VD) 5635 46.5288 6.5586 4 +CH 1025 St-Sulpice VD Canton de Vaud VD Ouest Lausannois District 2229 Saint-Sulpice (VD) 5648 46.4855 6.5626 4 +CH 1029 Villars-Ste-Croix Canton de Vaud VD Ouest Lausannois District 2229 Villars-Sainte-Croix 5651 46.5674 6.5632 4 +CH 1030 Bussigny Canton de Vaud VD Ouest Lausannois District 2229 Bussigny 5624 46.5534 6.5508 4 +CH 1658 Rossinière Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Rossinière 5842 46.4642 7.0639 4 +CH 1658 La Tine Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Rossinière 5842 46.4712 7.0479 4 +CH 1659 Rougemont Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Rougemont 5843 46.4959 7.2146 4 +CH 1659 Flendruz Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Rougemont 5843 46.5139 7.1743 4 +CH 1660 La Lécherette Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Château-d'Oex 5841 46.4237 7.0752 4 +CH 1660 Les Moulins Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Château-d'Oex 5841 46.4531 7.0998 4 +CH 1660 L'Etivaz Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Château-d'Oex 5841 46.4117 7.1644 4 +CH 1660 Château-d'Oex Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Château-d'Oex 5841 46.4703 7.1501 4 +CH 1800 Vevey 1 Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Vevey 5890 46.4642 6.8481 +CH 1800 Vevey Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Vevey 5890 46.4496 6.8373 4 +CH 1801 Le Mont-Pèlerin Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Chardonne 5882 46.492 6.8239 1 +CH 1802 Corseaux Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Corseaux 5883 46.4523 6.817 4 +CH 1803 Chardonne Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Chardonne 5882 46.4649 6.8109 4 +CH 1804 Corsier-sur-Vevey Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Corsier-sur-Vevey 5884 46.4767 6.8505 4 +CH 1805 Jongny Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Jongny 5885 46.4877 6.8464 4 +CH 1806 St-Légier-La Chiésaz Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Blonay-Saint-Légier 5892 46.4899 6.8982 4 +CH 1807 Blonay Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Blonay-Saint-Légier 5892 46.4778 6.922 4 +CH 1808 Les Monts-de-Corsier Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Corsier-sur-Vevey 5884 46.5016 6.8776 4 +CH 1809 Fenil-sur-Corsier Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Corsier-sur-Vevey 5884 46.4851 6.8675 4 +CH 1811 Vevey Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Vevey 5890 46.4642 6.8481 +CH 1811 Vevey Services spéciaux Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Vevey 5890 46.4642 6.8481 +CH 1814 La Tour-de-Peilz Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 La Tour-de-Peilz 5889 46.4405 6.859 4 +CH 1815 Clarens Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Montreux 5886 46.4315 6.8825 4 +CH 1816 Chailly-Montreux Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Montreux 5886 46.4528 6.8921 4 +CH 1817 Brent Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Montreux 5886 46.4547 6.9035 4 +CH 1818 Montreux Redoute Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Montreux 5886 46.4518 6.9408 +CH 1818 Montreux La Redoute Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Montreux 5886 46.4518 6.9408 +CH 1820 Montreux 2 Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Montreux 5886 46.4518 6.9408 +CH 1820 Territet Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Montreux 5886 46.4243 6.9205 4 +CH 1820 Veytaux Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Veytaux 5891 46.4231 6.9485 4 +CH 1820 Montreux Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Montreux 5886 46.4268 6.9026 4 +CH 1820 Montreux 1 Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Montreux 5886 46.4518 6.9408 +CH 1822 Chernex Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Montreux 5886 46.4425 6.9163 4 +CH 1823 Glion Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Montreux 5886 46.4375 6.9367 4 +CH 1824 Caux Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Montreux 5886 46.4425 6.9648 4 +CH 1832 Chamby Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Montreux 5886 46.4524 6.9192 4 +CH 1832 Villard-sur-Chamby Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Montreux 5886 46.4664 6.9311 4 +CH 1833 Les Avants Canton de Vaud VD Riviera-Pays-d'Enhaut District 2230 Montreux 5886 46.4648 6.9542 4 +CH 3900 Brig Canton du Valais VS Brig District 2301 Brig-Glis 6002 46.2837 7.9866 4 +CH 3900 Brigerbad Canton du Valais VS Brig District 2301 Brig-Glis 6002 46.3021 7.9255 4 +CH 3900 Gamsen Canton du Valais VS Brig District 2301 Brig-Glis 6002 46.2996 7.9443 4 +CH 3901 Rothwald Canton du Valais VS Brig District 2301 Ried-Brig 6008 46.277 8.0802 4 +CH 3902 Glis Canton du Valais VS Brig District 2301 Brig-Glis 6002 46.3087 7.9792 4 +CH 3903 Mund Canton du Valais VS Brig District 2301 Naters 6007 46.3508 7.9229 4 +CH 3903 Birgisch Canton du Valais VS Brig District 2301 Naters 6007 46.3306 7.9617 4 +CH 3904 Naters Canton du Valais VS Brig District 2301 Naters 6007 46.3367 7.9852 4 +CH 3907 Simplon Dorf Canton du Valais VS Brig District 2301 Simplon 6009 46.2007 8.0368 4 +CH 3907 Gabi (Simplon) Canton du Valais VS Brig District 2301 Simplon 6009 46.1838 8.0786 4 +CH 3907 Gondo Canton du Valais VS Brig District 2301 Zwischbergen 6011 46.163 8.0992 4 +CH 3911 Ried-Brig Canton du Valais VS Brig District 2301 Ried-Brig 6008 46.302 8.039 4 +CH 3912 Termen Canton du Valais VS Brig District 2301 Termen 6010 46.33 8.0431 4 +CH 3913 Rosswald Canton du Valais VS Brig District 2301 Termen 6010 46.3128 8.0752 4 +CH 3914 Blatten b. Naters Canton du Valais VS Brig District 2301 Naters 6007 46.364 7.9762 3 +CH 3914 Belalp Canton du Valais VS Brig District 2301 Naters 6007 46.4208 7.9835 4 +CH 3939 Eggerberg Canton du Valais VS Brig District 2301 Eggerberg 6004 46.3159 7.8888 4 +CH 1911 Mayens-de-Chamoson Canton du Valais VS Conthey District 2302 Chamoson 6022 46.2034 7.1843 4 +CH 1955 Mayens-de-Chamoson Canton du Valais VS Conthey District 2302 Chamoson 6022 46.2232 7.1659 4 +CH 1955 Némiaz (Chamoson) Canton du Valais VS Conthey District 2302 Chamoson 6022 46.2141 7.226 4 +CH 1955 Les Vérines (Chamoson) Canton du Valais VS Conthey District 2302 Chamoson 6022 46.2235 7.202 4 +CH 1955 Grugnay (Chamoson) Canton du Valais VS Conthey District 2302 Chamoson 6022 46.2083 7.2148 4 +CH 1955 Chamoson Canton du Valais VS Conthey District 2302 Chamoson 6022 46.2016 7.2204 4 +CH 1955 St-Pierre-de-Clages Canton du Valais VS Conthey District 2302 Chamoson 6022 46.1898 7.2408 4 +CH 1957 Ardon Canton du Valais VS Conthey District 2302 Ardon 6021 46.23 7.2379 4 +CH 1963 Vétroz Canton du Valais VS Conthey District 2302 Vétroz 6025 46.2163 7.2806 4 +CH 1964 Conthey Canton du Valais VS Conthey District 2302 Conthey 6023 46.2214 7.303 4 +CH 1975 St-Séverin Canton du Valais VS Conthey District 2302 Conthey 6023 46.2393 7.304 4 +CH 1976 Aven Canton du Valais VS Conthey District 2302 Conthey 6023 46.2745 7.2252 4 +CH 1976 Daillon Canton du Valais VS Conthey District 2302 Conthey 6023 46.2562 7.3096 4 +CH 1976 Erde Canton du Valais VS Conthey District 2302 Conthey 6023 46.275 7.2929 4 +CH 1993 Clèbes (Nendaz) Canton du Valais VS Conthey District 2302 Nendaz 6024 46.1838 7.3486 4 +CH 1994 Aproz (Nendaz) Canton du Valais VS Conthey District 2302 Nendaz 6024 46.2038 7.307 4 +CH 1996 Condémines (Nendaz) Canton du Valais VS Conthey District 2302 Nendaz 6024 46.1772 7.2597 4 +CH 1996 Beuson (Nendaz) Canton du Valais VS Conthey District 2302 Nendaz 6024 46.1743 7.3335 4 +CH 1996 Baar (Nendaz) Canton du Valais VS Conthey District 2302 Nendaz 6024 46.2047 7.3289 4 +CH 1996 Bieudron (Nendaz) Canton du Valais VS Conthey District 2302 Nendaz 6024 46.1924 7.2715 4 +CH 1996 Brignon (Nendaz) Canton du Valais VS Conthey District 2302 Nendaz 6024 46.1949 7.3264 4 +CH 1996 Saclentse Canton du Valais VS Conthey District 2302 Nendaz 6024 46.1735 7.3176 4 +CH 1996 Fey (Nendaz) Canton du Valais VS Conthey District 2302 Nendaz 6024 46.1874 7.2737 4 +CH 1996 Basse-Nendaz Canton du Valais VS Conthey District 2302 Nendaz 6024 46.1929 7.3105 4 +CH 1997 Haute-Nendaz Canton du Valais VS Conthey District 2302 Nendaz 6024 46.1661 7.295 4 +CH 1997 Sornard (Nendaz) Canton du Valais VS Conthey District 2302 Nendaz 6024 46.1882 7.3033 4 +CH 1997 Siviez (Nendaz) Canton du Valais VS Conthey District 2302 Nendaz 6024 46.1148 7.3268 4 +CH 1927 Chemin Canton du Valais VS Entremont District 2303 Val de Bagnes 6037 46.0896 7.0936 4 +CH 1933 La Garde (Sembrancher) Canton du Valais VS Entremont District 2303 Sembrancher 6035 46.0663 7.1451 4 +CH 1933 Vens (Sembrancher) Canton du Valais VS Entremont District 2303 Val de Bagnes 6037 46.0859 7.1302 3 +CH 1933 Sembrancher Canton du Valais VS Entremont District 2303 Sembrancher 6035 46.0701 7.1452 4 +CH 1933 Chamoille (Sembrancher) Canton du Valais VS Entremont District 2303 Sembrancher 6035 46.0611 7.157 4 +CH 1934 Le Châble VS Canton du Valais VS Entremont District 2303 Val de Bagnes 6037 46.082 7.209 3 +CH 1934 Bruson Canton du Valais VS Entremont District 2303 Val de Bagnes 6037 46.0506 7.2066 4 +CH 1936 Verbier Canton du Valais VS Entremont District 2303 Val de Bagnes 6037 46.1008 7.2297 4 +CH 1937 Orsières Canton du Valais VS Entremont District 2303 Orsières 6034 46.0286 7.1481 4 +CH 1938 Champex-Lac Canton du Valais VS Entremont District 2303 Orsières 6034 46.0296 7.0887 1 +CH 1941 Vollèges Canton du Valais VS Entremont District 2303 Val de Bagnes 6037 46.0847 7.162 4 +CH 1941 Cries (Vollèges) Canton du Valais VS Entremont District 2303 Val de Bagnes 6037 46.0928 7.1739 4 +CH 1942 Levron Canton du Valais VS Entremont District 2303 Val de Bagnes 6037 46.1032 7.1618 4 +CH 1943 Praz-de-Fort Canton du Valais VS Entremont District 2303 Orsières 6034 45.9832 7.0799 4 +CH 1944 La Fouly VS Canton du Valais VS Entremont District 2303 Orsières 6034 45.9227 7.098 4 +CH 1945 Chez Petit (Liddes) Canton du Valais VS Entremont District 2303 Liddes 6033 45.9503 7.1531 4 +CH 1945 Vichères (Liddes) Canton du Valais VS Entremont District 2303 Liddes 6033 45.9995 7.1643 4 +CH 1945 Palasuit (Liddes) Canton du Valais VS Entremont District 2303 Liddes 6033 45.9711 7.188 4 +CH 1945 Dranse (Liddes) Canton du Valais VS Entremont District 2303 Liddes 6033 45.9863 7.1824 4 +CH 1945 Chandonne (Liddes) Canton du Valais VS Entremont District 2303 Liddes 6033 46.0104 7.1863 4 +CH 1945 Rive Haute (Liddes) Canton du Valais VS Entremont District 2303 Liddes 6033 46.0061 7.1712 4 +CH 1945 Fontaine Dessus (Liddes) Canton du Valais VS Entremont District 2303 Liddes 6033 46.0088 7.1715 4 +CH 1945 Petit Vichères (Liddes) Canton du Valais VS Entremont District 2303 Liddes 6033 45.9877 7.1557 3 +CH 1945 Liddes Canton du Valais VS Entremont District 2303 Liddes 6033 45.9858 7.2254 4 +CH 1945 Fontaine Dessous (Liddes) Canton du Valais VS Entremont District 2303 Liddes 6033 46.013 7.1657 3 +CH 1945 Les Moulins VS (Liddes) Canton du Valais VS Entremont District 2303 Liddes 6033 46.0048 7.168 4 +CH 1945 Fornex (Liddes) Canton du Valais VS Entremont District 2303 Liddes 6033 46.0094 7.1605 4 +CH 1946 Bourg-St-Pierre Canton du Valais VS Entremont District 2303 Bourg-Saint-Pierre 6032 45.9196 7.2128 4 +CH 1947 Versegères Canton du Valais VS Entremont District 2303 Val de Bagnes 6037 46.0646 7.2324 4 +CH 1947 Champsec Canton du Valais VS Entremont District 2303 Val de Bagnes 6037 46.0342 7.2296 4 +CH 1948 Fionnay Canton du Valais VS Entremont District 2303 Val de Bagnes 6037 45.9742 7.3593 4 +CH 1948 Lourtier Canton du Valais VS Entremont District 2303 Val de Bagnes 6037 46.0299 7.265 4 +CH 1948 Sarreyer Canton du Valais VS Entremont District 2303 Val de Bagnes 6037 46.0766 7.2728 4 +CH 3801 Jungfraujoch Canton du Valais VS Goms District 2304 Fieschertal 6058 46.5465 7.9827 4 +CH 3984 Fiesch Canton du Valais VS Goms District 2304 Bellwald 6052 46.4158 8.1147 4 +CH 3984 Fieschertal Canton du Valais VS Goms District 2304 Fieschertal 6058 46.5008 8.0654 4 +CH 3984 Fiesch Canton du Valais VS Goms District 2304 Fiesch 6057 46.4158 8.1147 4 +CH 3985 Münster VS Canton du Valais VS Goms District 2304 Goms 6077 46.4901 8.2589 4 +CH 3985 Geschinen Canton du Valais VS Goms District 2304 Goms 6077 46.4949 8.2996 4 +CH 3988 Obergesteln Canton du Valais VS Goms District 2304 Obergoms 6076 46.5278 8.3167 4 +CH 3988 Ulrichen Canton du Valais VS Goms District 2304 Obergoms 6076 46.4814 8.3385 4 +CH 3989 Selkingen Canton du Valais VS Goms District 2304 Goms 6077 46.4703 8.1845 4 +CH 3989 Ritzingen Canton du Valais VS Goms District 2304 Goms 6077 46.451 8.2346 4 +CH 3989 Blitzingen Canton du Valais VS Goms District 2304 Goms 6077 46.4434 8.2002 4 +CH 3989 Niederwald Canton du Valais VS Goms District 2304 Goms 6077 46.4274 8.1989 4 +CH 3989 Biel VS Canton du Valais VS Goms District 2304 Goms 6077 46.4651 8.2073 4 +CH 3989 Grafschaft Canton du Valais VS Goms District 2304 Goms 6077 46.4707 8.2475 +CH 3994 Lax Canton du Valais VS Goms District 2304 Lax 6061 46.3934 8.1107 4 +CH 3995 Steinhaus Canton du Valais VS Goms District 2304 Ernen 6056 46.4187 8.1879 4 +CH 3995 Steinhaus Canton du Valais VS Goms District 2304 Ernen 6056 46.4187 8.1879 4 +CH 3995 Mühlebach (Goms) Canton du Valais VS Goms District 2304 Ernen 6056 46.4083 8.1721 4 +CH 3995 Ernen Canton du Valais VS Goms District 2304 Ernen 6056 46.399 8.1922 4 +CH 3995 Mühlebach (Goms) Canton du Valais VS Goms District 2304 Ernen 6056 46.4083 8.1721 4 +CH 3995 Ausserbinn Canton du Valais VS Goms District 2304 Ernen 6056 46.3811 8.1625 4 +CH 3996 Binn Canton du Valais VS Goms District 2304 Binn 6054 46.3682 8.2356 4 +CH 3997 Bellwald Canton du Valais VS Goms District 2304 Bellwald 6052 46.4443 8.157 4 +CH 3998 Reckingen VS Canton du Valais VS Goms District 2304 Goms 6077 46.4536 8.2619 4 +CH 3998 Gluringen Canton du Valais VS Goms District 2304 Goms 6077 46.4769 8.2175 4 +CH 3999 Oberwald Canton du Valais VS Goms District 2304 Obergoms 6076 46.5576 8.3936 4 +CH 1961 Vernamiège Canton du Valais VS Hérens District 2305 Mont-Noble 6090 46.2105 7.4358 4 +CH 1966 Saxonne (Ayent) Canton du Valais VS Hérens District 2305 Ayent 6082 46.2823 7.4023 4 +CH 1966 Botyre (Ayent) Canton du Valais VS Hérens District 2305 Ayent 6082 46.2765 7.4068 4 +CH 1966 Luc (Ayent) Canton du Valais VS Hérens District 2305 Ayent 6082 46.2849 7.4237 4 +CH 1966 Villa (Ayent) Canton du Valais VS Hérens District 2305 Ayent 6082 46.2759 7.4167 4 +CH 1966 Argnou (Ayent) Canton du Valais VS Hérens District 2305 Ayent 6082 46.2641 7.4008 4 +CH 1966 La Place (Ayent) Canton du Valais VS Hérens District 2305 Ayent 6082 46.2737 7.4114 3 +CH 1966 Fortunau (Ayent) Canton du Valais VS Hérens District 2305 Ayent 6082 46.3097 7.4295 4 +CH 1966 Blignou (Ayent) Canton du Valais VS Hérens District 2305 Ayent 6082 46.2707 7.3974 4 +CH 1966 Ayent Canton du Valais VS Hérens District 2305 Ayent 6082 46.2825 7.4103 6 +CH 1966 Signèse (Ayent) Canton du Valais VS Hérens District 2305 Ayent 6082 46.2628 7.4087 3 +CH 1966 St-Romain (Ayent) Canton du Valais VS Hérens District 2305 Ayent 6082 46.2835 7.4114 4 +CH 1968 Mase Canton du Valais VS Hérens District 2305 Mont-Noble 6090 46.1954 7.4607 4 +CH 1969 Eison (St-Martin) Canton du Valais VS Hérens District 2305 Saint-Martin (VS) 6087 46.154 7.4881 3 +CH 1969 Liez (St-Martin) Canton du Valais VS Hérens District 2305 Saint-Martin (VS) 6087 46.1614 7.4518 4 +CH 1969 St-Martin VS Canton du Valais VS Hérens District 2305 Saint-Martin (VS) 6087 46.1711 7.4426 4 +CH 1969 Trogne (St-Martin) Canton du Valais VS Hérens District 2305 Saint-Martin (VS) 6087 46.1749 7.4699 3 +CH 1969 Suen (St-Martin) Canton du Valais VS Hérens District 2305 Saint-Martin (VS) 6087 46.1829 7.4387 3 +CH 1972 Anzère Canton du Valais VS Hérens District 2305 Ayent 6082 46.3424 7.4064 4 +CH 1973 Nax Canton du Valais VS Hérens District 2305 Mont-Noble 6090 46.2068 7.4783 4 +CH 1981 Vex Canton du Valais VS Hérens District 2305 Vex 6089 46.2087 7.401 4 +CH 1982 Euseigne Canton du Valais VS Hérens District 2305 Hérémence 6084 46.1522 7.4305 4 +CH 1983 Evolène Canton du Valais VS Hérens District 2305 Evolène 6083 46.1285 7.4895 4 +CH 1983 Lanna Canton du Valais VS Hérens District 2305 Evolène 6083 46.1118 7.4563 4 +CH 1984 La Tour VS Canton du Valais VS Hérens District 2305 Evolène 6083 46.0989 7.5045 4 +CH 1984 Les Haudères Canton du Valais VS Hérens District 2305 Evolène 6083 46.0778 7.4799 4 +CH 1985 La Forclaz VS Canton du Valais VS Hérens District 2305 Evolène 6083 46.0428 7.561 4 +CH 1985 Villa (Evolène) Canton du Valais VS Hérens District 2305 Evolène 6083 46.117 7.5236 4 +CH 1985 La Sage Canton du Valais VS Hérens District 2305 Evolène 6083 46.0987 7.517 4 +CH 1986 Arolla Canton du Valais VS Hérens District 2305 Evolène 6083 46.0119 7.4863 4 +CH 1987 Hérémence Canton du Valais VS Hérens District 2305 Hérémence 6084 46.0843 7.3948 4 +CH 1988 Thyon Canton du Valais VS Hérens District 2305 Vex 6089 46.1734 7.3736 4 +CH 1988 Les Collons Canton du Valais VS Hérens District 2305 Vex 6089 46.1849 7.3843 4 +CH 3945 Niedergampel Canton du Valais VS Leuk District 2306 Gampel-Bratsch 6118 46.3122 7.6943 4 +CH 3945 Gampel Canton du Valais VS Leuk District 2306 Gampel-Bratsch 6118 46.3398 7.7338 4 +CH 3946 Turtmann Canton du Valais VS Leuk District 2306 Turtmann-Unterems 6119 46.303 7.7088 4 +CH 3946 Gruben Canton du Valais VS Leuk District 2306 Turtmann-Unterems 6119 46.1842 7.7051 4 +CH 3947 Ergisch Canton du Valais VS Leuk District 2306 Ergisch 6104 46.2726 7.726 4 +CH 3948 Unterems Canton du Valais VS Leuk District 2306 Turtmann-Unterems 6119 46.2887 7.6898 4 +CH 3948 Oberems Canton du Valais VS Leuk District 2306 Oberems 6112 46.2583 7.6866 4 +CH 3951 Agarn Canton du Valais VS Leuk District 2306 Agarn 6101 46.2845 7.6673 4 +CH 3952 Susten Canton du Valais VS Leuk District 2306 Leuk 6110 46.284 7.6307 4 +CH 3953 Inden Canton du Valais VS Leuk District 2306 Inden 6109 46.36 7.5982 4 +CH 3953 Leuk Stadt Canton du Valais VS Leuk District 2306 Leuk 6110 46.3222 7.6485 4 +CH 3953 Varen Canton du Valais VS Leuk District 2306 Varen 6116 46.338 7.5927 4 +CH 3954 Leukerbad Canton du Valais VS Leuk District 2306 Leukerbad 6111 46.4021 7.6277 4 +CH 3955 Albinen Canton du Valais VS Leuk District 2306 Albinen 6102 46.354 7.6447 4 +CH 3956 Guttet-Feschel Canton du Valais VS Leuk District 2306 Guttet-Feschel 6117 46.3491 7.6766 4 +CH 3957 Bratsch Canton du Valais VS Leuk District 2306 Gampel-Bratsch 6118 46.3242 7.7122 4 +CH 3957 Erschmatt Canton du Valais VS Leuk District 2306 Leuk 6110 46.3461 7.6964 4 +CH 3970 Salgesch Canton du Valais VS Leuk District 2306 Salgesch 6113 46.3114 7.5753 4 +CH 1906 Charrat Canton du Valais VS Martigny District 2307 Martigny 6136 46.1214 7.1361 4 +CH 1907 Saxon Canton du Valais VS Martigny District 2307 Saxon 6141 46.1362 7.1844 4 +CH 1908 Riddes Canton du Valais VS Martigny District 2307 Riddes 6139 46.1688 7.2201 4 +CH 1911 Ovronnaz Canton du Valais VS Martigny District 2307 Leytron 6135 46.2018 7.1364 4 +CH 1912 Produit (Leytron) Canton du Valais VS Martigny District 2307 Leytron 6135 46.1854 7.191 4 +CH 1912 Dugny (Leytron) Canton du Valais VS Martigny District 2307 Leytron 6135 46.191 7.1806 3 +CH 1912 Leytron Canton du Valais VS Martigny District 2307 Leytron 6135 46.1868 7.2104 4 +CH 1912 Montagnon (Leytron) Canton du Valais VS Martigny District 2307 Leytron 6135 46.1914 7.1918 4 +CH 1913 Saillon Canton du Valais VS Martigny District 2307 Saillon 6140 46.1705 7.1777 4 +CH 1913 Saillon Canton du Valais VS Martigny District 2307 Saillon 6140 46.1705 7.1777 4 +CH 1914 Auddes-sur-Riddes Canton du Valais VS Martigny District 2307 Riddes 6139 46.1536 7.2413 3 +CH 1914 Isérables Canton du Valais VS Martigny District 2307 Isérables 6134 46.1468 7.2688 4 +CH 1918 La Tzoumaz Canton du Valais VS Martigny District 2307 Riddes 6139 46.1302 7.2461 4 +CH 1919 Martigny Groupe Mutuel Canton du Valais VS Martigny District 2307 Martigny 6136 46.1072 7.081 +CH 1919 Martigny Mutuel Canton du Valais VS Martigny District 2307 Martigny 6136 46.1072 7.081 +CH 1920 Martigny Canton du Valais VS Martigny District 2307 Martigny 6136 46.1095 7.0745 4 +CH 1920 Martigny 1 Canton du Valais VS Martigny District 2307 Martigny 6136 46.1072 7.081 +CH 1921 Martigny-Croix Canton du Valais VS Martigny District 2307 Martigny-Combe 6137 46.0657 7.0319 4 +CH 1926 Fully Canton du Valais VS Martigny District 2307 Fully 6133 46.1575 7.1119 4 +CH 1928 Ravoire Canton du Valais VS Martigny District 2307 Martigny-Combe 6137 46.0994 7.043 4 +CH 1929 Trient Canton du Valais VS Martigny District 2307 Trient 6142 46.03 6.9995 4 +CH 1932 Bovernier Canton du Valais VS Martigny District 2307 Bovernier 6131 46.0622 7.0821 4 +CH 1932 Les Valettes (Bovernier) Canton du Valais VS Martigny District 2307 Bovernier 6131 46.0747 7.0724 4 +CH 1868 Collombey Canton du Valais VS Monthey District 2308 Collombey-Muraz 6152 46.2722 6.9428 4 +CH 1870 Monthey 2 Canton du Valais VS Monthey District 2308 Monthey 6153 46.2436 6.9545 +CH 1870 Monthey Canton du Valais VS Monthey District 2308 Monthey 6153 46.2388 6.8972 4 +CH 1870 Monthey Canton du Valais VS Monthey District 2308 Monthey 6153 46.2388 6.8972 4 +CH 1870 Monthey 1 Canton du Valais VS Monthey District 2308 Monthey 6153 46.2436 6.9545 +CH 1871 Les Giettes Canton du Valais VS Monthey District 2308 Monthey 6153 46.2224 6.9524 4 +CH 1871 Choëx Canton du Valais VS Monthey District 2308 Monthey 6153 46.2396 6.9522 4 +CH 1872 Troistorrents Canton du Valais VS Monthey District 2308 Troistorrents 6156 46.2291 6.9084 4 +CH 1873 Val-d'Illiez Canton du Valais VS Monthey District 2308 Val-d'Illiez 6157 46.1902 6.9063 4 +CH 1873 Les Crosets Canton du Valais VS Monthey District 2308 Val-d'Illiez 6157 46.1885 6.8335 4 +CH 1873 Champoussin Canton du Valais VS Monthey District 2308 Val-d'Illiez 6157 46.207 6.8606 4 +CH 1874 Champéry Canton du Valais VS Monthey District 2308 Champéry 6151 46.1588 6.846 4 +CH 1875 Morgins Canton du Valais VS Monthey District 2308 Troistorrents 6156 46.2364 6.8644 4 +CH 1893 Muraz (Collombey) Canton du Valais VS Monthey District 2308 Collombey-Muraz 6152 46.2826 6.9017 1 +CH 1895 Vionnaz Canton du Valais VS Monthey District 2308 Vionnaz 6158 46.309 6.899 4 +CH 1896 Vouvry Canton du Valais VS Monthey District 2308 Vouvry 6159 46.3329 6.9024 4 +CH 1896 Miex Canton du Valais VS Monthey District 2308 Vouvry 6159 46.3373 6.8319 4 +CH 1897 Les Evouettes Canton du Valais VS Monthey District 2308 Port-Valais 6154 46.3615 6.8597 4 +CH 1897 Bouveret Canton du Valais VS Monthey District 2308 Port-Valais 6154 46.3791 6.856 4 +CH 1898 St-Gingolph Canton du Valais VS Monthey District 2308 Saint-Gingolph 6155 46.3823 6.817 4 +CH 1899 Torgon Canton du Valais VS Monthey District 2308 Vionnaz 6158 46.3084 6.8596 4 +CH 3916 Ferden Canton du Valais VS Raron District 2309 Ferden 6195 46.3882 7.7341 4 +CH 3917 Goppenstein Canton du Valais VS Raron District 2309 Ferden 6195 46.3657 7.7557 4 +CH 3917 Kippel Canton du Valais VS Raron District 2309 Kippel 6197 46.3963 7.7682 4 +CH 3918 Wiler (Lötschen) Canton du Valais VS Raron District 2309 Wiler (Lötschen) 6202 46.4074 7.787 4 +CH 3919 Blatten (Lötschen) Canton du Valais VS Raron District 2309 Blatten 6192 46.4447 7.8646 4 +CH 3935 Bürchen Canton du Valais VS Raron District 2309 Bürchen 6193 46.2693 7.8183 4 +CH 3938 Ausserberg Canton du Valais VS Raron District 2309 Ausserberg 6191 46.3276 7.8554 4 +CH 3940 Steg VS Canton du Valais VS Raron District 2309 Steg-Hohtenn 6204 46.3381 7.7637 4 +CH 3942 Niedergesteln Canton du Valais VS Raron District 2309 Niedergesteln 6198 46.3488 7.8147 4 +CH 3942 St. German Canton du Valais VS Raron District 2309 Raron 6199 46.3146 7.822 4 +CH 3942 Raron Canton du Valais VS Raron District 2309 Raron 6199 46.3029 7.815 4 +CH 3943 Eischoll Canton du Valais VS Raron District 2309 Eischoll 6194 46.2828 7.7611 4 +CH 3944 Unterbäch VS Canton du Valais VS Raron District 2309 Unterbäch 6201 46.2534 7.7774 4 +CH 3949 Hohtenn Canton du Valais VS Raron District 2309 Steg-Hohtenn 6204 46.3314 7.7701 4 +CH 3982 Bitsch Canton du Valais VS Raron District 2309 Bitsch 6173 46.3421 8.0131 4 +CH 3983 Filet Canton du Valais VS Raron District 2309 Mörel-Filet 6203 46.3475 8.0592 4 +CH 3983 Mörel Canton du Valais VS Raron District 2309 Mörel-Filet 6203 46.3549 8.0405 4 +CH 3983 Bister Canton du Valais VS Raron District 2309 Bister 6172 46.3496 8.0787 4 +CH 3983 Greich Canton du Valais VS Raron District 2309 Riederalp 6181 46.3669 8.0394 4 +CH 3983 Goppisberg Canton du Valais VS Raron District 2309 Riederalp 6181 46.372 8.049 4 +CH 3986 Ried-Mörel Canton du Valais VS Raron District 2309 Riederalp 6181 46.3571 8.0278 4 +CH 3987 Riederalp Canton du Valais VS Raron District 2309 Riederalp 6181 46.3818 8.0282 4 +CH 3991 Betten Canton du Valais VS Raron District 2309 Bettmeralp 6205 46.38 8.0725 4 +CH 3992 Bettmeralp Canton du Valais VS Raron District 2309 Bettmeralp 6205 46.4316 8.0564 4 +CH 3993 Grengiols Canton du Valais VS Raron District 2309 Grengiols 6177 46.3402 8.137 4 +CH 3994 Martisberg Canton du Valais VS Raron District 2309 Bettmeralp 6205 46.3914 8.0961 4 +CH 1869 Massongex Canton du Valais VS Saint-Maurice District 2310 Massongex 6215 46.2363 6.9846 4 +CH 1890 St-Maurice Canton du Valais VS Saint-Maurice District 2310 Saint-Maurice 6217 46.1988 7.0103 4 +CH 1890 Mex VS Canton du Valais VS Saint-Maurice District 2310 Saint-Maurice 6217 46.1825 6.981 4 +CH 1891 Vérossaz Canton du Valais VS Saint-Maurice District 2310 Vérossaz 6220 46.2011 6.9685 4 +CH 1902 Evionnaz Canton du Valais VS Saint-Maurice District 2310 Evionnaz 6213 46.1483 6.9486 4 +CH 1903 Collonges Canton du Valais VS Saint-Maurice District 2310 Collonges 6211 46.1804 7.0559 4 +CH 1904 Vernayaz Canton du Valais VS Saint-Maurice District 2310 Vernayaz 6219 46.1412 7.0329 4 +CH 1905 Dorénaz Canton du Valais VS Saint-Maurice District 2310 Dorénaz 6212 46.1517 7.0617 4 +CH 1922 Les Granges (Salvan) Canton du Valais VS Saint-Maurice District 2310 Salvan 6218 46.1272 7.0201 4 +CH 1922 Salvan Canton du Valais VS Saint-Maurice District 2310 Salvan 6218 46.1354 7.0074 4 +CH 1923 Les Marécottes Canton du Valais VS Saint-Maurice District 2310 Salvan 6218 46.1046 6.9434 4 +CH 1923 Le Trétien Canton du Valais VS Saint-Maurice District 2310 Salvan 6218 46.0986 6.9921 4 +CH 1925 Le Châtelard VS Canton du Valais VS Saint-Maurice District 2310 Finhaut 6214 46.0594 6.9563 4 +CH 1925 Finhaut Canton du Valais VS Saint-Maurice District 2310 Finhaut 6214 46.0699 6.9308 4 +CH 1958 St-Léonard Canton du Valais VS Sierre District 2311 Saint-Léonard 6246 46.2565 7.4271 4 +CH 1977 Icogne Canton du Valais VS Sierre District 2311 Icogne 6239 46.3418 7.456 4 +CH 1978 Lens Canton du Valais VS Sierre District 2311 Lens 6240 46.2811 7.449 4 +CH 3960 Loc Canton du Valais VS Sierre District 2311 Crans-Montana 6253 46.2935 7.5096 4 +CH 3960 Niouc Canton du Valais VS Sierre District 2311 Anniviers 6252 46.2689 7.5605 4 +CH 3960 Sierre Canton du Valais VS Sierre District 2311 Sierre 6248 46.2876 7.5457 4 +CH 3960 Corin-de-la-Crête Canton du Valais VS Sierre District 2311 Crans-Montana 6253 46.2859 7.5008 3 +CH 3960 Muraz (Sierre) Canton du Valais VS Sierre District 2311 Sierre 6248 46.2973 7.5289 4 +CH 3961 St-Jean VS Canton du Valais VS Sierre District 2311 Anniviers 6252 46.2044 7.5573 4 +CH 3961 Chandolin Canton du Valais VS Sierre District 2311 Anniviers 6252 46.2563 7.5998 4 +CH 3961 Zinal Canton du Valais VS Sierre District 2311 Anniviers 6252 46.103 7.6455 4 +CH 3961 Ayer Canton du Valais VS Sierre District 2311 Anniviers 6252 46.1787 7.6153 4 +CH 3961 St-Luc Canton du Valais VS Sierre District 2311 Anniviers 6252 46.2186 7.6272 4 +CH 3961 Mission Canton du Valais VS Sierre District 2311 Anniviers 6252 46.1956 7.5966 4 +CH 3961 Grimentz Canton du Valais VS Sierre District 2311 Anniviers 6252 46.1366 7.5647 4 +CH 3961 Vissoie Canton du Valais VS Sierre District 2311 Anniviers 6252 46.2282 7.5747 4 +CH 3963 Crans-Montana 1 Canton du Valais VS Sierre District 2311 Crans-Montana 6253 46.3355 7.5182 6 +CH 3963 Crans-Montana Canton du Valais VS Sierre District 2311 Crans-Montana 6253 46.3282 7.4858 4 +CH 3963 Montana Canton du Valais VS Sierre District 2311 Crans-Montana 6253 46.2954 7.4918 4 +CH 3963 Crans-Montana 2 Canton du Valais VS Sierre District 2311 Lens 6240 46.2947 7.458 6 +CH 3963 Aminona Canton du Valais VS Sierre District 2311 Crans-Montana 6253 46.3595 7.5375 4 +CH 3965 Chippis Canton du Valais VS Sierre District 2311 Chippis 6235 46.2771 7.5406 4 +CH 3966 Réchy Canton du Valais VS Sierre District 2311 Chalais 6232 46.2657 7.4943 4 +CH 3966 Chalais Canton du Valais VS Sierre District 2311 Chalais 6232 46.2645 7.5167 4 +CH 3967 Vercorin Canton du Valais VS Sierre District 2311 Chalais 6232 46.2431 7.5357 4 +CH 3968 Veyras Canton du Valais VS Sierre District 2311 Noble-Contrée 6254 46.3038 7.5384 4 +CH 3971 Chermignon Canton du Valais VS Sierre District 2311 Crans-Montana 6253 46.2876 7.4735 4 +CH 3971 Chermignon-d'en-Bas Canton du Valais VS Sierre District 2311 Crans-Montana 6253 46.2827 7.4822 4 +CH 3971 Ollon VS Canton du Valais VS Sierre District 2311 Crans-Montana 6253 46.2771 7.4849 4 +CH 3972 Miège Canton du Valais VS Sierre District 2311 Noble-Contrée 6254 46.3311 7.5551 4 +CH 3973 Venthône Canton du Valais VS Sierre District 2311 Noble-Contrée 6254 46.3048 7.5237 4 +CH 3974 Mollens VS Canton du Valais VS Sierre District 2311 Crans-Montana 6253 46.3164 7.5209 4 +CH 3975 Randogne Canton du Valais VS Sierre District 2311 Crans-Montana 6253 46.3105 7.5029 4 +CH 3976 Noës Canton du Valais VS Sierre District 2311 Sierre 6248 46.2777 7.5059 4 +CH 3976 Champzabé Canton du Valais VS Sierre District 2311 Crans-Montana 6253 46.2791 7.4983 4 +CH 3977 Granges VS Canton du Valais VS Sierre District 2311 Sierre 6248 46.2629 7.4653 4 +CH 3978 Flanthey Canton du Valais VS Sierre District 2311 Lens 6240 46.2704 7.4516 4 +CH 3979 Grône Canton du Valais VS Sierre District 2311 Grône 6238 46.2335 7.4865 4 +CH 1950 Sion Canton du Valais VS Sion District 2312 Sion 6266 46.2273 7.3547 4 +CH 1950 Sion 2 Canton du Valais VS Sion District 2312 Sion 6266 46.2304 7.3661 +CH 1950 Sion 4 Canton du Valais VS Sion District 2312 Sion 6266 46.2304 7.3661 +CH 1951 Sion Canton du Valais VS Sion District 2312 Sion 6266 46.2304 7.3661 +CH 1958 Uvrier Canton du Valais VS Sion District 2312 Sion 6266 46.2476 7.4087 4 +CH 1962 Pont-de-la-Morge (Sion) Canton du Valais VS Sion District 2312 Sion 6266 46.2325 7.3165 4 +CH 1965 Chandolin (Savièse) Canton du Valais VS Sion District 2312 Savièse 6265 46.2494 7.3193 4 +CH 1965 Granois (Savièse) Canton du Valais VS Sion District 2312 Savièse 6265 46.2489 7.3369 4 +CH 1965 Diolly (Savièse) Canton du Valais VS Sion District 2312 Savièse 6265 46.2531 7.3478 3 +CH 1965 Mayens-de-la-Zour (Savièse) Canton du Valais VS Sion District 2312 Savièse 6265 46.2698 7.3569 4 +CH 1965 La Muraz (Savièse) Canton du Valais VS Sion District 2312 Savièse 6265 46.2531 7.3478 3 +CH 1965 Ormône (Savièse) Canton du Valais VS Sion District 2312 Savièse 6265 46.2431 7.3469 4 +CH 1965 Drône (Savièse) Canton du Valais VS Sion District 2312 Savièse 6265 46.2612 7.3681 4 +CH 1965 Savièse Canton du Valais VS Sion District 2312 Savièse 6265 46.3105 7.3112 6 +CH 1965 Monteiller (Savièse) Canton du Valais VS Sion District 2312 Savièse 6265 46.2571 7.3565 4 +CH 1965 St-Germain (Savièse) Canton du Valais VS Sion District 2312 Savièse 6265 46.2496 7.3526 4 +CH 1965 Roumaz (Savièse) Canton du Valais VS Sion District 2312 Savièse 6265 46.2453 7.3456 4 +CH 1967 Bramois Canton du Valais VS Sion District 2312 Sion 6266 46.2352 7.4032 4 +CH 1971 Grimisuat Canton du Valais VS Sion District 2312 Grimisuat 6263 46.2588 7.3815 4 +CH 1971 Champlan (Grimisuat) Canton du Valais VS Sion District 2312 Grimisuat 6263 46.2486 7.3777 4 +CH 1974 Arbaz Canton du Valais VS Sion District 2312 Arbaz 6261 46.3002 7.3731 4 +CH 1991 Arvillard (Salins) Canton du Valais VS Sion District 2312 Sion 6266 46.2112 7.3464 4 +CH 1991 Salins Canton du Valais VS Sion District 2312 Sion 6266 46.2074 7.3535 4 +CH 1991 Turin (Salins) Canton du Valais VS Sion District 2312 Sion 6266 46.2164 7.3576 4 +CH 1991 Misériez (Salins) Canton du Valais VS Sion District 2312 Sion 6266 46.2071 7.3448 3 +CH 1991 Pravidondaz (Salins) Canton du Valais VS Sion District 2312 Sion 6266 46.2122 7.3548 4 +CH 1992 Crête-à-l'Oeil(Les Agettes) Canton du Valais VS Sion District 2312 Sion 6266 46.2131 7.373 6 +CH 1992 Les Mayens-de-Sion Canton du Valais VS Sion District 2312 Sion 6266 46.1962 7.3754 4 +CH 1992 La Vernaz (Les Agettes) Canton du Valais VS Sion District 2312 Sion 6266 46.2104 7.3733 4 +CH 1992 Crête-à-l'Oeil (Les Agettes) Canton du Valais VS Sion District 2312 Sion 6266 46.212 7.3715 4 +CH 1992 Les Agettes Canton du Valais VS Sion District 2312 Sion 6266 46.205 7.3653 4 +CH 1993 Veysonnaz Canton du Valais VS Sion District 2312 Veysonnaz 6267 46.1963 7.3424 4 +CH 3905 Saas-Almagell Canton du Valais VS Visp District 2313 Saas-Almagell 6288 46.054 7.9669 4 +CH 3906 Saas-Fee Canton du Valais VS Visp District 2313 Saas-Fee 6290 46.0894 7.8996 4 +CH 3908 Saas-Balen Canton du Valais VS Visp District 2313 Saas-Balen 6289 46.1528 7.9352 4 +CH 3910 Saas-Grund Canton du Valais VS Visp District 2313 Saas-Grund 6291 46.135 7.9724 4 +CH 3920 Zermatt Canton du Valais VS Visp District 2313 Zermatt 6300 45.9897 7.7527 4 +CH 3922 Eisten Canton du Valais VS Visp District 2313 Eisten 6282 46.1792 7.9075 4 +CH 3922 Stalden VS Canton du Valais VS Visp District 2313 Stalden (VS) 6293 46.2335 7.8771 4 +CH 3922 Kalpetran Canton du Valais VS Visp District 2313 Embd 6283 46.2139 7.8347 4 +CH 3923 Törbel Canton du Valais VS Visp District 2313 Törbel 6296 46.2421 7.836 4 +CH 3924 St. Niklaus VS Canton du Valais VS Visp District 2313 St. Niklaus 6292 46.1678 7.8092 4 +CH 3925 Grächen Canton du Valais VS Visp District 2313 Grächen 6285 46.1967 7.8489 4 +CH 3926 Embd Canton du Valais VS Visp District 2313 Embd 6283 46.2169 7.7942 4 +CH 3927 Herbriggen Canton du Valais VS Visp District 2313 St. Niklaus 6292 46.1371 7.7836 4 +CH 3928 Randa Canton du Valais VS Visp District 2313 Randa 6287 46.097 7.7793 4 +CH 3929 Täsch Canton du Valais VS Visp District 2313 Täsch 6295 46.054 7.8112 4 +CH 3930 Visp Canton du Valais VS Visp District 2313 Visp 6297 46.2912 7.867 4 +CH 3930 Eyholz Canton du Valais VS Visp District 2313 Visp 6297 46.2889 7.9152 4 +CH 3931 Lalden Canton du Valais VS Visp District 2313 Lalden 6286 46.3 7.8999 4 +CH 3932 Visperterminen Canton du Valais VS Visp District 2313 Visperterminen 6298 46.2426 7.941 4 +CH 3933 Staldenried Canton du Valais VS Visp District 2313 Staldenried 6294 46.2176 7.9101 4 +CH 3934 Zeneggen Canton du Valais VS Visp District 2313 Zeneggen 6299 46.2738 7.861 4 +CH 3937 Baltschieder Canton du Valais VS Visp District 2313 Baltschieder 6281 46.3771 7.8812 4 +CH 3937 Baltschieder Canton du Valais VS Visp District 2313 Baltschieder 6281 46.3771 7.8812 4 +CH 6300 Zug Kanton Zug ZG Zug 900 Zug 1711 47.1685 8.5035 4 +CH 6300 Zugerberg Kanton Zug ZG Zug 900 Zug 1711 47.1413 8.532 4 +CH 6301 Zug Kanton Zug ZG Zug 900 Zug 1711 47.1724 8.5174 +CH 6302 Zug Kanton Zug ZG Zug 900 Zug 1711 47.1724 8.5174 +CH 6303 Zug Kanton Zug ZG Zug 900 Zug 1711 47.1724 8.5174 +CH 6312 Steinhausen Kanton Zug ZG Zug 900 Steinhausen 1708 47.1985 8.4873 4 +CH 6313 Edlibach Kanton Zug ZG Zug 900 Menzingen 1704 47.1758 8.57 4 +CH 6313 Finstersee Kanton Zug ZG Zug 900 Menzingen 1704 47.1627 8.6359 4 +CH 6313 Menzingen Kanton Zug ZG Zug 900 Menzingen 1704 47.172 8.5988 4 +CH 6314 Unterägeri Kanton Zug ZG Zug 900 Unterägeri 1709 47.1202 8.5808 4 +CH 6314 Neuägeri Kanton Zug ZG Zug 900 Unterägeri 1709 47.1518 8.5587 4 +CH 6315 Morgarten Kanton Zug ZG Zug 900 Oberägeri 1706 47.108 8.6349 4 +CH 6315 Oberägeri Kanton Zug ZG Zug 900 Oberägeri 1706 47.1356 8.6243 4 +CH 6315 Alosen Kanton Zug ZG Zug 900 Oberägeri 1706 47.1446 8.6558 4 +CH 6317 Oberwil b. Zug Kanton Zug ZG Zug 900 Zug 1711 47.1354 8.5001 4 +CH 6318 Walchwil Kanton Zug ZG Zug 900 Walchwil 1710 47.1064 8.5303 4 +CH 6319 Allenwinden Kanton Zug ZG Zug 900 Baar 1701 47.1647 8.5498 4 +CH 6330 Cham Kanton Zug ZG Zug 900 Cham 1702 47.1945 8.4562 4 +CH 6331 Hünenberg Kanton Zug ZG Zug 900 Hünenberg 1703 47.193 8.4169 4 +CH 6332 Hagendorn Kanton Zug ZG Zug 900 Cham 1702 47.2106 8.4297 4 +CH 6333 Hünenberg See Kanton Zug ZG Zug 900 Hünenberg 1703 47.1709 8.4468 4 +CH 6340 Baar Kanton Zug ZG Zug 900 Baar 1701 47.1996 8.536 4 +CH 6340 Sihlbrugg Kanton Zug ZG Zug 900 Neuheim 1705 47.229 8.5728 4 +CH 6341 Baar Kanton Zug ZG Zug 900 Baar 1701 47.1963 8.5295 +CH 6343 Buonas Kanton Zug ZG Zug 900 Risch 1707 47.1383 8.4591 4 +CH 6343 Holzhäusern ZG Kanton Zug ZG Zug 900 Risch 1707 47.1521 8.4411 4 +CH 6343 Rotkreuz Kanton Zug ZG Zug 900 Risch 1707 47.1446 8.451 4 +CH 6343 Risch Kanton Zug ZG Zug 900 Risch 1707 47.125 8.4588 4 +CH 6345 Neuheim Kanton Zug ZG Zug 900 Neuheim 1705 47.1996 8.584 4 +CH 8143 Stallikon Kanton Zürich ZH Bezirk Affoltern 101 Stallikon 13 47.318 8.4921 4 +CH 8143 Uetliberg Kanton Zürich ZH Bezirk Affoltern 101 Stallikon 13 47.35 8.49 4 +CH 8906 Bonstetten Kanton Zürich ZH Bezirk Affoltern 101 Bonstetten 3 47.3166 8.4663 4 +CH 8907 Wettswil Kanton Zürich ZH Bezirk Affoltern 101 Wettswil am Albis 14 47.3373 8.4699 1 +CH 8908 Hedingen Kanton Zürich ZH Bezirk Affoltern 101 Hedingen 5 47.3015 8.4509 4 +CH 8909 Zwillikon Kanton Zürich ZH Bezirk Affoltern 101 Affoltern am Albis 2 47.2895 8.4311 4 +CH 8910 Affoltern am Albis Kanton Zürich ZH Bezirk Affoltern 101 Affoltern am Albis 2 47.2784 8.4582 4 +CH 8911 Rifferswil Kanton Zürich ZH Bezirk Affoltern 101 Rifferswil 12 47.245 8.499 4 +CH 8912 Obfelden Kanton Zürich ZH Bezirk Affoltern 101 Obfelden 10 47.2615 8.422 4 +CH 8913 Ottenbach Kanton Zürich ZH Bezirk Affoltern 101 Ottenbach 11 47.2815 8.4094 4 +CH 8914 Aeugstertal Kanton Zürich ZH Bezirk Affoltern 101 Aeugst am Albis 1 47.2822 8.4923 3 +CH 8914 Aeugst am Albis Kanton Zürich ZH Bezirk Affoltern 101 Aeugst am Albis 1 47.2681 8.487 4 +CH 8915 Hausen am Albis Kanton Zürich ZH Bezirk Affoltern 101 Hausen am Albis 4 47.2507 8.5289 4 +CH 8925 Ebertswil Kanton Zürich ZH Bezirk Affoltern 101 Hausen am Albis 4 47.2273 8.5562 4 +CH 8926 Hauptikon Kanton Zürich ZH Bezirk Affoltern 101 Kappel am Albis 6 47.2326 8.4935 4 +CH 8926 Uerzlikon Kanton Zürich ZH Bezirk Affoltern 101 Kappel am Albis 6 47.2186 8.499 4 +CH 8926 Kappel am Albis Kanton Zürich ZH Bezirk Affoltern 101 Kappel am Albis 6 47.2273 8.5219 4 +CH 8932 Mettmenstetten Kanton Zürich ZH Bezirk Affoltern 101 Mettmenstetten 9 47.2478 8.464 4 +CH 8933 Maschwanden Kanton Zürich ZH Bezirk Affoltern 101 Maschwanden 8 47.2348 8.4292 4 +CH 8934 Knonau Kanton Zürich ZH Bezirk Affoltern 101 Knonau 7 47.2245 8.4626 4 +CH 8212 Nohl Kanton Zürich ZH Bezirk Andelfingen 102 Laufen-Uhwiesen 34 47.6666 8.609 4 +CH 8245 Feuerthalen Kanton Zürich ZH Bezirk Andelfingen 102 Feuerthalen 27 47.688 8.6452 4 +CH 8246 Langwiesen Kanton Zürich ZH Bezirk Andelfingen 102 Feuerthalen 27 47.6825 8.6611 4 +CH 8247 Flurlingen Kanton Zürich ZH Bezirk Andelfingen 102 Flurlingen 29 47.6824 8.6367 4 +CH 8248 Uhwiesen Kanton Zürich ZH Bezirk Andelfingen 102 Laufen-Uhwiesen 34 47.6702 8.6465 4 +CH 8414 Buch am Irchel Kanton Zürich ZH Bezirk Andelfingen 102 Buch am Irchel 24 47.5481 8.6274 4 +CH 8415 Gräslikon Kanton Zürich ZH Bezirk Andelfingen 102 Berg am Irchel 23 47.5566 8.6055 4 +CH 8415 Berg am Irchel Kanton Zürich ZH Bezirk Andelfingen 102 Berg am Irchel 23 47.5648 8.5875 4 +CH 8416 Flaach Kanton Zürich ZH Bezirk Andelfingen 102 Flaach 28 47.5847 8.6052 4 +CH 8444 Henggart Kanton Zürich ZH Bezirk Andelfingen 102 Henggart 31 47.5625 8.6837 4 +CH 8447 Dachsen Kanton Zürich ZH Bezirk Andelfingen 102 Dachsen 25 47.662 8.6235 4 +CH 8450 Andelfingen Kanton Zürich ZH Bezirk Andelfingen 102 Andelfingen 30 47.5928 8.6755 4 +CH 8451 Kleinandelfingen Kanton Zürich ZH Bezirk Andelfingen 102 Kleinandelfingen 33 47.6075 8.6845 4 +CH 8452 Adlikon b. Andelfingen Kanton Zürich ZH Bezirk Andelfingen 102 Adlikon 21 47.5851 8.7071 4 +CH 8453 Alten Kanton Zürich ZH Bezirk Andelfingen 102 Kleinandelfingen 33 47.5992 8.6453 4 +CH 8457 Humlikon Kanton Zürich ZH Bezirk Andelfingen 102 Humlikon 32 47.5753 8.6753 4 +CH 8458 Dorf Kanton Zürich ZH Bezirk Andelfingen 102 Dorf 26 47.5712 8.6501 4 +CH 8459 Volken Kanton Zürich ZH Bezirk Andelfingen 102 Volken 43 47.5764 8.63 4 +CH 8460 Marthalen Kanton Zürich ZH Bezirk Andelfingen 102 Marthalen 35 47.6201 8.6424 4 +CH 8461 Oerlingen Kanton Zürich ZH Bezirk Andelfingen 102 Kleinandelfingen 33 47.6229 8.6777 4 +CH 8462 Rheinau Kanton Zürich ZH Bezirk Andelfingen 102 Rheinau 38 47.6294 8.6144 4 +CH 8463 Benken ZH Kanton Zürich ZH Bezirk Andelfingen 102 Benken (ZH) 22 47.6541 8.6539 4 +CH 8464 Ellikon am Rhein Kanton Zürich ZH Bezirk Andelfingen 102 Marthalen 35 47.6021 8.6034 4 +CH 8465 Wildensbuch Kanton Zürich ZH Bezirk Andelfingen 102 Trüllikon 40 47.6526 8.6781 4 +CH 8465 Rudolfingen Kanton Zürich ZH Bezirk Andelfingen 102 Trüllikon 40 47.6379 8.6718 4 +CH 8466 Trüllikon Kanton Zürich ZH Bezirk Andelfingen 102 Trüllikon 40 47.6368 8.6975 4 +CH 8467 Truttikon Kanton Zürich ZH Bezirk Andelfingen 102 Truttikon 41 47.633 8.73 4 +CH 8468 Waltalingen Kanton Zürich ZH Bezirk Andelfingen 102 Stammheim 292 47.6209 8.7725 4 +CH 8468 Guntalingen Kanton Zürich ZH Bezirk Andelfingen 102 Stammheim 292 47.6355 8.7603 4 +CH 8475 Ossingen Kanton Zürich ZH Bezirk Andelfingen 102 Ossingen 37 47.6126 8.7216 4 +CH 8476 Unterstammheim Kanton Zürich ZH Bezirk Andelfingen 102 Stammheim 292 47.6469 8.7895 4 +CH 8477 Oberstammheim Kanton Zürich ZH Bezirk Andelfingen 102 Stammheim 292 47.6283 8.8046 4 +CH 8478 Thalheim an der Thur Kanton Zürich ZH Bezirk Andelfingen 102 Thalheim an der Thur 39 47.5825 8.7456 4 +CH 8058 Zürich Kanton Zürich ZH Bezirk Bülach 103 Kloten 62 47.458 8.5853 +CH 8060 Zürich Kanton Zürich ZH Bezirk Bülach 103 Kloten 62 47.458 8.5853 +CH 8152 Glattbrugg Kanton Zürich ZH Bezirk Bülach 103 Opfikon 66 47.4332 8.5629 4 +CH 8152 Opfikon Kanton Zürich ZH Bezirk Bülach 103 Opfikon 66 47.4311 8.5808 4 +CH 8152 Glattpark (Opfikon) Kanton Zürich ZH Bezirk Bülach 103 Opfikon 66 47.4217 8.5633 3 +CH 8180 Bülach Kanton Zürich ZH Bezirk Bülach 103 Bülach 53 47.5274 8.5415 4 +CH 8181 Höri Kanton Zürich ZH Bezirk Bülach 103 Höri 60 47.5075 8.5025 4 +CH 8182 Hochfelden Kanton Zürich ZH Bezirk Bülach 103 Hochfelden 59 47.5279 8.5094 4 +CH 8184 Bachenbülach Kanton Zürich ZH Bezirk Bülach 103 Bachenbülach 51 47.5016 8.5451 4 +CH 8185 Winkel Kanton Zürich ZH Bezirk Bülach 103 Winkel 72 47.4849 8.5579 4 +CH 8192 Zweidlen Kanton Zürich ZH Bezirk Bülach 103 Glattfelden 58 47.5681 8.4743 3 +CH 8192 Glattfelden Kanton Zürich ZH Bezirk Bülach 103 Glattfelden 58 47.5573 8.5022 4 +CH 8193 Eglisau Kanton Zürich ZH Bezirk Bülach 103 Eglisau 55 47.5733 8.5245 4 +CH 8194 Hüntwangen Kanton Zürich ZH Bezirk Bülach 103 Hüntwangen 61 47.5919 8.4984 4 +CH 8195 Wasterkingen Kanton Zürich ZH Bezirk Bülach 103 Wasterkingen 70 47.5954 8.4716 4 +CH 8196 Wil ZH Kanton Zürich ZH Bezirk Bülach 103 Wil (ZH) 71 47.6085 8.5091 4 +CH 8197 Rafz Kanton Zürich ZH Bezirk Bülach 103 Rafz 67 47.6115 8.543 4 +CH 8302 Kloten Kanton Zürich ZH Bezirk Bülach 103 Kloten 62 47.458 8.5849 4 +CH 8303 Bassersdorf Kanton Zürich ZH Bezirk Bülach 103 Bassersdorf 52 47.4404 8.6304 4 +CH 8304 Wallisellen Kanton Zürich ZH Bezirk Bülach 103 Wallisellen 69 47.4174 8.5949 4 +CH 8305 Dietlikon Kanton Zürich ZH Bezirk Bülach 103 Dietlikon 54 47.4245 8.615 4 +CH 8309 Nürensdorf Kanton Zürich ZH Bezirk Bülach 103 Nürensdorf 64 47.4576 8.6489 4 +CH 8424 Embrach Kanton Zürich ZH Bezirk Bülach 103 Embrach 56 47.509 8.5957 4 +CH 8425 Oberembrach Kanton Zürich ZH Bezirk Bülach 103 Oberembrach 65 47.4895 8.6329 4 +CH 8426 Lufingen Kanton Zürich ZH Bezirk Bülach 103 Lufingen 63 47.4834 8.5934 4 +CH 8427 Freienstein Kanton Zürich ZH Bezirk Bülach 103 Freienstein-Teufen 57 47.534 8.595 4 +CH 8427 Rorbas Kanton Zürich ZH Bezirk Bülach 103 Rorbas 68 47.534 8.5683 4 +CH 8428 Teufen ZH Kanton Zürich ZH Bezirk Bülach 103 Freienstein-Teufen 57 47.5503 8.576 4 +CH 8105 Regensdorf Kanton Zürich ZH Bezirk Dielsdorf 104 Regensdorf 96 47.4339 8.4639 4 +CH 8105 Watt Kanton Zürich ZH Bezirk Dielsdorf 104 Regensdorf 96 47.4458 8.4847 4 +CH 8106 Adlikon b. Regensdorf Kanton Zürich ZH Bezirk Dielsdorf 104 Regensdorf 96 47.4527 8.4634 4 +CH 8107 Buchs ZH Kanton Zürich ZH Bezirk Dielsdorf 104 Buchs (ZH) 83 47.4588 8.437 4 +CH 8108 Dällikon Kanton Zürich ZH Bezirk Dielsdorf 104 Dällikon 84 47.4394 8.4324 4 +CH 8112 Otelfingen Kanton Zürich ZH Bezirk Dielsdorf 104 Otelfingen 94 47.4645 8.3897 4 +CH 8113 Boppelsen Kanton Zürich ZH Bezirk Dielsdorf 104 Boppelsen 82 47.4718 8.4069 4 +CH 8114 Dänikon ZH Kanton Zürich ZH Bezirk Dielsdorf 104 Dänikon 85 47.4447 8.4058 4 +CH 8115 Hüttikon Kanton Zürich ZH Bezirk Dielsdorf 104 Hüttikon 87 47.4418 8.3897 4 +CH 8153 Rümlang Kanton Zürich ZH Bezirk Dielsdorf 104 Rümlang 97 47.4475 8.5288 4 +CH 8154 Oberglatt ZH Kanton Zürich ZH Bezirk Dielsdorf 104 Oberglatt 92 47.4779 8.5239 4 +CH 8155 Nassenwil Kanton Zürich ZH Bezirk Dielsdorf 104 Niederhasli 90 47.4653 8.4704 4 +CH 8155 Niederhasli Kanton Zürich ZH Bezirk Dielsdorf 104 Niederhasli 90 47.478 8.4844 4 +CH 8156 Oberhasli Kanton Zürich ZH Bezirk Dielsdorf 104 Niederhasli 90 47.4607 8.4999 4 +CH 8157 Dielsdorf Kanton Zürich ZH Bezirk Dielsdorf 104 Dielsdorf 86 47.4765 8.4544 4 +CH 8158 Regensberg Kanton Zürich ZH Bezirk Dielsdorf 104 Regensberg 95 47.4782 8.4283 4 +CH 8162 Steinmaur Kanton Zürich ZH Bezirk Dielsdorf 104 Steinmaur 101 47.501 8.4483 4 +CH 8162 Sünikon Kanton Zürich ZH Bezirk Dielsdorf 104 Steinmaur 101 47.49 8.4309 4 +CH 8164 Bachs Kanton Zürich ZH Bezirk Dielsdorf 104 Bachs 81 47.5284 8.4293 4 +CH 8165 Oberweningen Kanton Zürich ZH Bezirk Dielsdorf 104 Oberweningen 93 47.504 8.4065 4 +CH 8165 Schleinikon Kanton Zürich ZH Bezirk Dielsdorf 104 Schleinikon 98 47.4982 8.3921 4 +CH 8165 Schöfflisdorf Kanton Zürich ZH Bezirk Dielsdorf 104 Schöfflisdorf 99 47.5037 8.4191 4 +CH 8166 Niederweningen Kanton Zürich ZH Bezirk Dielsdorf 104 Niederweningen 91 47.5029 8.375 4 +CH 8172 Niederglatt ZH Kanton Zürich ZH Bezirk Dielsdorf 104 Niederglatt 89 47.4932 8.5004 4 +CH 8173 Neerach Kanton Zürich ZH Bezirk Dielsdorf 104 Neerach 88 47.5094 8.4762 4 +CH 8174 Stadel b. Niederglatt Kanton Zürich ZH Bezirk Dielsdorf 104 Stadel 100 47.5293 8.4688 4 +CH 8175 Windlach Kanton Zürich ZH Bezirk Dielsdorf 104 Stadel 100 47.5459 8.4716 4 +CH 8187 Weiach Kanton Zürich ZH Bezirk Dielsdorf 104 Weiach 102 47.5561 8.4397 4 +CH 8340 Hinwil Kanton Zürich ZH Bezirk Hinwil 105 Hinwil 117 47.3033 8.8457 4 +CH 8342 Wernetshausen Kanton Zürich ZH Bezirk Hinwil 105 Hinwil 117 47.2923 8.8766 4 +CH 8344 Bäretswil Kanton Zürich ZH Bezirk Hinwil 105 Bäretswil 111 47.3389 8.8715 4 +CH 8345 Adetswil Kanton Zürich ZH Bezirk Hinwil 105 Bäretswil 111 47.3419 8.837 4 +CH 8496 Steg im Tösstal Kanton Zürich ZH Bezirk Hinwil 105 Fischenthal 114 47.3411 8.9514 4 +CH 8497 Fischenthal Kanton Zürich ZH Bezirk Hinwil 105 Fischenthal 114 47.3317 8.9255 4 +CH 8498 Gibswil Kanton Zürich ZH Bezirk Hinwil 105 Fischenthal 114 47.3218 8.9043 4 +CH 8607 Aathal-Seegräben Kanton Zürich ZH Bezirk Hinwil 105 Seegräben 119 47.3409 8.7669 4 +CH 8608 Bubikon Kanton Zürich ZH Bezirk Hinwil 105 Bubikon 112 47.2699 8.8118 4 +CH 8614 Bertschikon (Gossau ZH) Kanton Zürich ZH Bezirk Hinwil 105 Gossau (ZH) 115 47.321 8.7591 3 +CH 8620 Wetzikon ZH Kanton Zürich ZH Bezirk Hinwil 105 Wetzikon (ZH) 121 47.3226 8.8014 4 +CH 8620 Wetzikon ZH 1 Kanton Zürich ZH Bezirk Hinwil 105 Wetzikon (ZH) 121 47.3243 8.8047 +CH 8623 Wetzikon ZH Kanton Zürich ZH Bezirk Hinwil 105 Wetzikon (ZH) 121 47.3325 8.8194 4 +CH 8624 Grüt (Gossau ZH) Kanton Zürich ZH Bezirk Hinwil 105 Gossau (ZH) 115 47.3088 8.7819 4 +CH 8625 Gossau ZH Kanton Zürich ZH Bezirk Hinwil 105 Gossau (ZH) 115 47.3041 8.7531 4 +CH 8626 Ottikon (Gossau ZH) Kanton Zürich ZH Bezirk Hinwil 105 Gossau (ZH) 115 47.2912 8.789 4 +CH 8627 Grüningen Kanton Zürich ZH Bezirk Hinwil 105 Grüningen 116 47.2794 8.7619 4 +CH 8630 Rüti ZH Kanton Zürich ZH Bezirk Hinwil 105 Rüti (ZH) 118 47.2582 8.865 4 +CH 8632 Tann Kanton Zürich ZH Bezirk Hinwil 105 Dürnten 113 47.2679 8.8502 4 +CH 8633 Wolfhausen Kanton Zürich ZH Bezirk Hinwil 105 Bubikon 112 47.2566 8.7985 4 +CH 8635 Dürnten Kanton Zürich ZH Bezirk Hinwil 105 Dürnten 113 47.2771 8.8544 4 +CH 8636 Wald ZH Kanton Zürich ZH Bezirk Hinwil 105 Wald (ZH) 120 47.2888 8.9231 4 +CH 8637 Laupen ZH Kanton Zürich ZH Bezirk Hinwil 105 Wald (ZH) 120 47.2662 8.931 4 +CH 8134 Adliswil Kanton Zürich ZH Bezirk Horgen 106 Adliswil 131 47.3093 8.5213 4 +CH 8134 Adliswil 1 Kanton Zürich ZH Bezirk Horgen 106 Adliswil 131 47.3093 8.5213 +CH 8135 Sihlwald Kanton Zürich ZH Bezirk Horgen 106 Horgen 133 47.268 8.5567 4 +CH 8135 Sihlbrugg Station Kanton Zürich ZH Bezirk Horgen 106 Horgen 133 47.2419 8.575 4 +CH 8135 Langnau am Albis Kanton Zürich ZH Bezirk Horgen 106 Langnau am Albis 136 47.2707 8.5387 4 +CH 8136 Gattikon Kanton Zürich ZH Bezirk Horgen 106 Thalwil 141 47.2825 8.552 4 +CH 8800 Thalwil Kanton Zürich ZH Bezirk Horgen 106 Thalwil 141 47.2917 8.5676 4 +CH 8802 Kilchberg ZH Kanton Zürich ZH Bezirk Horgen 106 Kilchberg (ZH) 135 47.3249 8.5488 4 +CH 8803 Rüschlikon Kanton Zürich ZH Bezirk Horgen 106 Rüschlikon 139 47.3063 8.5526 4 +CH 8804 Au ZH Kanton Zürich ZH Bezirk Horgen 106 Wädenswil 293 47.2478 8.6491 4 +CH 8805 Richterswil Kanton Zürich ZH Bezirk Horgen 106 Richterswil 138 47.213 8.7063 4 +CH 8810 Horgen Kanton Zürich ZH Bezirk Horgen 106 Horgen 133 47.2524 8.608 4 +CH 8810 Horgen 1 Kanton Zürich ZH Bezirk Horgen 106 Horgen 295 47.2487 8.5848 +CH 8815 Horgenberg Kanton Zürich ZH Bezirk Horgen 106 Horgen 133 47.2499 8.5807 4 +CH 8816 Hirzel Kanton Zürich ZH Bezirk Horgen 106 Horgen 295 47.2198 8.6005 4 +CH 8820 Wädenswil Kanton Zürich ZH Bezirk Horgen 106 Wädenswil 293 47.2239 8.6596 4 +CH 8824 Schönenberg ZH Kanton Zürich ZH Bezirk Horgen 106 Wädenswil 293 47.194 8.64 4 +CH 8825 Hütten Kanton Zürich ZH Bezirk Horgen 106 Wädenswil 293 47.173 8.666 4 +CH 8833 Samstagern Kanton Zürich ZH Bezirk Horgen 106 Richterswil 138 47.1938 8.6789 4 +CH 8942 Oberrieden Kanton Zürich ZH Bezirk Horgen 106 Oberrieden 137 47.2746 8.5778 4 +CH 8125 Zollikerberg Kanton Zürich ZH Bezirk Meilen 107 Zollikon 161 47.3462 8.6087 4 +CH 8126 Zumikon Kanton Zürich ZH Bezirk Meilen 107 Zumikon 160 47.3341 8.6262 4 +CH 8127 Forch Kanton Zürich ZH Bezirk Meilen 107 Küsnacht (ZH) 154 47.3216 8.6462 4 +CH 8618 Oetwil am See Kanton Zürich ZH Bezirk Meilen 107 Oetwil am See 157 47.2739 8.7235 4 +CH 8634 Hombrechtikon Kanton Zürich ZH Bezirk Meilen 107 Hombrechtikon 153 47.2558 8.7634 4 +CH 8700 Küsnacht ZH Kanton Zürich ZH Bezirk Meilen 107 Küsnacht (ZH) 154 47.3201 8.5893 4 +CH 8702 Zollikon Dorf Kanton Zürich ZH Bezirk Meilen 107 Zollikon 161 47.3433 8.5947 +CH 8702 Zollikon Kanton Zürich ZH Bezirk Meilen 107 Zollikon 161 47.34 8.5783 4 +CH 8703 Erlenbach ZH Kanton Zürich ZH Bezirk Meilen 107 Erlenbach (ZH) 151 47.3023 8.5998 4 +CH 8704 Herrliberg Kanton Zürich ZH Bezirk Meilen 107 Herrliberg 152 47.2954 8.6254 4 +CH 8706 Meilen Kanton Zürich ZH Bezirk Meilen 107 Meilen 156 47.2765 8.6462 4 +CH 8707 Uetikon am See Kanton Zürich ZH Bezirk Meilen 107 Uetikon am See 159 47.2673 8.6792 4 +CH 8708 Männedorf Kanton Zürich ZH Bezirk Meilen 107 Männedorf 155 47.2543 8.6949 4 +CH 8712 Stäfa Kanton Zürich ZH Bezirk Meilen 107 Stäfa 158 47.2409 8.7254 4 +CH 8713 Uerikon Kanton Zürich ZH Bezirk Meilen 107 Stäfa 158 47.2263 8.7554 4 +CH 8714 Feldbach Kanton Zürich ZH Bezirk Meilen 107 Hombrechtikon 153 47.2344 8.7879 4 +CH 8307 Effretikon Kanton Zürich ZH Bezirk Pfäffikon 108 Illnau-Effretikon 296 47.4238 8.6928 4 +CH 8307 Ottikon b. Kemptthal Kanton Zürich ZH Bezirk Pfäffikon 108 Illnau-Effretikon 296 47.4374 8.7222 3 +CH 8308 Illnau Kanton Zürich ZH Bezirk Pfäffikon 108 Illnau-Effretikon 296 47.4086 8.7194 4 +CH 8308 Agasul Kanton Zürich ZH Bezirk Pfäffikon 108 Illnau-Effretikon 296 47.4198 8.7433 4 +CH 8310 Kemptthal Kanton Zürich ZH Bezirk Pfäffikon 108 Lindau 176 47.4574 8.7116 4 +CH 8310 Grafstal Kanton Zürich ZH Bezirk Pfäffikon 108 Lindau 176 47.4441 8.6983 4 +CH 8312 Winterberg ZH Kanton Zürich ZH Bezirk Pfäffikon 108 Lindau 176 47.4586 8.691 4 +CH 8314 Kyburg Kanton Zürich ZH Bezirk Pfäffikon 108 Illnau-Effretikon 296 47.4521 8.7428 4 +CH 8315 Lindau Kanton Zürich ZH Bezirk Pfäffikon 108 Lindau 176 47.4433 8.6764 4 +CH 8317 Tagelswangen Kanton Zürich ZH Bezirk Pfäffikon 108 Lindau 176 47.4273 8.6692 4 +CH 8320 Fehraltorf Kanton Zürich ZH Bezirk Pfäffikon 108 Fehraltorf 172 47.387 8.75 4 +CH 8322 Madetswil Kanton Zürich ZH Bezirk Pfäffikon 108 Russikon 178 47.4132 8.7945 4 +CH 8322 Gündisau Kanton Zürich ZH Bezirk Pfäffikon 108 Russikon 178 47.398 8.806 4 +CH 8330 Pfäffikon ZH Kanton Zürich ZH Bezirk Pfäffikon 108 Pfäffikon 177 47.3701 8.7914 4 +CH 8331 Auslikon Kanton Zürich ZH Bezirk Pfäffikon 108 Pfäffikon 177 47.3449 8.8079 4 +CH 8332 Rumlikon Kanton Zürich ZH Bezirk Pfäffikon 108 Russikon 178 47.408 8.7612 4 +CH 8332 Russikon Kanton Zürich ZH Bezirk Pfäffikon 108 Russikon 178 47.3954 8.7806 4 +CH 8335 Hittnau Kanton Zürich ZH Bezirk Pfäffikon 108 Hittnau 173 47.3663 8.8292 4 +CH 8484 Neschwil Kanton Zürich ZH Bezirk Pfäffikon 108 Weisslingen 180 47.428 8.7932 4 +CH 8484 Weisslingen Kanton Zürich ZH Bezirk Pfäffikon 108 Weisslingen 180 47.4338 8.7704 4 +CH 8484 Theilingen Kanton Zürich ZH Bezirk Pfäffikon 108 Weisslingen 180 47.417 8.767 4 +CH 8489 Wildberg Kanton Zürich ZH Bezirk Pfäffikon 108 Wildberg 182 47.4279 8.8229 4 +CH 8489 Schalchen Kanton Zürich ZH Bezirk Pfäffikon 108 Wildberg 182 47.4052 8.8331 4 +CH 8489 Ehrikon Kanton Zürich ZH Bezirk Pfäffikon 108 Wildberg 182 47.4163 8.8115 4 +CH 8492 Wila Kanton Zürich ZH Bezirk Pfäffikon 108 Wila 181 47.4098 8.8653 4 +CH 8493 Saland Kanton Zürich ZH Bezirk Pfäffikon 108 Bauma 297 47.3874 8.8601 4 +CH 8494 Bauma Kanton Zürich ZH Bezirk Pfäffikon 108 Bauma 297 47.368 8.8916 4 +CH 8499 Sternenberg Kanton Zürich ZH Bezirk Pfäffikon 108 Bauma 297 47.3888 8.914 4 +CH 8044 Gockhausen Kanton Zürich ZH Bezirk Uster 109 Dübendorf 191 47.3776 8.6049 4 +CH 8117 Fällanden Kanton Zürich ZH Bezirk Uster 109 Fällanden 193 47.3709 8.6421 4 +CH 8118 Pfaffhausen Kanton Zürich ZH Bezirk Uster 109 Fällanden 193 47.3658 8.6247 4 +CH 8121 Benglen Kanton Zürich ZH Bezirk Uster 109 Fällanden 193 47.3609 8.6375 4 +CH 8122 Binz Kanton Zürich ZH Bezirk Uster 109 Maur 195 47.357 8.6269 4 +CH 8123 Ebmatingen Kanton Zürich ZH Bezirk Uster 109 Maur 195 47.3514 8.6405 4 +CH 8124 Maur Kanton Zürich ZH Bezirk Uster 109 Maur 195 47.3376 8.6726 4 +CH 8132 Egg b. Zürich Kanton Zürich ZH Bezirk Uster 109 Egg 192 47.2938 8.6895 3 +CH 8132 Hinteregg Kanton Zürich ZH Bezirk Uster 109 Egg 192 47.3111 8.6853 4 +CH 8133 Esslingen Kanton Zürich ZH Bezirk Uster 109 Egg 192 47.2906 8.7137 4 +CH 8306 Brüttisellen Kanton Zürich ZH Bezirk Uster 109 Wangen-Brüttisellen 200 47.4219 8.6342 4 +CH 8600 Dübendorf 1 Kanton Zürich ZH Bezirk Uster 109 Dübendorf 191 47.3905 8.6172 +CH 8600 Dübendorf Kanton Zürich ZH Bezirk Uster 109 Dübendorf 191 47.3937 8.6202 4 +CH 8602 Wangen b. Dübendorf Kanton Zürich ZH Bezirk Uster 109 Wangen-Brüttisellen 200 47.4096 8.6508 4 +CH 8603 Schwerzenbach Kanton Zürich ZH Bezirk Uster 109 Schwerzenbach 197 47.3811 8.6562 4 +CH 8604 Volketswil Kanton Zürich ZH Bezirk Uster 109 Volketswil 199 47.3942 8.6815 4 +CH 8605 Gutenswil Kanton Zürich ZH Bezirk Uster 109 Volketswil 199 47.3867 8.7177 4 +CH 8606 Greifensee Kanton Zürich ZH Bezirk Uster 109 Greifensee 194 47.3635 8.6777 4 +CH 8606 Nänikon Kanton Zürich ZH Bezirk Uster 109 Uster 198 47.3715 8.6955 4 +CH 8610 Uster Kanton Zürich ZH Bezirk Uster 109 Uster 198 47.3478 8.721 4 +CH 8610 Uster 1 Kanton Zürich ZH Bezirk Uster 109 Uster 198 47.3532 8.7216 +CH 8613 Uster 3 Kanton Zürich ZH Bezirk Uster 109 Uster 198 47.3532 8.7216 +CH 8614 Sulzbach Kanton Zürich ZH Bezirk Uster 109 Uster 198 47.3278 8.7465 4 +CH 8615 Wermatswil Kanton Zürich ZH Bezirk Uster 109 Uster 198 47.365 8.7379 4 +CH 8615 Freudwil Kanton Zürich ZH Bezirk Uster 109 Uster 198 47.3759 8.7328 4 +CH 8616 Riedikon Kanton Zürich ZH Bezirk Uster 109 Uster 198 47.3299 8.7088 4 +CH 8617 Mönchaltorf Kanton Zürich ZH Bezirk Uster 109 Mönchaltorf 196 47.3122 8.7219 4 +CH 8311 Brütten Kanton Zürich ZH Bezirk Winterthur 110 Brütten 213 47.4748 8.6724 4 +CH 8352 Elsau Kanton Zürich ZH Bezirk Winterthur 110 Elsau 219 47.5026 8.8079 4 +CH 8352 Ricketwil (Winterthur) Kanton Zürich ZH Bezirk Winterthur 110 Winterthur 230 47.487 8.7977 4 +CH 8353 Elgg Kanton Zürich ZH Bezirk Winterthur 110 Elgg 217 47.4918 8.863 4 +CH 8354 Hofstetten ZH Kanton Zürich ZH Bezirk Winterthur 110 Elgg 294 47.4692 8.8588 4 +CH 8354 Dickbuch Kanton Zürich ZH Bezirk Winterthur 110 Elgg 294 47.4958 8.8324 4 +CH 8400 Winterthur Kanton Zürich ZH Bezirk Winterthur 110 Winterthur 230 47.4931 8.7297 4 +CH 8401 Winterthur Kanton Zürich ZH Bezirk Winterthur 110 Winterthur 230 47.5056 8.7241 +CH 8403 Winterthur Kanton Zürich ZH Bezirk Winterthur 110 Winterthur 230 47.5056 8.7241 +CH 8404 Stadel (Winterthur) Kanton Zürich ZH Bezirk Winterthur 110 Winterthur 230 47.5388 8.7656 4 +CH 8404 Reutlingen (Winterthur) Kanton Zürich ZH Bezirk Winterthur 110 Winterthur 230 47.527 8.7493 4 +CH 8404 Winterthur Kanton Zürich ZH Bezirk Winterthur 110 Winterthur 230 47.5094 8.7581 4 +CH 8405 Winterthur Kanton Zürich ZH Bezirk Winterthur 110 Winterthur 230 47.478 8.776 4 +CH 8406 Winterthur Kanton Zürich ZH Bezirk Winterthur 110 Winterthur 230 47.4829 8.7021 4 +CH 8408 Winterthur Kanton Zürich ZH Bezirk Winterthur 110 Winterthur 230 47.5074 8.6831 4 +CH 8409 Winterthur Kanton Zürich ZH Bezirk Winterthur 110 Winterthur 230 47.5051 8.7786 4 +CH 8412 Hünikon (Neftenbach) Kanton Zürich ZH Bezirk Winterthur 110 Neftenbach 223 47.5534 8.6634 4 +CH 8412 Aesch (Neftenbach) Kanton Zürich ZH Bezirk Winterthur 110 Neftenbach 223 47.5441 8.6794 4 +CH 8412 Riet (Neftenbach) Kanton Zürich ZH Bezirk Winterthur 110 Neftenbach 223 47.5364 8.6893 4 +CH 8413 Neftenbach Kanton Zürich ZH Bezirk Winterthur 110 Neftenbach 223 47.5298 8.6605 4 +CH 8418 Schlatt ZH Kanton Zürich ZH Bezirk Winterthur 110 Schlatt (ZH) 226 47.4703 8.8272 4 +CH 8421 Dättlikon Kanton Zürich ZH Bezirk Winterthur 110 Dättlikon 215 47.5274 8.6221 4 +CH 8422 Pfungen Kanton Zürich ZH Bezirk Winterthur 110 Pfungen 224 47.5112 8.6425 4 +CH 8442 Hettlingen Kanton Zürich ZH Bezirk Winterthur 110 Hettlingen 221 47.5495 8.7062 4 +CH 8471 Berg (Dägerlen) Kanton Zürich ZH Bezirk Winterthur 110 Dägerlen 214 47.5664 8.7351 4 +CH 8471 Dägerlen Kanton Zürich ZH Bezirk Winterthur 110 Dägerlen 214 47.5616 8.7177 4 +CH 8471 Bänk (Dägerlen) Kanton Zürich ZH Bezirk Winterthur 110 Dägerlen 214 47.5495 8.7388 4 +CH 8471 Oberwil (Dägerlen) Kanton Zürich ZH Bezirk Winterthur 110 Dägerlen 214 47.5704 8.7118 4 +CH 8471 Rutschwil (Dägerlen) Kanton Zürich ZH Bezirk Winterthur 110 Dägerlen 214 47.5561 8.7315 4 +CH 8472 Seuzach Kanton Zürich ZH Bezirk Winterthur 110 Seuzach 227 47.5343 8.7261 4 +CH 8474 Dinhard Kanton Zürich ZH Bezirk Winterthur 110 Dinhard 216 47.5578 8.7631 4 +CH 8479 Altikon Kanton Zürich ZH Bezirk Winterthur 110 Altikon 211 47.5773 8.7841 4 +CH 8482 Sennhof (Winterthur) Kanton Zürich ZH Bezirk Winterthur 110 Winterthur 230 47.4669 8.7551 4 +CH 8483 Kollbrunn Kanton Zürich ZH Bezirk Winterthur 110 Zell (ZH) 231 47.4557 8.7783 4 +CH 8486 Rikon im Tösstal Kanton Zürich ZH Bezirk Winterthur 110 Zell (ZH) 231 47.4505 8.8041 4 +CH 8487 Rämismühle Kanton Zürich ZH Bezirk Winterthur 110 Zell (ZH) 231 47.4399 8.8166 4 +CH 8487 Zell ZH Kanton Zürich ZH Bezirk Winterthur 110 Zell (ZH) 231 47.4513 8.8297 4 +CH 8488 Turbenthal Kanton Zürich ZH Bezirk Winterthur 110 Turbenthal 228 47.4373 8.8744 4 +CH 8495 Schmidrüti Kanton Zürich ZH Bezirk Winterthur 110 Turbenthal 228 47.4202 8.91 4 +CH 8523 Hagenbuch ZH Kanton Zürich ZH Bezirk Winterthur 110 Hagenbuch 220 47.5159 8.8759 4 +CH 8542 Wiesendangen Kanton Zürich ZH Bezirk Winterthur 110 Wiesendangen 298 47.5222 8.7949 4 +CH 8543 Gundetswil Kanton Zürich ZH Bezirk Winterthur 110 Wiesendangen 298 47.5387 8.8197 4 +CH 8543 Kefikon ZH Kanton Zürich ZH Bezirk Winterthur 110 Wiesendangen 298 47.5479 8.8281 4 +CH 8543 Bertschikon Kanton Zürich ZH Bezirk Winterthur 110 Wiesendangen 298 47.5254 8.8371 4 +CH 8544 Attikon Kanton Zürich ZH Bezirk Winterthur 110 Wiesendangen 298 47.5361 8.8004 4 +CH 8545 Rickenbach ZH Kanton Zürich ZH Bezirk Winterthur 110 Rickenbach (ZH) 225 47.5548 8.7957 4 +CH 8545 Rickenbach Sulz Kanton Zürich ZH Bezirk Winterthur 110 Rickenbach (ZH) 225 47.5408 8.7865 4 +CH 8546 Menzengrüt Kanton Zürich ZH Bezirk Winterthur 110 Wiesendangen 298 47.5487 8.8166 4 +CH 8548 Ellikon an der Thur Kanton Zürich ZH Bezirk Winterthur 110 Ellikon an der Thur 218 47.5631 8.8241 4 +CH 8010 Zürich Kanton Zürich ZH Bezirk Dietikon 111 Schlieren 247 47.395 8.4488 +CH 8011 Zürich Mülligen SC Kanton Zürich ZH Bezirk Dietikon 111 Schlieren 247 47.395 8.4488 +CH 8012 Zürich Kanton Zürich ZH Bezirk Dietikon 111 Schlieren 247 47.395 8.4488 +CH 8102 Oberengstringen Kanton Zürich ZH Bezirk Dietikon 111 Oberengstringen 245 47.4102 8.466 4 +CH 8103 Unterengstringen Kanton Zürich ZH Bezirk Dietikon 111 Unterengstringen 249 47.4112 8.4429 4 +CH 8104 Weiningen ZH Kanton Zürich ZH Bezirk Dietikon 111 Weiningen (ZH) 251 47.4217 8.4322 4 +CH 8142 Uitikon Waldegg Kanton Zürich ZH Bezirk Dietikon 111 Uitikon 248 47.367 8.4593 4 +CH 8901 Urdorf Kanton Zürich ZH Bezirk Dietikon 111 Urdorf 250 47.3798 8.4224 +CH 8901 Urdorf Tessi Kanton Zürich ZH Bezirk Dietikon 111 Urdorf 250 47.3798 8.4224 +CH 8902 Urdorf Kanton Zürich ZH Bezirk Dietikon 111 Urdorf 250 47.3799 8.4224 4 +CH 8903 Birmensdorf ZH Kanton Zürich ZH Bezirk Dietikon 111 Birmensdorf (ZH) 242 47.3539 8.4344 4 +CH 8904 Aesch ZH Kanton Zürich ZH Bezirk Dietikon 111 Aesch (ZH) 241 47.3354 8.433 4 +CH 8951 Fahrweid Kanton Zürich ZH Bezirk Dietikon 111 Geroldswil 244 47.4095 8.415 4 +CH 8952 Schlieren Kanton Zürich ZH Bezirk Dietikon 111 Schlieren 247 47.395 8.449 4 +CH 8953 Dietikon 2 Kanton Zürich ZH Bezirk Dietikon 111 Dietikon 243 47.402 8.3982 +CH 8953 Dietikon Kanton Zürich ZH Bezirk Dietikon 111 Dietikon 243 47.402 8.3981 4 +CH 8953 Dietikon 1 Kanton Zürich ZH Bezirk Dietikon 111 Dietikon 243 47.402 8.3982 +CH 8954 Geroldswil Kanton Zürich ZH Bezirk Dietikon 111 Geroldswil 244 47.4234 8.4127 4 +CH 8955 Oetwil an der Limmat Kanton Zürich ZH Bezirk Dietikon 111 Oetwil an der Limmat 246 47.431 8.3979 4 +CH 8000 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8001 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3721 8.5417 4 +CH 8002 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3601 8.5327 4 +CH 8003 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3733 8.5139 4 +CH 8004 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3789 8.5204 4 +CH 8005 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3876 8.5207 4 +CH 8006 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3873 8.5499 4 +CH 8008 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3538 8.5587 4 +CH 8017 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 4 +CH 8018 Zürich PF Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8021 Zürich 1 Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8022 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8024 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8027 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8031 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8032 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.368 8.5665 4 +CH 8034 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8036 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8037 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3978 8.5242 4 +CH 8038 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.342 8.5352 4 +CH 8040 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8041 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3339 8.5139 4 +CH 8042 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8044 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3807 8.5753 4 +CH 8045 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3531 8.5089 4 +CH 8046 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.4221 8.5092 4 +CH 8047 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3739 8.4861 4 +CH 8048 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3862 8.4793 4 +CH 8049 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.4085 8.4944 4 +CH 8050 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.4119 8.5512 4 +CH 8051 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.4006 8.5781 4 +CH 8052 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.4243 8.5403 4 +CH 8053 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3609 8.5975 4 +CH 8055 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.364 8.4944 4 +CH 8057 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.4 8.5445 4 +CH 8063 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8064 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3983 8.4855 4 +CH 8070 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8071 Zürich CS PZ Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8074 Zürich Voice Pub Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8074 Zürich Voice Publishing Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8075 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8080 Zürich 80 Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8081 Zürich Helsana Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8081 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8085 Zürich Versicherung Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8085 Zürich Versich. Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8086 Zürich R Digest Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8086 Zürich Reader's Digest Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8087 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8088 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8090 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8091 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8092 Zürich ETH-Zentrum Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8092 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8093 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8093 Zürich ETH-Hönggerberg Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8096 Zürich IBRS local Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8098 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3667 8.55 +CH 8099 Zürich Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 +CH 8099 Zürich Sonderdienste Kanton Zürich ZH Bezirk Zürich 112 Zürich 261 47.3828 8.5307 diff --git a/README.md b/README.md index e69de29..25dde2c 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,3 @@ +# taxorganizer + +test \ No newline at end of file diff --git a/app/.DS_Store b/app/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ff529a23f44014071bafa38f4256859a085c82a1 GIT binary patch literal 8196 zcmeHM&2AGh5FR(7+0Y*a2}CYPD{&2>w5X`!l7{xcflGtn04VHcL%Z#EU6Ks}Rh4pv zciL?u)eJF>@X&*!l}kG+|Mh(vo7-6N_Kk%!E(wt(UniTgPh z(wu3z2`PZ5$BFEPi45^vD`>k0$ADwNG2j?*3^)cZ0t0wwbMnr3@9SPyItCmA|0M%_ zKlsQjTSiW_R96QI6#_t((X0~c>Z?Db&kc|*BPUv-1xaWqq=pI;Vh9sC2n|Pn%ji$E z)Nm5YGR85Mg^5sv2|R?a)Je3obfsg!F;HZHWA`#e6w{D0D}LWZU-O4b3OLmZ$HOBN z=YI{4l6aV{tb7x5rSg^eidXR#yjPt)IqqaZHX62r!3%zRDrFL$)`Rd_+#h#q*B{9= z3*xjtP=Gkl(>+KIQ~6OZRha97mh|(q{Dj(cJ?}b$G?D2p+E}04CG}`H%ZIpy?q!P) zrFV(=Q0uYys8Ju@k-$e%%BTruBx-N)yo;xOn|p09=bZsC@JOOX%h4(u=s2f%*7 zD22Jsv7h8^UIR|@`C*^I=g$oB$@-l0qC!j&WR#spL zUOQu}N;|Yoo3uqwAe&fUG;2{Xr+JGNAo^;J1FX^B0cP?y+Lz>PSR7aoW_bE#*`6%N+CK7YWKOI%(NaNBsBj!oh2xOZKMYa# ip~{$+krOS^g7nXS2>82L!M*>_7i+oqzw-8rQ~U(gvp{?R literal 0 HcmV?d00001 diff --git a/app/.editorconfig b/app/.editorconfig new file mode 100644 index 0000000..f654551 --- /dev/null +++ b/app/.editorconfig @@ -0,0 +1,7 @@ +[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue}] +charset = utf-8 +indent_size = 2 +indent_style = space +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/app/.eslintignore b/app/.eslintignore new file mode 100644 index 0000000..2d4bc7b --- /dev/null +++ b/app/.eslintignore @@ -0,0 +1,3 @@ +node_modules +dist +.quasar diff --git a/app/.eslintrc.cjs b/app/.eslintrc.cjs new file mode 100644 index 0000000..0200d4f --- /dev/null +++ b/app/.eslintrc.cjs @@ -0,0 +1,21 @@ +module.exports = { + root: true, + env: { + browser: true, + node: true + }, + parser: 'vue-eslint-parser', + parserOptions: { + parser: '@typescript-eslint/parser', + extraFileExtensions: ['.vue'] + }, + plugins: ['@typescript-eslint'], + extends: [ + 'plugin:vue/vue3-recommended', + 'plugin:@typescript-eslint/recommended' + ], + rules: { + // Allow usage of `any` when necessary + '@typescript-eslint/no-explicit-any': 'off' + } +} diff --git a/app/.npmrc b/app/.npmrc new file mode 100644 index 0000000..eb19082 --- /dev/null +++ b/app/.npmrc @@ -0,0 +1,5 @@ +# pnpm-related options +shamefully-hoist=true +strict-peer-dependencies=false +# to get the latest compatible packages when creating the project https://github.com/pnpm/pnpm/issues/6463 +resolution-mode=highest diff --git a/app/.prettierrc.json b/app/.prettierrc.json new file mode 100644 index 0000000..4ab7f6d --- /dev/null +++ b/app/.prettierrc.json @@ -0,0 +1,5 @@ +{ + "$schema": "https://json.schemastore.org/prettierrc", + "singleQuote": true, + "printWidth": 100 +} diff --git a/app/.quasar/dev-spa/app.js b/app/.quasar/dev-spa/app.js new file mode 100644 index 0000000..608c77d --- /dev/null +++ b/app/.quasar/dev-spa/app.js @@ -0,0 +1,77 @@ +/* eslint-disable */ +/** + * THIS FILE IS GENERATED AUTOMATICALLY. + * DO NOT EDIT. + * + * You are probably looking on adding startup/initialization code. + * Use "quasar new boot " and add it there. + * One boot file per concern. Then reference the file(s) in quasar.config file > boot: + * boot: ['file', ...] // do not add ".js" extension to it. + * + * Boot files are your "main.js" + **/ + + + + + +import { Quasar } from 'quasar' +import { markRaw } from 'vue' +import RootComponent from 'app/src/App.vue' + +import createStore from 'app/src/stores/index' +import createRouter from 'app/src/router/index' + + + + + +export default async function (createAppFn, quasarUserOptions) { + + + // Create the app instance. + // Here we inject into it the Quasar UI, the router & possibly the store. + const app = createAppFn(RootComponent) + + + app.config.performance = true + + + app.use(Quasar, quasarUserOptions) + + + + + const store = typeof createStore === 'function' + ? await createStore({}) + : createStore + + + app.use(store) + + + + + + const router = markRaw( + typeof createRouter === 'function' + ? await createRouter({store}) + : createRouter + ) + + + // make router instance available in store + + store.use(({ store }) => { store.router = router }) + + + + // Expose the app, the router and the store. + // Note that we are not mounting the app here, since bootstrapping will be + // different depending on whether we are in a browser or on the server. + return { + app, + store, + router + } +} diff --git a/app/.quasar/dev-spa/client-entry.js b/app/.quasar/dev-spa/client-entry.js new file mode 100644 index 0000000..4c8b303 --- /dev/null +++ b/app/.quasar/dev-spa/client-entry.js @@ -0,0 +1,154 @@ +/* eslint-disable */ +/** + * THIS FILE IS GENERATED AUTOMATICALLY. + * DO NOT EDIT. + * + * You are probably looking on adding startup/initialization code. + * Use "quasar new boot " and add it there. + * One boot file per concern. Then reference the file(s) in quasar.config file > boot: + * boot: ['file', ...] // do not add ".js" extension to it. + * + * Boot files are your "main.js" + **/ + + +import { createApp } from 'vue' + + + + + + + +import '@quasar/extras/roboto-font/roboto-font.css' + +import '@quasar/extras/material-icons/material-icons.css' + + + + +// We load Quasar stylesheet file +import 'quasar/dist/quasar.sass' + + + + +import 'src/css/app.scss' + + +import createQuasarApp from './app.js' +import quasarUserOptions from './quasar-user-options.js' + + + + + + +console.info('[Quasar] Running SPA.') + + +const publicPath = `/` + +async function start ({ + app, + router + , store +}, bootFiles) { + + let hasRedirected = false + const getRedirectUrl = url => { + try { return router.resolve(url).href } + catch (err) {} + + return Object(url) === url + ? null + : url + } + const redirect = url => { + hasRedirected = true + + if (typeof url === 'string' && /^https?:\/\//.test(url)) { + window.location.href = url + return + } + + const href = getRedirectUrl(url) + + // continue if we didn't fail to resolve the url + if (href !== null) { + window.location.href = href + window.location.reload() + } + } + + const urlPath = window.location.href.replace(window.location.origin, '') + + for (let i = 0; hasRedirected === false && i < bootFiles.length; i++) { + try { + await bootFiles[i]({ + app, + router, + store, + ssrContext: null, + redirect, + urlPath, + publicPath + }) + } + catch (err) { + if (err && err.url) { + redirect(err.url) + return + } + + console.error('[Quasar] boot error:', err) + return + } + } + + if (hasRedirected === true) return + + + app.use(router) + + + + + + + app.mount('#q-app') + + + +} + +createQuasarApp(createApp, quasarUserOptions) + + .then(app => { + // eventually remove this when Cordova/Capacitor/Electron support becomes old + const [ method, mapFn ] = Promise.allSettled !== void 0 + ? [ + 'allSettled', + bootFiles => bootFiles.map(result => { + if (result.status === 'rejected') { + console.error('[Quasar] boot error:', result.reason) + return + } + return result.value.default + }) + ] + : [ + 'all', + bootFiles => bootFiles.map(entry => entry.default) + ] + + return Promise[ method ]([ + + import('boot/i18n') + + ]).then(bootFiles => { + const boot = mapFn(bootFiles).filter(entry => typeof entry === 'function') + start(app, boot) + }) + }) + diff --git a/app/.quasar/dev-spa/client-prefetch.js b/app/.quasar/dev-spa/client-prefetch.js new file mode 100644 index 0000000..9bbe3c5 --- /dev/null +++ b/app/.quasar/dev-spa/client-prefetch.js @@ -0,0 +1,116 @@ +/* eslint-disable */ +/** + * THIS FILE IS GENERATED AUTOMATICALLY. + * DO NOT EDIT. + * + * You are probably looking on adding startup/initialization code. + * Use "quasar new boot " and add it there. + * One boot file per concern. Then reference the file(s) in quasar.config file > boot: + * boot: ['file', ...] // do not add ".js" extension to it. + * + * Boot files are your "main.js" + **/ + + + +import App from 'app/src/App.vue' +let appPrefetch = typeof App.preFetch === 'function' + ? App.preFetch + : ( + // Class components return the component options (and the preFetch hook) inside __c property + App.__c !== void 0 && typeof App.__c.preFetch === 'function' + ? App.__c.preFetch + : false + ) + + +function getMatchedComponents (to, router) { + const route = to + ? (to.matched ? to : router.resolve(to).route) + : router.currentRoute.value + + if (!route) { return [] } + + const matched = route.matched.filter(m => m.components !== void 0) + + if (matched.length === 0) { return [] } + + return Array.prototype.concat.apply([], matched.map(m => { + return Object.keys(m.components).map(key => { + const comp = m.components[key] + return { + path: m.path, + c: comp + } + }) + })) +} + +export function addPreFetchHooks ({ router, store, publicPath }) { + // Add router hook for handling preFetch. + // Doing it after initial route is resolved so that we don't double-fetch + // the data that we already have. Using router.beforeResolve() so that all + // async components are resolved. + router.beforeResolve((to, from, next) => { + const + urlPath = window.location.href.replace(window.location.origin, ''), + matched = getMatchedComponents(to, router), + prevMatched = getMatchedComponents(from, router) + + let diffed = false + const preFetchList = matched + .filter((m, i) => { + return diffed || (diffed = ( + !prevMatched[i] || + prevMatched[i].c !== m.c || + m.path.indexOf('/:') > -1 // does it has params? + )) + }) + .filter(m => m.c !== void 0 && ( + typeof m.c.preFetch === 'function' + // Class components return the component options (and the preFetch hook) inside __c property + || (m.c.__c !== void 0 && typeof m.c.__c.preFetch === 'function') + )) + .map(m => m.c.__c !== void 0 ? m.c.__c.preFetch : m.c.preFetch) + + + if (appPrefetch !== false) { + preFetchList.unshift(appPrefetch) + appPrefetch = false + } + + + if (preFetchList.length === 0) { + return next() + } + + let hasRedirected = false + const redirect = url => { + hasRedirected = true + next(url) + } + const proceed = () => { + + if (hasRedirected === false) { next() } + } + + + + preFetchList.reduce( + (promise, preFetch) => promise.then(() => hasRedirected === false && preFetch({ + store, + currentRoute: to, + previousRoute: from, + redirect, + urlPath, + publicPath + })), + Promise.resolve() + ) + .then(proceed) + .catch(e => { + console.error(e) + proceed() + }) + }) +} diff --git a/app/.quasar/dev-spa/quasar-user-options.js b/app/.quasar/dev-spa/quasar-user-options.js new file mode 100644 index 0000000..d65d0d6 --- /dev/null +++ b/app/.quasar/dev-spa/quasar-user-options.js @@ -0,0 +1,21 @@ +/* eslint-disable */ +/** + * THIS FILE IS GENERATED AUTOMATICALLY. + * DO NOT EDIT. + * + * You are probably looking on adding startup/initialization code. + * Use "quasar new boot " and add it there. + * One boot file per concern. Then reference the file(s) in quasar.config file > boot: + * boot: ['file', ...] // do not add ".js" extension to it. + * + * Boot files are your "main.js" + **/ + + + +import {Dialog,Notify} from 'quasar' + + + +export default { config: {"notify":{"position":"top-right"}},plugins: {Dialog,Notify} } + diff --git a/app/.quasar/feature-flags.d.ts b/app/.quasar/feature-flags.d.ts new file mode 100644 index 0000000..dab07b3 --- /dev/null +++ b/app/.quasar/feature-flags.d.ts @@ -0,0 +1,8 @@ +/* eslint-disable */ +import "quasar/dist/types/feature-flag.d.ts"; + +declare module "quasar/dist/types/feature-flag.d.ts" { + interface QuasarFeatureFlags { + store: true; + } +} diff --git a/app/.quasar/pinia.d.ts b/app/.quasar/pinia.d.ts new file mode 100644 index 0000000..5bc0a53 --- /dev/null +++ b/app/.quasar/pinia.d.ts @@ -0,0 +1,8 @@ +/* eslint-disable */ +import { Router } from 'vue-router'; + +declare module 'pinia' { + export interface PiniaCustomProperties { + readonly router: Router; + } +} diff --git a/app/.quasar/prod-spa/app.js b/app/.quasar/prod-spa/app.js new file mode 100644 index 0000000..caeaac1 --- /dev/null +++ b/app/.quasar/prod-spa/app.js @@ -0,0 +1,75 @@ +/* eslint-disable */ +/** + * THIS FILE IS GENERATED AUTOMATICALLY. + * DO NOT EDIT. + * + * You are probably looking on adding startup/initialization code. + * Use "quasar new boot " and add it there. + * One boot file per concern. Then reference the file(s) in quasar.config file > boot: + * boot: ['file', ...] // do not add ".js" extension to it. + * + * Boot files are your "main.js" + **/ + + + + + +import { Quasar } from 'quasar' +import { markRaw } from 'vue' +import RootComponent from 'app/src/App.vue' + +import createStore from 'app/src/stores/index' +import createRouter from 'app/src/router/index' + + + + + +export default async function (createAppFn, quasarUserOptions) { + + + // Create the app instance. + // Here we inject into it the Quasar UI, the router & possibly the store. + const app = createAppFn(RootComponent) + + + + app.use(Quasar, quasarUserOptions) + + + + + const store = typeof createStore === 'function' + ? await createStore({}) + : createStore + + + app.use(store) + + + + + + const router = markRaw( + typeof createRouter === 'function' + ? await createRouter({store}) + : createRouter + ) + + + // make router instance available in store + + store.use(({ store }) => { store.router = router }) + + + + // Expose the app, the router and the store. + // Note that we are not mounting the app here, since bootstrapping will be + // different depending on whether we are in a browser or on the server. + return { + app, + store, + router + } +} diff --git a/app/.quasar/prod-spa/client-entry.js b/app/.quasar/prod-spa/client-entry.js new file mode 100644 index 0000000..2b0a52b --- /dev/null +++ b/app/.quasar/prod-spa/client-entry.js @@ -0,0 +1,152 @@ +/* eslint-disable */ +/** + * THIS FILE IS GENERATED AUTOMATICALLY. + * DO NOT EDIT. + * + * You are probably looking on adding startup/initialization code. + * Use "quasar new boot " and add it there. + * One boot file per concern. Then reference the file(s) in quasar.config file > boot: + * boot: ['file', ...] // do not add ".js" extension to it. + * + * Boot files are your "main.js" + **/ + + +import { createApp } from 'vue' + + + + + + + +import '@quasar/extras/roboto-font/roboto-font.css' + +import '@quasar/extras/material-icons/material-icons.css' + + + + +// We load Quasar stylesheet file +import 'quasar/dist/quasar.sass' + + + + +import 'src/css/app.scss' + + +import createQuasarApp from './app.js' +import quasarUserOptions from './quasar-user-options.js' + + + + + + + +const publicPath = `/` + +async function start ({ + app, + router + , store +}, bootFiles) { + + let hasRedirected = false + const getRedirectUrl = url => { + try { return router.resolve(url).href } + catch (err) {} + + return Object(url) === url + ? null + : url + } + const redirect = url => { + hasRedirected = true + + if (typeof url === 'string' && /^https?:\/\//.test(url)) { + window.location.href = url + return + } + + const href = getRedirectUrl(url) + + // continue if we didn't fail to resolve the url + if (href !== null) { + window.location.href = href + window.location.reload() + } + } + + const urlPath = window.location.href.replace(window.location.origin, '') + + for (let i = 0; hasRedirected === false && i < bootFiles.length; i++) { + try { + await bootFiles[i]({ + app, + router, + store, + ssrContext: null, + redirect, + urlPath, + publicPath + }) + } + catch (err) { + if (err && err.url) { + redirect(err.url) + return + } + + console.error('[Quasar] boot error:', err) + return + } + } + + if (hasRedirected === true) return + + + app.use(router) + + + + + + + app.mount('#q-app') + + + +} + +createQuasarApp(createApp, quasarUserOptions) + + .then(app => { + // eventually remove this when Cordova/Capacitor/Electron support becomes old + const [ method, mapFn ] = Promise.allSettled !== void 0 + ? [ + 'allSettled', + bootFiles => bootFiles.map(result => { + if (result.status === 'rejected') { + console.error('[Quasar] boot error:', result.reason) + return + } + return result.value.default + }) + ] + : [ + 'all', + bootFiles => bootFiles.map(entry => entry.default) + ] + + return Promise[ method ]([ + + import('boot/i18n') + + ]).then(bootFiles => { + const boot = mapFn(bootFiles).filter(entry => typeof entry === 'function') + start(app, boot) + }) + }) + diff --git a/app/.quasar/prod-spa/client-prefetch.js b/app/.quasar/prod-spa/client-prefetch.js new file mode 100644 index 0000000..9bbe3c5 --- /dev/null +++ b/app/.quasar/prod-spa/client-prefetch.js @@ -0,0 +1,116 @@ +/* eslint-disable */ +/** + * THIS FILE IS GENERATED AUTOMATICALLY. + * DO NOT EDIT. + * + * You are probably looking on adding startup/initialization code. + * Use "quasar new boot " and add it there. + * One boot file per concern. Then reference the file(s) in quasar.config file > boot: + * boot: ['file', ...] // do not add ".js" extension to it. + * + * Boot files are your "main.js" + **/ + + + +import App from 'app/src/App.vue' +let appPrefetch = typeof App.preFetch === 'function' + ? App.preFetch + : ( + // Class components return the component options (and the preFetch hook) inside __c property + App.__c !== void 0 && typeof App.__c.preFetch === 'function' + ? App.__c.preFetch + : false + ) + + +function getMatchedComponents (to, router) { + const route = to + ? (to.matched ? to : router.resolve(to).route) + : router.currentRoute.value + + if (!route) { return [] } + + const matched = route.matched.filter(m => m.components !== void 0) + + if (matched.length === 0) { return [] } + + return Array.prototype.concat.apply([], matched.map(m => { + return Object.keys(m.components).map(key => { + const comp = m.components[key] + return { + path: m.path, + c: comp + } + }) + })) +} + +export function addPreFetchHooks ({ router, store, publicPath }) { + // Add router hook for handling preFetch. + // Doing it after initial route is resolved so that we don't double-fetch + // the data that we already have. Using router.beforeResolve() so that all + // async components are resolved. + router.beforeResolve((to, from, next) => { + const + urlPath = window.location.href.replace(window.location.origin, ''), + matched = getMatchedComponents(to, router), + prevMatched = getMatchedComponents(from, router) + + let diffed = false + const preFetchList = matched + .filter((m, i) => { + return diffed || (diffed = ( + !prevMatched[i] || + prevMatched[i].c !== m.c || + m.path.indexOf('/:') > -1 // does it has params? + )) + }) + .filter(m => m.c !== void 0 && ( + typeof m.c.preFetch === 'function' + // Class components return the component options (and the preFetch hook) inside __c property + || (m.c.__c !== void 0 && typeof m.c.__c.preFetch === 'function') + )) + .map(m => m.c.__c !== void 0 ? m.c.__c.preFetch : m.c.preFetch) + + + if (appPrefetch !== false) { + preFetchList.unshift(appPrefetch) + appPrefetch = false + } + + + if (preFetchList.length === 0) { + return next() + } + + let hasRedirected = false + const redirect = url => { + hasRedirected = true + next(url) + } + const proceed = () => { + + if (hasRedirected === false) { next() } + } + + + + preFetchList.reduce( + (promise, preFetch) => promise.then(() => hasRedirected === false && preFetch({ + store, + currentRoute: to, + previousRoute: from, + redirect, + urlPath, + publicPath + })), + Promise.resolve() + ) + .then(proceed) + .catch(e => { + console.error(e) + proceed() + }) + }) +} diff --git a/app/.quasar/prod-spa/quasar-user-options.js b/app/.quasar/prod-spa/quasar-user-options.js new file mode 100644 index 0000000..d65d0d6 --- /dev/null +++ b/app/.quasar/prod-spa/quasar-user-options.js @@ -0,0 +1,21 @@ +/* eslint-disable */ +/** + * THIS FILE IS GENERATED AUTOMATICALLY. + * DO NOT EDIT. + * + * You are probably looking on adding startup/initialization code. + * Use "quasar new boot " and add it there. + * One boot file per concern. Then reference the file(s) in quasar.config file > boot: + * boot: ['file', ...] // do not add ".js" extension to it. + * + * Boot files are your "main.js" + **/ + + + +import {Dialog,Notify} from 'quasar' + + + +export default { config: {"notify":{"position":"top-right"}},plugins: {Dialog,Notify} } + diff --git a/app/.quasar/quasar.d.ts b/app/.quasar/quasar.d.ts new file mode 100644 index 0000000..d7de5f1 --- /dev/null +++ b/app/.quasar/quasar.d.ts @@ -0,0 +1,4 @@ +/* eslint-disable */ +/// + +/// diff --git a/app/.quasar/shims-vue.d.ts b/app/.quasar/shims-vue.d.ts new file mode 100644 index 0000000..18bd132 --- /dev/null +++ b/app/.quasar/shims-vue.d.ts @@ -0,0 +1,6 @@ +/* eslint-disable */ +declare module '*.vue' { + import { DefineComponent } from 'vue'; + const component: DefineComponent; + export default component; +} diff --git a/app/.quasar/tsconfig.json b/app/.quasar/tsconfig.json new file mode 100644 index 0000000..b163283 --- /dev/null +++ b/app/.quasar/tsconfig.json @@ -0,0 +1,100 @@ +{ + "compilerOptions": { + "esModuleInterop": true, + "skipLibCheck": true, + "target": "esnext", + "allowJs": true, + "resolveJsonModule": true, + "moduleDetection": "force", + "isolatedModules": true, + "module": "preserve", + "noEmit": true, + "lib": [ + "esnext", + "dom", + "dom.iterable" + ], + "strict": true, + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "noImplicitOverride": true, + "exactOptionalPropertyTypes": true, + "noUncheckedIndexedAccess": true, + "paths": { + "src": [ + "./../src" + ], + "src/*": [ + "./../src/*" + ], + "app": [ + "./.." + ], + "app/*": [ + "./../*" + ], + "components": [ + "./../src/components" + ], + "components/*": [ + "./../src/components/*" + ], + "layouts": [ + "./../src/layouts" + ], + "layouts/*": [ + "./../src/layouts/*" + ], + "pages": [ + "./../src/pages" + ], + "pages/*": [ + "./../src/pages/*" + ], + "assets": [ + "./../src/assets" + ], + "assets/*": [ + "./../src/assets/*" + ], + "boot": [ + "./../src/boot" + ], + "boot/*": [ + "./../src/boot/*" + ], + "stores": [ + "./../src/stores" + ], + "stores/*": [ + "./../src/stores/*" + ], + "#q-app": [ + "./../node_modules/.pnpm/@quasar+app-vite@2.4.0_@types+node@20.19.27_eslint@9.39.2_pinia@3.0.4_typescript@5.9.3__8e27baa73f7298cb84f0516a9a74f12e/node_modules/@quasar/app-vite/types/index.d.ts" + ], + "#q-app/wrappers": [ + "./../node_modules/.pnpm/@quasar+app-vite@2.4.0_@types+node@20.19.27_eslint@9.39.2_pinia@3.0.4_typescript@5.9.3__8e27baa73f7298cb84f0516a9a74f12e/node_modules/@quasar/app-vite/types/app-wrappers.d.ts" + ], + "#q-app/bex/background": [ + "./../node_modules/.pnpm/@quasar+app-vite@2.4.0_@types+node@20.19.27_eslint@9.39.2_pinia@3.0.4_typescript@5.9.3__8e27baa73f7298cb84f0516a9a74f12e/node_modules/@quasar/app-vite/types/bex/entrypoints/background.d.ts" + ], + "#q-app/bex/content": [ + "./../node_modules/.pnpm/@quasar+app-vite@2.4.0_@types+node@20.19.27_eslint@9.39.2_pinia@3.0.4_typescript@5.9.3__8e27baa73f7298cb84f0516a9a74f12e/node_modules/@quasar/app-vite/types/bex/entrypoints/content.d.ts" + ], + "#q-app/bex/private/bex-bridge": [ + "./../node_modules/.pnpm/@quasar+app-vite@2.4.0_@types+node@20.19.27_eslint@9.39.2_pinia@3.0.4_typescript@5.9.3__8e27baa73f7298cb84f0516a9a74f12e/node_modules/@quasar/app-vite/types/bex/bex-bridge.d.ts" + ] + } + }, + "include": [ + "./**/*.d.ts", + "./../**/*" + ], + "exclude": [ + "./../dist", + "./../node_modules", + "./../src-capacitor", + "./../src-cordova", + "./../quasar.config.*.temporary.compiled*" + ] +} \ No newline at end of file diff --git a/app/.vscode/extensions.json b/app/.vscode/extensions.json new file mode 100644 index 0000000..b6a2eb9 --- /dev/null +++ b/app/.vscode/extensions.json @@ -0,0 +1,15 @@ +{ + "recommendations": [ + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "editorconfig.editorconfig", + "vue.volar", + "wayou.vscode-todo-highlight" + ], + "unwantedRecommendations": [ + "octref.vetur", + "hookyqr.beautify", + "dbaeumer.jshint", + "ms-vscode.vscode-typescript-tslint-plugin" + ] +} diff --git a/app/.vscode/settings.json b/app/.vscode/settings.json new file mode 100644 index 0000000..fa9e6d6 --- /dev/null +++ b/app/.vscode/settings.json @@ -0,0 +1,9 @@ +{ + "editor.bracketPairColorization.enabled": true, + "editor.guides.bracketPairs": true, + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.codeActionsOnSave": ["source.fixAll.eslint"], + "eslint.validate": ["javascript", "javascriptreact", "typescript", "vue"], + "typescript.tsdk": "node_modules/typescript/lib" +} diff --git a/app/README.md b/app/README.md new file mode 100644 index 0000000..f635f05 --- /dev/null +++ b/app/README.md @@ -0,0 +1,43 @@ +# dichiarazione fiscale (app) + +Dichiarazione fiscale automatizzata + +## Install the dependencies + +```bash +yarn +# or +npm install +``` + +### Start the app in development mode (hot-code reloading, error reporting, etc.) + +```bash +quasar dev +``` + +### Lint the files + +```bash +yarn lint +# or +npm run lint +``` + +### Format the files + +```bash +yarn format +# or +npm run format +``` + +### Build the app for production + +```bash +quasar build +``` + +### Customize the configuration + +See [Configuring quasar.config.js](https://v2.quasar.dev/quasar-cli-vite/quasar-config-js). diff --git a/app/Reports/2026-01-07.md b/app/Reports/2026-01-07.md new file mode 100644 index 0000000..5adcd36 --- /dev/null +++ b/app/Reports/2026-01-07.md @@ -0,0 +1,48 @@ +# Report Giornaliero — 2026-01-07 + +## Sommario rapido +- Aggiornamenti allo schema, tipi e componenti per il flusso stepper. +- Aggiunta integrazione Pinia per i dati `taxpayer` e UI per editing/visualizzazione. +- Configurazione linter/TypeScript aggiornata per ridurre errori. + +## Dettagli attività +- Schema + - Aggiunta del campo `description` a ogni step in `schema.json`. + +- Tipi TypeScript + - Creato/aggiornato `app/src/types/schema.ts` con i tipi per lo schema (StepDescriptor, FieldDescriptor, TaxpayerForm, ecc.). + - Sostituiti alcuni `any` con `unknown` per soddisfare le regole ESLint. + +- Componenti + - `app/src/components/steps/WelcomeStep.vue`: ora riceve `step` come prop; `q-card` flat e full-width. + - `app/src/components/StepsStepper.vue`: stepper verticale con lista di navigazione a sinistra; separazione navigazione/contenuto; caricamento dinamico del componente `WelcomeStep`. + - `app/src/components/steps/TaxpayerStep.vue`: form statico per lo step `taxpayer` (usa `q-input`, `q-toggle`, `q-file` con `multiple` e `use-chips`), inizializzazione dei valori e binding a store. + +- Store + - Creato `app/src/stores/taxpayer.ts` (Pinia) con `data: TaxpayerForm` e azioni `set`, `replace`, `reset`. + - `TaxpayerStep.vue` carica i dati dallo store al mount e salva nello store prima di navigare avanti. + +- Layout + - `app/src/layouts/MainLayout.vue`: drawer che mostra il JSON completo dello store `taxpayer.data` per debugging/visualizzazione. + +- Configurazione + - `app/tsconfig.json` aggiornato per sovrascrivere `noImplicitAny` (override locale). + - Creata `app/.eslintrc.cjs` per disabilitare `@typescript-eslint/no-explicit-any` globalmente nel progetto `app` (opzione scelta temporanea). + - Aggiunta `.eslintignore` (menzione: ESLint avvisa che `.eslintignore` è deprecato per la configurazione nuova). + +## Stato attuale +- Codice modificato e componenti aggiunti nel workspace. +- Linter ha segnalato errori `no-explicit-any` inizialmente; ho adattato i tipi e rimosso gli errori noti. +- Il dev server locale non è stato eseguito qui (ultimo tentativo: `pnpm run dev` exit code 130). Non ho avviato il server dopo tutte le modifiche. + +## Prossimi passi suggeriti +- Avviare `pnpm run lint` e `pnpm run dev` nella cartella `app` per verificare runtime e UI. +- Collegare altri step allo store in modo simile a `taxpayer` (caricamento/salvataggio automatico). +- Implementare validazione campi e persistenza file (upload a backend), preview e rimozione file. +- Aggiungere test e/o snapshot per i componenti chiave. + +--- + +Se vuoi, posso: +- Avviare il dev server ora (devo eseguire comandi in `/Users/fabio/CODE/BRUNO/frontend/app`). +- Salvare anche eventuali altri report o cambiare il nome/file. diff --git a/app/Reports/report-2026-01-10.md b/app/Reports/report-2026-01-10.md new file mode 100644 index 0000000..5279025 --- /dev/null +++ b/app/Reports/report-2026-01-10.md @@ -0,0 +1,41 @@ +# Report di Lavoro — 10 gennaio 2026 + +## Sommario +Breve resoconto delle modifiche fatte oggi sul progetto frontend (Quasar + Vue 3 + Pinia + TypeScript). + +## Modifiche principali +- `MaritalStep.vue`: + - Rimosso `await` non necessario su `resetValidation()` per risolvere l'errore `@typescript-eslint/await-thenable`. + - Il pulsante `Prev` ora salva i dati (`store.setMarital`) prima di emettere l'evento `prev`. + - `buildPayload()` espone tramite `defineExpose` e la logica pulisce i campi spouse quando `maritalStatus` è `SINGLE`. +- `TaxpayerStep.vue`: + - Aggiunta struttura `QForm` con `formRef` e regole `rules` condizionali (simili a `MaritalStep`). + - `goNext()` ora esegue la validazione prima di salvare e navigare; `goPrev()` salva prima di emettere `prev`. + - Risolti errori ESLint/TypeScript: `no-floating-promises` (await su validate), rimozione di variabili non usate nel `catch`. + +## File modificati oggi +- `app/src/components/steps/MaritalStep.vue` +- `app/src/components/steps/TaxpayerStep.vue` +- (varie patch correlate a `app/src/stores/schema.ts`, `app/src/i18n/*` durante il work-in-progress) + +## Stato attuale controlli +- `pnpm run lint`: exit code 0 (ultimo eseguito) +- `pnpm run tsc`: exit code 1 (ci sono ancora errori TypeScript da risolvere) +- `pnpm run dev`: exit code 130 (dev server non avviato in questo ambiente) + +## Comandi utili +Esegui questi comandi nella cartella `app` per verificare lo stato: + +```bash +pnpm run lint +pnpm run tsc +pnpm run dev +``` + +## Prossimi passi suggeriti +- Eseguire `pnpm run tsc` e correggere gli errori TypeScript rimanenti. +- Applicare lo stesso pattern di `QForm`/`rules` ad altri step se si desidera coerenza UX. +- Decidere se centralizzare il salvataggio nel `StepsStepper` (parent) o mantenerlo per-step; posso implementarne una delle due. + +--- +File salvato: `app/Reports/report-2026-01-10.md` diff --git a/app/dist/.DS_Store b/app/dist/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..bfcdd7d76538eb1cb59d5719b2d12dbaf19da863 GIT binary patch literal 6148 zcmeHK!AiqG5Z!I7O(;SR3OxqA7OkyRikBGc!K)EHsMN$14aRI~QgbMUob`wN5`RZ$ zb~i$)UOWhv8JK;W*_jRVHtb{=W89sFdyH9(F#{B_V#4r^;5zD(RJ5fE$Z-#G7sMif zC)|$YKQMr2S7j+1GygPRIKLxU+4+zn6VYBlo{se?zXjtsO0#zRomZ;0we`ADHyXx` z_aJgF^RsE{`jabsIu{}i%DEq0M5BCYZ61px^P^-mkpWRS0+;K{C<#UGifIz2GS*WI zhH02Xt2vwPcMn>2r`w&k>{-9lZrQzlZ$3ATt?k{zv*Ba>l!zBaJcn;m%7(@gUSXoM zdG;nrERuV$l-{KmAu&J<5Cf~rfWGmJ#_Fa>nGplTz%LoV`@sf9bTk$U<<$X$Yykjk zV3q=N`STBGqXE#-SSSPw2v?ziDwOLMgX`Xbt8iF%w11&cg)=VS4EyLebKRkE-Fk3a zx-;%5q>&gP1{N8>-VemW`hW6s|1X_rAO?tm)ntIz2HwDh+;nYS$`Wg>4SEZTf_{a< luMn8XQVhOWikqNPz;5FN(9u{Z1PciL2uK=eAO`-FflqfFQsV#s literal 0 HcmV?d00001 diff --git a/app/dist/spa/assets/AddressInput-Brku8Gup.js b/app/dist/spa/assets/AddressInput-Brku8Gup.js new file mode 100644 index 0000000..e09cad2 --- /dev/null +++ b/app/dist/spa/assets/AddressInput-Brku8Gup.js @@ -0,0 +1 @@ +import{b as q}from"./userstore-DBCughIu.js";import{$ as F,r as v,a as i,a9 as d,a3 as u,a5 as s,a4 as m,a1 as _,a7 as S,a8 as c,ac as p,a6 as j}from"./index-0B2sgEyA.js";import{A as I}from"./CommentAttachment-BuVtM3GK.js";import{u as N}from"./vue-i18n.runtime-DPKkE7zN.js";import{_ as z}from"./IndexPage-CwM_myNb.js";const T={class:"row items-center q-gutter-sm q-mb-sm q-mt-md"},E={class:"col-auto"},H={class:"col"},M={class:"text-caption"},O={class:"q-pa-sm bg-grey-2 q-mb-sm"},Q={key:0,class:"text-negative"},D={key:1},U=F({__name:"AddressInput",props:{modelValue:{},label:{},allowForeign:{type:Boolean},hint:{}},emits:["update:modelValue","save","cancel"],setup(g,{emit:h}){const o=g,r=h,{t:l}=N(),n=v(!1),y=v(null),V=o.label||l("address"),b=o.allowForeign??!0,x=i(()=>{const e=o.modelValue;if(console.log("address input formatted",e),!e)return"";const t=e.country?.name||"";return e.country.code==="CH"?[e.street,String(e.cap||""),e.city,e.canton].filter(Boolean).join(", "):[e.street,String(e.cap||""),e.city,t].filter(Boolean).join(", ")}),A=i(()=>{const e=o.modelValue;return e?!(e.street||e.city||e.cap||e.country&&e.country.code):!0}),w=i(()=>o.hint||l("validation.insertAddress"));function B(){const e=o.modelValue;y.value=e?{street:e.street||"",zip:String(e.cap||""),city:e.city||"",country:e.country&&e.country.code||"",canton:e.canton||"",foreign:!!(e.country&&e.country.code&&e.country.code!=="CH")}:{street:"",zip:"",city:"",country:"",canton:"",foreign:!0},n.value=!0}function C(e){let t={code:"",name:""};if(!e.country)t={code:"",name:""};else if(typeof e.country=="string")t={code:e.country,name:e.country};else if(typeof e.country=="object"&&e.country!==null){const f=e.country;t={code:f.code||"",name:f.name||""}}const a={street:e.street||"",cap:e.zip||"",city:e.city||"",country:t,canton:e.canton||""};r("update:modelValue",a),r("save",a),n.value=!1}function k(){r("cancel"),n.value=!1}return(e,t)=>(u(),d("div",null,[s("div",T,[s("div",E,[m(j,{dense:"",flat:"",round:"",icon:"edit",onClick:B},{default:_(()=>[m(q,{class:"bg-primary text-white"},{default:_(()=>[S(c(p(l)("children.editAddress")),1)]),_:1})]),_:1})]),s("div",H,[s("div",M,c(p(V)),1)])]),s("div",O,[A.value?(u(),d("div",Q,c(w.value),1)):(u(),d("div",D,c(x.value),1))]),m(I,{modelValue:n.value,"onUpdate:modelValue":t[0]||(t[0]=a=>n.value=a),modelAddress:y.value,allowForeign:p(b),onSave:C,onCancel:k},null,8,["modelValue","modelAddress","allowForeign"])]))}}),P=z(U,[["__scopeId","data-v-b68f19ad"]]);export{P as A}; diff --git a/app/dist/spa/assets/AddressInput-DTjVpzGz.css b/app/dist/spa/assets/AddressInput-DTjVpzGz.css new file mode 100644 index 0000000..3a56c99 --- /dev/null +++ b/app/dist/spa/assets/AddressInput-DTjVpzGz.css @@ -0,0 +1 @@ +.q-card[data-v-b68f19ad]{width:100%;margin:0} diff --git a/app/dist/spa/assets/ChildrenStep-BaJwTfaC.js b/app/dist/spa/assets/ChildrenStep-BaJwTfaC.js new file mode 100644 index 0000000..9f96a70 --- /dev/null +++ b/app/dist/spa/assets/ChildrenStep-BaJwTfaC.js @@ -0,0 +1 @@ +import{$ as Ve,a as H,r as y,Z as O,o as Ne,f as S,w as R,a0 as q,a3 as c,a1 as i,a4 as s,ae as I,a5 as u,a8 as m,ac as r,a6 as h,am as z,a9 as g,af as b,an as F,aa as qe,ab as ke,a7 as M,ao as k,ap as we,ah as E,aq as xe,ar as Ae}from"./index-0B2sgEyA.js";import{Q as J,c as P,b as Y}from"./userstore-DBCughIu.js";import{Q as Fe,a as Te,b as Z}from"./QList-CHwmSUjA.js";import{C as De,A as Qe}from"./CommentAttachment-BuVtM3GK.js";import{u as Se}from"./children-ChLzVyp9.js";import{u as Me}from"./taxstore-oR45_mFg.js";import{u as $e}from"./vue-i18n.runtime-DPKkE7zN.js";import{_ as Ue}from"./IndexPage-CwM_myNb.js";import"./LocalStorage-7Uw3xG9P.js";const Le={class:"row items-center"},Be={class:"col"},je={class:"text-h6"},He={class:"col-auto"},Oe={class:"row items-center"},Re={class:"col"},Ie={class:"col-auto"},ze={key:0,class:"q-mt-md"},Ee={class:"text-subtitle2 q-mb-sm"},Je={class:"text-weight-bold"},Pe={key:1,class:"q-mt-md"},Ye={class:"text-h6"},Ze={class:"row items-center q-gutter-sm q-mt-none"},Ge={class:"col"},Ke={key:0,class:"q-mt-none"},We={key:0,class:"q-ml-lg q-mt-none"},Xe={class:"row items-center q-gutter-sm q-mb-xs"},et={class:"col-auto"},tt={class:"col"},lt={class:"text-caption"},at={class:"q-pa-xs bg-grey-2 q-px-md"},st={key:0,class:"text-negative"},nt={key:1,class:"q-pa-xs"},ot={class:"row"},rt=Ve({__name:"ChildrenStep",props:{step:{}},emits:["next","prev"],setup(G,{expose:K,emit:W}){const $=G,U=W,{t:n}=$e(),f=Se(),X=Me(),L=H(()=>{const t=X.getTaxpayer()?.lastName;return typeof t=="string"?t.trim():""}),T=y(null),ee=(t="Required")=>{const e=n("validation.required");return e&&e!=="validation.required"?e:t},D=t=>e=>{const l=ee();return e==null?l:typeof e=="string"?e.trim()!==""||l:Array.isArray(e)?e.length>0||l:!0},B=(t,e)=>l=>{const d=`${n("validation.minLength")||`Minimum ${t} chars`}`;return l==null?!0:typeof l=="string"?l.trim().length>=t||d:!0},te=(t,e)=>l=>{const d=n("validation.maxAgeFromJan1"),C=typeof d=="string"?d:`Age must be at most ${t} years from Jan 1 of this year`;if(!l)return!0;let A;if(l instanceof Date)A=l;else if(typeof l=="string")A=new Date(l);else return C;if(isNaN(A.getTime()))return C;const be=new Date,_e=new Date(be.getFullYear()-t,0,1);return A>=_e||C},le=t=>{if(!t)return"";const e=t.country,l=typeof e=="object"&&e!==null?e.code:e,d=typeof e=="object"&&e!==null?e.name:"";return l==="CH"?[t.street,String(t.zip||""),t.city,t.canton||""].filter(Boolean).join(", "):[t.street,String(t.zip||""),t.city,d].filter(Boolean).join(", ")};function j(t){const e=a[t]??"",l=typeof e=="string"?e.trim():String(e);if(!l){a[t]="";return}a[t]=l.charAt(0).toUpperCase()+l.slice(1)}function ae(){const t=L.value;t&&(a.lastName=t)}function se(t){if(!t)return"";const e=new Date(t);if(isNaN(e.getTime()))return"";const l=new Date;let d=l.getFullYear()-e.getFullYear();const C=l.getMonth()-e.getMonth();return(C<0||C===0&&l.getDate()({firstName:"",lastName:"",birthDate:"",sameHousehold:!0,school:"",hasCareCost:!1,careCosts:{comments:"",attachments:[]},address:null,alimentiVersati:!1}),o=O({hasChildren:!1,children:[],moreThanFiveChildrenNote:""}),w=y(!1),p=y(!1),_=y(null),a=O({...Q()}),x=y(null),N=y(!1),V=y(null),ne=H(()=>{const t=V.value;return t?fe(t):""}),oe=[D(),B(2)],re=[D(),B(2)],ie=[D(),te(25)];async function de(){_.value=null,Object.assign(a,Q()),a.address=null,p.value=!0,await S(),x.value?.resetValidation?.()}async function ue(t){const e=o.children[t];e&&(_.value=t,Object.assign(a,{...Q(),...e}),a.address=e.address||null,V.value=a.address||null,p.value=!0,await S(),x.value?.resetValidation?.())}function ce(){p.value=!1}function me(){a.address?V.value=a.address:V.value=null,N.value=!0}function he(){N.value=!1}function fe(t){function e(d){return typeof d=="object"&&d!==null&&Object.prototype.hasOwnProperty.call(d,"name")}const l=t.country&&typeof t.country=="object"&&e(t.country)?t.country.name:t.country||"";return`${t.street||""} ${t.zip||""} ${t.city||""} ${l||""}`}function pe(t){V.value=t,a.address=t,N.value=!1}async function ve(){try{if(await(x.value?.validate?.()??!0)===!1)return}catch{return}if(_.value===null){if(o.children.length>=5){p.value=!1,w.value=!0;return}if(o.children.push({...a}),f.setChildren(v()),o.children.length===5){p.value=!1,w.value=!0;return}}else o.children[_.value]={...a},f.setChildren(v());p.value=!1}function Ce(t){o.children.splice(t,1),f.setChildren(v())}Ne(async()=>{const t=f.getChildren();if(t){if(o.hasChildren=!!t.hasChildren,Array.isArray(t.children)&&t.children.length)for(let e=0;e<5;e++)t.children[e]&&(o.children[e]={...o.children[e],...t.children[e]});o.moreThanFiveChildrenNote=t.moreThanFiveChildrenNote||"",(t.moreThanFiveChildrenNote||Array.isArray(t.children)&&t.children.length>=5)&&(w.value=!0)}await S(),T.value?.resetValidation?.()}),R(()=>o.hasChildren,()=>{f.setChildren(v())}),R(()=>o.moreThanFiveChildrenNote,()=>{f.setChildren(v())});function v(){const t={hasChildren:o.hasChildren,children:o.children.filter(e=>e.firstName||e.lastName||e.birthDate),moreThanFiveChildrenNote:o.moreThanFiveChildrenNote};return t.children=t.children.slice(0,5),t}async function ye(){try{if(await(T.value?.validate?.()??!0)===!1)return}catch{return}const t=v();f.setChildren(t),U("next",$.step?.next)}function ge(){const t=v();f.setChildren(t),U("prev",$.step?.prev)}return K({buildPayload:v}),(t,e)=>(c(),q(E,{flat:"",class:"full-width q-pa-none"},{default:i(()=>[s(I,{class:"full-width"},{default:i(()=>[u("div",Le,[u("div",Be,[u("div",je,m(r(n)("CHD")),1)]),u("div",He,[s(h,{flat:"",label:r(n)("button.prev"),onClick:ge,class:"q-mr-sm"},null,8,["label"]),s(h,{color:"primary",label:r(n)("button.next"),onClick:ye},null,8,["label"])])]),s(z,{class:"q-my-sm"}),s(J,{ref_key:"formRef",ref:T,class:"q-gutter-md q-mt-md"},{default:i(()=>[u("div",Oe,[u("div",Re,[s(F,{modelValue:o.hasChildren,"onUpdate:modelValue":e[0]||(e[0]=l=>o.hasChildren=l),label:r(n)("children.hasChildren")},null,8,["modelValue","label"])]),u("div",Ie,[o.hasChildren?(c(),q(h,{key:0,disable:o.children.length>=5,color:"primary",label:`+ ${r(n)("children.addChild")}`,onClick:de},null,8,["disable","label"])):b("",!0)])]),o.hasChildren?(c(),g("div",ze,[u("div",Ee,m(r(n)("children.listTitle")),1),s(Fe,{bordered:""},{default:i(()=>[(c(!0),g(qe,null,ke(o.children,(l,d)=>(c(),q(Te,{key:d,clickable:""},{default:i(()=>[s(Z,null,{default:i(()=>[s(P,null,{default:i(()=>[u("span",Je,m(l.firstName||"-")+" "+m(l.lastName||"")+" ("+m(se(l.birthDate))+")",1)]),_:2},1024),a.sameHousehold?b("",!0):(c(),q(P,{key:0},{default:i(()=>[M(m(le(l.address)),1)]),_:2},1024))]),_:2},1024),s(Z,{side:"",class:"row items-center q-gutter-sm"},{default:i(()=>[s(h,{dense:"",flat:"",round:"",icon:"edit",onClick:C=>ue(d)},null,8,["onClick"]),s(h,{dense:"",flat:"",round:"",icon:"delete",color:"negative",onClick:C=>Ce(d)},null,8,["onClick"])]),_:2},1024)]),_:2},1024))),128))]),_:1})])):b("",!0),w.value||o.children.length>=5?(c(),g("div",Pe,[s(k,{type:"textarea",modelValue:o.moreThanFiveChildrenNote,"onUpdate:modelValue":e[1]||(e[1]=l=>o.moreThanFiveChildrenNote=l),label:r(n)("children.moreThanFiveChildrenNote"),autogrow:""},null,8,["modelValue","label"])])):b("",!0)]),_:1},512),s(we,{modelValue:p.value,"onUpdate:modelValue":e[13]||(e[13]=l=>p.value=l),persistent:""},{default:i(()=>[s(E,{class:"contained-card child-modal"},{default:i(()=>[s(I,null,{default:i(()=>[u("div",Ye,m(_.value===null?r(n)("children.addChild"):r(n)("children.editChild")),1),s(z,{class:"q-my-sm"}),s(J,{ref_key:"modalFormRef",ref:x,class:"q-gutter-md q-mt-md"},{default:i(()=>[s(k,{class:"q-mt-none",dense:"",modelValue:a.firstName,"onUpdate:modelValue":e[2]||(e[2]=l=>a.firstName=l),label:r(n)("children.firstName"),rules:oe,onBlur:e[3]||(e[3]=l=>j("firstName"))},null,8,["modelValue","label"]),s(k,{class:"q-mt-none",dense:"",modelValue:a.lastName,"onUpdate:modelValue":e[4]||(e[4]=l=>a.lastName=l),label:r(n)("children.lastName"),rules:re,onBlur:e[5]||(e[5]=l=>j("lastName"))},{prepend:i(()=>[s(h,{dense:"",flat:"",round:"",color:"primary",icon:"family_restroom",disable:!L.value,onClick:xe(ae,["stop","prevent"])},{default:i(()=>[s(Y,{class:"bg-primary text-white"},{default:i(()=>[M(m(r(n)("children.copyLastNameFromTaxpayer")),1)]),_:1})]),_:1},8,["disable"])]),_:1},8,["modelValue","label"]),s(k,{class:"q-mt-none",dense:"",modelValue:a.birthDate,"onUpdate:modelValue":e[6]||(e[6]=l=>a.birthDate=l),type:"date",label:r(n)("children.birthDate"),rules:ie},null,8,["modelValue","label"]),u("div",Ze,[u("div",Ge,[s(F,{class:"q-mt-none",modelValue:a.sameHousehold,"onUpdate:modelValue":e[7]||(e[7]=l=>a.sameHousehold=l),label:r(n)("children.sameHousehold")},null,8,["modelValue","label"]),a.sameHousehold?b("",!0):(c(),g("div",Ke,[s(F,{class:"q-mt-none",modelValue:a.alimentiVersati,"onUpdate:modelValue":e[8]||(e[8]=l=>a.alimentiVersati=l),label:r(n)("children.alimentiVersati")},null,8,["modelValue","label"])]))])]),a.sameHousehold?b("",!0):(c(),g("div",We,[u("div",Xe,[u("div",et,[s(h,{dense:"",flat:"",round:"",icon:"edit",onClick:me},{default:i(()=>[s(Y,{class:"bg-primary text-white"},{default:i(()=>[M(m(r(n)("children.editAddress")),1)]),_:1})]),_:1})]),u("div",tt,[u("div",lt,m(r(n)("children.addressLabel")),1)])]),u("div",at,[a.address?(c(),g("div",nt,m(ne.value),1)):(c(),g("div",st,m(r(n)("validation.insertAddress")),1))])])),s(k,{class:"q-mt-none",dense:"",modelValue:a.school,"onUpdate:modelValue":e[9]||(e[9]=l=>a.school=l),label:r(n)("children.school")},null,8,["modelValue","label"]),u("div",ot,[s(F,{class:"q-mt-none",modelValue:a.hasCareCost,"onUpdate:modelValue":e[10]||(e[10]=l=>a.hasCareCost=l),label:r(n)("children.hasCareCost")},null,8,["modelValue","label"]),a.hasCareCost?(c(),q(De,{key:0,class:"q-mt-none",modelValue:a.careCosts,"onUpdate:modelValue":e[11]||(e[11]=l=>a.careCosts=l),label:r(n)("children.careCosts"),id:"children"},null,8,["modelValue","label"])):b("",!0)])]),_:1},512)]),_:1}),s(Qe,{modelValue:N.value,"onUpdate:modelValue":e[12]||(e[12]=l=>N.value=l),modelAddress:V.value,allowForeign:!1,onSave:pe,onCancel:he},null,8,["modelValue","modelAddress"]),s(Ae,{align:"right"},{default:i(()=>[s(h,{flat:"",label:r(n)("button.cancel"),onClick:ce},null,8,["label"]),s(h,{color:"primary",label:_.value===null?r(n)("button.add"):r(n)("button.save"),onClick:ve},null,8,["label"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}))}}),Ct=Ue(rt,[["__scopeId","data-v-aa36bd22"]]);export{Ct as default}; diff --git a/app/dist/spa/assets/ChildrenStep-CyFMlGKq.css b/app/dist/spa/assets/ChildrenStep-CyFMlGKq.css new file mode 100644 index 0000000..1859bc0 --- /dev/null +++ b/app/dist/spa/assets/ChildrenStep-CyFMlGKq.css @@ -0,0 +1 @@ +.full-width[data-v-aa36bd22]{width:100%}.contained-card[data-v-aa36bd22]{min-width:480px;max-width:720px}.contained-card .q-card-section[data-v-aa36bd22]{padding:16px}.contained-card .q-card-actions[data-v-aa36bd22]{padding:12px 16px}.child-modal[data-v-aa36bd22]{min-width:480px} diff --git a/app/dist/spa/assets/CommentAttachment-BuVtM3GK.js b/app/dist/spa/assets/CommentAttachment-BuVtM3GK.js new file mode 100644 index 0000000..9e2d0df --- /dev/null +++ b/app/dist/spa/assets/CommentAttachment-BuVtM3GK.js @@ -0,0 +1 @@ +import{$ as pe,at as re,r as E,w as H,Z as Ce,a as x,f as oe,a0 as I,a3 as B,ap as ie,a1 as R,a4 as m,ah as Ge,ae as ue,a5 as i,a8 as f,ac as N,a9 as F,af as J,ao as O,an as Se,ar as Be,a6 as k,o as he,aq as Y,a7 as ne,aa as le,ab as ge}from"./index-0B2sgEyA.js";import{Q as Ve,a as te,u as Ee,d as Re,b as Le,e as Te,f as be}from"./userstore-DBCughIu.js";import{u as se}from"./vue-i18n.runtime-DPKkE7zN.js";import{_ as me}from"./IndexPage-CwM_myNb.js";const ce=["IT","US","DE","FR","ES","GB","CH","AT","BE","NL","PT","PL","RO","RU","CN","JP","IN","BR","AR","MX","ZA","SE","NO","DK","FI","IE","GR","HU","CZ","SK","SI","HR","BG","TR","IL","EG","AU","NZ","KR","VN","TH","MY","SG","ID","PH"],ee=[{postalCode:"5000",placeName:"Aarau",cantonCode:"AG"},{postalCode:"5001",placeName:"Aarau 1",cantonCode:"AG"},{postalCode:"5004",placeName:"Aarau",cantonCode:"AG"},{postalCode:"5017",placeName:"Barmelweid",cantonCode:"AG"},{postalCode:"5018",placeName:"Erlinsbach",cantonCode:"AG"},{postalCode:"5022",placeName:"Rombach",cantonCode:"AG"},{postalCode:"5023",placeName:"Biberstein",cantonCode:"AG"},{postalCode:"5024",placeName:"Küttigen",cantonCode:"AG"},{postalCode:"5025",placeName:"Asp",cantonCode:"AG"},{postalCode:"5026",placeName:"Densbüren",cantonCode:"AG"},{postalCode:"5032",placeName:"Aarau Rohr",cantonCode:"AG"},{postalCode:"5033",placeName:"Buchs AG",cantonCode:"AG"},{postalCode:"5034",placeName:"Suhr",cantonCode:"AG"},{postalCode:"5035",placeName:"Unterentfelden",cantonCode:"AG"},{postalCode:"5036",placeName:"Oberentfelden",cantonCode:"AG"},{postalCode:"5037",placeName:"Muhen",cantonCode:"AG"},{postalCode:"5042",placeName:"Hirschthal",cantonCode:"AG"},{postalCode:"5722",placeName:"Gränichen",cantonCode:"AG"},{postalCode:"5300",placeName:"Turgi",cantonCode:"AG"},{postalCode:"5301",placeName:"Siggenthal Station",cantonCode:"AG"},{postalCode:"5303",placeName:"Würenlingen",cantonCode:"AG"},{postalCode:"5400",placeName:"Baden",cantonCode:"AG"},{postalCode:"5401",placeName:"Baden",cantonCode:"AG"},{postalCode:"5402",placeName:"Baden",cantonCode:"AG"},{postalCode:"5404",placeName:"Baden",cantonCode:"AG"},{postalCode:"5405",placeName:"Baden",cantonCode:"AG"},{postalCode:"5405",placeName:"Dättwil AG",cantonCode:"AG"},{postalCode:"5406",placeName:"Rütihof",cantonCode:"AG"},{postalCode:"5406",placeName:"Baden",cantonCode:"AG"},{postalCode:"5408",placeName:"Ennetbaden",cantonCode:"AG"},{postalCode:"5412",placeName:"Vogelsang AG",cantonCode:"AG"},{postalCode:"5412",placeName:"Gebenstorf",cantonCode:"AG"},{postalCode:"5413",placeName:"Birmenstorf AG",cantonCode:"AG"},{postalCode:"5415",placeName:"Rieden AG",cantonCode:"AG"},{postalCode:"5415",placeName:"Nussbaumen AG",cantonCode:"AG"},{postalCode:"5415",placeName:"Hertenstein AG",cantonCode:"AG"},{postalCode:"5416",placeName:"Kirchdorf AG",cantonCode:"AG"},{postalCode:"5417",placeName:"Untersiggenthal",cantonCode:"AG"},{postalCode:"5420",placeName:"Ehrendingen",cantonCode:"AG"},{postalCode:"5423",placeName:"Freienwil",cantonCode:"AG"},{postalCode:"5430",placeName:"Wettingen 1",cantonCode:"AG"},{postalCode:"5430",placeName:"Wettingen 3",cantonCode:"AG"},{postalCode:"5430",placeName:"Wettingen",cantonCode:"AG"},{postalCode:"5432",placeName:"Neuenhof",cantonCode:"AG"},{postalCode:"5436",placeName:"Würenlos",cantonCode:"AG"},{postalCode:"5442",placeName:"Fislisbach",cantonCode:"AG"},{postalCode:"5443",placeName:"Niederrohrdorf",cantonCode:"AG"},{postalCode:"5444",placeName:"Künten",cantonCode:"AG"},{postalCode:"5452",placeName:"Oberrohrdorf",cantonCode:"AG"},{postalCode:"5453",placeName:"Remetschwil",cantonCode:"AG"},{postalCode:"5454",placeName:"Bellikon",cantonCode:"AG"},{postalCode:"5506",placeName:"Mägenwil",cantonCode:"AG"},{postalCode:"5507",placeName:"Mellingen",cantonCode:"AG"},{postalCode:"5512",placeName:"Wohlenschwil",cantonCode:"AG"},{postalCode:"5608",placeName:"Stetten AG",cantonCode:"AG"},{postalCode:"8109",placeName:"Kloster Fahr",cantonCode:"AG"},{postalCode:"8956",placeName:"Killwangen",cantonCode:"AG"},{postalCode:"8957",placeName:"Spreitenbach",cantonCode:"AG"},{postalCode:"8962",placeName:"Bergdietikon",cantonCode:"AG"},{postalCode:"5445",placeName:"Eggenwil",cantonCode:"AG"},{postalCode:"5522",placeName:"Tägerig",cantonCode:"AG"},{postalCode:"5524",placeName:"Niederwil AG",cantonCode:"AG"},{postalCode:"5524",placeName:"Nesselnbach",cantonCode:"AG"},{postalCode:"5525",placeName:"Fischbach-Göslikon",cantonCode:"AG"},{postalCode:"5605",placeName:"Dottikon",cantonCode:"AG"},{postalCode:"5607",placeName:"Hägglingen",cantonCode:"AG"},{postalCode:"5610",placeName:"Wohlen AG",cantonCode:"AG"},{postalCode:"5610",placeName:"Wohlen AG 1",cantonCode:"AG"},{postalCode:"5611",placeName:"Anglikon",cantonCode:"AG"},{postalCode:"5612",placeName:"Villmergen",cantonCode:"AG"},{postalCode:"5613",placeName:"Hilfikon",cantonCode:"AG"},{postalCode:"5614",placeName:"Sarmenstorf",cantonCode:"AG"},{postalCode:"5619",placeName:"Büttikon AG",cantonCode:"AG"},{postalCode:"5619",placeName:"Uezwil",cantonCode:"AG"},{postalCode:"5620",placeName:"Bremgarten AG",cantonCode:"AG"},{postalCode:"5620",placeName:"Bremgarten AG 1",cantonCode:"AG"},{postalCode:"5621",placeName:"Zufikon",cantonCode:"AG"},{postalCode:"5626",placeName:"Hermetschwil-Staffeln",cantonCode:"AG"},{postalCode:"8905",placeName:"Arni-Islisberg",cantonCode:"AG"},{postalCode:"8905",placeName:"Islisberg",cantonCode:"AG"},{postalCode:"8905",placeName:"Arni AG",cantonCode:"AG"},{postalCode:"8916",placeName:"Jonen",cantonCode:"AG"},{postalCode:"8917",placeName:"Oberlunkhofen",cantonCode:"AG"},{postalCode:"8918",placeName:"Unterlunkhofen",cantonCode:"AG"},{postalCode:"8964",placeName:"Rudolfstetten",cantonCode:"AG"},{postalCode:"8965",placeName:"Berikon",cantonCode:"AG"},{postalCode:"8966",placeName:"Oberwil-Lieli",cantonCode:"AG"},{postalCode:"8967",placeName:"Widen",cantonCode:"AG"},{postalCode:"5105",placeName:"Auenstein",cantonCode:"AG"},{postalCode:"5106",placeName:"Veltheim AG",cantonCode:"AG"},{postalCode:"5107",placeName:"Schinznach Dorf",cantonCode:"AG"},{postalCode:"5108",placeName:"Oberflachs",cantonCode:"AG"},{postalCode:"5112",placeName:"Thalheim AG",cantonCode:"AG"},{postalCode:"5116",placeName:"Schinznach Bad",cantonCode:"AG"},{postalCode:"5200",placeName:"Brugg AG",cantonCode:"AG"},{postalCode:"5201",placeName:"Brugg AG",cantonCode:"AG"},{postalCode:"5210",placeName:"Windisch",cantonCode:"AG"},{postalCode:"5212",placeName:"Hausen AG",cantonCode:"AG"},{postalCode:"5213",placeName:"Villnachern",cantonCode:"AG"},{postalCode:"5222",placeName:"Umiken",cantonCode:"AG"},{postalCode:"5223",placeName:"Riniken",cantonCode:"AG"},{postalCode:"5225",placeName:"Bözberg",cantonCode:"AG"},{postalCode:"5232",placeName:"Villigen PSI",cantonCode:"AG"},{postalCode:"5233",placeName:"Stilli",cantonCode:"AG"},{postalCode:"5234",placeName:"Villigen",cantonCode:"AG"},{postalCode:"5235",placeName:"Rüfenach AG",cantonCode:"AG"},{postalCode:"5236",placeName:"Remigen",cantonCode:"AG"},{postalCode:"5237",placeName:"Mönthal",cantonCode:"AG"},{postalCode:"5242",placeName:"Lupfig",cantonCode:"AG"},{postalCode:"5242",placeName:"Birr",cantonCode:"AG"},{postalCode:"5242",placeName:"Birr-Lupfig",cantonCode:"AG"},{postalCode:"5243",placeName:"Mülligen",cantonCode:"AG"},{postalCode:"5244",placeName:"Birrhard",cantonCode:"AG"},{postalCode:"5245",placeName:"Habsburg",cantonCode:"AG"},{postalCode:"5246",placeName:"Scherz",cantonCode:"AG"},{postalCode:"5318",placeName:"Mandach",cantonCode:"AG"},{postalCode:"5040",placeName:"Schöftland",cantonCode:"AG"},{postalCode:"5043",placeName:"Holziken",cantonCode:"AG"},{postalCode:"5044",placeName:"Schlossrued",cantonCode:"AG"},{postalCode:"5046",placeName:"Walde AG",cantonCode:"AG"},{postalCode:"5046",placeName:"Schmiedrued",cantonCode:"AG"},{postalCode:"5046",placeName:"Schmiedrued-Walde",cantonCode:"AG"},{postalCode:"5708",placeName:"Birrwil",cantonCode:"AG"},{postalCode:"5712",placeName:"Beinwil am See",cantonCode:"AG"},{postalCode:"5723",placeName:"Teufenthal AG",cantonCode:"AG"},{postalCode:"5724",placeName:"Dürrenäsch",cantonCode:"AG"},{postalCode:"5725",placeName:"Leutwil",cantonCode:"AG"},{postalCode:"5726",placeName:"Unterkulm",cantonCode:"AG"},{postalCode:"5727",placeName:"Oberkulm",cantonCode:"AG"},{postalCode:"5728",placeName:"Gontenschwil",cantonCode:"AG"},{postalCode:"5732",placeName:"Zetzwil",cantonCode:"AG"},{postalCode:"5733",placeName:"Leimbach AG",cantonCode:"AG"},{postalCode:"5734",placeName:"Reinach AG",cantonCode:"AG"},{postalCode:"5736",placeName:"Burg AG",cantonCode:"AG"},{postalCode:"5737",placeName:"Menziken",cantonCode:"AG"},{postalCode:"4333",placeName:"Münchwilen AG",cantonCode:"AG"},{postalCode:"4334",placeName:"Sisseln AG",cantonCode:"AG"},{postalCode:"5027",placeName:"Herznach",cantonCode:"AG"},{postalCode:"5028",placeName:"Ueken",cantonCode:"AG"},{postalCode:"5062",placeName:"Oberhof",cantonCode:"AG"},{postalCode:"5063",placeName:"Wölflinswil",cantonCode:"AG"},{postalCode:"5064",placeName:"Wittnau",cantonCode:"AG"},{postalCode:"5070",placeName:"Frick",cantonCode:"AG"},{postalCode:"5072",placeName:"Oeschgen",cantonCode:"AG"},{postalCode:"5073",placeName:"Gipf-Oberfrick",cantonCode:"AG"},{postalCode:"5074",placeName:"Eiken",cantonCode:"AG"},{postalCode:"5075",placeName:"Hornussen",cantonCode:"AG"},{postalCode:"5076",placeName:"Bözen",cantonCode:"AG"},{postalCode:"5077",placeName:"Elfingen",cantonCode:"AG"},{postalCode:"5078",placeName:"Effingen",cantonCode:"AG"},{postalCode:"5079",placeName:"Zeihen",cantonCode:"AG"},{postalCode:"5080",placeName:"Laufenburg",cantonCode:"AG"},{postalCode:"5082",placeName:"Kaisten",cantonCode:"AG"},{postalCode:"5083",placeName:"Ittenthal",cantonCode:"AG"},{postalCode:"5084",placeName:"Rheinsulz",cantonCode:"AG"},{postalCode:"5085",placeName:"Sulz AG",cantonCode:"AG"},{postalCode:"5272",placeName:"Gansingen",cantonCode:"AG"},{postalCode:"5273",placeName:"Oberhofen AG",cantonCode:"AG"},{postalCode:"5274",placeName:"Mettau",cantonCode:"AG"},{postalCode:"5275",placeName:"Etzgen",cantonCode:"AG"},{postalCode:"5276",placeName:"Wil AG",cantonCode:"AG"},{postalCode:"5277",placeName:"Hottwil",cantonCode:"AG"},{postalCode:"5326",placeName:"Schwaderloch",cantonCode:"AG"},{postalCode:"5102",placeName:"Rupperswil",cantonCode:"AG"},{postalCode:"5103",placeName:"Wildegg",cantonCode:"AG"},{postalCode:"5103",placeName:"Möriken AG",cantonCode:"AG"},{postalCode:"5113",placeName:"Holderbank AG",cantonCode:"AG"},{postalCode:"5502",placeName:"Hunzenschwil",cantonCode:"AG"},{postalCode:"5503",placeName:"Schafisheim",cantonCode:"AG"},{postalCode:"5504",placeName:"Othmarsingen",cantonCode:"AG"},{postalCode:"5505",placeName:"Brunegg",cantonCode:"AG"},{postalCode:"5600",placeName:"Lenzburg 1",cantonCode:"AG"},{postalCode:"5600",placeName:"Lenzburg",cantonCode:"AG"},{postalCode:"5600",placeName:"Ammerswil AG",cantonCode:"AG"},{postalCode:"5603",placeName:"Staufen",cantonCode:"AG"},{postalCode:"5604",placeName:"Hendschiken",cantonCode:"AG"},{postalCode:"5606",placeName:"Dintikon",cantonCode:"AG"},{postalCode:"5615",placeName:"Fahrwangen",cantonCode:"AG"},{postalCode:"5616",placeName:"Meisterschwanden",cantonCode:"AG"},{postalCode:"5617",placeName:"Tennwil",cantonCode:"AG"},{postalCode:"5702",placeName:"Niederlenz",cantonCode:"AG"},{postalCode:"5703",placeName:"Seon",cantonCode:"AG"},{postalCode:"5704",placeName:"Egliswil",cantonCode:"AG"},{postalCode:"5705",placeName:"Hallwil",cantonCode:"AG"},{postalCode:"5706",placeName:"Boniswil",cantonCode:"AG"},{postalCode:"5707",placeName:"Seengen",cantonCode:"AG"},{postalCode:"5618",placeName:"Bettwil",cantonCode:"AG"},{postalCode:"5622",placeName:"Waltenschwil",cantonCode:"AG"},{postalCode:"5623",placeName:"Boswil",cantonCode:"AG"},{postalCode:"5624",placeName:"Bünzen",cantonCode:"AG"},{postalCode:"5624",placeName:"Waldhäusern AG",cantonCode:"AG"},{postalCode:"5625",placeName:"Kallern",cantonCode:"AG"},{postalCode:"5627",placeName:"Besenbüren",cantonCode:"AG"},{postalCode:"5628",placeName:"Aristau",cantonCode:"AG"},{postalCode:"5630",placeName:"Muri AG",cantonCode:"AG"},{postalCode:"5632",placeName:"Buttwil",cantonCode:"AG"},{postalCode:"5634",placeName:"Merenschwand",cantonCode:"AG"},{postalCode:"5636",placeName:"Benzenschwil",cantonCode:"AG"},{postalCode:"5637",placeName:"Geltwil",cantonCode:"AG"},{postalCode:"5637",placeName:"Beinwil (Freiamt)",cantonCode:"AG"},{postalCode:"5642",placeName:"Mühlau",cantonCode:"AG"},{postalCode:"5643",placeName:"Alikon",cantonCode:"AG"},{postalCode:"5643",placeName:"Meienberg",cantonCode:"AG"},{postalCode:"5643",placeName:"Sins",cantonCode:"AG"},{postalCode:"5643",placeName:"Sins",cantonCode:"AG"},{postalCode:"5644",placeName:"Auw",cantonCode:"AG"},{postalCode:"5645",placeName:"Fenkrieden",cantonCode:"AG"},{postalCode:"5645",placeName:"Aettenschwil",cantonCode:"AG"},{postalCode:"5646",placeName:"Abtwil AG",cantonCode:"AG"},{postalCode:"5647",placeName:"Oberrüti",cantonCode:"AG"},{postalCode:"6042",placeName:"Dietwil",cantonCode:"AG"},{postalCode:"8919",placeName:"Rottenschwil",cantonCode:"AG"},{postalCode:"4303",placeName:"Kaiseraugst Liebrüti",cantonCode:"AG"},{postalCode:"4303",placeName:"Kaiseraugst",cantonCode:"AG"},{postalCode:"4305",placeName:"Olsberg",cantonCode:"AG"},{postalCode:"4310",placeName:"Rheinfelden",cantonCode:"AG"},{postalCode:"4310",placeName:"Rheinfelden 1",cantonCode:"AG"},{postalCode:"4312",placeName:"Magden",cantonCode:"AG"},{postalCode:"4313",placeName:"Möhlin",cantonCode:"AG"},{postalCode:"4314",placeName:"Zeiningen",cantonCode:"AG"},{postalCode:"4315",placeName:"Zuzgen",cantonCode:"AG"},{postalCode:"4316",placeName:"Hellikon",cantonCode:"AG"},{postalCode:"4317",placeName:"Wegenstetten",cantonCode:"AG"},{postalCode:"4322",placeName:"Mumpf",cantonCode:"AG"},{postalCode:"4323",placeName:"Wallbach",cantonCode:"AG"},{postalCode:"4324",placeName:"Obermumpf",cantonCode:"AG"},{postalCode:"4325",placeName:"Schupfart",cantonCode:"AG"},{postalCode:"4332",placeName:"Stein AG",cantonCode:"AG"},{postalCode:"4663",placeName:"Aarburg",cantonCode:"AG"},{postalCode:"4665",placeName:"Oftringen 1",cantonCode:"AG"},{postalCode:"4665",placeName:"Oftringen",cantonCode:"AG"},{postalCode:"4665",placeName:"Oftringen 2",cantonCode:"AG"},{postalCode:"4800",placeName:"Zofingen",cantonCode:"AG"},{postalCode:"4801",placeName:"Zofingen",cantonCode:"AG"},{postalCode:"4801",placeName:"Zofingen Ringier AG",cantonCode:"AG"},{postalCode:"4802",placeName:"Strengelbach",cantonCode:"AG"},{postalCode:"4803",placeName:"Vordemwald",cantonCode:"AG"},{postalCode:"4805",placeName:"Brittnau",cantonCode:"AG"},{postalCode:"4807",placeName:"Zofingen PostFinance",cantonCode:"AG"},{postalCode:"4807",placeName:"Zofingen PF",cantonCode:"AG"},{postalCode:"4808",placeName:"Zofingen PF",cantonCode:"AG"},{postalCode:"4808",placeName:"Zofingen PostFinance",cantonCode:"AG"},{postalCode:"4809",placeName:"Zofingen PF",cantonCode:"AG"},{postalCode:"4809",placeName:"Zofingen PF UBS",cantonCode:"AG"},{postalCode:"4809",placeName:"Zofingen PF UBS Verarb.",cantonCode:"AG"},{postalCode:"4809",placeName:"Zofingen Postfinance UBS",cantonCode:"AG"},{postalCode:"4810",placeName:"Zofingen PF",cantonCode:"AG"},{postalCode:"4812",placeName:"Mühlethal",cantonCode:"AG"},{postalCode:"4813",placeName:"Uerkheim",cantonCode:"AG"},{postalCode:"4814",placeName:"Bottenwil",cantonCode:"AG"},{postalCode:"4852",placeName:"Rothrist",cantonCode:"AG"},{postalCode:"4853",placeName:"Murgenthal",cantonCode:"AG"},{postalCode:"4853",placeName:"Riken AG",cantonCode:"AG"},{postalCode:"4853",placeName:"Murgenthal",cantonCode:"AG"},{postalCode:"4856",placeName:"Glashütten",cantonCode:"AG"},{postalCode:"5053",placeName:"Wittwil",cantonCode:"AG"},{postalCode:"5053",placeName:"Staffelbach",cantonCode:"AG"},{postalCode:"5054",placeName:"Moosleerau",cantonCode:"AG"},{postalCode:"5054",placeName:"Kirchleerau-Moosleerau",cantonCode:"AG"},{postalCode:"5054",placeName:"Kirchleerau",cantonCode:"AG"},{postalCode:"5056",placeName:"Attelwil",cantonCode:"AG"},{postalCode:"5057",placeName:"Reitnau",cantonCode:"AG"},{postalCode:"5058",placeName:"Wiliberg",cantonCode:"AG"},{postalCode:"5742",placeName:"Kölliken",cantonCode:"AG"},{postalCode:"5745",placeName:"Safenwil",cantonCode:"AG"},{postalCode:"5304",placeName:"Endingen",cantonCode:"AG"},{postalCode:"5305",placeName:"Unterendingen",cantonCode:"AG"},{postalCode:"5306",placeName:"Tegerfelden",cantonCode:"AG"},{postalCode:"5312",placeName:"Döttingen",cantonCode:"AG"},{postalCode:"5313",placeName:"Klingnau",cantonCode:"AG"},{postalCode:"5314",placeName:"Kleindöttingen",cantonCode:"AG"},{postalCode:"5315",placeName:"Böttstein",cantonCode:"AG"},{postalCode:"5316",placeName:"Leuggern",cantonCode:"AG"},{postalCode:"5317",placeName:"Hettenschwil",cantonCode:"AG"},{postalCode:"5322",placeName:"Koblenz",cantonCode:"AG"},{postalCode:"5323",placeName:"Rietheim",cantonCode:"AG"},{postalCode:"5324",placeName:"Full-Reuenthal",cantonCode:"AG"},{postalCode:"5325",placeName:"Leibstadt",cantonCode:"AG"},{postalCode:"5330",placeName:"Bad Zurzach",cantonCode:"AG"},{postalCode:"5332",placeName:"Rekingen AG",cantonCode:"AG"},{postalCode:"5333",placeName:"Baldingen",cantonCode:"AG"},{postalCode:"5334",placeName:"Böbikon",cantonCode:"AG"},{postalCode:"5425",placeName:"Schneisingen",cantonCode:"AG"},{postalCode:"5426",placeName:"Lengnau AG",cantonCode:"AG"},{postalCode:"5462",placeName:"Siglistorf",cantonCode:"AG"},{postalCode:"5463",placeName:"Wislikofen",cantonCode:"AG"},{postalCode:"5464",placeName:"Rümikon AG",cantonCode:"AG"},{postalCode:"5465",placeName:"Mellikon",cantonCode:"AG"},{postalCode:"5466",placeName:"Kaiserstuhl AG",cantonCode:"AG"},{postalCode:"5467",placeName:"Fisibach",cantonCode:"AG"},{postalCode:"9050",placeName:"Appenzell",cantonCode:"AI"},{postalCode:"9050",placeName:"Appenzell Eggerstanden",cantonCode:"AI"},{postalCode:"9050",placeName:"Appenzell Schlatt",cantonCode:"AI"},{postalCode:"9050",placeName:"Appenzell Enggenhütten",cantonCode:"AI"},{postalCode:"9050",placeName:"Appenzell Meistersrüte",cantonCode:"AI"},{postalCode:"9050",placeName:"Appenzell Steinegg",cantonCode:"AI"},{postalCode:"9054",placeName:"Haslen AI",cantonCode:"AI"},{postalCode:"9057",placeName:"Wasserauen",cantonCode:"AI"},{postalCode:"9057",placeName:"Weissbad",cantonCode:"AI"},{postalCode:"9057",placeName:"Schwende",cantonCode:"AI"},{postalCode:"9058",placeName:"Brülisau",cantonCode:"AI"},{postalCode:"9108",placeName:"Jakobsbad",cantonCode:"AI"},{postalCode:"9108",placeName:"Gontenbad",cantonCode:"AI"},{postalCode:"9108",placeName:"Gonten",cantonCode:"AI"},{postalCode:"9413",placeName:"Oberegg",cantonCode:"AI"},{postalCode:"9413",placeName:"Oberegg",cantonCode:"AI"},{postalCode:"9442",placeName:"Büriswilen",cantonCode:"AI"},{postalCode:"9063",placeName:"Stein AR",cantonCode:"AR"},{postalCode:"9064",placeName:"Hundwil",cantonCode:"AR"},{postalCode:"9100",placeName:"Herisau",cantonCode:"AR"},{postalCode:"9102",placeName:"Herisau",cantonCode:"AR"},{postalCode:"9103",placeName:"Schwellbrunn",cantonCode:"AR"},{postalCode:"9104",placeName:"Waldstatt",cantonCode:"AR"},{postalCode:"9105",placeName:"Schönengrund",cantonCode:"AR"},{postalCode:"9107",placeName:"Urnäsch",cantonCode:"AR"},{postalCode:"9112",placeName:"Schachen b. Herisau",cantonCode:"AR"},{postalCode:"9037",placeName:"Speicherschwendi",cantonCode:"AR"},{postalCode:"9042",placeName:"Speicher",cantonCode:"AR"},{postalCode:"9043",placeName:"Trogen",cantonCode:"AR"},{postalCode:"9052",placeName:"Niederteufen",cantonCode:"AR"},{postalCode:"9053",placeName:"Teufen AR",cantonCode:"AR"},{postalCode:"9055",placeName:"Bühler",cantonCode:"AR"},{postalCode:"9056",placeName:"Gais",cantonCode:"AR"},{postalCode:"9062",placeName:"Lustmühle",cantonCode:"AR"},{postalCode:"9035",placeName:"Grub AR",cantonCode:"AR"},{postalCode:"9038",placeName:"Rehetobel",cantonCode:"AR"},{postalCode:"9044",placeName:"Wald AR",cantonCode:"AR"},{postalCode:"9405",placeName:"Wienacht-Tobel",cantonCode:"AR"},{postalCode:"9410",placeName:"Heiden",cantonCode:"AR"},{postalCode:"9411",placeName:"Schachen b. Reute",cantonCode:"AR"},{postalCode:"9411",placeName:"Reute AR",cantonCode:"AR"},{postalCode:"9426",placeName:"Lutzenberg",cantonCode:"AR"},{postalCode:"9427",placeName:"Wolfhalden",cantonCode:"AR"},{postalCode:"9428",placeName:"Walzenhausen",cantonCode:"AR"},{postalCode:"2333",placeName:"La Ferrière",cantonCode:"BE"},{postalCode:"2345",placeName:"Le Cerneux-Veusil",cantonCode:"BE"},{postalCode:"2515",placeName:"Prêles",cantonCode:"BE"},{postalCode:"2516",placeName:"Lamboing",cantonCode:"BE"},{postalCode:"2517",placeName:"Diesse",cantonCode:"BE"},{postalCode:"2518",placeName:"Nods",cantonCode:"BE"},{postalCode:"2520",placeName:"La Neuveville",cantonCode:"BE"},{postalCode:"2534",placeName:"Les Prés-d'Orvin",cantonCode:"BE"},{postalCode:"2534",placeName:"Orvin",cantonCode:"BE"},{postalCode:"2535",placeName:"Frinvillier",cantonCode:"BE"},{postalCode:"2536",placeName:"Plagne",cantonCode:"BE"},{postalCode:"2537",placeName:"Vauffelin",cantonCode:"BE"},{postalCode:"2538",placeName:"Romont BE",cantonCode:"BE"},{postalCode:"2603",placeName:"Péry",cantonCode:"BE"},{postalCode:"2604",placeName:"La Heutte",cantonCode:"BE"},{postalCode:"2605",placeName:"Sonceboz-Sombeval",cantonCode:"BE"},{postalCode:"2606",placeName:"Corgémont",cantonCode:"BE"},{postalCode:"2607",placeName:"Cortébert",cantonCode:"BE"},{postalCode:"2608",placeName:"Courtelary",cantonCode:"BE"},{postalCode:"2608",placeName:"Montagne-de-Courtelary",cantonCode:"BE"},{postalCode:"2610",placeName:"St-Imier",cantonCode:"BE"},{postalCode:"2610",placeName:"Mont-Crosin",cantonCode:"BE"},{postalCode:"2610",placeName:"Mont-Soleil",cantonCode:"BE"},{postalCode:"2610",placeName:"Les Pontins",cantonCode:"BE"},{postalCode:"2612",placeName:"Cormoret",cantonCode:"BE"},{postalCode:"2613",placeName:"Villeret",cantonCode:"BE"},{postalCode:"2615",placeName:"Sonvilier",cantonCode:"BE"},{postalCode:"2615",placeName:"Montagne-de-Sonvilier",cantonCode:"BE"},{postalCode:"2616",placeName:"Renan BE",cantonCode:"BE"},{postalCode:"2710",placeName:"Tavannes",cantonCode:"BE"},{postalCode:"2712",placeName:"Le Fuet",cantonCode:"BE"},{postalCode:"2713",placeName:"Bellelay",cantonCode:"BE"},{postalCode:"2715",placeName:"Monible",cantonCode:"BE"},{postalCode:"2715",placeName:"Châtelat",cantonCode:"BE"},{postalCode:"2716",placeName:"Sornetan",cantonCode:"BE"},{postalCode:"2717",placeName:"Fornet-Dessous",cantonCode:"BE"},{postalCode:"2717",placeName:"Rebévelier",cantonCode:"BE"},{postalCode:"2720",placeName:"Tramelan",cantonCode:"BE"},{postalCode:"2720",placeName:"La Tanne",cantonCode:"BE"},{postalCode:"2722",placeName:"Les Reussilles",cantonCode:"BE"},{postalCode:"2723",placeName:"Mont-Tramelan",cantonCode:"BE"},{postalCode:"2732",placeName:"Loveresse",cantonCode:"BE"},{postalCode:"2732",placeName:"Saicourt",cantonCode:"BE"},{postalCode:"2732",placeName:"Saules BE",cantonCode:"BE"},{postalCode:"2732",placeName:"Reconvilier",cantonCode:"BE"},{postalCode:"2733",placeName:"Pontenet",cantonCode:"BE"},{postalCode:"2735",placeName:"Malleray-Bévilard",cantonCode:"BE"},{postalCode:"2735",placeName:"Bévilard",cantonCode:"BE"},{postalCode:"2735",placeName:"Champoz",cantonCode:"BE"},{postalCode:"2735",placeName:"Malleray",cantonCode:"BE"},{postalCode:"2736",placeName:"Sorvilier",cantonCode:"BE"},{postalCode:"2738",placeName:"Court",cantonCode:"BE"},{postalCode:"2740",placeName:"Moutier",cantonCode:"BE"},{postalCode:"2742",placeName:"Perrefitte",cantonCode:"BE"},{postalCode:"2743",placeName:"Eschert",cantonCode:"BE"},{postalCode:"2744",placeName:"Belprahon",cantonCode:"BE"},{postalCode:"2745",placeName:"Grandval",cantonCode:"BE"},{postalCode:"2746",placeName:"Crémines",cantonCode:"BE"},{postalCode:"2747",placeName:"Corcelles BE",cantonCode:"BE"},{postalCode:"2747",placeName:"Seehof",cantonCode:"BE"},{postalCode:"2748",placeName:"Souboz",cantonCode:"BE"},{postalCode:"2748",placeName:"Les Ecorcheresses",cantonCode:"BE"},{postalCode:"2762",placeName:"Roches BE",cantonCode:"BE"},{postalCode:"2827",placeName:"Schelten",cantonCode:"BE"},{postalCode:"2500",placeName:"Biel/Bienne 4",cantonCode:"BE"},{postalCode:"2500",placeName:"Biel/Bienne",cantonCode:"BE"},{postalCode:"2500",placeName:"Biel/Bienne 6",cantonCode:"BE"},{postalCode:"2501",placeName:"Biel/Bienne",cantonCode:"BE"},{postalCode:"2502",placeName:"Biel/Bienne",cantonCode:"BE"},{postalCode:"2503",placeName:"Biel/Bienne",cantonCode:"BE"},{postalCode:"2504",placeName:"Biel/Bienne",cantonCode:"BE"},{postalCode:"2505",placeName:"Biel/Bienne",cantonCode:"BE"},{postalCode:"2512",placeName:"Tüscherz-Alfermée",cantonCode:"BE"},{postalCode:"2513",placeName:"Twann",cantonCode:"BE"},{postalCode:"2514",placeName:"Ligerz",cantonCode:"BE"},{postalCode:"2532",placeName:"Macolin",cantonCode:"BE"},{postalCode:"2532",placeName:"Magglingen/Macolin",cantonCode:"BE"},{postalCode:"2533",placeName:"Evilard",cantonCode:"BE"},{postalCode:"2542",placeName:"Pieterlen",cantonCode:"BE"},{postalCode:"2543",placeName:"Lengnau BE",cantonCode:"BE"},{postalCode:"2552",placeName:"Orpund",cantonCode:"BE"},{postalCode:"2553",placeName:"Safnern",cantonCode:"BE"},{postalCode:"2554",placeName:"Meinisberg",cantonCode:"BE"},{postalCode:"2555",placeName:"Brügg BE",cantonCode:"BE"},{postalCode:"2556",placeName:"Scheuren",cantonCode:"BE"},{postalCode:"2556",placeName:"Schwadernau",cantonCode:"BE"},{postalCode:"2558",placeName:"Aegerten",cantonCode:"BE"},{postalCode:"2560",placeName:"Nidau",cantonCode:"BE"},{postalCode:"2562",placeName:"Port",cantonCode:"BE"},{postalCode:"2563",placeName:"Ipsach",cantonCode:"BE"},{postalCode:"2564",placeName:"Bellmund",cantonCode:"BE"},{postalCode:"2572",placeName:"Mörigen",cantonCode:"BE"},{postalCode:"2572",placeName:"Sutz",cantonCode:"BE"},{postalCode:"2557",placeName:"Studen BE",cantonCode:"BE"},{postalCode:"2565",placeName:"Jens",cantonCode:"BE"},{postalCode:"2575",placeName:"Gerolfingen",cantonCode:"BE"},{postalCode:"2575",placeName:"Hagneck",cantonCode:"BE"},{postalCode:"2575",placeName:"Täuffelen",cantonCode:"BE"},{postalCode:"2576",placeName:"Lüscherz",cantonCode:"BE"},{postalCode:"2577",placeName:"Siselen BE",cantonCode:"BE"},{postalCode:"2577",placeName:"Finsterhennen",cantonCode:"BE"},{postalCode:"3035",placeName:"Frieswil",cantonCode:"BE"},{postalCode:"3036",placeName:"Detligen",cantonCode:"BE"},{postalCode:"3053",placeName:"Lätti",cantonCode:"BE"},{postalCode:"3054",placeName:"Schüpfen",cantonCode:"BE"},{postalCode:"3225",placeName:"Müntschemier",cantonCode:"BE"},{postalCode:"3226",placeName:"Treiten",cantonCode:"BE"},{postalCode:"3232",placeName:"Ins",cantonCode:"BE"},{postalCode:"3233",placeName:"Tschugg",cantonCode:"BE"},{postalCode:"3234",placeName:"Vinelz",cantonCode:"BE"},{postalCode:"3235",placeName:"Erlach",cantonCode:"BE"},{postalCode:"3236",placeName:"Gampelen",cantonCode:"BE"},{postalCode:"3237",placeName:"Brüttelen",cantonCode:"BE"},{postalCode:"3238",placeName:"Gals",cantonCode:"BE"},{postalCode:"3250",placeName:"Lyss",cantonCode:"BE"},{postalCode:"3251",placeName:"Wengi b. Büren",cantonCode:"BE"},{postalCode:"3251",placeName:"Ruppoldsried",cantonCode:"BE"},{postalCode:"3252",placeName:"Worben",cantonCode:"BE"},{postalCode:"3255",placeName:"Rapperswil BE",cantonCode:"BE"},{postalCode:"3256",placeName:"Seewil",cantonCode:"BE"},{postalCode:"3256",placeName:"Dieterswil",cantonCode:"BE"},{postalCode:"3256",placeName:"Bangerten b. Dieterswil",cantonCode:"BE"},{postalCode:"3257",placeName:"Grossaffoltern",cantonCode:"BE"},{postalCode:"3257",placeName:"Ammerzwil BE",cantonCode:"BE"},{postalCode:"3262",placeName:"Suberg",cantonCode:"BE"},{postalCode:"3263",placeName:"Büetigen",cantonCode:"BE"},{postalCode:"3264",placeName:"Diessbach b. Büren",cantonCode:"BE"},{postalCode:"3266",placeName:"Wiler b. Seedorf",cantonCode:"BE"},{postalCode:"3267",placeName:"Seedorf BE",cantonCode:"BE"},{postalCode:"3268",placeName:"Lobsigen",cantonCode:"BE"},{postalCode:"3270",placeName:"Aarberg",cantonCode:"BE"},{postalCode:"3271",placeName:"Radelfingen b. Aarberg",cantonCode:"BE"},{postalCode:"3272",placeName:"Walperswil",cantonCode:"BE"},{postalCode:"3272",placeName:"Epsach",cantonCode:"BE"},{postalCode:"3273",placeName:"Kappelen",cantonCode:"BE"},{postalCode:"3274",placeName:"Merzligen",cantonCode:"BE"},{postalCode:"3274",placeName:"Hermrigen",cantonCode:"BE"},{postalCode:"3274",placeName:"Bühl b. Aarberg",cantonCode:"BE"},{postalCode:"3282",placeName:"Bargen BE",cantonCode:"BE"},{postalCode:"3283",placeName:"Kallnach",cantonCode:"BE"},{postalCode:"3283",placeName:"Niederried b. Kallnach",cantonCode:"BE"},{postalCode:"3292",placeName:"Busswil BE",cantonCode:"BE"},{postalCode:"3293",placeName:"Dotzigen",cantonCode:"BE"},{postalCode:"3294",placeName:"Meienried",cantonCode:"BE"},{postalCode:"3294",placeName:"Büren an der Aare",cantonCode:"BE"},{postalCode:"3295",placeName:"Rüti b. Büren",cantonCode:"BE"},{postalCode:"3296",placeName:"Arch",cantonCode:"BE"},{postalCode:"3297",placeName:"Leuzigen",cantonCode:"BE"},{postalCode:"3298",placeName:"Oberwil b. Büren",cantonCode:"BE"},{postalCode:"3360",placeName:"Herzogenbuchsee",cantonCode:"BE"},{postalCode:"3362",placeName:"Niederönz",cantonCode:"BE"},{postalCode:"3363",placeName:"Oberönz",cantonCode:"BE"},{postalCode:"3365",placeName:"Seeberg",cantonCode:"BE"},{postalCode:"3365",placeName:"Grasswil",cantonCode:"BE"},{postalCode:"3366",placeName:"Bettenhausen",cantonCode:"BE"},{postalCode:"3366",placeName:"Bollodingen",cantonCode:"BE"},{postalCode:"3367",placeName:"Ochlenberg",cantonCode:"BE"},{postalCode:"3367",placeName:"Thörigen",cantonCode:"BE"},{postalCode:"3368",placeName:"Bleienbach",cantonCode:"BE"},{postalCode:"3372",placeName:"Wanzwil",cantonCode:"BE"},{postalCode:"3373",placeName:"Röthenbach Herzogenbuchsee",cantonCode:"BE"},{postalCode:"3373",placeName:"Heimenhausen",cantonCode:"BE"},{postalCode:"3374",placeName:"Wangenried",cantonCode:"BE"},{postalCode:"3375",placeName:"Inkwil",cantonCode:"BE"},{postalCode:"3376",placeName:"Berken",cantonCode:"BE"},{postalCode:"3376",placeName:"Graben",cantonCode:"BE"},{postalCode:"3377",placeName:"Walliswil b. Wangen",cantonCode:"BE"},{postalCode:"3380",placeName:"Wangen an der Aare",cantonCode:"BE"},{postalCode:"3380",placeName:"Walliswil b. Niederbipp",cantonCode:"BE"},{postalCode:"3464",placeName:"Schmidigen-Mühleweg",cantonCode:"BE"},{postalCode:"3475",placeName:"Hermiswil",cantonCode:"BE"},{postalCode:"3475",placeName:"Riedtwil",cantonCode:"BE"},{postalCode:"3476",placeName:"Oschwand",cantonCode:"BE"},{postalCode:"4536",placeName:"Attiswil",cantonCode:"BE"},{postalCode:"4537",placeName:"Wiedlisbach",cantonCode:"BE"},{postalCode:"4538",placeName:"Oberbipp",cantonCode:"BE"},{postalCode:"4539",placeName:"Rumisberg",cantonCode:"BE"},{postalCode:"4539",placeName:"Farnern",cantonCode:"BE"},{postalCode:"4704",placeName:"Niederbipp",cantonCode:"BE"},{postalCode:"4704",placeName:"Wolfisberg",cantonCode:"BE"},{postalCode:"4900",placeName:"Langenthal",cantonCode:"BE"},{postalCode:"4901",placeName:"Langenthal",cantonCode:"BE"},{postalCode:"4911",placeName:"Schwarzhäusern",cantonCode:"BE"},{postalCode:"4912",placeName:"Aarwangen",cantonCode:"BE"},{postalCode:"4913",placeName:"Bannwil",cantonCode:"BE"},{postalCode:"4914",placeName:"Roggwil BE",cantonCode:"BE"},{postalCode:"4916",placeName:"Untersteckholz",cantonCode:"BE"},{postalCode:"4917",placeName:"Melchnau",cantonCode:"BE"},{postalCode:"4917",placeName:"Busswil b. Melchnau",cantonCode:"BE"},{postalCode:"4919",placeName:"Reisiswil",cantonCode:"BE"},{postalCode:"4922",placeName:"Thunstetten",cantonCode:"BE"},{postalCode:"4922",placeName:"Bützberg",cantonCode:"BE"},{postalCode:"4923",placeName:"Wynau",cantonCode:"BE"},{postalCode:"4924",placeName:"Obersteckholz",cantonCode:"BE"},{postalCode:"4932",placeName:"Lotzwil",cantonCode:"BE"},{postalCode:"4932",placeName:"Gutenburg",cantonCode:"BE"},{postalCode:"4933",placeName:"Rütschelen",cantonCode:"BE"},{postalCode:"4934",placeName:"Madiswil",cantonCode:"BE"},{postalCode:"4935",placeName:"Leimiswil",cantonCode:"BE"},{postalCode:"4936",placeName:"Kleindietwil",cantonCode:"BE"},{postalCode:"4937",placeName:"Ursenbach",cantonCode:"BE"},{postalCode:"4938",placeName:"Rohrbach",cantonCode:"BE"},{postalCode:"4938",placeName:"Rohrbachgraben",cantonCode:"BE"},{postalCode:"4942",placeName:"Walterswil BE",cantonCode:"BE"},{postalCode:"4943",placeName:"Oeschenbach",cantonCode:"BE"},{postalCode:"4944",placeName:"Auswil",cantonCode:"BE"},{postalCode:"4950",placeName:"Huttwil",cantonCode:"BE"},{postalCode:"4952",placeName:"Eriswil",cantonCode:"BE"},{postalCode:"4953",placeName:"Schwarzenbach (Huttwil)",cantonCode:"BE"},{postalCode:"4954",placeName:"Wyssachen",cantonCode:"BE"},{postalCode:"4955",placeName:"Gondiswil",cantonCode:"BE"},{postalCode:"3309",placeName:"Kernenried",cantonCode:"BE"},{postalCode:"3315",placeName:"Kräiligen",cantonCode:"BE"},{postalCode:"3315",placeName:"Bätterkinden",cantonCode:"BE"},{postalCode:"3324",placeName:"Hindelbank",cantonCode:"BE"},{postalCode:"3324",placeName:"Mötschwil",cantonCode:"BE"},{postalCode:"3325",placeName:"Hettiswil b. Hindelbank",cantonCode:"BE"},{postalCode:"3326",placeName:"Krauchthal",cantonCode:"BE"},{postalCode:"3400",placeName:"Burgdorf",cantonCode:"BE"},{postalCode:"3401",placeName:"Burgdorf",cantonCode:"BE"},{postalCode:"3412",placeName:"Heimiswil",cantonCode:"BE"},{postalCode:"3413",placeName:"Kaltacker",cantonCode:"BE"},{postalCode:"3414",placeName:"Oberburg",cantonCode:"BE"},{postalCode:"3415",placeName:"Schafhausen im Emmental",cantonCode:"BE"},{postalCode:"3415",placeName:"Rüegsauschachen",cantonCode:"BE"},{postalCode:"3415",placeName:"Hasle-Rüegsau",cantonCode:"BE"},{postalCode:"3415",placeName:"Hasle b. Burgdorf",cantonCode:"BE"},{postalCode:"3416",placeName:"Affoltern im Emmental",cantonCode:"BE"},{postalCode:"3417",placeName:"Rüegsau",cantonCode:"BE"},{postalCode:"3418",placeName:"Rüegsbach",cantonCode:"BE"},{postalCode:"3419",placeName:"Biembach im Emmental",cantonCode:"BE"},{postalCode:"3421",placeName:"Lyssach",cantonCode:"BE"},{postalCode:"3421",placeName:"Lyssach",cantonCode:"BE"},{postalCode:"3421",placeName:"Rüti b. Lyssach",cantonCode:"BE"},{postalCode:"3422",placeName:"Kirchberg BE",cantonCode:"BE"},{postalCode:"3422",placeName:"Rüdtligen",cantonCode:"BE"},{postalCode:"3422",placeName:"Alchenflüh",cantonCode:"BE"},{postalCode:"3423",placeName:"Ersigen",cantonCode:"BE"},{postalCode:"3424",placeName:"Niederösch",cantonCode:"BE"},{postalCode:"3424",placeName:"Oberösch",cantonCode:"BE"},{postalCode:"3425",placeName:"Willadingen",cantonCode:"BE"},{postalCode:"3425",placeName:"Koppigen",cantonCode:"BE"},{postalCode:"3426",placeName:"Aefligen",cantonCode:"BE"},{postalCode:"3427",placeName:"Utzenstorf",cantonCode:"BE"},{postalCode:"3428",placeName:"Wiler b. Utzenstorf",cantonCode:"BE"},{postalCode:"3429",placeName:"Hellsau",cantonCode:"BE"},{postalCode:"3429",placeName:"Höchstetten",cantonCode:"BE"},{postalCode:"3432",placeName:"Lützelflüh-Goldbach",cantonCode:"BE"},{postalCode:"3433",placeName:"Schwanden im Emmental",cantonCode:"BE"},{postalCode:"3435",placeName:"Ramsei",cantonCode:"BE"},{postalCode:"3436",placeName:"Zollbrück",cantonCode:"BE"},{postalCode:"3437",placeName:"Rüderswil",cantonCode:"BE"},{postalCode:"3438",placeName:"Lauperswil",cantonCode:"BE"},{postalCode:"3439",placeName:"Ranflüh",cantonCode:"BE"},{postalCode:"3452",placeName:"Grünenmatt",cantonCode:"BE"},{postalCode:"3453",placeName:"Heimisbach",cantonCode:"BE"},{postalCode:"3454",placeName:"Sumiswald",cantonCode:"BE"},{postalCode:"3455",placeName:"Grünen",cantonCode:"BE"},{postalCode:"3456",placeName:"Trachselwald",cantonCode:"BE"},{postalCode:"3457",placeName:"Wasen im Emmental",cantonCode:"BE"},{postalCode:"3462",placeName:"Weier im Emmental",cantonCode:"BE"},{postalCode:"3463",placeName:"Häusernmoos im Emmental",cantonCode:"BE"},{postalCode:"3465",placeName:"Dürrenroth",cantonCode:"BE"},{postalCode:"3472",placeName:"Rumendingen",cantonCode:"BE"},{postalCode:"3472",placeName:"Wynigen",cantonCode:"BE"},{postalCode:"3473",placeName:"Alchenstorf",cantonCode:"BE"},{postalCode:"3474",placeName:"Rüedisbach",cantonCode:"BE"},{postalCode:"3534",placeName:"Signau",cantonCode:"BE"},{postalCode:"3535",placeName:"Schüpbach",cantonCode:"BE"},{postalCode:"3536",placeName:"Aeschau",cantonCode:"BE"},{postalCode:"3537",placeName:"Eggiwil",cantonCode:"BE"},{postalCode:"3538",placeName:"Röthenbach im Emmental",cantonCode:"BE"},{postalCode:"3543",placeName:"Emmenmatt",cantonCode:"BE"},{postalCode:"3550",placeName:"Langnau im Emmental",cantonCode:"BE"},{postalCode:"3551",placeName:"Oberfrittenbach",cantonCode:"BE"},{postalCode:"3552",placeName:"Bärau",cantonCode:"BE"},{postalCode:"3553",placeName:"Gohl",cantonCode:"BE"},{postalCode:"3555",placeName:"Trubschachen",cantonCode:"BE"},{postalCode:"3556",placeName:"Trub",cantonCode:"BE"},{postalCode:"3557",placeName:"Fankhaus (Trub)",cantonCode:"BE"},{postalCode:"3618",placeName:"Süderen",cantonCode:"BE"},{postalCode:"4564",placeName:"Zielebach",cantonCode:"BE"},{postalCode:"6197",placeName:"Schangnau",cantonCode:"BE"},{postalCode:"1595",placeName:"Clavaleyres",cantonCode:"BE"},{postalCode:"1738",placeName:"Sangernboden",cantonCode:"BE"},{postalCode:"1797",placeName:"Münchenwiler",cantonCode:"BE"},{postalCode:"3000",placeName:"Bern 9",cantonCode:"BE"},{postalCode:"3000",placeName:"Bern 5",cantonCode:"BE"},{postalCode:"3000",placeName:"Bern 31",cantonCode:"BE"},{postalCode:"3000",placeName:"Bern 65",cantonCode:"BE"},{postalCode:"3000",placeName:"Bern 94",cantonCode:"BE"},{postalCode:"3000",placeName:"Bern 13",cantonCode:"BE"},{postalCode:"3000",placeName:"Bern 8",cantonCode:"BE"},{postalCode:"3000",placeName:"Bern 6",cantonCode:"BE"},{postalCode:"3000",placeName:"Bern",cantonCode:"BE"},{postalCode:"3000",placeName:"Bern 60 UPD",cantonCode:"BE"},{postalCode:"3000",placeName:"Bern 14",cantonCode:"BE"},{postalCode:"3000",placeName:"Bern 22",cantonCode:"BE"},{postalCode:"3000",placeName:"Bern 65 SBB",cantonCode:"BE"},{postalCode:"3000",placeName:"Bern 16",cantonCode:"BE"},{postalCode:"3000",placeName:"Bern 15",cantonCode:"BE"},{postalCode:"3001",placeName:"Bern",cantonCode:"BE"},{postalCode:"3002",placeName:"Bern PostFinance",cantonCode:"BE"},{postalCode:"3003",placeName:"Bern",cantonCode:"BE"},{postalCode:"3004",placeName:"Bern",cantonCode:"BE"},{postalCode:"3005",placeName:"Bern",cantonCode:"BE"},{postalCode:"3006",placeName:"Bern",cantonCode:"BE"},{postalCode:"3007",placeName:"Bern",cantonCode:"BE"},{postalCode:"3008",placeName:"Bern",cantonCode:"BE"},{postalCode:"3010",placeName:"Bern",cantonCode:"BE"},{postalCode:"3011",placeName:"Bern",cantonCode:"BE"},{postalCode:"3011",placeName:"Bern",cantonCode:"BE"},{postalCode:"3012",placeName:"Bern",cantonCode:"BE"},{postalCode:"3013",placeName:"Bern",cantonCode:"BE"},{postalCode:"3014",placeName:"Bern",cantonCode:"BE"},{postalCode:"3015",placeName:"Bern",cantonCode:"BE"},{postalCode:"3018",placeName:"Bern",cantonCode:"BE"},{postalCode:"3019",placeName:"Bern",cantonCode:"BE"},{postalCode:"3020",placeName:"Bern",cantonCode:"BE"},{postalCode:"3024",placeName:"Bern",cantonCode:"BE"},{postalCode:"3027",placeName:"Bern",cantonCode:"BE"},{postalCode:"3029",placeName:"Bern",cantonCode:"BE"},{postalCode:"3030",placeName:"Bern",cantonCode:"BE"},{postalCode:"3032",placeName:"Hinterkappelen",cantonCode:"BE"},{postalCode:"3033",placeName:"Wohlen b. Bern",cantonCode:"BE"},{postalCode:"3034",placeName:"Murzelen",cantonCode:"BE"},{postalCode:"3037",placeName:"Herrenschwanden",cantonCode:"BE"},{postalCode:"3038",placeName:"Kirchlindach",cantonCode:"BE"},{postalCode:"3039",placeName:"Bern PF OC",cantonCode:"BE"},{postalCode:"3039",placeName:"Bern PF Operations Center",cantonCode:"BE"},{postalCode:"3040",placeName:"Bern Verarb.zentr.",cantonCode:"BE"},{postalCode:"3040",placeName:"Bern Verarbeitungszentrum",cantonCode:"BE"},{postalCode:"3041",placeName:"Bern UBS",cantonCode:"BE"},{postalCode:"3042",placeName:"Ortschwaben",cantonCode:"BE"},{postalCode:"3043",placeName:"Uettligen",cantonCode:"BE"},{postalCode:"3044",placeName:"Innerberg",cantonCode:"BE"},{postalCode:"3045",placeName:"Meikirch",cantonCode:"BE"},{postalCode:"3046",placeName:"Wahlendorf",cantonCode:"BE"},{postalCode:"3047",placeName:"Bremgarten b. Bern",cantonCode:"BE"},{postalCode:"3048",placeName:"Worblaufen",cantonCode:"BE"},{postalCode:"3049",placeName:"Säriswil",cantonCode:"BE"},{postalCode:"3050",placeName:"Bern Swisscom",cantonCode:"BE"},{postalCode:"3052",placeName:"Zollikofen",cantonCode:"BE"},{postalCode:"3053",placeName:"Diemerswil",cantonCode:"BE"},{postalCode:"3053",placeName:"Münchenbuchsee",cantonCode:"BE"},{postalCode:"3053",placeName:"Wiggiswil",cantonCode:"BE"},{postalCode:"3053",placeName:"Deisswil b. Münchenbuchsee",cantonCode:"BE"},{postalCode:"3063",placeName:"Ittigen",cantonCode:"BE"},{postalCode:"3065",placeName:"Bolligen",cantonCode:"BE"},{postalCode:"3066",placeName:"Stettlen",cantonCode:"BE"},{postalCode:"3067",placeName:"Boll",cantonCode:"BE"},{postalCode:"3068",placeName:"Utzigen",cantonCode:"BE"},{postalCode:"3071",placeName:"Ostermundigen KATA",cantonCode:"BE"},{postalCode:"3072",placeName:"Ostermundigen 1",cantonCode:"BE"},{postalCode:"3072",placeName:"Ostermundigen",cantonCode:"BE"},{postalCode:"3073",placeName:"Gümligen",cantonCode:"BE"},{postalCode:"3074",placeName:"Muri b. Bern",cantonCode:"BE"},{postalCode:"3075",placeName:"Vielbringen b. Worb",cantonCode:"BE"},{postalCode:"3075",placeName:"Rüfenacht BE",cantonCode:"BE"},{postalCode:"3076",placeName:"Worb",cantonCode:"BE"},{postalCode:"3077",placeName:"Enggistein",cantonCode:"BE"},{postalCode:"3078",placeName:"Richigen",cantonCode:"BE"},{postalCode:"3082",placeName:"Schlosswil",cantonCode:"BE"},{postalCode:"3083",placeName:"Trimstein",cantonCode:"BE"},{postalCode:"3084",placeName:"Wabern",cantonCode:"BE"},{postalCode:"3085",placeName:"Wabern Weihnachten",cantonCode:"BE"},{postalCode:"3085",placeName:"Wabern 2 x Weihnachten",cantonCode:"BE"},{postalCode:"3086",placeName:"Englisberg",cantonCode:"BE"},{postalCode:"3086",placeName:"Zimmerwald",cantonCode:"BE"},{postalCode:"3087",placeName:"Niedermuhlern",cantonCode:"BE"},{postalCode:"3088",placeName:"Rüeggisberg",cantonCode:"BE"},{postalCode:"3088",placeName:"Oberbütschel",cantonCode:"BE"},{postalCode:"3089",placeName:"Hinterfultigen",cantonCode:"BE"},{postalCode:"3095",placeName:"Spiegel b. Bern",cantonCode:"BE"},{postalCode:"3096",placeName:"Oberbalm",cantonCode:"BE"},{postalCode:"3097",placeName:"Liebefeld",cantonCode:"BE"},{postalCode:"3098",placeName:"Schliern b. Köniz",cantonCode:"BE"},{postalCode:"3098",placeName:"Köniz",cantonCode:"BE"},{postalCode:"3099",placeName:"Rüti b. Riggisberg",cantonCode:"BE"},{postalCode:"3110",placeName:"Münsingen",cantonCode:"BE"},{postalCode:"3111",placeName:"Tägertschi",cantonCode:"BE"},{postalCode:"3112",placeName:"Allmendingen b. Bern",cantonCode:"BE"},{postalCode:"3113",placeName:"Rubigen",cantonCode:"BE"},{postalCode:"3114",placeName:"Wichtrach",cantonCode:"BE"},{postalCode:"3115",placeName:"Gerzensee",cantonCode:"BE"},{postalCode:"3116",placeName:"Noflen BE",cantonCode:"BE"},{postalCode:"3116",placeName:"Kirchdorf BE",cantonCode:"BE"},{postalCode:"3116",placeName:"Mühledorf BE",cantonCode:"BE"},{postalCode:"3122",placeName:"Kehrsatz",cantonCode:"BE"},{postalCode:"3123",placeName:"Belp",cantonCode:"BE"},{postalCode:"3124",placeName:"Belpberg",cantonCode:"BE"},{postalCode:"3125",placeName:"Toffen",cantonCode:"BE"},{postalCode:"3126",placeName:"Kaufdorf",cantonCode:"BE"},{postalCode:"3126",placeName:"Gelterfingen",cantonCode:"BE"},{postalCode:"3127",placeName:"Lohnstorf",cantonCode:"BE"},{postalCode:"3127",placeName:"Mühlethurnen",cantonCode:"BE"},{postalCode:"3128",placeName:"Kirchenthurnen",cantonCode:"BE"},{postalCode:"3128",placeName:"Rümligen",cantonCode:"BE"},{postalCode:"3132",placeName:"Riggisberg",cantonCode:"BE"},{postalCode:"3144",placeName:"Gasel",cantonCode:"BE"},{postalCode:"3145",placeName:"Niederscherli",cantonCode:"BE"},{postalCode:"3147",placeName:"Mittelhäusern",cantonCode:"BE"},{postalCode:"3148",placeName:"Lanzenhäusern",cantonCode:"BE"},{postalCode:"3150",placeName:"Schwarzenburg",cantonCode:"BE"},{postalCode:"3152",placeName:"Mamishaus",cantonCode:"BE"},{postalCode:"3153",placeName:"Rüschegg Gambach",cantonCode:"BE"},{postalCode:"3154",placeName:"Rüschegg Heubach",cantonCode:"BE"},{postalCode:"3155",placeName:"Helgisried-Rohrbach",cantonCode:"BE"},{postalCode:"3156",placeName:"Riffenmatt",cantonCode:"BE"},{postalCode:"3157",placeName:"Milken",cantonCode:"BE"},{postalCode:"3158",placeName:"Guggisberg",cantonCode:"BE"},{postalCode:"3159",placeName:"Riedstätt",cantonCode:"BE"},{postalCode:"3172",placeName:"Niederwangen b. Bern",cantonCode:"BE"},{postalCode:"3173",placeName:"Oberwangen b. Bern",cantonCode:"BE"},{postalCode:"3174",placeName:"Thörishaus",cantonCode:"BE"},{postalCode:"3176",placeName:"Neuenegg",cantonCode:"BE"},{postalCode:"3177",placeName:"Laupen BE",cantonCode:"BE"},{postalCode:"3179",placeName:"Kriechenwil",cantonCode:"BE"},{postalCode:"3183",placeName:"Albligen",cantonCode:"BE"},{postalCode:"3202",placeName:"Frauenkappelen",cantonCode:"BE"},{postalCode:"3203",placeName:"Mühleberg",cantonCode:"BE"},{postalCode:"3204",placeName:"Rosshäusern",cantonCode:"BE"},{postalCode:"3205",placeName:"Gümmenen",cantonCode:"BE"},{postalCode:"3206",placeName:"Ferenbalm",cantonCode:"BE"},{postalCode:"3206",placeName:"Gammen",cantonCode:"BE"},{postalCode:"3206",placeName:"Biberen",cantonCode:"BE"},{postalCode:"3206",placeName:"Rizenbach",cantonCode:"BE"},{postalCode:"3207",placeName:"Wileroltigen",cantonCode:"BE"},{postalCode:"3207",placeName:"Golaten",cantonCode:"BE"},{postalCode:"3208",placeName:"Gurbrü",cantonCode:"BE"},{postalCode:"3302",placeName:"Moosseedorf",cantonCode:"BE"},{postalCode:"3303",placeName:"Jegenstorf",cantonCode:"BE"},{postalCode:"3303",placeName:"Münchringen",cantonCode:"BE"},{postalCode:"3303",placeName:"Zuzwil BE",cantonCode:"BE"},{postalCode:"3303",placeName:"Ballmoos",cantonCode:"BE"},{postalCode:"3305",placeName:"Iffwil",cantonCode:"BE"},{postalCode:"3305",placeName:"Scheunen",cantonCode:"BE"},{postalCode:"3306",placeName:"Etzelkofen",cantonCode:"BE"},{postalCode:"3308",placeName:"Grafenried",cantonCode:"BE"},{postalCode:"3309",placeName:"Zauggenried",cantonCode:"BE"},{postalCode:"3312",placeName:"Fraubrunnen",cantonCode:"BE"},{postalCode:"3313",placeName:"Büren zum Hof",cantonCode:"BE"},{postalCode:"3314",placeName:"Schalunen",cantonCode:"BE"},{postalCode:"3317",placeName:"Limpach",cantonCode:"BE"},{postalCode:"3317",placeName:"Mülchi",cantonCode:"BE"},{postalCode:"3321",placeName:"Schönbühl Einkaufszentrum",cantonCode:"BE"},{postalCode:"3321",placeName:"Schönbühl EKZ",cantonCode:"BE"},{postalCode:"3322",placeName:"Urtenen-Schönbühl",cantonCode:"BE"},{postalCode:"3322",placeName:"Mattstetten",cantonCode:"BE"},{postalCode:"3323",placeName:"Bäriswil BE",cantonCode:"BE"},{postalCode:"3434",placeName:"Landiswil",cantonCode:"BE"},{postalCode:"3434",placeName:"Obergoldbach",cantonCode:"BE"},{postalCode:"3503",placeName:"Gysenstein",cantonCode:"BE"},{postalCode:"3504",placeName:"Oberhünigen",cantonCode:"BE"},{postalCode:"3504",placeName:"Niederhünigen",cantonCode:"BE"},{postalCode:"3506",placeName:"Grosshöchstetten",cantonCode:"BE"},{postalCode:"3507",placeName:"Biglen",cantonCode:"BE"},{postalCode:"3508",placeName:"Arni BE",cantonCode:"BE"},{postalCode:"3510",placeName:"Häutligen",cantonCode:"BE"},{postalCode:"3510",placeName:"Konolfingen",cantonCode:"BE"},{postalCode:"3510",placeName:"Freimettigen",cantonCode:"BE"},{postalCode:"3512",placeName:"Walkringen",cantonCode:"BE"},{postalCode:"3513",placeName:"Bigenthal",cantonCode:"BE"},{postalCode:"3531",placeName:"Oberthal",cantonCode:"BE"},{postalCode:"3532",placeName:"Zäziwil",cantonCode:"BE"},{postalCode:"3532",placeName:"Mirchel",cantonCode:"BE"},{postalCode:"3533",placeName:"Bowil",cantonCode:"BE"},{postalCode:"3629",placeName:"Kiesen",cantonCode:"BE"},{postalCode:"3629",placeName:"Jaberg",cantonCode:"BE"},{postalCode:"3629",placeName:"Oppligen",cantonCode:"BE"},{postalCode:"3671",placeName:"Herbligen",cantonCode:"BE"},{postalCode:"3671",placeName:"Brenzikofen",cantonCode:"BE"},{postalCode:"3672",placeName:"Oberdiessbach",cantonCode:"BE"},{postalCode:"3672",placeName:"Aeschlen b. Oberdiessbach",cantonCode:"BE"},{postalCode:"3673",placeName:"Linden",cantonCode:"BE"},{postalCode:"3674",placeName:"Bleiken b. Oberdiessbach",cantonCode:"BE"},{postalCode:"3600",placeName:"Thun",cantonCode:"BE"},{postalCode:"3602",placeName:"Thun",cantonCode:"BE"},{postalCode:"3603",placeName:"Thun",cantonCode:"BE"},{postalCode:"3604",placeName:"Thun",cantonCode:"BE"},{postalCode:"3607",placeName:"Thun",cantonCode:"BE"},{postalCode:"3608",placeName:"Thun",cantonCode:"BE"},{postalCode:"3609",placeName:"Thun",cantonCode:"BE"},{postalCode:"3612",placeName:"Steffisburg",cantonCode:"BE"},{postalCode:"3613",placeName:"Steffisburg",cantonCode:"BE"},{postalCode:"3614",placeName:"Unterlangenegg",cantonCode:"BE"},{postalCode:"3615",placeName:"Heimenschwand",cantonCode:"BE"},{postalCode:"3616",placeName:"Schwarzenegg",cantonCode:"BE"},{postalCode:"3617",placeName:"Fahrni b. Thun",cantonCode:"BE"},{postalCode:"3619",placeName:"Eriz",cantonCode:"BE"},{postalCode:"3619",placeName:"Innereriz",cantonCode:"BE"},{postalCode:"3622",placeName:"Homberg b. Thun",cantonCode:"BE"},{postalCode:"3623",placeName:"Horrenbach",cantonCode:"BE"},{postalCode:"3623",placeName:"Teuffenthal b. Thun",cantonCode:"BE"},{postalCode:"3623",placeName:"Buchen BE",cantonCode:"BE"},{postalCode:"3624",placeName:"Schwendibach",cantonCode:"BE"},{postalCode:"3624",placeName:"Goldiwil (Thun)",cantonCode:"BE"},{postalCode:"3625",placeName:"Heiligenschwendi",cantonCode:"BE"},{postalCode:"3626",placeName:"Hünibach",cantonCode:"BE"},{postalCode:"3627",placeName:"Heimberg",cantonCode:"BE"},{postalCode:"3628",placeName:"Uttigen",cantonCode:"BE"},{postalCode:"3631",placeName:"Höfen b. Thun",cantonCode:"BE"},{postalCode:"3632",placeName:"Niederstocken",cantonCode:"BE"},{postalCode:"3632",placeName:"Oberstocken",cantonCode:"BE"},{postalCode:"3633",placeName:"Amsoldingen",cantonCode:"BE"},{postalCode:"3634",placeName:"Thierachern",cantonCode:"BE"},{postalCode:"3635",placeName:"Uebeschi",cantonCode:"BE"},{postalCode:"3636",placeName:"Längenbühl",cantonCode:"BE"},{postalCode:"3636",placeName:"Forst b. Längenbühl",cantonCode:"BE"},{postalCode:"3638",placeName:"Pohlern",cantonCode:"BE"},{postalCode:"3638",placeName:"Blumenstein",cantonCode:"BE"},{postalCode:"3645",placeName:"Zwieselberg",cantonCode:"BE"},{postalCode:"3647",placeName:"Reutigen",cantonCode:"BE"},{postalCode:"3652",placeName:"Hilterfingen",cantonCode:"BE"},{postalCode:"3653",placeName:"Oberhofen am Thunersee",cantonCode:"BE"},{postalCode:"3654",placeName:"Gunten",cantonCode:"BE"},{postalCode:"3655",placeName:"Sigriswil",cantonCode:"BE"},{postalCode:"3656",placeName:"Tschingel ob Gunten",cantonCode:"BE"},{postalCode:"3656",placeName:"Aeschlen ob Gunten",cantonCode:"BE"},{postalCode:"3656",placeName:"Ringoldswil",cantonCode:"BE"},{postalCode:"3657",placeName:"Schwanden (Sigriswil)",cantonCode:"BE"},{postalCode:"3658",placeName:"Merligen",cantonCode:"BE"},{postalCode:"3661",placeName:"Uetendorf",cantonCode:"BE"},{postalCode:"3662",placeName:"Seftigen",cantonCode:"BE"},{postalCode:"3663",placeName:"Gurzelen",cantonCode:"BE"},{postalCode:"3664",placeName:"Burgistein",cantonCode:"BE"},{postalCode:"3665",placeName:"Wattenwil",cantonCode:"BE"},{postalCode:"1657",placeName:"Abländschen",cantonCode:"BE"},{postalCode:"3766",placeName:"Boltigen",cantonCode:"BE"},{postalCode:"3770",placeName:"Zweisimmen",cantonCode:"BE"},{postalCode:"3771",placeName:"Blankenburg",cantonCode:"BE"},{postalCode:"3772",placeName:"St. Stephan",cantonCode:"BE"},{postalCode:"3773",placeName:"Matten (St. Stephan)",cantonCode:"BE"},{postalCode:"3775",placeName:"Lenk im Simmental",cantonCode:"BE"},{postalCode:"3776",placeName:"Oeschseite",cantonCode:"BE"},{postalCode:"3777",placeName:"Saanenmöser",cantonCode:"BE"},{postalCode:"3778",placeName:"Schönried",cantonCode:"BE"},{postalCode:"3780",placeName:"Gstaad",cantonCode:"BE"},{postalCode:"3781",placeName:"Turbach",cantonCode:"BE"},{postalCode:"3782",placeName:"Lauenen b. Gstaad",cantonCode:"BE"},{postalCode:"3783",placeName:"Grund b. Gstaad",cantonCode:"BE"},{postalCode:"3784",placeName:"Feutersoey",cantonCode:"BE"},{postalCode:"3785",placeName:"Gsteig b. Gstaad",cantonCode:"BE"},{postalCode:"3792",placeName:"Saanen",cantonCode:"BE"},{postalCode:"3645",placeName:"Gwatt (Thun)",cantonCode:"BE"},{postalCode:"3646",placeName:"Einigen",cantonCode:"BE"},{postalCode:"3700",placeName:"Spiez",cantonCode:"BE"},{postalCode:"3702",placeName:"Hondrich",cantonCode:"BE"},{postalCode:"3703",placeName:"Aeschiried",cantonCode:"BE"},{postalCode:"3703",placeName:"Aeschi b. Spiez",cantonCode:"BE"},{postalCode:"3704",placeName:"Krattigen",cantonCode:"BE"},{postalCode:"3705",placeName:"Faulensee",cantonCode:"BE"},{postalCode:"3711",placeName:"Mülenen",cantonCode:"BE"},{postalCode:"3711",placeName:"Emdthal",cantonCode:"BE"},{postalCode:"3713",placeName:"Reichenbach im Kandertal",cantonCode:"BE"},{postalCode:"3714",placeName:"Wengi b. Frutigen",cantonCode:"BE"},{postalCode:"3714",placeName:"Frutigen",cantonCode:"BE"},{postalCode:"3715",placeName:"Adelboden",cantonCode:"BE"},{postalCode:"3716",placeName:"Kandergrund",cantonCode:"BE"},{postalCode:"3717",placeName:"Blausee-Mitholz",cantonCode:"BE"},{postalCode:"3718",placeName:"Kandersteg",cantonCode:"BE"},{postalCode:"3722",placeName:"Scharnachtal",cantonCode:"BE"},{postalCode:"3723",placeName:"Kiental",cantonCode:"BE"},{postalCode:"3724",placeName:"Ried (Frutigen)",cantonCode:"BE"},{postalCode:"3725",placeName:"Achseten",cantonCode:"BE"},{postalCode:"3752",placeName:"Wimmis",cantonCode:"BE"},{postalCode:"3753",placeName:"Oey",cantonCode:"BE"},{postalCode:"3754",placeName:"Diemtigen",cantonCode:"BE"},{postalCode:"3755",placeName:"Horboden",cantonCode:"BE"},{postalCode:"3756",placeName:"Zwischenflüh",cantonCode:"BE"},{postalCode:"3757",placeName:"Schwenden im Diemtigtal",cantonCode:"BE"},{postalCode:"3758",placeName:"Latterbach",cantonCode:"BE"},{postalCode:"3762",placeName:"Erlenbach im Simmental",cantonCode:"BE"},{postalCode:"3763",placeName:"Därstetten",cantonCode:"BE"},{postalCode:"3764",placeName:"Weissenburg",cantonCode:"BE"},{postalCode:"3765",placeName:"Oberwil im Simmental",cantonCode:"BE"},{postalCode:"3706",placeName:"Leissigen",cantonCode:"BE"},{postalCode:"3707",placeName:"Därligen",cantonCode:"BE"},{postalCode:"3800",placeName:"Sundlauenen",cantonCode:"BE"},{postalCode:"3800",placeName:"Interlaken",cantonCode:"BE"},{postalCode:"3800",placeName:"Unterseen",cantonCode:"BE"},{postalCode:"3800",placeName:"Interlaken",cantonCode:"BE"},{postalCode:"3800",placeName:"Matten b. Interlaken",cantonCode:"BE"},{postalCode:"3802",placeName:"Interlaken Ost",cantonCode:"BE"},{postalCode:"3803",placeName:"Beatenberg",cantonCode:"BE"},{postalCode:"3804",placeName:"Habkern",cantonCode:"BE"},{postalCode:"3805",placeName:"Goldswil b. Interlaken",cantonCode:"BE"},{postalCode:"3806",placeName:"Bönigen b. Interlaken",cantonCode:"BE"},{postalCode:"3807",placeName:"Iseltwald",cantonCode:"BE"},{postalCode:"3812",placeName:"Wilderswil",cantonCode:"BE"},{postalCode:"3813",placeName:"Saxeten",cantonCode:"BE"},{postalCode:"3814",placeName:"Gsteigwiler",cantonCode:"BE"},{postalCode:"3815",placeName:"Gündlischwand",cantonCode:"BE"},{postalCode:"3815",placeName:"Zweilütschinen",cantonCode:"BE"},{postalCode:"3816",placeName:"Lütschental",cantonCode:"BE"},{postalCode:"3816",placeName:"Burglauenen",cantonCode:"BE"},{postalCode:"3818",placeName:"Grindelwald",cantonCode:"BE"},{postalCode:"3822",placeName:"Isenfluh",cantonCode:"BE"},{postalCode:"3822",placeName:"Lauterbrunnen",cantonCode:"BE"},{postalCode:"3823",placeName:"Wengen",cantonCode:"BE"},{postalCode:"3823",placeName:"Eigergletscher",cantonCode:"BE"},{postalCode:"3823",placeName:"Kleine Scheidegg",cantonCode:"BE"},{postalCode:"3824",placeName:"Stechelberg",cantonCode:"BE"},{postalCode:"3825",placeName:"Mürren",cantonCode:"BE"},{postalCode:"3826",placeName:"Gimmelwald",cantonCode:"BE"},{postalCode:"3852",placeName:"Ringgenberg BE",cantonCode:"BE"},{postalCode:"3853",placeName:"Niederried b. Interlaken",cantonCode:"BE"},{postalCode:"3854",placeName:"Oberried am Brienzersee",cantonCode:"BE"},{postalCode:"3855",placeName:"Brienz BE",cantonCode:"BE"},{postalCode:"3855",placeName:"Axalp",cantonCode:"BE"},{postalCode:"3855",placeName:"Schwanden b. Brienz",cantonCode:"BE"},{postalCode:"3856",placeName:"Brienzwiler",cantonCode:"BE"},{postalCode:"3857",placeName:"Unterbach BE",cantonCode:"BE"},{postalCode:"3858",placeName:"Hofstetten b. Brienz",cantonCode:"BE"},{postalCode:"3860",placeName:"Rosenlaui",cantonCode:"BE"},{postalCode:"3860",placeName:"Brünig",cantonCode:"BE"},{postalCode:"3860",placeName:"Meiringen",cantonCode:"BE"},{postalCode:"3860",placeName:"Schattenhalb",cantonCode:"BE"},{postalCode:"3862",placeName:"Innertkirchen",cantonCode:"BE"},{postalCode:"3863",placeName:"Gadmen",cantonCode:"BE"},{postalCode:"3864",placeName:"Guttannen",cantonCode:"BE"},{postalCode:"6083",placeName:"Hasliberg Hohfluh",cantonCode:"BE"},{postalCode:"6084",placeName:"Hasliberg Wasserwendi",cantonCode:"BE"},{postalCode:"6085",placeName:"Hasliberg Goldern",cantonCode:"BE"},{postalCode:"6086",placeName:"Hasliberg Reuti",cantonCode:"BE"},{postalCode:"4040",placeName:"Basel",cantonCode:"BL"},{postalCode:"4042",placeName:"Basel PF OC",cantonCode:"BL"},{postalCode:"4042",placeName:"Basel PF Operations Center",cantonCode:"BL"},{postalCode:"4101",placeName:"Bruderholz",cantonCode:"BL"},{postalCode:"4102",placeName:"Binningen 1",cantonCode:"BL"},{postalCode:"4102",placeName:"Binningen",cantonCode:"BL"},{postalCode:"4103",placeName:"Bottmingen",cantonCode:"BL"},{postalCode:"4104",placeName:"Oberwil BL",cantonCode:"BL"},{postalCode:"4105",placeName:"Biel-Benken BL",cantonCode:"BL"},{postalCode:"4106",placeName:"Therwil",cantonCode:"BL"},{postalCode:"4107",placeName:"Ettingen",cantonCode:"BL"},{postalCode:"4123",placeName:"Allschwil 1",cantonCode:"BL"},{postalCode:"4123",placeName:"Allschwil",cantonCode:"BL"},{postalCode:"4124",placeName:"Schönenbuch",cantonCode:"BL"},{postalCode:"4127",placeName:"Birsfelden",cantonCode:"BL"},{postalCode:"4132",placeName:"Muttenz 1",cantonCode:"BL"},{postalCode:"4132",placeName:"Muttenz",cantonCode:"BL"},{postalCode:"4142",placeName:"Münchenstein 1",cantonCode:"BL"},{postalCode:"4142",placeName:"Münchenstein",cantonCode:"BL"},{postalCode:"4144",placeName:"Arlesheim",cantonCode:"BL"},{postalCode:"4147",placeName:"Aesch BL",cantonCode:"BL"},{postalCode:"4148",placeName:"Pfeffingen",cantonCode:"BL"},{postalCode:"4153",placeName:"Reinach BL",cantonCode:"BL"},{postalCode:"4153",placeName:"Reinach BL 1",cantonCode:"BL"},{postalCode:"2814",placeName:"Roggenburg",cantonCode:"BL"},{postalCode:"4117",placeName:"Burg im Leimental",cantonCode:"BL"},{postalCode:"4202",placeName:"Duggingen",cantonCode:"BL"},{postalCode:"4203",placeName:"Grellingen",cantonCode:"BL"},{postalCode:"4222",placeName:"Zwingen",cantonCode:"BL"},{postalCode:"4223",placeName:"Blauen",cantonCode:"BL"},{postalCode:"4224",placeName:"Nenzlingen",cantonCode:"BL"},{postalCode:"4225",placeName:"Brislach",cantonCode:"BL"},{postalCode:"4242",placeName:"Laufen",cantonCode:"BL"},{postalCode:"4243",placeName:"Dittingen",cantonCode:"BL"},{postalCode:"4244",placeName:"Röschenz",cantonCode:"BL"},{postalCode:"4246",placeName:"Wahlen b. Laufen",cantonCode:"BL"},{postalCode:"4253",placeName:"Liesberg",cantonCode:"BL"},{postalCode:"4254",placeName:"Liesberg Dorf",cantonCode:"BL"},{postalCode:"4133",placeName:"Pratteln",cantonCode:"BL"},{postalCode:"4133",placeName:"Pratteln 1",cantonCode:"BL"},{postalCode:"4302",placeName:"Augst BL",cantonCode:"BL"},{postalCode:"4304",placeName:"Giebenach",cantonCode:"BL"},{postalCode:"4402",placeName:"Frenkendorf",cantonCode:"BL"},{postalCode:"4410",placeName:"Liestal",cantonCode:"BL"},{postalCode:"4411",placeName:"Seltisberg",cantonCode:"BL"},{postalCode:"4414",placeName:"Füllinsdorf",cantonCode:"BL"},{postalCode:"4415",placeName:"Lausen",cantonCode:"BL"},{postalCode:"4416",placeName:"Bubendorf",cantonCode:"BL"},{postalCode:"4417",placeName:"Ziefen",cantonCode:"BL"},{postalCode:"4419",placeName:"Lupsingen",cantonCode:"BL"},{postalCode:"4422",placeName:"Arisdorf",cantonCode:"BL"},{postalCode:"4423",placeName:"Hersberg",cantonCode:"BL"},{postalCode:"4433",placeName:"Ramlinsburg",cantonCode:"BL"},{postalCode:"4441",placeName:"Thürnen",cantonCode:"BL"},{postalCode:"4442",placeName:"Diepflingen",cantonCode:"BL"},{postalCode:"4443",placeName:"Wittinsburg",cantonCode:"BL"},{postalCode:"4444",placeName:"Rümlingen",cantonCode:"BL"},{postalCode:"4445",placeName:"Häfelfingen",cantonCode:"BL"},{postalCode:"4446",placeName:"Buckten",cantonCode:"BL"},{postalCode:"4447",placeName:"Känerkinden",cantonCode:"BL"},{postalCode:"4448",placeName:"Läufelfingen",cantonCode:"BL"},{postalCode:"4450",placeName:"Sissach",cantonCode:"BL"},{postalCode:"4451",placeName:"Wintersingen",cantonCode:"BL"},{postalCode:"4452",placeName:"Itingen",cantonCode:"BL"},{postalCode:"4453",placeName:"Nusshof",cantonCode:"BL"},{postalCode:"4455",placeName:"Zunzgen",cantonCode:"BL"},{postalCode:"4456",placeName:"Tenniken",cantonCode:"BL"},{postalCode:"4460",placeName:"Gelterkinden",cantonCode:"BL"},{postalCode:"4461",placeName:"Böckten",cantonCode:"BL"},{postalCode:"4462",placeName:"Rickenbach BL",cantonCode:"BL"},{postalCode:"4463",placeName:"Buus",cantonCode:"BL"},{postalCode:"4464",placeName:"Maisprach",cantonCode:"BL"},{postalCode:"4465",placeName:"Hemmiken",cantonCode:"BL"},{postalCode:"4466",placeName:"Ormalingen",cantonCode:"BL"},{postalCode:"4467",placeName:"Rothenfluh",cantonCode:"BL"},{postalCode:"4469",placeName:"Anwil",cantonCode:"BL"},{postalCode:"4492",placeName:"Tecknau",cantonCode:"BL"},{postalCode:"4493",placeName:"Wenslingen",cantonCode:"BL"},{postalCode:"4494",placeName:"Oltingen",cantonCode:"BL"},{postalCode:"4495",placeName:"Zeglingen",cantonCode:"BL"},{postalCode:"4496",placeName:"Kilchberg BL",cantonCode:"BL"},{postalCode:"4497",placeName:"Rünenberg",cantonCode:"BL"},{postalCode:"4207",placeName:"Bretzwil",cantonCode:"BL"},{postalCode:"4418",placeName:"Reigoldswil",cantonCode:"BL"},{postalCode:"4424",placeName:"Arboldswil",cantonCode:"BL"},{postalCode:"4425",placeName:"Titterten",cantonCode:"BL"},{postalCode:"4426",placeName:"Lauwil",cantonCode:"BL"},{postalCode:"4431",placeName:"Bennwil",cantonCode:"BL"},{postalCode:"4432",placeName:"Lampenberg",cantonCode:"BL"},{postalCode:"4434",placeName:"Hölstein",cantonCode:"BL"},{postalCode:"4435",placeName:"Niederdorf",cantonCode:"BL"},{postalCode:"4436",placeName:"Oberdorf BL",cantonCode:"BL"},{postalCode:"4436",placeName:"Liedertswil",cantonCode:"BL"},{postalCode:"4437",placeName:"Waldenburg",cantonCode:"BL"},{postalCode:"4438",placeName:"Langenbruck",cantonCode:"BL"},{postalCode:"4457",placeName:"Diegten",cantonCode:"BL"},{postalCode:"4458",placeName:"Eptingen",cantonCode:"BL"},{postalCode:"4000",placeName:"Basel",cantonCode:"BS"},{postalCode:"4001",placeName:"Basel",cantonCode:"BS"},{postalCode:"4002",placeName:"Basel",cantonCode:"BS"},{postalCode:"4005",placeName:"Basel",cantonCode:"BS"},{postalCode:"4009",placeName:"Basel",cantonCode:"BS"},{postalCode:"4010",placeName:"Basel",cantonCode:"BS"},{postalCode:"4018",placeName:"Basel",cantonCode:"BS"},{postalCode:"4019",placeName:"Basel",cantonCode:"BS"},{postalCode:"4020",placeName:"Basel",cantonCode:"BS"},{postalCode:"4030",placeName:"Basel",cantonCode:"BS"},{postalCode:"4031",placeName:"Basel",cantonCode:"BS"},{postalCode:"4039",placeName:"Basel",cantonCode:"BS"},{postalCode:"4039",placeName:"Basel SSF",cantonCode:"BS"},{postalCode:"4041",placeName:"Basel",cantonCode:"BS"},{postalCode:"4041",placeName:"Basel UBS",cantonCode:"BS"},{postalCode:"4051",placeName:"Basel",cantonCode:"BS"},{postalCode:"4052",placeName:"Basel",cantonCode:"BS"},{postalCode:"4052",placeName:"Basel",cantonCode:"BS"},{postalCode:"4053",placeName:"Basel",cantonCode:"BS"},{postalCode:"4054",placeName:"Basel",cantonCode:"BS"},{postalCode:"4055",placeName:"Basel",cantonCode:"BS"},{postalCode:"4056",placeName:"Basel",cantonCode:"BS"},{postalCode:"4057",placeName:"Basel",cantonCode:"BS"},{postalCode:"4058",placeName:"Basel",cantonCode:"BS"},{postalCode:"4059",placeName:"Basel",cantonCode:"BS"},{postalCode:"4070",placeName:"Basel",cantonCode:"BS"},{postalCode:"4075",placeName:"Basel",cantonCode:"BS"},{postalCode:"4089",placeName:"Basel",cantonCode:"BS"},{postalCode:"4089",placeName:"Basel SPI GLS",cantonCode:"BS"},{postalCode:"4089",placeName:"Basel SPILOG",cantonCode:"BS"},{postalCode:"4089",placeName:"Basel SPI GLS Retour",cantonCode:"BS"},{postalCode:"4091",placeName:"Basel",cantonCode:"BS"},{postalCode:"4125",placeName:"Riehen",cantonCode:"BS"},{postalCode:"4125",placeName:"Riehen 1",cantonCode:"BS"},{postalCode:"4126",placeName:"Bettingen",cantonCode:"BS"},{postalCode:"1410",placeName:"Prévondavaux",cantonCode:"FR"},{postalCode:"1468",placeName:"Cheyres",cantonCode:"FR"},{postalCode:"1470",placeName:"Bollion",cantonCode:"FR"},{postalCode:"1470",placeName:"Seiry",cantonCode:"FR"},{postalCode:"1470",placeName:"Lully FR",cantonCode:"FR"},{postalCode:"1470",placeName:"Estavayer-le-Lac",cantonCode:"FR"},{postalCode:"1473",placeName:"Font",cantonCode:"FR"},{postalCode:"1473",placeName:"Châtillon FR",cantonCode:"FR"},{postalCode:"1474",placeName:"Châbles FR",cantonCode:"FR"},{postalCode:"1475",placeName:"Forel FR",cantonCode:"FR"},{postalCode:"1475",placeName:"Montbrelloz",cantonCode:"FR"},{postalCode:"1475",placeName:"Autavaux",cantonCode:"FR"},{postalCode:"1482",placeName:"Cugy FR",cantonCode:"FR"},{postalCode:"1483",placeName:"Vesin",cantonCode:"FR"},{postalCode:"1483",placeName:"Frasses",cantonCode:"FR"},{postalCode:"1483",placeName:"Montet (Broye)",cantonCode:"FR"},{postalCode:"1484",placeName:"Aumont",cantonCode:"FR"},{postalCode:"1484",placeName:"Granges-de-Vesin",cantonCode:"FR"},{postalCode:"1485",placeName:"Nuvilly",cantonCode:"FR"},{postalCode:"1486",placeName:"Vuissens",cantonCode:"FR"},{postalCode:"1489",placeName:"Murist",cantonCode:"FR"},{postalCode:"1527",placeName:"Villeneuve FR",cantonCode:"FR"},{postalCode:"1528",placeName:"Praratoud",cantonCode:"FR"},{postalCode:"1528",placeName:"Surpierre",cantonCode:"FR"},{postalCode:"1529",placeName:"Cheiry",cantonCode:"FR"},{postalCode:"1532",placeName:"Fétigny",cantonCode:"FR"},{postalCode:"1533",placeName:"Ménières",cantonCode:"FR"},{postalCode:"1534",placeName:"Chapelle (Broye)",cantonCode:"FR"},{postalCode:"1541",placeName:"Morens FR",cantonCode:"FR"},{postalCode:"1541",placeName:"Sévaz",cantonCode:"FR"},{postalCode:"1541",placeName:"Bussy FR",cantonCode:"FR"},{postalCode:"1542",placeName:"Rueyres-les-Prés",cantonCode:"FR"},{postalCode:"1544",placeName:"Gletterens",cantonCode:"FR"},{postalCode:"1563",placeName:"Dompierre FR",cantonCode:"FR"},{postalCode:"1564",placeName:"Domdidier",cantonCode:"FR"},{postalCode:"1565",placeName:"Vallon",cantonCode:"FR"},{postalCode:"1566",placeName:"St-Aubin FR",cantonCode:"FR"},{postalCode:"1566",placeName:"Les Friques",cantonCode:"FR"},{postalCode:"1567",placeName:"Delley",cantonCode:"FR"},{postalCode:"1568",placeName:"Portalban",cantonCode:"FR"},{postalCode:"1773",placeName:"Russy",cantonCode:"FR"},{postalCode:"1773",placeName:"Chandon",cantonCode:"FR"},{postalCode:"1773",placeName:"Léchelles",cantonCode:"FR"},{postalCode:"1774",placeName:"Cousset",cantonCode:"FR"},{postalCode:"1774",placeName:"Montagny-les-Monts",cantonCode:"FR"},{postalCode:"1774",placeName:"Cousset",cantonCode:"FR"},{postalCode:"1775",placeName:"Mannens",cantonCode:"FR"},{postalCode:"1775",placeName:"Grandsivaz",cantonCode:"FR"},{postalCode:"1776",placeName:"Montagny-la-Ville",cantonCode:"FR"},{postalCode:"1553",placeName:"Châtonnaye",cantonCode:"FR"},{postalCode:"1608",placeName:"Chapelle (Glâne)",cantonCode:"FR"},{postalCode:"1670",placeName:"Bionnens",cantonCode:"FR"},{postalCode:"1670",placeName:"Ursy",cantonCode:"FR"},{postalCode:"1670",placeName:"Esmonts",cantonCode:"FR"},{postalCode:"1673",placeName:"Ecublens FR",cantonCode:"FR"},{postalCode:"1673",placeName:"Gillarens",cantonCode:"FR"},{postalCode:"1673",placeName:"Promasens",cantonCode:"FR"},{postalCode:"1673",placeName:"Rue",cantonCode:"FR"},{postalCode:"1673",placeName:"Auboranges",cantonCode:"FR"},{postalCode:"1674",placeName:"Montet (Glâne)",cantonCode:"FR"},{postalCode:"1674",placeName:"Morlens",cantonCode:"FR"},{postalCode:"1674",placeName:"Vuarmarens",cantonCode:"FR"},{postalCode:"1675",placeName:"Blessens",cantonCode:"FR"},{postalCode:"1675",placeName:"Vauderens",cantonCode:"FR"},{postalCode:"1675",placeName:"Mossel",cantonCode:"FR"},{postalCode:"1676",placeName:"Chavannes-les-Forts",cantonCode:"FR"},{postalCode:"1677",placeName:"Prez-vers-Siviriez",cantonCode:"FR"},{postalCode:"1678",placeName:"Siviriez",cantonCode:"FR"},{postalCode:"1679",placeName:"Villaraboud",cantonCode:"FR"},{postalCode:"1680",placeName:"Berlens",cantonCode:"FR"},{postalCode:"1680",placeName:"Romont FR",cantonCode:"FR"},{postalCode:"1681",placeName:"Hennens",cantonCode:"FR"},{postalCode:"1681",placeName:"Billens",cantonCode:"FR"},{postalCode:"1684",placeName:"Mézières FR",cantonCode:"FR"},{postalCode:"1685",placeName:"Villariaz",cantonCode:"FR"},{postalCode:"1686",placeName:"Grangettes-près-Romont",cantonCode:"FR"},{postalCode:"1686",placeName:"La Neirigue",cantonCode:"FR"},{postalCode:"1687",placeName:"Estévenens",cantonCode:"FR"},{postalCode:"1687",placeName:"La Magne",cantonCode:"FR"},{postalCode:"1687",placeName:"Vuisternens-devant-Romont",cantonCode:"FR"},{postalCode:"1688",placeName:"Lieffrens",cantonCode:"FR"},{postalCode:"1688",placeName:"Sommentier",cantonCode:"FR"},{postalCode:"1689",placeName:"Le Châtelard-près-Romont",cantonCode:"FR"},{postalCode:"1690",placeName:"Lussy FR",cantonCode:"FR"},{postalCode:"1690",placeName:"Villaz-St-Pierre",cantonCode:"FR"},{postalCode:"1691",placeName:"Villarimboud",cantonCode:"FR"},{postalCode:"1692",placeName:"Massonnens",cantonCode:"FR"},{postalCode:"1694",placeName:"Orsonnens",cantonCode:"FR"},{postalCode:"1694",placeName:"Villargiroud",cantonCode:"FR"},{postalCode:"1694",placeName:"Villarsiviriaux",cantonCode:"FR"},{postalCode:"1694",placeName:"Chavannes-sous-Orsonnens",cantonCode:"FR"},{postalCode:"1697",placeName:"La Joux FR",cantonCode:"FR"},{postalCode:"1697",placeName:"Les Ecasseys",cantonCode:"FR"},{postalCode:"1748",placeName:"Torny-le-Grand",cantonCode:"FR"},{postalCode:"1749",placeName:"Middes",cantonCode:"FR"},{postalCode:"1625",placeName:"Sâles (Gruyère)",cantonCode:"FR"},{postalCode:"1625",placeName:"Maules",cantonCode:"FR"},{postalCode:"1626",placeName:"Rueyres-Treyfayes",cantonCode:"FR"},{postalCode:"1626",placeName:"Romanens",cantonCode:"FR"},{postalCode:"1626",placeName:"Treyfayes",cantonCode:"FR"},{postalCode:"1627",placeName:"Vaulruz",cantonCode:"FR"},{postalCode:"1628",placeName:"Vuadens",cantonCode:"FR"},{postalCode:"1630",placeName:"Bulle",cantonCode:"FR"},{postalCode:"1631",placeName:"Bulle centre de traitement",cantonCode:"FR"},{postalCode:"1632",placeName:"Riaz",cantonCode:"FR"},{postalCode:"1633",placeName:"Vuippens",cantonCode:"FR"},{postalCode:"1633",placeName:"Marsens",cantonCode:"FR"},{postalCode:"1634",placeName:"La Roche FR",cantonCode:"FR"},{postalCode:"1635",placeName:"La Tour-de-Trême",cantonCode:"FR"},{postalCode:"1636",placeName:"Broc",cantonCode:"FR"},{postalCode:"1637",placeName:"Charmey (Gruyère)",cantonCode:"FR"},{postalCode:"1638",placeName:"Morlon",cantonCode:"FR"},{postalCode:"1642",placeName:"Sorens",cantonCode:"FR"},{postalCode:"1643",placeName:"Gumefens",cantonCode:"FR"},{postalCode:"1644",placeName:"Avry-devant-Pont",cantonCode:"FR"},{postalCode:"1645",placeName:"Le Bry",cantonCode:"FR"},{postalCode:"1646",placeName:"Echarlens",cantonCode:"FR"},{postalCode:"1647",placeName:"Corbières",cantonCode:"FR"},{postalCode:"1648",placeName:"Hauteville",cantonCode:"FR"},{postalCode:"1649",placeName:"Pont-la-Ville",cantonCode:"FR"},{postalCode:"1651",placeName:"Villarvolard",cantonCode:"FR"},{postalCode:"1652",placeName:"Villarbeney",cantonCode:"FR"},{postalCode:"1652",placeName:"Botterens",cantonCode:"FR"},{postalCode:"1653",placeName:"Crésuz",cantonCode:"FR"},{postalCode:"1653",placeName:"Châtel-sur-Montsalvens",cantonCode:"FR"},{postalCode:"1654",placeName:"Cerniat FR",cantonCode:"FR"},{postalCode:"1656",placeName:"Im Fang",cantonCode:"FR"},{postalCode:"1656",placeName:"Jaun",cantonCode:"FR"},{postalCode:"1661",placeName:"Le Pâquier-Montbarry",cantonCode:"FR"},{postalCode:"1663",placeName:"Gruyères",cantonCode:"FR"},{postalCode:"1663",placeName:"Pringy",cantonCode:"FR"},{postalCode:"1663",placeName:"Moléson-sur-Gruyères",cantonCode:"FR"},{postalCode:"1663",placeName:"Epagny",cantonCode:"FR"},{postalCode:"1665",placeName:"Estavannens",cantonCode:"FR"},{postalCode:"1666",placeName:"Villars-sous-Mont",cantonCode:"FR"},{postalCode:"1666",placeName:"Grandvillard",cantonCode:"FR"},{postalCode:"1667",placeName:"Enney",cantonCode:"FR"},{postalCode:"1669",placeName:"Albeuve",cantonCode:"FR"},{postalCode:"1669",placeName:"Les Sciernes-d'Albeuve",cantonCode:"FR"},{postalCode:"1669",placeName:"Lessoc",cantonCode:"FR"},{postalCode:"1669",placeName:"Neirivue",cantonCode:"FR"},{postalCode:"1669",placeName:"Montbovon",cantonCode:"FR"},{postalCode:"1695",placeName:"Rueyres-St-Laurent",cantonCode:"FR"},{postalCode:"1695",placeName:"Villarlod",cantonCode:"FR"},{postalCode:"1695",placeName:"Estavayer-le-Gibloux",cantonCode:"FR"},{postalCode:"1695",placeName:"Villarsel-le-Gibloux",cantonCode:"FR"},{postalCode:"1696",placeName:"Vuisternens-en-Ogoz",cantonCode:"FR"},{postalCode:"1700",placeName:"Fribourg",cantonCode:"FR"},{postalCode:"1701",placeName:"Fribourg",cantonCode:"FR"},{postalCode:"1708",placeName:"Fribourg",cantonCode:"FR"},{postalCode:"1720",placeName:"Chésopelloz",cantonCode:"FR"},{postalCode:"1720",placeName:"Corminboeuf",cantonCode:"FR"},{postalCode:"1722",placeName:"Bourguillon",cantonCode:"FR"},{postalCode:"1723",placeName:"Marly",cantonCode:"FR"},{postalCode:"1723",placeName:"Marly 1",cantonCode:"FR"},{postalCode:"1723",placeName:"Villarsel-sur-Marly",cantonCode:"FR"},{postalCode:"1723",placeName:"Pierrafortscha",cantonCode:"FR"},{postalCode:"1724",placeName:"Ferpicloz",cantonCode:"FR"},{postalCode:"1724",placeName:"Montévraz",cantonCode:"FR"},{postalCode:"1724",placeName:"Bonnefontaine",cantonCode:"FR"},{postalCode:"1724",placeName:"Le Mouret",cantonCode:"FR"},{postalCode:"1724",placeName:"Senèdes",cantonCode:"FR"},{postalCode:"1724",placeName:"Essert FR",cantonCode:"FR"},{postalCode:"1724",placeName:"Oberried FR",cantonCode:"FR"},{postalCode:"1724",placeName:"Zénauva",cantonCode:"FR"},{postalCode:"1725",placeName:"Posieux",cantonCode:"FR"},{postalCode:"1726",placeName:"Grenilles",cantonCode:"FR"},{postalCode:"1726",placeName:"Farvagny",cantonCode:"FR"},{postalCode:"1726",placeName:"Posat",cantonCode:"FR"},{postalCode:"1726",placeName:"Farvagny-le-Grand",cantonCode:"FR"},{postalCode:"1726",placeName:"Farvagny-le-Petit",cantonCode:"FR"},{postalCode:"1727",placeName:"Corpataux",cantonCode:"FR"},{postalCode:"1727",placeName:"Magnedens",cantonCode:"FR"},{postalCode:"1728",placeName:"Rossens FR",cantonCode:"FR"},{postalCode:"1730",placeName:"Ecuvillens",cantonCode:"FR"},{postalCode:"1731",placeName:"Ependes FR",cantonCode:"FR"},{postalCode:"1732",placeName:"Arconciel",cantonCode:"FR"},{postalCode:"1733",placeName:"Treyvaux",cantonCode:"FR"},{postalCode:"1740",placeName:"Neyruz FR",cantonCode:"FR"},{postalCode:"1741",placeName:"Cottens FR",cantonCode:"FR"},{postalCode:"1742",placeName:"Autigny",cantonCode:"FR"},{postalCode:"1744",placeName:"Chénens",cantonCode:"FR"},{postalCode:"1745",placeName:"Lentigny",cantonCode:"FR"},{postalCode:"1746",placeName:"Prez-vers-Noréaz",cantonCode:"FR"},{postalCode:"1747",placeName:"Corserey",cantonCode:"FR"},{postalCode:"1752",placeName:"Villars-sur-Glâne",cantonCode:"FR"},{postalCode:"1752",placeName:"Villars-sur-Glâne 1",cantonCode:"FR"},{postalCode:"1753",placeName:"Matran",cantonCode:"FR"},{postalCode:"1754",placeName:"Rosé",cantonCode:"FR"},{postalCode:"1754",placeName:"Avry-sur-Matran",cantonCode:"FR"},{postalCode:"1754",placeName:"Corjolens",cantonCode:"FR"},{postalCode:"1754",placeName:"Avry-Centre FR",cantonCode:"FR"},{postalCode:"1756",placeName:"Onnens FR",cantonCode:"FR"},{postalCode:"1756",placeName:"Lovens",cantonCode:"FR"},{postalCode:"1757",placeName:"Noréaz",cantonCode:"FR"},{postalCode:"1762",placeName:"Givisiez",cantonCode:"FR"},{postalCode:"1763",placeName:"Granges-Paccot",cantonCode:"FR"},{postalCode:"1772",placeName:"Nierlet-les-Bois",cantonCode:"FR"},{postalCode:"1772",placeName:"Grolley",cantonCode:"FR"},{postalCode:"1772",placeName:"Ponthaux",cantonCode:"FR"},{postalCode:"1782",placeName:"Formangueires",cantonCode:"FR"},{postalCode:"1782",placeName:"Autafond",cantonCode:"FR"},{postalCode:"1782",placeName:"Lossy",cantonCode:"FR"},{postalCode:"1782",placeName:"Belfaux",cantonCode:"FR"},{postalCode:"1782",placeName:"Cormagens",cantonCode:"FR"},{postalCode:"1782",placeName:"La Corbaz",cantonCode:"FR"},{postalCode:"1583",placeName:"Villarepos",cantonCode:"FR"},{postalCode:"1721",placeName:"Cournillens",cantonCode:"FR"},{postalCode:"1721",placeName:"Misery-Courtion",cantonCode:"FR"},{postalCode:"1721",placeName:"Misery",cantonCode:"FR"},{postalCode:"1721",placeName:"Cormérod",cantonCode:"FR"},{postalCode:"1721",placeName:"Courtion",cantonCode:"FR"},{postalCode:"1783",placeName:"Pensier",cantonCode:"FR"},{postalCode:"1783",placeName:"Barberêche",cantonCode:"FR"},{postalCode:"1784",placeName:"Courtepin",cantonCode:"FR"},{postalCode:"1784",placeName:"Wallenried",cantonCode:"FR"},{postalCode:"1785",placeName:"Cressier FR",cantonCode:"FR"},{postalCode:"1786",placeName:"Sugiez",cantonCode:"FR"},{postalCode:"1787",placeName:"Môtier (Vully)",cantonCode:"FR"},{postalCode:"1787",placeName:"Mur (Vully) FR",cantonCode:"FR"},{postalCode:"1788",placeName:"Praz (Vully)",cantonCode:"FR"},{postalCode:"1789",placeName:"Lugnorre",cantonCode:"FR"},{postalCode:"1791",placeName:"Courtaman",cantonCode:"FR"},{postalCode:"1792",placeName:"Cordast",cantonCode:"FR"},{postalCode:"1792",placeName:"Guschelmuth",cantonCode:"FR"},{postalCode:"1793",placeName:"Jeuss",cantonCode:"FR"},{postalCode:"1794",placeName:"Salvenach",cantonCode:"FR"},{postalCode:"1795",placeName:"Courlevon",cantonCode:"FR"},{postalCode:"1796",placeName:"Courgevaux",cantonCode:"FR"},{postalCode:"3206",placeName:"Wallenbuch",cantonCode:"FR"},{postalCode:"3210",placeName:"Kerzers",cantonCode:"FR"},{postalCode:"3212",placeName:"Gurmels",cantonCode:"FR"},{postalCode:"3212",placeName:"Kleingurmels",cantonCode:"FR"},{postalCode:"3213",placeName:"Kleinbösingen",cantonCode:"FR"},{postalCode:"3213",placeName:"Liebistorf",cantonCode:"FR"},{postalCode:"3214",placeName:"Ulmiz",cantonCode:"FR"},{postalCode:"3215",placeName:"Gempenach",cantonCode:"FR"},{postalCode:"3215",placeName:"Lurtigen",cantonCode:"FR"},{postalCode:"3215",placeName:"Büchslen",cantonCode:"FR"},{postalCode:"3216",placeName:"Agriswil",cantonCode:"FR"},{postalCode:"3216",placeName:"Ried b. Kerzers",cantonCode:"FR"},{postalCode:"3280",placeName:"Greng",cantonCode:"FR"},{postalCode:"3280",placeName:"Murten",cantonCode:"FR"},{postalCode:"3280",placeName:"Meyriez",cantonCode:"FR"},{postalCode:"3284",placeName:"Fräschels",cantonCode:"FR"},{postalCode:"3285",placeName:"Galmiz",cantonCode:"FR"},{postalCode:"3286",placeName:"Muntelier",cantonCode:"FR"},{postalCode:"1712",placeName:"Tafers",cantonCode:"FR"},{postalCode:"1713",placeName:"St. Antoni",cantonCode:"FR"},{postalCode:"1714",placeName:"Heitenried",cantonCode:"FR"},{postalCode:"1715",placeName:"Alterswil FR",cantonCode:"FR"},{postalCode:"1716",placeName:"Plaffeien",cantonCode:"FR"},{postalCode:"1716",placeName:"Oberschrot",cantonCode:"FR"},{postalCode:"1716",placeName:"Schwarzsee",cantonCode:"FR"},{postalCode:"1717",placeName:"St. Ursen",cantonCode:"FR"},{postalCode:"1718",placeName:"Rechthalten",cantonCode:"FR"},{postalCode:"1719",placeName:"Brünisried",cantonCode:"FR"},{postalCode:"1719",placeName:"Zumholz",cantonCode:"FR"},{postalCode:"1734",placeName:"Tentlingen",cantonCode:"FR"},{postalCode:"1735",placeName:"Giffers",cantonCode:"FR"},{postalCode:"1736",placeName:"St. Silvester",cantonCode:"FR"},{postalCode:"1737",placeName:"Plasselb",cantonCode:"FR"},{postalCode:"3175",placeName:"Flamatt",cantonCode:"FR"},{postalCode:"3178",placeName:"Bösingen",cantonCode:"FR"},{postalCode:"3182",placeName:"Ueberstorf",cantonCode:"FR"},{postalCode:"3184",placeName:"Wünnewil",cantonCode:"FR"},{postalCode:"3185",placeName:"Schmitten FR",cantonCode:"FR"},{postalCode:"3186",placeName:"Düdingen",cantonCode:"FR"},{postalCode:"1609",placeName:"St-Martin FR",cantonCode:"FR"},{postalCode:"1609",placeName:"Besencens",cantonCode:"FR"},{postalCode:"1609",placeName:"Fiaugères",cantonCode:"FR"},{postalCode:"1609",placeName:"Fiaugères",cantonCode:"FR"},{postalCode:"1611",placeName:"Le Crêt-près-Semsales",cantonCode:"FR"},{postalCode:"1614",placeName:"Granges (Veveyse)",cantonCode:"FR"},{postalCode:"1615",placeName:"Bossonnens",cantonCode:"FR"},{postalCode:"1616",placeName:"Attalens",cantonCode:"FR"},{postalCode:"1617",placeName:"Tatroz",cantonCode:"FR"},{postalCode:"1617",placeName:"Remaufens",cantonCode:"FR"},{postalCode:"1618",placeName:"Châtel-St-Denis",cantonCode:"FR"},{postalCode:"1619",placeName:"Les Paccots",cantonCode:"FR"},{postalCode:"1623",placeName:"Semsales",cantonCode:"FR"},{postalCode:"1624",placeName:"La Verrerie",cantonCode:"FR"},{postalCode:"1624",placeName:"Progens",cantonCode:"FR"},{postalCode:"1624",placeName:"Progens",cantonCode:"FR"},{postalCode:"1624",placeName:"Grattavache",cantonCode:"FR"},{postalCode:"1699",placeName:"Porsel",cantonCode:"FR"},{postalCode:"1699",placeName:"Pont (Veveyse)",cantonCode:"FR"},{postalCode:"1699",placeName:"Bouloz",cantonCode:"FR"},{postalCode:"1699",placeName:"Porsel",cantonCode:"FR"},{postalCode:"1200",placeName:"Genève",cantonCode:"GE"},{postalCode:"1201",placeName:"Genève",cantonCode:"GE"},{postalCode:"1202",placeName:"Genève",cantonCode:"GE"},{postalCode:"1203",placeName:"Genève",cantonCode:"GE"},{postalCode:"1204",placeName:"Genève",cantonCode:"GE"},{postalCode:"1205",placeName:"Genève",cantonCode:"GE"},{postalCode:"1206",placeName:"Genève",cantonCode:"GE"},{postalCode:"1207",placeName:"Genève",cantonCode:"GE"},{postalCode:"1208",placeName:"Genève",cantonCode:"GE"},{postalCode:"1209",placeName:"Genève",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 70",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 84 Votations",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 14",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 20",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 5",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 22",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 28",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 27",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 1",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 11",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 26",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 23",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 71 CS CP",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 80",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 73",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 84 Votation",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 4",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 6",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 2",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 19",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 12",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 13",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 10",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 3",cantonCode:"GE"},{postalCode:"1211",placeName:"Genève 8",cantonCode:"GE"},{postalCode:"1212",placeName:"Grand-Lancy",cantonCode:"GE"},{postalCode:"1212",placeName:"Grand-Lancy 1",cantonCode:"GE"},{postalCode:"1213",placeName:"Onex",cantonCode:"GE"},{postalCode:"1213",placeName:"Petit-Lancy 1",cantonCode:"GE"},{postalCode:"1213",placeName:"Petit-Lancy",cantonCode:"GE"},{postalCode:"1214",placeName:"Vernier",cantonCode:"GE"},{postalCode:"1215",placeName:"Genève 15 Aéroport",cantonCode:"GE"},{postalCode:"1215",placeName:"Genève",cantonCode:"GE"},{postalCode:"1216",placeName:"Cointrin",cantonCode:"GE"},{postalCode:"1217",placeName:"Meyrin",cantonCode:"GE"},{postalCode:"1217",placeName:"Meyrin 1",cantonCode:"GE"},{postalCode:"1218",placeName:"Le Grand-Saconnex",cantonCode:"GE"},{postalCode:"1219",placeName:"Aïre",cantonCode:"GE"},{postalCode:"1219",placeName:"Le Lignon",cantonCode:"GE"},{postalCode:"1219",placeName:"Châtelaine",cantonCode:"GE"},{postalCode:"1220",placeName:"Les Avanchets",cantonCode:"GE"},{postalCode:"1222",placeName:"Vésenaz",cantonCode:"GE"},{postalCode:"1223",placeName:"Cologny",cantonCode:"GE"},{postalCode:"1224",placeName:"Chêne-Bougeries",cantonCode:"GE"},{postalCode:"1225",placeName:"Chêne-Bourg",cantonCode:"GE"},{postalCode:"1226",placeName:"Thônex",cantonCode:"GE"},{postalCode:"1227",placeName:"Les Acacias",cantonCode:"GE"},{postalCode:"1227",placeName:"Carouge GE",cantonCode:"GE"},{postalCode:"1228",placeName:"Plan-les-Ouates",cantonCode:"GE"},{postalCode:"1231",placeName:"Conches",cantonCode:"GE"},{postalCode:"1232",placeName:"Confignon",cantonCode:"GE"},{postalCode:"1233",placeName:"Bernex",cantonCode:"GE"},{postalCode:"1234",placeName:"Vessy",cantonCode:"GE"},{postalCode:"1236",placeName:"Cartigny",cantonCode:"GE"},{postalCode:"1237",placeName:"Avully",cantonCode:"GE"},{postalCode:"1239",placeName:"Collex",cantonCode:"GE"},{postalCode:"1240",placeName:"Genève",cantonCode:"GE"},{postalCode:"1241",placeName:"Puplinge",cantonCode:"GE"},{postalCode:"1242",placeName:"Satigny",cantonCode:"GE"},{postalCode:"1243",placeName:"Presinge",cantonCode:"GE"},{postalCode:"1244",placeName:"Choulex",cantonCode:"GE"},{postalCode:"1245",placeName:"Collonge-Bellerive",cantonCode:"GE"},{postalCode:"1246",placeName:"Corsier GE",cantonCode:"GE"},{postalCode:"1247",placeName:"Anières",cantonCode:"GE"},{postalCode:"1248",placeName:"Hermance",cantonCode:"GE"},{postalCode:"1251",placeName:"Gy",cantonCode:"GE"},{postalCode:"1252",placeName:"Meinier",cantonCode:"GE"},{postalCode:"1253",placeName:"Vandoeuvres",cantonCode:"GE"},{postalCode:"1254",placeName:"Jussy",cantonCode:"GE"},{postalCode:"1255",placeName:"Veyrier",cantonCode:"GE"},{postalCode:"1256",placeName:"Troinex",cantonCode:"GE"},{postalCode:"1257",placeName:"La Croix-de-Rozon",cantonCode:"GE"},{postalCode:"1258",placeName:"Perly",cantonCode:"GE"},{postalCode:"1281",placeName:"Russin",cantonCode:"GE"},{postalCode:"1283",placeName:"Dardagny",cantonCode:"GE"},{postalCode:"1283",placeName:"La Plaine",cantonCode:"GE"},{postalCode:"1284",placeName:"Chancy",cantonCode:"GE"},{postalCode:"1285",placeName:"Athenaz (Avusy)",cantonCode:"GE"},{postalCode:"1286",placeName:"Soral",cantonCode:"GE"},{postalCode:"1287",placeName:"Laconnex",cantonCode:"GE"},{postalCode:"1288",placeName:"Aire-la-Ville",cantonCode:"GE"},{postalCode:"1290",placeName:"Versoix",cantonCode:"GE"},{postalCode:"1292",placeName:"Chambésy",cantonCode:"GE"},{postalCode:"1293",placeName:"Bellevue",cantonCode:"GE"},{postalCode:"1294",placeName:"Genthod",cantonCode:"GE"},{postalCode:"1298",placeName:"Céligny",cantonCode:"GE"},{postalCode:"8750",placeName:"Klöntal",cantonCode:"GL"},{postalCode:"8750",placeName:"Glarus",cantonCode:"GL"},{postalCode:"8750",placeName:"Riedern",cantonCode:"GL"},{postalCode:"8752",placeName:"Näfels",cantonCode:"GL"},{postalCode:"8753",placeName:"Mollis",cantonCode:"GL"},{postalCode:"8754",placeName:"Netstal",cantonCode:"GL"},{postalCode:"8755",placeName:"Ennenda",cantonCode:"GL"},{postalCode:"8756",placeName:"Mitlödi",cantonCode:"GL"},{postalCode:"8757",placeName:"Filzbach",cantonCode:"GL"},{postalCode:"8758",placeName:"Obstalden",cantonCode:"GL"},{postalCode:"8759",placeName:"Netstal",cantonCode:"GL"},{postalCode:"8762",placeName:"Sool",cantonCode:"GL"},{postalCode:"8762",placeName:"Schwanden GL",cantonCode:"GL"},{postalCode:"8762",placeName:"Schwändi b. Schwanden",cantonCode:"GL"},{postalCode:"8765",placeName:"Engi",cantonCode:"GL"},{postalCode:"8766",placeName:"Matt",cantonCode:"GL"},{postalCode:"8767",placeName:"Elm",cantonCode:"GL"},{postalCode:"8772",placeName:"Nidfurn",cantonCode:"GL"},{postalCode:"8773",placeName:"Haslen GL",cantonCode:"GL"},{postalCode:"8774",placeName:"Leuggelbach",cantonCode:"GL"},{postalCode:"8775",placeName:"Luchsingen",cantonCode:"GL"},{postalCode:"8775",placeName:"Luchsingen-Hätzingen",cantonCode:"GL"},{postalCode:"8775",placeName:"Hätzingen",cantonCode:"GL"},{postalCode:"8777",placeName:"Betschwanden",cantonCode:"GL"},{postalCode:"8777",placeName:"Diesbach GL",cantonCode:"GL"},{postalCode:"8782",placeName:"Rüti GL",cantonCode:"GL"},{postalCode:"8783",placeName:"Linthal",cantonCode:"GL"},{postalCode:"8784",placeName:"Braunwald",cantonCode:"GL"},{postalCode:"8865",placeName:"Bilten",cantonCode:"GL"},{postalCode:"8867",placeName:"Niederurnen",cantonCode:"GL"},{postalCode:"8868",placeName:"Oberurnen",cantonCode:"GL"},{postalCode:"8874",placeName:"Mühlehorn",cantonCode:"GL"},{postalCode:"7077",placeName:"Valbella",cantonCode:"GR"},{postalCode:"7078",placeName:"Lenzerheide/Lai",cantonCode:"GR"},{postalCode:"7082",placeName:"Vaz/Obervaz",cantonCode:"GR"},{postalCode:"7083",placeName:"Lantsch/Lenz",cantonCode:"GR"},{postalCode:"7084",placeName:"Brienz/Brinzauls GR",cantonCode:"GR"},{postalCode:"7450",placeName:"Tiefencastel",cantonCode:"GR"},{postalCode:"7450",placeName:"Tiefencastel",cantonCode:"GR"},{postalCode:"7451",placeName:"Alvaschein",cantonCode:"GR"},{postalCode:"7452",placeName:"Cunter",cantonCode:"GR"},{postalCode:"7453",placeName:"Tinizong",cantonCode:"GR"},{postalCode:"7454",placeName:"Rona",cantonCode:"GR"},{postalCode:"7455",placeName:"Mulegns",cantonCode:"GR"},{postalCode:"7456",placeName:"Marmorera",cantonCode:"GR"},{postalCode:"7456",placeName:"Sur",cantonCode:"GR"},{postalCode:"7457",placeName:"Bivio",cantonCode:"GR"},{postalCode:"7458",placeName:"Mon",cantonCode:"GR"},{postalCode:"7459",placeName:"Stierva",cantonCode:"GR"},{postalCode:"7460",placeName:"Savognin",cantonCode:"GR"},{postalCode:"7462",placeName:"Salouf",cantonCode:"GR"},{postalCode:"7463",placeName:"Riom",cantonCode:"GR"},{postalCode:"7463",placeName:"Riom",cantonCode:"GR"},{postalCode:"7464",placeName:"Parsonz",cantonCode:"GR"},{postalCode:"7472",placeName:"Surava",cantonCode:"GR"},{postalCode:"7473",placeName:"Alvaneu Bad",cantonCode:"GR"},{postalCode:"7477",placeName:"Filisur",cantonCode:"GR"},{postalCode:"7482",placeName:"Stugl/Stuls",cantonCode:"GR"},{postalCode:"7482",placeName:"Bergün/Bravuogn",cantonCode:"GR"},{postalCode:"7482",placeName:"Preda",cantonCode:"GR"},{postalCode:"7484",placeName:"Latsch",cantonCode:"GR"},{postalCode:"7492",placeName:"Alvaneu Dorf",cantonCode:"GR"},{postalCode:"7493",placeName:"Schmitten (Albula)",cantonCode:"GR"},{postalCode:"7710",placeName:"Alp Grüm",cantonCode:"GR"},{postalCode:"7710",placeName:"Ospizio Bernina",cantonCode:"GR"},{postalCode:"7741",placeName:"S. Carlo (Poschiavo)",cantonCode:"GR"},{postalCode:"7742",placeName:"Sfazù",cantonCode:"GR"},{postalCode:"7742",placeName:"Poschiavo",cantonCode:"GR"},{postalCode:"7742",placeName:"La Rösa",cantonCode:"GR"},{postalCode:"7743",placeName:"Brusio",cantonCode:"GR"},{postalCode:"7743",placeName:"Miralago",cantonCode:"GR"},{postalCode:"7744",placeName:"Campocologno",cantonCode:"GR"},{postalCode:"7745",placeName:"Li Curt",cantonCode:"GR"},{postalCode:"7746",placeName:"Le Prese",cantonCode:"GR"},{postalCode:"7747",placeName:"Viano",cantonCode:"GR"},{postalCode:"7748",placeName:"Campascio",cantonCode:"GR"},{postalCode:"7527",placeName:"Brail",cantonCode:"GR"},{postalCode:"7530",placeName:"Zernez",cantonCode:"GR"},{postalCode:"7532",placeName:"Tschierv",cantonCode:"GR"},{postalCode:"7533",placeName:"Fuldera",cantonCode:"GR"},{postalCode:"7534",placeName:"Lü",cantonCode:"GR"},{postalCode:"7535",placeName:"Valchava",cantonCode:"GR"},{postalCode:"7536",placeName:"Sta. Maria Val Müstair",cantonCode:"GR"},{postalCode:"7537",placeName:"Müstair",cantonCode:"GR"},{postalCode:"7542",placeName:"Susch",cantonCode:"GR"},{postalCode:"7543",placeName:"Lavin",cantonCode:"GR"},{postalCode:"7545",placeName:"Guarda",cantonCode:"GR"},{postalCode:"7546",placeName:"Ardez",cantonCode:"GR"},{postalCode:"7550",placeName:"Scuol",cantonCode:"GR"},{postalCode:"7551",placeName:"Ftan",cantonCode:"GR"},{postalCode:"7552",placeName:"Vulpera",cantonCode:"GR"},{postalCode:"7553",placeName:"Tarasp",cantonCode:"GR"},{postalCode:"7554",placeName:"Sent",cantonCode:"GR"},{postalCode:"7554",placeName:"Crusch",cantonCode:"GR"},{postalCode:"7556",placeName:"Ramosch",cantonCode:"GR"},{postalCode:"7556",placeName:"Ramosch",cantonCode:"GR"},{postalCode:"7557",placeName:"Vnà",cantonCode:"GR"},{postalCode:"7558",placeName:"Strada",cantonCode:"GR"},{postalCode:"7559",placeName:"Tschlin",cantonCode:"GR"},{postalCode:"7560",placeName:"Martina",cantonCode:"GR"},{postalCode:"7562",placeName:"Samnaun-Compatsch",cantonCode:"GR"},{postalCode:"7563",placeName:"Samnaun Dorf",cantonCode:"GR"},{postalCode:"7012",placeName:"Felsberg",cantonCode:"GR"},{postalCode:"7013",placeName:"Domat/Ems",cantonCode:"GR"},{postalCode:"7014",placeName:"Trin",cantonCode:"GR"},{postalCode:"7015",placeName:"Tamins",cantonCode:"GR"},{postalCode:"7016",placeName:"Trin Mulin",cantonCode:"GR"},{postalCode:"7017",placeName:"Flims Dorf",cantonCode:"GR"},{postalCode:"7018",placeName:"Flims Waldhaus",cantonCode:"GR"},{postalCode:"7019",placeName:"Fidaz",cantonCode:"GR"},{postalCode:"7402",placeName:"Bonaduz",cantonCode:"GR"},{postalCode:"7403",placeName:"Rhäzüns",cantonCode:"GR"},{postalCode:"7202",placeName:"Says",cantonCode:"GR"},{postalCode:"7203",placeName:"Trimmis",cantonCode:"GR"},{postalCode:"7204",placeName:"Untervaz",cantonCode:"GR"},{postalCode:"7205",placeName:"Zizers",cantonCode:"GR"},{postalCode:"7206",placeName:"Igis",cantonCode:"GR"},{postalCode:"7208",placeName:"Malans GR",cantonCode:"GR"},{postalCode:"7302",placeName:"Landquart",cantonCode:"GR"},{postalCode:"7303",placeName:"Mastrils",cantonCode:"GR"},{postalCode:"7304",placeName:"Maienfeld",cantonCode:"GR"},{postalCode:"7306",placeName:"Fläsch",cantonCode:"GR"},{postalCode:"7307",placeName:"Jenins",cantonCode:"GR"},{postalCode:"7500",placeName:"St. Moritz",cantonCode:"GR"},{postalCode:"7500",placeName:"St. Moritz 3",cantonCode:"GR"},{postalCode:"7500",placeName:"St. Moritz 1",cantonCode:"GR"},{postalCode:"7502",placeName:"Bever",cantonCode:"GR"},{postalCode:"7502",placeName:"Bever",cantonCode:"GR"},{postalCode:"7503",placeName:"Samedan",cantonCode:"GR"},{postalCode:"7504",placeName:"Pontresina",cantonCode:"GR"},{postalCode:"7505",placeName:"Celerina/Schlarigna",cantonCode:"GR"},{postalCode:"7512",placeName:"Champfèr",cantonCode:"GR"},{postalCode:"7513",placeName:"Silvaplana-Surlej",cantonCode:"GR"},{postalCode:"7513",placeName:"Silvaplana",cantonCode:"GR"},{postalCode:"7514",placeName:"Sils/Segl Maria",cantonCode:"GR"},{postalCode:"7514",placeName:"Fex",cantonCode:"GR"},{postalCode:"7515",placeName:"Sils/Segl Baselgia",cantonCode:"GR"},{postalCode:"7516",placeName:"Maloja",cantonCode:"GR"},{postalCode:"7517",placeName:"Plaun da Lej",cantonCode:"GR"},{postalCode:"7522",placeName:"La Punt Chamues-ch",cantonCode:"GR"},{postalCode:"7522",placeName:"La Punt-Chamues-ch",cantonCode:"GR"},{postalCode:"7523",placeName:"Madulain",cantonCode:"GR"},{postalCode:"7523",placeName:"Madulain",cantonCode:"GR"},{postalCode:"7524",placeName:"Zuoz",cantonCode:"GR"},{postalCode:"7524",placeName:"Zuoz",cantonCode:"GR"},{postalCode:"7525",placeName:"S-chanf",cantonCode:"GR"},{postalCode:"7526",placeName:"Cinuos-chel",cantonCode:"GR"},{postalCode:"7526",placeName:"Chapella",cantonCode:"GR"},{postalCode:"7602",placeName:"Casaccia",cantonCode:"GR"},{postalCode:"7603",placeName:"Vicosoprano",cantonCode:"GR"},{postalCode:"7604",placeName:"Borgonovo",cantonCode:"GR"},{postalCode:"7605",placeName:"Stampa",cantonCode:"GR"},{postalCode:"7606",placeName:"Promontogno",cantonCode:"GR"},{postalCode:"7606",placeName:"Bondo",cantonCode:"GR"},{postalCode:"7608",placeName:"Castasegna",cantonCode:"GR"},{postalCode:"7610",placeName:"Soglio",cantonCode:"GR"},{postalCode:"6534",placeName:"S. Vittore",cantonCode:"GR"},{postalCode:"6534",placeName:"S. Vittore",cantonCode:"GR"},{postalCode:"6535",placeName:"Roveredo GR",cantonCode:"GR"},{postalCode:"6537",placeName:"Grono",cantonCode:"GR"},{postalCode:"6538",placeName:"Verdabbio",cantonCode:"GR"},{postalCode:"6538",placeName:"Verdabbio",cantonCode:"GR"},{postalCode:"6540",placeName:"Castaneda",cantonCode:"GR"},{postalCode:"6541",placeName:"Sta. Maria in Calanca",cantonCode:"GR"},{postalCode:"6542",placeName:"Buseno",cantonCode:"GR"},{postalCode:"6543",placeName:"Arvigo",cantonCode:"GR"},{postalCode:"6544",placeName:"Braggio",cantonCode:"GR"},{postalCode:"6545",placeName:"Selma",cantonCode:"GR"},{postalCode:"6546",placeName:"Cauco",cantonCode:"GR"},{postalCode:"6548",placeName:"Rossa",cantonCode:"GR"},{postalCode:"6549",placeName:"Laura",cantonCode:"GR"},{postalCode:"6556",placeName:"Leggia",cantonCode:"GR"},{postalCode:"6557",placeName:"Cama",cantonCode:"GR"},{postalCode:"6558",placeName:"Lostallo",cantonCode:"GR"},{postalCode:"6562",placeName:"Soazza",cantonCode:"GR"},{postalCode:"6563",placeName:"Mesocco",cantonCode:"GR"},{postalCode:"6565",placeName:"S. Bernardino",cantonCode:"GR"},{postalCode:"7000",placeName:"Chur",cantonCode:"GR"},{postalCode:"7001",placeName:"Chur",cantonCode:"GR"},{postalCode:"7004",placeName:"Chur",cantonCode:"GR"},{postalCode:"7006",placeName:"Chur",cantonCode:"GR"},{postalCode:"7007",placeName:"Chur",cantonCode:"GR"},{postalCode:"7023",placeName:"Haldenstein",cantonCode:"GR"},{postalCode:"7026",placeName:"Maladers",cantonCode:"GR"},{postalCode:"7027",placeName:"Lüen",cantonCode:"GR"},{postalCode:"7027",placeName:"Castiel",cantonCode:"GR"},{postalCode:"7027",placeName:"Calfreisen",cantonCode:"GR"},{postalCode:"7028",placeName:"St. Peter",cantonCode:"GR"},{postalCode:"7028",placeName:"Pagig",cantonCode:"GR"},{postalCode:"7029",placeName:"Peist",cantonCode:"GR"},{postalCode:"7050",placeName:"Arosa",cantonCode:"GR"},{postalCode:"7056",placeName:"Molinis",cantonCode:"GR"},{postalCode:"7057",placeName:"Langwies",cantonCode:"GR"},{postalCode:"7058",placeName:"Litzirüti",cantonCode:"GR"},{postalCode:"7062",placeName:"Passugg",cantonCode:"GR"},{postalCode:"7063",placeName:"Praden",cantonCode:"GR"},{postalCode:"7064",placeName:"Tschiertschen",cantonCode:"GR"},{postalCode:"7074",placeName:"Malix",cantonCode:"GR"},{postalCode:"7075",placeName:"Churwalden",cantonCode:"GR"},{postalCode:"7076",placeName:"Parpan",cantonCode:"GR"},{postalCode:"7212",placeName:"Seewis Dorf",cantonCode:"GR"},{postalCode:"7212",placeName:"Seewis-Pardisla",cantonCode:"GR"},{postalCode:"7212",placeName:"Seewis-Schmitten",cantonCode:"GR"},{postalCode:"7213",placeName:"Valzeina",cantonCode:"GR"},{postalCode:"7214",placeName:"Grüsch",cantonCode:"GR"},{postalCode:"7215",placeName:"Fanas",cantonCode:"GR"},{postalCode:"7220",placeName:"Schiers",cantonCode:"GR"},{postalCode:"7220",placeName:"Schiers",cantonCode:"GR"},{postalCode:"7222",placeName:"Lunden",cantonCode:"GR"},{postalCode:"7223",placeName:"Buchen im Prättigau",cantonCode:"GR"},{postalCode:"7224",placeName:"Putz",cantonCode:"GR"},{postalCode:"7226",placeName:"Fajauna",cantonCode:"GR"},{postalCode:"7226",placeName:"Stels",cantonCode:"GR"},{postalCode:"7226",placeName:"Stels",cantonCode:"GR"},{postalCode:"7228",placeName:"Pusserein",cantonCode:"GR"},{postalCode:"7228",placeName:"Schuders",cantonCode:"GR"},{postalCode:"7231",placeName:"Pragg-Jenaz",cantonCode:"GR"},{postalCode:"7232",placeName:"Furna",cantonCode:"GR"},{postalCode:"7233",placeName:"Jenaz",cantonCode:"GR"},{postalCode:"7235",placeName:"Fideris",cantonCode:"GR"},{postalCode:"7240",placeName:"Küblis",cantonCode:"GR"},{postalCode:"7241",placeName:"Conters im Prättigau",cantonCode:"GR"},{postalCode:"7242",placeName:"Luzein",cantonCode:"GR"},{postalCode:"7243",placeName:"Pany",cantonCode:"GR"},{postalCode:"7244",placeName:"Gadenstätt",cantonCode:"GR"},{postalCode:"7245",placeName:"Ascharina",cantonCode:"GR"},{postalCode:"7246",placeName:"St. Antönien",cantonCode:"GR"},{postalCode:"7247",placeName:"Saas im Prättigau",cantonCode:"GR"},{postalCode:"7249",placeName:"Serneus",cantonCode:"GR"},{postalCode:"7250",placeName:"Klosters",cantonCode:"GR"},{postalCode:"7252",placeName:"Klosters Dorf",cantonCode:"GR"},{postalCode:"7260",placeName:"Davos Dorf",cantonCode:"GR"},{postalCode:"7265",placeName:"Davos Wolfgang",cantonCode:"GR"},{postalCode:"7270",placeName:"Davos Platz",cantonCode:"GR"},{postalCode:"7270",placeName:"Davos Platz 1",cantonCode:"GR"},{postalCode:"7272",placeName:"Davos Clavadel",cantonCode:"GR"},{postalCode:"7276",placeName:"Davos Frauenkirch",cantonCode:"GR"},{postalCode:"7277",placeName:"Davos Glaris",cantonCode:"GR"},{postalCode:"7278",placeName:"Davos Monstein",cantonCode:"GR"},{postalCode:"7494",placeName:"Davos Wiesen",cantonCode:"GR"},{postalCode:"7031",placeName:"Laax GR",cantonCode:"GR"},{postalCode:"7032",placeName:"Laax GR 2",cantonCode:"GR"},{postalCode:"7104",placeName:"Arezen",cantonCode:"GR"},{postalCode:"7104",placeName:"Versam",cantonCode:"GR"},{postalCode:"7104",placeName:"Versam",cantonCode:"GR"},{postalCode:"7106",placeName:"Tenna",cantonCode:"GR"},{postalCode:"7107",placeName:"Safien Platz",cantonCode:"GR"},{postalCode:"7109",placeName:"Thalkirch",cantonCode:"GR"},{postalCode:"7110",placeName:"Peiden",cantonCode:"GR"},{postalCode:"7111",placeName:"Pitasch",cantonCode:"GR"},{postalCode:"7112",placeName:"Duvin",cantonCode:"GR"},{postalCode:"7113",placeName:"Camuns",cantonCode:"GR"},{postalCode:"7114",placeName:"Uors (Lumnezia)",cantonCode:"GR"},{postalCode:"7115",placeName:"Surcasti",cantonCode:"GR"},{postalCode:"7116",placeName:"St. Martin (Lugnez)",cantonCode:"GR"},{postalCode:"7116",placeName:"Tersnaus",cantonCode:"GR"},{postalCode:"7122",placeName:"Valendas",cantonCode:"GR"},{postalCode:"7122",placeName:"Carrera",cantonCode:"GR"},{postalCode:"7126",placeName:"Castrisch",cantonCode:"GR"},{postalCode:"7127",placeName:"Sevgein",cantonCode:"GR"},{postalCode:"7128",placeName:"Riein",cantonCode:"GR"},{postalCode:"7130",placeName:"Schnaus",cantonCode:"GR"},{postalCode:"7130",placeName:"Ilanz",cantonCode:"GR"},{postalCode:"7130",placeName:"Schnaus",cantonCode:"GR"},{postalCode:"7132",placeName:"Vals",cantonCode:"GR"},{postalCode:"7134",placeName:"Obersaxen",cantonCode:"GR"},{postalCode:"7137",placeName:"Flond",cantonCode:"GR"},{postalCode:"7138",placeName:"Surcuolm",cantonCode:"GR"},{postalCode:"7141",placeName:"Luven",cantonCode:"GR"},{postalCode:"7142",placeName:"Cumbel",cantonCode:"GR"},{postalCode:"7143",placeName:"Morissen",cantonCode:"GR"},{postalCode:"7144",placeName:"Vella",cantonCode:"GR"},{postalCode:"7145",placeName:"Degen",cantonCode:"GR"},{postalCode:"7146",placeName:"Vattiz",cantonCode:"GR"},{postalCode:"7147",placeName:"Vignogn",cantonCode:"GR"},{postalCode:"7148",placeName:"Lumbrein",cantonCode:"GR"},{postalCode:"7149",placeName:"Vrin",cantonCode:"GR"},{postalCode:"7151",placeName:"Schluein",cantonCode:"GR"},{postalCode:"7152",placeName:"Sagogn",cantonCode:"GR"},{postalCode:"7153",placeName:"Falera",cantonCode:"GR"},{postalCode:"7154",placeName:"Ruschein",cantonCode:"GR"},{postalCode:"7155",placeName:"Ladir",cantonCode:"GR"},{postalCode:"7155",placeName:"Ladir",cantonCode:"GR"},{postalCode:"7156",placeName:"Pigniu",cantonCode:"GR"},{postalCode:"7156",placeName:"Rueun",cantonCode:"GR"},{postalCode:"7157",placeName:"Siat",cantonCode:"GR"},{postalCode:"7158",placeName:"Waltensburg/Vuorz",cantonCode:"GR"},{postalCode:"7159",placeName:"Andiast",cantonCode:"GR"},{postalCode:"7162",placeName:"Tavanasa",cantonCode:"GR"},{postalCode:"7163",placeName:"Danis",cantonCode:"GR"},{postalCode:"7164",placeName:"Dardin",cantonCode:"GR"},{postalCode:"7165",placeName:"Breil/Brigels",cantonCode:"GR"},{postalCode:"7166",placeName:"Trun",cantonCode:"GR"},{postalCode:"7167",placeName:"Zignau",cantonCode:"GR"},{postalCode:"7168",placeName:"Schlans",cantonCode:"GR"},{postalCode:"7172",placeName:"Rabius",cantonCode:"GR"},{postalCode:"7173",placeName:"Surrein",cantonCode:"GR"},{postalCode:"7174",placeName:"S. Benedetg",cantonCode:"GR"},{postalCode:"7175",placeName:"Sumvitg",cantonCode:"GR"},{postalCode:"7176",placeName:"Cumpadials",cantonCode:"GR"},{postalCode:"7180",placeName:"Disentis/Mustér",cantonCode:"GR"},{postalCode:"7182",placeName:"Cavardiras",cantonCode:"GR"},{postalCode:"7183",placeName:"Mumpé Medel",cantonCode:"GR"},{postalCode:"7184",placeName:"Curaglia",cantonCode:"GR"},{postalCode:"7185",placeName:"Platta",cantonCode:"GR"},{postalCode:"7186",placeName:"Segnas",cantonCode:"GR"},{postalCode:"7187",placeName:"Camischolas",cantonCode:"GR"},{postalCode:"7188",placeName:"Sedrun",cantonCode:"GR"},{postalCode:"7189",placeName:"Rueras",cantonCode:"GR"},{postalCode:"7404",placeName:"Feldis/Veulden",cantonCode:"GR"},{postalCode:"7405",placeName:"Rothenbrunnen",cantonCode:"GR"},{postalCode:"7407",placeName:"Trans",cantonCode:"GR"},{postalCode:"7408",placeName:"Realta",cantonCode:"GR"},{postalCode:"7408",placeName:"Cazis",cantonCode:"GR"},{postalCode:"7411",placeName:"Sils im Domleschg",cantonCode:"GR"},{postalCode:"7412",placeName:"Scharans",cantonCode:"GR"},{postalCode:"7413",placeName:"Fürstenaubruck",cantonCode:"GR"},{postalCode:"7414",placeName:"Fürstenau",cantonCode:"GR"},{postalCode:"7415",placeName:"Rodels",cantonCode:"GR"},{postalCode:"7415",placeName:"Pratval",cantonCode:"GR"},{postalCode:"7416",placeName:"Almens",cantonCode:"GR"},{postalCode:"7417",placeName:"Paspels",cantonCode:"GR"},{postalCode:"7418",placeName:"Tumegl/Tomils",cantonCode:"GR"},{postalCode:"7419",placeName:"Scheid",cantonCode:"GR"},{postalCode:"7421",placeName:"Summaprada",cantonCode:"GR"},{postalCode:"7422",placeName:"Tartar",cantonCode:"GR"},{postalCode:"7423",placeName:"Portein",cantonCode:"GR"},{postalCode:"7423",placeName:"Sarn",cantonCode:"GR"},{postalCode:"7424",placeName:"Präz",cantonCode:"GR"},{postalCode:"7424",placeName:"Dalin",cantonCode:"GR"},{postalCode:"7425",placeName:"Masein",cantonCode:"GR"},{postalCode:"7426",placeName:"Flerden",cantonCode:"GR"},{postalCode:"7426",placeName:"Flerden",cantonCode:"GR"},{postalCode:"7427",placeName:"Urmein",cantonCode:"GR"},{postalCode:"7428",placeName:"Tschappina",cantonCode:"GR"},{postalCode:"7428",placeName:"Glaspass",cantonCode:"GR"},{postalCode:"7430",placeName:"Thusis",cantonCode:"GR"},{postalCode:"7430",placeName:"Rongellen",cantonCode:"GR"},{postalCode:"7431",placeName:"Obermutten",cantonCode:"GR"},{postalCode:"7431",placeName:"Mutten",cantonCode:"GR"},{postalCode:"7432",placeName:"Zillis",cantonCode:"GR"},{postalCode:"7433",placeName:"Wergenstein",cantonCode:"GR"},{postalCode:"7433",placeName:"Farden",cantonCode:"GR"},{postalCode:"7433",placeName:"Lohn GR",cantonCode:"GR"},{postalCode:"7433",placeName:"Donat",cantonCode:"GR"},{postalCode:"7433",placeName:"Mathon",cantonCode:"GR"},{postalCode:"7434",placeName:"Sufers",cantonCode:"GR"},{postalCode:"7435",placeName:"Splügen",cantonCode:"GR"},{postalCode:"7436",placeName:"Medels im Rheinwald",cantonCode:"GR"},{postalCode:"7437",placeName:"Nufenen",cantonCode:"GR"},{postalCode:"7438",placeName:"Hinterrhein",cantonCode:"GR"},{postalCode:"7440",placeName:"Andeer",cantonCode:"GR"},{postalCode:"7442",placeName:"Clugin",cantonCode:"GR"},{postalCode:"7443",placeName:"Pignia",cantonCode:"GR"},{postalCode:"7444",placeName:"Ausserferrera",cantonCode:"GR"},{postalCode:"7445",placeName:"Innerferrera",cantonCode:"GR"},{postalCode:"7445",placeName:"Innerferrera",cantonCode:"GR"},{postalCode:"7446",placeName:"Campsut-Cröt",cantonCode:"GR"},{postalCode:"7447",placeName:"Am Bach (Avers)",cantonCode:"GR"},{postalCode:"7447",placeName:"Cresta (Avers)",cantonCode:"GR"},{postalCode:"7448",placeName:"Juf",cantonCode:"GR"},{postalCode:"2800",placeName:"Delémont 2",cantonCode:"JU"},{postalCode:"2800",placeName:"Delémont",cantonCode:"JU"},{postalCode:"2800",placeName:"Delémont 1",cantonCode:"JU"},{postalCode:"2802",placeName:"Develier",cantonCode:"JU"},{postalCode:"2803",placeName:"Bourrignon",cantonCode:"JU"},{postalCode:"2805",placeName:"Soyhières",cantonCode:"JU"},{postalCode:"2806",placeName:"Mettembert",cantonCode:"JU"},{postalCode:"2807",placeName:"Pleigne",cantonCode:"JU"},{postalCode:"2807",placeName:"Lucelle",cantonCode:"JU"},{postalCode:"2812",placeName:"Movelier",cantonCode:"JU"},{postalCode:"2813",placeName:"Ederswiler",cantonCode:"JU"},{postalCode:"2822",placeName:"Courroux",cantonCode:"JU"},{postalCode:"2823",placeName:"Courcelon",cantonCode:"JU"},{postalCode:"2824",placeName:"Vicques",cantonCode:"JU"},{postalCode:"2825",placeName:"Courchapoix",cantonCode:"JU"},{postalCode:"2826",placeName:"Corban",cantonCode:"JU"},{postalCode:"2827",placeName:"Mervelier",cantonCode:"JU"},{postalCode:"2828",placeName:"Montsevelier",cantonCode:"JU"},{postalCode:"2829",placeName:"Vermes",cantonCode:"JU"},{postalCode:"2830",placeName:"Vellerat",cantonCode:"JU"},{postalCode:"2830",placeName:"Courrendlin",cantonCode:"JU"},{postalCode:"2832",placeName:"Rebeuvelier",cantonCode:"JU"},{postalCode:"2842",placeName:"Rossemaison",cantonCode:"JU"},{postalCode:"2843",placeName:"Châtillon JU",cantonCode:"JU"},{postalCode:"2852",placeName:"Courtételle",cantonCode:"JU"},{postalCode:"2853",placeName:"Courfaivre",cantonCode:"JU"},{postalCode:"2854",placeName:"Bassecourt",cantonCode:"JU"},{postalCode:"2855",placeName:"Glovelier",cantonCode:"JU"},{postalCode:"2856",placeName:"Boécourt",cantonCode:"JU"},{postalCode:"2857",placeName:"Montavon",cantonCode:"JU"},{postalCode:"2863",placeName:"Undervelier",cantonCode:"JU"},{postalCode:"2864",placeName:"Soulce",cantonCode:"JU"},{postalCode:"2873",placeName:"Saulcy",cantonCode:"JU"},{postalCode:"2336",placeName:"Les Bois",cantonCode:"JU"},{postalCode:"2338",placeName:"Muriaux",cantonCode:"JU"},{postalCode:"2338",placeName:"Les Emibois",cantonCode:"JU"},{postalCode:"2340",placeName:"Le Noirmont",cantonCode:"JU"},{postalCode:"2345",placeName:"Les Breuleux",cantonCode:"JU"},{postalCode:"2345",placeName:"La Chaux-des-Breuleux",cantonCode:"JU"},{postalCode:"2350",placeName:"Saignelégier",cantonCode:"JU"},{postalCode:"2353",placeName:"Les Pommerats",cantonCode:"JU"},{postalCode:"2354",placeName:"Goumois",cantonCode:"JU"},{postalCode:"2360",placeName:"Le Bémont JU",cantonCode:"JU"},{postalCode:"2362",placeName:"Montfaucon",cantonCode:"JU"},{postalCode:"2362",placeName:"Montfavergier",cantonCode:"JU"},{postalCode:"2363",placeName:"Les Enfers",cantonCode:"JU"},{postalCode:"2364",placeName:"St-Brais",cantonCode:"JU"},{postalCode:"2714",placeName:"Les Genevez JU",cantonCode:"JU"},{postalCode:"2714",placeName:"Le Prédame",cantonCode:"JU"},{postalCode:"2718",placeName:"Fornet-Dessus",cantonCode:"JU"},{postalCode:"2718",placeName:"Lajoux JU",cantonCode:"JU"},{postalCode:"2882",placeName:"St-Ursanne",cantonCode:"JU"},{postalCode:"2887",placeName:"Soubey",cantonCode:"JU"},{postalCode:"2882",placeName:"St-Ursanne",cantonCode:"JU"},{postalCode:"2883",placeName:"Montmelon",cantonCode:"JU"},{postalCode:"2884",placeName:"Montenol",cantonCode:"JU"},{postalCode:"2885",placeName:"Epauvillers",cantonCode:"JU"},{postalCode:"2886",placeName:"Epiquerez",cantonCode:"JU"},{postalCode:"2888",placeName:"Seleute",cantonCode:"JU"},{postalCode:"2889",placeName:"Ocourt",cantonCode:"JU"},{postalCode:"2900",placeName:"Porrentruy 1",cantonCode:"JU"},{postalCode:"2900",placeName:"Porrentruy",cantonCode:"JU"},{postalCode:"2900",placeName:"Porrentruy 2",cantonCode:"JU"},{postalCode:"2902",placeName:"Fontenais",cantonCode:"JU"},{postalCode:"2903",placeName:"Villars-sur-Fontenais",cantonCode:"JU"},{postalCode:"2904",placeName:"Bressaucourt",cantonCode:"JU"},{postalCode:"2905",placeName:"Courtedoux",cantonCode:"JU"},{postalCode:"2906",placeName:"Chevenez",cantonCode:"JU"},{postalCode:"2907",placeName:"Rocourt",cantonCode:"JU"},{postalCode:"2908",placeName:"Grandfontaine",cantonCode:"JU"},{postalCode:"2912",placeName:"Roche-d'Or",cantonCode:"JU"},{postalCode:"2912",placeName:"Réclère",cantonCode:"JU"},{postalCode:"2914",placeName:"Damvant",cantonCode:"JU"},{postalCode:"2915",placeName:"Bure",cantonCode:"JU"},{postalCode:"2916",placeName:"Fahy",cantonCode:"JU"},{postalCode:"2922",placeName:"Courchavon",cantonCode:"JU"},{postalCode:"2923",placeName:"Courtemaîche",cantonCode:"JU"},{postalCode:"2924",placeName:"Montignez",cantonCode:"JU"},{postalCode:"2925",placeName:"Buix",cantonCode:"JU"},{postalCode:"2926",placeName:"Boncourt",cantonCode:"JU"},{postalCode:"2932",placeName:"Coeuve",cantonCode:"JU"},{postalCode:"2933",placeName:"Damphreux",cantonCode:"JU"},{postalCode:"2933",placeName:"Lugnez",cantonCode:"JU"},{postalCode:"2935",placeName:"Beurnevésin",cantonCode:"JU"},{postalCode:"2942",placeName:"Alle",cantonCode:"JU"},{postalCode:"2943",placeName:"Vendlincourt",cantonCode:"JU"},{postalCode:"2944",placeName:"Bonfol",cantonCode:"JU"},{postalCode:"2946",placeName:"Miécourt",cantonCode:"JU"},{postalCode:"2947",placeName:"Charmoille",cantonCode:"JU"},{postalCode:"2950",placeName:"Courtemautruy",cantonCode:"JU"},{postalCode:"2950",placeName:"Courgenay",cantonCode:"JU"},{postalCode:"2952",placeName:"Cornol",cantonCode:"JU"},{postalCode:"2953",placeName:"Fregiécourt",cantonCode:"JU"},{postalCode:"2953",placeName:"Pleujouse",cantonCode:"JU"},{postalCode:"2954",placeName:"Asuel",cantonCode:"JU"},{postalCode:"6000",placeName:"Luzern 14",cantonCode:"LU"},{postalCode:"6000",placeName:"Luzern 6",cantonCode:"LU"},{postalCode:"6000",placeName:"Luzern 7",cantonCode:"LU"},{postalCode:"6000",placeName:"Luzern 15",cantonCode:"LU"},{postalCode:"6000",placeName:"Luzern 30 AAL",cantonCode:"LU"},{postalCode:"6000",placeName:"Luzern",cantonCode:"LU"},{postalCode:"6000",placeName:"Luzern 16",cantonCode:"LU"},{postalCode:"6002",placeName:"Luzern",cantonCode:"LU"},{postalCode:"6003",placeName:"Luzern",cantonCode:"LU"},{postalCode:"6004",placeName:"Luzern",cantonCode:"LU"},{postalCode:"6005",placeName:"Luzern",cantonCode:"LU"},{postalCode:"6006",placeName:"Luzern",cantonCode:"LU"},{postalCode:"6007",placeName:"Luzern",cantonCode:"LU"},{postalCode:"6014",placeName:"Luzern",cantonCode:"LU"},{postalCode:"6015",placeName:"Luzern",cantonCode:"LU"},{postalCode:"6005",placeName:"St. Niklausen LU",cantonCode:"LU"},{postalCode:"6009",placeName:"Luzern",cantonCode:"LU"},{postalCode:"6010",placeName:"Kriens",cantonCode:"LU"},{postalCode:"6010",placeName:"Kriens 2",cantonCode:"LU"},{postalCode:"6011",placeName:"Kriens",cantonCode:"LU"},{postalCode:"6012",placeName:"Obernau",cantonCode:"LU"},{postalCode:"6013",placeName:"Eigenthal",cantonCode:"LU"},{postalCode:"6030",placeName:"Ebikon",cantonCode:"LU"},{postalCode:"6031",placeName:"Ebikon",cantonCode:"LU"},{postalCode:"6033",placeName:"Buchrain",cantonCode:"LU"},{postalCode:"6035",placeName:"Perlen",cantonCode:"LU"},{postalCode:"6036",placeName:"Dierikon",cantonCode:"LU"},{postalCode:"6037",placeName:"Root",cantonCode:"LU"},{postalCode:"6038",placeName:"Honau",cantonCode:"LU"},{postalCode:"6038",placeName:"Gisikon",cantonCode:"LU"},{postalCode:"6039",placeName:"Root D4",cantonCode:"LU"},{postalCode:"6043",placeName:"Adligenswil",cantonCode:"LU"},{postalCode:"6044",placeName:"Udligenswil",cantonCode:"LU"},{postalCode:"6045",placeName:"Meggen",cantonCode:"LU"},{postalCode:"6047",placeName:"Kastanienbaum",cantonCode:"LU"},{postalCode:"6048",placeName:"Horw",cantonCode:"LU"},{postalCode:"6102",placeName:"Malters",cantonCode:"LU"},{postalCode:"6103",placeName:"Schwarzenberg LU",cantonCode:"LU"},{postalCode:"6344",placeName:"Meierskappel",cantonCode:"LU"},{postalCode:"6353",placeName:"Weggis",cantonCode:"LU"},{postalCode:"6354",placeName:"Vitznau",cantonCode:"LU"},{postalCode:"6356",placeName:"Rigi Kaltbad",cantonCode:"LU"},{postalCode:"6404",placeName:"Greppen",cantonCode:"LU"},{postalCode:"6020",placeName:"Emmenbrücke",cantonCode:"LU"},{postalCode:"6020",placeName:"Emmenbrücke 2",cantonCode:"LU"},{postalCode:"6021",placeName:"Emmenbrücke 1",cantonCode:"LU"},{postalCode:"6023",placeName:"Rothenburg",cantonCode:"LU"},{postalCode:"6026",placeName:"Rain",cantonCode:"LU"},{postalCode:"6027",placeName:"Römerswil LU",cantonCode:"LU"},{postalCode:"6028",placeName:"Herlisberg",cantonCode:"LU"},{postalCode:"6032",placeName:"Emmen",cantonCode:"LU"},{postalCode:"6034",placeName:"Inwil",cantonCode:"LU"},{postalCode:"6274",placeName:"Eschenbach LU",cantonCode:"LU"},{postalCode:"6275",placeName:"Ballwil",cantonCode:"LU"},{postalCode:"6276",placeName:"Hohenrain",cantonCode:"LU"},{postalCode:"6277",placeName:"Kleinwangen",cantonCode:"LU"},{postalCode:"6277",placeName:"Lieli LU",cantonCode:"LU"},{postalCode:"6280",placeName:"Urswil",cantonCode:"LU"},{postalCode:"6280",placeName:"Hochdorf",cantonCode:"LU"},{postalCode:"6281",placeName:"Hochdorf",cantonCode:"LU"},{postalCode:"6283",placeName:"Baldegg",cantonCode:"LU"},{postalCode:"6284",placeName:"Sulz LU",cantonCode:"LU"},{postalCode:"6284",placeName:"Gelfingen",cantonCode:"LU"},{postalCode:"6285",placeName:"Hitzkirch",cantonCode:"LU"},{postalCode:"6285",placeName:"Retschwil",cantonCode:"LU"},{postalCode:"6286",placeName:"Altwis",cantonCode:"LU"},{postalCode:"6287",placeName:"Aesch LU",cantonCode:"LU"},{postalCode:"6288",placeName:"Schongau",cantonCode:"LU"},{postalCode:"6289",placeName:"Hämikon",cantonCode:"LU"},{postalCode:"6289",placeName:"Müswangen",cantonCode:"LU"},{postalCode:"6289",placeName:"Hämikon",cantonCode:"LU"},{postalCode:"6294",placeName:"Ermensee",cantonCode:"LU"},{postalCode:"6295",placeName:"Mosen",cantonCode:"LU"},{postalCode:"5735",placeName:"Pfeffikon LU",cantonCode:"LU"},{postalCode:"6016",placeName:"Hellbühl",cantonCode:"LU"},{postalCode:"6017",placeName:"Ruswil",cantonCode:"LU"},{postalCode:"6018",placeName:"Buttisholz",cantonCode:"LU"},{postalCode:"6019",placeName:"Sigigen",cantonCode:"LU"},{postalCode:"6022",placeName:"Grosswangen",cantonCode:"LU"},{postalCode:"6024",placeName:"Hildisrieden",cantonCode:"LU"},{postalCode:"6025",placeName:"Neudorf",cantonCode:"LU"},{postalCode:"6203",placeName:"Sempach Station",cantonCode:"LU"},{postalCode:"6204",placeName:"Sempach",cantonCode:"LU"},{postalCode:"6205",placeName:"Eich",cantonCode:"LU"},{postalCode:"6206",placeName:"Neuenkirch",cantonCode:"LU"},{postalCode:"6207",placeName:"Nottwil Paraplegikerzentrum",cantonCode:"LU"},{postalCode:"6207",placeName:"Nottwil",cantonCode:"LU"},{postalCode:"6208",placeName:"Oberkirch LU",cantonCode:"LU"},{postalCode:"6210",placeName:"Sursee",cantonCode:"LU"},{postalCode:"6212",placeName:"Kaltbach",cantonCode:"LU"},{postalCode:"6212",placeName:"St. Erhard",cantonCode:"LU"},{postalCode:"6213",placeName:"Knutwil",cantonCode:"LU"},{postalCode:"6214",placeName:"Schenkon",cantonCode:"LU"},{postalCode:"6215",placeName:"Beromünster",cantonCode:"LU"},{postalCode:"6215",placeName:"Schwarzenbach LU",cantonCode:"LU"},{postalCode:"6216",placeName:"Mauensee",cantonCode:"LU"},{postalCode:"6221",placeName:"Rickenbach LU",cantonCode:"LU"},{postalCode:"6222",placeName:"Gunzwil",cantonCode:"LU"},{postalCode:"6231",placeName:"Schlierbach",cantonCode:"LU"},{postalCode:"6232",placeName:"Geuensee",cantonCode:"LU"},{postalCode:"6233",placeName:"Büron",cantonCode:"LU"},{postalCode:"6234",placeName:"Triengen",cantonCode:"LU"},{postalCode:"6234",placeName:"Kulmerau",cantonCode:"LU"},{postalCode:"6235",placeName:"Winikon",cantonCode:"LU"},{postalCode:"6236",placeName:"Wilihof",cantonCode:"LU"},{postalCode:"4806",placeName:"Wikon",cantonCode:"LU"},{postalCode:"4915",placeName:"St. Urban",cantonCode:"LU"},{postalCode:"6122",placeName:"Menznau",cantonCode:"LU"},{postalCode:"6123",placeName:"Geiss",cantonCode:"LU"},{postalCode:"6125",placeName:"Menzberg",cantonCode:"LU"},{postalCode:"6126",placeName:"Daiwil",cantonCode:"LU"},{postalCode:"6130",placeName:"Willisau",cantonCode:"LU"},{postalCode:"6132",placeName:"Rohrmatt",cantonCode:"LU"},{postalCode:"6133",placeName:"Hergiswil b. Willisau",cantonCode:"LU"},{postalCode:"6142",placeName:"Gettnau",cantonCode:"LU"},{postalCode:"6143",placeName:"Ohmstal",cantonCode:"LU"},{postalCode:"6144",placeName:"Zell LU",cantonCode:"LU"},{postalCode:"6145",placeName:"Fischbach LU",cantonCode:"LU"},{postalCode:"6146",placeName:"Grossdietwil",cantonCode:"LU"},{postalCode:"6147",placeName:"Altbüron",cantonCode:"LU"},{postalCode:"6152",placeName:"Hüswil",cantonCode:"LU"},{postalCode:"6153",placeName:"Ufhusen",cantonCode:"LU"},{postalCode:"6154",placeName:"Hofstatt",cantonCode:"LU"},{postalCode:"6156",placeName:"Luthern",cantonCode:"LU"},{postalCode:"6156",placeName:"Luthern Bad",cantonCode:"LU"},{postalCode:"6211",placeName:"Buchs LU",cantonCode:"LU"},{postalCode:"6217",placeName:"Kottwil",cantonCode:"LU"},{postalCode:"6218",placeName:"Ettiswil",cantonCode:"LU"},{postalCode:"6242",placeName:"Wauwil",cantonCode:"LU"},{postalCode:"6243",placeName:"Egolzwil",cantonCode:"LU"},{postalCode:"6244",placeName:"Nebikon",cantonCode:"LU"},{postalCode:"6245",placeName:"Ebersecken",cantonCode:"LU"},{postalCode:"6246",placeName:"Altishofen",cantonCode:"LU"},{postalCode:"6247",placeName:"Schötz",cantonCode:"LU"},{postalCode:"6248",placeName:"Alberswil",cantonCode:"LU"},{postalCode:"6252",placeName:"Dagmersellen",cantonCode:"LU"},{postalCode:"6253",placeName:"Uffikon",cantonCode:"LU"},{postalCode:"6260",placeName:"Reiden",cantonCode:"LU"},{postalCode:"6260",placeName:"Hintermoos",cantonCode:"LU"},{postalCode:"6260",placeName:"Reidermoos",cantonCode:"LU"},{postalCode:"6260",placeName:"Mehlsecken",cantonCode:"LU"},{postalCode:"6262",placeName:"Langnau b. Reiden",cantonCode:"LU"},{postalCode:"6263",placeName:"Richenthal",cantonCode:"LU"},{postalCode:"6264",placeName:"Pfaffnau",cantonCode:"LU"},{postalCode:"6265",placeName:"Roggliswil",cantonCode:"LU"},{postalCode:"6105",placeName:"Schachen LU",cantonCode:"LU"},{postalCode:"6106",placeName:"Werthenstein",cantonCode:"LU"},{postalCode:"6110",placeName:"Fontannen b. Wolhusen",cantonCode:"LU"},{postalCode:"6110",placeName:"Wolhusen",cantonCode:"LU"},{postalCode:"6112",placeName:"Doppleschwand",cantonCode:"LU"},{postalCode:"6113",placeName:"Romoos",cantonCode:"LU"},{postalCode:"6114",placeName:"Steinhuserberg",cantonCode:"LU"},{postalCode:"6160",placeName:"Entlebuch Businesszentrum",cantonCode:"LU"},{postalCode:"6160",placeName:"Entlebuch",cantonCode:"LU"},{postalCode:"6162",placeName:"Rengg",cantonCode:"LU"},{postalCode:"6162",placeName:"Finsterwald b. Entlebuch",cantonCode:"LU"},{postalCode:"6162",placeName:"Entlebuch",cantonCode:"LU"},{postalCode:"6163",placeName:"Ebnet",cantonCode:"LU"},{postalCode:"6166",placeName:"Hasle LU",cantonCode:"LU"},{postalCode:"6167",placeName:"Bramboden",cantonCode:"LU"},{postalCode:"6170",placeName:"Schüpfheim",cantonCode:"LU"},{postalCode:"6173",placeName:"Flühli LU",cantonCode:"LU"},{postalCode:"6174",placeName:"Sörenberg",cantonCode:"LU"},{postalCode:"6182",placeName:"Escholzmatt",cantonCode:"LU"},{postalCode:"6192",placeName:"Wiggen",cantonCode:"LU"},{postalCode:"6196",placeName:"Marbach LU",cantonCode:"LU"},{postalCode:"2012",placeName:"Auvernier",cantonCode:"NE"},{postalCode:"2013",placeName:"Colombier NE",cantonCode:"NE"},{postalCode:"2014",placeName:"Bôle",cantonCode:"NE"},{postalCode:"2015",placeName:"Areuse",cantonCode:"NE"},{postalCode:"2016",placeName:"Cortaillod",cantonCode:"NE"},{postalCode:"2017",placeName:"Boudry",cantonCode:"NE"},{postalCode:"2019",placeName:"Chambrelien",cantonCode:"NE"},{postalCode:"2019",placeName:"Rochefort",cantonCode:"NE"},{postalCode:"2022",placeName:"Bevaix",cantonCode:"NE"},{postalCode:"2023",placeName:"Gorgier",cantonCode:"NE"},{postalCode:"2024",placeName:"St-Aubin-Sauges",cantonCode:"NE"},{postalCode:"2025",placeName:"Chez-le-Bart",cantonCode:"NE"},{postalCode:"2027",placeName:"Montalchez",cantonCode:"NE"},{postalCode:"2027",placeName:"Fresens",cantonCode:"NE"},{postalCode:"2028",placeName:"Vaumarcus",cantonCode:"NE"},{postalCode:"2034",placeName:"Peseux",cantonCode:"NE"},{postalCode:"2035",placeName:"Corcelles NE",cantonCode:"NE"},{postalCode:"2036",placeName:"Cormondrèche",cantonCode:"NE"},{postalCode:"2037",placeName:"Montezillon",cantonCode:"NE"},{postalCode:"2149",placeName:"Champ-du-Moulin",cantonCode:"NE"},{postalCode:"2149",placeName:"Brot-Dessous",cantonCode:"NE"},{postalCode:"2149",placeName:"Fretereules",cantonCode:"NE"},{postalCode:"2300",placeName:"La Chaux-de-Fonds",cantonCode:"NE"},{postalCode:"2300",placeName:"La Cibourg",cantonCode:"NE"},{postalCode:"2301",placeName:"La Chaux-de-Fonds",cantonCode:"NE"},{postalCode:"2303",placeName:"La Chaux-de-Fonds",cantonCode:"NE"},{postalCode:"2304",placeName:"La Chaux-de-Fonds",cantonCode:"NE"},{postalCode:"2314",placeName:"La Sagne NE",cantonCode:"NE"},{postalCode:"2322",placeName:"Le Crêt-du-Locle",cantonCode:"NE"},{postalCode:"2325",placeName:"Les Planchettes",cantonCode:"NE"},{postalCode:"2333",placeName:"La Cibourg",cantonCode:"NE"},{postalCode:"2616",placeName:"La Cibourg",cantonCode:"NE"},{postalCode:"2316",placeName:"Les Ponts-de-Martel",cantonCode:"NE"},{postalCode:"2316",placeName:"Petit-Martel",cantonCode:"NE"},{postalCode:"2318",placeName:"Brot-Plamboz",cantonCode:"NE"},{postalCode:"2400",placeName:"Le Prévoux",cantonCode:"NE"},{postalCode:"2400",placeName:"Le Locle",cantonCode:"NE"},{postalCode:"2400",placeName:"Le Locle",cantonCode:"NE"},{postalCode:"2405",placeName:"La Chaux-du-Milieu",cantonCode:"NE"},{postalCode:"2406",placeName:"Les Taillères",cantonCode:"NE"},{postalCode:"2406",placeName:"La Brévine",cantonCode:"NE"},{postalCode:"2406",placeName:"Le Brouillet",cantonCode:"NE"},{postalCode:"2406",placeName:"La Châtagne",cantonCode:"NE"},{postalCode:"2414",placeName:"Le Cerneux-Péquignot",cantonCode:"NE"},{postalCode:"2416",placeName:"Les Brenets",cantonCode:"NE"},{postalCode:"2000",placeName:"Neuchâtel",cantonCode:"NE"},{postalCode:"2001",placeName:"Neuchâtel 1",cantonCode:"NE"},{postalCode:"2002",placeName:"Neuchâtel 2",cantonCode:"NE"},{postalCode:"2010",placeName:"Neuchâtel OFS",cantonCode:"NE"},{postalCode:"2067",placeName:"Chaumont",cantonCode:"NE"},{postalCode:"2068",placeName:"Hauterive NE",cantonCode:"NE"},{postalCode:"2072",placeName:"St-Blaise",cantonCode:"NE"},{postalCode:"2073",placeName:"Enges",cantonCode:"NE"},{postalCode:"2074",placeName:"Marin-Centre",cantonCode:"NE"},{postalCode:"2074",placeName:"Marin-Epagnier",cantonCode:"NE"},{postalCode:"2075",placeName:"Thielle",cantonCode:"NE"},{postalCode:"2075",placeName:"Wavre",cantonCode:"NE"},{postalCode:"2087",placeName:"Cornaux NE",cantonCode:"NE"},{postalCode:"2088",placeName:"Cressier NE",cantonCode:"NE"},{postalCode:"2523",placeName:"Lignières",cantonCode:"NE"},{postalCode:"2525",placeName:"Le Landeron",cantonCode:"NE"},{postalCode:"2037",placeName:"Montmollin",cantonCode:"NE"},{postalCode:"2042",placeName:"Valangin",cantonCode:"NE"},{postalCode:"2043",placeName:"Boudevilliers",cantonCode:"NE"},{postalCode:"2046",placeName:"Fontaines NE",cantonCode:"NE"},{postalCode:"2052",placeName:"La Vue-des-Alpes",cantonCode:"NE"},{postalCode:"2052",placeName:"Fontainemelon",cantonCode:"NE"},{postalCode:"2053",placeName:"Cernier",cantonCode:"NE"},{postalCode:"2054",placeName:"Les Vieux-Prés",cantonCode:"NE"},{postalCode:"2054",placeName:"Chézard-St-Martin",cantonCode:"NE"},{postalCode:"2056",placeName:"Dombresson",cantonCode:"NE"},{postalCode:"2057",placeName:"Villiers",cantonCode:"NE"},{postalCode:"2058",placeName:"Le Pâquier NE",cantonCode:"NE"},{postalCode:"2063",placeName:"Saules",cantonCode:"NE"},{postalCode:"2063",placeName:"Engollon",cantonCode:"NE"},{postalCode:"2063",placeName:"Vilars NE",cantonCode:"NE"},{postalCode:"2063",placeName:"Fenin",cantonCode:"NE"},{postalCode:"2065",placeName:"Savagnier",cantonCode:"NE"},{postalCode:"2206",placeName:"Les Geneveys-sur-Coffrane",cantonCode:"NE"},{postalCode:"2207",placeName:"Coffrane",cantonCode:"NE"},{postalCode:"2208",placeName:"Les Hauts-Geneveys",cantonCode:"NE"},{postalCode:"2103",placeName:"Noiraigue",cantonCode:"NE"},{postalCode:"2105",placeName:"Travers",cantonCode:"NE"},{postalCode:"2108",placeName:"Couvet",cantonCode:"NE"},{postalCode:"2112",placeName:"Môtiers NE",cantonCode:"NE"},{postalCode:"2113",placeName:"Boveresse",cantonCode:"NE"},{postalCode:"2114",placeName:"Fleurier",cantonCode:"NE"},{postalCode:"2115",placeName:"Buttes",cantonCode:"NE"},{postalCode:"2116",placeName:"Mont-de-Buttes",cantonCode:"NE"},{postalCode:"2117",placeName:"La Côte-aux-Fées",cantonCode:"NE"},{postalCode:"2123",placeName:"St-Sulpice NE",cantonCode:"NE"},{postalCode:"2124",placeName:"Les Sagnettes",cantonCode:"NE"},{postalCode:"2126",placeName:"Les Verrières",cantonCode:"NE"},{postalCode:"2127",placeName:"Les Bayards",cantonCode:"NE"},{postalCode:"6052",placeName:"Hergiswil NW",cantonCode:"NW"},{postalCode:"6362",placeName:"Stansstad",cantonCode:"NW"},{postalCode:"6363",placeName:"Fürigen",cantonCode:"NW"},{postalCode:"6363",placeName:"Bürgenstock",cantonCode:"NW"},{postalCode:"6363",placeName:"Obbürgen",cantonCode:"NW"},{postalCode:"6365",placeName:"Kehrsiten",cantonCode:"NW"},{postalCode:"6370",placeName:"Stans",cantonCode:"NW"},{postalCode:"6370",placeName:"Oberdorf NW",cantonCode:"NW"},{postalCode:"6371",placeName:"Stans",cantonCode:"NW"},{postalCode:"6372",placeName:"Ennetmoos",cantonCode:"NW"},{postalCode:"6373",placeName:"Ennetbürgen",cantonCode:"NW"},{postalCode:"6374",placeName:"Buochs",cantonCode:"NW"},{postalCode:"6375",placeName:"Beckenried",cantonCode:"NW"},{postalCode:"6376",placeName:"Emmetten",cantonCode:"NW"},{postalCode:"6382",placeName:"Büren NW",cantonCode:"NW"},{postalCode:"6383",placeName:"Wiesenberg",cantonCode:"NW"},{postalCode:"6383",placeName:"Wirzweli",cantonCode:"NW"},{postalCode:"6383",placeName:"Dallenwil",cantonCode:"NW"},{postalCode:"6383",placeName:"Niederrickenbach",cantonCode:"NW"},{postalCode:"6386",placeName:"Wolfenschiessen",cantonCode:"NW"},{postalCode:"6387",placeName:"Oberrickenbach",cantonCode:"NW"},{postalCode:"6010",placeName:"Kriens",cantonCode:"OW"},{postalCode:"6010",placeName:"Pilatus Kulm",cantonCode:"OW"},{postalCode:"6053",placeName:"Alpnachstad",cantonCode:"OW"},{postalCode:"6055",placeName:"Alpnach Dorf",cantonCode:"OW"},{postalCode:"6056",placeName:"Kägiswil",cantonCode:"OW"},{postalCode:"6060",placeName:"Ramersberg",cantonCode:"OW"},{postalCode:"6060",placeName:"Sarnen",cantonCode:"OW"},{postalCode:"6060",placeName:"Sarnen 2",cantonCode:"OW"},{postalCode:"6061",placeName:"Sarnen 1",cantonCode:"OW"},{postalCode:"6062",placeName:"Wilen (Sarnen)",cantonCode:"OW"},{postalCode:"6063",placeName:"Stalden (Sarnen)",cantonCode:"OW"},{postalCode:"6064",placeName:"Kerns",cantonCode:"OW"},{postalCode:"6066",placeName:"St. Niklausen OW",cantonCode:"OW"},{postalCode:"6067",placeName:"Melchtal",cantonCode:"OW"},{postalCode:"6068",placeName:"Melchsee-Frutt",cantonCode:"OW"},{postalCode:"6072",placeName:"Sachseln",cantonCode:"OW"},{postalCode:"6073",placeName:"Flüeli-Ranft",cantonCode:"OW"},{postalCode:"6074",placeName:"Giswil",cantonCode:"OW"},{postalCode:"6078",placeName:"Bürglen OW",cantonCode:"OW"},{postalCode:"6078",placeName:"Lungern",cantonCode:"OW"},{postalCode:"6388",placeName:"Grafenort",cantonCode:"OW"},{postalCode:"6390",placeName:"Engelberg",cantonCode:"OW"},{postalCode:"6391",placeName:"Engelberg",cantonCode:"OW"},{postalCode:"9000",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9001",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9004",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9006",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9007",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9008",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9010",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9011",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9012",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9013",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9014",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9015",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9016",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9020",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9021",placeName:"St. Gallen MS",cantonCode:"SG"},{postalCode:"9023",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9024",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9024",placeName:"St. Gallen Presse-Serv.Güll",cantonCode:"SG"},{postalCode:"9026",placeName:"St. Gallen K AG",cantonCode:"SG"},{postalCode:"9026",placeName:"St. Gallen Künzler AG",cantonCode:"SG"},{postalCode:"9027",placeName:"St. Gallen Mona Versand",cantonCode:"SG"},{postalCode:"9027",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9028",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9029",placeName:"St. Gallen",cantonCode:"SG"},{postalCode:"9029",placeName:"St. Gallen Sonderdienste",cantonCode:"SG"},{postalCode:"9030",placeName:"St. Josefen",cantonCode:"SG"},{postalCode:"9030",placeName:"Abtwil SG",cantonCode:"SG"},{postalCode:"9032",placeName:"Engelburg",cantonCode:"SG"},{postalCode:"9034",placeName:"Eggersriet",cantonCode:"SG"},{postalCode:"9036",placeName:"Grub SG",cantonCode:"SG"},{postalCode:"9200",placeName:"Gossau SG",cantonCode:"SG"},{postalCode:"9200",placeName:"Gossau SG 2",cantonCode:"SG"},{postalCode:"9201",placeName:"Gossau SG",cantonCode:"SG"},{postalCode:"9204",placeName:"Andwil SG",cantonCode:"SG"},{postalCode:"9205",placeName:"Waldkirch",cantonCode:"SG"},{postalCode:"9212",placeName:"Arnegg",cantonCode:"SG"},{postalCode:"9300",placeName:"Wittenbach",cantonCode:"SG"},{postalCode:"9301",placeName:"Wittenbach",cantonCode:"SG"},{postalCode:"9304",placeName:"Bernhardzell",cantonCode:"SG"},{postalCode:"9308",placeName:"Lömmenschwil",cantonCode:"SG"},{postalCode:"9312",placeName:"Häggenschwil",cantonCode:"SG"},{postalCode:"9313",placeName:"Muolen",cantonCode:"SG"},{postalCode:"9033",placeName:"Untereggen",cantonCode:"SG"},{postalCode:"9305",placeName:"Berg SG",cantonCode:"SG"},{postalCode:"9323",placeName:"Steinach",cantonCode:"SG"},{postalCode:"9327",placeName:"Tübach",cantonCode:"SG"},{postalCode:"9400",placeName:"Rorschach",cantonCode:"SG"},{postalCode:"9401",placeName:"Rorschach",cantonCode:"SG"},{postalCode:"9402",placeName:"Mörschwil",cantonCode:"SG"},{postalCode:"9403",placeName:"Goldach",cantonCode:"SG"},{postalCode:"9404",placeName:"Rorschacherberg",cantonCode:"SG"},{postalCode:"9422",placeName:"Staad SG",cantonCode:"SG"},{postalCode:"9423",placeName:"Altenrhein",cantonCode:"SG"},{postalCode:"9425",placeName:"Thal",cantonCode:"SG"},{postalCode:"9411",placeName:"Reute AR",cantonCode:"SG"},{postalCode:"9424",placeName:"Rheineck",cantonCode:"SG"},{postalCode:"9430",placeName:"St. Margrethen SG",cantonCode:"SG"},{postalCode:"9434",placeName:"Au SG",cantonCode:"SG"},{postalCode:"9435",placeName:"Heerbrugg",cantonCode:"SG"},{postalCode:"9436",placeName:"Balgach",cantonCode:"SG"},{postalCode:"9437",placeName:"Marbach SG",cantonCode:"SG"},{postalCode:"9442",placeName:"Berneck",cantonCode:"SG"},{postalCode:"9443",placeName:"Widnau",cantonCode:"SG"},{postalCode:"9444",placeName:"Diepoldsau",cantonCode:"SG"},{postalCode:"9445",placeName:"Rebstein",cantonCode:"SG"},{postalCode:"9450",placeName:"Altstätten SG 2",cantonCode:"SG"},{postalCode:"9450",placeName:"Altstätten SG",cantonCode:"SG"},{postalCode:"9450",placeName:"Lüchingen",cantonCode:"SG"},{postalCode:"9451",placeName:"Kriessern",cantonCode:"SG"},{postalCode:"9452",placeName:"Hinterforst",cantonCode:"SG"},{postalCode:"9453",placeName:"Eichberg",cantonCode:"SG"},{postalCode:"9462",placeName:"Montlingen",cantonCode:"SG"},{postalCode:"9462",placeName:"Montlingen",cantonCode:"SG"},{postalCode:"9463",placeName:"Oberriet SG",cantonCode:"SG"},{postalCode:"9464",placeName:"Rüthi (Rheintal)",cantonCode:"SG"},{postalCode:"9464",placeName:"Lienz",cantonCode:"SG"},{postalCode:"9465",placeName:"Salez",cantonCode:"SG"},{postalCode:"9466",placeName:"Sennwald",cantonCode:"SG"},{postalCode:"9467",placeName:"Frümsen",cantonCode:"SG"},{postalCode:"9468",placeName:"Sax",cantonCode:"SG"},{postalCode:"9469",placeName:"Haag (Rheintal)",cantonCode:"SG"},{postalCode:"9470",placeName:"Werdenberg",cantonCode:"SG"},{postalCode:"9470",placeName:"Buchs SG",cantonCode:"SG"},{postalCode:"9471",placeName:"Buchs SG 3",cantonCode:"SG"},{postalCode:"9471",placeName:"Buchs SG 1",cantonCode:"SG"},{postalCode:"9472",placeName:"Grabs",cantonCode:"SG"},{postalCode:"9472",placeName:"Grabserberg",cantonCode:"SG"},{postalCode:"9473",placeName:"Gams",cantonCode:"SG"},{postalCode:"9475",placeName:"Sevelen",cantonCode:"SG"},{postalCode:"9476",placeName:"Weite",cantonCode:"SG"},{postalCode:"9476",placeName:"Fontnas",cantonCode:"SG"},{postalCode:"9477",placeName:"Trübbach",cantonCode:"SG"},{postalCode:"9478",placeName:"Azmoos",cantonCode:"SG"},{postalCode:"9479",placeName:"Malans SG",cantonCode:"SG"},{postalCode:"9479",placeName:"Oberschan",cantonCode:"SG"},{postalCode:"9479",placeName:"Gretschins",cantonCode:"SG"},{postalCode:"7310",placeName:"Bad Ragaz",cantonCode:"SG"},{postalCode:"7310",placeName:"Bad Ragaz",cantonCode:"SG"},{postalCode:"7312",placeName:"Pfäfers",cantonCode:"SG"},{postalCode:"7313",placeName:"St. Margrethenberg",cantonCode:"SG"},{postalCode:"7314",placeName:"Vadura",cantonCode:"SG"},{postalCode:"7315",placeName:"Vättis",cantonCode:"SG"},{postalCode:"7317",placeName:"Vasön",cantonCode:"SG"},{postalCode:"7317",placeName:"Valens",cantonCode:"SG"},{postalCode:"7320",placeName:"Sargans",cantonCode:"SG"},{postalCode:"7323",placeName:"Wangs",cantonCode:"SG"},{postalCode:"7324",placeName:"Vilters",cantonCode:"SG"},{postalCode:"7325",placeName:"Schwendi im Weisstannental",cantonCode:"SG"},{postalCode:"7326",placeName:"Weisstannen",cantonCode:"SG"},{postalCode:"8877",placeName:"Murg",cantonCode:"SG"},{postalCode:"8878",placeName:"Quinten",cantonCode:"SG"},{postalCode:"8879",placeName:"Pizolpark (Mels)",cantonCode:"SG"},{postalCode:"8880",placeName:"Walenstadt",cantonCode:"SG"},{postalCode:"8881",placeName:"Tscherlach",cantonCode:"SG"},{postalCode:"8881",placeName:"Walenstadtberg",cantonCode:"SG"},{postalCode:"8882",placeName:"Unterterzen",cantonCode:"SG"},{postalCode:"8883",placeName:"Quarten",cantonCode:"SG"},{postalCode:"8884",placeName:"Oberterzen",cantonCode:"SG"},{postalCode:"8885",placeName:"Mols",cantonCode:"SG"},{postalCode:"8886",placeName:"Mädris-Vermol",cantonCode:"SG"},{postalCode:"8887",placeName:"Mels",cantonCode:"SG"},{postalCode:"8888",placeName:"Heiligkreuz (Mels)",cantonCode:"SG"},{postalCode:"8889",placeName:"Plons",cantonCode:"SG"},{postalCode:"8890",placeName:"Flums",cantonCode:"SG"},{postalCode:"8892",placeName:"Berschis",cantonCode:"SG"},{postalCode:"8893",placeName:"Flums Hochwiese",cantonCode:"SG"},{postalCode:"8894",placeName:"Flumserberg Saxli",cantonCode:"SG"},{postalCode:"8895",placeName:"Flumserberg Portels",cantonCode:"SG"},{postalCode:"8896",placeName:"Flumserberg Bergheim",cantonCode:"SG"},{postalCode:"8897",placeName:"Flumserberg Tannenheim",cantonCode:"SG"},{postalCode:"8898",placeName:"Flumserberg Tannenbodenalp",cantonCode:"SG"},{postalCode:"8638",placeName:"Goldingen",cantonCode:"SG"},{postalCode:"8640",placeName:"Rapperswil SG",cantonCode:"SG"},{postalCode:"8645",placeName:"Jona",cantonCode:"SG"},{postalCode:"8646",placeName:"Wagen",cantonCode:"SG"},{postalCode:"8715",placeName:"Bollingen",cantonCode:"SG"},{postalCode:"8716",placeName:"Schmerikon",cantonCode:"SG"},{postalCode:"8717",placeName:"Benken SG",cantonCode:"SG"},{postalCode:"8718",placeName:"Schänis",cantonCode:"SG"},{postalCode:"8722",placeName:"Kaltbrunn",cantonCode:"SG"},{postalCode:"8723",placeName:"Rufi",cantonCode:"SG"},{postalCode:"8723",placeName:"Maseltrangen",cantonCode:"SG"},{postalCode:"8725",placeName:"Ernetschwil",cantonCode:"SG"},{postalCode:"8725",placeName:"Gebertingen",cantonCode:"SG"},{postalCode:"8726",placeName:"Ricken SG",cantonCode:"SG"},{postalCode:"8727",placeName:"Walde SG",cantonCode:"SG"},{postalCode:"8730",placeName:"Uznach",cantonCode:"SG"},{postalCode:"8732",placeName:"Neuhaus SG",cantonCode:"SG"},{postalCode:"8733",placeName:"Eschenbach SG",cantonCode:"SG"},{postalCode:"8734",placeName:"Ermenswil",cantonCode:"SG"},{postalCode:"8735",placeName:"St. Gallenkappel",cantonCode:"SG"},{postalCode:"8735",placeName:"Rüeterswil",cantonCode:"SG"},{postalCode:"8737",placeName:"Gommiswald",cantonCode:"SG"},{postalCode:"8738",placeName:"Uetliburg SG",cantonCode:"SG"},{postalCode:"8739",placeName:"Rieden SG",cantonCode:"SG"},{postalCode:"8740",placeName:"Uznach Vögele AG",cantonCode:"SG"},{postalCode:"8740",placeName:"Uznach Vögele Versandhaus",cantonCode:"SG"},{postalCode:"8866",placeName:"Ziegelbrücke",cantonCode:"SG"},{postalCode:"8872",placeName:"Weesen",cantonCode:"SG"},{postalCode:"8873",placeName:"Amden",cantonCode:"SG"},{postalCode:"9114",placeName:"Hoffeld",cantonCode:"SG"},{postalCode:"9115",placeName:"Dicken",cantonCode:"SG"},{postalCode:"9122",placeName:"Mogelsberg",cantonCode:"SG"},{postalCode:"9122",placeName:"Ebersol",cantonCode:"SG"},{postalCode:"9123",placeName:"Nassen",cantonCode:"SG"},{postalCode:"9125",placeName:"Brunnadern",cantonCode:"SG"},{postalCode:"9126",placeName:"Necker",cantonCode:"SG"},{postalCode:"9127",placeName:"St. Peterzell",cantonCode:"SG"},{postalCode:"9500",placeName:"Wil SG",cantonCode:"SG"},{postalCode:"9533",placeName:"Dietschwil",cantonCode:"SG"},{postalCode:"9533",placeName:"Kirchberg SG",cantonCode:"SG"},{postalCode:"9534",placeName:"Gähwil",cantonCode:"SG"},{postalCode:"9601",placeName:"Lütisburg Station",cantonCode:"SG"},{postalCode:"9602",placeName:"Müselbach",cantonCode:"SG"},{postalCode:"9602",placeName:"Bazenheid",cantonCode:"SG"},{postalCode:"9604",placeName:"Lütisburg",cantonCode:"SG"},{postalCode:"9604",placeName:"Unterrindal",cantonCode:"SG"},{postalCode:"9606",placeName:"Bütschwil",cantonCode:"SG"},{postalCode:"9607",placeName:"Mosnang",cantonCode:"SG"},{postalCode:"9608",placeName:"Ganterschwil",cantonCode:"SG"},{postalCode:"9612",placeName:"Dreien",cantonCode:"SG"},{postalCode:"9613",placeName:"Mühlrüti",cantonCode:"SG"},{postalCode:"9614",placeName:"Libingen",cantonCode:"SG"},{postalCode:"9615",placeName:"Dietfurt",cantonCode:"SG"},{postalCode:"9620",placeName:"Lichtensteig",cantonCode:"SG"},{postalCode:"9621",placeName:"Oberhelfenschwil",cantonCode:"SG"},{postalCode:"9622",placeName:"Krinau",cantonCode:"SG"},{postalCode:"9630",placeName:"Wattwil",cantonCode:"SG"},{postalCode:"9631",placeName:"Ulisbach",cantonCode:"SG"},{postalCode:"9633",placeName:"Hemberg",cantonCode:"SG"},{postalCode:"9633",placeName:"Bächli (Hemberg)",cantonCode:"SG"},{postalCode:"9642",placeName:"Ebnat-Kappel",cantonCode:"SG"},{postalCode:"9643",placeName:"Krummenau",cantonCode:"SG"},{postalCode:"9650",placeName:"Nesslau",cantonCode:"SG"},{postalCode:"9651",placeName:"Ennetbühl",cantonCode:"SG"},{postalCode:"9652",placeName:"Neu St. Johann",cantonCode:"SG"},{postalCode:"9655",placeName:"Stein SG",cantonCode:"SG"},{postalCode:"9656",placeName:"Alt St. Johann",cantonCode:"SG"},{postalCode:"9657",placeName:"Unterwasser",cantonCode:"SG"},{postalCode:"9658",placeName:"Wildhaus",cantonCode:"SG"},{postalCode:"9113",placeName:"Degersheim",cantonCode:"SG"},{postalCode:"9116",placeName:"Wolfertswil",cantonCode:"SG"},{postalCode:"9203",placeName:"Niederwil SG",cantonCode:"SG"},{postalCode:"9230",placeName:"Flawil 1",cantonCode:"SG"},{postalCode:"9230",placeName:"Flawil 2 Botsberg",cantonCode:"SG"},{postalCode:"9230",placeName:"Flawil",cantonCode:"SG"},{postalCode:"9231",placeName:"Egg (Flawil)",cantonCode:"SG"},{postalCode:"9240",placeName:"Uzwil",cantonCode:"SG"},{postalCode:"9240",placeName:"Niederglatt SG",cantonCode:"SG"},{postalCode:"9242",placeName:"Oberuzwil",cantonCode:"SG"},{postalCode:"9243",placeName:"Jonschwil",cantonCode:"SG"},{postalCode:"9244",placeName:"Niederuzwil",cantonCode:"SG"},{postalCode:"9245",placeName:"Oberbüren",cantonCode:"SG"},{postalCode:"9245",placeName:"Sonnental",cantonCode:"SG"},{postalCode:"9246",placeName:"Niederbüren",cantonCode:"SG"},{postalCode:"9247",placeName:"Henau",cantonCode:"SG"},{postalCode:"9248",placeName:"Bichwil",cantonCode:"SG"},{postalCode:"9249",placeName:"Niederstetten",cantonCode:"SG"},{postalCode:"9249",placeName:"Algetshausen",cantonCode:"SG"},{postalCode:"9249",placeName:"Oberstetten",cantonCode:"SG"},{postalCode:"9500",placeName:"Wil SG",cantonCode:"SG"},{postalCode:"9501",placeName:"Wil SG 1",cantonCode:"SG"},{postalCode:"9512",placeName:"Rossrüti",cantonCode:"SG"},{postalCode:"9523",placeName:"Züberwangen",cantonCode:"SG"},{postalCode:"9524",placeName:"Zuzwil SG",cantonCode:"SG"},{postalCode:"9525",placeName:"Lenggenwil",cantonCode:"SG"},{postalCode:"9526",placeName:"Zuckenriet",cantonCode:"SG"},{postalCode:"9527",placeName:"Niederhelfenschwil",cantonCode:"SG"},{postalCode:"9532",placeName:"Rickenbach b. Wil",cantonCode:"SG"},{postalCode:"9536",placeName:"Schwarzenbach SG",cantonCode:"SG"},{postalCode:"9552",placeName:"Bronschhofen",cantonCode:"SG"},{postalCode:"9604",placeName:"Oberrindal",cantonCode:"SG"},{postalCode:"8213",placeName:"Neunkirch",cantonCode:"SH"},{postalCode:"8214",placeName:"Gächlingen",cantonCode:"SH"},{postalCode:"8224",placeName:"Löhningen",cantonCode:"SH"},{postalCode:"8234",placeName:"Stetten SH",cantonCode:"SH"},{postalCode:"8235",placeName:"Lohn SH",cantonCode:"SH"},{postalCode:"8236",placeName:"Opfertshofen SH",cantonCode:"SH"},{postalCode:"8236",placeName:"Büttenhardt",cantonCode:"SH"},{postalCode:"8239",placeName:"Dörflingen",cantonCode:"SH"},{postalCode:"8240",placeName:"Thayngen",cantonCode:"SH"},{postalCode:"8241",placeName:"Barzheim",cantonCode:"SH"},{postalCode:"8242",placeName:"Hofen SH",cantonCode:"SH"},{postalCode:"8242",placeName:"Bibern SH",cantonCode:"SH"},{postalCode:"8243",placeName:"Altdorf SH",cantonCode:"SH"},{postalCode:"8200",placeName:"Schaffhausen",cantonCode:"SH"},{postalCode:"8201",placeName:"Schaffhausen",cantonCode:"SH"},{postalCode:"8203",placeName:"Schaffhausen",cantonCode:"SH"},{postalCode:"8207",placeName:"Schaffhausen",cantonCode:"SH"},{postalCode:"8208",placeName:"Schaffhausen",cantonCode:"SH"},{postalCode:"8212",placeName:"Neuhausen am Rheinfall",cantonCode:"SH"},{postalCode:"8212",placeName:"Neuhausen am Rheinfall 1",cantonCode:"SH"},{postalCode:"8222",placeName:"Beringen",cantonCode:"SH"},{postalCode:"8223",placeName:"Guntmadingen",cantonCode:"SH"},{postalCode:"8231",placeName:"Hemmental",cantonCode:"SH"},{postalCode:"8232",placeName:"Merishausen",cantonCode:"SH"},{postalCode:"8233",placeName:"Bargen SH",cantonCode:"SH"},{postalCode:"8454",placeName:"Buchberg",cantonCode:"SH"},{postalCode:"8455",placeName:"Rüdlingen",cantonCode:"SH"},{postalCode:"8225",placeName:"Siblingen",cantonCode:"SH"},{postalCode:"8226",placeName:"Schleitheim",cantonCode:"SH"},{postalCode:"8228",placeName:"Beggingen",cantonCode:"SH"},{postalCode:"8260",placeName:"Stein am Rhein 2 Stadt",cantonCode:"SH"},{postalCode:"8260",placeName:"Stein am Rhein 1",cantonCode:"SH"},{postalCode:"8260",placeName:"Stein am Rhein",cantonCode:"SH"},{postalCode:"8261",placeName:"Hemishofen",cantonCode:"SH"},{postalCode:"8262",placeName:"Ramsen",cantonCode:"SH"},{postalCode:"8263",placeName:"Buch SH",cantonCode:"SH"},{postalCode:"8215",placeName:"Hallau",cantonCode:"SH"},{postalCode:"8216",placeName:"Oberhallau",cantonCode:"SH"},{postalCode:"8217",placeName:"Wilchingen",cantonCode:"SH"},{postalCode:"8218",placeName:"Osterfingen",cantonCode:"SH"},{postalCode:"8219",placeName:"Trasadingen",cantonCode:"SH"},{postalCode:"4622",placeName:"Egerkingen",cantonCode:"SO"},{postalCode:"4623",placeName:"Neuendorf",cantonCode:"SO"},{postalCode:"4624",placeName:"Härkingen",cantonCode:"SO"},{postalCode:"4625",placeName:"Oberbuchsiten",cantonCode:"SO"},{postalCode:"4626",placeName:"Niederbuchsiten",cantonCode:"SO"},{postalCode:"4628",placeName:"Wolfwil",cantonCode:"SO"},{postalCode:"4702",placeName:"Oensingen",cantonCode:"SO"},{postalCode:"4703",placeName:"Kestenholz",cantonCode:"SO"},{postalCode:"4710",placeName:"Balsthal",cantonCode:"SO"},{postalCode:"4712",placeName:"Laupersdorf",cantonCode:"SO"},{postalCode:"4713",placeName:"Matzendorf",cantonCode:"SO"},{postalCode:"4714",placeName:"Aedermannsdorf",cantonCode:"SO"},{postalCode:"4715",placeName:"Herbetswil",cantonCode:"SO"},{postalCode:"4716",placeName:"Gänsbrunnen",cantonCode:"SO"},{postalCode:"4716",placeName:"Welschenrohr",cantonCode:"SO"},{postalCode:"4717",placeName:"Mümliswil",cantonCode:"SO"},{postalCode:"4718",placeName:"Holderbank SO",cantonCode:"SO"},{postalCode:"4719",placeName:"Ramiswil",cantonCode:"SO"},{postalCode:"3253",placeName:"Schnottwil",cantonCode:"SO"},{postalCode:"3254",placeName:"Messen",cantonCode:"SO"},{postalCode:"3254",placeName:"Balm b. Messen",cantonCode:"SO"},{postalCode:"3307",placeName:"Brunnenthal",cantonCode:"SO"},{postalCode:"4571",placeName:"Lüterkofen",cantonCode:"SO"},{postalCode:"4571",placeName:"Ichertswil",cantonCode:"SO"},{postalCode:"4574",placeName:"Nennigkofen",cantonCode:"SO"},{postalCode:"4574",placeName:"Lüsslingen",cantonCode:"SO"},{postalCode:"4576",placeName:"Tscheppach",cantonCode:"SO"},{postalCode:"4577",placeName:"Hessigkofen",cantonCode:"SO"},{postalCode:"4578",placeName:"Bibern SO",cantonCode:"SO"},{postalCode:"4579",placeName:"Gossliwil",cantonCode:"SO"},{postalCode:"4581",placeName:"Küttigkofen",cantonCode:"SO"},{postalCode:"4582",placeName:"Brügglen",cantonCode:"SO"},{postalCode:"4583",placeName:"Aetigkofen",cantonCode:"SO"},{postalCode:"4583",placeName:"Mühledorf SO",cantonCode:"SO"},{postalCode:"4584",placeName:"Gächliwil",cantonCode:"SO"},{postalCode:"4584",placeName:"Lüterswil",cantonCode:"SO"},{postalCode:"4585",placeName:"Biezwil",cantonCode:"SO"},{postalCode:"4586",placeName:"Kyburg-Buchegg",cantonCode:"SO"},{postalCode:"4587",placeName:"Aetingen",cantonCode:"SO"},{postalCode:"4588",placeName:"Unterramsern",cantonCode:"SO"},{postalCode:"4588",placeName:"Oberramsern",cantonCode:"SO"},{postalCode:"4588",placeName:"Brittern",cantonCode:"SO"},{postalCode:"4108",placeName:"Witterswil",cantonCode:"SO"},{postalCode:"4112",placeName:"Bättwil-Flüh",cantonCode:"SO"},{postalCode:"4112",placeName:"Flüh",cantonCode:"SO"},{postalCode:"4112",placeName:"Bättwil",cantonCode:"SO"},{postalCode:"4114",placeName:"Hofstetten SO",cantonCode:"SO"},{postalCode:"4115",placeName:"Mariastein",cantonCode:"SO"},{postalCode:"4116",placeName:"Metzerlen",cantonCode:"SO"},{postalCode:"4118",placeName:"Rodersdorf",cantonCode:"SO"},{postalCode:"4143",placeName:"Dornach",cantonCode:"SO"},{postalCode:"4145",placeName:"Gempen",cantonCode:"SO"},{postalCode:"4146",placeName:"Hochwald",cantonCode:"SO"},{postalCode:"4206",placeName:"Seewen SO",cantonCode:"SO"},{postalCode:"4412",placeName:"Nuglar",cantonCode:"SO"},{postalCode:"4413",placeName:"Büren SO",cantonCode:"SO"},{postalCode:"4421",placeName:"St. Pantaleon",cantonCode:"SO"},{postalCode:"4468",placeName:"Kienberg",cantonCode:"SO"},{postalCode:"4632",placeName:"Trimbach",cantonCode:"SO"},{postalCode:"4633",placeName:"Hauenstein",cantonCode:"SO"},{postalCode:"4634",placeName:"Wisen SO",cantonCode:"SO"},{postalCode:"4652",placeName:"Winznau",cantonCode:"SO"},{postalCode:"4653",placeName:"Obergösgen",cantonCode:"SO"},{postalCode:"4654",placeName:"Lostorf",cantonCode:"SO"},{postalCode:"4655",placeName:"Rohr b. Olten",cantonCode:"SO"},{postalCode:"4655",placeName:"Stüsslingen",cantonCode:"SO"},{postalCode:"5013",placeName:"Niedergösgen",cantonCode:"SO"},{postalCode:"5015",placeName:"Erlinsbach SO",cantonCode:"SO"},{postalCode:"4528",placeName:"Zuchwil",cantonCode:"SO"},{postalCode:"4542",placeName:"Luterbach",cantonCode:"SO"},{postalCode:"4543",placeName:"Deitingen",cantonCode:"SO"},{postalCode:"4552",placeName:"Derendingen",cantonCode:"SO"},{postalCode:"4553",placeName:"Subingen",cantonCode:"SO"},{postalCode:"4554",placeName:"Hüniken",cantonCode:"SO"},{postalCode:"4554",placeName:"Etziken",cantonCode:"SO"},{postalCode:"4556",placeName:"Steinhof SO",cantonCode:"SO"},{postalCode:"4556",placeName:"Aeschi SO",cantonCode:"SO"},{postalCode:"4556",placeName:"Burgäschi",cantonCode:"SO"},{postalCode:"4556",placeName:"Bolken",cantonCode:"SO"},{postalCode:"4557",placeName:"Horriwil",cantonCode:"SO"},{postalCode:"4558",placeName:"Heinrichswil",cantonCode:"SO"},{postalCode:"4558",placeName:"Hersiwil",cantonCode:"SO"},{postalCode:"4558",placeName:"Winistorf",cantonCode:"SO"},{postalCode:"4562",placeName:"Biberist",cantonCode:"SO"},{postalCode:"4563",placeName:"Gerlafingen",cantonCode:"SO"},{postalCode:"4564",placeName:"Obergerlafingen",cantonCode:"SO"},{postalCode:"4565",placeName:"Recherswil",cantonCode:"SO"},{postalCode:"4566",placeName:"Kriegstetten",cantonCode:"SO"},{postalCode:"4566",placeName:"Halten",cantonCode:"SO"},{postalCode:"4566",placeName:"Oekingen",cantonCode:"SO"},{postalCode:"4573",placeName:"Lohn-Ammannsegg",cantonCode:"SO"},{postalCode:"2540",placeName:"Grenchen 1",cantonCode:"SO"},{postalCode:"2540",placeName:"Grenchen",cantonCode:"SO"},{postalCode:"2544",placeName:"Bettlach",cantonCode:"SO"},{postalCode:"2545",placeName:"Selzach",cantonCode:"SO"},{postalCode:"4512",placeName:"Bellach",cantonCode:"SO"},{postalCode:"4513",placeName:"Langendorf",cantonCode:"SO"},{postalCode:"4514",placeName:"Lommiswil",cantonCode:"SO"},{postalCode:"4515",placeName:"Oberdorf SO",cantonCode:"SO"},{postalCode:"4515",placeName:"Weissenstein b. Solothurn",cantonCode:"SO"},{postalCode:"4522",placeName:"Rüttenen",cantonCode:"SO"},{postalCode:"4523",placeName:"Niederwil SO",cantonCode:"SO"},{postalCode:"4524",placeName:"Oberbalmberg",cantonCode:"SO"},{postalCode:"4524",placeName:"Günsberg",cantonCode:"SO"},{postalCode:"4524",placeName:"Balmberg",cantonCode:"SO"},{postalCode:"4525",placeName:"Balm b. Günsberg",cantonCode:"SO"},{postalCode:"4532",placeName:"Feldbrunnen",cantonCode:"SO"},{postalCode:"4533",placeName:"Riedholz",cantonCode:"SO"},{postalCode:"4534",placeName:"Flumenthal",cantonCode:"SO"},{postalCode:"4535",placeName:"Hubersdorf",cantonCode:"SO"},{postalCode:"4535",placeName:"Kammersrohr",cantonCode:"SO"},{postalCode:"4600",placeName:"Olten",cantonCode:"SO"},{postalCode:"4601",placeName:"Olten 1 Fächer",cantonCode:"SO"},{postalCode:"4605",placeName:"Olten",cantonCode:"SO"},{postalCode:"4609",placeName:"Olten Sonderdienste",cantonCode:"SO"},{postalCode:"4609",placeName:"Olten",cantonCode:"SO"},{postalCode:"4612",placeName:"Wangen b. Olten",cantonCode:"SO"},{postalCode:"4613",placeName:"Rickenbach SO",cantonCode:"SO"},{postalCode:"4614",placeName:"Hägendorf",cantonCode:"SO"},{postalCode:"4615",placeName:"Allerheiligenberg",cantonCode:"SO"},{postalCode:"4616",placeName:"Kappel SO",cantonCode:"SO"},{postalCode:"4617",placeName:"Gunzgen",cantonCode:"SO"},{postalCode:"4618",placeName:"Boningen",cantonCode:"SO"},{postalCode:"4629",placeName:"Fulenbach",cantonCode:"SO"},{postalCode:"4656",placeName:"Starrkirch-Wil",cantonCode:"SO"},{postalCode:"4657",placeName:"Dulliken",cantonCode:"SO"},{postalCode:"4658",placeName:"Däniken SO",cantonCode:"SO"},{postalCode:"5012",placeName:"Schönenwerd",cantonCode:"SO"},{postalCode:"5012",placeName:"Wöschnau",cantonCode:"SO"},{postalCode:"5012",placeName:"Eppenberg",cantonCode:"SO"},{postalCode:"5014",placeName:"Gretzenbach",cantonCode:"SO"},{postalCode:"5746",placeName:"Walterswil SO",cantonCode:"SO"},{postalCode:"4500",placeName:"Solothurn",cantonCode:"SO"},{postalCode:"4501",placeName:"Solothurn",cantonCode:"SO"},{postalCode:"4502",placeName:"Solothurn",cantonCode:"SO"},{postalCode:"4503",placeName:"Solothurn",cantonCode:"SO"},{postalCode:"4509",placeName:"Solothurn",cantonCode:"SO"},{postalCode:"4204",placeName:"Himmelried",cantonCode:"SO"},{postalCode:"4208",placeName:"Nunningen",cantonCode:"SO"},{postalCode:"4226",placeName:"Breitenbach",cantonCode:"SO"},{postalCode:"4227",placeName:"Büsserach",cantonCode:"SO"},{postalCode:"4228",placeName:"Erschwil",cantonCode:"SO"},{postalCode:"4229",placeName:"Beinwil SO",cantonCode:"SO"},{postalCode:"4232",placeName:"Fehren",cantonCode:"SO"},{postalCode:"4233",placeName:"Meltingen",cantonCode:"SO"},{postalCode:"4234",placeName:"Zullwil",cantonCode:"SO"},{postalCode:"4245",placeName:"Kleinlützel",cantonCode:"SO"},{postalCode:"4247",placeName:"Grindel",cantonCode:"SO"},{postalCode:"4252",placeName:"Bärschwil",cantonCode:"SO"},{postalCode:"4252",placeName:"Bärschwil Dorf",cantonCode:"SO"},{postalCode:"8836",placeName:"Bennau",cantonCode:"SZ"},{postalCode:"8840",placeName:"Einsiedeln",cantonCode:"SZ"},{postalCode:"8840",placeName:"Trachslau",cantonCode:"SZ"},{postalCode:"8841",placeName:"Gross",cantonCode:"SZ"},{postalCode:"8844",placeName:"Euthal",cantonCode:"SZ"},{postalCode:"8846",placeName:"Willerzell",cantonCode:"SZ"},{postalCode:"8847",placeName:"Egg SZ",cantonCode:"SZ"},{postalCode:"6410",placeName:"Rigi Scheidegg",cantonCode:"SZ"},{postalCode:"6442",placeName:"Gersau",cantonCode:"SZ"},{postalCode:"8640",placeName:"Hurden",cantonCode:"SZ"},{postalCode:"8806",placeName:"Bäch SZ",cantonCode:"SZ"},{postalCode:"8807",placeName:"Freienbach",cantonCode:"SZ"},{postalCode:"8808",placeName:"Pfäffikon SZ",cantonCode:"SZ"},{postalCode:"8832",placeName:"Wilen b. Wollerau",cantonCode:"SZ"},{postalCode:"8832",placeName:"Wollerau",cantonCode:"SZ"},{postalCode:"8832",placeName:"Wollerau",cantonCode:"SZ"},{postalCode:"8834",placeName:"Schindellegi",cantonCode:"SZ"},{postalCode:"8835",placeName:"Feusisberg",cantonCode:"SZ"},{postalCode:"6402",placeName:"Merlischachen",cantonCode:"SZ"},{postalCode:"6403",placeName:"Küssnacht am Rigi",cantonCode:"SZ"},{postalCode:"6405",placeName:"Immensee",cantonCode:"SZ"},{postalCode:"8852",placeName:"Altendorf",cantonCode:"SZ"},{postalCode:"8853",placeName:"Lachen SZ",cantonCode:"SZ"},{postalCode:"8854",placeName:"Siebnen",cantonCode:"SZ"},{postalCode:"8854",placeName:"Galgenen",cantonCode:"SZ"},{postalCode:"8855",placeName:"Wangen SZ",cantonCode:"SZ"},{postalCode:"8856",placeName:"Tuggen",cantonCode:"SZ"},{postalCode:"8857",placeName:"Vorderthal",cantonCode:"SZ"},{postalCode:"8858",placeName:"Innerthal",cantonCode:"SZ"},{postalCode:"8862",placeName:"Schübelbach",cantonCode:"SZ"},{postalCode:"8863",placeName:"Buttikon SZ",cantonCode:"SZ"},{postalCode:"8864",placeName:"Reichenburg",cantonCode:"SZ"},{postalCode:"6410",placeName:"Rigi Klösterli",cantonCode:"SZ"},{postalCode:"6410",placeName:"Goldau",cantonCode:"SZ"},{postalCode:"6410",placeName:"Rigi Kulm",cantonCode:"SZ"},{postalCode:"6410",placeName:"Rigi Staffel",cantonCode:"SZ"},{postalCode:"6414",placeName:"Oberarth",cantonCode:"SZ"},{postalCode:"6415",placeName:"Arth",cantonCode:"SZ"},{postalCode:"6416",placeName:"Steinerberg",cantonCode:"SZ"},{postalCode:"6417",placeName:"Sattel",cantonCode:"SZ"},{postalCode:"6418",placeName:"Rothenthurm",cantonCode:"SZ"},{postalCode:"6422",placeName:"Steinen",cantonCode:"SZ"},{postalCode:"6423",placeName:"Seewen SZ",cantonCode:"SZ"},{postalCode:"6424",placeName:"Lauerz",cantonCode:"SZ"},{postalCode:"6430",placeName:"Schwyz",cantonCode:"SZ"},{postalCode:"6431",placeName:"Schwyz",cantonCode:"SZ"},{postalCode:"6432",placeName:"Rickenbach b. Schwyz",cantonCode:"SZ"},{postalCode:"6433",placeName:"Stoos SZ",cantonCode:"SZ"},{postalCode:"6434",placeName:"Illgau",cantonCode:"SZ"},{postalCode:"6436",placeName:"Bisisthal",cantonCode:"SZ"},{postalCode:"6436",placeName:"Muotathal",cantonCode:"SZ"},{postalCode:"6436",placeName:"Ried (Muotathal)",cantonCode:"SZ"},{postalCode:"6438",placeName:"Ibach",cantonCode:"SZ"},{postalCode:"6440",placeName:"Brunnen",cantonCode:"SZ"},{postalCode:"6443",placeName:"Morschach",cantonCode:"SZ"},{postalCode:"6452",placeName:"Riemenstalden",cantonCode:"SZ"},{postalCode:"8842",placeName:"Unteriberg",cantonCode:"SZ"},{postalCode:"8843",placeName:"Oberiberg",cantonCode:"SZ"},{postalCode:"8845",placeName:"Studen SZ",cantonCode:"SZ"},{postalCode:"8849",placeName:"Alpthal",cantonCode:"SZ"},{postalCode:"8580",placeName:"Hefenhofen",cantonCode:"TG"},{postalCode:"8580",placeName:"Biessenhofen",cantonCode:"TG"},{postalCode:"8580",placeName:"Hagenwil b. Amriswil",cantonCode:"TG"},{postalCode:"8580",placeName:"Amriswil",cantonCode:"TG"},{postalCode:"8580",placeName:"Sommeri",cantonCode:"TG"},{postalCode:"8581",placeName:"Schocherswil",cantonCode:"TG"},{postalCode:"8582",placeName:"Dozwil",cantonCode:"TG"},{postalCode:"8587",placeName:"Oberaach",cantonCode:"TG"},{postalCode:"8590",placeName:"Romanshorn",cantonCode:"TG"},{postalCode:"8592",placeName:"Uttwil",cantonCode:"TG"},{postalCode:"8593",placeName:"Kesswil",cantonCode:"TG"},{postalCode:"8599",placeName:"Salmsach",cantonCode:"TG"},{postalCode:"9306",placeName:"Freidorf TG",cantonCode:"TG"},{postalCode:"9314",placeName:"Steinebrunn",cantonCode:"TG"},{postalCode:"9315",placeName:"Winden",cantonCode:"TG"},{postalCode:"9315",placeName:"Neukirch (Egnach)",cantonCode:"TG"},{postalCode:"9320",placeName:"Arbon",cantonCode:"TG"},{postalCode:"9320",placeName:"Stachen",cantonCode:"TG"},{postalCode:"9320",placeName:"Frasnacht",cantonCode:"TG"},{postalCode:"9322",placeName:"Egnach",cantonCode:"TG"},{postalCode:"9325",placeName:"Roggwil TG",cantonCode:"TG"},{postalCode:"9326",placeName:"Horn",cantonCode:"TG"},{postalCode:"8252",placeName:"Schlatt TG",cantonCode:"TG"},{postalCode:"8253",placeName:"Diessenhofen",cantonCode:"TG"},{postalCode:"8253",placeName:"Willisdorf",cantonCode:"TG"},{postalCode:"8254",placeName:"Basadingen",cantonCode:"TG"},{postalCode:"8255",placeName:"Schlattingen",cantonCode:"TG"},{postalCode:"8259",placeName:"Wagenhausen",cantonCode:"TG"},{postalCode:"8259",placeName:"Rheinklingen",cantonCode:"TG"},{postalCode:"8259",placeName:"Etzwilen",cantonCode:"TG"},{postalCode:"8259",placeName:"Kaltenbach",cantonCode:"TG"},{postalCode:"8264",placeName:"Eschenz",cantonCode:"TG"},{postalCode:"8265",placeName:"Mammern",cantonCode:"TG"},{postalCode:"8266",placeName:"Steckborn",cantonCode:"TG"},{postalCode:"8267",placeName:"Berlingen",cantonCode:"TG"},{postalCode:"8500",placeName:"Gerlikon",cantonCode:"TG"},{postalCode:"8500",placeName:"Frauenfeld",cantonCode:"TG"},{postalCode:"8501",placeName:"Frauenfeld",cantonCode:"TG"},{postalCode:"8502",placeName:"Frauenfeld",cantonCode:"TG"},{postalCode:"8503",placeName:"Frauenfeld",cantonCode:"TG"},{postalCode:"8505",placeName:"Pfyn",cantonCode:"TG"},{postalCode:"8505",placeName:"Dettighofen",cantonCode:"TG"},{postalCode:"8506",placeName:"Lanzenneunforn",cantonCode:"TG"},{postalCode:"8507",placeName:"Hörhausen",cantonCode:"TG"},{postalCode:"8508",placeName:"Homburg",cantonCode:"TG"},{postalCode:"8509",placeName:"Frauenfeld",cantonCode:"TG"},{postalCode:"8510",placeName:"Frauenfeld Kant. Verwaltung",cantonCode:"TG"},{postalCode:"8510",placeName:"Frauenfeld",cantonCode:"TG"},{postalCode:"8512",placeName:"Thundorf",cantonCode:"TG"},{postalCode:"8512",placeName:"Wetzikon TG",cantonCode:"TG"},{postalCode:"8512",placeName:"Lustdorf",cantonCode:"TG"},{postalCode:"8524",placeName:"Buch b. Frauenfeld",cantonCode:"TG"},{postalCode:"8524",placeName:"Uesslingen",cantonCode:"TG"},{postalCode:"8525",placeName:"Wilen b. Neunforn",cantonCode:"TG"},{postalCode:"8525",placeName:"Niederneunforn",cantonCode:"TG"},{postalCode:"8526",placeName:"Oberneunforn",cantonCode:"TG"},{postalCode:"8532",placeName:"Weiningen TG",cantonCode:"TG"},{postalCode:"8532",placeName:"Warth",cantonCode:"TG"},{postalCode:"8535",placeName:"Herdern",cantonCode:"TG"},{postalCode:"8536",placeName:"Hüttwilen",cantonCode:"TG"},{postalCode:"8537",placeName:"Uerschhausen",cantonCode:"TG"},{postalCode:"8537",placeName:"Nussbaumen TG",cantonCode:"TG"},{postalCode:"8546",placeName:"Kefikon TG",cantonCode:"TG"},{postalCode:"8546",placeName:"Islikon",cantonCode:"TG"},{postalCode:"8547",placeName:"Gachnang",cantonCode:"TG"},{postalCode:"8552",placeName:"Felben-Wellhausen",cantonCode:"TG"},{postalCode:"8553",placeName:"Eschikofen",cantonCode:"TG"},{postalCode:"8553",placeName:"Hüttlingen",cantonCode:"TG"},{postalCode:"8553",placeName:"Mettendorf TG",cantonCode:"TG"},{postalCode:"8553",placeName:"Harenwilen",cantonCode:"TG"},{postalCode:"8555",placeName:"Müllheim Dorf",cantonCode:"TG"},{postalCode:"9507",placeName:"Stettfurt",cantonCode:"TG"},{postalCode:"9548",placeName:"Matzingen",cantonCode:"TG"},{postalCode:"8268",placeName:"Mannenbach-Salenstein",cantonCode:"TG"},{postalCode:"8268",placeName:"Salenstein",cantonCode:"TG"},{postalCode:"8269",placeName:"Fruthwilen",cantonCode:"TG"},{postalCode:"8272",placeName:"Ermatingen",cantonCode:"TG"},{postalCode:"8273",placeName:"Triboltingen",cantonCode:"TG"},{postalCode:"8274",placeName:"Gottlieben",cantonCode:"TG"},{postalCode:"8274",placeName:"Tägerwilen",cantonCode:"TG"},{postalCode:"8280",placeName:"Kreuzlingen",cantonCode:"TG"},{postalCode:"8280",placeName:"Kreuzlingen 1",cantonCode:"TG"},{postalCode:"8280",placeName:"Kreuzlingen 3",cantonCode:"TG"},{postalCode:"8285",placeName:"Kreuzlingen Ifolor",cantonCode:"TG"},{postalCode:"8285",placeName:"Kreuzlingen Ifolor AG",cantonCode:"TG"},{postalCode:"8558",placeName:"Raperswilen",cantonCode:"TG"},{postalCode:"8564",placeName:"Engwilen",cantonCode:"TG"},{postalCode:"8564",placeName:"Sonterswil",cantonCode:"TG"},{postalCode:"8564",placeName:"Gunterswilen",cantonCode:"TG"},{postalCode:"8564",placeName:"Hefenhausen",cantonCode:"TG"},{postalCode:"8564",placeName:"Lipperswil",cantonCode:"TG"},{postalCode:"8564",placeName:"Hattenhausen",cantonCode:"TG"},{postalCode:"8564",placeName:"Wäldi",cantonCode:"TG"},{postalCode:"8565",placeName:"Hugelshofen",cantonCode:"TG"},{postalCode:"8566",placeName:"Ellighausen",cantonCode:"TG"},{postalCode:"8566",placeName:"Neuwilen",cantonCode:"TG"},{postalCode:"8566",placeName:"Lippoldswilen",cantonCode:"TG"},{postalCode:"8566",placeName:"Dotnacht",cantonCode:"TG"},{postalCode:"8573",placeName:"Siegershausen",cantonCode:"TG"},{postalCode:"8573",placeName:"Alterswilen",cantonCode:"TG"},{postalCode:"8573",placeName:"Altishausen",cantonCode:"TG"},{postalCode:"8574",placeName:"Illighausen",cantonCode:"TG"},{postalCode:"8574",placeName:"Lengwil",cantonCode:"TG"},{postalCode:"8574",placeName:"Lengwil",cantonCode:"TG"},{postalCode:"8574",placeName:"Dettighofen (Lengwil)",cantonCode:"TG"},{postalCode:"8574",placeName:"Oberhofen TG",cantonCode:"TG"},{postalCode:"8585",placeName:"Langrickenbach",cantonCode:"TG"},{postalCode:"8585",placeName:"Schönenbaumgarten",cantonCode:"TG"},{postalCode:"8585",placeName:"Zuben",cantonCode:"TG"},{postalCode:"8585",placeName:"Herrenhof",cantonCode:"TG"},{postalCode:"8594",placeName:"Güttingen",cantonCode:"TG"},{postalCode:"8595",placeName:"Altnau",cantonCode:"TG"},{postalCode:"8596",placeName:"Scherzingen",cantonCode:"TG"},{postalCode:"8596",placeName:"Münsterlingen",cantonCode:"TG"},{postalCode:"8597",placeName:"Landschlacht",cantonCode:"TG"},{postalCode:"8598",placeName:"Bottighofen",cantonCode:"TG"},{postalCode:"8355",placeName:"Aadorf",cantonCode:"TG"},{postalCode:"8356",placeName:"Ettenhausen TG",cantonCode:"TG"},{postalCode:"8357",placeName:"Guntershausen b. Aadorf",cantonCode:"TG"},{postalCode:"8360",placeName:"Eschlikon TG",cantonCode:"TG"},{postalCode:"8360",placeName:"Wallenwil",cantonCode:"TG"},{postalCode:"8362",placeName:"Balterswil",cantonCode:"TG"},{postalCode:"8363",placeName:"Bichelsee",cantonCode:"TG"},{postalCode:"8370",placeName:"Sirnach",cantonCode:"TG"},{postalCode:"8371",placeName:"Busswil TG",cantonCode:"TG"},{postalCode:"8372",placeName:"Wiezikon b. Sirnach",cantonCode:"TG"},{postalCode:"8374",placeName:"Dussnang",cantonCode:"TG"},{postalCode:"8374",placeName:"Oberwangen TG",cantonCode:"TG"},{postalCode:"8376",placeName:"Fischingen",cantonCode:"TG"},{postalCode:"8376",placeName:"Au TG",cantonCode:"TG"},{postalCode:"8522",placeName:"Aawangen",cantonCode:"TG"},{postalCode:"8522",placeName:"Häuslenen",cantonCode:"TG"},{postalCode:"9502",placeName:"Braunau",cantonCode:"TG"},{postalCode:"9506",placeName:"Lommis",cantonCode:"TG"},{postalCode:"9508",placeName:"Weingarten-Kalthäusern",cantonCode:"TG"},{postalCode:"9532",placeName:"Rickenbach b. Wil",cantonCode:"TG"},{postalCode:"9535",placeName:"Wilen b. Wil",cantonCode:"TG"},{postalCode:"9542",placeName:"Münchwilen TG",cantonCode:"TG"},{postalCode:"9543",placeName:"St. Margarethen TG",cantonCode:"TG"},{postalCode:"9545",placeName:"Wängi",cantonCode:"TG"},{postalCode:"9546",placeName:"Tuttwil",cantonCode:"TG"},{postalCode:"9547",placeName:"Wittenwil",cantonCode:"TG"},{postalCode:"9553",placeName:"Bettwiesen",cantonCode:"TG"},{postalCode:"9554",placeName:"Tägerschen",cantonCode:"TG"},{postalCode:"9555",placeName:"Tobel",cantonCode:"TG"},{postalCode:"9573",placeName:"Littenheid",cantonCode:"TG"},{postalCode:"8514",placeName:"Amlikon-Bissegg",cantonCode:"TG"},{postalCode:"8554",placeName:"Bonau",cantonCode:"TG"},{postalCode:"8554",placeName:"Müllheim-Wigoltingen",cantonCode:"TG"},{postalCode:"8556",placeName:"Illhart",cantonCode:"TG"},{postalCode:"8556",placeName:"Lamperswil TG",cantonCode:"TG"},{postalCode:"8556",placeName:"Engwang",cantonCode:"TG"},{postalCode:"8556",placeName:"Wigoltingen",cantonCode:"TG"},{postalCode:"8560",placeName:"Märstetten",cantonCode:"TG"},{postalCode:"8561",placeName:"Ottoberg",cantonCode:"TG"},{postalCode:"8564",placeName:"Wagerswil",cantonCode:"TG"},{postalCode:"8570",placeName:"Weinfelden",cantonCode:"TG"},{postalCode:"8572",placeName:"Graltshausen",cantonCode:"TG"},{postalCode:"8572",placeName:"Andhausen",cantonCode:"TG"},{postalCode:"8572",placeName:"Guntershausen b. Berg",cantonCode:"TG"},{postalCode:"8572",placeName:"Berg TG",cantonCode:"TG"},{postalCode:"8572",placeName:"Berg TG",cantonCode:"TG"},{postalCode:"8575",placeName:"Bürglen TG",cantonCode:"TG"},{postalCode:"8575",placeName:"Istighofen",cantonCode:"TG"},{postalCode:"8576",placeName:"Mauren TG",cantonCode:"TG"},{postalCode:"8577",placeName:"Schönholzerswilen",cantonCode:"TG"},{postalCode:"8583",placeName:"Donzhausen",cantonCode:"TG"},{postalCode:"8583",placeName:"Sulgen",cantonCode:"TG"},{postalCode:"8583",placeName:"Götighofen",cantonCode:"TG"},{postalCode:"8584",placeName:"Opfershofen TG",cantonCode:"TG"},{postalCode:"8584",placeName:"Leimbach TG",cantonCode:"TG"},{postalCode:"8585",placeName:"Klarsreuti",cantonCode:"TG"},{postalCode:"8585",placeName:"Happerswil",cantonCode:"TG"},{postalCode:"8585",placeName:"Birwinken",cantonCode:"TG"},{postalCode:"8585",placeName:"Mattwil",cantonCode:"TG"},{postalCode:"8586",placeName:"Buchackern",cantonCode:"TG"},{postalCode:"8586",placeName:"Andwil TG",cantonCode:"TG"},{postalCode:"8586",placeName:"Ennetaach",cantonCode:"TG"},{postalCode:"8586",placeName:"Buch b. Kümmertshausen",cantonCode:"TG"},{postalCode:"8586",placeName:"Riedt b. Erlen",cantonCode:"TG"},{postalCode:"8586",placeName:"Engishofen",cantonCode:"TG"},{postalCode:"8586",placeName:"Kümmertshausen",cantonCode:"TG"},{postalCode:"8586",placeName:"Erlen",cantonCode:"TG"},{postalCode:"8588",placeName:"Zihlschlacht",cantonCode:"TG"},{postalCode:"8589",placeName:"Sitterdorf",cantonCode:"TG"},{postalCode:"9213",placeName:"Hauptwil",cantonCode:"TG"},{postalCode:"9214",placeName:"Kradolf",cantonCode:"TG"},{postalCode:"9215",placeName:"Buhwil",cantonCode:"TG"},{postalCode:"9215",placeName:"Schönenberg an der Thur",cantonCode:"TG"},{postalCode:"9216",placeName:"Hohentannen",cantonCode:"TG"},{postalCode:"9216",placeName:"Heldswil",cantonCode:"TG"},{postalCode:"9217",placeName:"Neukirch an der Thur",cantonCode:"TG"},{postalCode:"9220",placeName:"Bischofszell",cantonCode:"TG"},{postalCode:"9223",placeName:"Schweizersholz",cantonCode:"TG"},{postalCode:"9223",placeName:"Halden",cantonCode:"TG"},{postalCode:"9225",placeName:"Wilen (Gottshaus)",cantonCode:"TG"},{postalCode:"9225",placeName:"St. Pelagiberg",cantonCode:"TG"},{postalCode:"9503",placeName:"Lanterswil",cantonCode:"TG"},{postalCode:"9503",placeName:"Stehrenberg",cantonCode:"TG"},{postalCode:"9504",placeName:"Friltschen",cantonCode:"TG"},{postalCode:"9514",placeName:"Wuppenau",cantonCode:"TG"},{postalCode:"9515",placeName:"Hosenruck",cantonCode:"TG"},{postalCode:"9517",placeName:"Mettlen",cantonCode:"TG"},{postalCode:"9556",placeName:"Zezikon",cantonCode:"TG"},{postalCode:"9556",placeName:"Affeltrangen",cantonCode:"TG"},{postalCode:"9562",placeName:"Märwil",cantonCode:"TG"},{postalCode:"9562",placeName:"Buch b. Märwil",cantonCode:"TG"},{postalCode:"9565",placeName:"Schmidshof",cantonCode:"TG"},{postalCode:"9565",placeName:"Rothenhausen",cantonCode:"TG"},{postalCode:"9565",placeName:"Oberbussnang",cantonCode:"TG"},{postalCode:"9565",placeName:"Oppikon",cantonCode:"TG"},{postalCode:"9565",placeName:"Bussnang",cantonCode:"TG"},{postalCode:"6500",placeName:"Bellinzona 4",cantonCode:"TI"},{postalCode:"6500",placeName:"Bellinzona",cantonCode:"TI"},{postalCode:"6500",placeName:"Bellinzona 2",cantonCode:"TI"},{postalCode:"6500",placeName:"Bellinzona 5",cantonCode:"TI"},{postalCode:"6500",placeName:"Bellinzona VZ",cantonCode:"TI"},{postalCode:"6501",placeName:"Bellinzona",cantonCode:"TI"},{postalCode:"6503",placeName:"Bellinzona",cantonCode:"TI"},{postalCode:"6512",placeName:"Giubiasco",cantonCode:"TI"},{postalCode:"6513",placeName:"Monte Carasso",cantonCode:"TI"},{postalCode:"6514",placeName:"Sementina",cantonCode:"TI"},{postalCode:"6515",placeName:"Gudo",cantonCode:"TI"},{postalCode:"6517",placeName:"Arbedo",cantonCode:"TI"},{postalCode:"6518",placeName:"Gorduno",cantonCode:"TI"},{postalCode:"6523",placeName:"Preonzo",cantonCode:"TI"},{postalCode:"6524",placeName:"Moleno",cantonCode:"TI"},{postalCode:"6525",placeName:"Gnosca",cantonCode:"TI"},{postalCode:"6528",placeName:"Camorino",cantonCode:"TI"},{postalCode:"6532",placeName:"Castione",cantonCode:"TI"},{postalCode:"6533",placeName:"Lumino",cantonCode:"TI"},{postalCode:"6582",placeName:"Pianezzo",cantonCode:"TI"},{postalCode:"6583",placeName:"S. Antonio (Val Morobbia)",cantonCode:"TI"},{postalCode:"6584",placeName:"Carena",cantonCode:"TI"},{postalCode:"6592",placeName:"S. Antonino",cantonCode:"TI"},{postalCode:"6593",placeName:"Cadenazzo",cantonCode:"TI"},{postalCode:"6599",placeName:"Robasacco",cantonCode:"TI"},{postalCode:"6702",placeName:"Claro",cantonCode:"TI"},{postalCode:"6809",placeName:"Medeglia",cantonCode:"TI"},{postalCode:"6810",placeName:"Isone",cantonCode:"TI"},{postalCode:"6713",placeName:"Malvaglia",cantonCode:"TI"},{postalCode:"6714",placeName:"Semione",cantonCode:"TI"},{postalCode:"6715",placeName:"Dongio",cantonCode:"TI"},{postalCode:"6716",placeName:"Acquarossa",cantonCode:"TI"},{postalCode:"6716",placeName:"Leontica",cantonCode:"TI"},{postalCode:"6716",placeName:"Lottigna",cantonCode:"TI"},{postalCode:"6717",placeName:"Dangio",cantonCode:"TI"},{postalCode:"6717",placeName:"Torre",cantonCode:"TI"},{postalCode:"6718",placeName:"Camperio",cantonCode:"TI"},{postalCode:"6718",placeName:"Olivone",cantonCode:"TI"},{postalCode:"6719",placeName:"Aquila",cantonCode:"TI"},{postalCode:"6719",placeName:"Aquila",cantonCode:"TI"},{postalCode:"6719",placeName:"Aquila",cantonCode:"TI"},{postalCode:"6720",placeName:"Ghirone",cantonCode:"TI"},{postalCode:"6720",placeName:"Campo (Blenio)",cantonCode:"TI"},{postalCode:"6721",placeName:"Motto (Blenio)",cantonCode:"TI"},{postalCode:"6721",placeName:"Ludiano",cantonCode:"TI"},{postalCode:"6722",placeName:"Corzoneso",cantonCode:"TI"},{postalCode:"6723",placeName:"Prugiasco",cantonCode:"TI"},{postalCode:"6723",placeName:"Castro",cantonCode:"TI"},{postalCode:"6723",placeName:"Marolta",cantonCode:"TI"},{postalCode:"6724",placeName:"Largario",cantonCode:"TI"},{postalCode:"6724",placeName:"Ponto Valentino",cantonCode:"TI"},{postalCode:"6742",placeName:"Pollegio",cantonCode:"TI"},{postalCode:"6743",placeName:"Bodio TI",cantonCode:"TI"},{postalCode:"6744",placeName:"Personico",cantonCode:"TI"},{postalCode:"6745",placeName:"Giornico",cantonCode:"TI"},{postalCode:"6746",placeName:"Calonico",cantonCode:"TI"},{postalCode:"6746",placeName:"Lavorgo",cantonCode:"TI"},{postalCode:"6746",placeName:"Nivo",cantonCode:"TI"},{postalCode:"6747",placeName:"Chironico",cantonCode:"TI"},{postalCode:"6748",placeName:"Anzonico",cantonCode:"TI"},{postalCode:"6749",placeName:"Sobrio",cantonCode:"TI"},{postalCode:"6749",placeName:"Cavagnago",cantonCode:"TI"},{postalCode:"6760",placeName:"Calpiogna",cantonCode:"TI"},{postalCode:"6760",placeName:"Campello",cantonCode:"TI"},{postalCode:"6760",placeName:"Rossura",cantonCode:"TI"},{postalCode:"6760",placeName:"Faido",cantonCode:"TI"},{postalCode:"6760",placeName:"Carì",cantonCode:"TI"},{postalCode:"6760",placeName:"Molare",cantonCode:"TI"},{postalCode:"6763",placeName:"Mairengo",cantonCode:"TI"},{postalCode:"6763",placeName:"Osco",cantonCode:"TI"},{postalCode:"6764",placeName:"Chiggiogna",cantonCode:"TI"},{postalCode:"6764",placeName:"Chiggiogna",cantonCode:"TI"},{postalCode:"6772",placeName:"Rodi-Fiesso",cantonCode:"TI"},{postalCode:"6773",placeName:"Prato (Leventina)",cantonCode:"TI"},{postalCode:"6774",placeName:"Dalpe",cantonCode:"TI"},{postalCode:"6775",placeName:"Ambrì",cantonCode:"TI"},{postalCode:"6776",placeName:"Piotta",cantonCode:"TI"},{postalCode:"6777",placeName:"Varenzo",cantonCode:"TI"},{postalCode:"6777",placeName:"Quinto",cantonCode:"TI"},{postalCode:"6780",placeName:"Madrano",cantonCode:"TI"},{postalCode:"6780",placeName:"Airolo",cantonCode:"TI"},{postalCode:"6781",placeName:"Bedretto",cantonCode:"TI"},{postalCode:"6781",placeName:"Villa Bedretto",cantonCode:"TI"},{postalCode:"6516",placeName:"Cugnasco",cantonCode:"TI"},{postalCode:"6571",placeName:"Indemini",cantonCode:"TI"},{postalCode:"6572",placeName:"Quartino",cantonCode:"TI"},{postalCode:"6573",placeName:"Magadino",cantonCode:"TI"},{postalCode:"6574",placeName:"Vira (Gambarogno)",cantonCode:"TI"},{postalCode:"6575",placeName:"S. Nazzaro",cantonCode:"TI"},{postalCode:"6575",placeName:"Vairano",cantonCode:"TI"},{postalCode:"6576",placeName:"Gerra (Gambarogno)",cantonCode:"TI"},{postalCode:"6577",placeName:"Ranzo",cantonCode:"TI"},{postalCode:"6578",placeName:"Caviano",cantonCode:"TI"},{postalCode:"6579",placeName:"Piazzogna",cantonCode:"TI"},{postalCode:"6594",placeName:"Contone",cantonCode:"TI"},{postalCode:"6595",placeName:"Riazzino",cantonCode:"TI"},{postalCode:"6596",placeName:"Gordola",cantonCode:"TI"},{postalCode:"6597",placeName:"Agarone",cantonCode:"TI"},{postalCode:"6598",placeName:"Tenero",cantonCode:"TI"},{postalCode:"6600",placeName:"Muralto",cantonCode:"TI"},{postalCode:"6600",placeName:"Locarno",cantonCode:"TI"},{postalCode:"6600",placeName:"Locarno",cantonCode:"TI"},{postalCode:"6600",placeName:"Solduno",cantonCode:"TI"},{postalCode:"6601",placeName:"Locarno",cantonCode:"TI"},{postalCode:"6602",placeName:"Muralto",cantonCode:"TI"},{postalCode:"6604",placeName:"Locarno",cantonCode:"TI"},{postalCode:"6605",placeName:"Locarno",cantonCode:"TI"},{postalCode:"6611",placeName:"Crana",cantonCode:"TI"},{postalCode:"6611",placeName:"Mosogno",cantonCode:"TI"},{postalCode:"6611",placeName:"Gresso",cantonCode:"TI"},{postalCode:"6612",placeName:"Ascona",cantonCode:"TI"},{postalCode:"6613",placeName:"Porto Ronco",cantonCode:"TI"},{postalCode:"6614",placeName:"Isole di Brissago",cantonCode:"TI"},{postalCode:"6614",placeName:"Brissago",cantonCode:"TI"},{postalCode:"6616",placeName:"Losone",cantonCode:"TI"},{postalCode:"6618",placeName:"Arcegno",cantonCode:"TI"},{postalCode:"6622",placeName:"Ronco sopra Ascona",cantonCode:"TI"},{postalCode:"6631",placeName:"Corippo",cantonCode:"TI"},{postalCode:"6632",placeName:"Vogorno",cantonCode:"TI"},{postalCode:"6633",placeName:"Lavertezzo",cantonCode:"TI"},{postalCode:"6634",placeName:"Brione (Verzasca)",cantonCode:"TI"},{postalCode:"6635",placeName:"Gerra (Verzasca)",cantonCode:"TI"},{postalCode:"6636",placeName:"Frasco",cantonCode:"TI"},{postalCode:"6637",placeName:"Sonogno",cantonCode:"TI"},{postalCode:"6644",placeName:"Orselina",cantonCode:"TI"},{postalCode:"6645",placeName:"Brione sopra Minusio",cantonCode:"TI"},{postalCode:"6646",placeName:"Contra",cantonCode:"TI"},{postalCode:"6647",placeName:"Mergoscia",cantonCode:"TI"},{postalCode:"6648",placeName:"Minusio",cantonCode:"TI"},{postalCode:"6652",placeName:"Tegna",cantonCode:"TI"},{postalCode:"6653",placeName:"Verscio",cantonCode:"TI"},{postalCode:"6654",placeName:"Cavigliano",cantonCode:"TI"},{postalCode:"6655",placeName:"Rasa",cantonCode:"TI"},{postalCode:"6655",placeName:"Intragna",cantonCode:"TI"},{postalCode:"6655",placeName:"Verdasio",cantonCode:"TI"},{postalCode:"6656",placeName:"Golino",cantonCode:"TI"},{postalCode:"6657",placeName:"Palagnedra",cantonCode:"TI"},{postalCode:"6658",placeName:"Borgnone",cantonCode:"TI"},{postalCode:"6659",placeName:"Camedo",cantonCode:"TI"},{postalCode:"6659",placeName:"Moneto",cantonCode:"TI"},{postalCode:"6661",placeName:"Berzona",cantonCode:"TI"},{postalCode:"6661",placeName:"Loco",cantonCode:"TI"},{postalCode:"6661",placeName:"Auressio",cantonCode:"TI"},{postalCode:"6662",placeName:"Russo",cantonCode:"TI"},{postalCode:"6663",placeName:"Spruga",cantonCode:"TI"},{postalCode:"6663",placeName:"Comologno",cantonCode:"TI"},{postalCode:"6664",placeName:"Vergeletto",cantonCode:"TI"},{postalCode:"6802",placeName:"Rivera",cantonCode:"TI"},{postalCode:"6803",placeName:"Camignolo",cantonCode:"TI"},{postalCode:"6804",placeName:"Bironico",cantonCode:"TI"},{postalCode:"6805",placeName:"Mezzovico",cantonCode:"TI"},{postalCode:"6805",placeName:"Mezzovico",cantonCode:"TI"},{postalCode:"6806",placeName:"Sigirino",cantonCode:"TI"},{postalCode:"6807",placeName:"Taverne",cantonCode:"TI"},{postalCode:"6807",placeName:"Taverne",cantonCode:"TI"},{postalCode:"6808",placeName:"Torricella",cantonCode:"TI"},{postalCode:"6809",placeName:"Medeglia",cantonCode:"TI"},{postalCode:"6814",placeName:"Cadempino",cantonCode:"TI"},{postalCode:"6814",placeName:"Lamone",cantonCode:"TI"},{postalCode:"6814",placeName:"Lamone-Cadempino",cantonCode:"TI"},{postalCode:"6815",placeName:"Melide",cantonCode:"TI"},{postalCode:"6816",placeName:"Bissone",cantonCode:"TI"},{postalCode:"6817",placeName:"Maroggia",cantonCode:"TI"},{postalCode:"6818",placeName:"Melano",cantonCode:"TI"},{postalCode:"6821",placeName:"Rovio",cantonCode:"TI"},{postalCode:"6822",placeName:"Arogno",cantonCode:"TI"},{postalCode:"6823",placeName:"Pugerna",cantonCode:"TI"},{postalCode:"6825",placeName:"Capolago",cantonCode:"TI"},{postalCode:"6827",placeName:"Brusino Arsizio",cantonCode:"TI"},{postalCode:"6867",placeName:"Serpiano",cantonCode:"TI"},{postalCode:"6900",placeName:"Paradiso",cantonCode:"TI"},{postalCode:"6900",placeName:"Lugano",cantonCode:"TI"},{postalCode:"6900",placeName:"Massagno",cantonCode:"TI"},{postalCode:"6901",placeName:"Lugano",cantonCode:"TI"},{postalCode:"6902",placeName:"Lugano 2 Caselle",cantonCode:"TI"},{postalCode:"6902",placeName:"Lugano 2 Paradiso Caselle",cantonCode:"TI"},{postalCode:"6903",placeName:"Lugano",cantonCode:"TI"},{postalCode:"6904",placeName:"Lugano 4 Caselle",cantonCode:"TI"},{postalCode:"6904",placeName:"Lugano 4 Molino Nuovo Casel",cantonCode:"TI"},{postalCode:"6906",placeName:"Lugano 6 Caselle",cantonCode:"TI"},{postalCode:"6906",placeName:"Lugano 6 Cassarate Caselle",cantonCode:"TI"},{postalCode:"6907",placeName:"Lugano 7 Caselle",cantonCode:"TI"},{postalCode:"6908",placeName:"Massagno Caselle",cantonCode:"TI"},{postalCode:"6912",placeName:"Pazzallo",cantonCode:"TI"},{postalCode:"6913",placeName:"Carabbia",cantonCode:"TI"},{postalCode:"6914",placeName:"Carona",cantonCode:"TI"},{postalCode:"6915",placeName:"Pambio-Noranco",cantonCode:"TI"},{postalCode:"6916",placeName:"Grancia",cantonCode:"TI"},{postalCode:"6917",placeName:"Barbengo",cantonCode:"TI"},{postalCode:"6918",placeName:"Figino",cantonCode:"TI"},{postalCode:"6919",placeName:"Carabietta",cantonCode:"TI"},{postalCode:"6921",placeName:"Vico Morcote",cantonCode:"TI"},{postalCode:"6922",placeName:"Morcote",cantonCode:"TI"},{postalCode:"6924",placeName:"Sorengo",cantonCode:"TI"},{postalCode:"6925",placeName:"Gentilino",cantonCode:"TI"},{postalCode:"6926",placeName:"Montagnola",cantonCode:"TI"},{postalCode:"6927",placeName:"Agra",cantonCode:"TI"},{postalCode:"6928",placeName:"Manno",cantonCode:"TI"},{postalCode:"6929",placeName:"Gravesano",cantonCode:"TI"},{postalCode:"6930",placeName:"Bedano",cantonCode:"TI"},{postalCode:"6932",placeName:"Breganzona",cantonCode:"TI"},{postalCode:"6933",placeName:"Muzzano",cantonCode:"TI"},{postalCode:"6934",placeName:"Bioggio",cantonCode:"TI"},{postalCode:"6935",placeName:"Bosco Luganese",cantonCode:"TI"},{postalCode:"6936",placeName:"Cademario",cantonCode:"TI"},{postalCode:"6937",placeName:"Breno",cantonCode:"TI"},{postalCode:"6938",placeName:"Fescoggia",cantonCode:"TI"},{postalCode:"6938",placeName:"Vezio",cantonCode:"TI"},{postalCode:"6939",placeName:"Mugena",cantonCode:"TI"},{postalCode:"6939",placeName:"Arosio-Mugena",cantonCode:"TI"},{postalCode:"6939",placeName:"Arosio",cantonCode:"TI"},{postalCode:"6942",placeName:"Savosa",cantonCode:"TI"},{postalCode:"6943",placeName:"Vezia",cantonCode:"TI"},{postalCode:"6944",placeName:"Cureglia",cantonCode:"TI"},{postalCode:"6945",placeName:"Origlio",cantonCode:"TI"},{postalCode:"6946",placeName:"Ponte Capriasca",cantonCode:"TI"},{postalCode:"6946",placeName:"Ponte Capriasca",cantonCode:"TI"},{postalCode:"6947",placeName:"Vaglio",cantonCode:"TI"},{postalCode:"6948",placeName:"Porza",cantonCode:"TI"},{postalCode:"6949",placeName:"Comano",cantonCode:"TI"},{postalCode:"6950",placeName:"Tesserete",cantonCode:"TI"},{postalCode:"6951",placeName:"Insone",cantonCode:"TI"},{postalCode:"6951",placeName:"Scareglia",cantonCode:"TI"},{postalCode:"6951",placeName:"Bogno",cantonCode:"TI"},{postalCode:"6951",placeName:"Cozzo",cantonCode:"TI"},{postalCode:"6951",placeName:"Signôra",cantonCode:"TI"},{postalCode:"6951",placeName:"Colla",cantonCode:"TI"},{postalCode:"6952",placeName:"Canobbio",cantonCode:"TI"},{postalCode:"6953",placeName:"Lugaggia",cantonCode:"TI"},{postalCode:"6954",placeName:"Sala Capriasca",cantonCode:"TI"},{postalCode:"6954",placeName:"Bigorio",cantonCode:"TI"},{postalCode:"6955",placeName:"Oggio",cantonCode:"TI"},{postalCode:"6955",placeName:"Cagiallo",cantonCode:"TI"},{postalCode:"6955",placeName:"Oggio",cantonCode:"TI"},{postalCode:"6956",placeName:"Lopagno",cantonCode:"TI"},{postalCode:"6957",placeName:"Roveredo TI",cantonCode:"TI"},{postalCode:"6958",placeName:"Corticiasca",cantonCode:"TI"},{postalCode:"6958",placeName:"Corticiasca",cantonCode:"TI"},{postalCode:"6958",placeName:"Bidogno",cantonCode:"TI"},{postalCode:"6959",placeName:"Piandera Paese",cantonCode:"TI"},{postalCode:"6959",placeName:"Cimadera",cantonCode:"TI"},{postalCode:"6959",placeName:"Piandera Paese",cantonCode:"TI"},{postalCode:"6959",placeName:"Curtina",cantonCode:"TI"},{postalCode:"6959",placeName:"Certara",cantonCode:"TI"},{postalCode:"6959",placeName:"Maglio di Colla",cantonCode:"TI"},{postalCode:"6960",placeName:"Odogno",cantonCode:"TI"},{postalCode:"6962",placeName:"Viganello",cantonCode:"TI"},{postalCode:"6963",placeName:"Cureggia",cantonCode:"TI"},{postalCode:"6963",placeName:"Pregassona",cantonCode:"TI"},{postalCode:"6964",placeName:"Davesco-Soragno",cantonCode:"TI"},{postalCode:"6965",placeName:"Cadro",cantonCode:"TI"},{postalCode:"6966",placeName:"Villa Luganese",cantonCode:"TI"},{postalCode:"6967",placeName:"Dino",cantonCode:"TI"},{postalCode:"6968",placeName:"Sonvico",cantonCode:"TI"},{postalCode:"6974",placeName:"Aldesago",cantonCode:"TI"},{postalCode:"6976",placeName:"Castagnola",cantonCode:"TI"},{postalCode:"6977",placeName:"Ruvigliana",cantonCode:"TI"},{postalCode:"6978",placeName:"Gandria",cantonCode:"TI"},{postalCode:"6979",placeName:"Brè sopra Lugano",cantonCode:"TI"},{postalCode:"6980",placeName:"Castelrotto",cantonCode:"TI"},{postalCode:"6981",placeName:"Beride di Bedigliora",cantonCode:"TI"},{postalCode:"6981",placeName:"Biogno-Beride",cantonCode:"TI"},{postalCode:"6981",placeName:"Bedigliora",cantonCode:"TI"},{postalCode:"6981",placeName:"Banco",cantonCode:"TI"},{postalCode:"6981",placeName:"Bedigliora",cantonCode:"TI"},{postalCode:"6981",placeName:"Bombinasco",cantonCode:"TI"},{postalCode:"6982",placeName:"Agno",cantonCode:"TI"},{postalCode:"6983",placeName:"Magliaso",cantonCode:"TI"},{postalCode:"6984",placeName:"Pura",cantonCode:"TI"},{postalCode:"6986",placeName:"Curio",cantonCode:"TI"},{postalCode:"6986",placeName:"Novaggio",cantonCode:"TI"},{postalCode:"6986",placeName:"Miglieglia",cantonCode:"TI"},{postalCode:"6987",placeName:"Caslano",cantonCode:"TI"},{postalCode:"6988",placeName:"Ponte Tresa",cantonCode:"TI"},{postalCode:"6989",placeName:"Purasca",cantonCode:"TI"},{postalCode:"6990",placeName:"Cassina d'Agno",cantonCode:"TI"},{postalCode:"6991",placeName:"Neggio",cantonCode:"TI"},{postalCode:"6992",placeName:"Cimo",cantonCode:"TI"},{postalCode:"6992",placeName:"Vernate",cantonCode:"TI"},{postalCode:"6993",placeName:"Iseo",cantonCode:"TI"},{postalCode:"6994",placeName:"Aranno",cantonCode:"TI"},{postalCode:"6995",placeName:"Molinazzo di Monteggio",cantonCode:"TI"},{postalCode:"6995",placeName:"Madonna del Piano",cantonCode:"TI"},{postalCode:"6997",placeName:"Sessa",cantonCode:"TI"},{postalCode:"6998",placeName:"Monteggio 2",cantonCode:"TI"},{postalCode:"6998",placeName:"Monteggio",cantonCode:"TI"},{postalCode:"6998",placeName:"Termine",cantonCode:"TI"},{postalCode:"6999",placeName:"Astano",cantonCode:"TI"},{postalCode:"6825",placeName:"Capolago",cantonCode:"TI"},{postalCode:"6826",placeName:"Riva San Vitale",cantonCode:"TI"},{postalCode:"6828",placeName:"Balerna",cantonCode:"TI"},{postalCode:"6830",placeName:"Chiasso 3",cantonCode:"TI"},{postalCode:"6830",placeName:"Chiasso 1",cantonCode:"TI"},{postalCode:"6830",placeName:"Chiasso",cantonCode:"TI"},{postalCode:"6832",placeName:"Seseglio",cantonCode:"TI"},{postalCode:"6832",placeName:"Pedrinate",cantonCode:"TI"},{postalCode:"6833",placeName:"Vacallo",cantonCode:"TI"},{postalCode:"6834",placeName:"Morbio Inferiore",cantonCode:"TI"},{postalCode:"6835",placeName:"Morbio Superiore",cantonCode:"TI"},{postalCode:"6836",placeName:"Serfontana",cantonCode:"TI"},{postalCode:"6837",placeName:"Bruzella",cantonCode:"TI"},{postalCode:"6837",placeName:"Caneggio",cantonCode:"TI"},{postalCode:"6838",placeName:"Muggio",cantonCode:"TI"},{postalCode:"6838",placeName:"Cabbio",cantonCode:"TI"},{postalCode:"6838",placeName:"Scudellate",cantonCode:"TI"},{postalCode:"6839",placeName:"Sagno",cantonCode:"TI"},{postalCode:"6850",placeName:"Mendrisio Stazione",cantonCode:"TI"},{postalCode:"6850",placeName:"Mendrisio",cantonCode:"TI"},{postalCode:"6850",placeName:"Mendrisio Borgo",cantonCode:"TI"},{postalCode:"6852",placeName:"Genestrerio",cantonCode:"TI"},{postalCode:"6853",placeName:"Ligornetto",cantonCode:"TI"},{postalCode:"6854",placeName:"S. Pietro",cantonCode:"TI"},{postalCode:"6855",placeName:"Stabio",cantonCode:"TI"},{postalCode:"6862",placeName:"Rancate",cantonCode:"TI"},{postalCode:"6863",placeName:"Besazio",cantonCode:"TI"},{postalCode:"6864",placeName:"Arzo",cantonCode:"TI"},{postalCode:"6865",placeName:"Tremona",cantonCode:"TI"},{postalCode:"6866",placeName:"Meride",cantonCode:"TI"},{postalCode:"6872",placeName:"Somazzo",cantonCode:"TI"},{postalCode:"6872",placeName:"Salorino",cantonCode:"TI"},{postalCode:"6873",placeName:"Corteglia",cantonCode:"TI"},{postalCode:"6874",placeName:"Castel San Pietro",cantonCode:"TI"},{postalCode:"6875",placeName:"Campora",cantonCode:"TI"},{postalCode:"6875",placeName:"Monte",cantonCode:"TI"},{postalCode:"6875",placeName:"Casima",cantonCode:"TI"},{postalCode:"6877",placeName:"Coldrerio",cantonCode:"TI"},{postalCode:"6883",placeName:"Novazzano",cantonCode:"TI"},{postalCode:"6526",placeName:"Prosito",cantonCode:"TI"},{postalCode:"6527",placeName:"Lodrino",cantonCode:"TI"},{postalCode:"6703",placeName:"Osogna",cantonCode:"TI"},{postalCode:"6705",placeName:"Cresciano",cantonCode:"TI"},{postalCode:"6707",placeName:"Iragna",cantonCode:"TI"},{postalCode:"6710",placeName:"Biasca",cantonCode:"TI"},{postalCode:"6710",placeName:"Biasca Stazione",cantonCode:"TI"},{postalCode:"6670",placeName:"Avegno",cantonCode:"TI"},{postalCode:"6672",placeName:"Gordevio",cantonCode:"TI"},{postalCode:"6673",placeName:"Maggia",cantonCode:"TI"},{postalCode:"6674",placeName:"Someo",cantonCode:"TI"},{postalCode:"6674",placeName:"Riveo",cantonCode:"TI"},{postalCode:"6675",placeName:"Cevio",cantonCode:"TI"},{postalCode:"6676",placeName:"Bignasco",cantonCode:"TI"},{postalCode:"6677",placeName:"Aurigeno",cantonCode:"TI"},{postalCode:"6677",placeName:"Moghegno",cantonCode:"TI"},{postalCode:"6678",placeName:"Lodano",cantonCode:"TI"},{postalCode:"6678",placeName:"Coglio",cantonCode:"TI"},{postalCode:"6678",placeName:"Giumaglio",cantonCode:"TI"},{postalCode:"6682",placeName:"Linescio",cantonCode:"TI"},{postalCode:"6683",placeName:"Niva (Vallemaggia)",cantonCode:"TI"},{postalCode:"6683",placeName:"Cerentino",cantonCode:"TI"},{postalCode:"6684",placeName:"Cimalmotto",cantonCode:"TI"},{postalCode:"6684",placeName:"Campo (Vallemaggia)",cantonCode:"TI"},{postalCode:"6685",placeName:"Bosco/Gurin",cantonCode:"TI"},{postalCode:"6690",placeName:"S. Carlo (Val Bavona)",cantonCode:"TI"},{postalCode:"6690",placeName:"Cavergno",cantonCode:"TI"},{postalCode:"6692",placeName:"Brontallo",cantonCode:"TI"},{postalCode:"6692",placeName:"Menzonio",cantonCode:"TI"},{postalCode:"6693",placeName:"Broglio",cantonCode:"TI"},{postalCode:"6694",placeName:"Prato-Sornico",cantonCode:"TI"},{postalCode:"6695",placeName:"Peccia",cantonCode:"TI"},{postalCode:"6695",placeName:"Piano di Peccia",cantonCode:"TI"},{postalCode:"6696",placeName:"Fusio",cantonCode:"TI"},{postalCode:"6377",placeName:"Seelisberg",cantonCode:"UR"},{postalCode:"6441",placeName:"Rütli",cantonCode:"UR"},{postalCode:"6452",placeName:"Sisikon",cantonCode:"UR"},{postalCode:"6454",placeName:"Flüelen",cantonCode:"UR"},{postalCode:"6460",placeName:"Altdorf UR 2",cantonCode:"UR"},{postalCode:"6460",placeName:"Altdorf UR",cantonCode:"UR"},{postalCode:"6460",placeName:"Altdorf UR 1",cantonCode:"UR"},{postalCode:"6461",placeName:"Isenthal",cantonCode:"UR"},{postalCode:"6462",placeName:"Seedorf UR",cantonCode:"UR"},{postalCode:"6463",placeName:"Bürglen UR",cantonCode:"UR"},{postalCode:"6464",placeName:"Spiringen",cantonCode:"UR"},{postalCode:"6465",placeName:"Unterschächen",cantonCode:"UR"},{postalCode:"6466",placeName:"Bauen",cantonCode:"UR"},{postalCode:"6467",placeName:"Schattdorf",cantonCode:"UR"},{postalCode:"6468",placeName:"Attinghausen",cantonCode:"UR"},{postalCode:"6469",placeName:"Haldi b. Schattdorf",cantonCode:"UR"},{postalCode:"6472",placeName:"Erstfeld",cantonCode:"UR"},{postalCode:"6473",placeName:"Silenen",cantonCode:"UR"},{postalCode:"6474",placeName:"Amsteg",cantonCode:"UR"},{postalCode:"6475",placeName:"Bristen",cantonCode:"UR"},{postalCode:"6476",placeName:"Intschi",cantonCode:"UR"},{postalCode:"6482",placeName:"Gurtnellen",cantonCode:"UR"},{postalCode:"6484",placeName:"Wassen UR",cantonCode:"UR"},{postalCode:"6485",placeName:"Meien",cantonCode:"UR"},{postalCode:"6487",placeName:"Göschenen",cantonCode:"UR"},{postalCode:"6490",placeName:"Andermatt",cantonCode:"UR"},{postalCode:"6491",placeName:"Realp",cantonCode:"UR"},{postalCode:"6493",placeName:"Hospental",cantonCode:"UR"},{postalCode:"8751",placeName:"Urnerboden",cantonCode:"UR"},{postalCode:"1844",placeName:"Villeneuve VD",cantonCode:"VD"},{postalCode:"1845",placeName:"Noville",cantonCode:"VD"},{postalCode:"1846",placeName:"Chessel",cantonCode:"VD"},{postalCode:"1847",placeName:"Rennaz",cantonCode:"VD"},{postalCode:"1852",placeName:"Roche VD",cantonCode:"VD"},{postalCode:"1853",placeName:"Yvorne",cantonCode:"VD"},{postalCode:"1854",placeName:"Leysin",cantonCode:"VD"},{postalCode:"1856",placeName:"Corbeyrier",cantonCode:"VD"},{postalCode:"1860",placeName:"Aigle",cantonCode:"VD"},{postalCode:"1862",placeName:"Les Mosses",cantonCode:"VD"},{postalCode:"1862",placeName:"La Comballaz",cantonCode:"VD"},{postalCode:"1863",placeName:"Le Sépey",cantonCode:"VD"},{postalCode:"1864",placeName:"Vers-l'Eglise",cantonCode:"VD"},{postalCode:"1865",placeName:"Les Diablerets",cantonCode:"VD"},{postalCode:"1866",placeName:"La Forclaz VD",cantonCode:"VD"},{postalCode:"1867",placeName:"Panex",cantonCode:"VD"},{postalCode:"1867",placeName:"Ollon VD",cantonCode:"VD"},{postalCode:"1867",placeName:"St-Triphon",cantonCode:"VD"},{postalCode:"1880",placeName:"Les Posses-sur-Bex",cantonCode:"VD"},{postalCode:"1880",placeName:"Fenalet-sur-Bex",cantonCode:"VD"},{postalCode:"1880",placeName:"Frenières-sur-Bex",cantonCode:"VD"},{postalCode:"1880",placeName:"Bex",cantonCode:"VD"},{postalCode:"1880",placeName:"Les Plans-sur-Bex",cantonCode:"VD"},{postalCode:"1882",placeName:"Gryon",cantonCode:"VD"},{postalCode:"1884",placeName:"Arveyes",cantonCode:"VD"},{postalCode:"1884",placeName:"Villars-sur-Ollon",cantonCode:"VD"},{postalCode:"1884",placeName:"Huémoz",cantonCode:"VD"},{postalCode:"1885",placeName:"Chesières",cantonCode:"VD"},{postalCode:"1892",placeName:"Morcles",cantonCode:"VD"},{postalCode:"1892",placeName:"Lavey-Village",cantonCode:"VD"},{postalCode:"1892",placeName:"Lavey-les-Bains",cantonCode:"VD"},{postalCode:"1082",placeName:"Corcelles-le-Jorat",cantonCode:"VD"},{postalCode:"1085",placeName:"Vulliens",cantonCode:"VD"},{postalCode:"1088",placeName:"Ropraz",cantonCode:"VD"},{postalCode:"1509",placeName:"Vucherens",cantonCode:"VD"},{postalCode:"1510",placeName:"Syens",cantonCode:"VD"},{postalCode:"1510",placeName:"Moudon",cantonCode:"VD"},{postalCode:"1512",placeName:"Chavannes-sur-Moudon",cantonCode:"VD"},{postalCode:"1513",placeName:"Rossenges",cantonCode:"VD"},{postalCode:"1513",placeName:"Hermenches",cantonCode:"VD"},{postalCode:"1514",placeName:"Bussy-sur-Moudon",cantonCode:"VD"},{postalCode:"1515",placeName:"Villars-le-Comte",cantonCode:"VD"},{postalCode:"1521",placeName:"Curtilles",cantonCode:"VD"},{postalCode:"1522",placeName:"Lucens",cantonCode:"VD"},{postalCode:"1522",placeName:"Oulens-sur-Lucens",cantonCode:"VD"},{postalCode:"1523",placeName:"Granges-près-Marnand",cantonCode:"VD"},{postalCode:"1524",placeName:"Marnand",cantonCode:"VD"},{postalCode:"1525",placeName:"Henniez",cantonCode:"VD"},{postalCode:"1525",placeName:"Seigneux",cantonCode:"VD"},{postalCode:"1526",placeName:"Forel-sur-Lucens",cantonCode:"VD"},{postalCode:"1526",placeName:"Cremin",cantonCode:"VD"},{postalCode:"1530",placeName:"Payerne",cantonCode:"VD"},{postalCode:"1534",placeName:"Sassel",cantonCode:"VD"},{postalCode:"1535",placeName:"Combremont-le-Grand",cantonCode:"VD"},{postalCode:"1536",placeName:"Combremont-le-Petit",cantonCode:"VD"},{postalCode:"1537",placeName:"Champtauroz",cantonCode:"VD"},{postalCode:"1538",placeName:"Treytorrens (Payerne)",cantonCode:"VD"},{postalCode:"1543",placeName:"Grandcour",cantonCode:"VD"},{postalCode:"1545",placeName:"Chevroux",cantonCode:"VD"},{postalCode:"1551",placeName:"Vers-chez-Perrin",cantonCode:"VD"},{postalCode:"1552",placeName:"Trey",cantonCode:"VD"},{postalCode:"1554",placeName:"Rossens VD",cantonCode:"VD"},{postalCode:"1554",placeName:"Sédeilles",cantonCode:"VD"},{postalCode:"1555",placeName:"Villarzel",cantonCode:"VD"},{postalCode:"1562",placeName:"Corcelles-près-Payerne",cantonCode:"VD"},{postalCode:"1565",placeName:"Missy",cantonCode:"VD"},{postalCode:"1580",placeName:"Avenches",cantonCode:"VD"},{postalCode:"1580",placeName:"Donatyre",cantonCode:"VD"},{postalCode:"1580",placeName:"Oleyres",cantonCode:"VD"},{postalCode:"1584",placeName:"Villars-le-Grand",cantonCode:"VD"},{postalCode:"1585",placeName:"Salavaux",cantonCode:"VD"},{postalCode:"1585",placeName:"Cotterd",cantonCode:"VD"},{postalCode:"1585",placeName:"Bellerive VD",cantonCode:"VD"},{postalCode:"1586",placeName:"Vallamand",cantonCode:"VD"},{postalCode:"1587",placeName:"Constantine",cantonCode:"VD"},{postalCode:"1587",placeName:"Montmagny",cantonCode:"VD"},{postalCode:"1588",placeName:"Cudrefin",cantonCode:"VD"},{postalCode:"1589",placeName:"Chabrey",cantonCode:"VD"},{postalCode:"1595",placeName:"Faoug",cantonCode:"VD"},{postalCode:"1682",placeName:"Lovatens",cantonCode:"VD"},{postalCode:"1682",placeName:"Prévonloup",cantonCode:"VD"},{postalCode:"1682",placeName:"Villars-Bramard",cantonCode:"VD"},{postalCode:"1682",placeName:"Cerniaz VD",cantonCode:"VD"},{postalCode:"1682",placeName:"Dompierre VD",cantonCode:"VD"},{postalCode:"1683",placeName:"Brenles",cantonCode:"VD"},{postalCode:"1683",placeName:"Sarzens",cantonCode:"VD"},{postalCode:"1683",placeName:"Chesalles-sur-Moudon",cantonCode:"VD"},{postalCode:"1787",placeName:"Mur (Vully) VD",cantonCode:"VD"},{postalCode:"1031",placeName:"Mex VD",cantonCode:"VD"},{postalCode:"1034",placeName:"Boussens",cantonCode:"VD"},{postalCode:"1035",placeName:"Bournens",cantonCode:"VD"},{postalCode:"1036",placeName:"Sullens",cantonCode:"VD"},{postalCode:"1037",placeName:"Etagnières",cantonCode:"VD"},{postalCode:"1038",placeName:"Bercher",cantonCode:"VD"},{postalCode:"1040",placeName:"Echallens",cantonCode:"VD"},{postalCode:"1040",placeName:"Villars-le-Terroir",cantonCode:"VD"},{postalCode:"1040",placeName:"St-Barthélemy VD",cantonCode:"VD"},{postalCode:"1041",placeName:"Montaubion-Chardonney",cantonCode:"VD"},{postalCode:"1041",placeName:"Poliez-le-Grand",cantonCode:"VD"},{postalCode:"1041",placeName:"Poliez-Pittet",cantonCode:"VD"},{postalCode:"1041",placeName:"Bottens",cantonCode:"VD"},{postalCode:"1041",placeName:"Naz",cantonCode:"VD"},{postalCode:"1041",placeName:"Dommartin",cantonCode:"VD"},{postalCode:"1042",placeName:"Assens",cantonCode:"VD"},{postalCode:"1042",placeName:"Bioley-Orjulaz",cantonCode:"VD"},{postalCode:"1042",placeName:"Bettens",cantonCode:"VD"},{postalCode:"1043",placeName:"Sugnens",cantonCode:"VD"},{postalCode:"1044",placeName:"Fey",cantonCode:"VD"},{postalCode:"1045",placeName:"Ogens",cantonCode:"VD"},{postalCode:"1046",placeName:"Rueyres",cantonCode:"VD"},{postalCode:"1047",placeName:"Oppens",cantonCode:"VD"},{postalCode:"1053",placeName:"Cugy VD",cantonCode:"VD"},{postalCode:"1053",placeName:"Bretigny-sur-Morrens",cantonCode:"VD"},{postalCode:"1054",placeName:"Morrens VD",cantonCode:"VD"},{postalCode:"1055",placeName:"Froideville",cantonCode:"VD"},{postalCode:"1058",placeName:"Villars-Tiercelin",cantonCode:"VD"},{postalCode:"1059",placeName:"Peney-le-Jorat",cantonCode:"VD"},{postalCode:"1061",placeName:"Villars-Mendraz",cantonCode:"VD"},{postalCode:"1062",placeName:"Sottens",cantonCode:"VD"},{postalCode:"1063",placeName:"Boulens",cantonCode:"VD"},{postalCode:"1063",placeName:"Chapelle-sur-Moudon",cantonCode:"VD"},{postalCode:"1063",placeName:"Martherenges",cantonCode:"VD"},{postalCode:"1063",placeName:"Peyres-Possens",cantonCode:"VD"},{postalCode:"1302",placeName:"Vufflens-la-Ville",cantonCode:"VD"},{postalCode:"1303",placeName:"Penthaz",cantonCode:"VD"},{postalCode:"1305",placeName:"Penthalaz",cantonCode:"VD"},{postalCode:"1306",placeName:"Daillens",cantonCode:"VD"},{postalCode:"1307",placeName:"Lussery-Villars",cantonCode:"VD"},{postalCode:"1375",placeName:"Penthéréaz",cantonCode:"VD"},{postalCode:"1376",placeName:"Eclagnens",cantonCode:"VD"},{postalCode:"1376",placeName:"Goumoens-la-Ville",cantonCode:"VD"},{postalCode:"1376",placeName:"Goumoens-le-Jux",cantonCode:"VD"},{postalCode:"1377",placeName:"Oulens-sous-Echallens",cantonCode:"VD"},{postalCode:"1409",placeName:"Chanéaz",cantonCode:"VD"},{postalCode:"1410",placeName:"Correvon",cantonCode:"VD"},{postalCode:"1410",placeName:"Thierrens",cantonCode:"VD"},{postalCode:"1410",placeName:"Denezy",cantonCode:"VD"},{postalCode:"1410",placeName:"St-Cierges",cantonCode:"VD"},{postalCode:"1416",placeName:"Pailly",cantonCode:"VD"},{postalCode:"1417",placeName:"Epautheyres",cantonCode:"VD"},{postalCode:"1417",placeName:"Essertines-sur-Yverdon",cantonCode:"VD"},{postalCode:"1418",placeName:"Vuarrens",cantonCode:"VD"},{postalCode:"1515",placeName:"Neyruz-sur-Moudon",cantonCode:"VD"},{postalCode:"1148",placeName:"La Praz",cantonCode:"VD"},{postalCode:"1321",placeName:"Arnex-sur-Orbe",cantonCode:"VD"},{postalCode:"1322",placeName:"Croy",cantonCode:"VD"},{postalCode:"1323",placeName:"Romainmôtier",cantonCode:"VD"},{postalCode:"1324",placeName:"Premier",cantonCode:"VD"},{postalCode:"1325",placeName:"Vaulion",cantonCode:"VD"},{postalCode:"1326",placeName:"Juriens",cantonCode:"VD"},{postalCode:"1329",placeName:"Bretonnières",cantonCode:"VD"},{postalCode:"1337",placeName:"Vallorbe",cantonCode:"VD"},{postalCode:"1338",placeName:"Ballaigues",cantonCode:"VD"},{postalCode:"1341",placeName:"Orient",cantonCode:"VD"},{postalCode:"1341",placeName:"L'Orient",cantonCode:"VD"},{postalCode:"1342",placeName:"Le Pont",cantonCode:"VD"},{postalCode:"1343",placeName:"Les Charbonnières",cantonCode:"VD"},{postalCode:"1344",placeName:"L'Abbaye",cantonCode:"VD"},{postalCode:"1345",placeName:"Le Séchey",cantonCode:"VD"},{postalCode:"1345",placeName:"Le Lieu",cantonCode:"VD"},{postalCode:"1346",placeName:"Les Bioux",cantonCode:"VD"},{postalCode:"1347",placeName:"Le Solliat",cantonCode:"VD"},{postalCode:"1347",placeName:"Le Sentier",cantonCode:"VD"},{postalCode:"1348",placeName:"Le Brassus",cantonCode:"VD"},{postalCode:"1350",placeName:"Orbe",cantonCode:"VD"},{postalCode:"1352",placeName:"Agiez",cantonCode:"VD"},{postalCode:"1353",placeName:"Bofflens",cantonCode:"VD"},{postalCode:"1354",placeName:"Montcherand",cantonCode:"VD"},{postalCode:"1355",placeName:"Sergey",cantonCode:"VD"},{postalCode:"1355",placeName:"L'Abergement",cantonCode:"VD"},{postalCode:"1356",placeName:"La Russille",cantonCode:"VD"},{postalCode:"1356",placeName:"Les Clées",cantonCode:"VD"},{postalCode:"1357",placeName:"Lignerolle",cantonCode:"VD"},{postalCode:"1358",placeName:"Valeyres-sous-Rances",cantonCode:"VD"},{postalCode:"1372",placeName:"Bavois",cantonCode:"VD"},{postalCode:"1373",placeName:"Chavornay",cantonCode:"VD"},{postalCode:"1374",placeName:"Corcelles-sur-Chavornay",cantonCode:"VD"},{postalCode:"1400",placeName:"Yverdon 2",cantonCode:"VD"},{postalCode:"1400",placeName:"Yverdon-les-Bains",cantonCode:"VD"},{postalCode:"1400",placeName:"Cheseaux-Noréaz",cantonCode:"VD"},{postalCode:"1401",placeName:"Yverdon-les-Bains",cantonCode:"VD"},{postalCode:"1404",placeName:"Villars-Epeney",cantonCode:"VD"},{postalCode:"1404",placeName:"Cuarny",cantonCode:"VD"},{postalCode:"1405",placeName:"Pomy",cantonCode:"VD"},{postalCode:"1406",placeName:"Cronay",cantonCode:"VD"},{postalCode:"1407",placeName:"Donneloye",cantonCode:"VD"},{postalCode:"1407",placeName:"Mézery-près-Donneloye",cantonCode:"VD"},{postalCode:"1407",placeName:"Bioley-Magnoux",cantonCode:"VD"},{postalCode:"1407",placeName:"Gossens",cantonCode:"VD"},{postalCode:"1408",placeName:"Prahins",cantonCode:"VD"},{postalCode:"1412",placeName:"Ursins",cantonCode:"VD"},{postalCode:"1412",placeName:"Valeyres-sous-Ursins",cantonCode:"VD"},{postalCode:"1413",placeName:"Orzens",cantonCode:"VD"},{postalCode:"1415",placeName:"Démoret",cantonCode:"VD"},{postalCode:"1415",placeName:"Molondin",cantonCode:"VD"},{postalCode:"1420",placeName:"Fiez",cantonCode:"VD"},{postalCode:"1421",placeName:"Fontaines-sur-Grandson",cantonCode:"VD"},{postalCode:"1421",placeName:"Grandevent",cantonCode:"VD"},{postalCode:"1422",placeName:"Grandson",cantonCode:"VD"},{postalCode:"1423",placeName:"Villars-Burquin",cantonCode:"VD"},{postalCode:"1423",placeName:"Romairon",cantonCode:"VD"},{postalCode:"1423",placeName:"Vaugondry",cantonCode:"VD"},{postalCode:"1423",placeName:"Fontanezier",cantonCode:"VD"},{postalCode:"1424",placeName:"Champagne",cantonCode:"VD"},{postalCode:"1425",placeName:"Onnens VD",cantonCode:"VD"},{postalCode:"1426",placeName:"Corcelles-près-Concise",cantonCode:"VD"},{postalCode:"1426",placeName:"Concise",cantonCode:"VD"},{postalCode:"1427",placeName:"Bonvillars",cantonCode:"VD"},{postalCode:"1428",placeName:"Mutrux",cantonCode:"VD"},{postalCode:"1428",placeName:"Provence",cantonCode:"VD"},{postalCode:"1429",placeName:"Giez",cantonCode:"VD"},{postalCode:"1430",placeName:"Orges",cantonCode:"VD"},{postalCode:"1431",placeName:"Vugelles-La Mothe",cantonCode:"VD"},{postalCode:"1431",placeName:"Novalles",cantonCode:"VD"},{postalCode:"1432",placeName:"Gressy",cantonCode:"VD"},{postalCode:"1432",placeName:"Belmont-sur-Yverdon",cantonCode:"VD"},{postalCode:"1433",placeName:"Suchy",cantonCode:"VD"},{postalCode:"1434",placeName:"Ependes VD",cantonCode:"VD"},{postalCode:"1435",placeName:"Essert-Pittet",cantonCode:"VD"},{postalCode:"1436",placeName:"Treycovagnes",cantonCode:"VD"},{postalCode:"1436",placeName:"Chamblon",cantonCode:"VD"},{postalCode:"1437",placeName:"Suscévaz",cantonCode:"VD"},{postalCode:"1438",placeName:"Mathod",cantonCode:"VD"},{postalCode:"1439",placeName:"Rances",cantonCode:"VD"},{postalCode:"1440",placeName:"Montagny-Chamard",cantonCode:"VD"},{postalCode:"1441",placeName:"Valeyres-sous-Montagny",cantonCode:"VD"},{postalCode:"1442",placeName:"Montagny-près-Yverdon",cantonCode:"VD"},{postalCode:"1443",placeName:"Essert-sous-Champvent",cantonCode:"VD"},{postalCode:"1443",placeName:"Villars-sous-Champvent",cantonCode:"VD"},{postalCode:"1443",placeName:"Champvent",cantonCode:"VD"},{postalCode:"1445",placeName:"Vuiteboeuf",cantonCode:"VD"},{postalCode:"1446",placeName:"Baulmes",cantonCode:"VD"},{postalCode:"1450",placeName:"La Sagne (Ste-Croix)",cantonCode:"VD"},{postalCode:"1450",placeName:"Le Château-de-Ste-Croix",cantonCode:"VD"},{postalCode:"1450",placeName:"Ste-Croix",cantonCode:"VD"},{postalCode:"1452",placeName:"Les Rasses",cantonCode:"VD"},{postalCode:"1453",placeName:"Mauborget",cantonCode:"VD"},{postalCode:"1453",placeName:"Bullet",cantonCode:"VD"},{postalCode:"1454",placeName:"L'Auberson",cantonCode:"VD"},{postalCode:"1454",placeName:"La Vraconnaz",cantonCode:"VD"},{postalCode:"1462",placeName:"Yvonand",cantonCode:"VD"},{postalCode:"1463",placeName:"Rovray",cantonCode:"VD"},{postalCode:"1464",placeName:"Chêne-Pâquier",cantonCode:"VD"},{postalCode:"1464",placeName:"Chavannes-le-Chêne",cantonCode:"VD"},{postalCode:"1000",placeName:"Lausanne 22",cantonCode:"VD"},{postalCode:"1000",placeName:"Lausanne 14",cantonCode:"VD"},{postalCode:"1000",placeName:"Lausanne 26",cantonCode:"VD"},{postalCode:"1000",placeName:"Lausanne 12",cantonCode:"VD"},{postalCode:"1000",placeName:"Lausanne 27",cantonCode:"VD"},{postalCode:"1000",placeName:"Lausanne 18",cantonCode:"VD"},{postalCode:"1000",placeName:"Lausanne 10",cantonCode:"VD"},{postalCode:"1000",placeName:"Lausanne 16",cantonCode:"VD"},{postalCode:"1000",placeName:"Lausanne 25",cantonCode:"VD"},{postalCode:"1001",placeName:"Lausanne",cantonCode:"VD"},{postalCode:"1002",placeName:"Lausanne",cantonCode:"VD"},{postalCode:"1003",placeName:"Lausanne",cantonCode:"VD"},{postalCode:"1004",placeName:"Lausanne",cantonCode:"VD"},{postalCode:"1005",placeName:"Lausanne",cantonCode:"VD"},{postalCode:"1006",placeName:"Lausanne",cantonCode:"VD"},{postalCode:"1007",placeName:"Lausanne",cantonCode:"VD"},{postalCode:"1008",placeName:"Jouxtens-Mézery",cantonCode:"VD"},{postalCode:"1010",placeName:"Lausanne",cantonCode:"VD"},{postalCode:"1011",placeName:"Lausanne",cantonCode:"VD"},{postalCode:"1012",placeName:"Lausanne",cantonCode:"VD"},{postalCode:"1014",placeName:"Lausanne Adm cant",cantonCode:"VD"},{postalCode:"1014",placeName:"Lausanne Adm cant VD",cantonCode:"VD"},{postalCode:"1015",placeName:"Lausanne",cantonCode:"VD"},{postalCode:"1018",placeName:"Lausanne",cantonCode:"VD"},{postalCode:"1019",placeName:"Lausanne Services spéciaux",cantonCode:"VD"},{postalCode:"1019",placeName:"Lausanne",cantonCode:"VD"},{postalCode:"1032",placeName:"Romanel-sur-Lausanne",cantonCode:"VD"},{postalCode:"1033",placeName:"Cheseaux-sur-Lausanne",cantonCode:"VD"},{postalCode:"1039",placeName:"Cheseaux Polyval",cantonCode:"VD"},{postalCode:"1052",placeName:"Le Mont-sur-Lausanne",cantonCode:"VD"},{postalCode:"1066",placeName:"Epalinges",cantonCode:"VD"},{postalCode:"1009",placeName:"Pully",cantonCode:"VD"},{postalCode:"1068",placeName:"Les Monts-de-Pully",cantonCode:"VD"},{postalCode:"1070",placeName:"Puidoux",cantonCode:"VD"},{postalCode:"1071",placeName:"Rivaz",cantonCode:"VD"},{postalCode:"1071",placeName:"Chexbres",cantonCode:"VD"},{postalCode:"1071",placeName:"St-Saphorin (Lavaux)",cantonCode:"VD"},{postalCode:"1072",placeName:"Forel (Lavaux)",cantonCode:"VD"},{postalCode:"1073",placeName:"Savigny",cantonCode:"VD"},{postalCode:"1073",placeName:"Mollie-Margot",cantonCode:"VD"},{postalCode:"1076",placeName:"Ferlens VD",cantonCode:"VD"},{postalCode:"1077",placeName:"Servion",cantonCode:"VD"},{postalCode:"1078",placeName:"Essertes",cantonCode:"VD"},{postalCode:"1080",placeName:"Les Cullayes",cantonCode:"VD"},{postalCode:"1081",placeName:"Montpreveyres",cantonCode:"VD"},{postalCode:"1083",placeName:"Mézières VD",cantonCode:"VD"},{postalCode:"1084",placeName:"Carrouge VD",cantonCode:"VD"},{postalCode:"1090",placeName:"La Croix (Lutry)",cantonCode:"VD"},{postalCode:"1091",placeName:"Aran",cantonCode:"VD"},{postalCode:"1091",placeName:"Chenaux",cantonCode:"VD"},{postalCode:"1091",placeName:"Grandvaux",cantonCode:"VD"},{postalCode:"1092",placeName:"Belmont-sur-Lausanne",cantonCode:"VD"},{postalCode:"1093",placeName:"La Conversion",cantonCode:"VD"},{postalCode:"1094",placeName:"Paudex",cantonCode:"VD"},{postalCode:"1095",placeName:"Lutry",cantonCode:"VD"},{postalCode:"1096",placeName:"Cully",cantonCode:"VD"},{postalCode:"1096",placeName:"Villette (Lavaux)",cantonCode:"VD"},{postalCode:"1097",placeName:"Riex",cantonCode:"VD"},{postalCode:"1098",placeName:"Epesses",cantonCode:"VD"},{postalCode:"1607",placeName:"Les Tavernes",cantonCode:"VD"},{postalCode:"1607",placeName:"Les Thioleyres",cantonCode:"VD"},{postalCode:"1607",placeName:"Palézieux",cantonCode:"VD"},{postalCode:"1607",placeName:"Palézieux-Village",cantonCode:"VD"},{postalCode:"1608",placeName:"Oron-le-Châtel",cantonCode:"VD"},{postalCode:"1608",placeName:"Chesalles-sur-Oron",cantonCode:"VD"},{postalCode:"1608",placeName:"Bussigny-sur-Oron",cantonCode:"VD"},{postalCode:"1610",placeName:"Vuibroye",cantonCode:"VD"},{postalCode:"1610",placeName:"Oron-la-Ville",cantonCode:"VD"},{postalCode:"1610",placeName:"Châtillens",cantonCode:"VD"},{postalCode:"1612",placeName:"Ecoteaux",cantonCode:"VD"},{postalCode:"1613",placeName:"Maracon",cantonCode:"VD"},{postalCode:"1026",placeName:"Echandens-Denges",cantonCode:"VD"},{postalCode:"1026",placeName:"Echandens",cantonCode:"VD"},{postalCode:"1026",placeName:"Denges",cantonCode:"VD"},{postalCode:"1027",placeName:"Lonay",cantonCode:"VD"},{postalCode:"1028",placeName:"Préverenges",cantonCode:"VD"},{postalCode:"1110",placeName:"Morges 1",cantonCode:"VD"},{postalCode:"1110",placeName:"Morges",cantonCode:"VD"},{postalCode:"1110",placeName:"Morges 2",cantonCode:"VD"},{postalCode:"1112",placeName:"Echichens",cantonCode:"VD"},{postalCode:"1113",placeName:"St-Saphorin-sur-Morges",cantonCode:"VD"},{postalCode:"1114",placeName:"Colombier VD",cantonCode:"VD"},{postalCode:"1115",placeName:"Vullierens",cantonCode:"VD"},{postalCode:"1116",placeName:"Cottens VD",cantonCode:"VD"},{postalCode:"1117",placeName:"Grancy",cantonCode:"VD"},{postalCode:"1121",placeName:"Bremblens",cantonCode:"VD"},{postalCode:"1122",placeName:"Romanel-sur-Morges",cantonCode:"VD"},{postalCode:"1123",placeName:"Aclens",cantonCode:"VD"},{postalCode:"1124",placeName:"Gollion",cantonCode:"VD"},{postalCode:"1125",placeName:"Monnaz",cantonCode:"VD"},{postalCode:"1126",placeName:"Vaux-sur-Morges",cantonCode:"VD"},{postalCode:"1127",placeName:"Clarmont",cantonCode:"VD"},{postalCode:"1128",placeName:"Reverolle",cantonCode:"VD"},{postalCode:"1131",placeName:"Tolochenaz",cantonCode:"VD"},{postalCode:"1132",placeName:"Lully VD",cantonCode:"VD"},{postalCode:"1134",placeName:"Chigny",cantonCode:"VD"},{postalCode:"1134",placeName:"Vufflens-le-Château",cantonCode:"VD"},{postalCode:"1135",placeName:"Denens",cantonCode:"VD"},{postalCode:"1136",placeName:"Bussy-Chardonney",cantonCode:"VD"},{postalCode:"1141",placeName:"Sévery",cantonCode:"VD"},{postalCode:"1142",placeName:"Pampigny",cantonCode:"VD"},{postalCode:"1143",placeName:"Apples",cantonCode:"VD"},{postalCode:"1144",placeName:"Ballens",cantonCode:"VD"},{postalCode:"1145",placeName:"Bière",cantonCode:"VD"},{postalCode:"1146",placeName:"Mollens VD",cantonCode:"VD"},{postalCode:"1147",placeName:"Montricher",cantonCode:"VD"},{postalCode:"1148",placeName:"Cuarnens",cantonCode:"VD"},{postalCode:"1148",placeName:"L'Isle",cantonCode:"VD"},{postalCode:"1148",placeName:"Moiry VD",cantonCode:"VD"},{postalCode:"1148",placeName:"Villars-Bozon",cantonCode:"VD"},{postalCode:"1148",placeName:"Mont-la-Ville",cantonCode:"VD"},{postalCode:"1148",placeName:"Mauraz",cantonCode:"VD"},{postalCode:"1148",placeName:"La Coudre",cantonCode:"VD"},{postalCode:"1148",placeName:"Chavannes-le-Veyron",cantonCode:"VD"},{postalCode:"1149",placeName:"Berolle",cantonCode:"VD"},{postalCode:"1162",placeName:"St-Prex",cantonCode:"VD"},{postalCode:"1163",placeName:"Etoy",cantonCode:"VD"},{postalCode:"1164",placeName:"Buchillon",cantonCode:"VD"},{postalCode:"1165",placeName:"Allaman",cantonCode:"VD"},{postalCode:"1167",placeName:"Lussy-sur-Morges",cantonCode:"VD"},{postalCode:"1168",placeName:"Villars-sous-Yens",cantonCode:"VD"},{postalCode:"1169",placeName:"Yens",cantonCode:"VD"},{postalCode:"1170",placeName:"Aubonne",cantonCode:"VD"},{postalCode:"1172",placeName:"Bougy-Villars",cantonCode:"VD"},{postalCode:"1173",placeName:"Féchy",cantonCode:"VD"},{postalCode:"1174",placeName:"Pizy",cantonCode:"VD"},{postalCode:"1174",placeName:"Montherod",cantonCode:"VD"},{postalCode:"1175",placeName:"Lavigny",cantonCode:"VD"},{postalCode:"1176",placeName:"St-Livres",cantonCode:"VD"},{postalCode:"1187",placeName:"St-Oyens",cantonCode:"VD"},{postalCode:"1188",placeName:"Gimel",cantonCode:"VD"},{postalCode:"1189",placeName:"Saubraz",cantonCode:"VD"},{postalCode:"1304",placeName:"Dizy",cantonCode:"VD"},{postalCode:"1304",placeName:"Senarclens",cantonCode:"VD"},{postalCode:"1304",placeName:"Allens",cantonCode:"VD"},{postalCode:"1304",placeName:"Cossonay-Ville",cantonCode:"VD"},{postalCode:"1308",placeName:"La Chaux (Cossonay)",cantonCode:"VD"},{postalCode:"1312",placeName:"Eclépens",cantonCode:"VD"},{postalCode:"1313",placeName:"Ferreyres",cantonCode:"VD"},{postalCode:"1315",placeName:"La Sarraz",cantonCode:"VD"},{postalCode:"1316",placeName:"Chevilly",cantonCode:"VD"},{postalCode:"1317",placeName:"Orny",cantonCode:"VD"},{postalCode:"1318",placeName:"Pompaples",cantonCode:"VD"},{postalCode:"1166",placeName:"Perroy",cantonCode:"VD"},{postalCode:"1180",placeName:"Tartegnin",cantonCode:"VD"},{postalCode:"1180",placeName:"Rolle",cantonCode:"VD"},{postalCode:"1182",placeName:"Gilly",cantonCode:"VD"},{postalCode:"1183",placeName:"Bursins",cantonCode:"VD"},{postalCode:"1184",placeName:"Vinzel",cantonCode:"VD"},{postalCode:"1184",placeName:"Luins",cantonCode:"VD"},{postalCode:"1185",placeName:"Mont-sur-Rolle",cantonCode:"VD"},{postalCode:"1186",placeName:"Essertines-sur-Rolle",cantonCode:"VD"},{postalCode:"1188",placeName:"St-George",cantonCode:"VD"},{postalCode:"1195",placeName:"Dully",cantonCode:"VD"},{postalCode:"1195",placeName:"Bursinel",cantonCode:"VD"},{postalCode:"1196",placeName:"Gland",cantonCode:"VD"},{postalCode:"1197",placeName:"Prangins",cantonCode:"VD"},{postalCode:"1260",placeName:"Nyon 2",cantonCode:"VD"},{postalCode:"1260",placeName:"Nyon 1",cantonCode:"VD"},{postalCode:"1260",placeName:"Nyon",cantonCode:"VD"},{postalCode:"1261",placeName:"Marchissy",cantonCode:"VD"},{postalCode:"1261",placeName:"Le Vaud",cantonCode:"VD"},{postalCode:"1261",placeName:"Longirod",cantonCode:"VD"},{postalCode:"1262",placeName:"Eysins",cantonCode:"VD"},{postalCode:"1263",placeName:"Crassier",cantonCode:"VD"},{postalCode:"1264",placeName:"St-Cergue",cantonCode:"VD"},{postalCode:"1265",placeName:"La Cure",cantonCode:"VD"},{postalCode:"1266",placeName:"Duillier",cantonCode:"VD"},{postalCode:"1267",placeName:"Vich",cantonCode:"VD"},{postalCode:"1267",placeName:"Coinsins",cantonCode:"VD"},{postalCode:"1268",placeName:"Begnins",cantonCode:"VD"},{postalCode:"1268",placeName:"Burtigny",cantonCode:"VD"},{postalCode:"1269",placeName:"Bassins",cantonCode:"VD"},{postalCode:"1270",placeName:"Trélex",cantonCode:"VD"},{postalCode:"1271",placeName:"Givrins",cantonCode:"VD"},{postalCode:"1272",placeName:"Genolier",cantonCode:"VD"},{postalCode:"1273",placeName:"Arzier-Le Muids",cantonCode:"VD"},{postalCode:"1274",placeName:"Signy-Centre",cantonCode:"VD"},{postalCode:"1274",placeName:"Signy",cantonCode:"VD"},{postalCode:"1274",placeName:"Grens",cantonCode:"VD"},{postalCode:"1275",placeName:"Chéserex",cantonCode:"VD"},{postalCode:"1276",placeName:"Gingins",cantonCode:"VD"},{postalCode:"1277",placeName:"Borex",cantonCode:"VD"},{postalCode:"1277",placeName:"Arnex-sur-Nyon",cantonCode:"VD"},{postalCode:"1278",placeName:"La Rippe",cantonCode:"VD"},{postalCode:"1279",placeName:"Bogis-Bossey",cantonCode:"VD"},{postalCode:"1279",placeName:"Chavannes-de-Bogis",cantonCode:"VD"},{postalCode:"1290",placeName:"Chavannes-des-Bois",cantonCode:"VD"},{postalCode:"1291",placeName:"Commugny",cantonCode:"VD"},{postalCode:"1295",placeName:"Tannay",cantonCode:"VD"},{postalCode:"1295",placeName:"Mies",cantonCode:"VD"},{postalCode:"1296",placeName:"Coppet",cantonCode:"VD"},{postalCode:"1297",placeName:"Founex",cantonCode:"VD"},{postalCode:"1299",placeName:"Crans VD",cantonCode:"VD"},{postalCode:"1299",placeName:"Crans-près-Céligny",cantonCode:"VD"},{postalCode:"1008",placeName:"Prilly",cantonCode:"VD"},{postalCode:"1020",placeName:"Renens VD",cantonCode:"VD"},{postalCode:"1020",placeName:"Renens VD 1",cantonCode:"VD"},{postalCode:"1022",placeName:"Chavannes-près-Renens",cantonCode:"VD"},{postalCode:"1023",placeName:"Crissier",cantonCode:"VD"},{postalCode:"1023",placeName:"Crissier 1",cantonCode:"VD"},{postalCode:"1024",placeName:"Ecublens VD",cantonCode:"VD"},{postalCode:"1025",placeName:"St-Sulpice VD",cantonCode:"VD"},{postalCode:"1029",placeName:"Villars-Ste-Croix",cantonCode:"VD"},{postalCode:"1030",placeName:"Bussigny",cantonCode:"VD"},{postalCode:"1658",placeName:"Rossinière",cantonCode:"VD"},{postalCode:"1658",placeName:"La Tine",cantonCode:"VD"},{postalCode:"1659",placeName:"Rougemont",cantonCode:"VD"},{postalCode:"1659",placeName:"Flendruz",cantonCode:"VD"},{postalCode:"1660",placeName:"La Lécherette",cantonCode:"VD"},{postalCode:"1660",placeName:"Les Moulins",cantonCode:"VD"},{postalCode:"1660",placeName:"L'Etivaz",cantonCode:"VD"},{postalCode:"1660",placeName:"Château-d'Oex",cantonCode:"VD"},{postalCode:"1800",placeName:"Vevey 1",cantonCode:"VD"},{postalCode:"1800",placeName:"Vevey",cantonCode:"VD"},{postalCode:"1801",placeName:"Le Mont-Pèlerin",cantonCode:"VD"},{postalCode:"1802",placeName:"Corseaux",cantonCode:"VD"},{postalCode:"1803",placeName:"Chardonne",cantonCode:"VD"},{postalCode:"1804",placeName:"Corsier-sur-Vevey",cantonCode:"VD"},{postalCode:"1805",placeName:"Jongny",cantonCode:"VD"},{postalCode:"1806",placeName:"St-Légier-La Chiésaz",cantonCode:"VD"},{postalCode:"1807",placeName:"Blonay",cantonCode:"VD"},{postalCode:"1808",placeName:"Les Monts-de-Corsier",cantonCode:"VD"},{postalCode:"1809",placeName:"Fenil-sur-Corsier",cantonCode:"VD"},{postalCode:"1811",placeName:"Vevey",cantonCode:"VD"},{postalCode:"1811",placeName:"Vevey Services spéciaux",cantonCode:"VD"},{postalCode:"1814",placeName:"La Tour-de-Peilz",cantonCode:"VD"},{postalCode:"1815",placeName:"Clarens",cantonCode:"VD"},{postalCode:"1816",placeName:"Chailly-Montreux",cantonCode:"VD"},{postalCode:"1817",placeName:"Brent",cantonCode:"VD"},{postalCode:"1818",placeName:"Montreux Redoute",cantonCode:"VD"},{postalCode:"1818",placeName:"Montreux La Redoute",cantonCode:"VD"},{postalCode:"1820",placeName:"Montreux 2",cantonCode:"VD"},{postalCode:"1820",placeName:"Territet",cantonCode:"VD"},{postalCode:"1820",placeName:"Veytaux",cantonCode:"VD"},{postalCode:"1820",placeName:"Montreux",cantonCode:"VD"},{postalCode:"1820",placeName:"Montreux 1",cantonCode:"VD"},{postalCode:"1822",placeName:"Chernex",cantonCode:"VD"},{postalCode:"1823",placeName:"Glion",cantonCode:"VD"},{postalCode:"1824",placeName:"Caux",cantonCode:"VD"},{postalCode:"1832",placeName:"Chamby",cantonCode:"VD"},{postalCode:"1832",placeName:"Villard-sur-Chamby",cantonCode:"VD"},{postalCode:"1833",placeName:"Les Avants",cantonCode:"VD"},{postalCode:"3900",placeName:"Brig",cantonCode:"VS"},{postalCode:"3900",placeName:"Brigerbad",cantonCode:"VS"},{postalCode:"3900",placeName:"Gamsen",cantonCode:"VS"},{postalCode:"3901",placeName:"Rothwald",cantonCode:"VS"},{postalCode:"3902",placeName:"Glis",cantonCode:"VS"},{postalCode:"3903",placeName:"Mund",cantonCode:"VS"},{postalCode:"3903",placeName:"Birgisch",cantonCode:"VS"},{postalCode:"3904",placeName:"Naters",cantonCode:"VS"},{postalCode:"3907",placeName:"Simplon Dorf",cantonCode:"VS"},{postalCode:"3907",placeName:"Gabi (Simplon)",cantonCode:"VS"},{postalCode:"3907",placeName:"Gondo",cantonCode:"VS"},{postalCode:"3911",placeName:"Ried-Brig",cantonCode:"VS"},{postalCode:"3912",placeName:"Termen",cantonCode:"VS"},{postalCode:"3913",placeName:"Rosswald",cantonCode:"VS"},{postalCode:"3914",placeName:"Blatten b. Naters",cantonCode:"VS"},{postalCode:"3914",placeName:"Belalp",cantonCode:"VS"},{postalCode:"3939",placeName:"Eggerberg",cantonCode:"VS"},{postalCode:"1911",placeName:"Mayens-de-Chamoson",cantonCode:"VS"},{postalCode:"1955",placeName:"Mayens-de-Chamoson",cantonCode:"VS"},{postalCode:"1955",placeName:"Némiaz (Chamoson)",cantonCode:"VS"},{postalCode:"1955",placeName:"Les Vérines (Chamoson)",cantonCode:"VS"},{postalCode:"1955",placeName:"Grugnay (Chamoson)",cantonCode:"VS"},{postalCode:"1955",placeName:"Chamoson",cantonCode:"VS"},{postalCode:"1955",placeName:"St-Pierre-de-Clages",cantonCode:"VS"},{postalCode:"1957",placeName:"Ardon",cantonCode:"VS"},{postalCode:"1963",placeName:"Vétroz",cantonCode:"VS"},{postalCode:"1964",placeName:"Conthey",cantonCode:"VS"},{postalCode:"1975",placeName:"St-Séverin",cantonCode:"VS"},{postalCode:"1976",placeName:"Aven",cantonCode:"VS"},{postalCode:"1976",placeName:"Daillon",cantonCode:"VS"},{postalCode:"1976",placeName:"Erde",cantonCode:"VS"},{postalCode:"1993",placeName:"Clèbes (Nendaz)",cantonCode:"VS"},{postalCode:"1994",placeName:"Aproz (Nendaz)",cantonCode:"VS"},{postalCode:"1996",placeName:"Condémines (Nendaz)",cantonCode:"VS"},{postalCode:"1996",placeName:"Beuson (Nendaz)",cantonCode:"VS"},{postalCode:"1996",placeName:"Baar (Nendaz)",cantonCode:"VS"},{postalCode:"1996",placeName:"Bieudron (Nendaz)",cantonCode:"VS"},{postalCode:"1996",placeName:"Brignon (Nendaz)",cantonCode:"VS"},{postalCode:"1996",placeName:"Saclentse",cantonCode:"VS"},{postalCode:"1996",placeName:"Fey (Nendaz)",cantonCode:"VS"},{postalCode:"1996",placeName:"Basse-Nendaz",cantonCode:"VS"},{postalCode:"1997",placeName:"Haute-Nendaz",cantonCode:"VS"},{postalCode:"1997",placeName:"Sornard (Nendaz)",cantonCode:"VS"},{postalCode:"1997",placeName:"Siviez (Nendaz)",cantonCode:"VS"},{postalCode:"1927",placeName:"Chemin",cantonCode:"VS"},{postalCode:"1933",placeName:"La Garde (Sembrancher)",cantonCode:"VS"},{postalCode:"1933",placeName:"Vens (Sembrancher)",cantonCode:"VS"},{postalCode:"1933",placeName:"Sembrancher",cantonCode:"VS"},{postalCode:"1933",placeName:"Chamoille (Sembrancher)",cantonCode:"VS"},{postalCode:"1934",placeName:"Le Châble VS",cantonCode:"VS"},{postalCode:"1934",placeName:"Bruson",cantonCode:"VS"},{postalCode:"1936",placeName:"Verbier",cantonCode:"VS"},{postalCode:"1937",placeName:"Orsières",cantonCode:"VS"},{postalCode:"1938",placeName:"Champex-Lac",cantonCode:"VS"},{postalCode:"1941",placeName:"Vollèges",cantonCode:"VS"},{postalCode:"1941",placeName:"Cries (Vollèges)",cantonCode:"VS"},{postalCode:"1942",placeName:"Levron",cantonCode:"VS"},{postalCode:"1943",placeName:"Praz-de-Fort",cantonCode:"VS"},{postalCode:"1944",placeName:"La Fouly VS",cantonCode:"VS"},{postalCode:"1945",placeName:"Chez Petit (Liddes)",cantonCode:"VS"},{postalCode:"1945",placeName:"Vichères (Liddes)",cantonCode:"VS"},{postalCode:"1945",placeName:"Palasuit (Liddes)",cantonCode:"VS"},{postalCode:"1945",placeName:"Dranse (Liddes)",cantonCode:"VS"},{postalCode:"1945",placeName:"Chandonne (Liddes)",cantonCode:"VS"},{postalCode:"1945",placeName:"Rive Haute (Liddes)",cantonCode:"VS"},{postalCode:"1945",placeName:"Fontaine Dessus (Liddes)",cantonCode:"VS"},{postalCode:"1945",placeName:"Petit Vichères (Liddes)",cantonCode:"VS"},{postalCode:"1945",placeName:"Liddes",cantonCode:"VS"},{postalCode:"1945",placeName:"Fontaine Dessous (Liddes)",cantonCode:"VS"},{postalCode:"1945",placeName:"Les Moulins VS (Liddes)",cantonCode:"VS"},{postalCode:"1945",placeName:"Fornex (Liddes)",cantonCode:"VS"},{postalCode:"1946",placeName:"Bourg-St-Pierre",cantonCode:"VS"},{postalCode:"1947",placeName:"Versegères",cantonCode:"VS"},{postalCode:"1947",placeName:"Champsec",cantonCode:"VS"},{postalCode:"1948",placeName:"Fionnay",cantonCode:"VS"},{postalCode:"1948",placeName:"Lourtier",cantonCode:"VS"},{postalCode:"1948",placeName:"Sarreyer",cantonCode:"VS"},{postalCode:"3801",placeName:"Jungfraujoch",cantonCode:"VS"},{postalCode:"3984",placeName:"Fiesch",cantonCode:"VS"},{postalCode:"3984",placeName:"Fieschertal",cantonCode:"VS"},{postalCode:"3984",placeName:"Fiesch",cantonCode:"VS"},{postalCode:"3985",placeName:"Münster VS",cantonCode:"VS"},{postalCode:"3985",placeName:"Geschinen",cantonCode:"VS"},{postalCode:"3988",placeName:"Obergesteln",cantonCode:"VS"},{postalCode:"3988",placeName:"Ulrichen",cantonCode:"VS"},{postalCode:"3989",placeName:"Selkingen",cantonCode:"VS"},{postalCode:"3989",placeName:"Ritzingen",cantonCode:"VS"},{postalCode:"3989",placeName:"Blitzingen",cantonCode:"VS"},{postalCode:"3989",placeName:"Niederwald",cantonCode:"VS"},{postalCode:"3989",placeName:"Biel VS",cantonCode:"VS"},{postalCode:"3989",placeName:"Grafschaft",cantonCode:"VS"},{postalCode:"3994",placeName:"Lax",cantonCode:"VS"},{postalCode:"3995",placeName:"Steinhaus",cantonCode:"VS"},{postalCode:"3995",placeName:"Steinhaus",cantonCode:"VS"},{postalCode:"3995",placeName:"Mühlebach (Goms)",cantonCode:"VS"},{postalCode:"3995",placeName:"Ernen",cantonCode:"VS"},{postalCode:"3995",placeName:"Mühlebach (Goms)",cantonCode:"VS"},{postalCode:"3995",placeName:"Ausserbinn",cantonCode:"VS"},{postalCode:"3996",placeName:"Binn",cantonCode:"VS"},{postalCode:"3997",placeName:"Bellwald",cantonCode:"VS"},{postalCode:"3998",placeName:"Reckingen VS",cantonCode:"VS"},{postalCode:"3998",placeName:"Gluringen",cantonCode:"VS"},{postalCode:"3999",placeName:"Oberwald",cantonCode:"VS"},{postalCode:"1961",placeName:"Vernamiège",cantonCode:"VS"},{postalCode:"1966",placeName:"Saxonne (Ayent)",cantonCode:"VS"},{postalCode:"1966",placeName:"Botyre (Ayent)",cantonCode:"VS"},{postalCode:"1966",placeName:"Luc (Ayent)",cantonCode:"VS"},{postalCode:"1966",placeName:"Villa (Ayent)",cantonCode:"VS"},{postalCode:"1966",placeName:"Argnou (Ayent)",cantonCode:"VS"},{postalCode:"1966",placeName:"La Place (Ayent)",cantonCode:"VS"},{postalCode:"1966",placeName:"Fortunau (Ayent)",cantonCode:"VS"},{postalCode:"1966",placeName:"Blignou (Ayent)",cantonCode:"VS"},{postalCode:"1966",placeName:"Ayent",cantonCode:"VS"},{postalCode:"1966",placeName:"Signèse (Ayent)",cantonCode:"VS"},{postalCode:"1966",placeName:"St-Romain (Ayent)",cantonCode:"VS"},{postalCode:"1968",placeName:"Mase",cantonCode:"VS"},{postalCode:"1969",placeName:"Eison (St-Martin)",cantonCode:"VS"},{postalCode:"1969",placeName:"Liez (St-Martin)",cantonCode:"VS"},{postalCode:"1969",placeName:"St-Martin VS",cantonCode:"VS"},{postalCode:"1969",placeName:"Trogne (St-Martin)",cantonCode:"VS"},{postalCode:"1969",placeName:"Suen (St-Martin)",cantonCode:"VS"},{postalCode:"1972",placeName:"Anzère",cantonCode:"VS"},{postalCode:"1973",placeName:"Nax",cantonCode:"VS"},{postalCode:"1981",placeName:"Vex",cantonCode:"VS"},{postalCode:"1982",placeName:"Euseigne",cantonCode:"VS"},{postalCode:"1983",placeName:"Evolène",cantonCode:"VS"},{postalCode:"1983",placeName:"Lanna",cantonCode:"VS"},{postalCode:"1984",placeName:"La Tour VS",cantonCode:"VS"},{postalCode:"1984",placeName:"Les Haudères",cantonCode:"VS"},{postalCode:"1985",placeName:"La Forclaz VS",cantonCode:"VS"},{postalCode:"1985",placeName:"Villa (Evolène)",cantonCode:"VS"},{postalCode:"1985",placeName:"La Sage",cantonCode:"VS"},{postalCode:"1986",placeName:"Arolla",cantonCode:"VS"},{postalCode:"1987",placeName:"Hérémence",cantonCode:"VS"},{postalCode:"1988",placeName:"Thyon",cantonCode:"VS"},{postalCode:"1988",placeName:"Les Collons",cantonCode:"VS"},{postalCode:"3945",placeName:"Niedergampel",cantonCode:"VS"},{postalCode:"3945",placeName:"Gampel",cantonCode:"VS"},{postalCode:"3946",placeName:"Turtmann",cantonCode:"VS"},{postalCode:"3946",placeName:"Gruben",cantonCode:"VS"},{postalCode:"3947",placeName:"Ergisch",cantonCode:"VS"},{postalCode:"3948",placeName:"Unterems",cantonCode:"VS"},{postalCode:"3948",placeName:"Oberems",cantonCode:"VS"},{postalCode:"3951",placeName:"Agarn",cantonCode:"VS"},{postalCode:"3952",placeName:"Susten",cantonCode:"VS"},{postalCode:"3953",placeName:"Inden",cantonCode:"VS"},{postalCode:"3953",placeName:"Leuk Stadt",cantonCode:"VS"},{postalCode:"3953",placeName:"Varen",cantonCode:"VS"},{postalCode:"3954",placeName:"Leukerbad",cantonCode:"VS"},{postalCode:"3955",placeName:"Albinen",cantonCode:"VS"},{postalCode:"3956",placeName:"Guttet-Feschel",cantonCode:"VS"},{postalCode:"3957",placeName:"Bratsch",cantonCode:"VS"},{postalCode:"3957",placeName:"Erschmatt",cantonCode:"VS"},{postalCode:"3970",placeName:"Salgesch",cantonCode:"VS"},{postalCode:"1906",placeName:"Charrat",cantonCode:"VS"},{postalCode:"1907",placeName:"Saxon",cantonCode:"VS"},{postalCode:"1908",placeName:"Riddes",cantonCode:"VS"},{postalCode:"1911",placeName:"Ovronnaz",cantonCode:"VS"},{postalCode:"1912",placeName:"Produit (Leytron)",cantonCode:"VS"},{postalCode:"1912",placeName:"Dugny (Leytron)",cantonCode:"VS"},{postalCode:"1912",placeName:"Leytron",cantonCode:"VS"},{postalCode:"1912",placeName:"Montagnon (Leytron)",cantonCode:"VS"},{postalCode:"1913",placeName:"Saillon",cantonCode:"VS"},{postalCode:"1913",placeName:"Saillon",cantonCode:"VS"},{postalCode:"1914",placeName:"Auddes-sur-Riddes",cantonCode:"VS"},{postalCode:"1914",placeName:"Isérables",cantonCode:"VS"},{postalCode:"1918",placeName:"La Tzoumaz",cantonCode:"VS"},{postalCode:"1919",placeName:"Martigny Groupe Mutuel",cantonCode:"VS"},{postalCode:"1919",placeName:"Martigny Mutuel",cantonCode:"VS"},{postalCode:"1920",placeName:"Martigny",cantonCode:"VS"},{postalCode:"1920",placeName:"Martigny 1",cantonCode:"VS"},{postalCode:"1921",placeName:"Martigny-Croix",cantonCode:"VS"},{postalCode:"1926",placeName:"Fully",cantonCode:"VS"},{postalCode:"1928",placeName:"Ravoire",cantonCode:"VS"},{postalCode:"1929",placeName:"Trient",cantonCode:"VS"},{postalCode:"1932",placeName:"Bovernier",cantonCode:"VS"},{postalCode:"1932",placeName:"Les Valettes (Bovernier)",cantonCode:"VS"},{postalCode:"1868",placeName:"Collombey",cantonCode:"VS"},{postalCode:"1870",placeName:"Monthey 2",cantonCode:"VS"},{postalCode:"1870",placeName:"Monthey",cantonCode:"VS"},{postalCode:"1870",placeName:"Monthey",cantonCode:"VS"},{postalCode:"1870",placeName:"Monthey 1",cantonCode:"VS"},{postalCode:"1871",placeName:"Les Giettes",cantonCode:"VS"},{postalCode:"1871",placeName:"Choëx",cantonCode:"VS"},{postalCode:"1872",placeName:"Troistorrents",cantonCode:"VS"},{postalCode:"1873",placeName:"Val-d'Illiez",cantonCode:"VS"},{postalCode:"1873",placeName:"Les Crosets",cantonCode:"VS"},{postalCode:"1873",placeName:"Champoussin",cantonCode:"VS"},{postalCode:"1874",placeName:"Champéry",cantonCode:"VS"},{postalCode:"1875",placeName:"Morgins",cantonCode:"VS"},{postalCode:"1893",placeName:"Muraz (Collombey)",cantonCode:"VS"},{postalCode:"1895",placeName:"Vionnaz",cantonCode:"VS"},{postalCode:"1896",placeName:"Vouvry",cantonCode:"VS"},{postalCode:"1896",placeName:"Miex",cantonCode:"VS"},{postalCode:"1897",placeName:"Les Evouettes",cantonCode:"VS"},{postalCode:"1897",placeName:"Bouveret",cantonCode:"VS"},{postalCode:"1898",placeName:"St-Gingolph",cantonCode:"VS"},{postalCode:"1899",placeName:"Torgon",cantonCode:"VS"},{postalCode:"3916",placeName:"Ferden",cantonCode:"VS"},{postalCode:"3917",placeName:"Goppenstein",cantonCode:"VS"},{postalCode:"3917",placeName:"Kippel",cantonCode:"VS"},{postalCode:"3918",placeName:"Wiler (Lötschen)",cantonCode:"VS"},{postalCode:"3919",placeName:"Blatten (Lötschen)",cantonCode:"VS"},{postalCode:"3935",placeName:"Bürchen",cantonCode:"VS"},{postalCode:"3938",placeName:"Ausserberg",cantonCode:"VS"},{postalCode:"3940",placeName:"Steg VS",cantonCode:"VS"},{postalCode:"3942",placeName:"Niedergesteln",cantonCode:"VS"},{postalCode:"3942",placeName:"St. German",cantonCode:"VS"},{postalCode:"3942",placeName:"Raron",cantonCode:"VS"},{postalCode:"3943",placeName:"Eischoll",cantonCode:"VS"},{postalCode:"3944",placeName:"Unterbäch VS",cantonCode:"VS"},{postalCode:"3949",placeName:"Hohtenn",cantonCode:"VS"},{postalCode:"3982",placeName:"Bitsch",cantonCode:"VS"},{postalCode:"3983",placeName:"Filet",cantonCode:"VS"},{postalCode:"3983",placeName:"Mörel",cantonCode:"VS"},{postalCode:"3983",placeName:"Bister",cantonCode:"VS"},{postalCode:"3983",placeName:"Greich",cantonCode:"VS"},{postalCode:"3983",placeName:"Goppisberg",cantonCode:"VS"},{postalCode:"3986",placeName:"Ried-Mörel",cantonCode:"VS"},{postalCode:"3987",placeName:"Riederalp",cantonCode:"VS"},{postalCode:"3991",placeName:"Betten",cantonCode:"VS"},{postalCode:"3992",placeName:"Bettmeralp",cantonCode:"VS"},{postalCode:"3993",placeName:"Grengiols",cantonCode:"VS"},{postalCode:"3994",placeName:"Martisberg",cantonCode:"VS"},{postalCode:"1869",placeName:"Massongex",cantonCode:"VS"},{postalCode:"1890",placeName:"St-Maurice",cantonCode:"VS"},{postalCode:"1890",placeName:"Mex VS",cantonCode:"VS"},{postalCode:"1891",placeName:"Vérossaz",cantonCode:"VS"},{postalCode:"1902",placeName:"Evionnaz",cantonCode:"VS"},{postalCode:"1903",placeName:"Collonges",cantonCode:"VS"},{postalCode:"1904",placeName:"Vernayaz",cantonCode:"VS"},{postalCode:"1905",placeName:"Dorénaz",cantonCode:"VS"},{postalCode:"1922",placeName:"Les Granges (Salvan)",cantonCode:"VS"},{postalCode:"1922",placeName:"Salvan",cantonCode:"VS"},{postalCode:"1923",placeName:"Les Marécottes",cantonCode:"VS"},{postalCode:"1923",placeName:"Le Trétien",cantonCode:"VS"},{postalCode:"1925",placeName:"Le Châtelard VS",cantonCode:"VS"},{postalCode:"1925",placeName:"Finhaut",cantonCode:"VS"},{postalCode:"1958",placeName:"St-Léonard",cantonCode:"VS"},{postalCode:"1977",placeName:"Icogne",cantonCode:"VS"},{postalCode:"1978",placeName:"Lens",cantonCode:"VS"},{postalCode:"3960",placeName:"Loc",cantonCode:"VS"},{postalCode:"3960",placeName:"Niouc",cantonCode:"VS"},{postalCode:"3960",placeName:"Sierre",cantonCode:"VS"},{postalCode:"3960",placeName:"Corin-de-la-Crête",cantonCode:"VS"},{postalCode:"3960",placeName:"Muraz (Sierre)",cantonCode:"VS"},{postalCode:"3961",placeName:"St-Jean VS",cantonCode:"VS"},{postalCode:"3961",placeName:"Chandolin",cantonCode:"VS"},{postalCode:"3961",placeName:"Zinal",cantonCode:"VS"},{postalCode:"3961",placeName:"Ayer",cantonCode:"VS"},{postalCode:"3961",placeName:"St-Luc",cantonCode:"VS"},{postalCode:"3961",placeName:"Mission",cantonCode:"VS"},{postalCode:"3961",placeName:"Grimentz",cantonCode:"VS"},{postalCode:"3961",placeName:"Vissoie",cantonCode:"VS"},{postalCode:"3963",placeName:"Crans-Montana 1",cantonCode:"VS"},{postalCode:"3963",placeName:"Crans-Montana",cantonCode:"VS"},{postalCode:"3963",placeName:"Montana",cantonCode:"VS"},{postalCode:"3963",placeName:"Crans-Montana 2",cantonCode:"VS"},{postalCode:"3963",placeName:"Aminona",cantonCode:"VS"},{postalCode:"3965",placeName:"Chippis",cantonCode:"VS"},{postalCode:"3966",placeName:"Réchy",cantonCode:"VS"},{postalCode:"3966",placeName:"Chalais",cantonCode:"VS"},{postalCode:"3967",placeName:"Vercorin",cantonCode:"VS"},{postalCode:"3968",placeName:"Veyras",cantonCode:"VS"},{postalCode:"3971",placeName:"Chermignon",cantonCode:"VS"},{postalCode:"3971",placeName:"Chermignon-d'en-Bas",cantonCode:"VS"},{postalCode:"3971",placeName:"Ollon VS",cantonCode:"VS"},{postalCode:"3972",placeName:"Miège",cantonCode:"VS"},{postalCode:"3973",placeName:"Venthône",cantonCode:"VS"},{postalCode:"3974",placeName:"Mollens VS",cantonCode:"VS"},{postalCode:"3975",placeName:"Randogne",cantonCode:"VS"},{postalCode:"3976",placeName:"Noës",cantonCode:"VS"},{postalCode:"3976",placeName:"Champzabé",cantonCode:"VS"},{postalCode:"3977",placeName:"Granges VS",cantonCode:"VS"},{postalCode:"3978",placeName:"Flanthey",cantonCode:"VS"},{postalCode:"3979",placeName:"Grône",cantonCode:"VS"},{postalCode:"1950",placeName:"Sion",cantonCode:"VS"},{postalCode:"1950",placeName:"Sion 2",cantonCode:"VS"},{postalCode:"1950",placeName:"Sion 4",cantonCode:"VS"},{postalCode:"1951",placeName:"Sion",cantonCode:"VS"},{postalCode:"1958",placeName:"Uvrier",cantonCode:"VS"},{postalCode:"1962",placeName:"Pont-de-la-Morge (Sion)",cantonCode:"VS"},{postalCode:"1965",placeName:"Chandolin (Savièse)",cantonCode:"VS"},{postalCode:"1965",placeName:"Granois (Savièse)",cantonCode:"VS"},{postalCode:"1965",placeName:"Diolly (Savièse)",cantonCode:"VS"},{postalCode:"1965",placeName:"Mayens-de-la-Zour (Savièse)",cantonCode:"VS"},{postalCode:"1965",placeName:"La Muraz (Savièse)",cantonCode:"VS"},{postalCode:"1965",placeName:"Ormône (Savièse)",cantonCode:"VS"},{postalCode:"1965",placeName:"Drône (Savièse)",cantonCode:"VS"},{postalCode:"1965",placeName:"Savièse",cantonCode:"VS"},{postalCode:"1965",placeName:"Monteiller (Savièse)",cantonCode:"VS"},{postalCode:"1965",placeName:"St-Germain (Savièse)",cantonCode:"VS"},{postalCode:"1965",placeName:"Roumaz (Savièse)",cantonCode:"VS"},{postalCode:"1967",placeName:"Bramois",cantonCode:"VS"},{postalCode:"1971",placeName:"Grimisuat",cantonCode:"VS"},{postalCode:"1971",placeName:"Champlan (Grimisuat)",cantonCode:"VS"},{postalCode:"1974",placeName:"Arbaz",cantonCode:"VS"},{postalCode:"1991",placeName:"Arvillard (Salins)",cantonCode:"VS"},{postalCode:"1991",placeName:"Salins",cantonCode:"VS"},{postalCode:"1991",placeName:"Turin (Salins)",cantonCode:"VS"},{postalCode:"1991",placeName:"Misériez (Salins)",cantonCode:"VS"},{postalCode:"1991",placeName:"Pravidondaz (Salins)",cantonCode:"VS"},{postalCode:"1992",placeName:"Crête-à-l'Oeil(Les Agettes)",cantonCode:"VS"},{postalCode:"1992",placeName:"Les Mayens-de-Sion",cantonCode:"VS"},{postalCode:"1992",placeName:"La Vernaz (Les Agettes)",cantonCode:"VS"},{postalCode:"1992",placeName:"Crête-à-l'Oeil (Les Agettes)",cantonCode:"VS"},{postalCode:"1992",placeName:"Les Agettes",cantonCode:"VS"},{postalCode:"1993",placeName:"Veysonnaz",cantonCode:"VS"},{postalCode:"3905",placeName:"Saas-Almagell",cantonCode:"VS"},{postalCode:"3906",placeName:"Saas-Fee",cantonCode:"VS"},{postalCode:"3908",placeName:"Saas-Balen",cantonCode:"VS"},{postalCode:"3910",placeName:"Saas-Grund",cantonCode:"VS"},{postalCode:"3920",placeName:"Zermatt",cantonCode:"VS"},{postalCode:"3922",placeName:"Eisten",cantonCode:"VS"},{postalCode:"3922",placeName:"Stalden VS",cantonCode:"VS"},{postalCode:"3922",placeName:"Kalpetran",cantonCode:"VS"},{postalCode:"3923",placeName:"Törbel",cantonCode:"VS"},{postalCode:"3924",placeName:"St. Niklaus VS",cantonCode:"VS"},{postalCode:"3925",placeName:"Grächen",cantonCode:"VS"},{postalCode:"3926",placeName:"Embd",cantonCode:"VS"},{postalCode:"3927",placeName:"Herbriggen",cantonCode:"VS"},{postalCode:"3928",placeName:"Randa",cantonCode:"VS"},{postalCode:"3929",placeName:"Täsch",cantonCode:"VS"},{postalCode:"3930",placeName:"Visp",cantonCode:"VS"},{postalCode:"3930",placeName:"Eyholz",cantonCode:"VS"},{postalCode:"3931",placeName:"Lalden",cantonCode:"VS"},{postalCode:"3932",placeName:"Visperterminen",cantonCode:"VS"},{postalCode:"3933",placeName:"Staldenried",cantonCode:"VS"},{postalCode:"3934",placeName:"Zeneggen",cantonCode:"VS"},{postalCode:"3937",placeName:"Baltschieder",cantonCode:"VS"},{postalCode:"3937",placeName:"Baltschieder",cantonCode:"VS"},{postalCode:"6300",placeName:"Zug",cantonCode:"ZG"},{postalCode:"6300",placeName:"Zugerberg",cantonCode:"ZG"},{postalCode:"6301",placeName:"Zug",cantonCode:"ZG"},{postalCode:"6302",placeName:"Zug",cantonCode:"ZG"},{postalCode:"6303",placeName:"Zug",cantonCode:"ZG"},{postalCode:"6312",placeName:"Steinhausen",cantonCode:"ZG"},{postalCode:"6313",placeName:"Edlibach",cantonCode:"ZG"},{postalCode:"6313",placeName:"Finstersee",cantonCode:"ZG"},{postalCode:"6313",placeName:"Menzingen",cantonCode:"ZG"},{postalCode:"6314",placeName:"Unterägeri",cantonCode:"ZG"},{postalCode:"6314",placeName:"Neuägeri",cantonCode:"ZG"},{postalCode:"6315",placeName:"Morgarten",cantonCode:"ZG"},{postalCode:"6315",placeName:"Oberägeri",cantonCode:"ZG"},{postalCode:"6315",placeName:"Alosen",cantonCode:"ZG"},{postalCode:"6317",placeName:"Oberwil b. Zug",cantonCode:"ZG"},{postalCode:"6318",placeName:"Walchwil",cantonCode:"ZG"},{postalCode:"6319",placeName:"Allenwinden",cantonCode:"ZG"},{postalCode:"6330",placeName:"Cham",cantonCode:"ZG"},{postalCode:"6331",placeName:"Hünenberg",cantonCode:"ZG"},{postalCode:"6332",placeName:"Hagendorn",cantonCode:"ZG"},{postalCode:"6333",placeName:"Hünenberg See",cantonCode:"ZG"},{postalCode:"6340",placeName:"Baar",cantonCode:"ZG"},{postalCode:"6340",placeName:"Sihlbrugg",cantonCode:"ZG"},{postalCode:"6341",placeName:"Baar",cantonCode:"ZG"},{postalCode:"6343",placeName:"Buonas",cantonCode:"ZG"},{postalCode:"6343",placeName:"Holzhäusern ZG",cantonCode:"ZG"},{postalCode:"6343",placeName:"Rotkreuz",cantonCode:"ZG"},{postalCode:"6343",placeName:"Risch",cantonCode:"ZG"},{postalCode:"6345",placeName:"Neuheim",cantonCode:"ZG"},{postalCode:"8143",placeName:"Stallikon",cantonCode:"ZH"},{postalCode:"8143",placeName:"Uetliberg",cantonCode:"ZH"},{postalCode:"8906",placeName:"Bonstetten",cantonCode:"ZH"},{postalCode:"8907",placeName:"Wettswil",cantonCode:"ZH"},{postalCode:"8908",placeName:"Hedingen",cantonCode:"ZH"},{postalCode:"8909",placeName:"Zwillikon",cantonCode:"ZH"},{postalCode:"8910",placeName:"Affoltern am Albis",cantonCode:"ZH"},{postalCode:"8911",placeName:"Rifferswil",cantonCode:"ZH"},{postalCode:"8912",placeName:"Obfelden",cantonCode:"ZH"},{postalCode:"8913",placeName:"Ottenbach",cantonCode:"ZH"},{postalCode:"8914",placeName:"Aeugstertal",cantonCode:"ZH"},{postalCode:"8914",placeName:"Aeugst am Albis",cantonCode:"ZH"},{postalCode:"8915",placeName:"Hausen am Albis",cantonCode:"ZH"},{postalCode:"8925",placeName:"Ebertswil",cantonCode:"ZH"},{postalCode:"8926",placeName:"Hauptikon",cantonCode:"ZH"},{postalCode:"8926",placeName:"Uerzlikon",cantonCode:"ZH"},{postalCode:"8926",placeName:"Kappel am Albis",cantonCode:"ZH"},{postalCode:"8932",placeName:"Mettmenstetten",cantonCode:"ZH"},{postalCode:"8933",placeName:"Maschwanden",cantonCode:"ZH"},{postalCode:"8934",placeName:"Knonau",cantonCode:"ZH"},{postalCode:"8212",placeName:"Nohl",cantonCode:"ZH"},{postalCode:"8245",placeName:"Feuerthalen",cantonCode:"ZH"},{postalCode:"8246",placeName:"Langwiesen",cantonCode:"ZH"},{postalCode:"8247",placeName:"Flurlingen",cantonCode:"ZH"},{postalCode:"8248",placeName:"Uhwiesen",cantonCode:"ZH"},{postalCode:"8414",placeName:"Buch am Irchel",cantonCode:"ZH"},{postalCode:"8415",placeName:"Gräslikon",cantonCode:"ZH"},{postalCode:"8415",placeName:"Berg am Irchel",cantonCode:"ZH"},{postalCode:"8416",placeName:"Flaach",cantonCode:"ZH"},{postalCode:"8444",placeName:"Henggart",cantonCode:"ZH"},{postalCode:"8447",placeName:"Dachsen",cantonCode:"ZH"},{postalCode:"8450",placeName:"Andelfingen",cantonCode:"ZH"},{postalCode:"8451",placeName:"Kleinandelfingen",cantonCode:"ZH"},{postalCode:"8452",placeName:"Adlikon b. Andelfingen",cantonCode:"ZH"},{postalCode:"8453",placeName:"Alten",cantonCode:"ZH"},{postalCode:"8457",placeName:"Humlikon",cantonCode:"ZH"},{postalCode:"8458",placeName:"Dorf",cantonCode:"ZH"},{postalCode:"8459",placeName:"Volken",cantonCode:"ZH"},{postalCode:"8460",placeName:"Marthalen",cantonCode:"ZH"},{postalCode:"8461",placeName:"Oerlingen",cantonCode:"ZH"},{postalCode:"8462",placeName:"Rheinau",cantonCode:"ZH"},{postalCode:"8463",placeName:"Benken ZH",cantonCode:"ZH"},{postalCode:"8464",placeName:"Ellikon am Rhein",cantonCode:"ZH"},{postalCode:"8465",placeName:"Wildensbuch",cantonCode:"ZH"},{postalCode:"8465",placeName:"Rudolfingen",cantonCode:"ZH"},{postalCode:"8466",placeName:"Trüllikon",cantonCode:"ZH"},{postalCode:"8467",placeName:"Truttikon",cantonCode:"ZH"},{postalCode:"8468",placeName:"Waltalingen",cantonCode:"ZH"},{postalCode:"8468",placeName:"Guntalingen",cantonCode:"ZH"},{postalCode:"8475",placeName:"Ossingen",cantonCode:"ZH"},{postalCode:"8476",placeName:"Unterstammheim",cantonCode:"ZH"},{postalCode:"8477",placeName:"Oberstammheim",cantonCode:"ZH"},{postalCode:"8478",placeName:"Thalheim an der Thur",cantonCode:"ZH"},{postalCode:"8058",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8060",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8152",placeName:"Glattbrugg",cantonCode:"ZH"},{postalCode:"8152",placeName:"Opfikon",cantonCode:"ZH"},{postalCode:"8152",placeName:"Glattpark (Opfikon)",cantonCode:"ZH"},{postalCode:"8180",placeName:"Bülach",cantonCode:"ZH"},{postalCode:"8181",placeName:"Höri",cantonCode:"ZH"},{postalCode:"8182",placeName:"Hochfelden",cantonCode:"ZH"},{postalCode:"8184",placeName:"Bachenbülach",cantonCode:"ZH"},{postalCode:"8185",placeName:"Winkel",cantonCode:"ZH"},{postalCode:"8192",placeName:"Zweidlen",cantonCode:"ZH"},{postalCode:"8192",placeName:"Glattfelden",cantonCode:"ZH"},{postalCode:"8193",placeName:"Eglisau",cantonCode:"ZH"},{postalCode:"8194",placeName:"Hüntwangen",cantonCode:"ZH"},{postalCode:"8195",placeName:"Wasterkingen",cantonCode:"ZH"},{postalCode:"8196",placeName:"Wil ZH",cantonCode:"ZH"},{postalCode:"8197",placeName:"Rafz",cantonCode:"ZH"},{postalCode:"8302",placeName:"Kloten",cantonCode:"ZH"},{postalCode:"8303",placeName:"Bassersdorf",cantonCode:"ZH"},{postalCode:"8304",placeName:"Wallisellen",cantonCode:"ZH"},{postalCode:"8305",placeName:"Dietlikon",cantonCode:"ZH"},{postalCode:"8309",placeName:"Nürensdorf",cantonCode:"ZH"},{postalCode:"8424",placeName:"Embrach",cantonCode:"ZH"},{postalCode:"8425",placeName:"Oberembrach",cantonCode:"ZH"},{postalCode:"8426",placeName:"Lufingen",cantonCode:"ZH"},{postalCode:"8427",placeName:"Freienstein",cantonCode:"ZH"},{postalCode:"8427",placeName:"Rorbas",cantonCode:"ZH"},{postalCode:"8428",placeName:"Teufen ZH",cantonCode:"ZH"},{postalCode:"8105",placeName:"Regensdorf",cantonCode:"ZH"},{postalCode:"8105",placeName:"Watt",cantonCode:"ZH"},{postalCode:"8106",placeName:"Adlikon b. Regensdorf",cantonCode:"ZH"},{postalCode:"8107",placeName:"Buchs ZH",cantonCode:"ZH"},{postalCode:"8108",placeName:"Dällikon",cantonCode:"ZH"},{postalCode:"8112",placeName:"Otelfingen",cantonCode:"ZH"},{postalCode:"8113",placeName:"Boppelsen",cantonCode:"ZH"},{postalCode:"8114",placeName:"Dänikon ZH",cantonCode:"ZH"},{postalCode:"8115",placeName:"Hüttikon",cantonCode:"ZH"},{postalCode:"8153",placeName:"Rümlang",cantonCode:"ZH"},{postalCode:"8154",placeName:"Oberglatt ZH",cantonCode:"ZH"},{postalCode:"8155",placeName:"Nassenwil",cantonCode:"ZH"},{postalCode:"8155",placeName:"Niederhasli",cantonCode:"ZH"},{postalCode:"8156",placeName:"Oberhasli",cantonCode:"ZH"},{postalCode:"8157",placeName:"Dielsdorf",cantonCode:"ZH"},{postalCode:"8158",placeName:"Regensberg",cantonCode:"ZH"},{postalCode:"8162",placeName:"Steinmaur",cantonCode:"ZH"},{postalCode:"8162",placeName:"Sünikon",cantonCode:"ZH"},{postalCode:"8164",placeName:"Bachs",cantonCode:"ZH"},{postalCode:"8165",placeName:"Oberweningen",cantonCode:"ZH"},{postalCode:"8165",placeName:"Schleinikon",cantonCode:"ZH"},{postalCode:"8165",placeName:"Schöfflisdorf",cantonCode:"ZH"},{postalCode:"8166",placeName:"Niederweningen",cantonCode:"ZH"},{postalCode:"8172",placeName:"Niederglatt ZH",cantonCode:"ZH"},{postalCode:"8173",placeName:"Neerach",cantonCode:"ZH"},{postalCode:"8174",placeName:"Stadel b. Niederglatt",cantonCode:"ZH"},{postalCode:"8175",placeName:"Windlach",cantonCode:"ZH"},{postalCode:"8187",placeName:"Weiach",cantonCode:"ZH"},{postalCode:"8340",placeName:"Hinwil",cantonCode:"ZH"},{postalCode:"8342",placeName:"Wernetshausen",cantonCode:"ZH"},{postalCode:"8344",placeName:"Bäretswil",cantonCode:"ZH"},{postalCode:"8345",placeName:"Adetswil",cantonCode:"ZH"},{postalCode:"8496",placeName:"Steg im Tösstal",cantonCode:"ZH"},{postalCode:"8497",placeName:"Fischenthal",cantonCode:"ZH"},{postalCode:"8498",placeName:"Gibswil",cantonCode:"ZH"},{postalCode:"8607",placeName:"Aathal-Seegräben",cantonCode:"ZH"},{postalCode:"8608",placeName:"Bubikon",cantonCode:"ZH"},{postalCode:"8614",placeName:"Bertschikon (Gossau ZH)",cantonCode:"ZH"},{postalCode:"8620",placeName:"Wetzikon ZH",cantonCode:"ZH"},{postalCode:"8620",placeName:"Wetzikon ZH 1",cantonCode:"ZH"},{postalCode:"8623",placeName:"Wetzikon ZH",cantonCode:"ZH"},{postalCode:"8624",placeName:"Grüt (Gossau ZH)",cantonCode:"ZH"},{postalCode:"8625",placeName:"Gossau ZH",cantonCode:"ZH"},{postalCode:"8626",placeName:"Ottikon (Gossau ZH)",cantonCode:"ZH"},{postalCode:"8627",placeName:"Grüningen",cantonCode:"ZH"},{postalCode:"8630",placeName:"Rüti ZH",cantonCode:"ZH"},{postalCode:"8632",placeName:"Tann",cantonCode:"ZH"},{postalCode:"8633",placeName:"Wolfhausen",cantonCode:"ZH"},{postalCode:"8635",placeName:"Dürnten",cantonCode:"ZH"},{postalCode:"8636",placeName:"Wald ZH",cantonCode:"ZH"},{postalCode:"8637",placeName:"Laupen ZH",cantonCode:"ZH"},{postalCode:"8134",placeName:"Adliswil",cantonCode:"ZH"},{postalCode:"8134",placeName:"Adliswil 1",cantonCode:"ZH"},{postalCode:"8135",placeName:"Sihlwald",cantonCode:"ZH"},{postalCode:"8135",placeName:"Sihlbrugg Station",cantonCode:"ZH"},{postalCode:"8135",placeName:"Langnau am Albis",cantonCode:"ZH"},{postalCode:"8136",placeName:"Gattikon",cantonCode:"ZH"},{postalCode:"8800",placeName:"Thalwil",cantonCode:"ZH"},{postalCode:"8802",placeName:"Kilchberg ZH",cantonCode:"ZH"},{postalCode:"8803",placeName:"Rüschlikon",cantonCode:"ZH"},{postalCode:"8804",placeName:"Au ZH",cantonCode:"ZH"},{postalCode:"8805",placeName:"Richterswil",cantonCode:"ZH"},{postalCode:"8810",placeName:"Horgen",cantonCode:"ZH"},{postalCode:"8810",placeName:"Horgen 1",cantonCode:"ZH"},{postalCode:"8815",placeName:"Horgenberg",cantonCode:"ZH"},{postalCode:"8816",placeName:"Hirzel",cantonCode:"ZH"},{postalCode:"8820",placeName:"Wädenswil",cantonCode:"ZH"},{postalCode:"8824",placeName:"Schönenberg ZH",cantonCode:"ZH"},{postalCode:"8825",placeName:"Hütten",cantonCode:"ZH"},{postalCode:"8833",placeName:"Samstagern",cantonCode:"ZH"},{postalCode:"8942",placeName:"Oberrieden",cantonCode:"ZH"},{postalCode:"8125",placeName:"Zollikerberg",cantonCode:"ZH"},{postalCode:"8126",placeName:"Zumikon",cantonCode:"ZH"},{postalCode:"8127",placeName:"Forch",cantonCode:"ZH"},{postalCode:"8618",placeName:"Oetwil am See",cantonCode:"ZH"},{postalCode:"8634",placeName:"Hombrechtikon",cantonCode:"ZH"},{postalCode:"8700",placeName:"Küsnacht ZH",cantonCode:"ZH"},{postalCode:"8702",placeName:"Zollikon Dorf",cantonCode:"ZH"},{postalCode:"8702",placeName:"Zollikon",cantonCode:"ZH"},{postalCode:"8703",placeName:"Erlenbach ZH",cantonCode:"ZH"},{postalCode:"8704",placeName:"Herrliberg",cantonCode:"ZH"},{postalCode:"8706",placeName:"Meilen",cantonCode:"ZH"},{postalCode:"8707",placeName:"Uetikon am See",cantonCode:"ZH"},{postalCode:"8708",placeName:"Männedorf",cantonCode:"ZH"},{postalCode:"8712",placeName:"Stäfa",cantonCode:"ZH"},{postalCode:"8713",placeName:"Uerikon",cantonCode:"ZH"},{postalCode:"8714",placeName:"Feldbach",cantonCode:"ZH"},{postalCode:"8307",placeName:"Effretikon",cantonCode:"ZH"},{postalCode:"8307",placeName:"Ottikon b. Kemptthal",cantonCode:"ZH"},{postalCode:"8308",placeName:"Illnau",cantonCode:"ZH"},{postalCode:"8308",placeName:"Agasul",cantonCode:"ZH"},{postalCode:"8310",placeName:"Kemptthal",cantonCode:"ZH"},{postalCode:"8310",placeName:"Grafstal",cantonCode:"ZH"},{postalCode:"8312",placeName:"Winterberg ZH",cantonCode:"ZH"},{postalCode:"8314",placeName:"Kyburg",cantonCode:"ZH"},{postalCode:"8315",placeName:"Lindau",cantonCode:"ZH"},{postalCode:"8317",placeName:"Tagelswangen",cantonCode:"ZH"},{postalCode:"8320",placeName:"Fehraltorf",cantonCode:"ZH"},{postalCode:"8322",placeName:"Madetswil",cantonCode:"ZH"},{postalCode:"8322",placeName:"Gündisau",cantonCode:"ZH"},{postalCode:"8330",placeName:"Pfäffikon ZH",cantonCode:"ZH"},{postalCode:"8331",placeName:"Auslikon",cantonCode:"ZH"},{postalCode:"8332",placeName:"Rumlikon",cantonCode:"ZH"},{postalCode:"8332",placeName:"Russikon",cantonCode:"ZH"},{postalCode:"8335",placeName:"Hittnau",cantonCode:"ZH"},{postalCode:"8484",placeName:"Neschwil",cantonCode:"ZH"},{postalCode:"8484",placeName:"Weisslingen",cantonCode:"ZH"},{postalCode:"8484",placeName:"Theilingen",cantonCode:"ZH"},{postalCode:"8489",placeName:"Wildberg",cantonCode:"ZH"},{postalCode:"8489",placeName:"Schalchen",cantonCode:"ZH"},{postalCode:"8489",placeName:"Ehrikon",cantonCode:"ZH"},{postalCode:"8492",placeName:"Wila",cantonCode:"ZH"},{postalCode:"8493",placeName:"Saland",cantonCode:"ZH"},{postalCode:"8494",placeName:"Bauma",cantonCode:"ZH"},{postalCode:"8499",placeName:"Sternenberg",cantonCode:"ZH"},{postalCode:"8044",placeName:"Gockhausen",cantonCode:"ZH"},{postalCode:"8117",placeName:"Fällanden",cantonCode:"ZH"},{postalCode:"8118",placeName:"Pfaffhausen",cantonCode:"ZH"},{postalCode:"8121",placeName:"Benglen",cantonCode:"ZH"},{postalCode:"8122",placeName:"Binz",cantonCode:"ZH"},{postalCode:"8123",placeName:"Ebmatingen",cantonCode:"ZH"},{postalCode:"8124",placeName:"Maur",cantonCode:"ZH"},{postalCode:"8132",placeName:"Egg b. Zürich",cantonCode:"ZH"},{postalCode:"8132",placeName:"Hinteregg",cantonCode:"ZH"},{postalCode:"8133",placeName:"Esslingen",cantonCode:"ZH"},{postalCode:"8306",placeName:"Brüttisellen",cantonCode:"ZH"},{postalCode:"8600",placeName:"Dübendorf 1",cantonCode:"ZH"},{postalCode:"8600",placeName:"Dübendorf",cantonCode:"ZH"},{postalCode:"8602",placeName:"Wangen b. Dübendorf",cantonCode:"ZH"},{postalCode:"8603",placeName:"Schwerzenbach",cantonCode:"ZH"},{postalCode:"8604",placeName:"Volketswil",cantonCode:"ZH"},{postalCode:"8605",placeName:"Gutenswil",cantonCode:"ZH"},{postalCode:"8606",placeName:"Greifensee",cantonCode:"ZH"},{postalCode:"8606",placeName:"Nänikon",cantonCode:"ZH"},{postalCode:"8610",placeName:"Uster",cantonCode:"ZH"},{postalCode:"8610",placeName:"Uster 1",cantonCode:"ZH"},{postalCode:"8613",placeName:"Uster 3",cantonCode:"ZH"},{postalCode:"8614",placeName:"Sulzbach",cantonCode:"ZH"},{postalCode:"8615",placeName:"Wermatswil",cantonCode:"ZH"},{postalCode:"8615",placeName:"Freudwil",cantonCode:"ZH"},{postalCode:"8616",placeName:"Riedikon",cantonCode:"ZH"},{postalCode:"8617",placeName:"Mönchaltorf",cantonCode:"ZH"},{postalCode:"8311",placeName:"Brütten",cantonCode:"ZH"},{postalCode:"8352",placeName:"Elsau",cantonCode:"ZH"},{postalCode:"8352",placeName:"Ricketwil (Winterthur)",cantonCode:"ZH"},{postalCode:"8353",placeName:"Elgg",cantonCode:"ZH"},{postalCode:"8354",placeName:"Hofstetten ZH",cantonCode:"ZH"},{postalCode:"8354",placeName:"Dickbuch",cantonCode:"ZH"},{postalCode:"8400",placeName:"Winterthur",cantonCode:"ZH"},{postalCode:"8401",placeName:"Winterthur",cantonCode:"ZH"},{postalCode:"8403",placeName:"Winterthur",cantonCode:"ZH"},{postalCode:"8404",placeName:"Stadel (Winterthur)",cantonCode:"ZH"},{postalCode:"8404",placeName:"Reutlingen (Winterthur)",cantonCode:"ZH"},{postalCode:"8404",placeName:"Winterthur",cantonCode:"ZH"},{postalCode:"8405",placeName:"Winterthur",cantonCode:"ZH"},{postalCode:"8406",placeName:"Winterthur",cantonCode:"ZH"},{postalCode:"8408",placeName:"Winterthur",cantonCode:"ZH"},{postalCode:"8409",placeName:"Winterthur",cantonCode:"ZH"},{postalCode:"8412",placeName:"Hünikon (Neftenbach)",cantonCode:"ZH"},{postalCode:"8412",placeName:"Aesch (Neftenbach)",cantonCode:"ZH"},{postalCode:"8412",placeName:"Riet (Neftenbach)",cantonCode:"ZH"},{postalCode:"8413",placeName:"Neftenbach",cantonCode:"ZH"},{postalCode:"8418",placeName:"Schlatt ZH",cantonCode:"ZH"},{postalCode:"8421",placeName:"Dättlikon",cantonCode:"ZH"},{postalCode:"8422",placeName:"Pfungen",cantonCode:"ZH"},{postalCode:"8442",placeName:"Hettlingen",cantonCode:"ZH"},{postalCode:"8471",placeName:"Berg (Dägerlen)",cantonCode:"ZH"},{postalCode:"8471",placeName:"Dägerlen",cantonCode:"ZH"},{postalCode:"8471",placeName:"Bänk (Dägerlen)",cantonCode:"ZH"},{postalCode:"8471",placeName:"Oberwil (Dägerlen)",cantonCode:"ZH"},{postalCode:"8471",placeName:"Rutschwil (Dägerlen)",cantonCode:"ZH"},{postalCode:"8472",placeName:"Seuzach",cantonCode:"ZH"},{postalCode:"8474",placeName:"Dinhard",cantonCode:"ZH"},{postalCode:"8479",placeName:"Altikon",cantonCode:"ZH"},{postalCode:"8482",placeName:"Sennhof (Winterthur)",cantonCode:"ZH"},{postalCode:"8483",placeName:"Kollbrunn",cantonCode:"ZH"},{postalCode:"8486",placeName:"Rikon im Tösstal",cantonCode:"ZH"},{postalCode:"8487",placeName:"Rämismühle",cantonCode:"ZH"},{postalCode:"8487",placeName:"Zell ZH",cantonCode:"ZH"},{postalCode:"8488",placeName:"Turbenthal",cantonCode:"ZH"},{postalCode:"8495",placeName:"Schmidrüti",cantonCode:"ZH"},{postalCode:"8523",placeName:"Hagenbuch ZH",cantonCode:"ZH"},{postalCode:"8542",placeName:"Wiesendangen",cantonCode:"ZH"},{postalCode:"8543",placeName:"Gundetswil",cantonCode:"ZH"},{postalCode:"8543",placeName:"Kefikon ZH",cantonCode:"ZH"},{postalCode:"8543",placeName:"Bertschikon",cantonCode:"ZH"},{postalCode:"8544",placeName:"Attikon",cantonCode:"ZH"},{postalCode:"8545",placeName:"Rickenbach ZH",cantonCode:"ZH"},{postalCode:"8545",placeName:"Rickenbach Sulz",cantonCode:"ZH"},{postalCode:"8546",placeName:"Menzengrüt",cantonCode:"ZH"},{postalCode:"8548",placeName:"Ellikon an der Thur",cantonCode:"ZH"},{postalCode:"8010",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8011",placeName:"Zürich Mülligen SC",cantonCode:"ZH"},{postalCode:"8012",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8102",placeName:"Oberengstringen",cantonCode:"ZH"},{postalCode:"8103",placeName:"Unterengstringen",cantonCode:"ZH"},{postalCode:"8104",placeName:"Weiningen ZH",cantonCode:"ZH"},{postalCode:"8142",placeName:"Uitikon Waldegg",cantonCode:"ZH"},{postalCode:"8901",placeName:"Urdorf",cantonCode:"ZH"},{postalCode:"8901",placeName:"Urdorf Tessi",cantonCode:"ZH"},{postalCode:"8902",placeName:"Urdorf",cantonCode:"ZH"},{postalCode:"8903",placeName:"Birmensdorf ZH",cantonCode:"ZH"},{postalCode:"8904",placeName:"Aesch ZH",cantonCode:"ZH"},{postalCode:"8951",placeName:"Fahrweid",cantonCode:"ZH"},{postalCode:"8952",placeName:"Schlieren",cantonCode:"ZH"},{postalCode:"8953",placeName:"Dietikon 2",cantonCode:"ZH"},{postalCode:"8953",placeName:"Dietikon",cantonCode:"ZH"},{postalCode:"8953",placeName:"Dietikon 1",cantonCode:"ZH"},{postalCode:"8954",placeName:"Geroldswil",cantonCode:"ZH"},{postalCode:"8955",placeName:"Oetwil an der Limmat",cantonCode:"ZH"},{postalCode:"8000",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8001",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8002",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8003",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8004",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8005",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8006",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8008",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8017",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8018",placeName:"Zürich PF",cantonCode:"ZH"},{postalCode:"8021",placeName:"Zürich 1",cantonCode:"ZH"},{postalCode:"8022",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8024",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8027",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8031",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8032",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8034",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8036",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8037",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8038",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8040",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8041",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8042",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8044",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8045",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8046",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8047",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8048",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8049",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8050",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8051",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8052",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8053",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8055",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8057",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8063",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8064",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8070",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8071",placeName:"Zürich CS PZ",cantonCode:"ZH"},{postalCode:"8074",placeName:"Zürich Voice Pub",cantonCode:"ZH"},{postalCode:"8074",placeName:"Zürich Voice Publishing",cantonCode:"ZH"},{postalCode:"8075",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8080",placeName:"Zürich 80",cantonCode:"ZH"},{postalCode:"8081",placeName:"Zürich Helsana",cantonCode:"ZH"},{postalCode:"8081",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8085",placeName:"Zürich Versicherung",cantonCode:"ZH"},{postalCode:"8085",placeName:"Zürich Versich.",cantonCode:"ZH"},{postalCode:"8086",placeName:"Zürich R Digest",cantonCode:"ZH"},{postalCode:"8086",placeName:"Zürich Reader's Digest",cantonCode:"ZH"},{postalCode:"8087",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8088",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8090",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8091",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8092",placeName:"Zürich ETH-Zentrum",cantonCode:"ZH"},{postalCode:"8092",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8093",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8093",placeName:"Zürich ETH-Hönggerberg",cantonCode:"ZH"},{postalCode:"8096",placeName:"Zürich IBRS local",cantonCode:"ZH"},{postalCode:"8098",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8099",placeName:"Zürich",cantonCode:"ZH"},{postalCode:"8099",placeName:"Zürich Sonderdienste",cantonCode:"ZH"}];function de(G){const g=String(G).trim();if(!/^[0-9]{1,4}$/.test(g))return[];const u=ee.filter(C=>C.postalCode.startsWith(g)).map(C=>C.postalCode);return Array.from(new Set(u)).sort()}function y(G){const g=String(G).trim();return g.length<4?[]:ee.filter(u=>u.postalCode===g)}const X=Array.from(new Set(ee.map(G=>G.postalCode))).sort(),Ae={class:"text-h6"},De={key:0},He={class:"row items-center q-gutter-sm"},Ze={class:"col-4"},fe={class:"col"},Fe={key:1,class:"row items-center q-gutter-sm"},Ie=pe({__name:"AddressModal",props:{modelValue:{type:Boolean},modelAddress:{},title:{},allowForeign:{type:Boolean,default:!0}},emits:["update:modelValue","save","cancel"],setup(G,{emit:g}){function u(n,a){a(()=>{const e=String(n||"").replace(/\D/g,"").slice(0,4),l=de(e);w.value=l.map(t=>({zip:t,label:t}))})}const C=G,{allowForeign:L}=re(C),z=g,{t:p,locale:M}=se(),V=E(!!C.modelValue);H(()=>C.modelValue,n=>V.value=!!n),H(V,n=>{z("update:modelValue",n),n&&d()});function d(){const n=C.modelAddress||{};if(Object.assign(o,{...T(),...n}),S(n.country)&&(o.country=n.country.code||""),L.value||(o.foreign=!1),o.zip){const a=String(o.zip||"").replace(/\D/g,"").slice(0,4);if(o.zip=a,!o.foreign&&a.length&&(X.includes(a)&&(h.value=a),a.length>=4)){const e=y(a);if(e&&e.length){const l=e[0];o.city=l?.placeName||"",o.zip=l?.postalCode||"",o.canton=l?.cantonCode||null,h.value=l?.postalCode||""}}}}const T=()=>({street:"",zip:"",city:"",country:"",canton:"",foreign:!1}),o=Ce({...T(),...C.modelAddress||{}});function S(n){return typeof n=="object"&&n!==null&&Object.prototype.hasOwnProperty.call(n,"code")}C.modelAddress&&S(C.modelAddress.country)&&(o.country=C.modelAddress.country.code||"");const r=E(null);function b(){const n=p("validation.required")||"Required";return a=>a==null?n:typeof a=="string"?a.trim()!==""||n:!0}const P=n=>{if(n==null||n==="")return p("validation.required")||"Required";if(typeof n!="string"&&typeof n!="number")return p("validation.invalidZip")||"Invalid ZIP";const a=String(n).trim();return/^\d{1,4}$/.test(a)?!0:p("validation.invalidZip")||"Invalid ZIP"};H(()=>C.modelAddress,n=>{const a=n;Object.assign(o,{...T(),...a||{}}),S(a?.country)&&(o.country=a?.country?.code||""),a&&Object.prototype.hasOwnProperty.call(a,"canton")&&(o.canton=a.canton||""),oe(()=>r.value?.resetValidation?.()),d()},{deep:!0}),H(L,n=>{n||(o.foreign=!1)});async function K(){try{if(await(r.value?.validate?.()??!0)===!1)return}catch{return}const n={...o};if(o.foreign){const a=typeof o.country=="string"?o.country:"",e=A.value.find(l=>l.value===a)?.label||a;n.country=a?{code:a,name:e}:"",n.canton=""}else{try{const a=new Intl.DisplayNames([String(M.value)],{type:"region"});n.country={code:"CH",name:a.of("CH")||"Switzerland"}}catch{n.country={code:"CH",name:"Switzerland"}}n.canton=o.canton||""}z("save",n),V.value=!1}function W(){z("cancel"),V.value=!1}const A=x(()=>{try{const n=new Intl.DisplayNames([String(M.value)],{type:"region"});return ce.map(a=>({value:a,label:n.of(a)||a}))}catch{return ce.map(n=>({value:n,label:n}))}}),D=x(()=>w.value),w=E(X.map(n=>({zip:n,label:n}))),h=E(null);function _(n){const a=String(n||"").replace(/\D/g,"").slice(0,4);o.zip!==a&&(o.zip=a)}function q(n){const a=String(n||"").replace(/\D/g,"").slice(0,4);if(w.value=de(a).map(e=>({zip:e,label:e})),!o.foreign&&(o.zip!==a&&(o.zip=a),a.length>=4)){const e=y(a);if(e&&e.length){const l=e[0];o.zip=l?.postalCode||"",o.city=l?.placeName||"",o.canton=l?.cantonCode||"",h.value=l?.postalCode||""}}}H(h,n=>{if(!n)return;const a=y(n)[0];a&&(o.zip=a.postalCode,o.canton=a.cantonCode||"")});function Q(){const n=h.value;if(!n)return;const a=y(n);if(a&&a.length){const e=a[0];o.zip=e?.postalCode||"",o.city=e?.placeName||"",o.canton=e?.cantonCode||""}}H(()=>o.zip,n=>{if(!o.foreign&&n){const a=String(n||"").replace(/\D/g,"").slice(0,4);if(a!==n){o.zip=a;return}if(X.includes(a)&&(h.value=a),a.length>=4){const e=y(a);if(e&&e.length){const l=e[0];o.city=l?.placeName||"",o.zip=l?.postalCode||a,h.value=l?.postalCode||a}}}});const j=C.title||p("address.modalTitle")||p("address.title")||"Address";return oe(()=>{(C.modelValue||C.modelAddress)&&d()}),(n,a)=>(B(),I(ie,{modelValue:V.value,"onUpdate:modelValue":a[7]||(a[7]=e=>V.value=e),persistent:""},{default:R(()=>[m(Ge,{class:"contained-card"},{default:R(()=>[m(ue,null,{default:R(()=>[i("div",Ae,f(N(j)),1),m(Ve,{ref_key:"formRef",ref:r,class:"q-gutter-md q-mt-md"},{default:R(()=>[m(O,{modelValue:o.street,"onUpdate:modelValue":a[0]||(a[0]=e=>o.street=e),label:N(p)("address.street"),rules:[b()]},null,8,["modelValue","label","rules"]),o.foreign?(B(),F("div",Fe,[m(O,{class:"col-4",modelValue:o.zip,"onUpdate:modelValue":a[3]||(a[3]=e=>o.zip=e),label:N(p)("address.zip"),rules:[b(),P],"input-attrs":{inputmode:"numeric",maxlength:4},onInputValue:_},null,8,["modelValue","label","rules"]),m(O,{class:"col",modelValue:o.city,"onUpdate:modelValue":a[4]||(a[4]=e=>o.city=e),label:N(p)("address.city"),rules:[b()]},null,8,["modelValue","label","rules"])])):(B(),F("div",De,[i("div",He,[i("div",Ze,[m(te,{"hide-selected":"","fill-input":"",modelValue:h.value,"onUpdate:modelValue":a[1]||(a[1]=e=>h.value=e),options:D.value,"option-label":"label","option-value":"zip",label:N(p)("address.zip"),"input-attrs":{inputmode:"numeric",maxlength:4},onInputValue:q,"use-input":"","input-debounce":"200","emit-value":"","map-options":"",rules:[b()],onFilter:u,onBlur:Q},null,8,["modelValue","options","label","rules"])]),i("div",fe,[m(O,{modelValue:o.city,"onUpdate:modelValue":a[2]||(a[2]=e=>o.city=e),label:N(p)("address.city"),rules:[b()]},null,8,["modelValue","label","rules"])])])])),o.foreign?(B(),I(te,{key:2,modelValue:o.country,"onUpdate:modelValue":a[5]||(a[5]=e=>o.country=e),options:A.value,"option-label":"label","option-value":"value",label:N(p)("address.country"),"use-input":"","input-debounce":"200","emit-value":"","map-options":"",rules:[b()]},null,8,["modelValue","options","label","rules"])):J("",!0),N(L)?(B(),I(Se,{key:3,modelValue:o.foreign,"onUpdate:modelValue":a[6]||(a[6]=e=>o.foreign=e),label:N(p)("address.foreign")},null,8,["modelValue","label"])):J("",!0)]),_:1},512)]),_:1}),m(Be,{align:"right"},{default:R(()=>[m(k,{flat:"",label:N(p)("button.cancel"),onClick:W},null,8,["label"]),m(k,{color:"primary",label:N(p)("button.save"),onClick:K},null,8,["label"])]),_:1})]),_:1})]),_:1},8,["modelValue"]))}}),Qe=me(Ie,[["__scopeId","data-v-00430335"]]),ze=["data-id"],Me={class:"row col q-px-md"},we={class:"row q-ml-md full-width items-center no-wrap"},Ue={class:"col q-ml-md"},ve={class:"row items-center no-wrap full-width"},ye={key:2,class:"comment-attachment__file-name q-px-sm"},Oe={class:"row items-start q-gutter-sm q-ml-md q-mt-xs q-mb-none full-width"},ke={class:"row col q-pa-none q-ma-none q-ml-md"},Pe={class:"text-caption q-mb-sm q-mt-none"},We={class:"column items-center q-gutter-sm full-width"},xe=pe({__name:"CommentAttachment",props:{modelValue:{},label:{},title:{},id:{}},emits:["update:modelValue"],setup(G,{emit:g}){const u=G,C=g,{t:L}=se(),z=Ee(),p=Re(),M=E(null),V=u.modelValue?.attachments,d=Ce({comments:u.modelValue?.comments||"",attachments:Array.isArray(V)?[...V]:[]}),T=E(d.comments),o=E(null),S=E(!1),r=E([]),b=new Set(["pdf","docx","txt","md"]);function P(e){const l=(e.name||"").trim().toLowerCase(),t=l.includes(".")?l.split(".").pop():"";return!!t&&b.has(t)}const K=x(()=>!!o.value),W=x(()=>o.value?.name||"");function A(e){for(;r.value.length<=e;)r.value.push({percent:0,color:"primary",icon:"attach_file"});const l=r.value[e];if(!l){const t={percent:0,color:"primary",icon:"attach_file"};return r.value[e]=t,t}return l}function D(){C("update:modelValue",{comments:d.comments||"",attachments:[...d.attachments]})}function w(e){if(e&&!P(e)){o.value=null,S.value=!1,r.value=[];return}o.value=e,S.value=!1,r.value=e?[{percent:0,color:"primary",icon:"attach_file"}]:[]}function h(e){const l=r.value,t=l[e];if(t?.xhr&&t.percent<1)try{t.xhr.abort()}catch{}o.value=null;const c=[...l];c.splice(e,1),r.value=c}function _(){h(0)}async function q(){const e=o.value;if(!e||!P(e))return;S.value=!0;const l="http://localhost:8082/upload";await new Promise(t=>{const c=new XMLHttpRequest,U=A(0);U.xhr=c,c.upload.onprogress=s=>{if(!s.lengthComputable)return;const Z=s.total>0?s.loaded/s.total:0;A(0).percent=Math.max(0,Math.min(1,Z))},c.onload=()=>{const s=c.status>=200&&c.status<300,Z=A(0);if(Z.percent=s?1:Z.percent,Z.color=s?"positive":"negative",Z.icon=s?"check":"error",s){try{const ae=JSON.parse(c.responseText),$=Array.isArray(ae.files)?ae.files[0]:void 0,Ne=$?.storedName||$?.originalName||$?.name;d.attachments.push(Ne||e.name)}catch{d.attachments.push(e.name)}D()}t()},c.onerror=()=>{const s=A(0);s.color="negative",s.icon="error",t()},c.onabort=()=>{const s=A(0);s.color="warning",s.icon="close",t()};const v=new FormData;v.append("session",u.id??""),v.append("user",p.id),v.append("documents",e),c.open("POST",l),c.send(v)}),o.value=null,r.value=[],S.value=!1}H(()=>u.modelValue,e=>{e&&typeof e.comments=="string"?d.comments=e.comments:e===null&&(d.comments=""),e&&Array.isArray(e.attachments)?d.attachments=[...e.attachments]:e===null&&(d.attachments=[]),T.value=d.comments});function Q(){d.comments=T.value||"",D()}async function j(e){return new Promise(l=>{z.dialog({message:"
"+L("confirmDeleteAttachment")+"
"+e,cancel:!0,persistent:!0,html:!0}).onOk(()=>l(!0)).onCancel(()=>l(!1)).onDismiss(()=>l(!1))})}async function n(e){const l=d.attachments[e];if(!l||!await j(l))return;const c=p.id,U=u.id;if(!c||!U){d.attachments.splice(e,1),D();return}try{if(!(await fetch("http://localhost:8082/deleteattachment",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:c,session:U,filename:l})})).ok)return}catch{return}d.attachments.splice(e,1),D()}function a(e){return Array.isArray(e)&&e.every(l=>typeof l=="string")}return he(async()=>{const e=u.id,l=p.id;if(!(!e||!l))try{const t=await fetch("http://localhost:8082/loadattachments",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:l,session:e})});if(!t.ok)return;const c=await t.json();a(c)&&(d.attachments=c,D())}catch{}}),(e,l)=>(B(),F("div",{class:"comment-attachment column full-width shadow-1 q-pa-sm bg-white","data-id":G.id},[i("div",null,f(G.title||G.label),1),i("div",Me,[m(O,{class:"full-width",type:"textarea",modelValue:T.value,"onUpdate:modelValue":l[0]||(l[0]=t=>T.value=t),onBlur:Q,label:N(L)("commenti"),autogrow:"",dense:""},null,8,["modelValue","label"])]),i("div",we,[i("div",Ue,[m(Te,{ref_key:"fileRef",ref:M,"model-value":o.value,"onUpdate:modelValue":w,accept:".pdf,.docx,.txt,.md",dense:"",borderless:"","hide-bottom-space":"",clearable:!1,"input-style":"display: none",style:{"max-width":"400px"}},{prepend:R(()=>[i("div",ve,[o.value?(B(),F(le,{key:1},[m(k,{round:"",dense:"",flat:"",color:"primary",icon:"cloud_upload",disable:!K.value||S.value,loading:S.value,onClick:Y(q,["stop"])},null,8,["disable","loading"]),S.value?J("",!0):(B(),I(k,{key:0,round:"",dense:"",flat:"",color:"primary",icon:"delete",disable:!o.value,onClick:Y(_,["stop","prevent"])},null,8,["disable"]))],64)):(B(),I(k,{key:0,round:"",dense:"",flat:"",color:"primary",icon:"attach_file",disable:S.value,onClick:l[1]||(l[1]=Y(t=>M.value?.pickFiles(),["stop"]))},{default:R(()=>[m(Le,null,{default:R(()=>[ne(f(N(L)("pickFiles")),1)]),_:1})]),_:1},8,["disable"])),W.value?(B(),F("div",ye,f(W.value),1)):J("",!0)])]),_:1},8,["model-value"])])]),i("div",Oe,[i("div",ke,[i("div",Pe,f(N(L)("attachments")),1),i("div",We,[(B(!0),F(le,null,ge(d.attachments,(t,c)=>(B(),I(be,{class:"full-width",key:c,removable:"",onRemove:U=>n(c)},{default:R(()=>[ne(f(t),1)]),_:2},1032,["onRemove"]))),128))])])])],8,ze))}}),je=me(xe,[["__scopeId","data-v-a0ff9b6f"]]);export{Qe as A,je as C}; diff --git a/app/dist/spa/assets/CommentAttachment-M56Dxc2A.css b/app/dist/spa/assets/CommentAttachment-M56Dxc2A.css new file mode 100644 index 0000000..316c6aa --- /dev/null +++ b/app/dist/spa/assets/CommentAttachment-M56Dxc2A.css @@ -0,0 +1 @@ +.contained-card[data-v-00430335]{min-width:420px;max-width:720px}.comment-attachment[data-v-a0ff9b6f]{font-size:14px}.comment-attachment__file-name[data-v-a0ff9b6f]{font-size:14px!important;width:100%;background-color:#0000001a}.text-grey[data-v-a0ff9b6f]{color:#00000073} diff --git a/app/dist/spa/assets/ErrorNotFound-C9XXVpv6.js b/app/dist/spa/assets/ErrorNotFound-C9XXVpv6.js new file mode 100644 index 0000000..0f3c38c --- /dev/null +++ b/app/dist/spa/assets/ErrorNotFound-C9XXVpv6.js @@ -0,0 +1 @@ +import{$ as o,a9 as s,a5 as t,a4 as a,a3 as l,a6 as n}from"./index-0B2sgEyA.js";const r={class:"fullscreen bg-blue text-white text-center q-pa-md flex flex-center"},p=o({__name:"ErrorNotFound",setup(c){return(i,e)=>(l(),s("div",r,[t("div",null,[e[0]||(e[0]=t("div",{style:{"font-size":"30vh"}},"404",-1)),e[1]||(e[1]=t("div",{class:"text-h2",style:{opacity:"0.4"}},"Oops. Nothing here...",-1)),a(n,{class:"q-mt-xl",color:"white","text-color":"blue",unelevated:"",to:"/",label:"Go Home","no-caps":""})])]))}});export{p as default}; diff --git a/app/dist/spa/assets/IncomeStep-Cw8mizyx.css b/app/dist/spa/assets/IncomeStep-Cw8mizyx.css new file mode 100644 index 0000000..b1b2f48 --- /dev/null +++ b/app/dist/spa/assets/IncomeStep-Cw8mizyx.css @@ -0,0 +1 @@ +.comment-attachment[data-v-a11712e8]{font-size:14px}.comment-attachment__file-chip[data-v-a11712e8]{max-width:320px}.text-grey[data-v-a11712e8]{color:#00000073}.q-card[data-v-f4f9035e]{width:100%;margin:0} diff --git a/app/dist/spa/assets/IncomeStep-RKJ4eG2Y.js b/app/dist/spa/assets/IncomeStep-RKJ4eG2Y.js new file mode 100644 index 0000000..0e550f9 --- /dev/null +++ b/app/dist/spa/assets/IncomeStep-RKJ4eG2Y.js @@ -0,0 +1 @@ +import{$ as G,r as F,Z as ce,a as O,w as B,o as W,a9 as re,a3 as A,a5 as E,a8 as $,a4 as U,a1 as V,a0 as x,af as N,a6 as q,aq as Y,a7 as me,ac as c,as as ue,ae as de,am as pe,ah as fe}from"./index-0B2sgEyA.js";import{u as ye,d as X,b as he,f as ge,e as ve,Q as we,a as be}from"./userstore-DBCughIu.js";import{u as Z}from"./vue-i18n.runtime-DPKkE7zN.js";import{_ as ee}from"./IndexPage-CwM_myNb.js";import{P as H}from"./LocalStorage-7Uw3xG9P.js";import"./QList-CHwmSUjA.js";const Ce="http://localhost:8082";class d extends Error{status;constructor(o,n){super(o),this.name="ApiError",this.status=n}}function M(t,o){const n=(t||Ce).replace(/\/+$/,""),u=o.startsWith("/")?o:`/${o}`;return`${n}${u}`}async function J(t){const o=await t.text();if(!o)return null;try{return JSON.parse(o)}catch{return o}}function Se(t){if(!t||typeof t!="object")return[];const o=t.files;if(!o)return[];if(Array.isArray(o)){const n=[];for(const u of o){if(typeof u=="string"){n.push(u);continue}if(u&&typeof u=="object"){const s=u,i=typeof s.storedName=="string"&&s.storedName||typeof s.originalName=="string"&&s.originalName||typeof s.name=="string"&&s.name||"";i&&n.push(i)}}return n}return[]}async function Ae(t){const{user:o,session:n,prop:u,file:s,baseUrl:i,onProgress:r,signal:p}=t;if(!o)throw new d("missing user");if(!n)throw new d("missing session");if(!s)throw new d("missing file");const b=M(i,"/upload");return await new Promise((e,S)=>{const l=new XMLHttpRequest;if(p){if(p.aborted){S(new d("aborted"));return}p.addEventListener("abort",()=>{try{l.abort()}catch{}},{once:!0})}l.upload.onprogress=h=>{if(!r||!h.lengthComputable)return;const T=h.total>0?h.loaded/h.total:0;r(Math.max(0,Math.min(1,T)))},l.onload=()=>{const h=l.status>=200&&l.status<300;let T=null;try{T=l.responseText?JSON.parse(l.responseText):null}catch{T=l.responseText}if(!h){S(new d(`Upload failed (HTTP ${l.status})`,l.status));return}const P=Se(T);e({ok:!0,files:P})},l.onerror=()=>{S(new d("Upload failed (network error)"))},l.onabort=()=>{S(new d("Upload cancelled"))};const f=new FormData;f.append("user",o),f.append("session",n),u&&f.append("prop",u),f.append("documents",s),l.open("POST",b),l.send(f)})}async function Te(t){const{id:o,session:n,prop:u,baseUrl:s}=t;if(!o)throw new d("missing id");if(!n)throw new d("missing session");const i=await fetch(M(s,"/loadattachments"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:o,session:n,prop:u})});if(!i.ok){const p=await J(i),b=typeof p=="string"?p:`Load attachments failed (HTTP ${i.status})`;throw new d(b,i.status)}const r=await i.json();return Array.isArray(r)&&r.every(p=>typeof p=="string")?r:[]}async function xe(t){const{id:o,session:n,prop:u,filename:s,baseUrl:i}=t;if(!o)throw new d("missing id");if(!n)throw new d("missing session");if(!s)throw new d("missing filename");const r=await fetch(M(i,"/deleteattachment"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:o,session:n,prop:u,filename:s})});if(!r.ok){const b=await J(r),e=typeof b=="string"?b:`Delete attachment failed (HTTP ${r.status})`;throw new d(e,r.status)}const p=await r.json();return p&&typeof p=="object"?p:{}}async function Ee(t){const{id:o,session:n,prop:u,baseUrl:s}=t;if(!o)throw new d("missing id");if(!n)throw new d("missing session");if(u)throw new d("prop is not supported for loadAttachmentsList");const i=await fetch(M(s,"/loadattachmentslist"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:o,session:n})});if(!i.ok){const b=await J(i),e=typeof b=="string"?b:`Load attachments list failed (HTTP ${i.status})`;throw new d(e,i.status)}const r=await i.json();if(!r||typeof r!="object"||Array.isArray(r))return{};const p={};for(const[b,e]of Object.entries(r))b&&Array.isArray(e)&&e.every(S=>typeof S=="string")&&(p[b]=e);return p}const Ue=["data-id"],ke={class:"row q-ml-md full-width items-center no-wrap"},_e={class:"col q-ml-md"},Ve={class:"row items-center no-wrap full-width"},Pe={class:"ellipsis"},K=".pdf, .docx, .txt, .md",Ne=G({__name:"SimpleAttachment",props:{modelValue:{},label:{},title:{},session:{},id:{},autoload:{type:Boolean},disable:{type:Boolean}},emits:["update:modelValue"],setup(t,{emit:o}){const n=t,u=o,{t:s}=Z(),i=ye(),r=X(),p=F(null),b=n.modelValue?.attachments,e=ce({comments:n.modelValue?.comments||"",attachments:Array.isArray(b)?[...b]:[]}),S=F(e.comments),l=F(null),f=F(!1),h=F([]),T=new Set(["pdf","docx","txt","md"]);function P(a){const m=(a.name||"").trim().toLowerCase(),w=m.includes(".")?m.split(".").pop():"";return!!w&&T.has(w)}const Q=O(()=>!!l.value),g=O(()=>{const a=l.value;return a?.name?a.name:(e.attachments.length>0?e.attachments[e.attachments.length-1]:"")||""}),v=O(()=>!l.value&&e.attachments.length>0);function y(a){for(;h.value.length<=a;)h.value.push({percent:0,color:"primary",icon:"attach_file"});const m=h.value[a];if(!m){const w={percent:0,color:"primary",icon:"attach_file"};return h.value[a]=w,w}return m}function k(){u("update:modelValue",{comments:e.comments||"",attachments:[...e.attachments]})}function I(a){if(a&&!P(a)){i.notify({type:"negative",message:s("fileTypeNotAllowed",{allowed:K})}),l.value=null,f.value=!1,h.value=[];return}l.value=a,f.value=!1,h.value=a?[{percent:0,color:"primary",icon:"attach_file"}]:[]}function te(a){const m=h.value;l.value=null;const w=[...m];w.splice(a,1),h.value=w}function ae(){te(0)}async function se(){const a=e.attachments.length>0?e.attachments[e.attachments.length-1]:"";if(!a)return;const m=n.session,w=n.id,D=r.id;if(!m||!D){e.attachments=[],k();return}try{await xe({id:D,session:m,...w?{prop:w}:{},filename:a}),e.attachments=[],k(),i.notify({type:"positive",message:s("fileDeleted")})}catch(C){i.notify({type:"negative",message:C instanceof Error?C.message:s("deleteFailed")})}}function ne(){if(!n.disable){if(l.value){ae();return}se()}}async function oe(){if(n.disable)return;const a=l.value;if(!a)return;if(!P(a)){i.notify({type:"negative",message:s("fileTypeNotAllowed",{allowed:K})});return}const m=n.session,w=n.id,D=r.id;if(!m||!D){i.notify({type:"warning",message:s("missingUserOrSession")});return}f.value=!0;try{const C=await Ae({user:D,session:m,...w?{prop:w}:{},file:a,onProgress:le=>{y(0).percent=le}}),_=y(0);_.percent=1,_.color="positive",_.icon="check";const j=C.files?.[0]??a.name;e.attachments.push(j),k(),i.notify({type:"positive",message:s("fileUploaded")})}catch(C){const _=y(0);_.color=C instanceof d&&C.message.includes("cancel")?"warning":"negative",_.icon=C instanceof d&&C.message.includes("cancel")?"close":"error";const j=C instanceof d&&C.message.includes("cancel");i.notify({type:_.color==="warning"?"warning":"negative",message:j?s("uploadCancelled"):C instanceof Error?C.message:s("uploadFailed")})}l.value=null,h.value=[],f.value=!1}B(()=>n.modelValue,a=>{a&&typeof a.comments=="string"?e.comments=a.comments:a===null&&(e.comments=""),a&&Array.isArray(a.attachments)?e.attachments=[...a.attachments]:a===null&&(e.attachments=[]),S.value=e.comments},{deep:!0});function ie(a){return Array.isArray(a)&&a.every(m=>typeof m=="string")}return W(async()=>{if(n.autoload===!1)return;const a=n.session,m=r.id;if(!(!a||!m))try{const w=await Te({id:m,session:a,...n.id?{prop:n.id}:{}});ie(w)&&(e.attachments=[...w],k())}catch{}}),(a,m)=>(A(),re("div",{class:"comment-attachment column full-width shadow-1 q-pa-sm bg-white","data-id":t.id},[E("div",null,$(t.title||t.label),1),E("div",ke,[E("div",_e,[U(ve,{ref_key:"fileRef",ref:p,"model-value":l.value,"onUpdate:modelValue":I,disable:!!t.disable,accept:".pdf,.docx,.txt,.md",dense:"",borderless:"","hide-bottom-space":"",clearable:!1,"input-style":"display: none",style:{"max-width":"400px"}},{prepend:V(()=>[E("div",Ve,[l.value?(A(),x(q,{key:1,round:"",dense:"",flat:"",color:"primary",icon:"cloud_upload",disable:!!t.disable||!Q.value||f.value,loading:f.value,onClick:Y(oe,["stop","prevent"])},null,8,["disable","loading"])):(A(),x(q,{key:0,round:"",dense:"",flat:"",color:"primary",icon:"attach_file",disable:!!t.disable||f.value,onClick:m[0]||(m[0]=Y(w=>p.value?.pickFiles(),["stop","prevent"]))},{default:V(()=>[U(he,null,{default:V(()=>[me($(c(s)("pickFiles")),1)]),_:1})]),_:1},8,["disable"])),g.value?(A(),x(ge,{key:2,dense:"",removable:!t.disable,class:"q-ml-sm comment-attachment__file-chip",color:v.value?"positive":void 0,"text-color":v.value?"white":void 0,onRemove:ne},{default:V(()=>[E("span",Pe,$(g.value),1)]),_:1},8,["removable","color","text-color"])):N("",!0)])]),_:1},8,["model-value","disable"])])])],8,Ue))}}),L=ee(Ne,[["__scopeId","data-v-a11712e8"]]),z="income:v1",R={employType:null,attachments:{salaryCertificate:{comments:"",attachments:[]},accountingDocuments:{comments:"",attachments:[]},avsCertificate:{comments:"",attachments:[]},lppCertificate:{comments:"",attachments:[]},unemploymentCertificate:{comments:"",attachments:[]}}};function De(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}const Fe=ue("incomestore",{state:()=>{try{let t=H.getItem(z);if(typeof t=="string")try{t=JSON.parse(t)}catch{t=null}if(De(t))return{data:{...R,...t}}}catch{}return{data:{...R}}},actions:{persist(){try{H.set(z,this.data)}catch(t){console.error("income.store: persist error",t)}},getIncome(){return this.data},setIncome(t){this.data={...this.data,...t},this.persist()},replaceIncome(t){this.data=t,this.persist()},resetIncome(){this.data={...R},this.persist()}}}),Le={class:"row items-center"},Oe={class:"col"},Ie={class:"text-h5"},$e={class:"col-auto"},qe=G({__name:"IncomeStep",props:{step:{}},emits:["next","prev"],setup(t,{emit:o}){const n=t,u=o,{t:s}=Z(),i=X(),r=Fe(),p=["EMPLOYED","SELF_EMPLOYED","PENSIONER","UNEMPLOYED"],b={EMPLOYED:{activeFields:["salaryCertificate","accountingDocuments"],nextStep:"marital"},SELF_EMPLOYED:{activeFields:["accountingDocuments"],nextStep:"marital"},PENSIONER:{activeFields:["accountingDocuments","avsCertificate","lppCertificate"],nextStep:"marital"},UNEMPLOYED:{activeFields:["unemploymentCertificate"],nextStep:"marital"}},e=r.data,S=["salaryCertificate","accountingDocuments","avsCertificate","lppCertificate","unemploymentCertificate"],l=O(()=>{const g=e.employType;if(!g)return new Set;const y=b[g]?.activeFields??[];return new Set(y)});function f(g){return l.value.has(g)}function h(){for(const g of S)f(g)||(e.attachments[g].comments="",e.attachments[g].attachments=[])}B(()=>e.employType,()=>{h()}),B(()=>e,()=>{r.persist()},{deep:!0});const T=O(()=>p.map(g=>({label:s(`income.employType.${g}`),value:g})));W(async()=>{const g=i.id;if(!g)return;const v="income";try{const y=await Ee({id:g,session:v});for(const k of S){const I=y[k];Array.isArray(I)&&(e.attachments[k].attachments=[...I])}}catch{}});function P(){u("next",n.step?.next)}function Q(){u("prev",n.step?.prev)}return(g,v)=>(A(),x(fe,{flat:"",class:"full-width q-pa-none"},{default:V(()=>[U(de,{class:"full-width"},{default:V(()=>[E("div",Le,[E("div",Oe,[E("div",Ie,$(c(s)("INC")),1)]),E("div",$e,[U(q,{flat:"",label:c(s)("button.prev"),onClick:Q,class:"q-mr-sm"},null,8,["label"]),U(q,{color:"primary",label:c(s)("button.next"),onClick:P},null,8,["label"])])]),U(pe,{class:"q-my-sm"}),U(we,{class:"q-gutter-md q-mt-md"},{default:V(()=>[U(be,{modelValue:c(e).employType,"onUpdate:modelValue":v[0]||(v[0]=y=>c(e).employType=y),options:T.value,label:c(s)("income.employTypeLabel"),hint:c(e).employType?"":c(s)("income.employTypeHint"),"persistent-hint":!c(e).employType,"emit-value":"","map-options":""},null,8,["modelValue","options","label","hint","persistent-hint"]),f("salaryCertificate")?(A(),x(L,{key:0,modelValue:c(e).attachments.salaryCertificate,"onUpdate:modelValue":v[1]||(v[1]=y=>c(e).attachments.salaryCertificate=y),label:c(s)("income.attachments.salaryCertificate"),session:"income",id:"salaryCertificate",autoload:!1},null,8,["modelValue","label"])):N("",!0),f("accountingDocuments")?(A(),x(L,{key:1,modelValue:c(e).attachments.accountingDocuments,"onUpdate:modelValue":v[2]||(v[2]=y=>c(e).attachments.accountingDocuments=y),label:c(s)("income.attachments.accountingDocuments"),session:"income",id:"accountingDocuments",autoload:!1},null,8,["modelValue","label"])):N("",!0),f("avsCertificate")?(A(),x(L,{key:2,modelValue:c(e).attachments.avsCertificate,"onUpdate:modelValue":v[3]||(v[3]=y=>c(e).attachments.avsCertificate=y),label:c(s)("income.attachments.avsCertificate"),session:"income",id:"avsCertificate",autoload:!1},null,8,["modelValue","label"])):N("",!0),f("lppCertificate")?(A(),x(L,{key:3,modelValue:c(e).attachments.lppCertificate,"onUpdate:modelValue":v[4]||(v[4]=y=>c(e).attachments.lppCertificate=y),label:c(s)("income.attachments.lppCertificate"),session:"income",id:"lppCertificate",autoload:!1},null,8,["modelValue","label"])):N("",!0),f("unemploymentCertificate")?(A(),x(L,{key:4,modelValue:c(e).attachments.unemploymentCertificate,"onUpdate:modelValue":v[5]||(v[5]=y=>c(e).attachments.unemploymentCertificate=y),label:c(s)("income.attachments.unemploymentCertificate"),session:"income",id:"unemploymentCertificate",autoload:!1},null,8,["modelValue","label"])):N("",!0)]),_:1})]),_:1})]),_:1}))}}),Ye=ee(qe,[["__scopeId","data-v-f4f9035e"]]);export{Ye as default}; diff --git a/app/dist/spa/assets/IndexPage-CwM_myNb.js b/app/dist/spa/assets/IndexPage-CwM_myNb.js new file mode 100644 index 0000000..afd1e2f --- /dev/null +++ b/app/dist/spa/assets/IndexPage-CwM_myNb.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/WelcomeStep-Crh-xhDH.js","assets/index-0B2sgEyA.js","assets/index-BQveqNql.css","assets/vue-i18n.runtime-DPKkE7zN.js","assets/QList-CHwmSUjA.js","assets/WelcomeStep-BTfvnfIz.css","assets/TaxpayerStep-BfPZ-rxP.js","assets/userstore-DBCughIu.js","assets/LocalStorage-7Uw3xG9P.js","assets/taxstore-oR45_mFg.js","assets/AddressInput-Brku8Gup.js","assets/CommentAttachment-BuVtM3GK.js","assets/CommentAttachment-M56Dxc2A.css","assets/AddressInput-DTjVpzGz.css","assets/TaxpayerStep-CWAfROv3.css","assets/MaritalStep-npjGE3Gl.js","assets/MaritalStep-DL6z_e8a.css","assets/ChildrenStep-BaJwTfaC.js","assets/children-ChLzVyp9.js","assets/ChildrenStep-CyFMlGKq.css","assets/IncomeStep-RKJ4eG2Y.js","assets/IncomeStep-Cw8mizyx.css"])))=>i.map(i=>d[i]); +import{c as Q,g as A,j as P,k as c,m as w,X as R,a as g,h as $,b as D,$ as k,r as O,ad as p,a9 as m,a3 as s,a5 as C,a4 as v,a1 as u,aa as L,ab as V,a0 as I,a8 as b,ac as S,ae as q,af as B,ag as F,ah as z,ai as f}from"./index-0B2sgEyA.js";import{a as T,b as j,Q as N}from"./QList-CHwmSUjA.js";const H=Q({name:"QPage",props:{padding:Boolean,styleFn:Function},setup(r,{slots:o}){const{proxy:{$q:i}}=A(),e=P(w,c);if(e===c)return console.error("QPage needs to be a deep child of QLayout"),c;if(P(R,c)===c)return console.error("QPage needs to be child of QPageContainer"),c;const _=g(()=>{const n=(e.header.space===!0?e.header.size:0)+(e.footer.space===!0?e.footer.size:0);if(typeof r.styleFn=="function"){const y=e.isContainer.value===!0?e.containerHeight.value:i.screen.height;return r.styleFn(n,y)}return{minHeight:e.isContainer.value===!0?e.containerHeight.value-n+"px":i.screen.height===0?n!==0?`calc(100vh - ${n}px)`:"100vh":i.screen.height-n+"px"}}),h=g(()=>`q-page${r.padding===!0?" q-layout-padding":""}`);return()=>$("main",{class:h.value,style:_.value},D(o.default))}}),K={class:"row full-height"},M={class:"col-3 q-pa-sm bg-grey-1"},X={class:"text-body1"},G={class:"col q-pa-md full-height"},J={key:0,class:"text-h6"},U={key:2,class:"q-mt-md"},W=k({__name:"StepsStepper",setup(r){const o=[{id:"welcome",title:"Benvenuto",order:0},{id:"taxpayer",title:"Dati contribuente e dichiarazione precedente",order:1},{id:"marital",title:"Stato civile",order:2},{id:"children",title:"Figli",order:3},{id:"income",title:"Redditi",order:4},{id:"professionalExpenses",title:"Spese professionali",order:5},{id:"sideIncome",title:"Reddito accessorio",order:6},{id:"annuities",title:"Rendite",order:7},{id:"insurance",title:"Spese assicurative e mediche",order:8},{id:"pillar3",title:"Polizze 3A / 3B",order:9},{id:"bankAccounts",title:"Conti bancari",order:10},{id:"otherAssets",title:"Altri beni / averi",order:11},{id:"debts",title:"Debiti / ipoteche",order:12},{id:"properties",title:"Immobili",order:13},{id:"foreign",title:"Redditi o averi all’estero",order:14}],i=Math.max(...o.map(t=>t.order)),e=new Array(i+1).fill(void 0).map(()=>({}));o.forEach(t=>{e[t.order]={id:t.id,title:t.title,order:t.order}});const a=O(0),_=g(()=>{const t=e[a.value]?.id;return t==="welcome"?p(()=>f(()=>import("./WelcomeStep-Crh-xhDH.js"),__vite__mapDeps([0,1,2,3,4,5]))):t==="taxpayer"?p(()=>f(()=>import("./TaxpayerStep-BfPZ-rxP.js"),__vite__mapDeps([6,1,2,7,8,4,9,10,11,3,12,13,14]))):t==="marital"?p(()=>f(()=>import("./MaritalStep-npjGE3Gl.js"),__vite__mapDeps([15,1,2,7,8,4,9,10,11,3,12,13,16]))):t==="children"?p(()=>f(()=>import("./ChildrenStep-BaJwTfaC.js"),__vite__mapDeps([17,1,2,7,8,4,11,3,12,18,9,19]))):t==="income"?p(()=>f(()=>import("./IncomeStep-RKJ4eG2Y.js"),__vite__mapDeps([20,1,2,7,8,4,3,21]))):null}),h=g(()=>e[a.value]);function n(t){if(typeof t=="string"){const l=e.findIndex(d=>d.id===t);if(l!==-1){a.value=l;return}}a.valued.id===t);if(l!==-1){a.value=l;return}}a.value>0&&a.value--}return(t,l)=>(s(),m("div",K,[C("div",M,[v(N,{dense:"",bordered:"",class:"vertical-nav"},{default:u(()=>[(s(!0),m(L,null,V(S(e),(d,x)=>(s(),I(T,{key:d.id,clickable:"",onClick:te=>a.value=x,active:a.value===x},{default:u(()=>[v(j,null,{default:u(()=>[C("div",X,b(x+1)+". "+b(d.title),1)]),_:2},1024)]),_:2},1032,["onClick","active"]))),128))]),_:1})]),C("div",G,[v(z,{flat:"",class:"q-pa-md full-height"},{default:u(()=>[v(q,null,{default:u(()=>[_.value?B("",!0):(s(),m("div",J,b(S(e)[a.value]?.title),1)),_.value&&h.value?(s(),I(F(_.value),{key:1,step:h.value,onNext:n,onPrev:y},null,40,["step"])):(s(),m("div",U))]),_:1})]),_:1})])]))}}),E=(r,o)=>{const i=r.__vccOpts||r;for(const[e,a]of o)i[e]=a;return i},Y=E(W,[["__scopeId","data-v-eaa5d621"]]),Z=k({__name:"IndexPage",setup(r){return(o,i)=>(s(),I(H,{class:"row full-width justify-center full-height"},{default:u(()=>[v(Y,{class:"no-shadow full-height full-width"})]),_:1}))}}),ee=E(Z,[["__scopeId","data-v-1cafec6b"]]),re=Object.freeze(Object.defineProperty({__proto__:null,default:ee},Symbol.toStringTag,{value:"Module"}));export{re as I,E as _}; diff --git a/app/dist/spa/assets/IndexPage-sr_89QZh.css b/app/dist/spa/assets/IndexPage-sr_89QZh.css new file mode 100644 index 0000000..31cd440 --- /dev/null +++ b/app/dist/spa/assets/IndexPage-sr_89QZh.css @@ -0,0 +1 @@ +.q-stepper[data-v-eaa5d621]{max-width:900px;margin:0 auto}.full-height[data-v-eaa5d621]{height:100%}.vertical-nav .q-item[data-v-eaa5d621]{border-radius:4px;margin-bottom:4px;max-width:350px}.vertical-nav .q-item--active[data-v-eaa5d621]{background-color:var(--q-color-primary)!important}.vertical-nav .q-item--active .text-body1[data-v-eaa5d621],.vertical-nav .q-item--active .q-item__label[data-v-eaa5d621]{font-weight:700!important}[data-v-1cafec6b] .no-shadow .q-stepper{box-shadow:none!important;height:100%!important;width:100%!important}[data-v-1cafec6b] .no-shadow .q-stepper .q-step__content,[data-v-1cafec6b] .no-shadow .q-stepper .q-card{height:100%!important} diff --git a/app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjalmUiAw-BepdiOnY.woff b/app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjalmUiAw-BepdiOnY.woff new file mode 100644 index 0000000000000000000000000000000000000000..c7f10e0e2b44c98edf474d353d16b0c36d18570b GIT binary patch literal 25552 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

lIIOUL4%7_zFJGdar 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 D@aU{V literal 0 HcmV?d00001 diff --git a/app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuZtalmUiAw-4ZhHFPot.woff b/app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuZtalmUiAw-4ZhHFPot.woff new file mode 100644 index 0000000000000000000000000000000000000000..21dcb28653cd18a643e6e285db9ab800dcf510eb GIT binary patch literal 25260 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 literal 0 HcmV?d00001 diff --git a/app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabVmUiAw-CNa4tw4G.woff b/app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabVmUiAw-CNa4tw4G.woff new file mode 100644 index 0000000000000000000000000000000000000000..80fc26d0b1992f5834bcc8ca5b1fa2a9fd2dd798 GIT binary patch literal 25368 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 literal 0 HcmV?d00001 diff --git a/app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWub2bVmUiAw-CHKg1YId.woff b/app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWub2bVmUiAw-CHKg1YId.woff new file mode 100644 index 0000000000000000000000000000000000000000..6c8f9a6ff49337dd5d17834bbf41f6de08bed757 GIT binary patch literal 25396 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 E09h}E7ytkO literal 0 HcmV?d00001 diff --git a/app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAw-3fZ6d7DD.woff b/app/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAw-3fZ6d7DD.woff new file mode 100644 index 0000000000000000000000000000000000000000..9b7fcd5211b0a4675b1a73355e08defdb949bcd2 GIT binary patch literal 25192 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.show(a),a.qAnchorHandled=!0})},prevent:J,mobileTouch(a){if(u.mobileCleanup(a),d(a)!==!0)return;i.hide(a),l.value.classList.add("non-selectable");const f=a.target;X(u,"anchor",[[f,"touchmove","mobileCleanup","passive"],[f,"touchend","mobileCleanup","passive"],[f,"touchcancel","mobileCleanup","passive"],[l.value,"contextmenu","prevent","notPassive"]]),s=setTimeout(()=>{s=null,i.show(a),a.qAnchorHandled=!0},300)},mobileCleanup(a){l.value.classList.remove("non-selectable"),s!==null&&(clearTimeout(s),s=null),e.value===!0&&a!==void 0&&Ze()}}),o=function(a=n.contextMenu){if(n.noParentEvent===!0||l.value===null)return;let f;a===!0?i.$q.platform.is.mobile===!0?f=[[l.value,"touchstart","mobileTouch","passive"]]:f=[[l.value,"mousedown","hide","passive"],[l.value,"contextmenu","contextClick","notPassive"]]:f=[[l.value,"click","toggle","passive"],[l.value,"keyup","toggleKey","passive"]],X(u,"anchor",f)});function h(){qe(u,"anchor")}function v(a){for(l.value=a;l.value.classList.contains("q-anchor--skip");)l.value=l.value.parentNode;o()}function x(){if(n.target===!1||n.target===""||i.$el.parentNode===null)l.value=null;else if(n.target===!0)v(i.$el.parentNode);else{let a=n.target;if(typeof n.target=="string")try{a=document.querySelector(n.target)}catch{a=void 0}a!=null?(l.value=a.$el||a,o()):(l.value=null,console.error(`Anchor: target "${n.target}" not found`))}}return _(()=>n.contextMenu,a=>{l.value!==null&&(h(),o(a))}),_(()=>n.target,()=>{l.value!==null&&h(),x()}),_(()=>n.noParentEvent,a=>{l.value!==null&&(a===!0?h():o())}),_e(()=>{x(),t!==!0&&n.modelValue===!0&&l.value===null&&c("update:modelValue",!1)}),K(()=>{s!==null&&clearTimeout(s),h()}),{anchorEl:l,canShow:d,anchorEvents:u}}function ot(e,t){const o=P(null);let n;function i(s,d){const u=`${d!==void 0?"add":"remove"}EventListener`,h=d!==void 0?d:n;s!==window&&s[u]("scroll",h,D.passive),window[u]("scroll",h,D.passive),n=d}function c(){o.value!==null&&(i(o.value),o.value=null)}const l=_(()=>e.noParentEvent,()=>{o.value!==null&&(c(),t())});return K(l),{localScrollTarget:o,unconfigureScrollTarget:c,changeScrollEvent:i}}const{notPassiveCapture:B}=D,S=[];function W(e){const t=e.target;if(t===void 0||t.nodeType===8||t.classList.contains("no-pointer-events")===!0)return;let o=U.length-1;for(;o>=0;){const n=U[o].$;if(n.type.name==="QTooltip"){o--;continue}if(n.type.name!=="QDialog")break;if(n.props.seamless!==!0)return;o--}for(let n=S.length-1;n>=0;n--){const i=S[n];if((i.anchorEl.value===null||i.anchorEl.value.contains(t)===!1)&&(t===document.body||i.innerRef.value!==null&&i.innerRef.value.contains(t)===!1))e.qClickOutside=!0,i.onClickOutside(e);else return}}function lt(e){S.push(e),S.length===1&&(document.addEventListener("mousedown",W,B),document.addEventListener("touchstart",W,B))}function te(e){const t=S.findIndex(o=>o===e);t!==-1&&(S.splice(t,1),S.length===0&&(document.removeEventListener("mousedown",W,B),document.removeEventListener("touchstart",W,B)))}let ne,oe;function le(e){const t=e.split(" ");return t.length!==2?!1:["top","center","bottom"].includes(t[0])!==!0?(console.error("Anchor/Self position must start with one of top/center/bottom"),!1):["left","middle","right","start","end"].includes(t[1])!==!0?(console.error("Anchor/Self position must end with one of left/middle/right/start/end"),!1):!0}function it(e){return e?!(e.length!==2||typeof e[0]!="number"||typeof e[1]!="number"):!0}const F={"start#ltr":"left","start#rtl":"right","end#ltr":"right","end#rtl":"left"};["left","middle","right"].forEach(e=>{F[`${e}#ltr`]=e,F[`${e}#rtl`]=e});function ie(e,t){const o=e.split(" ");return{vertical:o[0],horizontal:F[`${o[1]}#${t===!0?"rtl":"ltr"}`]}}function at(e,t){let{top:o,left:n,right:i,bottom:c,width:l,height:s}=e.getBoundingClientRect();return t!==void 0&&(o-=t[1],n-=t[0],c+=t[1],i+=t[0],l+=t[0],s+=t[1]),{top:o,bottom:c,height:s,left:n,right:i,width:l,middle:n+(i-n)/2,center:o+(c-o)/2}}function rt(e,t,o){let{top:n,left:i}=e.getBoundingClientRect();return n+=t.top,i+=t.left,o!==void 0&&(n+=o[1],i+=o[0]),{top:n,bottom:n+1,height:1,left:i,right:i+1,width:1,middle:i,center:n}}function st(e,t){return{top:0,center:t/2,bottom:t,left:0,middle:e/2,right:e}}function ae(e,t,o,n){return{top:e[o.vertical]-t[n.vertical],left:e[o.horizontal]-t[n.horizontal]}}function ce(e,t=0){if(e.targetEl===null||e.anchorEl===null||t>5)return;if(e.targetEl.offsetHeight===0||e.targetEl.offsetWidth===0){setTimeout(()=>{ce(e,t+1)},10);return}const{targetEl:o,offset:n,anchorEl:i,anchorOrigin:c,selfOrigin:l,absoluteOffset:s,fit:d,cover:u,maxHeight:h,maxWidth:v}=e;if(ue.is.ios===!0&&window.visualViewport!==void 0){const E=document.body.style,{offsetLeft:b,offsetTop:y}=window.visualViewport;b!==ne&&(E.setProperty("--q-pe-left",b+"px"),ne=b),y!==oe&&(E.setProperty("--q-pe-top",y+"px"),oe=y)}const{scrollLeft:x,scrollTop:a}=o,f=s===void 0?at(i,u===!0?[0,0]:n):rt(i,s,n);Object.assign(o.style,{top:0,left:0,minWidth:null,minHeight:null,maxWidth:v,maxHeight:h,visibility:"visible"});const{offsetWidth:H,offsetHeight:q}=o,{elWidth:M,elHeight:A}=d===!0||u===!0?{elWidth:Math.max(f.width,H),elHeight:u===!0?Math.max(f.height,q):q}:{elWidth:H,elHeight:q};let m={maxWidth:v,maxHeight:h};(d===!0||u===!0)&&(m.minWidth=f.width+"px",u===!0&&(m.minHeight=f.height+"px")),Object.assign(o.style,m);const p=st(M,A);let g=ae(f,p,c,l);if(s===void 0||n===void 0)$(g,f,p,c,l);else{const{top:E,left:b}=g;$(g,f,p,c,l);let y=!1;if(g.top!==E){y=!0;const w=2*n[1];f.center=f.top-=w,f.bottom-=w+2}if(g.left!==b){y=!0;const w=2*n[0];f.middle=f.left-=w,f.right-=w+2}y===!0&&(g=ae(f,p,c,l),$(g,f,p,c,l))}m={top:g.top+"px",left:g.left+"px"},g.maxHeight!==void 0&&(m.maxHeight=g.maxHeight+"px",f.height>g.maxHeight&&(m.minHeight=m.maxHeight)),g.maxWidth!==void 0&&(m.maxWidth=g.maxWidth+"px",f.width>g.maxWidth&&(m.minWidth=m.maxWidth)),Object.assign(o.style,m),o.scrollTop!==a&&(o.scrollTop=a),o.scrollLeft!==x&&(o.scrollLeft=x)}function $(e,t,o,n,i){const c=o.bottom,l=o.right,s=ke(),d=window.innerHeight-s,u=document.body.clientWidth;if(e.top<0||e.top+c>d)if(i.vertical==="center")e.top=t[n.vertical]>d/2?Math.max(0,d-c):0,e.maxHeight=Math.min(c,d);else if(t[n.vertical]>d/2){const h=Math.min(d,n.vertical==="center"?t.center:n.vertical===i.vertical?t.bottom:t.top);e.maxHeight=Math.min(c,h),e.top=Math.max(0,h-c)}else e.top=Math.max(0,n.vertical==="center"?t.center:n.vertical===i.vertical?t.top:t.bottom),e.maxHeight=Math.min(c,d-e.top);if(e.left<0||e.left+l>u)if(e.maxWidth=Math.min(l,u),i.horizontal==="middle")e.left=t[n.horizontal]>u/2?Math.max(0,u-l):0;else if(t[n.horizontal]>u/2){const h=Math.min(u,n.horizontal==="middle"?t.middle:n.horizontal===i.horizontal?t.right:t.left);e.maxWidth=Math.min(l,h),e.left=Math.max(0,h-e.maxWidth)}else e.left=Math.max(0,n.horizontal==="middle"?t.middle:n.horizontal===i.horizontal?t.left:t.right),e.maxWidth=Math.min(l,u-e.left)}const mt=Ce({name:"QMenu",inheritAttrs:!1,props:{...tt,...We,...Be,...Pe,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:le},self:{type:String,validator:le},offset:{type:Array,validator:it},scrollTarget:Me,touchPosition:Boolean,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...He,"click","escapeKey"],setup(e,{slots:t,emit:o,attrs:n}){let i=null,c,l,s;const d=se(),{proxy:u}=d,{$q:h}=u,v=P(null),x=P(!1),a=T(()=>e.persistent!==!0&&e.noRouteDismiss!==!0),f=Ae(e,h),{registerTick:H,removeTick:q}=Ie(),{registerTimeout:M}=Le(),{transitionProps:A,transitionStyle:m}=ze(e),{localScrollTarget:p,changeScrollEvent:g,unconfigureScrollTarget:E}=ot(e,Y),{anchorEl:b,canShow:y}=nt({showing:x}),{hide:w}=Re({showing:x,canShow:y,handleShow:ve,handleHide:xe,hideOnRouteChange:a,processOnMount:!0}),{showPortal:O,hidePortal:j,renderPortal:de}=$e(d,v,ye,"menu"),I={anchorEl:b,innerRef:v,onClickOutside(r){if(e.persistent!==!0&&x.value===!0)return w(r),(r.type==="touchstart"||r.target.classList.contains("q-dialog__backdrop"))&&Je(r),!0}},N=T(()=>ie(e.anchor||(e.cover===!0?"center middle":"bottom start"),h.lang.rtl)),he=T(()=>e.cover===!0?N.value:ie(e.self||"top start",h.lang.rtl)),ge=T(()=>(e.square===!0?" q-menu--square":"")+(f.value===!0?" q-menu--dark q-dark":"")),me=T(()=>e.autoClose===!0?{onClick:be}:{}),Q=T(()=>x.value===!0&&e.persistent!==!0);_(Q,r=>{r===!0?(De(z),lt(I)):(Z(z),te(I))});function L(){Ge(()=>{let r=v.value;r&&r.contains(document.activeElement)!==!0&&(r=r.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||r.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||r.querySelector("[autofocus], [data-autofocus]")||r,r.focus({preventScroll:!0}))})}function ve(r){if(i=e.noRefocus===!1?document.activeElement:null,Fe(G),O(),Y(),c=void 0,r!==void 0&&(e.touchPosition||e.contextMenu)){const R=Ke(r);if(R.left!==void 0){const{top:pe,left:we}=b.value.getBoundingClientRect();c={left:R.left-we,top:R.top-pe}}}l===void 0&&(l=_(()=>h.screen.width+"|"+h.screen.height+"|"+e.self+"|"+e.anchor+"|"+h.lang.rtl,k)),e.noFocus!==!0&&document.activeElement.blur(),H(()=>{k(),e.noFocus!==!0&&L()}),M(()=>{h.platform.is.ios===!0&&(s=e.autoClose,v.value.click()),k(),O(!0),o("show",r)},e.transitionDuration)}function xe(r){q(),j(),V(!0),i!==null&&(r===void 0||r.qClickOutside!==!0)&&(((r?.type.indexOf("key")===0?i.closest('[tabindex]:not([tabindex^="-"])'):void 0)||i).focus(),i=null),M(()=>{j(!0),o("hide",r)},e.transitionDuration)}function V(r){c=void 0,l!==void 0&&(l(),l=void 0),(r===!0||x.value===!0)&&(Oe(G),E(),te(I),Z(z)),r!==!0&&(i=null)}function Y(){(b.value!==null||e.scrollTarget!==void 0)&&(p.value=je(b.value,e.scrollTarget),g(p.value,k))}function be(r){s!==!0?(Ne(u,r),o("click",r)):s=!1}function G(r){Q.value===!0&&e.noFocus!==!0&&Qe(v.value,r.target)!==!0&&L()}function z(r){e.noEscDismiss!==!0&&(o("escapeKey"),w(r))}function k(){ce({targetEl:v.value,offset:e.offset,anchorEl:b.value,anchorOrigin:N.value,selfOrigin:he.value,absoluteOffset:c,fit:e.fit,cover:e.cover,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function ye(){return ee(Ye,A.value,()=>x.value===!0?ee("div",{role:"menu",...n,ref:v,tabindex:-1,class:["q-menu q-position-engine scroll"+ge.value,n.class],style:[n.style,m.value],...me.value},Ve(t.default)):null)}return K(V),Object.assign(u,{focus:L,updatePosition:k}),de}}),re=["B","KB","MB","GB","TB","PB"];function vt(e,t=1){let o=0;for(;parseInt(e,10)>=1024&&onull;return{has:()=>!1,hasItem:()=>!1,getLength:()=>0,getItem:e,getIndex:e,getKey:e,getAll:()=>{},getAllKeys:()=>[],set:C,setItem:C,remove:C,removeItem:C,clear:C,isEmpty:()=>!0}}function dt(e){const t=window[e+"Storage"],o=l=>{const s=t.getItem(l);return s?ct(s):null},n=l=>t.getItem(l)!==null,i=(l,s)=>{t.setItem(l,ut(s))},c=l=>{t.removeItem(l)};return{has:n,hasItem:n,getLength:()=>t.length,getItem:o,getIndex:l=>ll{let l;const s={},d=t.length;for(let u=0;u{const l=[],s=t.length;for(let d=0;d{t.clear()},isEmpty:()=>t.length===0}}const fe=ue.has.webStorage===!1?ft():dt("local"),ht={install({$q:e}){e.localStorage=fe}};Object.assign(ht,fe);export{ht as P,mt as Q,le as a,xt as b,Ze as c,ot as d,nt as e,lt as f,vt as h,bt as n,ie as p,te as r,ce as s,et as u,it as v}; diff --git a/app/dist/spa/assets/MainLayout-Cyzrc7AM.js b/app/dist/spa/assets/MainLayout-Cyzrc7AM.js new file mode 100644 index 0000000..1912731 --- /dev/null +++ b/app/dist/spa/assets/MainLayout-Cyzrc7AM.js @@ -0,0 +1 @@ +import{c as A,a as c,h as q,b as ve,r as C,i as Le,o as re,g as J,e as Z,n as Me,f as de,l as $e,j as fe,k as V,m as ie,w as O,p as St,q as Be,s as wt,t as qt,u as _t,v as Ct,x as Tt,y as ze,z as oe,A as pe,B as se,C as ke,D as Qe,E as Se,F as Ot,G as xt,H as lt,I as ot,J as $t,K as we,L as Bt,M as kt,N as Pe,O as Ve,P as Lt,Q as Mt,R as Pt,S as Ht,T as Et,U as Dt,V as Ae,W as nt,X as Qt,Y as qe,Z as ce,_ as Vt,$ as At,a0 as Ft,a1 as M,a2 as It,a3 as _e,a4 as k,a5 as E,a6 as Ce,a7 as Te,a8 as ee,a9 as Fe,aa as Ie,ab as Re,ac as te}from"./index-0B2sgEyA.js";import{Q as Ne,a as je,b as We}from"./QList-CHwmSUjA.js";import{c as Rt,b as j,Q as Xe}from"./LocalStorage-7Uw3xG9P.js";import{u as rt}from"./taxstore-oR45_mFg.js";import{u as Nt}from"./children-ChLzVyp9.js";import{u as jt}from"./vue-i18n.runtime-DPKkE7zN.js";const Wt=A({name:"QToolbarTitle",props:{shrink:Boolean},setup(e,{slots:r}){const n=c(()=>"q-toolbar__title ellipsis"+(e.shrink===!0?" col-shrink":""));return()=>q("div",{class:n.value},ve(r.default))}}),Xt=A({name:"QSpace",setup(){const e=q("div",{class:"q-space"});return()=>e}}),Ue=A({name:"QToolbar",props:{inset:Boolean},setup(e,{slots:r}){const n=c(()=>"q-toolbar row no-wrap items-center"+(e.inset===!0?" q-toolbar--inset":""));return()=>q("div",{class:n.value,role:"toolbar"},ve(r.default))}});function Ut(){const e=C(!Le.value);return e.value===!1&&re(()=>{e.value=!0}),{isHydrated:e}}const it=typeof ResizeObserver<"u",Ye=it===!0?{}:{style:"display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;",url:"about:blank"},ae=A({name:"QResizeObserver",props:{debounce:{type:[String,Number],default:100}},emits:["resize"],setup(e,{emit:r}){let n=null,s,t={width:-1,height:-1};function a(d){d===!0||e.debounce===0||e.debounce==="0"?o():n===null&&(n=setTimeout(o,e.debounce))}function o(){if(n!==null&&(clearTimeout(n),n=null),s){const{offsetWidth:d,offsetHeight:v}=s;(d!==t.width||v!==t.height)&&(t={width:d,height:v},r("resize",t))}}const{proxy:l}=J();if(l.trigger=a,it===!0){let d;const v=i=>{s=l.$el.parentNode,s?(d=new ResizeObserver(a),d.observe(s),o()):i!==!0&&de(()=>{v(!0)})};return re(()=>{v()}),Z(()=>{n!==null&&clearTimeout(n),d!==void 0&&(d.disconnect!==void 0?d.disconnect():s&&d.unobserve(s))}),Me}else{let d=function(){n!==null&&(clearTimeout(n),n=null),b!==void 0&&(b.removeEventListener!==void 0&&b.removeEventListener("resize",a,$e.passive),b=void 0)},v=function(){d(),s?.contentDocument&&(b=s.contentDocument.defaultView,b.addEventListener("resize",a,$e.passive),o())};const{isHydrated:i}=Ut();let b;return re(()=>{de(()=>{s=l.$el,s&&v()})}),Z(d),()=>{if(i.value===!0)return q("object",{class:"q--avoid-card-border",style:Ye.style,tabindex:-1,type:"text/html",data:Ye.url,"aria-hidden":"true",onLoad:v})}}}}),Yt=A({name:"QHeader",props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,revealOffset:{type:Number,default:250},bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:["reveal","focusin"],setup(e,{slots:r,emit:n}){const{proxy:{$q:s}}=J(),t=fe(ie,V);if(t===V)return console.error("QHeader needs to be child of QLayout"),V;const a=C(parseInt(e.heightHint,10)),o=C(!0),l=c(()=>e.reveal===!0||t.view.value.indexOf("H")!==-1||s.platform.is.ios&&t.isContainer.value===!0),d=c(()=>{if(e.modelValue!==!0)return 0;if(l.value===!0)return o.value===!0?a.value:0;const g=a.value-t.scroll.value.position;return g>0?g:0}),v=c(()=>e.modelValue!==!0||l.value===!0&&o.value!==!0),i=c(()=>e.modelValue===!0&&v.value===!0&&e.reveal===!0),b=c(()=>"q-header q-layout__section--marginal "+(l.value===!0?"fixed":"absolute")+"-top"+(e.bordered===!0?" q-header--bordered":"")+(v.value===!0?" q-header--hidden":"")+(e.modelValue!==!0?" q-layout--prevent-focus":"")),p=c(()=>{const g=t.rows.value.top,P={};return g[0]==="l"&&t.left.space===!0&&(P[s.lang.rtl===!0?"right":"left"]=`${t.left.size}px`),g[2]==="r"&&t.right.space===!0&&(P[s.lang.rtl===!0?"left":"right"]=`${t.right.size}px`),P});function m(g,P){t.update("header",g,P)}function z(g,P){g.value!==P&&(g.value=P)}function B({height:g}){z(a,g),m("size",g)}function $(g){i.value===!0&&z(o,!0),n("focusin",g)}O(()=>e.modelValue,g=>{m("space",g),z(o,!0),t.animate()}),O(d,g=>{m("offset",g)}),O(()=>e.reveal,g=>{g===!1&&z(o,e.modelValue)}),O(o,g=>{t.animate(),n("reveal",g)}),O(t.scroll,g=>{e.reveal===!0&&z(o,g.direction==="up"||g.position<=e.revealOffset||g.position-g.inflectionPoint<100)});const _={};return t.instances.header=_,e.modelValue===!0&&m("size",a.value),m("space",e.modelValue),m("offset",d.value),Z(()=>{t.instances.header===_&&(t.instances.header=void 0,m("size",0),m("offset",0),m("space",!1))}),()=>{const g=St(r.default,[]);return e.elevated===!0&&g.push(q("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),g.push(q(ae,{debounce:0,onResize:B})),q("header",{class:b.value,style:p.value,onFocusin:$},g)}}}),Kt=A({props:["store","barStyle","verticalBarStyle","horizontalBarStyle"],setup(e){return()=>[q("div",{class:e.store.scroll.vertical.barClass.value,style:[e.barStyle,e.verticalBarStyle],"aria-hidden":"true",onMousedown:e.store.onVerticalMousedown}),q("div",{class:e.store.scroll.horizontal.barClass.value,style:[e.barStyle,e.horizontalBarStyle],"aria-hidden":"true",onMousedown:e.store.onHorizontalMousedown}),Be(q("div",{ref:e.store.scroll.vertical.ref,class:e.store.scroll.vertical.thumbClass.value,style:e.store.scroll.vertical.style.value,"aria-hidden":"true"}),e.store.thumbVertDir),Be(q("div",{ref:e.store.scroll.horizontal.ref,class:e.store.scroll.horizontal.thumbClass.value,style:e.store.scroll.horizontal.style.value,"aria-hidden":"true"}),e.store.thumbHorizDir)]}}),{passive:Ke}=$e,Jt=["both","horizontal","vertical"],ut=A({name:"QScrollObserver",props:{axis:{type:String,validator:e=>Jt.includes(e),default:"vertical"},debounce:[String,Number],scrollTarget:wt},emits:["scroll"],setup(e,{emit:r}){const n={position:{top:0,left:0},direction:"down",directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}};let s=null,t,a;O(()=>e.scrollTarget,()=>{d(),l()});function o(){s?.();const b=Math.max(0,_t(t)),p=Ct(t),m={top:b-n.position.top,left:p-n.position.left};if(e.axis==="vertical"&&m.top===0||e.axis==="horizontal"&&m.left===0)return;const z=Math.abs(m.top)>=Math.abs(m.left)?m.top<0?"up":"down":m.left<0?"left":"right";n.position={top:b,left:p},n.directionChanged=n.direction!==z,n.delta=m,n.directionChanged===!0&&(n.direction=z,n.inflectionPoint=n.position),r("scroll",{...n})}function l(){t=qt(a,e.scrollTarget),t.addEventListener("scroll",v,Ke),v(!0)}function d(){t!==void 0&&(t.removeEventListener("scroll",v,Ke),t=void 0)}function v(b){if(b===!0||e.debounce===0||e.debounce==="0")o();else if(s===null){const[p,m]=e.debounce?[setTimeout(o,e.debounce),clearTimeout]:[requestAnimationFrame(o),cancelAnimationFrame];s=()=>{m(p),s=null}}}const{proxy:i}=J();return O(()=>i.$q.lang.rtl,o),re(()=>{a=i.$el.parentNode,l()}),Z(()=>{s?.(),d()}),Object.assign(i,{trigger:v,getPosition:()=>n}),Me}}),He={left:!0,right:!0,up:!0,down:!0,horizontal:!0,vertical:!0},Gt=Object.keys(He);He.all=!0;function Je(e){const r={};for(const n of Gt)e[n]===!0&&(r[n]=!0);return Object.keys(r).length===0?He:(r.horizontal===!0?r.left=r.right=!0:r.left===!0&&r.right===!0&&(r.horizontal=!0),r.vertical===!0?r.up=r.down=!0:r.up===!0&&r.down===!0&&(r.vertical=!0),r.horizontal===!0&&r.vertical===!0&&(r.all=!0),r)}const Zt=["INPUT","TEXTAREA"];function Ge(e,r){return r.event===void 0&&e.target!==void 0&&e.target.draggable!==!0&&typeof r.handler=="function"&&Zt.includes(e.target.nodeName.toUpperCase())===!1&&(e.qClonedBy===void 0||e.qClonedBy.indexOf(r.uid)===-1)}function Oe(e,r,n){const s=ke(e);let t,a=s.left-r.event.x,o=s.top-r.event.y,l=Math.abs(a),d=Math.abs(o);const v=r.direction;v.horizontal===!0&&v.vertical!==!0?t=a<0?"left":"right":v.horizontal!==!0&&v.vertical===!0?t=o<0?"up":"down":v.up===!0&&o<0?(t="up",l>d&&(v.left===!0&&a<0?t="left":v.right===!0&&a>0&&(t="right"))):v.down===!0&&o>0?(t="down",l>d&&(v.left===!0&&a<0?t="left":v.right===!0&&a>0&&(t="right"))):v.left===!0&&a<0?(t="left",l0&&(t="down"))):v.right===!0&&a>0&&(t="right",l0&&(t="down")));let i=!1;if(t===void 0&&n===!1){if(r.event.isFirst===!0||r.event.lastDir===void 0)return{};t=r.event.lastDir,i=!0,t==="left"||t==="right"?(s.left-=a,l=0,a=0):(s.top-=o,d=0,o=0)}return{synthetic:i,payload:{evt:e,touch:r.event.mouse!==!0,mouse:r.event.mouse===!0,position:s,direction:t,isFirst:r.event.isFirst,isFinal:n===!0,duration:Date.now()-r.event.time,distance:{x:l,y:d},offset:{x:a,y:o},delta:{x:s.left-r.event.lastX,y:s.top-r.event.lastY}}}}let ea=0;const ne=Tt({name:"touch-pan",beforeMount(e,{value:r,modifiers:n}){if(n.mouse!==!0&&oe.has.touch!==!0)return;function s(a,o){n.mouse===!0&&o===!0?xt(a):(n.stop===!0&&Se(a),n.prevent===!0&&Qe(a))}const t={uid:"qvtp_"+ea++,handler:r,modifiers:n,direction:Je(n),noop:Me,mouseStart(a){Ge(a,t)&&Ot(a)&&(se(t,"temp",[[document,"mousemove","move","notPassiveCapture"],[document,"mouseup","end","passiveCapture"]]),t.start(a,!0))},touchStart(a){if(Ge(a,t)){const o=a.target;se(t,"temp",[[o,"touchmove","move","notPassiveCapture"],[o,"touchcancel","end","passiveCapture"],[o,"touchend","end","passiveCapture"]]),t.start(a)}},start(a,o){if(oe.is.firefox===!0&&pe(e,!0),t.lastEvt=a,o===!0||n.stop===!0){if(t.direction.all!==!0&&(o!==!0||t.modifiers.mouseAllDir!==!0&&t.modifiers.mousealldir!==!0)){const v=a.type.indexOf("mouse")!==-1?new MouseEvent(a.type,a):new TouchEvent(a.type,a);a.defaultPrevented===!0&&Qe(v),a.cancelBubble===!0&&Se(v),Object.assign(v,{qKeyEvent:a.qKeyEvent,qClickOutside:a.qClickOutside,qAnchorHandled:a.qAnchorHandled,qClonedBy:a.qClonedBy===void 0?[t.uid]:a.qClonedBy.concat(t.uid)}),t.initialEvent={target:a.target,event:v}}Se(a)}const{left:l,top:d}=ke(a);t.event={x:l,y:d,time:Date.now(),mouse:o===!0,detected:!1,isFirst:!0,isFinal:!1,lastX:l,lastY:d}},move(a){if(t.event===void 0)return;const o=ke(a),l=o.left-t.event.x,d=o.top-t.event.y;if(l===0&&d===0)return;t.lastEvt=a;const v=t.event.mouse===!0,i=()=>{s(a,v);let m;n.preserveCursor!==!0&&n.preservecursor!==!0&&(m=document.documentElement.style.cursor||"",document.documentElement.style.cursor="grabbing"),v===!0&&document.body.classList.add("no-pointer-events--children"),document.body.classList.add("non-selectable"),Rt(),t.styleCleanup=z=>{if(t.styleCleanup=void 0,m!==void 0&&(document.documentElement.style.cursor=m),document.body.classList.remove("non-selectable"),v===!0){const B=()=>{document.body.classList.remove("no-pointer-events--children")};z!==void 0?setTimeout(()=>{B(),z()},50):B()}else z!==void 0&&z()}};if(t.event.detected===!0){t.event.isFirst!==!0&&s(a,t.event.mouse);const{payload:m,synthetic:z}=Oe(a,t,!1);m!==void 0&&(t.handler(m)===!1?t.end(a):(t.styleCleanup===void 0&&t.event.isFirst===!0&&i(),t.event.lastX=m.position.left,t.event.lastY=m.position.top,t.event.lastDir=z===!0?void 0:m.direction,t.event.isFirst=!1));return}if(t.direction.all===!0||v===!0&&(t.modifiers.mouseAllDir===!0||t.modifiers.mousealldir===!0)){i(),t.event.detected=!0,t.move(a);return}const b=Math.abs(l),p=Math.abs(d);b!==p&&(t.direction.horizontal===!0&&b>p||t.direction.vertical===!0&&b0||t.direction.left===!0&&b>p&&l<0||t.direction.right===!0&&b>p&&l>0?(t.event.detected=!0,t.move(a)):t.end(a,!0))},end(a,o){if(t.event!==void 0){if(ze(t,"temp"),oe.is.firefox===!0&&pe(e,!1),o===!0)t.styleCleanup?.(),t.event.detected!==!0&&t.initialEvent!==void 0&&t.initialEvent.target.dispatchEvent(t.initialEvent.event);else if(t.event.detected===!0){t.event.isFirst===!0&&t.handler(Oe(a===void 0?t.lastEvt:a,t).payload);const{payload:l}=Oe(a===void 0?t.lastEvt:a,t,!0),d=()=>{t.handler(l)};t.styleCleanup!==void 0?t.styleCleanup(d):d()}t.event=void 0,t.initialEvent=void 0,t.lastEvt=void 0}}};if(e.__qtouchpan=t,n.mouse===!0){const a=n.mouseCapture===!0||n.mousecapture===!0?"Capture":"";se(t,"main",[[e,"mousedown","mouseStart",`passive${a}`]])}oe.has.touch===!0&&se(t,"main",[[e,"touchstart","touchStart",`passive${n.capture===!0?"Capture":""}`],[e,"touchmove","noop","notPassiveCapture"]])},updated(e,r){const n=e.__qtouchpan;n!==void 0&&(r.oldValue!==r.value&&(typeof value!="function"&&n.end(),n.handler=r.value),n.direction=Je(r.modifiers))},beforeUnmount(e){const r=e.__qtouchpan;r!==void 0&&(r.event!==void 0&&r.end(),ze(r,"main"),ze(r,"temp"),oe.is.firefox===!0&&pe(e,!1),r.styleCleanup?.(),delete e.__qtouchpan)}}),Ze=["vertical","horizontal"],xe={vertical:{offset:"offsetY",scroll:"scrollTop",dir:"down",dist:"y"},horizontal:{offset:"offsetX",scroll:"scrollLeft",dir:"right",dist:"x"}},et={prevent:!0,mouse:!0,mouseAllDir:!0},tt=e=>e>=250?50:Math.ceil(e/5),ta=A({name:"QScrollArea",props:{...lt,thumbStyle:Object,verticalThumbStyle:Object,horizontalThumbStyle:Object,barStyle:[Array,String,Object],verticalBarStyle:[Array,String,Object],horizontalBarStyle:[Array,String,Object],verticalOffset:{type:Array,default:[0,0]},horizontalOffset:{type:Array,default:[0,0]},contentStyle:[Array,String,Object],contentActiveStyle:[Array,String,Object],delay:{type:[String,Number],default:1e3},visible:{type:Boolean,default:null},tabindex:[String,Number],onScroll:Function},setup(e,{slots:r,emit:n}){const s=C(!1),t=C(!1),a=C(!1),o={vertical:C(0),horizontal:C(0)},l={vertical:{ref:C(null),position:C(0),size:C(0)},horizontal:{ref:C(null),position:C(0),size:C(0)}},{proxy:d}=J(),v=ot(e,d.$q);let i=null,b;const p=C(null),m=c(()=>"q-scrollarea"+(v.value===!0?" q-scrollarea--dark":""));Object.assign(o,{verticalInner:c(()=>o.vertical.value-e.verticalOffset[0]-e.verticalOffset[1]),horizontalInner:c(()=>o.horizontal.value-e.horizontalOffset[0]-e.horizontalOffset[1])}),l.vertical.percentage=c(()=>{const f=l.vertical.size.value-o.vertical.value;if(f<=0)return 0;const y=j(l.vertical.position.value/f,0,1);return Math.round(y*1e4)/1e4}),l.vertical.thumbHidden=c(()=>(e.visible===null?a.value:e.visible)!==!0&&s.value===!1&&t.value===!1||l.vertical.size.value<=o.vertical.value+1),l.vertical.thumbStart=c(()=>e.verticalOffset[0]+l.vertical.percentage.value*(o.verticalInner.value-l.vertical.thumbSize.value)),l.vertical.thumbSize=c(()=>Math.round(j(o.verticalInner.value*o.verticalInner.value/l.vertical.size.value,tt(o.verticalInner.value),o.verticalInner.value))),l.vertical.style=c(()=>({...e.thumbStyle,...e.verticalThumbStyle,top:`${l.vertical.thumbStart.value}px`,height:`${l.vertical.thumbSize.value}px`,right:`${e.horizontalOffset[1]}px`})),l.vertical.thumbClass=c(()=>"q-scrollarea__thumb q-scrollarea__thumb--v absolute-right"+(l.vertical.thumbHidden.value===!0?" q-scrollarea__thumb--invisible":"")),l.vertical.barClass=c(()=>"q-scrollarea__bar q-scrollarea__bar--v absolute-right"+(l.vertical.thumbHidden.value===!0?" q-scrollarea__bar--invisible":"")),l.horizontal.percentage=c(()=>{const f=l.horizontal.size.value-o.horizontal.value;if(f<=0)return 0;const y=j(Math.abs(l.horizontal.position.value)/f,0,1);return Math.round(y*1e4)/1e4}),l.horizontal.thumbHidden=c(()=>(e.visible===null?a.value:e.visible)!==!0&&s.value===!1&&t.value===!1||l.horizontal.size.value<=o.horizontal.value+1),l.horizontal.thumbStart=c(()=>e.horizontalOffset[0]+l.horizontal.percentage.value*(o.horizontalInner.value-l.horizontal.thumbSize.value)),l.horizontal.thumbSize=c(()=>Math.round(j(o.horizontalInner.value*o.horizontalInner.value/l.horizontal.size.value,tt(o.horizontalInner.value),o.horizontalInner.value))),l.horizontal.style=c(()=>({...e.thumbStyle,...e.horizontalThumbStyle,[d.$q.lang.rtl===!0?"right":"left"]:`${l.horizontal.thumbStart.value}px`,width:`${l.horizontal.thumbSize.value}px`,bottom:`${e.verticalOffset[1]}px`})),l.horizontal.thumbClass=c(()=>"q-scrollarea__thumb q-scrollarea__thumb--h absolute-bottom"+(l.horizontal.thumbHidden.value===!0?" q-scrollarea__thumb--invisible":"")),l.horizontal.barClass=c(()=>"q-scrollarea__bar q-scrollarea__bar--h absolute-bottom"+(l.horizontal.thumbHidden.value===!0?" q-scrollarea__bar--invisible":""));const z=c(()=>l.vertical.thumbHidden.value===!0&&l.horizontal.thumbHidden.value===!0?e.contentStyle:e.contentActiveStyle);function B(){const f={};return Ze.forEach(y=>{const T=l[y];Object.assign(f,{[y+"Position"]:T.position.value,[y+"Percentage"]:T.percentage.value,[y+"Size"]:T.size.value,[y+"ContainerSize"]:o[y].value,[y+"ContainerInnerSize"]:o[y+"Inner"].value})}),f}const $=$t(()=>{const f=B();f.ref=d,n("scroll",f)},0);function _(f,y,T){if(Ze.includes(f)===!1){console.error("[QScrollArea]: wrong first param of setScrollPosition (vertical/horizontal)");return}(f==="vertical"?Ve:we)(p.value,y,T)}function g({height:f,width:y}){let T=!1;o.vertical.value!==f&&(o.vertical.value=f,T=!0),o.horizontal.value!==y&&(o.horizontal.value=y,T=!0),T===!0&&L()}function P({position:f}){let y=!1;l.vertical.position.value!==f.top&&(l.vertical.position.value=f.top,y=!0),l.horizontal.position.value!==f.left&&(l.horizontal.position.value=f.left,y=!0),y===!0&&L()}function S({height:f,width:y}){l.horizontal.size.value!==y&&(l.horizontal.size.value=y,L()),l.vertical.size.value!==f&&(l.vertical.size.value=f,L())}function h(f,y){const T=l[y];if(f.isFirst===!0){if(T.thumbHidden.value===!0)return;b=T.position.value,t.value=!0}else if(t.value!==!0)return;f.isFinal===!0&&(t.value=!1);const I=xe[y],N=(T.size.value-o[y].value)/(o[y+"Inner"].value-T.thumbSize.value),R=f.distance[I.dist],le=b+(f.direction===I.dir?1:-1)*R*N;W(le,y)}function x(f,y){const T=l[y];if(T.thumbHidden.value!==!0){const I=y==="vertical"?e.verticalOffset[0]:e.horizontalOffset[0],N=f[xe[y].offset]-I,R=T.thumbStart.value-I;if(NR+T.thumbSize.value){const le=N-T.thumbSize.value/2,he=j(le/(o[y+"Inner"].value-T.thumbSize.value),0,1);W(he*Math.max(0,T.size.value-o[y].value),y)}T.ref.value!==null&&T.ref.value.dispatchEvent(new MouseEvent(f.type,f))}}function L(){s.value=!0,i!==null&&clearTimeout(i),i=setTimeout(()=>{i=null,s.value=!1},e.delay),e.onScroll!==void 0&&$()}function W(f,y){p.value[xe[y].scroll]=f}let H=null;function F(){H!==null&&clearTimeout(H),H=setTimeout(()=>{H=null,a.value=!0},d.$q.platform.is.ios?50:0)}function X(){H!==null&&(clearTimeout(H),H=null),a.value=!1}let G=null;O(()=>d.$q.lang.rtl,f=>{p.value!==null&&we(p.value,Math.abs(l.horizontal.position.value)*(f===!0?-1:1))}),Bt(()=>{G={top:l.vertical.position.value,left:l.horizontal.position.value}}),kt(()=>{if(G===null)return;const f=p.value;f!==null&&(we(f,G.left),Ve(f,G.top))}),Z($.cancel),Object.assign(d,{getScrollTarget:()=>p.value,getScroll:B,getScrollPosition:()=>({top:l.vertical.position.value,left:l.horizontal.position.value}),getScrollPercentage:()=>({top:l.vertical.percentage.value,left:l.horizontal.percentage.value}),setScrollPosition:_,setScrollPercentage(f,y,T){_(f,y*(l[f].size.value-o[f].value)*(f==="horizontal"&&d.$q.lang.rtl===!0?-1:1),T)}});const U={scroll:l,thumbVertDir:[[ne,f=>{h(f,"vertical")},void 0,{vertical:!0,...et}]],thumbHorizDir:[[ne,f=>{h(f,"horizontal")},void 0,{horizontal:!0,...et}]],onVerticalMousedown(f){x(f,"vertical")},onHorizontalMousedown(f){x(f,"horizontal")}};return()=>q("div",{class:m.value,onMouseenter:F,onMouseleave:X},[q("div",{ref:p,class:"q-scrollarea__container scroll relative-position fit hide-scrollbar",tabindex:e.tabindex!==void 0?e.tabindex:void 0},[q("div",{class:"q-scrollarea__content absolute",style:z.value},Pe(r.default,[q(ae,{debounce:0,onResize:S})])),q(ut,{axis:"both",onScroll:P})]),q(ae,{debounce:0,onResize:g}),q(Kt,{store:U,barStyle:e.barStyle,verticalBarStyle:e.verticalBarStyle,horizontalBarStyle:e.horizontalBarStyle})])}}),at=150,aa=A({name:"QDrawer",inheritAttrs:!1,props:{...Mt,...lt,side:{type:String,default:"left",validator:e=>["left","right"].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>["default","desktop","mobile"].includes(e),default:"default"},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...Lt,"onLayout","miniState"],setup(e,{slots:r,emit:n,attrs:s}){const t=J(),{proxy:{$q:a}}=t,o=ot(e,a),{preventBodyScroll:l}=Dt(),{registerTimeout:d,removeTimeout:v}=Pt(),i=fe(ie,V);if(i===V)return console.error("QDrawer needs to be child of QLayout"),V;let b,p=null,m;const z=C(e.behavior==="mobile"||e.behavior!=="desktop"&&i.totalWidth.value<=e.breakpoint),B=c(()=>e.mini===!0&&z.value!==!0),$=c(()=>B.value===!0?e.miniWidth:e.width),_=C(e.showIfAbove===!0&&z.value===!1?!0:e.modelValue===!0),g=c(()=>e.persistent!==!0&&(z.value===!0||le.value===!0));function P(u,w){if(L(),u!==!1&&i.animate(),Q(0),z.value===!0){const D=i.instances[T.value];D?.belowBreakpoint===!0&&D.hide(!1),Y(1),i.isContainer.value!==!0&&l(!0)}else Y(0),u!==!1&&be(!1);d(()=>{u!==!1&&be(!0),w!==!0&&n("show",u)},at)}function S(u,w){W(),u!==!1&&i.animate(),Y(0),Q(X.value*$.value),ge(),w!==!0?d(()=>{n("hide",u)},at):v()}const{show:h,hide:x}=Ht({showing:_,hideOnRouteChange:g,handleShow:P,handleHide:S}),{addToHistory:L,removeFromHistory:W}=Et(_,x,g),H={belowBreakpoint:z,hide:x},F=c(()=>e.side==="right"),X=c(()=>(a.lang.rtl===!0?-1:1)*(F.value===!0?1:-1)),G=C(0),U=C(!1),f=C(!1),y=C($.value*X.value),T=c(()=>F.value===!0?"left":"right"),I=c(()=>_.value===!0&&z.value===!1&&e.overlay===!1?e.miniToOverlay===!0?e.miniWidth:$.value:0),N=c(()=>e.overlay===!0||e.miniToOverlay===!0||i.view.value.indexOf(F.value?"R":"L")!==-1||a.platform.is.ios===!0&&i.isContainer.value===!0),R=c(()=>e.overlay===!1&&_.value===!0&&z.value===!1),le=c(()=>e.overlay===!0&&_.value===!0&&z.value===!1),he=c(()=>"fullscreen q-drawer__backdrop"+(_.value===!1&&U.value===!1?" hidden":"")),st=c(()=>({backgroundColor:`rgba(0,0,0,${G.value*.4})`})),Ee=c(()=>F.value===!0?i.rows.value.top[2]==="r":i.rows.value.top[0]==="l"),ct=c(()=>F.value===!0?i.rows.value.bottom[2]==="r":i.rows.value.bottom[0]==="l"),dt=c(()=>{const u={};return i.header.space===!0&&Ee.value===!1&&(N.value===!0?u.top=`${i.header.offset}px`:i.header.space===!0&&(u.top=`${i.header.size}px`)),i.footer.space===!0&&ct.value===!1&&(N.value===!0?u.bottom=`${i.footer.offset}px`:i.footer.space===!0&&(u.bottom=`${i.footer.size}px`)),u}),vt=c(()=>{const u={width:`${$.value}px`,transform:`translateX(${y.value}px)`};return z.value===!0?u:Object.assign(u,dt.value)}),ft=c(()=>"q-drawer__content fit "+(i.isContainer.value!==!0?"scroll":"overflow-auto")),ht=c(()=>`q-drawer q-drawer--${e.side}`+(f.value===!0?" q-drawer--mini-animate":"")+(e.bordered===!0?" q-drawer--bordered":"")+(o.value===!0?" q-drawer--dark q-dark":"")+(U.value===!0?" no-transition":_.value===!0?"":" q-layout--prevent-focus")+(z.value===!0?" fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding":` q-drawer--${B.value===!0?"mini":"standard"}`+(N.value===!0||R.value!==!0?" fixed":"")+(e.overlay===!0||e.miniToOverlay===!0?" q-drawer--on-top":"")+(Ee.value===!0?" q-drawer--top-padding":""))),mt=c(()=>{const u=a.lang.rtl===!0?e.side:T.value;return[[ne,zt,void 0,{[u]:!0,mouse:!0}]]}),bt=c(()=>{const u=a.lang.rtl===!0?T.value:e.side;return[[ne,De,void 0,{[u]:!0,mouse:!0}]]}),gt=c(()=>{const u=a.lang.rtl===!0?T.value:e.side;return[[ne,De,void 0,{[u]:!0,mouse:!0,mouseAllDir:!0}]]});function me(){pt(z,e.behavior==="mobile"||e.behavior!=="desktop"&&i.totalWidth.value<=e.breakpoint)}O(z,u=>{u===!0?(b=_.value,_.value===!0&&x(!1)):e.overlay===!1&&e.behavior!=="mobile"&&b!==!1&&(_.value===!0?(Q(0),Y(0),ge()):h(!1))}),O(()=>e.side,(u,w)=>{i.instances[w]===H&&(i.instances[w]=void 0,i[w].space=!1,i[w].offset=0),i.instances[u]=H,i[u].size=$.value,i[u].space=R.value,i[u].offset=I.value}),O(i.totalWidth,()=>{(i.isContainer.value===!0||document.qScrollPrevented!==!0)&&me()}),O(()=>e.behavior+e.breakpoint,me),O(i.isContainer,u=>{_.value===!0&&l(u!==!0),u===!0&&me()}),O(i.scrollbarWidth,()=>{Q(_.value===!0?0:void 0)}),O(I,u=>{K("offset",u)}),O(R,u=>{n("onLayout",u),K("space",u)}),O(F,()=>{Q()}),O($,u=>{Q(),ye(e.miniToOverlay,u)}),O(()=>e.miniToOverlay,u=>{ye(u,$.value)}),O(()=>a.lang.rtl,()=>{Q()}),O(()=>e.mini,()=>{e.noMiniAnimation||e.modelValue===!0&&(yt(),i.animate())}),O(B,u=>{n("miniState",u)});function Q(u){u===void 0?de(()=>{u=_.value===!0?0:$.value,Q(X.value*u)}):(i.isContainer.value===!0&&F.value===!0&&(z.value===!0||Math.abs(u)===$.value)&&(u+=X.value*i.scrollbarWidth.value),y.value=u)}function Y(u){G.value=u}function be(u){const w=u===!0?"remove":i.isContainer.value!==!0?"add":"";w!==""&&document.body.classList[w]("q-body--drawer-toggle")}function yt(){p!==null&&clearTimeout(p),t.proxy&&t.proxy.$el&&t.proxy.$el.classList.add("q-drawer--mini-animate"),f.value=!0,p=setTimeout(()=>{p=null,f.value=!1,t?.proxy?.$el?.classList.remove("q-drawer--mini-animate")},150)}function zt(u){if(_.value!==!1)return;const w=$.value,D=j(u.distance.x,0,w);if(u.isFinal===!0){D>=Math.min(75,w)===!0?h():(i.animate(),Y(0),Q(X.value*w)),U.value=!1;return}Q((a.lang.rtl===!0?F.value!==!0:F.value)?Math.max(w-D,0):Math.min(0,D-w)),Y(j(D/w,0,1)),u.isFirst===!0&&(U.value=!0)}function De(u){if(_.value!==!0)return;const w=$.value,D=u.direction===e.side,ue=(a.lang.rtl===!0?D!==!0:D)?j(u.distance.x,0,w):0;if(u.isFinal===!0){Math.abs(ue){n("onLayout",R.value),n("miniState",B.value),b=e.showIfAbove===!0;const u=()=>{(_.value===!0?P:S)(!1,!0)};if(i.totalWidth.value!==0){de(u);return}m=O(i.totalWidth,()=>{m(),m=void 0,_.value===!1&&e.showIfAbove===!0&&z.value===!1?h(!1):u()})}),Z(()=>{m?.(),p!==null&&(clearTimeout(p),p=null),_.value===!0&&ge(),i.instances[e.side]===H&&(i.instances[e.side]=void 0,K("size",0),K("offset",0),K("space",!1))}),()=>{const u=[];z.value===!0&&(e.noSwipeOpen===!1&&u.push(Be(q("div",{key:"open",class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":"true"}),mt.value)),u.push(Ae("div",{ref:"backdrop",class:he.value,style:st.value,"aria-hidden":"true",onClick:x},void 0,"backdrop",e.noSwipeBackdrop!==!0&&_.value===!0,()=>gt.value)));const w=B.value===!0&&r.mini!==void 0,D=[q("div",{...s,key:""+w,class:[ft.value,s.class]},w===!0?r.mini():ve(r.default))];return e.elevated===!0&&_.value===!0&&D.push(q("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),u.push(Ae("aside",{ref:"content",class:ht.value,style:vt.value},D,"contentclose",e.noSwipeClose!==!0&&z.value===!0,()=>bt.value)),q("div",{class:"q-drawer-container"},u)}}}),la=A({name:"QPageContainer",setup(e,{slots:r}){const{proxy:{$q:n}}=J(),s=fe(ie,V);if(s===V)return console.error("QPageContainer needs to be child of QLayout"),V;nt(Qt,!0);const t=c(()=>{const a={};return s.header.space===!0&&(a.paddingTop=`${s.header.size}px`),s.right.space===!0&&(a[`padding${n.lang.rtl===!0?"Left":"Right"}`]=`${s.right.size}px`),s.footer.space===!0&&(a.paddingBottom=`${s.footer.size}px`),s.left.space===!0&&(a[`padding${n.lang.rtl===!0?"Right":"Left"}`]=`${s.left.size}px`),a});return()=>q("div",{class:"q-page-container",style:t.value},ve(r.default))}}),oa=A({name:"QFooter",props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:["reveal","focusin"],setup(e,{slots:r,emit:n}){const{proxy:{$q:s}}=J(),t=fe(ie,V);if(t===V)return console.error("QFooter needs to be child of QLayout"),V;const a=C(parseInt(e.heightHint,10)),o=C(!0),l=C(Le.value===!0||t.isContainer.value===!0?0:window.innerHeight),d=c(()=>e.reveal===!0||t.view.value.indexOf("F")!==-1||s.platform.is.ios&&t.isContainer.value===!0),v=c(()=>t.isContainer.value===!0?t.containerHeight.value:l.value),i=c(()=>{if(e.modelValue!==!0)return 0;if(d.value===!0)return o.value===!0?a.value:0;const h=t.scroll.value.position+v.value+a.value-t.height.value;return h>0?h:0}),b=c(()=>e.modelValue!==!0||d.value===!0&&o.value!==!0),p=c(()=>e.modelValue===!0&&b.value===!0&&e.reveal===!0),m=c(()=>"q-footer q-layout__section--marginal "+(d.value===!0?"fixed":"absolute")+"-bottom"+(e.bordered===!0?" q-footer--bordered":"")+(b.value===!0?" q-footer--hidden":"")+(e.modelValue!==!0?" q-layout--prevent-focus"+(d.value!==!0?" hidden":""):"")),z=c(()=>{const h=t.rows.value.bottom,x={};return h[0]==="l"&&t.left.space===!0&&(x[s.lang.rtl===!0?"right":"left"]=`${t.left.size}px`),h[2]==="r"&&t.right.space===!0&&(x[s.lang.rtl===!0?"left":"right"]=`${t.right.size}px`),x});function B(h,x){t.update("footer",h,x)}function $(h,x){h.value!==x&&(h.value=x)}function _({height:h}){$(a,h),B("size",h)}function g(){if(e.reveal!==!0)return;const{direction:h,position:x,inflectionPoint:L}=t.scroll.value;$(o,h==="up"||x-L<100||t.height.value-v.value-x-a.value<300)}function P(h){p.value===!0&&$(o,!0),n("focusin",h)}O(()=>e.modelValue,h=>{B("space",h),$(o,!0),t.animate()}),O(i,h=>{B("offset",h)}),O(()=>e.reveal,h=>{h===!1&&$(o,e.modelValue)}),O(o,h=>{t.animate(),n("reveal",h)}),O([a,t.scroll,t.height],g),O(()=>s.screen.height,h=>{t.isContainer.value!==!0&&$(l,h)});const S={};return t.instances.footer=S,e.modelValue===!0&&B("size",a.value),B("space",e.modelValue),B("offset",i.value),Z(()=>{t.instances.footer===S&&(t.instances.footer=void 0,B("size",0),B("offset",0),B("space",!1))}),()=>{const h=Pe(r.default,[q(ae,{debounce:0,onResize:_})]);return e.elevated===!0&&h.push(q("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),q("footer",{class:m.value,style:z.value,onFocusin:P},h)}}}),na=A({name:"QLayout",props:{container:Boolean,view:{type:String,default:"hhh lpr fff",validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:r,emit:n}){const{proxy:{$q:s}}=J(),t=C(null),a=C(s.screen.height),o=C(e.container===!0?0:s.screen.width),l=C({position:0,direction:"down",inflectionPoint:0}),d=C(0),v=C(Le.value===!0?0:qe()),i=c(()=>"q-layout q-layout--"+(e.container===!0?"containerized":"standard")),b=c(()=>e.container===!1?{minHeight:s.screen.height+"px"}:null),p=c(()=>v.value!==0?{[s.lang.rtl===!0?"left":"right"]:`${v.value}px`}:null),m=c(()=>v.value!==0?{[s.lang.rtl===!0?"right":"left"]:0,[s.lang.rtl===!0?"left":"right"]:`-${v.value}px`,width:`calc(100% + ${v.value}px)`}:null);function z(S){if(e.container===!0||document.qScrollPrevented!==!0){const h={position:S.position.top,direction:S.direction,directionChanged:S.directionChanged,inflectionPoint:S.inflectionPoint.top,delta:S.delta.top};l.value=h,e.onScroll!==void 0&&n("scroll",h)}}function B(S){const{height:h,width:x}=S;let L=!1;a.value!==h&&(L=!0,a.value=h,e.onScrollHeight!==void 0&&n("scrollHeight",h),_()),o.value!==x&&(L=!0,o.value=x),L===!0&&e.onResize!==void 0&&n("resize",S)}function $({height:S}){d.value!==S&&(d.value=S,_())}function _(){if(e.container===!0){const S=a.value>d.value?qe():0;v.value!==S&&(v.value=S)}}let g=null;const P={instances:{},view:c(()=>e.view),isContainer:c(()=>e.container),rootRef:t,height:a,containerHeight:d,scrollbarWidth:v,totalWidth:c(()=>o.value+v.value),rows:c(()=>{const S=e.view.toLowerCase().split(" ");return{top:S[0].split(""),middle:S[1].split(""),bottom:S[2].split("")}}),header:ce({size:0,offset:0,space:!1}),right:ce({size:300,offset:0,space:!1}),footer:ce({size:0,offset:0,space:!1}),left:ce({size:300,offset:0,space:!1}),scroll:l,animate(){g!==null?clearTimeout(g):document.body.classList.add("q-body--layout-animate"),g=setTimeout(()=>{g=null,document.body.classList.remove("q-body--layout-animate")},155)},update(S,h,x){P[S][h]=x}};if(nt(ie,P),qe()>0){let S=function(){L=null,W.classList.remove("hide-scrollbar")},h=function(){if(L===null){if(W.scrollHeight>s.screen.height)return;W.classList.add("hide-scrollbar")}else clearTimeout(L);L=setTimeout(S,300)},x=function(H){L!==null&&H==="remove"&&(clearTimeout(L),S()),window[`${H}EventListener`]("resize",h)},L=null;const W=document.body;O(()=>e.container!==!0?"add":"remove",x),e.container!==!0&&x("add"),Vt(()=>{x("remove")})}return()=>{const S=Pe(r.default,[q(ut,{onScroll:z}),q(ae,{onResize:B})]),h=q("div",{class:i.value,style:b.value,ref:e.container===!0?void 0:t,tabindex:-1},S);return e.container===!0?q("div",{class:"q-layout-container overflow-hidden",ref:t},[q(ae,{onResize:$}),q("div",{class:"absolute-full",style:p.value},[q("div",{class:"scroll",style:m.value},[h])])]):h}}}),ra=()=>{const e=rt(),r=c(()=>e.getTaxpayer());function n(a){e.setTaxpayer(a)}function s(a){e.replaceTaxpayer(a)}function t(){e.resetTaxpayer()}return{data:r,set:n,replace:s,reset:t}},ia=()=>{const e=rt(),r=c(()=>e.getMarital());function n(a){e.setMarital(a)}function s(a){e.replaceMarital(a)}function t(){e.resetMarital()}return{data:r,set:n,replace:s,reset:t}},ua={class:"row items-center no-wrap"},sa={class:"q-mr-md"},ca={class:"q-pa-md"},da={class:"q-pa-sm bg-grey-2 text-body2",style:{"white-space":"pre-wrap"}},va={class:"q-pa-md"},fa={class:"q-pa-sm bg-grey-2 text-body2",style:{"white-space":"pre-wrap"}},ha={class:"q-pa-md"},ma={class:"q-pa-sm bg-grey-2 text-body2",style:{"white-space":"pre-wrap"}},ba={class:"row items-center no-wrap"},_a=At({__name:"MainLayout",setup(e){const r=C(!1),n=ra(),s=ia(),t=Nt(),{locale:a}=jt(),o=[{code:"it-IT",label:"Italiano"},{code:"en-US",label:"English"},{code:"fr-FR",label:"Français"},{code:"de-DE",label:"Deutsch"}];function l(i){a.value=i}const d=c(()=>{const i=o.find(b=>b.code===a.value);return i?i.label:String(a.value)});function v(){r.value=!r.value}return(i,b)=>{const p=It("router-view");return _e(),Ft(na,{view:"lHh Lpr lFf"},{default:M(()=>[k(Yt,{elevated:""},{default:M(()=>[k(Ue,null,{default:M(()=>[k(Ce,{flat:"",dense:"",round:"",icon:"menu","aria-label":"Menu",onClick:v}),k(Wt,null,{default:M(()=>[...b[1]||(b[1]=[Te(" Quasar App ",-1)])]),_:1}),k(Xt),E("div",ua,[E("div",sa,"Quasar v"+ee(i.$q.version),1),k(Ce,{flat:"",dense:"",icon:"language",label:d.value,"aria-label":"Language"},{default:M(()=>[k(Xe,{"auto-close":""},{default:M(()=>[k(Ne,null,{default:M(()=>[(_e(),Fe(Ie,null,Re(o,m=>k(je,{clickable:"",key:m.code,onClick:z=>l(m.code)},{default:M(()=>[k(We,null,{default:M(()=>[Te(ee(m.label),1)]),_:2},1024)]),_:2},1032,["onClick"])),64))]),_:1})]),_:1})]),_:1},8,["label"])])]),_:1})]),_:1}),k(aa,{modelValue:r.value,"onUpdate:modelValue":b[0]||(b[0]=m=>r.value=m),"show-if-above":"",bordered:""},{default:M(()=>[k(ta,{class:"fit"},{default:M(()=>[E("div",ca,[b[2]||(b[2]=E("div",{class:"text-subtitle2 q-mb-sm"},"Dati contribuente",-1)),E("pre",da,ee(JSON.stringify(te(te(n).data),null,2)),1)]),E("div",va,[b[3]||(b[3]=E("div",{class:"text-subtitle2 q-mb-sm"},"Dati stato civile",-1)),E("pre",fa,ee(JSON.stringify(te(te(s).data),null,2)),1)]),E("div",ha,[b[4]||(b[4]=E("div",{class:"text-subtitle2 q-mb-sm"},"Dati figli",-1)),E("pre",ma,ee(JSON.stringify(te(te(t).data),null,2)),1)])]),_:1})]),_:1},8,["modelValue"]),k(la,null,{default:M(()=>[k(p)]),_:1}),k(oa,{elevated:"",class:"bg-white"},{default:M(()=>[k(Ue,{class:"q-pl-md q-pr-md"},{default:M(()=>[E("div",ba,[b[5]||(b[5]=E("div",{class:"col"},null,-1)),E("div",null,[k(Ce,{flat:"",dense:"",icon:"language",label:d.value,"aria-label":"Language"},{default:M(()=>[k(Xe,{"auto-close":""},{default:M(()=>[k(Ne,null,{default:M(()=>[(_e(),Fe(Ie,null,Re(o,m=>k(je,{clickable:"",key:m.code,onClick:z=>l(m.code)},{default:M(()=>[k(We,null,{default:M(()=>[Te(ee(m.label),1)]),_:2},1024)]),_:2},1032,["onClick"])),64))]),_:1})]),_:1})]),_:1},8,["label"])])])]),_:1})]),_:1})]),_:1})}}});export{_a as default}; diff --git a/app/dist/spa/assets/MaritalStep-DL6z_e8a.css b/app/dist/spa/assets/MaritalStep-DL6z_e8a.css new file mode 100644 index 0000000..0e270ea --- /dev/null +++ b/app/dist/spa/assets/MaritalStep-DL6z_e8a.css @@ -0,0 +1 @@ +.q-card[data-v-d74d6ed8]{width:100%;margin:0} diff --git a/app/dist/spa/assets/MaritalStep-npjGE3Gl.js b/app/dist/spa/assets/MaritalStep-npjGE3Gl.js new file mode 100644 index 0000000..70dc06c --- /dev/null +++ b/app/dist/spa/assets/MaritalStep-npjGE3Gl.js @@ -0,0 +1 @@ +import{$ as U,Z as $,r as z,o as B,f as _,a0 as b,a3 as u,a1 as v,a4 as d,ae as I,a5 as l,a8 as V,ac as r,a6 as y,am as F,a9 as h,af as m,an as R,aa as O,ao as p,ah as T}from"./index-0B2sgEyA.js";import{Q as j,a as P}from"./userstore-DBCughIu.js";import{u as E}from"./taxstore-oR45_mFg.js";import{A as Z}from"./AddressInput-Brku8Gup.js";import{C as G}from"./CommentAttachment-BuVtM3GK.js";import{u as J}from"./vue-i18n.runtime-DPKkE7zN.js";import{_ as K}from"./IndexPage-CwM_myNb.js";import"./LocalStorage-7Uw3xG9P.js";import"./QList-CHwmSUjA.js";const W={class:"row items-center"},X={class:"col"},Y={class:"text-h6"},ee={class:"col-auto"},ae={class:"row items-center q-gutter-md q-mb-sm q-ml-none"},te={class:"col q-ml-none"},se={key:0,class:"row"},de={class:"row"},oe=U({__name:"MaritalStep",props:{step:{}},emits:["next","prev"],setup(D,{expose:k,emit:q}){const x=["celibate","maried","registrated","widower","deadunion","divorced","unionlegal","separated","uniondisappeared"],i={celibate:{showSpouseData:!1,address:"",data:"",deadDate:!1,deadDateLabel:"",addressHint:""},maried:{showSpouseData:!0,address:"indirizzocogniuge",data:"daticogniuge",deadDate:!1,deadDateLabel:"",addressHint:"inserireindirizzocogniuge"},registrated:{showSpouseData:!0,address:"indirizzopartner",data:"datipartner",deadDate:!1,deadDateLabel:"",addressHint:"inserireindirizzopartner"},widower:{showSpouseData:!0,address:"",data:"daticogniugedefunto",deadDate:!0,deadDateLabel:"datadecesso",addressHint:""},deadunion:{showSpouseData:!0,address:"",data:"datideadpartner",deadDate:!0,deadDateLabel:"datadecesso",addressHint:""},divorced:{showSpouseData:!0,address:"indirizzoexcogniuge",data:"datiexcogniuge",deadDate:!1,deadDateLabel:"",addressHint:"inserireindirizzocogniuge"},unionlegal:{showSpouseData:!0,address:"indirizzoexpartner",data:"datideadexpartner",deadDate:!0,deadDateLabel:"datadecesso",addressHint:"inserireindirizzopartner"},separated:{showSpouseData:!0,address:"indirizzoexcogniuge",data:"datiexcogniuge",deadDate:!1,deadDateLabel:"",addressHint:"inserireindirizzocogniuge"},uniondisappeared:{showSpouseData:!0,address:"",data:"datidisapparizedpartner",deadDate:!0,deadDateLabel:"datascomparsa",addressHint:""}},{t:o}=J(),c=E(),S=q,a=$({}),f=z(null),w=z(!1);function C(){const t=[];for(const e of x)t.push({label:o(`maritalItem.${e}`),value:e});return t}function L(){w.value=!1}function A(t){a.spouseAddress=t,w.value=!1}const H=(t="Required")=>{const e=o("validation.required");return e&&e!=="validation.required"?e:t},n=t=>e=>{const s=H();return e==null?s:typeof e=="string"?e.trim()!==""||s:!0},N=[n()];B(async()=>{const t=c.getMarital();t&&Object.assign(a,t),await _(),f.value?.resetValidation?.()});function g(){const t={};for(const[e,s]of Object.entries(a))t[e]=s;return t}async function Q(){if(await f.value?.validate?.()===!1)return;const e=g();c.setMarital(e),S("next",D.step?.next)}function M(){const t=g();c.setMarital(t),S("prev",D.step?.prev)}return k({buildPayload:g}),(t,e)=>(u(),b(T,{flat:"",class:"full-width q-pa-none"},{default:v(()=>[d(I,{class:"full-width"},{default:v(()=>[l("div",W,[l("div",X,[l("div",Y,V(r(o)("MAR")),1)]),l("div",ee,[d(y,{flat:"",label:r(o)("button.prev"),onClick:M,class:"q-mr-sm"},null,8,["label"]),d(y,{color:"primary",label:r(o)("button.next"),onClick:Q},null,8,["label"])])]),d(F,{class:"q-my-sm"}),d(j,{ref_key:"formRef",ref:f,class:"form q-gutter-md q-mt-md"},{default:v(()=>[l("div",ae,[l("div",te,[d(R,{modelValue:a.alimentiVersati,"onUpdate:modelValue":e[0]||(e[0]=s=>a.alimentiVersati=s),label:r(o)("children.alimentiVersati")},null,8,["modelValue","label"])])]),a.alimentiVersati?(u(),h("div",se,[d(G,{modelValue:a.alimentiCommenti,"onUpdate:modelValue":e[1]||(e[1]=s=>a.alimentiCommenti=s),label:r(o)("informazionesualimenti"),id:"marital"},null,8,["modelValue","label"])])):m("",!0),d(P,{"model-value":a.maritalStatus,label:t.$t("marital.maritalStatus"),"onUpdate:modelValue":e[2]||(e[2]=s=>a.maritalStatus=s),options:C(),rules:N,"emit-value":"","map-options":""},null,8,["model-value","label","options"]),i[a.maritalStatus]?.showSpouseData?(u(),h(O,{key:1},[l("div",de,V(t.$t(i[a.maritalStatus]?.data)),1),d(p,{"model-value":a.spouseFirstName,"onUpdate:modelValue":e[3]||(e[3]=s=>a.spouseFirstName=s),label:t.$t("marital.spouse.firstName"),rules:[n()]},null,8,["model-value","label","rules"]),d(p,{"model-value":a.spouseLastName,"onUpdate:modelValue":e[4]||(e[4]=s=>a.spouseLastName=s),label:t.$t("marital.spouse.lastName"),rules:[n()]},null,8,["model-value","label","rules"]),d(p,{"model-value":a.spouseBirthDate,"onUpdate:modelValue":e[5]||(e[5]=s=>a.spouseBirthDate=s),label:t.$t("marital.spouse.birthDate"),type:"date",rules:[n()]},null,8,["model-value","label","rules"]),i[a.maritalStatus]?.deadDate?(u(),b(p,{key:0,"model-value":a.spouseDeadDate,"onUpdate:modelValue":e[6]||(e[6]=s=>a.spouseDeadDate=s),label:t.$t(i[a.maritalStatus]?.deadDateLabel),type:"date",rules:[n()]},null,8,["model-value","label","rules"])):m("",!0),i[a.maritalStatus]?.address?(u(),b(Z,{key:1,modelValue:a.spouseAddress,"onUpdate:modelValue":e[7]||(e[7]=s=>a.spouseAddress=s),hint:r(o)(i[a.maritalStatus]?.addressHint),label:r(o)("taxpayer.address"),allowForeign:!0,onSave:A,onCancel:L},null,8,["modelValue","hint","label"])):m("",!0)],64)):m("",!0)]),_:1},512)]),_:1})]),_:1}))}}),ge=K(oe,[["__scopeId","data-v-d74d6ed8"]]);export{ge as default}; diff --git a/app/dist/spa/assets/QList-CHwmSUjA.js b/app/dist/spa/assets/QList-CHwmSUjA.js new file mode 100644 index 0000000..11956a7 --- /dev/null +++ b/app/dist/spa/assets/QList-CHwmSUjA.js @@ -0,0 +1 @@ +import{c as v,a,h as c,b as q,aj as I,H as k,g,I as y,ak as A,r as b,al as K,G as R,p as $}from"./index-0B2sgEyA.js";const D=v({name:"QItemSection",props:{avatar:Boolean,thumbnail:Boolean,side:Boolean,top:Boolean,noWrap:Boolean},setup(e,{slots:n}){const l=a(()=>`q-item__section column q-item__section--${e.avatar===!0||e.side===!0||e.thumbnail===!0?"side":"main"}`+(e.top===!0?" q-item__section--top justify-start":" justify-center")+(e.avatar===!0?" q-item__section--avatar":"")+(e.thumbnail===!0?" q-item__section--thumbnail":"")+(e.noWrap===!0?" q-item__section--nowrap":""));return()=>c("div",{class:l.value},q(n.default))}}),F=v({name:"QItem",props:{...k,...I,tag:{type:String,default:"div"},active:{type:Boolean,default:null},clickable:Boolean,dense:Boolean,insetLevel:Number,tabindex:[String,Number],focused:Boolean,manualFocus:Boolean},emits:["click","keyup"],setup(e,{slots:n,emit:l}){const{proxy:{$q:i}}=g(),d=y(e,i),{hasLink:s,linkAttrs:h,linkClass:B,linkTag:_,navigateOnClick:C}=A(),o=b(null),r=b(null),m=a(()=>e.clickable===!0||s.value===!0||e.tag==="label"),u=a(()=>e.disable!==!0&&m.value===!0),x=a(()=>"q-item q-item-type row no-wrap"+(e.dense===!0?" q-item--dense":"")+(d.value===!0?" q-item--dark":"")+(s.value===!0&&e.active===null?B.value:e.active===!0?` q-item--active${e.activeClass!==void 0?` ${e.activeClass}`:""}`:"")+(e.disable===!0?" disabled":"")+(u.value===!0?" q-item--clickable q-link cursor-pointer "+(e.manualFocus===!0?"q-manual-focusable":"q-focusable q-hoverable")+(e.focused===!0?" q-manual-focusable--focused":""):"")),L=a(()=>e.insetLevel===void 0?null:{["padding"+(i.lang.rtl===!0?"Right":"Left")]:16+e.insetLevel*56+"px"});function E(t){u.value===!0&&(r.value!==null&&t.qAvoidFocus!==!0&&(t.qKeyEvent!==!0&&document.activeElement===o.value?r.value.focus():document.activeElement===r.value&&o.value.focus()),C(t))}function Q(t){if(u.value===!0&&K(t,[13,32])===!0){R(t),t.qKeyEvent=!0;const f=new MouseEvent("click",t);f.qKeyEvent=!0,o.value.dispatchEvent(f)}l("keyup",t)}function S(){const t=$(n.default,[]);return u.value===!0&&t.unshift(c("div",{class:"q-focus-helper",tabindex:-1,ref:r})),t}return()=>{const t={ref:o,class:x.value,style:L.value,role:"listitem",onClick:E,onKeyup:Q};return u.value===!0?(t.tabindex=e.tabindex||"0",Object.assign(t,h.value)):m.value===!0&&(t["aria-disabled"]="true"),c(_.value,t,S())}}}),j=["ul","ol"],P=v({name:"QList",props:{...k,bordered:Boolean,dense:Boolean,separator:Boolean,padding:Boolean,tag:{type:String,default:"div"}},setup(e,{slots:n}){const l=g(),i=y(e,l.proxy.$q),d=a(()=>j.includes(e.tag)?null:"list"),s=a(()=>"q-list"+(e.bordered===!0?" q-list--bordered":"")+(e.dense===!0?" q-list--dense":"")+(e.separator===!0?" q-list--separator":"")+(i.value===!0?" q-list--dark":"")+(e.padding===!0?" q-list--padding":""));return()=>c(e.tag,{class:s.value,role:d.value},q(n.default))}});export{P as Q,F as a,D as b}; diff --git a/app/dist/spa/assets/TaxpayerStep-BfPZ-rxP.js b/app/dist/spa/assets/TaxpayerStep-BfPZ-rxP.js new file mode 100644 index 0000000..325a28b --- /dev/null +++ b/app/dist/spa/assets/TaxpayerStep-BfPZ-rxP.js @@ -0,0 +1 @@ +import{$ as T,Z as k,r as w,a as d,o as A,f as Q,a0 as R,a3 as b,a1 as c,a4 as r,ae as S,a5 as n,a8 as I,ac as l,a6 as x,am as F,a9 as M,af as j,an as E,ao as f,ah as L}from"./index-0B2sgEyA.js";import{Q as O}from"./userstore-DBCughIu.js";import{u as X}from"./taxstore-oR45_mFg.js";import{A as Z}from"./AddressInput-Brku8Gup.js";import{C as $}from"./CommentAttachment-BuVtM3GK.js";import{u as z}from"./vue-i18n.runtime-DPKkE7zN.js";import{_ as G}from"./IndexPage-CwM_myNb.js";import"./LocalStorage-7Uw3xG9P.js";import"./QList-CHwmSUjA.js";const H={class:"row items-center"},J={class:"col"},K={class:"text-h5"},W={class:"col-auto"},Y={class:"row items-center q-gutter-md q-mb-sm q-ml-none"},ee={class:"col q-ml-none"},ae={key:0,class:"q-mt-sm"},te=T({__name:"TaxpayerStep",props:{step:{}},emits:["next","prev"],setup(V,{emit:N}){const _=V,v=N,y=_.step,i=X(),e=k({}),{t:s}=z(),u=w(null),D=(o="Required")=>{const a=s("validation.required");return a&&a!=="validation.required"?a:o},m=o=>a=>{const t=o||D();return a==null?t:typeof a=="string"?a.trim()!==""||t:Array.isArray(a)?a.length>0||t:!0},p=d(()=>!!e.prevPreparedByUs),g=d(()=>p.value?[]:[m()]),q=d(()=>p.value?[]:[m()]),B=d(()=>p.value?[]:[m()]);A(async()=>{const o=i.getTaxpayer()||{};Object.assign(e,o),await Q(),u.value?.resetValidation?.()});async function U(){try{if(await(u.value?.validate?.()??!0)===!1)return}catch{return}i.setTaxpayer({prevPreparedByUs:e.prevPreparedByUs,prevDeclaration:e.prevDeclaration,firstName:e.firstName,lastName:e.lastName,birthDate:e.birthDate,address:e.address}),v("next",y.next)}function h(){i.setTaxpayer({prevPreparedByUs:e.prevPreparedByUs,prevDeclaration:e.prevDeclaration,firstName:e.firstName,lastName:e.lastName,birthDate:e.birthDate,address:e.address}),v("prev",y.prev)}function C(){}function P(){}return(o,a)=>(b(),R(L,{flat:"",class:"full-width q-pa-none"},{default:c(()=>[r(S,{class:"full-width"},{default:c(()=>[n("div",H,[n("div",J,[n("div",K,I(l(s)("TAX")),1)]),n("div",W,[r(x,{flat:"",color:"secondary",label:l(s)("button.prev"),onClick:h,class:"q-mr-sm"},null,8,["label"]),r(x,{color:"primary",label:l(s)("button.next"),onClick:U},null,8,["label"])])]),r(F,{class:"q-my-sm"}),r(O,{ref_key:"formRef",ref:u,class:"q-gutter-md q-mt-md"},{default:c(()=>[n("div",Y,[n("div",ee,[r(E,{modelValue:e.prevPreparedByUs,"onUpdate:modelValue":a[0]||(a[0]=t=>e.prevPreparedByUs=t),label:l(s)("taxpayer.prevPreparedByUs")},null,8,["modelValue","label"])])]),e.prevPreparedByUs?(b(),M("div",ae,[r($,{modelValue:e.prevDeclaration,"onUpdate:modelValue":a[1]||(a[1]=t=>e.prevDeclaration=t),label:l(s)("taxpayer.prevDeclaration"),id:"taxpayer"},null,8,["modelValue","label"])])):j("",!0),n("div",null,[r(f,{modelValue:e.firstName,"onUpdate:modelValue":a[2]||(a[2]=t=>e.firstName=t),label:l(s)("taxpayer.firstName"),rules:g.value},null,8,["modelValue","label","rules"]),r(f,{modelValue:e.lastName,"onUpdate:modelValue":a[3]||(a[3]=t=>e.lastName=t),label:l(s)("taxpayer.lastName"),rules:q.value},null,8,["modelValue","label","rules"]),r(f,{modelValue:e.birthDate,"onUpdate:modelValue":a[4]||(a[4]=t=>e.birthDate=t),type:"date",label:l(s)("taxpayer.birthDate"),rules:B.value},null,8,["modelValue","label","rules"]),r(Z,{modelValue:e.address,"onUpdate:modelValue":a[5]||(a[5]=t=>e.address=t),label:l(s)("taxpayer.address"),allowForeign:!0,onSave:P,onCancel:C},null,8,["modelValue","label"])])]),_:1},512)]),_:1})]),_:1}))}}),pe=G(te,[["__scopeId","data-v-e1b08f4f"]]);export{pe as default}; diff --git a/app/dist/spa/assets/TaxpayerStep-CWAfROv3.css b/app/dist/spa/assets/TaxpayerStep-CWAfROv3.css new file mode 100644 index 0000000..53e91e2 --- /dev/null +++ b/app/dist/spa/assets/TaxpayerStep-CWAfROv3.css @@ -0,0 +1 @@ +.q-card[data-v-e1b08f4f]{width:100%;margin:0} diff --git a/app/dist/spa/assets/WelcomeStep-BTfvnfIz.css b/app/dist/spa/assets/WelcomeStep-BTfvnfIz.css new file mode 100644 index 0000000..a4f1fbf --- /dev/null +++ b/app/dist/spa/assets/WelcomeStep-BTfvnfIz.css @@ -0,0 +1 @@ +.q-card[data-v-f4c03057]{width:100%;margin:0} diff --git a/app/dist/spa/assets/WelcomeStep-Crh-xhDH.js b/app/dist/spa/assets/WelcomeStep-Crh-xhDH.js new file mode 100644 index 0000000..31d1775 --- /dev/null +++ b/app/dist/spa/assets/WelcomeStep-Crh-xhDH.js @@ -0,0 +1 @@ +import{$ as d,a0 as m,a3 as f,a1 as e,a4 as s,ae as u,a5 as t,a8 as o,ac as c,a6 as h,am as x,ah as v}from"./index-0B2sgEyA.js";import{u as S}from"./vue-i18n.runtime-DPKkE7zN.js";import{_ as C}from"./IndexPage-CwM_myNb.js";import"./QList-CHwmSUjA.js";const w={class:"row items-center"},y={class:"col"},B={class:"text-h5"},N={class:"col-auto"},Q=d({__name:"WelcomeStep",props:{step:{}},emits:["next"],setup(n,{emit:r}){const i=n,l=r,a=i.step,{t:p}=S();function _(){l("next",a?.next)}return(g,k)=>(f(),m(v,{flat:"",class:"full-width q-pa-none"},{default:e(()=>[s(u,{class:"full-width"},{default:e(()=>[t("div",w,[t("div",y,[t("div",B,o(c(p)("WEL")),1)]),t("div",N,[s(h,{color:"primary",label:"Avanti",onClick:_})])]),s(x,{class:"q-my-sm"}),t("pre",null,o(JSON.stringify(c(a),null,2)),1)]),_:1})]),_:1}))}}),b=C(Q,[["__scopeId","data-v-f4c03057"]]);export{b as default}; diff --git a/app/dist/spa/assets/children-ChLzVyp9.js b/app/dist/spa/assets/children-ChLzVyp9.js new file mode 100644 index 0000000..6512447 --- /dev/null +++ b/app/dist/spa/assets/children-ChLzVyp9.js @@ -0,0 +1 @@ +import{as as i}from"./index-0B2sgEyA.js";import{P as r}from"./LocalStorage-7Uw3xG9P.js";const s="children:v1",a={hasChildren:!1,children:[],moreThanFiveChildrenNote:""},o=i("childrenstore",{state:()=>{try{let e=r.getItem(s);if(typeof e=="string")try{e=JSON.parse(e)}catch{e=null}if(e&&typeof e=="object")return{data:{...e}}}catch{}return{data:{...a}}},actions:{persist(){try{const e={hasChildren:!!this.data.hasChildren,children:Array.isArray(this.data.children)?this.data.children.map(t=>({firstName:t.firstName,lastName:t.lastName,birthDate:t.birthDate,sameHousehold:t.sameHousehold,alimentiVersati:t.alimentiVersati??!1,school:t.school,hasCareCost:t.hasCareCost??!1,careCosts:t.careCosts,address:t.address??null})):[],moreThanFiveChildrenNote:this.data.moreThanFiveChildrenNote||""};r.set(s,e)}catch(e){console.error("children.store: persist error",e)}},getChildren(){return this.data},setChildren(e){this.data={...this.data,...e},this.persist()},replaceChildren(e){this.data=e,this.persist()},resetChildren(){this.data={...a},this.persist()}}});export{o as u}; diff --git a/app/dist/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa-Dr0goTwe.woff b/app/dist/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa-Dr0goTwe.woff new file mode 100644 index 0000000000000000000000000000000000000000..88fdf4d026a999aa0e5bd310635f5c5a43e716a1 GIT binary patch literal 164912 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 z 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 literal 0 HcmV?d00001 diff --git a/app/dist/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ-D-x-0Q06.woff2 b/app/dist/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ-D-x-0Q06.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f1fd22ff1c117e187f088de6746eb1f82187a992 GIT binary patch literal 128616 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�{V5Ux10YTPcjn|+#u(mL`-~}?0-nmK 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�TBx-D<>G7m^i?qG-6W%>!-QfH!oA6h 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 Nw1oHH?|-Rs0009$rq=)f literal 0 HcmV?d00001 diff --git a/app/dist/spa/assets/i18n-iY85aRww.js b/app/dist/spa/assets/i18n-iY85aRww.js new file mode 100644 index 0000000..9bb7d11 --- /dev/null +++ b/app/dist/spa/assets/i18n-iY85aRww.js @@ -0,0 +1 @@ +import{d as a}from"./index-0B2sgEyA.js";import{c as t}from"./vue-i18n.runtime-DPKkE7zN.js";const n={button:{saveAndNext:"Save and Next",next:"Next",prev:"Back",cancel:"Cancel",save:"Save"},validation:{required:"This field is required",minLength:"Too short",maxAgeFromJan1:"Invalid birth date",invalidZip:"Invalid ZIP",insertAddress:"Please enter an address"},address:{title:"Address",modalTitle:"Edit address",street:"Street",zip:"ZIP",city:"City",country:"Country",foreign:"Foreign address"},enum:{maritalStatus:{SINGLE:"Single",SEPARATED:"Separated",MARRIED:"Married",PARTNERED:"Partnered"}}},r={attachments:"Attachments",commenti:"Comments",pickFiles:"Pick files",confirmDeleteAttachment:"Do you want to delete this attachment? {filename}",addAttachment:"Attach",fileTypeNotAllowed:"File type not allowed. Allowed: {allowed}",missingUserOrSession:"Missing user or session. Please reload and try again.",fileUploaded:"File uploaded",uploadFailed:"Upload failed",uploadCancelled:"Upload cancelled",fileDeleted:"File deleted",deleteFailed:"Delete failed"},s={WEL:"Welcome",TAX:"Taxpayer data & previous declaration",MAR:"Marital status",CHD:"Children",INC:"Income",PRO:"Professional expenses",SID:"Supplementary income",ANN:"Annuities",INS:"Insurance & medical expenses",P3:"Policies 3A / 3B",BNK:"Bank accounts",AST:"Other assets",DEB:"Debts / mortgages",PROP:"Properties",FOR:"Foreign income or assets",taxpayer:{prevPreparedByUs:"Prepared by us?",prevDeclaration:"Previous declaration",firstName:"First name",lastName:"Last name",birthDate:"Birth date",address:"Address",zip:"ZIP",city:"City"},marital:{title:"Marital status",maritalStatus:"Marital status",previousDivorces:"Previous divorces",spouse:{prefixSpouse:"Spouse",prefixPartner:"Partner",firstName:"First name",lastName:"Last name",birthDate:"Birth date",address:"Address",zip:"ZIP",city:"City",previousDivorces:"Previous divorces"}},maritalItem:{celibate:"Single",maried:"Married",registrated:"Registered domestic partnership",widower:"Widower/Widow",deadunion:"Union dissolved by death",divorced:"Divorced",unionlegal:"Union dissolved by legal decision",separated:"Separated",uniondisappeared:"Union dissolved by declaration of disappearance"},"marital.spouse.fillIfDifferent":"Fill if different",income:{employTypeLabel:"Employment type",employTypeHint:"Select an employment type",employType:{EMPLOYED:"Employed",SELF_EMPLOYED:"Self-employed",PENSIONER:"Pensioner",UNEMPLOYED:"Unemployed"},attachments:{salaryCertificate:"Salary certificate",accountingDocuments:"Accounting documents",avsCertificate:"AVS certificate",lppCertificate:"LPP certificate",unemploymentCertificate:"Unemployment certificate"}},children:{hasChildren:"Do you have children?",addChild:"Add child",editChild:"Edit child",listTitle:"Children list",moreThanFiveChildrenNote:"More than five children note",firstName:"First name",lastName:"Last name",birthDate:"Birth date",sameHousehold:"Same household",addressIfDifferent:"Address (if different)",addressLabel:"Address",alimentiVersati:"Alimony paid",school:"School",hasCareCost:"Care costs",careCosts:"Care costs",copyLastNameFromTaxpayer:"Copy last name from taxpayer",noAttachments:"Attach documents"},informazionesualimenti:"Alimony information",inserireindirizzocogniuge:"Enter spouse address",inserireindirizzopartner:"Enter partner address",indirizzocogniuge:"Spouse address",indirizzopartner:"Partner address",indirizzocogniugedefunto:"Deceased spouse address",indirizzodeadpartner:"Deceased partner address",indirizzoexcogniuge:"Ex-spouse address",indirizzoexpartner:"Ex-partner address",daticogniuge:"Spouse details",datipartner:"Partner details",daticogniugedefunto:"Deceased spouse details",datideadpartner:"Deceased partner details",datiexcogniuge:"Ex-spouse details",datideadexpartner:"Ex-partner details",datidisapparizedpartner:"Missing partner details",datadecesso:"Date of death",datascomparsa:"Date of disappearance"},o={button:{saveAndNext:"Salva e Avanti",next:"Avanti",prev:"Indietro",cancel:"Annulla",save:"Salva"},validation:{required:"Campo obbligatorio",minLength:"Troppo corto",maxAgeFromJan1:"Data di nascita non valida",invalidZip:"CAP non valido",insertAddress:"Inserire indirizzo"},address:{title:"Indirizzo",modalTitle:"Modifica indirizzo",street:"Via / Piazza",zip:"CAP",city:"Città",country:"Nazione",foreign:"Indirizzo estero"},enum:{maritalStatus:{SINGLE:"Single",SEPARATED:"Separato",MARRIED:"Sposato",PARTNERED:"Unito civilmente"}}},d={attachments:"Allegati",commenti:"Commenti",pickFiles:"Scegli file",confirmDeleteAttachment:"Vuoi eliminare questo allegato? {filename}",addAttachment:"Allega",fileTypeNotAllowed:"Tipo di file non consentito. Consentiti: {allowed}",missingUserOrSession:"Utente o sessione mancanti. Ricarica la pagina e riprova.",fileUploaded:"File caricato",uploadFailed:"Caricamento fallito",uploadCancelled:"Caricamento annullato",fileDeleted:"File eliminato",deleteFailed:"Eliminazione fallita"},l={WEL:"Benvenuto",TAX:"Dati contribuente e dichiarazione precedente",MAR:"Stato civile",CHD:"Figli",INC:"Redditi",PRO:"Spese professionali",SID:"Reddito accessorio",ANN:"Rendite",INS:"Spese assicurative e mediche",P3:"Polizze 3A / 3B",BNK:"Conti bancari",AST:"Altri beni / averi",DEB:"Debiti / ipoteche",PROP:"Immobili",FOR:"Redditi o averi all’estero",taxpayer:{prevPreparedByUs:"Preparata da noi?",prevDeclaration:"Dichiarazione precedente",firstName:"Nome",lastName:"Cognome",birthDate:"Data di nascita",address:"Indirizzo",zip:"CAP",city:"Città"},marital:{title:"Stato civile",maritalStatus:"Stato civile",previousDivorces:"Divorzi precedenti",spouse:{prefixSpouse:"Coniuge",prefixPartner:"Partner",firstName:"Nome",lastName:"Cognome",birthDate:"Data di nascita",address:"Indirizzo",zip:"CAP",city:"Città",previousDivorces:"Divorzi precedenti"}},maritalItem:{celibate:"celibe/ nubile",maried:"Cognugato/a",registrated:"In unione domestica registrata",widower:"Vedovo/a",deadunion:"Unione domestica sciolta per decesso",divorced:"Divorziato/a",unionlegal:"Unione domestica sciolta per decisione legale",separated:"Separato/a",uniondisappeared:"Unione domestica sciolta per dichiarazione di scomparsa"},"marital.spouse.fillIfDifferent":"Compilare se diverso",income:{employTypeLabel:"Tipo di impiego",employTypeHint:"Selezionare un tipo di impiego",employType:{EMPLOYED:"Dipendente",SELF_EMPLOYED:"Indipendente",PENSIONER:"Pensionato",UNEMPLOYED:"Disoccupato"},attachments:{salaryCertificate:"Certificato salariale",accountingDocuments:"Documenti contabili",avsCertificate:"Certificato AVS",lppCertificate:"Certificato LPP",unemploymentCertificate:"Certificato disoccupazione"}},children:{hasChildren:"Hai figli?",addChild:"Aggiungi figlio",editChild:"Modifica figlio",listTitle:"Elenco figli",moreThanFiveChildrenNote:"Nota per più di cinque figli",firstName:"Nome",lastName:"Cognome",birthDate:"Data di nascita",sameHousehold:"Stesso nucleo familiare",addressIfDifferent:"Indirizzo (se diverso)",addressLabel:"Indirizzo",alimentiVersati:"Vengono versati alimenti",school:"Scuola",hasCareCost:"Spese di cura",careCosts:"Spese di cura",copyLastNameFromTaxpayer:"Copia cognome dal contribuente",noAttachments:"Allega documenti"},informazionesualimenti:"Informazioni su alimenti",inserireindirizzocogniuge:"Inserire l'indirizzo del coniuge",inserireindirizzopartner:"Inserire l'indirizzo del partner",indirizzocogniuge:"Indirizzo del coniuge",indirizzopartner:"Indirizzo del partner",indirizzocogniugedefunto:"Indirizzo del coniuge deceduto",indirizzodeadpartner:"Indirizzo del partner deceduto",indirizzoexcogniuge:"Indirizzo ex-coniuge",indirizzoexpartner:"Indirizzo ex-partner",daticogniuge:"Dati del coniuge",datipartner:"Dati del partner",daticogniugedefunto:"Dati del coniuge deceduto",datideadpartner:"Dati del partner deceduto",datiexcogniuge:"Dati ex-coniuge",datideadexpartner:"Dati ex-partner",datidisapparizedpartner:"Dati del partner scomparso",datadecesso:"Data di decesso",datascomparsa:"Data di scomparsa"},c={button:{saveAndNext:"Enregistrer et suivant",next:"Suivant",prev:"Précédent",cancel:"Annuler",save:"Enregistrer"},validation:{required:"Ce champ est obligatoire",minLength:"Trop court",maxAgeFromJan1:"Date de naissance invalide",invalidZip:"Code postal invalide",insertAddress:"Veuillez saisir l'adresse"},address:{title:"Adresse",modalTitle:"Modifier l'adresse",street:"Rue / Place",zip:"Code postal",city:"Ville",country:"Pays",foreign:"Adresse étrangère"},enum:{maritalStatus:{SINGLE:"Célibataire",SEPARATED:"Séparé",MARRIED:"Marié",PARTNERED:"Partenaire"}}},p={attachments:"Pièces jointes",commenti:"Commentaires",pickFiles:"Choisir des fichiers",confirmDeleteAttachment:"Voulez-vous supprimer cette pièce jointe ? {filename}",addAttachment:"Joindre",fileTypeNotAllowed:"Type de fichier non autorisé. Autorisés : {allowed}",missingUserOrSession:"Utilisateur ou session manquant. Rechargez la page et réessayez.",fileUploaded:"Fichier téléversé",uploadFailed:"Échec du téléversement",uploadCancelled:"Téléversement annulé",fileDeleted:"Fichier supprimé",deleteFailed:"Échec de la suppression"},m={WEL:"Bienvenue",TAX:"Données contribuable et déclaration précédente",MAR:"État civil",CHD:"Enfants",INC:"Revenus",PRO:"Frais professionnels",SID:"Revenu accessoire",ANN:"Rentes",INS:"Assurances et frais médicaux",P3:"Polices 3A / 3B",BNK:"Comptes bancaires",AST:"Autres biens / avoirs",DEB:"Dettes / hypothèques",PROP:"Immobilier",FOR:"Revenus ou avoirs à l'étranger",taxpayer:{prevPreparedByUs:"Préparée par nous?",prevDeclaration:"Déclaration précédente",firstName:"Prénom",lastName:"Nom",birthDate:"Date de naissance",address:"Adresse",zip:"Code postal",city:"Ville"},marital:{title:"État civil",maritalStatus:"État civil",previousDivorces:"Divorces précédents",spouse:{prefixSpouse:"Conjoint",prefixPartner:"Partenaire",firstName:"Prénom",lastName:"Nom",birthDate:"Date de naissance",address:"Adresse",zip:"Code postal",city:"Ville",previousDivorces:"Divorces précédents"}},maritalItem:{celibate:"Célibataire",maried:"Marié(e)",registrated:"Union domestique enregistrée",widower:"Veuf / Veuve",deadunion:"Union dissoute par décès",divorced:"Divorcé(e)",unionlegal:"Union dissoute par décision judiciaire",separated:"Séparé(e)",uniondisappeared:"Union dissoute par déclaration de disparition"},"marital.spouse.fillIfDifferent":"Remplir si différent",income:{employTypeLabel:"Type d'emploi",employTypeHint:"Sélectionner un type d'emploi",employType:{EMPLOYED:"Salarié",SELF_EMPLOYED:"Indépendant",PENSIONER:"Retraité",UNEMPLOYED:"Sans emploi"},attachments:{salaryCertificate:"Certificat de salaire",accountingDocuments:"Documents comptables",avsCertificate:"Certificat AVS",lppCertificate:"Certificat LPP",unemploymentCertificate:"Certificat de chômage"}},children:{hasChildren:"Avez-vous des enfants?",addChild:"Ajouter un enfant",editChild:"Modifier l'enfant",listTitle:"Liste des enfants",moreThanFiveChildrenNote:"Note pour plus de cinq enfants",firstName:"Prénom",lastName:"Nom",birthDate:"Date de naissance",sameHousehold:"Même ménage",addressIfDifferent:"Adresse (si différente)",addressLabel:"Adresse",alimentiVersati:"Pension alimentaire versée",school:"École",hasCareCost:"Frais de garde",careCosts:"Frais de garde",copyLastNameFromTaxpayer:"Copier le nom du contribuable",noAttachments:"Joindre des documents"},informazionesualimenti:"Informations sur la pension alimentaire",inserireindirizzocogniuge:"Saisir l'adresse du conjoint",inserireindirizzopartner:"Saisir l'adresse du partenaire",indirizzocogniuge:"Adresse du conjoint",indirizzopartner:"Adresse du partenaire",indirizzocogniugedefunto:"Adresse du conjoint décédé",indirizzodeadpartner:"Adresse du partenaire décédé",indirizzoexcogniuge:"Adresse de l'ex-conjoint",indirizzoexpartner:"Adresse de l'ex-partenaire",daticogniuge:"Données du conjoint",datipartner:"Données du partenaire",daticogniugedefunto:"Données du conjoint décédé",datideadpartner:"Données du partenaire décédé",datiexcogniuge:"Données de l'ex-conjoint",datideadexpartner:"Données de l'ex-partenaire",datidisapparizedpartner:"Données du partenaire disparu",datadecesso:"Date de décès",datascomparsa:"Date de disparition"},u={button:{saveAndNext:"Speichern und weiter",next:"Weiter",prev:"Zurück",cancel:"Abbrechen",save:"Speichern"},validation:{required:"Dieses Feld ist erforderlich",minLength:"Zu kurz",maxAgeFromJan1:"Ungültiges Geburtsdatum",invalidZip:"Ungültige PLZ",insertAddress:"Bitte Adresse eingeben"},address:{title:"Adresse",modalTitle:"Adresse bearbeiten",street:"Strasse",zip:"PLZ",city:"Stadt",country:"Land",foreign:"Ausländische Adresse"},enum:{maritalStatus:{SINGLE:"Ledig",SEPARATED:"Getrennt",MARRIED:"Verheiratet",PARTNERED:"Partner"}}},g={attachments:"Anhänge",commenti:"Kommentare",pickFiles:"Dateien auswählen",confirmDeleteAttachment:"Möchtest du diesen Anhang löschen? {filename}",addAttachment:"Anhängen",fileTypeNotAllowed:"Dateityp nicht erlaubt. Erlaubt: {allowed}",missingUserOrSession:"Benutzer oder Sitzung fehlt. Bitte Seite neu laden und erneut versuchen.",fileUploaded:"Datei hochgeladen",uploadFailed:"Upload fehlgeschlagen",uploadCancelled:"Upload abgebrochen",fileDeleted:"Datei gelöscht",deleteFailed:"Löschen fehlgeschlagen"},h={WEL:"Willkommen",TAX:"Angaben Steuerpflichtiger und vorherige Erklärung",MAR:"Zivilstand",CHD:"Kinder",INC:"Einkommen",PRO:"Berufsausgaben",SID:"Nebeneinkommen",ANN:"Renten",INS:"Versicherungs- und Krankheitskosten",P3:"Policen 3A / 3B",BNK:"Bankkonten",AST:"Andere Vermögenswerte",DEB:"Schulden / Hypotheken",PROP:"Immobilien",FOR:"Einkommen oder Vermögen im Ausland",taxpayer:{prevPreparedByUs:"Von uns vorbereitet?",prevDeclaration:"Frühere Erklärung",firstName:"Vorname",lastName:"Nachname",birthDate:"Geburtsdatum",address:"Adresse",zip:"PLZ",city:"Stadt"},marital:{title:"Zivilstand",maritalStatus:"Zivilstand",previousDivorces:"Frühere Scheidungen",spouse:{prefixSpouse:"Ehepartner",prefixPartner:"Partner",firstName:"Vorname",lastName:"Nachname",birthDate:"Geburtsdatum",address:"Adresse",zip:"PLZ",city:"Stadt",previousDivorces:"Frühere Scheidungen"}},maritalItem:{celibate:"Ledig",maried:"Verheiratet",registrated:"Registrierte häusliche Partnerschaft",widower:"Witwer / Witwe",deadunion:"Partnerschaft durch Tod aufgelöst",divorced:"Geschieden",unionlegal:"Partnerschaft durch gerichtliche Entscheidung aufgelöst",separated:"Getrennt",uniondisappeared:"Partnerschaft durch Verschollenheit aufgelöst"},"marital.spouse.fillIfDifferent":"Falls abweichend ausfüllen",income:{employTypeLabel:"Beschäftigungsart",employTypeHint:"Bitte eine Beschäftigungsart auswählen",employType:{EMPLOYED:"Angestellt",SELF_EMPLOYED:"Selbstständig",PENSIONER:"Rentner/in",UNEMPLOYED:"Arbeitslos"},attachments:{salaryCertificate:"Lohnbescheinigung",accountingDocuments:"Buchhaltungsunterlagen",avsCertificate:"AHV-Bescheinigung",lppCertificate:"BVG-Bescheinigung",unemploymentCertificate:"Arbeitslosenbescheinigung"}},children:{hasChildren:"Haben Sie Kinder?",addChild:"Kind hinzufügen",editChild:"Kind bearbeiten",listTitle:"Kinderliste",moreThanFiveChildrenNote:"Notiz für mehr als fünf Kinder",firstName:"Vorname",lastName:"Nachname",birthDate:"Geburtsdatum",sameHousehold:"Im selben Haushalt",addressIfDifferent:"Adresse (falls abweichend)",addressLabel:"Adresse",alimentiVersati:"Unterhalt wird gezahlt",school:"Schule",hasCareCost:"Betreuungskosten",careCosts:"Betreuungskosten",copyLastNameFromTaxpayer:"Nachname vom Steuerpflichtigen übernehmen",noAttachments:"Dokumente anhängen"},informazionesualimenti:"Informationen zu Unterhalt",inserireindirizzocogniuge:"Adresse des Ehepartners eingeben",inserireindirizzopartner:"Adresse des Partners eingeben",indirizzocogniuge:"Adresse des Ehepartners",indirizzopartner:"Adresse des Partners",indirizzocogniugedefunto:"Adresse des verstorbenen Ehepartners",indirizzodeadpartner:"Adresse des verstorbenen Partners",indirizzoexcogniuge:"Adresse des Ex-Ehepartners",indirizzoexpartner:"Adresse des Ex-Partners",daticogniuge:"Angaben zum Ehepartner",datipartner:"Angaben zum Partner",daticogniugedefunto:"Angaben zum verstorbenen Ehepartner",datideadpartner:"Angaben zum verstorbenen Partner",datiexcogniuge:"Angaben zum Ex-Ehepartner",datideadexpartner:"Angaben zum Ex-Partner",datidisapparizedpartner:"Angaben zum verschollenen Partner",datadecesso:"Sterbedatum",datascomparsa:"Datum des Verschwindens"},f={"en-US":{...n,...r,...s},"it-IT":{...o,...d,...l},"fr-FR":{...c,...p,...m},"de-DE":{...u,...g,...h}},D=a(({app:e})=>{const i=t({locale:"it-IT",messages:f});e.use(i)});export{D as default}; diff --git a/app/dist/spa/assets/index-0B2sgEyA.js b/app/dist/spa/assets/index-0B2sgEyA.js new file mode 100644 index 0000000..f2abfd1 --- /dev/null +++ b/app/dist/spa/assets/index-0B2sgEyA.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MainLayout-Cyzrc7AM.js","assets/QList-CHwmSUjA.js","assets/LocalStorage-7Uw3xG9P.js","assets/taxstore-oR45_mFg.js","assets/children-ChLzVyp9.js","assets/vue-i18n.runtime-DPKkE7zN.js","assets/IndexPage-CwM_myNb.js","assets/IndexPage-sr_89QZh.css","assets/i18n-iY85aRww.js"])))=>i.map(i=>d[i]); +const ic=(function(){const t=typeof document<"u"&&document.createElement("link").relList;return t&&t.supports&&t.supports("modulepreload")?"modulepreload":"preload"})(),sc=function(e){return"/"+e},Ui={},ko=function(t,n,o){let r=Promise.resolve();if(n&&n.length>0){let a=function(c){return Promise.all(c.map(u=>Promise.resolve(u).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),l=s?.nonce||s?.getAttribute("nonce");r=a(n.map(c=>{if(c=sc(c),c in Ui)return;Ui[c]=!0;const u=c.endsWith(".css"),f=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${f}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":ic,u||(d.as="script"),d.crossOrigin="",d.href=c,l&&d.setAttribute("nonce",l),document.head.appendChild(d),u)return new Promise((g,p)=>{d.addEventListener("load",g),d.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(s){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=s,window.dispatchEvent(l),!l.defaultPrevented)throw s}return r.then(s=>{for(const l of s||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})};function pi(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const me={},_n=[],bt=()=>{},Tl=()=>!1,Wo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),vi=e=>e.startsWith("onUpdate:"),Pe=Object.assign,bi=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},lc=Object.prototype.hasOwnProperty,he=(e,t)=>lc.call(e,t),oe=Array.isArray,wn=e=>Go(e)==="[object Map]",Pl=e=>Go(e)==="[object Set]",ie=e=>typeof e=="function",xe=e=>typeof e=="string",Ut=e=>typeof e=="symbol",ye=e=>e!==null&&typeof e=="object",Ol=e=>(ye(e)||ie(e))&&ie(e.then)&&ie(e.catch),Ml=Object.prototype.toString,Go=e=>Ml.call(e),ac=e=>Go(e).slice(8,-1),ql=e=>Go(e)==="[object Object]",Qo=e=>xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,$n=pi(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Yo=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},uc=/-\w/g,tt=Yo(e=>e.replace(uc,t=>t.slice(1).toUpperCase())),cc=/\B([A-Z])/g,ln=Yo(e=>e.replace(cc,"-$1").toLowerCase()),Jo=Yo(e=>e.charAt(0).toUpperCase()+e.slice(1)),ur=Yo(e=>e?`on${Jo(e)}`:""),Vt=(e,t)=>!Object.is(e,t),cr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},fc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},dc=e=>{const t=xe(e)?Number(e):NaN;return isNaN(t)?e:t};let Ki;const Zo=()=>Ki||(Ki=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function yi(e){if(oe(e)){const t={};for(let n=0;n{if(n){const o=n.split(gc);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function _i(e){let t="";if(xe(e))t=e;else if(oe(e))for(let n=0;n!!(e&&e.__v_isRef===!0),yc=e=>xe(e)?e:e==null?"":oe(e)||ye(e)&&(e.toString===Ml||!ie(e.toString))?Nl(e)?yc(e.value):JSON.stringify(e,Bl,2):String(e),Bl=(e,t)=>Nl(t)?Bl(e,t.value):wn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,r],i)=>(n[fr(o,i)+" =>"]=r,n),{})}:Pl(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>fr(n))}:Ut(t)?fr(t):ye(t)&&!oe(t)&&!ql(t)?String(t):t,fr=(e,t="")=>{var n;return Ut(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let Ne;class Dl{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ne,!t&&Ne&&(this.index=(Ne.scopes||(Ne.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(Ne=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(jn){let t=jn;for(jn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Vn;){let t=Vn;for(Vn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function zl(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ul(e){let t,n=e.depsTail,o=n;for(;o;){const r=o.prevDep;o.version===-1?(o===n&&(n=r),Ci(o),wc(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=r}e.deps=t,e.depsTail=n}function jr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Kl(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Kl(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Yn)||(e.globalVersion=Yn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!jr(e))))return;e.flags|=2;const t=e.dep,n=ve,o=it;ve=e,it=!0;try{zl(e);const r=e.fn(e._value);(t.version===0||Vt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{ve=n,it=o,Ul(e),e.flags&=-3}}function Ci(e,t=!1){const{dep:n,prevSub:o,nextSub:r}=e;if(o&&(o.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Ci(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function wc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let it=!0;const Wl=[];function kt(){Wl.push(it),it=!1}function Rt(){const e=Wl.pop();it=e===void 0?!0:e}function Wi(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ve;ve=void 0;try{t()}finally{ve=n}}}let Yn=0;class xc{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Si{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ve||!it||ve===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ve)n=this.activeLink=new xc(ve,this),ve.deps?(n.prevDep=ve.depsTail,ve.depsTail.nextDep=n,ve.depsTail=n):ve.deps=ve.depsTail=n,Gl(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=ve.depsTail,n.nextDep=void 0,ve.depsTail.nextDep=n,ve.depsTail=n,ve.deps===n&&(ve.deps=o)}return n}trigger(t){this.version++,Yn++,this.notify(t)}notify(t){wi();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{xi()}}}function Gl(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)Gl(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const qo=new WeakMap,tn=Symbol(""),Hr=Symbol(""),Jn=Symbol("");function Be(e,t,n){if(it&&ve){let o=qo.get(e);o||qo.set(e,o=new Map);let r=o.get(n);r||(o.set(n,r=new Si),r.map=o,r.key=n),r.track()}}function Ct(e,t,n,o,r,i){const s=qo.get(e);if(!s){Yn++;return}const l=a=>{a&&a.trigger()};if(wi(),t==="clear")s.forEach(l);else{const a=oe(e),c=a&&Qo(n);if(a&&n==="length"){const u=Number(o);s.forEach((f,d)=>{(d==="length"||d===Jn||!Ut(d)&&d>=u)&&l(f)})}else switch((n!==void 0||s.has(void 0))&&l(s.get(n)),c&&l(s.get(Jn)),t){case"add":a?c&&l(s.get("length")):(l(s.get(tn)),wn(e)&&l(s.get(Hr)));break;case"delete":a||(l(s.get(tn)),wn(e)&&l(s.get(Hr)));break;case"set":wn(e)&&l(s.get(tn));break}}xi()}function Cc(e,t){const n=qo.get(e);return n&&n.get(t)}function hn(e){const t=se(e);return t===e?t:(Be(t,"iterate",Jn),Ye(e)?t:t.map(lt))}function Xo(e){return Be(e=se(e),"iterate",Jn),e}function It(e,t){return At(e)?Et(e)?Cn(lt(t)):Cn(t):lt(t)}const Sc={__proto__:null,[Symbol.iterator](){return hr(this,Symbol.iterator,e=>It(this,e))},concat(...e){return hn(this).concat(...e.map(t=>oe(t)?hn(t):t))},entries(){return hr(this,"entries",e=>(e[1]=It(this,e[1]),e))},every(e,t){return yt(this,"every",e,t,void 0,arguments)},filter(e,t){return yt(this,"filter",e,t,n=>n.map(o=>It(this,o)),arguments)},find(e,t){return yt(this,"find",e,t,n=>It(this,n),arguments)},findIndex(e,t){return yt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return yt(this,"findLast",e,t,n=>It(this,n),arguments)},findLastIndex(e,t){return yt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return yt(this,"forEach",e,t,void 0,arguments)},includes(...e){return gr(this,"includes",e)},indexOf(...e){return gr(this,"indexOf",e)},join(e){return hn(this).join(e)},lastIndexOf(...e){return gr(this,"lastIndexOf",e)},map(e,t){return yt(this,"map",e,t,void 0,arguments)},pop(){return On(this,"pop")},push(...e){return On(this,"push",e)},reduce(e,...t){return Gi(this,"reduce",e,t)},reduceRight(e,...t){return Gi(this,"reduceRight",e,t)},shift(){return On(this,"shift")},some(e,t){return yt(this,"some",e,t,void 0,arguments)},splice(...e){return On(this,"splice",e)},toReversed(){return hn(this).toReversed()},toSorted(e){return hn(this).toSorted(e)},toSpliced(...e){return hn(this).toSpliced(...e)},unshift(...e){return On(this,"unshift",e)},values(){return hr(this,"values",e=>It(this,e))}};function hr(e,t,n){const o=Xo(e),r=o[t]();return o!==e&&!Ye(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Ec=Array.prototype;function yt(e,t,n,o,r,i){const s=Xo(e),l=s!==e&&!Ye(e),a=s[t];if(a!==Ec[t]){const f=a.apply(e,i);return l?lt(f):f}let c=n;s!==e&&(l?c=function(f,d){return n.call(this,It(e,f),d,e)}:n.length>2&&(c=function(f,d){return n.call(this,f,d,e)}));const u=a.call(s,c,o);return l&&r?r(u):u}function Gi(e,t,n,o){const r=Xo(e);let i=n;return r!==e&&(Ye(e)?n.length>3&&(i=function(s,l,a){return n.call(this,s,l,a,e)}):i=function(s,l,a){return n.call(this,s,It(e,l),a,e)}),r[t](i,...o)}function gr(e,t,n){const o=se(e);Be(o,"iterate",Jn);const r=o[t](...n);return(r===-1||r===!1)&&er(n[0])?(n[0]=se(n[0]),o[t](...n)):r}function On(e,t,n=[]){kt(),wi();const o=se(e)[t].apply(e,n);return xi(),Rt(),o}const kc=pi("__proto__,__v_isRef,__isVue"),Ql=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ut));function Rc(e){Ut(e)||(e=String(e));const t=se(this);return Be(t,"has",e),t.hasOwnProperty(e)}class Yl{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return o===(r?i?Bc:ea:i?Xl:Zl).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const s=oe(t);if(!r){let a;if(s&&(a=Sc[n]))return a;if(n==="hasOwnProperty")return Rc}const l=Reflect.get(t,n,Ee(t)?t:o);if((Ut(n)?Ql.has(n):kc(n))||(r||Be(t,"get",n),i))return l;if(Ee(l)){const a=s&&Qo(n)?l:l.value;return r&&ye(a)?Ur(a):a}return ye(l)?r?Ur(l):an(l):l}}class Jl extends Yl{constructor(t=!1){super(!1,t)}set(t,n,o,r){let i=t[n];const s=oe(t)&&Qo(n);if(!this._isShallow){const c=At(i);if(!Ye(o)&&!At(o)&&(i=se(i),o=se(o)),!s&&Ee(i)&&!Ee(o))return c||(i.value=o),!0}const l=s?Number(n)e,go=e=>Reflect.getPrototypeOf(e);function Mc(e,t,n){return function(...o){const r=this.__v_raw,i=se(r),s=wn(i),l=e==="entries"||e===Symbol.iterator&&s,a=e==="keys"&&s,c=r[e](...o),u=n?zr:t?Cn:lt;return!t&&Be(i,"iterate",a?Hr:tn),{next(){const{value:f,done:d}=c.next();return d?{value:f,done:d}:{value:l?[u(f[0]),u(f[1])]:u(f),done:d}},[Symbol.iterator](){return this}}}}function mo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function qc(e,t){const n={get(r){const i=this.__v_raw,s=se(i),l=se(r);e||(Vt(r,l)&&Be(s,"get",r),Be(s,"get",l));const{has:a}=go(s),c=t?zr:e?Cn:lt;if(a.call(s,r))return c(i.get(r));if(a.call(s,l))return c(i.get(l));i!==s&&i.get(r)},get size(){const r=this.__v_raw;return!e&&Be(se(r),"iterate",tn),r.size},has(r){const i=this.__v_raw,s=se(i),l=se(r);return e||(Vt(r,l)&&Be(s,"has",r),Be(s,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const s=this,l=s.__v_raw,a=se(l),c=t?zr:e?Cn:lt;return!e&&Be(a,"iterate",tn),l.forEach((u,f)=>r.call(i,c(u),c(f),s))}};return Pe(n,e?{add:mo("add"),set:mo("set"),delete:mo("delete"),clear:mo("clear")}:{add(r){!t&&!Ye(r)&&!At(r)&&(r=se(r));const i=se(this);return go(i).has.call(i,r)||(i.add(r),Ct(i,"add",r,r)),this},set(r,i){!t&&!Ye(i)&&!At(i)&&(i=se(i));const s=se(this),{has:l,get:a}=go(s);let c=l.call(s,r);c||(r=se(r),c=l.call(s,r));const u=a.call(s,r);return s.set(r,i),c?Vt(i,u)&&Ct(s,"set",r,i):Ct(s,"add",r,i),this},delete(r){const i=se(this),{has:s,get:l}=go(i);let a=s.call(i,r);a||(r=se(r),a=s.call(i,r)),l&&l.call(i,r);const c=i.delete(r);return a&&Ct(i,"delete",r,void 0),c},clear(){const r=se(this),i=r.size!==0,s=r.clear();return i&&Ct(r,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Mc(r,e,t)}),n}function Ei(e,t){const n=qc(e,t);return(o,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?o:Reflect.get(he(n,r)&&r in o?n:o,r,i)}const Lc={get:Ei(!1,!1)},Ic={get:Ei(!1,!0)},Nc={get:Ei(!0,!1)};const Zl=new WeakMap,Xl=new WeakMap,ea=new WeakMap,Bc=new WeakMap;function Dc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Fc(e){return e.__v_skip||!Object.isExtensible(e)?0:Dc(ac(e))}function an(e){return At(e)?e:ki(e,!1,Tc,Lc,Zl)}function ta(e){return ki(e,!1,Oc,Ic,Xl)}function Ur(e){return ki(e,!0,Pc,Nc,ea)}function ki(e,t,n,o,r){if(!ye(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Fc(e);if(i===0)return e;const s=r.get(e);if(s)return s;const l=new Proxy(e,i===2?o:n);return r.set(e,l),l}function Et(e){return At(e)?Et(e.__v_raw):!!(e&&e.__v_isReactive)}function At(e){return!!(e&&e.__v_isReadonly)}function Ye(e){return!!(e&&e.__v_isShallow)}function er(e){return e?!!e.__v_raw:!1}function se(e){const t=e&&e.__v_raw;return t?se(t):e}function un(e){return!he(e,"__v_skip")&&Object.isExtensible(e)&&Ll(e,"__v_skip",!0),e}const lt=e=>ye(e)?an(e):e,Cn=e=>ye(e)?Ur(e):e;function Ee(e){return e?e.__v_isRef===!0:!1}function ae(e){return na(e,!1)}function $c(e){return na(e,!0)}function na(e,t){return Ee(e)?e:new Vc(e,t)}class Vc{constructor(t,n){this.dep=new Si,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:se(t),this._value=n?t:lt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||Ye(t)||At(t);t=o?t:se(t),Vt(t,n)&&(this._rawValue=t,this._value=o?t:lt(t),this.dep.trigger())}}function jt(e){return Ee(e)?e.value:e}const jc={get:(e,t,n)=>t==="__v_raw"?e:jt(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return Ee(r)&&!Ee(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function oa(e){return Et(e)?e:new Proxy(e,jc)}function Hc(e){const t=oe(e)?new Array(e.length):{};for(const n in e)t[n]=Uc(e,n);return t}class zc{constructor(t,n,o){this._object=t,this._key=n,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._raw=se(t);let r=!0,i=t;if(!oe(t)||!Qo(String(n)))do r=!er(i)||Ye(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=jt(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ee(this._raw[this._key])){const n=this._object[this._key];if(Ee(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Cc(this._raw,this._key)}}function Uc(e,t,n){return new zc(e,t,n)}class Kc{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Si(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Yn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&ve!==this)return Hl(this,!0),!0}get value(){const t=this.dep.track();return Kl(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Wc(e,t,n=!1){let o,r;return ie(e)?o=e:(o=e.get,r=e.set),new Kc(o,r,n)}const po={},Lo=new WeakMap;let Yt;function Gc(e,t=!1,n=Yt){if(n){let o=Lo.get(n);o||Lo.set(n,o=[]),o.push(e)}}function Qc(e,t,n=me){const{immediate:o,deep:r,once:i,scheduler:s,augmentJob:l,call:a}=n,c=A=>r?A:Ye(A)||r===!1||r===0?St(A,1):St(A);let u,f,d,g,p=!1,y=!1;if(Ee(e)?(f=()=>e.value,p=Ye(e)):Et(e)?(f=()=>c(e),p=!0):oe(e)?(y=!0,p=e.some(A=>Et(A)||Ye(A)),f=()=>e.map(A=>{if(Ee(A))return A.value;if(Et(A))return c(A);if(ie(A))return a?a(A,2):A()})):ie(e)?t?f=a?()=>a(e,2):e:f=()=>{if(d){kt();try{d()}finally{Rt()}}const A=Yt;Yt=u;try{return a?a(e,3,[g]):e(g)}finally{Yt=A}}:f=bt,t&&r){const A=f,B=r===!0?1/0:r;f=()=>St(A(),B)}const S=$l(),T=()=>{u.stop(),S&&S.active&&bi(S.effects,u)};if(i&&t){const A=t;t=(...B)=>{A(...B),T()}}let _=y?new Array(e.length).fill(po):po;const x=A=>{if(!(!(u.flags&1)||!u.dirty&&!A))if(t){const B=u.run();if(r||p||(y?B.some((j,H)=>Vt(j,_[H])):Vt(B,_))){d&&d();const j=Yt;Yt=u;try{const H=[B,_===po?void 0:y&&_[0]===po?[]:_,g];_=B,a?a(t,3,H):t(...H)}finally{Yt=j}}}else u.run()};return l&&l(x),u=new Vl(f),u.scheduler=s?()=>s(x,!1):x,g=A=>Gc(A,!1,u),d=u.onStop=()=>{const A=Lo.get(u);if(A){if(a)a(A,4);else for(const B of A)B();Lo.delete(u)}},t?o?x(!0):_=u.run():s?s(x.bind(null,!0),!0):u.run(),T.pause=u.pause.bind(u),T.resume=u.resume.bind(u),T.stop=T,T}function St(e,t=1/0,n){if(t<=0||!ye(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ee(e))St(e.value,t,n);else if(oe(e))for(let o=0;o{St(o,t,n)});else if(ql(e)){for(const o in e)St(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&St(e[o],t,n)}return e}function so(e,t,n,o){try{return o?e(...o):e()}catch(r){lo(r,t,n)}}function at(e,t,n,o){if(ie(e)){const r=so(e,t,n,o);return r&&Ol(r)&&r.catch(i=>{lo(i,t,n)}),r}if(oe(e)){const r=[];for(let i=0;i>>1,r=Ve[o],i=Zn(r);i=Zn(n)?Ve.push(e):Ve.splice(Jc(t),0,e),e.flags|=1,ia()}}function ia(){Io||(Io=ra.then(la))}function Zc(e){oe(e)?xn.push(...e):Nt&&e.id===-1?Nt.splice(bn+1,0,e):e.flags&1||(xn.push(e),e.flags|=1),ia()}function Qi(e,t,n=pt+1){for(;nZn(n)-Zn(o));if(xn.length=0,Nt){Nt.push(...t);return}for(Nt=t,bn=0;bne.id==null?e.flags&2?-1:1/0:e.id;function la(e){try{for(pt=0;pt{o._d&&Fo(-1);const i=No(t);let s;try{s=e(...r)}finally{No(i),o._d&&Fo(1)}return s};return o._n=!0,o._c=!0,o._d=!0,o}function ua(e,t){if(Ge===null)return e;const n=ir(Ge),o=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&ie(t)?t.call(o&&o.proxy):t}}function ef(){return!!(Ce()||nn)}const tf=Symbol.for("v-scx"),nf=()=>st(tf);function be(e,t,n){return ca(e,t,n)}function ca(e,t,n=me){const{immediate:o,deep:r,flush:i,once:s}=n,l=Pe({},n),a=t&&o||!t&&i!=="post";let c;if(Sn){if(i==="sync"){const g=nf();c=g.__watcherHandles||(g.__watcherHandles=[])}else if(!a){const g=()=>{};return g.stop=bt,g.resume=bt,g.pause=bt,g}}const u=Me;l.call=(g,p,y)=>at(g,u,p,y);let f=!1;i==="post"?l.scheduler=g=>{Fe(g,u&&u.suspense)}:i!=="sync"&&(f=!0,l.scheduler=(g,p)=>{p?g():Ri(g)}),l.augmentJob=g=>{t&&(g.flags|=4),f&&(g.flags|=2,u&&(g.id=u.uid,g.i=u))};const d=Qc(e,t,l);return Sn&&(c?c.push(d):a&&d()),d}function of(e,t,n){const o=this.proxy,r=xe(e)?e.includes(".")?fa(o,e):()=>o[e]:e.bind(o,o);let i;ie(t)?i=t:(i=t.handler,n=t);const s=co(this),l=ca(r,i.bind(o),n);return s(),l}function fa(e,t){const n=t.split(".");return()=>{let o=e;for(let r=0;re.__isTeleport,Hn=e=>e&&(e.disabled||e.disabled===""),Yi=e=>e&&(e.defer||e.defer===""),Ji=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Zi=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Kr=(e,t)=>{const n=e&&e.to;return xe(n)?t?t(n):null:n},ga={name:"Teleport",__isTeleport:!0,process(e,t,n,o,r,i,s,l,a,c){const{mc:u,pc:f,pbc:d,o:{insert:g,querySelector:p,createText:y,createComment:S}}=c,T=Hn(t.props);let{shapeFlag:_,children:x,dynamicChildren:A}=t;if(e==null){const B=t.el=y(""),j=t.anchor=y("");g(B,n,o),g(j,n,o);const H=(N,C)=>{_&16&&u(x,N,C,r,i,s,l,a)},$=()=>{const N=t.target=Kr(t.props,p),C=ma(N,t,y,g);N&&(s!=="svg"&&Ji(N)?s="svg":s!=="mathml"&&Zi(N)&&(s="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(N),T||(H(N,C),Ao(t,!1)))};T&&(H(n,j),Ao(t,!0)),Yi(t.props)?(t.el.__isMounted=!1,Fe(()=>{$(),delete t.el.__isMounted},i)):$()}else{if(Yi(t.props)&&e.el.__isMounted===!1){Fe(()=>{ga.process(e,t,n,o,r,i,s,l,a,c)},i);return}t.el=e.el,t.targetStart=e.targetStart;const B=t.anchor=e.anchor,j=t.target=e.target,H=t.targetAnchor=e.targetAnchor,$=Hn(e.props),N=$?n:j,C=$?B:H;if(s==="svg"||Ji(j)?s="svg":(s==="mathml"||Zi(j))&&(s="mathml"),A?(d(e.dynamicChildren,A,N,r,i,s,l),qi(e,t,!0)):a||f(e,t,N,C,r,i,s,l,!1),T)$?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):vo(t,n,B,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const E=t.target=Kr(t.props,p);E&&vo(t,E,null,c,0)}else $&&vo(t,j,H,c,1);Ao(t,T)}},remove(e,t,n,{um:o,o:{remove:r}},i){const{shapeFlag:s,children:l,anchor:a,targetStart:c,targetAnchor:u,target:f,props:d}=e;if(f&&(r(c),r(u)),i&&r(a),s&16){const g=i||!Hn(d);for(let p=0;p{e.isMounted=!0}),ct(()=>{e.isUnmounting=!0}),e}const Je=[Function,Array],va={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Je,onEnter:Je,onAfterEnter:Je,onEnterCancelled:Je,onBeforeLeave:Je,onLeave:Je,onAfterLeave:Je,onLeaveCancelled:Je,onBeforeAppear:Je,onAppear:Je,onAfterAppear:Je,onAppearCancelled:Je},ba=e=>{const t=e.subTree;return t.component?ba(t.component):t},lf={name:"BaseTransition",props:va,setup(e,{slots:t}){const n=Ce(),o=pa();return()=>{const r=t.default&&Ai(t.default(),!0);if(!r||!r.length)return;const i=ya(r),s=se(e),{mode:l}=s;if(o.isLeaving)return mr(i);const a=Xi(i);if(!a)return mr(i);let c=Xn(a,s,o,n,f=>c=f);a.type!==je&&sn(a,c);let u=n.subTree&&Xi(n.subTree);if(u&&u.type!==je&&!Jt(u,a)&&ba(n).type!==je){let f=Xn(u,s,o,n);if(sn(u,f),l==="out-in"&&a.type!==je)return o.isLeaving=!0,f.afterLeave=()=>{o.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,u=void 0},mr(i);l==="in-out"&&a.type!==je?f.delayLeave=(d,g,p)=>{const y=_a(o,u);y[String(u.key)]=u,d[xt]=()=>{g(),d[xt]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{p(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return i}}};function ya(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==je){t=n;break}}return t}const af=lf;function _a(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function Xn(e,t,n,o,r){const{appear:i,mode:s,persisted:l=!1,onBeforeEnter:a,onEnter:c,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:d,onLeave:g,onAfterLeave:p,onLeaveCancelled:y,onBeforeAppear:S,onAppear:T,onAfterAppear:_,onAppearCancelled:x}=t,A=String(e.key),B=_a(n,e),j=(N,C)=>{N&&at(N,o,9,C)},H=(N,C)=>{const E=C[1];j(N,C),oe(N)?N.every(b=>b.length<=1)&&E():N.length<=1&&E()},$={mode:s,persisted:l,beforeEnter(N){let C=a;if(!n.isMounted)if(i)C=S||a;else return;N[xt]&&N[xt](!0);const E=B[A];E&&Jt(e,E)&&E.el[xt]&&E.el[xt](),j(C,[N])},enter(N){let C=c,E=u,b=f;if(!n.isMounted)if(i)C=T||c,E=_||u,b=x||f;else return;let O=!1;const R=N[bo]=K=>{O||(O=!0,K?j(b,[N]):j(E,[N]),$.delayedLeave&&$.delayedLeave(),N[bo]=void 0)};C?H(C,[N,R]):R()},leave(N,C){const E=String(e.key);if(N[bo]&&N[bo](!0),n.isUnmounting)return C();j(d,[N]);let b=!1;const O=N[xt]=R=>{b||(b=!0,C(),R?j(y,[N]):j(p,[N]),N[xt]=void 0,B[E]===e&&delete B[E])};B[E]=e,g?H(g,[N,O]):O()},clone(N){const C=Xn(N,t,n,o,r);return r&&r(C),C}};return $}function mr(e){if(uo(e))return e=Ht(e),e.children=null,e}function Xi(e){if(!uo(e))return ha(e.type)&&e.children?ya(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ie(n.default))return n.default()}}function sn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,sn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ai(e,t=!1,n){let o=[],r=0;for(let i=0;i1)for(let i=0;izn(p,t&&(oe(t)?t[y]:t),n,o,r));return}if(Un(o)&&!r){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&zn(e,t,n,o.component.subTree);return}const i=o.shapeFlag&4?ir(o.component):o.el,s=r?null:i,{i:l,r:a}=e,c=t&&t.r,u=l.refs===me?l.refs={}:l.refs,f=l.setupState,d=se(f),g=f===me?Tl:p=>he(d,p);if(c!=null&&c!==a){if(es(t),xe(c))u[c]=null,g(c)&&(f[c]=null);else if(Ee(c)){c.value=null;const p=t;p.k&&(u[p.k]=null)}}if(ie(a))so(a,l,12,[s,u]);else{const p=xe(a),y=Ee(a);if(p||y){const S=()=>{if(e.f){const T=p?g(a)?f[a]:u[a]:a.value;if(r)oe(T)&&bi(T,i);else if(oe(T))T.includes(i)||T.push(i);else if(p)u[a]=[i],g(a)&&(f[a]=u[a]);else{const _=[i];a.value=_,e.k&&(u[e.k]=_)}}else p?(u[a]=s,g(a)&&(f[a]=s)):y&&(a.value=s,e.k&&(u[e.k]=s))};if(s){const T=()=>{S(),Bo.delete(e)};T.id=-1,Bo.set(e,T),Fe(T,n)}else es(e),S()}}}function es(e){const t=Bo.get(e);t&&(t.flags|=8,Bo.delete(e))}const ts=e=>e.nodeType===8;Zo().requestIdleCallback;Zo().cancelIdleCallback;function uf(e,t){if(ts(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(ts(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Un=e=>!!e.type.__asyncLoader;function Ep(e){ie(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:r=200,hydrate:i,timeout:s,suspensible:l=!0,onError:a}=e;let c=null,u,f=0;const d=()=>(f++,c=null,g()),g=()=>{let p;return c||(p=c=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),a)return new Promise((S,T)=>{a(y,()=>S(d()),()=>T(y),f+1)});throw y}).then(y=>p!==c&&c?c:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),u=y,y)))};return ao({name:"AsyncComponentWrapper",__asyncLoader:g,__asyncHydrate(p,y,S){let T=!1;(y.bu||(y.bu=[])).push(()=>T=!0);const _=()=>{T||S()},x=i?()=>{const A=i(_,B=>uf(p,B));A&&(y.bum||(y.bum=[])).push(A)}:_;u?x():g().then(()=>!y.isUnmounted&&x())},get __asyncResolved(){return u},setup(){const p=Me;if(Ti(p),u)return()=>yo(u,p);const y=x=>{c=null,lo(x,p,13,!o)};if(l&&p.suspense||Sn)return g().then(x=>()=>yo(x,p)).catch(x=>(y(x),()=>o?qe(o,{error:x}):null));const S=ae(!1),T=ae(),_=ae(!!r);return r&&setTimeout(()=>{_.value=!1},r),s!=null&&setTimeout(()=>{if(!S.value&&!T.value){const x=new Error(`Async component timed out after ${s}ms.`);y(x),T.value=x}},s),g().then(()=>{S.value=!0,p.parent&&uo(p.parent.vnode)&&p.parent.update()}).catch(x=>{y(x),T.value=x}),()=>{if(S.value&&u)return yo(u,p);if(T.value&&o)return qe(o,{error:T.value});if(n&&!_.value)return yo(n,p)}}})}function yo(e,t){const{ref:n,props:o,children:r,ce:i}=t.vnode,s=qe(e,o,r);return s.ref=n,s.ce=i,delete t.vnode.ce,s}const uo=e=>e.type.__isKeepAlive;function wa(e,t){xa(e,"a",t)}function tr(e,t){xa(e,"da",t)}function xa(e,t,n=Me){const o=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(nr(t,o,n),n){let r=n.parent;for(;r&&r.parent;)uo(r.parent.vnode)&&cf(o,t,n,r),r=r.parent}}function cf(e,t,n,o){const r=nr(t,e,o,!0);Pi(()=>{bi(o[t],r)},n)}function nr(e,t,n=Me,o=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...s)=>{kt();const l=co(n),a=at(t,n,e,s);return l(),Rt(),a});return o?r.unshift(i):r.push(i),i}}const Pt=e=>(t,n=Me)=>{(!Sn||e==="sp")&&nr(e,(...o)=>t(...o),n)},ff=Pt("bm"),cn=Pt("m"),Ca=Pt("bu"),Sa=Pt("u"),ct=Pt("bum"),Pi=Pt("um"),df=Pt("sp"),hf=Pt("rtg"),gf=Pt("rtc");function mf(e,t=Me){nr("ec",e,t)}const Ea="components";function pf(e,t){return Ra(Ea,e,!0,t)||e}const ka=Symbol.for("v-ndc");function kp(e){return xe(e)?Ra(Ea,e,!1)||e:e||ka}function Ra(e,t,n=!0,o=!1){const r=Ge||Me;if(r){const i=r.type;{const l=td(i,!1);if(l&&(l===t||l===tt(t)||l===Jo(tt(t))))return i}const s=ns(r[e]||i[e],t)||ns(r.appContext[e],t);return!s&&o?i:s}}function ns(e,t){return e&&(e[t]||e[tt(t)]||e[Jo(tt(t))])}function Rp(e,t,n,o){let r;const i=n,s=oe(e);if(s||xe(e)){const l=s&&Et(e);let a=!1,c=!1;l&&(a=!Ye(e),c=At(e),e=Xo(e)),r=new Array(e.length);for(let u=0,f=e.length;ut(l,a,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let a=0,c=l.length;ae?Ga(e)?ir(e):Wr(e.parent):null,Kn=Pe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Wr(e.parent),$root:e=>Wr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ta(e),$forceUpdate:e=>e.f||(e.f=()=>{Ri(e.update)}),$nextTick:e=>e.n||(e.n=Ke.bind(e.proxy)),$watch:e=>of.bind(e)}),pr=(e,t)=>e!==me&&!e.__isScriptSetup&&he(e,t),vf={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:r,props:i,accessCache:s,type:l,appContext:a}=e;if(t[0]!=="$"){const d=s[t];if(d!==void 0)switch(d){case 1:return o[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(pr(o,t))return s[t]=1,o[t];if(r!==me&&he(r,t))return s[t]=2,r[t];if(he(i,t))return s[t]=3,i[t];if(n!==me&&he(n,t))return s[t]=4,n[t];Gr&&(s[t]=0)}}const c=Kn[t];let u,f;if(c)return t==="$attrs"&&Be(e.attrs,"get",""),c(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==me&&he(n,t))return s[t]=4,n[t];if(f=a.config.globalProperties,he(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:r,ctx:i}=e;return pr(r,t)?(r[t]=n,!0):o!==me&&he(o,t)?(o[t]=n,!0):he(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:r,props:i,type:s}},l){let a;return!!(n[l]||e!==me&&l[0]!=="$"&&he(e,l)||pr(t,l)||he(i,l)||he(o,l)||he(Kn,l)||he(r.config.globalProperties,l)||(a=s.__cssModules)&&a[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:he(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function os(e){return oe(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Gr=!0;function bf(e){const t=Ta(e),n=e.proxy,o=e.ctx;Gr=!1,t.beforeCreate&&rs(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:s,watch:l,provide:a,inject:c,created:u,beforeMount:f,mounted:d,beforeUpdate:g,updated:p,activated:y,deactivated:S,beforeDestroy:T,beforeUnmount:_,destroyed:x,unmounted:A,render:B,renderTracked:j,renderTriggered:H,errorCaptured:$,serverPrefetch:N,expose:C,inheritAttrs:E,components:b,directives:O,filters:R}=t;if(c&&yf(c,o,null),s)for(const V in s){const M=s[V];ie(M)&&(o[V]=M.bind(n))}if(r){const V=r.call(n,n);ye(V)&&(e.data=an(V))}if(Gr=!0,i)for(const V in i){const M=i[V],ne=ie(M)?M.bind(n,n):ie(M.get)?M.get.bind(n,n):bt,we=!ie(M)&&ie(M.set)?M.set.bind(n):bt,le=k({get:ne,set:we});Object.defineProperty(o,V,{enumerable:!0,configurable:!0,get:()=>le.value,set:D=>le.value=D})}if(l)for(const V in l)Aa(l[V],o,n,V);if(a){const V=ie(a)?a.call(n):a;Reflect.ownKeys(V).forEach(M=>{Ro(M,V[M])})}u&&rs(u,e,"c");function J(V,M){oe(M)?M.forEach(ne=>V(ne.bind(n))):M&&V(M.bind(n))}if(J(ff,f),J(cn,d),J(Ca,g),J(Sa,p),J(wa,y),J(tr,S),J(mf,$),J(gf,j),J(hf,H),J(ct,_),J(Pi,A),J(df,N),oe(C))if(C.length){const V=e.exposed||(e.exposed={});C.forEach(M=>{Object.defineProperty(V,M,{get:()=>n[M],set:ne=>n[M]=ne,enumerable:!0})})}else e.exposed||(e.exposed={});B&&e.render===bt&&(e.render=B),E!=null&&(e.inheritAttrs=E),b&&(e.components=b),O&&(e.directives=O),N&&Ti(e)}function yf(e,t,n=bt){oe(e)&&(e=Qr(e));for(const o in e){const r=e[o];let i;ye(r)?"default"in r?i=st(r.from||o,r.default,!0):i=st(r.from||o):i=st(r),Ee(i)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>i.value,set:s=>i.value=s}):t[o]=i}}function rs(e,t,n){at(oe(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Aa(e,t,n,o){let r=o.includes(".")?fa(n,o):()=>n[o];if(xe(e)){const i=t[e];ie(i)&&be(r,i)}else if(ie(e))be(r,e.bind(n));else if(ye(e))if(oe(e))e.forEach(i=>Aa(i,t,n,o));else{const i=ie(e.handler)?e.handler.bind(n):t[e.handler];ie(i)&&be(r,i,e)}}function Ta(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:s}}=e.appContext,l=i.get(t);let a;return l?a=l:!r.length&&!n&&!o?a=t:(a={},r.length&&r.forEach(c=>Do(a,c,s,!0)),Do(a,t,s)),ye(t)&&i.set(t,a),a}function Do(e,t,n,o=!1){const{mixins:r,extends:i}=t;i&&Do(e,i,n,!0),r&&r.forEach(s=>Do(e,s,n,!0));for(const s in t)if(!(o&&s==="expose")){const l=_f[s]||n&&n[s];e[s]=l?l(e[s],t[s]):t[s]}return e}const _f={data:is,props:ss,emits:ss,methods:Bn,computed:Bn,beforeCreate:De,created:De,beforeMount:De,mounted:De,beforeUpdate:De,updated:De,beforeDestroy:De,beforeUnmount:De,destroyed:De,unmounted:De,activated:De,deactivated:De,errorCaptured:De,serverPrefetch:De,components:Bn,directives:Bn,watch:xf,provide:is,inject:wf};function is(e,t){return t?e?function(){return Pe(ie(e)?e.call(this,this):e,ie(t)?t.call(this,this):t)}:t:e}function wf(e,t){return Bn(Qr(e),Qr(t))}function Qr(e){if(oe(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${tt(t)}Modifiers`]||e[`${ln(t)}Modifiers`];function kf(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||me;let r=n;const i=t.startsWith("update:"),s=i&&Ef(o,t.slice(7));s&&(s.trim&&(r=n.map(u=>xe(u)?u.trim():u)),s.number&&(r=n.map(fc)));let l,a=o[l=ur(t)]||o[l=ur(tt(t))];!a&&i&&(a=o[l=ur(ln(t))]),a&&at(a,e,6,r);const c=o[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,at(c,e,6,r)}}const Rf=new WeakMap;function Oa(e,t,n=!1){const o=n?Rf:t.emitsCache,r=o.get(e);if(r!==void 0)return r;const i=e.emits;let s={},l=!1;if(!ie(e)){const a=c=>{const u=Oa(c,t,!0);u&&(l=!0,Pe(s,u))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!i&&!l?(ye(e)&&o.set(e,null),null):(oe(i)?i.forEach(a=>s[a]=null):Pe(s,i),ye(e)&&o.set(e,s),s)}function or(e,t){return!e||!Wo(t)?!1:(t=t.slice(2).replace(/Once$/,""),he(e,t[0].toLowerCase()+t.slice(1))||he(e,ln(t))||he(e,t))}function ls(e){const{type:t,vnode:n,proxy:o,withProxy:r,propsOptions:[i],slots:s,attrs:l,emit:a,render:c,renderCache:u,props:f,data:d,setupState:g,ctx:p,inheritAttrs:y}=e,S=No(e);let T,_;try{if(n.shapeFlag&4){const A=r||o,B=A;T=vt(c.call(B,A,u,f,g,d,p)),_=l}else{const A=t;T=vt(A.length>1?A(f,{attrs:l,slots:s,emit:a}):A(f,null)),_=t.props?l:Af(l)}}catch(A){Wn.length=0,lo(A,e,1),T=qe(je)}let x=T;if(_&&y!==!1){const A=Object.keys(_),{shapeFlag:B}=x;A.length&&B&7&&(i&&A.some(vi)&&(_=Tf(_,i)),x=Ht(x,_,!1,!0))}return n.dirs&&(x=Ht(x,null,!1,!0),x.dirs=x.dirs?x.dirs.concat(n.dirs):n.dirs),n.transition&&sn(x,n.transition),T=x,No(S),T}const Af=e=>{let t;for(const n in e)(n==="class"||n==="style"||Wo(n))&&((t||(t={}))[n]=e[n]);return t},Tf=(e,t)=>{const n={};for(const o in e)(!vi(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Pf(e,t,n){const{props:o,children:r,component:i}=e,{props:s,children:l,patchFlag:a}=t,c=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return o?as(o,s,c):!!s;if(a&8){const u=t.dynamicProps;for(let f=0;fObject.create(Ma),La=e=>Object.getPrototypeOf(e)===Ma;function Mf(e,t,n,o=!1){const r={},i=qa();e.propsDefaults=Object.create(null),Ia(e,t,r,i);for(const s in e.propsOptions[0])s in r||(r[s]=void 0);n?e.props=o?r:ta(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function qf(e,t,n,o){const{props:r,attrs:i,vnode:{patchFlag:s}}=e,l=se(r),[a]=e.propsOptions;let c=!1;if((o||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let f=0;f{a=!0;const[d,g]=Na(f,t,!0);Pe(s,d),g&&l.push(...g)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!a)return ye(e)&&o.set(e,_n),_n;if(oe(i))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Mi=e=>oe(e)?e.map(vt):[vt(e)],If=(e,t,n)=>{if(t._n)return t;const o=Xc((...r)=>Mi(t(...r)),n);return o._c=!1,o},Ba=(e,t,n)=>{const o=e._ctx;for(const r in e){if(Oi(r))continue;const i=e[r];if(ie(i))t[r]=If(r,i,o);else if(i!=null){const s=Mi(i);t[r]=()=>s}}},Da=(e,t)=>{const n=Mi(t);e.slots.default=()=>n},Fa=(e,t,n)=>{for(const o in t)(n||!Oi(o))&&(e[o]=t[o])},Nf=(e,t,n)=>{const o=e.slots=qa();if(e.vnode.shapeFlag&32){const r=t._;r?(Fa(o,t,n),n&&Ll(o,"_",r,!0)):Ba(t,o)}else t&&Da(e,t)},Bf=(e,t,n)=>{const{vnode:o,slots:r}=e;let i=!0,s=me;if(o.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:Fa(r,t,n):(i=!t.$stable,Ba(t,r)),s=t}else t&&(Da(e,t),s={default:1});if(i)for(const l in r)!Oi(l)&&s[l]==null&&delete r[l]},Fe=jf;function Df(e){return Ff(e)}function Ff(e,t){const n=Zo();n.__VUE__=!0;const{insert:o,remove:r,patchProp:i,createElement:s,createText:l,createComment:a,setText:c,setElementText:u,parentNode:f,nextSibling:d,setScopeId:g=bt,insertStaticContent:p}=e,y=(h,m,v,q=null,I=null,L=null,Q=void 0,U=null,z=!!m.dynamicChildren)=>{if(h===m)return;h&&!Jt(h,m)&&(q=w(h),D(h,I,L,!0),h=null),m.patchFlag===-2&&(z=!1,m.dynamicChildren=null);const{type:F,ref:te,shapeFlag:Y}=m;switch(F){case rr:S(h,m,v,q);break;case je:T(h,m,v,q);break;case br:h==null&&_(m,v,q,Q);break;case Xe:b(h,m,v,q,I,L,Q,U,z);break;default:Y&1?B(h,m,v,q,I,L,Q,U,z):Y&6?O(h,m,v,q,I,L,Q,U,z):(Y&64||Y&128)&&F.process(h,m,v,q,I,L,Q,U,z,Z)}te!=null&&I?zn(te,h&&h.ref,L,m||h,!m):te==null&&h&&h.ref!=null&&zn(h.ref,null,L,h,!0)},S=(h,m,v,q)=>{if(h==null)o(m.el=l(m.children),v,q);else{const I=m.el=h.el;m.children!==h.children&&c(I,m.children)}},T=(h,m,v,q)=>{h==null?o(m.el=a(m.children||""),v,q):m.el=h.el},_=(h,m,v,q)=>{[h.el,h.anchor]=p(h.children,m,v,q,h.el,h.anchor)},x=({el:h,anchor:m},v,q)=>{let I;for(;h&&h!==m;)I=d(h),o(h,v,q),h=I;o(m,v,q)},A=({el:h,anchor:m})=>{let v;for(;h&&h!==m;)v=d(h),r(h),h=v;r(m)},B=(h,m,v,q,I,L,Q,U,z)=>{if(m.type==="svg"?Q="svg":m.type==="math"&&(Q="mathml"),h==null)j(m,v,q,I,L,Q,U,z);else{const F=h.el&&h.el._isVueCE?h.el:null;try{F&&F._beginPatch(),N(h,m,I,L,Q,U,z)}finally{F&&F._endPatch()}}},j=(h,m,v,q,I,L,Q,U)=>{let z,F;const{props:te,shapeFlag:Y,transition:X,dirs:re}=h;if(z=h.el=s(h.type,L,te&&te.is,te),Y&8?u(z,h.children):Y&16&&$(h.children,z,null,q,I,vr(h,L),Q,U),re&&Kt(h,null,q,"created"),H(z,h,h.scopeId,Q,q),te){for(const pe in te)pe!=="value"&&!$n(pe)&&i(z,pe,null,te[pe],L,q);"value"in te&&i(z,"value",null,te.value,L),(F=te.onVnodeBeforeMount)&>(F,q,h)}re&&Kt(h,null,q,"beforeMount");const fe=$f(I,X);fe&&X.beforeEnter(z),o(z,m,v),((F=te&&te.onVnodeMounted)||fe||re)&&Fe(()=>{F&>(F,q,h),fe&&X.enter(z),re&&Kt(h,null,q,"mounted")},I)},H=(h,m,v,q,I)=>{if(v&&g(h,v),q)for(let L=0;L{for(let F=z;F{const U=m.el=h.el;let{patchFlag:z,dynamicChildren:F,dirs:te}=m;z|=h.patchFlag&16;const Y=h.props||me,X=m.props||me;let re;if(v&&Wt(v,!1),(re=X.onVnodeBeforeUpdate)&>(re,v,m,h),te&&Kt(m,h,v,"beforeUpdate"),v&&Wt(v,!0),(Y.innerHTML&&X.innerHTML==null||Y.textContent&&X.textContent==null)&&u(U,""),F?C(h.dynamicChildren,F,U,v,q,vr(m,I),L):Q||M(h,m,U,null,v,q,vr(m,I),L,!1),z>0){if(z&16)E(U,Y,X,v,I);else if(z&2&&Y.class!==X.class&&i(U,"class",null,X.class,I),z&4&&i(U,"style",Y.style,X.style,I),z&8){const fe=m.dynamicProps;for(let pe=0;pe{re&>(re,v,m,h),te&&Kt(m,h,v,"updated")},q)},C=(h,m,v,q,I,L,Q)=>{for(let U=0;U{if(m!==v){if(m!==me)for(const L in m)!$n(L)&&!(L in v)&&i(h,L,m[L],null,I,q);for(const L in v){if($n(L))continue;const Q=v[L],U=m[L];Q!==U&&L!=="value"&&i(h,L,U,Q,I,q)}"value"in v&&i(h,"value",m.value,v.value,I)}},b=(h,m,v,q,I,L,Q,U,z)=>{const F=m.el=h?h.el:l(""),te=m.anchor=h?h.anchor:l("");let{patchFlag:Y,dynamicChildren:X,slotScopeIds:re}=m;re&&(U=U?U.concat(re):re),h==null?(o(F,v,q),o(te,v,q),$(m.children||[],v,te,I,L,Q,U,z)):Y>0&&Y&64&&X&&h.dynamicChildren&&h.dynamicChildren.length===X.length?(C(h.dynamicChildren,X,v,I,L,Q,U),(m.key!=null||I&&m===I.subTree)&&qi(h,m,!0)):M(h,m,v,te,I,L,Q,U,z)},O=(h,m,v,q,I,L,Q,U,z)=>{m.slotScopeIds=U,h==null?m.shapeFlag&512?I.ctx.activate(m,v,q,Q,z):R(m,v,q,I,L,Q,z):K(h,m,z)},R=(h,m,v,q,I,L,Q)=>{const U=h.component=Yf(h,q,I);if(uo(h)&&(U.ctx.renderer=Z),Jf(U,!1,Q),U.asyncDep){if(I&&I.registerDep(U,J,Q),!h.el){const z=U.subTree=qe(je);T(null,z,m,v),h.placeholder=z.el}}else J(U,h,m,v,I,L,Q)},K=(h,m,v)=>{const q=m.component=h.component;if(Pf(h,m,v))if(q.asyncDep&&!q.asyncResolved){V(q,m,v);return}else q.next=m,q.update();else m.el=h.el,q.vnode=m},J=(h,m,v,q,I,L,Q)=>{const U=()=>{if(h.isMounted){let{next:Y,bu:X,u:re,parent:fe,vnode:pe}=h;{const dt=$a(h);if(dt){Y&&(Y.el=pe.el,V(h,Y,Q)),dt.asyncDep.then(()=>{h.isUnmounted||U()});return}}let ge=Y,He;Wt(h,!1),Y?(Y.el=pe.el,V(h,Y,Q)):Y=pe,X&&cr(X),(He=Y.props&&Y.props.onVnodeBeforeUpdate)&>(He,fe,Y,pe),Wt(h,!0);const ze=ls(h),ft=h.subTree;h.subTree=ze,y(ft,ze,f(ft.el),w(ft),h,I,L),Y.el=ze.el,ge===null&&Of(h,ze.el),re&&Fe(re,I),(He=Y.props&&Y.props.onVnodeUpdated)&&Fe(()=>gt(He,fe,Y,pe),I)}else{let Y;const{el:X,props:re}=m,{bm:fe,m:pe,parent:ge,root:He,type:ze}=h,ft=Un(m);Wt(h,!1),fe&&cr(fe),!ft&&(Y=re&&re.onVnodeBeforeMount)&>(Y,ge,m),Wt(h,!0);{He.ce&&He.ce._def.shadowRoot!==!1&&He.ce._injectChildStyle(ze);const dt=h.subTree=ls(h);y(null,dt,v,q,h,I,L),m.el=dt.el}if(pe&&Fe(pe,I),!ft&&(Y=re&&re.onVnodeMounted)){const dt=m;Fe(()=>gt(Y,ge,dt),I)}(m.shapeFlag&256||ge&&Un(ge.vnode)&&ge.vnode.shapeFlag&256)&&h.a&&Fe(h.a,I),h.isMounted=!0,m=v=q=null}};h.scope.on();const z=h.effect=new Vl(U);h.scope.off();const F=h.update=z.run.bind(z),te=h.job=z.runIfDirty.bind(z);te.i=h,te.id=h.uid,z.scheduler=()=>Ri(te),Wt(h,!0),F()},V=(h,m,v)=>{m.component=h;const q=h.vnode.props;h.vnode=m,h.next=null,qf(h,m.props,q,v),Bf(h,m.children,v),kt(),Qi(h),Rt()},M=(h,m,v,q,I,L,Q,U,z=!1)=>{const F=h&&h.children,te=h?h.shapeFlag:0,Y=m.children,{patchFlag:X,shapeFlag:re}=m;if(X>0){if(X&128){we(F,Y,v,q,I,L,Q,U,z);return}else if(X&256){ne(F,Y,v,q,I,L,Q,U,z);return}}re&8?(te&16&&ee(F,I,L),Y!==F&&u(v,Y)):te&16?re&16?we(F,Y,v,q,I,L,Q,U,z):ee(F,I,L,!0):(te&8&&u(v,""),re&16&&$(Y,v,q,I,L,Q,U,z))},ne=(h,m,v,q,I,L,Q,U,z)=>{h=h||_n,m=m||_n;const F=h.length,te=m.length,Y=Math.min(F,te);let X;for(X=0;Xte?ee(h,I,L,!0,!1,Y):$(m,v,q,I,L,Q,U,z,Y)},we=(h,m,v,q,I,L,Q,U,z)=>{let F=0;const te=m.length;let Y=h.length-1,X=te-1;for(;F<=Y&&F<=X;){const re=h[F],fe=m[F]=z?Bt(m[F]):vt(m[F]);if(Jt(re,fe))y(re,fe,v,null,I,L,Q,U,z);else break;F++}for(;F<=Y&&F<=X;){const re=h[Y],fe=m[X]=z?Bt(m[X]):vt(m[X]);if(Jt(re,fe))y(re,fe,v,null,I,L,Q,U,z);else break;Y--,X--}if(F>Y){if(F<=X){const re=X+1,fe=reX)for(;F<=Y;)D(h[F],I,L,!0),F++;else{const re=F,fe=F,pe=new Map;for(F=fe;F<=X;F++){const We=m[F]=z?Bt(m[F]):vt(m[F]);We.key!=null&&pe.set(We.key,F)}let ge,He=0;const ze=X-fe+1;let ft=!1,dt=0;const Pn=new Array(ze);for(F=0;F=ze){D(We,I,L,!0);continue}let ht;if(We.key!=null)ht=pe.get(We.key);else for(ge=fe;ge<=X;ge++)if(Pn[ge-fe]===0&&Jt(We,m[ge])){ht=ge;break}ht===void 0?D(We,I,L,!0):(Pn[ht-fe]=F+1,ht>=dt?dt=ht:ft=!0,y(We,m[ht],v,null,I,L,Q,U,z),He++)}const ji=ft?Vf(Pn):_n;for(ge=ji.length-1,F=ze-1;F>=0;F--){const We=fe+F,ht=m[We],Hi=m[We+1],zi=We+1{const{el:L,type:Q,transition:U,children:z,shapeFlag:F}=h;if(F&6){le(h.component.subTree,m,v,q);return}if(F&128){h.suspense.move(m,v,q);return}if(F&64){Q.move(h,m,v,Z);return}if(Q===Xe){o(L,m,v);for(let Y=0;YU.enter(L),I);else{const{leave:Y,delayLeave:X,afterLeave:re}=U,fe=()=>{h.ctx.isUnmounted?r(L):o(L,m,v)},pe=()=>{L._isLeaving&&L[xt](!0),Y(L,()=>{fe(),re&&re()})};X?X(L,fe,pe):pe()}else o(L,m,v)},D=(h,m,v,q=!1,I=!1)=>{const{type:L,props:Q,ref:U,children:z,dynamicChildren:F,shapeFlag:te,patchFlag:Y,dirs:X,cacheIndex:re}=h;if(Y===-2&&(I=!1),U!=null&&(kt(),zn(U,null,v,h,!0),Rt()),re!=null&&(m.renderCache[re]=void 0),te&256){m.ctx.deactivate(h);return}const fe=te&1&&X,pe=!Un(h);let ge;if(pe&&(ge=Q&&Q.onVnodeBeforeUnmount)&>(ge,m,h),te&6)ke(h.component,v,q);else{if(te&128){h.suspense.unmount(v,q);return}fe&&Kt(h,null,m,"beforeUnmount"),te&64?h.type.remove(h,m,v,Z,q):F&&!F.hasOnce&&(L!==Xe||Y>0&&Y&64)?ee(F,m,v,!1,!0):(L===Xe&&Y&384||!I&&te&16)&&ee(z,m,v),q&&ue(h)}(pe&&(ge=Q&&Q.onVnodeUnmounted)||fe)&&Fe(()=>{ge&>(ge,m,h),fe&&Kt(h,null,m,"unmounted")},v)},ue=h=>{const{type:m,el:v,anchor:q,transition:I}=h;if(m===Xe){_e(v,q);return}if(m===br){A(h);return}const L=()=>{r(v),I&&!I.persisted&&I.afterLeave&&I.afterLeave()};if(h.shapeFlag&1&&I&&!I.persisted){const{leave:Q,delayLeave:U}=I,z=()=>Q(v,L);U?U(h.el,L,z):z()}else L()},_e=(h,m)=>{let v;for(;h!==m;)v=d(h),r(h),h=v;r(m)},ke=(h,m,v)=>{const{bum:q,scope:I,job:L,subTree:Q,um:U,m:z,a:F}=h;cs(z),cs(F),q&&cr(q),I.stop(),L&&(L.flags|=8,D(Q,h,m,v)),U&&Fe(U,m),Fe(()=>{h.isUnmounted=!0},m)},ee=(h,m,v,q=!1,I=!1,L=0)=>{for(let Q=L;Q{if(h.shapeFlag&6)return w(h.component.subTree);if(h.shapeFlag&128)return h.suspense.next();const m=d(h.anchor||h.el),v=m&&m[da];return v?d(v):m};let W=!1;const G=(h,m,v)=>{let q;h==null?m._vnode&&(D(m._vnode,null,null,!0),q=m._vnode.component):y(m._vnode||null,h,m,null,null,null,v),m._vnode=h,W||(W=!0,Qi(q),sa(),W=!1)},Z={p:y,um:D,m:le,r:ue,mt:R,mc:$,pc:M,pbc:C,n:w,o:e};return{render:G,hydrate:void 0,createApp:Sf(G)}}function vr({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Wt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function $f(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function qi(e,t,n=!1){const o=e.children,r=t.children;if(oe(o)&&oe(r))for(let i=0;i>1,e[n[l]]0&&(t[o]=n[i-1]),n[i]=o)}}for(i=n.length,s=n[i-1];i-- >0;)n[i]=s,s=t[s];return n}function $a(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:$a(t)}function cs(e){if(e)for(let t=0;te.__isSuspense;function jf(e,t){t&&t.pendingBranch?oe(e)?t.effects.push(...e):t.effects.push(e):Zc(e)}const Xe=Symbol.for("v-fgt"),rr=Symbol.for("v-txt"),je=Symbol.for("v-cmt"),br=Symbol.for("v-stc"),Wn=[];let Qe=null;function Ha(e=!1){Wn.push(Qe=e?null:[])}function Hf(){Wn.pop(),Qe=Wn[Wn.length-1]||null}let eo=1;function Fo(e,t=!1){eo+=e,e<0&&Qe&&t&&(Qe.hasOnce=!0)}function za(e){return e.dynamicChildren=eo>0?Qe||_n:null,Hf(),eo>0&&Qe&&Qe.push(e),e}function Ap(e,t,n,o,r,i){return za(Wa(e,t,n,o,r,i,!0))}function Ua(e,t,n,o,r){return za(qe(e,t,n,o,r,!0))}function $o(e){return e?e.__v_isVNode===!0:!1}function Jt(e,t){return e.type===t.type&&e.key===t.key}const Ka=({key:e})=>e??null,To=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?xe(e)||Ee(e)||ie(e)?{i:Ge,r:e,k:t,f:!!n}:e:null);function Wa(e,t=null,n=null,o=0,r=null,i=e===Xe?0:1,s=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ka(t),ref:t&&To(t),scopeId:aa,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ge};return l?(Li(a,n),i&128&&e.normalize(a)):n&&(a.shapeFlag|=xe(n)?8:16),eo>0&&!s&&Qe&&(a.patchFlag>0||i&6)&&a.patchFlag!==32&&Qe.push(a),a}const qe=zf;function zf(e,t=null,n=null,o=0,r=null,i=!1){if((!e||e===ka)&&(e=je),$o(e)){const l=Ht(e,t,!0);return n&&Li(l,n),eo>0&&!i&&Qe&&(l.shapeFlag&6?Qe[Qe.indexOf(e)]=l:Qe.push(l)),l.patchFlag=-2,l}if(nd(e)&&(e=e.__vccOpts),t){t=Uf(t);let{class:l,style:a}=t;l&&!xe(l)&&(t.class=_i(l)),ye(a)&&(er(a)&&!oe(a)&&(a=Pe({},a)),t.style=yi(a))}const s=xe(e)?1:ja(e)?128:ha(e)?64:ye(e)?4:ie(e)?2:0;return Wa(e,t,n,o,r,s,i,!0)}function Uf(e){return e?er(e)||La(e)?Pe({},e):e:null}function Ht(e,t,n=!1,o=!1){const{props:r,ref:i,patchFlag:s,children:l,transition:a}=e,c=t?Wf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Ka(c),ref:t&&t.ref?n&&i?oe(i)?i.concat(To(t)):[i,To(t)]:To(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Xe?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ht(e.ssContent),ssFallback:e.ssFallback&&Ht(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&o&&sn(u,a.clone(u)),u}function Kf(e=" ",t=0){return qe(rr,null,e,t)}function Tp(e="",t=!1){return t?(Ha(),Ua(je,null,e)):qe(je,null,e)}function vt(e){return e==null||typeof e=="boolean"?qe(je):oe(e)?qe(Xe,null,e.slice()):$o(e)?Bt(e):qe(rr,null,String(e))}function Bt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ht(e)}function Li(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(oe(t))n=16;else if(typeof t=="object")if(o&65){const r=t.default;r&&(r._c&&(r._d=!1),Li(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!La(t)?t._ctx=Ge:r===3&&Ge&&(Ge.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ie(t)?(t={default:t,_ctx:Ge},n=32):(t=String(t),o&64?(n=16,t=[Kf(t)]):n=8);e.children=t,e.shapeFlag|=n}function Wf(...e){const t={};for(let n=0;nMe||Ge;let Vo,Jr;{const e=Zo(),t=(n,o)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(o),i=>{r.length>1?r.forEach(s=>s(i)):r[0](i)}};Vo=t("__VUE_INSTANCE_SETTERS__",n=>Me=n),Jr=t("__VUE_SSR_SETTERS__",n=>Sn=n)}const co=e=>{const t=Me;return Vo(e),e.scope.on(),()=>{e.scope.off(),Vo(t)}},fs=()=>{Me&&Me.scope.off(),Vo(null)};function Ga(e){return e.vnode.shapeFlag&4}let Sn=!1;function Jf(e,t=!1,n=!1){t&&Jr(t);const{props:o,children:r}=e.vnode,i=Ga(e);Mf(e,o,i,t),Nf(e,r,n||t);const s=i?Zf(e,t):void 0;return t&&Jr(!1),s}function Zf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,vf);const{setup:o}=n;if(o){kt();const r=e.setupContext=o.length>1?ed(e):null,i=co(e),s=so(o,e,0,[e.props,r]),l=Ol(s);if(Rt(),i(),(l||e.sp)&&!Un(e)&&Ti(e),l){if(s.then(fs,fs),t)return s.then(a=>{ds(e,a)}).catch(a=>{lo(a,e,0)});e.asyncDep=s}else ds(e,s)}else Qa(e)}function ds(e,t,n){ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ye(t)&&(e.setupState=oa(t)),Qa(e)}function Qa(e,t,n){const o=e.type;e.render||(e.render=o.render||bt);{const r=co(e);kt();try{bf(e)}finally{Rt(),r()}}}const Xf={get(e,t){return Be(e,"get",""),e[t]}};function ed(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Xf),slots:e.slots,emit:e.emit,expose:t}}function ir(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(oa(un(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Kn)return Kn[n](e)},has(t,n){return n in t||n in Kn}})):e.proxy}function td(e,t=!0){return ie(e)?e.displayName||e.name:e.name||t&&e.__name}function nd(e){return ie(e)&&"__vccOpts"in e}const k=(e,t)=>Wc(e,t,Sn);function P(e,t,n){try{Fo(-1);const o=arguments.length;return o===2?ye(t)&&!oe(t)?$o(t)?qe(e,null,[t]):qe(e,t):qe(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&$o(n)&&(n=[n]),qe(e,t,n))}finally{Fo(1)}}const od="3.5.26";let Zr;const hs=typeof window<"u"&&window.trustedTypes;if(hs)try{Zr=hs.createPolicy("vue",{createHTML:e=>e})}catch{}const Ya=Zr?e=>Zr.createHTML(e):e=>e,rd="http://www.w3.org/2000/svg",id="http://www.w3.org/1998/Math/MathML",wt=typeof document<"u"?document:null,gs=wt&&wt.createElement("template"),sd={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t==="svg"?wt.createElementNS(rd,e):t==="mathml"?wt.createElementNS(id,e):n?wt.createElement(e,{is:n}):wt.createElement(e);return e==="select"&&o&&o.multiple!=null&&r.setAttribute("multiple",o.multiple),r},createText:e=>wt.createTextNode(e),createComment:e=>wt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>wt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,i){const s=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{gs.innerHTML=Ya(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const l=gs.content;if(o==="svg"||o==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ot="transition",Mn="animation",En=Symbol("_vtc"),Ja={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Za=Pe({},va,Ja),ld=e=>(e.displayName="Transition",e.props=Za,e),jo=ld((e,{slots:t})=>P(af,Xa(e),t)),Gt=(e,t=[])=>{oe(e)?e.forEach(n=>n(...t)):e&&e(...t)},ms=e=>e?oe(e)?e.some(t=>t.length>1):e.length>1:!1;function Xa(e){const t={};for(const b in e)b in Ja||(t[b]=e[b]);if(e.css===!1)return t;const{name:n="v",type:o,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=i,appearActiveClass:c=s,appearToClass:u=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:g=`${n}-leave-to`}=e,p=ad(r),y=p&&p[0],S=p&&p[1],{onBeforeEnter:T,onEnter:_,onEnterCancelled:x,onLeave:A,onLeaveCancelled:B,onBeforeAppear:j=T,onAppear:H=_,onAppearCancelled:$=x}=t,N=(b,O,R,K)=>{b._enterCancelled=K,qt(b,O?u:l),qt(b,O?c:s),R&&R()},C=(b,O)=>{b._isLeaving=!1,qt(b,f),qt(b,g),qt(b,d),O&&O()},E=b=>(O,R)=>{const K=b?H:_,J=()=>N(O,b,R);Gt(K,[O,J]),ps(()=>{qt(O,b?a:i),mt(O,b?u:l),ms(K)||vs(O,o,y,J)})};return Pe(t,{onBeforeEnter(b){Gt(T,[b]),mt(b,i),mt(b,s)},onBeforeAppear(b){Gt(j,[b]),mt(b,a),mt(b,c)},onEnter:E(!1),onAppear:E(!0),onLeave(b,O){b._isLeaving=!0;const R=()=>C(b,O);mt(b,f),b._enterCancelled?(mt(b,d),Xr(b)):(Xr(b),mt(b,d)),ps(()=>{b._isLeaving&&(qt(b,f),mt(b,g),ms(A)||vs(b,o,S,R))}),Gt(A,[b,R])},onEnterCancelled(b){N(b,!1,void 0,!0),Gt(x,[b])},onAppearCancelled(b){N(b,!0,void 0,!0),Gt($,[b])},onLeaveCancelled(b){C(b),Gt(B,[b])}})}function ad(e){if(e==null)return null;if(ye(e))return[yr(e.enter),yr(e.leave)];{const t=yr(e);return[t,t]}}function yr(e){return dc(e)}function mt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[En]||(e[En]=new Set)).add(t)}function qt(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.remove(o));const n=e[En];n&&(n.delete(t),n.size||(e[En]=void 0))}function ps(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ud=0;function vs(e,t,n,o){const r=e._endId=++ud,i=()=>{r===e._endId&&o()};if(n!=null)return setTimeout(i,n);const{type:s,timeout:l,propCount:a}=eu(e,t);if(!s)return o();const c=s+"end";let u=0;const f=()=>{e.removeEventListener(c,d),i()},d=g=>{g.target===e&&++u>=a&&f()};setTimeout(()=>{u(n[p]||"").split(", "),r=o(`${Ot}Delay`),i=o(`${Ot}Duration`),s=bs(r,i),l=o(`${Mn}Delay`),a=o(`${Mn}Duration`),c=bs(l,a);let u=null,f=0,d=0;t===Ot?s>0&&(u=Ot,f=s,d=i.length):t===Mn?c>0&&(u=Mn,f=c,d=a.length):(f=Math.max(s,c),u=f>0?s>c?Ot:Mn:null,d=u?u===Ot?i.length:a.length:0);const g=u===Ot&&/\b(?:transform|all)(?:,|$)/.test(o(`${Ot}Property`).toString());return{type:u,timeout:f,propCount:d,hasTransform:g}}function bs(e,t){for(;e.lengthys(n)+ys(e[o])))}function ys(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Xr(e){return(e?e.ownerDocument:document).body.offsetHeight}function cd(e,t,n){const o=e[En];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const _s=Symbol("_vod"),fd=Symbol("_vsh"),dd=Symbol(""),hd=/(?:^|;)\s*display\s*:/;function gd(e,t,n){const o=e.style,r=xe(n);let i=!1;if(n&&!r){if(t)if(xe(t))for(const s of t.split(";")){const l=s.slice(0,s.indexOf(":")).trim();n[l]==null&&Po(o,l,"")}else for(const s in t)n[s]==null&&Po(o,s,"");for(const s in n)s==="display"&&(i=!0),Po(o,s,n[s])}else if(r){if(t!==n){const s=o[dd];s&&(n+=";"+s),o.cssText=n,i=hd.test(n)}}else t&&e.removeAttribute("style");_s in e&&(e[_s]=i?o.display:"",e[fd]&&(o.display="none"))}const ws=/\s*!important$/;function Po(e,t,n){if(oe(n))n.forEach(o=>Po(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=md(e,t);ws.test(n)?e.setProperty(ln(o),n.replace(ws,""),"important"):e[o]=n}}const xs=["Webkit","Moz","ms"],_r={};function md(e,t){const n=_r[t];if(n)return n;let o=tt(t);if(o!=="filter"&&o in e)return _r[t]=o;o=Jo(o);for(let r=0;rwr||(_d.then(()=>wr=0),wr=Date.now());function xd(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;at(Cd(o,n.value),t,5,[o])};return n.value=e,n.attached=wd(),n}function Cd(e,t){if(oe(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(o=>r=>!r._stopped&&o&&o(r))}else return t}const As=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Sd=(e,t,n,o,r,i)=>{const s=r==="svg";t==="class"?cd(e,o,s):t==="style"?gd(e,n,o):Wo(t)?vi(t)||bd(e,t,n,o,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ed(e,t,o,s))?(Es(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ss(e,t,o,s,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!xe(o))?Es(e,tt(t),o,i,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Ss(e,t,o,s))};function Ed(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&As(t)&&ie(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return As(t)&&xe(n)?!1:t in e}const tu=new WeakMap,nu=new WeakMap,Ho=Symbol("_moveCb"),Ts=Symbol("_enterCb"),kd=e=>(delete e.props.mode,e),Rd=kd({name:"TransitionGroup",props:Pe({},Za,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Ce(),o=pa();let r,i;return Sa(()=>{if(!r.length)return;const s=e.moveClass||`${e.name||"v"}-move`;if(!Md(r[0].el,n.vnode.el,s)){r=[];return}r.forEach(Td),r.forEach(Pd);const l=r.filter(Od);Xr(n.vnode.el),l.forEach(a=>{const c=a.el,u=c.style;mt(c,s),u.transform=u.webkitTransform=u.transitionDuration="";const f=c[Ho]=d=>{d&&d.target!==c||(!d||d.propertyName.endsWith("transform"))&&(c.removeEventListener("transitionend",f),c[Ho]=null,qt(c,s))};c.addEventListener("transitionend",f)}),r=[]}),()=>{const s=se(e),l=Xa(s);let a=s.tag||Xe;if(r=[],i)for(let c=0;c{l.split(/\s+/).forEach(a=>a&&o.classList.remove(a))}),n.split(/\s+/).forEach(l=>l&&o.classList.add(l)),o.style.display="none";const i=t.nodeType===1?t:t.parentNode;i.appendChild(o);const{hasTransform:s}=eu(o);return i.removeChild(o),s}const qd=["ctrl","shift","alt","meta"],Ld={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>qd.some(n=>e[`${n}Key`]&&!t.includes(n))},Pp=(e,t)=>{const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=((r,...i)=>{for(let s=0;s{const t=Nd().createApp(...e),{mount:n}=t;return t.mount=o=>{const r=Dd(o);if(!r)return;const i=t._component;!ie(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const s=n(r,!1,Bd(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),s},t});function Bd(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Dd(e){return xe(e)?document.querySelector(e):e}function Tn(e,t,n,o){return Object.defineProperty(e,t,{get:n,set:o,enumerable:!0}),e}const zt=ae(!1);let ei;function Fd(e,t){const n=/(edg|edge|edga|edgios)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(vivaldi)[\/]([\w.]+)/.exec(e)||/(chrome|crios)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(firefox|fxios)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[\/]([\w.]+)/.exec(e)||[];return{browser:n[5]||n[3]||n[1]||"",version:n[4]||n[2]||"0",platform:t[0]||""}}function $d(e){return/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(silk)/.exec(e)||/(android)/.exec(e)||/(win)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||/(playbook)/.exec(e)||/(bb)/.exec(e)||/(blackberry)/.exec(e)||[]}const ru="ontouchstart"in window||window.navigator.maxTouchPoints>0;function Vd(e){const t=e.toLowerCase(),n=$d(t),o=Fd(t,n),r={mobile:!1,desktop:!1,cordova:!1,capacitor:!1,nativeMobile:!1,electron:!1,bex:!1,linux:!1,mac:!1,win:!1,cros:!1,chrome:!1,firefox:!1,opera:!1,safari:!1,vivaldi:!1,edge:!1,edgeChromium:!1,ie:!1,webkit:!1,android:!1,ios:!1,ipad:!1,iphone:!1,ipod:!1,kindle:!1,winphone:!1,blackberry:!1,playbook:!1,silk:!1};o.browser&&(r[o.browser]=!0,r.version=o.version,r.versionNumber=parseInt(o.version,10)),o.platform&&(r[o.platform]=!0);const i=r.android||r.ios||r.bb||r.blackberry||r.ipad||r.iphone||r.ipod||r.kindle||r.playbook||r.silk||r["windows phone"];if(i===!0||t.indexOf("mobile")!==-1?r.mobile=!0:r.desktop=!0,r["windows phone"]&&(r.winphone=!0,delete r["windows phone"]),r.edga||r.edgios||r.edg?(r.edge=!0,o.browser="edge"):r.crios?(r.chrome=!0,o.browser="chrome"):r.fxios&&(r.firefox=!0,o.browser="firefox"),(r.ipod||r.ipad||r.iphone)&&(r.ios=!0),r.vivaldi&&(o.browser="vivaldi",r.vivaldi=!0),(r.chrome||r.opr||r.safari||r.vivaldi||r.mobile===!0&&r.ios!==!0&&i!==!0)&&(r.webkit=!0),r.opr&&(o.browser="opera",r.opera=!0),r.safari&&(r.blackberry||r.bb?(o.browser="blackberry",r.blackberry=!0):r.playbook?(o.browser="playbook",r.playbook=!0):r.android?(o.browser="android",r.android=!0):r.kindle?(o.browser="kindle",r.kindle=!0):r.silk&&(o.browser="silk",r.silk=!0)),r.name=o.browser,r.platform=o.platform,t.indexOf("electron")!==-1)r.electron=!0;else if(document.location.href.indexOf("-extension://")!==-1)r.bex=!0;else{if(window.Capacitor!==void 0?(r.capacitor=!0,r.nativeMobile=!0,r.nativeMobileWrapper="capacitor"):(window._cordovaNative!==void 0||window.cordova!==void 0)&&(r.cordova=!0,r.nativeMobile=!0,r.nativeMobileWrapper="cordova"),zt.value===!0&&(ei={is:{...r}}),ru===!0&&r.mac===!0&&(r.desktop===!0&&r.safari===!0||r.nativeMobile===!0&&r.android!==!0&&r.ios!==!0&&r.ipad!==!0)){delete r.mac,delete r.desktop;const s=Math.min(window.innerHeight,window.innerWidth)>414?"ipad":"iphone";Object.assign(r,{mobile:!0,ios:!0,platform:s,[s]:!0})}r.mobile!==!0&&window.navigator.userAgentData&&window.navigator.userAgentData.mobile&&(delete r.desktop,r.mobile=!0)}return r}const Os=navigator.userAgent||navigator.vendor||window.opera,jd={has:{touch:!1,webStorage:!1},within:{iframe:!1}},Te={userAgent:Os,is:Vd(Os),has:{touch:ru},within:{iframe:window.self!==window.top}},ti={install(e){const{$q:t}=e;zt.value===!0?(e.onSSRHydrated.push(()=>{Object.assign(t.platform,Te),zt.value=!1}),t.platform=an(this)):t.platform=this}};{let e;Tn(Te.has,"webStorage",()=>{if(e!==void 0)return e;try{if(window.localStorage)return e=!0,!0}catch{}return e=!1,!1}),Object.assign(ti,Te),zt.value===!0&&(Object.assign(ti,ei,jd),ei=null)}function Le(e){return un(ao(e))}function Hd(e){return un(e)}const sr=(e,t)=>{const n=an(e);for(const o in e)Tn(t,o,()=>n[o],r=>{n[o]=r});return t},Ue={hasPassive:!1,passiveCapture:!0,notPassiveCapture:!0};try{const e=Object.defineProperty({},"passive",{get(){Object.assign(Ue,{hasPassive:!0,passive:{passive:!0},notPassive:{passive:!1},passiveCapture:{passive:!0,capture:!0},notPassiveCapture:{passive:!1,capture:!0}})}});window.addEventListener("qtest",null,e),window.removeEventListener("qtest",null,e)}catch{}function to(){}function Op(e){return e.button===0}function zd(e){return e.touches&&e.touches[0]?e=e.touches[0]:e.changedTouches&&e.changedTouches[0]?e=e.changedTouches[0]:e.targetTouches&&e.targetTouches[0]&&(e=e.targetTouches[0]),{top:e.clientY,left:e.clientX}}function Ud(e){if(e.path)return e.path;if(e.composedPath)return e.composedPath();const t=[];let n=e.target;for(;n;){if(t.push(n),n.tagName==="HTML")return t.push(document),t.push(window),t;n=n.parentElement}}function zo(e){e.stopPropagation()}function $t(e){e.cancelable!==!1&&e.preventDefault()}function et(e){e.cancelable!==!1&&e.preventDefault(),e.stopPropagation()}function Mp(e,t){if(e===void 0||t===!0&&e.__dragPrevented===!0)return;const n=t===!0?o=>{o.__dragPrevented=!0,o.addEventListener("dragstart",$t,Ue.notPassiveCapture)}:o=>{delete o.__dragPrevented,o.removeEventListener("dragstart",$t,Ue.notPassiveCapture)};e.querySelectorAll("a, img").forEach(n)}function Kd(e,t,n){const o=`__q_${t}_evt`;e[o]=e[o]!==void 0?e[o].concat(n):n,n.forEach(r=>{r[0].addEventListener(r[1],e[r[2]],Ue[r[3]])})}function Wd(e,t){const n=`__q_${t}_evt`;e[n]!==void 0&&(e[n].forEach(o=>{o[0].removeEventListener(o[1],e[o[2]],Ue[o[3]])}),e[n]=void 0)}function iu(e,t=250,n){let o=null;function r(){const i=arguments,s=()=>{o=null,e.apply(this,i)};o!==null&&clearTimeout(o),o=setTimeout(s,t)}return r.cancel=()=>{o!==null&&clearTimeout(o)},r}const xr=["sm","md","lg","xl"],{passive:Ms}=Ue,Gd=sr({width:0,height:0,name:"xs",sizes:{sm:600,md:1024,lg:1440,xl:1920},lt:{sm:!0,md:!0,lg:!0,xl:!0},gt:{xs:!1,sm:!1,md:!1,lg:!1},xs:!0,sm:!1,md:!1,lg:!1,xl:!1},{setSizes:to,setDebounce:to,install({$q:e,onSSRHydrated:t}){if(e.screen=this,this.__installed===!0){e.config.screen!==void 0&&(e.config.screen.bodyClasses===!1?document.body.classList.remove(`screen--${this.name}`):this.__update(!0));return}const{visualViewport:n}=window,o=n||window,r=document.scrollingElement||document.documentElement,i=n===void 0||Te.is.mobile===!0?()=>[Math.max(window.innerWidth,r.clientWidth),Math.max(window.innerHeight,r.clientHeight)]:()=>[n.width*n.scale+window.innerWidth-r.clientWidth,n.height*n.scale+window.innerHeight-r.clientHeight],s=e.config.screen?.bodyClasses===!0;this.__update=f=>{const[d,g]=i();if(g!==this.height&&(this.height=g),d!==this.width)this.width=d;else if(f!==!0)return;let p=this.sizes;this.gt.xs=d>=p.sm,this.gt.sm=d>=p.md,this.gt.md=d>=p.lg,this.gt.lg=d>=p.xl,this.lt.sm=d{xr.forEach(d=>{f[d]!==void 0&&(a[d]=f[d])})},this.setDebounce=f=>{c=f};const u=()=>{const f=getComputedStyle(document.body);f.getPropertyValue("--q-size-sm")&&xr.forEach(d=>{this.sizes[d]=parseInt(f.getPropertyValue(`--q-size-${d}`),10)}),this.setSizes=d=>{xr.forEach(g=>{d[g]&&(this.sizes[g]=d[g])}),this.__update(!0)},this.setDebounce=d=>{l!==void 0&&o.removeEventListener("resize",l,Ms),l=d>0?iu(this.__update,d):this.__update,o.addEventListener("resize",l,Ms)},this.setDebounce(c),Object.keys(a).length!==0?(this.setSizes(a),a=void 0):this.__update(),s===!0&&this.name==="xs"&&document.body.classList.add("screen--xs")};zt.value===!0?t.push(u):u()}}),Ie=sr({isActive:!1,mode:!1},{__media:void 0,set(e){Ie.mode=e,e==="auto"?(Ie.__media===void 0&&(Ie.__media=window.matchMedia("(prefers-color-scheme: dark)"),Ie.__updateMedia=()=>{Ie.set("auto")},Ie.__media.addListener(Ie.__updateMedia)),e=Ie.__media.matches):Ie.__media!==void 0&&(Ie.__media.removeListener(Ie.__updateMedia),Ie.__media=void 0),Ie.isActive=e===!0,document.body.classList.remove(`body--${e===!0?"light":"dark"}`),document.body.classList.add(`body--${e===!0?"dark":"light"}`)},toggle(){Ie.set(Ie.isActive===!1)},install({$q:e,ssrContext:t}){const n=e.config.dark;e.dark=this,this.__installed!==!0&&this.set(n!==void 0?n:!1)}});function Qd(e,t,n=document.body){if(typeof e!="string")throw new TypeError("Expected a string as propName");if(typeof t!="string")throw new TypeError("Expected a string as value");if(!(n instanceof Element))throw new TypeError("Expected a DOM element");n.style.setProperty(`--q-${e}`,t)}let su=!1;function Yd(e){su=e.isComposing===!0}function lu(e){return su===!0||e!==Object(e)||e.isComposing===!0||e.qKeyEvent===!0}function no(e,t){return lu(e)===!0?!1:[].concat(t).includes(e.keyCode)}function au(e){if(e.ios===!0)return"ios";if(e.android===!0)return"android"}function Jd({is:e,has:t,within:n},o){const r=[e.desktop===!0?"desktop":"mobile",`${t.touch===!1?"no-":""}touch`];if(e.mobile===!0){const i=au(e);i!==void 0&&r.push("platform-"+i)}if(e.nativeMobile===!0){const i=e.nativeMobileWrapper;r.push(i),r.push("native-mobile"),e.ios===!0&&(o[i]===void 0||o[i].iosStatusBarPadding!==!1)&&r.push("q-ios-padding")}else e.electron===!0?r.push("electron"):e.bex===!0&&r.push("bex");return n.iframe===!0&&r.push("within-iframe"),r}function Zd(){const{is:e}=Te,t=document.body.className,n=new Set(t.replace(/ {2}/g," ").split(" "));if(e.nativeMobile!==!0&&e.electron!==!0&&e.bex!==!0){if(e.desktop===!0)n.delete("mobile"),n.delete("platform-ios"),n.delete("platform-android"),n.add("desktop");else if(e.mobile===!0){n.delete("desktop"),n.add("mobile"),n.delete("platform-ios"),n.delete("platform-android");const r=au(e);r!==void 0&&n.add(`platform-${r}`)}}Te.has.touch===!0&&(n.delete("no-touch"),n.add("touch")),Te.within.iframe===!0&&n.add("within-iframe");const o=Array.from(n).join(" ");t!==o&&(document.body.className=o)}function Xd(e){for(const t in e)Qd(t,e[t])}const eh={install(e){if(this.__installed!==!0){if(zt.value===!0)Zd();else{const{$q:t}=e;t.config.brand!==void 0&&Xd(t.config.brand);const n=Jd(Te,t.config);document.body.classList.add.apply(document.body.classList,n)}Te.is.ios===!0&&document.body.addEventListener("touchstart",to),window.addEventListener("keydown",Yd,!0)}}},uu=()=>!0;function th(e){return typeof e=="string"&&e!==""&&e!=="/"&&e!=="#/"}function nh(e){return e.startsWith("#")===!0&&(e=e.substring(1)),e.startsWith("/")===!1&&(e="/"+e),e.endsWith("/")===!0&&(e=e.substring(0,e.length-1)),"#"+e}function oh(e){if(e.backButtonExit===!1)return()=>!1;if(e.backButtonExit==="*")return uu;const t=["#/"];return Array.isArray(e.backButtonExit)===!0&&t.push(...e.backButtonExit.filter(th).map(nh)),()=>t.includes(window.location.hash)}const ni={__history:[],add:to,remove:to,install({$q:e}){if(this.__installed===!0)return;const{cordova:t,capacitor:n}=Te.is;if(t!==!0&&n!==!0)return;const o=e.config[t===!0?"cordova":"capacitor"];if(o?.backButton===!1||n===!0&&(window.Capacitor===void 0||window.Capacitor.Plugins.App===void 0))return;this.add=s=>{s.condition===void 0&&(s.condition=uu),this.__history.push(s)},this.remove=s=>{const l=this.__history.indexOf(s);l>=0&&this.__history.splice(l,1)};const r=oh(Object.assign({backButtonExit:!0},o)),i=()=>{if(this.__history.length){const s=this.__history[this.__history.length-1];s.condition()===!0&&(this.__history.pop(),s.handler())}else r()===!0?navigator.app.exitApp():window.history.back()};t===!0?document.addEventListener("deviceready",()=>{document.addEventListener("backbutton",i,!1)}):window.Capacitor.Plugins.App.addListener("backButton",i)}},qs={isoName:"en-US",nativeName:"English (US)",label:{clear:"Clear",ok:"OK",cancel:"Cancel",close:"Close",set:"Set",select:"Select",reset:"Reset",remove:"Remove",update:"Update",create:"Create",search:"Search",filter:"Filter",refresh:"Refresh",expand:e=>e?`Expand "${e}"`:"Expand",collapse:e=>e?`Collapse "${e}"`:"Collapse"},date:{days:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),daysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),firstDayOfWeek:0,format24h:!1,pluralDay:"days",prevMonth:"Previous month",nextMonth:"Next month",prevYear:"Previous year",nextYear:"Next year",today:"Today",prevRangeYears:e=>`Previous ${e} years`,nextRangeYears:e=>`Next ${e} years`},table:{noData:"No data available",noResults:"No matching records found",loading:"Loading...",selectedRecords:e=>e===1?"1 record selected.":(e===0?"No":e)+" records selected.",recordsPerPage:"Records per page:",allRows:"All",pagination:(e,t,n)=>e+"-"+t+" of "+n,columns:"Columns"},pagination:{first:"First page",prev:"Previous page",next:"Next page",last:"Last page"},editor:{url:"URL",bold:"Bold",italic:"Italic",strikethrough:"Strikethrough",underline:"Underline",unorderedList:"Unordered List",orderedList:"Ordered List",subscript:"Subscript",superscript:"Superscript",hyperlink:"Hyperlink",toggleFullscreen:"Toggle Fullscreen",quote:"Quote",left:"Left align",center:"Center align",right:"Right align",justify:"Justify align",print:"Print",outdent:"Decrease indentation",indent:"Increase indentation",removeFormat:"Remove formatting",formatting:"Formatting",fontSize:"Font Size",align:"Align",hr:"Insert Horizontal Rule",undo:"Undo",redo:"Redo",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",paragraph:"Paragraph",code:"Code",size1:"Very small",size2:"A bit small",size3:"Normal",size4:"Medium-large",size5:"Big",size6:"Very big",size7:"Maximum",defaultFont:"Default Font",viewSource:"View Source"},tree:{noNodes:"No nodes available",noResults:"No matching nodes found"}};function Ls(){const e=Array.isArray(navigator.languages)===!0&&navigator.languages.length!==0?navigator.languages[0]:navigator.language;if(typeof e=="string")return e.split(/[-_]/).map((t,n)=>n===0?t.toLowerCase():n>1||t.length<4?t.toUpperCase():t[0].toUpperCase()+t.slice(1).toLowerCase()).join("-")}const Dt=sr({__qLang:{}},{getLocale:Ls,set(e=qs,t){const n={...e,rtl:e.rtl===!0,getLocale:Ls};{if(n.set=Dt.set,Dt.__langConfig===void 0||Dt.__langConfig.noHtmlAttrs!==!0){const o=document.documentElement;o.setAttribute("dir",n.rtl===!0?"rtl":"ltr"),o.setAttribute("lang",n.isoName)}Object.assign(Dt.__qLang,n)}},install({$q:e,lang:t,ssrContext:n}){e.lang=Dt.__qLang,Dt.__langConfig=e.config.lang,this.__installed===!0?t!==void 0&&this.set(t):(this.props=new Proxy(this.__qLang,{get(){return Reflect.get(...arguments)},ownKeys(o){return Reflect.ownKeys(o).filter(r=>r!=="set"&&r!=="getLocale")}}),this.set(t||qs))}}),rh={name:"material-icons",type:{positive:"check_circle",negative:"warning",info:"info",warning:"priority_high"},arrow:{up:"arrow_upward",right:"arrow_forward",down:"arrow_downward",left:"arrow_back",dropdown:"arrow_drop_down"},chevron:{left:"chevron_left",right:"chevron_right"},colorPicker:{spectrum:"gradient",tune:"tune",palette:"style"},pullToRefresh:{icon:"refresh"},carousel:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down",navigationIcon:"lens"},chip:{remove:"cancel",selected:"check"},datetime:{arrowLeft:"chevron_left",arrowRight:"chevron_right",now:"access_time",today:"today"},editor:{bold:"format_bold",italic:"format_italic",strikethrough:"strikethrough_s",underline:"format_underlined",unorderedList:"format_list_bulleted",orderedList:"format_list_numbered",subscript:"vertical_align_bottom",superscript:"vertical_align_top",hyperlink:"link",toggleFullscreen:"fullscreen",quote:"format_quote",left:"format_align_left",center:"format_align_center",right:"format_align_right",justify:"format_align_justify",print:"print",outdent:"format_indent_decrease",indent:"format_indent_increase",removeFormat:"format_clear",formatting:"text_format",fontSize:"format_size",align:"format_align_left",hr:"remove",undo:"undo",redo:"redo",heading:"format_size",code:"code",size:"format_size",font:"font_download",viewSource:"code"},expansionItem:{icon:"keyboard_arrow_down",denseIcon:"arrow_drop_down"},fab:{icon:"add",activeIcon:"close"},field:{clear:"cancel",error:"error"},pagination:{first:"first_page",prev:"keyboard_arrow_left",next:"keyboard_arrow_right",last:"last_page"},rating:{icon:"grade"},stepper:{done:"check",active:"edit",error:"warning"},tabs:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down"},table:{arrowUp:"arrow_upward",warning:"warning",firstPage:"first_page",prevPage:"chevron_left",nextPage:"chevron_right",lastPage:"last_page"},tree:{icon:"play_arrow"},uploader:{done:"done",clear:"clear",add:"add_box",upload:"cloud_upload",removeQueue:"clear_all",removeUploaded:"done_all"}},Uo=sr({iconMapFn:null,__qIconSet:{}},{set(e,t){const n={...e};n.set=Uo.set,Object.assign(Uo.__qIconSet,n)},install({$q:e,iconSet:t,ssrContext:n}){e.config.iconMapFn!==void 0&&(this.iconMapFn=e.config.iconMapFn),e.iconSet=this.__qIconSet,Tn(e,"iconMapFn",()=>this.iconMapFn,o=>{this.iconMapFn=o}),this.__installed===!0?t!==void 0&&this.set(t):(this.props=new Proxy(this.__qIconSet,{get(){return Reflect.get(...arguments)},ownKeys(o){return Reflect.ownKeys(o).filter(r=>r!=="set")}}),this.set(t||rh))}}),ih="_q_",qp="_q_l_",Lp="_q_pc_",sh="_q_fo_";function Ip(){}const Ko={};let cu=!1;function lh(){cu=!0}function Cr(e,t){if(e===t)return!0;if(e!==null&&t!==null&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;let n,o;if(e.constructor===Array){if(n=e.length,n!==t.length)return!1;for(o=n;o--!==0;)if(Cr(e[o],t[o])!==!0)return!1;return!0}if(e.constructor===Map){if(e.size!==t.size)return!1;let i=e.entries();for(o=i.next();o.done!==!0;){if(t.has(o.value[0])!==!0)return!1;o=i.next()}for(i=e.entries(),o=i.next();o.done!==!0;){if(Cr(o.value[1],t.get(o.value[0]))!==!0)return!1;o=i.next()}return!0}if(e.constructor===Set){if(e.size!==t.size)return!1;const i=e.entries();for(o=i.next();o.done!==!0;){if(t.has(o.value[0])!==!0)return!1;o=i.next()}return!0}if(e.buffer!=null&&e.buffer.constructor===ArrayBuffer){if(n=e.length,n!==t.length)return!1;for(o=n;o--!==0;)if(e[o]!==t[o])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();const r=Object.keys(e).filter(i=>e[i]!==void 0);if(n=r.length,n!==Object.keys(t).filter(i=>t[i]!==void 0).length)return!1;for(o=n;o--!==0;){const i=r[o];if(Cr(e[i],t[i])!==!0)return!1}return!0}return e!==e&&t!==t}function ot(e){return e!==null&&typeof e=="object"&&Array.isArray(e)!==!0}function Np(e){return Object.prototype.toString.call(e)==="[object Date]"}function Bp(e){return Object.prototype.toString.call(e)==="[object RegExp]"}const Is=[ti,eh,Ie,Gd,ni,Dt,Uo];function fu(e,t){const n=ou(e);n.config.globalProperties=t.config.globalProperties;const{reload:o,...r}=t._context;return Object.assign(n._context,r),n}function Ns(e,t){t.forEach(n=>{n.install(e),n.__installed=!0})}function ah(e,t,n){e.config.globalProperties.$q=n.$q,e.provide(ih,n.$q),Ns(n,Is),t.components!==void 0&&Object.values(t.components).forEach(o=>{ot(o)===!0&&o.name!==void 0&&e.component(o.name,o)}),t.directives!==void 0&&Object.values(t.directives).forEach(o=>{ot(o)===!0&&o.name!==void 0&&e.directive(o.name,o)}),t.plugins!==void 0&&Ns(n,Object.values(t.plugins).filter(o=>typeof o.install=="function"&&Is.includes(o)===!1)),zt.value===!0&&(n.$q.onSSRHydrated=()=>{n.onSSRHydrated.forEach(o=>{o()}),n.$q.onSSRHydrated=()=>{}})}const uh=function(e,t={}){const n={version:"2.18.6"};cu===!1?(t.config!==void 0&&Object.assign(Ko,t.config),n.config={...Ko},lh()):n.config=t.config||{},ah(e,t,{parentApp:e,$q:n,lang:t.lang,iconSet:t.iconSet,onSSRHydrated:[]})},ch={name:"Quasar",version:"2.18.6",install:uh,lang:Dt,iconSet:Uo},fh=ao({__name:"App",setup(e){return(t,n)=>{const o=pf("router-view");return Ha(),Ua(o)}}}),Ii=e=>e,Dp=Ii,dh=Ii,hh=Ii;let du;const lr=e=>du=e,hu=Symbol();function oi(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Gn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Gn||(Gn={}));function gh(){const e=Fl(!0),t=e.run(()=>ae({}));let n=[],o=[];const r=un({install(i){lr(r),r._a=i,i.provide(hu,r),i.config.globalProperties.$pinia=r,o.forEach(s=>n.push(s)),o=[]},use(i){return this._a?n.push(i):o.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const gu=()=>{};function Bs(e,t,n,o=gu){e.add(t);const r=()=>{e.delete(t)&&o()};return!n&&$l()&&_c(r),r}function gn(e,...t){e.forEach(n=>{n(...t)})}const mh=e=>e(),Ds=Symbol(),Sr=Symbol();function ri(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,o)=>e.set(o,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],r=e[n];oi(r)&&oi(o)&&e.hasOwnProperty(n)&&!Ee(o)&&!Et(o)?e[n]=ri(r,o):e[n]=o}return e}const ph=Symbol();function vh(e){return!oi(e)||!Object.prototype.hasOwnProperty.call(e,ph)}const{assign:Lt}=Object;function bh(e){return!!(Ee(e)&&e.effect)}function yh(e,t,n,o){const{state:r,actions:i,getters:s}=t,l=n.state.value[e];let a;function c(){l||(n.state.value[e]=r?r():{});const u=Hc(n.state.value[e]);return Lt(u,i,Object.keys(s||{}).reduce((f,d)=>(f[d]=un(k(()=>{lr(n);const g=n._s.get(e);return s[d].call(g,g)})),f),{}))}return a=mu(e,c,t,n,o,!0),a}function mu(e,t,n={},o,r,i){let s;const l=Lt({actions:{}},n),a={deep:!0};let c,u,f=new Set,d=new Set,g;const p=o.state.value[e];!i&&!p&&(o.state.value[e]={}),ae({});let y;function S($){let N;c=u=!1,typeof $=="function"?($(o.state.value[e]),N={type:Gn.patchFunction,storeId:e,events:g}):(ri(o.state.value[e],$),N={type:Gn.patchObject,payload:$,storeId:e,events:g});const C=y=Symbol();Ke().then(()=>{y===C&&(c=!0)}),u=!0,gn(f,N,o.state.value[e])}const T=i?function(){const{state:N}=n,C=N?N():{};this.$patch(E=>{Lt(E,C)})}:gu;function _(){s.stop(),f.clear(),d.clear(),o._s.delete(e)}const x=($,N="")=>{if(Ds in $)return $[Sr]=N,$;const C=function(){lr(o);const E=Array.from(arguments),b=new Set,O=new Set;function R(V){b.add(V)}function K(V){O.add(V)}gn(d,{args:E,name:C[Sr],store:B,after:R,onError:K});let J;try{J=$.apply(this&&this.$id===e?this:B,E)}catch(V){throw gn(O,V),V}return J instanceof Promise?J.then(V=>(gn(b,V),V)).catch(V=>(gn(O,V),Promise.reject(V))):(gn(b,J),J)};return C[Ds]=!0,C[Sr]=N,C},A={_p:o,$id:e,$onAction:Bs.bind(null,d),$patch:S,$reset:T,$subscribe($,N={}){const C=Bs(f,$,N.detached,()=>E()),E=s.run(()=>be(()=>o.state.value[e],b=>{(N.flush==="sync"?u:c)&&$({storeId:e,type:Gn.direct,events:g},b)},Lt({},a,N)));return C},$dispose:_},B=an(A);o._s.set(e,B);const H=(o._a&&o._a.runWithContext||mh)(()=>o._e.run(()=>(s=Fl()).run(()=>t({action:x}))));for(const $ in H){const N=H[$];if(Ee(N)&&!bh(N)||Et(N))i||(p&&vh(N)&&(Ee(N)?N.value=p[$]:ri(N,p[$])),o.state.value[e][$]=N);else if(typeof N=="function"){const C=x(N,$);H[$]=C,l.actions[$]=N}}return Lt(B,H),Lt(se(B),H),Object.defineProperty(B,"$state",{get:()=>o.state.value[e],set:$=>{S(N=>{Lt(N,$)})}}),o._p.forEach($=>{Lt(B,s.run(()=>$({store:B,app:o._a,pinia:o,options:l})))}),p&&i&&n.hydrate&&n.hydrate(B.$state,p),c=!0,u=!0,B}function Fp(e,t,n){let o;const r=typeof t=="function";o=r?n:t;function i(s,l){const a=ef();return s=s||(a?st(hu,null):null),s&&lr(s),s=du,s._s.has(e)||(r?mu(e,t,o,s):yh(e,o,s)),s._s.get(e)}return i.$id=e,i}const Er=hh(()=>gh());const yn=typeof document<"u";function pu(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function _h(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&pu(e.default)}const de=Object.assign;function kr(e,t){const n={};for(const o in t){const r=t[o];n[o]=ut(r)?r.map(e):e(r)}return n}const Qn=()=>{},ut=Array.isArray;function Fs(e,t){const n={};for(const o in e)n[o]=o in t?t[o]:e[o];return n}const vu=/#/g,wh=/&/g,xh=/\//g,Ch=/=/g,Sh=/\?/g,bu=/\+/g,Eh=/%5B/g,kh=/%5D/g,yu=/%5E/g,Rh=/%60/g,_u=/%7B/g,Ah=/%7C/g,wu=/%7D/g,Th=/%20/g;function Ni(e){return e==null?"":encodeURI(""+e).replace(Ah,"|").replace(Eh,"[").replace(kh,"]")}function Ph(e){return Ni(e).replace(_u,"{").replace(wu,"}").replace(yu,"^")}function ii(e){return Ni(e).replace(bu,"%2B").replace(Th,"+").replace(vu,"%23").replace(wh,"%26").replace(Rh,"`").replace(_u,"{").replace(wu,"}").replace(yu,"^")}function Oh(e){return ii(e).replace(Ch,"%3D")}function Mh(e){return Ni(e).replace(vu,"%23").replace(Sh,"%3F")}function qh(e){return Mh(e).replace(xh,"%2F")}function oo(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Lh=/\/$/,Ih=e=>e.replace(Lh,"");function Rr(e,t,n="/"){let o,r={},i="",s="";const l=t.indexOf("#");let a=t.indexOf("?");return a=l>=0&&a>l?-1:a,a>=0&&(o=t.slice(0,a),i=t.slice(a,l>0?l:t.length),r=e(i.slice(1))),l>=0&&(o=o||t.slice(0,l),s=t.slice(l,t.length)),o=Fh(o??t,n),{fullPath:o+i+s,path:o,query:r,hash:oo(s)}}function Nh(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function $s(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Bh(e,t,n){const o=t.matched.length-1,r=n.matched.length-1;return o>-1&&o===r&&kn(t.matched[o],n.matched[r])&&xu(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function kn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function xu(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Dh(e[n],t[n]))return!1;return!0}function Dh(e,t){return ut(e)?Vs(e,t):ut(t)?Vs(t,e):e?.valueOf()===t?.valueOf()}function Vs(e,t){return ut(t)?e.length===t.length&&e.every((n,o)=>n===t[o]):e.length===1&&e[0]===t}function Fh(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),o=e.split("/"),r=o[o.length-1];(r===".."||r===".")&&o.push("");let i=n.length-1,s,l;for(s=0;s1&&i--;else break;return n.slice(0,i).join("/")+"/"+o.slice(s).join("/")}const Mt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let si=(function(e){return e.pop="pop",e.push="push",e})({}),Ar=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function $h(e){if(!e)if(yn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Ih(e)}const Vh=/^[^#]+#/;function jh(e,t){return e.replace(Vh,"#")+t}function Hh(e,t){const n=document.documentElement.getBoundingClientRect(),o=e.getBoundingClientRect();return{behavior:t.behavior,left:o.left-n.left-(t.left||0),top:o.top-n.top-(t.top||0)}}const ar=()=>({left:window.scrollX,top:window.scrollY});function zh(e){let t;if("el"in e){const n=e.el,o=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?o?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=Hh(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function js(e,t){return(history.state?history.state.position-t:-1)+e}const li=new Map;function Uh(e,t){li.set(e,t)}function Kh(e){const t=li.get(e);return li.delete(e),t}function Wh(e){return typeof e=="string"||e&&typeof e=="object"}function Cu(e){return typeof e=="string"||typeof e=="symbol"}let Se=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Su=Symbol("");Se.MATCHER_NOT_FOUND+"",Se.NAVIGATION_GUARD_REDIRECT+"",Se.NAVIGATION_ABORTED+"",Se.NAVIGATION_CANCELLED+"",Se.NAVIGATION_DUPLICATED+"";function Rn(e,t){return de(new Error,{type:e,[Su]:!0},t)}function _t(e,t){return e instanceof Error&&Su in e&&(t==null||!!(e.type&t))}const Gh=["params","query","hash"];function Qh(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Gh)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Yh(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;or&&ii(r)):[o&&ii(o)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function Jh(e){const t={};for(const n in e){const o=e[n];o!==void 0&&(t[n]=ut(o)?o.map(r=>r==null?null:""+r):o==null?o:""+o)}return t}const Zh=Symbol(""),zs=Symbol(""),Bi=Symbol(""),Eu=Symbol(""),ai=Symbol("");function qn(){let e=[];function t(o){return e.push(o),()=>{const r=e.indexOf(o);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ft(e,t,n,o,r,i=s=>s()){const s=o&&(o.enterCallbacks[r]=o.enterCallbacks[r]||[]);return()=>new Promise((l,a)=>{const c=d=>{d===!1?a(Rn(Se.NAVIGATION_ABORTED,{from:n,to:t})):d instanceof Error?a(d):Wh(d)?a(Rn(Se.NAVIGATION_GUARD_REDIRECT,{from:t,to:d})):(s&&o.enterCallbacks[r]===s&&typeof d=="function"&&s.push(d),l())},u=i(()=>e.call(o&&o.instances[r],t,n,c));let f=Promise.resolve(u);e.length<3&&(f=f.then(c)),f.catch(d=>a(d))})}function Tr(e,t,n,o,r=i=>i()){const i=[];for(const s of e)for(const l in s.components){let a=s.components[l];if(!(t!=="beforeRouteEnter"&&!s.instances[l]))if(pu(a)){const c=(a.__vccOpts||a)[t];c&&i.push(Ft(c,n,o,s,l,r))}else{let c=a();i.push(()=>c.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${l}" at "${s.path}"`);const f=_h(u)?u.default:u;s.mods[l]=u,s.components[l]=f;const d=(f.__vccOpts||f)[t];return d&&Ft(d,n,o,s,l,r)()}))}}return i}function Xh(e,t){const n=[],o=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let s=0;skn(c,l))?o.push(l):n.push(l));const a=e.matched[s];a&&(t.matched.find(c=>kn(c,a))||r.push(a))}return[n,o,r]}let eg=()=>location.protocol+"//"+location.host;function ku(e,t){const{pathname:n,search:o,hash:r}=t,i=e.indexOf("#");if(i>-1){let s=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(s);return l[0]!=="/"&&(l="/"+l),$s(l,"")}return $s(n,e)+o+r}function tg(e,t,n,o){let r=[],i=[],s=null;const l=({state:d})=>{const g=ku(e,location),p=n.value,y=t.value;let S=0;if(d){if(n.value=g,t.value=d,s&&s===p){s=null;return}S=y?d.position-y.position:0}else o(g);r.forEach(T=>{T(n.value,p,{delta:S,type:si.pop,direction:S?S>0?Ar.forward:Ar.back:Ar.unknown})})};function a(){s=n.value}function c(d){r.push(d);const g=()=>{const p=r.indexOf(d);p>-1&&r.splice(p,1)};return i.push(g),g}function u(){if(document.visibilityState==="hidden"){const{history:d}=window;if(!d.state)return;d.replaceState(de({},d.state,{scroll:ar()}),"")}}function f(){for(const d of i)d();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:a,listen:c,destroy:f}}function Us(e,t,n,o=!1,r=!1){return{back:e,current:t,forward:n,replaced:o,position:window.history.length,scroll:r?ar():null}}function ng(e){const{history:t,location:n}=window,o={value:ku(e,n)},r={value:t.state};r.value||i(o.value,{back:null,current:o.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(a,c,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+a:eg()+e+a;try{t[u?"replaceState":"pushState"](c,"",d),r.value=c}catch(g){console.error(g),n[u?"replace":"assign"](d)}}function s(a,c){i(a,de({},t.state,Us(r.value.back,a,r.value.forward,!0),c,{position:r.value.position}),!0),o.value=a}function l(a,c){const u=de({},r.value,t.state,{forward:a,scroll:ar()});i(u.current,u,!0),i(a,de({},Us(o.value,a,null),{position:u.position+1},c),!1),o.value=a}return{location:o,state:r,push:l,replace:s}}function og(e){e=$h(e);const t=ng(e),n=tg(e,t.state,t.location,t.replace);function o(i,s=!0){s||n.pauseListeners(),history.go(i)}const r=de({location:"",base:e,go:o,createHref:jh.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function rg(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),og(e)}let Zt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Ae=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Ae||{});const ig={type:Zt.Static,value:""},sg=/[a-zA-Z0-9_]/;function lg(e){if(!e)return[[]];if(e==="/")return[[ig]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${c}": ${g}`)}let n=Ae.Static,o=n;const r=[];let i;function s(){i&&r.push(i),i=[]}let l=0,a,c="",u="";function f(){c&&(n===Ae.Static?i.push({type:Zt.Static,value:c}):n===Ae.Param||n===Ae.ParamRegExp||n===Ae.ParamRegExpEnd?(i.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:Zt.Param,value:c,regexp:u,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),c="")}function d(){c+=a}for(;lt.length?t.length===1&&t[0]===$e.Static+$e.Segment?1:-1:0}function Ru(e,t){let n=0;const o=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const dg={strict:!1,end:!0,sensitive:!1};function hg(e,t,n){const o=cg(lg(e.path),n),r=de(o,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function gg(e,t){const n=[],o=new Map;t=Fs(dg,t);function r(f){return o.get(f)}function i(f,d,g){const p=!g,y=Qs(f);y.aliasOf=g&&g.record;const S=Fs(t,f),T=[y];if("alias"in f){const A=typeof f.alias=="string"?[f.alias]:f.alias;for(const B of A)T.push(Qs(de({},y,{components:g?g.record.components:y.components,path:B,aliasOf:g?g.record:y})))}let _,x;for(const A of T){const{path:B}=A;if(d&&B[0]!=="/"){const j=d.record.path,H=j[j.length-1]==="/"?"":"/";A.path=d.record.path+(B&&H+B)}if(_=hg(A,d,S),g?g.alias.push(_):(x=x||_,x!==_&&x.alias.push(_),p&&f.name&&!Ys(_)&&s(f.name)),Au(_)&&a(_),y.children){const j=y.children;for(let H=0;H{s(x)}:Qn}function s(f){if(Cu(f)){const d=o.get(f);d&&(o.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(s),d.alias.forEach(s))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&o.delete(f.record.name),f.children.forEach(s),f.alias.forEach(s))}}function l(){return n}function a(f){const d=vg(f,n);n.splice(d,0,f),f.record.name&&!Ys(f)&&o.set(f.record.name,f)}function c(f,d){let g,p={},y,S;if("name"in f&&f.name){if(g=o.get(f.name),!g)throw Rn(Se.MATCHER_NOT_FOUND,{location:f});S=g.record.name,p=de(Gs(d.params,g.keys.filter(x=>!x.optional).concat(g.parent?g.parent.keys.filter(x=>x.optional):[]).map(x=>x.name)),f.params&&Gs(f.params,g.keys.map(x=>x.name))),y=g.stringify(p)}else if(f.path!=null)y=f.path,g=n.find(x=>x.re.test(y)),g&&(p=g.parse(y),S=g.record.name);else{if(g=d.name?o.get(d.name):n.find(x=>x.re.test(d.path)),!g)throw Rn(Se.MATCHER_NOT_FOUND,{location:f,currentLocation:d});S=g.record.name,p=de({},d.params,f.params),y=g.stringify(p)}const T=[];let _=g;for(;_;)T.unshift(_.record),_=_.parent;return{name:S,path:y,params:p,matched:T,meta:pg(T)}}e.forEach(f=>i(f));function u(){n.length=0,o.clear()}return{addRoute:i,resolve:c,removeRoute:s,clearRoutes:u,getRoutes:l,getRecordMatcher:r}}function Gs(e,t){const n={};for(const o of t)o in e&&(n[o]=e[o]);return n}function Qs(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:mg(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function mg(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const o in e.components)t[o]=typeof n=="object"?n[o]:n;return t}function Ys(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function pg(e){return e.reduce((t,n)=>de(t,n.meta),{})}function vg(e,t){let n=0,o=t.length;for(;n!==o;){const i=n+o>>1;Ru(e,t[i])<0?o=i:n=i+1}const r=bg(e);return r&&(o=t.lastIndexOf(r,o-1)),o}function bg(e){let t=e;for(;t=t.parent;)if(Au(t)&&Ru(e,t)===0)return t}function Au({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Js(e){const t=st(Bi),n=st(Eu),o=k(()=>{const a=jt(e.to);return t.resolve(a)}),r=k(()=>{const{matched:a}=o.value,{length:c}=a,u=a[c-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(kn.bind(null,u));if(d>-1)return d;const g=Zs(a[c-2]);return c>1&&Zs(u)===g&&f[f.length-1].path!==g?f.findIndex(kn.bind(null,a[c-2])):d}),i=k(()=>r.value>-1&&Cg(n.params,o.value.params)),s=k(()=>r.value>-1&&r.value===n.matched.length-1&&xu(n.params,o.value.params));function l(a={}){if(xg(a)){const c=t[jt(e.replace)?"replace":"push"](jt(e.to)).catch(Qn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:o,href:k(()=>o.value.href),isActive:i,isExactActive:s,navigate:l}}function yg(e){return e.length===1?e[0]:e}const _g=ao({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Js,setup(e,{slots:t}){const n=an(Js(e)),{options:o}=st(Bi),r=k(()=>({[Xs(e.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[Xs(e.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&yg(t.default(n));return e.custom?i:P("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),wg=_g;function xg(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Cg(e,t){for(const n in t){const o=t[n],r=e[n];if(typeof o=="string"){if(o!==r)return!1}else if(!ut(r)||r.length!==o.length||o.some((i,s)=>i.valueOf()!==r[s].valueOf()))return!1}return!0}function Zs(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Xs=(e,t,n)=>e??t??n,Sg=ao({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const o=st(ai),r=k(()=>e.route||o.value),i=st(zs,0),s=k(()=>{let c=jt(i);const{matched:u}=r.value;let f;for(;(f=u[c])&&!f.components;)c++;return c}),l=k(()=>r.value.matched[s.value]);Ro(zs,k(()=>s.value+1)),Ro(Zh,l),Ro(ai,r);const a=ae();return be(()=>[a.value,l.value,e.name],([c,u,f],[d,g,p])=>{u&&(u.instances[f]=c,g&&g!==u&&c&&c===d&&(u.leaveGuards.size||(u.leaveGuards=g.leaveGuards),u.updateGuards.size||(u.updateGuards=g.updateGuards))),c&&u&&(!g||!kn(u,g)||!d)&&(u.enterCallbacks[f]||[]).forEach(y=>y(c))},{flush:"post"}),()=>{const c=r.value,u=e.name,f=l.value,d=f&&f.components[u];if(!d)return el(n.default,{Component:d,route:c});const g=f.props[u],p=g?g===!0?c.params:typeof g=="function"?g(c):g:null,S=P(d,de({},p,t,{onVnodeUnmounted:T=>{T.component.isUnmounted&&(f.instances[u]=null)},ref:a}));return el(n.default,{Component:S,route:c})||S}}});function el(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Eg=Sg;function kg(e){const t=gg(e.routes,e),n=e.parseQuery||Yh,o=e.stringifyQuery||Hs,r=e.history,i=qn(),s=qn(),l=qn(),a=$c(Mt);let c=Mt;yn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=kr.bind(null,w=>""+w),f=kr.bind(null,qh),d=kr.bind(null,oo);function g(w,W){let G,Z;return Cu(w)?(G=t.getRecordMatcher(w),Z=W):Z=w,t.addRoute(Z,G)}function p(w){const W=t.getRecordMatcher(w);W&&t.removeRoute(W)}function y(){return t.getRoutes().map(w=>w.record)}function S(w){return!!t.getRecordMatcher(w)}function T(w,W){if(W=de({},W||a.value),typeof w=="string"){const v=Rr(n,w,W.path),q=t.resolve({path:v.path},W),I=r.createHref(v.fullPath);return de(v,q,{params:d(q.params),hash:oo(v.hash),redirectedFrom:void 0,href:I})}let G;if(w.path!=null)G=de({},w,{path:Rr(n,w.path,W.path).path});else{const v=de({},w.params);for(const q in v)v[q]==null&&delete v[q];G=de({},w,{params:f(v)}),W.params=f(W.params)}const Z=t.resolve(G,W),ce=w.hash||"";Z.params=u(d(Z.params));const h=Nh(o,de({},w,{hash:Ph(ce),path:Z.path})),m=r.createHref(h);return de({fullPath:h,hash:ce,query:o===Hs?Jh(w.query):w.query||{}},Z,{redirectedFrom:void 0,href:m})}function _(w){return typeof w=="string"?Rr(n,w,a.value.path):de({},w)}function x(w,W){if(c!==w)return Rn(Se.NAVIGATION_CANCELLED,{from:W,to:w})}function A(w){return H(w)}function B(w){return A(de(_(w),{replace:!0}))}function j(w,W){const G=w.matched[w.matched.length-1];if(G&&G.redirect){const{redirect:Z}=G;let ce=typeof Z=="function"?Z(w,W):Z;return typeof ce=="string"&&(ce=ce.includes("?")||ce.includes("#")?ce=_(ce):{path:ce},ce.params={}),de({query:w.query,hash:w.hash,params:ce.path!=null?{}:w.params},ce)}}function H(w,W){const G=c=T(w),Z=a.value,ce=w.state,h=w.force,m=w.replace===!0,v=j(G,Z);if(v)return H(de(_(v),{state:typeof v=="object"?de({},ce,v.state):ce,force:h,replace:m}),W||G);const q=G;q.redirectedFrom=W;let I;return!h&&Bh(o,Z,G)&&(I=Rn(Se.NAVIGATION_DUPLICATED,{to:q,from:Z}),le(Z,Z,!0,!1)),(I?Promise.resolve(I):C(q,Z)).catch(L=>_t(L)?_t(L,Se.NAVIGATION_GUARD_REDIRECT)?L:we(L):M(L,q,Z)).then(L=>{if(L){if(_t(L,Se.NAVIGATION_GUARD_REDIRECT))return H(de({replace:m},_(L.to),{state:typeof L.to=="object"?de({},ce,L.to.state):ce,force:h}),W||q)}else L=b(q,Z,!0,m,ce);return E(q,Z,L),L})}function $(w,W){const G=x(w,W);return G?Promise.reject(G):Promise.resolve()}function N(w){const W=_e.values().next().value;return W&&typeof W.runWithContext=="function"?W.runWithContext(w):w()}function C(w,W){let G;const[Z,ce,h]=Xh(w,W);G=Tr(Z.reverse(),"beforeRouteLeave",w,W);for(const v of Z)v.leaveGuards.forEach(q=>{G.push(Ft(q,w,W))});const m=$.bind(null,w,W);return G.push(m),ee(G).then(()=>{G=[];for(const v of i.list())G.push(Ft(v,w,W));return G.push(m),ee(G)}).then(()=>{G=Tr(ce,"beforeRouteUpdate",w,W);for(const v of ce)v.updateGuards.forEach(q=>{G.push(Ft(q,w,W))});return G.push(m),ee(G)}).then(()=>{G=[];for(const v of h)if(v.beforeEnter)if(ut(v.beforeEnter))for(const q of v.beforeEnter)G.push(Ft(q,w,W));else G.push(Ft(v.beforeEnter,w,W));return G.push(m),ee(G)}).then(()=>(w.matched.forEach(v=>v.enterCallbacks={}),G=Tr(h,"beforeRouteEnter",w,W,N),G.push(m),ee(G))).then(()=>{G=[];for(const v of s.list())G.push(Ft(v,w,W));return G.push(m),ee(G)}).catch(v=>_t(v,Se.NAVIGATION_CANCELLED)?v:Promise.reject(v))}function E(w,W,G){l.list().forEach(Z=>N(()=>Z(w,W,G)))}function b(w,W,G,Z,ce){const h=x(w,W);if(h)return h;const m=W===Mt,v=yn?history.state:{};G&&(Z||m?r.replace(w.fullPath,de({scroll:m&&v&&v.scroll},ce)):r.push(w.fullPath,ce)),a.value=w,le(w,W,G,m),we()}let O;function R(){O||(O=r.listen((w,W,G)=>{if(!ke.listening)return;const Z=T(w),ce=j(Z,ke.currentRoute.value);if(ce){H(de(ce,{replace:!0,force:!0}),Z).catch(Qn);return}c=Z;const h=a.value;yn&&Uh(js(h.fullPath,G.delta),ar()),C(Z,h).catch(m=>_t(m,Se.NAVIGATION_ABORTED|Se.NAVIGATION_CANCELLED)?m:_t(m,Se.NAVIGATION_GUARD_REDIRECT)?(H(de(_(m.to),{force:!0}),Z).then(v=>{_t(v,Se.NAVIGATION_ABORTED|Se.NAVIGATION_DUPLICATED)&&!G.delta&&G.type===si.pop&&r.go(-1,!1)}).catch(Qn),Promise.reject()):(G.delta&&r.go(-G.delta,!1),M(m,Z,h))).then(m=>{m=m||b(Z,h,!1),m&&(G.delta&&!_t(m,Se.NAVIGATION_CANCELLED)?r.go(-G.delta,!1):G.type===si.pop&&_t(m,Se.NAVIGATION_ABORTED|Se.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),E(Z,h,m)}).catch(Qn)}))}let K=qn(),J=qn(),V;function M(w,W,G){we(w);const Z=J.list();return Z.length?Z.forEach(ce=>ce(w,W,G)):console.error(w),Promise.reject(w)}function ne(){return V&&a.value!==Mt?Promise.resolve():new Promise((w,W)=>{K.add([w,W])})}function we(w){return V||(V=!w,R(),K.list().forEach(([W,G])=>w?G(w):W()),K.reset()),w}function le(w,W,G,Z){const{scrollBehavior:ce}=e;if(!yn||!ce)return Promise.resolve();const h=!G&&Kh(js(w.fullPath,0))||(Z||!G)&&history.state&&history.state.scroll||null;return Ke().then(()=>ce(w,W,h)).then(m=>m&&zh(m)).catch(m=>M(m,w,W))}const D=w=>r.go(w);let ue;const _e=new Set,ke={currentRoute:a,listening:!0,addRoute:g,removeRoute:p,clearRoutes:t.clearRoutes,hasRoute:S,getRoutes:y,resolve:T,options:e,push:A,replace:B,go:D,back:()=>D(-1),forward:()=>D(1),beforeEach:i.add,beforeResolve:s.add,afterEach:l.add,onError:J.add,isReady:ne,install(w){w.component("RouterLink",wg),w.component("RouterView",Eg),w.config.globalProperties.$router=ke,Object.defineProperty(w.config.globalProperties,"$route",{enumerable:!0,get:()=>jt(a)}),yn&&!ue&&a.value===Mt&&(ue=!0,A(r.location).catch(Z=>{}));const W={};for(const Z in Mt)Object.defineProperty(W,Z,{get:()=>a.value[Z],enumerable:!0});w.provide(Bi,ke),w.provide(Eu,ta(W)),w.provide(ai,a);const G=w.unmount;_e.add(w),w.unmount=function(){_e.delete(w),_e.size<1&&(c=Mt,O&&O(),O=null,a.value=Mt,ue=!1,V=!1),G()}}};function ee(w){return w.reduce((W,G)=>W.then(()=>N(G)),Promise.resolve())}return ke}const Rg=[{path:"/",component:()=>ko(()=>import("./MainLayout-Cyzrc7AM.js"),__vite__mapDeps([0,1,2,3,4,5])),children:[{path:"",component:()=>ko(()=>import("./IndexPage-CwM_myNb.js").then(e=>e.I),__vite__mapDeps([6,1,7]))}]},{path:"/:catchAll(.*)*",component:()=>ko(()=>import("./ErrorNotFound-C9XXVpv6.js"),[])}],Pr=dh(function(){return kg({scrollBehavior:()=>({left:0,top:0}),routes:Rg,history:rg("/")})});async function Ag(e,t){const n=e(fh);n.use(ch,t);const o=typeof Er=="function"?await Er({}):Er;n.use(o);const r=un(typeof Pr=="function"?await Pr({store:o}):Pr);return o.use(({store:i})=>{i.router=r}),{app:n,store:o,router:r}}function Tg(e,t,n){let o;function r(){o!==void 0&&(ni.remove(o),o=void 0)}return ct(()=>{e.value===!0&&r()}),{removeFromHistory:r,addToHistory(){o={condition:()=>n.value===!0,handler:t},ni.add(o)}}}function Or(e){if(Object(e.$parent)===e.$parent)return e.$parent;let{parent:t}=e.$;for(;Object(t)===t;){if(Object(t.proxy)===t.proxy)return t.proxy;t=t.parent}}function Tu(e){return e.appContext.config.globalProperties.$router!==void 0}function Pu(e){return e.isUnmounted===!0||e.isDeactivated===!0}function Pg(){let e=null;const t=Ce();function n(){e!==null&&(clearTimeout(e),e=null)}return tr(n),ct(n),{removeTimeout:n,registerTimeout(o,r){n(),Pu(t)===!1&&(e=setTimeout(()=>{e=null,o()},r))}}}function Og(){let e;const t=Ce();function n(){e=void 0}return tr(n),ct(n),{removeTick:n,registerTick(o){e=o,Ke(()=>{e===o&&(Pu(t)===!1&&e(),e=void 0)})}}}const Mg={modelValue:{type:Boolean,default:null},"onUpdate:modelValue":[Function,Array]},qg=["beforeShow","show","beforeHide","hide"];function Lg({showing:e,canShow:t,hideOnRouteChange:n,handleShow:o,handleHide:r,processOnMount:i}){const s=Ce(),{props:l,emit:a,proxy:c}=s;let u;function f(_){e.value===!0?p(_):d(_)}function d(_){if(l.disable===!0||_?.qAnchorHandled===!0||t!==void 0&&t(_)!==!0)return;const x=l["onUpdate:modelValue"]!==void 0;x===!0&&(a("update:modelValue",!0),u=_,Ke(()=>{u===_&&(u=void 0)})),(l.modelValue===null||x===!1)&&g(_)}function g(_){e.value!==!0&&(e.value=!0,a("beforeShow",_),o!==void 0?o(_):a("show",_))}function p(_){if(l.disable===!0)return;const x=l["onUpdate:modelValue"]!==void 0;x===!0&&(a("update:modelValue",!1),u=_,Ke(()=>{u===_&&(u=void 0)})),(l.modelValue===null||x===!1)&&y(_)}function y(_){e.value!==!1&&(e.value=!1,a("beforeHide",_),r!==void 0?r(_):a("hide",_))}function S(_){l.disable===!0&&_===!0?l["onUpdate:modelValue"]!==void 0&&a("update:modelValue",!1):_===!0!==e.value&&(_===!0?g:y)(u)}be(()=>l.modelValue,S),n!==void 0&&Tu(s)===!0&&be(()=>c.$route.fullPath,()=>{n.value===!0&&e.value===!0&&p()}),i===!0&&cn(()=>{S(l.modelValue)});const T={show:d,hide:p,toggle:f};return Object.assign(c,T),T}const Ig={transitionShow:{type:String,default:"fade"},transitionHide:{type:String,default:"fade"},transitionDuration:{type:[String,Number],default:300}};function Ng(e,t=()=>{},n=()=>{}){return{transitionProps:k(()=>{const o=`q-transition--${e.transitionShow||t()}`,r=`q-transition--${e.transitionHide||n()}`;return{appear:!0,enterFromClass:`${o}-enter-from`,enterActiveClass:`${o}-enter-active`,enterToClass:`${o}-enter-to`,leaveFromClass:`${r}-leave-from`,leaveActiveClass:`${r}-leave-active`,leaveToClass:`${r}-leave-to`}}),transitionStyle:k(()=>`--q-transition-duration: ${e.transitionDuration}ms`)}}let Xt=[],ro=[];function Ou(e){ro=ro.filter(t=>t!==e)}function Bg(e){Ou(e),ro.push(e)}function tl(e){Ou(e),ro.length===0&&Xt.length!==0&&(Xt[Xt.length-1](),Xt=[])}function Di(e){ro.length===0?e():Xt.push(e)}function Dg(e){Xt=Xt.filter(t=>t!==e)}let Fg=1,$g=document.body;function Fi(e,t){const n=document.createElement("div");if(n.id=t!==void 0?`q-portal--${t}--${Fg++}`:e,Ko.globalNodes!==void 0){const o=Ko.globalNodes.class;o!==void 0&&(n.className=o)}return $g.appendChild(n),n}function Mu(e){e.remove()}const Mr=[];function $p(e,t){do{if(e.$options.name==="QMenu"){if(e.hide(t),e.$props.separateClosePopup===!0)return Or(e)}else if(e.__qPortal===!0){const n=Or(e);return n?.$options.name==="QPopupProxy"?(e.hide(t),n):e}e=Or(e)}while(e!=null)}const Vg=Le({name:"QPortal",setup(e,{slots:t}){return()=>t.default()}});function jg(e){for(e=e.parent;e!=null;){if(e.type.name==="QGlobalDialog")return!0;if(e.type.name==="QDialog"||e.type.name==="QMenu")return!1;e=e.parent}return!1}function Hg(e,t,n,o){const r=ae(!1),i=ae(!1);let s=null;const l={},a=o==="dialog"&&jg(e);function c(f){if(f===!0){tl(l),i.value=!0;return}i.value=!1,r.value===!1&&(a===!1&&s===null&&(s=Fi(!1,o)),r.value=!0,Mr.push(e.proxy),Bg(l))}function u(f){if(i.value=!1,f!==!0)return;tl(l),r.value=!1;const d=Mr.indexOf(e.proxy);d!==-1&&Mr.splice(d,1),s!==null&&(Mu(s),s=null)}return Pi(()=>{u(!0)}),e.proxy.__qPortal=!0,Tn(e.proxy,"contentEl",()=>t.value),{showPortal:c,hidePortal:u,portalIsActive:r,portalIsAccessible:i,renderPortal:()=>a===!0?n():r.value===!0?[P(sf,{to:s},P(Vg,n))]:void 0}}function ui(e,t){const n=e.style;for(const o in t)n[o]=t[o]}function zg(e){if(e==null)return;if(typeof e=="string")try{return document.querySelector(e)||void 0}catch{return}const t=jt(e);if(t)return t.$el||t}function Ug(e,t){if(e==null||e.contains(t)===!0)return!0;for(let n=e.nextElementSibling;n!==null;n=n.nextElementSibling)if(n.contains(t))return!0;return!1}const Vp=[Element,String],Kg=[null,document,document.body,document.scrollingElement,document.documentElement];function jp(e,t){let n=zg(t);if(n===void 0){if(e==null)return window;n=e.closest(".scroll,.scroll-y,.overflow-auto")}return Kg.includes(n)?window:n}function qu(e){return e===window?window.pageYOffset||window.scrollY||document.body.scrollTop||0:e.scrollTop}function Lu(e){return e===window?window.pageXOffset||window.scrollX||document.body.scrollLeft||0:e.scrollLeft}function Iu(e,t,n=0){const o=arguments[3]===void 0?performance.now():arguments[3],r=qu(e);if(n<=0){r!==t&&ci(e,t);return}requestAnimationFrame(i=>{const s=i-o,l=r+(t-r)/Math.max(s,n)*s;ci(e,l),l!==t&&Iu(e,t,n-s,i)})}function Nu(e,t,n=0){const o=arguments[3]===void 0?performance.now():arguments[3],r=Lu(e);if(n<=0){r!==t&&fi(e,t);return}requestAnimationFrame(i=>{const s=i-o,l=r+(t-r)/Math.max(s,n)*s;fi(e,l),l!==t&&Nu(e,t,n-s,i)})}function ci(e,t){if(e===window){window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,t);return}e.scrollTop=t}function fi(e,t){if(e===window){window.scrollTo(t,window.pageYOffset||window.scrollY||document.body.scrollTop||0);return}e.scrollLeft=t}function Hp(e,t,n){if(n){Iu(e,t,n);return}ci(e,t)}function zp(e,t,n){if(n){Nu(e,t,n);return}fi(e,t)}let _o;function Up(){if(_o!==void 0)return _o;const e=document.createElement("p"),t=document.createElement("div");ui(e,{width:"100%",height:"200px"}),ui(t,{position:"absolute",top:"0px",left:"0px",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}),t.appendChild(e),document.body.appendChild(t);const n=e.offsetWidth;t.style.overflow="scroll";let o=e.offsetWidth;return n===o&&(o=t.clientWidth),t.remove(),_o=n-o,_o}function Wg(e,t=!0){return!e||e.nodeType!==Node.ELEMENT_NODE?!1:t?e.scrollHeight>e.clientHeight&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-y"])):e.scrollWidth>e.clientWidth&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-x"]))}let Ln=0,qr,Lr,Dn,Ir=!1,nl,ol,rl,Qt=null;function Gg(e){Qg(e)&&et(e)}function Qg(e){if(e.target===document.body||e.target.classList.contains("q-layout__backdrop"))return!0;const t=Ud(e),n=e.shiftKey&&!e.deltaX,o=!n&&Math.abs(e.deltaX)<=Math.abs(e.deltaY),r=n||o?e.deltaY:e.deltaX;for(let i=0;i0&&s.scrollTop+s.clientHeight===s.scrollHeight:r<0&&s.scrollLeft===0?!0:r>0&&s.scrollLeft+s.clientWidth===s.scrollWidth}return!0}function il(e){e.target===document&&(document.scrollingElement.scrollTop=document.scrollingElement.scrollTop)}function wo(e){Ir!==!0&&(Ir=!0,requestAnimationFrame(()=>{Ir=!1;const{height:t}=e.target,{clientHeight:n,scrollTop:o}=document.scrollingElement;(Dn===void 0||t!==window.innerHeight)&&(Dn=n-t,document.scrollingElement.scrollTop=o),o>Dn&&(document.scrollingElement.scrollTop-=Math.ceil((o-Dn)/8))}))}function sl(e){const t=document.body,n=window.visualViewport!==void 0;if(e==="add"){const{overflowY:o,overflowX:r}=window.getComputedStyle(t);qr=Lu(window),Lr=qu(window),nl=t.style.left,ol=t.style.top,rl=window.location.href,t.style.left=`-${qr}px`,t.style.top=`-${Lr}px`,r!=="hidden"&&(r==="scroll"||t.scrollWidth>window.innerWidth)&&t.classList.add("q-body--force-scrollbar-x"),o!=="hidden"&&(o==="scroll"||t.scrollHeight>window.innerHeight)&&t.classList.add("q-body--force-scrollbar-y"),t.classList.add("q-body--prevent-scroll"),document.qScrollPrevented=!0,Te.is.ios===!0&&(n===!0?(window.scrollTo(0,0),window.visualViewport.addEventListener("resize",wo,Ue.passiveCapture),window.visualViewport.addEventListener("scroll",wo,Ue.passiveCapture),window.scrollTo(0,0)):window.addEventListener("scroll",il,Ue.passiveCapture))}Te.is.desktop===!0&&Te.is.mac===!0&&window[`${e}EventListener`]("wheel",Gg,Ue.notPassive),e==="remove"&&(Te.is.ios===!0&&(n===!0?(window.visualViewport.removeEventListener("resize",wo,Ue.passiveCapture),window.visualViewport.removeEventListener("scroll",wo,Ue.passiveCapture)):window.removeEventListener("scroll",il,Ue.passiveCapture)),t.classList.remove("q-body--prevent-scroll"),t.classList.remove("q-body--force-scrollbar-x"),t.classList.remove("q-body--force-scrollbar-y"),document.qScrollPrevented=!1,t.style.left=nl,t.style.top=ol,window.location.href===rl&&window.scrollTo(qr,Lr),Dn=void 0)}function Yg(e){let t="add";if(e===!0){if(Ln++,Qt!==null){clearTimeout(Qt),Qt=null;return}if(Ln>1)return}else{if(Ln===0||(Ln--,Ln>0))return;if(t="remove",Te.is.ios===!0&&Te.is.nativeMobile===!0){Qt!==null&&clearTimeout(Qt),Qt=setTimeout(()=>{sl(t),Qt=null},100);return}}sl(t)}function Jg(){let e;return{preventBodyScroll(t){t!==e&&(e!==void 0||t===!0)&&(e=t,Yg(t))}}}function rt(e,t){return e!==void 0&&e()||t}function Kp(e,t){if(e!==void 0){const n=e();if(n!=null)return n.slice()}return t}function en(e,t){return e!==void 0?t.concat(e()):t}function Zg(e,t){return e===void 0?t:t!==void 0?t.concat(e()):e()}function Wp(e,t,n,o,r,i){t.key=o+r;const s=P(e,t,n);return r===!0?ua(s,i()):s}const on=[];let An;function Xg(e){An=e.keyCode===27}function em(){An===!0&&(An=!1)}function tm(e){An===!0&&(An=!1,no(e,27)===!0&&on[on.length-1](e))}function Bu(e){window[e]("keydown",Xg),window[e]("blur",em),window[e]("keyup",tm),An=!1}function nm(e){Te.is.desktop===!0&&(on.push(e),on.length===1&&Bu("addEventListener"))}function ll(e){const t=on.indexOf(e);t!==-1&&(on.splice(t,1),on.length===0&&Bu("removeEventListener"))}const rn=[];function Du(e){rn[rn.length-1](e)}function om(e){Te.is.desktop===!0&&(rn.push(e),rn.length===1&&document.body.addEventListener("focusin",Du))}function al(e){const t=rn.indexOf(e);t!==-1&&(rn.splice(t,1),rn.length===0&&document.body.removeEventListener("focusin",Du))}let xo=0;const rm={standard:"fixed-full flex-center",top:"fixed-top justify-center",bottom:"fixed-bottom justify-center",right:"fixed-right items-center",left:"fixed-left items-center"},ul={standard:["scale","scale"],top:["slide-down","slide-up"],bottom:["slide-up","slide-down"],right:["slide-left","slide-right"],left:["slide-right","slide-left"]},im=Le({name:"QDialog",inheritAttrs:!1,props:{...Mg,...Ig,transitionShow:String,transitionHide:String,persistent:Boolean,autoClose:Boolean,allowFocusOutside:Boolean,noEscDismiss:Boolean,noBackdropDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,noShake:Boolean,seamless:Boolean,maximized:Boolean,fullWidth:Boolean,fullHeight:Boolean,square:Boolean,backdropFilter:String,position:{type:String,default:"standard",validator:e=>["standard","top","bottom","left","right"].includes(e)}},emits:[...qg,"shake","click","escapeKey"],setup(e,{slots:t,emit:n,attrs:o}){const r=Ce(),i=ae(null),s=ae(!1),l=ae(!1);let a=null,c=null,u,f;const d=k(()=>e.persistent!==!0&&e.noRouteDismiss!==!0&&e.seamless!==!0),{preventBodyScroll:g}=Jg(),{registerTimeout:p}=Pg(),{registerTick:y,removeTick:S}=Og(),{transitionProps:T,transitionStyle:_}=Ng(e,()=>ul[e.position][0],()=>ul[e.position][1]),x=k(()=>_.value+(e.backdropFilter!==void 0?`;backdrop-filter:${e.backdropFilter};-webkit-backdrop-filter:${e.backdropFilter}`:"")),{showPortal:A,hidePortal:B,portalIsAccessible:j,renderPortal:H}=Hg(r,i,ke,"dialog"),{hide:$}=Lg({showing:s,hideOnRouteChange:d,handleShow:K,handleHide:J,processOnMount:!0}),{addToHistory:N,removeFromHistory:C}=Tg(s,$,d),E=k(()=>`q-dialog__inner flex no-pointer-events q-dialog__inner--${e.maximized===!0?"maximized":"minimized"} q-dialog__inner--${e.position} ${rm[e.position]}`+(l.value===!0?" q-dialog__inner--animating":"")+(e.fullWidth===!0?" q-dialog__inner--fullwidth":"")+(e.fullHeight===!0?" q-dialog__inner--fullheight":"")+(e.square===!0?" q-dialog__inner--square":"")),b=k(()=>s.value===!0&&e.seamless!==!0),O=k(()=>e.autoClose===!0?{onClick:D}:{}),R=k(()=>[`q-dialog fullscreen no-pointer-events q-dialog--${b.value===!0?"modal":"seamless"}`,o.class]);be(()=>e.maximized,ee=>{s.value===!0&&le(ee)}),be(b,ee=>{g(ee),ee===!0?(om(_e),nm(ne)):(al(_e),ll(ne))});function K(ee){N(),c=e.noRefocus===!1&&document.activeElement!==null?document.activeElement:null,le(e.maximized),A(),l.value=!0,e.noFocus!==!0?(document.activeElement?.blur(),y(V)):S(),p(()=>{if(r.proxy.$q.platform.is.ios===!0){if(e.seamless!==!0&&document.activeElement){const{top:w,bottom:W}=document.activeElement.getBoundingClientRect(),{innerHeight:G}=window,Z=window.visualViewport!==void 0?window.visualViewport.height:G;w>0&&W>Z/2&&(document.scrollingElement.scrollTop=Math.min(document.scrollingElement.scrollHeight-Z,W>=G?1/0:Math.ceil(document.scrollingElement.scrollTop+W-Z/2))),document.activeElement.scrollIntoView()}f=!0,i.value.click(),f=!1}A(!0),l.value=!1,n("show",ee)},e.transitionDuration)}function J(ee){S(),C(),we(!0),l.value=!0,B(),c!==null&&(((ee?.type.indexOf("key")===0?c.closest('[tabindex]:not([tabindex^="-"])'):void 0)||c).focus(),c=null),p(()=>{B(!0),l.value=!1,n("hide",ee)},e.transitionDuration)}function V(ee){Di(()=>{let w=i.value;if(w!==null){if(ee!==void 0){const W=w.querySelector(ee);if(W!==null){W.focus({preventScroll:!0});return}}w.contains(document.activeElement)!==!0&&(w=w.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||w.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||w.querySelector("[autofocus], [data-autofocus]")||w,w.focus({preventScroll:!0}))}})}function M(ee){ee&&typeof ee.focus=="function"?ee.focus({preventScroll:!0}):V(),n("shake");const w=i.value;w!==null&&(w.classList.remove("q-animate--scale"),w.classList.add("q-animate--scale"),a!==null&&clearTimeout(a),a=setTimeout(()=>{a=null,i.value!==null&&(w.classList.remove("q-animate--scale"),V())},170))}function ne(){e.seamless!==!0&&(e.persistent===!0||e.noEscDismiss===!0?e.maximized!==!0&&e.noShake!==!0&&M():(n("escapeKey"),$()))}function we(ee){a!==null&&(clearTimeout(a),a=null),(ee===!0||s.value===!0)&&(le(!1),e.seamless!==!0&&(g(!1),al(_e),ll(ne))),ee!==!0&&(c=null)}function le(ee){ee===!0?u!==!0&&(xo<1&&document.body.classList.add("q-body--dialog"),xo++,u=!0):u===!0&&(xo<2&&document.body.classList.remove("q-body--dialog"),xo--,u=!1)}function D(ee){f!==!0&&($(ee),n("click",ee))}function ue(ee){e.persistent!==!0&&e.noBackdropDismiss!==!0?$(ee):e.noShake!==!0&&M()}function _e(ee){e.allowFocusOutside!==!0&&j.value===!0&&Ug(i.value,ee.target)!==!0&&V('[tabindex]:not([tabindex="-1"])')}Object.assign(r.proxy,{focus:V,shake:M,__updateRefocusTarget(ee){c=ee||null}}),ct(we);function ke(){return P("div",{role:"dialog","aria-modal":b.value===!0?"true":"false",...o,class:R.value},[P(jo,{name:"q-transition--fade",appear:!0},()=>b.value===!0?P("div",{class:"q-dialog__backdrop fixed-full",style:x.value,"aria-hidden":"true",tabindex:-1,onClick:ue}):null),P(jo,T.value,()=>s.value===!0?P("div",{ref:i,class:E.value,style:_.value,tabindex:-1,...O.value},rt(t.default)):null)])}return H}}),di={xs:18,sm:24,md:32,lg:38,xl:46},fo={size:String};function ho(e,t=di){return k(()=>e.size!==void 0?{fontSize:e.size in t?`${t[e.size]}px`:e.size}:null)}const cl="0 0 24 24",Nr=e=>e,Br=e=>`ionicons ${e}`,Fu={"mdi-":e=>`mdi ${e}`,"icon-":Nr,"bt-":e=>`bt ${e}`,"eva-":e=>`eva ${e}`,"ion-md":Br,"ion-ios":Br,"ion-logo":Br,"iconfont ":Nr,"ti-":e=>`themify-icon ${e}`,"bi-":e=>`bootstrap-icons ${e}`,"i-":Nr},$u={o_:"-outlined",r_:"-round",s_:"-sharp"},Vu={sym_o_:"-outlined",sym_r_:"-rounded",sym_s_:"-sharp"},sm=new RegExp("^("+Object.keys(Fu).join("|")+")"),lm=new RegExp("^("+Object.keys($u).join("|")+")"),fl=new RegExp("^("+Object.keys(Vu).join("|")+")"),am=/^[Mm]\s?[-+]?\.?\d/,um=/^img:/,cm=/^svguse:/,fm=/^ion-/,dm=/^(fa-(classic|sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /,Tt=Le({name:"QIcon",props:{...fo,tag:{type:String,default:"i"},name:String,color:String,left:Boolean,right:Boolean},setup(e,{slots:t}){const{proxy:{$q:n}}=Ce(),o=ho(e),r=k(()=>"q-icon"+(e.left===!0?" on-left":"")+(e.right===!0?" on-right":"")+(e.color!==void 0?` text-${e.color}`:"")),i=k(()=>{let s,l=e.name;if(l==="none"||!l)return{none:!0};if(n.iconMapFn!==null){const u=n.iconMapFn(l);if(u!==void 0)if(u.icon!==void 0){if(l=u.icon,l==="none"||!l)return{none:!0}}else return{cls:u.cls,content:u.content!==void 0?u.content:" "}}if(am.test(l)===!0){const[u,f=cl]=l.split("|");return{svg:!0,viewBox:f,nodes:u.split("&&").map(d=>{const[g,p,y]=d.split("@@");return P("path",{style:p,d:g,transform:y})})}}if(um.test(l)===!0)return{img:!0,src:l.substring(4)};if(cm.test(l)===!0){const[u,f=cl]=l.split("|");return{svguse:!0,src:u.substring(7),viewBox:f}}let a=" ";const c=l.match(sm);if(c!==null)s=Fu[c[1]](l);else if(dm.test(l)===!0)s=l;else if(fm.test(l)===!0)s=`ionicons ion-${n.platform.is.ios===!0?"ios":"md"}${l.substring(3)}`;else if(fl.test(l)===!0){s="notranslate material-symbols";const u=l.match(fl);u!==null&&(l=l.substring(6),s+=Vu[u[1]]),a=l}else{s="notranslate material-icons";const u=l.match(lm);u!==null&&(l=l.substring(2),s+=$u[u[1]]),a=l}return{cls:s,content:a}});return()=>{const s={class:r.value,style:o.value,"aria-hidden":"true"};return i.value.none===!0?P(e.tag,s,rt(t.default)):i.value.img===!0?P(e.tag,s,en(t.default,[P("img",{src:i.value.src})])):i.value.svg===!0?P(e.tag,s,en(t.default,[P("svg",{viewBox:i.value.viewBox||"0 0 24 24"},i.value.nodes)])):i.value.svguse===!0?P(e.tag,s,en(t.default,[P("svg",{viewBox:i.value.viewBox},[P("use",{"xlink:href":i.value.src})])])):(i.value.cls!==void 0&&(s.class+=" "+i.value.cls),P(e.tag,s,en(t.default,[i.value.content])))}}}),hm={size:{type:[String,Number],default:"1em"},color:String};function gm(e){return{cSize:k(()=>e.size in di?`${di[e.size]}px`:e.size),classes:k(()=>"q-spinner"+(e.color?` text-${e.color}`:""))}}const io=Le({name:"QSpinner",props:{...hm,thickness:{type:Number,default:5}},setup(e){const{cSize:t,classes:n}=gm(e);return()=>P("svg",{class:n.value+" q-spinner-mat",width:t.value,height:t.value,viewBox:"25 25 50 50"},[P("circle",{class:"path",cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":e.thickness,"stroke-miterlimit":"10"})])}});function mm(e,t=250){let n=!1,o;return function(){return n===!1&&(n=!0,setTimeout(()=>{n=!1},t),o=e.apply(this,arguments)),o}}function dl(e,t,n,o){n.modifiers.stop===!0&&zo(e);const r=n.modifiers.color;let i=n.modifiers.center;i=i===!0||o===!0;const s=document.createElement("span"),l=document.createElement("span"),a=zd(e),{left:c,top:u,width:f,height:d}=t.getBoundingClientRect(),g=Math.sqrt(f*f+d*d),p=g/2,y=`${(f-g)/2}px`,S=i?y:`${a.left-c-p}px`,T=`${(d-g)/2}px`,_=i?T:`${a.top-u-p}px`;l.className="q-ripple__inner",ui(l,{height:`${g}px`,width:`${g}px`,transform:`translate3d(${S},${_},0) scale3d(.2,.2,1)`,opacity:0}),s.className=`q-ripple${r?" text-"+r:""}`,s.setAttribute("dir","ltr"),s.appendChild(l),t.appendChild(s);const x=()=>{s.remove(),clearTimeout(A)};n.abort.push(x);let A=setTimeout(()=>{l.classList.add("q-ripple__inner--enter"),l.style.transform=`translate3d(${y},${T},0) scale3d(1,1,1)`,l.style.opacity=.2,A=setTimeout(()=>{l.classList.remove("q-ripple__inner--enter"),l.classList.add("q-ripple__inner--leave"),l.style.opacity=0,A=setTimeout(()=>{s.remove(),n.abort.splice(n.abort.indexOf(x),1)},275)},250)},50)}function hl(e,{modifiers:t,value:n,arg:o}){const r=Object.assign({},e.cfg.ripple,t,n);e.modifiers={early:r.early===!0,stop:r.stop===!0,center:r.center===!0,color:r.color||o,keyCodes:[].concat(r.keyCodes||13)}}const pm=Hd({name:"ripple",beforeMount(e,t){const n=t.instance.$.appContext.config.globalProperties.$q.config||{};if(n.ripple===!1)return;const o={cfg:n,enabled:t.value!==!1,modifiers:{},abort:[],start(r){o.enabled===!0&&r.qSkipRipple!==!0&&r.type===(o.modifiers.early===!0?"pointerdown":"click")&&dl(r,e,o,r.qKeyEvent===!0)},keystart:mm(r=>{o.enabled===!0&&r.qSkipRipple!==!0&&no(r,o.modifiers.keyCodes)===!0&&r.type===`key${o.modifiers.early===!0?"down":"up"}`&&dl(r,e,o,!0)},300)};hl(o,t),e.__qripple=o,Kd(o,"main",[[e,"pointerdown","start","passive"],[e,"click","start","passive"],[e,"keydown","keystart","passive"],[e,"keyup","keystart","passive"]])},updated(e,t){if(t.oldValue!==t.value){const n=e.__qripple;n!==void 0&&(n.enabled=t.value!==!1,n.enabled===!0&&Object(t.value)===t.value&&hl(n,t))}},beforeUnmount(e){const t=e.__qripple;t!==void 0&&(t.abort.forEach(n=>{n()}),Wd(t,"main"),delete e._qripple)}}),ju={left:"start",center:"center",right:"end",between:"between",around:"around",evenly:"evenly",stretch:"stretch"},vm=Object.keys(ju),Hu={align:{type:String,validator:e=>vm.includes(e)}};function zu(e){return k(()=>{const t=e.align===void 0?e.vertical===!0?"stretch":"left":e.align;return`${e.vertical===!0?"items":"justify"}-${ju[t]}`})}function gl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}function ml(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function bm(e,t){for(const n in t){const o=t[n],r=e[n];if(typeof o=="string"){if(o!==r)return!1}else if(Array.isArray(r)===!1||r.length!==o.length||o.some((i,s)=>i!==r[s]))return!1}return!0}function pl(e,t){return Array.isArray(t)===!0?e.length===t.length&&e.every((n,o)=>n===t[o]):e.length===1&&e[0]===t}function ym(e,t){return Array.isArray(e)===!0?pl(e,t):Array.isArray(t)===!0?pl(t,e):e===t}function _m(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(ym(e[n],t[n])===!1)return!1;return!0}const Uu={to:[String,Object],replace:Boolean,href:String,target:String,disable:Boolean},Gp={...Uu,exact:Boolean,activeClass:{type:String,default:"q-router-link--active"},exactActiveClass:{type:String,default:"q-router-link--exact-active"}};function wm({fallbackTag:e,useDisableForRouterLinkProps:t=!0}={}){const n=Ce(),{props:o,proxy:r,emit:i}=n,s=Tu(n),l=k(()=>o.disable!==!0&&o.href!==void 0),a=k(t===!0?()=>s===!0&&o.disable!==!0&&l.value!==!0&&o.to!==void 0&&o.to!==null&&o.to!=="":()=>s===!0&&l.value!==!0&&o.to!==void 0&&o.to!==null&&o.to!==""),c=k(()=>a.value===!0?_(o.to):null),u=k(()=>c.value!==null),f=k(()=>l.value===!0||u.value===!0),d=k(()=>o.type==="a"||f.value===!0?"a":o.tag||e||"div"),g=k(()=>l.value===!0?{href:o.href,target:o.target}:u.value===!0?{href:c.value.href,target:o.target}:{}),p=k(()=>{if(u.value===!1)return-1;const{matched:B}=c.value,{length:j}=B,H=B[j-1];if(H===void 0)return-1;const $=r.$route.matched;if($.length===0)return-1;const N=$.findIndex(ml.bind(null,H));if(N!==-1)return N;const C=gl(B[j-2]);return j>1&&gl(H)===C&&$[$.length-1].path!==C?$.findIndex(ml.bind(null,B[j-2])):N}),y=k(()=>u.value===!0&&p.value!==-1&&bm(r.$route.params,c.value.params)),S=k(()=>y.value===!0&&p.value===r.$route.matched.length-1&&_m(r.$route.params,c.value.params)),T=k(()=>u.value===!0?S.value===!0?` ${o.exactActiveClass} ${o.activeClass}`:o.exact===!0?"":y.value===!0?` ${o.activeClass}`:"":"");function _(B){try{return r.$router.resolve(B)}catch{}return null}function x(B,{returnRouterError:j,to:H=o.to,replace:$=o.replace}={}){if(o.disable===!0)return B.preventDefault(),Promise.resolve(!1);if(B.metaKey||B.altKey||B.ctrlKey||B.shiftKey||B.button!==void 0&&B.button!==0||o.target==="_blank")return Promise.resolve(!1);B.preventDefault();const N=r.$router[$===!0?"replace":"push"](H);return j===!0?N:N.then(()=>{}).catch(()=>{})}function A(B){if(u.value===!0){const j=H=>x(B,H);i("click",B,j),B.defaultPrevented!==!0&&j()}else i("click",B)}return{hasRouterLink:u,hasHrefLink:l,hasLink:f,linkTag:d,resolvedLink:c,linkIsActive:y,linkIsExactActive:S,linkClass:T,linkAttrs:g,getLink:_,navigateToRouterLink:x,navigateOnClick:A}}const vl={none:0,xs:4,sm:8,md:16,lg:24,xl:32},xm={xs:8,sm:10,md:14,lg:20,xl:24},Cm=["button","submit","reset"],Sm=/[^\s]\/[^\s]/,Em=["flat","outline","push","unelevated"];function km(e,t){return e.flat===!0?"flat":e.outline===!0?"outline":e.push===!0?"push":e.unelevated===!0?"unelevated":t}const Rm={...fo,...Uu,type:{type:String,default:"button"},label:[Number,String],icon:String,iconRight:String,...Em.reduce((e,t)=>(e[t]=Boolean)&&e,{}),square:Boolean,rounded:Boolean,glossy:Boolean,size:String,fab:Boolean,fabMini:Boolean,padding:String,color:String,textColor:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,tabindex:[Number,String],ripple:{type:[Boolean,Object],default:!0},align:{...Hu.align,default:"center"},stack:Boolean,stretch:Boolean,loading:{type:Boolean,default:null},disable:Boolean},Am={...Rm,round:Boolean};function Tm(e){const t=ho(e,xm),n=zu(e),{hasRouterLink:o,hasLink:r,linkTag:i,linkAttrs:s,navigateOnClick:l}=wm({fallbackTag:"button"}),a=k(()=>{const S=e.fab===!1&&e.fabMini===!1?t.value:{};return e.padding!==void 0?Object.assign({},S,{padding:e.padding.split(/\s+/).map(T=>T in vl?vl[T]+"px":T).join(" "),minWidth:"0",minHeight:"0"}):S}),c=k(()=>e.rounded===!0||e.fab===!0||e.fabMini===!0),u=k(()=>e.disable!==!0&&e.loading!==!0),f=k(()=>u.value===!0?e.tabindex||0:-1),d=k(()=>km(e,"standard")),g=k(()=>{const S={tabindex:f.value};return r.value===!0?Object.assign(S,s.value):Cm.includes(e.type)===!0&&(S.type=e.type),i.value==="a"?(e.disable===!0?S["aria-disabled"]="true":S.href===void 0&&(S.role="button"),o.value!==!0&&Sm.test(e.type)===!0&&(S.type=e.type)):e.disable===!0&&(S.disabled="",S["aria-disabled"]="true"),e.loading===!0&&e.percentage!==void 0&&Object.assign(S,{role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e.percentage}),S}),p=k(()=>{let S;e.color!==void 0?e.flat===!0||e.outline===!0?S=`text-${e.textColor||e.color}`:S=`bg-${e.color} text-${e.textColor||"white"}`:e.textColor&&(S=`text-${e.textColor}`);const T=e.round===!0?"round":`rectangle${c.value===!0?" q-btn--rounded":e.square===!0?" q-btn--square":""}`;return`q-btn--${d.value} q-btn--${T}`+(S!==void 0?" "+S:"")+(u.value===!0?" q-btn--actionable q-focusable q-hoverable":e.disable===!0?" disabled":"")+(e.fab===!0?" q-btn--fab":e.fabMini===!0?" q-btn--fab-mini":"")+(e.noCaps===!0?" q-btn--no-uppercase":"")+(e.dense===!0?" q-btn--dense":"")+(e.stretch===!0?" no-border-radius self-stretch":"")+(e.glossy===!0?" glossy":"")+(e.square?" q-btn--square":"")}),y=k(()=>n.value+(e.stack===!0?" column":" row")+(e.noWrap===!0?" no-wrap text-no-wrap":"")+(e.loading===!0?" q-btn__content--hidden":""));return{classes:p,style:a,innerClasses:y,attributes:g,hasLink:r,linkTag:i,navigateOnClick:l,isActionable:u}}const{passiveCapture:Ze}=Ue;let mn=null,pn=null,vn=null;const hi=Le({name:"QBtn",props:{...Am,percentage:Number,darkPercentage:Boolean,onTouchstart:[Function,Array]},emits:["click","keydown","mousedown","keyup"],setup(e,{slots:t,emit:n}){const{proxy:o}=Ce(),{classes:r,style:i,innerClasses:s,attributes:l,hasLink:a,linkTag:c,navigateOnClick:u,isActionable:f}=Tm(e),d=ae(null),g=ae(null);let p=null,y,S=null;const T=k(()=>e.label!==void 0&&e.label!==null&&e.label!==""),_=k(()=>e.disable===!0||e.ripple===!1?!1:{keyCodes:a.value===!0?[13,32]:[13],...e.ripple===!0?{}:e.ripple}),x=k(()=>({center:e.round})),A=k(()=>{const R=Math.max(0,Math.min(100,e.percentage));return R>0?{transition:"transform 0.6s",transform:`translateX(${R-100}%)`}:{}}),B=k(()=>{if(e.loading===!0)return{onMousedown:O,onTouchstart:O,onClick:O,onKeydown:O,onKeyup:O};if(f.value===!0){const R={onClick:H,onKeydown:$,onMousedown:C};if(o.$q.platform.has.touch===!0){const K=e.onTouchstart!==void 0?"":"Passive";R[`onTouchstart${K}`]=N}return R}return{onClick:et}}),j=k(()=>({ref:d,class:"q-btn q-btn-item non-selectable no-outline "+r.value,style:i.value,...l.value,...B.value}));function H(R){if(d.value!==null){if(R!==void 0){if(R.defaultPrevented===!0)return;const K=document.activeElement;if(e.type==="submit"&&K!==document.body&&d.value.contains(K)===!1&&K.contains(d.value)===!1){R.qAvoidFocus!==!0&&d.value.focus();const J=()=>{document.removeEventListener("keydown",et,!0),document.removeEventListener("keyup",J,Ze),d.value?.removeEventListener("blur",J,Ze)};document.addEventListener("keydown",et,!0),document.addEventListener("keyup",J,Ze),d.value.addEventListener("blur",J,Ze)}}u(R)}}function $(R){d.value!==null&&(n("keydown",R),no(R,[13,32])===!0&&pn!==d.value&&(pn!==null&&b(),R.defaultPrevented!==!0&&(R.qAvoidFocus!==!0&&d.value.focus(),pn=d.value,d.value.classList.add("q-btn--active"),document.addEventListener("keyup",E,!0),d.value.addEventListener("blur",E,Ze)),et(R)))}function N(R){d.value!==null&&(n("touchstart",R),R.defaultPrevented!==!0&&(mn!==d.value&&(mn!==null&&b(),mn=d.value,p=R.target,p.addEventListener("touchcancel",E,Ze),p.addEventListener("touchend",E,Ze)),y=!0,S!==null&&clearTimeout(S),S=setTimeout(()=>{S=null,y=!1},200)))}function C(R){d.value!==null&&(R.qSkipRipple=y===!0,n("mousedown",R),R.defaultPrevented!==!0&&vn!==d.value&&(vn!==null&&b(),vn=d.value,d.value.classList.add("q-btn--active"),document.addEventListener("mouseup",E,Ze)))}function E(R){if(d.value!==null&&!(R?.type==="blur"&&document.activeElement===d.value)){if(R?.type==="keyup"){if(pn===d.value&&no(R,[13,32])===!0){const K=new MouseEvent("click",R);K.qKeyEvent=!0,R.defaultPrevented===!0&&$t(K),R.cancelBubble===!0&&zo(K),d.value.dispatchEvent(K),et(R),R.qKeyEvent=!0}n("keyup",R)}b()}}function b(R){const K=g.value;R!==!0&&(mn===d.value||vn===d.value)&&K!==null&&K!==document.activeElement&&(K.setAttribute("tabindex",-1),K.focus()),mn===d.value&&(p!==null&&(p.removeEventListener("touchcancel",E,Ze),p.removeEventListener("touchend",E,Ze)),mn=p=null),vn===d.value&&(document.removeEventListener("mouseup",E,Ze),vn=null),pn===d.value&&(document.removeEventListener("keyup",E,!0),d.value?.removeEventListener("blur",E,Ze),pn=null),d.value?.classList.remove("q-btn--active")}function O(R){et(R),R.qSkipRipple=!0}return ct(()=>{b(!0)}),Object.assign(o,{click:R=>{f.value===!0&&H(R)}}),()=>{let R=[];e.icon!==void 0&&R.push(P(Tt,{name:e.icon,left:e.stack!==!0&&T.value===!0,role:"img"})),T.value===!0&&R.push(P("span",{class:"block"},[e.label])),R=en(t.default,R),e.iconRight!==void 0&&e.round===!1&&R.push(P(Tt,{name:e.iconRight,right:e.stack!==!0&&T.value===!0,role:"img"}));const K=[P("span",{class:"q-focus-helper",ref:g})];return e.loading===!0&&e.percentage!==void 0&&K.push(P("span",{class:"q-btn__progress absolute-full overflow-hidden"+(e.darkPercentage===!0?" q-btn__progress--dark":"")},[P("span",{class:"q-btn__progress-indicator fit block",style:A.value})])),K.push(P("span",{class:"q-btn__content text-center col items-center q-anchor--skip "+s.value},R)),e.loading!==null&&K.push(P(jo,{name:"q-transition--fade"},()=>e.loading===!0?[P("span",{key:"loading",class:"absolute-full flex flex-center"},t.loading!==void 0?t.loading():[P(io)])]:null)),ua(P(c.value,j.value,K),[[pm,_.value,void 0,x.value]])}}}),fn={dark:{type:Boolean,default:null}};function dn(e,t){return k(()=>e.dark===null?t.dark.isActive:e.dark)}const Pm=Le({name:"QCard",props:{...fn,tag:{type:String,default:"div"},square:Boolean,flat:Boolean,bordered:Boolean},setup(e,{slots:t}){const{proxy:{$q:n}}=Ce(),o=dn(e,n),r=k(()=>"q-card"+(o.value===!0?" q-card--dark q-dark":"")+(e.bordered===!0?" q-card--bordered":"")+(e.square===!0?" q-card--square no-border-radius":"")+(e.flat===!0?" q-card--flat no-shadow":""));return()=>P(e.tag,{class:r.value},rt(t.default))}}),In=Le({name:"QCardSection",props:{tag:{type:String,default:"div"},horizontal:Boolean},setup(e,{slots:t}){const n=k(()=>`q-card__section q-card__section--${e.horizontal===!0?"horiz row no-wrap":"vert"}`);return()=>P(e.tag,{class:n.value},rt(t.default))}}),Om=Le({name:"QCardActions",props:{...Hu,vertical:Boolean},setup(e,{slots:t}){const n=zu(e),o=k(()=>`q-card__actions ${n.value} q-card__actions--${e.vertical===!0?"vert column":"horiz row"}`);return()=>P("div",{class:o.value},rt(t.default))}}),Mm={true:"inset",item:"item-inset","item-thumbnail":"item-thumbnail-inset"},Dr={xs:2,sm:4,md:8,lg:16,xl:24},bl=Le({name:"QSeparator",props:{...fn,spaced:[Boolean,String],inset:[Boolean,String],vertical:Boolean,color:String,size:String},setup(e){const t=Ce(),n=dn(e,t.proxy.$q),o=k(()=>e.vertical===!0?"vertical":"horizontal"),r=k(()=>` q-separator--${o.value}`),i=k(()=>e.inset!==!1?`${r.value}-${Mm[e.inset]}`:""),s=k(()=>`q-separator${r.value}${i.value}`+(e.color!==void 0?` bg-${e.color}`:"")+(n.value===!0?" q-separator--dark":"")),l=k(()=>{const a={};if(e.size!==void 0&&(a[e.vertical===!0?"width":"height"]=e.size),e.spaced!==!1){const c=e.spaced===!0?`${Dr.md}px`:e.spaced in Dr?`${Dr[e.spaced]}px`:e.spaced,u=e.vertical===!0?["Left","Right"]:["Top","Bottom"];a[`margin${u[0]}`]=a[`margin${u[1]}`]=c}return a});return()=>P("hr",{class:s.value,style:l.value,"aria-orientation":o.value})}});let Fr,Co=0;const Oe=new Array(256);for(let e=0;e<256;e++)Oe[e]=(e+256).toString(16).substring(1);const qm=(()=>{const e=typeof crypto<"u"?crypto:typeof window<"u"?window.crypto||window.msCrypto:void 0;if(e!==void 0){if(e.randomBytes!==void 0)return e.randomBytes;if(e.getRandomValues!==void 0)return t=>{const n=new Uint8Array(t);return e.getRandomValues(n),n}}return t=>{const n=[];for(let o=t;o>0;o--)n.push(Math.floor(Math.random()*256));return n}})(),yl=4096;function gi(){(Fr===void 0||Co+16>yl)&&(Co=0,Fr=qm(yl));const e=Array.prototype.slice.call(Fr,Co,Co+=16);return e[6]=e[6]&15|64,e[8]=e[8]&63|128,Oe[e[0]]+Oe[e[1]]+Oe[e[2]]+Oe[e[3]]+"-"+Oe[e[4]]+Oe[e[5]]+"-"+Oe[e[6]]+Oe[e[7]]+"-"+Oe[e[8]]+Oe[e[9]]+"-"+Oe[e[10]]+Oe[e[11]]+Oe[e[12]]+Oe[e[13]]+Oe[e[14]]+Oe[e[15]]}function Lm(e){return e??null}function _l(e,t){return e??(t===!0?`f_${gi()}`:null)}function Im({getValue:e,required:t=!0}={}){if(zt.value===!0){const n=ae(e!==void 0?Lm(e()):null);return t===!0&&n.value===null&&cn(()=>{n.value=`f_${gi()}`}),e!==void 0&&be(e,o=>{n.value=_l(o,t)}),n}return e!==void 0?k(()=>_l(e(),t)):ae(`f_${gi()}`)}const wl=/^on[A-Z]/;function Nm(){const{attrs:e,vnode:t}=Ce(),n={listeners:ae({}),attributes:ae({})};function o(){const r={},i={};for(const s in e)s!=="class"&&s!=="style"&&wl.test(s)===!1&&(r[s]=e[s]);for(const s in t.props)wl.test(s)===!0&&(i[s]=t.props[s]);n.attributes.value=r,n.listeners.value=i}return Ca(o),o(),n}function Bm({validate:e,resetValidation:t,requiresQForm:n}){const o=st(sh,!1);if(o!==!1){const{props:r,proxy:i}=Ce();Object.assign(i,{validate:e,resetValidation:t}),be(()=>r.disable,s=>{s===!0?(typeof t=="function"&&t(),o.unbindComponent(i)):o.bindComponent(i)}),cn(()=>{r.disable!==!0&&o.bindComponent(i)}),ct(()=>{r.disable!==!0&&o.unbindComponent(i)})}else n===!0&&console.error("Parent QForm not found on useFormChild()!")}const xl=/^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/,Cl=/^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/,Sl=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,So=/^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/,Eo=/^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/,$r={date:e=>/^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(e),time:e=>/^([0-1]?\d|2[0-3]):[0-5]\d$/.test(e),fulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(e),timeOrFulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/.test(e),email:e=>/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e),hexColor:e=>xl.test(e),hexaColor:e=>Cl.test(e),hexOrHexaColor:e=>Sl.test(e),rgbColor:e=>So.test(e),rgbaColor:e=>Eo.test(e),rgbOrRgbaColor:e=>So.test(e)||Eo.test(e),hexOrRgbColor:e=>xl.test(e)||So.test(e),hexaOrRgbaColor:e=>Cl.test(e)||Eo.test(e),anyColor:e=>Sl.test(e)||So.test(e)||Eo.test(e)},Dm=[!0,!1,"ondemand"],Fm={modelValue:{},error:{type:Boolean,default:null},errorMessage:String,noErrorIcon:Boolean,rules:Array,reactiveRules:Boolean,lazyRules:{type:[Boolean,String],default:!1,validator:e=>Dm.includes(e)}};function $m(e,t){const{props:n,proxy:o}=Ce(),r=ae(!1),i=ae(null),s=ae(!1);Bm({validate:y,resetValidation:p});let l=0,a;const c=k(()=>n.rules!==void 0&&n.rules!==null&&n.rules.length!==0),u=k(()=>n.disable!==!0&&c.value===!0&&t.value===!1),f=k(()=>n.error===!0||r.value===!0),d=k(()=>typeof n.errorMessage=="string"&&n.errorMessage.length!==0?n.errorMessage:i.value);be(()=>n.modelValue,()=>{s.value=!0,u.value===!0&&n.lazyRules===!1&&S()});function g(){n.lazyRules!=="ondemand"&&u.value===!0&&s.value===!0&&S()}be(()=>n.reactiveRules,T=>{T===!0?a===void 0&&(a=be(()=>n.rules,g,{immediate:!0,deep:!0})):a!==void 0&&(a(),a=void 0)},{immediate:!0}),be(()=>n.lazyRules,g),be(e,T=>{T===!0?s.value=!0:u.value===!0&&n.lazyRules!=="ondemand"&&S()});function p(){l++,t.value=!1,s.value=!1,r.value=!1,i.value=null,S.cancel()}function y(T=n.modelValue){if(n.disable===!0||c.value===!1)return!0;const _=++l,x=t.value!==!0?()=>{s.value=!0}:()=>{},A=(j,H)=>{j===!0&&x(),r.value=j,i.value=H||null,t.value=!1},B=[];for(let j=0;j{if(j===void 0||Array.isArray(j)===!1||j.length===0)return _===l&&A(!1),!0;const H=j.find($=>$===!1||typeof $=="string");return _===l&&A(H!==void 0,H),H===void 0},j=>(_===l&&(console.error(j),A(!0)),!1)))}const S=iu(y,0);return ct(()=>{a?.(),S.cancel()}),Object.assign(o,{resetValidation:p,validate:y}),Tn(o,"hasError",()=>f.value),{isDirtyModel:s,hasRules:c,hasError:f,errorMessage:d,validate:y,resetValidation:p}}function mi(e){return e!=null&&(""+e).length!==0}const Vm={...fn,...Fm,label:String,stackLabel:Boolean,hint:String,hideHint:Boolean,prefix:String,suffix:String,labelColor:String,color:String,bgColor:String,filled:Boolean,outlined:Boolean,borderless:Boolean,standout:[Boolean,String],square:Boolean,loading:Boolean,labelSlot:Boolean,bottomSlots:Boolean,hideBottomSpace:Boolean,rounded:Boolean,dense:Boolean,itemAligned:Boolean,counter:Boolean,clearable:Boolean,clearIcon:String,disable:Boolean,readonly:Boolean,autofocus:Boolean,for:String},jm={...Vm,maxlength:[Number,String]},Hm=["update:modelValue","clear","focus","blur"];function zm({requiredForAttr:e=!0,tagProp:t,changeEvent:n=!1}={}){const{props:o,proxy:r}=Ce(),i=dn(o,r.$q),s=Im({required:e,getValue:()=>o.for});return{requiredForAttr:e,changeEvent:n,tag:t===!0?k(()=>o.tag):{value:"label"},isDark:i,editable:k(()=>o.disable!==!0&&o.readonly!==!0),innerLoading:ae(!1),focused:ae(!1),hasPopupOpen:!1,splitAttrs:Nm(),targetUid:s,rootRef:ae(null),targetRef:ae(null),controlRef:ae(null)}}function Um(e){const{props:t,emit:n,slots:o,attrs:r,proxy:i}=Ce(),{$q:s}=i;let l=null;e.hasValue===void 0&&(e.hasValue=k(()=>mi(t.modelValue))),e.emitValue===void 0&&(e.emitValue=M=>{n("update:modelValue",M)}),e.controlEvents===void 0&&(e.controlEvents={onFocusin:N,onFocusout:C}),Object.assign(e,{clearValue:E,onControlFocusin:N,onControlFocusout:C,focus:H}),e.computedCounter===void 0&&(e.computedCounter=k(()=>{if(t.counter!==!1){const M=typeof t.modelValue=="string"||typeof t.modelValue=="number"?(""+t.modelValue).length:Array.isArray(t.modelValue)===!0?t.modelValue.length:0,ne=t.maxlength!==void 0?t.maxlength:t.maxValues;return M+(ne!==void 0?" / "+ne:"")}}));const{isDirtyModel:a,hasRules:c,hasError:u,errorMessage:f,resetValidation:d}=$m(e.focused,e.innerLoading),g=e.floatingLabel!==void 0?k(()=>t.stackLabel===!0||e.focused.value===!0||e.floatingLabel.value===!0):k(()=>t.stackLabel===!0||e.focused.value===!0||e.hasValue.value===!0),p=k(()=>t.bottomSlots===!0||t.hint!==void 0||c.value===!0||t.counter===!0||t.error!==null),y=k(()=>t.filled===!0?"filled":t.outlined===!0?"outlined":t.borderless===!0?"borderless":t.standout?"standout":"standard"),S=k(()=>`q-field row no-wrap items-start q-field--${y.value}`+(e.fieldClass!==void 0?` ${e.fieldClass.value}`:"")+(t.rounded===!0?" q-field--rounded":"")+(t.square===!0?" q-field--square":"")+(g.value===!0?" q-field--float":"")+(_.value===!0?" q-field--labeled":"")+(t.dense===!0?" q-field--dense":"")+(t.itemAligned===!0?" q-field--item-aligned q-item-type":"")+(e.isDark.value===!0?" q-field--dark":"")+(e.getControl===void 0?" q-field--auto-height":"")+(e.focused.value===!0?" q-field--focused":"")+(u.value===!0?" q-field--error":"")+(u.value===!0||e.focused.value===!0?" q-field--highlighted":"")+(t.hideBottomSpace!==!0&&p.value===!0?" q-field--with-bottom":"")+(t.disable===!0?" q-field--disabled":t.readonly===!0?" q-field--readonly":"")),T=k(()=>"q-field__control relative-position row no-wrap"+(t.bgColor!==void 0?` bg-${t.bgColor}`:"")+(u.value===!0?" text-negative":typeof t.standout=="string"&&t.standout.length!==0&&e.focused.value===!0?` ${t.standout}`:t.color!==void 0?` text-${t.color}`:"")),_=k(()=>t.labelSlot===!0||t.label!==void 0),x=k(()=>"q-field__label no-pointer-events absolute ellipsis"+(t.labelColor!==void 0&&u.value!==!0?` text-${t.labelColor}`:"")),A=k(()=>({id:e.targetUid.value,editable:e.editable.value,focused:e.focused.value,floatingLabel:g.value,modelValue:t.modelValue,emitValue:e.emitValue})),B=k(()=>{const M={};return e.targetUid.value&&(M.for=e.targetUid.value),t.disable===!0&&(M["aria-disabled"]="true"),M});function j(){const M=document.activeElement;let ne=e.targetRef?.value;ne&&(M===null||M.id!==e.targetUid.value)&&(ne.hasAttribute("tabindex")===!0||(ne=ne.querySelector("[tabindex]")),ne!==M&&ne?.focus({preventScroll:!0}))}function H(){Di(j)}function $(){Dg(j);const M=document.activeElement;M!==null&&e.rootRef.value.contains(M)&&M.blur()}function N(M){l!==null&&(clearTimeout(l),l=null),e.editable.value===!0&&e.focused.value===!1&&(e.focused.value=!0,n("focus",M))}function C(M,ne){l!==null&&clearTimeout(l),l=setTimeout(()=>{l=null,!(document.hasFocus()===!0&&(e.hasPopupOpen===!0||e.controlRef===void 0||e.controlRef.value===null||e.controlRef.value.contains(document.activeElement)!==!1))&&(e.focused.value===!0&&(e.focused.value=!1,n("blur",M)),ne?.())})}function E(M){et(M),s.platform.is.mobile!==!0?(e.targetRef?.value||e.rootRef.value).focus():e.rootRef.value.contains(document.activeElement)===!0&&document.activeElement.blur(),t.type==="file"&&(e.inputRef.value.value=null),n("update:modelValue",null),e.changeEvent===!0&&n("change",null),n("clear",t.modelValue),Ke(()=>{const ne=a.value;d(),a.value=ne})}function b(M){[13,32].includes(M.keyCode)&&E(M)}function O(){const M=[];return o.prepend!==void 0&&M.push(P("div",{class:"q-field__prepend q-field__marginal row no-wrap items-center",key:"prepend",onClick:$t},o.prepend())),M.push(P("div",{class:"q-field__control-container col relative-position row no-wrap q-anchor--skip"},R())),u.value===!0&&t.noErrorIcon===!1&&M.push(J("error",[P(Tt,{name:s.iconSet.field.error,color:"negative"})])),t.loading===!0||e.innerLoading.value===!0?M.push(J("inner-loading-append",o.loading!==void 0?o.loading():[P(io,{color:t.color})])):t.clearable===!0&&e.hasValue.value===!0&&e.editable.value===!0&&M.push(J("inner-clearable-append",[P(Tt,{class:"q-field__focusable-action",name:t.clearIcon||s.iconSet.field.clear,tabindex:0,role:"button","aria-hidden":"false","aria-label":s.lang.label.clear,onKeyup:b,onClick:E})])),o.append!==void 0&&M.push(P("div",{class:"q-field__append q-field__marginal row no-wrap items-center",key:"append",onClick:$t},o.append())),e.getInnerAppend!==void 0&&M.push(J("inner-append",e.getInnerAppend())),e.getControlChild!==void 0&&M.push(e.getControlChild()),M}function R(){const M=[];return t.prefix!==void 0&&t.prefix!==null&&M.push(P("div",{class:"q-field__prefix no-pointer-events row items-center"},t.prefix)),e.getShadowControl!==void 0&&e.hasShadow.value===!0&&M.push(e.getShadowControl()),_.value===!0&&M.push(P("div",{class:x.value},rt(o.label,t.label))),e.getControl!==void 0?M.push(e.getControl()):o.rawControl!==void 0?M.push(o.rawControl()):o.control!==void 0&&M.push(P("div",{ref:e.targetRef,class:"q-field__native row",tabindex:-1,...e.splitAttrs.attributes.value,"data-autofocus":t.autofocus===!0||void 0},o.control(A.value))),t.suffix!==void 0&&t.suffix!==null&&M.push(P("div",{class:"q-field__suffix no-pointer-events row items-center"},t.suffix)),M.concat(rt(o.default))}function K(){let M,ne;u.value===!0?f.value!==null?(M=[P("div",{role:"alert"},f.value)],ne=`q--slot-error-${f.value}`):(M=rt(o.error),ne="q--slot-error"):(t.hideHint!==!0||e.focused.value===!0)&&(t.hint!==void 0?(M=[P("div",t.hint)],ne=`q--slot-hint-${t.hint}`):(M=rt(o.hint),ne="q--slot-hint"));const we=t.counter===!0||o.counter!==void 0;if(t.hideBottomSpace===!0&&we===!1&&M===void 0)return;const le=P("div",{key:ne,class:"q-field__messages col"},M);return P("div",{class:"q-field__bottom row items-start q-field__bottom--"+(t.hideBottomSpace!==!0?"animated":"stale"),onClick:$t},[t.hideBottomSpace===!0?le:P(jo,{name:"q-transition--field-message"},()=>le),we===!0?P("div",{class:"q-field__counter"},o.counter!==void 0?o.counter():e.computedCounter.value):null])}function J(M,ne){return ne===null?null:P("div",{key:M,class:"q-field__append q-field__marginal row no-wrap items-center q-anchor--skip"},ne)}let V=!1;return tr(()=>{V=!0}),wa(()=>{V===!0&&t.autofocus===!0&&i.focus()}),t.autofocus===!0&&cn(()=>{i.focus()}),ct(()=>{l!==null&&clearTimeout(l)}),Object.assign(i,{focus:H,blur:$}),function(){const ne=e.getControl===void 0&&o.control===void 0?{...e.splitAttrs.attributes.value,"data-autofocus":t.autofocus===!0||void 0,...B.value}:B.value;return P(e.tag.value,{ref:e.rootRef,class:[S.value,r.class],style:r.style,...ne},[o.before!==void 0?P("div",{class:"q-field__before q-field__marginal row no-wrap items-center",onClick:$t},o.before()):null,P("div",{class:"q-field__inner relative-position col self-stretch"},[P("div",{ref:e.controlRef,class:T.value,tabindex:-1,...e.controlEvents},O()),p.value===!0?K():null]),o.after!==void 0?P("div",{class:"q-field__after q-field__marginal row no-wrap items-center",onClick:$t},o.after()):null])}}const El={date:"####/##/##",datetime:"####/##/## ##:##",time:"##:##",fulltime:"##:##:##",phone:"(###) ### - ####",card:"#### #### #### ####"},{tokenMap:kl,tokenKeys:Km}=Ku({"#":{pattern:"[\\d]",negate:"[^\\d]"},S:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]"},N:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]"},A:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleUpperCase()},a:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleLowerCase()},X:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleUpperCase()},x:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleLowerCase()}});function Ku(e){const t=Object.keys(e),n={};return t.forEach(o=>{const r=e[o];n[o]={...r,regex:new RegExp(r.pattern)}}),{tokenMap:n,tokenKeys:t}}function Wu(e){return new RegExp("\\\\([^.*+?^${}()|([\\]])|([.*+?^${}()|[\\]])|(["+e.join("")+"])|(.)","g")}const Rl=/[.*+?^${}()|[\]\\]/g,Wm=Wu(Km),Re="",Gm={mask:String,reverseFillMask:Boolean,fillMask:[Boolean,String],unmaskedValue:Boolean,maskTokens:Object};function Qm(e,t,n,o){let r,i,s,l,a,c;const u=k(()=>{if(e.maskTokens===void 0||e.maskTokens===null)return{tokenMap:kl,tokenRegexMask:Wm};const{tokenMap:C}=Ku(e.maskTokens),E={...kl,...C};return{tokenMap:E,tokenRegexMask:Wu(Object.keys(E))}}),f=ae(null),d=ae(p());function g(){return e.autogrow===!0||["textarea","text","search","url","tel","password"].includes(e.type)}be(()=>e.type+e.autogrow,S),be(()=>e.mask,C=>{if(C!==void 0)T(d.value,!0);else{const E=$(d.value);S(),e.modelValue!==E&&t("update:modelValue",E)}}),be(()=>e.fillMask+e.reverseFillMask,()=>{f.value===!0&&T(d.value,!0)}),be(()=>e.unmaskedValue,()=>{f.value===!0&&T(d.value)});function p(){if(S(),f.value===!0){const C=j($(e.modelValue));return e.fillMask!==!1?N(C):C}return e.modelValue}function y(C){if(C0;R--)E+=Re;b=b.slice(0,O)+E+b.slice(O)}return b}function S(){if(f.value=e.mask!==void 0&&e.mask.length!==0&&g(),f.value===!1){l=void 0,r="",i="";return}const C=El[e.mask]===void 0?e.mask:El[e.mask],E=typeof e.fillMask=="string"&&e.fillMask.length!==0?e.fillMask.slice(0,1):"_",b=E.replace(Rl,"\\$&"),O=[],R=[],K=[];let J=e.reverseFillMask===!0,V="",M="";C.replace(u.value.tokenRegexMask,(D,ue,_e,ke,ee)=>{if(ke!==void 0){const w=u.value.tokenMap[ke];K.push(w),M=w.negate,J===!0&&(R.push("(?:"+M+"+)?("+w.pattern+"+)?(?:"+M+"+)?("+w.pattern+"+)?"),J=!1),R.push("(?:"+M+"+)?("+w.pattern+")?")}else if(_e!==void 0)V="\\"+(_e==="\\"?"":_e),K.push(_e),O.push("([^"+V+"]+)?"+V+"?");else{const w=ue!==void 0?ue:ee;V=w==="\\"?"\\\\\\\\":w.replace(Rl,"\\\\$&"),K.push(w),O.push("([^"+V+"]+)?"+V+"?")}});const ne=new RegExp("^"+O.join("")+"("+(V===""?".":"[^"+V+"]")+"+)?"+(V===""?"":"["+V+"]*")+"$"),we=R.length-1,le=R.map((D,ue)=>ue===0&&e.reverseFillMask===!0?new RegExp("^"+b+"*"+D):ue===we?new RegExp("^"+D+"("+(M===""?".":M)+"+)?"+(e.reverseFillMask===!0?"$":b+"*")):new RegExp("^"+D));s=K,l=D=>{const ue=ne.exec(e.reverseFillMask===!0?D:D.slice(0,K.length+1));ue!==null&&(D=ue.slice(1).join(""));const _e=[],ke=le.length;for(let ee=0,w=D;eetypeof D=="string"?D:Re).join(""),i=r.split(Re).join(E)}function T(C,E,b){const O=o.value,R=O.selectionEnd,K=O.value.length-R,J=$(C);E===!0&&S();const V=j(J,E),M=e.fillMask!==!1?N(V):V,ne=d.value!==M;O.value!==M&&(O.value=M),ne===!0&&(d.value=M),document.activeElement===O&&Ke(()=>{if(M===i){const le=e.reverseFillMask===!0?i.length:0;O.setSelectionRange(le,le,"forward");return}if(b==="insertFromPaste"&&e.reverseFillMask!==!0){const le=O.selectionEnd;let D=R-1;for(let ue=a;ue<=D&&ueV.length?1:0:Math.max(0,M.length-(M===i?0:Math.min(V.length,K)+1))+1:R;O.setSelectionRange(le,le,"forward");return}if(e.reverseFillMask===!0)if(ne===!0){const le=Math.max(0,M.length-(M===i?0:Math.min(V.length,K+1)));le===1&&R===1?O.setSelectionRange(le,le,"forward"):x.rightReverse(O,le)}else{const le=M.length-K;O.setSelectionRange(le,le,"backward")}else if(ne===!0){const le=Math.max(0,r.indexOf(Re),Math.min(V.length,R)-1);x.right(O,le)}else{const le=R-1;x.right(O,le)}});const we=e.unmaskedValue===!0?$(M):M;String(e.modelValue)!==we&&(e.modelValue!==null||we!=="")&&n(we,!0)}function _(C,E,b){const O=j($(C.value));E=Math.max(0,r.indexOf(Re),Math.min(O.length,E)),a=E,C.setSelectionRange(E,b,"forward")}const x={left(C,E){const b=r.slice(E-1).indexOf(Re)===-1;let O=Math.max(0,E-1);for(;O>=0;O--)if(r[O]===Re){E=O,b===!0&&E++;break}if(O<0&&r[E]!==void 0&&r[E]!==Re)return x.right(C,0);E>=0&&C.setSelectionRange(E,E,"backward")},right(C,E){const b=C.value.length;let O=Math.min(b,E+1);for(;O<=b;O++)if(r[O]===Re){E=O;break}else r[O-1]===Re&&(E=O);if(O>b&&r[E-1]!==void 0&&r[E-1]!==Re)return x.left(C,b);C.setSelectionRange(E,E,"forward")},leftReverse(C,E){const b=y(C.value.length);let O=Math.max(0,E-1);for(;O>=0;O--)if(b[O-1]===Re){E=O;break}else if(b[O]===Re&&(E=O,O===0))break;if(O<0&&b[E]!==void 0&&b[E]!==Re)return x.rightReverse(C,0);E>=0&&C.setSelectionRange(E,E,"backward")},rightReverse(C,E){const b=C.value.length,O=y(b),R=O.slice(0,E+1).indexOf(Re)===-1;let K=Math.min(b,E+1);for(;K<=b;K++)if(O[K-1]===Re){E=K,E>0&&R===!0&&E--;break}if(K>b&&O[E-1]!==void 0&&O[E-1]!==Re)return x.leftReverse(C,b);C.setSelectionRange(E,E,"forward")}};function A(C){t("click",C),c=void 0}function B(C){if(t("keydown",C),lu(C)===!0||C.altKey===!0)return;const E=o.value,b=E.selectionStart,O=E.selectionEnd;if(C.shiftKey||(c=void 0),C.keyCode===37||C.keyCode===39){C.shiftKey&&c===void 0&&(c=E.selectionDirection==="forward"?b:O);const R=x[(C.keyCode===39?"right":"left")+(e.reverseFillMask===!0?"Reverse":"")];if(C.preventDefault(),R(E,c===b?O:b),C.shiftKey){const K=E.selectionStart;E.setSelectionRange(Math.min(c,K),Math.max(c,K),"forward")}}else C.keyCode===8&&e.reverseFillMask!==!0&&b===O?(x.left(E,b),E.setSelectionRange(E.selectionStart,O,"backward")):C.keyCode===46&&e.reverseFillMask===!0&&b===O&&(x.rightReverse(E,O),E.setSelectionRange(b,E.selectionEnd,"forward"))}function j(C,E){if(C==null||C==="")return"";if(e.reverseFillMask===!0)return H(C,E);const b=s;let O=0,R="";for(let K=0;K=0&&R!==-1;J--){const V=b[J];let M=C[R];if(typeof V=="string")K=V+K,E===!0&&M===V&&R--;else if(M!==void 0&&V.regex.test(M))do K=(V.transform!==void 0?V.transform(M):M)+K,R--,M=C[R];while(O===J&&M!==void 0&&V.regex.test(M));else return K}return K}function $(C){return typeof C!="string"||l===void 0?typeof C=="number"?l(""+C):C:l(C)}function N(C){return i.length-C.length<=0?C:e.reverseFillMask===!0&&C.length!==0?i.slice(0,-C.length)+C:C+i.slice(C.length)}return{innerValue:d,hasMask:f,moveCursorForPaste:_,updateMaskValue:T,onMaskedKeydown:B,onMaskedClick:A}}const $i={name:String};function Gu(e={}){return(t,n,o)=>{t[n](P("input",{class:"hidden"+(o||""),...e.value}))}}function Ym(e){return k(()=>e.name||e.for)}function Jm(e,t){function n(){const o=e.modelValue;try{const r="DataTransfer"in window?new DataTransfer:"ClipboardEvent"in window?new ClipboardEvent("").clipboardData:void 0;return Object(o)===o&&("length"in o?Array.from(o):[o]).forEach(i=>{r.items.add(i)}),{files:r.files}}catch{return{files:void 0}}}return k(t===!0?()=>{if(e.type==="file")return n()}:n)}const Zm=/[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/,Xm=/[\u4e00-\u9fff\u3400-\u4dbf\u{20000}-\u{2a6df}\u{2a700}-\u{2b73f}\u{2b740}-\u{2b81f}\u{2b820}-\u{2ceaf}\uf900-\ufaff\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff\u{2f800}-\u{2fa1f}]/u,ep=/[\u3131-\u314e\u314f-\u3163\uac00-\ud7a3]/,tp=/[a-z0-9_ -]$/i;function np(e){return function(n){if(n.type==="compositionend"||n.type==="change"){if(n.target.qComposing!==!0)return;n.target.qComposing=!1,e(n)}else n.type==="compositionupdate"&&n.target.qComposing!==!0&&typeof n.data=="string"&&(Te.is.firefox===!0?tp.test(n.data)===!1:Zm.test(n.data)===!0||Xm.test(n.data)===!0||ep.test(n.data)===!0)===!0&&(n.target.qComposing=!0)}}const op=Le({name:"QInput",inheritAttrs:!1,props:{...jm,...Gm,...$i,modelValue:[String,Number,FileList],shadowText:String,type:{type:String,default:"text"},debounce:[String,Number],autogrow:Boolean,inputClass:[Array,String,Object],inputStyle:[Array,String,Object]},emits:[...Hm,"paste","change","keydown","click","animationend"],setup(e,{emit:t,attrs:n}){const{proxy:o}=Ce(),{$q:r}=o,i={};let s=NaN,l,a,c=null,u;const f=ae(null),d=Ym(e),{innerValue:g,hasMask:p,moveCursorForPaste:y,updateMaskValue:S,onMaskedKeydown:T,onMaskedClick:_}=Qm(e,t,J,f),x=Jm(e,!0),A=k(()=>mi(g.value)),B=np(R),j=zm({changeEvent:!0}),H=k(()=>e.type==="textarea"||e.autogrow===!0),$=k(()=>H.value===!0||["text","search","url","tel","password"].includes(e.type)),N=k(()=>{const D={...j.splitAttrs.listeners.value,onInput:R,onPaste:O,onChange:M,onBlur:ne,onFocus:zo};return D.onCompositionstart=D.onCompositionupdate=D.onCompositionend=B,p.value===!0&&(D.onKeydown=T,D.onClick=_),e.autogrow===!0&&(D.onAnimationend=K),D}),C=k(()=>{const D={tabindex:0,"data-autofocus":e.autofocus===!0||void 0,rows:e.type==="textarea"?6:void 0,"aria-label":e.label,name:d.value,...j.splitAttrs.attributes.value,id:j.targetUid.value,maxlength:e.maxlength,disabled:e.disable===!0,readonly:e.readonly===!0};return H.value===!1&&(D.type=e.type),e.autogrow===!0&&(D.rows=1),D});be(()=>e.type,()=>{f.value&&(f.value.value=e.modelValue)}),be(()=>e.modelValue,D=>{if(p.value===!0){if(a===!0&&(a=!1,String(D)===s))return;S(D)}else g.value!==D&&(g.value=D,e.type==="number"&&i.hasOwnProperty("value")===!0&&(l===!0?l=!1:delete i.value));e.autogrow===!0&&Ke(V)}),be(()=>e.autogrow,D=>{D===!0?Ke(V):f.value!==null&&n.rows>0&&(f.value.style.height="auto")}),be(()=>e.dense,()=>{e.autogrow===!0&&Ke(V)});function E(){Di(()=>{const D=document.activeElement;f.value!==null&&f.value!==D&&(D===null||D.id!==j.targetUid.value)&&f.value.focus({preventScroll:!0})})}function b(){f.value?.select()}function O(D){if(p.value===!0&&e.reverseFillMask!==!0){const ue=D.target;y(ue,ue.selectionStart,ue.selectionEnd)}t("paste",D)}function R(D){if(!D||!D.target)return;if(e.type==="file"){t("update:modelValue",D.target.files);return}const ue=D.target.value;if(D.target.qComposing===!0){i.value=ue;return}if(p.value===!0)S(ue,!1,D.inputType);else if(J(ue),$.value===!0&&D.target===document.activeElement){const{selectionStart:_e,selectionEnd:ke}=D.target;_e!==void 0&&ke!==void 0&&Ke(()=>{D.target===document.activeElement&&ue.indexOf(D.target.value)===0&&D.target.setSelectionRange(_e,ke)})}e.autogrow===!0&&V()}function K(D){t("animationend",D),V()}function J(D,ue){u=()=>{c=null,e.type!=="number"&&i.hasOwnProperty("value")===!0&&delete i.value,e.modelValue!==D&&s!==D&&(s=D,ue===!0&&(a=!0),t("update:modelValue",D),Ke(()=>{s===D&&(s=NaN)})),u=void 0},e.type==="number"&&(l=!0,i.value=D),e.debounce!==void 0?(c!==null&&clearTimeout(c),i.value=D,c=setTimeout(u,e.debounce)):u()}function V(){requestAnimationFrame(()=>{const D=f.value;if(D!==null){const ue=D.parentNode.style,{scrollTop:_e}=D,{overflowY:ke,maxHeight:ee}=r.platform.is.firefox===!0?{}:window.getComputedStyle(D),w=ke!==void 0&&ke!=="scroll";w===!0&&(D.style.overflowY="hidden"),ue.marginBottom=D.scrollHeight-1+"px",D.style.height="1px",D.style.height=D.scrollHeight+"px",w===!0&&(D.style.overflowY=parseInt(ee,10){f.value!==null&&(f.value.value=g.value!==void 0?g.value:"")})}function we(){return i.hasOwnProperty("value")===!0?i.value:g.value!==void 0?g.value:""}ct(()=>{ne()}),cn(()=>{e.autogrow===!0&&V()}),Object.assign(j,{innerValue:g,fieldClass:k(()=>`q-${H.value===!0?"textarea":"input"}`+(e.autogrow===!0?" q-textarea--autogrow":"")),hasShadow:k(()=>e.type!=="file"&&typeof e.shadowText=="string"&&e.shadowText.length!==0),inputRef:f,emitValue:J,hasValue:A,floatingLabel:k(()=>A.value===!0&&(e.type!=="number"||isNaN(g.value)===!1)||mi(e.displayValue)),getControl:()=>P(H.value===!0?"textarea":"input",{ref:f,class:["q-field__native q-placeholder",e.inputClass],style:e.inputStyle,...C.value,...N.value,...e.type!=="file"?{value:we()}:x.value}),getShadowControl:()=>P("div",{class:"q-field__native q-field__shadow absolute-bottom no-pointer-events"+(H.value===!0?"":" text-no-wrap")},[P("span",{class:"invisible"},we()),P("span",e.shadowText)])});const le=Um(j);return Object.assign(o,{focus:E,select:b,getNativeElement:()=>f.value}),Tn(o,"nativeEl",()=>f.value),le}});function Qu(e,t){const n=ae(null),o=k(()=>e.disable===!0?null:P("span",{ref:n,class:"no-outline",tabindex:-1}));function r(i){const s=t.value;i?.qAvoidFocus!==!0&&(i?.type.indexOf("key")===0?document.activeElement!==s&&s?.contains(document.activeElement)===!0&&s.focus():n.value!==null&&(i===void 0||s?.contains(i.target)===!0)&&n.value.focus())}return{refocusTargetEl:o,refocusTarget:r}}const Yu={xs:30,sm:35,md:40,lg:50,xl:60},rp=()=>P("svg",{key:"svg",class:"q-radio__bg absolute non-selectable",viewBox:"0 0 24 24"},[P("path",{d:"M12,22a10,10 0 0 1 -10,-10a10,10 0 0 1 10,-10a10,10 0 0 1 10,10a10,10 0 0 1 -10,10m0,-22a12,12 0 0 0 -12,12a12,12 0 0 0 12,12a12,12 0 0 0 12,-12a12,12 0 0 0 -12,-12"}),P("path",{class:"q-radio__check",d:"M12,6a6,6 0 0 0 -6,6a6,6 0 0 0 6,6a6,6 0 0 0 6,-6a6,6 0 0 0 -6,-6"})]),ip=Le({name:"QRadio",props:{...fn,...fo,...$i,modelValue:{required:!0},val:{required:!0},label:String,leftLabel:Boolean,checkedIcon:String,uncheckedIcon:String,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},emits:["update:modelValue"],setup(e,{slots:t,emit:n}){const{proxy:o}=Ce(),r=dn(e,o.$q),i=ho(e,Yu),s=ae(null),{refocusTargetEl:l,refocusTarget:a}=Qu(e,s),c=k(()=>se(e.modelValue)===se(e.val)),u=k(()=>"q-radio cursor-pointer no-outline row inline no-wrap items-center"+(e.disable===!0?" disabled":"")+(r.value===!0?" q-radio--dark":"")+(e.dense===!0?" q-radio--dense":"")+(e.leftLabel===!0?" reverse":"")),f=k(()=>{const A=e.color!==void 0&&(e.keepColor===!0||c.value===!0)?` text-${e.color}`:"";return`q-radio__inner relative-position q-radio__inner--${c.value===!0?"truthy":"falsy"}${A}`}),d=k(()=>(c.value===!0?e.checkedIcon:e.uncheckedIcon)||null),g=k(()=>e.disable===!0?-1:e.tabindex||0),p=k(()=>{const A={type:"radio"};return e.name!==void 0&&Object.assign(A,{".checked":c.value===!0,"^checked":c.value===!0?"checked":void 0,name:e.name,value:e.val}),A}),y=Gu(p);function S(A){A!==void 0&&(et(A),a(A)),e.disable!==!0&&c.value!==!0&&n("update:modelValue",e.val,A)}function T(A){(A.keyCode===13||A.keyCode===32)&&et(A)}function _(A){(A.keyCode===13||A.keyCode===32)&&S(A)}Object.assign(o,{set:S});const x=rp();return()=>{const A=d.value!==null?[P("div",{key:"icon",class:"q-radio__icon-container absolute-full flex flex-center no-wrap"},[P(Tt,{class:"q-radio__icon",name:d.value})])]:[x];e.disable!==!0&&y(A,"unshift"," q-radio__native q-ma-none q-pa-none");const B=[P("div",{class:f.value,style:i.value,"aria-hidden":"true"},A)];l.value!==null&&B.push(l.value);const j=e.label!==void 0?en(t.default,[e.label]):rt(t.default);return j!==void 0&&B.push(P("div",{class:"q-radio__label q-anchor--skip"},j)),P("div",{ref:s,class:u.value,tabindex:g.value,role:"radio","aria-label":e.label,"aria-checked":c.value===!0?"true":"false","aria-disabled":e.disable===!0?"true":void 0,onClick:S,onKeydown:T,onKeyup:_},B)}}}),Ju={...fn,...fo,...$i,modelValue:{required:!0,default:null},val:{},trueValue:{default:!0},falseValue:{default:!1},indeterminateValue:{default:null},checkedIcon:String,uncheckedIcon:String,indeterminateIcon:String,toggleOrder:{type:String,validator:e=>e==="tf"||e==="ft"},toggleIndeterminate:Boolean,label:String,leftLabel:Boolean,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},Zu=["update:modelValue"];function Xu(e,t){const{props:n,slots:o,emit:r,proxy:i}=Ce(),{$q:s}=i,l=dn(n,s),a=ae(null),{refocusTargetEl:c,refocusTarget:u}=Qu(n,a),f=ho(n,Yu),d=k(()=>n.val!==void 0&&Array.isArray(n.modelValue)),g=k(()=>{const b=se(n.val);return d.value===!0?n.modelValue.findIndex(O=>se(O)===b):-1}),p=k(()=>d.value===!0?g.value!==-1:se(n.modelValue)===se(n.trueValue)),y=k(()=>d.value===!0?g.value===-1:se(n.modelValue)===se(n.falseValue)),S=k(()=>p.value===!1&&y.value===!1),T=k(()=>n.disable===!0?-1:n.tabindex||0),_=k(()=>`q-${e} cursor-pointer no-outline row inline no-wrap items-center`+(n.disable===!0?" disabled":"")+(l.value===!0?` q-${e}--dark`:"")+(n.dense===!0?` q-${e}--dense`:"")+(n.leftLabel===!0?" reverse":"")),x=k(()=>{const b=p.value===!0?"truthy":y.value===!0?"falsy":"indet",O=n.color!==void 0&&(n.keepColor===!0||(e==="toggle"?p.value===!0:y.value!==!0))?` text-${n.color}`:"";return`q-${e}__inner relative-position non-selectable q-${e}__inner--${b}${O}`}),A=k(()=>{const b={type:"checkbox"};return n.name!==void 0&&Object.assign(b,{".checked":p.value,"^checked":p.value===!0?"checked":void 0,name:n.name,value:d.value===!0?n.val:n.trueValue}),b}),B=Gu(A),j=k(()=>{const b={tabindex:T.value,role:e==="toggle"?"switch":"checkbox","aria-label":n.label,"aria-checked":S.value===!0?"mixed":p.value===!0?"true":"false"};return n.disable===!0&&(b["aria-disabled"]="true"),b});function H(b){b!==void 0&&(et(b),u(b)),n.disable!==!0&&r("update:modelValue",$(),b)}function $(){if(d.value===!0){if(p.value===!0){const b=n.modelValue.slice();return b.splice(g.value,1),b}return n.modelValue.concat([n.val])}if(p.value===!0){if(n.toggleOrder!=="ft"||n.toggleIndeterminate===!1)return n.falseValue}else if(y.value===!0){if(n.toggleOrder==="ft"||n.toggleIndeterminate===!1)return n.trueValue}else return n.toggleOrder!=="ft"?n.trueValue:n.falseValue;return n.indeterminateValue}function N(b){(b.keyCode===13||b.keyCode===32)&&et(b)}function C(b){(b.keyCode===13||b.keyCode===32)&&H(b)}const E=t(p,S);return Object.assign(i,{toggle:H}),()=>{const b=E();n.disable!==!0&&B(b,"unshift",` q-${e}__native absolute q-ma-none q-pa-none`);const O=[P("div",{class:x.value,style:f.value,"aria-hidden":"true"},b)];c.value!==null&&O.push(c.value);const R=n.label!==void 0?en(o.default,[n.label]):rt(o.default);return R!==void 0&&O.push(P("div",{class:`q-${e}__label q-anchor--skip`},R)),P("div",{ref:a,class:_.value,...j.value,onClick:H,onKeydown:N,onKeyup:C},O)}}const sp=()=>P("div",{key:"svg",class:"q-checkbox__bg absolute"},[P("svg",{class:"q-checkbox__svg fit absolute-full",viewBox:"0 0 24 24"},[P("path",{class:"q-checkbox__truthy",fill:"none",d:"M1.73,12.91 8.1,19.28 22.79,4.59"}),P("path",{class:"q-checkbox__indet",d:"M4,14H20V10H4"})])]),lp=Le({name:"QCheckbox",props:Ju,emits:Zu,setup(e){const t=sp();function n(o,r){const i=k(()=>(o.value===!0?e.checkedIcon:r.value===!0?e.indeterminateIcon:e.uncheckedIcon)||null);return()=>i.value!==null?[P("div",{key:"icon",class:"q-checkbox__icon-container absolute-full flex flex-center no-wrap"},[P(Tt,{class:"q-checkbox__icon",name:i.value})])]:[t]}return Xu("checkbox",n)}}),ap=Le({name:"QToggle",props:{...Ju,icon:String,iconColor:String},emits:Zu,setup(e){function t(n,o){const r=k(()=>(n.value===!0?e.checkedIcon:o.value===!0?e.indeterminateIcon:e.uncheckedIcon)||e.icon),i=k(()=>n.value===!0?e.iconColor:null);return()=>[P("div",{class:"q-toggle__track"}),P("div",{class:"q-toggle__thumb absolute flex flex-center no-wrap"},r.value!==void 0?[P(Tt,{name:r.value,color:i.value})]:void 0)]}return Xu("toggle",t)}}),ec={radio:ip,checkbox:lp,toggle:ap},up=Object.keys(ec);function Vr(e,t){if(typeof e=="function")return e;const n=e!==void 0?e:t;return o=>o[n]}const cp=Le({name:"QOptionGroup",props:{...fn,modelValue:{required:!0},options:{type:Array,validator:e=>e.every(ot),default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],name:String,type:{type:String,default:"radio",validator:e=>up.includes(e)},color:String,keepColor:Boolean,dense:Boolean,size:String,leftLabel:Boolean,inline:Boolean,disable:Boolean},emits:["update:modelValue"],setup(e,{emit:t,slots:n}){const{proxy:{$q:o}}=Ce(),r=Array.isArray(e.modelValue);e.type==="radio"?r===!0&&console.error("q-option-group: model should not be array"):r===!1&&console.error("q-option-group: model should be array in your case");const i=dn(e,o),s=k(()=>ec[e.type]),l=k(()=>Vr(e.optionValue,"value")),a=k(()=>Vr(e.optionLabel,"label")),c=k(()=>Vr(e.optionDisable,"disable")),u=k(()=>e.options.map(p=>({val:l.value(p),name:p.name===void 0?e.name:p.name,disable:e.disable||c.value(p),leftLabel:p.leftLabel===void 0?e.leftLabel:p.leftLabel,color:p.color===void 0?e.color:p.color,checkedIcon:p.checkedIcon,uncheckedIcon:p.uncheckedIcon,dark:p.dark===void 0?i.value:p.dark,size:p.size===void 0?e.size:p.size,dense:e.dense,keepColor:p.keepColor===void 0?e.keepColor:p.keepColor}))),f=k(()=>"q-option-group q-gutter-x-sm"+(e.inline===!0?" q-option-group--inline":"")),d=k(()=>{const p={role:"group"};return e.type==="radio"&&(p.role="radiogroup",e.disable===!0&&(p["aria-disabled"]="true")),p});function g(p){t("update:modelValue",p)}return()=>P("div",{class:f.value,...d.value},e.options.map((p,y)=>{const S=n["label-"+y]!==void 0?()=>n["label-"+y](p):n.label!==void 0?()=>n.label(p):void 0;return P("div",[P(s.value,{label:S===void 0?a.value(p):null,modelValue:e.modelValue,"onUpdate:modelValue":g,...u.value[y]},S)])}))}}),fp=Le({name:"DialogPluginComponent",props:{...fn,title:String,message:String,prompt:Object,options:Object,progress:[Boolean,Object],html:Boolean,ok:{type:[String,Object,Boolean],default:!0},cancel:[String,Object,Boolean],focus:{type:String,default:"ok",validator:e=>["ok","cancel","none"].includes(e)},stackButtons:Boolean,color:String,cardClass:[String,Array,Object],cardStyle:[String,Array,Object]},emits:["ok","hide"],setup(e,{emit:t}){const{proxy:n}=Ce(),{$q:o}=n,r=dn(e,o),i=ae(null),s=ae(e.prompt!==void 0?e.prompt.model:e.options!==void 0?e.options.model:void 0),l=k(()=>"q-dialog-plugin"+(r.value===!0?" q-dialog-plugin--dark q-dark":"")+(e.progress!==!1?" q-dialog-plugin--progress":"")),a=k(()=>e.color||(r.value===!0?"amber":"primary")),c=k(()=>e.progress===!1?null:ot(e.progress)===!0?{component:e.progress.spinner||io,props:{color:e.progress.color||a.value}}:{component:io,props:{color:a.value}}),u=k(()=>e.prompt!==void 0||e.options!==void 0),f=k(()=>{if(u.value!==!0)return{};const{model:R,isValid:K,items:J,...V}=e.prompt!==void 0?e.prompt:e.options;return V}),d=k(()=>ot(e.ok)===!0||e.ok===!0?o.lang.label.ok:e.ok),g=k(()=>ot(e.cancel)===!0||e.cancel===!0?o.lang.label.cancel:e.cancel),p=k(()=>e.prompt!==void 0?e.prompt.isValid!==void 0&&e.prompt.isValid(s.value)!==!0:e.options!==void 0?e.options.isValid!==void 0&&e.options.isValid(s.value)!==!0:!1),y=k(()=>({color:a.value,label:d.value,ripple:!1,disable:p.value,...ot(e.ok)===!0?e.ok:{flat:!0},"data-autofocus":e.focus==="ok"&&u.value!==!0||void 0,onClick:x})),S=k(()=>({color:a.value,label:g.value,ripple:!1,...ot(e.cancel)===!0?e.cancel:{flat:!0},"data-autofocus":e.focus==="cancel"&&u.value!==!0||void 0,onClick:A}));be(()=>e.prompt&&e.prompt.model,j),be(()=>e.options&&e.options.model,j);function T(){i.value.show()}function _(){i.value.hide()}function x(){t("ok",se(s.value)),_()}function A(){_()}function B(){t("hide")}function j(R){s.value=R}function H(R){p.value!==!0&&e.prompt.type!=="textarea"&&no(R,13)===!0&&x()}function $(R,K){return e.html===!0?P(In,{class:R,innerHTML:K}):P(In,{class:R},()=>K)}function N(){return[P(op,{color:a.value,dense:!0,autofocus:!0,dark:r.value,...f.value,modelValue:s.value,"onUpdate:modelValue":j,onKeyup:H})]}function C(){return[P(cp,{color:a.value,options:e.options.items,dark:r.value,...f.value,modelValue:s.value,"onUpdate:modelValue":j})]}function E(){const R=[];return e.cancel&&R.push(P(hi,S.value)),e.ok&&R.push(P(hi,y.value)),P(Om,{class:e.stackButtons===!0?"items-end":"",vertical:e.stackButtons,align:"right"},()=>R)}function b(){const R=[];return e.title&&R.push($("q-dialog__title",e.title)),e.progress!==!1&&R.push(P(In,{class:"q-dialog__progress"},()=>P(c.value.component,c.value.props))),e.message&&R.push($("q-dialog__message",e.message)),e.prompt!==void 0?R.push(P(In,{class:"scroll q-dialog-plugin__form"},N)):e.options!==void 0&&R.push(P(bl,{dark:r.value}),P(In,{class:"scroll q-dialog-plugin__form"},C),P(bl,{dark:r.value})),(e.ok||e.cancel)&&R.push(E()),R}function O(){return[P(Pm,{class:[l.value,e.cardClass],style:e.cardStyle,dark:r.value},b)]}return Object.assign(n,{show:T,hide:_}),()=>P(im,{ref:i,onHide:B},O)}});function tc(e,t){for(const n in t)n!=="spinner"&&Object(t[n])===t[n]?(e[n]=Object(e[n])!==e[n]?{}:{...e[n]},tc(e[n],t[n])):e[n]=t[n]}function dp(e,t,n){return o=>{let r,i;const s=o.component!==void 0;if(s===!0){const{component:_,componentProps:x}=o;r=typeof _=="string"?n.component(_):_,i=x||{}}else{const{class:_,style:x,...A}=o;r=e,i=A,_!==void 0&&(A.cardClass=_),x!==void 0&&(A.cardStyle=x)}let l,a=!1;const c=ae(null),u=Fi(!1,"dialog"),f=_=>{if(c.value?.[_]!==void 0){c.value[_]();return}const x=l.$.subTree;if(x?.component){if(x.component.proxy&&x.component.proxy[_]){x.component.proxy[_]();return}if(x.component.subTree&&x.component.subTree.component&&x.component.subTree.component.proxy&&x.component.subTree.component.proxy[_]){x.component.subTree.component.proxy[_]();return}}console.error("[Quasar] Incorrectly defined Dialog component")},d=[],g=[],p={onOk(_){return d.push(_),p},onCancel(_){return g.push(_),p},onDismiss(_){return d.push(_),g.push(_),p},hide(){return f("hide"),p},update(_){if(l!==null){if(s===!0)Object.assign(i,_);else{const{class:x,style:A,...B}=_;x!==void 0&&(B.cardClass=x),A!==void 0&&(B.cardStyle=A),tc(i,B)}l.$forceUpdate()}return p}},y=_=>{a=!0,d.forEach(x=>{x(_)})},S=()=>{T.unmount(u),Mu(u),T=null,l=null,a!==!0&&g.forEach(_=>{_()})};let T=fu({name:"QGlobalDialog",setup:()=>()=>P(r,{...i,ref:c,onOk:y,onHide:S,onVnodeMounted(..._){typeof i.onVnodeMounted=="function"&&i.onVnodeMounted(..._),Ke(()=>f("show"))}})},n);return l=T.mount(u),p}}const hp={install({$q:e,parentApp:t}){e.dialog=this.create=dp(fp,!0,t)}},gp=Le({name:"QAvatar",props:{...fo,fontSize:String,color:String,textColor:String,icon:String,square:Boolean,rounded:Boolean},setup(e,{slots:t}){const n=ho(e),o=k(()=>"q-avatar"+(e.color?` bg-${e.color}`:"")+(e.textColor?` text-${e.textColor} q-chip--colored`:"")+(e.square===!0?" q-avatar--square":e.rounded===!0?" rounded-borders":"")),r=k(()=>e.fontSize?{fontSize:e.fontSize}:null);return()=>{const i=e.icon!==void 0?[P(Tt,{name:e.icon})]:void 0;return P("div",{class:o.value,style:n.value},[P("div",{class:"q-avatar__content row flex-center overflow-hidden",style:r.value},Zg(t.default,i))])}}});let mp=0;const Oo={},Mo={},nt={},nc={},pp=/^\s*$/,oc=[],vp=[void 0,null,!0,!1,""],Vi=["top-left","top-right","bottom-left","bottom-right","top","bottom","left","right","center"],bp=["top-left","top-right","bottom-left","bottom-right"],Fn={positive:{icon:e=>e.iconSet.type.positive,color:"positive"},negative:{icon:e=>e.iconSet.type.negative,color:"negative"},warning:{icon:e=>e.iconSet.type.warning,color:"warning",textColor:"dark"},info:{icon:e=>e.iconSet.type.info,color:"info"},ongoing:{group:!1,timeout:0,spinner:!0,color:"grey-8"}};function rc(e,t,n){if(!e)return Nn("parameter required");let o;const r={textColor:"white"};if(e.ignoreDefaults!==!0&&Object.assign(r,Oo),ot(e)===!1&&(r.type&&Object.assign(r,Fn[r.type]),e={message:e}),Object.assign(r,Fn[e.type||r.type],e),typeof r.icon=="function"&&(r.icon=r.icon(t)),r.spinner?(r.spinner===!0&&(r.spinner=io),r.spinner=un(r.spinner)):r.spinner=!1,r.meta={hasMedia:!!(r.spinner!==!1||r.icon||r.avatar),hasText:Al(r.message)||Al(r.caption)},r.position){if(Vi.includes(r.position)===!1)return Nn("wrong position",e)}else r.position="bottom";if(vp.includes(r.timeout)===!0)r.timeout=5e3;else{const a=Number(r.timeout);if(isNaN(a)||a<0)return Nn("wrong timeout",e);r.timeout=Number.isFinite(a)?a:0}r.timeout===0?r.progress=!1:r.progress===!0&&(r.meta.progressClass="q-notification__progress"+(r.progressClass?` ${r.progressClass}`:""),r.meta.progressStyle={animationDuration:`${r.timeout+1e3}ms`});const i=(Array.isArray(e.actions)===!0?e.actions:[]).concat(e.ignoreDefaults!==!0&&Array.isArray(Oo.actions)===!0?Oo.actions:[]).concat(Array.isArray(Fn[e.type]?.actions)===!0?Fn[e.type].actions:[]),{closeBtn:s}=r;if(s&&i.push({label:typeof s=="string"?s:t.lang.label.close}),r.actions=i.map(({handler:a,noDismiss:c,...u})=>({flat:!0,...u,onClick:typeof a=="function"?()=>{a(),c!==!0&&l()}:()=>{l()}})),r.multiLine===void 0&&(r.multiLine=r.actions.length>1),Object.assign(r.meta,{class:`q-notification row items-stretch q-notification--${r.multiLine===!0?"multi-line":"standard"}`+(r.color!==void 0?` bg-${r.color}`:"")+(r.textColor!==void 0?` text-${r.textColor}`:"")+(r.classes!==void 0?` ${r.classes}`:""),wrapperClass:"q-notification__wrapper col relative-position border-radius-inherit "+(r.multiLine===!0?"column no-wrap justify-center":"row items-center"),contentClass:"q-notification__content row items-center"+(r.multiLine===!0?"":" col"),leftClass:r.meta.hasText===!0?"additional":"single",attrs:{role:"alert",...r.attrs}}),r.group===!1?(r.group=void 0,r.meta.group=void 0):((r.group===void 0||r.group===!0)&&(r.group=[r.message,r.caption,r.multiline].concat(r.actions.map(a=>`${a.label}*${a.icon}`)).join("|")),r.meta.group=r.group+"|"+r.position),r.actions.length===0?r.actions=void 0:r.meta.actionsClass="q-notification__actions row items-center "+(r.multiLine===!0?"justify-end":"col-auto")+(r.meta.hasMedia===!0?" q-notification__actions--with-media":""),n!==void 0){n.notif.meta.timer&&(clearTimeout(n.notif.meta.timer),n.notif.meta.timer=void 0),r.meta.uid=n.notif.meta.uid;const a=nt[r.position].value.indexOf(n.notif);nt[r.position].value[a]=r}else{const a=Mo[r.meta.group];if(a===void 0){if(r.meta.uid=mp++,r.meta.badge=1,["left","right","center"].indexOf(r.position)!==-1)nt[r.position].value.splice(Math.floor(nt[r.position].value.length/2),0,r);else{const c=r.position.indexOf("top")!==-1?"unshift":"push";nt[r.position].value[c](r)}r.group!==void 0&&(Mo[r.meta.group]=r)}else{if(a.meta.timer&&(clearTimeout(a.meta.timer),a.meta.timer=void 0),r.badgePosition!==void 0){if(bp.includes(r.badgePosition)===!1)return Nn("wrong badgePosition",e)}else r.badgePosition=`top-${r.position.indexOf("left")!==-1?"right":"left"}`;r.meta.uid=a.meta.uid,r.meta.badge=a.meta.badge+1,r.meta.badgeClass=`q-notification__badge q-notification__badge--${r.badgePosition}`+(r.badgeColor!==void 0?` bg-${r.badgeColor}`:"")+(r.badgeTextColor!==void 0?` text-${r.badgeTextColor}`:"")+(r.badgeClass?` ${r.badgeClass}`:"");const c=nt[r.position].value.indexOf(a);nt[r.position].value[c]=Mo[r.meta.group]=r}}const l=()=>{yp(r),o=void 0};if(r.timeout>0&&(r.meta.timer=setTimeout(()=>{r.meta.timer=void 0,l()},r.timeout+1e3)),r.group!==void 0)return a=>{a!==void 0?Nn("trying to update a grouped one which is forbidden",e):l()};if(o={dismiss:l,config:e,notif:r},n!==void 0){Object.assign(n,o);return}return a=>{if(o!==void 0)if(a===void 0)o.dismiss();else{const c=Object.assign({},o.config,a,{group:!1,position:r.position});rc(c,t,o)}}}function yp(e){e.meta.timer&&(clearTimeout(e.meta.timer),e.meta.timer=void 0);const t=nt[e.position].value.indexOf(e);if(t!==-1){e.group!==void 0&&delete Mo[e.meta.group];const n=oc[""+e.meta.uid];if(n){const{width:o,height:r}=getComputedStyle(n);n.style.left=`${n.offsetLeft}px`,n.style.width=o,n.style.height=r}nt[e.position].value.splice(t,1),typeof e.onDismiss=="function"&&e.onDismiss()}}function Al(e){return e!=null&&pp.test(e)!==!0}function Nn(e,t){return console.error(`Notify: ${e}`,t),!1}function _p(){return Le({name:"QNotifications",devtools:{hide:!0},setup(){return()=>P("div",{class:"q-notifications"},Vi.map(e=>P(Ad,{key:e,class:nc[e],tag:"div",name:`q-notification--${e}`},()=>nt[e].value.map(t=>{const n=t.meta,o=[];if(n.hasMedia===!0&&(t.spinner!==!1?o.push(P(t.spinner,{class:"q-notification__spinner q-notification__spinner--"+n.leftClass,color:t.spinnerColor,size:t.spinnerSize})):t.icon?o.push(P(Tt,{class:"q-notification__icon q-notification__icon--"+n.leftClass,name:t.icon,color:t.iconColor,size:t.iconSize,role:"img"})):t.avatar&&o.push(P(gp,{class:"q-notification__avatar q-notification__avatar--"+n.leftClass},()=>P("img",{src:t.avatar,"aria-hidden":"true"})))),n.hasText===!0){let i;const s={class:"q-notification__message col"};if(t.html===!0)s.innerHTML=t.caption?`

${t.message}
${t.caption}
`:t.message;else{const l=[t.message];i=t.caption?[P("div",l),P("div",{class:"q-notification__caption"},[t.caption])]:l}o.push(P("div",s,i))}const r=[P("div",{class:n.contentClass},o)];return t.progress===!0&&r.push(P("div",{key:`${n.uid}|p|${n.badge}`,class:n.progressClass,style:n.progressStyle})),t.actions!==void 0&&r.push(P("div",{class:n.actionsClass},t.actions.map(i=>P(hi,i)))),n.badge>1&&r.push(P("div",{key:`${n.uid}|${n.badge}`,class:t.meta.badgeClass,style:t.badgeStyle},[n.badge])),P("div",{ref:i=>{oc[""+n.uid]=i},key:n.uid,class:n.class,...n.attrs},[P("div",{class:n.wrapperClass},r)])}))))}})}const wp={setDefaults(e){ot(e)===!0&&Object.assign(Oo,e)},registerType(e,t){ot(t)===!0&&(Fn[e]=t)},install({$q:e,parentApp:t}){if(e.notify=this.create=n=>rc(n,e),e.notify.setDefaults=this.setDefaults,e.notify.registerType=this.registerType,e.config.notify!==void 0&&this.setDefaults(e.config.notify),this.__installed!==!0){Vi.forEach(o=>{nt[o]=ae([]);const r=["left","center","right"].includes(o)===!0?"center":o.indexOf("top")!==-1?"top":"bottom",i=o.indexOf("left")!==-1?"start":o.indexOf("right")!==-1?"end":"center",s=["left","right"].includes(o)?`items-${o==="left"?"start":"end"} justify-center`:o==="center"?"flex-center":`items-${i}`;nc[o]=`q-notifications__list q-notifications__list--${r} fixed column no-wrap ${s}`});const n=Fi("q-notify");fu(_p(),t).mount(n)}}},xp={config:{notify:{position:"top-right"}},plugins:{Dialog:hp,Notify:wp}},Cp="/";async function Sp({app:e,router:t,store:n},o){let r=!1;const i=a=>{try{return t.resolve(a).href}catch{}return Object(a)===a?null:a},s=a=>{if(r=!0,typeof a=="string"&&/^https?:\/\//.test(a)){window.location.href=a;return}const c=i(a);c!==null&&(window.location.href=c,window.location.reload())},l=window.location.href.replace(window.location.origin,"");for(let a=0;r===!1&&a{const[t,n]=Promise.allSettled!==void 0?["allSettled",o=>o.map(r=>{if(r.status==="rejected"){console.error("[Quasar] boot error:",r.reason);return}return r.value.default})]:["all",o=>o.map(r=>r.default)];return Promise[t]([ko(()=>import("./i18n-iY85aRww.js"),__vite__mapDeps([8,5]))]).then(o=>{const r=n(o).filter(i=>typeof i=="function");Sp(e,r)})});export{ao as $,Mp as A,Kd as B,zd as C,$t as D,zo as E,Op as F,et as G,fn as H,dn as I,iu as J,zp as K,tr as L,wa as M,en as N,Hp as O,qg as P,Mg as Q,Pg as R,Lg as S,Tg as T,Jg as U,Wp as V,Ro as W,Lp as X,Up as Y,an as Z,Pi as _,k as a,ll as a$,Ua as a0,Xc as a1,pf as a2,Ha as a3,qe as a4,Wa as a5,hi as a6,Kf as a7,yc as a8,Ap as a9,Hg as aA,jo as aB,Hm as aC,jm as aD,Um as aE,zm as aF,fo as aG,ho as aH,pm as aI,Tt as aJ,Zg as aK,ff as aL,$i as aM,Ym as aN,mi as aO,np as aP,Cr as aQ,lu as aR,Ca as aS,Sa as aT,Vm as aU,Jm as aV,Tn as aW,ih as aX,ti as aY,Mr as aZ,nm as a_,Xe as aa,Rp as ab,jt as ac,Ep as ad,In as ae,Tp as af,kp as ag,Pm as ah,ko as ai,Gp as aj,wm as ak,no as al,bl as am,ap as an,op as ao,im as ap,Pp as aq,Om as ar,Fp as as,Hc as at,Pu as au,Di as av,sh as aw,Ig as ax,Og as ay,Ng as az,rt as b,om as b0,al as b1,$p as b2,Ug as b3,Np as b4,Bp as b5,Fl as b6,$c as b7,Ee as b8,rr as b9,Le as c,Dp as d,ct as e,Ke as f,Ce as g,P as h,zt as i,st as j,Ip as k,Ue as l,qp as m,to as n,cn as o,Kp as p,ua as q,ae as r,Vp as s,jp as t,qu as u,Lu as v,be as w,Hd as x,Wd as y,Te as z}; diff --git a/app/dist/spa/assets/index-BQveqNql.css b/app/dist/spa/assets/index-BQveqNql.css new file mode 100644 index 0000000..476cb14 --- /dev/null +++ b/app/dist/spa/assets/index-BQveqNql.css @@ -0,0 +1 @@ +@charset "UTF-8";@font-face{font-family:Roboto;font-style:normal;font-weight:100;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbFmUiAw-yBxCyPWP.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabVmUiAw-CNa4tw4G.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAw-3fZ6d7DD.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWub2bVmUiAw-CHKg1YId.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjalmUiAw-BepdiOnY.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:900;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuZtalmUiAw-4ZhHFPot.woff) format("woff")}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:block;src:url(/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ-D-x-0Q06.woff2) format("woff2"),url(/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa-Dr0goTwe.woff) format("woff")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}*,*:before,*:after{box-sizing:inherit;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent}html,body,#q-app{width:100%;direction:ltr}body.platform-ios.within-iframe,body.platform-ios.within-iframe #q-app{width:100px;min-width:100%}html,body{margin:0;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}img{border-style:none}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}button,input,optgroup,select,textarea{font:inherit;font-family:inherit;margin:0}optgroup{font-weight:700}button,input,select{overflow:visible;text-transform:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button:-moz-focusring,input:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.q-icon{line-height:1;width:1em;height:1em;flex-shrink:0;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;text-align:center;position:relative;box-sizing:content-box;fill:currentColor}.q-icon:before,.q-icon:after{width:100%;height:100%;display:flex!important;align-items:center;justify-content:center}.q-icon>svg,.q-icon>img{width:100%;height:100%}.q-icon>div{box-sizing:border-box}.q-icon,.material-icons,.material-icons-outlined,.material-icons-round,.material-icons-sharp,.material-symbols-outlined,.material-symbols-rounded,.material-symbols-sharp{-webkit-user-select:none;user-select:none;cursor:inherit;font-size:inherit;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.q-panel{height:100%;width:100%}.q-panel>div{height:100%;width:100%}.q-panel-parent{overflow:hidden;position:relative}.q-loading-bar{position:fixed;z-index:9998;transition:transform .5s cubic-bezier(0,0,.2,1),opacity .5s;background:#f44336}.q-loading-bar--top{left:0;right:0;top:0;width:100%}.q-loading-bar--bottom{left:0;right:0;bottom:0;width:100%}.q-loading-bar--right{top:0;bottom:0;right:0;height:100%}.q-loading-bar--left{top:0;bottom:0;left:0;height:100%}.q-avatar{position:relative;vertical-align:middle;display:inline-block;border-radius:50%;font-size:48px;height:1em;width:1em}.q-avatar__content{font-size:.5em;line-height:.5em}.q-avatar__content,.q-avatar img:not(.q-icon):not(.q-img__image){border-radius:inherit;height:inherit;width:inherit}.q-avatar--square{border-radius:0}.q-badge{background-color:var(--q-primary);color:#fff;padding:2px 6px;border-radius:4px;font-size:12px;line-height:1;min-height:12px;font-weight:400;vertical-align:baseline}.q-badge--single-line{white-space:nowrap}.q-badge--multi-line{word-break:break-all;word-wrap:break-word}.q-badge--floating{position:absolute;top:-4px;right:-3px;cursor:inherit}.q-badge--transparent{opacity:.8}.q-badge--outline{background-color:transparent;border:1px solid currentColor}.q-badge--rounded{border-radius:1em}.q-banner{min-height:54px;padding:8px 16px;background:#fff}.q-banner--top-padding{padding-top:14px}.q-banner__avatar{min-width:1px!important}.q-banner__avatar>.q-avatar{font-size:46px}.q-banner__avatar>.q-icon{font-size:40px}.q-banner__avatar:not(:empty)+.q-banner__content{padding-left:16px}.q-banner__actions.col-auto{padding-left:16px}.q-banner__actions.col-all .q-btn-item{margin:4px 0 0 4px}.q-banner--dense{min-height:32px;padding:8px}.q-banner--dense.q-banner--top-padding{padding-top:12px}.q-banner--dense .q-banner__avatar>.q-avatar,.q-banner--dense .q-banner__avatar>.q-icon{font-size:28px}.q-banner--dense .q-banner__avatar:not(:empty)+.q-banner__content{padding-left:8px}.q-banner--dense .q-banner__actions.col-auto{padding-left:8px}.q-bar{background:#0003}.q-bar>.q-icon{margin-left:2px}.q-bar>div,.q-bar>div+.q-icon{margin-left:8px}.q-bar>.q-btn{margin-left:2px}.q-bar>.q-icon:first-child,.q-bar>.q-btn:first-child,.q-bar>div:first-child{margin-left:0}.q-bar--standard{padding:0 12px;height:32px;font-size:18px}.q-bar--standard>div{font-size:16px}.q-bar--standard .q-btn{font-size:11px}.q-bar--dense{padding:0 8px;height:24px;font-size:14px}.q-bar--dense .q-btn{font-size:8px}.q-bar--dark{background:#ffffff26}.q-breadcrumbs__el{color:inherit}.q-breadcrumbs__el-icon{font-size:125%}.q-breadcrumbs__el-icon--with-label{margin-right:8px}[dir=rtl] .q-breadcrumbs__separator .q-icon{transform:scaleX(-1)}.q-btn{display:inline-flex;flex-direction:column;align-items:stretch;position:relative;outline:0;border:0;vertical-align:middle;font-size:14px;line-height:1.715em;text-decoration:none;color:inherit;background:transparent;font-weight:500;text-transform:uppercase;text-align:center;width:auto;height:auto;cursor:default;padding:4px 16px;min-height:2.572em}.q-btn .q-icon,.q-btn .q-spinner{font-size:1.715em}.q-btn.disabled{opacity:.7!important}.q-btn:before{content:"";display:block;position:absolute;left:0;right:0;top:0;bottom:0;border-radius:inherit;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.q-btn--actionable{cursor:pointer}.q-btn--actionable.q-btn--standard:before{transition:box-shadow .3s cubic-bezier(.25,.8,.5,1)}.q-btn--actionable.q-btn--standard:active:before,.q-btn--actionable.q-btn--standard.q-btn--active:before{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.q-btn--no-uppercase{text-transform:none}.q-btn--rectangle{border-radius:3px}.q-btn--outline{background:transparent!important}.q-btn--outline:before{border:1px solid currentColor}.q-btn--push{border-radius:7px}.q-btn--push:before{border-bottom:3px solid rgba(0,0,0,.15)}.q-btn--push.q-btn--actionable{transition:transform .3s cubic-bezier(.25,.8,.5,1)}.q-btn--push.q-btn--actionable:before{transition:border-width .3s cubic-bezier(.25,.8,.5,1)}.q-btn--push.q-btn--actionable:active,.q-btn--push.q-btn--actionable.q-btn--active{transform:translateY(2px)}.q-btn--push.q-btn--actionable:active:before,.q-btn--push.q-btn--actionable.q-btn--active:before{border-bottom-width:0}.q-btn--rounded{border-radius:28px}.q-btn--round{border-radius:50%;padding:0;min-width:3em;min-height:3em}.q-btn--square{border-radius:0}.q-btn--flat:before,.q-btn--outline:before,.q-btn--unelevated:before{box-shadow:none}.q-btn--dense{padding:.285em;min-height:2em}.q-btn--dense.q-btn--round{padding:0;min-height:2.4em;min-width:2.4em}.q-btn--dense .on-left{margin-right:6px}.q-btn--dense .on-right{margin-left:6px}.q-btn--fab .q-icon,.q-btn--fab-mini .q-icon{font-size:24px}.q-btn--fab{padding:16px;min-height:56px;min-width:56px}.q-btn--fab .q-icon{margin:auto}.q-btn--fab-mini{padding:8px;min-height:40px;min-width:40px}.q-btn__content{transition:opacity .3s;z-index:0}.q-btn__content--hidden{opacity:0;pointer-events:none}.q-btn__progress{border-radius:inherit;z-index:0}.q-btn__progress-indicator{z-index:-1;transform:translate(-100%);background:#ffffff40}.q-btn__progress--dark .q-btn__progress-indicator{background:#0003}.q-btn--flat .q-btn__progress-indicator,.q-btn--outline .q-btn__progress-indicator{opacity:.2;background:currentColor}.q-btn-dropdown--split .q-btn-dropdown__arrow-container{padding:0 4px}.q-btn-dropdown--split .q-btn-dropdown__arrow-container.q-btn--outline{border-left:1px solid currentColor}.q-btn-dropdown--split .q-btn-dropdown__arrow-container:not(.q-btn--outline){border-left:1px solid rgba(255,255,255,.3)}.q-btn-dropdown--simple *+.q-btn-dropdown__arrow{margin-left:8px}.q-btn-dropdown__arrow{transition:transform .28s}.q-btn-dropdown--current{flex-grow:1}.q-btn-group{border-radius:3px;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;vertical-align:middle}.q-btn-group>.q-btn-item{border-radius:inherit;align-self:stretch}.q-btn-group>.q-btn-item:before{box-shadow:none}.q-btn-group>.q-btn-item .q-badge--floating{right:0}.q-btn-group>.q-btn-group{box-shadow:none}.q-btn-group>.q-btn-group:first-child>.q-btn:first-child{border-top-left-radius:inherit;border-bottom-left-radius:inherit}.q-btn-group>.q-btn-group:last-child>.q-btn:last-child{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.q-btn-group>.q-btn-group:not(:first-child)>.q-btn:first-child:before{border-left:0}.q-btn-group>.q-btn-group:not(:last-child)>.q-btn:last-child:before{border-right:0}.q-btn-group>.q-btn-item:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.q-btn-group>.q-btn-item:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.q-btn-group>.q-btn-item.q-btn--standard:before{z-index:-1}.q-btn-group--push{border-radius:7px}.q-btn-group--push>.q-btn--push.q-btn--actionable{transform:none}.q-btn-group--push>.q-btn--push.q-btn--actionable .q-btn__content{transition:margin-top .3s cubic-bezier(.25,.8,.5,1),margin-bottom .3s cubic-bezier(.25,.8,.5,1)}.q-btn-group--push>.q-btn--push.q-btn--actionable:active .q-btn__content,.q-btn-group--push>.q-btn--push.q-btn--actionable.q-btn--active .q-btn__content{margin-top:2px;margin-bottom:-2px}.q-btn-group--rounded{border-radius:28px}.q-btn-group--square{border-radius:0}.q-btn-group--flat,.q-btn-group--outline,.q-btn-group--unelevated{box-shadow:none}.q-btn-group--outline>.q-separator{display:none}.q-btn-group--outline>.q-btn-item+.q-btn-item:before{border-left:0}.q-btn-group--outline>.q-btn-item:not(:last-child):before{border-right:0}.q-btn-group--stretch{align-self:stretch;border-radius:0}.q-btn-group--glossy>.q-btn-item{background-image:linear-gradient(to bottom,#ffffff4d,#fff0 50%,#0000001f 51%,#0000000a)!important}.q-btn-group--spread>.q-btn-group{display:flex!important}.q-btn-group--spread>.q-btn-item,.q-btn-group--spread>.q-btn-group>.q-btn-item:not(.q-btn-dropdown__arrow-container){width:auto;min-width:0;max-width:100%;flex:10000 1 0%}.q-btn-toggle{position:relative}.q-card{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;vertical-align:top;background:#fff;position:relative}.q-card>div:not(.q--avoid-card-border),.q-card>img:not(.q--avoid-card-border){border-radius:0}.q-card>div:nth-child(1 of:not(.q--avoid-card-border)),.q-card>img:nth-child(1 of:not(.q--avoid-card-border)){border-top:0;border-top-left-radius:inherit;border-top-right-radius:inherit}.q-card>div:nth-last-child(1 of:not(.q--avoid-card-border)),.q-card>img:nth-last-child(1 of:not(.q--avoid-card-border)){border-bottom:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.q-card>div:not(.q--avoid-card-border){border-left:0;border-right:0;box-shadow:none}.q-card--bordered{border:1px solid rgba(0,0,0,.12)}.q-card--dark{border-color:#ffffff47;box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-card__section{position:relative}.q-card__section--vert{padding:16px}.q-card__section--horiz>div:not(.q--avoid-card-border),.q-card__section--horiz>img:not(.q--avoid-card-border){border-radius:0}.q-card__section--horiz>div:nth-child(1 of:not(.q--avoid-card-border)),.q-card__section--horiz>img:nth-child(1 of:not(.q--avoid-card-border)){border-top-left-radius:inherit;border-bottom-left-radius:inherit}.q-card__section--horiz>div:nth-last-child(1 of:not(.q--avoid-card-border)),.q-card__section--horiz>img:nth-last-child(1 of:not(.q--avoid-card-border)){border-top-right-radius:inherit;border-bottom-right-radius:inherit}.q-card__section--horiz>div:not(.q--avoid-card-border){border-top:0;border-bottom:0;box-shadow:none}.q-card__actions{padding:8px;align-items:center}.q-card__actions .q-btn--rectangle{padding:0 8px}.q-card__actions--horiz>.q-btn-item+.q-btn-item,.q-card__actions--horiz>.q-btn-group+.q-btn-item,.q-card__actions--horiz>.q-btn-item+.q-btn-group{margin-left:8px}.q-card__actions--vert>.q-btn-item.q-btn--round{align-self:center}.q-card__actions--vert>.q-btn-item+.q-btn-item,.q-card__actions--vert>.q-btn-group+.q-btn-item,.q-card__actions--vert>.q-btn-item+.q-btn-group{margin-top:4px}.q-card__actions--vert>.q-btn-group>.q-btn-item{flex-grow:1}.q-card>img{display:block;width:100%;max-width:100%;border:0}.q-carousel{background-color:#fff;height:400px}.q-carousel__slide{min-height:100%;background-size:cover;background-position:50%}.q-carousel__slide,.q-carousel .q-carousel--padding{padding:16px}.q-carousel__slides-container{height:100%}.q-carousel__control{color:#fff}.q-carousel__arrow{pointer-events:none}.q-carousel__arrow .q-icon{font-size:28px}.q-carousel__arrow .q-btn{pointer-events:all}.q-carousel__prev-arrow--horizontal,.q-carousel__next-arrow--horizontal{top:16px;bottom:16px}.q-carousel__prev-arrow--horizontal{left:16px}.q-carousel__next-arrow--horizontal{right:16px}.q-carousel__prev-arrow--vertical,.q-carousel__next-arrow--vertical{left:16px;right:16px}.q-carousel__prev-arrow--vertical{top:16px}.q-carousel__next-arrow--vertical{bottom:16px}.q-carousel__navigation--top,.q-carousel__navigation--bottom{left:16px;right:16px;overflow-x:auto;overflow-y:hidden}.q-carousel__navigation--top{top:16px}.q-carousel__navigation--bottom{bottom:16px}.q-carousel__navigation--left,.q-carousel__navigation--right{top:16px;bottom:16px;overflow-x:hidden;overflow-y:auto}.q-carousel__navigation--left>.q-carousel__navigation-inner,.q-carousel__navigation--right>.q-carousel__navigation-inner{flex-direction:column}.q-carousel__navigation--left{left:16px}.q-carousel__navigation--right{right:16px}.q-carousel__navigation-inner{flex:1 1 auto}.q-carousel__navigation .q-btn{margin:6px 4px;padding:5px}.q-carousel__navigation-icon--inactive{opacity:.7}.q-carousel .q-carousel__thumbnail{margin:2px;height:50px;width:auto;display:inline-block;cursor:pointer;border:1px solid transparent;border-radius:4px;vertical-align:middle;opacity:.7;transition:opacity .3s}.q-carousel .q-carousel__thumbnail:hover,.q-carousel .q-carousel__thumbnail--active{opacity:1}.q-carousel .q-carousel__thumbnail--active{border-color:currentColor;cursor:default}.q-carousel--navigation-top.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-top .q-carousel--padding,.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-vertical .q-carousel--padding{padding-top:60px}.q-carousel--navigation-bottom.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-bottom .q-carousel--padding,.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-vertical .q-carousel--padding{padding-bottom:60px}.q-carousel--navigation-left.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-left .q-carousel--padding,.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-horizontal .q-carousel--padding{padding-left:60px}.q-carousel--navigation-right.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-right .q-carousel--padding,.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-horizontal .q-carousel--padding{padding-right:60px}.q-carousel.fullscreen{height:100%}.q-message-name{font-size:small}.q-message-label{margin:24px 0;text-align:center;font-size:small}.q-message-stamp{color:inherit;margin-top:4px;opacity:.6;display:none;font-size:small}.q-message-avatar{border-radius:50%;width:48px;height:48px;min-width:48px}.q-message{margin-bottom:8px}.q-message:first-child .q-message-label{margin-top:0}.q-message-avatar--received{margin-right:8px}.q-message-text--received{color:#81c784;border-radius:4px 4px 4px 0}.q-message-text--received:last-child:before{right:100%;border-right:0 solid transparent;border-left:8px solid transparent;border-bottom:8px solid currentColor}.q-message-text-content--received{color:#000}.q-message-name--sent{text-align:right}.q-message-avatar--sent{margin-left:8px}.q-message-container--sent{flex-direction:row-reverse}.q-message-text--sent{color:#e0e0e0;border-radius:4px 4px 0}.q-message-text--sent:last-child:before{left:100%;border-left:0 solid transparent;border-right:8px solid transparent;border-bottom:8px solid currentColor}.q-message-text-content--sent{color:#000}.q-message-text{background:currentColor;padding:8px;line-height:1.2;word-break:break-word;position:relative}.q-message-text+.q-message-text{margin-top:3px}.q-message-text:last-child{min-height:48px}.q-message-text:last-child .q-message-stamp{display:block}.q-message-text:last-child:before{content:"";position:absolute;bottom:0;width:0;height:0}.q-checkbox{vertical-align:middle}.q-checkbox__native{width:1px;height:1px}.q-checkbox__bg,.q-checkbox__icon-container{-webkit-user-select:none;user-select:none}.q-checkbox__bg{top:25%;left:25%;width:50%;height:50%;border:2px solid currentColor;border-radius:2px;transition:background .22s cubic-bezier(0,0,.2,1) 0ms;-webkit-print-color-adjust:exact}.q-checkbox__icon{color:currentColor;font-size:.5em}.q-checkbox__svg{color:#fff}.q-checkbox__truthy{stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.78334;stroke-dasharray:29.78334}.q-checkbox__indet{fill:currentColor;transform-origin:50% 50%;transform:rotate(-280deg) scale(0)}.q-checkbox__inner{font-size:40px;width:1em;min-width:1em;height:1em;outline:0;border-radius:50%;color:#0000008a}.q-checkbox__inner--truthy,.q-checkbox__inner--indet{color:var(--q-primary)}.q-checkbox__inner--truthy .q-checkbox__bg,.q-checkbox__inner--indet .q-checkbox__bg{background:currentColor}.q-checkbox__inner--truthy path{stroke-dashoffset:0;transition:stroke-dashoffset .18s cubic-bezier(.4,0,.6,1) 0ms}.q-checkbox__inner--indet .q-checkbox__indet{transform:rotate(0) scale(1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}.q-checkbox.disabled{opacity:.75!important}.q-checkbox--dark .q-checkbox__inner{color:#ffffffb3}.q-checkbox--dark .q-checkbox__inner:before{opacity:.32!important}.q-checkbox--dark .q-checkbox__inner--truthy,.q-checkbox--dark .q-checkbox__inner--indet{color:var(--q-primary)}.q-checkbox--dense .q-checkbox__inner{width:.5em;min-width:.5em;height:.5em}.q-checkbox--dense .q-checkbox__bg{left:5%;top:5%;width:90%;height:90%}.q-checkbox--dense .q-checkbox__label{padding-left:.5em}.q-checkbox--dense.reverse .q-checkbox__label{padding-left:0;padding-right:.5em}body.desktop .q-checkbox:not(.disabled) .q-checkbox__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1)}body.desktop .q-checkbox:not(.disabled):focus .q-checkbox__inner:before,body.desktop .q-checkbox:not(.disabled):hover .q-checkbox__inner:before{transform:scaleZ(1)}body.desktop .q-checkbox--dense:not(.disabled):focus .q-checkbox__inner:before,body.desktop .q-checkbox--dense:not(.disabled):hover .q-checkbox__inner:before{transform:scale3d(1.4,1.4,1)}.q-chip{vertical-align:middle;border-radius:16px;outline:0;position:relative;height:2em;max-width:100%;margin:4px;background:#e0e0e0;color:#000000de;font-size:14px;padding:.5em .9em}.q-chip--colored .q-chip__icon,.q-chip--dark .q-chip__icon{color:inherit}.q-chip .q-avatar{font-size:2em;margin-left:-.45em;margin-right:.2em;border-radius:16px}.q-chip--outline{background:transparent!important;border:1px solid currentColor}.q-chip--outline .q-avatar{margin-left:calc(-.45em - 1px)}.q-chip--selected .q-avatar{display:none}.q-chip__icon{color:#0000008a;font-size:1.5em;margin:-.2em}.q-chip__icon--left{margin-right:.2em}.q-chip__icon--right{margin-left:.2em}.q-chip__icon--remove{margin-left:.1em;margin-right:-.5em;opacity:.6;outline:0}.q-chip__icon--remove:hover,.q-chip__icon--remove:focus{opacity:1}.q-chip__content{white-space:nowrap}.q-chip--dense{border-radius:12px;padding:0 .4em;height:1.5em}.q-chip--dense .q-avatar{font-size:1.5em;margin-left:-.27em;margin-right:.1em;border-radius:12px}.q-chip--dense .q-chip__icon{font-size:1.25em}.q-chip--dense .q-chip__icon--left{margin-right:.195em}.q-chip--dense .q-chip__icon--remove{margin-right:-.25em}.q-chip--square{border-radius:4px}.q-chip--square .q-avatar{border-radius:3px 0 0 3px}body.desktop .q-chip--clickable:focus{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f}body.desktop.body--dark .q-chip--clickable:focus{box-shadow:0 1px 3px #fff3,0 1px 1px #ffffff24,0 2px 1px -1px #ffffff1f}.q-circular-progress{display:inline-block;position:relative;vertical-align:middle;width:1em;height:1em;line-height:1}.q-circular-progress.q-focusable{border-radius:50%}.q-circular-progress__svg{width:100%;height:100%}.q-circular-progress__text{font-size:.25em}.q-circular-progress--indeterminate .q-circular-progress__svg{transform-origin:50% 50%;animation:q-spin 2s linear infinite}.q-circular-progress--indeterminate .q-circular-progress__circle{stroke-dasharray:1 400;stroke-dashoffset:0;animation:q-circular-progress-circle 1.5s ease-in-out infinite}@keyframes q-circular-progress-circle{0%{stroke-dasharray:1,400;stroke-dashoffset:0}50%{stroke-dasharray:400,400;stroke-dashoffset:-100}to{stroke-dasharray:400,400;stroke-dashoffset:-300}}.q-color-picker{overflow:hidden;background:#fff;max-width:350px;vertical-align:top;min-width:180px;border-radius:4px;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.q-color-picker .q-tab{padding:0!important}.q-color-picker--bordered{border:1px solid rgba(0,0,0,.12)}.q-color-picker__header-tabs{height:32px}.q-color-picker__header input{line-height:24px;border:0}.q-color-picker__header .q-tab{min-height:32px!important;height:32px!important}.q-color-picker__header .q-tab--inactive{background:linear-gradient(to top,#0000004d,#00000026 25%,#0000001a)}.q-color-picker__error-icon{bottom:2px;right:2px;font-size:24px;opacity:0;transition:opacity .3s ease-in}.q-color-picker__header-content{position:relative;background:#fff}.q-color-picker__header-content--light{color:#000}.q-color-picker__header-content--dark{color:#fff}.q-color-picker__header-content--dark .q-tab--inactive:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff3}.q-color-picker__header-banner{height:36px}.q-color-picker__header-bg{background:#fff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==)!important}.q-color-picker__footer{height:36px}.q-color-picker__footer .q-tab{min-height:36px!important;height:36px!important}.q-color-picker__footer .q-tab--inactive{background:linear-gradient(to bottom,#0000004d,#00000026 25%,#0000001a)}.q-color-picker__spectrum{width:100%;height:100%}.q-color-picker__spectrum-tab{padding:0!important}.q-color-picker__spectrum-white{background:linear-gradient(to right,#fff,#fff0)}.q-color-picker__spectrum-black{background:linear-gradient(to top,#000,#0000)}.q-color-picker__spectrum-circle{width:10px;height:10px;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px #0000004d,0 0 1px 2px #0006;border-radius:50%;transform:translate(-5px,-5px)}.q-color-picker__hue .q-slider__track{background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)!important;opacity:1}.q-color-picker__alpha .q-slider__track-container{padding-top:0}.q-color-picker__alpha .q-slider__track:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(90deg,#fff0,#757575)}.q-color-picker__sliders{padding:0 16px}.q-color-picker__sliders .q-slider__thumb{color:#424242}.q-color-picker__sliders .q-slider__thumb path{stroke-width:2px;fill:transparent}.q-color-picker__sliders .q-slider--active path{stroke-width:3px}.q-color-picker__tune-tab .q-slider{margin-left:18px;margin-right:18px}.q-color-picker__tune-tab input{font-size:11px;border:1px solid #e0e0e0;border-radius:4px;width:3.5em}.q-color-picker__palette-tab{padding:0!important}.q-color-picker__palette-rows--editable .q-color-picker__cube{cursor:pointer}.q-color-picker__cube{padding-bottom:10%;width:10%!important}.q-color-picker input{color:inherit;background:transparent;outline:0;text-align:center}.q-color-picker .q-tabs{overflow:hidden}.q-color-picker .q-tab--active{box-shadow:0 0 14px 3px #0003}.q-color-picker .q-tab--active .q-focus-helper,.q-color-picker .q-tab__indicator{display:none}.q-color-picker .q-tab-panels{background:inherit}.q-color-picker--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-color-picker--dark .q-color-picker__tune-tab input{border:1px solid rgba(255,255,255,.3)}.q-color-picker--dark .q-slider__thumb{color:#fafafa}.q-date{display:inline-flex;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;background:#fff;width:290px;min-width:290px;max-width:100%}.q-date--bordered{border:1px solid rgba(0,0,0,.12)}.q-date__header{border-top-left-radius:inherit;color:#fff;background-color:var(--q-primary);padding:16px}.q-date__actions{padding:0 16px 16px}.q-date__content,.q-date__main{outline:0}.q-date__content .q-btn{font-weight:400}.q-date__header-link{opacity:.64;outline:0;transition:opacity .3s ease-out}.q-date__header-link--active,.q-date__header-link:hover,.q-date__header-link:focus{opacity:1}.q-date__header-subtitle{font-size:14px;line-height:1.75;letter-spacing:.00938em}.q-date__header-title-label{font-size:24px;line-height:1.2;letter-spacing:.00735em}.q-date__view{height:100%;width:100%;min-height:290px;padding:16px}.q-date__navigation{height:12.5%}.q-date__navigation>div:first-child{width:8%;min-width:24px;justify-content:flex-end}.q-date__navigation>div:last-child{width:8%;min-width:24px;justify-content:flex-start}.q-date__calendar-weekdays{height:12.5%}.q-date__calendar-weekdays>div{opacity:.38;font-size:12px}.q-date__calendar-item{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:14.285%!important;height:12.5%!important;position:relative;padding:1px}.q-date__calendar-item:after{content:"";position:absolute;pointer-events:none;top:1px;right:0;bottom:1px;left:0;border-style:dashed;border-color:transparent;border-width:1px}.q-date__calendar-item>div,.q-date__calendar-item button{width:30px;height:30px;border-radius:50%}.q-date__calendar-item>div{line-height:30px;text-align:center}.q-date__calendar-item>button{line-height:22px}.q-date__calendar-item--out{opacity:.18}.q-date__calendar-item--fill{visibility:hidden}.q-date__range:before,.q-date__range-from:before,.q-date__range-to:before{content:"";background-color:currentColor;position:absolute;top:1px;bottom:1px;left:0;right:0;opacity:.3}.q-date__range:nth-child(7n-6):before,.q-date__range-from:nth-child(7n-6):before,.q-date__range-to:nth-child(7n-6):before{border-top-left-radius:0;border-bottom-left-radius:0}.q-date__range:nth-child(7n):before,.q-date__range-from:nth-child(7n):before,.q-date__range-to:nth-child(7n):before{border-top-right-radius:0;border-bottom-right-radius:0}.q-date__range-from:before{left:50%}.q-date__range-to:before{right:50%}.q-date__edit-range:after{border-color:currentColor transparent}.q-date__edit-range:nth-child(7n-6):after{border-top-left-radius:0;border-bottom-left-radius:0}.q-date__edit-range:nth-child(7n):after{border-top-right-radius:0;border-bottom-right-radius:0}.q-date__edit-range-from:after,.q-date__edit-range-from-to:after{left:4px;border-left-color:currentColor;border-top-color:currentColor;border-bottom-color:currentColor;border-top-left-radius:28px;border-bottom-left-radius:28px}.q-date__edit-range-to:after,.q-date__edit-range-from-to:after{right:4px;border-right-color:currentColor;border-top-color:currentColor;border-bottom-color:currentColor;border-top-right-radius:28px;border-bottom-right-radius:28px}.q-date__calendar-days-container{height:75%;min-height:192px}.q-date__calendar-days>div{height:16.66%!important}.q-date__event{position:absolute;bottom:2px;left:50%;height:5px;width:8px;border-radius:5px;background-color:var(--q-secondary);transform:translate3d(-50%,0,0)}.q-date__today{box-shadow:0 0 1px 0 currentColor}.q-date__years-content{padding:0 8px}.q-date__years-item,.q-date__months-item{flex:0 0 33.3333%}.q-date.disabled .q-date__header,.q-date.disabled .q-date__content,.q-date--readonly .q-date__header,.q-date--readonly .q-date__content{pointer-events:none}.q-date--readonly .q-date__navigation{display:none}.q-date--portrait{flex-direction:column}.q-date--portrait-standard .q-date__content{height:calc(100% - 86px)}.q-date--portrait-standard .q-date__header{border-top-right-radius:inherit;height:86px}.q-date--portrait-standard .q-date__header-title{align-items:center;height:30px}.q-date--portrait-minimal .q-date__content{height:100%}.q-date--landscape{flex-direction:row;align-items:stretch;min-width:420px}.q-date--landscape>div{display:flex;flex-direction:column}.q-date--landscape .q-date__content{height:100%}.q-date--landscape-standard{min-width:420px}.q-date--landscape-standard .q-date__header{border-bottom-left-radius:inherit;min-width:110px;width:110px}.q-date--landscape-standard .q-date__header-title{flex-direction:column}.q-date--landscape-standard .q-date__header-today{margin-top:12px;margin-left:-8px}.q-date--landscape-minimal{width:310px}.q-date--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f;border-color:#ffffff47}.q-dialog__title{font-size:1.25rem;font-weight:500;line-height:1.6;letter-spacing:.0125em}.q-dialog__progress{font-size:4rem}.q-dialog__inner{outline:0}.q-dialog__inner>div{pointer-events:all;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position;border-radius:4px}.q-dialog__inner--square>div{border-radius:0!important}.q-dialog__inner>.q-card>.q-card__actions .q-btn--rectangle{min-width:64px}.q-dialog__inner--minimized{padding:24px}.q-dialog__inner--minimized>div{max-height:calc(100vh - 48px)}.q-dialog__inner--maximized>div{height:100%;width:100%;max-height:100vh;max-width:100vw;border-radius:0!important;top:0!important;left:0!important}.q-dialog__inner--top,.q-dialog__inner--bottom{padding-top:0!important;padding-bottom:0!important}.q-dialog__inner--right,.q-dialog__inner--left{padding-right:0!important;padding-left:0!important}.q-dialog__inner--left:not(.q-dialog__inner--animating)>div,.q-dialog__inner--top:not(.q-dialog__inner--animating)>div{border-top-left-radius:0}.q-dialog__inner--right:not(.q-dialog__inner--animating)>div,.q-dialog__inner--top:not(.q-dialog__inner--animating)>div{border-top-right-radius:0}.q-dialog__inner--left:not(.q-dialog__inner--animating)>div,.q-dialog__inner--bottom:not(.q-dialog__inner--animating)>div{border-bottom-left-radius:0}.q-dialog__inner--right:not(.q-dialog__inner--animating)>div,.q-dialog__inner--bottom:not(.q-dialog__inner--animating)>div{border-bottom-right-radius:0}.q-dialog__inner--fullwidth>div{width:100%!important;max-width:100%!important}.q-dialog__inner--fullheight>div{height:100%!important;max-height:100%!important}.q-dialog__backdrop{z-index:-1;pointer-events:all;outline:0;background:#0006}body.platform-ios .q-dialog__inner--minimized>div,body.platform-android:not(.native-mobile) .q-dialog__inner--minimized>div{max-height:calc(100vh - 108px)}body.q-ios-padding .q-dialog__inner{padding-top:20px!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}body.q-ios-padding .q-dialog__inner>div{max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important}@media(max-width:599.98px){.q-dialog__inner--top,.q-dialog__inner--bottom{padding-left:0;padding-right:0}.q-dialog__inner--top>div,.q-dialog__inner--bottom>div{width:100%!important}}@media(min-width:600px){.q-dialog__inner--minimized>div{max-width:560px}}.q-body--dialog{overflow:hidden}.q-editor{border:1px solid rgba(0,0,0,.12);border-radius:4px;background-color:#fff}.q-editor.disabled{border-style:dashed}.q-editor>div:first-child,.q-editor__toolbars-container,.q-editor__toolbars-container>div:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-editor__content{outline:0;padding:10px;min-height:10em;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;overflow:auto;max-width:100%}.q-editor__content pre{white-space:pre-wrap}.q-editor__content hr{border:0;outline:0;margin:1px;height:1px;background:#0000001f}.q-editor__content:empty:not(:focus):before{content:attr(placeholder);opacity:.7}.q-editor__toolbar{border-bottom:1px solid rgba(0,0,0,.12);min-height:32px}.q-editor__toolbars-container{max-width:100%}.q-editor .q-btn{margin:4px}.q-editor__toolbar-group{position:relative;margin:0 4px}.q-editor__toolbar-group+.q-editor__toolbar-group:before{content:"";position:absolute;left:-4px;top:4px;bottom:4px;width:1px;background:#0000001f}.q-editor__link-input{color:inherit;text-decoration:none;text-transform:none;border:none;border-radius:0;background:none;outline:0}.q-editor--flat,.q-editor--flat .q-editor__toolbar{border:0}.q-editor--dense .q-editor__toolbar-group{display:flex;align-items:center;flex-wrap:nowrap}.q-editor--dark{border-color:#ffffff47}.q-editor--dark .q-editor__content hr{background:#ffffff47}.q-editor--dark .q-editor__toolbar{border-color:#ffffff47}.q-editor--dark .q-editor__toolbar-group+.q-editor__toolbar-group:before{background:#ffffff47}.q-expansion-item__border{opacity:0}.q-expansion-item__toggle-icon{position:relative;transition:transform .3s}.q-expansion-item__toggle-icon--rotated{transform:rotate(180deg)}.q-expansion-item__toggle-focus{width:1em!important;height:1em!important;position:relative!important}.q-expansion-item__toggle-focus+.q-expansion-item__toggle-icon{margin-top:-1em}.q-expansion-item--standard.q-expansion-item--expanded>div>.q-expansion-item__border{opacity:1}.q-expansion-item--popup{transition:padding .5s}.q-expansion-item--popup>.q-expansion-item__container{border:1px solid rgba(0,0,0,.12)}.q-expansion-item--popup>.q-expansion-item__container>.q-separator{display:none}.q-expansion-item--popup.q-expansion-item--collapsed{padding:0 15px}.q-expansion-item--popup.q-expansion-item--expanded{padding:15px 0}.q-expansion-item--popup.q-expansion-item--expanded+.q-expansion-item--popup.q-expansion-item--expanded{padding-top:0}.q-expansion-item--popup.q-expansion-item--collapsed:not(:first-child)>.q-expansion-item__container{border-top-width:0}.q-expansion-item--popup.q-expansion-item--expanded+.q-expansion-item--popup.q-expansion-item--collapsed>.q-expansion-item__container{border-top-width:1px}.q-expansion-item__content>.q-card{box-shadow:none;border-radius:0}.q-expansion-item:first-child>div>.q-expansion-item__border--top{opacity:0}.q-expansion-item:last-child>div>.q-expansion-item__border--bottom{opacity:0}.q-expansion-item--expanded+.q-expansion-item--expanded>div>.q-expansion-item__border--top{opacity:0}.q-expansion-item--expanded .q-textarea--autogrow textarea{animation:q-expansion-done 0s}@keyframes q-expansion-done{0%{--q-exp-done: 1}}.z-fab{z-index:990}.q-fab{position:relative;vertical-align:middle}.q-fab>.q-btn{width:100%}.q-fab--form-rounded{border-radius:28px}.q-fab--form-square{border-radius:4px}.q-fab__icon,.q-fab__active-icon{transition:opacity .4s,transform .4s}.q-fab__icon{opacity:1;transform:rotate(0)}.q-fab__active-icon{opacity:0;transform:rotate(-180deg)}.q-fab__label--external{position:absolute;padding:0 8px;transition:opacity .18s cubic-bezier(.65,.815,.735,.395)}.q-fab__label--external-hidden{opacity:0;pointer-events:none}.q-fab__label--external-left{top:50%;left:-12px;transform:translate(-100%,-50%)}.q-fab__label--external-right{top:50%;right:-12px;transform:translate(100%,-50%)}.q-fab__label--external-bottom{bottom:-12px;left:50%;transform:translate(-50%,100%)}.q-fab__label--external-top{top:-12px;left:50%;transform:translate(-50%,-100%)}.q-fab__label--internal{padding:0;transition:font-size .12s cubic-bezier(.65,.815,.735,.395),max-height .12s cubic-bezier(.65,.815,.735,.395),opacity .07s cubic-bezier(.65,.815,.735,.395);max-height:30px}.q-fab__label--internal-hidden{font-size:0;opacity:0}.q-fab__label--internal-top{padding-bottom:.12em}.q-fab__label--internal-bottom{padding-top:.12em}.q-fab__label--internal-top.q-fab__label--internal-hidden,.q-fab__label--internal-bottom.q-fab__label--internal-hidden{max-height:0}.q-fab__label--internal-left{padding-left:.285em;padding-right:.571em}.q-fab__label--internal-right{padding-right:.285em;padding-left:.571em}.q-fab__icon-holder{min-width:24px;min-height:24px;position:relative}.q-fab__icon-holder--opened .q-fab__icon{transform:rotate(180deg);opacity:0}.q-fab__icon-holder--opened .q-fab__active-icon{transform:rotate(0);opacity:1}.q-fab__actions{position:absolute;opacity:0;transition:transform .18s ease-in,opacity .18s ease-in;pointer-events:none;align-items:center;justify-content:center;align-self:center;padding:3px}.q-fab__actions .q-btn{margin:5px}.q-fab__actions--right{transform-origin:0 50%;transform:scale(.4) translate(-62px);height:56px;left:100%;margin-left:9px}.q-fab__actions--left{transform-origin:100% 50%;transform:scale(.4) translate(62px);height:56px;right:100%;margin-right:9px;flex-direction:row-reverse}.q-fab__actions--up{transform-origin:50% 100%;transform:scale(.4) translateY(62px);width:56px;bottom:100%;margin-bottom:9px;flex-direction:column-reverse}.q-fab__actions--down{transform-origin:50% 0;transform:scale(.4) translateY(-62px);width:56px;top:100%;margin-top:9px;flex-direction:column}.q-fab__actions--up,.q-fab__actions--down{left:50%;margin-left:-28px}.q-fab__actions--opened{opacity:1;transform:scale(1) translate(.1px);pointer-events:all}.q-fab--align-left>.q-fab__actions--up,.q-fab--align-left>.q-fab__actions--down{align-items:flex-start;left:28px}.q-fab--align-right>.q-fab__actions--up,.q-fab--align-right>.q-fab__actions--down{align-items:flex-end;left:auto;right:0}.q-field{font-size:14px}.q-field ::-ms-clear,.q-field ::-ms-reveal{display:none}.q-field--with-bottom{padding-bottom:20px}.q-field__marginal{height:56px;color:#0000008a;font-size:24px}.q-field__marginal>*+*{margin-left:2px}.q-field__marginal .q-avatar{font-size:32px}.q-field__before,.q-field__prepend{padding-right:12px}.q-field__after,.q-field__append{padding-left:12px}.q-field__after:empty,.q-field__append:empty{display:none}.q-field__append+.q-field__append{padding-left:2px}.q-field__inner{text-align:left}.q-field__bottom{font-size:12px;min-height:20px;line-height:1;color:#0000008a;padding:8px 12px 0;backface-visibility:hidden}.q-field__bottom--animated{transform:translateY(100%);position:absolute;left:0;right:0;bottom:0}.q-field__messages{line-height:1}.q-field__messages>div{word-break:break-word;word-wrap:break-word;overflow-wrap:break-word}.q-field__messages>div+div{margin-top:4px}.q-field__counter{padding-left:8px;line-height:1}.q-field--item-aligned{padding:8px 16px}.q-field--item-aligned .q-field__before{min-width:56px}.q-field__control-container{height:inherit}.q-field__control{color:var(--q-primary);height:56px;max-width:100%;outline:none}.q-field__control:before,.q-field__control:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.q-field__control:before{border-radius:inherit}.q-field__shadow{top:8px;opacity:0;overflow:hidden;white-space:pre-wrap;transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native::placeholder{transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native:focus::placeholder{opacity:0}.q-field__native,.q-field__prefix,.q-field__suffix,.q-field__input{font-weight:400;line-height:28px;letter-spacing:.00937em;text-decoration:inherit;text-transform:inherit;border:none;border-radius:0;background:none;color:#000000de;outline:0;padding:6px 0}.q-field__native,.q-field__input{width:100%;min-width:0;outline:0!important;-webkit-user-select:auto;user-select:auto}.q-field__native:-webkit-autofill,.q-field__input:-webkit-autofill{-webkit-animation-name:q-autofill;-webkit-animation-fill-mode:both}.q-field__native:invalid,.q-field__input:invalid{box-shadow:none}.q-field__native[type=file]{line-height:1em}.q-field__input{padding:0;height:0;min-height:24px;line-height:24px}.q-field__prefix,.q-field__suffix{transition:opacity .36s cubic-bezier(.4,0,.2,1);white-space:nowrap}.q-field__prefix{padding-right:4px}.q-field__suffix{padding-left:4px}.q-field--readonly .q-placeholder,.q-field--disabled .q-placeholder{opacity:1!important}.q-field--readonly.q-field--labeled .q-field__native,.q-field--readonly.q-field--labeled .q-field__input{cursor:default}.q-field--readonly.q-field--float .q-field__native,.q-field--readonly.q-field--float .q-field__input{cursor:text}.q-field--disabled .q-field__inner{cursor:not-allowed}.q-field--disabled .q-field__control{pointer-events:none}.q-field--disabled .q-field__control>div{opacity:.6!important}.q-field--disabled .q-field__control>div,.q-field--disabled .q-field__control>div *{outline:0!important}.q-field__label{left:0;top:18px;max-width:100%;color:#0009;font-size:16px;line-height:1.25;font-weight:400;letter-spacing:.00937em;text-decoration:inherit;text-transform:inherit;transform-origin:left top;transition:transform .36s cubic-bezier(.4,0,.2,1),max-width .324s cubic-bezier(.4,0,.2,1);backface-visibility:hidden}.q-field__label:has(+:is(.q-field__native,.q-field__input):is(:-webkit-autofill,[type=color],[type=date],[type=datetime-local],[type=month],[type=time],[type=week])){transform:translateY(-40%) scale(.75)}.q-field--float .q-field__label{max-width:133%;transform:translateY(-40%) scale(.75);transition:transform .36s cubic-bezier(.4,0,.2,1),max-width .396s cubic-bezier(.4,0,.2,1)}.q-field--highlighted .q-field__label{color:currentColor}.q-field--highlighted .q-field__shadow{opacity:.5}.q-field--filled .q-field__control{padding:0 12px;background:#0000000d;border-radius:4px 4px 0 0}.q-field--filled .q-field__control:before{background:#0000000d;border-bottom:1px solid rgba(0,0,0,.42);opacity:0;transition:opacity .36s cubic-bezier(.4,0,.2,1),background .36s cubic-bezier(.4,0,.2,1)}.q-field--filled .q-field__control:hover:before{opacity:1}.q-field--filled .q-field__control:after{height:2px;top:auto;transform-origin:center bottom;transform:scale3d(0,1,1);background:currentColor;transition:transform .36s cubic-bezier(.4,0,.2,1)}.q-field--filled.q-field--rounded .q-field__control{border-radius:28px 28px 0 0}.q-field--filled.q-field--highlighted .q-field__control:before{opacity:1;background:#0000001f}.q-field--filled.q-field--highlighted .q-field__control:after{transform:scaleZ(1)}.q-field--filled.q-field--dark .q-field__control,.q-field--filled.q-field--dark .q-field__control:before{background:#ffffff12}.q-field--filled.q-field--dark.q-field--highlighted .q-field__control:before{background:#ffffff1a}.q-field--filled.q-field--readonly .q-field__control:before{opacity:1;background:transparent;border-bottom-style:dashed}.q-field--outlined .q-field__control{border-radius:4px;padding:0 12px}.q-field--outlined .q-field__control:before{border:1px solid rgba(0,0,0,.24);transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--outlined .q-field__control:hover:before{border-color:#000}.q-field--outlined .q-field__control:after{height:inherit;border-radius:inherit;border:2px solid transparent;transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--outlined .q-field__native:-webkit-autofill,.q-field--outlined .q-field__input:-webkit-autofill{margin-top:1px;margin-bottom:1px}.q-field--outlined.q-field--rounded .q-field__control{border-radius:28px}.q-field--outlined.q-field--highlighted .q-field__control:hover:before{border-color:transparent}.q-field--outlined.q-field--highlighted .q-field__control:after{border-color:currentColor;border-width:2px;transform:scaleZ(1)}.q-field--outlined.q-field--readonly .q-field__control:before{border-style:dashed}.q-field--standard .q-field__control:before{border-bottom:1px solid rgba(0,0,0,.24);transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--standard .q-field__control:hover:before{border-color:#000}.q-field--standard .q-field__control:after{height:2px;top:auto;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;transform-origin:center bottom;transform:scale3d(0,1,1);background:currentColor;transition:transform .36s cubic-bezier(.4,0,.2,1)}.q-field--standard.q-field--highlighted .q-field__control:after{transform:scaleZ(1)}.q-field--standard.q-field--readonly .q-field__control:before{border-bottom-style:dashed}.q-field--dark .q-field__control:before{border-color:#fff9}.q-field--dark .q-field__control:hover:before{border-color:#fff}.q-field--dark .q-field__native,.q-field--dark .q-field__prefix,.q-field--dark .q-field__suffix,.q-field--dark .q-field__input{color:#fff}.q-field--dark:not(.q-field--highlighted) .q-field__label,.q-field--dark .q-field__marginal,.q-field--dark .q-field__bottom{color:#ffffffb3}.q-field--standout .q-field__control{padding:0 12px;background:#0000000d;border-radius:4px;transition:box-shadow .36s cubic-bezier(.4,0,.2,1),background-color .36s cubic-bezier(.4,0,.2,1)}.q-field--standout .q-field__control:before{background:#00000012;opacity:0;transition:opacity .36s cubic-bezier(.4,0,.2,1),background .36s cubic-bezier(.4,0,.2,1)}.q-field--standout .q-field__control:hover:before{opacity:1}.q-field--standout.q-field--rounded .q-field__control{border-radius:28px}.q-field--standout.q-field--highlighted .q-field__control{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;background:#000}.q-field--standout.q-field--highlighted .q-field__native,.q-field--standout.q-field--highlighted .q-field__prefix,.q-field--standout.q-field--highlighted .q-field__suffix,.q-field--standout.q-field--highlighted .q-field__prepend,.q-field--standout.q-field--highlighted .q-field__append,.q-field--standout.q-field--highlighted .q-field__input{color:#fff}.q-field--standout.q-field--readonly .q-field__control:before{opacity:1;background:transparent;border:1px dashed rgba(0,0,0,.24)}.q-field--standout.q-field--dark .q-field__control{background:#ffffff12}.q-field--standout.q-field--dark .q-field__control:before{background:#ffffff12}.q-field--standout.q-field--dark.q-field--highlighted .q-field__control{background:#fff}.q-field--standout.q-field--dark.q-field--highlighted .q-field__native,.q-field--standout.q-field--dark.q-field--highlighted .q-field__prefix,.q-field--standout.q-field--dark.q-field--highlighted .q-field__suffix,.q-field--standout.q-field--dark.q-field--highlighted .q-field__prepend,.q-field--standout.q-field--dark.q-field--highlighted .q-field__append,.q-field--standout.q-field--dark.q-field--highlighted .q-field__input{color:#000}.q-field--standout.q-field--dark.q-field--readonly .q-field__control:before{border-color:#ffffff3d}.q-field--labeled .q-field__native,.q-field--labeled .q-field__prefix,.q-field--labeled .q-field__suffix{line-height:24px;padding-top:24px;padding-bottom:8px}.q-field--labeled .q-field__shadow{top:0}.q-field--labeled:not(.q-field--float) .q-field__prefix,.q-field--labeled:not(.q-field--float) .q-field__suffix{opacity:0}.q-field--labeled:not(.q-field--float) .q-field__native::placeholder,.q-field--labeled:not(.q-field--float) .q-field__input::placeholder{color:transparent}.q-field--labeled.q-field--dense .q-field__native,.q-field--labeled.q-field--dense .q-field__prefix,.q-field--labeled.q-field--dense .q-field__suffix{padding-top:14px;padding-bottom:2px}.q-field--dense .q-field--with-bottom{padding-bottom:19px}.q-field--dense .q-field__shadow{top:0}.q-field--dense .q-field__control,.q-field--dense .q-field__marginal{height:40px}.q-field--dense .q-field__bottom{font-size:11px}.q-field--dense .q-field__label{font-size:14px;top:10px}.q-field--dense .q-field__before,.q-field--dense .q-field__prepend{padding-right:6px}.q-field--dense .q-field__after,.q-field--dense .q-field__append{padding-left:6px}.q-field--dense .q-field__append+.q-field__append{padding-left:2px}.q-field--dense .q-field__marginal .q-avatar{font-size:24px}.q-field--dense.q-field--float .q-field__label{transform:translateY(-30%) scale(.75)}.q-field--dense .q-field__label:has(+:is(.q-field__native,.q-field__input):is(:-webkit-autofill,[type=color],[type=date],[type=datetime-local],[type=month],[type=time],[type=week])){transform:translateY(-30%) scale(.75)}.q-field--borderless .q-field__bottom,.q-field--borderless.q-field--dense .q-field__control,.q-field--standard .q-field__bottom,.q-field--standard.q-field--dense .q-field__control{padding-left:0;padding-right:0}.q-field--error .q-field__label{animation:q-field-label .36s}.q-field--error .q-field__bottom{color:var(--q-negative)}.q-field__focusable-action{opacity:.6;cursor:pointer;outline:0!important;border:0;color:inherit;background:transparent;padding:0}.q-field__focusable-action:hover,.q-field__focusable-action:focus{opacity:1}.q-field--auto-height .q-field__control{height:auto}.q-field--auto-height .q-field__control,.q-field--auto-height .q-field__native{min-height:56px}.q-field--auto-height .q-field__native{align-items:center}.q-field--auto-height .q-field__control-container{padding-top:0}.q-field--auto-height .q-field__native,.q-field--auto-height .q-field__prefix,.q-field--auto-height .q-field__suffix{line-height:18px}.q-field--auto-height.q-field--labeled .q-field__control-container{padding-top:24px}.q-field--auto-height.q-field--labeled .q-field__shadow{top:24px}.q-field--auto-height.q-field--labeled .q-field__native,.q-field--auto-height.q-field--labeled .q-field__prefix,.q-field--auto-height.q-field--labeled .q-field__suffix{padding-top:0}.q-field--auto-height.q-field--labeled .q-field__native{min-height:24px}.q-field--auto-height.q-field--dense .q-field__control,.q-field--auto-height.q-field--dense .q-field__native{min-height:40px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__control-container{padding-top:14px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__shadow{top:14px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__native{min-height:24px}.q-field--square .q-field__control{border-radius:0!important}.q-transition--field-message-enter-active,.q-transition--field-message-leave-active{transition:transform .6s cubic-bezier(.86,0,.07,1),opacity .6s cubic-bezier(.86,0,.07,1)}.q-transition--field-message-enter-from,.q-transition--field-message-leave-to{opacity:0;transform:translateY(-10px)}.q-transition--field-message-leave-from,.q-transition--field-message-leave-active{position:absolute}@keyframes q-field-label{40%{margin-left:2px}60%,80%{margin-left:-2px}70%,90%{margin-left:2px}}@keyframes q-autofill{to{background:transparent;color:inherit}}.q-file .q-field__native{word-break:break-all;overflow:hidden}.q-file .q-field__input{opacity:0!important}.q-file .q-field__input::-webkit-file-upload-button{cursor:pointer}.q-file__filler{visibility:hidden;width:100%;border:none;padding:0}.q-file__dnd{outline:1px dashed currentColor;outline-offset:-4px}.q-form{position:relative}.q-img{position:relative;width:100%;display:inline-block;vertical-align:middle;overflow:hidden}.q-img__loading .q-spinner{font-size:50px}.q-img__container{border-radius:inherit;font-size:0}.q-img__image{border-radius:inherit;width:100%;height:100%;opacity:0}.q-img__image--with-transition{transition:opacity .28s ease-in}.q-img__image--loaded{opacity:1}.q-img__content{border-radius:inherit;pointer-events:none}.q-img__content>div{pointer-events:all;position:absolute;padding:16px;color:#fff;background:#00000078}.q-img--no-menu .q-img__image,.q-img--no-menu .q-img__placeholder{pointer-events:none}.q-inner-loading{background:#fff9;border-radius:inherit}.q-inner-loading--dark{background:#0006}.q-inner-loading__label{margin-top:8px}.q-textarea .q-field__control{min-height:56px;height:auto}.q-textarea .q-field__control-container{padding-top:2px;padding-bottom:2px}.q-textarea .q-field__shadow{top:2px;bottom:2px}.q-textarea .q-field__native,.q-textarea .q-field__prefix,.q-textarea .q-field__suffix{line-height:18px}.q-textarea .q-field__native{resize:vertical;padding-top:17px;min-height:52px}.q-textarea.q-field--labeled .q-field__control-container{padding-top:26px}.q-textarea.q-field--labeled .q-field__shadow{top:26px}.q-textarea.q-field--labeled .q-field__native,.q-textarea.q-field--labeled .q-field__prefix,.q-textarea.q-field--labeled .q-field__suffix{padding-top:0}.q-textarea.q-field--labeled .q-field__native{min-height:26px;padding-top:1px}.q-textarea--autogrow .q-field__native{resize:none}.q-textarea.q-field--dense .q-field__control,.q-textarea.q-field--dense .q-field__native{min-height:36px}.q-textarea.q-field--dense .q-field__native{padding-top:9px}.q-textarea.q-field--dense.q-field--labeled .q-field__control-container{padding-top:14px}.q-textarea.q-field--dense.q-field--labeled .q-field__shadow{top:14px}.q-textarea.q-field--dense.q-field--labeled .q-field__native{min-height:24px;padding-top:3px}.q-textarea.q-field--dense.q-field--labeled .q-field__prefix,.q-textarea.q-field--dense.q-field--labeled .q-field__suffix{padding-top:2px}body.mobile .q-textarea .q-field__native,.q-textarea.disabled .q-field__native{resize:none}.q-intersection{position:relative}.q-item{min-height:48px;padding:8px 16px;color:inherit;transition:color .3s,background-color .3s}.q-item__section--side{color:#757575;align-items:flex-start;padding-right:16px;width:auto;min-width:0;max-width:100%}.q-item__section--side>.q-icon{font-size:24px}.q-item__section--side>.q-avatar{font-size:40px}.q-item__section--avatar{color:inherit;min-width:56px}.q-item__section--thumbnail img{width:100px;height:56px}.q-item__section--nowrap{white-space:nowrap}.q-item>.q-item__section--thumbnail:first-child,.q-item>.q-focus-helper+.q-item__section--thumbnail{margin-left:-16px}.q-item>.q-item__section--thumbnail:last-of-type{margin-right:-16px}.q-item__label{line-height:1.2em!important;max-width:100%}.q-item__label--overline{color:#000000b3}.q-item__label--caption{color:#0000008a}.q-item__label--header{color:#757575;padding:16px;font-size:.875rem;line-height:1.25rem;letter-spacing:.01786em}.q-separator--spaced+.q-item__label--header,.q-list--padding .q-item__label--header{padding-top:8px}.q-item__label+.q-item__label{margin-top:4px}.q-item__section--main{width:auto;min-width:0;max-width:100%;flex:10000 1 0%}.q-item__section--main+.q-item__section--main{margin-left:8px}.q-item__section--main~.q-item__section--side{align-items:flex-end;padding-right:0;padding-left:16px}.q-item__section--main.q-item__section--thumbnail{margin-left:0;margin-right:-16px}.q-list--bordered{border:1px solid rgba(0,0,0,.12)}.q-list--separator>.q-item-type+.q-item-type,.q-list--separator>.q-virtual-scroll__content>.q-item-type+.q-item-type{border-top:1px solid rgba(0,0,0,.12)}.q-list--padding{padding:8px 0}.q-list--dense>.q-item,.q-item--dense{min-height:32px;padding:2px 16px}.q-list--dark.q-list--separator>.q-item-type+.q-item-type,.q-list--dark.q-list--separator>.q-virtual-scroll__content>.q-item-type+.q-item-type{border-top-color:#ffffff47}.q-list--dark,.q-item--dark{color:#fff;border-color:#ffffff47}.q-list--dark .q-item__section--side:not(.q-item__section--avatar),.q-item--dark .q-item__section--side:not(.q-item__section--avatar){color:#ffffffb3}.q-list--dark .q-item__label--header,.q-item--dark .q-item__label--header{color:#ffffffa3}.q-list--dark .q-item__label--overline,.q-list--dark .q-item__label--caption,.q-item--dark .q-item__label--overline,.q-item--dark .q-item__label--caption{color:#fffc}.q-item{position:relative}.q-item.q-router-link--active,.q-item--active{color:var(--q-primary)}.q-knob{font-size:48px}.q-knob--editable{cursor:pointer;outline:0}.q-knob--editable:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:none;transition:box-shadow .24s ease-in-out}.q-knob--editable:focus:before{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}body.body--dark .q-knob--editable:focus:before{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-layout{width:100%;outline:0}.q-layout-container{position:relative;width:100%;height:100%}.q-layout-container .q-layout{min-height:100%}.q-layout-container>div{transform:translateZ(0)}.q-layout-container>div>div{min-height:0;max-height:100%}.q-layout__shadow{width:100%}.q-layout__shadow:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:0 0 10px 2px #0003,0 0 10px #0000003d}.q-layout__section--marginal{background-color:var(--q-primary);color:#fff}.q-header--hidden{transform:translateY(-110%)}.q-header--bordered{border-bottom:1px solid rgba(0,0,0,.12)}.q-header .q-layout__shadow{bottom:-10px}.q-header .q-layout__shadow:after{bottom:10px}.q-footer--hidden{transform:translateY(110%)}.q-footer--bordered{border-top:1px solid rgba(0,0,0,.12)}.q-footer .q-layout__shadow{top:-10px}.q-footer .q-layout__shadow:after{top:10px}.q-header,.q-footer{z-index:2000}.q-drawer{position:absolute;top:0;bottom:0;background:#fff;z-index:1000}.q-drawer--on-top{z-index:3000}.q-drawer--left{left:0;transform:translate(-100%)}.q-drawer--left.q-drawer--bordered{border-right:1px solid rgba(0,0,0,.12)}.q-drawer--left .q-layout__shadow{left:10px;right:-10px}.q-drawer--left .q-layout__shadow:after{right:10px}.q-drawer--right{right:0;transform:translate(100%)}.q-drawer--right.q-drawer--bordered{border-left:1px solid rgba(0,0,0,.12)}.q-drawer--right .q-layout__shadow{left:-10px}.q-drawer--right .q-layout__shadow:after{left:10px}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini{padding:0!important}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section{text-align:center;justify-content:center;padding-left:0;padding-right:0;min-width:0}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__label,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section--main,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section--side~.q-item__section--side{display:none}.q-drawer--mini .q-mini-drawer-hide,.q-drawer--mini .q-expansion-item__content{display:none}.q-drawer--mini-animate .q-drawer__content{overflow-x:hidden!important;white-space:nowrap}.q-drawer--standard .q-mini-drawer-only,.q-drawer--mobile .q-mini-drawer-only,.q-drawer--mobile .q-mini-drawer-hide{display:none}.q-drawer__backdrop{z-index:2999!important;will-change:background-color}.q-drawer__opener{z-index:2001;height:100%;width:15px;-webkit-user-select:none;user-select:none}.q-layout,.q-header,.q-footer,.q-page{position:relative}.q-page-sticky--shrink{pointer-events:none}.q-page-sticky--shrink>div{display:inline-block;pointer-events:auto}body.q-ios-padding .q-layout--standard .q-header>.q-toolbar:nth-child(1),body.q-ios-padding .q-layout--standard .q-header>.q-tabs:nth-child(1) .q-tabs__content,body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content{padding-top:20px;min-height:70px;padding-top:env(safe-area-inset-top);min-height:calc(env(safe-area-inset-top) + 50px)}body.q-ios-padding .q-layout--standard .q-footer>.q-toolbar:last-child,body.q-ios-padding .q-layout--standard .q-footer>.q-tabs:nth-last-child(1 of:not(.q-layout__shadow)) .q-tabs__content,body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content{padding-bottom:env(safe-area-inset-bottom);min-height:calc(env(safe-area-inset-bottom) + 50px)}.q-body--layout-animate .q-drawer__backdrop{transition:background-color .12s!important}.q-body--layout-animate .q-drawer{transition:transform .12s,width .12s,top .12s,bottom .12s!important}.q-body--layout-animate .q-layout__section--marginal{transition:transform .12s,left .12s,right .12s!important}.q-body--layout-animate .q-page-container{transition:padding-top .12s,padding-right .12s,padding-bottom .12s,padding-left .12s!important}.q-body--layout-animate .q-page-sticky{transition:transform .12s,left .12s,right .12s,top .12s,bottom .12s!important}body:not(.q-body--layout-animate) .q-layout--prevent-focus{visibility:hidden}.q-body--drawer-toggle{overflow-x:hidden!important}@media(max-width:599.98px){.q-layout-padding{padding:8px}}@media(min-width:600px)and (max-width:1439.98px){.q-layout-padding{padding:16px}}@media(min-width:1440px){.q-layout-padding{padding:24px}}body.body--dark .q-header,body.body--dark .q-footer,body.body--dark .q-drawer{border-color:#ffffff47}body.body--dark .q-layout__shadow:after{box-shadow:0 0 10px 2px #fff3,0 0 10px #ffffff3d}body.platform-ios .q-layout--containerized{position:unset!important}.q-linear-progress{--q-linear-progress-speed: .3s;position:relative;width:100%;overflow:hidden;font-size:4px;height:1em;color:var(--q-primary);transform:scaleZ(1)}.q-linear-progress__model,.q-linear-progress__track{transform-origin:0 0}.q-linear-progress__model--with-transition,.q-linear-progress__track--with-transition{transition:transform var(--q-linear-progress-speed)}.q-linear-progress--reverse .q-linear-progress__model,.q-linear-progress--reverse .q-linear-progress__track{transform-origin:0 100%}.q-linear-progress__model--determinate{background:currentColor}.q-linear-progress__model--indeterminate,.q-linear-progress__model--query{transition:none}.q-linear-progress__model--indeterminate:before,.q-linear-progress__model--indeterminate:after,.q-linear-progress__model--query:before,.q-linear-progress__model--query:after{background:currentColor;content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0}.q-linear-progress__model--indeterminate:before,.q-linear-progress__model--query:before{animation:q-linear-progress--indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.q-linear-progress__model--indeterminate:after,.q-linear-progress__model--query:after{transform:translate3d(-101%,0,0) scaleZ(1);animation:q-linear-progress--indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}.q-linear-progress__track{opacity:.4}.q-linear-progress__track--light{background:#00000042}.q-linear-progress__track--dark{background:#fff9}.q-linear-progress__stripe{background-image:linear-gradient(45deg,#ffffff26 25%,#fff0 25% 50%,#ffffff26 50% 75%,#fff0 75%,#fff0)!important;background-size:40px 40px!important}.q-linear-progress__stripe--with-transition{transition:width var(--q-linear-progress-speed)}@keyframes q-linear-progress--indeterminate{0%{transform:translate3d(-35%,0,0) scale3d(.35,1,1)}60%{transform:translate3d(100%,0,0) scale3d(.9,1,1)}to{transform:translate3d(100%,0,0) scale3d(.9,1,1)}}@keyframes q-linear-progress--indeterminate-short{0%{transform:translate3d(-101%,0,0) scaleZ(1)}60%{transform:translate3d(107%,0,0) scale3d(.01,1,1)}to{transform:translate3d(107%,0,0) scale3d(.01,1,1)}}.q-menu{position:fixed!important;display:inline-block;max-width:95vw;max-height:65vh;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;background:#fff;border-radius:4px;overflow-y:auto;overflow-x:hidden;outline:0;z-index:6000}.q-menu--square{border-radius:0}.q-menu--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-option-group--inline>div{display:inline-block}.q-pagination input{text-align:center;-moz-appearance:textfield}.q-pagination input::-webkit-outer-spin-button,.q-pagination input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.q-pagination__content{--q-pagination-gutter-parent: -2px;--q-pagination-gutter-child: 2px;margin-top:var(--q-pagination-gutter-parent);margin-left:var(--q-pagination-gutter-parent)}.q-pagination__content>.q-btn,.q-pagination__content>.q-input,.q-pagination__middle>.q-btn{margin-top:var(--q-pagination-gutter-child);margin-left:var(--q-pagination-gutter-child)}.q-parallax{position:relative;width:100%;overflow:hidden;border-radius:inherit}.q-parallax__media>img,.q-parallax__media>video{position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;will-change:transform;display:none}.q-popup-edit{padding:8px 16px}.q-popup-edit__buttons{margin-top:8px}.q-popup-edit__buttons .q-btn+.q-btn{margin-left:8px}.q-pull-to-refresh{position:relative}.q-pull-to-refresh__puller{border-radius:50%;width:40px;height:40px;color:var(--q-primary);background:#fff;box-shadow:0 0 4px #0000004d}.q-pull-to-refresh__puller--animating{transition:transform .3s,opacity .3s}.q-radio{vertical-align:middle}.q-radio__native{width:1px;height:1px}.q-radio__bg,.q-radio__icon-container{-webkit-user-select:none;user-select:none}.q-radio__bg{top:25%;left:25%;width:50%;height:50%;-webkit-print-color-adjust:exact}.q-radio__bg path{fill:currentColor}.q-radio__icon{color:currentColor;font-size:.5em}.q-radio__check{transform-origin:50% 50%;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}.q-radio__inner{font-size:40px;width:1em;min-width:1em;height:1em;outline:0;border-radius:50%;color:#0000008a}.q-radio__inner--truthy{color:var(--q-primary)}.q-radio__inner--truthy .q-radio__check{transform:scaleZ(1)}.q-radio.disabled{opacity:.75!important}.q-radio--dark .q-radio__inner{color:#ffffffb3}.q-radio--dark .q-radio__inner:before{opacity:.32!important}.q-radio--dark .q-radio__inner--truthy{color:var(--q-primary)}.q-radio--dense .q-radio__inner{width:.5em;min-width:.5em;height:.5em}.q-radio--dense .q-radio__bg{left:0;top:0;width:100%;height:100%}.q-radio--dense .q-radio__label{padding-left:.5em}.q-radio--dense.reverse .q-radio__label{padding-left:0;padding-right:.5em}body.desktop .q-radio:not(.disabled) .q-radio__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}body.desktop .q-radio:not(.disabled):focus .q-radio__inner:before,body.desktop .q-radio:not(.disabled):hover .q-radio__inner:before{transform:scaleZ(1)}body.desktop .q-radio--dense:not(.disabled):focus .q-radio__inner:before,body.desktop .q-radio--dense:not(.disabled):hover .q-radio__inner:before{transform:scale3d(1.5,1.5,1)}.q-rating{color:#ffeb3b;vertical-align:middle}.q-rating__icon-container{height:1em;outline:0}.q-rating__icon-container+.q-rating__icon-container{margin-left:2px}.q-rating__icon{color:currentColor;text-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);position:relative;opacity:.4;transition:transform .2s ease-in,opacity .2s ease-in,color .2s ease-in}.q-rating__icon--hovered{transform:scale(1.3)}.q-rating__icon--active{opacity:1}.q-rating__icon--exselected{opacity:.7}.q-rating--no-dimming .q-rating__icon{opacity:1}.q-rating--editable .q-rating__icon-container{cursor:pointer}.q-responsive{position:relative;max-width:100%;max-height:100%}.q-responsive__filler{width:inherit;max-width:inherit;height:inherit;max-height:inherit}.q-responsive__content{border-radius:inherit}.q-responsive__content>*{width:100%!important;height:100%!important;max-height:100%!important;max-width:100%!important}.q-scrollarea{position:relative;contain:strict}.q-scrollarea__bar,.q-scrollarea__thumb{opacity:.2;transition:opacity .3s;will-change:opacity;cursor:grab}.q-scrollarea__bar--v,.q-scrollarea__thumb--v{right:0;width:10px}.q-scrollarea__bar--h,.q-scrollarea__thumb--h{bottom:0;height:10px}.q-scrollarea__bar--invisible,.q-scrollarea__thumb--invisible{opacity:0!important;pointer-events:none}.q-scrollarea__thumb{background:#000;border-radius:3px}.q-scrollarea__thumb:hover{opacity:.3}.q-scrollarea__thumb:active{opacity:.5}.q-scrollarea__content{min-height:100%;min-width:100%}.q-scrollarea--dark .q-scrollarea__thumb{background:#fff}.q-select--without-input .q-field__control{cursor:pointer}.q-select--with-input .q-field__control{cursor:text}.q-select .q-field__input{min-width:50px!important;cursor:text}.q-select .q-field__input--padding{padding-left:4px}.q-select__focus-target,.q-select__autocomplete-input{position:absolute;outline:0!important;width:1px;height:1px;padding:0;border:0;opacity:0}.q-select__dropdown-icon{cursor:pointer;transition:transform .28s}.q-select.q-field--readonly .q-field__control,.q-select.q-field--readonly .q-select__dropdown-icon{cursor:default}.q-select__dialog{width:90vw!important;max-width:90vw!important;max-height:calc(100vh - 70px)!important;background:#fff;display:flex;flex-direction:column}.q-select__dialog>.scroll{position:relative;background:inherit}body.mobile:not(.native-mobile) .q-select__dialog{max-height:calc(100vh - 108px)!important}body.platform-android.native-mobile .q-dialog__inner--top .q-select__dialog{max-height:calc(100vh - 24px)!important}body.platform-android:not(.native-mobile) .q-dialog__inner--top .q-select__dialog{max-height:calc(100vh - 80px)!important}body.platform-ios.native-mobile .q-dialog__inner--top>div{border-radius:4px}body.platform-ios.native-mobile .q-dialog__inner--top .q-select__dialog--focused{max-height:47vh!important}body.platform-ios:not(.native-mobile) .q-dialog__inner--top .q-select__dialog--focused{max-height:50vh!important}.q-separator{border:0;background:#0000001f;margin:0;transition:background .3s,opacity .3s;flex-shrink:0}.q-separator--dark{background:#ffffff47}.q-separator--horizontal{display:block;height:1px}.q-separator--horizontal-inset{margin-left:16px;margin-right:16px}.q-separator--horizontal-item-inset{margin-left:72px;margin-right:0}.q-separator--horizontal-item-thumbnail-inset{margin-left:116px;margin-right:0}.q-separator--vertical{width:1px;height:auto;align-self:stretch}.q-separator--vertical-inset{margin-top:8px;margin-bottom:8px}.q-skeleton{--q-skeleton-speed: 1.5s;background:#0000001f;border-radius:4px;box-sizing:border-box}.q-skeleton--anim{cursor:wait}.q-skeleton:before{content:" "}.q-skeleton--type-text{transform:scaleY(.5)}.q-skeleton--type-circle,.q-skeleton--type-QAvatar{height:48px;width:48px;border-radius:50%}.q-skeleton--type-QBtn{width:90px;height:36px}.q-skeleton--type-QBadge{width:70px;height:16px}.q-skeleton--type-QChip{width:90px;height:28px;border-radius:16px}.q-skeleton--type-QToolbar{height:50px}.q-skeleton--type-QCheckbox,.q-skeleton--type-QRadio{width:40px;height:40px;border-radius:50%}.q-skeleton--type-QToggle{width:56px;height:40px;border-radius:7px}.q-skeleton--type-QSlider,.q-skeleton--type-QRange{height:40px}.q-skeleton--type-QInput{height:56px}.q-skeleton--bordered{border:1px solid rgba(0,0,0,.05)}.q-skeleton--square{border-radius:0}.q-skeleton--anim-fade{animation:q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--anim-pulse{animation:q-skeleton--pulse var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-pulse-x{animation:q-skeleton--pulse-x var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-pulse-y{animation:q-skeleton--pulse-y var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-wave,.q-skeleton--anim-blink,.q-skeleton--anim-pop{position:relative;overflow:hidden;z-index:1}.q-skeleton--anim-wave:after,.q-skeleton--anim-blink:after,.q-skeleton--anim-pop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.q-skeleton--anim-blink:after{background:#ffffffb3;animation:q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--anim-wave:after{background:linear-gradient(90deg,#fff0,#ffffff80,#fff0);animation:q-skeleton--wave var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--dark{background:#ffffff0d}.q-skeleton--dark.q-skeleton--bordered{border:1px solid rgba(255,255,255,.25)}.q-skeleton--dark.q-skeleton--anim-wave:after{background:linear-gradient(90deg,#fff0,#ffffff1a,#fff0)}.q-skeleton--dark.q-skeleton--anim-blink:after{background:#fff3}@keyframes q-skeleton--fade{0%{opacity:1}50%{opacity:.4}to{opacity:1}}@keyframes q-skeleton--pulse{0%{transform:scale(1)}50%{transform:scale(.85)}to{transform:scale(1)}}@keyframes q-skeleton--pulse-x{0%{transform:scaleX(1)}50%{transform:scaleX(.75)}to{transform:scaleX(1)}}@keyframes q-skeleton--pulse-y{0%{transform:scaleY(1)}50%{transform:scaleY(.75)}to{transform:scaleY(1)}}@keyframes q-skeleton--wave{0%{transform:translate(-100%)}to{transform:translate(100%)}}.q-slide-item{position:relative;background:#fff}.q-slide-item__left,.q-slide-item__right,.q-slide-item__top,.q-slide-item__bottom{visibility:hidden;font-size:14px;color:#fff}.q-slide-item__left .q-icon,.q-slide-item__right .q-icon,.q-slide-item__top .q-icon,.q-slide-item__bottom .q-icon{font-size:1.714em}.q-slide-item__left{background:#4caf50;padding:8px 16px}.q-slide-item__left>div{transform-origin:left center}.q-slide-item__right{background:#ff9800;padding:8px 16px}.q-slide-item__right>div{transform-origin:right center}.q-slide-item__top{background:#2196f3;padding:16px 8px}.q-slide-item__top>div{transform-origin:top center}.q-slide-item__bottom{background:#9c27b0;padding:16px 8px}.q-slide-item__bottom>div{transform-origin:bottom center}.q-slide-item__content{background:inherit;transition:transform .2s ease-in;-webkit-user-select:none;user-select:none;cursor:pointer}.q-slider{position:relative}.q-slider--h{width:100%}.q-slider--v{height:200px}.q-slider--editable .q-slider__track-container{cursor:grab}.q-slider__track-container{outline:0}.q-slider__track-container--h{width:100%;padding:12px 0}.q-slider__track-container--h .q-slider__selection{will-change:width,left}.q-slider__track-container--v{height:100%;padding:0 12px}.q-slider__track-container--v .q-slider__selection{will-change:height,top}.q-slider__track{color:var(--q-primary);background:#0000001a;border-radius:4px;width:inherit;height:inherit}.q-slider__inner{background:#0000001a;border-radius:inherit;width:100%;height:100%}.q-slider__selection{background:currentColor;border-radius:inherit;width:100%;height:100%}.q-slider__markers{color:#0000004d;border-radius:inherit;width:100%;height:100%}.q-slider__markers:after{content:"";position:absolute;background:currentColor}.q-slider__markers--h{background-image:repeating-linear-gradient(to right,currentColor,currentColor 2px,rgba(255,255,255,0) 0,rgba(255,255,255,0))}.q-slider__markers--h:after{height:100%;width:2px;top:0;right:0}.q-slider__markers--v{background-image:repeating-linear-gradient(to bottom,currentColor,currentColor 2px,rgba(255,255,255,0) 0,rgba(255,255,255,0))}.q-slider__markers--v:after{width:100%;height:2px;left:0;bottom:0}.q-slider__marker-labels-container{position:relative;width:100%;height:100%;min-height:24px;min-width:24px}.q-slider__marker-labels{position:absolute}.q-slider__marker-labels--h-standard{top:0}.q-slider__marker-labels--h-switched{bottom:0}.q-slider__marker-labels--h-ltr{transform:translate(-50%)}.q-slider__marker-labels--h-rtl{transform:translate(50%)}.q-slider__marker-labels--v-standard{left:4px}.q-slider__marker-labels--v-switched{right:4px}.q-slider__marker-labels--v-ltr{transform:translateY(-50%)}.q-slider__marker-labels--v-rtl{transform:translateY(50%)}.q-slider__thumb{z-index:1;outline:0;color:var(--q-primary);transition:transform .18s ease-out,fill .18s ease-out,stroke .18s ease-out}.q-slider__thumb.q-slider--focus{opacity:1!important}.q-slider__thumb--h{top:50%;will-change:left}.q-slider__thumb--h-ltr{transform:scale(1) translate(-50%,-50%)}.q-slider__thumb--h-rtl{transform:scale(1) translate(50%,-50%)}.q-slider__thumb--v{left:50%;will-change:top}.q-slider__thumb--v-ltr{transform:scale(1) translate(-50%,-50%)}.q-slider__thumb--v-rtl{transform:scale(1) translate(-50%,50%)}.q-slider__thumb-shape{top:0;left:0;stroke-width:3.5;stroke:currentColor;transition:transform .28s}.q-slider__thumb-shape path{stroke:currentColor;fill:currentColor}.q-slider__focus-ring{border-radius:50%;opacity:0;transition:transform .26667s ease-out,opacity .26667s ease-out,background-color .26667s ease-out;transition-delay:.14s}.q-slider__pin{opacity:0;white-space:nowrap;transition:opacity .28s ease-out;transition-delay:.14s}.q-slider__pin:before{content:"";width:0;height:0;position:absolute}.q-slider__pin--h:before{border-left:6px solid transparent;border-right:6px solid transparent;left:50%;transform:translate(-50%)}.q-slider__pin--h-standard{bottom:100%}.q-slider__pin--h-standard:before{bottom:2px;border-top:6px solid currentColor}.q-slider__pin--h-switched{top:100%}.q-slider__pin--h-switched:before{top:2px;border-bottom:6px solid currentColor}.q-slider__pin--v{top:0}.q-slider__pin--v:before{top:50%;transform:translateY(-50%);border-top:6px solid transparent;border-bottom:6px solid transparent}.q-slider__pin--v-standard{left:100%}.q-slider__pin--v-standard:before{left:2px;border-right:6px solid currentColor}.q-slider__pin--v-switched{right:100%}.q-slider__pin--v-switched:before{right:2px;border-left:6px solid currentColor}.q-slider__label{z-index:1;white-space:nowrap;position:absolute}.q-slider__label--h{left:50%;transform:translate(-50%)}.q-slider__label--h-standard{bottom:7px}.q-slider__label--h-switched{top:7px}.q-slider__label--v{top:50%;transform:translateY(-50%)}.q-slider__label--v-standard{left:7px}.q-slider__label--v-switched{right:7px}.q-slider__text-container{min-height:25px;padding:2px 8px;border-radius:4px;background:currentColor;position:relative;text-align:center}.q-slider__text{color:#fff;font-size:12px}.q-slider--no-value .q-slider__thumb,.q-slider--no-value .q-slider__inner,.q-slider--no-value .q-slider__selection{opacity:0}.q-slider--focus .q-slider__focus-ring,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__focus-ring{background:currentColor;transform:scale3d(1.55,1.55,1);opacity:.25}.q-slider--focus .q-slider__thumb,.q-slider--focus .q-slider__inner,.q-slider--focus .q-slider__selection,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__thumb,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__inner,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__selection{opacity:1}.q-slider--inactive .q-slider__thumb--h{transition:left .28s,right .28s}.q-slider--inactive .q-slider__thumb--v{transition:top .28s,bottom .28s}.q-slider--inactive .q-slider__selection{transition:width .28s,left .28s,right .28s,height .28s,top .28s,bottom .28s}.q-slider--inactive .q-slider__text-container{transition:transform .28s}.q-slider--active{cursor:grabbing}.q-slider--active .q-slider__thumb-shape{transform:scale(1.5)}.q-slider--active .q-slider__focus-ring,.q-slider--active.q-slider--label .q-slider__thumb-shape{transform:scale(0)!important}body.desktop .q-slider.q-slider--enabled .q-slider__track-container:hover .q-slider__pin,.q-slider--label.q-slider--active .q-slider__pin,.q-slider--label .q-slider--focus .q-slider__pin,.q-slider--label.q-slider--label-always .q-slider__pin{opacity:1}.q-slider--dark .q-slider__track,.q-slider--dark .q-slider__inner{background:#ffffff1a}.q-slider--dark .q-slider__markers{color:#ffffff4d}.q-slider--dense .q-slider__track-container--h{padding:6px 0}.q-slider--dense .q-slider__track-container--v{padding:0 6px}.q-space{flex-grow:1!important}.q-spinner{vertical-align:middle}.q-spinner-mat{animation:q-spin 2s linear infinite;transform-origin:center center}.q-spinner-mat .path{stroke-dasharray:1,200;stroke-dashoffset:0;animation:q-mat-dash 1.5s ease-in-out infinite}@keyframes q-spin{0%{transform:rotate3d(0,0,1,0)}25%{transform:rotate3d(0,0,1,90deg)}50%{transform:rotate3d(0,0,1,180deg)}75%{transform:rotate3d(0,0,1,270deg)}to{transform:rotate3d(0,0,1,359deg)}}@keyframes q-mat-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.q-splitter__panel{position:relative;z-index:0}.q-splitter__panel>.q-splitter{width:100%;height:100%}.q-splitter__separator{background-color:#0000001f;-webkit-user-select:none;user-select:none;position:relative;z-index:1}.q-splitter__separator-area>*{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.q-splitter--dark .q-splitter__separator{background-color:#ffffff47}.q-splitter--vertical>.q-splitter__panel{height:100%}.q-splitter--vertical.q-splitter--active{cursor:col-resize}.q-splitter--vertical>.q-splitter__separator{width:1px}.q-splitter--vertical>.q-splitter__separator>div{left:-6px;right:-6px}.q-splitter--vertical.q-splitter--workable>.q-splitter__separator{cursor:col-resize}.q-splitter--horizontal>.q-splitter__panel{width:100%}.q-splitter--horizontal.q-splitter--active{cursor:row-resize}.q-splitter--horizontal>.q-splitter__separator{height:1px}.q-splitter--horizontal>.q-splitter__separator>div{top:-6px;bottom:-6px}.q-splitter--horizontal.q-splitter--workable>.q-splitter__separator{cursor:row-resize}.q-splitter__before,.q-splitter__after{overflow:auto}.q-stepper{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;background:#fff}.q-stepper__title{font-size:14px;line-height:1.285714;letter-spacing:.1px}.q-stepper__caption{font-size:12px;line-height:1.16667}.q-stepper__dot{contain:layout;margin-right:8px;font-size:14px;width:24px;min-width:24px;height:24px;border-radius:50%;background:currentColor}.q-stepper__dot span{color:#fff}.q-stepper__tab{padding:8px 24px;font-size:14px;color:#9e9e9e;flex-direction:row}.q-stepper--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-stepper--dark .q-stepper__dot span{color:#000}.q-stepper__tab--navigation{-webkit-user-select:none;user-select:none;cursor:pointer}.q-stepper__tab--active,.q-stepper__tab--done{color:var(--q-primary)}.q-stepper__tab--active .q-stepper__dot,.q-stepper__tab--active .q-stepper__label,.q-stepper__tab--done .q-stepper__dot,.q-stepper__tab--done .q-stepper__label{text-shadow:0 0 0 currentColor}.q-stepper__tab--disabled .q-stepper__dot{background:#00000038}.q-stepper__tab--disabled .q-stepper__label{color:#00000052}.q-stepper__tab--error{color:var(--q-negative)}.q-stepper__tab--error-with-icon .q-stepper__dot{background:transparent!important}.q-stepper__tab--error-with-icon .q-stepper__dot span{color:currentColor;font-size:24px}.q-stepper__header{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-stepper__header--border{border-bottom:1px solid rgba(0,0,0,.12)}.q-stepper__header--standard-labels .q-stepper__tab{min-height:72px;justify-content:center}.q-stepper__header--standard-labels .q-stepper__tab:first-child{justify-content:flex-start}.q-stepper__header--standard-labels .q-stepper__tab:last-child{justify-content:flex-end}.q-stepper__header--standard-labels .q-stepper__tab:only-child{justify-content:center}.q-stepper__header--standard-labels .q-stepper__dot:after{display:none}.q-stepper__header--alternative-labels .q-stepper__tab{min-height:104px;padding:24px 32px;flex-direction:column;justify-content:flex-start}.q-stepper__header--alternative-labels .q-stepper__dot{margin-right:0}.q-stepper__header--alternative-labels .q-stepper__label{margin-top:8px;text-align:center}.q-stepper__header--alternative-labels .q-stepper__label:before,.q-stepper__header--alternative-labels .q-stepper__label:after{display:none}.q-stepper__header--contracted,.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab{min-height:72px}.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:first-child{align-items:flex-start}.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:last-child{align-items:flex-end}.q-stepper__header--contracted .q-stepper__tab{padding:24px 0}.q-stepper__header--contracted .q-stepper__tab:first-child .q-stepper__dot{transform:translate(24px)}.q-stepper__header--contracted .q-stepper__tab:last-child .q-stepper__dot{transform:translate(-24px)}.q-stepper__header--contracted .q-stepper__tab:not(:last-child) .q-stepper__dot:after{display:block!important}.q-stepper__header--contracted .q-stepper__dot{margin:0}.q-stepper__header--contracted .q-stepper__label{display:none}.q-stepper__nav{padding-top:24px}.q-stepper--flat{box-shadow:none}.q-stepper--bordered{border:1px solid rgba(0,0,0,.12)}.q-stepper--horizontal .q-stepper__step-inner{padding:24px}.q-stepper--horizontal .q-stepper__tab:first-child{border-top-left-radius:inherit}.q-stepper--horizontal .q-stepper__tab:last-child{border-top-right-radius:inherit}.q-stepper--horizontal .q-stepper__tab:first-child .q-stepper__dot:before,.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__label:after,.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__dot:after{display:none}.q-stepper--horizontal .q-stepper__tab{overflow:hidden}.q-stepper--horizontal .q-stepper__line{contain:layout}.q-stepper--horizontal .q-stepper__line:before,.q-stepper--horizontal .q-stepper__line:after{position:absolute;top:50%;height:1px;width:100vw;background:#0000001f}.q-stepper--horizontal .q-stepper__label:after,.q-stepper--horizontal .q-stepper__dot:after{content:"";left:100%;margin-left:8px}.q-stepper--horizontal .q-stepper__dot:before{content:"";right:100%;margin-right:8px}.q-stepper--horizontal>.q-stepper__nav{padding:0 24px 24px}.q-stepper--vertical{padding:16px 0}.q-stepper--vertical .q-stepper__tab{padding:12px 24px}.q-stepper--vertical .q-stepper__title{line-height:18px}.q-stepper--vertical .q-stepper__step-inner{padding:0 24px 32px 60px}.q-stepper--vertical>.q-stepper__nav{padding:24px 24px 0}.q-stepper--vertical .q-stepper__step{overflow:hidden}.q-stepper--vertical .q-stepper__dot{margin-right:12px}.q-stepper--vertical .q-stepper__dot:before,.q-stepper--vertical .q-stepper__dot:after{content:"";position:absolute;left:50%;width:1px;height:99999px;background:#0000001f}.q-stepper--vertical .q-stepper__dot:before{bottom:100%;margin-bottom:8px}.q-stepper--vertical .q-stepper__dot:after{top:100%;margin-top:8px}.q-stepper--vertical .q-stepper__step:first-child .q-stepper__dot:before,.q-stepper--vertical .q-stepper__step:last-child .q-stepper__dot:after{display:none}.q-stepper--vertical .q-stepper__step:last-child .q-stepper__step-inner{padding-bottom:8px}.q-stepper--dark.q-stepper--bordered,.q-stepper--dark .q-stepper__header--border{border-color:#ffffff47}.q-stepper--dark.q-stepper--horizontal .q-stepper__line:before,.q-stepper--dark.q-stepper--horizontal .q-stepper__line:after{background:#ffffff47}.q-stepper--dark.q-stepper--vertical .q-stepper__dot:before,.q-stepper--dark.q-stepper--vertical .q-stepper__dot:after{background:#ffffff47}.q-stepper--dark .q-stepper__tab--disabled{color:#ffffff47}.q-stepper--dark .q-stepper__tab--disabled .q-stepper__dot{background:#ffffff47}.q-stepper--dark .q-stepper__tab--disabled .q-stepper__label{color:#ffffff8a}.q-tab-panels{background:#fff}.q-tab-panel{padding:16px}.q-markup-table{overflow:auto;background:#fff}.q-table{width:100%;max-width:100%;border-collapse:separate;border-spacing:0}.q-table thead tr,.q-table tbody td{height:48px}.q-table th{font-weight:500;font-size:12px;-webkit-user-select:none;user-select:none}.q-table th.sortable{cursor:pointer}.q-table th.sortable:hover .q-table__sort-icon{opacity:.64}.q-table th.sorted .q-table__sort-icon{opacity:.86!important}.q-table th.sort-desc .q-table__sort-icon{transform:rotate(180deg)}.q-table th,.q-table td{padding:7px 16px;background-color:inherit}.q-table thead,.q-table td,.q-table th{border-style:solid;border-width:0}.q-table tbody td{font-size:13px}.q-table__card{color:#000;background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.q-table__card .q-table__middle{flex:1 1 auto}.q-table__card .q-table__top,.q-table__card .q-table__bottom{flex:0 0 auto}.q-table__container{position:relative}.q-table__container>div:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-table__container>div:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.q-table__container>.q-inner-loading{border-radius:inherit!important}.q-table__top{padding:12px 16px}.q-table__top .q-table__control{flex-wrap:wrap}.q-table__title{font-size:20px;letter-spacing:.005em;font-weight:400}.q-table__separator{min-width:8px!important}.q-table__progress{height:0!important}.q-table__progress th{padding:0!important;border:0!important}.q-table__progress .q-linear-progress{position:absolute;bottom:0}.q-table__middle{max-width:100%}.q-table__bottom{min-height:50px;padding:4px 14px 4px 16px;font-size:12px}.q-table__bottom .q-table__control{min-height:24px}.q-table__bottom-nodata-icon{font-size:200%;margin-right:8px}.q-table__bottom-item{margin-right:16px}.q-table__control{display:flex;align-items:center}.q-table__sort-icon{transition:transform .3s cubic-bezier(.25,.8,.5,1);opacity:0;font-size:120%}.q-table__sort-icon--left,.q-table__sort-icon--center{margin-left:4px}.q-table__sort-icon--right{margin-right:4px}.q-table--col-auto-width{width:1px}.q-table__card--dark,.q-table--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-table--flat{box-shadow:none}.q-table--bordered{border:1px solid rgba(0,0,0,.12)}.q-table--square{border-radius:0}.q-table__linear-progress{height:2px}.q-table--no-wrap th,.q-table--no-wrap td{white-space:nowrap}.q-table--grid{box-shadow:none;border-radius:4px}.q-table--grid .q-table__top{padding-bottom:4px}.q-table--grid .q-table__middle{min-height:2px;margin-bottom:4px}.q-table--grid .q-table__middle thead,.q-table--grid .q-table__middle thead th{border:0!important}.q-table--grid .q-table__linear-progress{bottom:0}.q-table--grid .q-table__bottom{border-top:0}.q-table--grid .q-table__grid-content{flex:1 1 auto}.q-table--grid.fullscreen{background:inherit}.q-table__grid-item-card{vertical-align:top;padding:12px}.q-table__grid-item-card .q-separator{margin:12px 0}.q-table__grid-item-row+.q-table__grid-item-row{margin-top:8px}.q-table__grid-item-title{opacity:.54;font-weight:500;font-size:12px}.q-table__grid-item-value{font-size:13px}.q-table__grid-item{padding:4px;transition:transform .3s cubic-bezier(.25,.8,.5,1)}.q-table__grid-item--selected{transform:scale(.95)}.q-table--horizontal-separator thead th,.q-table--horizontal-separator tbody tr:not(:last-child)>td,.q-table--cell-separator thead th,.q-table--cell-separator tbody tr:not(:last-child)>td{border-bottom-width:1px}.q-table--vertical-separator td,.q-table--vertical-separator th,.q-table--cell-separator td,.q-table--cell-separator th{border-left-width:1px}.q-table--vertical-separator thead tr:last-child th,.q-table--vertical-separator.q-table--loading tr:nth-last-child(2) th,.q-table--cell-separator thead tr:last-child th,.q-table--cell-separator.q-table--loading tr:nth-last-child(2) th{border-bottom-width:1px}.q-table--vertical-separator td:first-child,.q-table--vertical-separator th:first-child,.q-table--cell-separator td:first-child,.q-table--cell-separator th:first-child{border-left:0}.q-table--vertical-separator .q-table__top,.q-table--cell-separator .q-table__top{border-bottom:1px solid rgba(0,0,0,.12)}.q-table--dense .q-table__top{padding:6px 16px}.q-table--dense .q-table__bottom{min-height:33px}.q-table--dense .q-table__sort-icon{font-size:110%}.q-table--dense .q-table th,.q-table--dense .q-table td{padding:4px 8px}.q-table--dense .q-table thead tr,.q-table--dense .q-table tbody tr,.q-table--dense .q-table tbody td{height:28px}.q-table--dense .q-table th:first-child,.q-table--dense .q-table td:first-child{padding-left:16px}.q-table--dense .q-table th:last-child,.q-table--dense .q-table td:last-child{padding-right:16px}.q-table--dense .q-table__bottom-item{margin-right:8px}.q-table--dense .q-table__select .q-field__control,.q-table--dense .q-table__select .q-field__native{min-height:24px;padding:0}.q-table--dense .q-table__select .q-field__marginal{height:24px}.q-table__bottom:not(.q-table__bottom--nodata){border-top:1px solid rgba(0,0,0,.12)}.q-table thead,.q-table tr,.q-table th,.q-table td{border-color:#0000001f}.q-table tbody td{position:relative}.q-table tbody td:before,.q-table tbody td:after{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.q-table tbody td:before{background:#00000008}.q-table tbody td:after{background:#0000000f}.q-table tbody tr.selected td:after{content:""}body.desktop .q-table>tbody>tr:not(.q-tr--no-hover):hover>td:not(.q-td--no-hover):before{content:""}.q-table__card--dark,.q-table--dark,.q-table--dark .q-table__bottom,.q-table--dark thead,.q-table--dark tr,.q-table--dark th,.q-table--dark td{border-color:#ffffff47}.q-table--dark tbody td:before{background:#ffffff12}.q-table--dark tbody td:after{background:#ffffff1a}.q-table--dark.q-table--vertical-separator .q-table__top,.q-table--dark.q-table--cell-separator .q-table__top{border-color:#ffffff47}.q-tab{padding:0 16px;min-height:48px;transition:color .3s,background-color .3s;text-transform:uppercase;white-space:nowrap;color:inherit;text-decoration:none}.q-tab--full{min-height:72px}.q-tab--no-caps{text-transform:none}.q-tab__content{height:inherit;padding:4px 0;min-width:40px}.q-tab__content--inline .q-tab__icon+.q-tab__label{padding-left:8px}.q-tab__content .q-chip--floating{top:0;right:-16px}.q-tab__icon{width:24px;height:24px;font-size:24px}.q-tab__label{font-size:14px;line-height:1.715em;font-weight:500}.q-tab .q-badge{top:3px;right:-12px}.q-tab__alert,.q-tab__alert-icon{position:absolute}.q-tab__alert{top:7px;right:-9px;height:10px;width:10px;border-radius:50%;background:currentColor}.q-tab__alert-icon{top:2px;right:-12px;font-size:18px}.q-tab__indicator{opacity:0;height:2px;background:currentColor}.q-tab--active .q-tab__indicator{opacity:1;transform-origin:left}.q-tab--inactive{opacity:.85}.q-tabs{position:relative;transition:color .3s,background-color .3s}.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--horizontal{padding-left:36px;padding-right:36px}.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--vertical{padding-top:36px;padding-bottom:36px}.q-tabs--scrollable.q-tabs__arrows--outside .q-tabs__arrow--faded{opacity:.3;pointer-events:none}.q-tabs--scrollable.q-tabs__arrows--inside .q-tabs__arrow--faded{display:none}.q-tabs--not-scrollable.q-tabs__arrows--outside,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows.q-tabs__arrows--outside{padding-left:0;padding-right:0}.q-tabs--not-scrollable .q-tabs__arrow,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows .q-tabs__arrow{display:none}.q-tabs--not-scrollable .q-tabs__content,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows .q-tabs__content{border-radius:inherit}.q-tabs__arrow{cursor:pointer;font-size:32px;min-width:36px;text-shadow:0 0 3px #fff,0 0 1px #fff,0 0 1px #000;transition:opacity .3s}.q-tabs__content{overflow:hidden;flex:1 1 auto}.q-tabs__content--align-center{justify-content:center}.q-tabs__content--align-right{justify-content:flex-end}.q-tabs__content--align-justify .q-tab{flex:1 1 auto}.q-tabs__offset{display:none}.q-tabs--horizontal .q-tabs__arrow{height:100%}.q-tabs--horizontal .q-tabs__arrow--left{top:0;left:0;bottom:0}.q-tabs--horizontal .q-tabs__arrow--right{top:0;right:0;bottom:0}.q-tabs--vertical,.q-tabs--vertical .q-tabs__content{display:block!important;height:100%}.q-tabs--vertical .q-tabs__arrow{width:100%;height:36px;text-align:center}.q-tabs--vertical .q-tabs__arrow--left{top:0;left:0;right:0}.q-tabs--vertical .q-tabs__arrow--right{left:0;right:0;bottom:0}.q-tabs--vertical .q-tab{padding:0 8px}.q-tabs--vertical .q-tab__indicator{height:unset;width:2px}.q-tabs--vertical.q-tabs--not-scrollable .q-tabs__content{height:100%}.q-tabs--vertical.q-tabs--dense .q-tab__content{min-width:24px}.q-tabs--dense .q-tab{min-height:36px}.q-tabs--dense .q-tab--full{min-height:52px}.q-time{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;background:#fff;outline:0;width:290px;min-width:290px;max-width:100%}.q-time--bordered{border:1px solid rgba(0,0,0,.12)}.q-time__header{border-top-left-radius:inherit;color:#fff;background-color:var(--q-primary);padding:16px;font-weight:300}.q-time__actions{padding:0 16px 16px}.q-time__header-label{font-size:28px;line-height:1;letter-spacing:-.00833em}.q-time__header-label>div+div{margin-left:4px}.q-time__link{opacity:.56;outline:0;transition:opacity .3s ease-out}.q-time__link--active,.q-time__link:hover,.q-time__link:focus{opacity:1}.q-time__header-ampm{font-size:16px;letter-spacing:.1em}.q-time__content{padding:16px}.q-time__content:before{content:"";display:block;padding-bottom:100%}.q-time__container-parent{padding:16px}.q-time__container-child{border-radius:50%;background:#0000001f}.q-time__clock{padding:24px;width:100%;height:100%;max-width:100%;max-height:100%;font-size:14px}.q-time__clock-circle{position:relative}.q-time__clock-center{height:6px;width:6px;margin:auto;border-radius:50%;min-height:0;background:currentColor}.q-time__clock-pointer{width:2px;height:50%;transform-origin:0 0;min-height:0;position:absolute;left:50%;right:0;bottom:0;color:var(--q-primary);background:currentColor;transform:translate(-50%)}.q-time__clock-pointer:before,.q-time__clock-pointer:after{content:"";position:absolute;left:50%;border-radius:50%;background:currentColor;transform:translate(-50%)}.q-time__clock-pointer:before{bottom:-4px;width:8px;height:8px}.q-time__clock-pointer:after{top:-3px;height:6px;width:6px}.q-time__clock-position{position:absolute;min-height:32px;width:32px;height:32px;font-size:12px;line-height:32px;margin:0;padding:0;transform:translate(-50%,-50%);border-radius:50%}.q-time__clock-position--disable{opacity:.4}.q-time__clock-position--active{background-color:var(--q-primary);color:#fff}.q-time__clock-pos-0{top:0%;left:50%}.q-time__clock-pos-1{top:6.7%;left:75%}.q-time__clock-pos-2{top:25%;left:93.3%}.q-time__clock-pos-3{top:50%;left:100%}.q-time__clock-pos-4{top:75%;left:93.3%}.q-time__clock-pos-5{top:93.3%;left:75%}.q-time__clock-pos-6{top:100%;left:50%}.q-time__clock-pos-7{top:93.3%;left:25%}.q-time__clock-pos-8{top:75%;left:6.7%}.q-time__clock-pos-9{top:50%;left:0%}.q-time__clock-pos-10{top:25%;left:6.7%}.q-time__clock-pos-11{top:6.7%;left:25%}.q-time__clock-pos-12{top:15%;left:50%}.q-time__clock-pos-13{top:19.69%;left:67.5%}.q-time__clock-pos-14{top:32.5%;left:80.31%}.q-time__clock-pos-15{top:50%;left:85%}.q-time__clock-pos-16{top:67.5%;left:80.31%}.q-time__clock-pos-17{top:80.31%;left:67.5%}.q-time__clock-pos-18{top:85%;left:50%}.q-time__clock-pos-19{top:80.31%;left:32.5%}.q-time__clock-pos-20{top:67.5%;left:19.69%}.q-time__clock-pos-21{top:50%;left:15%}.q-time__clock-pos-22{top:32.5%;left:19.69%}.q-time__clock-pos-23{top:19.69%;left:32.5%}.q-time__now-button{background-color:var(--q-primary);color:#fff;top:12px;right:12px}.q-time.disabled .q-time__header-ampm,.q-time.disabled .q-time__content,.q-time--readonly .q-time__header-ampm,.q-time--readonly .q-time__content{pointer-events:none}.q-time--portrait{display:inline-flex;flex-direction:column}.q-time--portrait .q-time__header{border-top-right-radius:inherit;min-height:86px}.q-time--portrait .q-time__header-ampm{margin-left:12px}.q-time--portrait.q-time--bordered .q-time__content{margin:1px 0}.q-time--landscape{display:inline-flex;align-items:stretch;min-width:420px}.q-time--landscape>div{display:flex;flex-direction:column;justify-content:center}.q-time--landscape .q-time__header{border-bottom-left-radius:inherit;min-width:156px}.q-time--landscape .q-time__header-ampm{margin-top:12px}.q-time--dark{border-color:#ffffff47;box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-timeline{padding:0;width:100%;list-style:none}.q-timeline h6{line-height:inherit}.q-timeline--dark{color:#fff}.q-timeline--dark .q-timeline__subtitle{opacity:.7}.q-timeline__content{padding-bottom:24px}.q-timeline__title{margin-top:0;margin-bottom:16px}.q-timeline__subtitle{font-size:12px;margin-bottom:8px;opacity:.6;text-transform:uppercase;letter-spacing:1px;font-weight:700}.q-timeline__dot{position:absolute;top:0;bottom:0;width:15px}.q-timeline__dot:before,.q-timeline__dot:after{content:"";background:currentColor;display:block;position:absolute}.q-timeline__dot:before{border:3px solid transparent;border-radius:100%;height:15px;width:15px;top:4px;left:0;transition:background .3s ease-in-out,border .3s ease-in-out}.q-timeline__dot:after{width:3px;opacity:.4;top:24px;bottom:0;left:6px}.q-timeline__dot .q-icon{position:absolute;top:0;left:0;right:0;font-size:16px;height:38px;line-height:38px;width:100%;color:#fff}.q-timeline__dot .q-icon>svg,.q-timeline__dot .q-icon>img{width:1em;height:1em}.q-timeline__dot-img{position:absolute;top:4px;left:0;right:0;height:31px;width:31px;background:currentColor;border-radius:50%}.q-timeline__heading{position:relative}.q-timeline__heading:first-child .q-timeline__heading-title{padding-top:0}.q-timeline__heading:last-child .q-timeline__heading-title{padding-bottom:0}.q-timeline__heading-title{padding:32px 0;margin:0}.q-timeline__entry{position:relative;line-height:22px}.q-timeline__entry:last-child{padding-bottom:0!important}.q-timeline__entry:last-child .q-timeline__dot:after{content:none}.q-timeline__entry--icon .q-timeline__dot{width:31px}.q-timeline__entry--icon .q-timeline__dot:before{height:31px;width:31px}.q-timeline__entry--icon .q-timeline__dot:after{top:41px;left:14px}.q-timeline__entry--icon .q-timeline__subtitle{padding-top:8px}.q-timeline--dense--right .q-timeline__entry{padding-left:40px}.q-timeline--dense--right .q-timeline__entry--icon .q-timeline__dot{left:-8px}.q-timeline--dense--right .q-timeline__dot{left:0}.q-timeline--dense--left .q-timeline__heading{text-align:right}.q-timeline--dense--left .q-timeline__entry{padding-right:40px}.q-timeline--dense--left .q-timeline__entry--icon .q-timeline__dot{right:-8px}.q-timeline--dense--left .q-timeline__content,.q-timeline--dense--left .q-timeline__title,.q-timeline--dense--left .q-timeline__subtitle{text-align:right}.q-timeline--dense--left .q-timeline__dot{right:0}.q-timeline--comfortable{display:table}.q-timeline--comfortable .q-timeline__heading{display:table-row;font-size:200%}.q-timeline--comfortable .q-timeline__heading>div{display:table-cell}.q-timeline--comfortable .q-timeline__entry{display:table-row;padding:0}.q-timeline--comfortable .q-timeline__entry--icon .q-timeline__content{padding-top:8px}.q-timeline--comfortable .q-timeline__subtitle,.q-timeline--comfortable .q-timeline__dot,.q-timeline--comfortable .q-timeline__content{display:table-cell;vertical-align:top}.q-timeline--comfortable .q-timeline__subtitle{width:35%}.q-timeline--comfortable .q-timeline__dot{position:relative;min-width:31px}.q-timeline--comfortable--right .q-timeline__heading .q-timeline__heading-title{margin-left:-50px}.q-timeline--comfortable--right .q-timeline__subtitle{text-align:right;padding-right:30px}.q-timeline--comfortable--right .q-timeline__content{padding-left:30px}.q-timeline--comfortable--right .q-timeline__entry--icon .q-timeline__dot{left:-8px}.q-timeline--comfortable--left .q-timeline__heading{text-align:right}.q-timeline--comfortable--left .q-timeline__heading .q-timeline__heading-title{margin-right:-50px}.q-timeline--comfortable--left .q-timeline__subtitle{padding-left:30px}.q-timeline--comfortable--left .q-timeline__content{padding-right:30px}.q-timeline--comfortable--left .q-timeline__content,.q-timeline--comfortable--left .q-timeline__title{text-align:right}.q-timeline--comfortable--left .q-timeline__entry--icon .q-timeline__dot{right:0}.q-timeline--comfortable--left .q-timeline__dot{right:-8px}.q-timeline--loose .q-timeline__heading-title{text-align:center;margin-left:0}.q-timeline--loose .q-timeline__entry,.q-timeline--loose .q-timeline__subtitle,.q-timeline--loose .q-timeline__dot,.q-timeline--loose .q-timeline__content{display:block;margin:0;padding:0}.q-timeline--loose .q-timeline__dot{position:absolute;left:50%;margin-left:-7.15px}.q-timeline--loose .q-timeline__entry{padding-bottom:24px;overflow:hidden}.q-timeline--loose .q-timeline__entry--icon .q-timeline__dot{margin-left:-15px}.q-timeline--loose .q-timeline__entry--icon .q-timeline__subtitle{line-height:38px}.q-timeline--loose .q-timeline__entry--icon .q-timeline__content{padding-top:8px}.q-timeline--loose .q-timeline__entry--left .q-timeline__content,.q-timeline--loose .q-timeline__entry--right .q-timeline__subtitle{float:left;padding-right:30px;text-align:right}.q-timeline--loose .q-timeline__entry--left .q-timeline__subtitle,.q-timeline--loose .q-timeline__entry--right .q-timeline__content{float:right;text-align:left;padding-left:30px}.q-timeline--loose .q-timeline__subtitle,.q-timeline--loose .q-timeline__content{width:50%}.q-toggle{vertical-align:middle}.q-toggle__native{width:1px;height:1px}.q-toggle__track{height:.35em;border-radius:.175em;opacity:.38;background:currentColor}.q-toggle__thumb{top:.25em;left:.25em;width:.5em;height:.5em;transition:left .22s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;z-index:0}.q-toggle__thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#fff;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.q-toggle__thumb .q-icon{font-size:.3em;min-width:1em;color:#000;opacity:.54;z-index:1}.q-toggle__inner{font-size:40px;width:1.4em;min-width:1.4em;height:1em;padding:.325em .3em;-webkit-print-color-adjust:exact}.q-toggle__inner--indet .q-toggle__thumb{left:.45em}.q-toggle__inner--truthy{color:var(--q-primary)}.q-toggle__inner--truthy .q-toggle__track{opacity:.54}.q-toggle__inner--truthy .q-toggle__thumb{left:.65em}.q-toggle__inner--truthy .q-toggle__thumb:after{background-color:currentColor}.q-toggle__inner--truthy .q-toggle__thumb .q-icon{color:#fff;opacity:1}.q-toggle.disabled{opacity:.75!important}.q-toggle--dark .q-toggle__inner{color:#fff}.q-toggle--dark .q-toggle__inner--truthy{color:var(--q-primary)}.q-toggle--dark .q-toggle__thumb:after{box-shadow:none}.q-toggle--dark .q-toggle__thumb:before{opacity:.32!important}.q-toggle--dense .q-toggle__inner{width:.8em;min-width:.8em;height:.5em;padding:.07625em 0}.q-toggle--dense .q-toggle__thumb{top:0;left:0}.q-toggle--dense .q-toggle__inner--indet .q-toggle__thumb{left:.15em}.q-toggle--dense .q-toggle__inner--truthy .q-toggle__thumb{left:.3em}.q-toggle--dense .q-toggle__label{padding-left:.5em}.q-toggle--dense.reverse .q-toggle__label{padding-left:0;padding-right:.5em}body.desktop .q-toggle:not(.disabled) .q-toggle__thumb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1)}body.desktop .q-toggle:not(.disabled):focus .q-toggle__thumb:before,body.desktop .q-toggle:not(.disabled):hover .q-toggle__thumb:before{transform:scale3d(2,2,1)}body.desktop .q-toggle--dense:not(.disabled):focus .q-toggle__thumb:before,body.desktop .q-toggle--dense:not(.disabled):hover .q-toggle__thumb:before{transform:scale3d(1.5,1.5,1)}.q-toolbar{position:relative;padding:0 12px;min-height:50px;width:100%}.q-toolbar--inset{padding-left:58px}.q-toolbar .q-avatar{font-size:38px}.q-toolbar__title{flex:1 1 0%;min-width:1px;max-width:100%;font-size:21px;font-weight:400;letter-spacing:.01em;padding:0 12px}.q-toolbar__title:first-child{padding-left:0}.q-toolbar__title:last-child{padding-right:0}.q-tooltip--style{font-size:10px;color:#fafafa;background:#757575;border-radius:4px;text-transform:none;font-weight:400}.q-tooltip{z-index:9000;position:fixed!important;overflow-y:auto;overflow-x:hidden;padding:6px 10px;max-width:95vw;max-height:65vh}@media(max-width:599.98px){.q-tooltip{font-size:14px;padding:8px 16px}}.q-tree{position:relative;color:#9e9e9e}.q-tree__node{padding:0 0 3px 22px}.q-tree__node:after{content:"";position:absolute;top:-3px;bottom:0;width:2px;right:auto;left:-13px;border-left:1px solid currentColor}.q-tree__node:last-child:after{display:none}.q-tree__node--disabled{pointer-events:none}.q-tree__node--disabled .disabled{opacity:1!important}.q-tree__node--disabled>div,.q-tree__node--disabled>i,.q-tree__node--disabled>.disabled{opacity:.6!important}.q-tree__node--disabled>div .q-tree__node--disabled>div,.q-tree__node--disabled>div .q-tree__node--disabled>i,.q-tree__node--disabled>div .q-tree__node--disabled>.disabled,.q-tree__node--disabled>i .q-tree__node--disabled>div,.q-tree__node--disabled>i .q-tree__node--disabled>i,.q-tree__node--disabled>i .q-tree__node--disabled>.disabled,.q-tree__node--disabled>.disabled .q-tree__node--disabled>div,.q-tree__node--disabled>.disabled .q-tree__node--disabled>i,.q-tree__node--disabled>.disabled .q-tree__node--disabled>.disabled{opacity:1!important}.q-tree__node-header:before{content:"";position:absolute;top:-3px;bottom:50%;width:31px;left:-35px;border-left:1px solid currentColor;border-bottom:1px solid currentColor}.q-tree__children{padding-left:25px}.q-tree__node-body{padding:5px 0 8px 5px}.q-tree__node--parent{padding-left:2px}.q-tree__node--parent>.q-tree__node-header:before{width:15px;left:-15px}.q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body{padding:5px 0 8px 27px}.q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body:after{content:"";position:absolute;top:0;width:2px;height:100%;right:auto;left:12px;border-left:1px solid currentColor;bottom:50px}.q-tree__node--link{cursor:pointer}.q-tree__node-header{padding:4px;margin-top:3px;border-radius:4px;outline:0}.q-tree__node-header-content{color:#000;transition:color .3s}.q-tree__node--selected .q-tree__node-header-content{color:#9e9e9e}.q-tree__icon,.q-tree__node-header-content .q-icon{font-size:21px}.q-tree__img{height:42px;border-radius:2px}.q-tree__avatar,.q-tree__node-header-content .q-avatar{font-size:28px;border-radius:50%;width:28px;height:28px}.q-tree__arrow,.q-tree__spinner{font-size:16px;margin-right:4px}.q-tree__arrow{transition:transform .3s}.q-tree__arrow--rotate{transform:rotate3d(0,0,1,90deg)}.q-tree__tickbox{margin-right:4px}.q-tree>.q-tree__node{padding:0}.q-tree>.q-tree__node:after,.q-tree>.q-tree__node>.q-tree__node-header:before{display:none}.q-tree>.q-tree__node--child>.q-tree__node-header{padding-left:24px}.q-tree--dark .q-tree__node-header-content{color:#fff}.q-tree--no-connectors .q-tree__node:after,.q-tree--no-connectors .q-tree__node-header:before,.q-tree--no-connectors .q-tree__node-body:after{display:none!important}.q-tree--dense>.q-tree__node--child>.q-tree__node-header{padding-left:1px}.q-tree--dense .q-tree__arrow,.q-tree--dense .q-tree__spinner{margin-right:1px}.q-tree--dense .q-tree__img{height:32px}.q-tree--dense .q-tree__tickbox{margin-right:3px}.q-tree--dense .q-tree__node{padding:0}.q-tree--dense .q-tree__node:after{top:0;left:-8px}.q-tree--dense .q-tree__node-header{margin-top:0;padding:1px}.q-tree--dense .q-tree__node-header:before{top:0;left:-8px;width:8px}.q-tree--dense .q-tree__node--child{padding-left:17px}.q-tree--dense .q-tree__node--child>.q-tree__node-header:before{left:-25px;width:21px}.q-tree--dense .q-tree__node-body{padding:0 0 2px}.q-tree--dense .q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body{padding:0 0 2px 20px}.q-tree--dense .q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body:after{left:8px}.q-tree--dense .q-tree__children{padding-left:16px}[dir=rtl] .q-tree__arrow{transform:rotate3d(0,0,1,180deg)}[dir=rtl] .q-tree__arrow--rotate{transform:rotate3d(0,0,1,90deg)}.q-uploader{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;vertical-align:top;background:#fff;position:relative;width:320px;max-height:320px}.q-uploader--bordered{border:1px solid rgba(0,0,0,.12)}.q-uploader__input{opacity:0;width:100%;height:100%;cursor:pointer!important;z-index:1}.q-uploader__input::-webkit-file-upload-button{cursor:pointer}.q-uploader__file:before{content:"";border-top-left-radius:inherit;border-top-right-radius:inherit;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:currentColor;opacity:.04}.q-uploader__header{position:relative;border-top-left-radius:inherit;border-top-right-radius:inherit;background-color:var(--q-primary);color:#fff;width:100%}.q-uploader__spinner{font-size:24px;margin-right:4px}.q-uploader__header-content{padding:8px}.q-uploader__dnd{outline:1px dashed currentColor;outline-offset:-4px;background:#fff9}.q-uploader__overlay{font-size:36px;color:#000;background-color:#fff9}.q-uploader__list{position:relative;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;padding:8px;min-height:60px;flex:1 1 auto}.q-uploader__file{border-radius:4px 4px 0 0;border:1px solid rgba(0,0,0,.12)}.q-uploader__file .q-circular-progress{font-size:24px}.q-uploader__file--img{color:#fff;height:200px;min-width:200px;background-position:50% 50%;background-repeat:no-repeat}.q-uploader__file--img:before{content:none}.q-uploader__file--img .q-circular-progress{color:#fff}.q-uploader__file--img .q-uploader__file-header{padding-bottom:24px;background:linear-gradient(to bottom,#000000b3 20%,#fff0)}.q-uploader__file+.q-uploader__file{margin-top:8px}.q-uploader__file-header{position:relative;padding:4px 8px;border-top-left-radius:inherit;border-top-right-radius:inherit}.q-uploader__file-header-content{padding-right:8px}.q-uploader__file-status{font-size:24px;margin-right:4px}.q-uploader__title{font-size:14px;font-weight:700;line-height:1.285714;word-break:break-word}.q-uploader__subtitle{font-size:12px;line-height:1.5}.q-uploader--disable .q-uploader__header,.q-uploader--disable .q-uploader__list{pointer-events:none}.q-uploader--dark{border-color:#ffffff47;box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-uploader--dark .q-uploader__file{border-color:#ffffff47}.q-uploader--dark .q-uploader__dnd,.q-uploader--dark .q-uploader__overlay{background:#ffffff4d}.q-uploader--dark .q-uploader__overlay{color:#fff}.q-video{position:relative;overflow:hidden;border-radius:inherit}.q-video iframe,.q-video object,.q-video embed{width:100%;height:100%}.q-video--responsive{height:0}.q-video--responsive iframe,.q-video--responsive object,.q-video--responsive embed{position:absolute;top:0;left:0}.q-virtual-scroll:focus{outline:0}.q-virtual-scroll__content{outline:none;contain:content}.q-virtual-scroll__content>*{overflow-anchor:none}.q-virtual-scroll__content>[data-q-vs-anchor]{overflow-anchor:auto}.q-virtual-scroll__padding{background:linear-gradient(#fff0,#fff0 20%,#80808008 20%,#80808014,#80808008 80%,#fff0 80%,#fff0);background-size:var(--q-virtual-scroll-item-width, 100%) var(--q-virtual-scroll-item-height, 50px)}.q-table .q-virtual-scroll__padding tr{height:0!important}.q-table .q-virtual-scroll__padding td{padding:0!important}.q-virtual-scroll--horizontal{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch}.q-virtual-scroll--horizontal .q-virtual-scroll__content{display:flex;flex-direction:row;flex-wrap:nowrap}.q-virtual-scroll--horizontal .q-virtual-scroll__padding,.q-virtual-scroll--horizontal .q-virtual-scroll__content,.q-virtual-scroll--horizontal .q-virtual-scroll__content>*{flex:0 0 auto}.q-virtual-scroll--horizontal .q-virtual-scroll__padding{background:linear-gradient(to left,#fff0,#fff0 20%,#80808008 20%,#80808014,#80808008 80%,#fff0 80%,#fff0);background-size:var(--q-virtual-scroll-item-width, 50px) var(--q-virtual-scroll-item-height, 100%)}.q-ripple{position:absolute;top:0;left:0;width:100%;height:100%;color:inherit;border-radius:inherit;z-index:0;pointer-events:none;overflow:hidden;contain:strict}.q-ripple__inner{position:absolute;top:0;left:0;opacity:0;color:inherit;border-radius:50%;background:currentColor;pointer-events:none;will-change:transform,opacity}.q-ripple__inner--enter{transition:transform .225s cubic-bezier(.4,0,.2,1),opacity .1s cubic-bezier(.4,0,.2,1)}.q-ripple__inner--leave{transition:opacity .25s cubic-bezier(.4,0,.2,1)}.q-morph--invisible,.q-morph--internal{opacity:0!important;pointer-events:none!important;position:fixed!important;right:200vw!important;bottom:200vh!important}.q-bottom-sheet{padding-bottom:8px}.q-bottom-sheet__avatar{border-radius:50%}.q-bottom-sheet--list{width:400px}.q-bottom-sheet--list .q-icon,.q-bottom-sheet--list img{font-size:24px;width:24px;height:24px}.q-bottom-sheet--grid{width:700px}.q-bottom-sheet--grid .q-bottom-sheet__item{padding:8px;text-align:center;min-width:100px}.q-bottom-sheet--grid .q-icon,.q-bottom-sheet--grid img,.q-bottom-sheet--grid .q-bottom-sheet__empty-icon{font-size:48px;width:48px;height:48px;margin-bottom:8px}.q-bottom-sheet--grid .q-separator{margin:12px 0}.q-bottom-sheet__item{flex:0 0 33.3333%}@media(min-width:600px){.q-bottom-sheet__item{flex:0 0 25%}}.q-dialog-plugin{width:400px}.q-dialog-plugin__form{max-height:50vh}.q-dialog-plugin .q-card__section+.q-card__section{padding-top:0}.q-dialog-plugin--progress{text-align:center}.q-loading{color:#000;position:fixed!important}.q-loading__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;opacity:.5;z-index:-1;background-color:#000;transition:background-color .28s}.q-loading__box{border-radius:4px;padding:18px;color:#fff;max-width:450px}.q-loading__message{margin:40px 20px 0;text-align:center}.q-notifications__list{z-index:9500;pointer-events:none;left:0;right:0;margin-bottom:10px;position:relative}.q-notifications__list--center{top:0;bottom:0}.q-notifications__list--top{top:0}.q-notifications__list--bottom{bottom:0}body.q-ios-padding .q-notifications__list--center,body.q-ios-padding .q-notifications__list--top{top:20px;top:env(safe-area-inset-top)}body.q-ios-padding .q-notifications__list--center,body.q-ios-padding .q-notifications__list--bottom{bottom:env(safe-area-inset-bottom)}.q-notification{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;pointer-events:all;display:inline-flex;margin:10px 10px 0;transition:transform 1s,opacity 1s;z-index:9500;flex-shrink:0;max-width:95vw;background:#323232;color:#fff;font-size:14px}.q-notification__icon{font-size:24px;flex:0 0 1em}.q-notification__icon--additional{margin-right:16px}.q-notification__avatar{font-size:32px}.q-notification__avatar--additional{margin-right:8px}.q-notification__spinner{font-size:32px}.q-notification__spinner--additional{margin-right:8px}.q-notification__message{padding:8px 0}.q-notification__caption{font-size:.9em;opacity:.7}.q-notification__actions{color:var(--q-primary)}.q-notification__badge{animation:q-notif-badge .42s;padding:4px 8px;position:absolute;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;background-color:var(--q-negative);color:#fff;border-radius:4px;font-size:12px;line-height:12px}.q-notification__badge--top-left,.q-notification__badge--top-right{top:-6px}.q-notification__badge--bottom-left,.q-notification__badge--bottom-right{bottom:-6px}.q-notification__badge--top-left,.q-notification__badge--bottom-left{left:-22px}.q-notification__badge--top-right,.q-notification__badge--bottom-right{right:-22px}.q-notification__progress{z-index:-1;position:absolute;height:3px;bottom:0;left:-10px;right:-10px;animation:q-notif-progress linear;background:currentColor;opacity:.3;border-radius:4px 4px 0 0;transform-origin:0 50%;transform:scaleX(0)}.q-notification--standard{padding:0 16px;min-height:48px}.q-notification--standard .q-notification__actions{padding:6px 0 6px 8px;margin-right:-8px}.q-notification--multi-line{min-height:68px;padding:8px 16px}.q-notification--multi-line .q-notification__badge--top-left,.q-notification--multi-line .q-notification__badge--top-right{top:-15px}.q-notification--multi-line .q-notification__badge--bottom-left,.q-notification--multi-line .q-notification__badge--bottom-right{bottom:-15px}.q-notification--multi-line .q-notification__progress{bottom:-8px}.q-notification--multi-line .q-notification__actions{padding:0}.q-notification--multi-line .q-notification__actions--with-media{padding-left:25px}.q-notification--top-left-enter-from,.q-notification--top-left-leave-to,.q-notification--top-enter-from,.q-notification--top-leave-to,.q-notification--top-right-enter-from,.q-notification--top-right-leave-to{opacity:0;transform:translateY(-50px);z-index:9499}.q-notification--left-enter-from,.q-notification--left-leave-to,.q-notification--center-enter-from,.q-notification--center-leave-to,.q-notification--right-enter-from,.q-notification--right-leave-to{opacity:0;transform:rotateX(90deg);z-index:9499}.q-notification--bottom-left-enter-from,.q-notification--bottom-left-leave-to,.q-notification--bottom-enter-from,.q-notification--bottom-leave-to,.q-notification--bottom-right-enter-from,.q-notification--bottom-right-leave-to{opacity:0;transform:translateY(50px);z-index:9499}.q-notification--top-left-leave-active,.q-notification--top-leave-active,.q-notification--top-right-leave-active,.q-notification--left-leave-active,.q-notification--center-leave-active,.q-notification--right-leave-active,.q-notification--bottom-left-leave-active,.q-notification--bottom-leave-active,.q-notification--bottom-right-leave-active{position:absolute;z-index:9499;margin-left:0;margin-right:0}.q-notification--top-leave-active,.q-notification--center-leave-active{top:0}.q-notification--bottom-left-leave-active,.q-notification--bottom-leave-active,.q-notification--bottom-right-leave-active{bottom:0}@media(min-width:600px){.q-notification{max-width:65vw}}@keyframes q-notif-badge{15%{transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}@keyframes q-notif-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}:root{--animate-duration: .3s;--animate-delay: .3s;--animate-repeat: 1}.animated{animation-duration:var(--animate-duration);animation-fill-mode:both}.animated.infinite{animation-iteration-count:infinite}.animated.hinge{animation-duration:2s}.animated.repeat-1{animation-iteration-count:var(--animate-repeat)}.animated.repeat-2{animation-iteration-count:calc(var(--animate-repeat) * 2)}.animated.repeat-3{animation-iteration-count:calc(var(--animate-repeat) * 3)}.animated.delay-1s{animation-delay:var(--animate-delay)}.animated.delay-2s{animation-delay:calc(var(--animate-delay) * 2)}.animated.delay-3s{animation-delay:calc(var(--animate-delay) * 3)}.animated.delay-4s{animation-delay:calc(var(--animate-delay) * 4)}.animated.delay-5s{animation-delay:calc(var(--animate-delay) * 5)}.animated.faster{animation-duration:calc(var(--animate-duration) / 2)}.animated.fast{animation-duration:calc(var(--animate-duration) * .8)}.animated.slow{animation-duration:calc(var(--animate-duration) * 2)}.animated.slower{animation-duration:calc(var(--animate-duration) * 3)}@media print,(prefers-reduced-motion:reduce){.animated{animation-duration:1ms!important;transition-duration:1ms!important;animation-iteration-count:1!important}.animated[class*=Out]{opacity:0}}.q-animate--scale{animation:q-scale .15s;animation-timing-function:cubic-bezier(.25,.8,.25,1)}@keyframes q-scale{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.q-animate--fade{animation:q-fade .2s}@keyframes q-fade{0%{opacity:0}to{opacity:1}}:root{--q-primary: #1976d2;--q-secondary: #26a69a;--q-accent: #9c27b0;--q-positive: #21ba45;--q-negative: #c10015;--q-info: #31ccec;--q-warning: #f2c037;--q-dark: #1d1d1d;--q-dark-page: #121212}.text-dark{color:var(--q-dark)!important}.bg-dark{background:var(--q-dark)!important}.text-primary{color:var(--q-primary)!important}.bg-primary{background:var(--q-primary)!important}.text-secondary{color:var(--q-secondary)!important}.bg-secondary{background:var(--q-secondary)!important}.text-accent{color:var(--q-accent)!important}.bg-accent{background:var(--q-accent)!important}.text-positive{color:var(--q-positive)!important}.bg-positive{background:var(--q-positive)!important}.text-negative{color:var(--q-negative)!important}.bg-negative{background:var(--q-negative)!important}.text-info{color:var(--q-info)!important}.bg-info{background:var(--q-info)!important}.text-warning{color:var(--q-warning)!important}.bg-warning{background:var(--q-warning)!important}.text-white{color:#fff!important}.bg-white{background:#fff!important}.text-black{color:#000!important}.bg-black{background:#000!important}.text-transparent{color:transparent!important}.bg-transparent{background:transparent!important}.text-separator{color:#0000001f!important}.bg-separator{background:#0000001f!important}.text-dark-separator{color:#ffffff47!important}.bg-dark-separator{background:#ffffff47!important}.text-red{color:#f44336!important}.text-red-1{color:#ffebee!important}.text-red-2{color:#ffcdd2!important}.text-red-3{color:#ef9a9a!important}.text-red-4{color:#e57373!important}.text-red-5{color:#ef5350!important}.text-red-6{color:#f44336!important}.text-red-7{color:#e53935!important}.text-red-8{color:#d32f2f!important}.text-red-9{color:#c62828!important}.text-red-10{color:#b71c1c!important}.text-red-11{color:#ff8a80!important}.text-red-12{color:#ff5252!important}.text-red-13{color:#ff1744!important}.text-red-14{color:#d50000!important}.text-pink{color:#e91e63!important}.text-pink-1{color:#fce4ec!important}.text-pink-2{color:#f8bbd0!important}.text-pink-3{color:#f48fb1!important}.text-pink-4{color:#f06292!important}.text-pink-5{color:#ec407a!important}.text-pink-6{color:#e91e63!important}.text-pink-7{color:#d81b60!important}.text-pink-8{color:#c2185b!important}.text-pink-9{color:#ad1457!important}.text-pink-10{color:#880e4f!important}.text-pink-11{color:#ff80ab!important}.text-pink-12{color:#ff4081!important}.text-pink-13{color:#f50057!important}.text-pink-14{color:#c51162!important}.text-purple{color:#9c27b0!important}.text-purple-1{color:#f3e5f5!important}.text-purple-2{color:#e1bee7!important}.text-purple-3{color:#ce93d8!important}.text-purple-4{color:#ba68c8!important}.text-purple-5{color:#ab47bc!important}.text-purple-6{color:#9c27b0!important}.text-purple-7{color:#8e24aa!important}.text-purple-8{color:#7b1fa2!important}.text-purple-9{color:#6a1b9a!important}.text-purple-10{color:#4a148c!important}.text-purple-11{color:#ea80fc!important}.text-purple-12{color:#e040fb!important}.text-purple-13{color:#d500f9!important}.text-purple-14{color:#a0f!important}.text-deep-purple{color:#673ab7!important}.text-deep-purple-1{color:#ede7f6!important}.text-deep-purple-2{color:#d1c4e9!important}.text-deep-purple-3{color:#b39ddb!important}.text-deep-purple-4{color:#9575cd!important}.text-deep-purple-5{color:#7e57c2!important}.text-deep-purple-6{color:#673ab7!important}.text-deep-purple-7{color:#5e35b1!important}.text-deep-purple-8{color:#512da8!important}.text-deep-purple-9{color:#4527a0!important}.text-deep-purple-10{color:#311b92!important}.text-deep-purple-11{color:#b388ff!important}.text-deep-purple-12{color:#7c4dff!important}.text-deep-purple-13{color:#651fff!important}.text-deep-purple-14{color:#6200ea!important}.text-indigo{color:#3f51b5!important}.text-indigo-1{color:#e8eaf6!important}.text-indigo-2{color:#c5cae9!important}.text-indigo-3{color:#9fa8da!important}.text-indigo-4{color:#7986cb!important}.text-indigo-5{color:#5c6bc0!important}.text-indigo-6{color:#3f51b5!important}.text-indigo-7{color:#3949ab!important}.text-indigo-8{color:#303f9f!important}.text-indigo-9{color:#283593!important}.text-indigo-10{color:#1a237e!important}.text-indigo-11{color:#8c9eff!important}.text-indigo-12{color:#536dfe!important}.text-indigo-13{color:#3d5afe!important}.text-indigo-14{color:#304ffe!important}.text-blue{color:#2196f3!important}.text-blue-1{color:#e3f2fd!important}.text-blue-2{color:#bbdefb!important}.text-blue-3{color:#90caf9!important}.text-blue-4{color:#64b5f6!important}.text-blue-5{color:#42a5f5!important}.text-blue-6{color:#2196f3!important}.text-blue-7{color:#1e88e5!important}.text-blue-8{color:#1976d2!important}.text-blue-9{color:#1565c0!important}.text-blue-10{color:#0d47a1!important}.text-blue-11{color:#82b1ff!important}.text-blue-12{color:#448aff!important}.text-blue-13{color:#2979ff!important}.text-blue-14{color:#2962ff!important}.text-light-blue{color:#03a9f4!important}.text-light-blue-1{color:#e1f5fe!important}.text-light-blue-2{color:#b3e5fc!important}.text-light-blue-3{color:#81d4fa!important}.text-light-blue-4{color:#4fc3f7!important}.text-light-blue-5{color:#29b6f6!important}.text-light-blue-6{color:#03a9f4!important}.text-light-blue-7{color:#039be5!important}.text-light-blue-8{color:#0288d1!important}.text-light-blue-9{color:#0277bd!important}.text-light-blue-10{color:#01579b!important}.text-light-blue-11{color:#80d8ff!important}.text-light-blue-12{color:#40c4ff!important}.text-light-blue-13{color:#00b0ff!important}.text-light-blue-14{color:#0091ea!important}.text-cyan{color:#00bcd4!important}.text-cyan-1{color:#e0f7fa!important}.text-cyan-2{color:#b2ebf2!important}.text-cyan-3{color:#80deea!important}.text-cyan-4{color:#4dd0e1!important}.text-cyan-5{color:#26c6da!important}.text-cyan-6{color:#00bcd4!important}.text-cyan-7{color:#00acc1!important}.text-cyan-8{color:#0097a7!important}.text-cyan-9{color:#00838f!important}.text-cyan-10{color:#006064!important}.text-cyan-11{color:#84ffff!important}.text-cyan-12{color:#18ffff!important}.text-cyan-13{color:#00e5ff!important}.text-cyan-14{color:#00b8d4!important}.text-teal{color:#009688!important}.text-teal-1{color:#e0f2f1!important}.text-teal-2{color:#b2dfdb!important}.text-teal-3{color:#80cbc4!important}.text-teal-4{color:#4db6ac!important}.text-teal-5{color:#26a69a!important}.text-teal-6{color:#009688!important}.text-teal-7{color:#00897b!important}.text-teal-8{color:#00796b!important}.text-teal-9{color:#00695c!important}.text-teal-10{color:#004d40!important}.text-teal-11{color:#a7ffeb!important}.text-teal-12{color:#64ffda!important}.text-teal-13{color:#1de9b6!important}.text-teal-14{color:#00bfa5!important}.text-green{color:#4caf50!important}.text-green-1{color:#e8f5e9!important}.text-green-2{color:#c8e6c9!important}.text-green-3{color:#a5d6a7!important}.text-green-4{color:#81c784!important}.text-green-5{color:#66bb6a!important}.text-green-6{color:#4caf50!important}.text-green-7{color:#43a047!important}.text-green-8{color:#388e3c!important}.text-green-9{color:#2e7d32!important}.text-green-10{color:#1b5e20!important}.text-green-11{color:#b9f6ca!important}.text-green-12{color:#69f0ae!important}.text-green-13{color:#00e676!important}.text-green-14{color:#00c853!important}.text-light-green{color:#8bc34a!important}.text-light-green-1{color:#f1f8e9!important}.text-light-green-2{color:#dcedc8!important}.text-light-green-3{color:#c5e1a5!important}.text-light-green-4{color:#aed581!important}.text-light-green-5{color:#9ccc65!important}.text-light-green-6{color:#8bc34a!important}.text-light-green-7{color:#7cb342!important}.text-light-green-8{color:#689f38!important}.text-light-green-9{color:#558b2f!important}.text-light-green-10{color:#33691e!important}.text-light-green-11{color:#ccff90!important}.text-light-green-12{color:#b2ff59!important}.text-light-green-13{color:#76ff03!important}.text-light-green-14{color:#64dd17!important}.text-lime{color:#cddc39!important}.text-lime-1{color:#f9fbe7!important}.text-lime-2{color:#f0f4c3!important}.text-lime-3{color:#e6ee9c!important}.text-lime-4{color:#dce775!important}.text-lime-5{color:#d4e157!important}.text-lime-6{color:#cddc39!important}.text-lime-7{color:#c0ca33!important}.text-lime-8{color:#afb42b!important}.text-lime-9{color:#9e9d24!important}.text-lime-10{color:#827717!important}.text-lime-11{color:#f4ff81!important}.text-lime-12{color:#eeff41!important}.text-lime-13{color:#c6ff00!important}.text-lime-14{color:#aeea00!important}.text-yellow{color:#ffeb3b!important}.text-yellow-1{color:#fffde7!important}.text-yellow-2{color:#fff9c4!important}.text-yellow-3{color:#fff59d!important}.text-yellow-4{color:#fff176!important}.text-yellow-5{color:#ffee58!important}.text-yellow-6{color:#ffeb3b!important}.text-yellow-7{color:#fdd835!important}.text-yellow-8{color:#fbc02d!important}.text-yellow-9{color:#f9a825!important}.text-yellow-10{color:#f57f17!important}.text-yellow-11{color:#ffff8d!important}.text-yellow-12{color:#ff0!important}.text-yellow-13{color:#ffea00!important}.text-yellow-14{color:#ffd600!important}.text-amber{color:#ffc107!important}.text-amber-1{color:#fff8e1!important}.text-amber-2{color:#ffecb3!important}.text-amber-3{color:#ffe082!important}.text-amber-4{color:#ffd54f!important}.text-amber-5{color:#ffca28!important}.text-amber-6{color:#ffc107!important}.text-amber-7{color:#ffb300!important}.text-amber-8{color:#ffa000!important}.text-amber-9{color:#ff8f00!important}.text-amber-10{color:#ff6f00!important}.text-amber-11{color:#ffe57f!important}.text-amber-12{color:#ffd740!important}.text-amber-13{color:#ffc400!important}.text-amber-14{color:#ffab00!important}.text-orange{color:#ff9800!important}.text-orange-1{color:#fff3e0!important}.text-orange-2{color:#ffe0b2!important}.text-orange-3{color:#ffcc80!important}.text-orange-4{color:#ffb74d!important}.text-orange-5{color:#ffa726!important}.text-orange-6{color:#ff9800!important}.text-orange-7{color:#fb8c00!important}.text-orange-8{color:#f57c00!important}.text-orange-9{color:#ef6c00!important}.text-orange-10{color:#e65100!important}.text-orange-11{color:#ffd180!important}.text-orange-12{color:#ffab40!important}.text-orange-13{color:#ff9100!important}.text-orange-14{color:#ff6d00!important}.text-deep-orange{color:#ff5722!important}.text-deep-orange-1{color:#fbe9e7!important}.text-deep-orange-2{color:#ffccbc!important}.text-deep-orange-3{color:#ffab91!important}.text-deep-orange-4{color:#ff8a65!important}.text-deep-orange-5{color:#ff7043!important}.text-deep-orange-6{color:#ff5722!important}.text-deep-orange-7{color:#f4511e!important}.text-deep-orange-8{color:#e64a19!important}.text-deep-orange-9{color:#d84315!important}.text-deep-orange-10{color:#bf360c!important}.text-deep-orange-11{color:#ff9e80!important}.text-deep-orange-12{color:#ff6e40!important}.text-deep-orange-13{color:#ff3d00!important}.text-deep-orange-14{color:#dd2c00!important}.text-brown{color:#795548!important}.text-brown-1{color:#efebe9!important}.text-brown-2{color:#d7ccc8!important}.text-brown-3{color:#bcaaa4!important}.text-brown-4{color:#a1887f!important}.text-brown-5{color:#8d6e63!important}.text-brown-6{color:#795548!important}.text-brown-7{color:#6d4c41!important}.text-brown-8{color:#5d4037!important}.text-brown-9{color:#4e342e!important}.text-brown-10{color:#3e2723!important}.text-brown-11{color:#d7ccc8!important}.text-brown-12{color:#bcaaa4!important}.text-brown-13{color:#8d6e63!important}.text-brown-14{color:#5d4037!important}.text-grey{color:#9e9e9e!important}.text-grey-1{color:#fafafa!important}.text-grey-2{color:#f5f5f5!important}.text-grey-3{color:#eee!important}.text-grey-4{color:#e0e0e0!important}.text-grey-5{color:#bdbdbd!important}.text-grey-6{color:#9e9e9e!important}.text-grey-7{color:#757575!important}.text-grey-8{color:#616161!important}.text-grey-9{color:#424242!important}.text-grey-10{color:#212121!important}.text-grey-11{color:#f5f5f5!important}.text-grey-12{color:#eee!important}.text-grey-13{color:#bdbdbd!important}.text-grey-14{color:#616161!important}.text-blue-grey{color:#607d8b!important}.text-blue-grey-1{color:#eceff1!important}.text-blue-grey-2{color:#cfd8dc!important}.text-blue-grey-3{color:#b0bec5!important}.text-blue-grey-4{color:#90a4ae!important}.text-blue-grey-5{color:#78909c!important}.text-blue-grey-6{color:#607d8b!important}.text-blue-grey-7{color:#546e7a!important}.text-blue-grey-8{color:#455a64!important}.text-blue-grey-9{color:#37474f!important}.text-blue-grey-10{color:#263238!important}.text-blue-grey-11{color:#cfd8dc!important}.text-blue-grey-12{color:#b0bec5!important}.text-blue-grey-13{color:#78909c!important}.text-blue-grey-14{color:#455a64!important}.bg-red{background:#f44336!important}.bg-red-1{background:#ffebee!important}.bg-red-2{background:#ffcdd2!important}.bg-red-3{background:#ef9a9a!important}.bg-red-4{background:#e57373!important}.bg-red-5{background:#ef5350!important}.bg-red-6{background:#f44336!important}.bg-red-7{background:#e53935!important}.bg-red-8{background:#d32f2f!important}.bg-red-9{background:#c62828!important}.bg-red-10{background:#b71c1c!important}.bg-red-11{background:#ff8a80!important}.bg-red-12{background:#ff5252!important}.bg-red-13{background:#ff1744!important}.bg-red-14{background:#d50000!important}.bg-pink{background:#e91e63!important}.bg-pink-1{background:#fce4ec!important}.bg-pink-2{background:#f8bbd0!important}.bg-pink-3{background:#f48fb1!important}.bg-pink-4{background:#f06292!important}.bg-pink-5{background:#ec407a!important}.bg-pink-6{background:#e91e63!important}.bg-pink-7{background:#d81b60!important}.bg-pink-8{background:#c2185b!important}.bg-pink-9{background:#ad1457!important}.bg-pink-10{background:#880e4f!important}.bg-pink-11{background:#ff80ab!important}.bg-pink-12{background:#ff4081!important}.bg-pink-13{background:#f50057!important}.bg-pink-14{background:#c51162!important}.bg-purple{background:#9c27b0!important}.bg-purple-1{background:#f3e5f5!important}.bg-purple-2{background:#e1bee7!important}.bg-purple-3{background:#ce93d8!important}.bg-purple-4{background:#ba68c8!important}.bg-purple-5{background:#ab47bc!important}.bg-purple-6{background:#9c27b0!important}.bg-purple-7{background:#8e24aa!important}.bg-purple-8{background:#7b1fa2!important}.bg-purple-9{background:#6a1b9a!important}.bg-purple-10{background:#4a148c!important}.bg-purple-11{background:#ea80fc!important}.bg-purple-12{background:#e040fb!important}.bg-purple-13{background:#d500f9!important}.bg-purple-14{background:#a0f!important}.bg-deep-purple{background:#673ab7!important}.bg-deep-purple-1{background:#ede7f6!important}.bg-deep-purple-2{background:#d1c4e9!important}.bg-deep-purple-3{background:#b39ddb!important}.bg-deep-purple-4{background:#9575cd!important}.bg-deep-purple-5{background:#7e57c2!important}.bg-deep-purple-6{background:#673ab7!important}.bg-deep-purple-7{background:#5e35b1!important}.bg-deep-purple-8{background:#512da8!important}.bg-deep-purple-9{background:#4527a0!important}.bg-deep-purple-10{background:#311b92!important}.bg-deep-purple-11{background:#b388ff!important}.bg-deep-purple-12{background:#7c4dff!important}.bg-deep-purple-13{background:#651fff!important}.bg-deep-purple-14{background:#6200ea!important}.bg-indigo{background:#3f51b5!important}.bg-indigo-1{background:#e8eaf6!important}.bg-indigo-2{background:#c5cae9!important}.bg-indigo-3{background:#9fa8da!important}.bg-indigo-4{background:#7986cb!important}.bg-indigo-5{background:#5c6bc0!important}.bg-indigo-6{background:#3f51b5!important}.bg-indigo-7{background:#3949ab!important}.bg-indigo-8{background:#303f9f!important}.bg-indigo-9{background:#283593!important}.bg-indigo-10{background:#1a237e!important}.bg-indigo-11{background:#8c9eff!important}.bg-indigo-12{background:#536dfe!important}.bg-indigo-13{background:#3d5afe!important}.bg-indigo-14{background:#304ffe!important}.bg-blue{background:#2196f3!important}.bg-blue-1{background:#e3f2fd!important}.bg-blue-2{background:#bbdefb!important}.bg-blue-3{background:#90caf9!important}.bg-blue-4{background:#64b5f6!important}.bg-blue-5{background:#42a5f5!important}.bg-blue-6{background:#2196f3!important}.bg-blue-7{background:#1e88e5!important}.bg-blue-8{background:#1976d2!important}.bg-blue-9{background:#1565c0!important}.bg-blue-10{background:#0d47a1!important}.bg-blue-11{background:#82b1ff!important}.bg-blue-12{background:#448aff!important}.bg-blue-13{background:#2979ff!important}.bg-blue-14{background:#2962ff!important}.bg-light-blue{background:#03a9f4!important}.bg-light-blue-1{background:#e1f5fe!important}.bg-light-blue-2{background:#b3e5fc!important}.bg-light-blue-3{background:#81d4fa!important}.bg-light-blue-4{background:#4fc3f7!important}.bg-light-blue-5{background:#29b6f6!important}.bg-light-blue-6{background:#03a9f4!important}.bg-light-blue-7{background:#039be5!important}.bg-light-blue-8{background:#0288d1!important}.bg-light-blue-9{background:#0277bd!important}.bg-light-blue-10{background:#01579b!important}.bg-light-blue-11{background:#80d8ff!important}.bg-light-blue-12{background:#40c4ff!important}.bg-light-blue-13{background:#00b0ff!important}.bg-light-blue-14{background:#0091ea!important}.bg-cyan{background:#00bcd4!important}.bg-cyan-1{background:#e0f7fa!important}.bg-cyan-2{background:#b2ebf2!important}.bg-cyan-3{background:#80deea!important}.bg-cyan-4{background:#4dd0e1!important}.bg-cyan-5{background:#26c6da!important}.bg-cyan-6{background:#00bcd4!important}.bg-cyan-7{background:#00acc1!important}.bg-cyan-8{background:#0097a7!important}.bg-cyan-9{background:#00838f!important}.bg-cyan-10{background:#006064!important}.bg-cyan-11{background:#84ffff!important}.bg-cyan-12{background:#18ffff!important}.bg-cyan-13{background:#00e5ff!important}.bg-cyan-14{background:#00b8d4!important}.bg-teal{background:#009688!important}.bg-teal-1{background:#e0f2f1!important}.bg-teal-2{background:#b2dfdb!important}.bg-teal-3{background:#80cbc4!important}.bg-teal-4{background:#4db6ac!important}.bg-teal-5{background:#26a69a!important}.bg-teal-6{background:#009688!important}.bg-teal-7{background:#00897b!important}.bg-teal-8{background:#00796b!important}.bg-teal-9{background:#00695c!important}.bg-teal-10{background:#004d40!important}.bg-teal-11{background:#a7ffeb!important}.bg-teal-12{background:#64ffda!important}.bg-teal-13{background:#1de9b6!important}.bg-teal-14{background:#00bfa5!important}.bg-green{background:#4caf50!important}.bg-green-1{background:#e8f5e9!important}.bg-green-2{background:#c8e6c9!important}.bg-green-3{background:#a5d6a7!important}.bg-green-4{background:#81c784!important}.bg-green-5{background:#66bb6a!important}.bg-green-6{background:#4caf50!important}.bg-green-7{background:#43a047!important}.bg-green-8{background:#388e3c!important}.bg-green-9{background:#2e7d32!important}.bg-green-10{background:#1b5e20!important}.bg-green-11{background:#b9f6ca!important}.bg-green-12{background:#69f0ae!important}.bg-green-13{background:#00e676!important}.bg-green-14{background:#00c853!important}.bg-light-green{background:#8bc34a!important}.bg-light-green-1{background:#f1f8e9!important}.bg-light-green-2{background:#dcedc8!important}.bg-light-green-3{background:#c5e1a5!important}.bg-light-green-4{background:#aed581!important}.bg-light-green-5{background:#9ccc65!important}.bg-light-green-6{background:#8bc34a!important}.bg-light-green-7{background:#7cb342!important}.bg-light-green-8{background:#689f38!important}.bg-light-green-9{background:#558b2f!important}.bg-light-green-10{background:#33691e!important}.bg-light-green-11{background:#ccff90!important}.bg-light-green-12{background:#b2ff59!important}.bg-light-green-13{background:#76ff03!important}.bg-light-green-14{background:#64dd17!important}.bg-lime{background:#cddc39!important}.bg-lime-1{background:#f9fbe7!important}.bg-lime-2{background:#f0f4c3!important}.bg-lime-3{background:#e6ee9c!important}.bg-lime-4{background:#dce775!important}.bg-lime-5{background:#d4e157!important}.bg-lime-6{background:#cddc39!important}.bg-lime-7{background:#c0ca33!important}.bg-lime-8{background:#afb42b!important}.bg-lime-9{background:#9e9d24!important}.bg-lime-10{background:#827717!important}.bg-lime-11{background:#f4ff81!important}.bg-lime-12{background:#eeff41!important}.bg-lime-13{background:#c6ff00!important}.bg-lime-14{background:#aeea00!important}.bg-yellow{background:#ffeb3b!important}.bg-yellow-1{background:#fffde7!important}.bg-yellow-2{background:#fff9c4!important}.bg-yellow-3{background:#fff59d!important}.bg-yellow-4{background:#fff176!important}.bg-yellow-5{background:#ffee58!important}.bg-yellow-6{background:#ffeb3b!important}.bg-yellow-7{background:#fdd835!important}.bg-yellow-8{background:#fbc02d!important}.bg-yellow-9{background:#f9a825!important}.bg-yellow-10{background:#f57f17!important}.bg-yellow-11{background:#ffff8d!important}.bg-yellow-12{background:#ff0!important}.bg-yellow-13{background:#ffea00!important}.bg-yellow-14{background:#ffd600!important}.bg-amber{background:#ffc107!important}.bg-amber-1{background:#fff8e1!important}.bg-amber-2{background:#ffecb3!important}.bg-amber-3{background:#ffe082!important}.bg-amber-4{background:#ffd54f!important}.bg-amber-5{background:#ffca28!important}.bg-amber-6{background:#ffc107!important}.bg-amber-7{background:#ffb300!important}.bg-amber-8{background:#ffa000!important}.bg-amber-9{background:#ff8f00!important}.bg-amber-10{background:#ff6f00!important}.bg-amber-11{background:#ffe57f!important}.bg-amber-12{background:#ffd740!important}.bg-amber-13{background:#ffc400!important}.bg-amber-14{background:#ffab00!important}.bg-orange{background:#ff9800!important}.bg-orange-1{background:#fff3e0!important}.bg-orange-2{background:#ffe0b2!important}.bg-orange-3{background:#ffcc80!important}.bg-orange-4{background:#ffb74d!important}.bg-orange-5{background:#ffa726!important}.bg-orange-6{background:#ff9800!important}.bg-orange-7{background:#fb8c00!important}.bg-orange-8{background:#f57c00!important}.bg-orange-9{background:#ef6c00!important}.bg-orange-10{background:#e65100!important}.bg-orange-11{background:#ffd180!important}.bg-orange-12{background:#ffab40!important}.bg-orange-13{background:#ff9100!important}.bg-orange-14{background:#ff6d00!important}.bg-deep-orange{background:#ff5722!important}.bg-deep-orange-1{background:#fbe9e7!important}.bg-deep-orange-2{background:#ffccbc!important}.bg-deep-orange-3{background:#ffab91!important}.bg-deep-orange-4{background:#ff8a65!important}.bg-deep-orange-5{background:#ff7043!important}.bg-deep-orange-6{background:#ff5722!important}.bg-deep-orange-7{background:#f4511e!important}.bg-deep-orange-8{background:#e64a19!important}.bg-deep-orange-9{background:#d84315!important}.bg-deep-orange-10{background:#bf360c!important}.bg-deep-orange-11{background:#ff9e80!important}.bg-deep-orange-12{background:#ff6e40!important}.bg-deep-orange-13{background:#ff3d00!important}.bg-deep-orange-14{background:#dd2c00!important}.bg-brown{background:#795548!important}.bg-brown-1{background:#efebe9!important}.bg-brown-2{background:#d7ccc8!important}.bg-brown-3{background:#bcaaa4!important}.bg-brown-4{background:#a1887f!important}.bg-brown-5{background:#8d6e63!important}.bg-brown-6{background:#795548!important}.bg-brown-7{background:#6d4c41!important}.bg-brown-8{background:#5d4037!important}.bg-brown-9{background:#4e342e!important}.bg-brown-10{background:#3e2723!important}.bg-brown-11{background:#d7ccc8!important}.bg-brown-12{background:#bcaaa4!important}.bg-brown-13{background:#8d6e63!important}.bg-brown-14{background:#5d4037!important}.bg-grey{background:#9e9e9e!important}.bg-grey-1{background:#fafafa!important}.bg-grey-2{background:#f5f5f5!important}.bg-grey-3{background:#eee!important}.bg-grey-4{background:#e0e0e0!important}.bg-grey-5{background:#bdbdbd!important}.bg-grey-6{background:#9e9e9e!important}.bg-grey-7{background:#757575!important}.bg-grey-8{background:#616161!important}.bg-grey-9{background:#424242!important}.bg-grey-10{background:#212121!important}.bg-grey-11{background:#f5f5f5!important}.bg-grey-12{background:#eee!important}.bg-grey-13{background:#bdbdbd!important}.bg-grey-14{background:#616161!important}.bg-blue-grey{background:#607d8b!important}.bg-blue-grey-1{background:#eceff1!important}.bg-blue-grey-2{background:#cfd8dc!important}.bg-blue-grey-3{background:#b0bec5!important}.bg-blue-grey-4{background:#90a4ae!important}.bg-blue-grey-5{background:#78909c!important}.bg-blue-grey-6{background:#607d8b!important}.bg-blue-grey-7{background:#546e7a!important}.bg-blue-grey-8{background:#455a64!important}.bg-blue-grey-9{background:#37474f!important}.bg-blue-grey-10{background:#263238!important}.bg-blue-grey-11{background:#cfd8dc!important}.bg-blue-grey-12{background:#b0bec5!important}.bg-blue-grey-13{background:#78909c!important}.bg-blue-grey-14{background:#455a64!important}.shadow-transition{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)!important}.shadow-1{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f}.shadow-up-1{box-shadow:0 -1px 3px #0003,0 -1px 1px #00000024,0 -2px 1px -1px #0000001f}.shadow-2{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.shadow-up-2{box-shadow:0 -1px 5px #0003,0 -2px 2px #00000024,0 -3px 1px -2px #0000001f}.shadow-3{box-shadow:0 1px 8px #0003,0 3px 4px #00000024,0 3px 3px -2px #0000001f}.shadow-up-3{box-shadow:0 -1px 8px #0003,0 -3px 4px #00000024,0 -3px 3px -2px #0000001f}.shadow-4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.shadow-up-4{box-shadow:0 -2px 4px -1px #0003,0 -4px 5px #00000024,0 -1px 10px #0000001f}.shadow-5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.shadow-up-5{box-shadow:0 -3px 5px -1px #0003,0 -5px 8px #00000024,0 -1px 14px #0000001f}.shadow-6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.shadow-up-6{box-shadow:0 -3px 5px -1px #0003,0 -6px 10px #00000024,0 -1px 18px #0000001f}.shadow-7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.shadow-up-7{box-shadow:0 -4px 5px -2px #0003,0 -7px 10px 1px #00000024,0 -2px 16px 1px #0000001f}.shadow-8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.shadow-up-8{box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.shadow-9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.shadow-up-9{box-shadow:0 -5px 6px -3px #0003,0 -9px 12px 1px #00000024,0 -3px 16px 2px #0000001f}.shadow-10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.shadow-up-10{box-shadow:0 -6px 6px -3px #0003,0 -10px 14px 1px #00000024,0 -4px 18px 3px #0000001f}.shadow-11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.shadow-up-11{box-shadow:0 -6px 7px -4px #0003,0 -11px 15px 1px #00000024,0 -4px 20px 3px #0000001f}.shadow-12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.shadow-up-12{box-shadow:0 -7px 8px -4px #0003,0 -12px 17px 2px #00000024,0 -5px 22px 4px #0000001f}.shadow-13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.shadow-up-13{box-shadow:0 -7px 8px -4px #0003,0 -13px 19px 2px #00000024,0 -5px 24px 4px #0000001f}.shadow-14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.shadow-up-14{box-shadow:0 -7px 9px -4px #0003,0 -14px 21px 2px #00000024,0 -5px 26px 4px #0000001f}.shadow-15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.shadow-up-15{box-shadow:0 -8px 9px -5px #0003,0 -15px 22px 2px #00000024,0 -6px 28px 5px #0000001f}.shadow-16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.shadow-up-16{box-shadow:0 -8px 10px -5px #0003,0 -16px 24px 2px #00000024,0 -6px 30px 5px #0000001f}.shadow-17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.shadow-up-17{box-shadow:0 -8px 11px -5px #0003,0 -17px 26px 2px #00000024,0 -6px 32px 5px #0000001f}.shadow-18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.shadow-up-18{box-shadow:0 -9px 11px -5px #0003,0 -18px 28px 2px #00000024,0 -7px 34px 6px #0000001f}.shadow-19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.shadow-up-19{box-shadow:0 -9px 12px -6px #0003,0 -19px 29px 2px #00000024,0 -7px 36px 6px #0000001f}.shadow-20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.shadow-up-20{box-shadow:0 -10px 13px -6px #0003,0 -20px 31px 3px #00000024,0 -8px 38px 7px #0000001f}.shadow-21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.shadow-up-21{box-shadow:0 -10px 13px -6px #0003,0 -21px 33px 3px #00000024,0 -8px 40px 7px #0000001f}.shadow-22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.shadow-up-22{box-shadow:0 -10px 14px -6px #0003,0 -22px 35px 3px #00000024,0 -8px 42px 7px #0000001f}.shadow-23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.shadow-up-23{box-shadow:0 -11px 14px -7px #0003,0 -23px 36px 3px #00000024,0 -9px 44px 8px #0000001f}.shadow-24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.shadow-up-24{box-shadow:0 -11px 15px -7px #0003,0 -24px 38px 3px #00000024,0 -9px 46px 8px #0000001f}.inset-shadow{box-shadow:0 7px 9px -7px #000000b3 inset}.inset-shadow-down{box-shadow:0 -7px 9px -7px #000000b3 inset}body.body--dark .shadow-1{box-shadow:0 1px 3px #fff3,0 1px 1px #ffffff24,0 2px 1px -1px #ffffff1f}body.body--dark .shadow-up-1{box-shadow:0 -1px 3px #fff3,0 -1px 1px #ffffff24,0 -2px 1px -1px #ffffff1f}body.body--dark .shadow-2{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}body.body--dark .shadow-up-2{box-shadow:0 -1px 5px #fff3,0 -2px 2px #ffffff24,0 -3px 1px -2px #ffffff1f}body.body--dark .shadow-3{box-shadow:0 1px 8px #fff3,0 3px 4px #ffffff24,0 3px 3px -2px #ffffff1f}body.body--dark .shadow-up-3{box-shadow:0 -1px 8px #fff3,0 -3px 4px #ffffff24,0 -3px 3px -2px #ffffff1f}body.body--dark .shadow-4{box-shadow:0 2px 4px -1px #fff3,0 4px 5px #ffffff24,0 1px 10px #ffffff1f}body.body--dark .shadow-up-4{box-shadow:0 -2px 4px -1px #fff3,0 -4px 5px #ffffff24,0 -1px 10px #ffffff1f}body.body--dark .shadow-5{box-shadow:0 3px 5px -1px #fff3,0 5px 8px #ffffff24,0 1px 14px #ffffff1f}body.body--dark .shadow-up-5{box-shadow:0 -3px 5px -1px #fff3,0 -5px 8px #ffffff24,0 -1px 14px #ffffff1f}body.body--dark .shadow-6{box-shadow:0 3px 5px -1px #fff3,0 6px 10px #ffffff24,0 1px 18px #ffffff1f}body.body--dark .shadow-up-6{box-shadow:0 -3px 5px -1px #fff3,0 -6px 10px #ffffff24,0 -1px 18px #ffffff1f}body.body--dark .shadow-7{box-shadow:0 4px 5px -2px #fff3,0 7px 10px 1px #ffffff24,0 2px 16px 1px #ffffff1f}body.body--dark .shadow-up-7{box-shadow:0 -4px 5px -2px #fff3,0 -7px 10px 1px #ffffff24,0 -2px 16px 1px #ffffff1f}body.body--dark .shadow-8{box-shadow:0 5px 5px -3px #fff3,0 8px 10px 1px #ffffff24,0 3px 14px 2px #ffffff1f}body.body--dark .shadow-up-8{box-shadow:0 -5px 5px -3px #fff3,0 -8px 10px 1px #ffffff24,0 -3px 14px 2px #ffffff1f}body.body--dark .shadow-9{box-shadow:0 5px 6px -3px #fff3,0 9px 12px 1px #ffffff24,0 3px 16px 2px #ffffff1f}body.body--dark .shadow-up-9{box-shadow:0 -5px 6px -3px #fff3,0 -9px 12px 1px #ffffff24,0 -3px 16px 2px #ffffff1f}body.body--dark .shadow-10{box-shadow:0 6px 6px -3px #fff3,0 10px 14px 1px #ffffff24,0 4px 18px 3px #ffffff1f}body.body--dark .shadow-up-10{box-shadow:0 -6px 6px -3px #fff3,0 -10px 14px 1px #ffffff24,0 -4px 18px 3px #ffffff1f}body.body--dark .shadow-11{box-shadow:0 6px 7px -4px #fff3,0 11px 15px 1px #ffffff24,0 4px 20px 3px #ffffff1f}body.body--dark .shadow-up-11{box-shadow:0 -6px 7px -4px #fff3,0 -11px 15px 1px #ffffff24,0 -4px 20px 3px #ffffff1f}body.body--dark .shadow-12{box-shadow:0 7px 8px -4px #fff3,0 12px 17px 2px #ffffff24,0 5px 22px 4px #ffffff1f}body.body--dark .shadow-up-12{box-shadow:0 -7px 8px -4px #fff3,0 -12px 17px 2px #ffffff24,0 -5px 22px 4px #ffffff1f}body.body--dark .shadow-13{box-shadow:0 7px 8px -4px #fff3,0 13px 19px 2px #ffffff24,0 5px 24px 4px #ffffff1f}body.body--dark .shadow-up-13{box-shadow:0 -7px 8px -4px #fff3,0 -13px 19px 2px #ffffff24,0 -5px 24px 4px #ffffff1f}body.body--dark .shadow-14{box-shadow:0 7px 9px -4px #fff3,0 14px 21px 2px #ffffff24,0 5px 26px 4px #ffffff1f}body.body--dark .shadow-up-14{box-shadow:0 -7px 9px -4px #fff3,0 -14px 21px 2px #ffffff24,0 -5px 26px 4px #ffffff1f}body.body--dark .shadow-15{box-shadow:0 8px 9px -5px #fff3,0 15px 22px 2px #ffffff24,0 6px 28px 5px #ffffff1f}body.body--dark .shadow-up-15{box-shadow:0 -8px 9px -5px #fff3,0 -15px 22px 2px #ffffff24,0 -6px 28px 5px #ffffff1f}body.body--dark .shadow-16{box-shadow:0 8px 10px -5px #fff3,0 16px 24px 2px #ffffff24,0 6px 30px 5px #ffffff1f}body.body--dark .shadow-up-16{box-shadow:0 -8px 10px -5px #fff3,0 -16px 24px 2px #ffffff24,0 -6px 30px 5px #ffffff1f}body.body--dark .shadow-17{box-shadow:0 8px 11px -5px #fff3,0 17px 26px 2px #ffffff24,0 6px 32px 5px #ffffff1f}body.body--dark .shadow-up-17{box-shadow:0 -8px 11px -5px #fff3,0 -17px 26px 2px #ffffff24,0 -6px 32px 5px #ffffff1f}body.body--dark .shadow-18{box-shadow:0 9px 11px -5px #fff3,0 18px 28px 2px #ffffff24,0 7px 34px 6px #ffffff1f}body.body--dark .shadow-up-18{box-shadow:0 -9px 11px -5px #fff3,0 -18px 28px 2px #ffffff24,0 -7px 34px 6px #ffffff1f}body.body--dark .shadow-19{box-shadow:0 9px 12px -6px #fff3,0 19px 29px 2px #ffffff24,0 7px 36px 6px #ffffff1f}body.body--dark .shadow-up-19{box-shadow:0 -9px 12px -6px #fff3,0 -19px 29px 2px #ffffff24,0 -7px 36px 6px #ffffff1f}body.body--dark .shadow-20{box-shadow:0 10px 13px -6px #fff3,0 20px 31px 3px #ffffff24,0 8px 38px 7px #ffffff1f}body.body--dark .shadow-up-20{box-shadow:0 -10px 13px -6px #fff3,0 -20px 31px 3px #ffffff24,0 -8px 38px 7px #ffffff1f}body.body--dark .shadow-21{box-shadow:0 10px 13px -6px #fff3,0 21px 33px 3px #ffffff24,0 8px 40px 7px #ffffff1f}body.body--dark .shadow-up-21{box-shadow:0 -10px 13px -6px #fff3,0 -21px 33px 3px #ffffff24,0 -8px 40px 7px #ffffff1f}body.body--dark .shadow-22{box-shadow:0 10px 14px -6px #fff3,0 22px 35px 3px #ffffff24,0 8px 42px 7px #ffffff1f}body.body--dark .shadow-up-22{box-shadow:0 -10px 14px -6px #fff3,0 -22px 35px 3px #ffffff24,0 -8px 42px 7px #ffffff1f}body.body--dark .shadow-23{box-shadow:0 11px 14px -7px #fff3,0 23px 36px 3px #ffffff24,0 9px 44px 8px #ffffff1f}body.body--dark .shadow-up-23{box-shadow:0 -11px 14px -7px #fff3,0 -23px 36px 3px #ffffff24,0 -9px 44px 8px #ffffff1f}body.body--dark .shadow-24{box-shadow:0 11px 15px -7px #fff3,0 24px 38px 3px #ffffff24,0 9px 46px 8px #ffffff1f}body.body--dark .shadow-up-24{box-shadow:0 -11px 15px -7px #fff3,0 -24px 38px 3px #ffffff24,0 -9px 46px 8px #ffffff1f}body.body--dark .inset-shadow{box-shadow:0 7px 9px -7px #ffffffb3 inset}body.body--dark .inset-shadow-down{box-shadow:0 -7px 9px -7px #ffffffb3 inset}.no-shadow,.shadow-0{box-shadow:none!important}.z-marginals{z-index:2000}.z-notify{z-index:9500}.z-fullscreen{z-index:6000}.z-inherit{z-index:inherit!important}.row,.column,.flex{display:flex;flex-wrap:wrap}.row.inline,.column.inline,.flex.inline{display:inline-flex}.row.reverse{flex-direction:row-reverse}.column{flex-direction:column}.column.reverse{flex-direction:column-reverse}.wrap{flex-wrap:wrap}.no-wrap{flex-wrap:nowrap}.reverse-wrap{flex-wrap:wrap-reverse}.order-first{order:-10000}.order-last{order:10000}.order-none{order:0}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center,.flex-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center,.flex-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-stretch{align-content:stretch}.content-between{align-content:space-between}.content-around{align-content:space-around}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-baseline{align-self:baseline}.self-stretch{align-self:stretch}.q-gutter-x-none,.q-gutter-none{margin-left:0}.q-gutter-x-none>*,.q-gutter-none>*{margin-left:0}.q-gutter-y-none,.q-gutter-none{margin-top:0}.q-gutter-y-none>*,.q-gutter-none>*{margin-top:0}.q-col-gutter-x-none,.q-col-gutter-none{margin-left:0}.q-col-gutter-x-none>*,.q-col-gutter-none>*{padding-left:0}.q-col-gutter-y-none,.q-col-gutter-none{margin-top:0}.q-col-gutter-y-none>*,.q-col-gutter-none>*{padding-top:0}.q-gutter-x-xs,.q-gutter-xs{margin-left:-4px}.q-gutter-x-xs>*,.q-gutter-xs>*{margin-left:4px}.q-gutter-y-xs,.q-gutter-xs{margin-top:-4px}.q-gutter-y-xs>*,.q-gutter-xs>*{margin-top:4px}.q-col-gutter-x-xs,.q-col-gutter-xs{margin-left:-4px}.q-col-gutter-x-xs>*,.q-col-gutter-xs>*{padding-left:4px}.q-col-gutter-y-xs,.q-col-gutter-xs{margin-top:-4px}.q-col-gutter-y-xs>*,.q-col-gutter-xs>*{padding-top:4px}.q-gutter-x-sm,.q-gutter-sm{margin-left:-8px}.q-gutter-x-sm>*,.q-gutter-sm>*{margin-left:8px}.q-gutter-y-sm,.q-gutter-sm{margin-top:-8px}.q-gutter-y-sm>*,.q-gutter-sm>*{margin-top:8px}.q-col-gutter-x-sm,.q-col-gutter-sm{margin-left:-8px}.q-col-gutter-x-sm>*,.q-col-gutter-sm>*{padding-left:8px}.q-col-gutter-y-sm,.q-col-gutter-sm{margin-top:-8px}.q-col-gutter-y-sm>*,.q-col-gutter-sm>*{padding-top:8px}.q-gutter-x-md,.q-gutter-md{margin-left:-16px}.q-gutter-x-md>*,.q-gutter-md>*{margin-left:16px}.q-gutter-y-md,.q-gutter-md{margin-top:-16px}.q-gutter-y-md>*,.q-gutter-md>*{margin-top:16px}.q-col-gutter-x-md,.q-col-gutter-md{margin-left:-16px}.q-col-gutter-x-md>*,.q-col-gutter-md>*{padding-left:16px}.q-col-gutter-y-md,.q-col-gutter-md{margin-top:-16px}.q-col-gutter-y-md>*,.q-col-gutter-md>*{padding-top:16px}.q-gutter-x-lg,.q-gutter-lg{margin-left:-24px}.q-gutter-x-lg>*,.q-gutter-lg>*{margin-left:24px}.q-gutter-y-lg,.q-gutter-lg{margin-top:-24px}.q-gutter-y-lg>*,.q-gutter-lg>*{margin-top:24px}.q-col-gutter-x-lg,.q-col-gutter-lg{margin-left:-24px}.q-col-gutter-x-lg>*,.q-col-gutter-lg>*{padding-left:24px}.q-col-gutter-y-lg,.q-col-gutter-lg{margin-top:-24px}.q-col-gutter-y-lg>*,.q-col-gutter-lg>*{padding-top:24px}.q-gutter-x-xl,.q-gutter-xl{margin-left:-48px}.q-gutter-x-xl>*,.q-gutter-xl>*{margin-left:48px}.q-gutter-y-xl,.q-gutter-xl{margin-top:-48px}.q-gutter-y-xl>*,.q-gutter-xl>*{margin-top:48px}.q-col-gutter-x-xl,.q-col-gutter-xl{margin-left:-48px}.q-col-gutter-x-xl>*,.q-col-gutter-xl>*{padding-left:48px}.q-col-gutter-y-xl,.q-col-gutter-xl{margin-top:-48px}.q-col-gutter-y-xl>*,.q-col-gutter-xl>*{padding-top:48px}@media(min-width:0){.row>.col,.flex>.col,.row>.col-auto,.flex>.col-auto,.row>.col-grow,.flex>.col-grow,.row>.col-shrink,.flex>.col-shrink,.row>.col-xs,.flex>.col-xs,.row>.col-xs-auto,.row>.col-12,.row>.col-xs-12,.row>.col-11,.row>.col-xs-11,.row>.col-10,.row>.col-xs-10,.row>.col-9,.row>.col-xs-9,.row>.col-8,.row>.col-xs-8,.row>.col-7,.row>.col-xs-7,.row>.col-6,.row>.col-xs-6,.row>.col-5,.row>.col-xs-5,.row>.col-4,.row>.col-xs-4,.row>.col-3,.row>.col-xs-3,.row>.col-2,.row>.col-xs-2,.row>.col-1,.row>.col-xs-1,.row>.col-0,.row>.col-xs-0,.flex>.col-xs-auto,.flex>.col-12,.flex>.col-xs-12,.flex>.col-11,.flex>.col-xs-11,.flex>.col-10,.flex>.col-xs-10,.flex>.col-9,.flex>.col-xs-9,.flex>.col-8,.flex>.col-xs-8,.flex>.col-7,.flex>.col-xs-7,.flex>.col-6,.flex>.col-xs-6,.flex>.col-5,.flex>.col-xs-5,.flex>.col-4,.flex>.col-xs-4,.flex>.col-3,.flex>.col-xs-3,.flex>.col-2,.flex>.col-xs-2,.flex>.col-1,.flex>.col-xs-1,.flex>.col-0,.flex>.col-xs-0,.row>.col-xs-grow,.flex>.col-xs-grow,.row>.col-xs-shrink,.flex>.col-xs-shrink{width:auto;min-width:0;max-width:100%}.column>.col,.flex>.col,.column>.col-auto,.flex>.col-auto,.column>.col-grow,.flex>.col-grow,.column>.col-shrink,.flex>.col-shrink,.column>.col-xs,.flex>.col-xs,.column>.col-xs-auto,.column>.col-12,.column>.col-xs-12,.column>.col-11,.column>.col-xs-11,.column>.col-10,.column>.col-xs-10,.column>.col-9,.column>.col-xs-9,.column>.col-8,.column>.col-xs-8,.column>.col-7,.column>.col-xs-7,.column>.col-6,.column>.col-xs-6,.column>.col-5,.column>.col-xs-5,.column>.col-4,.column>.col-xs-4,.column>.col-3,.column>.col-xs-3,.column>.col-2,.column>.col-xs-2,.column>.col-1,.column>.col-xs-1,.column>.col-0,.column>.col-xs-0,.flex>.col-xs-auto,.flex>.col-12,.flex>.col-xs-12,.flex>.col-11,.flex>.col-xs-11,.flex>.col-10,.flex>.col-xs-10,.flex>.col-9,.flex>.col-xs-9,.flex>.col-8,.flex>.col-xs-8,.flex>.col-7,.flex>.col-xs-7,.flex>.col-6,.flex>.col-xs-6,.flex>.col-5,.flex>.col-xs-5,.flex>.col-4,.flex>.col-xs-4,.flex>.col-3,.flex>.col-xs-3,.flex>.col-2,.flex>.col-xs-2,.flex>.col-1,.flex>.col-xs-1,.flex>.col-0,.flex>.col-xs-0,.column>.col-xs-grow,.flex>.col-xs-grow,.column>.col-xs-shrink,.flex>.col-xs-shrink{height:auto;min-height:0;max-height:100%}.col,.col-xs{flex:10000 1 0%}.col-auto,.col-xs-auto,.col-12,.col-xs-12,.col-11,.col-xs-11,.col-10,.col-xs-10,.col-9,.col-xs-9,.col-8,.col-xs-8,.col-7,.col-xs-7,.col-6,.col-xs-6,.col-5,.col-xs-5,.col-4,.col-xs-4,.col-3,.col-xs-3,.col-2,.col-xs-2,.col-1,.col-xs-1,.col-0,.col-xs-0{flex:0 0 auto}.col-grow,.col-xs-grow{flex:1 0 auto}.col-shrink,.col-xs-shrink{flex:0 1 auto}.row>.col-0,.row>.col-xs-0{height:auto;width:0%}.row>.offset-0,.row>.offset-xs-0{margin-left:0%}.column>.col-0,.column>.col-xs-0{height:0%;width:auto}.row>.col-1,.row>.col-xs-1{height:auto;width:8.3333%}.row>.offset-1,.row>.offset-xs-1{margin-left:8.3333%}.column>.col-1,.column>.col-xs-1{height:8.3333%;width:auto}.row>.col-2,.row>.col-xs-2{height:auto;width:16.6667%}.row>.offset-2,.row>.offset-xs-2{margin-left:16.6667%}.column>.col-2,.column>.col-xs-2{height:16.6667%;width:auto}.row>.col-3,.row>.col-xs-3{height:auto;width:25%}.row>.offset-3,.row>.offset-xs-3{margin-left:25%}.column>.col-3,.column>.col-xs-3{height:25%;width:auto}.row>.col-4,.row>.col-xs-4{height:auto;width:33.3333%}.row>.offset-4,.row>.offset-xs-4{margin-left:33.3333%}.column>.col-4,.column>.col-xs-4{height:33.3333%;width:auto}.row>.col-5,.row>.col-xs-5{height:auto;width:41.6667%}.row>.offset-5,.row>.offset-xs-5{margin-left:41.6667%}.column>.col-5,.column>.col-xs-5{height:41.6667%;width:auto}.row>.col-6,.row>.col-xs-6{height:auto;width:50%}.row>.offset-6,.row>.offset-xs-6{margin-left:50%}.column>.col-6,.column>.col-xs-6{height:50%;width:auto}.row>.col-7,.row>.col-xs-7{height:auto;width:58.3333%}.row>.offset-7,.row>.offset-xs-7{margin-left:58.3333%}.column>.col-7,.column>.col-xs-7{height:58.3333%;width:auto}.row>.col-8,.row>.col-xs-8{height:auto;width:66.6667%}.row>.offset-8,.row>.offset-xs-8{margin-left:66.6667%}.column>.col-8,.column>.col-xs-8{height:66.6667%;width:auto}.row>.col-9,.row>.col-xs-9{height:auto;width:75%}.row>.offset-9,.row>.offset-xs-9{margin-left:75%}.column>.col-9,.column>.col-xs-9{height:75%;width:auto}.row>.col-10,.row>.col-xs-10{height:auto;width:83.3333%}.row>.offset-10,.row>.offset-xs-10{margin-left:83.3333%}.column>.col-10,.column>.col-xs-10{height:83.3333%;width:auto}.row>.col-11,.row>.col-xs-11{height:auto;width:91.6667%}.row>.offset-11,.row>.offset-xs-11{margin-left:91.6667%}.column>.col-11,.column>.col-xs-11{height:91.6667%;width:auto}.row>.col-12,.row>.col-xs-12{height:auto;width:100%}.row>.offset-12,.row>.offset-xs-12{margin-left:100%}.column>.col-12,.column>.col-xs-12{height:100%;width:auto}.row>.col-all{height:auto;flex:0 0 100%}}@media(min-width:600px){.row>.col-sm,.flex>.col-sm,.row>.col-sm-auto,.row>.col-sm-12,.row>.col-sm-11,.row>.col-sm-10,.row>.col-sm-9,.row>.col-sm-8,.row>.col-sm-7,.row>.col-sm-6,.row>.col-sm-5,.row>.col-sm-4,.row>.col-sm-3,.row>.col-sm-2,.row>.col-sm-1,.row>.col-sm-0,.flex>.col-sm-auto,.flex>.col-sm-12,.flex>.col-sm-11,.flex>.col-sm-10,.flex>.col-sm-9,.flex>.col-sm-8,.flex>.col-sm-7,.flex>.col-sm-6,.flex>.col-sm-5,.flex>.col-sm-4,.flex>.col-sm-3,.flex>.col-sm-2,.flex>.col-sm-1,.flex>.col-sm-0,.row>.col-sm-grow,.flex>.col-sm-grow,.row>.col-sm-shrink,.flex>.col-sm-shrink{width:auto;min-width:0;max-width:100%}.column>.col-sm,.flex>.col-sm,.column>.col-sm-auto,.column>.col-sm-12,.column>.col-sm-11,.column>.col-sm-10,.column>.col-sm-9,.column>.col-sm-8,.column>.col-sm-7,.column>.col-sm-6,.column>.col-sm-5,.column>.col-sm-4,.column>.col-sm-3,.column>.col-sm-2,.column>.col-sm-1,.column>.col-sm-0,.flex>.col-sm-auto,.flex>.col-sm-12,.flex>.col-sm-11,.flex>.col-sm-10,.flex>.col-sm-9,.flex>.col-sm-8,.flex>.col-sm-7,.flex>.col-sm-6,.flex>.col-sm-5,.flex>.col-sm-4,.flex>.col-sm-3,.flex>.col-sm-2,.flex>.col-sm-1,.flex>.col-sm-0,.column>.col-sm-grow,.flex>.col-sm-grow,.column>.col-sm-shrink,.flex>.col-sm-shrink{height:auto;min-height:0;max-height:100%}.col-sm{flex:10000 1 0%}.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col-sm-0{flex:0 0 auto}.col-sm-grow{flex:1 0 auto}.col-sm-shrink{flex:0 1 auto}.row>.col-sm-0{height:auto;width:0%}.row>.offset-sm-0{margin-left:0%}.column>.col-sm-0{height:0%;width:auto}.row>.col-sm-1{height:auto;width:8.3333%}.row>.offset-sm-1{margin-left:8.3333%}.column>.col-sm-1{height:8.3333%;width:auto}.row>.col-sm-2{height:auto;width:16.6667%}.row>.offset-sm-2{margin-left:16.6667%}.column>.col-sm-2{height:16.6667%;width:auto}.row>.col-sm-3{height:auto;width:25%}.row>.offset-sm-3{margin-left:25%}.column>.col-sm-3{height:25%;width:auto}.row>.col-sm-4{height:auto;width:33.3333%}.row>.offset-sm-4{margin-left:33.3333%}.column>.col-sm-4{height:33.3333%;width:auto}.row>.col-sm-5{height:auto;width:41.6667%}.row>.offset-sm-5{margin-left:41.6667%}.column>.col-sm-5{height:41.6667%;width:auto}.row>.col-sm-6{height:auto;width:50%}.row>.offset-sm-6{margin-left:50%}.column>.col-sm-6{height:50%;width:auto}.row>.col-sm-7{height:auto;width:58.3333%}.row>.offset-sm-7{margin-left:58.3333%}.column>.col-sm-7{height:58.3333%;width:auto}.row>.col-sm-8{height:auto;width:66.6667%}.row>.offset-sm-8{margin-left:66.6667%}.column>.col-sm-8{height:66.6667%;width:auto}.row>.col-sm-9{height:auto;width:75%}.row>.offset-sm-9{margin-left:75%}.column>.col-sm-9{height:75%;width:auto}.row>.col-sm-10{height:auto;width:83.3333%}.row>.offset-sm-10{margin-left:83.3333%}.column>.col-sm-10{height:83.3333%;width:auto}.row>.col-sm-11{height:auto;width:91.6667%}.row>.offset-sm-11{margin-left:91.6667%}.column>.col-sm-11{height:91.6667%;width:auto}.row>.col-sm-12{height:auto;width:100%}.row>.offset-sm-12{margin-left:100%}.column>.col-sm-12{height:100%;width:auto}}@media(min-width:1024px){.row>.col-md,.flex>.col-md,.row>.col-md-auto,.row>.col-md-12,.row>.col-md-11,.row>.col-md-10,.row>.col-md-9,.row>.col-md-8,.row>.col-md-7,.row>.col-md-6,.row>.col-md-5,.row>.col-md-4,.row>.col-md-3,.row>.col-md-2,.row>.col-md-1,.row>.col-md-0,.flex>.col-md-auto,.flex>.col-md-12,.flex>.col-md-11,.flex>.col-md-10,.flex>.col-md-9,.flex>.col-md-8,.flex>.col-md-7,.flex>.col-md-6,.flex>.col-md-5,.flex>.col-md-4,.flex>.col-md-3,.flex>.col-md-2,.flex>.col-md-1,.flex>.col-md-0,.row>.col-md-grow,.flex>.col-md-grow,.row>.col-md-shrink,.flex>.col-md-shrink{width:auto;min-width:0;max-width:100%}.column>.col-md,.flex>.col-md,.column>.col-md-auto,.column>.col-md-12,.column>.col-md-11,.column>.col-md-10,.column>.col-md-9,.column>.col-md-8,.column>.col-md-7,.column>.col-md-6,.column>.col-md-5,.column>.col-md-4,.column>.col-md-3,.column>.col-md-2,.column>.col-md-1,.column>.col-md-0,.flex>.col-md-auto,.flex>.col-md-12,.flex>.col-md-11,.flex>.col-md-10,.flex>.col-md-9,.flex>.col-md-8,.flex>.col-md-7,.flex>.col-md-6,.flex>.col-md-5,.flex>.col-md-4,.flex>.col-md-3,.flex>.col-md-2,.flex>.col-md-1,.flex>.col-md-0,.column>.col-md-grow,.flex>.col-md-grow,.column>.col-md-shrink,.flex>.col-md-shrink{height:auto;min-height:0;max-height:100%}.col-md{flex:10000 1 0%}.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-md-0{flex:0 0 auto}.col-md-grow{flex:1 0 auto}.col-md-shrink{flex:0 1 auto}.row>.col-md-0{height:auto;width:0%}.row>.offset-md-0{margin-left:0%}.column>.col-md-0{height:0%;width:auto}.row>.col-md-1{height:auto;width:8.3333%}.row>.offset-md-1{margin-left:8.3333%}.column>.col-md-1{height:8.3333%;width:auto}.row>.col-md-2{height:auto;width:16.6667%}.row>.offset-md-2{margin-left:16.6667%}.column>.col-md-2{height:16.6667%;width:auto}.row>.col-md-3{height:auto;width:25%}.row>.offset-md-3{margin-left:25%}.column>.col-md-3{height:25%;width:auto}.row>.col-md-4{height:auto;width:33.3333%}.row>.offset-md-4{margin-left:33.3333%}.column>.col-md-4{height:33.3333%;width:auto}.row>.col-md-5{height:auto;width:41.6667%}.row>.offset-md-5{margin-left:41.6667%}.column>.col-md-5{height:41.6667%;width:auto}.row>.col-md-6{height:auto;width:50%}.row>.offset-md-6{margin-left:50%}.column>.col-md-6{height:50%;width:auto}.row>.col-md-7{height:auto;width:58.3333%}.row>.offset-md-7{margin-left:58.3333%}.column>.col-md-7{height:58.3333%;width:auto}.row>.col-md-8{height:auto;width:66.6667%}.row>.offset-md-8{margin-left:66.6667%}.column>.col-md-8{height:66.6667%;width:auto}.row>.col-md-9{height:auto;width:75%}.row>.offset-md-9{margin-left:75%}.column>.col-md-9{height:75%;width:auto}.row>.col-md-10{height:auto;width:83.3333%}.row>.offset-md-10{margin-left:83.3333%}.column>.col-md-10{height:83.3333%;width:auto}.row>.col-md-11{height:auto;width:91.6667%}.row>.offset-md-11{margin-left:91.6667%}.column>.col-md-11{height:91.6667%;width:auto}.row>.col-md-12{height:auto;width:100%}.row>.offset-md-12{margin-left:100%}.column>.col-md-12{height:100%;width:auto}}@media(min-width:1440px){.row>.col-lg,.flex>.col-lg,.row>.col-lg-auto,.row>.col-lg-12,.row>.col-lg-11,.row>.col-lg-10,.row>.col-lg-9,.row>.col-lg-8,.row>.col-lg-7,.row>.col-lg-6,.row>.col-lg-5,.row>.col-lg-4,.row>.col-lg-3,.row>.col-lg-2,.row>.col-lg-1,.row>.col-lg-0,.flex>.col-lg-auto,.flex>.col-lg-12,.flex>.col-lg-11,.flex>.col-lg-10,.flex>.col-lg-9,.flex>.col-lg-8,.flex>.col-lg-7,.flex>.col-lg-6,.flex>.col-lg-5,.flex>.col-lg-4,.flex>.col-lg-3,.flex>.col-lg-2,.flex>.col-lg-1,.flex>.col-lg-0,.row>.col-lg-grow,.flex>.col-lg-grow,.row>.col-lg-shrink,.flex>.col-lg-shrink{width:auto;min-width:0;max-width:100%}.column>.col-lg,.flex>.col-lg,.column>.col-lg-auto,.column>.col-lg-12,.column>.col-lg-11,.column>.col-lg-10,.column>.col-lg-9,.column>.col-lg-8,.column>.col-lg-7,.column>.col-lg-6,.column>.col-lg-5,.column>.col-lg-4,.column>.col-lg-3,.column>.col-lg-2,.column>.col-lg-1,.column>.col-lg-0,.flex>.col-lg-auto,.flex>.col-lg-12,.flex>.col-lg-11,.flex>.col-lg-10,.flex>.col-lg-9,.flex>.col-lg-8,.flex>.col-lg-7,.flex>.col-lg-6,.flex>.col-lg-5,.flex>.col-lg-4,.flex>.col-lg-3,.flex>.col-lg-2,.flex>.col-lg-1,.flex>.col-lg-0,.column>.col-lg-grow,.flex>.col-lg-grow,.column>.col-lg-shrink,.flex>.col-lg-shrink{height:auto;min-height:0;max-height:100%}.col-lg{flex:10000 1 0%}.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-lg-0{flex:0 0 auto}.col-lg-grow{flex:1 0 auto}.col-lg-shrink{flex:0 1 auto}.row>.col-lg-0{height:auto;width:0%}.row>.offset-lg-0{margin-left:0%}.column>.col-lg-0{height:0%;width:auto}.row>.col-lg-1{height:auto;width:8.3333%}.row>.offset-lg-1{margin-left:8.3333%}.column>.col-lg-1{height:8.3333%;width:auto}.row>.col-lg-2{height:auto;width:16.6667%}.row>.offset-lg-2{margin-left:16.6667%}.column>.col-lg-2{height:16.6667%;width:auto}.row>.col-lg-3{height:auto;width:25%}.row>.offset-lg-3{margin-left:25%}.column>.col-lg-3{height:25%;width:auto}.row>.col-lg-4{height:auto;width:33.3333%}.row>.offset-lg-4{margin-left:33.3333%}.column>.col-lg-4{height:33.3333%;width:auto}.row>.col-lg-5{height:auto;width:41.6667%}.row>.offset-lg-5{margin-left:41.6667%}.column>.col-lg-5{height:41.6667%;width:auto}.row>.col-lg-6{height:auto;width:50%}.row>.offset-lg-6{margin-left:50%}.column>.col-lg-6{height:50%;width:auto}.row>.col-lg-7{height:auto;width:58.3333%}.row>.offset-lg-7{margin-left:58.3333%}.column>.col-lg-7{height:58.3333%;width:auto}.row>.col-lg-8{height:auto;width:66.6667%}.row>.offset-lg-8{margin-left:66.6667%}.column>.col-lg-8{height:66.6667%;width:auto}.row>.col-lg-9{height:auto;width:75%}.row>.offset-lg-9{margin-left:75%}.column>.col-lg-9{height:75%;width:auto}.row>.col-lg-10{height:auto;width:83.3333%}.row>.offset-lg-10{margin-left:83.3333%}.column>.col-lg-10{height:83.3333%;width:auto}.row>.col-lg-11{height:auto;width:91.6667%}.row>.offset-lg-11{margin-left:91.6667%}.column>.col-lg-11{height:91.6667%;width:auto}.row>.col-lg-12{height:auto;width:100%}.row>.offset-lg-12{margin-left:100%}.column>.col-lg-12{height:100%;width:auto}}@media(min-width:1920px){.row>.col-xl,.flex>.col-xl,.row>.col-xl-auto,.row>.col-xl-12,.row>.col-xl-11,.row>.col-xl-10,.row>.col-xl-9,.row>.col-xl-8,.row>.col-xl-7,.row>.col-xl-6,.row>.col-xl-5,.row>.col-xl-4,.row>.col-xl-3,.row>.col-xl-2,.row>.col-xl-1,.row>.col-xl-0,.flex>.col-xl-auto,.flex>.col-xl-12,.flex>.col-xl-11,.flex>.col-xl-10,.flex>.col-xl-9,.flex>.col-xl-8,.flex>.col-xl-7,.flex>.col-xl-6,.flex>.col-xl-5,.flex>.col-xl-4,.flex>.col-xl-3,.flex>.col-xl-2,.flex>.col-xl-1,.flex>.col-xl-0,.row>.col-xl-grow,.flex>.col-xl-grow,.row>.col-xl-shrink,.flex>.col-xl-shrink{width:auto;min-width:0;max-width:100%}.column>.col-xl,.flex>.col-xl,.column>.col-xl-auto,.column>.col-xl-12,.column>.col-xl-11,.column>.col-xl-10,.column>.col-xl-9,.column>.col-xl-8,.column>.col-xl-7,.column>.col-xl-6,.column>.col-xl-5,.column>.col-xl-4,.column>.col-xl-3,.column>.col-xl-2,.column>.col-xl-1,.column>.col-xl-0,.flex>.col-xl-auto,.flex>.col-xl-12,.flex>.col-xl-11,.flex>.col-xl-10,.flex>.col-xl-9,.flex>.col-xl-8,.flex>.col-xl-7,.flex>.col-xl-6,.flex>.col-xl-5,.flex>.col-xl-4,.flex>.col-xl-3,.flex>.col-xl-2,.flex>.col-xl-1,.flex>.col-xl-0,.column>.col-xl-grow,.flex>.col-xl-grow,.column>.col-xl-shrink,.flex>.col-xl-shrink{height:auto;min-height:0;max-height:100%}.col-xl{flex:10000 1 0%}.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-xl-0{flex:0 0 auto}.col-xl-grow{flex:1 0 auto}.col-xl-shrink{flex:0 1 auto}.row>.col-xl-0{height:auto;width:0%}.row>.offset-xl-0{margin-left:0%}.column>.col-xl-0{height:0%;width:auto}.row>.col-xl-1{height:auto;width:8.3333%}.row>.offset-xl-1{margin-left:8.3333%}.column>.col-xl-1{height:8.3333%;width:auto}.row>.col-xl-2{height:auto;width:16.6667%}.row>.offset-xl-2{margin-left:16.6667%}.column>.col-xl-2{height:16.6667%;width:auto}.row>.col-xl-3{height:auto;width:25%}.row>.offset-xl-3{margin-left:25%}.column>.col-xl-3{height:25%;width:auto}.row>.col-xl-4{height:auto;width:33.3333%}.row>.offset-xl-4{margin-left:33.3333%}.column>.col-xl-4{height:33.3333%;width:auto}.row>.col-xl-5{height:auto;width:41.6667%}.row>.offset-xl-5{margin-left:41.6667%}.column>.col-xl-5{height:41.6667%;width:auto}.row>.col-xl-6{height:auto;width:50%}.row>.offset-xl-6{margin-left:50%}.column>.col-xl-6{height:50%;width:auto}.row>.col-xl-7{height:auto;width:58.3333%}.row>.offset-xl-7{margin-left:58.3333%}.column>.col-xl-7{height:58.3333%;width:auto}.row>.col-xl-8{height:auto;width:66.6667%}.row>.offset-xl-8{margin-left:66.6667%}.column>.col-xl-8{height:66.6667%;width:auto}.row>.col-xl-9{height:auto;width:75%}.row>.offset-xl-9{margin-left:75%}.column>.col-xl-9{height:75%;width:auto}.row>.col-xl-10{height:auto;width:83.3333%}.row>.offset-xl-10{margin-left:83.3333%}.column>.col-xl-10{height:83.3333%;width:auto}.row>.col-xl-11{height:auto;width:91.6667%}.row>.offset-xl-11{margin-left:91.6667%}.column>.col-xl-11{height:91.6667%;width:auto}.row>.col-xl-12{height:auto;width:100%}.row>.offset-xl-12{margin-left:100%}.column>.col-xl-12{height:100%;width:auto}}.rounded-borders{border-radius:4px}.border-radius-inherit{border-radius:inherit}.no-transition{transition:none!important}.transition-0{transition:0s!important}.glossy{background-image:linear-gradient(to bottom,#ffffff4d,#fff0 50%,#0000001f 51%,#0000000a)!important}.q-placeholder::placeholder{color:inherit;opacity:.7}.q-body--fullscreen-mixin,.q-body--prevent-scroll{position:fixed!important}.q-body--force-scrollbar-x{overflow-x:scroll}.q-body--force-scrollbar-y{overflow-y:scroll}.q-no-input-spinner{-moz-appearance:textfield!important}.q-no-input-spinner::-webkit-outer-spin-button,.q-no-input-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.q-link{outline:0;text-decoration:none}.q-link--focusable:focus-visible{-webkit-text-decoration:underline dashed currentColor 1px;text-decoration:underline dashed currentColor 1px}body.electron .q-electron-drag{-webkit-user-select:none;-webkit-app-region:drag}body.electron .q-electron-drag .q-btn-item,body.electron .q-electron-drag--exception{-webkit-app-region:no-drag}img.responsive{max-width:100%;height:auto}.non-selectable{-webkit-user-select:none!important;user-select:none!important}.scroll,body.mobile .scroll--mobile{overflow:auto}.scroll,.scroll-x,.scroll-y{-webkit-overflow-scrolling:touch;will-change:scroll-position}.scroll-x{overflow-x:auto}.scroll-y{overflow-y:auto}.no-scroll{overflow:hidden!important}.no-pointer-events,.no-pointer-events--children,.no-pointer-events--children *{pointer-events:none!important}.all-pointer-events{pointer-events:all!important}.cursor-pointer{cursor:pointer!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-inherit{cursor:inherit!important}.cursor-none{cursor:none!important}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-135{transform:rotate(135deg)}.rotate-180{transform:rotate(180deg)}.rotate-225{transform:rotate(225deg)}.rotate-270{transform:rotate(270deg)}.rotate-315{transform:rotate(315deg)}.flip-horizontal{transform:scaleX(-1)}.flip-vertical{transform:scaleY(-1)}.float-left{float:left}.float-right{float:right}.relative-position{position:relative}.fixed,.fixed-full,.fullscreen,.fixed-center,.fixed-bottom,.fixed-left,.fixed-right,.fixed-top,.fixed-top-left,.fixed-top-right,.fixed-bottom-left,.fixed-bottom-right{position:fixed}.absolute,.absolute-full,.absolute-center,.absolute-bottom,.absolute-left,.absolute-right,.absolute-top,.absolute-top-left,.absolute-top-right,.absolute-bottom-left,.absolute-bottom-right{position:absolute}.fixed-top,.absolute-top{top:0;left:0;right:0}.fixed-right,.absolute-right{top:0;right:0;bottom:0}.fixed-bottom,.absolute-bottom{right:0;bottom:0;left:0}.fixed-left,.absolute-left{top:0;bottom:0;left:0}.fixed-top-left,.absolute-top-left{top:0;left:0}.fixed-top-right,.absolute-top-right{top:0;right:0}.fixed-bottom-left,.absolute-bottom-left{bottom:0;left:0}.fixed-bottom-right,.absolute-bottom-right{bottom:0;right:0}.fullscreen{z-index:6000;border-radius:0!important;max-width:100vw;max-height:100vh}body.q-ios-padding .fullscreen{padding-top:20px!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}.absolute-full,.fullscreen,.fixed-full{top:0;right:0;bottom:0;left:0}.fixed-center,.absolute-center{top:50%;left:50%;transform:translate(-50%,-50%)}.vertical-top{vertical-align:top!important}.vertical-middle{vertical-align:middle!important}.vertical-bottom{vertical-align:bottom!important}.on-left{margin-right:12px}.on-right{margin-left:12px}.q-position-engine{margin-top:var(--q-pe-top, 0)!important;margin-left:var(--q-pe-left, 0)!important;will-change:auto;visibility:collapse}:root{--q-size-xs: 0;--q-size-sm: 600px;--q-size-md: 1024px;--q-size-lg: 1440px;--q-size-xl: 1920px}.fit{width:100%!important;height:100%!important}.full-height{height:100%!important}.full-width{width:100%!important;margin-left:0!important;margin-right:0!important}.window-height{margin-top:0!important;margin-bottom:0!important;height:100vh!important}.window-width{margin-left:0!important;margin-right:0!important;width:100vw!important}.block{display:block!important}.inline-block{display:inline-block!important}.q-pa-none{padding:0}.q-pl-none{padding-left:0}.q-pr-none{padding-right:0}.q-pt-none{padding-top:0}.q-pb-none{padding-bottom:0}.q-px-none{padding-left:0;padding-right:0}.q-py-none{padding-top:0;padding-bottom:0}.q-ma-none{margin:0}.q-ml-none{margin-left:0}.q-mr-none{margin-right:0}.q-mt-none{margin-top:0}.q-mb-none{margin-bottom:0}.q-mx-none{margin-left:0;margin-right:0}.q-my-none{margin-top:0;margin-bottom:0}.q-pa-xs{padding:4px}.q-pl-xs{padding-left:4px}.q-pr-xs{padding-right:4px}.q-pt-xs{padding-top:4px}.q-pb-xs{padding-bottom:4px}.q-px-xs{padding-left:4px;padding-right:4px}.q-py-xs{padding-top:4px;padding-bottom:4px}.q-ma-xs{margin:4px}.q-ml-xs{margin-left:4px}.q-mr-xs{margin-right:4px}.q-mt-xs{margin-top:4px}.q-mb-xs{margin-bottom:4px}.q-mx-xs{margin-left:4px;margin-right:4px}.q-my-xs{margin-top:4px;margin-bottom:4px}.q-pa-sm{padding:8px}.q-pl-sm{padding-left:8px}.q-pr-sm{padding-right:8px}.q-pt-sm{padding-top:8px}.q-pb-sm{padding-bottom:8px}.q-px-sm{padding-left:8px;padding-right:8px}.q-py-sm{padding-top:8px;padding-bottom:8px}.q-ma-sm{margin:8px}.q-ml-sm{margin-left:8px}.q-mr-sm{margin-right:8px}.q-mt-sm{margin-top:8px}.q-mb-sm{margin-bottom:8px}.q-mx-sm{margin-left:8px;margin-right:8px}.q-my-sm{margin-top:8px;margin-bottom:8px}.q-pa-md{padding:16px}.q-pl-md{padding-left:16px}.q-pr-md{padding-right:16px}.q-pt-md{padding-top:16px}.q-pb-md{padding-bottom:16px}.q-px-md{padding-left:16px;padding-right:16px}.q-py-md{padding-top:16px;padding-bottom:16px}.q-ma-md{margin:16px}.q-ml-md{margin-left:16px}.q-mr-md{margin-right:16px}.q-mt-md{margin-top:16px}.q-mb-md{margin-bottom:16px}.q-mx-md{margin-left:16px;margin-right:16px}.q-my-md{margin-top:16px;margin-bottom:16px}.q-pa-lg{padding:24px}.q-pl-lg{padding-left:24px}.q-pr-lg{padding-right:24px}.q-pt-lg{padding-top:24px}.q-pb-lg{padding-bottom:24px}.q-px-lg{padding-left:24px;padding-right:24px}.q-py-lg{padding-top:24px;padding-bottom:24px}.q-ma-lg{margin:24px}.q-ml-lg{margin-left:24px}.q-mr-lg{margin-right:24px}.q-mt-lg{margin-top:24px}.q-mb-lg{margin-bottom:24px}.q-mx-lg{margin-left:24px;margin-right:24px}.q-my-lg{margin-top:24px;margin-bottom:24px}.q-pa-xl{padding:48px}.q-pl-xl{padding-left:48px}.q-pr-xl{padding-right:48px}.q-pt-xl{padding-top:48px}.q-pb-xl{padding-bottom:48px}.q-px-xl{padding-left:48px;padding-right:48px}.q-py-xl{padding-top:48px;padding-bottom:48px}.q-ma-xl{margin:48px}.q-ml-xl{margin-left:48px}.q-mr-xl{margin-right:48px}.q-mt-xl{margin-top:48px}.q-mb-xl{margin-bottom:48px}.q-mx-xl{margin-left:48px;margin-right:48px}.q-my-xl{margin-top:48px;margin-bottom:48px}.q-mt-auto,.q-my-auto{margin-top:auto}.q-ml-auto{margin-left:auto}.q-mb-auto,.q-my-auto{margin-bottom:auto}.q-mr-auto{margin-right:auto}.q-mx-auto{margin-left:auto;margin-right:auto}.q-touch{-webkit-user-select:none;user-select:none;user-drag:none;-khtml-user-drag:none;-webkit-user-drag:none}.q-touch-x{touch-action:pan-x}.q-touch-y{touch-action:pan-y}:root{--q-transition-duration: .3s}.q-transition--slide-right-enter-active,.q-transition--slide-right-leave-active,.q-transition--slide-left-enter-active,.q-transition--slide-left-leave-active,.q-transition--slide-up-enter-active,.q-transition--slide-up-leave-active,.q-transition--slide-down-enter-active,.q-transition--slide-down-leave-active,.q-transition--jump-right-enter-active,.q-transition--jump-right-leave-active,.q-transition--jump-left-enter-active,.q-transition--jump-left-leave-active,.q-transition--jump-up-enter-active,.q-transition--jump-up-leave-active,.q-transition--jump-down-enter-active,.q-transition--jump-down-leave-active,.q-transition--fade-enter-active,.q-transition--fade-leave-active,.q-transition--scale-enter-active,.q-transition--scale-leave-active,.q-transition--rotate-enter-active,.q-transition--rotate-leave-active,.q-transition--flip-enter-active,.q-transition--flip-leave-active{--q-transition-duration: .3s;--q-transition-easing: cubic-bezier(.215,.61,.355,1)}.q-transition--slide-right-leave-active,.q-transition--slide-left-leave-active,.q-transition--slide-up-leave-active,.q-transition--slide-down-leave-active,.q-transition--jump-right-leave-active,.q-transition--jump-left-leave-active,.q-transition--jump-up-leave-active,.q-transition--jump-down-leave-active,.q-transition--fade-leave-active,.q-transition--scale-leave-active,.q-transition--rotate-leave-active,.q-transition--flip-leave-active{position:absolute}.q-transition--slide-right-enter-active,.q-transition--slide-right-leave-active,.q-transition--slide-left-enter-active,.q-transition--slide-left-leave-active,.q-transition--slide-up-enter-active,.q-transition--slide-up-leave-active,.q-transition--slide-down-enter-active,.q-transition--slide-down-leave-active{transition:transform var(--q-transition-duration) var(--q-transition-easing)}.q-transition--slide-right-enter-from{transform:translate3d(-100%,0,0)}.q-transition--slide-right-leave-to,.q-transition--slide-left-enter-from{transform:translate3d(100%,0,0)}.q-transition--slide-left-leave-to{transform:translate3d(-100%,0,0)}.q-transition--slide-up-enter-from{transform:translate3d(0,100%,0)}.q-transition--slide-up-leave-to,.q-transition--slide-down-enter-from{transform:translate3d(0,-100%,0)}.q-transition--slide-down-leave-to{transform:translate3d(0,100%,0)}.q-transition--jump-right-enter-active,.q-transition--jump-right-leave-active,.q-transition--jump-left-enter-active,.q-transition--jump-left-leave-active,.q-transition--jump-up-enter-active,.q-transition--jump-up-leave-active,.q-transition--jump-down-enter-active,.q-transition--jump-down-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration)}.q-transition--jump-right-enter-from,.q-transition--jump-right-leave-to,.q-transition--jump-left-enter-from,.q-transition--jump-left-leave-to,.q-transition--jump-up-enter-from,.q-transition--jump-up-leave-to,.q-transition--jump-down-enter-from,.q-transition--jump-down-leave-to{opacity:0}.q-transition--jump-right-enter-from{transform:translate3d(-15px,0,0)}.q-transition--jump-right-leave-to,.q-transition--jump-left-enter-from{transform:translate3d(15px,0,0)}.q-transition--jump-left-leave-to{transform:translate(-15px)}.q-transition--jump-up-enter-from{transform:translate3d(0,15px,0)}.q-transition--jump-up-leave-to,.q-transition--jump-down-enter-from{transform:translate3d(0,-15px,0)}.q-transition--jump-down-leave-to{transform:translate3d(0,15px,0)}.q-transition--fade-enter-active,.q-transition--fade-leave-active{transition:opacity var(--q-transition-duration) ease-out}.q-transition--fade-enter-from,.q-transition--fade-leave-to{opacity:0}.q-transition--scale-enter-active,.q-transition--scale-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration) var(--q-transition-easing)}.q-transition--scale-enter-from,.q-transition--scale-leave-to{opacity:0;transform:scale3d(0,0,1)}.q-transition--rotate-enter-active,.q-transition--rotate-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration) var(--q-transition-easing);transform-style:preserve-3d}.q-transition--rotate-enter-from,.q-transition--rotate-leave-to{opacity:0;transform:scale3d(0,0,1) rotate3d(0,0,1,90deg)}.q-transition--flip-right-enter-active,.q-transition--flip-right-leave-active,.q-transition--flip-left-enter-active,.q-transition--flip-left-leave-active,.q-transition--flip-up-enter-active,.q-transition--flip-up-leave-active,.q-transition--flip-down-enter-active,.q-transition--flip-down-leave-active{transition:transform var(--q-transition-duration);backface-visibility:hidden}.q-transition--flip-right-enter-to,.q-transition--flip-right-leave-from,.q-transition--flip-left-enter-to,.q-transition--flip-left-leave-from,.q-transition--flip-up-enter-to,.q-transition--flip-up-leave-from,.q-transition--flip-down-enter-to,.q-transition--flip-down-leave-from{transform:perspective(400px) rotate3d(1,1,0,0)}.q-transition--flip-right-enter-from{transform:perspective(400px) rotateY(-180deg)}.q-transition--flip-right-leave-to,.q-transition--flip-left-enter-from{transform:perspective(400px) rotateY(180deg)}.q-transition--flip-left-leave-to{transform:perspective(400px) rotateY(-180deg)}.q-transition--flip-up-enter-from{transform:perspective(400px) rotateX(-180deg)}.q-transition--flip-up-leave-to,.q-transition--flip-down-enter-from{transform:perspective(400px) rotateX(180deg)}.q-transition--flip-down-leave-to{transform:perspective(400px) rotateX(-180deg)}body{min-width:100px;min-height:100%;font-family:Roboto,-apple-system,Helvetica Neue,Helvetica,Arial,sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased;line-height:1.5;font-size:14px}h1{font-size:6rem;font-weight:300;line-height:6rem;letter-spacing:-.01562em}h2{font-size:3.75rem;font-weight:300;line-height:3.75rem;letter-spacing:-.00833em}h3{font-size:3rem;font-weight:400;line-height:3.125rem;letter-spacing:normal}h4{font-size:2.125rem;font-weight:400;line-height:2.5rem;letter-spacing:.00735em}h5{font-size:1.5rem;font-weight:400;line-height:2rem;letter-spacing:normal}h6{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}p{margin:0 0 16px}.text-h1{font-size:6rem;font-weight:300;line-height:6rem;letter-spacing:-.01562em}.text-h2{font-size:3.75rem;font-weight:300;line-height:3.75rem;letter-spacing:-.00833em}.text-h3{font-size:3rem;font-weight:400;line-height:3.125rem;letter-spacing:normal}.text-h4{font-size:2.125rem;font-weight:400;line-height:2.5rem;letter-spacing:.00735em}.text-h5{font-size:1.5rem;font-weight:400;line-height:2rem;letter-spacing:normal}.text-h6{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}.text-subtitle1{font-size:1rem;font-weight:400;line-height:1.75rem;letter-spacing:.00937em}.text-subtitle2{font-size:.875rem;font-weight:500;line-height:1.375rem;letter-spacing:.00714em}.text-body1{font-size:1rem;font-weight:400;line-height:1.5rem;letter-spacing:.03125em}.text-body2{font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:.01786em}.text-overline{font-size:.75rem;font-weight:500;line-height:2rem;letter-spacing:.16667em}.text-caption{font-size:.75rem;font-weight:400;line-height:1.25rem;letter-spacing:.03333em}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.text-italic{font-style:italic}.text-bold{font-weight:700}.text-no-wrap{white-space:nowrap}.text-strike{text-decoration:line-through}.text-weight-thin{font-weight:100}.text-weight-light{font-weight:300}.text-weight-regular{font-weight:400}.text-weight-medium{font-weight:500}.text-weight-bold{font-weight:700}.text-weight-bolder{font-weight:900}small{font-size:80%}big{font-size:170%}sub{bottom:-.25em}sup{top:-.5em}.no-margin{margin:0!important}.no-padding{padding:0!important}.no-border{border:0!important}.no-border-radius{border-radius:0!important}.no-box-shadow{box-shadow:none!important}.no-outline{outline:0!important}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ellipsis-2-lines,.ellipsis-3-lines{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.ellipsis-2-lines{-webkit-line-clamp:2}.ellipsis-3-lines{-webkit-line-clamp:3}.readonly{cursor:default!important}.disabled,.disabled *,[disabled],[disabled] *{outline:0!important;cursor:not-allowed!important}.disabled,[disabled]{opacity:.6!important}.hidden{display:none!important}.invisible,.invisible *{visibility:hidden!important;transition:none!important;animation:none!important}.transparent{background:transparent!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-hidden-y{overflow-y:hidden!important}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}.dimmed:after,.light-dimmed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.dimmed:after{background:#0006!important}.light-dimmed:after{background:#fff9!important}.z-top{z-index:7000!important}.z-max{z-index:9998!important}body:not(.desktop) .desktop-only,body.desktop .desktop-hide{display:none!important}body:not(.mobile) .mobile-only,body.mobile .mobile-hide{display:none!important}body:not(.native-mobile) .native-mobile-only,body.native-mobile .native-mobile-hide{display:none!important}body:not(.cordova) .cordova-only,body.cordova .cordova-hide{display:none!important}body:not(.capacitor) .capacitor-only,body.capacitor .capacitor-hide{display:none!important}body:not(.electron) .electron-only,body.electron .electron-hide{display:none!important}body:not(.touch) .touch-only,body.touch .touch-hide{display:none!important}body:not(.within-iframe) .within-iframe-only,body.within-iframe .within-iframe-hide{display:none!important}body:not(.platform-ios) .platform-ios-only,body.platform-ios .platform-ios-hide{display:none!important}body:not(.platform-android) .platform-android-only,body.platform-android .platform-android-hide{display:none!important}@media all and (orientation:portrait){.orientation-landscape{display:none!important}}@media all and (orientation:landscape){.orientation-portrait{display:none!important}}@media screen{.print-only{display:none!important}}@media print{.print-hide{display:none!important}}@media(max-width:599.98px){.xs-hide,.gt-xs,.sm,.gt-sm,.md,.gt-md,.lg,.gt-lg,.xl{display:none!important}}@media(min-width:600px)and (max-width:1023.98px){.sm-hide,.xs,.lt-sm,.gt-sm,.md,.gt-md,.lg,.gt-lg,.xl{display:none!important}}@media(min-width:1024px)and (max-width:1439.98px){.md-hide,.xs,.lt-sm,.sm,.lt-md,.gt-md,.lg,.gt-lg,.xl{display:none!important}}@media(min-width:1440px)and (max-width:1919.98px){.lg-hide,.xs,.lt-sm,.sm,.lt-md,.md,.lt-lg,.gt-lg,.xl{display:none!important}}@media(min-width:1920px){.xl-hide,.xs,.lt-sm,.sm,.lt-md,.md,.lt-lg,.lg,.lt-xl{display:none!important}}.q-focus-helper,.q-focusable,.q-manual-focusable,.q-hoverable{outline:0}body.desktop .q-focus-helper{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;border-radius:inherit;opacity:0;transition:background-color .3s cubic-bezier(.25,.8,.5,1),opacity .4s cubic-bezier(.25,.8,.5,1)}body.desktop .q-focus-helper:before,body.desktop .q-focus-helper:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;border-radius:inherit;transition:background-color .3s cubic-bezier(.25,.8,.5,1),opacity .6s cubic-bezier(.25,.8,.5,1)}body.desktop .q-focus-helper:before{background:#000}body.desktop .q-focus-helper:after{background:#fff}body.desktop .q-focus-helper--rounded{border-radius:4px}body.desktop .q-focus-helper--round{border-radius:50%}body.desktop .q-focusable:focus>.q-focus-helper,body.desktop .q-manual-focusable--focused>.q-focus-helper,body.desktop .q-hoverable:hover>.q-focus-helper{background:currentColor;opacity:.15}body.desktop .q-focusable:focus>.q-focus-helper:before,body.desktop .q-manual-focusable--focused>.q-focus-helper:before,body.desktop .q-hoverable:hover>.q-focus-helper:before{opacity:.1}body.desktop .q-focusable:focus>.q-focus-helper:after,body.desktop .q-manual-focusable--focused>.q-focus-helper:after,body.desktop .q-hoverable:hover>.q-focus-helper:after{opacity:.4}body.desktop .q-focusable:focus>.q-focus-helper,body.desktop .q-manual-focusable--focused>.q-focus-helper{opacity:.22}body.body--dark{color:#fff;background:var(--q-dark-page)}.q-dark{color:#fff;background:var(--q-dark)} diff --git a/app/dist/spa/assets/taxstore-oR45_mFg.js b/app/dist/spa/assets/taxstore-oR45_mFg.js new file mode 100644 index 0000000..3639fa1 --- /dev/null +++ b/app/dist/spa/assets/taxstore-oR45_mFg.js @@ -0,0 +1 @@ +import{as as n}from"./index-0B2sgEyA.js";import{P as e}from"./LocalStorage-7Uw3xG9P.js";const s="taxstore:v1",i={prevPreparedByUs:!1,prevDeclaration:{comments:"",attachments:[]},firstName:"",lastName:"",birthDate:"",address:{street:"",cap:"",city:"",country:{code:"",name:""},canton:""}},r={alimentiVersati:!1,alimentiCommenti:{comments:"",attachments:[]},maritalStatus:"",spouseFirstName:"",spouseLastName:"",spouseBirthDate:"",spouseDeadDate:"",spouseTaxNumber:"",spouseAddress:{street:"",cap:"",city:"",country:{code:"",name:""},canton:""},marriageDate:"",separated:!1,spouseAlimentiVersati:!1},c=n("taxstore",{state:()=>{try{const t=e.getItem(s);if(t&&typeof t=="object"){const a=t;if(Array.isArray(a.items))return{items:a.items}}}catch{}return{items:[{key:"taxpayer",data:{...i}},{key:"marital",data:{...r}}]}},actions:{persist(){try{e.set(s,{items:this.items})}catch{}},_findTaxpayer(){return this.items.find(t=>t.key==="taxpayer")},_findMarital(){return this.items.find(t=>t.key==="marital")},getTaxpayer(){return this._findTaxpayer()?.data},setTaxpayer(t){const a=this._findTaxpayer();a&&(a.data={...a.data,...t}),this.persist()},replaceTaxpayer(t){const a=this._findTaxpayer();a&&(a.data=t),this.persist()},resetTaxpayer(){const t=this._findTaxpayer();t&&(t.data={...i}),this.persist()},getMarital(){return this._findMarital()?.data},setMarital(t){const a=this._findMarital();a&&(a.data={...a.data,...t}),this.persist()},replaceMarital(t){const a=this._findMarital();a&&(a.data=t),this.persist()},resetMarital(){const t=this._findMarital();t&&(t.data={...r}),this.persist()}}});export{c as u}; diff --git a/app/dist/spa/assets/userstore-DBCughIu.js b/app/dist/spa/assets/userstore-DBCughIu.js new file mode 100644 index 0000000..72468bb --- /dev/null +++ b/app/dist/spa/assets/userstore-DBCughIu.js @@ -0,0 +1 @@ +import{c as he,r as j,L as qt,M as At,o as Xt,g as ye,h as w,b as Je,au as Yt,G as te,f as se,av as Gt,W as Jt,aw as Zt,ax as Xe,P as el,s as tl,Q as ll,a as s,ay as nl,R as ul,az as al,S as il,aA as ol,w as de,e as He,y as ht,B as yt,t as rl,aB as sl,aC as Ze,aD as et,aE as tt,aF as lt,aG as cl,H as dl,I as fl,aH as vl,V as ml,aI as gl,aJ as De,aK as Sl,n as hl,J as yl,aL as bl,aM as zt,aN as Ot,aO as je,aP as wl,aQ as Oe,aR as pl,D as Le,aS as Cl,aT as xl,E as Se,al as Vl,ap as kl,N as Fl,z as ql,aU as Al,aV as zl,aW as Ol,j as _l,aX as Tl,as as Il}from"./index-0B2sgEyA.js";import{v as El,a as bt,u as Ml,p as wt,d as Pl,e as Bl,f as Rl,r as pt,s as Dl,c as Ct,n as xt,Q as Ll,h as Hl}from"./LocalStorage-7Uw3xG9P.js";import{b as jl,a as Nl}from"./QList-CHwmSUjA.js";const on=he({name:"QForm",props:{autofocus:Boolean,noErrorFocus:Boolean,noResetFocus:Boolean,greedy:Boolean,onSubmit:Function},emits:["reset","validationSuccess","validationError"],setup(e,{slots:a,emit:u}){const m=ye(),d=j(null);let n=0;const k=[];function v(f){const q=typeof f=="boolean"?f:e.noErrorFocus!==!0,C=++n,S=(x,V)=>{u(`validation${x===!0?"Success":"Error"}`,V)},N=x=>{const V=x.validate();return typeof V.then=="function"?V.then(M=>({valid:M,comp:x}),M=>({valid:!1,comp:x,err:M})):Promise.resolve({valid:V,comp:x})};return(e.greedy===!0?Promise.all(k.map(N)).then(x=>x.filter(V=>V.valid!==!0)):k.reduce((x,V)=>x.then(()=>N(V).then(M=>{if(M.valid===!1)return Promise.reject(M)})),Promise.resolve()).catch(x=>[x])).then(x=>{if(x===void 0||x.length===0)return C===n&&S(!0),!0;if(C===n){const{comp:V,err:M}=x[0];if(M!==void 0&&console.error(M),S(!1,V),q===!0){const y=x.find(({comp:P})=>typeof P.focus=="function"&&Yt(P.$)===!1);y!==void 0&&y.comp.focus()}}return!1})}function b(){n++,k.forEach(f=>{typeof f.resetValidation=="function"&&f.resetValidation()})}function I(f){f!==void 0&&te(f);const q=n+1;v().then(C=>{q===n&&C===!0&&(e.onSubmit!==void 0?u("submit",f):f?.target!==void 0&&typeof f.target.submit=="function"&&f.target.submit())})}function c(f){f!==void 0&&te(f),u("reset"),se(()=>{b(),e.autofocus===!0&&e.noResetFocus!==!0&&p()})}function p(){Gt(()=>{if(d.value===null)return;(d.value.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||d.value.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||d.value.querySelector("[autofocus], [data-autofocus]")||Array.prototype.find.call(d.value.querySelectorAll("[tabindex]"),q=>q.tabIndex!==-1))?.focus({preventScroll:!0})})}Jt(Zt,{bindComponent(f){k.push(f)},unbindComponent(f){const q=k.indexOf(f);q!==-1&&k.splice(q,1)}});let F=!1;return qt(()=>{F=!0}),At(()=>{F===!0&&e.autofocus===!0&&p()}),Xt(()=>{e.autofocus===!0&&p()}),Object.assign(m.proxy,{validate:v,resetValidation:b,submit:I,reset:c,focus:p,getValidationComponents:()=>k}),()=>w("form",{class:"q-form",ref:d,onSubmit:I,onReset:c},Je(a.default))}}),rn=he({name:"QTooltip",inheritAttrs:!1,props:{...Ml,...ll,...Xe,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{...Xe.transitionShow,default:"jump-down"},transitionHide:{...Xe.transitionHide,default:"jump-up"},anchor:{type:String,default:"bottom middle",validator:bt},self:{type:String,default:"top middle",validator:bt},offset:{type:Array,default:()=>[14,14],validator:El},scrollTarget:tl,delay:{type:Number,default:0},hideDelay:{type:Number,default:0},persistent:Boolean},emits:[...el],setup(e,{slots:a,emit:u,attrs:m}){let d,n;const k=ye(),{proxy:{$q:v}}=k,b=j(null),I=j(!1),c=s(()=>wt(e.anchor,v.lang.rtl)),p=s(()=>wt(e.self,v.lang.rtl)),F=s(()=>e.persistent!==!0),{registerTick:f,removeTick:q}=nl(),{registerTimeout:C}=ul(),{transitionProps:S,transitionStyle:N}=al(e),{localScrollTarget:g,changeScrollEvent:x,unconfigureScrollTarget:V}=Pl(e,ee),{anchorEl:M,canShow:y,anchorEvents:P}=Bl({showing:I,configureAnchorEl:Q}),{show:W,hide:E}=il({showing:I,canShow:y,handleShow:ie,handleHide:ne,hideOnRouteChange:F,processOnMount:!0});Object.assign(P,{delayShow:A,delayHide:$});const{showPortal:R,hidePortal:le,renderPortal:X}=ol(k,b,i,"tooltip");if(v.platform.is.mobile===!0){const h={anchorEl:M,innerRef:b,onClickOutside(D){return E(D),D.target.classList.contains("q-dialog__backdrop")&&te(D),!0}},B=s(()=>e.modelValue===null&&e.persistent!==!0&&I.value===!0);de(B,D=>{(D===!0?Rl:pt)(h)}),He(()=>{pt(h)})}function ie(h){R(),f(()=>{n=new MutationObserver(()=>Y()),n.observe(b.value,{attributes:!1,childList:!0,characterData:!0,subtree:!0}),Y(),ee()}),d===void 0&&(d=de(()=>v.screen.width+"|"+v.screen.height+"|"+e.self+"|"+e.anchor+"|"+v.lang.rtl,Y)),C(()=>{R(!0),u("show",h)},e.transitionDuration)}function ne(h){q(),le(),ue(),C(()=>{le(!0),u("hide",h)},e.transitionDuration)}function ue(){n!==void 0&&(n.disconnect(),n=void 0),d!==void 0&&(d(),d=void 0),V(),ht(P,"tooltipTemp")}function Y(){Dl({targetEl:b.value,offset:e.offset,anchorEl:M.value,anchorOrigin:c.value,selfOrigin:p.value,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function A(h){if(v.platform.is.mobile===!0){Ct(),document.body.classList.add("non-selectable");const B=M.value,D=["touchmove","touchcancel","touchend","click"].map(_=>[B,_,"delayHide","passiveCapture"]);yt(P,"tooltipTemp",D)}C(()=>{W(h)},e.delay)}function $(h){v.platform.is.mobile===!0&&(ht(P,"tooltipTemp"),Ct(),setTimeout(()=>{document.body.classList.remove("non-selectable")},10)),C(()=>{E(h)},e.hideDelay)}function Q(){if(e.noParentEvent===!0||M.value===null)return;const h=v.platform.is.mobile===!0?[[M.value,"touchstart","delayShow","passive"]]:[[M.value,"mouseenter","delayShow","passive"],[M.value,"mouseleave","delayHide","passive"]];yt(P,"anchor",h)}function ee(){if(M.value!==null||e.scrollTarget!==void 0){g.value=rl(M.value,e.scrollTarget);const h=e.noParentEvent===!0?Y:E;x(g.value,h)}}function l(){return I.value===!0?w("div",{...m,ref:b,class:["q-tooltip q-tooltip--style q-position-engine no-pointer-events",m.class],style:[m.style,N.value],role:"tooltip"},Je(a.default)):null}function i(){return w(sl,S.value,l)}return He(ue),Object.assign(k.proxy,{updatePosition:Y}),X}}),$l=he({name:"QField",inheritAttrs:!1,props:{...et,tag:{type:String,default:"label"}},emits:Ze,setup(){return tt(lt({tagProp:!0}))}}),Kl={xs:8,sm:10,md:14,lg:20,xl:24},_t=he({name:"QChip",props:{...dl,...cl,dense:Boolean,icon:String,iconRight:String,iconRemove:String,iconSelected:String,label:[String,Number],color:String,textColor:String,modelValue:{type:Boolean,default:!0},selected:{type:Boolean,default:null},square:Boolean,outline:Boolean,clickable:Boolean,removable:Boolean,removeAriaLabel:String,tabindex:[String,Number],disable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:["update:modelValue","update:selected","remove","click"],setup(e,{slots:a,emit:u}){const{proxy:{$q:m}}=ye(),d=fl(e,m),n=vl(e,Kl),k=s(()=>e.selected===!0||e.icon!==void 0),v=s(()=>e.selected===!0?e.iconSelected||m.iconSet.chip.selected:e.icon),b=s(()=>e.iconRemove||m.iconSet.chip.remove),I=s(()=>e.disable===!1&&(e.clickable===!0||e.selected!==null)),c=s(()=>{const S=e.outline===!0&&e.color||e.textColor;return"q-chip row inline no-wrap items-center"+(e.outline===!1&&e.color!==void 0?` bg-${e.color}`:"")+(S?` text-${S} q-chip--colored`:"")+(e.disable===!0?" disabled":"")+(e.dense===!0?" q-chip--dense":"")+(e.outline===!0?" q-chip--outline":"")+(e.selected===!0?" q-chip--selected":"")+(I.value===!0?" q-chip--clickable cursor-pointer non-selectable q-hoverable":"")+(e.square===!0?" q-chip--square":"")+(d.value===!0?" q-chip--dark q-dark":"")}),p=s(()=>{const S=e.disable===!0?{tabindex:-1,"aria-disabled":"true"}:{tabindex:e.tabindex||0},N={...S,role:"button","aria-hidden":"false","aria-label":e.removeAriaLabel||m.lang.label.remove};return{chip:S,remove:N}});function F(S){S.keyCode===13&&f(S)}function f(S){e.disable||(u("update:selected",!e.selected),u("click",S))}function q(S){(S.keyCode===void 0||S.keyCode===13)&&(te(S),e.disable===!1&&(u("update:modelValue",!1),u("remove")))}function C(){const S=[];I.value===!0&&S.push(w("div",{class:"q-focus-helper"})),k.value===!0&&S.push(w(De,{class:"q-chip__icon q-chip__icon--left",name:v.value}));const N=e.label!==void 0?[w("div",{class:"ellipsis"},[e.label])]:void 0;return S.push(w("div",{class:"q-chip__content col row no-wrap items-center q-anchor--skip"},Sl(a.default,N))),e.iconRight&&S.push(w(De,{class:"q-chip__icon q-chip__icon--right",name:e.iconRight})),e.removable===!0&&S.push(w(De,{class:"q-chip__icon q-chip__icon--remove cursor-pointer",name:b.value,...p.value.remove,onClick:q,onKeyup:q})),S}return()=>{if(e.modelValue===!1)return;const S={class:c.value,style:n.value};return I.value===!0&&Object.assign(S,p.value.chip,{onClick:f,onKeyup:F}),ml("div",S,C(),"ripple",e.ripple!==!1&&e.disable!==!0,()=>[[gl,e.ripple]])}}}),Ql=he({name:"QItemLabel",props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:a}){const u=s(()=>parseInt(e.lines,10)),m=s(()=>"q-item__label"+(e.overline===!0?" q-item__label--overline text-overline":"")+(e.caption===!0?" q-item__label--caption text-caption":"")+(e.header===!0?" q-item__label--header":"")+(u.value===1?" ellipsis":"")),d=s(()=>e.lines!==void 0&&u.value>1?{overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":u.value}:null);return()=>w("div",{style:d.value,class:m.value},Je(a.default))}});let Ne=!1;{const e=document.createElement("div");e.setAttribute("dir","rtl"),Object.assign(e.style,{width:"1px",height:"1px",overflow:"auto"});const a=document.createElement("div");Object.assign(a.style,{width:"1000px",height:"1px"}),document.body.appendChild(e),e.appendChild(a),e.scrollLeft=-1e3,Ne=e.scrollLeft>=0,e.remove()}const ae=1e3,Ul=["start","center","end","start-force","center-force","end-force"],Tt=Array.prototype.filter,Wl=window.getComputedStyle(document.body).overflowAnchor===void 0?hl:function(e,a){e!==null&&(e._qOverflowAnimationFrame!==void 0&&cancelAnimationFrame(e._qOverflowAnimationFrame),e._qOverflowAnimationFrame=requestAnimationFrame(()=>{if(e===null)return;e._qOverflowAnimationFrame=void 0;const u=e.children||[];Tt.call(u,d=>d.dataset&&d.dataset.qVsAnchor!==void 0).forEach(d=>{delete d.dataset.qVsAnchor});const m=u[a];m?.dataset&&(m.dataset.qVsAnchor="")}))};function Fe(e,a){return e+a}function Ye(e,a,u,m,d,n,k,v){const b=e===window?document.scrollingElement||document.documentElement:e,I=d===!0?"offsetWidth":"offsetHeight",c={scrollStart:0,scrollViewSize:-k-v,scrollMaxSize:0,offsetStart:-k,offsetEnd:-v};if(d===!0?(e===window?(c.scrollStart=window.pageXOffset||window.scrollX||document.body.scrollLeft||0,c.scrollViewSize+=document.documentElement.clientWidth):(c.scrollStart=b.scrollLeft,c.scrollViewSize+=b.clientWidth),c.scrollMaxSize=b.scrollWidth,n===!0&&(c.scrollStart=(Ne===!0?c.scrollMaxSize-c.scrollViewSize:0)-c.scrollStart)):(e===window?(c.scrollStart=window.pageYOffset||window.scrollY||document.body.scrollTop||0,c.scrollViewSize+=document.documentElement.clientHeight):(c.scrollStart=b.scrollTop,c.scrollViewSize+=b.clientHeight),c.scrollMaxSize=b.scrollHeight),u!==null)for(let p=u.previousElementSibling;p!==null;p=p.previousElementSibling)p.classList.contains("q-virtual-scroll--skip")===!1&&(c.offsetStart+=p[I]);if(m!==null)for(let p=m.nextElementSibling;p!==null;p=p.nextElementSibling)p.classList.contains("q-virtual-scroll--skip")===!1&&(c.offsetEnd+=p[I]);if(a!==e){const p=b.getBoundingClientRect(),F=a.getBoundingClientRect();d===!0?(c.offsetStart+=F.left-p.left,c.offsetEnd-=F.width):(c.offsetStart+=F.top-p.top,c.offsetEnd-=F.height),e!==window&&(c.offsetStart+=c.scrollStart),c.offsetEnd+=c.scrollMaxSize-c.offsetStart}return c}function Vt(e,a,u,m){a==="end"&&(a=(e===window?document.body:e)[u===!0?"scrollWidth":"scrollHeight"]),e===window?u===!0?(m===!0&&(a=(Ne===!0?document.body.scrollWidth-document.documentElement.clientWidth:0)-a),window.scrollTo(a,window.pageYOffset||window.scrollY||document.body.scrollTop||0)):window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,a):u===!0?(m===!0&&(a=(Ne===!0?e.scrollWidth-e.offsetWidth:0)-a),e.scrollLeft=a):e.scrollTop=a}function _e(e,a,u,m){if(u>=m)return 0;const d=a.length,n=Math.floor(u/ae),k=Math.floor((m-1)/ae)+1;let v=e.slice(n,k).reduce(Fe,0);return u%ae!==0&&(v-=a.slice(n*ae,u).reduce(Fe,0)),m%ae!==0&&m!==d&&(v-=a.slice(m,k*ae).reduce(Fe,0)),v}const Xl={virtualScrollSliceSize:{type:[Number,String],default:10},virtualScrollSliceRatioBefore:{type:[Number,String],default:1},virtualScrollSliceRatioAfter:{type:[Number,String],default:1},virtualScrollItemSize:{type:[Number,String],default:24},virtualScrollStickySizeStart:{type:[Number,String],default:0},virtualScrollStickySizeEnd:{type:[Number,String],default:0},tableColspan:[Number,String]},kt={virtualScrollHorizontal:Boolean,onVirtualScroll:Function,...Xl};function Yl({virtualScrollLength:e,getVirtualScrollTarget:a,getVirtualScrollEl:u,virtualScrollItemSizeComputed:m}){const d=ye(),{props:n,emit:k,proxy:v}=d,{$q:b}=v;let I,c,p,F=[],f;const q=j(0),C=j(0),S=j({}),N=j(null),g=j(null),x=j(null),V=j({from:0,to:0}),M=s(()=>n.tableColspan!==void 0?n.tableColspan:100);m===void 0&&(m=s(()=>n.virtualScrollItemSize));const y=s(()=>m.value+";"+n.virtualScrollHorizontal),P=s(()=>y.value+";"+n.virtualScrollSliceRatioBefore+";"+n.virtualScrollSliceRatioAfter);de(P,()=>{Y()}),de(y,W);function W(){ue(c,!0)}function E(l){ue(l===void 0?c:l)}function R(l,i){const h=a();if(h==null||h.nodeType===8)return;const B=Ye(h,u(),N.value,g.value,n.virtualScrollHorizontal,b.lang.rtl,n.virtualScrollStickySizeStart,n.virtualScrollStickySizeEnd);p!==B.scrollViewSize&&Y(B.scrollViewSize),X(h,B,Math.min(e.value-1,Math.max(0,parseInt(l,10)||0)),0,Ul.indexOf(i)!==-1?i:c!==-1&&l>c?"end":"start")}function le(){const l=a();if(l==null||l.nodeType===8)return;const i=Ye(l,u(),N.value,g.value,n.virtualScrollHorizontal,b.lang.rtl,n.virtualScrollStickySizeStart,n.virtualScrollStickySizeEnd),h=e.value-1,B=i.scrollMaxSize-i.offsetStart-i.offsetEnd-C.value;if(I===i.scrollStart)return;if(i.scrollMaxSize<=0){X(l,i,0,0);return}p!==i.scrollViewSize&&Y(i.scrollViewSize),ie(V.value.from);const D=Math.floor(i.scrollMaxSize-Math.max(i.scrollViewSize,i.offsetEnd)-Math.min(f[h],i.scrollViewSize/2));if(D>0&&Math.ceil(i.scrollStart)>=D){X(l,i,h,i.scrollMaxSize-i.offsetEnd-F.reduce(Fe,0));return}let _=0,T=i.scrollStart-i.offsetStart,U=T;if(T<=B&&T+i.scrollViewSize>=q.value)T-=q.value,_=V.value.from,U=T;else for(let O=0;T>=F[O]&&_0&&_-i.scrollViewSize?(_++,U=T):U=f[_]+T;X(l,i,_,U)}function X(l,i,h,B,D){const _=typeof D=="string"&&D.indexOf("-force")!==-1,T=_===!0?D.replace("-force",""):D,U=T!==void 0?T:"start";let O=Math.max(0,h-S.value[U]),J=O+S.value.total;J>e.value&&(J=e.value,O=Math.max(0,J-S.value.total)),I=i.scrollStart;const ce=O!==V.value.from||J!==V.value.to;if(ce===!1&&T===void 0){$(h);return}const{activeElement:Te}=document,re=x.value;ce===!0&&re!==null&&re!==Te&&re.contains(Te)===!0&&(re.addEventListener("focusout",ne),setTimeout(()=>{re?.removeEventListener("focusout",ne)})),Wl(re,h-O);const Ie=T!==void 0?f.slice(O,h).reduce(Fe,0):0;if(ce===!0){const fe=J>=V.value.from&&O<=V.value.to?V.value.to:J;V.value={from:O,to:fe},q.value=_e(F,f,0,O),C.value=_e(F,f,J,e.value),requestAnimationFrame(()=>{V.value.to!==J&&I===i.scrollStart&&(V.value={from:V.value.from,to:J},C.value=_e(F,f,J,e.value))})}requestAnimationFrame(()=>{if(I!==i.scrollStart)return;ce===!0&&ie(O);const fe=f.slice(O,h).reduce(Fe,0),ve=fe+i.offsetStart+q.value,Ee=ve+f[h];let qe=ve+B;if(T!==void 0){const $e=fe-Ie,Ae=i.scrollStart+$e;qe=_!==!0&&AeO.classList&&O.classList.contains("q-virtual-scroll--skip")===!1),B=h.length,D=n.virtualScrollHorizontal===!0?O=>O.getBoundingClientRect().width:O=>O.offsetHeight;let _=l,T,U;for(let O=0;O=B;_--)f[_]=h;const D=Math.floor((e.value-1)/ae);F=[];for(let _=0;_<=D;_++){let T=0;const U=Math.min((_+1)*ae,e.value);for(let O=_*ae;O=0?(ie(V.value.from),se(()=>{R(l)})):Q()}function Y(l){if(l===void 0&&typeof window<"u"){const T=a();T!=null&&T.nodeType!==8&&(l=Ye(T,u(),N.value,g.value,n.virtualScrollHorizontal,b.lang.rtl,n.virtualScrollStickySizeStart,n.virtualScrollStickySizeEnd).scrollViewSize)}p=l;const i=parseFloat(n.virtualScrollSliceRatioBefore)||0,h=parseFloat(n.virtualScrollSliceRatioAfter)||0,B=1+i+h,D=l===void 0||l<=0?1:Math.ceil(l/m.value),_=Math.max(1,D,Math.ceil((n.virtualScrollSliceSize>0?n.virtualScrollSliceSize:10)/B));S.value={total:Math.ceil(_*B),start:Math.ceil(_*i),center:Math.ceil(_*(.5+i)),end:Math.ceil(_*(1+i)),view:D}}function A(l,i){const h=n.virtualScrollHorizontal===!0?"width":"height",B={["--q-virtual-scroll-item-"+h]:m.value+"px"};return[l==="tbody"?w(l,{class:"q-virtual-scroll__padding",key:"before",ref:N},[w("tr",[w("td",{style:{[h]:`${q.value}px`,...B},colspan:M.value})])]):w(l,{class:"q-virtual-scroll__padding",key:"before",ref:N,style:{[h]:`${q.value}px`,...B}}),w(l,{class:"q-virtual-scroll__content",key:"content",ref:x,tabindex:-1},i.flat()),l==="tbody"?w(l,{class:"q-virtual-scroll__padding",key:"after",ref:g},[w("tr",[w("td",{style:{[h]:`${C.value}px`,...B},colspan:M.value})])]):w(l,{class:"q-virtual-scroll__padding",key:"after",ref:g,style:{[h]:`${C.value}px`,...B}})]}function $(l){c!==l&&(n.onVirtualScroll!==void 0&&k("virtualScroll",{index:l,from:V.value.from,to:V.value.to-1,direction:l{Y()});let ee=!1;return qt(()=>{ee=!0}),At(()=>{if(ee!==!0)return;const l=a();I!==void 0&&l!==void 0&&l!==null&&l.nodeType!==8?Vt(l,I,n.virtualScrollHorizontal,b.lang.rtl):R(c)}),He(()=>{Q.cancel()}),Object.assign(v,{scrollTo:R,reset:W,refresh:E}),{virtualScrollSliceRange:V,virtualScrollSliceSizeComputed:S,setVirtualScrollSize:Y,onVirtualScrollEvt:Q,localResetVirtualScroll:ue,padVirtualScroll:A,scrollTo:R,reset:W,refresh:E}}const Ft=e=>["add","add-unique","toggle"].includes(e),Gl=".*+?^${}()|[]\\",Jl=Object.keys(et);function Ge(e,a){if(typeof e=="function")return e;const u=e!==void 0?e:a;return m=>m!==null&&typeof m=="object"&&u in m?m[u]:m}const sn=he({name:"QSelect",inheritAttrs:!1,props:{...kt,...zt,...et,modelValue:{required:!0},multiple:Boolean,displayValue:[String,Number],displayValueHtml:Boolean,dropdownIcon:String,options:{type:Array,default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],hideSelected:Boolean,hideDropdownIcon:Boolean,fillInput:Boolean,maxValues:[Number,String],optionsDense:Boolean,optionsDark:{type:Boolean,default:null},optionsSelectedClass:String,optionsHtml:Boolean,optionsCover:Boolean,menuShrink:Boolean,menuAnchor:String,menuSelf:String,menuOffset:Array,popupContentClass:String,popupContentStyle:[String,Array,Object],popupNoRouteDismiss:Boolean,useInput:Boolean,useChips:Boolean,newValueMode:{type:String,validator:Ft},mapOptions:Boolean,emitValue:Boolean,disableTabSelection:Boolean,inputDebounce:{type:[Number,String],default:500},inputClass:[Array,String,Object],inputStyle:[Array,String,Object],tabindex:{type:[String,Number],default:0},autocomplete:String,transitionShow:{},transitionHide:{},transitionDuration:{},behavior:{type:String,validator:e=>["default","menu","dialog"].includes(e),default:"default"},virtualScrollItemSize:kt.virtualScrollItemSize.type,onNewValue:Function,onFilter:Function},emits:[...Ze,"add","remove","inputValue","keyup","keypress","keydown","popupShow","popupHide","filterAbort"],setup(e,{slots:a,emit:u}){const{proxy:m}=ye(),{$q:d}=m,n=j(!1),k=j(!1),v=j(-1),b=j(""),I=j(!1),c=j(!1);let p=null,F=null,f,q,C,S=null,N,g,x,V;const M=j(null),y=j(null),P=j(null),W=j(null),E=j(null),R=Ot(e),le=wl(ft),X=s(()=>Array.isArray(e.options)?e.options.length:0),ie=s(()=>e.virtualScrollItemSize===void 0?e.optionsDense===!0?24:48:e.virtualScrollItemSize),{virtualScrollSliceRange:ne,virtualScrollSliceSizeComputed:ue,localResetVirtualScroll:Y,padVirtualScroll:A,onVirtualScrollEvt:$,scrollTo:Q,setVirtualScrollSize:ee}=Yl({virtualScrollLength:X,getVirtualScrollTarget:Pt,getVirtualScrollEl:ct,virtualScrollItemSizeComputed:ie}),l=lt(),i=s(()=>{const t=e.mapOptions===!0&&e.multiple!==!0,o=e.modelValue!==void 0&&(e.modelValue!==null||t===!0)?e.multiple===!0&&Array.isArray(e.modelValue)?e.modelValue:[e.modelValue]:[];if(e.mapOptions===!0&&Array.isArray(e.options)===!0){const r=e.mapOptions===!0&&f!==void 0?f:[],z=o.map(H=>Mt(H,r));return e.modelValue===null&&t===!0?z.filter(H=>H!==null):z}return o}),h=s(()=>{const t={};return Jl.forEach(o=>{const r=e[o];r!==void 0&&(t[o]=r)}),t}),B=s(()=>e.optionsDark===null?l.isDark.value:e.optionsDark),D=s(()=>je(i.value)),_=s(()=>{let t="q-field__input q-placeholder col";return e.hideSelected===!0||i.value.length===0?[t,e.inputClass]:(t+=" q-field__input--padding",e.inputClass===void 0?t:[t,e.inputClass])}),T=s(()=>(e.virtualScrollHorizontal===!0?"q-virtual-scroll--horizontal":"")+(e.popupContentClass?" "+e.popupContentClass:"")),U=s(()=>X.value===0),O=s(()=>i.value.map(t=>Z.value(t)).join(", ")),J=s(()=>e.displayValue!==void 0?e.displayValue:O.value),ce=s(()=>e.optionsHtml===!0?()=>!0:t=>t?.html===!0),Te=s(()=>e.displayValueHtml===!0||e.displayValue===void 0&&(e.optionsHtml===!0||i.value.some(ce.value))),re=s(()=>l.focused.value===!0?e.tabindex:-1),Ie=s(()=>{const t={tabindex:e.tabindex,role:"combobox","aria-label":e.label,"aria-readonly":e.readonly===!0?"true":"false","aria-autocomplete":e.useInput===!0?"list":"none","aria-expanded":n.value===!0?"true":"false","aria-controls":`${l.targetUid.value}_lb`};return v.value>=0&&(t["aria-activedescendant"]=`${l.targetUid.value}_${v.value}`),t}),fe=s(()=>({id:`${l.targetUid.value}_lb`,role:"listbox","aria-multiselectable":e.multiple===!0?"true":"false"})),ve=s(()=>i.value.map((t,o)=>({index:o,opt:t,html:ce.value(t),selected:!0,removeAtIndex:Et,toggleOption:me,tabindex:re.value}))),Ee=s(()=>{if(X.value===0)return[];const{from:t,to:o}=ne.value;return e.options.slice(t,o).map((r,z)=>{const H=be.value(r)===!0,L=Qe(r)===!0,G=t+z,K={clickable:!0,active:L,activeClass:Ae.value,manualFocus:!0,focused:!1,disable:H,tabindex:-1,dense:e.optionsDense,dark:B.value,role:"option","aria-selected":L===!0?"true":"false",id:`${l.targetUid.value}_${G}`,onClick:()=>{me(r)}};return H!==!0&&(v.value===G&&(K.focused=!0),d.platform.is.desktop===!0&&(K.onMousemove=()=>{n.value===!0&&we(G)})),{index:G,opt:r,html:ce.value(r),label:Z.value(r),selected:K.active,focused:K.focused,toggleOption:me,setOptionIndex:we,itemProps:K}})}),qe=s(()=>e.dropdownIcon!==void 0?e.dropdownIcon:d.iconSet.arrow.dropdown),$e=s(()=>e.optionsCover===!1&&e.outlined!==!0&&e.standout!==!0&&e.borderless!==!0&&e.rounded!==!0),Ae=s(()=>e.optionsSelectedClass!==void 0?e.optionsSelectedClass:e.color!==void 0?`text-${e.color}`:""),oe=s(()=>Ge(e.optionValue,"value")),Z=s(()=>Ge(e.optionLabel,"label")),be=s(()=>Ge(e.optionDisable,"disable")),Me=s(()=>i.value.map(oe.value)),It=s(()=>{const t={onInput:ft,onChange:le,onKeydown:st,onKeyup:ot,onKeypress:rt,onFocus:at,onClick(o){q===!0&&Se(o)}};return t.onCompositionstart=t.onCompositionupdate=t.onCompositionend=le,t});de(i,t=>{f=t,e.useInput===!0&&e.fillInput===!0&&e.multiple!==!0&&l.innerLoading.value!==!0&&(k.value!==!0&&n.value!==!0||D.value!==!0)&&(C!==!0&&Ve(),(k.value===!0||n.value===!0)&&pe(""))},{immediate:!0}),de(()=>e.fillInput,Ve),de(n,Ue),de(X,Wt);function nt(t){return e.emitValue===!0?oe.value(t):t}function Ke(t){if(t!==-1&&t=e.maxValues)return;const z=e.modelValue.slice();u("add",{index:z.length,value:r}),z.push(r),u("update:modelValue",z)}function me(t,o){if(l.editable.value!==!0||t===void 0||be.value(t)===!0)return;const r=oe.value(t);if(e.multiple!==!0){o!==!0&&(ze(e.fillInput===!0?Z.value(t):"",!0,!0),ge()),y.value?.focus(),(i.value.length===0||Oe(oe.value(i.value[0]),r)!==!0)&&u("update:modelValue",e.emitValue===!0?r:t);return}if((q!==!0||I.value===!0)&&l.focus(),at(),i.value.length===0){const L=e.emitValue===!0?r:t;u("add",{index:0,value:L}),u("update:modelValue",e.multiple===!0?[L]:L);return}const z=e.modelValue.slice(),H=Me.value.findIndex(L=>Oe(L,r));if(H!==-1)u("remove",{index:H,value:z.splice(H,1)[0]});else{if(e.maxValues!==void 0&&z.length>=e.maxValues)return;const L=e.emitValue===!0?r:t;u("add",{index:z.length,value:L}),z.push(L)}u("update:modelValue",z)}function we(t){if(d.platform.is.desktop!==!0)return;const o=t!==-1&&t=0?Z.value(e.options[r]):N,!0))}}function Mt(t,o){const r=z=>Oe(oe.value(z),t);return e.options.find(r)||o.find(r)||t}function Qe(t){const o=oe.value(t);return Me.value.find(r=>Oe(r,o))!==void 0}function at(t){e.useInput===!0&&y.value!==null&&(t===void 0||y.value===t.target&&t.target.value===O.value)&&y.value.select()}function it(t){Vl(t,27)===!0&&n.value===!0&&(Se(t),ge(),Ve()),u("keyup",t)}function ot(t){const{value:o}=t.target;if(t.keyCode!==void 0){it(t);return}if(t.target.value="",p!==null&&(clearTimeout(p),p=null),F!==null&&(clearTimeout(F),F=null),Ve(),typeof o=="string"&&o.length!==0){const r=o.toLocaleLowerCase(),z=L=>{const G=e.options.find(K=>String(L.value(K)).toLocaleLowerCase()===r);return G===void 0?!1:(i.value.indexOf(G)===-1?me(G):ge(),!0)},H=L=>{z(oe)!==!0&&L!==!0&&z(Z)!==!0&&pe(o,!0,()=>H(!0))};H()}else l.clearValue(t)}function rt(t){u("keypress",t)}function st(t){if(u("keydown",t),pl(t)===!0)return;const o=b.value.length!==0&&(e.newValueMode!==void 0||e.onNewValue!==void 0),r=t.shiftKey!==!0&&e.disableTabSelection!==!0&&e.multiple!==!0&&(v.value!==-1||o===!0);if(t.keyCode===27){Le(t);return}if(t.keyCode===9&&r===!1){Ce();return}if(t.target===void 0||t.target.id!==l.targetUid.value||l.editable.value!==!0)return;if(t.keyCode===40&&l.innerLoading.value!==!0&&n.value===!1){te(t),xe();return}if(t.keyCode===8&&(e.useChips===!0||e.clearable===!0)&&e.hideSelected!==!0&&b.value.length===0){e.multiple===!0&&Array.isArray(e.modelValue)===!0?Ke(e.modelValue.length-1):e.multiple!==!0&&e.modelValue!==null&&u("update:modelValue",null);return}(t.keyCode===35||t.keyCode===36)&&(typeof b.value!="string"||b.value.length===0)&&(te(t),v.value=-1,Pe(t.keyCode===36?1:-1,e.multiple)),(t.keyCode===33||t.keyCode===34)&&ue.value!==void 0&&(te(t),v.value=Math.max(-1,Math.min(X.value,v.value+(t.keyCode===33?-1:1)*ue.value.view)),Pe(t.keyCode===33?1:-1,e.multiple)),(t.keyCode===38||t.keyCode===40)&&(te(t),Pe(t.keyCode===38?-1:1,e.multiple));const z=X.value;if((x===void 0||V0&&e.useInput!==!0&&t.key!==void 0&&t.key.length===1&&t.altKey===!1&&t.ctrlKey===!1&&t.metaKey===!1&&(t.keyCode!==32||x.length!==0)){n.value!==!0&&xe(t);const H=t.key.toLocaleLowerCase(),L=x.length===1&&x[0]===H;V=Date.now()+1500,L===!1&&(te(t),x+=H);const G=new RegExp("^"+x.split("").map(We=>Gl.indexOf(We)!==-1?"\\"+We:We).join(".*"),"i");let K=v.value;if(L===!0||K<0||G.test(Z.value(e.options[K]))!==!0)do K=xt(K+1,-1,z-1);while(K!==v.value&&(be.value(e.options[K])===!0||G.test(Z.value(e.options[K]))!==!0));v.value!==K&&se(()=>{we(K),Q(K),K>=0&&e.useInput===!0&&e.fillInput===!0&&Be(Z.value(e.options[K]),!0)});return}if(!(t.keyCode!==13&&(t.keyCode!==32||e.useInput===!0||x!=="")&&(t.keyCode!==9||r===!1))){if(t.keyCode!==9&&te(t),v.value!==-1&&v.value{if(G){if(Ft(G)!==!0)return}else G=e.newValueMode;if(ze("",e.multiple!==!0,!0),L==null)return;(G==="toggle"?me:ut)(L,G==="add-unique"),e.multiple!==!0&&(y.value?.focus(),ge())};if(e.onNewValue!==void 0?u("newValue",b.value,H):H(b.value),e.multiple!==!0)return}n.value===!0?Ce():l.innerLoading.value!==!0&&xe()}}function ct(){return q===!0?E.value:P.value!==null&&P.value.contentEl!==null?P.value.contentEl:void 0}function Pt(){return ct()}function Bt(){return e.hideSelected===!0?[]:a["selected-item"]!==void 0?ve.value.map(t=>a["selected-item"](t)).slice():a.selected!==void 0?[].concat(a.selected()):e.useChips===!0?ve.value.map((t,o)=>w(_t,{key:"option-"+o,removable:l.editable.value===!0&&be.value(t.opt)!==!0,dense:!0,textColor:e.color,tabindex:re.value,onRemove(){t.removeAtIndex(o)}},()=>w("span",{class:"ellipsis",[t.html===!0?"innerHTML":"textContent"]:Z.value(t.opt)}))):[w("span",{class:"ellipsis",[Te.value===!0?"innerHTML":"textContent"]:J.value})]}function dt(){if(U.value===!0)return a["no-option"]!==void 0?a["no-option"]({inputValue:b.value}):void 0;const t=a.option!==void 0?a.option:r=>w(Nl,{key:r.index,...r.itemProps},()=>w(jl,()=>w(Ql,()=>w("span",{[r.html===!0?"innerHTML":"textContent"]:r.label}))));let o=A("div",Ee.value.map(t));return a["before-options"]!==void 0&&(o=a["before-options"]().concat(o)),Fl(a["after-options"],o)}function Rt(t,o){const r=o===!0?{...Ie.value,...l.splitAttrs.attributes.value}:void 0,z={ref:o===!0?y:void 0,key:"i_t",class:_.value,style:e.inputStyle,value:b.value!==void 0?b.value:"",type:"search",...r,id:o===!0?l.targetUid.value:void 0,maxlength:e.maxlength,autocomplete:e.autocomplete,"data-autofocus":t===!0||e.autofocus===!0||void 0,disabled:e.disable===!0,readonly:e.readonly===!0,...It.value};return t!==!0&&q===!0&&(Array.isArray(z.class)===!0?z.class=[...z.class,"no-pointer-events"]:z.class+=" no-pointer-events"),w("input",z)}function ft(t){p!==null&&(clearTimeout(p),p=null),F!==null&&(clearTimeout(F),F=null),!(t&&t.target&&t.target.qComposing===!0)&&(Be(t.target.value||""),C=!0,N=b.value,l.focused.value!==!0&&(q!==!0||I.value===!0)&&l.focus(),e.onFilter!==void 0&&(p=setTimeout(()=>{p=null,pe(b.value)},e.inputDebounce)))}function Be(t,o){b.value!==t&&(b.value=t,o===!0||e.inputDebounce===0||e.inputDebounce==="0"?u("inputValue",t):F=setTimeout(()=>{F=null,u("inputValue",t)},e.inputDebounce))}function ze(t,o,r){C=r!==!0,e.useInput===!0&&(Be(t,!0),(o===!0||r!==!0)&&(N=t),o!==!0&&pe(t))}function pe(t,o,r){if(e.onFilter===void 0||o!==!0&&l.focused.value!==!0)return;l.innerLoading.value===!0?u("filterAbort"):(l.innerLoading.value=!0,c.value=!0),t!==""&&e.multiple!==!0&&i.value.length!==0&&C!==!0&&t===Z.value(i.value[0])&&(t="");const z=setTimeout(()=>{n.value===!0&&(n.value=!1)},10);S!==null&&clearTimeout(S),S=z,u("filter",t,(H,L)=>{(o===!0||l.focused.value===!0)&&S===z&&(clearTimeout(S),typeof H=="function"&&H(),c.value=!1,se(()=>{l.innerLoading.value=!1,l.editable.value===!0&&(o===!0?n.value===!0&&ge():n.value===!0?Ue(!0):n.value=!0),typeof L=="function"&&se(()=>{L(m)}),typeof r=="function"&&se(()=>{r(m)})}))},()=>{l.focused.value===!0&&S===z&&(clearTimeout(S),l.innerLoading.value=!1,c.value=!1),n.value===!0&&(n.value=!1)})}function Dt(){return w(Ll,{ref:P,class:T.value,style:e.popupContentStyle,modelValue:n.value,fit:e.menuShrink!==!0,cover:e.optionsCover===!0&&U.value!==!0&&e.useInput!==!0,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,dark:B.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,noRouteDismiss:e.popupNoRouteDismiss,square:$e.value,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,separateClosePopup:!0,...fe.value,onScrollPassive:$,onBeforeShow:mt,onBeforeHide:Lt,onShow:Ht},dt)}function Lt(t){gt(t),Ce()}function Ht(){ee()}function jt(t){Se(t),y.value?.focus(),I.value=!0,window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,0)}function Nt(t){Se(t),se(()=>{I.value=!1})}function $t(){const t=[w($l,{class:`col-auto ${l.fieldClass.value}`,...h.value,for:l.targetUid.value,dark:B.value,square:!0,loading:c.value,itemAligned:!1,filled:!0,stackLabel:b.value.length!==0,...l.splitAttrs.listeners.value,onFocus:jt,onBlur:Nt},{...a,rawControl:()=>l.getControl(!0),before:void 0,after:void 0})];return n.value===!0&&t.push(w("div",{ref:E,class:T.value+" scroll",style:e.popupContentStyle,...fe.value,onClick:Le,onScrollPassive:$},dt())),w(kl,{ref:W,modelValue:k.value,position:e.useInput===!0?"top":void 0,transitionShow:g,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,noRouteDismiss:e.popupNoRouteDismiss,onBeforeShow:mt,onBeforeHide:Kt,onHide:Qt,onShow:Ut},()=>w("div",{class:"q-select__dialog"+(B.value===!0?" q-select__dialog--dark q-dark":"")+(I.value===!0?" q-select__dialog--focused":"")},t))}function Kt(t){gt(t),W.value!==null&&W.value.__updateRefocusTarget(l.rootRef.value.querySelector(".q-field__native > [tabindex]:last-child")),l.focused.value=!1}function Qt(t){ge(),l.focused.value===!1&&u("blur",t),Ve()}function Ut(){const t=document.activeElement;(t===null||t.id!==l.targetUid.value)&&y.value!==null&&y.value!==t&&y.value.focus(),ee()}function Ce(){k.value!==!0&&(v.value=-1,n.value===!0&&(n.value=!1),l.focused.value===!1&&(S!==null&&(clearTimeout(S),S=null),l.innerLoading.value===!0&&(u("filterAbort"),l.innerLoading.value=!1,c.value=!1)))}function xe(t){l.editable.value===!0&&(q===!0?(l.onControlFocusin(t),k.value=!0,se(()=>{l.focus()})):l.focus(),e.onFilter!==void 0?pe(b.value):(U.value!==!0||a["no-option"]!==void 0)&&(n.value=!0))}function ge(){k.value=!1,Ce()}function Ve(){e.useInput===!0&&ze(e.multiple!==!0&&e.fillInput===!0&&i.value.length!==0&&Z.value(i.value[0])||"",!0,!0)}function Ue(t){let o=-1;if(t===!0){if(i.value.length!==0){const r=oe.value(i.value[0]);o=e.options.findIndex(z=>Oe(oe.value(z),r))}Y(o)}we(o)}function Wt(t,o){n.value===!0&&l.innerLoading.value===!1&&(Y(-1,!0),se(()=>{n.value===!0&&l.innerLoading.value===!1&&(t>o?Y():Ue(!0))}))}function vt(){k.value===!1&&P.value!==null&&P.value.updatePosition()}function mt(t){t!==void 0&&Se(t),u("popupShow",t),l.hasPopupOpen=!0,l.onControlFocusin(t)}function gt(t){t!==void 0&&Se(t),u("popupHide",t),l.hasPopupOpen=!1,l.onControlFocusout(t)}function St(){q=d.platform.is.mobile!==!0&&e.behavior!=="dialog"?!1:e.behavior!=="menu"&&(e.useInput===!0?a["no-option"]!==void 0||e.onFilter!==void 0||U.value===!1:!0),g=d.platform.is.ios===!0&&q===!0&&e.useInput===!0?"fade":e.transitionShow}return Cl(St),xl(vt),St(),He(()=>{p!==null&&clearTimeout(p),F!==null&&clearTimeout(F)}),Object.assign(m,{showPopup:xe,hidePopup:ge,removeAtIndex:Ke,add:ut,toggleOption:me,getOptionIndex:()=>v.value,setOptionIndex:we,moveOptionSelection:Pe,filter:pe,updateMenuPosition:vt,updateInputValue:ze,isOptionSelected:Qe,getEmittingOptionValue:nt,isOptionDisabled:(...t)=>be.value.apply(null,t)===!0,getOptionValue:(...t)=>oe.value.apply(null,t),getOptionLabel:(...t)=>Z.value.apply(null,t)}),Object.assign(l,{innerValue:i,fieldClass:s(()=>`q-select q-field--auto-height q-select--with${e.useInput!==!0?"out":""}-input q-select--with${e.useChips!==!0?"out":""}-chips q-select--${e.multiple===!0?"multiple":"single"}`),inputRef:M,targetRef:y,hasValue:D,showPopup:xe,floatingLabel:s(()=>e.hideSelected!==!0&&D.value===!0||typeof b.value=="number"||b.value.length!==0||je(e.displayValue)),getControlChild:()=>{if(l.editable.value!==!1&&(k.value===!0||U.value!==!0||a["no-option"]!==void 0))return q===!0?$t():Dt();l.hasPopupOpen===!0&&(l.hasPopupOpen=!1)},controlEvents:{onFocusin(t){l.onControlFocusin(t)},onFocusout(t){l.onControlFocusout(t,()=>{Ve(),Ce()})},onClick(t){if(Le(t),q!==!0&&n.value===!0){Ce(),y.value?.focus();return}xe(t)}},getControl:t=>{const o=Bt(),r=t===!0||k.value!==!0||q!==!0;if(e.useInput===!0)o.push(Rt(t,r));else if(l.editable.value===!0){const H=r===!0?Ie.value:void 0;o.push(w("input",{ref:r===!0?y:void 0,key:"d_t",class:"q-select__focus-target",id:r===!0?l.targetUid.value:void 0,value:J.value,readonly:!0,"data-autofocus":t===!0||e.autofocus===!0||void 0,...H,onKeydown:st,onKeyup:it,onKeypress:rt})),r===!0&&typeof e.autocomplete=="string"&&e.autocomplete.length!==0&&o.push(w("input",{class:"q-select__autocomplete-input",autocomplete:e.autocomplete,tabindex:-1,onKeyup:ot}))}if(R.value!==void 0&&e.disable!==!0&&Me.value.length!==0){const H=Me.value.map(L=>w("option",{value:L,selected:!0}));o.push(w("select",{class:"hidden",name:R.value,multiple:e.multiple},H))}const z=e.useInput===!0||r!==!0?void 0:l.splitAttrs.attributes.value;return w("div",{class:"q-field__native row items-center",...z,...l.splitAttrs.listeners.value},o)},getInnerAppend:()=>e.loading!==!0&&c.value!==!0&&e.hideDropdownIcon!==!0?[w(De,{class:"q-select__dropdown-icon"+(n.value===!0?" rotate-180":""),name:qe.value})]:null}),tt(l)}});function ke(e,a,u,m){const d=[];return e.forEach(n=>{m(n)===!0?d.push(n):a.push({failedPropValidation:u,file:n})}),d}function Re(e){e?.dataTransfer&&(e.dataTransfer.dropEffect="copy"),te(e)}const Zl={multiple:Boolean,accept:String,capture:String,maxFileSize:[Number,String],maxTotalSize:[Number,String],maxFiles:[Number,String],filter:Function},en=["rejected"];function tn({editable:e,dnd:a,getFileInput:u,addFilesToQueue:m}){const{props:d,emit:n,proxy:k}=ye(),v=j(null),b=s(()=>d.accept!==void 0?d.accept.split(",").map(g=>(g=g.trim(),g==="*"?"*/":(g.endsWith("/*")&&(g=g.slice(0,g.length-1)),g.toUpperCase()))):null),I=s(()=>parseInt(d.maxFiles,10)),c=s(()=>parseInt(d.maxTotalSize,10));function p(g){if(e.value)if(g!==Object(g)&&(g={target:null}),g.target?.matches('input[type="file"]')===!0)g.clientX===0&&g.clientY===0&&Se(g);else{const x=u();x!==g.target&&x?.click(g)}}function F(g){e.value&&g&&m(null,g)}function f(g,x,V,M){let y=Array.from(x||g.target.files);const P=[],W=()=>{P.length!==0&&n("rejected",P)};if(d.accept!==void 0&&b.value.indexOf("*/")===-1&&(y=ke(y,P,"accept",E=>b.value.some(R=>E.type.toUpperCase().startsWith(R)||E.name.toUpperCase().endsWith(R))),y.length===0))return W();if(d.maxFileSize!==void 0){const E=parseInt(d.maxFileSize,10);if(y=ke(y,P,"max-file-size",R=>R.size<=E),y.length===0)return W()}if(d.multiple!==!0&&y.length!==0&&(y=[y[0]]),y.forEach(E=>{E.__key=E.webkitRelativePath+E.lastModified+E.name+E.size}),M===!0){const E=V.map(R=>R.__key);y=ke(y,P,"duplicate",R=>E.includes(R.__key)===!1)}if(y.length===0)return W();if(d.maxTotalSize!==void 0){let E=M===!0?V.reduce((R,le)=>R+le.size,0):0;if(y=ke(y,P,"max-total-size",R=>(E+=R.size,E<=c.value)),y.length===0)return W()}if(typeof d.filter=="function"){const E=d.filter(y);y=ke(y,P,"filter",R=>E.includes(R))}if(d.maxFiles!==void 0){let E=M===!0?V.length:0;if(y=ke(y,P,"max-files",()=>(E++,E<=I.value)),y.length===0)return W()}if(W(),y.length!==0)return y}function q(g){Re(g),a.value!==!0&&(a.value=!0)}function C(g){te(g),(g.relatedTarget!==null||ql.is.safari!==!0?g.relatedTarget!==v.value:document.elementsFromPoint(g.clientX,g.clientY).includes(v.value)===!1)===!0&&(a.value=!1)}function S(g){Re(g);const x=g.dataTransfer.files;x.length!==0&&m(null,x),a.value=!1}function N(g){if(a.value===!0)return w("div",{ref:v,class:`q-${g}__dnd absolute-full`,onDragenter:Re,onDragover:Re,onDragleave:C,onDrop:S})}return Object.assign(k,{pickFiles:p,addFiles:F}),{pickFiles:p,addFiles:F,onDragover:q,onDragleave:C,processFiles:f,getDndNode:N,maxFilesNumber:I,maxTotalSizeNumber:c}}const cn=he({name:"QFile",inheritAttrs:!1,props:{...Al,...zt,...Zl,modelValue:[File,FileList,Array],append:Boolean,useChips:Boolean,displayValue:[String,Number],tabindex:{type:[String,Number],default:0},counterLabel:Function,inputClass:[Array,String,Object],inputStyle:[Array,String,Object]},emits:[...Ze,...en],setup(e,{slots:a,emit:u,attrs:m}){const{proxy:d}=ye(),n=lt(),k=j(null),v=j(!1),b=Ot(e),{pickFiles:I,onDragover:c,onDragleave:p,processFiles:F,getDndNode:f}=tn({editable:n.editable,dnd:v,getFileInput:X,addFilesToQueue:ie}),q=zl(e),C=s(()=>Object(e.modelValue)===e.modelValue?"length"in e.modelValue?Array.from(e.modelValue):[e.modelValue]:[]),S=s(()=>je(C.value)),N=s(()=>C.value.map(A=>A.name).join(", ")),g=s(()=>Hl(C.value.reduce((A,$)=>A+$.size,0))),x=s(()=>({totalSize:g.value,filesNumber:C.value.length,maxFiles:e.maxFiles})),V=s(()=>({tabindex:-1,type:"file",title:"",accept:e.accept,capture:e.capture,name:b.value,...m,id:n.targetUid.value,disabled:n.editable.value!==!0})),M=s(()=>"q-file q-field--auto-height"+(v.value===!0?" q-file--dnd":"")),y=s(()=>e.multiple===!0&&e.append===!0);function P(A){const $=C.value.slice();$.splice(A,1),E($)}function W(A){const $=C.value.indexOf(A);$!==-1&&P($)}function E(A){u("update:modelValue",e.multiple===!0?A:A[0])}function R(A){A.keyCode===13&&Le(A)}function le(A){(A.keyCode===13||A.keyCode===32)&&I(A)}function X(){return k.value}function ie(A,$){const Q=F(A,$,C.value,y.value),ee=X();ee!=null&&(ee.value=""),Q!==void 0&&((e.multiple===!0?e.modelValue&&Q.every(l=>C.value.includes(l)):e.modelValue===Q[0])||E(y.value===!0?C.value.concat(Q):Q))}function ne(){return[w("input",{class:[e.inputClass,"q-file__filler"],style:e.inputStyle})]}function ue(){if(a.file!==void 0)return C.value.length===0?ne():C.value.map(($,Q)=>a.file({index:Q,file:$,ref:this}));if(a.selected!==void 0)return C.value.length===0?ne():a.selected({files:C.value,ref:this});if(e.useChips===!0)return C.value.length===0?ne():C.value.map(($,Q)=>w(_t,{key:"file-"+Q,removable:n.editable.value,dense:!0,textColor:e.color,tabindex:e.tabindex,onRemove:()=>{P(Q)}},()=>w("span",{class:"ellipsis",textContent:$.name})));const A=e.displayValue!==void 0?e.displayValue:N.value;return A.length!==0?[w("div",{class:e.inputClass,style:e.inputStyle,textContent:A})]:ne()}function Y(){const A={ref:k,...V.value,...q.value,class:"q-field__input fit absolute-full cursor-pointer",onChange:ie};return e.multiple===!0&&(A.multiple=!0),w("input",A)}return Object.assign(n,{fieldClass:M,emitValue:E,hasValue:S,inputRef:k,innerValue:C,floatingLabel:s(()=>S.value===!0||je(e.displayValue)),computedCounter:s(()=>{if(e.counterLabel!==void 0)return e.counterLabel(x.value);const A=e.maxFiles;return`${C.value.length}${A!==void 0?" / "+A:""} (${g.value})`}),getControlChild:()=>f("file"),getControl:()=>{const A={ref:n.targetRef,class:"q-field__native row items-center cursor-pointer",tabindex:e.tabindex};return n.editable.value===!0&&Object.assign(A,{onDragover:c,onDragleave:p,onKeydown:R,onKeyup:le}),w("div",A,[Y()].concat(ue()))}}),Object.assign(d,{removeAtIndex:P,removeFile:W,getNativeElement:()=>k.value}),Ol(d,"nativeEl",()=>k.value),tt(n)}});function dn(){return _l(Tl)}const ln="00000000-0000-0000-0000-000000000000",fn=Il("userstore",{state:()=>({id:ln})});export{on as Q,sn as a,rn as b,Ql as c,fn as d,cn as e,_t as f,dn as u}; diff --git a/app/dist/spa/assets/vue-i18n.runtime-DPKkE7zN.js b/app/dist/spa/assets/vue-i18n.runtime-DPKkE7zN.js new file mode 100644 index 0000000..20a5d18 --- /dev/null +++ b/app/dist/spa/assets/vue-i18n.runtime-DPKkE7zN.js @@ -0,0 +1,3 @@ +import{b6 as yn,r as Sn,b7 as On,a as Le,w as tt,b8 as kn,$ as ft,g as Pn,j as An,o as vn,_ as Rn,h as qt,aa as Zt,a4 as Dn,b9 as Fn}from"./index-0B2sgEyA.js";function Mn(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const ve=typeof window<"u",ce=(e,t=!1)=>t?Symbol.for(e):Symbol(e),wn=(e,t,n)=>Un({l:e,k:t,s:n}),Un=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),K=e=>typeof e=="number"&&isFinite(e),Wn=e=>mt(e)==="[object Date]",Re=e=>mt(e)==="[object RegExp]",Fe=e=>R(e)&&Object.keys(e).length===0,Y=Object.assign,$n=Object.create,w=(e=null)=>$n(e);function Nt(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Tt(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Vn(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(r,l,a)=>`${l}="${Tt(a)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(r,l,a)=>`${l}='${Tt(a)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(r=>{e=e.replace(r,"$1javascript:")}),e}const xn=Object.prototype.hasOwnProperty;function Q(e,t){return xn.call(e,t)}const H=Array.isArray,W=e=>typeof e=="function",y=e=>typeof e=="string",$=e=>typeof e=="boolean",D=e=>e!==null&&typeof e=="object",jn=e=>D(e)&&W(e.then)&&W(e.catch),zt=Object.prototype.toString,mt=e=>zt.call(e),R=e=>mt(e)==="[object Object]",Hn=e=>e==null?"":H(e)||R(e)&&e.toString===zt?JSON.stringify(e,null,2):String(e);function dt(e,t=""){return e.reduce((n,r,l)=>l===0?n+r:n+t+r,"")}const Oe=e=>!D(e)||H(e);function Ae(e,t){if(Oe(e)||Oe(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:r,des:l}=n.pop();Object.keys(r).forEach(a=>{a!=="__proto__"&&(D(r[a])&&!D(l[a])&&(l[a]=Array.isArray(r[a])?[]:w()),Oe(l[a])||Oe(r[a])?l[a]=r[a]:n.push({src:r[a],des:l[a]}))})}}function Kn(e,t,n){return{line:e,column:t,offset:n}}function nt(e,t,n){return{start:e,end:t}}const F={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14},Xn=17;function Me(e,t,n={}){const{domain:r,messages:l,args:a}=n,o=e,u=new SyntaxError(String(o));return u.code=e,t&&(u.location=t),u.domain=r,u}function Yn(e){throw e}const z=" ",Gn="\r",G=` +`,Bn="\u2028",Jn="\u2029";function Qn(e){const t=e;let n=0,r=1,l=1,a=0;const o=L=>t[L]===Gn&&t[L+1]===G,u=L=>t[L]===G,m=L=>t[L]===Jn,d=L=>t[L]===Bn,h=L=>o(L)||u(L)||m(L)||d(L),T=()=>n,b=()=>r,P=()=>l,A=()=>a,O=L=>o(L)||m(L)||d(L)?G:t[L],k=()=>O(n),i=()=>O(n+a);function E(){return a=0,h(n)&&(r++,l=0),o(n)&&n++,n++,l++,t[n]}function N(){return o(n+a)&&a++,a++,t[n+a]}function g(){n=0,r=1,l=1,a=0}function I(L=0){a=L}function C(){const L=n+a;for(;L!==n;)E();a=0}return{index:T,line:b,column:P,peekOffset:A,charAt:O,currentChar:k,currentPeek:i,next:E,peek:N,reset:g,resetPeek:I,skipToPeek:C}}const re=void 0,qn=".",Ct="'",Zn="tokenizer";function zn(e,t={}){const n=t.location!==!1,r=Qn(e),l=()=>r.index(),a=()=>Kn(r.line(),r.column(),r.index()),o=a(),u=l(),m={currentType:13,offset:u,startLoc:o,endLoc:o,lastType:13,lastOffset:u,lastStartLoc:o,lastEndLoc:o,braceNest:0,inLinked:!1,text:""},d=()=>m,{onError:h}=t;function T(s,c,_,...S){const U=d();if(c.column+=_,c.offset+=_,h){const v=n?nt(U.startLoc,c):null,f=Me(s,v,{domain:Zn,args:S});h(f)}}function b(s,c,_){s.endLoc=a(),s.currentType=c;const S={type:c};return n&&(S.loc=nt(s.startLoc,s.endLoc)),_!=null&&(S.value=_),S}const P=s=>b(s,13);function A(s,c){return s.currentChar()===c?(s.next(),c):(T(F.EXPECTED_TOKEN,a(),0,c),"")}function O(s){let c="";for(;s.currentPeek()===z||s.currentPeek()===G;)c+=s.currentPeek(),s.peek();return c}function k(s){const c=O(s);return s.skipToPeek(),c}function i(s){if(s===re)return!1;const c=s.charCodeAt(0);return c>=97&&c<=122||c>=65&&c<=90||c===95}function E(s){if(s===re)return!1;const c=s.charCodeAt(0);return c>=48&&c<=57}function N(s,c){const{currentType:_}=c;if(_!==2)return!1;O(s);const S=i(s.currentPeek());return s.resetPeek(),S}function g(s,c){const{currentType:_}=c;if(_!==2)return!1;O(s);const S=s.currentPeek()==="-"?s.peek():s.currentPeek(),U=E(S);return s.resetPeek(),U}function I(s,c){const{currentType:_}=c;if(_!==2)return!1;O(s);const S=s.currentPeek()===Ct;return s.resetPeek(),S}function C(s,c){const{currentType:_}=c;if(_!==7)return!1;O(s);const S=s.currentPeek()===".";return s.resetPeek(),S}function L(s,c){const{currentType:_}=c;if(_!==8)return!1;O(s);const S=i(s.currentPeek());return s.resetPeek(),S}function V(s,c){const{currentType:_}=c;if(!(_===7||_===11))return!1;O(s);const S=s.currentPeek()===":";return s.resetPeek(),S}function x(s,c){const{currentType:_}=c;if(_!==9)return!1;const S=()=>{const v=s.currentPeek();return v==="{"?i(s.peek()):v==="@"||v==="|"||v===":"||v==="."||v===z||!v?!1:v===G?(s.peek(),S()):Z(s,!1)},U=S();return s.resetPeek(),U}function B(s){O(s);const c=s.currentPeek()==="|";return s.resetPeek(),c}function Z(s,c=!0){const _=(U=!1,v="")=>{const f=s.currentPeek();return f==="{"||f==="@"||!f?U:f==="|"?!(v===z||v===G):f===z?(s.peek(),_(!0,z)):f===G?(s.peek(),_(!0,G)):!0},S=_();return c&&s.resetPeek(),S}function X(s,c){const _=s.currentChar();return _===re?re:c(_)?(s.next(),_):null}function Ue(s){const c=s.charCodeAt(0);return c>=97&&c<=122||c>=65&&c<=90||c>=48&&c<=57||c===95||c===36}function We(s){return X(s,Ue)}function $e(s){const c=s.charCodeAt(0);return c>=97&&c<=122||c>=65&&c<=90||c>=48&&c<=57||c===95||c===36||c===45}function Ve(s){return X(s,$e)}function xe(s){const c=s.charCodeAt(0);return c>=48&&c<=57}function je(s){return X(s,xe)}function ne(s){const c=s.charCodeAt(0);return c>=48&&c<=57||c>=65&&c<=70||c>=97&&c<=102}function Te(s){return X(s,ne)}function Ce(s){let c="",_="";for(;c=je(s);)_+=c;return _}function He(s){let c="";for(;;){const _=s.currentChar();if(_==="{"||_==="}"||_==="@"||_==="|"||!_)break;if(_===z||_===G)if(Z(s))c+=_,s.next();else{if(B(s))break;c+=_,s.next()}else c+=_,s.next()}return c}function Ke(s){k(s);let c="",_="";for(;c=Ve(s);)_+=c;const S=s.currentChar();if(S&&S!=="}"&&S!==re&&S!==z&&S!==G&&S!==" "){const U=ye(s);return T(F.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,_+U),_+U}return s.currentChar()===re&&T(F.UNTERMINATED_CLOSING_BRACE,a(),0),_}function Xe(s){k(s);let c="";return s.currentChar()==="-"?(s.next(),c+=`-${Ce(s)}`):c+=Ce(s),s.currentChar()===re&&T(F.UNTERMINATED_CLOSING_BRACE,a(),0),c}function ht(s){return s!==Ct&&s!==G}function Ye(s){k(s),A(s,"'");let c="",_="";for(;c=X(s,ht);)c==="\\"?_+=Ge(s):_+=c;const S=s.currentChar();return S===G||S===re?(T(F.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),0),S===G&&(s.next(),A(s,"'")),_):(A(s,"'"),_)}function Ge(s){const c=s.currentChar();switch(c){case"\\":case"'":return s.next(),`\\${c}`;case"u":return Ie(s,c,4);case"U":return Ie(s,c,6);default:return T(F.UNKNOWN_ESCAPE_SEQUENCE,a(),0,c),""}}function Ie(s,c,_){A(s,c);let S="";for(let U=0;U<_;U++){const v=Te(s);if(!v){T(F.INVALID_UNICODE_ESCAPE_SEQUENCE,a(),0,`\\${c}${S}${s.currentChar()}`);break}S+=v}return`\\${c}${S}`}function Be(s){return s!=="{"&&s!=="}"&&s!==z&&s!==G}function ye(s){k(s);let c="",_="";for(;c=X(s,Be);)_+=c;return _}function Je(s){let c="",_="";for(;c=We(s);)_+=c;return _}function Qe(s){const c=_=>{const S=s.currentChar();return S==="{"||S==="@"||S==="|"||S==="("||S===")"||!S||S===z?_:(_+=S,s.next(),c(_))};return c("")}function Ee(s){k(s);const c=A(s,"|");return k(s),c}function fe(s,c){let _=null;switch(s.currentChar()){case"{":return c.braceNest>=1&&T(F.NOT_ALLOW_NEST_PLACEHOLDER,a(),0),s.next(),_=b(c,2,"{"),k(s),c.braceNest++,_;case"}":return c.braceNest>0&&c.currentType===2&&T(F.EMPTY_PLACEHOLDER,a(),0),s.next(),_=b(c,3,"}"),c.braceNest--,c.braceNest>0&&k(s),c.inLinked&&c.braceNest===0&&(c.inLinked=!1),_;case"@":return c.braceNest>0&&T(F.UNTERMINATED_CLOSING_BRACE,a(),0),_=me(s,c)||P(c),c.braceNest=0,_;default:{let U=!0,v=!0,f=!0;if(B(s))return c.braceNest>0&&T(F.UNTERMINATED_CLOSING_BRACE,a(),0),_=b(c,1,Ee(s)),c.braceNest=0,c.inLinked=!1,_;if(c.braceNest>0&&(c.currentType===4||c.currentType===5||c.currentType===6))return T(F.UNTERMINATED_CLOSING_BRACE,a(),0),c.braceNest=0,pe(s,c);if(U=N(s,c))return _=b(c,4,Ke(s)),k(s),_;if(v=g(s,c))return _=b(c,5,Xe(s)),k(s),_;if(f=I(s,c))return _=b(c,6,Ye(s)),k(s),_;if(!U&&!v&&!f)return _=b(c,12,ye(s)),T(F.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,_.value),k(s),_;break}}return _}function me(s,c){const{currentType:_}=c;let S=null;const U=s.currentChar();switch((_===7||_===8||_===11||_===9)&&(U===G||U===z)&&T(F.INVALID_LINKED_FORMAT,a(),0),U){case"@":return s.next(),S=b(c,7,"@"),c.inLinked=!0,S;case".":return k(s),s.next(),b(c,8,".");case":":return k(s),s.next(),b(c,9,":");default:return B(s)?(S=b(c,1,Ee(s)),c.braceNest=0,c.inLinked=!1,S):C(s,c)||V(s,c)?(k(s),me(s,c)):L(s,c)?(k(s),b(c,11,Je(s))):x(s,c)?(k(s),U==="{"?fe(s,c)||S:b(c,10,Qe(s))):(_===7&&T(F.INVALID_LINKED_FORMAT,a(),0),c.braceNest=0,c.inLinked=!1,pe(s,c))}}function pe(s,c){let _={type:13};if(c.braceNest>0)return fe(s,c)||P(c);if(c.inLinked)return me(s,c)||P(c);switch(s.currentChar()){case"{":return fe(s,c)||P(c);case"}":return T(F.UNBALANCED_CLOSING_BRACE,a(),0),s.next(),b(c,3,"}");case"@":return me(s,c)||P(c);default:{if(B(s))return _=b(c,1,Ee(s)),c.braceNest=0,c.inLinked=!1,_;if(Z(s))return b(c,0,He(s));break}}return _}function qe(){const{currentType:s,offset:c,startLoc:_,endLoc:S}=m;return m.lastType=s,m.lastOffset=c,m.lastStartLoc=_,m.lastEndLoc=S,m.offset=l(),m.startLoc=a(),r.currentChar()===re?b(m,13):pe(r,m)}return{nextToken:qe,currentOffset:l,currentPosition:a,context:d}}const er="parser",tr=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function nr(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const r=parseInt(t||n,16);return r<=55295||r>=57344?String.fromCodePoint(r):"�"}}}function rr(e={}){const t=e.location!==!1,{onError:n}=e;function r(i,E,N,g,...I){const C=i.currentPosition();if(C.offset+=g,C.column+=g,n){const L=t?nt(N,C):null,V=Me(E,L,{domain:er,args:I});n(V)}}function l(i,E,N){const g={type:i};return t&&(g.start=E,g.end=E,g.loc={start:N,end:N}),g}function a(i,E,N,g){t&&(i.end=E,i.loc&&(i.loc.end=N))}function o(i,E){const N=i.context(),g=l(3,N.offset,N.startLoc);return g.value=E,a(g,i.currentOffset(),i.currentPosition()),g}function u(i,E){const N=i.context(),{lastOffset:g,lastStartLoc:I}=N,C=l(5,g,I);return C.index=parseInt(E,10),i.nextToken(),a(C,i.currentOffset(),i.currentPosition()),C}function m(i,E){const N=i.context(),{lastOffset:g,lastStartLoc:I}=N,C=l(4,g,I);return C.key=E,i.nextToken(),a(C,i.currentOffset(),i.currentPosition()),C}function d(i,E){const N=i.context(),{lastOffset:g,lastStartLoc:I}=N,C=l(9,g,I);return C.value=E.replace(tr,nr),i.nextToken(),a(C,i.currentOffset(),i.currentPosition()),C}function h(i){const E=i.nextToken(),N=i.context(),{lastOffset:g,lastStartLoc:I}=N,C=l(8,g,I);return E.type!==11?(r(i,F.UNEXPECTED_EMPTY_LINKED_MODIFIER,N.lastStartLoc,0),C.value="",a(C,g,I),{nextConsumeToken:E,node:C}):(E.value==null&&r(i,F.UNEXPECTED_LEXICAL_ANALYSIS,N.lastStartLoc,0,ee(E)),C.value=E.value||"",a(C,i.currentOffset(),i.currentPosition()),{node:C})}function T(i,E){const N=i.context(),g=l(7,N.offset,N.startLoc);return g.value=E,a(g,i.currentOffset(),i.currentPosition()),g}function b(i){const E=i.context(),N=l(6,E.offset,E.startLoc);let g=i.nextToken();if(g.type===8){const I=h(i);N.modifier=I.node,g=I.nextConsumeToken||i.nextToken()}switch(g.type!==9&&r(i,F.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,ee(g)),g=i.nextToken(),g.type===2&&(g=i.nextToken()),g.type){case 10:g.value==null&&r(i,F.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,ee(g)),N.key=T(i,g.value||"");break;case 4:g.value==null&&r(i,F.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,ee(g)),N.key=m(i,g.value||"");break;case 5:g.value==null&&r(i,F.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,ee(g)),N.key=u(i,g.value||"");break;case 6:g.value==null&&r(i,F.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,ee(g)),N.key=d(i,g.value||"");break;default:{r(i,F.UNEXPECTED_EMPTY_LINKED_KEY,E.lastStartLoc,0);const I=i.context(),C=l(7,I.offset,I.startLoc);return C.value="",a(C,I.offset,I.startLoc),N.key=C,a(N,I.offset,I.startLoc),{nextConsumeToken:g,node:N}}}return a(N,i.currentOffset(),i.currentPosition()),{node:N}}function P(i){const E=i.context(),N=E.currentType===1?i.currentOffset():E.offset,g=E.currentType===1?E.endLoc:E.startLoc,I=l(2,N,g);I.items=[];let C=null;do{const x=C||i.nextToken();switch(C=null,x.type){case 0:x.value==null&&r(i,F.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,ee(x)),I.items.push(o(i,x.value||""));break;case 5:x.value==null&&r(i,F.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,ee(x)),I.items.push(u(i,x.value||""));break;case 4:x.value==null&&r(i,F.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,ee(x)),I.items.push(m(i,x.value||""));break;case 6:x.value==null&&r(i,F.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,ee(x)),I.items.push(d(i,x.value||""));break;case 7:{const B=b(i);I.items.push(B.node),C=B.nextConsumeToken||null;break}}}while(E.currentType!==13&&E.currentType!==1);const L=E.currentType===1?E.lastOffset:i.currentOffset(),V=E.currentType===1?E.lastEndLoc:i.currentPosition();return a(I,L,V),I}function A(i,E,N,g){const I=i.context();let C=g.items.length===0;const L=l(1,E,N);L.cases=[],L.cases.push(g);do{const V=P(i);C||(C=V.items.length===0),L.cases.push(V)}while(I.currentType!==13);return C&&r(i,F.MUST_HAVE_MESSAGES_IN_PLURAL,N,0),a(L,i.currentOffset(),i.currentPosition()),L}function O(i){const E=i.context(),{offset:N,startLoc:g}=E,I=P(i);return E.currentType===13?I:A(i,N,g,I)}function k(i){const E=zn(i,Y({},e)),N=E.context(),g=l(0,N.offset,N.startLoc);return t&&g.loc&&(g.loc.source=i),g.body=O(E),e.onCacheKey&&(g.cacheKey=e.onCacheKey(i)),N.currentType!==13&&r(E,F.UNEXPECTED_LEXICAL_ANALYSIS,N.lastStartLoc,0,i[N.offset]||""),a(g,E.currentOffset(),E.currentPosition()),g}return{parse:k}}function ee(e){if(e.type===13)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function ar(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:a=>(n.helpers.add(a),a)}}function It(e,t){for(let n=0;nyt(n)),e}function yt(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;no;function m(O,k){o.code+=O}function d(O,k=!0){const i=k?r:"";m(l?i+" ".repeat(O):i)}function h(O=!0){const k=++o.indentLevel;O&&d(k)}function T(O=!0){const k=--o.indentLevel;O&&d(k)}function b(){d(o.indentLevel)}return{context:u,push:m,indent:h,deindent:T,newline:b,helper:O=>`_${O}`,needIndent:()=>o.needIndent}}function or(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),ge(e,t.key),t.modifier?(e.push(", "),ge(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function ir(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const l=t.items.length;for(let a=0;a1){e.push(`${n("plural")}([`),e.indent(r());const l=t.cases.length;for(let a=0;a{const n=y(t.mode)?t.mode:"normal",r=y(t.filename)?t.filename:"message.intl";t.sourceMap;const l=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,a=t.needIndent?t.needIndent:n!=="arrow",o=e.helpers||[],u=cr(e,{filename:r,breakLineCode:l,needIndent:a});u.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),u.indent(a),o.length>0&&(u.push(`const { ${dt(o.map(h=>`${h}: _${h}`),", ")} } = ctx`),u.newline()),u.push("return "),ge(u,e),u.deindent(a),u.push("}"),delete e.helpers;const{code:m,map:d}=u.context();return{ast:e,code:m,map:d?d.toJSON():void 0}};function dr(e,t={}){const n=Y({},t),r=!!n.jit,l=!!n.minify,a=n.optimize==null?!0:n.optimize,u=rr(n).parse(e);return r?(a&&lr(u),l&&_e(u),{ast:u,code:""}):(sr(u,n),mr(u,n))}function te(e){return D(e)&>(e)===0&&(Q(e,"b")||Q(e,"body"))}const en=["b","body"];function _r(e){return oe(e,en)}const tn=["c","cases"];function gr(e){return oe(e,tn,[])}const nn=["s","static"];function Er(e){return oe(e,nn)}const rn=["i","items"];function pr(e){return oe(e,rn,[])}const an=["t","type"];function gt(e){return oe(e,an)}const sn=["v","value"];function ke(e,t){const n=oe(e,sn);if(n!=null)return n;throw he(t)}const ln=["m","modifier"];function Lr(e){return oe(e,ln)}const cn=["k","key"];function br(e){const t=oe(e,cn);if(t)return t;throw he(6)}function oe(e,t,n){for(let r=0;rhr(n,e)}function hr(e,t){const n=_r(t);if(n==null)throw he(0);if(gt(n)===1){const a=gr(n);return e.plural(a.reduce((o,u)=>[...o,St(e,u)],[]))}else return St(e,n)}function St(e,t){const n=Er(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const r=pr(t).reduce((l,a)=>[...l,rt(e,a)],[]);return e.normalize(r)}}function rt(e,t){const n=gt(t);switch(n){case 3:return ke(t,n);case 9:return ke(t,n);case 4:{const r=t;if(Q(r,"k")&&r.k)return e.interpolate(e.named(r.k));if(Q(r,"key")&&r.key)return e.interpolate(e.named(r.key));throw he(n)}case 5:{const r=t;if(Q(r,"i")&&K(r.i))return e.interpolate(e.list(r.i));if(Q(r,"index")&&K(r.index))return e.interpolate(e.list(r.index));throw he(n)}case 6:{const r=t,l=Lr(r),a=br(r);return e.linked(rt(e,a),l?rt(e,l):void 0,e.type)}case 7:return ke(t,n);case 8:return ke(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Nr=e=>e;let Pe=w();function Tr(e,t={}){let n=!1;const r=t.onError||Yn;return t.onError=l=>{n=!0,r(l)},{...dr(e,t),detectError:n}}function Cr(e,t){if(y(e)){$(t.warnHtmlMessage)&&t.warnHtmlMessage;const r=(t.onCacheKey||Nr)(e),l=Pe[r];if(l)return l;const{ast:a,detectError:o}=Tr(e,{...t,location:!1,jit:!0}),u=Ze(a);return o?u:Pe[r]=u}else{const n=e.cacheKey;if(n){const r=Pe[n];return r||(Pe[n]=Ze(e))}else return Ze(e)}}const ae={INVALID_ARGUMENT:Xn,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},Ir=24;function se(e){return Me(e,null,void 0)}function Et(e,t){return t.locale!=null?Ot(t.locale):Ot(e.locale)}let ze;function Ot(e){if(y(e))return e;if(W(e)){if(e.resolvedOnce&&ze!=null)return ze;if(e.constructor.name==="Function"){const t=e();if(jn(t))throw se(ae.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return ze=t}else throw se(ae.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw se(ae.NOT_SUPPORT_LOCALE_TYPE)}function yr(e,t,n){return[...new Set([n,...H(t)?t:D(t)?Object.keys(t):y(t)?[t]:[n]])]}function un(e,t,n){const r=y(n)?n:De,l=e;l.__localeChainCache||(l.__localeChainCache=new Map);let a=l.__localeChainCache.get(r);if(!a){a=[];let o=[n];for(;H(o);)o=kt(a,o,t);const u=H(t)||!R(t)?t:t.default?t.default:null;o=y(u)?[u]:u,H(o)&&kt(a,o,!1),l.__localeChainCache.set(r,a)}return a}function kt(e,t,n){let r=!0;for(let l=0;l{o===void 0?o=u:o+=u},b[1]=()=>{o!==void 0&&(t.push(o),o=void 0)},b[2]=()=>{b[0](),l++},b[3]=()=>{if(l>0)l--,r=4,b[0]();else{if(l=0,o===void 0||(o=Rr(o),o===!1))return!1;b[1]()}};function P(){const A=e[n+1];if(r===5&&A==="'"||r===6&&A==='"')return n++,u="\\"+A,b[0](),!0}for(;r!==null;)if(n++,a=e[n],!(a==="\\"&&P())){if(m=vr(a),T=ie[r],d=T[m]||T.l||8,d===8||(r=d[0],d[1]!==void 0&&(h=b[d[1]],h&&(u=a,h()===!1))))return;if(r===7)return t}}const Pt=new Map;function Fr(e,t){return D(e)?e[t]:null}function Mr(e,t){if(!D(e))return null;let n=Pt.get(t);if(n||(n=Dr(t),n&&Pt.set(t,n)),!n)return null;const r=n.length;let l=e,a=0;for(;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Ur(){return{upper:(e,t)=>t==="text"&&y(e)?e.toUpperCase():t==="vnode"&&D(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&y(e)?e.toLowerCase():t==="vnode"&&D(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&y(e)?vt(e):t==="vnode"&&D(e)&&"__v_isVNode"in e?vt(e.children):e}}let fn;function Wr(e){fn=e}let mn;function $r(e){mn=e}let dn;function Vr(e){dn=e}let _n=null;const Rt=e=>{_n=e},xr=()=>_n;let Dt=0;function jr(e={}){const t=W(e.onWarn)?e.onWarn:Mn,n=y(e.version)?e.version:wr,r=y(e.locale)||W(e.locale)?e.locale:De,l=W(r)?De:r,a=H(e.fallbackLocale)||R(e.fallbackLocale)||y(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:l,o=R(e.messages)?e.messages:et(l),u=R(e.datetimeFormats)?e.datetimeFormats:et(l),m=R(e.numberFormats)?e.numberFormats:et(l),d=Y(w(),e.modifiers,Ur()),h=e.pluralRules||w(),T=W(e.missing)?e.missing:null,b=$(e.missingWarn)||Re(e.missingWarn)?e.missingWarn:!0,P=$(e.fallbackWarn)||Re(e.fallbackWarn)?e.fallbackWarn:!0,A=!!e.fallbackFormat,O=!!e.unresolving,k=W(e.postTranslation)?e.postTranslation:null,i=R(e.processor)?e.processor:null,E=$(e.warnHtmlMessage)?e.warnHtmlMessage:!0,N=!!e.escapeParameter,g=W(e.messageCompiler)?e.messageCompiler:fn,I=W(e.messageResolver)?e.messageResolver:mn||Fr,C=W(e.localeFallbacker)?e.localeFallbacker:dn||yr,L=D(e.fallbackContext)?e.fallbackContext:void 0,V=e,x=D(V.__datetimeFormatters)?V.__datetimeFormatters:new Map,B=D(V.__numberFormatters)?V.__numberFormatters:new Map,Z=D(V.__meta)?V.__meta:{};Dt++;const X={version:n,cid:Dt,locale:r,fallbackLocale:a,messages:o,modifiers:d,pluralRules:h,missing:T,missingWarn:b,fallbackWarn:P,fallbackFormat:A,unresolving:O,postTranslation:k,processor:i,warnHtmlMessage:E,escapeParameter:N,messageCompiler:g,messageResolver:I,localeFallbacker:C,fallbackContext:L,onWarn:t,__meta:Z};return X.datetimeFormats=u,X.numberFormats=m,X.__datetimeFormatters=x,X.__numberFormatters=B,X}const et=e=>({[e]:w()});function pt(e,t,n,r,l){const{missing:a,onWarn:o}=e;if(a!==null){const u=a(e,n,t,l);return y(u)?u:t}else return t}function be(e,t,n){const r=e;r.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function Hr(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Kr(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let r=n+1;r{gn.includes(m)?o[m]=n[m]:a[m]=n[m]}),y(r)?a.locale=r:R(r)&&(o=r),R(l)&&(o=l),[a.key||"",u,a,o]}function Mt(e,t,n){const r=e;for(const l in n){const a=`${t}__${l}`;r.__datetimeFormatters.has(a)&&r.__datetimeFormatters.delete(a)}}function wt(e,...t){const{numberFormats:n,unresolving:r,fallbackLocale:l,onWarn:a,localeFallbacker:o}=e,{__numberFormatters:u}=e,[m,d,h,T]=st(...t),b=$(h.missingWarn)?h.missingWarn:e.missingWarn;$(h.fallbackWarn)?h.fallbackWarn:e.fallbackWarn;const P=!!h.part,A=Et(e,h),O=o(e,l,A);if(!y(m)||m==="")return new Intl.NumberFormat(A,T).format(d);let k={},i,E=null;const N="number format";for(let C=0;C{En.includes(m)?o[m]=n[m]:a[m]=n[m]}),y(r)?a.locale=r:R(r)&&(o=r),R(l)&&(o=l),[a.key||"",u,a,o]}function Ut(e,t,n){const r=e;for(const l in n){const a=`${t}__${l}`;r.__numberFormatters.has(a)&&r.__numberFormatters.delete(a)}}const Xr=e=>e,Yr=e=>"",Gr="text",Br=e=>e.length===0?"":dt(e),Jr=Hn;function Wt(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Qr(e){const t=K(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(K(e.named.count)||K(e.named.n))?K(e.named.count)?e.named.count:K(e.named.n)?e.named.n:t:t}function qr(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Zr(e={}){const t=e.locale,n=Qr(e),r=D(e.pluralRules)&&y(t)&&W(e.pluralRules[t])?e.pluralRules[t]:Wt,l=D(e.pluralRules)&&y(t)&&W(e.pluralRules[t])?Wt:void 0,a=i=>i[r(n,i.length,l)],o=e.list||[],u=i=>o[i],m=e.named||w();K(e.pluralIndex)&&qr(n,m);const d=i=>m[i];function h(i,E){const N=W(e.messages)?e.messages(i,!!E):D(e.messages)?e.messages[i]:!1;return N||(e.parent?e.parent.message(i):Yr)}const T=i=>e.modifiers?e.modifiers[i]:Xr,b=R(e.processor)&&W(e.processor.normalize)?e.processor.normalize:Br,P=R(e.processor)&&W(e.processor.interpolate)?e.processor.interpolate:Jr,A=R(e.processor)&&y(e.processor.type)?e.processor.type:Gr,k={list:u,named:d,plural:a,linked:(i,...E)=>{const[N,g]=E;let I="text",C="";E.length===1?D(N)?(C=N.modifier||C,I=N.type||I):y(N)&&(C=N||C):E.length===2&&(y(N)&&(C=N||C),y(g)&&(I=g||I));const L=h(i,!0)(k),V=I==="vnode"&&H(L)&&C?L[0]:L;return C?T(C)(V,I):V},message:h,type:A,interpolate:P,normalize:b,values:Y(w(),o,m)};return k}const $t=()=>"",le=e=>W(e);function Vt(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:l,messageCompiler:a,fallbackLocale:o,messages:u}=e,[m,d]=lt(...t),h=$(d.missingWarn)?d.missingWarn:e.missingWarn,T=$(d.fallbackWarn)?d.fallbackWarn:e.fallbackWarn,b=$(d.escapeParameter)?d.escapeParameter:e.escapeParameter,P=!!d.resolvedMessage,A=y(d.default)||$(d.default)?$(d.default)?a?m:()=>m:d.default:n?a?m:()=>m:null,O=n||A!=null&&(y(A)||W(A)),k=Et(e,d);b&&zr(d);let[i,E,N]=P?[m,k,u[k]||w()]:pn(e,m,k,o,T,h),g=i,I=m;if(!P&&!(y(g)||te(g)||le(g))&&O&&(g=A,I=g),!P&&(!(y(g)||te(g)||le(g))||!y(E)))return l?we:m;let C=!1;const L=()=>{C=!0},V=le(g)?g:Ln(e,m,E,g,I,L);if(C)return g;const x=na(e,E,N,d),B=Zr(x),Z=ea(e,V,B);let X=r?r(Z,m):Z;return b&&y(X)&&(X=Vn(X)),X}function zr(e){H(e.list)?e.list=e.list.map(t=>y(t)?Nt(t):t):D(e.named)&&Object.keys(e.named).forEach(t=>{y(e.named[t])&&(e.named[t]=Nt(e.named[t]))})}function pn(e,t,n,r,l,a){const{messages:o,onWarn:u,messageResolver:m,localeFallbacker:d}=e,h=d(e,r,n);let T=w(),b,P=null;const A="translate";for(let O=0;Or);return d.locale=n,d.key=t,d}const m=o(r,ta(e,n,l,r,u,a));return m.locale=n,m.key=t,m.source=r,m}function ea(e,t,n){return t(n)}function lt(...e){const[t,n,r]=e,l=w();if(!y(t)&&!K(t)&&!le(t)&&!te(t))throw se(ae.INVALID_ARGUMENT);const a=K(t)?String(t):(le(t),t);return K(n)?l.plural=n:y(n)?l.default=n:R(n)&&!Fe(n)?l.named=n:H(n)&&(l.list=n),K(r)?l.plural=r:y(r)?l.default=r:R(r)&&Y(l,r),[a,l]}function ta(e,t,n,r,l,a){return{locale:t,key:n,warnHtmlMessage:l,onError:o=>{throw a&&a(o),o},onCacheKey:o=>wn(t,n,o)}}function na(e,t,n,r){const{modifiers:l,pluralRules:a,messageResolver:o,fallbackLocale:u,fallbackWarn:m,missingWarn:d,fallbackContext:h}=e,b={locale:t,modifiers:l,pluralRules:a,messages:(P,A)=>{let O=o(n,P);if(O==null&&(h||A)){const[,,k]=pn(h||e,P,t,u,m,d);O=o(k,P)}if(y(O)||te(O)){let k=!1;const E=Ln(e,P,t,O,P,()=>{k=!0});return k?$t:E}else return le(O)?O:$t}};return e.processor&&(b.processor=e.processor),r.list&&(b.list=r.list),r.named&&(b.named=r.named),K(r.plural)&&(b.pluralIndex=r.plural),b}const ra="11.2.8",J={UNEXPECTED_RETURN_TYPE:Ir,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32};function q(e,...t){return Me(e,null,void 0)}const ct=ce("__translateVNode"),ot=ce("__datetimeParts"),it=ce("__numberParts"),aa=ce("__setPluralRules"),sa=ce("__injectWithOption"),ut=ce("__dispose");function Ne(e){if(!D(e)||te(e))return e;for(const t in e)if(Q(e,t))if(!t.includes("."))D(e[t])&&Ne(e[t]);else{const n=t.split("."),r=n.length-1;let l=e,a=!1;for(let o=0;o{if("locale"in u&&"resource"in u){const{locale:m,resource:d}=u;m?(o[m]=o[m]||w(),Ae(d,o[m])):Ae(d,o)}else y(u)&&Ae(JSON.parse(u),o)}),l==null&&a)for(const u in o)Q(o,u)&&Ne(o[u]);return o}function la(e){return e.type}function ca(e,t,n){let r=D(t.messages)?t.messages:w();"__i18nGlobal"in n&&(r=bn(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const l=Object.keys(r);l.length&&l.forEach(a=>{e.mergeLocaleMessage(a,r[a])});{if(D(t.datetimeFormats)){const a=Object.keys(t.datetimeFormats);a.length&&a.forEach(o=>{e.mergeDateTimeFormat(o,t.datetimeFormats[o])})}if(D(t.numberFormats)){const a=Object.keys(t.numberFormats);a.length&&a.forEach(o=>{e.mergeNumberFormat(o,t.numberFormats[o])})}}}function xt(e){return Dn(Fn,null,e,0)}function hn(){return Pn()}const jt=()=>[],oa=()=>!1;let Ht=0;function Kt(e){return((t,n,r,l)=>e(n,r,hn()||void 0,l))}function Nn(e={}){const{__root:t,__injectWithOption:n}=e,r=t===void 0,l=e.flatJson,a=ve?Sn:On;let o=$(e.inheritLocale)?e.inheritLocale:!0;const u=a(t&&o?t.locale.value:y(e.locale)?e.locale:De),m=a(t&&o?t.fallbackLocale.value:y(e.fallbackLocale)||H(e.fallbackLocale)||R(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:u.value),d=a(bn(u.value,e)),h=a(R(e.datetimeFormats)?e.datetimeFormats:{[u.value]:{}}),T=a(R(e.numberFormats)?e.numberFormats:{[u.value]:{}});let b=t?t.missingWarn:$(e.missingWarn)||Re(e.missingWarn)?e.missingWarn:!0,P=t?t.fallbackWarn:$(e.fallbackWarn)||Re(e.fallbackWarn)?e.fallbackWarn:!0,A=t?t.fallbackRoot:$(e.fallbackRoot)?e.fallbackRoot:!0,O=!!e.fallbackFormat,k=W(e.missing)?e.missing:null,i=W(e.missing)?Kt(e.missing):null,E=W(e.postTranslation)?e.postTranslation:null,N=t?t.warnHtmlMessage:$(e.warnHtmlMessage)?e.warnHtmlMessage:!0,g=!!e.escapeParameter;const I=t?t.modifiers:R(e.modifiers)?e.modifiers:{};let C=e.pluralRules||t&&t.pluralRules,L;L=(()=>{r&&Rt(null);const f={version:ra,locale:u.value,fallbackLocale:m.value,messages:d.value,modifiers:I,pluralRules:C,missing:i===null?void 0:i,missingWarn:b,fallbackWarn:P,fallbackFormat:O,unresolving:!0,postTranslation:E===null?void 0:E,warnHtmlMessage:N,escapeParameter:g,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};f.datetimeFormats=h.value,f.numberFormats=T.value,f.__datetimeFormatters=R(L)?L.__datetimeFormatters:void 0,f.__numberFormatters=R(L)?L.__numberFormatters:void 0;const p=jr(f);return r&&Rt(p),p})(),be(L,u.value,m.value);function x(){return[u.value,m.value,d.value,h.value,T.value]}const B=Le({get:()=>u.value,set:f=>{L.locale=f,u.value=f}}),Z=Le({get:()=>m.value,set:f=>{L.fallbackLocale=f,m.value=f,be(L,u.value,f)}}),X=Le(()=>d.value),Ue=Le(()=>h.value),We=Le(()=>T.value);function $e(){return W(E)?E:null}function Ve(f){E=f,L.postTranslation=f}function xe(){return k}function je(f){f!==null&&(i=Kt(f)),k=f,L.missing=i}const ne=(f,p,M,j,ue,Se)=>{x();let de;try{r||(L.fallbackContext=t?xr():void 0),de=f(L)}finally{r||(L.fallbackContext=void 0)}if(M!=="translate exists"&&K(de)&&de===we||M==="translate exists"&&!de){const[In,Oa]=p();return t&&A?j(t):ue(In)}else{if(Se(de))return de;throw q(J.UNEXPECTED_RETURN_TYPE)}};function Te(...f){return ne(p=>Reflect.apply(Vt,null,[p,...f]),()=>lt(...f),"translate",p=>Reflect.apply(p.t,p,[...f]),p=>p,p=>y(p))}function Ce(...f){const[p,M,j]=f;if(j&&!D(j))throw q(J.INVALID_ARGUMENT);return Te(p,M,Y({resolvedMessage:!0},j||{}))}function He(...f){return ne(p=>Reflect.apply(Ft,null,[p,...f]),()=>at(...f),"datetime format",p=>Reflect.apply(p.d,p,[...f]),()=>At,p=>y(p)||H(p))}function Ke(...f){return ne(p=>Reflect.apply(wt,null,[p,...f]),()=>st(...f),"number format",p=>Reflect.apply(p.n,p,[...f]),()=>At,p=>y(p)||H(p))}function Xe(f){return f.map(p=>y(p)||K(p)||$(p)?xt(String(p)):p)}const Ye={normalize:Xe,interpolate:f=>f,type:"vnode"};function Ge(...f){return ne(p=>{let M;const j=p;try{j.processor=Ye,M=Reflect.apply(Vt,null,[j,...f])}finally{j.processor=null}return M},()=>lt(...f),"translate",p=>p[ct](...f),p=>[xt(p)],p=>H(p))}function Ie(...f){return ne(p=>Reflect.apply(wt,null,[p,...f]),()=>st(...f),"number format",p=>p[it](...f),jt,p=>y(p)||H(p))}function Be(...f){return ne(p=>Reflect.apply(Ft,null,[p,...f]),()=>at(...f),"datetime format",p=>p[ot](...f),jt,p=>y(p)||H(p))}function ye(f){C=f,L.pluralRules=C}function Je(f,p){return ne(()=>{if(!f)return!1;const M=y(p)?p:u.value,j=fe(M),ue=L.messageResolver(j,f);return te(ue)||le(ue)||y(ue)},()=>[f],"translate exists",M=>Reflect.apply(M.te,M,[f,p]),oa,M=>$(M))}function Qe(f){let p=null;const M=un(L,m.value,u.value);for(let j=0;j{o&&(u.value=f,L.locale=f,be(L,u.value,m.value))}),tt(t.fallbackLocale,f=>{o&&(m.value=f,L.fallbackLocale=f,be(L,u.value,m.value))}));const v={id:Ht,locale:B,fallbackLocale:Z,get inheritLocale(){return o},set inheritLocale(f){o=f,f&&t&&(u.value=t.locale.value,m.value=t.fallbackLocale.value,be(L,u.value,m.value))},get availableLocales(){return Object.keys(d.value).sort()},messages:X,get modifiers(){return I},get pluralRules(){return C||{}},get isGlobal(){return r},get missingWarn(){return b},set missingWarn(f){b=f,L.missingWarn=b},get fallbackWarn(){return P},set fallbackWarn(f){P=f,L.fallbackWarn=P},get fallbackRoot(){return A},set fallbackRoot(f){A=f},get fallbackFormat(){return O},set fallbackFormat(f){O=f,L.fallbackFormat=O},get warnHtmlMessage(){return N},set warnHtmlMessage(f){N=f,L.warnHtmlMessage=f},get escapeParameter(){return g},set escapeParameter(f){g=f,L.escapeParameter=f},t:Te,getLocaleMessage:fe,setLocaleMessage:me,mergeLocaleMessage:pe,getPostTranslationHandler:$e,setPostTranslationHandler:Ve,getMissingHandler:xe,setMissingHandler:je,[aa]:ye};return v.datetimeFormats=Ue,v.numberFormats=We,v.rt=Ce,v.te=Je,v.tm=Ee,v.d=He,v.n=Ke,v.getDateTimeFormat=qe,v.setDateTimeFormat=s,v.mergeDateTimeFormat=c,v.getNumberFormat=_,v.setNumberFormat=S,v.mergeNumberFormat=U,v[sa]=n,v[ct]=Ge,v[ot]=Be,v[it]=Ie,v}const Lt={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function ia({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((r,l)=>[...r,...l.type===Zt?l.children:[l]],[]):t.reduce((n,r)=>{const l=e[r];return l&&(n[r]=l()),n},w())}function Tn(){return Zt}const ua=ft({name:"i18n-t",props:Y({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>K(e)||!isNaN(e)}},Lt),setup(e,t){const{slots:n,attrs:r}=t,l=e.i18n||bt({useScope:e.scope,__useComponent:!0});return()=>{const a=Object.keys(n).filter(T=>T[0]!=="_"),o=w();e.locale&&(o.locale=e.locale),e.plural!==void 0&&(o.plural=y(e.plural)?+e.plural:e.plural);const u=ia(t,a),m=l[ct](e.keypath,u,o),d=Y(w(),r),h=y(e.tag)||D(e.tag)?e.tag:Tn();return qt(h,d,m)}}}),Xt=ua;function fa(e){return H(e)&&!y(e[0])}function Cn(e,t,n,r){const{slots:l,attrs:a}=t;return()=>{const o={part:!0};let u=w();e.locale&&(o.locale=e.locale),y(e.format)?o.key=e.format:D(e.format)&&(y(e.format.key)&&(o.key=e.format.key),u=Object.keys(e.format).reduce((b,P)=>n.includes(P)?Y(w(),b,{[P]:e.format[P]}):b,w()));const m=r(e.value,o,u);let d=[o.key];H(m)?d=m.map((b,P)=>{const A=l[b.type],O=A?A({[b.type]:b.value,index:P,parts:m}):[b.value];return fa(O)&&(O[0].key=`${b.type}-${P}`),O}):y(m)&&(d=[m]);const h=Y(w(),a),T=y(e.tag)||D(e.tag)?e.tag:Tn();return qt(T,h,d)}}const ma=ft({name:"i18n-n",props:Y({value:{type:Number,required:!0},format:{type:[String,Object]}},Lt),setup(e,t){const n=e.i18n||bt({useScope:e.scope,__useComponent:!0});return Cn(e,t,En,(...r)=>n[it](...r))}}),Yt=ma;function da(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function _a(e){const t=o=>{const{instance:u,value:m}=o;if(!u||!u.$)throw q(J.UNEXPECTED_ERROR);const d=da(e,u.$),h=Gt(m);return[Reflect.apply(d.t,d,[...Bt(h)]),d]};return{created:(o,u)=>{const[m,d]=t(u);ve&&e.global===d&&(o.__i18nWatcher=tt(d.locale,()=>{u.instance&&u.instance.$forceUpdate()})),o.__composer=d,o.textContent=m},unmounted:o=>{ve&&o.__i18nWatcher&&(o.__i18nWatcher(),o.__i18nWatcher=void 0,delete o.__i18nWatcher),o.__composer&&(o.__composer=void 0,delete o.__composer)},beforeUpdate:(o,{value:u})=>{if(o.__composer){const m=o.__composer,d=Gt(u);o.textContent=Reflect.apply(m.t,m,[...Bt(d)])}},getSSRProps:o=>{const[u]=t(o);return{textContent:u}}}}function Gt(e){if(y(e))return{path:e};if(R(e)){if(!("path"in e))throw q(J.REQUIRED_VALUE,"path");return e}else throw q(J.INVALID_VALUE)}function Bt(e){const{path:t,locale:n,args:r,choice:l,plural:a}=e,o={},u=r||{};return y(n)&&(o.locale=n),K(l)&&(o.plural=l),K(a)&&(o.plural=a),[t,u,o]}function ga(e,t,...n){const r=R(n[0])?n[0]:{};(!$(r.globalInstall)||r.globalInstall)&&([Xt.name,"I18nT"].forEach(a=>e.component(a,Xt)),[Yt.name,"I18nN"].forEach(a=>e.component(a,Yt)),[Qt.name,"I18nD"].forEach(a=>e.component(a,Qt))),e.directive("t",_a(t))}const Ea=ce("global-vue-i18n");function Pa(e={}){const t=$(e.globalInjection)?e.globalInjection:!0,n=new Map,[r,l]=pa(e),a=ce("");function o(h){return n.get(h)||null}function u(h,T){n.set(h,T)}function m(h){n.delete(h)}const d={get mode(){return"composition"},async install(h,...T){if(h.__VUE_I18N_SYMBOL__=a,h.provide(h.__VUE_I18N_SYMBOL__,d),R(T[0])){const A=T[0];d.__composerExtend=A.__composerExtend,d.__vueI18nExtend=A.__vueI18nExtend}let b=null;t&&(b=ya(h,d.global)),ga(h,d,...T);const P=h.unmount;h.unmount=()=>{b&&b(),d.dispose(),P()}},get global(){return l},dispose(){r.stop()},__instances:n,__getInstance:o,__setInstance:u,__deleteInstance:m};return d}function bt(e={}){const t=hn();if(t==null)throw q(J.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw q(J.NOT_INSTALLED);const n=La(t),r=ha(n),l=la(t),a=ba(e,l);if(a==="global")return ca(r,e,l),r;if(a==="parent"){let m=Na(n,t,e.__useComponent);return m==null&&(m=r),m}const o=n;let u=o.__getInstance(t);if(u==null){const m=Y({},e);"__i18n"in l&&(m.__i18n=l.__i18n),r&&(m.__root=r),u=Nn(m),o.__composerExtend&&(u[ut]=o.__composerExtend(u)),Ca(o,t,u),o.__setInstance(t,u)}return u}function pa(e,t){const n=yn(),r=n.run(()=>Nn(e));if(r==null)throw q(J.UNEXPECTED_ERROR);return[n,r]}function La(e){const t=An(e.isCE?Ea:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw q(e.isCE?J.NOT_INSTALLED_WITH_PROVIDE:J.UNEXPECTED_ERROR);return t}function ba(e,t){return Fe(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function ha(e){return e.mode==="composition"?e.global:e.global.__composer}function Na(e,t,n=!1){let r=null;const l=t.root;let a=Ta(t,n);for(;a!=null;){const o=e;if(e.mode==="composition"&&(r=o.__getInstance(a)),r!=null||l===a)break;a=a.parent}return r}function Ta(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Ca(e,t,n){vn(()=>{},t),Rn(()=>{const r=n;e.__deleteInstance(t);const l=r[ut];l&&(l(),delete r[ut])},t)}const Ia=["locale","fallbackLocale","availableLocales"],Jt=["t","rt","d","n","tm","te"];function ya(e,t){const n=Object.create(null);return Ia.forEach(l=>{const a=Object.getOwnPropertyDescriptor(t,l);if(!a)throw q(J.UNEXPECTED_ERROR);const o=kn(a.value)?{get(){return a.value.value},set(u){a.value.value=u}}:{get(){return a.get&&a.get()}};Object.defineProperty(n,l,o)}),e.config.globalProperties.$i18n=n,Jt.forEach(l=>{const a=Object.getOwnPropertyDescriptor(t,l);if(!a||!a.value)throw q(J.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${l}`,a)}),()=>{delete e.config.globalProperties.$i18n,Jt.forEach(l=>{delete e.config.globalProperties[`$${l}`]})}}const Sa=ft({name:"i18n-d",props:Y({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Lt),setup(e,t){const n=e.i18n||bt({useScope:e.scope,__useComponent:!0});return Cn(e,t,gn,(...r)=>n[ot](...r))}}),Qt=Sa;Wr(Cr);$r(Mr);Vr(un);export{Pa as c,bt as u}; diff --git a/app/dist/spa/favicon.ico b/app/dist/spa/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ae7bbdb712f8ce9fe49761b68ef3a2d4c51606f9 GIT binary patch literal 64483 zcmX6^1yCGK7u-AC4+$=Z1QML!ez>~@5&{Hw2n3hIA%S2axChq+cXto&8vJnAKVSV@ zwYAf=JJoM%-qz0R=>Y%`fC2n>fB-0v;Q#0%|-qV-P;L{Q0i9$->LR^0?O9!tMH~cJ-jn+q;R-tGJlOZ~70Vs9813qfq(> z#QaM3Gs*4nu%bU&=7i&BU)9(&<;VmjFL|dAU(o(_8QY{V=7qse{WpZid*|4syaH(7 z=1r(F$BM>Gu<-5;Qga1Ux}4FaOr(?E&nvGOT%Nu~GVVnvRf%&Q!Mw^iZ~ZT*?%4f; zR(1WC>t*r9G}et*m0Wn_T;9^RR-p}#D!(hdX>xm70aEC#zR_7MXMDKMT~*1MJ-1$g zox9yVaNQlEcs-+zxbM1WPCTUTxN`q>e85{>KmOx*Q|F59%SsvlZJ8_JgLApY_7c*K z0rRSn2L~NdN{Xb*#e&J=#4t9ML5st2R&qNe#d!oFVb2fUrB9lzE0LzmkNSDdp# zjyd@`#}o#VR{1B%}j@x)Mhr1saR;Sx$`%>(;-7ol`3dW*r+iTWRob2mm-?Nk_ zSEL`WLtWH@SZ+wAr7D91oMC)&F0M`Zv}UzIQG{#~d6_F*!D6c^+X_6#xyOFPk)PX= z-ILSFuxCeyt+?G^hW1|n<^5_+Q`N;;&&F9DGd>%7@MkvCHu1h)bbV#PIhsmq_r-Oy z@$Ug3s{hl+g@gHjqaQ;byQg0k{l-^Vcz%YSF-iWpEqcX&l$lrC?l2=|zQfG;)5vb8 z6YZw?$l5$c_->6PDU5SXOz39CDY{dw@EzCRN zzAsfWC0wRF=M?yUFV+z{FXU3yHj}G8XDXiO!l*)nRJcP6Pd$r|qWFe*Q6>mZsBP&j z@Mf@W!+5(5WM{=)p}j7Ulw8426nq`0EJX$K;jt6t3-Yfbv&YzTuW68}T?Ga&j?g6Q z5LX$aCl0MB-cgkn1Ox2`A5{uUxT;(2XS}{fKz#ZBeH6*K7-QDpNnBBH<>R-ZV)UsW zT83-c+_*+Aem7a?M+=SZkN8CKZTjKjqpqI+>;J13QQeDZo>5}5LAk23`L=yR?MBKR zaayAy^kbVRr3wsw(K(&{W@Hy?qcV4C@%xA?_aNjt+X4zEwk@Cav+Ld=AVGE`trbkk z9Rhv)<&KZBK45hWw~w}~Pqr(ORGI$ep^`OW*g9~rXQ`Rd>E68k)*Hc*G%$ud)=P}M zz)vVPln=G~rW$51-s}FbXG5y;bH3FUKjToDuZlmp)lF5J%~b}nIlpVkQ>sia@74S7 z9Yqdv5m*$a{f5mEPh?};JUlQ6-8X@kKCM6m@XX9q@a1|8bEwT#vo&FY{+?7h`cYuk8V61 zxt|_*)belh5;{}NR{4p8R_~BTj&+8NTD92fhG!~nn$pD*SJyriC;uBWO2Qo*5s-;3 zN+Y|ZX7MTOC3m{G$Ee5lX=my7E(*QP&H;f=q+5BS`1cRuk%*hic?4nd@<(~)Tk-N2 zE6xMLFb&)zkc^P}*A8@J1J2Wt)xsaCPl+O@;y!4rJ&q^uD3SW&=or$Fb};t|cgeTB z>;kmJvmvvXc2R3m=aKgY+Zj|6g)d+7$*F{;v*|kQ(5qaVv-oio`yoihtu09``dFTr z65KV7gW67?Da3TxcAgDuGMu7qL@&H_=I&W_Zf?1X>u-^DmW)Ys-n+2qymuzlG4L|f zF>vM8A+Oau>wex9zF~hxZCkbjQysh&+NQag6F?j7+39Y0Da!$tt1!A)i027ezy#Zq z_t$LbZzeO{qNV7Eh}w03b^+KiQ!pVv%+XX~;zhbST)@*g zcpY8b2}&&Kypk)~xDzh<^Cnl@y0u5gdX%=f>=-(&yQ{Vrj>5fYbv2#&Vn^LRPf+LG zB5ZoblHDsxDK47kfw)3thZ_Wpy<^*QxyH1&+?(C!0++;Tvm{jDCKeYb+pk+}aI&gb*V?N6J z^>x-KtS+gZ)>EZvukFcV&h?Kv5Az@|v`oujn*;G^6XlQnx?U($d6Ms?-&(7T5mF*hcn2ZpuZEPbO(Tij* zboUiLV71+@=)btI*=bTsl^H&ZWIpu%#_UjE!i-}WKx*^hW2qRAl9yiZky560FR~VS zKIqu)@)>jK}>-w`g0vw;U8#_cs5Db9!+wq>j%jO$SE?iSg7hDzcZeAM-GoOASU zR*w*CDO6#Mppo2U=_z~Jr5TcK$751yf1^&}7~N~ohgiH#rlR`alUS3R8w8CF3kk47ZAigzmf&2>`Kpwp+bJ(G$v+5 zz?ya5P6LyXxU_Ij3~ja>_0;e)`%1RqT{GHL&$-j$L!u1vstMqp0jn> z2G?|^prphlsW_KGGb`8a@?VtUr1kOq+{3I7Q9(25iVANT`zEF_Ka+KEIqe2NpR z7>oIF*K%yj>Am$$@s>oNsv0vVcZ+j5Z;X(UUR8$xX$@xkTt>tN-@C@^V3r)qBmC>w*bO*ew6;1P$TPpox>sUaRGJW6B zX;?u~e96m8BFzo6ikrdBG-3Ode<(s^6d<5kbxHXB9+d~j1WAxHtD?PPY6^LuKTi8; z&qg&x%k*XAJmQWo7GrbhNP3jjqd`fjv`oiG`PUwy$mOL)t8D53KI$en=RrhG4|&z5 zdNnIP@;pX>Kud65ANh*Cs+6rpe3qaM&)~1k9*HW<5r5Jew(jz1#z3>No5Z#9nmyYiZq5emGrcvqMwZ%qq zyyD3ND!Bd(?&4F50{(3@T$qyfNp2DlZJS%l)ed*0ns=JMdF9ZKY<;wKb;d)xNqEK! zOEN_fBgwG6nt+&AhJ?41(3D)8(f}x0PtM}@3FQ?ybQll)XjXq(ilebG>PK0l|IycC zfluCsC}=ww8ke>MHxa`Qc?+mLf>6IvX6Zq;FD_s1j$0WjPf`QAyMsc1HNH=A|5b_X z5u2c6z5aKv3cr}gqn>$0^gG!H%fncwwVy9tM2H@~yQ+Xmp5|up39)MkFelE*CV^2& zFAEPhk5IuR6xxvh)X%|dpYv5xbyH8aUdtAqnc~Y7=O8ZnBz(l94OfY_iQI%F2nq39 zwEMWUrh-n(x@mRYJA&WaNhvD`3vype4i#-M=L*K-V(`58aJkW*7P@tq_UhFt{@bai zJ(O@<{G%wd=!dvJJ_@+u)b=it`KtV$LvU*4&m6d5RK1MQQL7BiC=b&+BO7y(QZ=uw zsqoJy3iZ1q0@~bPPSEV2>z|^*`hNMJDnkR|tD8P&%_oPu1}CgR;GZJZ0h~s_h?*R^ zfqf`Oi(ECPQXISN)LQ($h{lZ0s(jzL;OjLo9jry>D(TfMj=GD9{W1NS_(d3d6Kg!d{e%)HT3Hw zqvg;{ODa6=I>$zIpIB!OL6pAHycMluT^pYxI>?$3O-aYAPyTN8vAjK zbp6FLV}&2`8P{gv;fJ-(Y9vTZ>Y70;9_uPQ+Db922*BwkW zVh=k(Tg0SVNy6D5+3jyw_TKWLTf(g&=f(jNIrwk`Os7K2i!^Fd7T z@k)w_f|U7r%lnlza>IR!0EPLi8ZqE)L-(6ymE7|S07r$*uDk+g}2Qc|5Q-x0?Eoe+9+Buy`Et(Yum5Kd%}Z8!A$(g}UOK_?FLn znGt3D3+1asz-JzelME{)9zX(+42FMVf#vpSV#D!rt$h@@ZBLA z3Ws2)s9tlfBC^g1^%|{PnE@vp#ufDlir4#4+_Kn4^$U063nw33g1~rOgQQUs&Wdq6&lZX z19WNMx0=E*6lsYUCgDuuxpG7Ua&3-yie8T{_XxD0pSYaQj^!A|O9J?L6kPuQ$O9pq z&^&3Wtd|xB3e-v!7{h!ciUmJFkymeNvxG0Ys~#B9Ubd`*J>RrpoNI{GoeZ6Seo3iU z`dNJYKVp2avamb>MLW+6W9+#eX+Oz!_LnnRba8C`B7Y_|L*qrCgptEbCcOOAwhOMe zs$U;ElV6v_|DHeUe^3F9%S*N!GecAYYF%@6wfNULkh@tSTQ&hC2idU!0fcuuMNZOOFg|9+mtO5c71$i2=_%Dxqy``~|#1v*eNlwgDgT z)3=UK1yGMJ+2*5}y-p3awk>fQD@mxIsZ}EcR2kB#vn3j|1PG7`*EQ`Zxt`Uy>Iy_ zy5L%|5YKlD`;~>7$y4YHz&s%V^(*j=wXi#}IXinQw4xKc6J2(@Vai*Sn*{8kR!tI& z{x}&b~@_dag{?8!|a%({}XdUQ;qZ6YX5fCST!fLiB=Hz+CO)Qz#*z@N&BM zbg*#1QY`OFuD=XCrz=o*2L#Bed9&-f!li=y3DM(1lou-7ATi1viKXS;ol=);X3-tB zSX2Jr?!O`nb9}sR(!TC-_oEY1J(da0+^b%k3@b#t)mv+C9^~Hh}s-gZ!?~`(xfx{a&b5tW_LVc>R}g z=9g}lXmGi97NIwlGS_cVBnvVN*@AYf>Qq894Ob3&AE18SN=3@?C3otj6CYTxYN!SMtE{^u$q87~17)`Wiy!uiUc#8OpkXl73 zEl9KlNZt76mbs^)Iz@@il1%u$wW_l=qkZm&kFb2iw40gBhk4c-`KMGQeZAIu#DO!N zERgoH*56ecW%j}Y|7DE-%rG1SKV*mHqvz#?G@c%&Wuh7r=A*=a>!k@fC9KJP zfuXCsWXRpx(p%<>N~m#BFrROr=yGmg%J&5tV+$d-LU6zG$Yj(A7pFHckCXtBtC(V1 zQG11W7MoNd51Bq`X_h=e<+IiaKC&QrfV((C`iw|h^90mKcsVZnbKBk-+@T0-mqon6 zhzgZb+AZvYB`CRE(>NT2P|f50D84hK2}VU*&7Rd5Yk%=sK&|;s$Lr!(=-aU$GlEm& z_(Mgu<@fPIYip~;A)y>nw#$hq;2HAOq5>#{wr5t62Y!u(Z5US}Tmu230(B!S$n2Bw z(_7L5-S$qt_fCNa$9;u#Rol-?K3vve5Z!KJFWa9DXmR?t1#~}z2u?%1#{IpIJU>4p z;T28K7-X`y;vK8k&<#rW_N^{?#Bc1dJW0R6t&j9t_W$V)sb%6`xqValwnG-}p(l|JbGjHHD{~-oz{R`aj?QYTWu=GF6Bp8xLfBouzCms)5Fwb8b$4 z-VmBGur$3K?}{$2TY0K8un6IOE5H6+6b!#{1O%x`R{Zke6F>h^;L6BT`e!Ge;WECT z4bEg}qEQjX{$^AYJV$1No8n*ZwLQNB?tEAeqnQ%iF*I{~B@{j1aRwdy)XUGzn-t)- zuu({*bMUVq$A0a5^T(}h&u%u%J@W%rQ-+<$eB;+>Te6xDre#;AWyk(-Opw)Z3a^sy z^W$}gm+6wrF_O(9!d+LUaYr4pWlKI6Suyrb^DAp@^WA1oqFgzmW_DHmD{Cv*7Az*2 z#rg)ev%XEg_W(*soAefeOYN>%3K;N= zjq&p#Oz2v@RsN|(y$+WyjoF|M_LyGrn7JluF4vTv&wi@dH$PWGxEkU{1vUH-p+ZU;suUUk(!jn2)4jcB|N z5N>9uiTEUnk`#Di7wFvn0S3SB-z#;~0OX7Y+o3=0a0PbIx~T#=xGPMiY78ouPTdPp zj{hbeI5s~m9$}Vza4?Bnv9Xc{>L8*Luzw^vx z_kOJW349l4|9b(!@>%B1+X%{qcjl3*%L&SSa=jcbcN0}YhwgpIO+_uewUssE(O7|d z{w-3ERwI`lBOM;C`ER>N9aB@I>-NcWweMYj7qRyCaYtjldWZgA{8E-!v6Xi7jTT@S zfw(eltpP94dRY0^z#;A9W)Jw?&P{jYJmQs`Pe;Y#mrj;U-;3%Mm6F0}ob6;ft7)2j z4qg{LN{rNvZzxMk0*3gKx8-Wsp|}lG+f9|T`i;(vv#}KU!zrhmeSx|G%-p32 z+S#+u@{D<7<&G83&kdEm_BN@`!YH;@+`50{36ReyI2mUsHOP}tPH?oFkisG>rrq9? zh}>JIeg4osB@oT#x-m;Ii&>DSeClJ$cVpu(k;gp2W3@O*1mRvo>oTQzGbS@pb6|6y zd02D5SS%jyy1=SqU}I)8-6qcMPosNVOgk(<`%hzOTlLgKoDU)0%vI_M6N1fEp$h}` zJ=gsRogtZu*HyCmmw6TCSZ}6e_gUXRkS!x|waO}}&JwVN7snJ;cQT9X8u^@>Lt(n%kQ2oDq8X?Y&1>m)fv=w9bdYiC4e0!e>9o!SQEayY@fj_xMR ziaTt+Nnn*EkF}9`L^O85&{x1=RxIRJtgKTFAx+CpZ z^|J*+5Z&4?y#&VaB}c5Kk9KYMX})=b{E&z%YdMHSE2;!ovsx9m-Rmb0|v15@Iw z!ztzuw@tR7UWV!eVV}-GJ6Xta0GfTq@aOORR|5122#$s)In~Lg@2`1I>+Y433G*TC zwWYackmQ5osn;lo7VyCVs?~TVzHKc{NjsM!q@; zlVg_Byp`kD?t6dr&_)dpADR%CESKAWhsbw+DoaDmqnqCkxK>$-10{nPL(_e&?J^ z=HuJHk+wkdJ$;z}X-!(?(_fJ237ytnPN(~_g{mfQ}urZL4bD~a`&P&61yga6CTj5DjGrFh;+y^nrr z$HmvL79%?gUZuP-ey#te&FU?S=BFwC?=%6iVf#i=Lf_6UOm+&K(ba_3w~V=+X28<6 z$RmV^AhaZspG%7)L^lDRkY)ix9NcR7@CdM{Lwxi^NO1DF?EXx}=o$71?qv9kZIfKM z|1ZT62{Rd1hU^B607JLbUd;k>C8fXT8}T?r^e;_3A9>T4;t4egEVbj1E=HRMtVZ-N zkN5SvABAcNV9xQzh|d^LEK#qaJW?WSWhirx$nEj998fK`b}?gNDZ-J+zYluiw0qDR zcK>$?+xp+*&Hq5`GWd!pcTyc&HI!JJY(5e}l`o(d)WJ`2NxT*5&l|Hk)~}|IQaO!g zh8=C+HpO@0bh(vZ<>SwSsZ&qQ^yTLoWRa`YM1T+D^`KtIExtTiW5$t6WdU!{IBnDO z9C9H?osa+F)8;qDn)|ORjjN!r?OK+BUt;%%F1%wgJ#Xh+6Yds2jh;`CI(`_&0}0u^ zM1>4sL3QZwu{F=x>q%#aOs6z29joz4z-UyTkSDVeUmM$ky0Kz$rH%~X0k{XG6cgaz zI?uw=jmrNjG?E=7*`_vzhpbLK-et|1WHggOuII~{MVmF_!F?$k$CnZ8crMpkxfU=3 zHt6U>IE~RGNRVolN7!F%*zx#@Nki4AMf+Kn{Isy0DbuHz*zltas^F;#M6n1Zi97(; znuRaQQ`>fr%m$Qw?nve(J|uX`)Oufqa0J9e({zNE>!KTX<5+Gawq%mdvN8)?^+56R z&5T3XugWSl`YZJ@0EM%Fs_?s`gddCT3@U$3&(S1nIb$?Fb&lKcVTdn#cGmz~j85yC z!~EK8veFRzN?(weij3<=$U-DXx}kif$OZp|;)C_x1rTHJ0~fq1M6Pdocg4^sZ@2KhUi^<-|IMs)pw;zLAJTckiM zsJH*pZ&3e>7;XoY4kpsU>GU44lZ_Ib*GY&|VF4ki7LHeCYD6LpaCi$H5&f61zFqZg zc&BHhQ$huI2MDu^@&0&D8DQ!2wQt0gzYI6j5aC{``R9S!7r%blt<@J_l2#balyUIx z2}1wCAiK-fNn4JxyQz&kp+8*89ApUhs$P6>+v~NT8=|f?NV50L2Gg_0K zm&TE|^R)r5*S<5d7H!2*k$%VW7DD2U{uXiKz`R34iD{7Xo>=QS-Tirn-hmH?@!``G zmqzS=MagMS(^Td?cI=6NYwTHVQ_M;1dq=up`9-V5Fl&Fk8N^A^!XgKw7Va>ImU5{E z#kT=FDijyIPC9l{&cSJMZi8=Z z^k}*v{!7eH{apiyJkluHork8`+iRV7_Dx6}9xF}aq3Cdy@*FUY>E>s)k`=0x(g$&87H^9-Ac=S3rg z|G3G1p(#^|mYR5KcAMkNUAC!Bq)4P&!UWU|8lJG9Ib}z5kPQQPZ~TW`6?avD~aRaZv7m6 zp4Bc}aX;Cc$M@&hT3Z2KZREbQIu?yV;Qt;O zw)=g*z^`$Brg^+(?vYCxc<&aH3&iw7D2|9_ks9N+Yx9jOk-tzJn;bqZ@JYR(g%8RF zi#Mg*P%D}tW{moi$5mkC)WhhQ1h{~${*+0f$w2p zZoj(ci>s8X*+v4kpy z9h&^Pyt*Ytv|NpnnC~U1<9R&Chb9Zf;`7cS7$j&^u|AME8$p($CbuAUoNLicd~75n z9I!t}b^jY1TQIRGV%TMBa_k|BH=v%IPl1%DGu#yQ0pp2I4%9x`n*jX)8WRvk;&rs) z21Kw{a4>`4uXjq;A3MiR8IgdXa2mPQ;`F!uKh72&cd`OAFX?Uk+0da=K!5fQ6gZ3< z+ek7>jWK2dLvf?so|GE7m}s%*c^@w=E=rMu*KQQ7YeJ7hVbH=)ciwq4Wx0MXa~hO> zj|&X6J=v{sbl8{VSG>@VoiS%imX&vh?c-$fW2pp#?c6C2l$b-3=kE(pgWOwkK={Z0 z7GQ89faGVZH-}Cy{Hrj= zUQPYkF3{N2#O=>3*+Gnsy*C16n(@V8{M!00zEQ5i`NGZ>x(3WutE)*sX2Gh$K^wOi zbND(FQFfG8SVm>HZ`qNNnbzXud9u8=`S&G->u&ufD~?tLe#g{_t!|L>_Gv_!TWT*t zdClfD_r;%YV@ULV`m=?KjN29su_gNH?k&BZ1iuPkazgE;v1pd|x}MZT`sv!2%m6w0 zkc!2CEwA)8gxp6t<5RKM-^>c#Da?Iy>bVKHJGvq@inig)Xq|FA=!axSjO}zNccqs& zESwNnLBSK&Lk}HoyTsl~^iDL2Fd>x9a6B|}dw#yZl(>_attZk!Zja)B?h%}1`B;}L zPPyQ-xYtn&g-mA(UHtCCvu|+ucFliQ`U<<=_pQQ+!nbaOU+dS#gd9vhSMNAz;fu1l zvN2A#)l_A1IkqfTCg3KnmV3OWq;h-tl1^m#ZzXNpqA+8v$XfCPea0b0K{~;r2*)5JK6&+-NgEwU?}mdY+y~*<0}_+ zy_;K0g{uo|TT}@0(rIE%ARn)5_b22fp=6~x^PhV-Yup>7Fj!%>Lr^-D>&wl8S@ysT#rS4y%_iUeoy2P(&M%D71eP{G>_}W1D*(@A@Sq=8& zrbZ&$Hg?N?YEj`gE2c0uqhV2AAOfaUFt{b9kXo{8t~pZ8yqGWdQm#lw#Gr%XnB zTt0C!@;E&Xn5~E}_9Sj!GaYOoQDBto+{G!%gR4Kn#>Ug>?x zMA$tm{ayWNJ6=()y6u)GDh>EtO!!Y{-G&N#e~wQJ$ZH_hWFu)V zeFUi^;0OHtpAY{gwOuZ6U!?e2NkW`D@wvuDq+|NPX6C53pqf`!&Gn0fe!^-asBpXL4PnN?lJtuk`PLP(*^W9Fx`J#)O$ zA5xb?0D&%1J}*+==F)O zm_>j+Dy8=Wks~+k2CaE3g8Q`}{C@Dk`^DLF&l8REx#>>1IKdNr5h2>si6?wa;3 z^RqJu9@cQTK(Twsjt7cCNA_HMQT+Fh|1VwjA(7`59{S}V1&=QM@SSkgu{URbP=hUK zJTFeayp5Y?MB!3Lcl&hhl;w(dCs2r6x{DT0^z3T4wt6zjbAN&U9P-xH<;e)~qMYi)$`I zHS7#`Ue_72O@CMo%RP;&Kqgi->wX)zO(hpnyH)^A`v`K(sDzrnSgSNnd-?P8upp@a z+w=1wT>kwcN%9YtE_q2jvc~U1=ZEJ~!3HIUt}E##e?{DvJfrnUD+MXsF{LnrNt!Rw z7imvfo*p)NEZXXth&CT-Uh#T%$P}J3rL7UO2^;06A^Q@qA)!|=2?Nve zC5N*kp#F+r!?q1Z^4>w(r`6=*{DYpwsbbsGf`!){MzU;gngh+U{9E%;hg)LY#p}22 zmdLVstKK1Xma>!)R+}8(!Hdzp3w0IZk0|bPM2*Q?B9C^6ytu$}az|GDINm?_t(_BO zh4+I80eZ?beG;#E$gm97yLFr`CO>Q4QD203MVg_{(EUQ%JgAub3!d^`kVZG7mN>vK zAQd~nTrVh4n?QB_rIAXmqQ2_*d{1RtrJ#Fl)U74K z;+$v&c#t-io`bH!PrORO>fUIJ(-CZVXL!qR0Gt~%udTYvg2*~-`$YykcH-O0RcgYa zlfhQYX5UB^SuJoh-jdexq?yVowjn%UiA>rBM^lyjM1lfmqi7;#HifI1z_AXa} zFv*0dQPS+~YSyU`+8|4Dy>%Yev{5ST*!usy1*^ccD5RDah zaGv>lpS=WS?<|S&j|QLHT;#HjctIV;jnQ70(^jvo$gA3~kj2k-BbBF{L}uvK z&m&+H^VezTPyMv7X9HH(>I6`~z1)^Kx^~!!jycDo<^0)I8@oL%>q$Cw!EUnQ^3e9P zO)W}4#w3D)oJctJk|_lZ=MFNS!du4^ ze%4CP0G^l@R=!WU!!YxgbUg<@3DqK?`}<;k?F$@oQ#k9T)q0B`SpM0Be@CY?O)MJz zSifa=_{~J3{G#?go%v88Vz5X}Bg9Y*m+5K6`OV`qI(xbdN63c3q7&BTAITw&yua$c zBIw8qGWzoB>7rO@LDN|wlI8)BKW}#h%8FzeT96{@z?ZAM1X-SU6x*l2uhtP%1Yk-X zVzEM90KGB<1u)>4)>D*-4f4IL(bC$%nro9Ppvcr6=QZ&o@GH!QGjkwqEAetJoIWcZ zu#*Weeq+O(Yd%`;?cSW@k28wt2U8Fq)8t@;{ZM|08aws(XpH5?`-qmibWvl|aAs&T z`^0d)#B%6~iV^?VfSOy~u9+e`P-}qzErbS`)P=w_&3?`p7^4$4dQ|U~+P+dB)4vSq2W7(dD4pLn3C;X4NO zf$bFdLB{P8;e9BS3{J?QGO&Anw)Qk`;GJ4MQ`L?Cj}J~q`f@f+0vNu7Uu6L0rV!nc zToNC)B%>oGx1;J&wfpN&%4zg!w2%-D`WpA{eQk6pVL_yiZzDKssnU>t+wkY3`2LQ8 zn$YrILU1A2PQ?nF#DVMVho3aN#+@|90FPmAdUZO`y^P0-6(9?^Dt}C{@d|r~3j;uY zqQb_=;N~MN%UiUQyBk6^PYhrY4_;muv`urQvzZ>&h36)y?J|FhsI}JrD=}A(PAWi> zinR2|=&e=+(b%p(TQ-IOex1^p34`nHEuG>0`>?N;oeF>zHsNpxa{^`@0_F(JD8F>}x zZ#@pI%R~bb0*>gLy9Q;r455sl7_Xg%V?b2EjU7YCF_gd&Q0fAZ_xSyJJlgpw6sS>@ z@@2sfzNrQ^R+CFA@X>zeyBc34v+*RB4UvRpV(qAYja5%4hGmgbAl7G@hoqEVl{Y3! zR5`@>;0coe=|PX5K;6jov?%1LDgRpf7Q&;^4mW|u{7Y&w-6QMZuD_@D1Un@y?b6Inz zTcADsQ}Cz$u*A3w7Mv@gY6R6m69lWoQZJ9dF*Z|~w z-=)}q*Nd-GN`E2+^$Gl5*Mu;D;hw1;OWU`cI7wN7`R>ieA)sZu*Jppg2;DUJ zM)ll;>}(m|OLL;8%lLAv!WJ?(gz4-ewwQ&?uf{Hk-2KZ2xf5G`zDQhdPSl%i^|HQI zGDP|JJP5>S=7S|)8i!IE9F$Yt1bpXQ!x}!2;4?0Ky3V@|oyM3OaihC@-3_v$1VPE$ zX+|dyJ%}yhOxh3$_odH{BfP-km0YV>s1;8QG2rI*vizmH5uCH##x!@%9=Ku#}!l)6>p4|p*Fk|4P5+OY=)AkPq&k(W1%6TnVkJi(ba(4U}Z zl-bw^v$U$HX~}GTU#)eVfw4i2OsKf*M<*0%=H0lW1}f67Dm4yQ4I zcwA+X-jpv^pd;`a)%N8Z(D({hj5e48b65pfdWd3XYcv?gC|to})Pl)6rnuQM{79Dt z`nh-(Z0$#Y*MqU+nOj%0Uh)V4wOr;)%%`E?gW}0g#0GGN>R9+h_zcc>Y=-o}@V<6i zYA{SHD4?(7;4c`4^Yhw`Tb&=|H2JJ;J*SBCLOcQE{z6rA-nRq{DF5b1?GEQ)EHfFC-f}p#7abI&jkX5@5ivg7}`u zs7(UFuk%P>v4Ef!?fRBR5P|lyRucPXJmV9>rtyLgUF@Wtyb;i0Q6_2~?{n5-gMSMM zVckoZro|9IZQtd}6$EhskEV|z-xyriJF0^?H=Wyr;EGbDC!)nT@Vit!($d!evn?pZ z_X#rcRjmZ&EjjEMAD|^yM-_wj@_=G$+^<`RRzG4SP){+cF z=jUkpP|XMB28}E6z{ByNgiOYp)JvW>2@L28UV3(g@2r@!@jmmvKb!>i8 zE1;wpPargWt{m@V22f@`c}h&NXB-IfEaKalN zW0&jDk6AXuz*ukcUsu*1SX1Vp`sR{j7RX9q^<<4czxz`z;>#l_J&fkzPqGI0v+? z8~Pee78l%mNCabQm8>BC+pd!gI*H`?jk%8M_jic&2L=or%oEYcH#L)LmGAx?>Dmbf z8DaIEcAIL(r$1PJbA;uwHPPpyf`^69 zDDHMRD_NCm8nXJZmZ!T^(oo zy*oS~^TuZVw|}uc%f!SU-sD>k@o$5b>(F&4USrrQ&lWgA7rjX+m z&t1BUrqrBAB%j}ans21{DH@K0^Pvz{z}k`^AL;}ntO@g7P{Vg*es$YQ#U7Z4jPMS~ zh2!VU&1q;_oBz5@Vo@Kpf1FBCIjKyV(H}EHY>#h zOGVZ(Pwe^O>(MefYZMKfJlN~-oB8_T40mR>)8Y)a^xy!$-JcmX$jR-QJ3yg+lOuH+ZFA0eHOCdW+GsRh!9x2<12%6wJ0=*U8JjocsJRuWeERWOmEGn% zIoRXNWbguhUac8@?z&pDp4$A=Os_puLqopnBqt7kG;Go#{YygRCaj-;iZ@H^kX=KL z5lCKxhIa;_j{9Vij5ATh`02g(-x>ESMmgu6v_-?H^I#nBx1o+v=^n?flnSb!xYYZ& zu=G#k?F`@zeQLh9rUfCgUwr++c`Eo6eO&VkFH4s#uZOGO05{$H-%`JxWx5N<{NS-q z-$f#nCeBA-H2S9MwWJNhw%RAu+6-x4GC$|DGdB}sK2F?Dhs4&RFXGF3?s%cOO|nlQ z`wdc7>5VdZqu~8x1X|bRF?aN$2+b{03alx`#2l${2W;o>8iN(1SCC{pVREk#LR9z7 zz!wYEh4tHlgr#$Y&F%?2t~@a$=p|HI9@KPa*nCK8K#)QT86DQXVkP%k@ ztI_(E+^_I9$s_t-vF(G_@F;(59w65TNehxSd-}cKZj@262+t*~jK)xBM3;{T?7RFz zb5jSSzp^+EMo6ZGBvt9RQ-o~+5J%5#V3!qkQfqaO4}z$mHfHE#x_v{|ZnL5TaO*|> z{a2)WnXJc{=TCHA^L$GGF;(y2#datngN1qyx1*70iKzJz2wTXd=hm>LUmyVm003SR z(|=+8`~&%K>*k^X7H5U^X9D(bqMW{lusA4uazwgmPQzndha80U1o}e0^%5P71JA(n zV1WP*f&c-iUMvOK%oac}vW}OlZb>68)6TIGg>w$Rj^0NZfUnaw33QDE&XFG=Z` z6cE00-ozTY(HssqkWd9%BmLVwRpZq>EuN-zKqeq={gDK37zum?WBzsJJ>Knor#$6T z*04p=&_9b`udf}YMh_5-fQQ6kxDA~g-=-1W68{6JKv%zKVvc6G;qblj@#bOP@-S~Y zn3pwApJ;fz6x9IqhmsAr2TQqjQX8rb1xg+@>A29|An0wn}6*cxbu$165piJU<)>qx42?pxoyX`aLl5-mc{94oqK8E5HY!>^;ij zLpGm>r`+8?fOCKbFL+t|zTksGSK*8{oZz?MCE_VB2Pb$KysYa0_K5I$%mk27;7E({ z-6H{XabYgCdn6!H-G}1^c0L`qbqbZ-LJGnrW5%~?qwPh(|Bw|%6Luj>X?EV!CzR8i z`A&Y05-TT$j5H3(N(fZ)4k|(zKz$oHGJZpAFl{wVX1#>qC{Ij4T{y;pNHxxlEr!>^rIYiZg!1ZiA{s ziv}ru-iyY06WVOORU7DuGpr1xHsTX+({v*0dX@s9QrHl}#( zAz=G9{4ftR|7u?TjCtGU^)f9WbPznnQq3h2AiFMkU<(s2_Uo@M3<;@6>OPzw?D@R@ zW6i{J4qFvVT8t!h4fjLuIi`z6r7W-B>Kka3X`32p&5j6M_^%10fFl7Z5rTZo0=$Q# zj?B-(R)=Vs1}&SAq4S2w_tb}Z%Hy7N1VHohQMngBOk0H{J| zKJB%;2F@HxdSGYHg|BF-3cIHo#_#L_Nh3)J5-Rv8{%CXU8-RV)Gz;n`0L1^0+V5b8 z%YHF2U1@L@f&erN+C68c);tYZt}8zXAAzTsk=>&k-)UYZo)-1L%mEl^0YO#ZL6!h; za0Hr^;2Wu=a_9=qC6$r9?rndoxO(Z9Z=)D!StNI0A?Z2``(30{mpQ{rdvKeAptj79 zJcCwKHl0QY*t;bXb~Ll(-~(_88%`tIeT3+Y1d?l+e8jOyyab-|06x`4K$@2iitu=% z2@q-k8(8VUZjM0M+~j~MZn$e;22`!~i2Bd)$JBb8x(!8Op3*$bGT#8b$HH9sjw){Y zOU@YxoP-Tf0oIczXDovGDZ_HTjmB`gH43%TXaaW0Y;lb()7J!~r87D2v{|aO@g#hvn-gx6*>Y_`o$OJnf$eCYqq}CkW zp|i7_Vh*4ET*%N4bQJMv5HAJxzuWHrgXsnEG4pg{5>Q+SgmnS;IpYJ`H%=v$WmS5v zX`MTtn2#-2DZ`8YZawHq2AO0JZqq-I3*!r%*>nK41Crw{^>TmXQCW}OS* zLSK>@yXWaaM9g&~4DJ7CLi^wCS|t8|pXKMP!2E##=n!mxlPq{JH$MO*FI1n!)^K-z z*uCGD->`C=KaUJAyoZyJ8chHix-|b1I;Kn7NT3ne52!i4CW@>E&NEE?lc3XNy!6t` zjMb0^VvL`OpaWg~ewZ{eD!Ui51l+pM1(puPYJ_j2a;+tpFG`PprXUa*OGy9KUyGdpgl@n?3{Q7r|I6S8A%P#@Uavj@L0!N{nrU3?0wfy14jm#0 zICSzb1FG>4h@%h>;i~skVOL5dqJDJjEEM5p9&i#6Nppr%dNf>i#WfL-QTzSPx4=*x z;Dw+R#m>7oyRN~Wn@DN74MKQvR}C0EL%ib+a1z@8_gdzC7t9}O0a6)wtnmZ5=K~m& zRiAKRxT9)2sP)AA!qm=MK1_KpfaG-_nPW(hWYI6sbqYW(s$#7U!%mx@9saZP8C>K4+WtSb90j;*As~f8 z>%~j}52*0#blR=W7_Qw=M*lKu2j#5=Bsp|MsM$UO`mA;GJzSkw8oY>h7(y#B*B&u_ zdZ{pA)t_GB+yhw3^Dn#@>7-<16v}6hKk<~8GceLH^tXTZM+i=({+sqbh<8`o zc{lg&N;dNp4!+tCJR_9=uu9@l48%0=m3^}^saeS(tj^88+nE7ziPsP?P{EJ<$Loq^;?skJlE zHGC-M0sh8=gRmlmBG`h3@yD~jfQb|S0!*?G#omi+2t7e4h}R!6f5i8}&~ep2K13*> zgEPkNd;Qu;3n;6etF-{Ydtz9|1n_kJ1>S$+nZSqP#{60X;ObZ6-KxTW@u4FDHa@^d z0aCE57Jvi>%E|(EABWEz@}VO(5!xahNg)y2u~Tm$P{}-i)D}cpmE+ zh&u;|F;VBtKoohbHa1!j)hGg>l2%{~1AK<04D3pHCDL+~0>vP&Q+I-B@jjfKZB#J}U1{fbxcibwXVnCBAzA0OdicjjkDpj{pK zf%ZtcMgxp=Bqv#M?d=Q_kDG0zZDsvnag0a@*hUrrojDI}?EtS(_i$f$cn}IOb?_Pd z9@qVsKuliXYZ=frMW_oBi)xW`L4NcDl@N7r{d5VsDF#h!D{*|M%!px zG4#B5e}==SuEHLPKV`9h;t@~v-}3$wuiD;!F9A>%4d@sX6bHE`1=$sXORVh-j!>=z zY}-Ax03RPhAQ(hA5Mf}V2ZCr10!nF5pwU1rrSfL&dkN8wa_vS$=EyM^^#&L!W0RU>Dl0)9x>6@5CD^D*x=_pD}*k|3odocn_x& z9Zgp+TSCCk85jc!@hg&`Ot0haXv~N}Erdix4I<_oB~1d(MLQ&whXxQj{Ysp`6W{S& znLkMjIN)G{h%=xeUE0z>20rfg{L;tco_}gWV>iTgrfD1a!{7O*nZKQQbb1H5epqWy zz55G@fH(su#>{}~v;bZ-t3YVMWxVhL!-xQ>vy79Tzzp?f&_)mrB5Zm0M;(S^NXpaW zzscw=17}~gPQR{(I0GM>@dRTBR^?2iG-CAd%cUAHf!08a8u`~v$VPDgh$p}s9vBAV z{FCILiH28;T?2qrF9=LdK*ut4&{@uSfpINhhe@Fp;JjecD~*yp4kRck+s^CF0>D;D z8JLxFF9=sr09o?b{X^#Ot5#cU1NFrhUv`=7<1*q}#F`^F3MvJY%z$u{n4fSY{+17p zL|n)c4f+UK{%%nCL%TomL_o`Ko0%2>Vf*i;%G-aZHUqenP;vsM@rC+m0kBPByI=mc z2H8NKzvH3>HWR`v)G&m520&`s$ieky#(MAms6{74BN4LsF+Xhn{v7Um|NRe`QEiWZ zRsukddBRDjc4`I$fFN@%q+7>j4G3bFiG${d_CSM7i;hAzpnI-$S(JIgqt-<;f7twU zn%Sty`IlDxFBbx028@lQ2K#COkF?YZZ>bOLfA&EVk_I`vYgoos*5o{x}?(l90d5HF3RfQ*PPzNbl+Hgh zt<2q!Uo#Z|p%yT~%M6IyPwWdwp#_+h&_G@Za_?=&U_CtYwH81bd8FN#zn@xaxz*Hb zufO3P>vt6bqFqcp{vUTN_)jR43l?8nZkfcg8V6;~ap-g)=EnlQf%F#{fa=uy?$hf<703f1UL=RUd!+2{U6} zHouH`6hPiDx6)eFQfy$PJ|I#{ziEc8!Q!evVLianXxFrO`>%-hy?6g;=x>tY$qYk( zU4{hJFglr_23M~I*u)DdeY2e%=&4RgAAzOTq2qm{!(drQ1tPn?De5ulxyaEkuCA|v8)U*OXa{FO#gZa1Ib_X?!kb7&*{KzQ~jDSZUdt5EJ$kMC@ zL<)rL=Afvi%c7x-?OX*-LBpc1Lq3UB5n7e3Kcan4O~vl|1JvJP*@pfq4UsOP7H~$a zi?F*E0OAFFxM`l?O1N=Tpt$8BCMsZd;8ngXh-CDk_Mvy3uTSK*owIb zfjD9Q=?hgFv3jPeKlkr5jy99o(?cCKy_;{3U;aXGfdG()Few!hW&mw3>&{c}?cYe$Y9=~z zds9i}Zwjyz2#X6qNZtVq0r)UrqMc8#V0^0OhaFg&dzelFL8y)D?pZZNtpYVf;aq)W zqS?DpmNuzPn4^D{sn1~^vOL0#>^W2&+e_Z7k{{l3C|8MVVVCAT;v)_A59tN8l zjO!G;*v0`Xr6DMC_-P1`G!=0%avW^H7(;+iwSoewKs13s0mqR^3T_iesC7XEh_OO| zWF2rsQ?*S}NBNQJ@?#stA$6dM>{ytB9qgEQbG~!#nYs7Q?0dU2v%9nV=15mNZ{P0h zoqNwY_xv9T1)j*6hQpJRu0Ssj;8S1stLfy~d*Be^(!fpY6Ngkb(SMk6-D~#Q+Wg{% zpP)U^U`I~>&=ydSq<}S^6wpe=Ah%w?m!7u>Yztpx4G@BBX38I$3HNW0^XyyWu>PiS z4!>l4;j|sN`7x<(gj{&cON((P#&@61DZE-IFp5aa!vxY06Om{^hGkX;;OqMn z&D800%*Lk)Q=Y#i62Zxf9u7q+pO#FFzzVaC=NjOfN+P_VZz!Mgut>M0Ir0J zeMg5MTdXB(z)v(k!WZDW7p2(j++y0&(|--qAZW4ex_`s~qU0cz0*s_-hDr1BGjzDcKi9=Qy;MQ{&mzta0W9Yb^E0ezqkMNI&eEt z0tf_q*Xo+P2NQ=>?_=8%yZrLvC3~w@<_TYqb$`$tXwMJT?*Ic(DL`IT3Rs=X7NBk{ zqzj*z-N+JJS-G+*7e^e!N1sOcm=B)m!Cz2ujq9WukDjy*N^JRap!q{3K!b<(Q|H_J zx5>t~;36g%%7(qtd=+ceY6@zKiw^__!y0`2*Zk%6=D>jiOoT2$wv+JPEhq({B3%zHxK;veT3K@!A8`%UlpEXl>Q#0lHMK2|(tTStQirGi z>VO72MEq$|K;2BEu`8$;)Ve_sCoL8G;KGPb2x}&LfVx_!a!#VTLL)>_>pebC(!=1@ z_nF$%Io7}@Nl1xPe>6sfXTUtbIF35b3|?`MAOQ4JE&kCABXAKDuc$r8Hj}vHQWnwQ z&*MMb95r>OdGMh}BSKUIT#=`KNcgU}fAHWzv-a{4!t0_x_bOj3Zm5gKE? z_?G;tfL^0^0O{?iM!~QLAfyEn8wYOvhSc=u*5I}yaEtW}-44h694rmcGtqsyZ56~* zO;;U_5rl?FLZHEq|7~W(Ot@i$ig!Ua?l0^39X`HqPAAQ_q*Ej51T_eH41TJ%BBJODjCnPC>W{tVRs!QSrwBo+B*pFK zvDeu1Firrt0ph>&+i@l445`!!(H}i62&ctwpIP+Rn13qxL9_*1PeV)85kGgNrCu1Z}q@hF)+1YmB;;RI0r;`46nc zKgZ#t5+I6`5H9D4P*w5&5YrZDtQ4oef^s3PAiU9RvWVQeK``_Rkj@;c0mfSBKf3v#pgp)t=EP9;y=ADS%fxfd)pTmDBn^oEgkMO*n5cJ112 z?*FF;#Gg+w{FsN%s~v>j6eB=uHZTIJnaJuPd1-3XsZ<@>&}Fo(_{2}%AHrR)kxjO2 zzgPtTZTa21yFu|OkTeLcvIfC}nGAw#n6nKxA9__bhTDo|6Uh>B*u>=->9~rk^yOn*XTlSDW^(M40br^Gp->QMluwhrj9&etUfTZZ%)17gt?#EywQT zw1>@sC6NvhepB`V*n3b#h>D1WIF^a{@qOHfa2B{LdH$Ko*DK8&w1&S`Lf>MvbXWuJM?9 zKL)B26VB$SR23TjwlhunG}Z+|9}SWQ!38O$!?N20uDUl-PCPRc&}zgPHoIetz@AW{ zwLfjHO86i!Y0NxA+cU5b>FM)(s3CYg_( zf1&yA_cnWk-_AJxMhxJRQ8^WTO&}O7v;w;xNAGuRZ>?$!94He~myn zQ`A#%WD32v(>4>yt_o<{D_O+32D{bW`(d)p^q#yPd`K0XCbu0x0CS4 z8v{rfn1Pe%RROO}_Iebt=r1(0lWEAMsnVYQ3Q1Mq0^x`x&cv02GS~yikb*^_4!S7% zD1kb~`RdC)T=7{63fA-qgOkjM{%oQ7md)A&fB-@G?H2dPD+5S%F{2PE;ihCEW;XhT zqW=ZGA^N)@Jp?2+IZhc~>!|{*mJkbrgx35dSFlDe4Y%ng2x)K_R(%PVUAX9C@~e}w z85Ga#2H}r41`rvMfrEsLz{y0gPwRTWWAz_d%d`U;Vp=M)&VRcBlLbV{LL-OM^$RwV zDSNJf#%d#C>&{K$%gq?B*$cx<(Pck=jnZRhnk%mQD=&ht41_;k7=Y(ZLgpdiAaGHP zewhoLVtg#E*(R z5cN+u>AmJQ>bk3?xB(nu+a*!I5%efwoEkVuZfrt}XJVB)8eTyy80YQFNw`l#<7K#hB4B7B8@WdMHF zC&DwrISwUO;?HjJ_v`zEMqHY4J9PIP#HGaD0EP`IuEA_f01;M5AHMPn5pdn=F@O?8_#tZ)etvcJWjFXW2=*b|4=w$Dck+i2s{&fhv_{vPd4XLf&}@T|QCx%w z(BOzcTi>sjm_Wqq(lnl zX95TtM(zNTH7H}NSKNdZ1L%^Q4_SS{6~Y+~@6Aj6J|6$p;`k26`BGN*=>+&jLA3|W zBTl);Wk78U1l+J;EIg%YN<9IpvZGyEOUwi+2GC(+AFk0& z3iE*1x%;CKu-X5|IJq|FA_r1lxSx9FB=kcP6e^i)2E7^moOu+Veqks#pEQIo6 zsN1GhVoRtJR1Bc~B7das6D|NJxRMWoa)2vtN^ch8k8N0oEG}c5R}p^*esd9Bn8mzk zadJd{CV&DBaNoc#K=sns74?rcnP`Vq{d$oY4iz|7>e&DXyw3Z7_6K==u?=BEpnZaF{*f_GH z5GJ4-s@K}~n>aH!A3+Bq?y_4RX+RkO3Tpxm960DD1BKmpx<%~n&<;S_Sy+mKc9#L9 zp8B-c*mG{$fzw&rh-WwUjYj+{EG|nA|8ZyWZv{L_AYuZ`d6Qh5K$bXxgi2t8I-n9z z>n3RiN)}*_`|iFpfO>zZ1F+=c%Toyu#D>=0X-uIg<`CW|LF|;EgpR&p_aB9&mt0}H z{C0-{B-(><>o?n=745oMSC&Q;Wb=ws$6s$PV~B&9j^X>Ykp zFB)}f`L28-f6~<_IO^*BG4c0ph;Py0F#&56sIzzAK<+q!Mk)a~Hky!75BJ)MXIk3; z5oj$y>Fjd^jUg`i4Tf;?sb`o=spkLPpS{O??dwmO|K9SPd2R3BsMlXR0bPII zd~=`Kw*4h;>HUR!zsTKx=AUt{`MqPQ0V`K9qPbF~VkQ1g^#e%n1!&u{)1GpFe(3sa z<F+%@nkswlK&mu=_S{w)c=9bXxO}Cx68qhP zBR5h9nE+}6qM;|M1aUWAsst>pwg&kc>cX_+=9>4NcD7l(WV!k48*etNR{ydG7fa&Ch@Szh?KZf6di}K*am^?>GA}_U)(l{-3)C{o<8Z&5K*NQ`_zz znP)aVYaV`d0~7hpw|s_~&Iisp&&-(pZf^Dw6MK!zl4EY~IPzFCkwkv&0@O+3=WDkc zF!ql25POL|jZghtR{r$Ze!rv+1(SColSJ*S`9rlp-5_?*V$nWABY*8B9kMLfN@Dp6Ebp8SW3z&=( zK<>ciD3#c+Cs3R;fS?c(>jpmkq^Zq4z2lvPTVo0&DcBa^IDtX%(lJOr3xdT7jh0~; zAYwkj?a=q}8GJUDK9t$KQwZI5A?gOPH{J1<_6mE(B02W39jCtFoTl_rVowy?AN%rfAOMc_vSZV?F?H^orm#G~yD_{iuQ;@WbBdu|2MEJB9*c0qc8^ryju@AT= zI=>Y2aB;FC{x*Uy2}tEsEiZ<;YEoP=v0aA}GLMO!95)faviQYf$g<*0;CWmHI zFchsN)|7quuBgu$o`s3~X;yyq??VERjy+-N?uz)k3~qr@u?wg^hF*j(I9`H$$wXt7 zAXC?&o)$Qr{&9;Lyy!EgcKoSQr5GxL?P%;WgR*%MI(pJaL~o05VvW%6k=6`rhc%3( ztjM?*5PlJR87A|@R(>?<)LwlqepS(Zr2*eK==fr}EAd+O=ND=qY{&?#u@Fd#-v#16 z{-znY?VD!kPp>w$W9N!UOF=cl46J0}s0saMGf15B&NB1hqH7FZLk4X+W_N>6*u z+H^-z`_=f=-^n-=<4@(^?->YPg^|8CGKKzL$DCc=g+yYI>r^%^(z-&4}xbG;EqJDG_ZiicFXB8iU}odRw__&76vS3 z1~vg{;J%-*m7Ar587EtY0K&m(N$IRm8En&v+9WD*&hD|KhoML{B6*sJgzn4*^My!{ zxnj8-;w2Dx7y`^G_Zh~Kx>j^*?PQQ}p6=rW|qrKlGvL;tUzXX1A5#YHuUAs`V5 zzlq<*955Hm3F*@`N6Zy-#@z7?cou#pJR6=7&l;WdZ72G4aUXk*y_bClE=;tzG3Yd{ z5ge+ZhaqVojHQA4$SL&qCe}Me{KJV5=M-eAI+RCEaEZcJF=nFCR@5Xe58U&8GkE=j zW^n0kX6Wq8Ol{s-WIQ{;hQ<<6B6E=m5(DZ45hmWlsSJXJ{%xxw^Q(J}|KT(EEZ+yj zjeFSp;XQ7(M$7=eNxzLbU@n*w=EfquZP^|XJf6j6cI_4KgLO{C@Jl;xaqn$n9Efqn z$=|O;{{Dhw7_qAsETOTLMZvi0P%+6xSv?6ZL(qg4%ngW(dFov8|Hoc46TbYS8CdzR zWK3Ic20!@^~F&(vnVhsG)LI^&P+HNE10^cgZ^ty|YBu*|;B^2aV8}p92Lc~_R`ac|kgb$rXZu;(1)aB-h z-%v@c{m!8BSbB~B;WPLwzJu>7!@)h(UV-1zTK8(;jELP4={s@4kLA{@+vFW-#<|Px z@o+*dtRnix5%|3bLL(t+4Xmc|1|tm!0Z4>XBo-$-#|Xw`3Mwr)%mG9k5+uHZXK7|c z_iu1djlfGg**i<@Ny68@``9x)i=6mx*gch;eSlc_-AdFQM8FEl0e&cP7&~x0jWzWC zzCa>?IN2SkAP?m?s2`vB`{?icXw34&eSgn8h;S8@6MTsvv=7XoaWDP< zbw(%3P z8U^y`iQ`+ED@M>>!jCQcs+wsa5%xy*Xl5$mS9*R0V}b+@$+gsV^BF;XDI(lzQ zgm|JiyXrwD6%;S#>ky`^Nms&%xA2}|Z$iTN+s<_mkt*nIaH9!DWDFPqdk_}Vc#_6j zEP6`9kxB)ztpF!hJ7Ws^ZTRbjYgtpQE!J4X{NLEM#~!$r{EF}^C>VUBkipss zD6NkiM*sULz5f8c|0^%vJw|9(O&ISs19uHvqJP`VlfYVHO|iCh3QCOE8&a59_1(Rx zpn|r7MvE!JrAY;K16#o*^ghZ+?Pgsy_9AE^O6W=GcZLu@V`#z0wOa8-uiwpUhc(1n zhNnH-W^Al}6}?wM*FX`E8GPiKGx|vGvBiwi$jhER^tug)*Ux1Sj#Y!Y6J;@My zktz7kpaDAajCj_!`PnsRK-S@9yGBcR&HOdAr@dpFsffOU(m=vLJa}W6u9P*$zg|q1PMf zd;dbOKccahPgIqkSe{myg#3Yk@U!7^frZS5QIUK!o6yF{lBt&Z2JG=kfok^gpyl zzmmphX{@Ke(U9_&G~f>xks3t!pH{?H3p$7s|AT=I11IxnLqCV_;JfO{z&&wqT#Gvn z1Hb)CJD2r#Zdcm5!tN1A;3;r$75B{-x1C?rxqa(iK?S9RP|Vd7RcU^jR2dXRL_UJX zY#L_~Q7xs{Yw3Fkh5a&($7no5@BbIQ_Z(gSjK(YUJxCL;Tm4&x{*C|PGyGZl4u6;K zA@`zt^1ZLMzjc=V?IU{aGn1r-zkp`_q32OAJ01gJz98`1I`G}Vad z+@F6lCi3cJub_f1f*1Sl43+@G_X45~|Bl{sf^1v@uflBm27U+XCel?{Zfd0f0000< zMNUMnLSTZ4P) ziBeP$EOdg@&`XlN|9kH2Y&K!%&dly?68xCwxz9qf*`2xP+|$o{*uVZ-&J`?&XDKHC zCj0%%d1&wN+GW#~1Y&&!q77L_L{tC$b(X>svr1sqVTqYd@Y;qYySw1`y;-7rFiYe^ z@$aGdH?98oT~EB{Wvtd%cVks%safG{m6wSW_C7wJzUvxe^t^XDRx&@u zQr*9>6!#LA` zt^_w@gXXCxZNP%!Z1&z4u<>yq!U+%~QxL^IVq00NgdmBL!ZRQtwy>CgMzF-o4cXv0 z2YbhJ&)2R1ukW#W??fqVNNgBRSPPbtIS(71E;c-W2yQGTNR6ZtGh}ULNtu0F|CkDF zC7xptp5vNSFnO(XLzI4}u>SK)VH5kXwYg!X>Uu+sYm9M04kp zeYoqkM|fEIIy|gsBoDj3Bo8Z8468T~yRL-#|LZ(U{2M=`-_d)n!)xI(Jgj6D?yAv< zyB>InJ3EgBb9~8_m^2Qz6O5rT1ic2t5F`;Uve;v@SdUN2vL6t%8oNHfDHGyr{Ev*S z&T_DB6DzWXCl})+T((Sj?UW~Dfe6a1o!r@L8h72>hKH4@;U%W)hSFGN#A{d(OZyC$ zU?4C?k#gKs^B(SermtWKw&V;LB4Eit&rY$0G!}iZBkMgyVetq5rP5&KC53ewrQkt3 z;DL{L{CD%j7n_TP)2Dp?J9l>c2!v>)5(=l-4q{tn3Lz;o%R{683Zr#-|sNBCr{_+#Ah(lG8KLkyc*P>C*MhA_JC z`YpKf(KjB6V1W@R->@)!1sk)zESt9TDr17#aPMY=0TM5a05@MUFY;-F&T&V#iQHBC zCSlOoL3p9F3*V?N4`H$`e=N-tAcB$gFW!q+yVL_c$6Zfx<+Cl>j9`Wd$WBVW^c!2A zbu;$#DzOWaP9ZhB{W@^(ERiHJBD{7g$fAc;?W%UCN|0bS9Rw7g5neow)h``U5Gqdm9-y4vx=Fz$G91b4I@$Q_Tr$(>C)a_8->xa+1ncvy+bs?{GJAzVY1 ziGpMb+=uh&KAbH&j%O#;pc%K4{UOP@f**zyXw2dZx^cK3`YLvR1dC5kH0|3bVI$&? zaA%9I*d!Z7eGzQ(E%$N9Q+>EHU_NJ`;?%{Rgb{fGss(|aTAmU29fbE~fEU03(T06A8%3J71% z@r0L6Fab$|X**l6Is5aO2{dbe;i=iCbUyT~GWA#Ps?*y>PAf$^Idd!#FJ*6H&-7Qgk=tCXxW%`92;wH)3|3x+ULM`^~ zW&n-wDVYdO!)U!7?y5$Nyn2pYHi5JCYuPTMv@AVi3ya$q!M+QHB%m^`Zl6>{T>7Yy zuP^+3xOyQq_-tnYEhhoy{b;4o!6Gy*2p@WpZ{!^~UL9lnT*4L47{!Jxu$cjC#yLNsVZ<^U~~4}%?8=Y1k~y@_fQ+3Y99YLK(T!a?;2+FO7ZG7 z>+^dWJ;>a1*OEWSPM~m(564^m2$Xu|HN=1Gx$uK z7x~OtQT(AM&G9}Ij|Lmb#6A@-8Ofh*`!aWiA@gYTyhuhV(R*bKpk@z~GB>h8G2v|7 zMjM!bEX$ZZMUW}`(@5_-My8swkSkZI$+vI+ou4~@o==-Gn^(gBy_L8YPkb2CypA4| zxw7DhdOCzCH%WYASY+i~73+J6=}&68P&e>MtEc#>^i$mJcJqrDFY2E!Nu($y>p*-9A`P=jprp`PpqJ8Xe| zGZiE%26;lg`WuRrE~Po8MjyhRHzKL)@Zu*%&@zk?W z4UlAp3|vMK`OdrV=U;ujl3%`j+51_SE?wepyopkFIta2bIi!Z;)v;>AOQs5_()hJ$ zrC_)R!36VAl-PHEq=-AqL_hQ=<@05FpSb>ph?0DH5}NSUee_5{l(PhsFKjl*KPQb7b{Ul zs#3@!arBMy*gcXkaqRJlY}~g2FaZ5g?C~+uYF>)-qkz-M>aTWFZGQNlBc?WzHmZGx z&e>v+T(A3HKsXdl7gj5Lw3Ck-Jm??=!G`^@tz)4|k$8+ltFpw0I=nxalX$#P?+aUuFp8 z@6VsVz*{~-MKcBlVTY0OC?Of|vB!tAiNGc>eGxK8k{jR*lG9Hv)QiL9HweAm<&|#2 zTDGzg^=?H&rk4RA1`z~NX8&!?;3MKMIE(_(2Q8JCJ0Z5;9rT_h(I1M7zWdkTc0d(S z=Fz_@5QhVO6D;s)stVao?L@fWZJaTJCP)!Q#;oD+u~fyOzvd!A(z`G{uq_ zr1zanPv?;pZ@!Y#>o+&22I%+8PID((v$R$+v!b62zbT*12v~I6eTn@zna*#jQCrs_ z6ng_TjBac7VCqYO)q=K$7gd&|WX;z<{j|a7M6aIy=9Ymg(}15oecIASszIT{ymYy0 zIiiB%d!SB~$*7(s(JuA#FCk9Q!@R-g^BoNv-ow*RsnI^)rKyAL|K}Zp(DzKAF$)I@ zO)fHzpyw2shosgFBxcr;R}K*l-+7#q7G6+A`f=qh?*4{xbnFz@EMPc*)WguVeuFe~C(5nG5Ka+z;tV>L_EsNA(f> z??97F6v-r;fs964^lwrlSkCa`+<{dHKQCFjJg<36Lqsjx@zG-@@>Ofr@>8c&X%`BH zpwF88DL^nJwg54`^6|HFHISUO9rm3QRb4Xi?~d0M{{TK9a0b1kiKhEM9z8x__eYNb z#G-)E%Oi5e!G-9@D`NYiuQ0?FJ9J;#y%CcTV_Y9m8is3K-oE3je9__reiYF>JDGw0 z{`m0|JhFT>sT6QFf5n4VqN@f_y`5FxzZxLy-GQ;!3j|I*@elFq>^Mr-_@kRETB003 z=m~iS@}T<<97GfijhTKPl%#;GR8r4fa~*DkC|Rci6B-Fop= ztJmg8_yorUS^TX&{e?8rO_GsIxcHR56i_je2SCmHVF2QarNG`*L6UWP`La~dBs~#} z(?>cqGcz+_PN#VKjgi$Qx*E2?vwgE|0TTTmqk>20WaP^t1QQU7Btzr-n(?{OF znBdUXZNG}Zn(p_4`5f<|=~U_sWPPV60Ted>@JQXn4?dItnPlSM34c8~^{b#FXlKu! z($nSM4w~D9 zol|(FO|-4o3Raws{@Au{+a23x$F}W`Z6_T&9oy>Iws~^)xj2{mx~{&bzN(tf9Amsw zJL;B2;%Zg+Ui;?h&YEjybOA`>jm)MH?CB#iWcGAaIE(5WBUBG%YLD*V(Y^@)+EAD@ zBi%phEo|_Z$^`rCEYE-S?vPNjcg2vywHtrOugno2tsv?xEhdN#PTgH_*K%tSaS84MCTWgfbXuT;?UGTACRC9I&U_9 zq?pUM9x*gTH-_wZFY&%;y>vq^NATaG>MOFGyL2)?#lFf%-L(+AcRKiGfax>90*#K~IWtIi7^T`#^W?Wn< zfSa{ZC1&02x*@IvZjp+7%%?BHp%->F*XSC=?;`oisS{o;QlJ}mrPz;TK+IT9*js*{ z2y!{wB9m`Vg?>HWs~@RQL(K_3nI>ki}~=v<;hc;@*4-J-Qt{!P_;(vljFb;#0YilTEt8j|bSti{aw#W(LAYpDngDI};=$j5Ae~G-{q_TM z3}@XFgEW6&dtRFnCB?Dw9zn>(L2cRQMxk)gqCM3wn+P6Ocmr`_Z78V!gG#@in}Ej` z<=wy|G~PEYJv}7Jp~Z)icx556m^!>*!FV|C>~s|#qK^HuH9}y$vq{lZttV{zI7{JP zIAzMOZBM|s&Yw}f5;amM7iT1!uETLTTj7_w3oj0~CWJ^ZGQ4gxPGwi(IOg@;t`nYp zp`K!oTKvMRg(~C>FK3e@3aWU(2oX1^wD1Mc=1MP}O^1?OZ#rYwcx)+uEAg-jbCizj@CIPaab`iX+V|Vi}=ku4uHBNT-M& z?RNI7WCE1?v$rz=i~zE0NI_^etz68#n|Q3U(tt$3LbOt+$x9x*P@x_~VfcRjpTC`E z)j9{3;!*Do@V^bpmpn0&H6%3|Wf#e0oI*UA#x)dbwkK0BvU7a|ls^XbnpJ9dIYT#(}KBZfE zd4-Al3CUDmrXh*WN=z`(e5r|s^047mhhmo%%c6r^&BnR2*QX(WA9B&S1Fl>u;01${ zAGT;gv`TV0cpQhpiygQBR10<&E$&+K3QHt!egVsY5}3?MIljRLnA<3~FHZvg>%oiW zArQoimRhiRSu*a>?C13wn0iDXm!yQTnS-*t7`UnaxtrI zqG0~XeMs*#1I%@Xmls!^3%yetO_YelhLYa*!ckMRp=n^$%4%yi-$3cJaQdk@yaO`S z7Ag3B5o?_fe4XXI*}PI8CE8C7x?56E9`u$ggvWU+x66qg9ZKoT-9EDDhowA%KTsz| ze*_AosM@P20%MSba|{7q^&<2zI?3p-g<(I5LIFM#a7{1v9N2Y?kMC7rD>y4up;wUH zL^XnKGz=RsyDIy}3;iKSwh3FzIp#LSS-PMIWF_roR0-X$))z zh6B$Qy4VPLL`lu8HteInXndhaka|^`0m@3hqOc_n#J4TIYh_IRO*Vg?f{Y4EbnOTS zhmM8^G-1bZ#VgfJEz^JJhM>MZC)v_IksW?sE(%ob?J)X-k78QwnJ1SEWJ1H||EUJ8 zo!j1kZG+UhvLgje?Y0de@_0w{4ldIkzURz9gLU%0?E=ISP@e~W86560QHC^VJZNJ^ zWIy0@W(bBWOx*R$;JMH^PKJhsVCS6>GJ`anBRlLw`(kt*{ki2#wjv6Up6Ka7f^Ggw zbBfpInKm?SP@=Z}E zhfqI+BX1f)dI9(^?*Rh5H-`}#(*AlB(qyAr9}xr+#OuxmjJ9m}GW^=KehCN)dp6B# zSf7aRC=Wzmg^x-j7sSjoQ}50agM<^goU)5dDG zK0pg|4tygwA(XcZ^4U0f1XZ8}K0~Xxe+&0Xb+`GCwM!E2|22waXTw_&@~+tX3B-uH ziA<@8Ae3pjw7CI6s+2egJyU88hj zB5@Oss~@UXs6lngBGgl>w?(AUslz~$V{YR19?rNew6^honcS*;K3(z^7!N;j1Fdu6 z`R87iHw^4es8fUj0)i+8uo&T6N`S&=%%f#o0#$zx7z8?3%pi#&dKceiU zFjImBt{aMRX2V4-r4H_Nb+8irSKE)@I5@jDx%raW{u^sLHt!Q|`Wad`5t9$2Ox!rSF=-pcnfXp2T|aRMsZuL=!Y47PhXzTq^b2|HUjLpZP;!H!^&f1z z7ee2+03-?i1@DjZ%Qb+(4m6;|Gg~J-IHH2k6ROqPy)v2Y#%HN5OLQ%k39~mbKVDjq zJkyj4)1>}^Z;d&$2CZv=%aub=B>XR3(I*fT-)ci8G;ziV@bHGwL{P;Mq=Az;Br&ly zWTnwRgpFh%?q8+)27O+t8P*%Mh_ zx{D;;35iNi$QGV6d_~f52Hcd;7c@GYS5^S{%NQa9elB@Q!g@8I!WfkJ?U$*p{nnV6 zbz$>XDN3)cn8L?XrO+pYRXv>&E{<0PT|;*DoBTZJk-Db#&m+DAFrupy+fst+G-r4v ztTh@sGJb2&frrMsfKb7mKSyv=a~}nN2k*E$k=q1mrQUeM_7guS5tI=lOKQq&omrxg z?M*q@7tIQ@8HjR@wu87_pyxHTKCXx$W;MCA|E7Xt*{q>AfV-YOfqD@E<|mGwzbACx zfSnjI5o!-Q6GGmu`j`EHK}Af%d@V7d=NN&{0e!#17RTg7Xcl)zgMlY{$*F|!G36gY zIoP4eYDRPWuYQMHy1&@NtXu^vc*H>n6z70!s6`$A$F|XXbGs>WJ`Qltnn4Hi63VZ7d+QVf5UJ?B1K@$3UI~Q@;~7(mMnSLM&Qc8iNm_URTCgjD+7b3U z8qmN_K!Y`5P-KzJ!}Jty9pPGE*ARnWME$Dx`ijnL+_J_s*folco}oj`|DhMz`4GcK z=1X~Rymxftt1+`GL}7+VxWz=#PBx&DRt&qoK)1ii1jEm$*? z1kjI~Fc6t`p!^~b&F*Km7ZiDThexG5Hv()8Br~wY>*IFe%mHm{YNHS6;oY1UeKe9q z;dCQ9fi7be!B3=Sks$uTKS-%+69pXiMmLF~J!LtD&l3=~hPV8s2TTY^|=~W~e z+hDC2FxY2$3zUqUOF#(vQ|#F*G~u%(+55=NKW5pyNqjaY06w;z^lK`13|qB+P=rhn zLICbSv@IC3So$qVw9Nf(j7BOQUKJytNM`FZNNK7jj#yqm0Ft%N6Tz-$_bvoMkmQ1v z1%Ng9?*{8NZ&~=1eb9Hj$`9qM@u}G~X$f;1@+pSA?73T+O;Cu)pK07K+)m@g+4@`6 z^G`EJ4QCp`EI1fMo7AE9wY!*aYvck8XKRhfuYy$*spc)FUJjd4F0i92m zUii1M9Zcf@R`L>$C^dCZ;AT1n%iMcm14$i8mxA<1KV@o;uQ05_h=qZ#&4ht0yp*#5 zB^xM$N5Y3>@b2f0m6a3OrMrVNAtp~hs+}u*o?y&NyEySD-xE7q)_w6X1S+}ws3m+N zgdp+oy-$!5?uNjBVUnJ&z;(GWrCUvtcONnft5;%U2k7YUcR;HgjZoWPK1J{P@7?y) zu-A^gEW5N`0wb6?37DCOL9&9PRC*6V$bU_8>dWymi&cZh?*woZ0#6TTt_IW=9td&N zisaQSPw>vu^M=oc$<<0k;mns|S?=JUfPzBACL`3U3HXAjl2EZ?zG`Aw8N2(&Nr$E} z>@u+6a5hzgU*N%IMfD5}2tnFmH+5H~+ir7xqud1qd~QDqr>1PyuqeI;(|C-2MYu?+ zKYUO!1a%2ECN@ABB)&zEPOb|?&-W28{Q_n8|BxxIi-g@Jzc^^uNBFP{G(UpCtDe<= z@0)?7_wJpZ8#QEQLxVQ*1mz?BOfI5CNWNMHMG#*s{EczCj|zAN&?5tXhND7oz#1CP zMV0)VB7NNwZeJz6DbICaG=sFdLjVV+tTdS7oQFcyj36p=;cA0Pm3WY$RBp|>`seRp zsNpuE7QllnkuQx^v~bw@Kx7;y?xjI~EmX{p)v&F8LY-}Y z{7*ds(G2uo5Ue5E1;&F{Blv=UV##zymbAMc0^^)fl|-#RXZY&>wE1he%oSC&8gpkx zOh;}0)lKnlHC(U>n6!cAu>T%3L)X`4ebwR3739}rh0t^5D@usK=qs7gM!mEb>$c}G zy#g+mXlX}%@9{fa1tmDEs2gckzInYd?9;M9>r=_{dk!(4th&DJkKCqGWcYrWIpCZM z<1J+<8`k1W0^f`s<0t3_xaKc*vOWtLfQmfNaa2$~2Ph?NNad!b!q)>m^m$a85hk2g zlI)pqCj*MaeK|o)?>75(cfmch84@}6Ps~Fj8rSqAWh5t{E#351B}qP^_mdt+bu9QD z)-hEy7ND?Ln9I(ns1T1fJvK3(n|E`m#e!eO?5tW(=fJ{%%ioDZu1%Sojt!#FIj|I)xuEncYCy8u|bJfIZ`Hqiv83D^~U=k1&oG z`7L_oNucOY3i=UsXbKTme_R0;I#-TExRp}}>IOjIMc7rge_rp9yg%~bl;S#Ue_NmXSLFy?b&WX~ zA0Jgh=wubH8U4GhB_Dg8EX?W{8#zefw)D}Hnk{g<7|8ty)!D%TOtf*Bg8z6bdK9}E zv$ACu`7u_qd}1yHKGvG9xlt&dVys#40JQyEL!N_2W$qSzxiCbN527n2QpFU?!maVE3@hH4FW5(fja(fs^o;Gw97BpV;Bg28NFs#KUel`Uqt*I zCpXUw=3Uv*$%dJqW|qagU81$Bt(~g2txNzn@6Lo)Y-+lEECUpU44*2znYWd2Z@CJk zTThV!7Y6fg{NzK4*n`l#vfIyuSoK%f&GK*E*jR$WK>=_BsX56|9t{y!; zfL)J-6~|7lNzTqQnfJjH{l=A#!MZKT@aMHAd|5`HqxpDE40be~(AxaDNF>$!ACD+#+W*Ac z*?&`!TczV-;#29G4n3Yz9S>0ueCzxIHF+rd9cp@{nR#5a3#g%?`3y!Q_xg}Vl65y= zK%p=r*~qWuD%G^_LY(FOq8ofLIq_h${C!wX;I3z8(QE%$>6>f;NLJ|=L;A(zy9G&j z=ECc{gA$$b0&%fbdjo}UGbWQ(O)FSKwM8(|s&&&sMqNIL+Y4gX+!P1tlZO*bAHI8t z^pSVFPI7Gv%D$@Q#a%8965QkPPxU${QUJ;1&i%2fF`O6Ao5kM41X;X3FUC z@j6Q z7*#dz5ms48c7h`-1!hl$A-ZdX7U7IZWp)GlV!Wbe2$~@Kedeh-Xl(OF8 zuJ5*t8tc*^``21Llt)q-$cJ=)~plV@?{1FsO*;eH)AZk7~5JAH2{!=Nc8R-Gt z3-fp(2`<~&k~8YFLvfSL_4d}&DHSXQDIg4&>^@V|a+?O(!Wae;=iopk;@k#gCMcIj z$%JYp+*7cG9ytG1enG_ioe< zwrBu?)WCe-o^A!Ov^jCF2?Ac3)e7bN4a@O2Dom0`@2XlAu{+KWhO=UNxn)G}XkohhM8l`U=wn;h2uj9Z8cTlly;OGhwSAOj&| z`H`p1XQ#_r1PNo@N#Q$>OvL-*VEi@$EGWitrubTjK#vB#uD(ssPaK|0FbFSM<+H$b zt6Xzk^zKLSF(;7e*z|&cSphi|Y#iK2O)|d4{>Vesfu6si1`=gl{0*VYw>RlCeySi< z2KK_A@*%-u{5M!+LMNUguf4=k!H5&(#ep#X>mpG<*pwF?$sEEsEm?_xE9i6O{EERXh;$%Ndz zoao{Cn^B9fZOTY`86M~MFO*a#g?4T;tP5=O};Qu?aRa75)?9IT+l4mkmsrre_{KKKuAVQkz z&*qA0#S#R=QBIV>fWiy`NZf(MrbIA66i-x$L9!?fqyRCXk|MX1+0>WYWu{c-o7tu; zdGO-bNB0|9`h?e2x6>5gM;6WHYyEZ6;ZqZ;D=cyverwY^)sXm{sCNZ9d)D$mvt>rGk6&#a;B^eWWP2=xBE+s4CxnKqyqQqR+ z^T1wY|5KzJlQe;c(cCujuQ-9dFVq?mLh&9unrswnhT8uOnSurf_$I|x=D=<}U|K%5 zbieM5DJXBU+t87liZfPh2q;nT!T`t409w@Wfb3Tv4rB5;d*Z%sMch1e4UwJbhwrbO z$j(^F!6!9RxJNppzk(FBGgEZi4!DHDdcBk^X(T?ZY$Lu|3Nk`pYW~mW^asag4vFYA zrChWOJxR$qF39(z(1gwn{Wu4?--iD46@-kvp$xBC9s!K{6byGa*J7$?^WpUOon&}K zxtj4~9`wwfx*D_2>Uj%=t}DCui5HU_^lGGiLE!!xu3?pPj;RX|85XIV^!wF-MF5Cx zgLL|kn=|thPjyR+Fa8Tp2H=c8?0z_G}_+HFxpA@s^6HgPbJ^X*aT!u=#?ryOj%)aX5tl9 zb4sKdT93TGdYM!{kV0H<+Q*Gzlb;gB zmxhWvW@>ojS}j@3rju`}P=2~Mu19PMkz_=zD9gT=3c6SL_uAMpk#!@Y$q8#Jts$Hw z&VLeXMH@wOJP>`aT$V{sN$B+8?rr6aK>g_CAlz5Dji&wEQEEs z)YS<(lFr@?o}x==xrbpl>{cnN6YB!2B(=kE7LABW)vtSbiuzQIq?-DOL>GS>+qq#8 zq&8Wm%H_@WmZy4jzl?jy4DI}3c|15)1FxPOCH(2YUY4eeU0w`mac~)_6{6}^Jl)Wr z?InQEUIkhGOM)FzVg6AidHtsEMjWzDsohTAvl|He@)`R#pLJxT)Mo}9-q2qCg*uWv z6v8D7NE;NJ0olF00*}ucakLbd?3&un(+e9P;)2fIM1(lZ(yAo3#GNifv=Je9ST~ou z6%Lt4L@1sjrxeBYy=3RSba*;2L7%a?q5YaI_Je4570CY4mRDgMb{ldhvo$vB3DiD?1p`Y zFG?{VRV&vs@F$>zxNeF#5fpsrt%f_TDIO->=rOUV+rVeo#3c~i{-J|L%Fo?_!QsZy zpkqU!m`nf-A=&#czXYGqdVI50-#>;=V>Y$BE^qN%(rrIR&Vo)Dd}j_Zz?g27U#0wp z6O#V!JMxlD%xqjw7uyii>Q zywq6khLFdbYr~1b0pXpk1bO?mNPb0Lt+gZw7L7z3y+=8K_nJxStj)q>?hse0HUY+U zG=h!TMvvYI);_kezqnIk^r`-X_G*Gnh0S&b+iJ;DP_5a_rPpp&E;pgkcnGLgXbsO~G;iqt;4hLnZK`j^bSf)8 z=2=!y`?LKIsdx+~+PaZ{`Qr+7PV)Y-<9xS7r`77tl|rvRSR?@Y%#zS2wmtPN6&TW< zA&;T;DM_f-fL#BJCs;hLUc9I8CxRFjT7KIu{ZB@UrKv^J+m(#3QAu~EPCxX9eq8-JZWbfyh?u%BlUQ^GJu+j z(>s(QiuN2ZA_>f2!BH^xdj5LnBxnSxrBr&m#dzh=O$7wYn8{_Yz=3kHO%$K`=Y*Y zlSQ8|d?dw(fS#FRnKZr{5(-6y+|SxOx7svCD=TWgB?#)8v1Wgi-Ug)``E#}|N>4dx z^gNDf<4h80eg4X#&(XJqH30wHzbzh5A4@a2kZrsaXn(7bdQFyhy@BGfnPT{Mca;6@ zEgAtmTiEAM#57*TQ5IL@fB0Tv6-U&z2-pYzB&F{N;aq_{^;-{$R{Th@?20|GfZ{Qg z5~rgnFWvWP42DFqGK<4Nnk7~HRa_x2>q>slk|2!9gJSmDBdY60V#DJ)rBK)qb{vzM zHAtKbf$%ncjTq$XN1G@Ow+LNCyNo#YBN?o}s`WVu1krb|yYE-_-5;@4lK+jiqR&#> zg0T`5>h{`{lISf!T*C<>Z1j8yg05Qrd3dIRw_)|X-_oQ|SE|)kLwAgMle(eXVeH6g z2b7_85bl^0kvkR8{$l$tBdiIs0RzpuRwu;D`C`qb7H+BKvS(B)&*2c!fPJB;x{uz! zIY{NdpG=VJrCJYR7PGsiXe@sDS>vg-d9BYe&d1lt+;4jd8hcGP)}t5OUb2ya2nC5! z=Oy7E;$j-EOkax8EAF}h{&F0_D}l78DW?&gc-l8(kx(fGWo0KNkem5`^-V;9aTyPNcU1H;sQP1V(T2kPSJm*1w{``R_I=^cD zbr7kdtBRdaEE8NWo#8Nk80+uX8OG~V6i%}eNA@nlXHPL46bX@5>U1=nDc-v?odA`L z3It?5)P6K{xFLs`st0RsXJ*sqBGu-9yEYf9y$G~g`1Q2TKM8|+2)G$_Y!}tNp|6UN zhO!`V&Fx8cvTcLuYe+ZBxETDCWX!6laJ9aF^#{xP;qF&#Wt!Y&)?@Y-oKO2Mvp8uP0Xw1(hu#N6G?p!&%J>1!B#l{YKz;qhD2d(~?U3j+H z6)x{T31s|=hNTW)2+gjl=B#BOdz_0xx%@Tpyg&}OyUqytIZd@2IS83n1@YrZv3xUK z4D9RxVcT-TzW0?`v(WRT*0z{BGiAG|I-t#K+Sh8L1}4P|6hJiID(c473%w#LBIY+m zr|T}6RGdeB=JtUQXX(>P^4$hvHNC(7+OpVUBSfa|hJy0anA~^S7h9m2AE80; zDwPhcjXL^KD*toYu514eq1F_kcFzKD+fJ?CxH`Ct9$YbO{8UN)3?qfAfwTV~@lD=v z25adwqR(Xl9aCaxP|G1m1O8muv{Jd_G23!(AB&a8lRxAKK9Ioo=kv2qCjn|2DdW+^ z^FK~WRIn?{fmWD0I@vmD^vjsFMPqFK7|<7Me<9N~|}iLMomGfuG4?s^lfKbTI)n!<;P#s5fG z$ns5m_Qlfa=#sp$&r)9bcp!XW8dJR#FH$81v-rGCh46qn0hj1cA)w$4T0ekll_=M> zcvIx-p2AVl@*Kf-?fWrmE&u0u&xg1I@2DpBP;%Bzk6$^1D>s-B4x_12?YzS-vAz7| zfmUcS#lvYfGusCVw#KW`#eXT}CKB6~k+J?S5_=o4G`%gYgj0-{XG#t!@rT{8YVbu8 z*w1DM%>S_1sQZ(b2ETe7c8F6#;>NtL2`a88raLuyUu zWCPp9c?J!K&@gtKavJKifzv2DX9$Nqxc|WLZTHkSmiSr^-(PYO0`3lG(N6f;ofyzp zXdQg8-r=W0>zKdT6RgVQHqT5k06=^A$J)@CJ#eK~zbUVVrF7Za6X@+&5?JE^Yln|j z*C%v3iJmXtK_tQQa!Zw~onbjkkt(Z(=Dq3GA5+4$=P~Ac>MU@A@JI$H%u{aL9Z0;s z9c!2}B^)b1&>SGvF?5JBzjVd&e66V4dHvYNr-W3S4?XIX@)AZ*zd% z!;XN+yCCfep)X|6{A=m#EEwuV05*EdK=djw(k zop8Am)^MZF(dj3)5^51&PLG37gyLuB#t!61AEw!$Mt7}16 zvNS0wO~vQ2L~bzjT*Q<^wU^ ziQ0vzTKj-xrrX~0OYY}sK~%;{KOUPWFCLVzZV(&&;Y)R&t9QwJ6;Ij+`!#^(z`t>O zeNI5_2{~N|qQ@_0Sapii%sR~!u_k;SAcMI9+195kZ%-KprOLF9n~E&Q3EAt9PcLM|7h0zVmx z=CcKY-CE$9{$?I+GRcRFX06mjdHfZvJ3VfEt`&4l`f1%xyL)4lOl{i$fZ7%QlmwnR6E zd)?S@dh;*&BxxO2`u(h;-NJaV<$-MdU^}+K@D5bjK>PqYTI;y0d;sz26y@Eeb%7Y5CUu##0ZlyKU#DBTJ{x zvnjVo?Id)r&8{nKV?|uY4`g0ohUMxtaBDv+$mzef>{@CzJcLV?dPDI@XV&!pwCs4m z1eSG$C{Pxj3SL7V94r+a3g}2U1)FoE|hKRQOAQZptWjQdMopX^eBNo00&U`au)@ne9gStR}I#O7Hjx;o1HP zVRHLT+*r`U^~KEgM&VJ#v()#GnBu{N^ud00y469jHb1=X&sogp^?p94>So$vr3 zu79YMuQkH8+{a%wD_2`aVTHnWHf>=6f1J{C^cpFj{c`c2Y3FgqeQC;)@fQ`P77a$( zcJSB=KAU;FoilH-}uL_^^*jhw zVQbE+|2)_->{>%XF+L|SqBB3`=UbVs4q~dFTr)g!uP@``T(J8Mwe(YK2yi$|&z{{m zxVIO#+?$!P`X$7@M;`Q}5~=r0-v_2y!G{gm;XLgPsytlEzVa*3WBYCgl5dy|5@lT` zRp$~0{0Cu2K@%1(xC=e$<_VGRO(B{CHHLq+=zk6H=2&1tmyckrt`p?OUp)M^dX+h} zIqWhII*|i(Hp!ov--LkarL&l>#%jpm<*F{N#e>y-dvUgD!rjVD(I`9q<|+@0IbyXB z%s8CZM&c65M`vtc$U#7K?XPZA>R(pdUP3Hz3brA|3O%22%(ux+TLKt-XBQR=DK|cw zrxIxlUWlrvE`ME50=Li46HP1JZJ5cHm9IQ_-{A1d4APl-EAJzA-W*n~aa~oE1nxdt zN?Fk@2F~6vTZ_;e4xbm`o^V8_n--^RI(MdioFxrORX3yH}1FQirhNB$1uO zGd30~xn7f{y_yUI_>zQ4j!ofkdM~ zi#{6$zA)r|E99zlpB9FJNd&|*o#Y;ol_O+jJ@-lOKUF>djOASgrkn}6e2z-mg3hFP zh(c@N9N>)kn~gVx#K`2(N$-D`ojn1Cd+)KFer;%wC_+1Qp}IjWrII-Hhu^l$Tp2B7 zcm`Z#onhB@X=7IV|G;dnJ_4|5O*N`!S(5^QEN0?cY|!zrz?Qjp=wy47w#E(CJBJQl z|4t`|Cuja<5~d3;1s)+BED51+kC%iH;2(od0jWoKLetba7Z)2m6xP8F7MQo0bXvI9 zi0wWrdeA&eYu`M^9LKFd9Kg;4oFja}HQGlFk;&Mv$UhD#F{o84#B@6zi(W?Z4(+tnYxGhq$vhj2&jZjO z{Tm!z!4ZU3)K(HZW5nZPip+DZ4}Kc9>X4L9^|tISN{!f<4_)3E_4jyR{{sDT{+mvf z@UL<#iG-IpU>buntUH79SNuozB)DiZso*rE{ACwZ+iz8ZGPxfd-ibM$mt*dyzv;wX-}z^~S5M?imE@1y8EjssI@h-l(CgE5kWsLrRKaB~e*?>Lyw1bLXq zYaweG_PWF%2U4~7vgvK6hcSPZ;C5zZDec@o?HAMh-P^H+caPl}V=Tbvl^Ij`kUxDH z?-{cXrvc#*Am3CU>_Cb)3peL{U6bW^5OTEcRZrV?-?Ap8xxxM9X~f?DMm!EWXOo;* zR?}}yja^|x80Ml)c9Se zH)N@?=JX!>Rm%D+GQQFhCcV_WN($e8H`)+uvLP20PI)bYD|btbc6i?4$9Atp6mKUX z(?{|I=uy^Cb9eCF3)^!sJ8d$y3U7EMm0{gQbg9x2JMZp%Bs$%(ne=nGr*MM|BgVlI z;^=4`&2dUO_33+VhHEw?s+Udo@AhK%%dU(Urq{_?hgK&;CR6p+^EAsxhoda$9Z{;9 z4dG>Ee!3tp1`8!G6X2h$1RfKrvMTZ91gc>6MtnaD#O>8px&BExqu#0^=HJZj9=;;X zX+b|2em{xT+3ZZ|4m@A&hl9z*L)ZA$&4QMgq!BW zR{WSC_Vt+C|DYn0Dxj0z@P4nBp8MUCfN5d#{-gkJpM4H%Gz;Jv3$3jpe9WsoB!@zb z7jYA^b7)DJGfAV$>D2xmsVliV>gN>lLp|>d%~vxuket(OJh1hL!XgF{li1D1`SjaY zKBjf;*`&$aw21a(5_brqmZspN#vZ$V?)z(}jcanSE5rJ2NJlK`Piy41%5>T(_4;Qy0$7j>ZA zRaDXWS?&NrTE~QBu+k|7QU1r&c*w=!$Ct{*GSEnh&}4JM_COdSRv6M?6vALDS?1cwPPBr}s}2H!B#yhwkFD}At|y`VxCm{auszs)24JQY zp;xhIcgCj*2e+TPj=*~55RUPe5+r6r5vi^@`tq&DtItkti=wzrDvZ%3comO2GW+Ke zcz=?Q;o_(+Qnm}25fkz*BP20X68V}L`hWqpPmbu9UeVQgNVOCV;qe?Hv{cy-9EOYm z`_JOxCuqiB#aQTIN@<>i%2#h%;_xj*hiG z6DwH|NY}LxMy5UvDN zDO)?t)WmSwGuGEOe2v*>2(Z}NFf1M%!8j&AR_w@~69%FCd1R!U-~dMiNfYw^)D8^7QXuzgBCBlhyO=PvK z=b(V}I%ESiXO@*5cMWwT2trm7`$CUh^go>(U}R6rb>E>fjUo-rWN8(_lb1-1B8X{N zt|b1X=f|eqY;wY^z!WiMZ@5%kTtQ{qPvc&!#vyoX`PkA) zfh9FPRV|A_L_$K6(QZ5B(MiQ_^$n5sw=5!c_X#ZDlX{ei{NzTI3j7 zL|1<2;W7C9x5@6e?Oww!GEnHyG$|z^Gb}`JD;xkEpl*Jy3lF>9y(r3vnI#RBJGkO+ zgX~UVy8}%PAo(wr4p%Nx|CE%^=^bSgbe^0tVU7Feue`D3(L)iW@@5a6X_*Kc|qr{pv5?P|m+aUbS2t48%dCX(HdvYHhI$?lm|*BR~|Iun2g znBTw}$qh=6Esyn>zZm@C&Wk4JxAL{&!(^NWaEhdXoqIA0|3?K$=QDWGkYN5a;JCeyVlL&g-7!8-h}=x#xn!3T`0pF6y@sCa|M+HN zVzRyVAau_Wc4oP^;prV%DxZzKyi)o^O7NegH-Rr^MW?NuH^=YRK^V?_QP&r7c|{K- zc>*-#2JJy?_rr6pdg$SVoSfKiyv?{CbY(F=@In$yVWPDbWqC-C1;k{wY-JGc!nbyyac+uhu zRyw|l*oGi_=fFKJG`n>Y|6Z2ADR#Oh2iUF@BqAT*Fp-U}s8l005i83Dc^-;}pn2cA z8oC{X4Jqkgu(7j!+tsi-rR{0OVhT-Y7t$LPb&4^D;}b}(U%!8$1~xc6&mKvu^`cTJ zoY5c771Kb()8&!G8Ef5DmQ2>)zbj+lrj{Lyt0#_WTu7Eo=Ioo-Rj}FLG@tU990-gS zXU)f-AU`YsJfJudkQBpbi@uJO)#(Vta16R8E ziC&D#fMQ}Kx@Q+~(e@e#f#A@;os@)`{vzD)#6w1T{{DgUKv}hoCYa#d5FcOi*5UYU zPiSFi9h_zAD@j)@-6(DTW_Z(bZScToDvOs9GK|CQ^N8(Ch2&M(N{ac1K)#XWl3t?+ zeuh-ldtY!Q!_ttie%plp!R*9dK%!MLw1Z`%BS71;EsyGy8|MgG=Xe}}BY>mLWdkB5 z^7#V-+*ABOt68-SCT%f`62aZnzW`o40dzp%0|HqwC8LV@X3@4T{}yWP_Q|(w;hTMu z2}(fJKmWzJpk2Oq=TAlk2}b$4U!fLdV%fYm#rDXO7BuCL zjDV-hjiu=9Hs_061iS-oZHyZ!;_b--?PD!JISucFN6IQ zY4ei2;yvcAXW;t#`hE-VPOmli3NGR9k|py0P-5v@F%%J?EUynOPKi7H{&jB@8~d4? zsal_jSFdLmYQ%)?q2N;Alp|)I^$RSFHcLFqX=pQP*ag3BmvO%~QRwDNGMd2Ni?pF7 zxpK|u`I6u5NFGJN>lw$j01Z$i5=I$++8wQ&iE;ns(MKEZ7}u|@U%G{s z&8RXsYL5&)=ahj*G&T7i%kd3h_v*A;0zTOL2^BEba~P3Q7RG8mspdcMw^QjCAK!2| zk-RJlskC@vc=cXGhad`Z^2is~D%P}xwji?2Pj_|&C~?{HSU5o{WHqNo4oD)ft&%Cg z#&ApcC!VBViMm~4*p;9`iItN^HH85)=$7qDTP6ip4AEp}_pXHf0Sl}sOExp-sFpe9hu_7SR;i$mwQBPQCg!%d8TZ7ztsWFkgT-y;BAuC zso=}fW<7_f#lB~e8s#V;g#$t{$wM95`90eE804DJ%H6mD4yaoGGaWhxsiI@T)tG3nBIkn!!p55Jmec0y>=E~g88z!Z)=6yupPH!l)u0E z!?r*J?-R~oF$f-We5TJ?5E%TgY-dK!g8}0mleAla<_zM!Ka>W~=LT%%K-keQRW7kzz4Qk=Ne6+oU~W#ig?n?h z3Ql7VMY;1NCi^n*u-n^(7i7er+EyVNQ|3gaY1BqO3VAuK_u^x{_tK)IG+i}0_68^x zEqirXa0QDHm)PiTR)95qs@mDyGHf{f(DS-Vlr$Jv!^)d|x z_uO^>S7A;I#_B31_@vkr01eF2)^i@`a$z>hF&oS)G*uv03Tc~)n%cF)!b72ndf~+7 zC?#8bU-4?ipN(_5o1j_&MN6bzy2A4}HC)MB2KF&<$32cCj9(yu5O?MgwTv$kRi(W` z>xS2Al7Wcxha7gXR;mU?yG+gXgf@G4<^6t!EF6F-o6s3l!PWF_fi zMlKoJ_>nQbO+=sM6zH}ht}th#fUInjGhpNrtARCHewea(+Kb*5tIXVDAZtwQsgeqW zX85cAZ4({q+Wy&SwSZ1eILu{v(MH5AS&AC?7I#3*ebYSeZ-qxhf08#ExjRbJPK#ZLiE|pDvRa8lAmAm2 zu2@u5G$u24=BD&kkk}b*we_& z#$ZSyF{>n4HF&X{D|d5iZrqugRtv(`r;quK-l3GlpJ=7zAsnq;XWdVzpA(}O?6D#_ zgYD{IHFN_z-#aC@TE;RpmQbZOSt{I2pAn#3TG6;7%>9=Fexq)~vdiUq#;~kkNm2Tr zK~~Pxa7DV0(L>eP`{Wt!@4LQN*!;$HOg9@}0~E=KM1|Cfj$3HihfT9XeSMmalWm!| z>57|Rf;eRC{R@GA_s$1lWP30{L*@h&E9vA5!c!PmYd_r`36uQv!`_vtN^e z7-fO7t5W$C^w(tUQe5R3Kl8!9a~Bkxx~5UcR3~cPGb}aAhH2Fz=aXSkBOp`6i?KQl zPY|bW{0a8_VjwEiA1J4`s&yH1C1ed_IaIKwB{SI^8IeUBPiWV>J|bAd*Nh&^MBHa!m>QhB*f>dKtw{vznvl=nO|JL!Y z520Sx@H)nrU%#?H32BHeor2x7wZ@a#d$@MC(z3F1 zjqH2~c<=JguKQ;`YQN@|7PJ<}v}B9@G`x4SyU!_e19 zLb6lC))Sm@L?Pu-nR(AnQP>Q)RMZE7=Z{3lUv6$Q%o10V^re@HDw@tw`X!x$&8I^E zhb2urozq*GxHvor$pdljLauY#$JA=(EQCu4{i{Ov&&(--U!J~p@iTp3QpCtFDjW!&0k5DkmDoI7fBP8cTK zHL{a3E(4?vPb`u+zfvU*qvf7~E>G-XyW_cK%45e+O@<`tRzq^2lv z$>6~IRyLUhT(0eN*FxCk$aTk@S+m-b4#HRGZzo@;^T42<^U6|N@sBQ zs^;@2(ZtpgK^HeexaTMNa21-LuN=GRdxADn8duavi$R%o7OMA%OM2n)ukp``Pi{^W zF=V3L@L8lAH=3XgD-b<@6guu(N*{6!J&9{{l}Br!;NM+{PeBf}%BDHjdvy4O^;@&d zeDOP!r=wr65t0V%&xttD&+PuV@*qKl7_0GLh*`7J=xa(yga1e5Q0QAP^gofqGE0X| z0061({}(yb`G)CV!1#vge+}?UR1}d0BU1)13?tGNbEiTqgw7)Zi=$DCXedTI0e;U6 z0g@4aBOH+BP~`?f<(4-1<&YVSh@vP!lC4tjK&%SVC?ZdR~c`hFU9s*1{DWueGx{YF*PpVXEJ{3pm<*n)wN6Om?FH%u~0(sn6Hp;M9h)WnN# z?XAI072;uXXU~2!0EEZ?X_N&bkd1_mI0*dxe6VSVpJGR{N_5A!a@fT*YgXg;Pa8!( z7$!oxuF0NTIGE=jf8XW6hLv+MQrlx7EmyQ&Ha#SbHPnGRm}^Oss~=&(Pm)PnKF#)1 z+)Gdl;6EXpLVFFUFOz(8;fuhFTOBClx*`@K13JcI-Xd3CtrY}uc0jAsHQi2aK8YI3 z>^})px9~wRR1JrDwQ=Yg$`AAbtX83|dY(*6zOWPQ+J1#bwl!$ZpfmwYem?qjkk(g*fM0@qF3oedxWGq!J>0|1}bp4C?m z1EI!D0@dJ;YyW%$|J%KS`{>W!(Vblb>U0OM)fEPyWt-l$_kIViD`Efk_5lwFvIk-L z0iP7vKwkfl;;oD7^C};rwa#|4zUB+hmhUiuqa@zz{tJ>O>f)S$MegvUI@CzSQus7D06p9 zU)l=T-#1xCYeO%4=_(=RdVM>>4Yd5HKA#1*p_`)qK7lFQwc(>X%96CRe1m$;#ETn4 zz>k2>(^U@3@?ker!5tSL56o7`s(OiTT?1p5&v`dg@ltSER-$NS(%ub^eqHwr_vwDj{?Pe7*1(sfU)u zB4^zW4a#`*mZ~uKkywg}T_(HYt7&P!Cn&8?sco*iH^j(z_SNj<_nOsPUdn9^4sQi~ zf`;}W&%<sVD-haN3pbVHPK3ZF+s` zG5iLH`3L7QTnSNe4@k}yeZdL%+;ZAQ^(S=`aj#_OYEz3b2qEA6Z-o+8x3su@;+gx+Y(c^k5PN`45U3IC2(108OznFxd{AdFI5aa?olx8~ zIpL(m6L21Dz}^*I^QIGYKGV%QJ>;yZ4OD3e!t9u9 zMxb@|^$3iS@7K5$anX*nRLwcXDq!rr^^%_pIDL!|REAf0nOUrM{Z;0H%MoHhT6d(E zZ0#2e?FS5Ny5Q+saT2s%q*yEXI<+>*!si+^J;KMe(x#dcL}yCE#H7|EfbeDk?%Ho~ zfbDMglD?k{pcvv$EIp& zRkDamB%0~=w(i>Ri*fIj`2vhgOrTXoZ~7v6m7U_s`h-YUgIn$(!`UMS-VfTr6)rix z8QCo}yLLV*u3K#U16E*$5p&~+Sg9&kPuT%#EqB;p`&U||W#IuI5O5A{ceEc%SRw7q z#nVP5mHJT3oL7db@DNTnA-N;ik|F z=N8z4$Fa;M(A@59EN_}(wyPYwFk74^z9%j&FoTlrwkxg}Ho)3k#53WV+LWVLT7x1x zV082;*CyC1Wa-&3_0+}&Zq?-3%Si>!A~9qFp~w8#|L3e9NaVtjd=f~`V*@_me4!QC z<0ss2G0n!yWwg)LZ#}ZjjjPiXf^CHy%LK|`34%p~fP&Lw03v~-Liw#)fZf>u zTr9s&tz12Yl)T^g?l$LYVhzc~O{!$69*g=s#N-t`zNMe#YVwd;AVOD+x^sRGsW_1m zznJj-9c4&ITncU(D(lmeuJ1!;jfd{&E+_sv@u?PhWtEB6YE)yd0<+5+i6{=E#sWwB z5*S?{f0ilK$ieu^r*qh1s#oqu{J9b1q{1+xMmP?!Wn^;Dj$lFR!)P=NMA2DF=BaeL z0ILQX`rR_}Wq;3S>4TcUmGMyD|Kik!Yi;xK$^I4CYSv`uT}#_O^6@fZ|4=@* zL5ag@Rw|Dih6l!sWECa}AQj%-r-CJ>Dkzfs5MhloBjyYy2oZxoCFg!A*|3HwX2ALx zO@k<6Tr`f|BSKrWb7;2F;0~R<=KiHLN*`8}G@vI~R~r^rPytTFEzITmusKtDzT3~V zMr!c$2InQsZ7bf?tHCAbt~dspOx5p1Kw9lPe+WWZscHPD%X|F49Ul>%s0p}2#bjlH z*WUu#V2dw5`acd39Ed@8R4O@=M||hSLJu(rMrA!8QYxZCH}C<&Z>modRQU6o`J%9HEcPP8_F7 ze|ASe%%p9m*b5L2^pn!0v5-q>M_en~L}DkmCE@rV{m^!cqNGW-iZ)_qpp^gP{bWG&u ziP>GE#0Slhj3<#;uDD{-dy@3!N7u2*uU%q-`Dk@WNaB(EW?!Hlz%U*@P)nY8Sj7hQ zBZF;}WrNqvrHMBFa0;xWk})21*I!|wnL>7SWE&jRU8xGpfrOc?e2SyUziQ^MjdP$m zY@pC=`?Z4tp?o`=_xpqpq&1b+CWG>kx@M2A<1*5WE11yz<1l;@wVO04uYoP%H51Qep5UXQ!&=c4lS0YsEz*4f zz4J+d|CjNxzI?qsR4j0K8QLI$TFSUCTM}d+G?=u!TprS=-|Yjsd48S!vy!=+KT4wt ztn$?@3rkf=)Z`q3U5g}~o^RKWPkeptpqQFpea7heaAZhX@|Vd$>$Y{Zf9peNTac7h zrSuuqdm?q+VKRSkwLpL{ zK4ob(+lNn1!2O}j;%Awv1#8cSEVDszgAqp+5^;|ynQD50|GLHBDb4Z|A{wdmYDdQQU-_FrA z$lAnKRQ?O?Iz&u7zkoy#*0a#k8fv8hynP%yBmff&zz0#}AZ)cJTGkEbK48Z(80LnD z*R06}0|r!{4U0ZltTLeYy?T1ffYBoYNImb+Hio#GzdAe)R(UysFMU0-9c`8g3(=&- z(Y643Ts;Z#0U7c68}7F+oSIS@uAf28u{~R|W9vHTP*UOv(DDix02t4gzZ$UilQJf_ zduR2(IbkRS3B~v*E-OPAGeV^2z=}J4BZxE%M9J9M>6?eEmu3p8N4T>1e&fKFPo*Al zS2)x?uI5nv2`1+-T!y0QKt|EPX>ESH$J!ehipMS(Vu%zXI)rF!YJWI}7yX08esgzn z&CMb!5%U*7`0x;jQMn}&Lxe(}sdzX#IVv2peRMbPvp4AxOxxjI@i7@Vcero`x7=?) zMuto|TzfV3RWJ}T{D`(`MJvK#cP+9@gBi1m8_jrQTX{_;C@;7${s;xNzaQs;!kSOi zu(aMr9J2g9uF}es$B^<7;4_8RaUscG+}yZ1(Y{AY@nWw26#kK=szy>!m?{BzOBMHe z_mdS*J#rtjgldtA^8#4pAGt4sfX;ev?e|QBFX48^&}`1S@o*Q+d?=Z&c|4hw;eT?i z+nccq^>|b&E~l&gA9EeEsy1JnTNKR3tIeQ$SATK6z>UHe4!)JqmyAa{hG4?)v*I*t zNJlpjb-xYw!}?I%IGQR^y765M14S@_o<}uCZu1@tTmvyL8wE5$Dr^xlHzPuw%U}jK zU(0RU!i&9%a4qbfqu=ZEiX|*aim$`gl{eQ^FRJiPB_ly}BXxaAi*0*kYm`xGkG4*; zx%girdnKa|hKm2v_2(b^1XS3h}QA-R3W{DQ+lGZjd|L)v{Dcx|7FBLuoi9 z4MVj#)~i9}i*T1BB@%Z1r0xF*bufMFnf@o#p#gje1pr{D{u}D()P~el)xZ#_wm^~1 zBT5#_mx#7ZwurJ0w~H9s)H%m7t);b!q9c`oipU9wuokW*p~A0~m>sCllATByh=~{g zaDX8PD{*;VrvKG2+YChharuNlKGFG<>2yW?^|ICDgss8}u<3xfet5(*IO#2_IWT7DaL2_I08}whn8oUt> z8xRWknb3vshmkdP+bYv}H)FyQk?g_QC?E!G6Y>Nqh=6m6dw$rGz7od)8AVi!cnA2n z%9UGe;_vr)#7x~qO+skJ4&DdHrng9DMx%rGcb&b1Bale!h@0=ZZtq-41&vvyxo-8v zNsfHMS|?8mu2sB6<0GAjDTcu|*J$~D2SXXbuET9${%8quwMeX!?qiVU&1`@UdQ8^# z$uf{tY39b`O2e0Hetj7IMziJ+&b@=$=WiwvGhM?~hGT9mMXGr+J{ElArWQ0~?nyq& zCmwwlx~s`_jUzmXG^(U1z*AW+s<j|Slr zT*IqjEj7QvrHQ61k&@OO9!Q@eIzQ%wTb(C0hMi@Rz6li`%+{Rhl_`dx`e;v~poGOY z?Z)3qgz5IvdSEI_)L`{7N+L=NShEvwxZg@nP1QCFoxF`A656Xh_&bR3MQ*f8tr6pP zj?-dE+=RmaZ473LnlKTFU~jr8}WbLdFT z?k>Vw_k$>LASu8lB!71nF^;fHYK+T9Z_ZVFM^?=mheo$jg8$$v$(rQIRceLyQ5YgM z@8^AzIl9YQbZy-knZPWV&4~gzsukk z-LqXTf@28<=Y=~_P$qdG zg0j4kjqVO$#+3_g6KEDrw?`9-XE|r07Ns1c;a_xoj)RH-$)XWQM* z7H!>QcXy5W;&1u8W(%;}Jbw&VROsBgHrs6teS2!ukn^Siw^1f^K?{PMi!{?cs;bHD zZBo?ko9Kbb!6WJQH%x;1j-a`FOp@6O1*+16qg^fJSNz{OcN{P<1Tsi2IPU*G=yMQhLm=FVER5jqB_|`=vl7ejMuKh5Sdxi!mxNLkrJkm`3 z5~=yrX{qCHoAu(FZ8iwnUCsi%-w?%PM_HM_vupT%pTY^a=ka5`IlRcwY&g@O3D}KP zc9&q)KBhQe92A3tR&dt~A@Bjsn$GOs)n!BH%t)4c3|dpVi(4 zMybq1^l90+<+h%2&)iFRGz^S9*~umLm$r(r^1^@PjVCi0(xr>Zr6l=zYS6uE(xszh zAdu-Q02M^*JKtC3zPmEHtzx3j%XTzKQtieQ%{&&hvQ8QIZqCPZ)>KC?QBY2jK|KyhCVuK}oyG>XG2jfc4${`A*wBD*;sTfF%j^>?g(E$cLj2 zVI#zfg_K7BRe70%V%0>utyWrE^jfEsoze27=IG&ASTd~KEZRC$_}AI4zrwYK*8TlE zp&qnOoW&u2V&2RDh#qPrVD()}WyOny)Twyiy6*pe@EvkU7+><)59>VFR5!&ZfQUp^ zg?Q9ZNN2Spa)Nv?t1%O;|JtDitAl}^#0ef!NIhqYed(BGdU-xMmwWNv0Ivk0Z^y=+ z(J>a{DpVxNw1GhKG}sq`<5};{&R06_3zkI~i3hilk8vTu6&Dv@?#lP!9FEnk_?-;aj&daIbN6B5N|N(T^-H zKlw;Sp-D1LtSKSZY_+4-BffI4eV!bt&z0-Dz*P39k6l{Ghn;nl7`Cw{Yu5>^W0o&8 zLAeMif>oRRTCZh=9f?qlDcYykGV#*U(~0M4Wrx%&KPDi+lzk03(rd-f5N^#gq+Q^n zp*o9c34|4OKkclwVJi5n&L9z7)Z2W4R*RoWT9=9z=j68pxB6G{>yaB#n$6gQ@V~9u z?|1qsbv?$IzDFQY4^Eu>oi4nWop%foVu_<|biBC%bLRYpBY5Q?0uJaz0$*)5jq^%c zl|@lGzOWu5ck%RO7*{8nXz56N(-ULy^{Ai`4_j_aj-X(B7f*ZLnk8=iyqWa-wZTvv zq6RYjg}L1HjfoU1S7GHQ&e`YLMPQWhH88&|cgyXq6YZrsuMWmb5grVuelm`;LWNp- z`F@bg`Swz;grdmE8KBw3mHtvwcVKzKdn&J-a!5}R~x&_it` zW(ABw+VbweTLqj;dc4Y=&x9L*ni3PiNN$pL0S2E0lsf!=svzhk3p9VsPW?$TV8nD; zH)%HTUleO7yQ`V$h)i76JR)x(tT1qHqxMN1l}SoC`+=CSR8!>jFY%kK;Y%u?t6%jS z)PvMabSGn=SssSP(#azA-x3rl=Af*5y1&{c#+Mj=a-~s! zlfBcBE2sEsWShHCE~zcKto^QUEOt{TPJ84aVv#8I-P|rv3?wBohM-8aWzW2^6B(l4 zs5bz+nk%Dok!XWggr5*anxOLYGhy^e$C=B-a#o~yNv34^p-(h}fJa?vh#J4f=Z><= zn$&lSrptP2dt8vwB!j0;GPyLeU&Adj{NPySJ^ywKsOx_@^sxNwHe?O4UHxWrs}Pyy z)_Zo3{nXr$8#F7?4N)$nSd$XA{)7iUmcpoO4RwpqNHJn!307Bu4yduTReK#L)*+~A zPN5Y~-6i`)PkjR!=I0@fvkpO`e7Kbm4jhQ9+aYpf99m;K4J5S6gUA5rUHw(Y9pRx~jFNKG z^IRP(9X=ck^i`&I@9H3}_0tP6;iQQ0q-PhpEiYk_Wl1BqK~30*shiXxlrm9=3Cg?++WuM$Ft21wU2Dm?7{|`5S z=vz1NhsQkt0I~UBH=t78T~W;x?d#GT5k5&A3Q5dyMu|m*L{=K!X%sKfQAWI8 zahQWuc=C^>BJ-Stv6nVSL@mDwYMl5lQH(Fc2Ig5C92Ku^1PX8{AmVQ3)XQc2Qzc!r zH>>N++Z6wiYx0$=PsP>|8&k5&nm_(kYF|X#Vht)%r~;5SMC`rXkdinay(yT<_JZ}C zZuQgN+@9N*nq8Q#89VUzS2RfO)9_56BcXY1#VfYW(r7VMMe9ha`qA{Q_U&wK?=fBw z7=Bnfi?Ek3WJw=~pH;61Qp!+3iymxW?^bIxkfQnlPqrO(#PRZLc>87vd)%WXz`P%y zALQoFO))kT1|cx(;z21E4(OnUSCb#@D9*Do8)8vZiTsB7{-eGJX4Pd}3swh4_~I>3 z9BH9}oJisvf|&(-pacy`W60m?kw%t?ApiP_%s_l70?nnMc2^>FGmx;WH>&q0P+qaK zewIU4(iI8C+Qw6V1_VKr&-Pr6RREB@MiMw;65i}l5_E`(*Q7)1eu#!A*q~zuj5C21 zlA8DLH_!oe;P^Ws4;YVf+!@kE$~1uz?WA?DJ8|C$Pxag2^LPg4behA&e5p_BfX0Z1 z2Bsf5aXbe8BqJ=d+*yvXdp#t~2sIer_N2vipM`IIDhmez#t6_Jcgmbxp*!lw!mzoH}S!N#)yQOJI>f_O~4D&&b zp<%ZOL%-=n!!O^y>dMC{fRzon)#_ja4w$aVX&F%5k?QVNgpr3EmWE*ME0;hBES?OwytEtaJ#RJ4No(jye2J$oLNQJs z8=DrElcRTbcGd(i3nqe9_w8bhD){J7%a%$2#Ht4&Ot=Car|)Xc56y=v6hHNreW8PF z#a$pK@#ncRG&fky;_^oQL9ZFB@*y6JCZ-$NwwMNRGj55|rpGJO}Z0}qk zdUzKP4jaPuCt0e$$(<)e9XmW+2c}l?<`gz2y)j|IF%eT~%IvSf7}GxNL@{E}(Eg+S z-~xo&uH35qI(x(i@4@_&ehz_s=Y9?W;+CagRR+qDf`R$Hh#6ns2N#k ziD0N12Smt@({*?E5|*6Y6wi-?y`N%a(;L!F-MP-`&X5S0;)`m0%cTLerKSy6E+TL5 zLkGeI(hBB>NJNie-EZs;&L^a+%g@Cldwei)uzeU<2Ilr)iz@7`ZwgEF%#STZz4w*@ z*jBISAVa9hGV&Nw$gp8O$Tf_l>q6hHmInB=7{MAuAPX@kDuJ_gfVU`D!sm0?Kx9^7 ztgf!+p5CHI(wH3WQ}@!+GEzkqHyAcb0R1?Jdq>w$01OPq;J461WRQMuKbdCybO^YWg17&3`T1(+Ws{^f0jZnXVFGc`tQR7rBBFx0qN-iC; zEF*S(#H$l8-GUnSHRYTgkFR*63O&x&g#%kRk2aEz2~Eae|Cp>=j6`WUg_wKcU6Qrz zcrNh8Izi|2^-j6HT%4;41RPUCgyD-JZRK2oH*EtwS zQR41VOcT#lqo~<*1hAI9z)_bQ|83@&zv9{p8yhFEB#yRVFYJl@Sg~f1F&ebQV!4z% z@t)Gx^m#ew5kGszbB$t=IkaKHc+~JeEp*@B-UZ#2d_!{Qg@W_}Z#;wQ+7Zw~4Q?)o zhP*sI4Jg=Gy}rJIY@Fsoa!CRme^#-qtW$!0Sg=ue0m#b5<-zU)QR&Mb(ZSLQqB#u}BBO2f^{7BSw-qync|GHTZq&nHD?^^yE}Zk~$Oi%j=OdjKF-Yuq z^aSnwAxkX$tZPQPbC&j3iY=QEUkh9X0j9;E^7JJX}O+bLDD@15uWUs+iGI-ba2EOjVu?0Tmc>^KoKOT9l6kjxK3* zUOcW%r_yuf>pY30&A@R=Xj+E~?&L^_S1eOBYHR^iZ)B8!!t$aYyeS^^p_;Fq0xZn} zf25-dx8M)I1E!xI3=|gGb24h+jJuJ+Et$t^&p6ofB-nEe=8M5~nfwnOf|ON1_JJ&4 zqgsU|oq`bZEZp$OHVS_i)I8Hffh^@yk>ga#EMycB4&SvDR!V$V!oTNFD4T*^b#=$s zv-|J*5i)q@|1gVK-+HY7F^k)-{LcUYIKqF;Vzip~4|P*C!KcorhkPb+Fl2P}Zwgz% zo_~WGV71JOOTSL&I4#T3`vL6mB%tv|d8%HcO9Ot-GF`%dtGa=3FClrgC8fBQetjrz z#6ff1(+8c`BrMa9HdmfkPE$@eAcY z90U0iqt^ZN3=X9vtVKPD z$V85x5AK~-Lhtd$t%Z(Z#9D4Jhz?GPUpTHRXL$d3s_=y`jB1x+Jq-*p^PJnIoFgB( zXhjf*Q1bHsn`Bwnf2M6n-3e1_q#mzEN zRwvxVjV+b*(JR`{!;a~UnVUr&ppe6b(XupXylw3(<1C2&m zbex?XB{&i7;ou{Ck{4Yr{C0K>f7W`Cj@dt#HcQ!hq7t3y5$R`_wk&PnQc_S19L~-v zp)awoDb}tU1U%id$1Z+0BN%He>62W|APasoTuM-3i=$YuK?TQ$Me%Lz9g6EVhEK+% z>o$lSs#`N18sQC57Ue`&2EMKv;g3NEK)VY5+`Xo0^SqpUlnuX-8Yl%z7Nm9d&@k`M z9{~9Tp=>b6ENNk`bGj{t8B~Ska`sP=vy#%^EYQI^_3sQm5d1K8+h594R8fJQA|<|I zy(UKPY-lb<}~$M;zG0j>X!GLO=x`}W^Jwctj) z3%n+jIXa}e<@e?1telP`{C^SfBDMZMYI&2Lf30cFBu2@0&#OP6*y0#-9SD%EA6EQPeNkn`5 zwL?O6m3o**37DnQrWrI4I~?vPqovO!DV&Ji+zCxwNYMl?gQo8=(|D}B0`ZlaQs`53 z9X#s#Da_?|hJM|p8ZN2+lzC0UdN4tX*LI!wl-rIKU(qDgVYpjMoq$NuPz>vyU)Z~N zm7t?x=#Nf!`C;jAxHCmd0YO}u`EFh%Wz|S2Xg{MVHbhR8F0GbFQZEjd$ZW33(8!;E z_ZL~IAT)0nq|cH2Z=wnhI{}gjK0e@Ej6*qv|R}kMuP-$y0MoBP62~bH3phq>J<{40V z_n%|ZRsnUdAZcr0w8G#pXrR0rATgsLF=L=2hF}ytAW3uIT0rJDp!5O)n-Wyb^Sgd1 zHdzRC5|G4MK-m=_Yc)M1CpPc>x+m;*rwr?H?qkW|Wmzl~+`Qk#Yd4p8z?V zd_t06Utc+SML^R(Y+OPfUjFqB&9ASovI=TI=ORGO6QKS>N6+->>A9+=9vqbz91#~D z1s4$&pPZVdp|Qon+5uGX=l3=08Jh3x?m@t!@9yrOo}QuOkb*Hw0}75o1%85&bALBa zMo#tq{^5tB#`Vn&79Kgs-xW{=M=&zZZxyJJ9?-J}oPYrm799nX2vGS5DrE`Erv+&E z1Y?s2R6hefDnXTggV6}tJGe&2CIBsyK?QYzzjD5t2Xw0di5LVr<^#%az{t2PtbZjY zrvVMZK>}LA2$=zu4}kog?;8S!Nlwot+TPI}9uW&DzXs%Pfh7J@QP*8uTwYpUF)+3S zBV+>9y#Wdj09jlA>4K_zK;b?hXQPvhsQkMtQ=OINRRC}%C8J~ImPi2Iv+tYsyozP@hJ|F_^=^1t#|%m2zN|4&@~e?t5J6TZIO|5tp(w)juM z4e;Mxc|Z_bHz2w}vy}b!a|iif^KA?Ok)SZcQ0H(#U<&p3Pl!wpO^MYPQk2pJ8^A#nV(t<}@bLt4h;?fLbEwdPhD0t~_(A~Yx@SW-$tg1P2aR$_R- zBY0p?mV!)%f}FJmx}cz_P&QW^%vBrnyR|m z(){Yu0w)^>J1bMeNVAMgQ=^WHluVnfD^Pc}aK@HqWo~VWkz3efmn_blLV@|4LaJhv r!8(lx{&ed^{!?j``#|Ue4i4b1&wX1)@Pp+)ub{NJyjYcpLBRh9O@VDh literal 0 HcmV?d00001 diff --git a/app/dist/spa/icons/favicon-128x128.png b/app/dist/spa/icons/favicon-128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..14011761929f4ffbef81be318a347c0032eb6f42 GIT binary patch literal 12324 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 h$J#u>{O`^5_dichiarazione fiscale + +
\ No newline at end of file diff --git a/app/docs/.DS_Store b/app/docs/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..58971f74aba6d22d84f4260926e1a0c652b64cc2 GIT binary patch literal 6148 zcmeHKO>fgc5S>i}aa17%38WrZ;u^J~K}8i8H01uW|t0{$T|c zQHQ38oR9(5R9%by_V?&yUQK-8-;+s^SM^|Up;{a5J9j%lC)f<$Mjy>Qs^fZAjpFHR zuALZDBr7{kUgg<*+R}`2m`l{0p1@plri+!IJ8>_3i|{A@-@;5Y`!3J zj`kROY#gEmqFgG_r7Hi#P%a&Q?c+j^jYF4C%0E7oA6fYqin61le{I7_g$|_@284mD z3~ab+kI(-Xe}4a8O_G{0APoFh45;>DbU4D4{MouTIX-JO^c|Fi;~IyTDKP9&j95O3 cx1d(w*K7bokBvikAaW6~G)N%~{8I*g0*sbu-v9sr literal 0 HcmV?d00001 diff --git a/app/docs/Manuale_Utente.md b/app/docs/Manuale_Utente.md new file mode 100644 index 0000000..80af0da --- /dev/null +++ b/app/docs/Manuale_Utente.md @@ -0,0 +1,72 @@ +# Manuale utente (BRUNO – Frontend) + +## Panoramica +Questa applicazione guida l’utente nella compilazione di un questionario a step (passi). Ogni step raccoglie dati e, dove previsto, permette di allegare documenti. + +## Navigazione +- Nel menu laterale sinistro trovi la lista degli step. +- In alto a destra (negli step che lo prevedono) trovi i pulsanti **Indietro** / **Avanti** per muoverti nel flusso. +- Alcuni step non hanno ancora una schermata dedicata: in quel caso viene mostrato un contenuto “placeholder”. + +## Validazione dei campi +- I campi obbligatori vengono validati tramite il pulsante **Avanti**. +- Se un campo è obbligatorio e mancante, viene mostrato un messaggio di errore. + +## Allegati (componenti “CommentAttachment”) +In alcune sezioni puoi inserire: +- un campo **Commenti** +- una lista di **Allegati** + +Funzionalità disponibili: +- Selezione file tramite pulsante (picker). +- Upload con **barra di progresso**. +- Possibilità di **annullare** l’upload in corso. +- Lista degli allegati già caricati. +- Eliminazione di un allegato con **conferma**. + +Formati file ammessi: +- `.pdf`, `.docx`, `.txt`, `.md` + +Nota: gli allegati vengono associati a una “sessione” (lo step/contesto in cui stai caricando) e a un identificativo utente interno. + +## Step disponibili + +### 1) Benvenuto +- Mostra un’introduzione e consente di proseguire allo step successivo. + +### 2) Dati contribuente e dichiarazione precedente +- Toggle: **Preparata da noi?** +- Sezione **Dichiarazione precedente** (allegati + commenti) quando disponibile. +- Dati anagrafici del contribuente: + - Nome, Cognome, Data di nascita + - Indirizzo (tramite editor indirizzo) + +### 3) Stato civile +- Selezione stato civile. +- Campi relativi al coniuge/partner quando applicabili. +- Gestione indirizzo del coniuge/partner tramite editor indirizzo. + +### 4) Figli +- Toggle: **Hai figli?** +- Gestione lista figli (massimo 5): + - Aggiunta/modifica tramite finestra (dialog) + - Eliminazione dalla lista +- Dati figlio: + - Nome, Cognome, Data di nascita + - Toggle **Stesso nucleo familiare** + - Se NON nello stesso nucleo: possibilità di indicare alimenti e inserire un indirizzo dedicato + - Campo **Scuola** + - Toggle **Spese di cura**: se attivo, si sblocca la sezione allegati/commenti per le spese di cura +- Pulsante rapido (icona) per **copiare il cognome** dal contribuente nel dialog del figlio. +- Se raggiungi 5 figli, compare una nota testuale per indicare “più di cinque figli”. + +## Salvataggio dati +I dati inseriti vengono mantenuti localmente (persistenza) per evitare perdite durante la compilazione. + +## Risoluzione problemi +- **Non riesco a caricare allegati**: verifica che il server di upload sia attivo e raggiungibile (es. ambiente locale). Se l’upload resta bloccato, annulla e riprova. +- **Messaggi di validazione**: completa i campi richiesti e riprova con **Avanti**. + +--- + +Se vuoi, posso anche generare una versione “stampabile” (più sintetica, 1–2 pagine) oppure una versione “operatore” con esempi di documenti da allegare per ogni step. diff --git a/app/docs/Manuale_Utente.pdf b/app/docs/Manuale_Utente.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bc6e2baf5df2fbdeb5dfbfe05d60edbf9729173b GIT binary patch literal 165850 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 literal 0 HcmV?d00001 diff --git a/app/docs/reports/2026-01-11.md b/app/docs/reports/2026-01-11.md new file mode 100644 index 0000000..cbfcc9d --- /dev/null +++ b/app/docs/reports/2026-01-11.md @@ -0,0 +1,43 @@ +# Report — 2026-01-11 + +Breve riepilogo delle modifiche svolte ieri: + +- Dati e lookup + - Importato dataset CAP Svizzera in `src/data/countryCodes.ts` e esposti helper: `findPostalCodes`, `findPostalCodeDetails`, `ALL_CH_POSTAL_CODES`. + +- Componenti e UX indirizzi + - Ripristinato e rifattorizzato `src/components/AddressModal.vue` (SFC pulita). + - Aggiunta prop `allowForeign?: boolean` (default true); quando `allowForeign === false` il toggle `foreign` è nascosto e forzato a `false`. + - ZIP input sanitizzato (solo cifre, maxlength 4); con 4 cifre per CAP CH la città viene autocompletata. + - `ChildrenStep` ora salva oggetti `address?: Address | null` (non più la stringa composta); `formatAddressForString` usato solo per rendering. + - `TaxpayerStep` e `MaritalStep` integrati con `AddressModal` (in `TaxpayerStep` `:allowForeign="false"`). + +- Store e tipi + - `src/types/schema.ts`: estesi `MaritalData` con `spousePreviousDivorces` e `spouseAlimentiVersati`. + - `src/stores/taxstore.ts`: aggiornato `defaultMarital` per includere i nuovi campi a `false`. + - `src/stores/children.ts`: persistenza aggiornata per `alimentiVersati` (se applicabile). + +- UI e layout + - Spostati i pulsanti `Prev`/`Next` sulla stessa riga del titolo in tutti gli step (`src/components/steps/*`): titolo in `div.col`, bottoni in `div.col-auto` dentro `div.row`. + - Aggiunti `q-separator` dopo i titoli. + - In `ChildrenStep` spostato anche il layout del modal (titolo + bottoni coerenti). + +- Campi e regole specifiche + - `ChildrenStep` modal: aggiunta toggle `alimentiVersati` (visibile solo se `sameHousehold === false`), e messaggio di validazione `validation.insertAddress` se manca l'indirizzo. + - `MaritalStep`: sostituiti campi `spouse.address/zip/city` con `AddressModal`; aggiunti toggle `spouse.previousDivorces` e `spouse.alimentiVersati` e persistenza nel payload. + +- i18n + - Aggiunte traduzioni: `enum.maritalStatus.SEPARATED`, `marital.previousDivorces`, `marital.spouse.previousDivorces`, e `validation.insertAddress` in `it-IT`, `en-US`, `de-DE`, `fr-FR`. + +- Pulizia e correzioni + - Risolti errori TypeScript/ESLint derivanti da SFC corrotta; rimossi helper inutilizzati e sistemati cast e tipi. + - Linter e `vue-tsc` eseguiti più volte; stato attuale: lint e type-check OK (solo avviso deprecazione `.eslintignore`). + +Note e prossimi passi suggeriti + +- Valutare se persistere l'`Address` strutturato anche per il `Taxpayer` (ora usa campi piatti `address/zip/city`). +- Commit e review dei cambi (ci sono molte modifiche locali non ancora committate?). +- QA manuale in browser per verificare: modal indirizzo, autocompletamento CAP CH, visualizzazione dei messaggi di validazione e comportamento dei toggle `allowForeign`. + +--- +Generato automaticamente dal worklog in repo. Se vuoi, aggiorno anche il `CHANGELOG.md` o aggiungo il report in un formato diverso. diff --git a/app/eslint.config.js b/app/eslint.config.js new file mode 100644 index 0000000..8515d73 --- /dev/null +++ b/app/eslint.config.js @@ -0,0 +1,83 @@ +import js from '@eslint/js'; +import globals from 'globals'; +import pluginVue from 'eslint-plugin-vue'; +import pluginQuasar from '@quasar/app-vite/eslint'; +import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript'; +import prettierSkipFormatting from '@vue/eslint-config-prettier/skip-formatting'; + +export default defineConfigWithVueTs( + { + /** + * Ignore the following files. + * Please note that pluginQuasar.configs.recommended() already ignores + * the "node_modules" folder for you (and all other Quasar project + * relevant folders and files). + * + * ESLint requires "ignores" key to be the only one in this object + */ + // ignores: [] + }, + + pluginQuasar.configs.recommended(), + js.configs.recommended, + + /** + * https://eslint.vuejs.org + * + * pluginVue.configs.base + * -> Settings and rules to enable correct ESLint parsing. + * pluginVue.configs[ 'flat/essential'] + * -> base, plus rules to prevent errors or unintended behavior. + * pluginVue.configs["flat/strongly-recommended"] + * -> Above, plus rules to considerably improve code readability and/or dev experience. + * pluginVue.configs["flat/recommended"] + * -> Above, plus rules to enforce subjective community defaults to ensure consistency. + */ + pluginVue.configs['flat/essential'], + + { + files: ['**/*.ts', '**/*.vue'], + rules: { + '@typescript-eslint/consistent-type-imports': ['error', { prefer: 'type-imports' }], + }, + }, + // https://github.com/vuejs/eslint-config-typescript + vueTsConfigs.recommendedTypeChecked, + + { + languageOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + + globals: { + ...globals.browser, + ...globals.node, // SSR, Electron, config files + process: 'readonly', // process.env.* + ga: 'readonly', // Google Analytics + cordova: 'readonly', + Capacitor: 'readonly', + chrome: 'readonly', // BEX related + browser: 'readonly', // BEX related + }, + }, + + // add your custom rules here + rules: { + 'prefer-promise-reject-errors': 'off', + + // allow debugger during development only + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + }, + }, + + { + files: ['src-pwa/custom-service-worker.ts'], + languageOptions: { + globals: { + ...globals.serviceworker, + }, + }, + }, + + prettierSkipFormatting, +); diff --git a/app/index.html b/app/index.html new file mode 100644 index 0000000..3086f04 --- /dev/null +++ b/app/index.html @@ -0,0 +1,24 @@ + + + + <%= productName %> + + + + + + + + + + + + + + + + + diff --git a/app/package.json b/app/package.json new file mode 100644 index 0000000..5d1a319 --- /dev/null +++ b/app/package.json @@ -0,0 +1,49 @@ +{ + "name": "app", + "version": "0.0.1", + "description": "Dichiarazione fiscale automatizzata", + "productName": "dichiarazione fiscale", + "author": "Fabio Prada ", + "type": "module", + "private": true, + "scripts": { + "lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"", + "format": "prettier --write \"**/*.{js,ts,vue,scss,html,md,json}\" --ignore-path .gitignore", + "test": "echo \"No test specified\" && exit 0", + "dev": "quasar dev", + "build": "quasar build", + "tsc": "vue-tsc --noEmit", + "docs:pdf": "pnpm -s dlx md-to-pdf ./docs/Manuale_Utente.md --launch-options '{\"executablePath\":\"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome\"}'", + "postinstall": "quasar prepare" + }, + "dependencies": { + "vue-i18n": "^11.0.0", + "pinia": "^3.0.1", + "@quasar/extras": "^1.16.4", + "quasar": "^2.16.0", + "vue": "^3.5.22", + "vue-router": "^4.0.12" + }, + "devDependencies": { + "@eslint/js": "^9.14.0", + "eslint": "^9.14.0", + "eslint-plugin-vue": "^10.4.0", + "globals": "^16.4.0", + "vue-tsc": "^3.0.7", + "@vue/eslint-config-typescript": "^14.4.0", + "vite-plugin-checker": "^0.11.0", + "vue-eslint-parser": "^10.2.0", + "@vue/eslint-config-prettier": "^10.1.0", + "prettier": "^3.3.3", + "@types/node": "^20.5.9", + "@intlify/unplugin-vue-i18n": "^4.0.0", + "@quasar/app-vite": "^2.1.0", + "autoprefixer": "^10.4.2", + "typescript": "^5.9.2" + }, + "engines": { + "node": "^28 || ^26 || ^24 || ^22 || ^20", + "npm": ">= 6.13.4", + "yarn": ">= 1.21.1" + } +} diff --git a/app/pnpm-lock.yaml b/app/pnpm-lock.yaml new file mode 100644 index 0000000..2466665 --- /dev/null +++ b/app/pnpm-lock.yaml @@ -0,0 +1,5520 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@quasar/extras': + specifier: ^1.16.4 + version: 1.17.0 + pinia: + specifier: ^3.0.1 + version: 3.0.4(typescript@5.9.3)(vue@3.5.26(typescript@5.9.3)) + quasar: + specifier: ^2.16.0 + version: 2.18.6 + vue: + specifier: ^3.5.22 + version: 3.5.26(typescript@5.9.3) + vue-i18n: + specifier: ^11.0.0 + version: 11.2.8(vue@3.5.26(typescript@5.9.3)) + vue-router: + specifier: ^4.0.12 + version: 4.6.4(vue@3.5.26(typescript@5.9.3)) + devDependencies: + '@eslint/js': + specifier: ^9.14.0 + version: 9.39.2 + '@intlify/unplugin-vue-i18n': + specifier: ^4.0.0 + version: 4.0.0(rollup@4.55.1)(vue-i18n@11.2.8(vue@3.5.26(typescript@5.9.3))) + '@quasar/app-vite': + specifier: ^2.1.0 + version: 2.4.0(@types/node@20.19.27)(eslint@9.39.2)(pinia@3.0.4(typescript@5.9.3)(vue@3.5.26(typescript@5.9.3)))(quasar@2.18.6)(rollup@4.55.1)(sass@1.97.2)(terser@5.44.1)(typescript@5.9.3)(vue-router@4.6.4(vue@3.5.26(typescript@5.9.3)))(vue@3.5.26(typescript@5.9.3))(yaml@2.8.2) + '@types/node': + specifier: ^20.5.9 + version: 20.19.27 + '@vue/eslint-config-prettier': + specifier: ^10.1.0 + version: 10.2.0(eslint@9.39.2)(prettier@3.7.4) + '@vue/eslint-config-typescript': + specifier: ^14.4.0 + version: 14.6.0(eslint-plugin-vue@10.6.2(@typescript-eslint/parser@8.52.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(vue-eslint-parser@10.2.0(eslint@9.39.2)))(eslint@9.39.2)(typescript@5.9.3) + autoprefixer: + specifier: ^10.4.2 + version: 10.4.23(postcss@8.5.6) + eslint: + specifier: ^9.14.0 + version: 9.39.2 + eslint-plugin-vue: + specifier: ^10.4.0 + version: 10.6.2(@typescript-eslint/parser@8.52.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(vue-eslint-parser@10.2.0(eslint@9.39.2)) + globals: + specifier: ^16.4.0 + version: 16.5.0 + prettier: + specifier: ^3.3.3 + version: 3.7.4 + typescript: + specifier: ^5.9.2 + version: 5.9.3 + vite-plugin-checker: + specifier: ^0.11.0 + version: 0.11.0(eslint@9.39.2)(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.1(@types/node@20.19.27)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue-tsc@3.2.2(typescript@5.9.3)) + vue-eslint-parser: + specifier: ^10.2.0 + version: 10.2.0(eslint@9.39.2) + vue-tsc: + specifier: ^3.0.7 + version: 3.2.2(typescript@5.9.3) + +packages: + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} + engines: {node: '>=6.9.0'} + + '@bufbuild/protobuf@2.10.2': + resolution: {integrity: sha512-uFsRXwIGyu+r6AMdz+XijIIZJYpoWeYzILt5yZ2d3mCjQrWUTVpVD9WL/jZAbvp+Ed04rOhrsk7FiTcEDseB5A==} + + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.27.2': + resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.27.2': + resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.27.2': + resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.27.2': + resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.27.2': + resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.27.2': + resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.27.2': + resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.2': + resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.27.2': + resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.27.2': + resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.27.2': + resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.27.2': + resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.27.2': + resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.27.2': + resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.27.2': + resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.27.2': + resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.27.2': + resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-arm64@0.27.2': + resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.27.2': + resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-arm64@0.27.2': + resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.27.2': + resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/openharmony-arm64@0.27.2': + resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.27.2': + resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.27.2': + resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.27.2': + resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.27.2': + resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.21.1': + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.3': + resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.39.2': + resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@inquirer/external-editor@1.0.3': + resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/figures@1.0.15': + resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} + engines: {node: '>=18'} + + '@intlify/bundle-utils@8.0.0': + resolution: {integrity: sha512-1B++zykRnMwQ+20SpsZI1JCnV/YJt9Oq7AGlEurzkWJOFtFAVqaGc/oV36PBRYeiKnTbY9VYfjBimr2Vt42wLQ==} + engines: {node: '>= 14.16'} + peerDependencies: + petite-vue-i18n: '*' + vue-i18n: '*' + peerDependenciesMeta: + petite-vue-i18n: + optional: true + vue-i18n: + optional: true + + '@intlify/core-base@11.2.8': + resolution: {integrity: sha512-nBq6Y1tVkjIUsLsdOjDSJj4AsjvD0UG3zsg9Fyc+OivwlA/oMHSKooUy9tpKj0HqZ+NWFifweHavdljlBLTwdA==} + engines: {node: '>= 16'} + + '@intlify/message-compiler@11.2.8': + resolution: {integrity: sha512-A5n33doOjmHsBtCN421386cG1tWp5rpOjOYPNsnpjIJbQ4POF0QY2ezhZR9kr0boKwaHjbOifvyQvHj2UTrDFQ==} + engines: {node: '>= 16'} + + '@intlify/message-compiler@9.14.5': + resolution: {integrity: sha512-IHzgEu61/YIpQV5Pc3aRWScDcnFKWvQA9kigcINcCBXN8mbW+vk9SK+lDxA6STzKQsVJxUPg9ACC52pKKo3SVQ==} + engines: {node: '>= 16'} + + '@intlify/shared@11.2.8': + resolution: {integrity: sha512-l6e4NZyUgv8VyXXH4DbuucFOBmxLF56C/mqh2tvApbzl2Hrhi1aTDcuv5TKdxzfHYmpO3UB0Cz04fgDT9vszfw==} + engines: {node: '>= 16'} + + '@intlify/shared@9.14.5': + resolution: {integrity: sha512-9gB+E53BYuAEMhbCAxVgG38EZrk59sxBtv3jSizNL2hEWlgjBjAw1AwpLHtNaeda12pe6W20OGEa0TwuMSRbyQ==} + engines: {node: '>= 16'} + + '@intlify/unplugin-vue-i18n@4.0.0': + resolution: {integrity: sha512-q2Mhqa/mLi0tulfLFO4fMXXvEbkSZpI5yGhNNsLTNJJ41icEGUuyDe+j5zRZIKSkOJRgX6YbCyibTDJdRsukmw==} + engines: {node: '>= 14.16'} + peerDependencies: + petite-vue-i18n: '*' + vue-i18n: '*' + vue-i18n-bridge: '*' + peerDependenciesMeta: + petite-vue-i18n: + optional: true + vue-i18n: + optional: true + vue-i18n-bridge: + optional: true + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + engines: {node: '>= 10.0.0'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.2.9': + resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@quasar/app-vite@2.4.0': + resolution: {integrity: sha512-nfdcfERQ1bdUFsgXfYexgUAGBrsRHuzlik5p58cKGpYXiwUZZN6mJhN8VxU/zGT0GYHHiNIZlb67N+R52NYd6Q==} + engines: {node: ^30 || ^28 || ^26 || ^24 || ^22 || ^20, npm: '>= 6.14.12', yarn: '>= 1.17.3'} + hasBin: true + peerDependencies: + '@electron/packager': '>= 18' + electron-builder: '>= 22' + eslint: '*' + pinia: ^2.0.0 || ^3.0.0 + quasar: ^2.16.0 + typescript: '>= 5.4' + vue: ^3.2.29 + vue-router: ^4.0.12 + workbox-build: '>= 6' + peerDependenciesMeta: + '@electron/packager': + optional: true + electron-builder: + optional: true + eslint: + optional: true + pinia: + optional: true + typescript: + optional: true + workbox-build: + optional: true + + '@quasar/extras@1.17.0': + resolution: {integrity: sha512-KqAHdSJfIDauiR1nJ8rqHWT0diqD0QradZKoVIZJAilHAvgwyPIY7MbyR2z4RIMkUIMUSqBZcbshMpEw+9A30w==} + + '@quasar/render-ssr-error@1.0.3': + resolution: {integrity: sha512-A8RF99q6/sOSe1Ighnh5syEIbliD3qUYEJd2HyfFyBPSMF+WYGXon5dmzg4nUoK662NgOggInevkDyBDJcZugg==} + engines: {node: '>= 16'} + + '@quasar/ssl-certificate@1.0.0': + resolution: {integrity: sha512-RhZF7rO76T7Ywer1/5lCe7xl3CIiXxSAH1xgwOj0wcHTityDxJqIN/5YIj6BxMvlFw8XkJDoB1udEQafoVFA4g==} + engines: {node: '>= 16'} + + '@quasar/vite-plugin@1.10.0': + resolution: {integrity: sha512-4PJoTclz4ZjAfyqe0+hlkKcFJt0e2NX3Ac3hy8ILqUPdtZ24nCo5/xEHvTxZGBQMKRPwwePbO8CVs4n9EKJEug==} + engines: {node: '>=20'} + peerDependencies: + '@vitejs/plugin-vue': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + quasar: ^2.16.0 + vite: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + vue: ^3.0.0 + + '@rolldown/pluginutils@1.0.0-beta.53': + resolution: {integrity: sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==} + + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.55.1': + resolution: {integrity: sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.55.1': + resolution: {integrity: sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.55.1': + resolution: {integrity: sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.55.1': + resolution: {integrity: sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.55.1': + resolution: {integrity: sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.55.1': + resolution: {integrity: sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.55.1': + resolution: {integrity: sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.55.1': + resolution: {integrity: sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.55.1': + resolution: {integrity: sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.55.1': + resolution: {integrity: sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loong64-gnu@4.55.1': + resolution: {integrity: sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-loong64-musl@4.55.1': + resolution: {integrity: sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.55.1': + resolution: {integrity: sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-ppc64-musl@4.55.1': + resolution: {integrity: sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.55.1': + resolution: {integrity: sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.55.1': + resolution: {integrity: sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.55.1': + resolution: {integrity: sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.55.1': + resolution: {integrity: sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.55.1': + resolution: {integrity: sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-openbsd-x64@4.55.1': + resolution: {integrity: sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.55.1': + resolution: {integrity: sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.55.1': + resolution: {integrity: sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.55.1': + resolution: {integrity: sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.55.1': + resolution: {integrity: sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.55.1': + resolution: {integrity: sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==} + cpu: [x64] + os: [win32] + + '@types/body-parser@1.19.6': + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} + + '@types/chrome@0.0.262': + resolution: {integrity: sha512-TOoj3dqSYE13PD2fRuMQ6X6pggEvL9rRk/yOYOyWE6sfqRWxsJm4VoVm+wr9pkr4Sht/M5t7FFL4vXato8d1gA==} + + '@types/compression@1.8.1': + resolution: {integrity: sha512-kCFuWS0ebDbmxs0AXYn6e2r2nrGAb5KwQhknjSPSPgJcGd8+HVSILlUyFhGqML2gk39HcG7D1ydW9/qpYkN00Q==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/cordova@11.0.3': + resolution: {integrity: sha512-kyuRQ40/NWQVhqGIHq78Ehu2Bf9Mlg0LhmSmis6ZFJK7z933FRfYi8tHe/k/0fB+PGfCf95rJC6TO7dopaFvAg==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/express-serve-static-core@4.19.7': + resolution: {integrity: sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==} + + '@types/express@4.17.25': + resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} + + '@types/filesystem@0.0.36': + resolution: {integrity: sha512-vPDXOZuannb9FZdxgHnqSwAG/jvdGM8Wq+6N4D/d80z+D4HWH+bItqsZaVRQykAn6WEVeEkLm2oQigyHtgb0RA==} + + '@types/filewriter@0.0.33': + resolution: {integrity: sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g==} + + '@types/har-format@1.2.16': + resolution: {integrity: sha512-fluxdy7ryD3MV6h8pTfTYpy/xQzCFC7m89nOH9y94cNqJ1mDIDPut7MnRHI3F6qRmh/cT2fUjG1MLdCNb4hE9A==} + + '@types/http-errors@2.0.5': + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/node-forge@1.3.14': + resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==} + + '@types/node@20.19.27': + resolution: {integrity: sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==} + + '@types/qs@6.14.0': + resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/send@0.17.6': + resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} + + '@types/send@1.2.1': + resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} + + '@types/serve-static@1.15.10': + resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} + + '@typescript-eslint/eslint-plugin@8.52.0': + resolution: {integrity: sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.52.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/parser@8.52.0': + resolution: {integrity: sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/project-service@8.52.0': + resolution: {integrity: sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/scope-manager@8.52.0': + resolution: {integrity: sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.52.0': + resolution: {integrity: sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/type-utils@8.52.0': + resolution: {integrity: sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/types@8.52.0': + resolution: {integrity: sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.52.0': + resolution: {integrity: sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/utils@8.52.0': + resolution: {integrity: sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/visitor-keys@8.52.0': + resolution: {integrity: sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@vitejs/plugin-vue@6.0.3': + resolution: {integrity: sha512-TlGPkLFLVOY3T7fZrwdvKpjprR3s4fxRln0ORDo1VQ7HHyxJwTlrjKU3kpVWTlaAjIEuCTokmjkZnr8Tpc925w==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + vue: ^3.2.25 + + '@volar/language-core@2.4.27': + resolution: {integrity: sha512-DjmjBWZ4tJKxfNC1F6HyYERNHPYS7L7OPFyCrestykNdUZMFYzI9WTyvwPcaNaHlrEUwESHYsfEw3isInncZxQ==} + + '@volar/source-map@2.4.27': + resolution: {integrity: sha512-ynlcBReMgOZj2i6po+qVswtDUeeBRCTgDurjMGShbm8WYZgJ0PA4RmtebBJ0BCYol1qPv3GQF6jK7C9qoVc7lg==} + + '@volar/typescript@2.4.27': + resolution: {integrity: sha512-eWaYCcl/uAPInSK2Lze6IqVWaBu/itVqR5InXcHXFyles4zO++Mglt3oxdgj75BDcv1Knr9Y93nowS8U3wqhxg==} + + '@vue/compiler-core@3.5.26': + resolution: {integrity: sha512-vXyI5GMfuoBCnv5ucIT7jhHKl55Y477yxP6fc4eUswjP8FG3FFVFd41eNDArR+Uk3QKn2Z85NavjaxLxOC19/w==} + + '@vue/compiler-dom@3.5.26': + resolution: {integrity: sha512-y1Tcd3eXs834QjswshSilCBnKGeQjQXB6PqFn/1nxcQw4pmG42G8lwz+FZPAZAby6gZeHSt/8LMPfZ4Rb+Bd/A==} + + '@vue/compiler-sfc@3.5.26': + resolution: {integrity: sha512-egp69qDTSEZcf4bGOSsprUr4xI73wfrY5oRs6GSgXFTiHrWj4Y3X5Ydtip9QMqiCMCPVwLglB9GBxXtTadJ3mA==} + + '@vue/compiler-ssr@3.5.26': + resolution: {integrity: sha512-lZT9/Y0nSIRUPVvapFJEVDbEXruZh2IYHMk2zTtEgJSlP5gVOqeWXH54xDKAaFS4rTnDeDBQUYDtxKyoW9FwDw==} + + '@vue/devtools-api@6.6.4': + resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + + '@vue/devtools-api@7.7.9': + resolution: {integrity: sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==} + + '@vue/devtools-kit@7.7.9': + resolution: {integrity: sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==} + + '@vue/devtools-shared@7.7.9': + resolution: {integrity: sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==} + + '@vue/eslint-config-prettier@10.2.0': + resolution: {integrity: sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw==} + peerDependencies: + eslint: '>= 8.21.0' + prettier: '>= 3.0.0' + + '@vue/eslint-config-typescript@14.6.0': + resolution: {integrity: sha512-UpiRY/7go4Yps4mYCjkvlIbVWmn9YvPGQDxTAlcKLphyaD77LjIu3plH4Y9zNT0GB4f3K5tMmhhtRhPOgrQ/bQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^9.10.0 + eslint-plugin-vue: ^9.28.0 || ^10.0.0 + typescript: '>=4.8.4' + peerDependenciesMeta: + typescript: + optional: true + + '@vue/language-core@3.2.2': + resolution: {integrity: sha512-5DAuhxsxBN9kbriklh3Q5AMaJhyOCNiQJvCskN9/30XOpdLiqZU9Q+WvjArP17ubdGEyZtBzlIeG5nIjEbNOrQ==} + + '@vue/reactivity@3.5.26': + resolution: {integrity: sha512-9EnYB1/DIiUYYnzlnUBgwU32NNvLp/nhxLXeWRhHUEeWNTn1ECxX8aGO7RTXeX6PPcxe3LLuNBFoJbV4QZ+CFQ==} + + '@vue/runtime-core@3.5.26': + resolution: {integrity: sha512-xJWM9KH1kd201w5DvMDOwDHYhrdPTrAatn56oB/LRG4plEQeZRQLw0Bpwih9KYoqmzaxF0OKSn6swzYi84e1/Q==} + + '@vue/runtime-dom@3.5.26': + resolution: {integrity: sha512-XLLd/+4sPC2ZkN/6+V4O4gjJu6kSDbHAChvsyWgm1oGbdSO3efvGYnm25yCjtFm/K7rrSDvSfPDgN1pHgS4VNQ==} + + '@vue/server-renderer@3.5.26': + resolution: {integrity: sha512-TYKLXmrwWKSodyVuO1WAubucd+1XlLg4set0YoV+Hu8Lo79mp/YMwWV5mC5FgtsDxX3qo1ONrxFaTP1OQgy1uA==} + peerDependencies: + vue: 3.5.26 + + '@vue/shared@3.5.26': + resolution: {integrity: sha512-7Z6/y3uFI5PRoKeorTOSXKcDj0MSasfNNltcslbFrPpcw6aXRUALq4IfJlaTRspiWIUOEZbrpM+iQGmCOiWe4A==} + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + alien-signals@3.1.2: + resolution: {integrity: sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + archiver-utils@5.0.2: + resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} + engines: {node: '>= 14'} + + archiver@7.0.1: + resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} + engines: {node: '>= 14'} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + + autoprefixer@10.4.23: + resolution: {integrity: sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + b4a@1.7.3: + resolution: {integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==} + peerDependencies: + react-native-b4a: '*' + peerDependenciesMeta: + react-native-b4a: + optional: true + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + bare-events@2.8.2: + resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==} + peerDependencies: + bare-abort-controller: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + baseline-browser-mapping@2.9.11: + resolution: {integrity: sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==} + hasBin: true + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + birpc@2.9.0: + resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + body-parser@1.20.4: + resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.28.1: + resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-builder@0.2.0: + resolution: {integrity: sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==} + + buffer-crc32@1.0.0: + resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} + engines: {node: '>=8.0.0'} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + caniuse-lite@1.0.30001762: + resolution: {integrity: sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chardet@2.1.1: + resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + ci-info@4.3.1: + resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} + engines: {node: '>=8'} + + clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colorjs.io@0.5.2: + resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + compress-commons@6.0.2: + resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} + engines: {node: '>= 14'} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.8.1: + resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} + engines: {node: '>= 0.8.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + cookie-signature@1.0.7: + resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} + + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} + + copy-anything@4.0.5: + resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==} + engines: {node: '>=18'} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + + crc32-stream@6.0.0: + resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} + engines: {node: '>= 14'} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + default-browser-id@5.0.1: + resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} + engines: {node: '>=18'} + + default-browser@5.4.0: + resolution: {integrity: sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==} + engines: {node: '>=18'} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dot-prop@9.0.0: + resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==} + engines: {node: '>=18'} + + dotenv-expand@11.0.7: + resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} + engines: {node: '>=12'} + + dotenv@16.6.1: + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} + engines: {node: '>=12'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.267: + resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} + + elementtree@0.1.7: + resolution: {integrity: sha512-wkgGT6kugeQk/P6VZ/f4T+4HB41BVgNBq5CDIZVbQ02nvTVqAiVTbskxxu3eA/X96lMlfYOwnLQpN2v5E1zDEg==} + engines: {node: '>= 0.4.0'} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + entities@7.0.0: + resolution: {integrity: sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==} + engines: {node: '>=0.12'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.27.2: + resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + eslint-config-prettier@10.1.8: + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-plugin-prettier@5.5.4: + resolution: {integrity: sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + + eslint-plugin-vue@10.6.2: + resolution: {integrity: sha512-nA5yUs/B1KmKzvC42fyD0+l9Yd+LtEpVhWRbXuDj0e+ZURcTtyRbMDWUeJmTAh2wC6jC83raS63anNM2YT3NPw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@stylistic/eslint-plugin': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + '@typescript-eslint/parser': ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 + vue-eslint-parser: ^10.0.0 + peerDependenciesMeta: + '@stylistic/eslint-plugin': + optional: true + '@typescript-eslint/parser': + optional: true + + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.39.2: + resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + events-universal@1.0.1: + resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + express@4.22.1: + resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + engines: {node: '>= 0.10.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.3.2: + resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} + engines: {node: '>= 0.8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fraction.js@5.3.4: + resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@11.3.3: + resolution: {integrity: sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==} + engines: {node: '>=14.14'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.5.0: + resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} + hasBin: true + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@16.5.0: + resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} + engines: {node: '>=18'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + + html-minifier-terser@7.2.0: + resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.7.1: + resolution: {integrity: sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==} + engines: {node: '>=0.10.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + + immutable@5.1.4: + resolution: {integrity: sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + inquirer@9.3.8: + resolution: {integrity: sha512-pFGGdaHrmRKMh4WoDDSowddgjT1Vkl90atobmTeSmcPGdYiwikch/m/Ef5wRaiamHejtw0cUUMMerzDUXCci2w==} + engines: {node: '>=18'} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-what@5.5.0: + resolution: {integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==} + engines: {node: '>=18'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isbinaryfile@5.0.7: + resolution: {integrity: sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==} + engines: {node: '>= 18.0.0'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-eslint-parser@2.4.2: + resolution: {integrity: sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + + mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + + node-forge@1.3.3: + resolution: {integrity: sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==} + engines: {node: '>= 6.13.0'} + + node-releases@2.0.27: + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.1.0: + resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} + engines: {node: '>= 0.8'} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + open@10.2.0: + resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} + engines: {node: '>=18'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-to-regexp@0.1.12: + resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + pinia@3.0.4: + resolution: {integrity: sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==} + peerDependencies: + typescript: '>=4.5.0' + vue: ^3.5.11 + peerDependenciesMeta: + typescript: + optional: true + + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + postcss-selector-parser@7.1.1: + resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-linter-helpers@1.0.1: + resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==} + engines: {node: '>=6.0.0'} + + prettier@3.7.4: + resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==} + engines: {node: '>=14'} + hasBin: true + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qs@6.14.1: + resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==} + engines: {node: '>=0.6'} + + quasar@2.18.6: + resolution: {integrity: sha512-ZlK+vJXOBPSFDCNQDBDNwSI+AHoqaFPxK8ve6mhsYLhMKWI5b8zsGY9VU1xYjngO2aBvU4fvGWXy4tTbzrBk8Q==} + engines: {node: '>= 10.18.1', npm: '>= 6.13.4', yarn: '>= 1.21.1'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.3: + resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} + engines: {node: '>= 0.8'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readable-stream@4.7.0: + resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rollup-plugin-visualizer@5.14.0: + resolution: {integrity: sha512-VlDXneTDaKsHIw8yzJAFWtrzguoJ/LnQ+lMpoVfYJ3jJF4Ihe5oYLAqLklIK/35lgUY+1yEzCkHyZ1j4A5w5fA==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + rolldown: 1.x + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rolldown: + optional: true + rollup: + optional: true + + rollup@4.55.1: + resolution: {integrity: sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-applescript@7.1.0: + resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} + engines: {node: '>=18'} + + run-async@3.0.0: + resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} + engines: {node: '>=0.12.0'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sass-embedded-all-unknown@1.97.2: + resolution: {integrity: sha512-Fj75+vOIDv1T/dGDwEpQ5hgjXxa2SmMeShPa8yrh2sUz1U44bbmY4YSWPCdg8wb7LnwiY21B2KRFM+HF42yO4g==} + cpu: ['!arm', '!arm64', '!riscv64', '!x64'] + + sass-embedded-android-arm64@1.97.2: + resolution: {integrity: sha512-pF6I+R5uThrscd3lo9B3DyNTPyGFsopycdx0tDAESN6s+dBbiRgNgE4Zlpv50GsLocj/lDLCZaabeTpL3ubhYA==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [android] + + sass-embedded-android-arm@1.97.2: + resolution: {integrity: sha512-BPT9m19ttY0QVHYYXRa6bmqmS3Fa2EHByNUEtSVcbm5PkIk1ntmYkG9fn5SJpIMbNmFDGwHx+pfcZMmkldhnRg==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [android] + + sass-embedded-android-riscv64@1.97.2: + resolution: {integrity: sha512-fprI8ZTJdz+STgARhg8zReI2QhhGIT9G8nS7H21kc3IkqPRzhfaemSxEtCqZyvDbXPcgYiDLV7AGIReHCuATog==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [android] + + sass-embedded-android-x64@1.97.2: + resolution: {integrity: sha512-RswwSjURZxupsukEmNt2t6RGvuvIw3IAD5sDq1Pc65JFvWFY3eHqCmH0lG0oXqMg6KJcF0eOxHOp2RfmIm2+4w==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [android] + + sass-embedded-darwin-arm64@1.97.2: + resolution: {integrity: sha512-xcsZNnU1XZh21RE/71OOwNqPVcGBU0qT9A4k4QirdA34+ts9cDIaR6W6lgHOBR/Bnnu6w6hXJR4Xth7oFrefPA==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [darwin] + + sass-embedded-darwin-x64@1.97.2: + resolution: {integrity: sha512-T/9DTMpychm6+H4slHCAsYJRJ6eM+9H9idKlBPliPrP4T8JdC2Cs+ZOsYqrObj6eOtAD0fGf+KgyNhnW3xVafA==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [darwin] + + sass-embedded-linux-arm64@1.97.2: + resolution: {integrity: sha512-Wh+nQaFer9tyE5xBPv5murSUZE/+kIcg8MyL5uqww6be9Iq+UmZpcJM7LUk+q8klQ9LfTmoDSNFA74uBqxD6IA==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [linux] + + sass-embedded-linux-arm@1.97.2: + resolution: {integrity: sha512-yDRe1yifGHl6kibkDlRIJ2ZzAU03KJ1AIvsAh4dsIDgK5jx83bxZLV1ZDUv7a8KK/iV/80LZnxnu/92zp99cXQ==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [linux] + + sass-embedded-linux-musl-arm64@1.97.2: + resolution: {integrity: sha512-NfUqZSjHwnHvpSa7nyNxbWfL5obDjNBqhHUYmqbHUcmqBpFfHIQsUPgXME9DKn1yBlBc3mWnzMxRoucdYTzd2Q==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [linux] + + sass-embedded-linux-musl-arm@1.97.2: + resolution: {integrity: sha512-GIO6xfAtahJAWItvsXZ3MD1HM6s8cKtV1/HL088aUpKJaw/2XjTCveiOO2AdgMpLNztmq9DZ1lx5X5JjqhS45g==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [linux] + + sass-embedded-linux-musl-riscv64@1.97.2: + resolution: {integrity: sha512-qtM4dJ5gLfvyTZ3QencfNbsTEShIWImSEpkThz+Y2nsCMbcMP7/jYOA03UWgPfEOKSehQQ7EIau7ncbFNoDNPQ==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [linux] + + sass-embedded-linux-musl-x64@1.97.2: + resolution: {integrity: sha512-ZAxYOdmexcnxGnzdsDjYmNe3jGj+XW3/pF/n7e7r8y+5c6D2CQRrCUdapLgaqPt1edOPQIlQEZF8q5j6ng21yw==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [linux] + + sass-embedded-linux-riscv64@1.97.2: + resolution: {integrity: sha512-reVwa9ZFEAOChXpDyNB3nNHHyAkPMD+FTctQKECqKiVJnIzv2EaFF6/t0wzyvPgBKeatA8jszAIeOkkOzbYVkQ==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [linux] + + sass-embedded-linux-x64@1.97.2: + resolution: {integrity: sha512-bvAdZQsX3jDBv6m4emaU2OMTpN0KndzTAMgJZZrKUgiC0qxBmBqbJG06Oj/lOCoXGCxAvUOheVYpezRTF+Feog==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [linux] + + sass-embedded-unknown-all@1.97.2: + resolution: {integrity: sha512-86tcYwohjPgSZtgeU9K4LikrKBJNf8ZW/vfsFbdzsRlvc73IykiqanufwQi5qIul0YHuu9lZtDWyWxM2dH/Rsg==} + os: ['!android', '!darwin', '!linux', '!win32'] + + sass-embedded-win32-arm64@1.97.2: + resolution: {integrity: sha512-Cv28q8qNjAjZfqfzTrQvKf4JjsZ6EOQ5FxyHUQQeNzm73R86nd/8ozDa1Vmn79Hq0kwM15OCM9epanDuTG1ksA==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [win32] + + sass-embedded-win32-x64@1.97.2: + resolution: {integrity: sha512-DVxLxkeDCGIYeyHLAvWW3yy9sy5Ruk5p472QWiyfyyG1G1ASAR8fgfIY5pT0vE6Rv+VAKVLwF3WTspUYu7S1/Q==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [win32] + + sass-embedded@1.97.2: + resolution: {integrity: sha512-lKJcskySwAtJ4QRirKrikrWMFa2niAuaGenY2ElHjd55IwHUiur5IdKu6R1hEmGYMs4Qm+6rlRW0RvuAkmcryg==} + engines: {node: '>=16.0.0'} + hasBin: true + + sass@1.97.2: + resolution: {integrity: sha512-y5LWb0IlbO4e97Zr7c3mlpabcbBtS+ieiZ9iwDooShpFKWXf62zz5pEPdwrLYm+Bxn1fnbwFGzHuCLSA9tBmrw==} + engines: {node: '>=14.0.0'} + hasBin: true + + sax@1.1.4: + resolution: {integrity: sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==} + + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + + send@0.19.2: + resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-static@1.16.3: + resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} + engines: {node: '>= 0.8.0'} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + + stack-trace@1.0.0-pre2: + resolution: {integrity: sha512-2ztBJRek8IVofG9DBJqdy2N5kulaacX30Nz7xmkYF6ale9WBVmIy6mFBchvGX7Vx/MyjBhx+Rcxqrj+dbOnQ6A==} + engines: {node: '>=16'} + + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + + streamx@2.23.0: + resolution: {integrity: sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + engines: {node: '>=12'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + superjson@2.2.6: + resolution: {integrity: sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==} + engines: {node: '>=16'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + sync-child-process@1.0.2: + resolution: {integrity: sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==} + engines: {node: '>=16.0.0'} + + sync-message-port@1.1.3: + resolution: {integrity: sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==} + engines: {node: '>=16.0.0'} + + synckit@0.11.11: + resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==} + engines: {node: ^14.18.0 || >=16.0.0} + + tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + + terser@5.44.1: + resolution: {integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==} + engines: {node: '>=10'} + hasBin: true + + text-decoder@1.2.3: + resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + ts-api-utils@2.4.0: + resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + ts-essentials@9.4.2: + resolution: {integrity: sha512-mB/cDhOvD7pg3YCLk2rOtejHjjdSi9in/IBYE13S+8WA5FBSraYf4V/ws55uvs0IvQ/l0wBOlXy5yBNZ9Bl8ZQ==} + peerDependencies: + typescript: '>=4.1.0' + peerDependenciesMeta: + typescript: + optional: true + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typescript-eslint@8.52.0: + resolution: {integrity: sha512-atlQQJ2YkO4pfTVQmQ+wvYQwexPDOIgo+RaVcD7gHgzy/IQA+XTyuxNM9M9TVXvttkF7koBHmcwisKdOAf2EcA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.6.2: + resolution: {integrity: sha512-heMioaxBcG9+Znsda5Q8sQbWnLJSl98AFDXTO80wELWEzX3hordXsTdxrIfMQoO9IY1MEnoGoPjpoKpMj+Yx0Q==} + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + unplugin@1.16.1: + resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} + engines: {node: '>=14.0.0'} + + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + varint@6.0.0: + resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vite-plugin-checker@0.11.0: + resolution: {integrity: sha512-iUdO9Pl9UIBRPAragwi3as/BXXTtRu4G12L3CMrjx+WVTd9g/MsqNakreib9M/2YRVkhZYiTEwdH2j4Dm0w7lw==} + engines: {node: '>=16.11'} + peerDependencies: + '@biomejs/biome': '>=1.7' + eslint: '>=7' + meow: ^13.2.0 + optionator: ^0.9.4 + oxlint: '>=1' + stylelint: '>=16' + typescript: '*' + vite: '>=5.4.20' + vls: '*' + vti: '*' + vue-tsc: ~2.2.10 || ^3.0.0 + peerDependenciesMeta: + '@biomejs/biome': + optional: true + eslint: + optional: true + meow: + optional: true + optionator: + optional: true + oxlint: + optional: true + stylelint: + optional: true + typescript: + optional: true + vls: + optional: true + vti: + optional: true + vue-tsc: + optional: true + + vite@7.3.1: + resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vscode-uri@3.1.0: + resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} + + vue-eslint-parser@10.2.0: + resolution: {integrity: sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + + vue-i18n@11.2.8: + resolution: {integrity: sha512-vJ123v/PXCZntd6Qj5Jumy7UBmIuE92VrtdX+AXr+1WzdBHojiBxnAxdfctUFL+/JIN+VQH4BhsfTtiGsvVObg==} + engines: {node: '>= 16'} + peerDependencies: + vue: ^3.0.0 + + vue-router@4.6.4: + resolution: {integrity: sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==} + peerDependencies: + vue: ^3.5.0 + + vue-tsc@3.2.2: + resolution: {integrity: sha512-r9YSia/VgGwmbbfC06hDdAatH634XJ9nVl6Zrnz1iK4ucp8Wu78kawplXnIDa3MSu1XdQQePTHLXYwPDWn+nyQ==} + hasBin: true + peerDependencies: + typescript: '>=5.0.0' + + vue@3.5.26: + resolution: {integrity: sha512-SJ/NTccVyAoNUJmkM9KUqPcYlY+u8OVL1X5EW9RIs3ch5H2uERxyyIUI4MRxVCSOiEcupX9xNGde1tL9ZKpimA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + webpack-merge@6.0.1: + resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} + engines: {node: '>=18.0.0'} + + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wsl-utils@0.1.0: + resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} + engines: {node: '>=18'} + + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yaml-eslint-parser@1.3.2: + resolution: {integrity: sha512-odxVsHAkZYYglR30aPYRY4nUGJnoJ2y1ww2HDvZALo0BDETv9kWbi16J52eHs+PWRNmF4ub6nZqfVOeesOvntg==} + engines: {node: ^14.17.0 || >=16.0.0} + + yaml@2.8.2: + resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} + engines: {node: '>= 14.6'} + hasBin: true + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yoctocolors-cjs@2.1.3: + resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} + engines: {node: '>=18'} + + zip-stream@6.0.1: + resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} + engines: {node: '>= 14'} + +snapshots: + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.28.5': {} + + '@babel/parser@7.28.5': + dependencies: + '@babel/types': 7.28.5 + + '@babel/types@7.28.5': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + + '@bufbuild/protobuf@2.10.2': {} + + '@esbuild/aix-ppc64@0.25.12': + optional: true + + '@esbuild/aix-ppc64@0.27.2': + optional: true + + '@esbuild/android-arm64@0.25.12': + optional: true + + '@esbuild/android-arm64@0.27.2': + optional: true + + '@esbuild/android-arm@0.25.12': + optional: true + + '@esbuild/android-arm@0.27.2': + optional: true + + '@esbuild/android-x64@0.25.12': + optional: true + + '@esbuild/android-x64@0.27.2': + optional: true + + '@esbuild/darwin-arm64@0.25.12': + optional: true + + '@esbuild/darwin-arm64@0.27.2': + optional: true + + '@esbuild/darwin-x64@0.25.12': + optional: true + + '@esbuild/darwin-x64@0.27.2': + optional: true + + '@esbuild/freebsd-arm64@0.25.12': + optional: true + + '@esbuild/freebsd-arm64@0.27.2': + optional: true + + '@esbuild/freebsd-x64@0.25.12': + optional: true + + '@esbuild/freebsd-x64@0.27.2': + optional: true + + '@esbuild/linux-arm64@0.25.12': + optional: true + + '@esbuild/linux-arm64@0.27.2': + optional: true + + '@esbuild/linux-arm@0.25.12': + optional: true + + '@esbuild/linux-arm@0.27.2': + optional: true + + '@esbuild/linux-ia32@0.25.12': + optional: true + + '@esbuild/linux-ia32@0.27.2': + optional: true + + '@esbuild/linux-loong64@0.25.12': + optional: true + + '@esbuild/linux-loong64@0.27.2': + optional: true + + '@esbuild/linux-mips64el@0.25.12': + optional: true + + '@esbuild/linux-mips64el@0.27.2': + optional: true + + '@esbuild/linux-ppc64@0.25.12': + optional: true + + '@esbuild/linux-ppc64@0.27.2': + optional: true + + '@esbuild/linux-riscv64@0.25.12': + optional: true + + '@esbuild/linux-riscv64@0.27.2': + optional: true + + '@esbuild/linux-s390x@0.25.12': + optional: true + + '@esbuild/linux-s390x@0.27.2': + optional: true + + '@esbuild/linux-x64@0.25.12': + optional: true + + '@esbuild/linux-x64@0.27.2': + optional: true + + '@esbuild/netbsd-arm64@0.25.12': + optional: true + + '@esbuild/netbsd-arm64@0.27.2': + optional: true + + '@esbuild/netbsd-x64@0.25.12': + optional: true + + '@esbuild/netbsd-x64@0.27.2': + optional: true + + '@esbuild/openbsd-arm64@0.25.12': + optional: true + + '@esbuild/openbsd-arm64@0.27.2': + optional: true + + '@esbuild/openbsd-x64@0.25.12': + optional: true + + '@esbuild/openbsd-x64@0.27.2': + optional: true + + '@esbuild/openharmony-arm64@0.25.12': + optional: true + + '@esbuild/openharmony-arm64@0.27.2': + optional: true + + '@esbuild/sunos-x64@0.25.12': + optional: true + + '@esbuild/sunos-x64@0.27.2': + optional: true + + '@esbuild/win32-arm64@0.25.12': + optional: true + + '@esbuild/win32-arm64@0.27.2': + optional: true + + '@esbuild/win32-ia32@0.25.12': + optional: true + + '@esbuild/win32-ia32@0.27.2': + optional: true + + '@esbuild/win32-x64@0.25.12': + optional: true + + '@esbuild/win32-x64@0.27.2': + optional: true + + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2)': + dependencies: + eslint: 9.39.2 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/config-array@0.21.1': + dependencies: + '@eslint/object-schema': 2.1.7 + debug: 4.4.3 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.4.2': + dependencies: + '@eslint/core': 0.17.0 + + '@eslint/core@0.17.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.3.3': + dependencies: + ajv: 6.12.6 + debug: 4.4.3 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.39.2': {} + + '@eslint/object-schema@2.1.7': {} + + '@eslint/plugin-kit@0.4.1': + dependencies: + '@eslint/core': 0.17.0 + levn: 0.4.1 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.7': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.4.3 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@inquirer/external-editor@1.0.3(@types/node@20.19.27)': + dependencies: + chardet: 2.1.1 + iconv-lite: 0.7.1 + optionalDependencies: + '@types/node': 20.19.27 + + '@inquirer/figures@1.0.15': {} + + '@intlify/bundle-utils@8.0.0(vue-i18n@11.2.8(vue@3.5.26(typescript@5.9.3)))': + dependencies: + '@intlify/message-compiler': 9.14.5 + '@intlify/shared': 9.14.5 + acorn: 8.15.0 + escodegen: 2.1.0 + estree-walker: 2.0.2 + jsonc-eslint-parser: 2.4.2 + mlly: 1.8.0 + source-map-js: 1.2.1 + yaml-eslint-parser: 1.3.2 + optionalDependencies: + vue-i18n: 11.2.8(vue@3.5.26(typescript@5.9.3)) + + '@intlify/core-base@11.2.8': + dependencies: + '@intlify/message-compiler': 11.2.8 + '@intlify/shared': 11.2.8 + + '@intlify/message-compiler@11.2.8': + dependencies: + '@intlify/shared': 11.2.8 + source-map-js: 1.2.1 + + '@intlify/message-compiler@9.14.5': + dependencies: + '@intlify/shared': 9.14.5 + source-map-js: 1.2.1 + + '@intlify/shared@11.2.8': {} + + '@intlify/shared@9.14.5': {} + + '@intlify/unplugin-vue-i18n@4.0.0(rollup@4.55.1)(vue-i18n@11.2.8(vue@3.5.26(typescript@5.9.3)))': + dependencies: + '@intlify/bundle-utils': 8.0.0(vue-i18n@11.2.8(vue@3.5.26(typescript@5.9.3))) + '@intlify/shared': 9.14.5 + '@rollup/pluginutils': 5.3.0(rollup@4.55.1) + '@vue/compiler-sfc': 3.5.26 + debug: 4.4.3 + fast-glob: 3.3.3 + js-yaml: 4.1.1 + json5: 2.2.3 + pathe: 1.1.2 + picocolors: 1.1.1 + source-map-js: 1.2.1 + unplugin: 1.16.1 + optionalDependencies: + vue-i18n: 11.2.8(vue@3.5.26(typescript@5.9.3)) + transitivePeerDependencies: + - rollup + - supports-color + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.2 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 + + '@parcel/watcher-android-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-x64@2.5.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true + + '@parcel/watcher-win32-arm64@2.5.1': + optional: true + + '@parcel/watcher-win32-ia32@2.5.1': + optional: true + + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher@2.5.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 + optional: true + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pkgr/core@0.2.9': {} + + '@quasar/app-vite@2.4.0(@types/node@20.19.27)(eslint@9.39.2)(pinia@3.0.4(typescript@5.9.3)(vue@3.5.26(typescript@5.9.3)))(quasar@2.18.6)(rollup@4.55.1)(sass@1.97.2)(terser@5.44.1)(typescript@5.9.3)(vue-router@4.6.4(vue@3.5.26(typescript@5.9.3)))(vue@3.5.26(typescript@5.9.3))(yaml@2.8.2)': + dependencies: + '@quasar/render-ssr-error': 1.0.3 + '@quasar/ssl-certificate': 1.0.0 + '@quasar/vite-plugin': 1.10.0(@vitejs/plugin-vue@6.0.3(vite@7.3.1(@types/node@20.19.27)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.26(typescript@5.9.3)))(quasar@2.18.6)(vite@7.3.1(@types/node@20.19.27)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.26(typescript@5.9.3)) + '@types/chrome': 0.0.262 + '@types/compression': 1.8.1 + '@types/cordova': 11.0.3 + '@types/express': 4.17.25 + '@vitejs/plugin-vue': 6.0.3(vite@7.3.1(@types/node@20.19.27)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.26(typescript@5.9.3)) + archiver: 7.0.1 + chokidar: 3.6.0 + ci-info: 4.3.1 + compression: 1.8.1 + confbox: 0.1.8 + cross-spawn: 7.0.6 + dot-prop: 9.0.0 + dotenv: 16.6.1 + dotenv-expand: 11.0.7 + elementtree: 0.1.7 + esbuild: 0.25.12 + express: 4.22.1 + fs-extra: 11.3.3 + html-minifier-terser: 7.2.0 + inquirer: 9.3.8(@types/node@20.19.27) + isbinaryfile: 5.0.7 + kolorist: 1.8.0 + lodash: 4.17.21 + minimist: 1.2.8 + mlly: 1.8.0 + open: 10.2.0 + quasar: 2.18.6 + rollup-plugin-visualizer: 5.14.0(rollup@4.55.1) + sass-embedded: 1.97.2 + semver: 7.7.3 + serialize-javascript: 6.0.2 + tinyglobby: 0.2.15 + ts-essentials: 9.4.2(typescript@5.9.3) + vite: 7.3.1(@types/node@20.19.27)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vue: 3.5.26(typescript@5.9.3) + vue-router: 4.6.4(vue@3.5.26(typescript@5.9.3)) + webpack-merge: 6.0.1 + optionalDependencies: + eslint: 9.39.2 + pinia: 3.0.4(typescript@5.9.3)(vue@3.5.26(typescript@5.9.3)) + typescript: 5.9.3 + transitivePeerDependencies: + - '@types/node' + - bare-abort-controller + - jiti + - less + - lightningcss + - react-native-b4a + - rolldown + - rollup + - sass + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + '@quasar/extras@1.17.0': {} + + '@quasar/render-ssr-error@1.0.3': + dependencies: + stack-trace: 1.0.0-pre2 + + '@quasar/ssl-certificate@1.0.0': + dependencies: + fs-extra: 11.3.3 + selfsigned: 2.4.1 + + '@quasar/vite-plugin@1.10.0(@vitejs/plugin-vue@6.0.3(vite@7.3.1(@types/node@20.19.27)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.26(typescript@5.9.3)))(quasar@2.18.6)(vite@7.3.1(@types/node@20.19.27)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.26(typescript@5.9.3))': + dependencies: + '@vitejs/plugin-vue': 6.0.3(vite@7.3.1(@types/node@20.19.27)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.26(typescript@5.9.3)) + quasar: 2.18.6 + vite: 7.3.1(@types/node@20.19.27)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vue: 3.5.26(typescript@5.9.3) + + '@rolldown/pluginutils@1.0.0-beta.53': {} + + '@rollup/pluginutils@5.3.0(rollup@4.55.1)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.55.1 + + '@rollup/rollup-android-arm-eabi@4.55.1': + optional: true + + '@rollup/rollup-android-arm64@4.55.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.55.1': + optional: true + + '@rollup/rollup-darwin-x64@4.55.1': + optional: true + + '@rollup/rollup-freebsd-arm64@4.55.1': + optional: true + + '@rollup/rollup-freebsd-x64@4.55.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.55.1': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.55.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.55.1': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-loong64-musl@4.55.1': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-ppc64-musl@4.55.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.55.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.55.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.55.1': + optional: true + + '@rollup/rollup-openbsd-x64@4.55.1': + optional: true + + '@rollup/rollup-openharmony-arm64@4.55.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.55.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.55.1': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.55.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.55.1': + optional: true + + '@types/body-parser@1.19.6': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 20.19.27 + + '@types/chrome@0.0.262': + dependencies: + '@types/filesystem': 0.0.36 + '@types/har-format': 1.2.16 + + '@types/compression@1.8.1': + dependencies: + '@types/express': 4.17.25 + '@types/node': 20.19.27 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 20.19.27 + + '@types/cordova@11.0.3': {} + + '@types/estree@1.0.8': {} + + '@types/express-serve-static-core@4.19.7': + dependencies: + '@types/node': 20.19.27 + '@types/qs': 6.14.0 + '@types/range-parser': 1.2.7 + '@types/send': 1.2.1 + + '@types/express@4.17.25': + dependencies: + '@types/body-parser': 1.19.6 + '@types/express-serve-static-core': 4.19.7 + '@types/qs': 6.14.0 + '@types/serve-static': 1.15.10 + + '@types/filesystem@0.0.36': + dependencies: + '@types/filewriter': 0.0.33 + + '@types/filewriter@0.0.33': {} + + '@types/har-format@1.2.16': {} + + '@types/http-errors@2.0.5': {} + + '@types/json-schema@7.0.15': {} + + '@types/mime@1.3.5': {} + + '@types/node-forge@1.3.14': + dependencies: + '@types/node': 20.19.27 + + '@types/node@20.19.27': + dependencies: + undici-types: 6.21.0 + + '@types/qs@6.14.0': {} + + '@types/range-parser@1.2.7': {} + + '@types/send@0.17.6': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 20.19.27 + + '@types/send@1.2.1': + dependencies: + '@types/node': 20.19.27 + + '@types/serve-static@1.15.10': + dependencies: + '@types/http-errors': 2.0.5 + '@types/node': 20.19.27 + '@types/send': 0.17.6 + + '@typescript-eslint/eslint-plugin@8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.52.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.52.0 + '@typescript-eslint/type-utils': 8.52.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/utils': 8.52.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.52.0 + eslint: 9.39.2 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.52.0(eslint@9.39.2)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.52.0 + '@typescript-eslint/types': 8.52.0 + '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.52.0 + debug: 4.4.3 + eslint: 9.39.2 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.52.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.52.0(typescript@5.9.3) + '@typescript-eslint/types': 8.52.0 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.52.0': + dependencies: + '@typescript-eslint/types': 8.52.0 + '@typescript-eslint/visitor-keys': 8.52.0 + + '@typescript-eslint/tsconfig-utils@8.52.0(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/type-utils@8.52.0(eslint@9.39.2)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.52.0 + '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.52.0(eslint@9.39.2)(typescript@5.9.3) + debug: 4.4.3 + eslint: 9.39.2 + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.52.0': {} + + '@typescript-eslint/typescript-estree@8.52.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.52.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.52.0(typescript@5.9.3) + '@typescript-eslint/types': 8.52.0 + '@typescript-eslint/visitor-keys': 8.52.0 + debug: 4.4.3 + minimatch: 9.0.5 + semver: 7.7.3 + tinyglobby: 0.2.15 + ts-api-utils: 2.4.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.52.0(eslint@9.39.2)(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) + '@typescript-eslint/scope-manager': 8.52.0 + '@typescript-eslint/types': 8.52.0 + '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) + eslint: 9.39.2 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.52.0': + dependencies: + '@typescript-eslint/types': 8.52.0 + eslint-visitor-keys: 4.2.1 + + '@vitejs/plugin-vue@6.0.3(vite@7.3.1(@types/node@20.19.27)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.26(typescript@5.9.3))': + dependencies: + '@rolldown/pluginutils': 1.0.0-beta.53 + vite: 7.3.1(@types/node@20.19.27)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vue: 3.5.26(typescript@5.9.3) + + '@volar/language-core@2.4.27': + dependencies: + '@volar/source-map': 2.4.27 + + '@volar/source-map@2.4.27': {} + + '@volar/typescript@2.4.27': + dependencies: + '@volar/language-core': 2.4.27 + path-browserify: 1.0.1 + vscode-uri: 3.1.0 + + '@vue/compiler-core@3.5.26': + dependencies: + '@babel/parser': 7.28.5 + '@vue/shared': 3.5.26 + entities: 7.0.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.26': + dependencies: + '@vue/compiler-core': 3.5.26 + '@vue/shared': 3.5.26 + + '@vue/compiler-sfc@3.5.26': + dependencies: + '@babel/parser': 7.28.5 + '@vue/compiler-core': 3.5.26 + '@vue/compiler-dom': 3.5.26 + '@vue/compiler-ssr': 3.5.26 + '@vue/shared': 3.5.26 + estree-walker: 2.0.2 + magic-string: 0.30.21 + postcss: 8.5.6 + source-map-js: 1.2.1 + + '@vue/compiler-ssr@3.5.26': + dependencies: + '@vue/compiler-dom': 3.5.26 + '@vue/shared': 3.5.26 + + '@vue/devtools-api@6.6.4': {} + + '@vue/devtools-api@7.7.9': + dependencies: + '@vue/devtools-kit': 7.7.9 + + '@vue/devtools-kit@7.7.9': + dependencies: + '@vue/devtools-shared': 7.7.9 + birpc: 2.9.0 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + superjson: 2.2.6 + + '@vue/devtools-shared@7.7.9': + dependencies: + rfdc: 1.4.1 + + '@vue/eslint-config-prettier@10.2.0(eslint@9.39.2)(prettier@3.7.4)': + dependencies: + eslint: 9.39.2 + eslint-config-prettier: 10.1.8(eslint@9.39.2) + eslint-plugin-prettier: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.2))(eslint@9.39.2)(prettier@3.7.4) + prettier: 3.7.4 + transitivePeerDependencies: + - '@types/eslint' + + '@vue/eslint-config-typescript@14.6.0(eslint-plugin-vue@10.6.2(@typescript-eslint/parser@8.52.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(vue-eslint-parser@10.2.0(eslint@9.39.2)))(eslint@9.39.2)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/utils': 8.52.0(eslint@9.39.2)(typescript@5.9.3) + eslint: 9.39.2 + eslint-plugin-vue: 10.6.2(@typescript-eslint/parser@8.52.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(vue-eslint-parser@10.2.0(eslint@9.39.2)) + fast-glob: 3.3.3 + typescript-eslint: 8.52.0(eslint@9.39.2)(typescript@5.9.3) + vue-eslint-parser: 10.2.0(eslint@9.39.2) + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@vue/language-core@3.2.2': + dependencies: + '@volar/language-core': 2.4.27 + '@vue/compiler-dom': 3.5.26 + '@vue/shared': 3.5.26 + alien-signals: 3.1.2 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + picomatch: 4.0.3 + + '@vue/reactivity@3.5.26': + dependencies: + '@vue/shared': 3.5.26 + + '@vue/runtime-core@3.5.26': + dependencies: + '@vue/reactivity': 3.5.26 + '@vue/shared': 3.5.26 + + '@vue/runtime-dom@3.5.26': + dependencies: + '@vue/reactivity': 3.5.26 + '@vue/runtime-core': 3.5.26 + '@vue/shared': 3.5.26 + csstype: 3.2.3 + + '@vue/server-renderer@3.5.26(vue@3.5.26(typescript@5.9.3))': + dependencies: + '@vue/compiler-ssr': 3.5.26 + '@vue/shared': 3.5.26 + vue: 3.5.26(typescript@5.9.3) + + '@vue/shared@3.5.26': {} + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + alien-signals@3.1.2: {} + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.3: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + archiver-utils@5.0.2: + dependencies: + glob: 10.5.0 + graceful-fs: 4.2.11 + is-stream: 2.0.1 + lazystream: 1.0.1 + lodash: 4.17.21 + normalize-path: 3.0.0 + readable-stream: 4.7.0 + + archiver@7.0.1: + dependencies: + archiver-utils: 5.0.2 + async: 3.2.6 + buffer-crc32: 1.0.0 + readable-stream: 4.7.0 + readdir-glob: 1.1.3 + tar-stream: 3.1.7 + zip-stream: 6.0.1 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + + argparse@2.0.1: {} + + array-flatten@1.1.1: {} + + async@3.2.6: {} + + autoprefixer@10.4.23(postcss@8.5.6): + dependencies: + browserslist: 4.28.1 + caniuse-lite: 1.0.30001762 + fraction.js: 5.3.4 + picocolors: 1.1.1 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + b4a@1.7.3: {} + + balanced-match@1.0.2: {} + + bare-events@2.8.2: {} + + base64-js@1.5.1: {} + + baseline-browser-mapping@2.9.11: {} + + binary-extensions@2.3.0: {} + + birpc@2.9.0: {} + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + body-parser@1.20.4: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.1 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.14.1 + raw-body: 2.5.3 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + boolbase@1.0.0: {} + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.28.1: + dependencies: + baseline-browser-mapping: 2.9.11 + caniuse-lite: 1.0.30001762 + electron-to-chromium: 1.5.267 + node-releases: 2.0.27 + update-browserslist-db: 1.2.3(browserslist@4.28.1) + + buffer-builder@0.2.0: {} + + buffer-crc32@1.0.0: {} + + buffer-from@1.1.2: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bundle-name@4.1.0: + dependencies: + run-applescript: 7.1.0 + + bytes@3.1.2: {} + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + callsites@3.1.0: {} + + camel-case@4.1.2: + dependencies: + pascal-case: 3.1.2 + tslib: 2.8.1 + + caniuse-lite@1.0.30001762: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chardet@2.1.1: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + + ci-info@4.3.1: {} + + clean-css@5.3.3: + dependencies: + source-map: 0.6.1 + + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + + cli-spinners@2.9.2: {} + + cli-width@4.1.0: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clone@1.0.4: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + colorjs.io@0.5.2: {} + + commander@10.0.1: {} + + commander@2.20.3: {} + + compress-commons@6.0.2: + dependencies: + crc-32: 1.2.2 + crc32-stream: 6.0.0 + is-stream: 2.0.1 + normalize-path: 3.0.0 + readable-stream: 4.7.0 + + compressible@2.0.18: + dependencies: + mime-db: 1.54.0 + + compression@1.8.1: + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + debug: 2.6.9 + negotiator: 0.6.4 + on-headers: 1.1.0 + safe-buffer: 5.2.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + concat-map@0.0.1: {} + + confbox@0.1.8: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + cookie-signature@1.0.7: {} + + cookie@0.7.2: {} + + copy-anything@4.0.5: + dependencies: + is-what: 5.5.0 + + core-util-is@1.0.3: {} + + crc-32@1.2.2: {} + + crc32-stream@6.0.0: + dependencies: + crc-32: 1.2.2 + readable-stream: 4.7.0 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + cssesc@3.0.0: {} + + csstype@3.2.3: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + deep-is@0.1.4: {} + + default-browser-id@5.0.1: {} + + default-browser@5.4.0: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.1 + + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + define-lazy-prop@2.0.0: {} + + define-lazy-prop@3.0.0: {} + + depd@2.0.0: {} + + destroy@1.2.0: {} + + detect-libc@1.0.3: + optional: true + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dot-prop@9.0.0: + dependencies: + type-fest: 4.41.0 + + dotenv-expand@11.0.7: + dependencies: + dotenv: 16.6.1 + + dotenv@16.6.1: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + eastasianwidth@0.2.0: {} + + ee-first@1.1.1: {} + + electron-to-chromium@1.5.267: {} + + elementtree@0.1.7: + dependencies: + sax: 1.1.4 + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + encodeurl@2.0.0: {} + + entities@4.5.0: {} + + entities@7.0.0: {} + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + esbuild@0.25.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.12 + '@esbuild/android-arm': 0.25.12 + '@esbuild/android-arm64': 0.25.12 + '@esbuild/android-x64': 0.25.12 + '@esbuild/darwin-arm64': 0.25.12 + '@esbuild/darwin-x64': 0.25.12 + '@esbuild/freebsd-arm64': 0.25.12 + '@esbuild/freebsd-x64': 0.25.12 + '@esbuild/linux-arm': 0.25.12 + '@esbuild/linux-arm64': 0.25.12 + '@esbuild/linux-ia32': 0.25.12 + '@esbuild/linux-loong64': 0.25.12 + '@esbuild/linux-mips64el': 0.25.12 + '@esbuild/linux-ppc64': 0.25.12 + '@esbuild/linux-riscv64': 0.25.12 + '@esbuild/linux-s390x': 0.25.12 + '@esbuild/linux-x64': 0.25.12 + '@esbuild/netbsd-arm64': 0.25.12 + '@esbuild/netbsd-x64': 0.25.12 + '@esbuild/openbsd-arm64': 0.25.12 + '@esbuild/openbsd-x64': 0.25.12 + '@esbuild/openharmony-arm64': 0.25.12 + '@esbuild/sunos-x64': 0.25.12 + '@esbuild/win32-arm64': 0.25.12 + '@esbuild/win32-ia32': 0.25.12 + '@esbuild/win32-x64': 0.25.12 + + esbuild@0.27.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.2 + '@esbuild/android-arm': 0.27.2 + '@esbuild/android-arm64': 0.27.2 + '@esbuild/android-x64': 0.27.2 + '@esbuild/darwin-arm64': 0.27.2 + '@esbuild/darwin-x64': 0.27.2 + '@esbuild/freebsd-arm64': 0.27.2 + '@esbuild/freebsd-x64': 0.27.2 + '@esbuild/linux-arm': 0.27.2 + '@esbuild/linux-arm64': 0.27.2 + '@esbuild/linux-ia32': 0.27.2 + '@esbuild/linux-loong64': 0.27.2 + '@esbuild/linux-mips64el': 0.27.2 + '@esbuild/linux-ppc64': 0.27.2 + '@esbuild/linux-riscv64': 0.27.2 + '@esbuild/linux-s390x': 0.27.2 + '@esbuild/linux-x64': 0.27.2 + '@esbuild/netbsd-arm64': 0.27.2 + '@esbuild/netbsd-x64': 0.27.2 + '@esbuild/openbsd-arm64': 0.27.2 + '@esbuild/openbsd-x64': 0.27.2 + '@esbuild/openharmony-arm64': 0.27.2 + '@esbuild/sunos-x64': 0.27.2 + '@esbuild/win32-arm64': 0.27.2 + '@esbuild/win32-ia32': 0.27.2 + '@esbuild/win32-x64': 0.27.2 + + escalade@3.2.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@4.0.0: {} + + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + + eslint-config-prettier@10.1.8(eslint@9.39.2): + dependencies: + eslint: 9.39.2 + + eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.2))(eslint@9.39.2)(prettier@3.7.4): + dependencies: + eslint: 9.39.2 + prettier: 3.7.4 + prettier-linter-helpers: 1.0.1 + synckit: 0.11.11 + optionalDependencies: + eslint-config-prettier: 10.1.8(eslint@9.39.2) + + eslint-plugin-vue@10.6.2(@typescript-eslint/parser@8.52.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(vue-eslint-parser@10.2.0(eslint@9.39.2)): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) + eslint: 9.39.2 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 7.1.1 + semver: 7.7.3 + vue-eslint-parser: 10.2.0(eslint@9.39.2) + xml-name-validator: 4.0.0 + optionalDependencies: + '@typescript-eslint/parser': 8.52.0(eslint@9.39.2)(typescript@5.9.3) + + eslint-scope@8.4.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.1: {} + + eslint@9.39.2: + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.1 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.3 + '@eslint/js': 9.39.2 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.7 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + transitivePeerDependencies: + - supports-color + + espree@10.4.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 + + espree@9.6.1: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 3.4.3 + + esprima@4.0.1: {} + + esquery@1.7.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-walker@2.0.2: {} + + esutils@2.0.3: {} + + etag@1.8.1: {} + + event-target-shim@5.0.1: {} + + events-universal@1.0.1: + dependencies: + bare-events: 2.8.2 + transitivePeerDependencies: + - bare-abort-controller + + events@3.3.0: {} + + express@4.22.1: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.4 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.2 + cookie-signature: 1.0.7 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.2 + fresh: 0.5.2 + http-errors: 2.0.1 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.12 + proxy-addr: 2.0.7 + qs: 6.14.1 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.2 + serve-static: 1.16.3 + setprototypeof: 1.2.0 + statuses: 2.0.2 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + fast-deep-equal@3.1.3: {} + + fast-diff@1.3.0: {} + + fast-fifo@1.3.2: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.20.1: + dependencies: + reusify: 1.1.0 + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.3.2: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.2 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + + flat@5.0.2: {} + + flatted@3.3.3: {} + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + forwarded@0.2.0: {} + + fraction.js@5.3.4: {} + + fresh@0.5.2: {} + + fs-extra@11.3.3: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.5.0: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + globals@14.0.0: {} + + globals@16.5.0: {} + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + has-flag@4.0.0: {} + + has-symbols@1.1.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hookable@5.5.3: {} + + html-minifier-terser@7.2.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 10.0.1 + entities: 4.5.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.44.1 + + http-errors@2.0.1: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + iconv-lite@0.7.1: + dependencies: + safer-buffer: 2.1.2 + + ieee754@1.2.1: {} + + ignore@5.3.2: {} + + ignore@7.0.5: {} + + immutable@5.1.4: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + inherits@2.0.4: {} + + inquirer@9.3.8(@types/node@20.19.27): + dependencies: + '@inquirer/external-editor': 1.0.3(@types/node@20.19.27) + '@inquirer/figures': 1.0.15 + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 1.0.0 + ora: 5.4.1 + run-async: 3.0.0 + rxjs: 7.8.2 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.3 + transitivePeerDependencies: + - '@types/node' + + ipaddr.js@1.9.1: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-docker@2.2.1: {} + + is-docker@3.0.0: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-interactive@1.0.0: {} + + is-number@7.0.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-stream@2.0.1: {} + + is-unicode-supported@0.1.0: {} + + is-what@5.5.0: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + is-wsl@3.1.0: + dependencies: + is-inside-container: 1.0.0 + + isarray@1.0.0: {} + + isbinaryfile@5.0.7: {} + + isexe@2.0.0: {} + + isobject@3.0.1: {} + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + js-tokens@4.0.0: {} + + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + + json-buffer@3.0.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@2.2.3: {} + + jsonc-eslint-parser@2.4.2: + dependencies: + acorn: 8.15.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.7.3 + + jsonfile@6.2.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kind-of@6.0.3: {} + + kolorist@1.8.0: {} + + lazystream@1.0.1: + dependencies: + readable-stream: 2.3.8 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.merge@4.6.2: {} + + lodash@4.17.21: {} + + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + + lru-cache@10.4.3: {} + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + math-intrinsics@1.1.0: {} + + media-typer@0.3.0: {} + + merge-descriptors@1.0.3: {} + + merge2@1.4.1: {} + + methods@1.1.2: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-db@1.54.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + mimic-fn@2.1.0: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minimatch@5.1.6: + dependencies: + brace-expansion: 2.0.2 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mitt@3.0.1: {} + + mlly@1.8.0: + dependencies: + acorn: 8.15.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.2 + + ms@2.0.0: {} + + ms@2.1.3: {} + + muggle-string@0.4.1: {} + + mute-stream@1.0.0: {} + + nanoid@3.3.11: {} + + natural-compare@1.4.0: {} + + negotiator@0.6.3: {} + + negotiator@0.6.4: {} + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-addon-api@7.1.1: + optional: true + + node-forge@1.3.3: {} + + node-releases@2.0.27: {} + + normalize-path@3.0.0: {} + + npm-run-path@6.0.0: + dependencies: + path-key: 4.0.0 + unicorn-magic: 0.3.0 + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + object-inspect@1.13.4: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.1.0: {} + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + open@10.2.0: + dependencies: + default-browser: 5.4.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + wsl-utils: 0.1.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + ora@5.4.1: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + package-json-from-dist@1.0.1: {} + + param-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parseurl@1.3.3: {} + + pascal-case@3.1.2: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + path-browserify@1.0.1: {} + + path-exists@4.0.0: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-to-regexp@0.1.12: {} + + pathe@1.1.2: {} + + pathe@2.0.3: {} + + perfect-debounce@1.0.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.3: {} + + pinia@3.0.4(typescript@5.9.3)(vue@3.5.26(typescript@5.9.3)): + dependencies: + '@vue/devtools-api': 7.7.9 + vue: 3.5.26(typescript@5.9.3) + optionalDependencies: + typescript: 5.9.3 + + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.8.0 + pathe: 2.0.3 + + postcss-selector-parser@7.1.1: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + prettier-linter-helpers@1.0.1: + dependencies: + fast-diff: 1.3.0 + + prettier@3.7.4: {} + + process-nextick-args@2.0.1: {} + + process@0.11.10: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + punycode@2.3.1: {} + + qs@6.14.1: + dependencies: + side-channel: 1.1.0 + + quasar@2.18.6: {} + + queue-microtask@1.2.3: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.1: {} + + raw-body@2.5.3: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.1 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readable-stream@4.7.0: + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + + readdir-glob@1.1.3: + dependencies: + minimatch: 5.1.6 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + readdirp@4.1.2: {} + + relateurl@0.2.7: {} + + require-directory@2.1.1: {} + + resolve-from@4.0.0: {} + + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + reusify@1.1.0: {} + + rfdc@1.4.1: {} + + rollup-plugin-visualizer@5.14.0(rollup@4.55.1): + dependencies: + open: 8.4.2 + picomatch: 4.0.3 + source-map: 0.7.6 + yargs: 17.7.2 + optionalDependencies: + rollup: 4.55.1 + + rollup@4.55.1: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.55.1 + '@rollup/rollup-android-arm64': 4.55.1 + '@rollup/rollup-darwin-arm64': 4.55.1 + '@rollup/rollup-darwin-x64': 4.55.1 + '@rollup/rollup-freebsd-arm64': 4.55.1 + '@rollup/rollup-freebsd-x64': 4.55.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.55.1 + '@rollup/rollup-linux-arm-musleabihf': 4.55.1 + '@rollup/rollup-linux-arm64-gnu': 4.55.1 + '@rollup/rollup-linux-arm64-musl': 4.55.1 + '@rollup/rollup-linux-loong64-gnu': 4.55.1 + '@rollup/rollup-linux-loong64-musl': 4.55.1 + '@rollup/rollup-linux-ppc64-gnu': 4.55.1 + '@rollup/rollup-linux-ppc64-musl': 4.55.1 + '@rollup/rollup-linux-riscv64-gnu': 4.55.1 + '@rollup/rollup-linux-riscv64-musl': 4.55.1 + '@rollup/rollup-linux-s390x-gnu': 4.55.1 + '@rollup/rollup-linux-x64-gnu': 4.55.1 + '@rollup/rollup-linux-x64-musl': 4.55.1 + '@rollup/rollup-openbsd-x64': 4.55.1 + '@rollup/rollup-openharmony-arm64': 4.55.1 + '@rollup/rollup-win32-arm64-msvc': 4.55.1 + '@rollup/rollup-win32-ia32-msvc': 4.55.1 + '@rollup/rollup-win32-x64-gnu': 4.55.1 + '@rollup/rollup-win32-x64-msvc': 4.55.1 + fsevents: 2.3.3 + + run-applescript@7.1.0: {} + + run-async@3.0.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + rxjs@7.8.2: + dependencies: + tslib: 2.8.1 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + sass-embedded-all-unknown@1.97.2: + dependencies: + sass: 1.97.2 + optional: true + + sass-embedded-android-arm64@1.97.2: + optional: true + + sass-embedded-android-arm@1.97.2: + optional: true + + sass-embedded-android-riscv64@1.97.2: + optional: true + + sass-embedded-android-x64@1.97.2: + optional: true + + sass-embedded-darwin-arm64@1.97.2: + optional: true + + sass-embedded-darwin-x64@1.97.2: + optional: true + + sass-embedded-linux-arm64@1.97.2: + optional: true + + sass-embedded-linux-arm@1.97.2: + optional: true + + sass-embedded-linux-musl-arm64@1.97.2: + optional: true + + sass-embedded-linux-musl-arm@1.97.2: + optional: true + + sass-embedded-linux-musl-riscv64@1.97.2: + optional: true + + sass-embedded-linux-musl-x64@1.97.2: + optional: true + + sass-embedded-linux-riscv64@1.97.2: + optional: true + + sass-embedded-linux-x64@1.97.2: + optional: true + + sass-embedded-unknown-all@1.97.2: + dependencies: + sass: 1.97.2 + optional: true + + sass-embedded-win32-arm64@1.97.2: + optional: true + + sass-embedded-win32-x64@1.97.2: + optional: true + + sass-embedded@1.97.2: + dependencies: + '@bufbuild/protobuf': 2.10.2 + buffer-builder: 0.2.0 + colorjs.io: 0.5.2 + immutable: 5.1.4 + rxjs: 7.8.2 + supports-color: 8.1.1 + sync-child-process: 1.0.2 + varint: 6.0.0 + optionalDependencies: + sass-embedded-all-unknown: 1.97.2 + sass-embedded-android-arm: 1.97.2 + sass-embedded-android-arm64: 1.97.2 + sass-embedded-android-riscv64: 1.97.2 + sass-embedded-android-x64: 1.97.2 + sass-embedded-darwin-arm64: 1.97.2 + sass-embedded-darwin-x64: 1.97.2 + sass-embedded-linux-arm: 1.97.2 + sass-embedded-linux-arm64: 1.97.2 + sass-embedded-linux-musl-arm: 1.97.2 + sass-embedded-linux-musl-arm64: 1.97.2 + sass-embedded-linux-musl-riscv64: 1.97.2 + sass-embedded-linux-musl-x64: 1.97.2 + sass-embedded-linux-riscv64: 1.97.2 + sass-embedded-linux-x64: 1.97.2 + sass-embedded-unknown-all: 1.97.2 + sass-embedded-win32-arm64: 1.97.2 + sass-embedded-win32-x64: 1.97.2 + + sass@1.97.2: + dependencies: + chokidar: 4.0.3 + immutable: 5.1.4 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.1 + optional: true + + sax@1.1.4: {} + + selfsigned@2.4.1: + dependencies: + '@types/node-forge': 1.3.14 + node-forge: 1.3.3 + + semver@7.7.3: {} + + send@0.19.2: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.1 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + serve-static@1.16.3: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.2 + transitivePeerDependencies: + - supports-color + + setprototypeof@1.2.0: {} + + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + source-map@0.7.6: {} + + speakingurl@14.0.1: {} + + stack-trace@1.0.0-pre2: {} + + statuses@2.0.2: {} + + streamx@2.23.0: + dependencies: + events-universal: 1.0.1 + fast-fifo: 1.3.2 + text-decoder: 1.2.3 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.2 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 + + strip-json-comments@3.1.1: {} + + superjson@2.2.6: + dependencies: + copy-anything: 4.0.5 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + sync-child-process@1.0.2: + dependencies: + sync-message-port: 1.1.3 + + sync-message-port@1.1.3: {} + + synckit@0.11.11: + dependencies: + '@pkgr/core': 0.2.9 + + tar-stream@3.1.7: + dependencies: + b4a: 1.7.3 + fast-fifo: 1.3.2 + streamx: 2.23.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + + terser@5.44.1: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + text-decoder@1.2.3: + dependencies: + b4a: 1.7.3 + transitivePeerDependencies: + - react-native-b4a + + tiny-invariant@1.3.3: {} + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + ts-api-utils@2.4.0(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + + ts-essentials@9.4.2(typescript@5.9.3): + optionalDependencies: + typescript: 5.9.3 + + tslib@2.8.1: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-fest@0.21.3: {} + + type-fest@4.41.0: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typescript-eslint@8.52.0(eslint@9.39.2)(typescript@5.9.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/parser': 8.52.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.52.0(eslint@9.39.2)(typescript@5.9.3) + eslint: 9.39.2 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + typescript@5.9.3: {} + + ufo@1.6.2: {} + + undici-types@6.21.0: {} + + unicorn-magic@0.3.0: {} + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + unplugin@1.16.1: + dependencies: + acorn: 8.15.0 + webpack-virtual-modules: 0.6.2 + + update-browserslist-db@1.2.3(browserslist@4.28.1): + dependencies: + browserslist: 4.28.1 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + util-deprecate@1.0.2: {} + + utils-merge@1.0.1: {} + + varint@6.0.0: {} + + vary@1.1.2: {} + + vite-plugin-checker@0.11.0(eslint@9.39.2)(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.1(@types/node@20.19.27)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue-tsc@3.2.2(typescript@5.9.3)): + dependencies: + '@babel/code-frame': 7.27.1 + chokidar: 4.0.3 + npm-run-path: 6.0.0 + picocolors: 1.1.1 + picomatch: 4.0.3 + tiny-invariant: 1.3.3 + tinyglobby: 0.2.15 + vite: 7.3.1(@types/node@20.19.27)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vscode-uri: 3.1.0 + optionalDependencies: + eslint: 9.39.2 + optionator: 0.9.4 + typescript: 5.9.3 + vue-tsc: 3.2.2(typescript@5.9.3) + + vite@7.3.1(@types/node@20.19.27)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2): + dependencies: + esbuild: 0.27.2 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.55.1 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 20.19.27 + fsevents: 2.3.3 + sass: 1.97.2 + sass-embedded: 1.97.2 + terser: 5.44.1 + yaml: 2.8.2 + + vscode-uri@3.1.0: {} + + vue-eslint-parser@10.2.0(eslint@9.39.2): + dependencies: + debug: 4.4.3 + eslint: 9.39.2 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.7.0 + semver: 7.7.3 + transitivePeerDependencies: + - supports-color + + vue-i18n@11.2.8(vue@3.5.26(typescript@5.9.3)): + dependencies: + '@intlify/core-base': 11.2.8 + '@intlify/shared': 11.2.8 + '@vue/devtools-api': 6.6.4 + vue: 3.5.26(typescript@5.9.3) + + vue-router@4.6.4(vue@3.5.26(typescript@5.9.3)): + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.5.26(typescript@5.9.3) + + vue-tsc@3.2.2(typescript@5.9.3): + dependencies: + '@volar/typescript': 2.4.27 + '@vue/language-core': 3.2.2 + typescript: 5.9.3 + + vue@3.5.26(typescript@5.9.3): + dependencies: + '@vue/compiler-dom': 3.5.26 + '@vue/compiler-sfc': 3.5.26 + '@vue/runtime-dom': 3.5.26 + '@vue/server-renderer': 3.5.26(vue@3.5.26(typescript@5.9.3)) + '@vue/shared': 3.5.26 + optionalDependencies: + typescript: 5.9.3 + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + + webpack-merge@6.0.1: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-virtual-modules@0.6.2: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wildcard@2.0.1: {} + + word-wrap@1.2.5: {} + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.1.2 + + wsl-utils@0.1.0: + dependencies: + is-wsl: 3.1.0 + + xml-name-validator@4.0.0: {} + + y18n@5.0.8: {} + + yaml-eslint-parser@1.3.2: + dependencies: + eslint-visitor-keys: 3.4.3 + yaml: 2.8.2 + + yaml@2.8.2: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@0.1.0: {} + + yoctocolors-cjs@2.1.3: {} + + zip-stream@6.0.1: + dependencies: + archiver-utils: 5.0.2 + compress-commons: 6.0.2 + readable-stream: 4.7.0 diff --git a/app/postcss.config.js b/app/postcss.config.js new file mode 100644 index 0000000..4498380 --- /dev/null +++ b/app/postcss.config.js @@ -0,0 +1,29 @@ +// https://github.com/michael-ciniawsky/postcss-load-config + +import autoprefixer from 'autoprefixer'; +// import rtlcss from 'postcss-rtlcss' + +export default { + plugins: [ + // https://github.com/postcss/autoprefixer + autoprefixer({ + overrideBrowserslist: [ + 'last 4 Chrome versions', + 'last 4 Firefox versions', + 'last 4 Edge versions', + 'last 4 Safari versions', + 'last 4 Android versions', + 'last 4 ChromeAndroid versions', + 'last 4 FirefoxAndroid versions', + 'last 4 iOS versions', + ], + }), + + // https://github.com/elchininet/postcss-rtlcss + // If you want to support RTL css, then + // 1. yarn/pnpm/bun/npm install postcss-rtlcss + // 2. optionally set quasar.config.js > framework > lang to an RTL language + // 3. uncomment the following line (and its import statement above): + // rtlcss() + ], +}; diff --git a/app/public/favicon.ico b/app/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ae7bbdb712f8ce9fe49761b68ef3a2d4c51606f9 GIT binary patch literal 64483 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 literal 0 HcmV?d00001 diff --git a/app/public/icons/favicon-128x128.png b/app/public/icons/favicon-128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..14011761929f4ffbef81be318a347c0032eb6f42 GIT binary patch literal 12324 zcmV+T-C%vCX!eE2>+L5n`oJdaL&r|sNI$u}wHN#q0%m2Y=PT}95D8D-xujSuU zQm(lCJ#(+y9%Vl0WWma4ryQPb;>hGi^XJKYP2+1JU#s|fm#+vl>wOk^yjjv`zCafG^y?piX)g7{W1C zaVP6uwh==Sa$N$^1nkcIy({=?;cIPdnM4Xaw9=7oVoz7#9$hgJS7JoJ&utG2AmVkxP~tMIj{kigf6nsf^~k0>6~g=E z$?Y`|9GrL^$)zseHHn*a;~rY%p1SZe>-kBCy`IZgoux!39PYLa@rvzp;N%k8|Htz+ zm#=qX9TLETod+k;U2K4s@3+Oin&n<$&l$e=Ol~fJ9WJTmuf+(!F5|TKdD*&+6kLSp9`T%&qJk8;PEDCx zX)RJ7J2eHeMIu?hW~R^o+kSD;r?^6wdT%k_t4Rp%!T6MG_X&*d{EiA+EuAnU1hEVkfn7QgjH7Qc?G=T|LaiOcV0iLc(t5?}egSn!&^2miy* z@Xx|`@Vju0c6rSXWd&#ik(U@qvFyS3yCh+Ydv4MYpZIiI3$Buv)I`Bl{`VTmCYdJN z-P5iE_&LeWn2w`SCkC-} zEX`MvuY_Dl@m_q8_zeFndEC z_*CcyCh|26IJZAKSGv@R>UI!s0~2I2ope$PpI*=6H$Tr3=iSJX2cE=I!*^oosv!YF zlQrV+LBj=7YZ_RpwvnZ_8|h#0KmHjc7WfW)7p_4B!~cfgfZu}Ogx`ieD5XzvhCUxx zunD0X?_F?&RR|N^658sCK;O72>!;%>=uoV%FB#zr|AHCIkpi z3})%-p&WrD9E9R~B`u3!_=&E9|N ziPbNYY<2!?EP3*kob`?qtTJKn=G zO*Djy1;GtEku$78m<4X-t-xF~UAekLXBx7^HoUR!$WsqMYLzGcp5L(K36~&%5%GhD zIY_rpc<6~$ten_+6HC=K1*{!k)8CC=(cvQyM`TE1fW0Ci@W0_6;9l^aS|uSwaRY!+ zoAQ55(+<}btQVNb*JalNW!ed6PROa3ED}EZ@cS%r+P4KD0r3EM$!_x@LLpw4*{ICb zOJ%M~uxr%(W11B}ui<~yhVrPm4P7rpv^azZ`v+wb2!X$bdxCqzdn6GT&JB7slW~DY z1j#Lr2zcqU~(6eBY^;!JNbu3s|agcYz2E@pyR|)F-I? zhp)5bK_?3!1JVjbybW{^6Qe%ElE++x%2<3>n{enny+HuDP4gSroV~)HJsGVf}Qhw?$|G&af6Cb2xe6bol$zNdI@oz2`2_9V=fh!UMy+DYAR}jWFCm3)d$a+qG zmQyDoKdX=*$os73C;`{%<7<&6}(iZmwb$kIH-y(|y zuEnnj*DjU-Y$71hCKSaggaN<;VM0U@coKDy5D-Du!wCjd9N5~vkol`4kx%j-J~RJS zmfHDXr67^_tyH_+Ab@F)D~C}?^sexwb1Z&MxOOQ7;1>%GO3?*a08G@rO?R@72v%!4 zL1JK?MY^3Iyw@t_R5Mn2+z5P|8HiYrrZMbyccN=~QH@=>b>ZCbMYa=mq18v%F; z0bl_xW)2&)5;`>{IgAsm&`iXvOjGYyA~0k5r14MF!kalm;Unb3;>uX!;@d>D4V9tB ziXp#W2|yPCpaXpSv5FCZs~`%P0E_@uBBRJl1Y{lbNM(DPg_C|F0$1sqB)wJ42hb5P+C9=V2!BEMeoU&iTrehSJ?z$n1p?S zp8~G)=!cjsgi%N^S9O!FAMQgD0l*8y0q6u>j-S9(3Oi*KQ5OLfGYwr&-*l;k_Cz5c zG+LEiQ)?nWr2#KhCLmMg5P^kd_`{d*SJ0DCv(DpTjPrupf?HX~F3Q%2);A`o(cl-ba zAzlV%;CqjK#1TI?h)GD-bQ<=`k)rRr63D0P8N{F~h5$njOY{@8JN}IzZa_H}8I@U7 zrhkA~zRCJmY1u0#@{3J)JTdC<-u8H)T^tcI^a___*YYJo)H+R-wND_M(CJ@f=d z5rD()d!@#m6Tzs_dke%@4^d7k*k5wca289|^F0s7eOJ|vV1w#PBVdGqBqq2PT$6~v z;RFCffF(GKz+>3T%-Dg>1v+GUnJx-SwhCOWf2uP1Y}QZO@=_+m($0$mSbkk}6I{nURy zmwoX|XX9&l-^&RAmK>(&HeSli)O1@E2pml#%;AxA()>MN|(pWmoAFC%=a6z5ikCqmS0&ZTI%};`7HJf6Qjwa5JmlehdOZu|c|q z9z+3T#j7zhH-5{iAa#roYo}$0B%Z|Qu9ESHl;S9MoF7;`>}U2(^KhR%Jw2?OuUsyt z2w}y_7ueCqpM=~XmL8%`v5rJR96(5EHe|$(Y}SppuyyO!88BG4Zaq8j(0@Z>(m8={ z86a#qj4_l<`G&42AXo8x#RZCLU|}nMqGG4Va`Wbls2M+X7|)j>T^so*>-b3-F=`j~ zyEorbzyv_TGd-X&33%<%fubm`4p3Z@sYS@h>zVVPa>EtNUbMnIqHORE%3z9)F zaU`{!lY3wiY?@8^kFVk0`uh45;^7$(*W25t_Wq;$A7YI=?1qFuTuiY0Mxi%wk#WIA zm$0{f|F-&$4TC@a=^Zv|$30jqS#KzYhCaYyjQIpDP88Fwk?c_wNJS}xN_oi9mlk_u zziaPH)*oi>0RgnMwd0L;cXum55^!}wxa6`ckxk-BptLRsogRKBi#_Q`hOgg$&uz1x_g9|!D0HVO>A8>Vn#nO696qYxTbv%9(yagM&*8lMP!ejz- zskR~XB+Z&VSKO#XGyzgy-QD7UaO&VYL;!Hz#D(*O0@UVBrHWSez)^DV8!WZUp;`!f zgctd6YC%rd3>n2a|`6;erV|U%h&>eKHVc)wT0`WU@Zn@2? z6e|A!z?#Dxa}51ffsV5YCQfq&dHsk09+Clv9w)O$0v3`T@kDt}zd-&VcI@ZB=mnY& znDF@AaVOyktOlI|l*4mpv)Bt-j(r&7ZP`ywsd+E5)b=|IMX#>O%pnZ1Qtr6(9*0}$ zd-Uy{ejLNLMF5*CI z9FJwq&A!tw6~B9a;|=TTC#in;81}{+ZyEp!10*~)ZTf`mx!<8^8dlXy^XJ4%#pz$t z>&p44lMl$hVVT&YH19&QdX;}-5LfC>4n3v5hfUZzA@pcUW7KtQA_9GA$cV8h4s`3n z4kKgAxnCj733Hg^koptYZFU^?pD`+V=4viqGnIRZaGpTUJF!&%>91nnyZvs1z2yVI zKmYkLYaG2BYSdLAqlw);`hltVL^*f}`Lo)@X~+D7{2^!p^2@93X@NfH)Sde`QY5S`FXKF%N?BxLA)T?6uaz- ztCX(d(^HBeh+-eU-#PT~V}&@htODIHf)z+Q7ts3?2pqnHt#%@lNcB3t3_DM{6?>i2 z|C|W(LJqy}^pp7$i*LtTT9<_?QDFq|+c$oP3K)3b(wYM#dGr){lYP;q9%%bN_%%xn z+Yt*w@|}DVSHNnAHI8F{dgss1USV%=qCp>kdl9GGMOGyUgRVg^1Ir0u343%sgpvzD z8CoZ^OVp_^L9fK+xlX;IiG10IPY^&>tK$o(3V`1x3N^7-PY;jMNy5`#%_g66hG9SF z0}g4&zx>s!NbQOMq#2kRGFs&LFV(bOUG6WD6~v3zu+-QCoLEFu7@EY@^lN8IJ!F%? z!lNF5C^G8`)fo!q1oZn~IOWSiA@p$pzyZev7NoXWupyIB;4&N38u}bVf%3OAcDicz zlyQ;WfAQ^xIpv&wZvS>kySGp|N}pT(-!D7%FHt Lo6d;R#HlZSpu`Xri)N0Uu37Bc>%k0>VL5tZkmU#YuMw5AAaQJVmdLD z${7?FkTB`&T8Yjfn+q7QfvV&#uSJlPxLl98^(uoV`@h1<^K*(iFgYSs8^o+FE&BLL zrxkVjbpm*4wMhWV_603|%)TNb)}jSObcfV=H##P1s({EG{T8rVj8evH#fsI+=wCJJ z2eDWJ{|}!9uir5zoXn&!3{Arw(iY7aS+v;u1Z7 z5c(K8Vt|x_Ope%pimJn=R z;PEGZqJmCtb+R}h*rcL^1^ErO7y#S~&tTBbR>}iC>bF+wy6Gr?&<%r5nQiw2AU?D2 zA#CHujYYFRB7mR${Fg!p@Oi*&F0e%Q33_@1OYM57xThh5o}i!WvEoy)z1P$+El&#Yg+0V9auVRZZg^? zygmUcCb>%$mnsnuID%f59H7@|(FSsMIVo95hy9b|2dKS}8;X*7Yya^N3>$-t^=8b< zuyFG5v#_iiO2NbY5nI9{9fC4|ARi(~1aTvSHq7+*;B#Q9cpXCsmn7l{xufYY6TOWE zZeLc8AdCwH@_#h8L2n7^(FZ2hfhVC?P9;xR?0@dOJ8+|)eDX=rL=eORHnGp_bFh+i zVJ%sJ6C}Sdm8FJ_b^H-q(jp|OR4}wO2B8H3=A=#tJ_~>r!4xBnmKab8q#QSZqo5q# z>Q&exTiwHK1@Z|5=3j2IOeeBBbIP#qqQ8kgeAJ4~w*5JU-~EI83a0EZ0)PhuV{DDr z*M;@0CRAtnbQiVTW28uXLp!pmYvTopU=PW688JI|4@>`LpOhco)2ItTHeIaLOXmp zntX%HW%{Au!=E46DDw?dZ2aB_v1RRDhRnCKrQZI-AK3*Lea+dgLj<4)Ku1%*9w1uI z1oea|J@&uQD)#}(pIuPG!&u$@}dGQ$--7>6U- z;a{zQ0-7d^%Gk!p)8^*BgKPLyL*cQ_A7vIv;`r4ouOaevUqD&xR?6JEVWZKf-?p@a zz5lnrvkeP5XjEo@RfSZh#SjR~pvKRUS_W|THR zdZ#_vaVMTCJdIpwB$F~~FDl28|32W#Dl50c!|x)_H3HZXr)xE<+VkMcpgBIZ4m)QH z9iX9Lc}wn8Qh2_0`8U{K{_STn(y> zVlT=LV;x#&^DeC&9W|3)^ga>_%q+kfg{pd0idIV9qzauw?Er+%?eK8M=s`G9PX{~2 zF#*W};4%XSD1;?a7DEVvy~fxTSAN^E5Nt*8*4yrK?cHK(?q29PE^qHYtC)im!ZVwMnSIs6qOc~9j#ZEtfGTN@GZh%h zGM^$iMJIr-YsDWqBeND-qg=HJCvB9oxu8I#o-N6=sDy{G^l(VO+IPa?s7Mx5J*;~s zL8&VQ`B6jw*T~0-Qnn0+Bvx|9xEVTTHk0zRw0oUw#W%`mL|g&RluOw51qfV!T_=F6 zQ9hZiT>~G$<@cHe6=iDW|L?{BHXI%{5(xOyu9;D?7yv>8&7RE9V&d?W#}5y<23)IP zQ;@j8`E&f)OZJjUw(;-(yzDM2M&1O+neqjgIzTt#I>T|UWdzT__NsOi5L&3NWH?mG z=L9Ntfh7RQeD&2|8xg=TG4SF`KQ*F)g)VUHfNc-vU6{p@j|gaQa1FQ?Ig1L`#7FI^ zrLsqGfhD4>9xIoiXr)L++fM*V#2F$QaA-#b1+Hi49AKtK0L&qPuiSz5Yq;{g3m08}9yMF1oQet6#l${Z}@H#R2$7#0CIWcEJRU%Rly z5kPj}L;!fZUVZI1ks?56!H|8s<1Tv_q|a!%oPF9UtzO}fXu)u zfiJE8X{ZwD;{p&^3X2YIDN3MU3~*)e%h#F(oIWc6l)yV)E<3DUx)L~$W?*^<%Qm+~ z5`dj11}WF0#_l2O1se)B1Htt?5N4oX3^a%a6uVC3r|=UyPtP?2XD#)H+e<>o#n4k{4@ec$TB;S~3Z66ouHZ;^ zoI)kqlc#6qTbw=}+uT9IYpE^tOLqllv|v!S{9us3rCWn48{2))1KG{D+|HIR>tuiZ z>w8Mx=6kGq;iZC4q8SXjtY3pcp<)06I*`D6#+RMoA7E1`F z2ZJ(fN4}X2T0LON;b6N3I?6(56OS!qWVb9#zDNpfeZ*LHz`;kcGtRz{eRJBi*iYcW zA1`LlJexrUY-xKJU!5$&^@b;(ewOXE-$ZZ1Xx?xz=LFQKqSE2uyiTDV_7VZ2u>J-# zq5R?ZaH<)I4HXwCu)BJ>;o!0pLcHTppua9;svdee2g2T}kyMpTeh?taw650q}_3`Af6B-PgiS4$X|;@iPvy)5N56 z)yXWH5XwymDLEy~J01;_9Mag72^%{s6JjK}--)V2SGu;*aNa=90O$x*UE@39^j=Xh zaxEnc+r9QfN?88j%wQJ()+0Wx+|#07z#E7mKK&`x%TP^D4HF9`r-YT66ly4kG%1tI zvc!MfCZ=uC44kF1AMe>SMaq=bqpv6}yTk;MN+yLC((zo)1Om?-G`d<*K!+1LbTm`( z>Gjwl4YP+xKky8%EIlcd(!w((riEKFKRM}g(X4=`gwrNS8|@U8yrN}WkrP5IUf@}J zTDY!b)EBRC(x^A$FvQSa0ZoxHyP3zj_ORFO5Csx>BrZ^?uJVQR2oF8PmCzWNGt2YKD-Fw(R~)KGzfyaC&eT35WnEv;)Cm+G zt}Lc@KU~N;)DIdBuh^DC2zvL^Gta#UO-Ir8zB;^;2~OtrJ89iba;1&4;VTJk?GrU2 zhp@EbP<;+<(dFUxSk(BPzwosz3lEEurrIeYSBWbZqW>H^f+M$~@$EHR4p+daCbw8# zk%=v@zy1cR8$KF2L6z4zBTL#J_)}OTr|6|x^Sv5bg@p2dZn5Rz<~*SM4I;+64I&IN zaL%m4QlX+0o@X|3v*}UcdjN|8X7C+N`+un#bZ z8?YdNAgEt}sJ%-HP65OLwR-S=vNo_ZJdTt?S^syhztM>-Qr-e^fpNeEQUMn*!opBB zR15)VW_a?D)0DZKu4tRM3N?yM+41N(%S~!5c8t4IOd+iXke@WolblVD{{zj*_|;FK z2NGBza0+M|3B#mPdmY2q(P$#UYrUUPVaRX7yhLc>9@gTW2x7*pn+-0YJ8a^&{j@L< zpbnelx^tgbWn&J!E7vHpyjHO(Jp>9|VB+b4##<~G$j22(C!w2dk(`0*@8qagrH25( z!HxzU=BybqDAia{PXS@_)v{gpI6yUn^mRWaE&wB8&?3-V-O7`i*Fv)ISB8p{hkY5X zBD?Q#QLSP#xoj|L+}|oz7Xu|Vi#Dcsa%Bb5oK!wsDO{i+&Y+13Re#rOdcoj%sU%!k zkxS9Fyh*`5xu6S4qrZNN>JEJG5WeDG3;q+0o6jf?7v}|;rUAy+blY3 zHH*&p*uUK_KEvuuX&0Ze9YdVmI*y@A5JBFF-yVe$h!$e)1#}c6BF@mOJ|VJ_HBQU>qT9u1bNSlE=d7N=xsnD(IKz!DnQw+ci?Iku z?6}jji_oHFTH75zFDTBSGKu8iCQ4w9LVlnOiueELe?DL%$Lt;?u>!{#u?vem@sDUv zpnm$n^LokM&M>Z$21aBH85m(JgD_?!Q~bynW6oVQr~IKiveH8} zTY!JT<^V9(Zo*_?Mr{|~N><5yZp*{7J?|iD+)W?`dgb7&ONBC6-z5Db2Z>7Hd{a#+ zbbjBP9Cl-zIgCY*jDfK~nOp%QW5_pb42{Z_G&IVbb61U~nqd~&MBqa_yaw0hgMSX} z+bk<=Xp}lh-SQ;O_l~u*lSYKLU&FR<+L=AS>P2stvwTCNhybp=Znnr`9x_Tq1NWa4 zJ>pJ(9|-o~Q=K`Cr45Z@=Fq6f*?|=t8|U=*z36+cD6nN7+58gO7#D!??OX{;Oqna> z=TeE-e88kY)7`I%qzp`GZSc-B#*Aed;MsHEL)q)UeZye;KIFS&nd4s=fb@LS_;2wA_H$kKSU*iLF8 zW5Q`QX4v4=@TJ!9XyQs-WayL3?F3Oe_0We8hCJFGynR!`$kfw0!t#}?E z$(ZK%h)VO=16cfsiI>5~Xih{x3LDr{@N;`tXsJ9UROvi|U+ zkJ!EUJ%EFyFryfLJ6~dGSn51RGt)Q_8{Fn$UR41zIYE`fR%BQA`B=X$`=?sCixvMM zr9oF7AfLP=L?I-r;PJI0m)$qEjaa#Csa9CH7ggfD+=0W>JoIj@J#JA%f=eZDui@60{oV2vM5fxK>WzjyR(@$ z%r!>6MGbQfBLM7SoT&3Qu`YYxVJ>xmA%`Wv6k+Sv`uikK;9%}wn&MZeD9EtsRsl&M z3iP?X*Js6PB-_#lhHfHC&*o+%)X79cKe#wKIbOKoX$P?=Hmz`l0 z0tdt1hkJt1I)|mF@1V*01x}`y&-%kh%Il(_LuQzCM-c(~2Y}6^GS<*<`FlF@Au)5m zgO0$#3Lkv%VaWq5{2V|KKy?KOAety7yg2N<_P&YyZW+4oFj#+85xQZ{nO=!2Z4S5S3%bU&9fN^`f_dq#_A1DHFtQ@#LX#CJ|w3GRQVTAl% ziGwwW6F~q817{U`xK_a=`Qv`mkP;fWVgh5{0{gyyh(HiP4VI8owyr(GwbVy{5`d!^ z)=1>TXuJ+jHL-5;Wu<2ka8YsAA7&Mp`oJ_Rf6yX=KCwC^CjgC?l$#0@LA4yw_VD7z zik@1!xd^~f_+*(Jp8O6CelGI$Jilow(St-lrauV4(!4fF*JL%+y26?E+V?mJS#bW(;`lGyr;&rPC(1Z~| zPPu(SqeT-D{RB-FtM=Ji2*CAYGznO6m?&-EFZ1d2ldHGYlh7L*m`9L0MoQrzzE(?? z6ix)vIzT@GHap4-MFn60P9CuHyS!D^=E)Z@UX3s} zaS$80hi+m7ipNmCUWp_E-C6YbTIn{fQZayXO2df&z*{Gjz>UfRi0TR!_CM7;s<&4S z!xo;v;t9aKKarR}j{=(l?+4;3kn$9^nW@1R106uv1(@(=s5q zfl)*mN-ot(AS+%iC7=&U%z1k=J-QW=*{zPXJ?*s5gR@3GX=M=_XdEV zgbhwT#PcDf+odVVJ|_>gb`|>7YJ{zQ@;4juec~XX%0Z~41TAO!yhNZUL$nAh0n^Kh zY#pP=-^J+mD$#8$S%;(O0dX*o4+!Iu%dTY8uDPDgoIMw39nZb>4on7_{+*fFB@Eit z9d-01Hg?y2u(P=cBqhZ)`D@?M#=MBfT!0kb8*2Gf$l_)+2_@QzUeYrh{Y=&t%R*nnBSRcO(wZ6~r1TSCeW{2cPk^sq-P;t&VQc z6uh)Z1B1MMNZsxX>78VrdI6(0<>8yAAwRL@BHynQ#8s^!xGFPjjaF~i7tRg(0(Pd(*WESFI|3hd}*+*|a?k8&0n?MU$T zbS-qnX0fgFVRC~+@ES9VRw1xjou*VFgwPk*$~2Dk z>GjyS3OZw9?LYJ}B!U2OfrFffh!imuYHc*Th}a!PsA?F#1K)*fz_keB{5RmY;5V@$ z6STwWWI^Q;vHB>)Q`4qarRc3fm;^9OY@MgR7?B|4+f-k!ElWGxj*7ElTpuPY! zi?>786t+tz3$#sN@HP%mfGHXdYP>?ESE74mb(>LaUZiU+ zmnGWbo+cPhovq5e>sQ?%CzZrpLIcovY*LY7?|{t};FSzo@Am{9UiyjO?)ZL+y6cDm}40B%vvlWwDzQ8t1@l!t5^@xAi5 z`&8GmF4>JMgL^%fKi7pLKKCz<_-I$MD;mW6J7cfAENj88m&>H=UZw~lr*Vj0L{7k# zb%o3(4*zE|N{;s$oQHxr^xL8XXN%n1&enY;rB`&@i7&xg2$aQ))!sx{4`*QWW9Wbl zZO~gaWv*Ro6{mO17D((4Sv^Ll^kz+gB;~PHwpcj2NbZy0eOF##SgT;kki?2%1|OJ_nQfMZE?!QZ*KK+{eJfz7B%4?!>I%>LTz=!Ag_&SA6n`o6vP zTHi;+@!}6r0E)F9MFM?B9Zh18hVjYzc+Go!#=*IaiGX8))%APS(93X0X?p|B(**5k z1+*g`=z>#!DU-vac+G}Erdm^u;Ei=BezA?QIs#2oVqB9+TDZAp7g>Rmvj5>m&JpbR5K z`wH-^yW70m(FyYUggz$06+Yx-=Hd6xCDHeEKn#z)#bdwUr2R!;3}eamO*ZG+5XwuO z24wVfbqT8R!`{%tHzN0VF>c-Iz{tob9}E6@on;0!55dCfGqS@a^{DoEnLzaQJ`ohX z9Tc4i$DRztC8t?Lq{Sm6yHLEIm=v|=str1I85(1GO!k5*P6}UXZWW8mE6{9lNOq*- zM=*ro;xbYksZjI0pxz)T%Ozyz!rF;SSR>}2Ex*ztI8*8pzZQcy>GWcAQYu0c%p^N^ zr-P!lL4Upiy{c8%m>|DujbIvsnp2ijc-~NMPl_#vibPy&yj8YiR~mMtWI)}Ni1@AY zSq<`e6A)US*U-+^gRw+kQKz&FLCcnn`5@KtN_PLoC~Oz*gANv3ME-|8c;xqkYP*E; z1<*5{24fgYG$uzON1`7nf_lksvf}is1A_XO1f}J{cim@o|7MF%P;Do)`fgLtDB$u# zG`=QnnpqQ)6p2)v$)d?G@re0AfX61rlp=|QCehH8 z1fz(8(GU$CB!P%@G&Gr|E*Ma;AS(*d1?8V+7x)1hVZoW5`+3fJ^JW`MBL46uCv)e$ zd(L<6=})PatJ3%+dsr%NbmrZr3wdhu#fQ|U`iW}Gr8#PA;zJ?c^D}uzXM)ANmBwl% z_p+-JJ_Y-@u`}(pLA9U`hG`X)`)>1X_o&+u91X;j2+COgdYiNzgX6hXj91w1a5D4@OT~nY4z@N?4CiNea=PpYc06!)KX?d07T8mKj)+ zv6?9nM&oU45 zid$F~%WSEHU{|Ki5tyA1enAXz(_r_XkaBeht{XK@w9F6yoV<2WYtKL(q%)tT{r)8> z`pKX03fe=?@LA$vUY5bKL}s7_V@WKSCP5OIeZLRxJTROe!p$i)UbK{MUJN(82u@BZ z)UuOM+v(iqdWj3oO1!xf$}2!Pr-aTGBg9G&FUw$AqJ&r??T$>4bE*Xa$NnN=PXCE1 zdV*+ig|R{fP*xNk-Aqi|t}E2)IzJ%y0oDgKP(6krzoY`!cIZOaa$$#K^qURl%`NH3 z*YsuXO~*tKn3AG_KR9A3XzZyQ5?a~FCGbOszsIiKdvRUoTcNT`;0&ATo1ejV(b=&J z;Y3O}ny}^5O8j;HJf^+&rdaBh+q+|T)jk}qK7u?_f@QL72~5Un7I&PpoHieyOL^^Y zCyi~hV)c51^cwQyAgHIN!}=zjie!HKu@@229)Wv!d-hy3U5CD_#@VyyGXGbu*&s4S zHesYww6RV|;h@}g$1O_oZ5|ykSin=M6dLHach6o>_Y8u?j5`Uu|3rAog3c;Jth^H{ zx9`FaKORF}-6pUP3b2AbXa{vIT?d1Y>5(D_1YNncL-l^1Wj!cUB2gz})NM ze!g#)pM;*aiDJR#;Dkp3mz`G*FH$U2SXzNzefnYc`}6VJ@3q1kC{(#~4_LNf>_}Hk zDcfAXDLAY}M~!mwOvUwGO#|JWS3`rZz<_~6#n0Ydec`n42G`4lOMpsc2|1j4MB2-z z|6wAHB2s3?Tkqifg?f>ZNG8Fu8AGr*AQ@Yl2-R_G!ips2EvFm?J~IM8*BsB7a{NnE z!~$7a1#rXpu)>7`#+Kn5bF|y^%!?Eulv{>yNoVK?r7OAV&O5qe^VT?qju<5Y%NUF$ zy@Ro(lTkCVo}H0!i9zyQg%Be1?%3tKV#(6w5^P}-&NpZ9k5;YAD9C$FHGrd^NmEVG zYfi&id=#qBIO4S>Ep1YYF&Il47-LI2{h9-7QqpA~kpfu+q;v%9Hf$7tnwk@ch9lyOjcT$YU$G`Pj2> zf996YJwMj>FBPRW6(Hq8RM0-NPB8F)`)ju6;?n~YB@R#H-omPdYNh!9*E=uxrW8X(*b9b6~ z%O%MEAbf$8UTV=X=(i{)iaQ}IQY864cKpOlObmL0ddCe9!rt!RTpAb2WZ8_-ycD-+ zMh-O$Dz!#Wr3R9oifFuoo>%Rs7Ax}=;EkROTlvjsz!DI(esZ$zr7Dmr|y36Jv#$x<9X=mGSHFfOYq*Dg&E+}r_bQk z=`)c-&+Th&r3}~$J^y==#WM9}+wo-v66$s-HkUAlslriOx-yWEZ_B#Ci*>-@!NYLu zrl9Xq>FqWLk~T&%o5m(MMETXJJp0> z)z|yY=9gbjN-(meq+T!|k$_)$B)h^;+OKgar3z^*vO+Z09_Rk}6D`*%GJmwN9r%pf zbSUlD)=(OJ8~ls0+~JWsJ7%69Iuf(zF2=Ht)?zu)d-Imynde6F?Tz!V#&TTUhY7uv z=_dV~*83PoR1X5Vrej6Ct~T0Bc7d{zfETnbR4dfc%AcjaqbiypP>Ju|IB#*|3C3as~hH< z#^;m*WDsCQV)YQ~FtN@Nzr9gBKO|O4tfgYTA^`cCcz#VhzapNW7Aq}|n=aNQ@!5Ie z{gL9ir+6+7IlrTj=v|Avp8rO`g9m*1J{|yi8eFk<6#yG4)=aV96>EL08X#6D))KWA ztM`k z_#lCt$pr8!0kC?p8pNs*3*V=qMXYAA8pSb9;<<_5r|2{9SuXi~D$}Um<8S4;8q~QL z&^ZM{GIxpRL&Qp2VoELp5t;vFs@L+}5BTn4jTP%HqS6LM$!W+KfNZAssZ2&cr!rtX z`+5n*C;%cpvSYEnK?lZKtex>u|<2GCnPs@6dC z06D(}V)L5BY80y(=sg2H4c@}{bZoOazKM_Z&gmhAk=&w@k%k|Yju~KaXetvA7z|rH z#mmpv8a(bO}HSocYZj@TwG*E;i&pzF(-tlU!BmGxOMbLyV;q67k#~ zGQdJcl|}@vM~PT$Q5n3?EmYjZJ@$n*;{Bh+^H0Xjp^R=(uWg{G6;~`#zCO*dQI3=wMu-8fMp0X|~^ z9sz;W$znjfkKg{L0QT+R9PkHlyY~mTO=n2DZG@&wh~AhQ8L5R=`0UNg3RH|dT z&~K8(9pyRjTzJl+_Tcv38xkjshxp{zq$sR6xWbPJG-0ciSWCk!u{s()gzejGK9M7o zR7#7Sfnt3`RG%XG-W&;dr1s060%wmQ;Fffflq;wffu;dnQbFHs+A@%b|3lm){;Q}1 zI0KG?_?Vdxo3kz(BBY5cx#2VM{y@W0@<}>f~_~ey+rp+iMRZ_&9jbB{@?hXe?k-#$A z0J;f$23oS9tw0jX_ChJ|k&2ULkSuI37rw^N5+$Ao4=H>C zbWJ2Tux_|JfCSWqKN}~Qz)zdN&pb*ZN1Bv|b<-lP8)WT=J_qNZQ?7!PX z**g3}W}Kkk?M!&|)H?g$xRL&+{q3XCdL|5J$GyNf-#3r!K@Na+)PK)CsD; zWEQv;+e!*kBEq6@-(oR=REYp5`CMh#_8bTD$AT6qWm&I|#os*j6T~lkSaDlLT7@(shf)DzKzNtBa$QVdHy92?su2D6+3G_nf0I@I(R2 z-3Y)35FmgSzjm<jRCcn`V2Yke zk-$gx7mgIkUP1Y8S(ktnlH3pkT(!`=>HHVPg_@-Zob*E82ngi{aSv!Mxt)5^x!8mb zaDs%%)DY{iRph>_P0htx;Rb+@)aJI`isUy@&jtW~lM!G>M)5rc?`k&=0Re8ndl8lv zKF254Mj@d|>4ecr1UZ37!A6Omv_8>5`ok(^34{S3sU=yy(ZJs*1o#2Z(Nnz67sPel z{F0>L96BI35`=OtY)7x-6KledAYp<*!F1+OAM7?!>83JexD#qyHc)%H4KP0^G)2OHeOJB;a%WFVBbRgl6)2((sj76}CRu z5G15CUIt6PpQh!$X=>Ieg^M!Z6g$e^E<|MD4XF3|+$cLpXgS3vR7WGguW&i8GyU(7 z_}#VOcIiu|Z((6uC@Sv)1*M(xz83R1yoUl5Uu-(#J)t=2*i$Oz+5i$*DL-lHgS-(C z6g@-8#`fgCbh4_Xc}Ug{DqI8jc)?Cl2XUejx&d5KH*SX>l;uGIxfsN+m}jzjkm~2F z1PvZDdkrK`zELR4ZKWqH5Lj5=m98Ns-p32tK~Y&}512WCkH_J4>NXTot})zjj^7K>Lv}uzX(;;*;K!0}p}b>v z*zdq2#XlB7EYT+P=7Y9(JL#~s-x{35&w|*r&!k9^Hy5OO6*7olIvd=rca?xg5h2cn zR38&|{E5R)g^NdD4jn3ci1$glHoTTFZs7O$eatDN-|sK(q4QRK=pHm7;Wgtui~qy? z1aSdp-&h}zE`YDa>ZD+shbRhC|DOY*hn24Ia3$rdSPlVSKI6qdKKm)a$MhMGL!TW6 z5EUj&N;17qiiRf1)I;$Rd+;-%um@`@#Lw9;V;c)i0sz_FupB6OxcP@7|zN z)}C_a9&Ht6O>3sXw)az*MueY~)sxXt&1xCjq3{BFxEyy^@-h}Hgxl`8hc3LixtX57 z|NeWpYT^xoE4CsE6~Xa!#G)rrW~z!8+7j0OOOkFK!G)+B17)W8+YNH z^GE3m&tx*t)YPPJe))SJND4$GpfbaA2+|_pMuRy>q#O`O=e{X>Lm6Jp9d=73Q)rkv0xmnV-E4=gWGK=c?#+%j6 z{B7BLq?}2XqOQP@GXBq;^;tYx8Ph@WgjNS}jS=F|L_i#vgg>2mp1Ou+{r~1Nfy|Hf z>(^^SVPf(BhCg4m>Qm_0xhGjwT9lT`oPyhPcZfapBN$>^!ccO-;}#cK2#_DdjiRYF zgf;2id5ZVqN2JURh@K?eIB9Z#>iC&2{)HD`CS)a9d7XBvNBx#l<)eI|Y{|+IVuvj* zGpfp>r;8A8Uw^&Y;y@GVVcg&sH~wSHbMU=Qxpx|guA;I^pC}UdG~%8xE&wXCOhaFz z!Xl(tRX&dmrG9ZjN+WV6OZ+L@$-mrV{{ZEf52QwX)Gn$gQB{aQ6kO!&ayU~>+z|CT3~A=~gAV?cycf2lP#mHq zCI}@qdo3se&RB7xG+b}h84(wxz&1azT(DL-UMBTl_LKwyCsef6Qv&nmR|Q0mdGY-D zTyY#KYPQ2MF;1l-i-7BNym$`Yz?^m9?0ksK+xmdda$jCUDeSrLA&}35kYXSt8{qv& zFz>Ox;c2PMlrHql(gH|aFwJL{3P~ajh>vxpwiZELA}(JKQU|tpC4DWV-AVZ=1bEb6 z1P2~^v}Wh98!-_ubJmj@0UT?`RHNnXa*3fJ0!)Tjj$TN7iNsH$j1X|~m~n8%h>>vi zc^AXzORs<%{&EXE{K!mr?)jJCv(G-aL=MY!Q{jf`iZD)SZkER%J@`bakTn-nQeGN~ z#?WbAIiw`)qrI|6@QI&PX0j!IkSc3s-Htz-Rj4eVIdjvI)bB^YqmRw@5P&u`nvorQ zNc+Fq2&f5!B+i+l5;~oOd1J$K)#hgcJ=X+@BDq{?Vv1`-FSdQoFzGwj>=dV4iu=XvcwSU zf{&k}mA%@m18$g6y8TTVoiqS}rX=3P^7r1ikBWLBxPoORPHY)4JNQmF~ zj4g&zI%_u0^Se9*%+&Iq#m^F;LRk(wxLWoX!J$VEmKWIEoK<<5e!z<_y=n!&EC3e> zxjAZvaP$t;j$S_0zp02|MeYUSl29fPG4}Ea@ZER+Qp&nTJCo*pG8Y_s+%SSkKnxAP zMi(9H<`bFHt+wl{Qq&Olu98vB+7c1(u}WDxUxxTOcjV}t?5bUP^&PS}D#LhzM=cu2 zWGp;ml{57^{EtR1OXZK_M@gb=P zQm|6IE;pSp>_%K~>3}L(pN}QtNS&k%ee(2oe>?+LtXP%Po8;#;Yu3tGkW*$^4xwd( zIkHroUtsFZH~SX#fByd{F6W#;5#?kg_nnUyOW?n5EhoT%4~cvr><&RuGT zqi?i|t+1ws6!0C?ZKBHxL#+v=7lcEC?0VRdL*S*CUk%vIEI(x+%Lqs03w%NCeRtX& zo_X$tNNelW*WRGeGIE#>lm$3IiHFYHLHw!(5Wo3lxo&z9;@8$urY~{YWN?le3C@6{ z!R@*|xPp=kmB{4$LALy|Yi7%WinvL&K>gL^fQM95MU%|8HWSvcCyQe5${x=SqzaW6 zkfPv~S6{cnxcvOet8e6$823{?0)O@De|Yg6u{eCp?^(|b7&ypsj)G+`k~$OTKR~rZ z`VF*P_*~~jgfiuG>^{um;_u#i`(15T1{5==5|Ing0eoPU z1T+=^`wM*WJ<9J{{{pwNkLow5$gS+TdxbUf{{f#VE%fAN!X;27|gEVXrq}u;CRs`+Te@{vahKUQ-3Ft+d$?a?+2<`k06+utV znNP@z;xN~5uU|1gSchtgpdDLD1f~2UNGjo{4JDk>N_gN3_Vquq50R=qv?m9<5z$GT8oWFPLLaRJ97cK^D4I*>eQ&vF*;c} z%}@pW_docMBAV!>XEPaf1`A_dTlJ#?UrP+(GsbZq{z{mky#om%H!ETz%up{P`m9+O zG+lYZwj(z55}gT4MtOWjT!qR_6c5d-mnl)=QmHQnr zrhG)uz6Ts(RV?IF5>Msum_{@U1UM#k&vKn`mo2v0k>GKb3(jF@nhM@@#L{LcViI*D z;-o1v7jXJ*DiqPhjs=BPHYe3g2JS`|-}UI-4~`jn5+%s*y5~NaJ5P8Y&pr>YzwwrE zmfj(UY3b9?QP|gCVPNS3m48O%j=za|AmvNo7e$65vW5*#pDbHkLwo`ZRgfZ%*@eJi zh_KGd=~jOzg8Ru72b`ySzsypU%jX1oYy*HtZxfN!b2o5)eLlEYVy>DsWTvT5CCdv) zL8H=Tz@WIwD}qT1S;m7@IRaxv?Nnf}-DlWuXD{7n&$dtKV8InesABD`Q1diDlP8N$< z9%DLX^Au9J8D#i1;FkYFa(xJVWOYOt#BX`U4o7<&@Ea2WJ*^%9PRKm*JmB{pj*kk_; z_9aBMLrwh%oP$mYN${wWo60@}3nFeiA%ig9)kHusO%kjzi?UQf*8aooBssI|(HF=r zb}lLB3+6KNT2;f}ZKp_fbvGe(xFO$}9A=6@6A6@bLa~Vj!!<@%PPT@?YB?e^anb}U zZ!S}kMKlgaB9n&->Z*uOga~TypY$<1G%0`Dt>GsZK7ywDuvSs--J1C=i72&ORK zRS~06=BwLm~ z`Q%gR;0uGWogcs8L6d5u+hf^Myzn7gM4R!YS(amGRL5lw_DVv%X@`ZR2mGapSf_cy zc)L!M;~ahWGm^~_vpo4VCp&7mk^2A0M05814Y=*QtGR9ka%K;T2tD~qO}}bm%!JFw z8#P1>n!^oCo+02f5++Q%!3qZI$mls!JzpSKXZ}JC(iMBwqSlcY21^sG)!4H%l=&;9 zxj6T(KyfZk9GU!@a>IQ=EM!@KGj$jeOwO3^>u5)W+`p2N*Uk|msIwj0ROR$5*Fy{~ zl`KbYR7gl>QM{B)k2%zI=dWM-``4?XvRiMjX^;SykTZ&ws96(H)X#%Jgy+mtxm=$~ z8^2*`Q2a;{KizK9kiEeyh7PeUAr+XzaIDbi7N%Jl?=i%ea?9kV9G0Qn7glWyW5W0M zegyIB8i>6Uf4CkJgGUo`P}!mNg^eA==21hKH1G@HkRt|1ModSI85b;^i<^34t&oiljr9WMxIHdln{04@8KRJiFyJ%hsa zhaXUk*=qxqEF1cX*C1RBZA5R@X6eaw}EyQ+vu{G#t`6}NWrFZGD#5uSRj0L zjhfQc9Hf4{Hw?FoeoU6n8$_T*7&aa@gf!{NA?5vyY4TxX$#k#4L#mA0=7PEFX?z!2 zDqf7JLRu|CamMcb*b8Q5o8?odhUzU);|ToJ7H0A_*dAxn=gmr)Uj)C{x-Y!(=G&ot z!v4H8K0aQt(ko#RR2;wMWji2eD&A^k_j8GgmITW5?7oYcQ^=^_+RfVB8DsYe`^VG3 z04px!FIVJVF%$c!kas(V2b+3I$aKmUsxbq%y&=rEqvW6q%$L?hG-{{4_!7;26aIn~ zbyUe3?$Yn~%YAgQa2W7)$GrLuUt>QRPD7z{BN08aS`x?n=Ah$+Nh+L8;cL~^KEy>2 zhqb7(`FVgx{h5%BA^fuGZF_Ip!kS@Ig~+3#j=T zr&`hX3w?1Vrn;Hm%06L3^sv0=;Tkw*VD0zchl(A4hde7_S>u@`$|q+K5pd6P8RM$* z-2-yqDK~|SV3YW~4J4!lkzxJ?dUjCczz%P#5p!HYvo)>&2T`Dfa^DK7Dw7UVg>4m~ zZy;o()(6Tu!hx!8MQ>@_tI9FDc$yd80TRbwp+nk)2-YR&?CkYh&)c-9zL;L$bj$6b zHT?b-DSWJ5yB5Y@eZBsDpk1m%4@jJPljO{LPyEHNOi3~051Y_%@k$xQ3l8hxF$H_) z9@Y^)vfwtQy@TUwd@i`w2Su`-iGo^q;p3}hj~P;0p*=rTTT+x;aB1=ug*RsWLz|y+ zCQ;IA5Ro|m7xv!&Fv_kmh5NhX&3rL7;@y7d6zH{Ge_c{;>7=lPf`LLMHxC^R3fe#GFaT;G?ZH=-Bq@_i^|K~ryfl-%S0bBRlNhWff zvdEHhYibvdF&=mvHCkAf7XiPE3_0w3qH;tt_P{1d`QM4v&6*vTbAn>ZH?%1Q!+fJE z<=mhJs)GitB6NyOxu|3+DeIDo=sD3*Bg=4Lx45|iao(b~T_K^eU}))_J8~3!{`nVy zNi2b39P0BWOP|3T$~m$ube=Tc2am<^Q$EJRa4Z3e&0q%%TRvxR`1C}cXJcDMvqD7? z%Dkx`(xfYysJ7=qTb5FesHQdlp+r_##0uK$?nP_`!f7k{4A(FbgL8pmPI>n=#lmR)%Nh)%tj3E^Y%>XNKrgY-N!&S>xB#g^#V2v*NxHYb(pQ+Th`>{`qmZ zbA-0>Lk71_td&$kQ>->^b|@A3#!6w%+?3U8Y}SV68m`eA2nYo}dds*$Q26v*?t&cb z6XTn_GZM?Ni?xRwHoACXji-b+VR|m55aXqgs;bsrYrcSQEd&Hc7o%Q6$~S>;Z->Qu z3QP#d{Y{!5?ah;8eQ@iDv zIo~`J?~DK*q{p?OjYfelJ6^o}4SO8#dHI#sav~tGca5Ij>qXT35z4t$)^7We9#Z;Azv7Y0HolLE* z{xJffBMTVtxEm90TY`Z#jP2BenX?E}xb?;eGUw;t^wZw9(A>sqsq^{mz#!BA(so^?>6&b36ayDhW-M%sfaPTA z5Qt0hd%1qci8@YueA#Mbk4yDZt8X|U0<()04!gwtuz-cOCvfSee4IpDDyp7$7 zgLm2E8Y7jt(xoli50VLV%;7eGS!$W_?To>(9pT|-28YaA-OT$*N~ObWSV5Z?EavSz zA~y5nlEt+29dO1P^h%rFeSiTmni06Vee z06uE`eb|=fDN6FsF~yG75q_>ya8oLc=OsYB>YkLo{>BBJNg!o5Z#BGp;@EO}70{p!)o_ zz~!PO(|0JQS;{!h7bnVA8{(q|ycuh0V@Zw)F5dY%?K?iLIIYe?^k-D1oX!l@wVGbV za>5ojnb?2+Be?&3!V*pL^AegUn}%^TS2Inc9b1S}&9&IKm94p@?PA}tp5jL;UnJI5 z)EvR}`Id|aZ+np~QpvU^BJ3M=EUxg5Ef>J*Ptyf)z#Yz5!?+Vpno7~Iqh&PmB}G$5 zmZ{kb&r%0EhDNXt7h6HG8&NmJS?5n^d)@?kIurZfc=+Y3$r)h?2?DQ3aZQPO?d0(r h$J#u>{O`^5_ { + return { + // https://v2.quasar.dev/quasar-cli-vite/prefetch-feature + // preFetch: true, + + // app boot file (/src/boot) + // --> boot files are part of "main.js" + // https://v2.quasar.dev/quasar-cli-vite/boot-files + boot: ['i18n'], + + // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#css + css: ['app.scss'], + + // https://github.com/quasarframework/quasar/tree/dev/extras + extras: [ + // 'ionicons-v4', + // 'mdi-v7', + // 'fontawesome-v6', + // 'eva-icons', + // 'themify', + // 'line-awesome', + // 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both! + + 'roboto-font', // optional, you are not bound to it + 'material-icons', // optional, you are not bound to it + ], + + // Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#build + build: { + target: { + browser: ['es2022', 'firefox115', 'chrome115', 'safari14'], + node: 'node20', + }, + + typescript: { + strict: true, + vueShim: true, + // extendTsConfig (tsConfig) {} + }, + + vueRouterMode: 'hash', // available values: 'hash', 'history' + // vueRouterBase, + // vueDevtools, + // vueOptionsAPI: false, + + // rebuildCache: true, // rebuilds Vite/linter/etc cache on startup + + // publicPath: '/', + // analyze: true, + // env: {}, + // rawDefine: {} + // ignorePublicFolder: true, + // minify: false, + // polyfillModulePreload: true, + // distDir + + // extendViteConf (viteConf) {}, + // viteVuePluginOptions: {}, + + vitePlugins: [ + [ + '@intlify/unplugin-vue-i18n/vite', + { + // if you want to use Vue I18n Legacy API, you need to set `compositionOnly: false` + // compositionOnly: false, + + // if you want to use named tokens in your Vue I18n messages, such as 'Hello {name}', + // you need to set `runtimeOnly: false` + // runtimeOnly: false, + + ssr: ctx.modeName === 'ssr', + + // you need to set i18n resource including paths ! + include: [fileURLToPath(new URL('./src/i18n', import.meta.url))], + }, + ], + + [ + 'vite-plugin-checker', + { + vueTsc: true, + eslint: { + lintCommand: 'eslint -c ./eslint.config.js "./src*/**/*.{ts,js,mjs,cjs,vue}"', + useFlatConfig: true, + }, + }, + { server: false }, + ], + ], + }, + + // Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#devserver + devServer: { + // https: true, + open: true, // opens browser window automatically + }, + + // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#framework + framework: { + config: { + notify: { + position: 'top-right', + }, + }, + + // iconSet: 'material-icons', // Quasar icon set + // lang: 'en-US', // Quasar language pack + + // For special cases outside of where the auto-import strategy can have an impact + // (like functional components as one of the examples), + // you can manually specify Quasar components/directives to be available everywhere: + // + // components: [], + // directives: [], + + // Quasar plugins + plugins: ['Dialog', 'Notify'], + }, + + // animations: 'all', // --- includes all animations + // https://v2.quasar.dev/options/animations + animations: [], + + // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#sourcefiles + // sourceFiles: { + // rootComponent: 'src/App.vue', + // router: 'src/router/index', + // store: 'src/store/index', + // pwaRegisterServiceWorker: 'src-pwa/register-service-worker', + // pwaServiceWorker: 'src-pwa/custom-service-worker', + // pwaManifestFile: 'src-pwa/manifest.json', + // electronMain: 'src-electron/electron-main', + // electronPreload: 'src-electron/electron-preload' + // bexManifestFile: 'src-bex/manifest.json + // }, + + // https://v2.quasar.dev/quasar-cli-vite/developing-ssr/configuring-ssr + ssr: { + prodPort: 3000, // The default port that the production server should use + // (gets superseded if process.env.PORT is specified at runtime) + + middlewares: [ + 'render', // keep this as last one + ], + + // extendPackageJson (json) {}, + // extendSSRWebserverConf (esbuildConf) {}, + + // manualStoreSerialization: true, + // manualStoreSsrContextInjection: true, + // manualStoreHydration: true, + // manualPostHydrationTrigger: true, + + pwa: false, + // pwaOfflineHtmlFilename: 'offline.html', // do NOT use index.html as name! + + // pwaExtendGenerateSWOptions (cfg) {}, + // pwaExtendInjectManifestOptions (cfg) {} + }, + + // https://v2.quasar.dev/quasar-cli-vite/developing-pwa/configuring-pwa + pwa: { + workboxMode: 'GenerateSW', // 'GenerateSW' or 'InjectManifest' + // swFilename: 'sw.js', + // manifestFilename: 'manifest.json', + // extendManifestJson (json) {}, + // useCredentialsForManifestTag: true, + // injectPwaMetaTags: false, + // extendPWACustomSWConf (esbuildConf) {}, + // extendGenerateSWOptions (cfg) {}, + // extendInjectManifestOptions (cfg) {} + }, + + // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-cordova-apps/configuring-cordova + cordova: { + // noIosLegacyBuildFlag: true, // uncomment only if you know what you are doing + }, + + // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-capacitor-apps/configuring-capacitor + capacitor: { + hideSplashscreen: true, + }, + + // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-electron-apps/configuring-electron + electron: { + // extendElectronMainConf (esbuildConf) {}, + // extendElectronPreloadConf (esbuildConf) {}, + + // extendPackageJson (json) {}, + + // Electron preload scripts (if any) from /src-electron, WITHOUT file extension + preloadScripts: ['electron-preload'], + + // specify the debugging port to use for the Electron app when running in development mode + inspectPort: 5858, + + bundler: 'packager', // 'packager' or 'builder' + + packager: { + // https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options + // OS X / Mac App Store + // appBundleId: '', + // appCategoryType: '', + // osxSign: '', + // protocol: 'myapp://path', + // Windows only + // win32metadata: { ... } + }, + + builder: { + // https://www.electron.build/configuration/configuration + + appId: 'app', + }, + }, + + // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-browser-extensions/configuring-bex + bex: { + // extendBexScriptsConf (esbuildConf) {}, + // extendBexManifestJson (json) {}, + + /** + * The list of extra scripts (js/ts) not in your bex manifest that you want to + * compile and use in your browser extension. Maybe dynamic use them? + * + * Each entry in the list should be a relative filename to /src-bex/ + * + * @example [ 'my-script.ts', 'sub-folder/my-other-script.js' ] + */ + extraScripts: [], + }, + }; +}); diff --git a/app/scripts/gen-swiss.cjs b/app/scripts/gen-swiss.cjs new file mode 100644 index 0000000..cbb7cc9 --- /dev/null +++ b/app/scripts/gen-swiss.cjs @@ -0,0 +1,25 @@ +const fs = require('fs') +const path = require('path') +const infile = path.join(__dirname, '..', '..', 'CH.txt') +const out = fs.readFileSync(infile, 'utf8') +const lines = out.split(/\r?\n/) +const map = new Map() +for (const line of lines) { + if (!line || line.trim() === '') continue + const parts = line.split('\t') + const zip = parts[1] + const name = parts[2] + const canton = parts[4] || '' + if (!zip) continue + if (!map.has(zip)) { + map.set(zip, { zip, city: name, canton }) + } +} +const arr = Array.from(map.values()) +function escapeStr(s){ return String(s).replace(/\\/g,'\\\\').replace(/'/g, "\\'") } +let ts = 'export const SWISS_CITIES = [\n' +for (const e of arr) { + ts += ` { zip: '${escapeStr(e.zip)}', city: '${escapeStr(e.city)}', canton: '${escapeStr(e.canton)}' },\n` +} +ts += ']\n' +console.log(ts) diff --git a/app/scripts/gen-swiss.js b/app/scripts/gen-swiss.js new file mode 100644 index 0000000..0e1a84e --- /dev/null +++ b/app/scripts/gen-swiss.js @@ -0,0 +1,26 @@ +const fs = require('fs') +const path = require('path') +const infile = path.join(__dirname, '..', '..', 'CH.txt') +const out = fs.readFileSync(infile, 'utf8') +const lines = out.split(/\r?\n/) +const map = new Map() +for (const line of lines) { + if (!line || line.trim() === '') continue + const parts = line.split('\t') + // parts: 0=CH,1=zip,2=name,3=canton full,4=canton code... + const zip = parts[1] + const name = parts[2] + const canton = parts[4] || '' + if (!zip) continue + if (!map.has(zip)) { + map.set(zip, { zip, city: name, canton }) + } +} +const arr = Array.from(map.values()) +function escapeStr(s){ return s.replace(/\\/g,'\\\\').replace(/'/g, "\\'") } +let ts = 'export const SWISS_CITIES = [\n' +for (const e of arr) { + ts += ` { zip: '${escapeStr(e.zip)}', city: '${escapeStr(e.city)}', canton: '${escapeStr(e.canton)}' },\n` +} +ts += ']\n' +console.log(ts) diff --git a/app/scripts/swiss-out.ts b/app/scripts/swiss-out.ts new file mode 100644 index 0000000..c1bcf5f --- /dev/null +++ b/app/scripts/swiss-out.ts @@ -0,0 +1,3365 @@ +export const SWISS_CITIES = [ + { zip: '5000', city: 'Aarau', canton: 'AG' }, + { zip: '5001', city: 'Aarau 1', canton: 'AG' }, + { zip: '5004', city: 'Aarau', canton: 'AG' }, + { zip: '5017', city: 'Barmelweid', canton: 'AG' }, + { zip: '5018', city: 'Erlinsbach', canton: 'AG' }, + { zip: '5022', city: 'Rombach', canton: 'AG' }, + { zip: '5023', city: 'Biberstein', canton: 'AG' }, + { zip: '5024', city: 'Küttigen', canton: 'AG' }, + { zip: '5025', city: 'Asp', canton: 'AG' }, + { zip: '5026', city: 'Densbüren', canton: 'AG' }, + { zip: '5032', city: 'Aarau Rohr', canton: 'AG' }, + { zip: '5033', city: 'Buchs AG', canton: 'AG' }, + { zip: '5034', city: 'Suhr', canton: 'AG' }, + { zip: '5035', city: 'Unterentfelden', canton: 'AG' }, + { zip: '5036', city: 'Oberentfelden', canton: 'AG' }, + { zip: '5037', city: 'Muhen', canton: 'AG' }, + { zip: '5042', city: 'Hirschthal', canton: 'AG' }, + { zip: '5722', city: 'Gränichen', canton: 'AG' }, + { zip: '5300', city: 'Turgi', canton: 'AG' }, + { zip: '5301', city: 'Siggenthal Station', canton: 'AG' }, + { zip: '5303', city: 'Würenlingen', canton: 'AG' }, + { zip: '5400', city: 'Baden', canton: 'AG' }, + { zip: '5401', city: 'Baden', canton: 'AG' }, + { zip: '5402', city: 'Baden', canton: 'AG' }, + { zip: '5404', city: 'Baden', canton: 'AG' }, + { zip: '5405', city: 'Baden', canton: 'AG' }, + { zip: '5406', city: 'Rütihof', canton: 'AG' }, + { zip: '5408', city: 'Ennetbaden', canton: 'AG' }, + { zip: '5412', city: 'Vogelsang AG', canton: 'AG' }, + { zip: '5413', city: 'Birmenstorf AG', canton: 'AG' }, + { zip: '5415', city: 'Rieden AG', canton: 'AG' }, + { zip: '5416', city: 'Kirchdorf AG', canton: 'AG' }, + { zip: '5417', city: 'Untersiggenthal', canton: 'AG' }, + { zip: '5420', city: 'Ehrendingen', canton: 'AG' }, + { zip: '5423', city: 'Freienwil', canton: 'AG' }, + { zip: '5430', city: 'Wettingen 1', canton: 'AG' }, + { zip: '5432', city: 'Neuenhof', canton: 'AG' }, + { zip: '5436', city: 'Würenlos', canton: 'AG' }, + { zip: '5442', city: 'Fislisbach', canton: 'AG' }, + { zip: '5443', city: 'Niederrohrdorf', canton: 'AG' }, + { zip: '5444', city: 'Künten', canton: 'AG' }, + { zip: '5452', city: 'Oberrohrdorf', canton: 'AG' }, + { zip: '5453', city: 'Remetschwil', canton: 'AG' }, + { zip: '5454', city: 'Bellikon', canton: 'AG' }, + { zip: '5506', city: 'Mägenwil', canton: 'AG' }, + { zip: '5507', city: 'Mellingen', canton: 'AG' }, + { zip: '5512', city: 'Wohlenschwil', canton: 'AG' }, + { zip: '5608', city: 'Stetten AG', canton: 'AG' }, + { zip: '8109', city: 'Kloster Fahr', canton: 'AG' }, + { zip: '8956', city: 'Killwangen', canton: 'AG' }, + { zip: '8957', city: 'Spreitenbach', canton: 'AG' }, + { zip: '8962', city: 'Bergdietikon', canton: 'AG' }, + { zip: '5445', city: 'Eggenwil', canton: 'AG' }, + { zip: '5522', city: 'Tägerig', canton: 'AG' }, + { zip: '5524', city: 'Niederwil AG', canton: 'AG' }, + { zip: '5525', city: 'Fischbach-Göslikon', canton: 'AG' }, + { zip: '5605', city: 'Dottikon', canton: 'AG' }, + { zip: '5607', city: 'Hägglingen', canton: 'AG' }, + { zip: '5610', city: 'Wohlen AG', canton: 'AG' }, + { zip: '5611', city: 'Anglikon', canton: 'AG' }, + { zip: '5612', city: 'Villmergen', canton: 'AG' }, + { zip: '5613', city: 'Hilfikon', canton: 'AG' }, + { zip: '5614', city: 'Sarmenstorf', canton: 'AG' }, + { zip: '5619', city: 'Büttikon AG', canton: 'AG' }, + { zip: '5620', city: 'Bremgarten AG', canton: 'AG' }, + { zip: '5621', city: 'Zufikon', canton: 'AG' }, + { zip: '5626', city: 'Hermetschwil-Staffeln', canton: 'AG' }, + { zip: '8905', city: 'Arni-Islisberg', canton: 'AG' }, + { zip: '8916', city: 'Jonen', canton: 'AG' }, + { zip: '8917', city: 'Oberlunkhofen', canton: 'AG' }, + { zip: '8918', city: 'Unterlunkhofen', canton: 'AG' }, + { zip: '8964', city: 'Rudolfstetten', canton: 'AG' }, + { zip: '8965', city: 'Berikon', canton: 'AG' }, + { zip: '8966', city: 'Oberwil-Lieli', canton: 'AG' }, + { zip: '8967', city: 'Widen', canton: 'AG' }, + { zip: '5105', city: 'Auenstein', canton: 'AG' }, + { zip: '5106', city: 'Veltheim AG', canton: 'AG' }, + { zip: '5107', city: 'Schinznach Dorf', canton: 'AG' }, + { zip: '5108', city: 'Oberflachs', canton: 'AG' }, + { zip: '5112', city: 'Thalheim AG', canton: 'AG' }, + { zip: '5116', city: 'Schinznach Bad', canton: 'AG' }, + { zip: '5200', city: 'Brugg AG', canton: 'AG' }, + { zip: '5201', city: 'Brugg AG', canton: 'AG' }, + { zip: '5210', city: 'Windisch', canton: 'AG' }, + { zip: '5212', city: 'Hausen AG', canton: 'AG' }, + { zip: '5213', city: 'Villnachern', canton: 'AG' }, + { zip: '5222', city: 'Umiken', canton: 'AG' }, + { zip: '5223', city: 'Riniken', canton: 'AG' }, + { zip: '5225', city: 'Bözberg', canton: 'AG' }, + { zip: '5232', city: 'Villigen PSI', canton: 'AG' }, + { zip: '5233', city: 'Stilli', canton: 'AG' }, + { zip: '5234', city: 'Villigen', canton: 'AG' }, + { zip: '5235', city: 'Rüfenach AG', canton: 'AG' }, + { zip: '5236', city: 'Remigen', canton: 'AG' }, + { zip: '5237', city: 'Mönthal', canton: 'AG' }, + { zip: '5242', city: 'Lupfig', canton: 'AG' }, + { zip: '5243', city: 'Mülligen', canton: 'AG' }, + { zip: '5244', city: 'Birrhard', canton: 'AG' }, + { zip: '5245', city: 'Habsburg', canton: 'AG' }, + { zip: '5246', city: 'Scherz', canton: 'AG' }, + { zip: '5318', city: 'Mandach', canton: 'AG' }, + { zip: '5040', city: 'Schöftland', canton: 'AG' }, + { zip: '5043', city: 'Holziken', canton: 'AG' }, + { zip: '5044', city: 'Schlossrued', canton: 'AG' }, + { zip: '5046', city: 'Walde AG', canton: 'AG' }, + { zip: '5708', city: 'Birrwil', canton: 'AG' }, + { zip: '5712', city: 'Beinwil am See', canton: 'AG' }, + { zip: '5723', city: 'Teufenthal AG', canton: 'AG' }, + { zip: '5724', city: 'Dürrenäsch', canton: 'AG' }, + { zip: '5725', city: 'Leutwil', canton: 'AG' }, + { zip: '5726', city: 'Unterkulm', canton: 'AG' }, + { zip: '5727', city: 'Oberkulm', canton: 'AG' }, + { zip: '5728', city: 'Gontenschwil', canton: 'AG' }, + { zip: '5732', city: 'Zetzwil', canton: 'AG' }, + { zip: '5733', city: 'Leimbach AG', canton: 'AG' }, + { zip: '5734', city: 'Reinach AG', canton: 'AG' }, + { zip: '5736', city: 'Burg AG', canton: 'AG' }, + { zip: '5737', city: 'Menziken', canton: 'AG' }, + { zip: '4333', city: 'Münchwilen AG', canton: 'AG' }, + { zip: '4334', city: 'Sisseln AG', canton: 'AG' }, + { zip: '5027', city: 'Herznach', canton: 'AG' }, + { zip: '5028', city: 'Ueken', canton: 'AG' }, + { zip: '5062', city: 'Oberhof', canton: 'AG' }, + { zip: '5063', city: 'Wölflinswil', canton: 'AG' }, + { zip: '5064', city: 'Wittnau', canton: 'AG' }, + { zip: '5070', city: 'Frick', canton: 'AG' }, + { zip: '5072', city: 'Oeschgen', canton: 'AG' }, + { zip: '5073', city: 'Gipf-Oberfrick', canton: 'AG' }, + { zip: '5074', city: 'Eiken', canton: 'AG' }, + { zip: '5075', city: 'Hornussen', canton: 'AG' }, + { zip: '5076', city: 'Bözen', canton: 'AG' }, + { zip: '5077', city: 'Elfingen', canton: 'AG' }, + { zip: '5078', city: 'Effingen', canton: 'AG' }, + { zip: '5079', city: 'Zeihen', canton: 'AG' }, + { zip: '5080', city: 'Laufenburg', canton: 'AG' }, + { zip: '5082', city: 'Kaisten', canton: 'AG' }, + { zip: '5083', city: 'Ittenthal', canton: 'AG' }, + { zip: '5084', city: 'Rheinsulz', canton: 'AG' }, + { zip: '5085', city: 'Sulz AG', canton: 'AG' }, + { zip: '5272', city: 'Gansingen', canton: 'AG' }, + { zip: '5273', city: 'Oberhofen AG', canton: 'AG' }, + { zip: '5274', city: 'Mettau', canton: 'AG' }, + { zip: '5275', city: 'Etzgen', canton: 'AG' }, + { zip: '5276', city: 'Wil AG', canton: 'AG' }, + { zip: '5277', city: 'Hottwil', canton: 'AG' }, + { zip: '5326', city: 'Schwaderloch', canton: 'AG' }, + { zip: '5102', city: 'Rupperswil', canton: 'AG' }, + { zip: '5103', city: 'Wildegg', canton: 'AG' }, + { zip: '5113', city: 'Holderbank AG', canton: 'AG' }, + { zip: '5502', city: 'Hunzenschwil', canton: 'AG' }, + { zip: '5503', city: 'Schafisheim', canton: 'AG' }, + { zip: '5504', city: 'Othmarsingen', canton: 'AG' }, + { zip: '5505', city: 'Brunegg', canton: 'AG' }, + { zip: '5600', city: 'Lenzburg 1', canton: 'AG' }, + { zip: '5603', city: 'Staufen', canton: 'AG' }, + { zip: '5604', city: 'Hendschiken', canton: 'AG' }, + { zip: '5606', city: 'Dintikon', canton: 'AG' }, + { zip: '5615', city: 'Fahrwangen', canton: 'AG' }, + { zip: '5616', city: 'Meisterschwanden', canton: 'AG' }, + { zip: '5617', city: 'Tennwil', canton: 'AG' }, + { zip: '5702', city: 'Niederlenz', canton: 'AG' }, + { zip: '5703', city: 'Seon', canton: 'AG' }, + { zip: '5704', city: 'Egliswil', canton: 'AG' }, + { zip: '5705', city: 'Hallwil', canton: 'AG' }, + { zip: '5706', city: 'Boniswil', canton: 'AG' }, + { zip: '5707', city: 'Seengen', canton: 'AG' }, + { zip: '5618', city: 'Bettwil', canton: 'AG' }, + { zip: '5622', city: 'Waltenschwil', canton: 'AG' }, + { zip: '5623', city: 'Boswil', canton: 'AG' }, + { zip: '5624', city: 'Bünzen', canton: 'AG' }, + { zip: '5625', city: 'Kallern', canton: 'AG' }, + { zip: '5627', city: 'Besenbüren', canton: 'AG' }, + { zip: '5628', city: 'Aristau', canton: 'AG' }, + { zip: '5630', city: 'Muri AG', canton: 'AG' }, + { zip: '5632', city: 'Buttwil', canton: 'AG' }, + { zip: '5634', city: 'Merenschwand', canton: 'AG' }, + { zip: '5636', city: 'Benzenschwil', canton: 'AG' }, + { zip: '5637', city: 'Geltwil', canton: 'AG' }, + { zip: '5642', city: 'Mühlau', canton: 'AG' }, + { zip: '5643', city: 'Alikon', canton: 'AG' }, + { zip: '5644', city: 'Auw', canton: 'AG' }, + { zip: '5645', city: 'Fenkrieden', canton: 'AG' }, + { zip: '5646', city: 'Abtwil AG', canton: 'AG' }, + { zip: '5647', city: 'Oberrüti', canton: 'AG' }, + { zip: '6042', city: 'Dietwil', canton: 'AG' }, + { zip: '8919', city: 'Rottenschwil', canton: 'AG' }, + { zip: '4303', city: 'Kaiseraugst Liebrüti', canton: 'AG' }, + { zip: '4305', city: 'Olsberg', canton: 'AG' }, + { zip: '4310', city: 'Rheinfelden', canton: 'AG' }, + { zip: '4312', city: 'Magden', canton: 'AG' }, + { zip: '4313', city: 'Möhlin', canton: 'AG' }, + { zip: '4314', city: 'Zeiningen', canton: 'AG' }, + { zip: '4315', city: 'Zuzgen', canton: 'AG' }, + { zip: '4316', city: 'Hellikon', canton: 'AG' }, + { zip: '4317', city: 'Wegenstetten', canton: 'AG' }, + { zip: '4322', city: 'Mumpf', canton: 'AG' }, + { zip: '4323', city: 'Wallbach', canton: 'AG' }, + { zip: '4324', city: 'Obermumpf', canton: 'AG' }, + { zip: '4325', city: 'Schupfart', canton: 'AG' }, + { zip: '4332', city: 'Stein AG', canton: 'AG' }, + { zip: '4663', city: 'Aarburg', canton: 'AG' }, + { zip: '4665', city: 'Oftringen 1', canton: 'AG' }, + { zip: '4800', city: 'Zofingen', canton: 'AG' }, + { zip: '4801', city: 'Zofingen', canton: 'AG' }, + { zip: '4802', city: 'Strengelbach', canton: 'AG' }, + { zip: '4803', city: 'Vordemwald', canton: 'AG' }, + { zip: '4805', city: 'Brittnau', canton: 'AG' }, + { zip: '4807', city: 'Zofingen PostFinance', canton: 'AG' }, + { zip: '4808', city: 'Zofingen PF', canton: 'AG' }, + { zip: '4809', city: 'Zofingen PF', canton: 'AG' }, + { zip: '4810', city: 'Zofingen PF', canton: 'AG' }, + { zip: '4812', city: 'Mühlethal', canton: 'AG' }, + { zip: '4813', city: 'Uerkheim', canton: 'AG' }, + { zip: '4814', city: 'Bottenwil', canton: 'AG' }, + { zip: '4852', city: 'Rothrist', canton: 'AG' }, + { zip: '4853', city: 'Murgenthal', canton: 'AG' }, + { zip: '4856', city: 'Glashütten', canton: 'AG' }, + { zip: '5053', city: 'Wittwil', canton: 'AG' }, + { zip: '5054', city: 'Moosleerau', canton: 'AG' }, + { zip: '5056', city: 'Attelwil', canton: 'AG' }, + { zip: '5057', city: 'Reitnau', canton: 'AG' }, + { zip: '5058', city: 'Wiliberg', canton: 'AG' }, + { zip: '5742', city: 'Kölliken', canton: 'AG' }, + { zip: '5745', city: 'Safenwil', canton: 'AG' }, + { zip: '5304', city: 'Endingen', canton: 'AG' }, + { zip: '5305', city: 'Unterendingen', canton: 'AG' }, + { zip: '5306', city: 'Tegerfelden', canton: 'AG' }, + { zip: '5312', city: 'Döttingen', canton: 'AG' }, + { zip: '5313', city: 'Klingnau', canton: 'AG' }, + { zip: '5314', city: 'Kleindöttingen', canton: 'AG' }, + { zip: '5315', city: 'Böttstein', canton: 'AG' }, + { zip: '5316', city: 'Leuggern', canton: 'AG' }, + { zip: '5317', city: 'Hettenschwil', canton: 'AG' }, + { zip: '5322', city: 'Koblenz', canton: 'AG' }, + { zip: '5323', city: 'Rietheim', canton: 'AG' }, + { zip: '5324', city: 'Full-Reuenthal', canton: 'AG' }, + { zip: '5325', city: 'Leibstadt', canton: 'AG' }, + { zip: '5330', city: 'Bad Zurzach', canton: 'AG' }, + { zip: '5332', city: 'Rekingen AG', canton: 'AG' }, + { zip: '5333', city: 'Baldingen', canton: 'AG' }, + { zip: '5334', city: 'Böbikon', canton: 'AG' }, + { zip: '5425', city: 'Schneisingen', canton: 'AG' }, + { zip: '5426', city: 'Lengnau AG', canton: 'AG' }, + { zip: '5462', city: 'Siglistorf', canton: 'AG' }, + { zip: '5463', city: 'Wislikofen', canton: 'AG' }, + { zip: '5464', city: 'Rümikon AG', canton: 'AG' }, + { zip: '5465', city: 'Mellikon', canton: 'AG' }, + { zip: '5466', city: 'Kaiserstuhl AG', canton: 'AG' }, + { zip: '5467', city: 'Fisibach', canton: 'AG' }, + { zip: '9050', city: 'Appenzell', canton: 'AI' }, + { zip: '9054', city: 'Haslen AI', canton: 'AI' }, + { zip: '9057', city: 'Wasserauen', canton: 'AI' }, + { zip: '9058', city: 'Brülisau', canton: 'AI' }, + { zip: '9108', city: 'Jakobsbad', canton: 'AI' }, + { zip: '9413', city: 'Oberegg', canton: 'AI' }, + { zip: '9442', city: 'Büriswilen', canton: 'AI' }, + { zip: '9063', city: 'Stein AR', canton: 'AR' }, + { zip: '9064', city: 'Hundwil', canton: 'AR' }, + { zip: '9100', city: 'Herisau', canton: 'AR' }, + { zip: '9102', city: 'Herisau', canton: 'AR' }, + { zip: '9103', city: 'Schwellbrunn', canton: 'AR' }, + { zip: '9104', city: 'Waldstatt', canton: 'AR' }, + { zip: '9105', city: 'Schönengrund', canton: 'AR' }, + { zip: '9107', city: 'Urnäsch', canton: 'AR' }, + { zip: '9112', city: 'Schachen b. Herisau', canton: 'AR' }, + { zip: '9037', city: 'Speicherschwendi', canton: 'AR' }, + { zip: '9042', city: 'Speicher', canton: 'AR' }, + { zip: '9043', city: 'Trogen', canton: 'AR' }, + { zip: '9052', city: 'Niederteufen', canton: 'AR' }, + { zip: '9053', city: 'Teufen AR', canton: 'AR' }, + { zip: '9055', city: 'Bühler', canton: 'AR' }, + { zip: '9056', city: 'Gais', canton: 'AR' }, + { zip: '9062', city: 'Lustmühle', canton: 'AR' }, + { zip: '9035', city: 'Grub AR', canton: 'AR' }, + { zip: '9038', city: 'Rehetobel', canton: 'AR' }, + { zip: '9044', city: 'Wald AR', canton: 'AR' }, + { zip: '9405', city: 'Wienacht-Tobel', canton: 'AR' }, + { zip: '9410', city: 'Heiden', canton: 'AR' }, + { zip: '9411', city: 'Schachen b. Reute', canton: 'AR' }, + { zip: '9426', city: 'Lutzenberg', canton: 'AR' }, + { zip: '9427', city: 'Wolfhalden', canton: 'AR' }, + { zip: '9428', city: 'Walzenhausen', canton: 'AR' }, + { zip: '2333', city: 'La Ferrière', canton: 'BE' }, + { zip: '2345', city: 'Le Cerneux-Veusil', canton: 'BE' }, + { zip: '2515', city: 'Prêles', canton: 'BE' }, + { zip: '2516', city: 'Lamboing', canton: 'BE' }, + { zip: '2517', city: 'Diesse', canton: 'BE' }, + { zip: '2518', city: 'Nods', canton: 'BE' }, + { zip: '2520', city: 'La Neuveville', canton: 'BE' }, + { zip: '2534', city: 'Les Prés-d\'Orvin', canton: 'BE' }, + { zip: '2535', city: 'Frinvillier', canton: 'BE' }, + { zip: '2536', city: 'Plagne', canton: 'BE' }, + { zip: '2537', city: 'Vauffelin', canton: 'BE' }, + { zip: '2538', city: 'Romont BE', canton: 'BE' }, + { zip: '2603', city: 'Péry', canton: 'BE' }, + { zip: '2604', city: 'La Heutte', canton: 'BE' }, + { zip: '2605', city: 'Sonceboz-Sombeval', canton: 'BE' }, + { zip: '2606', city: 'Corgémont', canton: 'BE' }, + { zip: '2607', city: 'Cortébert', canton: 'BE' }, + { zip: '2608', city: 'Courtelary', canton: 'BE' }, + { zip: '2610', city: 'St-Imier', canton: 'BE' }, + { zip: '2612', city: 'Cormoret', canton: 'BE' }, + { zip: '2613', city: 'Villeret', canton: 'BE' }, + { zip: '2615', city: 'Sonvilier', canton: 'BE' }, + { zip: '2616', city: 'Renan BE', canton: 'BE' }, + { zip: '2710', city: 'Tavannes', canton: 'BE' }, + { zip: '2712', city: 'Le Fuet', canton: 'BE' }, + { zip: '2713', city: 'Bellelay', canton: 'BE' }, + { zip: '2715', city: 'Monible', canton: 'BE' }, + { zip: '2716', city: 'Sornetan', canton: 'BE' }, + { zip: '2717', city: 'Fornet-Dessous', canton: 'BE' }, + { zip: '2720', city: 'Tramelan', canton: 'BE' }, + { zip: '2722', city: 'Les Reussilles', canton: 'BE' }, + { zip: '2723', city: 'Mont-Tramelan', canton: 'BE' }, + { zip: '2732', city: 'Loveresse', canton: 'BE' }, + { zip: '2733', city: 'Pontenet', canton: 'BE' }, + { zip: '2735', city: 'Malleray-Bévilard', canton: 'BE' }, + { zip: '2736', city: 'Sorvilier', canton: 'BE' }, + { zip: '2738', city: 'Court', canton: 'BE' }, + { zip: '2740', city: 'Moutier', canton: 'BE' }, + { zip: '2742', city: 'Perrefitte', canton: 'BE' }, + { zip: '2743', city: 'Eschert', canton: 'BE' }, + { zip: '2744', city: 'Belprahon', canton: 'BE' }, + { zip: '2745', city: 'Grandval', canton: 'BE' }, + { zip: '2746', city: 'Crémines', canton: 'BE' }, + { zip: '2747', city: 'Corcelles BE', canton: 'BE' }, + { zip: '2748', city: 'Souboz', canton: 'BE' }, + { zip: '2762', city: 'Roches BE', canton: 'BE' }, + { zip: '2827', city: 'Schelten', canton: 'BE' }, + { zip: '2500', city: 'Biel/Bienne 4', canton: 'BE' }, + { zip: '2501', city: 'Biel/Bienne', canton: 'BE' }, + { zip: '2502', city: 'Biel/Bienne', canton: 'BE' }, + { zip: '2503', city: 'Biel/Bienne', canton: 'BE' }, + { zip: '2504', city: 'Biel/Bienne', canton: 'BE' }, + { zip: '2505', city: 'Biel/Bienne', canton: 'BE' }, + { zip: '2512', city: 'Tüscherz-Alfermée', canton: 'BE' }, + { zip: '2513', city: 'Twann', canton: 'BE' }, + { zip: '2514', city: 'Ligerz', canton: 'BE' }, + { zip: '2532', city: 'Macolin', canton: 'BE' }, + { zip: '2533', city: 'Evilard', canton: 'BE' }, + { zip: '2542', city: 'Pieterlen', canton: 'BE' }, + { zip: '2543', city: 'Lengnau BE', canton: 'BE' }, + { zip: '2552', city: 'Orpund', canton: 'BE' }, + { zip: '2553', city: 'Safnern', canton: 'BE' }, + { zip: '2554', city: 'Meinisberg', canton: 'BE' }, + { zip: '2555', city: 'Brügg BE', canton: 'BE' }, + { zip: '2556', city: 'Scheuren', canton: 'BE' }, + { zip: '2558', city: 'Aegerten', canton: 'BE' }, + { zip: '2560', city: 'Nidau', canton: 'BE' }, + { zip: '2562', city: 'Port', canton: 'BE' }, + { zip: '2563', city: 'Ipsach', canton: 'BE' }, + { zip: '2564', city: 'Bellmund', canton: 'BE' }, + { zip: '2572', city: 'Mörigen', canton: 'BE' }, + { zip: '2557', city: 'Studen BE', canton: 'BE' }, + { zip: '2565', city: 'Jens', canton: 'BE' }, + { zip: '2575', city: 'Gerolfingen', canton: 'BE' }, + { zip: '2576', city: 'Lüscherz', canton: 'BE' }, + { zip: '2577', city: 'Siselen BE', canton: 'BE' }, + { zip: '3035', city: 'Frieswil', canton: 'BE' }, + { zip: '3036', city: 'Detligen', canton: 'BE' }, + { zip: '3053', city: 'Lätti', canton: 'BE' }, + { zip: '3054', city: 'Schüpfen', canton: 'BE' }, + { zip: '3225', city: 'Müntschemier', canton: 'BE' }, + { zip: '3226', city: 'Treiten', canton: 'BE' }, + { zip: '3232', city: 'Ins', canton: 'BE' }, + { zip: '3233', city: 'Tschugg', canton: 'BE' }, + { zip: '3234', city: 'Vinelz', canton: 'BE' }, + { zip: '3235', city: 'Erlach', canton: 'BE' }, + { zip: '3236', city: 'Gampelen', canton: 'BE' }, + { zip: '3237', city: 'Brüttelen', canton: 'BE' }, + { zip: '3238', city: 'Gals', canton: 'BE' }, + { zip: '3250', city: 'Lyss', canton: 'BE' }, + { zip: '3251', city: 'Wengi b. Büren', canton: 'BE' }, + { zip: '3252', city: 'Worben', canton: 'BE' }, + { zip: '3255', city: 'Rapperswil BE', canton: 'BE' }, + { zip: '3256', city: 'Seewil', canton: 'BE' }, + { zip: '3257', city: 'Grossaffoltern', canton: 'BE' }, + { zip: '3262', city: 'Suberg', canton: 'BE' }, + { zip: '3263', city: 'Büetigen', canton: 'BE' }, + { zip: '3264', city: 'Diessbach b. Büren', canton: 'BE' }, + { zip: '3266', city: 'Wiler b. Seedorf', canton: 'BE' }, + { zip: '3267', city: 'Seedorf BE', canton: 'BE' }, + { zip: '3268', city: 'Lobsigen', canton: 'BE' }, + { zip: '3270', city: 'Aarberg', canton: 'BE' }, + { zip: '3271', city: 'Radelfingen b. Aarberg', canton: 'BE' }, + { zip: '3272', city: 'Walperswil', canton: 'BE' }, + { zip: '3273', city: 'Kappelen', canton: 'BE' }, + { zip: '3274', city: 'Merzligen', canton: 'BE' }, + { zip: '3282', city: 'Bargen BE', canton: 'BE' }, + { zip: '3283', city: 'Kallnach', canton: 'BE' }, + { zip: '3292', city: 'Busswil BE', canton: 'BE' }, + { zip: '3293', city: 'Dotzigen', canton: 'BE' }, + { zip: '3294', city: 'Meienried', canton: 'BE' }, + { zip: '3295', city: 'Rüti b. Büren', canton: 'BE' }, + { zip: '3296', city: 'Arch', canton: 'BE' }, + { zip: '3297', city: 'Leuzigen', canton: 'BE' }, + { zip: '3298', city: 'Oberwil b. Büren', canton: 'BE' }, + { zip: '3360', city: 'Herzogenbuchsee', canton: 'BE' }, + { zip: '3362', city: 'Niederönz', canton: 'BE' }, + { zip: '3363', city: 'Oberönz', canton: 'BE' }, + { zip: '3365', city: 'Seeberg', canton: 'BE' }, + { zip: '3366', city: 'Bettenhausen', canton: 'BE' }, + { zip: '3367', city: 'Ochlenberg', canton: 'BE' }, + { zip: '3368', city: 'Bleienbach', canton: 'BE' }, + { zip: '3372', city: 'Wanzwil', canton: 'BE' }, + { zip: '3373', city: 'Röthenbach Herzogenbuchsee', canton: 'BE' }, + { zip: '3374', city: 'Wangenried', canton: 'BE' }, + { zip: '3375', city: 'Inkwil', canton: 'BE' }, + { zip: '3376', city: 'Berken', canton: 'BE' }, + { zip: '3377', city: 'Walliswil b. Wangen', canton: 'BE' }, + { zip: '3380', city: 'Wangen an der Aare', canton: 'BE' }, + { zip: '3464', city: 'Schmidigen-Mühleweg', canton: 'BE' }, + { zip: '3475', city: 'Hermiswil', canton: 'BE' }, + { zip: '3476', city: 'Oschwand', canton: 'BE' }, + { zip: '4536', city: 'Attiswil', canton: 'BE' }, + { zip: '4537', city: 'Wiedlisbach', canton: 'BE' }, + { zip: '4538', city: 'Oberbipp', canton: 'BE' }, + { zip: '4539', city: 'Rumisberg', canton: 'BE' }, + { zip: '4704', city: 'Niederbipp', canton: 'BE' }, + { zip: '4900', city: 'Langenthal', canton: 'BE' }, + { zip: '4901', city: 'Langenthal', canton: 'BE' }, + { zip: '4911', city: 'Schwarzhäusern', canton: 'BE' }, + { zip: '4912', city: 'Aarwangen', canton: 'BE' }, + { zip: '4913', city: 'Bannwil', canton: 'BE' }, + { zip: '4914', city: 'Roggwil BE', canton: 'BE' }, + { zip: '4916', city: 'Untersteckholz', canton: 'BE' }, + { zip: '4917', city: 'Melchnau', canton: 'BE' }, + { zip: '4919', city: 'Reisiswil', canton: 'BE' }, + { zip: '4922', city: 'Thunstetten', canton: 'BE' }, + { zip: '4923', city: 'Wynau', canton: 'BE' }, + { zip: '4924', city: 'Obersteckholz', canton: 'BE' }, + { zip: '4932', city: 'Lotzwil', canton: 'BE' }, + { zip: '4933', city: 'Rütschelen', canton: 'BE' }, + { zip: '4934', city: 'Madiswil', canton: 'BE' }, + { zip: '4935', city: 'Leimiswil', canton: 'BE' }, + { zip: '4936', city: 'Kleindietwil', canton: 'BE' }, + { zip: '4937', city: 'Ursenbach', canton: 'BE' }, + { zip: '4938', city: 'Rohrbach', canton: 'BE' }, + { zip: '4942', city: 'Walterswil BE', canton: 'BE' }, + { zip: '4943', city: 'Oeschenbach', canton: 'BE' }, + { zip: '4944', city: 'Auswil', canton: 'BE' }, + { zip: '4950', city: 'Huttwil', canton: 'BE' }, + { zip: '4952', city: 'Eriswil', canton: 'BE' }, + { zip: '4953', city: 'Schwarzenbach (Huttwil)', canton: 'BE' }, + { zip: '4954', city: 'Wyssachen', canton: 'BE' }, + { zip: '4955', city: 'Gondiswil', canton: 'BE' }, + { zip: '3309', city: 'Kernenried', canton: 'BE' }, + { zip: '3315', city: 'Kräiligen', canton: 'BE' }, + { zip: '3324', city: 'Hindelbank', canton: 'BE' }, + { zip: '3325', city: 'Hettiswil b. Hindelbank', canton: 'BE' }, + { zip: '3326', city: 'Krauchthal', canton: 'BE' }, + { zip: '3400', city: 'Burgdorf', canton: 'BE' }, + { zip: '3401', city: 'Burgdorf', canton: 'BE' }, + { zip: '3412', city: 'Heimiswil', canton: 'BE' }, + { zip: '3413', city: 'Kaltacker', canton: 'BE' }, + { zip: '3414', city: 'Oberburg', canton: 'BE' }, + { zip: '3415', city: 'Schafhausen im Emmental', canton: 'BE' }, + { zip: '3416', city: 'Affoltern im Emmental', canton: 'BE' }, + { zip: '3417', city: 'Rüegsau', canton: 'BE' }, + { zip: '3418', city: 'Rüegsbach', canton: 'BE' }, + { zip: '3419', city: 'Biembach im Emmental', canton: 'BE' }, + { zip: '3421', city: 'Lyssach', canton: 'BE' }, + { zip: '3422', city: 'Kirchberg BE', canton: 'BE' }, + { zip: '3423', city: 'Ersigen', canton: 'BE' }, + { zip: '3424', city: 'Niederösch', canton: 'BE' }, + { zip: '3425', city: 'Willadingen', canton: 'BE' }, + { zip: '3426', city: 'Aefligen', canton: 'BE' }, + { zip: '3427', city: 'Utzenstorf', canton: 'BE' }, + { zip: '3428', city: 'Wiler b. Utzenstorf', canton: 'BE' }, + { zip: '3429', city: 'Hellsau', canton: 'BE' }, + { zip: '3432', city: 'Lützelflüh-Goldbach', canton: 'BE' }, + { zip: '3433', city: 'Schwanden im Emmental', canton: 'BE' }, + { zip: '3435', city: 'Ramsei', canton: 'BE' }, + { zip: '3436', city: 'Zollbrück', canton: 'BE' }, + { zip: '3437', city: 'Rüderswil', canton: 'BE' }, + { zip: '3438', city: 'Lauperswil', canton: 'BE' }, + { zip: '3439', city: 'Ranflüh', canton: 'BE' }, + { zip: '3452', city: 'Grünenmatt', canton: 'BE' }, + { zip: '3453', city: 'Heimisbach', canton: 'BE' }, + { zip: '3454', city: 'Sumiswald', canton: 'BE' }, + { zip: '3455', city: 'Grünen', canton: 'BE' }, + { zip: '3456', city: 'Trachselwald', canton: 'BE' }, + { zip: '3457', city: 'Wasen im Emmental', canton: 'BE' }, + { zip: '3462', city: 'Weier im Emmental', canton: 'BE' }, + { zip: '3463', city: 'Häusernmoos im Emmental', canton: 'BE' }, + { zip: '3465', city: 'Dürrenroth', canton: 'BE' }, + { zip: '3472', city: 'Rumendingen', canton: 'BE' }, + { zip: '3473', city: 'Alchenstorf', canton: 'BE' }, + { zip: '3474', city: 'Rüedisbach', canton: 'BE' }, + { zip: '3534', city: 'Signau', canton: 'BE' }, + { zip: '3535', city: 'Schüpbach', canton: 'BE' }, + { zip: '3536', city: 'Aeschau', canton: 'BE' }, + { zip: '3537', city: 'Eggiwil', canton: 'BE' }, + { zip: '3538', city: 'Röthenbach im Emmental', canton: 'BE' }, + { zip: '3543', city: 'Emmenmatt', canton: 'BE' }, + { zip: '3550', city: 'Langnau im Emmental', canton: 'BE' }, + { zip: '3551', city: 'Oberfrittenbach', canton: 'BE' }, + { zip: '3552', city: 'Bärau', canton: 'BE' }, + { zip: '3553', city: 'Gohl', canton: 'BE' }, + { zip: '3555', city: 'Trubschachen', canton: 'BE' }, + { zip: '3556', city: 'Trub', canton: 'BE' }, + { zip: '3557', city: 'Fankhaus (Trub)', canton: 'BE' }, + { zip: '3618', city: 'Süderen', canton: 'BE' }, + { zip: '4564', city: 'Zielebach', canton: 'BE' }, + { zip: '6197', city: 'Schangnau', canton: 'BE' }, + { zip: '1595', city: 'Clavaleyres', canton: 'BE' }, + { zip: '1738', city: 'Sangernboden', canton: 'BE' }, + { zip: '1797', city: 'Münchenwiler', canton: 'BE' }, + { zip: '3000', city: 'Bern 9', canton: 'BE' }, + { zip: '3001', city: 'Bern', canton: 'BE' }, + { zip: '3002', city: 'Bern PostFinance', canton: 'BE' }, + { zip: '3003', city: 'Bern', canton: 'BE' }, + { zip: '3004', city: 'Bern', canton: 'BE' }, + { zip: '3005', city: 'Bern', canton: 'BE' }, + { zip: '3006', city: 'Bern', canton: 'BE' }, + { zip: '3007', city: 'Bern', canton: 'BE' }, + { zip: '3008', city: 'Bern', canton: 'BE' }, + { zip: '3010', city: 'Bern', canton: 'BE' }, + { zip: '3011', city: 'Bern', canton: 'BE' }, + { zip: '3012', city: 'Bern', canton: 'BE' }, + { zip: '3013', city: 'Bern', canton: 'BE' }, + { zip: '3014', city: 'Bern', canton: 'BE' }, + { zip: '3015', city: 'Bern', canton: 'BE' }, + { zip: '3018', city: 'Bern', canton: 'BE' }, + { zip: '3019', city: 'Bern', canton: 'BE' }, + { zip: '3020', city: 'Bern', canton: 'BE' }, + { zip: '3024', city: 'Bern', canton: 'BE' }, + { zip: '3027', city: 'Bern', canton: 'BE' }, + { zip: '3029', city: 'Bern', canton: 'BE' }, + { zip: '3030', city: 'Bern', canton: 'BE' }, + { zip: '3032', city: 'Hinterkappelen', canton: 'BE' }, + { zip: '3033', city: 'Wohlen b. Bern', canton: 'BE' }, + { zip: '3034', city: 'Murzelen', canton: 'BE' }, + { zip: '3037', city: 'Herrenschwanden', canton: 'BE' }, + { zip: '3038', city: 'Kirchlindach', canton: 'BE' }, + { zip: '3039', city: 'Bern PF OC', canton: 'BE' }, + { zip: '3040', city: 'Bern Verarb.zentr.', canton: 'BE' }, + { zip: '3041', city: 'Bern UBS', canton: 'BE' }, + { zip: '3042', city: 'Ortschwaben', canton: 'BE' }, + { zip: '3043', city: 'Uettligen', canton: 'BE' }, + { zip: '3044', city: 'Innerberg', canton: 'BE' }, + { zip: '3045', city: 'Meikirch', canton: 'BE' }, + { zip: '3046', city: 'Wahlendorf', canton: 'BE' }, + { zip: '3047', city: 'Bremgarten b. Bern', canton: 'BE' }, + { zip: '3048', city: 'Worblaufen', canton: 'BE' }, + { zip: '3049', city: 'Säriswil', canton: 'BE' }, + { zip: '3050', city: 'Bern Swisscom', canton: 'BE' }, + { zip: '3052', city: 'Zollikofen', canton: 'BE' }, + { zip: '3063', city: 'Ittigen', canton: 'BE' }, + { zip: '3065', city: 'Bolligen', canton: 'BE' }, + { zip: '3066', city: 'Stettlen', canton: 'BE' }, + { zip: '3067', city: 'Boll', canton: 'BE' }, + { zip: '3068', city: 'Utzigen', canton: 'BE' }, + { zip: '3071', city: 'Ostermundigen KATA', canton: 'BE' }, + { zip: '3072', city: 'Ostermundigen 1', canton: 'BE' }, + { zip: '3073', city: 'Gümligen', canton: 'BE' }, + { zip: '3074', city: 'Muri b. Bern', canton: 'BE' }, + { zip: '3075', city: 'Vielbringen b. Worb', canton: 'BE' }, + { zip: '3076', city: 'Worb', canton: 'BE' }, + { zip: '3077', city: 'Enggistein', canton: 'BE' }, + { zip: '3078', city: 'Richigen', canton: 'BE' }, + { zip: '3082', city: 'Schlosswil', canton: 'BE' }, + { zip: '3083', city: 'Trimstein', canton: 'BE' }, + { zip: '3084', city: 'Wabern', canton: 'BE' }, + { zip: '3085', city: 'Wabern Weihnachten', canton: 'BE' }, + { zip: '3086', city: 'Englisberg', canton: 'BE' }, + { zip: '3087', city: 'Niedermuhlern', canton: 'BE' }, + { zip: '3088', city: 'Rüeggisberg', canton: 'BE' }, + { zip: '3089', city: 'Hinterfultigen', canton: 'BE' }, + { zip: '3095', city: 'Spiegel b. Bern', canton: 'BE' }, + { zip: '3096', city: 'Oberbalm', canton: 'BE' }, + { zip: '3097', city: 'Liebefeld', canton: 'BE' }, + { zip: '3098', city: 'Schliern b. Köniz', canton: 'BE' }, + { zip: '3099', city: 'Rüti b. Riggisberg', canton: 'BE' }, + { zip: '3110', city: 'Münsingen', canton: 'BE' }, + { zip: '3111', city: 'Tägertschi', canton: 'BE' }, + { zip: '3112', city: 'Allmendingen b. Bern', canton: 'BE' }, + { zip: '3113', city: 'Rubigen', canton: 'BE' }, + { zip: '3114', city: 'Wichtrach', canton: 'BE' }, + { zip: '3115', city: 'Gerzensee', canton: 'BE' }, + { zip: '3116', city: 'Noflen BE', canton: 'BE' }, + { zip: '3122', city: 'Kehrsatz', canton: 'BE' }, + { zip: '3123', city: 'Belp', canton: 'BE' }, + { zip: '3124', city: 'Belpberg', canton: 'BE' }, + { zip: '3125', city: 'Toffen', canton: 'BE' }, + { zip: '3126', city: 'Kaufdorf', canton: 'BE' }, + { zip: '3127', city: 'Lohnstorf', canton: 'BE' }, + { zip: '3128', city: 'Kirchenthurnen', canton: 'BE' }, + { zip: '3132', city: 'Riggisberg', canton: 'BE' }, + { zip: '3144', city: 'Gasel', canton: 'BE' }, + { zip: '3145', city: 'Niederscherli', canton: 'BE' }, + { zip: '3147', city: 'Mittelhäusern', canton: 'BE' }, + { zip: '3148', city: 'Lanzenhäusern', canton: 'BE' }, + { zip: '3150', city: 'Schwarzenburg', canton: 'BE' }, + { zip: '3152', city: 'Mamishaus', canton: 'BE' }, + { zip: '3153', city: 'Rüschegg Gambach', canton: 'BE' }, + { zip: '3154', city: 'Rüschegg Heubach', canton: 'BE' }, + { zip: '3155', city: 'Helgisried-Rohrbach', canton: 'BE' }, + { zip: '3156', city: 'Riffenmatt', canton: 'BE' }, + { zip: '3157', city: 'Milken', canton: 'BE' }, + { zip: '3158', city: 'Guggisberg', canton: 'BE' }, + { zip: '3159', city: 'Riedstätt', canton: 'BE' }, + { zip: '3172', city: 'Niederwangen b. Bern', canton: 'BE' }, + { zip: '3173', city: 'Oberwangen b. Bern', canton: 'BE' }, + { zip: '3174', city: 'Thörishaus', canton: 'BE' }, + { zip: '3176', city: 'Neuenegg', canton: 'BE' }, + { zip: '3177', city: 'Laupen BE', canton: 'BE' }, + { zip: '3179', city: 'Kriechenwil', canton: 'BE' }, + { zip: '3183', city: 'Albligen', canton: 'BE' }, + { zip: '3202', city: 'Frauenkappelen', canton: 'BE' }, + { zip: '3203', city: 'Mühleberg', canton: 'BE' }, + { zip: '3204', city: 'Rosshäusern', canton: 'BE' }, + { zip: '3205', city: 'Gümmenen', canton: 'BE' }, + { zip: '3206', city: 'Ferenbalm', canton: 'BE' }, + { zip: '3207', city: 'Wileroltigen', canton: 'BE' }, + { zip: '3208', city: 'Gurbrü', canton: 'BE' }, + { zip: '3302', city: 'Moosseedorf', canton: 'BE' }, + { zip: '3303', city: 'Jegenstorf', canton: 'BE' }, + { zip: '3305', city: 'Iffwil', canton: 'BE' }, + { zip: '3306', city: 'Etzelkofen', canton: 'BE' }, + { zip: '3308', city: 'Grafenried', canton: 'BE' }, + { zip: '3312', city: 'Fraubrunnen', canton: 'BE' }, + { zip: '3313', city: 'Büren zum Hof', canton: 'BE' }, + { zip: '3314', city: 'Schalunen', canton: 'BE' }, + { zip: '3317', city: 'Limpach', canton: 'BE' }, + { zip: '3321', city: 'Schönbühl Einkaufszentrum', canton: 'BE' }, + { zip: '3322', city: 'Urtenen-Schönbühl', canton: 'BE' }, + { zip: '3323', city: 'Bäriswil BE', canton: 'BE' }, + { zip: '3434', city: 'Landiswil', canton: 'BE' }, + { zip: '3503', city: 'Gysenstein', canton: 'BE' }, + { zip: '3504', city: 'Oberhünigen', canton: 'BE' }, + { zip: '3506', city: 'Grosshöchstetten', canton: 'BE' }, + { zip: '3507', city: 'Biglen', canton: 'BE' }, + { zip: '3508', city: 'Arni BE', canton: 'BE' }, + { zip: '3510', city: 'Häutligen', canton: 'BE' }, + { zip: '3512', city: 'Walkringen', canton: 'BE' }, + { zip: '3513', city: 'Bigenthal', canton: 'BE' }, + { zip: '3531', city: 'Oberthal', canton: 'BE' }, + { zip: '3532', city: 'Zäziwil', canton: 'BE' }, + { zip: '3533', city: 'Bowil', canton: 'BE' }, + { zip: '3629', city: 'Kiesen', canton: 'BE' }, + { zip: '3671', city: 'Herbligen', canton: 'BE' }, + { zip: '3672', city: 'Oberdiessbach', canton: 'BE' }, + { zip: '3673', city: 'Linden', canton: 'BE' }, + { zip: '3674', city: 'Bleiken b. Oberdiessbach', canton: 'BE' }, + { zip: '3600', city: 'Thun', canton: 'BE' }, + { zip: '3602', city: 'Thun', canton: 'BE' }, + { zip: '3603', city: 'Thun', canton: 'BE' }, + { zip: '3604', city: 'Thun', canton: 'BE' }, + { zip: '3607', city: 'Thun', canton: 'BE' }, + { zip: '3608', city: 'Thun', canton: 'BE' }, + { zip: '3609', city: 'Thun', canton: 'BE' }, + { zip: '3612', city: 'Steffisburg', canton: 'BE' }, + { zip: '3613', city: 'Steffisburg', canton: 'BE' }, + { zip: '3614', city: 'Unterlangenegg', canton: 'BE' }, + { zip: '3615', city: 'Heimenschwand', canton: 'BE' }, + { zip: '3616', city: 'Schwarzenegg', canton: 'BE' }, + { zip: '3617', city: 'Fahrni b. Thun', canton: 'BE' }, + { zip: '3619', city: 'Eriz', canton: 'BE' }, + { zip: '3622', city: 'Homberg b. Thun', canton: 'BE' }, + { zip: '3623', city: 'Horrenbach', canton: 'BE' }, + { zip: '3624', city: 'Schwendibach', canton: 'BE' }, + { zip: '3625', city: 'Heiligenschwendi', canton: 'BE' }, + { zip: '3626', city: 'Hünibach', canton: 'BE' }, + { zip: '3627', city: 'Heimberg', canton: 'BE' }, + { zip: '3628', city: 'Uttigen', canton: 'BE' }, + { zip: '3631', city: 'Höfen b. Thun', canton: 'BE' }, + { zip: '3632', city: 'Niederstocken', canton: 'BE' }, + { zip: '3633', city: 'Amsoldingen', canton: 'BE' }, + { zip: '3634', city: 'Thierachern', canton: 'BE' }, + { zip: '3635', city: 'Uebeschi', canton: 'BE' }, + { zip: '3636', city: 'Längenbühl', canton: 'BE' }, + { zip: '3638', city: 'Pohlern', canton: 'BE' }, + { zip: '3645', city: 'Zwieselberg', canton: 'BE' }, + { zip: '3647', city: 'Reutigen', canton: 'BE' }, + { zip: '3652', city: 'Hilterfingen', canton: 'BE' }, + { zip: '3653', city: 'Oberhofen am Thunersee', canton: 'BE' }, + { zip: '3654', city: 'Gunten', canton: 'BE' }, + { zip: '3655', city: 'Sigriswil', canton: 'BE' }, + { zip: '3656', city: 'Tschingel ob Gunten', canton: 'BE' }, + { zip: '3657', city: 'Schwanden (Sigriswil)', canton: 'BE' }, + { zip: '3658', city: 'Merligen', canton: 'BE' }, + { zip: '3661', city: 'Uetendorf', canton: 'BE' }, + { zip: '3662', city: 'Seftigen', canton: 'BE' }, + { zip: '3663', city: 'Gurzelen', canton: 'BE' }, + { zip: '3664', city: 'Burgistein', canton: 'BE' }, + { zip: '3665', city: 'Wattenwil', canton: 'BE' }, + { zip: '1657', city: 'Abländschen', canton: 'BE' }, + { zip: '3766', city: 'Boltigen', canton: 'BE' }, + { zip: '3770', city: 'Zweisimmen', canton: 'BE' }, + { zip: '3771', city: 'Blankenburg', canton: 'BE' }, + { zip: '3772', city: 'St. Stephan', canton: 'BE' }, + { zip: '3773', city: 'Matten (St. Stephan)', canton: 'BE' }, + { zip: '3775', city: 'Lenk im Simmental', canton: 'BE' }, + { zip: '3776', city: 'Oeschseite', canton: 'BE' }, + { zip: '3777', city: 'Saanenmöser', canton: 'BE' }, + { zip: '3778', city: 'Schönried', canton: 'BE' }, + { zip: '3780', city: 'Gstaad', canton: 'BE' }, + { zip: '3781', city: 'Turbach', canton: 'BE' }, + { zip: '3782', city: 'Lauenen b. Gstaad', canton: 'BE' }, + { zip: '3783', city: 'Grund b. Gstaad', canton: 'BE' }, + { zip: '3784', city: 'Feutersoey', canton: 'BE' }, + { zip: '3785', city: 'Gsteig b. Gstaad', canton: 'BE' }, + { zip: '3792', city: 'Saanen', canton: 'BE' }, + { zip: '3646', city: 'Einigen', canton: 'BE' }, + { zip: '3700', city: 'Spiez', canton: 'BE' }, + { zip: '3702', city: 'Hondrich', canton: 'BE' }, + { zip: '3703', city: 'Aeschiried', canton: 'BE' }, + { zip: '3704', city: 'Krattigen', canton: 'BE' }, + { zip: '3705', city: 'Faulensee', canton: 'BE' }, + { zip: '3711', city: 'Mülenen', canton: 'BE' }, + { zip: '3713', city: 'Reichenbach im Kandertal', canton: 'BE' }, + { zip: '3714', city: 'Wengi b. Frutigen', canton: 'BE' }, + { zip: '3715', city: 'Adelboden', canton: 'BE' }, + { zip: '3716', city: 'Kandergrund', canton: 'BE' }, + { zip: '3717', city: 'Blausee-Mitholz', canton: 'BE' }, + { zip: '3718', city: 'Kandersteg', canton: 'BE' }, + { zip: '3722', city: 'Scharnachtal', canton: 'BE' }, + { zip: '3723', city: 'Kiental', canton: 'BE' }, + { zip: '3724', city: 'Ried (Frutigen)', canton: 'BE' }, + { zip: '3725', city: 'Achseten', canton: 'BE' }, + { zip: '3752', city: 'Wimmis', canton: 'BE' }, + { zip: '3753', city: 'Oey', canton: 'BE' }, + { zip: '3754', city: 'Diemtigen', canton: 'BE' }, + { zip: '3755', city: 'Horboden', canton: 'BE' }, + { zip: '3756', city: 'Zwischenflüh', canton: 'BE' }, + { zip: '3757', city: 'Schwenden im Diemtigtal', canton: 'BE' }, + { zip: '3758', city: 'Latterbach', canton: 'BE' }, + { zip: '3762', city: 'Erlenbach im Simmental', canton: 'BE' }, + { zip: '3763', city: 'Därstetten', canton: 'BE' }, + { zip: '3764', city: 'Weissenburg', canton: 'BE' }, + { zip: '3765', city: 'Oberwil im Simmental', canton: 'BE' }, + { zip: '3706', city: 'Leissigen', canton: 'BE' }, + { zip: '3707', city: 'Därligen', canton: 'BE' }, + { zip: '3800', city: 'Sundlauenen', canton: 'BE' }, + { zip: '3802', city: 'Interlaken Ost', canton: 'BE' }, + { zip: '3803', city: 'Beatenberg', canton: 'BE' }, + { zip: '3804', city: 'Habkern', canton: 'BE' }, + { zip: '3805', city: 'Goldswil b. Interlaken', canton: 'BE' }, + { zip: '3806', city: 'Bönigen b. Interlaken', canton: 'BE' }, + { zip: '3807', city: 'Iseltwald', canton: 'BE' }, + { zip: '3812', city: 'Wilderswil', canton: 'BE' }, + { zip: '3813', city: 'Saxeten', canton: 'BE' }, + { zip: '3814', city: 'Gsteigwiler', canton: 'BE' }, + { zip: '3815', city: 'Gündlischwand', canton: 'BE' }, + { zip: '3816', city: 'Lütschental', canton: 'BE' }, + { zip: '3818', city: 'Grindelwald', canton: 'BE' }, + { zip: '3822', city: 'Isenfluh', canton: 'BE' }, + { zip: '3823', city: 'Wengen', canton: 'BE' }, + { zip: '3824', city: 'Stechelberg', canton: 'BE' }, + { zip: '3825', city: 'Mürren', canton: 'BE' }, + { zip: '3826', city: 'Gimmelwald', canton: 'BE' }, + { zip: '3852', city: 'Ringgenberg BE', canton: 'BE' }, + { zip: '3853', city: 'Niederried b. Interlaken', canton: 'BE' }, + { zip: '3854', city: 'Oberried am Brienzersee', canton: 'BE' }, + { zip: '3855', city: 'Brienz BE', canton: 'BE' }, + { zip: '3856', city: 'Brienzwiler', canton: 'BE' }, + { zip: '3857', city: 'Unterbach BE', canton: 'BE' }, + { zip: '3858', city: 'Hofstetten b. Brienz', canton: 'BE' }, + { zip: '3860', city: 'Rosenlaui', canton: 'BE' }, + { zip: '3862', city: 'Innertkirchen', canton: 'BE' }, + { zip: '3863', city: 'Gadmen', canton: 'BE' }, + { zip: '3864', city: 'Guttannen', canton: 'BE' }, + { zip: '6083', city: 'Hasliberg Hohfluh', canton: 'BE' }, + { zip: '6084', city: 'Hasliberg Wasserwendi', canton: 'BE' }, + { zip: '6085', city: 'Hasliberg Goldern', canton: 'BE' }, + { zip: '6086', city: 'Hasliberg Reuti', canton: 'BE' }, + { zip: '4040', city: 'Basel', canton: 'BL' }, + { zip: '4042', city: 'Basel PF OC', canton: 'BL' }, + { zip: '4101', city: 'Bruderholz', canton: 'BL' }, + { zip: '4102', city: 'Binningen 1', canton: 'BL' }, + { zip: '4103', city: 'Bottmingen', canton: 'BL' }, + { zip: '4104', city: 'Oberwil BL', canton: 'BL' }, + { zip: '4105', city: 'Biel-Benken BL', canton: 'BL' }, + { zip: '4106', city: 'Therwil', canton: 'BL' }, + { zip: '4107', city: 'Ettingen', canton: 'BL' }, + { zip: '4123', city: 'Allschwil 1', canton: 'BL' }, + { zip: '4124', city: 'Schönenbuch', canton: 'BL' }, + { zip: '4127', city: 'Birsfelden', canton: 'BL' }, + { zip: '4132', city: 'Muttenz 1', canton: 'BL' }, + { zip: '4142', city: 'Münchenstein 1', canton: 'BL' }, + { zip: '4144', city: 'Arlesheim', canton: 'BL' }, + { zip: '4147', city: 'Aesch BL', canton: 'BL' }, + { zip: '4148', city: 'Pfeffingen', canton: 'BL' }, + { zip: '4153', city: 'Reinach BL', canton: 'BL' }, + { zip: '2814', city: 'Roggenburg', canton: 'BL' }, + { zip: '4117', city: 'Burg im Leimental', canton: 'BL' }, + { zip: '4202', city: 'Duggingen', canton: 'BL' }, + { zip: '4203', city: 'Grellingen', canton: 'BL' }, + { zip: '4222', city: 'Zwingen', canton: 'BL' }, + { zip: '4223', city: 'Blauen', canton: 'BL' }, + { zip: '4224', city: 'Nenzlingen', canton: 'BL' }, + { zip: '4225', city: 'Brislach', canton: 'BL' }, + { zip: '4242', city: 'Laufen', canton: 'BL' }, + { zip: '4243', city: 'Dittingen', canton: 'BL' }, + { zip: '4244', city: 'Röschenz', canton: 'BL' }, + { zip: '4246', city: 'Wahlen b. Laufen', canton: 'BL' }, + { zip: '4253', city: 'Liesberg', canton: 'BL' }, + { zip: '4254', city: 'Liesberg Dorf', canton: 'BL' }, + { zip: '4133', city: 'Pratteln', canton: 'BL' }, + { zip: '4302', city: 'Augst BL', canton: 'BL' }, + { zip: '4304', city: 'Giebenach', canton: 'BL' }, + { zip: '4402', city: 'Frenkendorf', canton: 'BL' }, + { zip: '4410', city: 'Liestal', canton: 'BL' }, + { zip: '4411', city: 'Seltisberg', canton: 'BL' }, + { zip: '4414', city: 'Füllinsdorf', canton: 'BL' }, + { zip: '4415', city: 'Lausen', canton: 'BL' }, + { zip: '4416', city: 'Bubendorf', canton: 'BL' }, + { zip: '4417', city: 'Ziefen', canton: 'BL' }, + { zip: '4419', city: 'Lupsingen', canton: 'BL' }, + { zip: '4422', city: 'Arisdorf', canton: 'BL' }, + { zip: '4423', city: 'Hersberg', canton: 'BL' }, + { zip: '4433', city: 'Ramlinsburg', canton: 'BL' }, + { zip: '4441', city: 'Thürnen', canton: 'BL' }, + { zip: '4442', city: 'Diepflingen', canton: 'BL' }, + { zip: '4443', city: 'Wittinsburg', canton: 'BL' }, + { zip: '4444', city: 'Rümlingen', canton: 'BL' }, + { zip: '4445', city: 'Häfelfingen', canton: 'BL' }, + { zip: '4446', city: 'Buckten', canton: 'BL' }, + { zip: '4447', city: 'Känerkinden', canton: 'BL' }, + { zip: '4448', city: 'Läufelfingen', canton: 'BL' }, + { zip: '4450', city: 'Sissach', canton: 'BL' }, + { zip: '4451', city: 'Wintersingen', canton: 'BL' }, + { zip: '4452', city: 'Itingen', canton: 'BL' }, + { zip: '4453', city: 'Nusshof', canton: 'BL' }, + { zip: '4455', city: 'Zunzgen', canton: 'BL' }, + { zip: '4456', city: 'Tenniken', canton: 'BL' }, + { zip: '4460', city: 'Gelterkinden', canton: 'BL' }, + { zip: '4461', city: 'Böckten', canton: 'BL' }, + { zip: '4462', city: 'Rickenbach BL', canton: 'BL' }, + { zip: '4463', city: 'Buus', canton: 'BL' }, + { zip: '4464', city: 'Maisprach', canton: 'BL' }, + { zip: '4465', city: 'Hemmiken', canton: 'BL' }, + { zip: '4466', city: 'Ormalingen', canton: 'BL' }, + { zip: '4467', city: 'Rothenfluh', canton: 'BL' }, + { zip: '4469', city: 'Anwil', canton: 'BL' }, + { zip: '4492', city: 'Tecknau', canton: 'BL' }, + { zip: '4493', city: 'Wenslingen', canton: 'BL' }, + { zip: '4494', city: 'Oltingen', canton: 'BL' }, + { zip: '4495', city: 'Zeglingen', canton: 'BL' }, + { zip: '4496', city: 'Kilchberg BL', canton: 'BL' }, + { zip: '4497', city: 'Rünenberg', canton: 'BL' }, + { zip: '4207', city: 'Bretzwil', canton: 'BL' }, + { zip: '4418', city: 'Reigoldswil', canton: 'BL' }, + { zip: '4424', city: 'Arboldswil', canton: 'BL' }, + { zip: '4425', city: 'Titterten', canton: 'BL' }, + { zip: '4426', city: 'Lauwil', canton: 'BL' }, + { zip: '4431', city: 'Bennwil', canton: 'BL' }, + { zip: '4432', city: 'Lampenberg', canton: 'BL' }, + { zip: '4434', city: 'Hölstein', canton: 'BL' }, + { zip: '4435', city: 'Niederdorf', canton: 'BL' }, + { zip: '4436', city: 'Oberdorf BL', canton: 'BL' }, + { zip: '4437', city: 'Waldenburg', canton: 'BL' }, + { zip: '4438', city: 'Langenbruck', canton: 'BL' }, + { zip: '4457', city: 'Diegten', canton: 'BL' }, + { zip: '4458', city: 'Eptingen', canton: 'BL' }, + { zip: '4000', city: 'Basel', canton: 'BS' }, + { zip: '4001', city: 'Basel', canton: 'BS' }, + { zip: '4002', city: 'Basel', canton: 'BS' }, + { zip: '4005', city: 'Basel', canton: 'BS' }, + { zip: '4009', city: 'Basel', canton: 'BS' }, + { zip: '4010', city: 'Basel', canton: 'BS' }, + { zip: '4018', city: 'Basel', canton: 'BS' }, + { zip: '4019', city: 'Basel', canton: 'BS' }, + { zip: '4020', city: 'Basel', canton: 'BS' }, + { zip: '4030', city: 'Basel', canton: 'BS' }, + { zip: '4031', city: 'Basel', canton: 'BS' }, + { zip: '4039', city: 'Basel', canton: 'BS' }, + { zip: '4041', city: 'Basel', canton: 'BS' }, + { zip: '4051', city: 'Basel', canton: 'BS' }, + { zip: '4052', city: 'Basel', canton: 'BS' }, + { zip: '4053', city: 'Basel', canton: 'BS' }, + { zip: '4054', city: 'Basel', canton: 'BS' }, + { zip: '4055', city: 'Basel', canton: 'BS' }, + { zip: '4056', city: 'Basel', canton: 'BS' }, + { zip: '4057', city: 'Basel', canton: 'BS' }, + { zip: '4058', city: 'Basel', canton: 'BS' }, + { zip: '4059', city: 'Basel', canton: 'BS' }, + { zip: '4070', city: 'Basel', canton: 'BS' }, + { zip: '4075', city: 'Basel', canton: 'BS' }, + { zip: '4089', city: 'Basel', canton: 'BS' }, + { zip: '4091', city: 'Basel', canton: 'BS' }, + { zip: '4125', city: 'Riehen', canton: 'BS' }, + { zip: '4126', city: 'Bettingen', canton: 'BS' }, + { zip: '1410', city: 'Prévondavaux', canton: 'FR' }, + { zip: '1468', city: 'Cheyres', canton: 'FR' }, + { zip: '1470', city: 'Bollion', canton: 'FR' }, + { zip: '1473', city: 'Font', canton: 'FR' }, + { zip: '1474', city: 'Châbles FR', canton: 'FR' }, + { zip: '1475', city: 'Forel FR', canton: 'FR' }, + { zip: '1482', city: 'Cugy FR', canton: 'FR' }, + { zip: '1483', city: 'Vesin', canton: 'FR' }, + { zip: '1484', city: 'Aumont', canton: 'FR' }, + { zip: '1485', city: 'Nuvilly', canton: 'FR' }, + { zip: '1486', city: 'Vuissens', canton: 'FR' }, + { zip: '1489', city: 'Murist', canton: 'FR' }, + { zip: '1527', city: 'Villeneuve FR', canton: 'FR' }, + { zip: '1528', city: 'Praratoud', canton: 'FR' }, + { zip: '1529', city: 'Cheiry', canton: 'FR' }, + { zip: '1532', city: 'Fétigny', canton: 'FR' }, + { zip: '1533', city: 'Ménières', canton: 'FR' }, + { zip: '1534', city: 'Chapelle (Broye)', canton: 'FR' }, + { zip: '1541', city: 'Morens FR', canton: 'FR' }, + { zip: '1542', city: 'Rueyres-les-Prés', canton: 'FR' }, + { zip: '1544', city: 'Gletterens', canton: 'FR' }, + { zip: '1563', city: 'Dompierre FR', canton: 'FR' }, + { zip: '1564', city: 'Domdidier', canton: 'FR' }, + { zip: '1565', city: 'Vallon', canton: 'FR' }, + { zip: '1566', city: 'St-Aubin FR', canton: 'FR' }, + { zip: '1567', city: 'Delley', canton: 'FR' }, + { zip: '1568', city: 'Portalban', canton: 'FR' }, + { zip: '1773', city: 'Russy', canton: 'FR' }, + { zip: '1774', city: 'Cousset', canton: 'FR' }, + { zip: '1775', city: 'Mannens', canton: 'FR' }, + { zip: '1776', city: 'Montagny-la-Ville', canton: 'FR' }, + { zip: '1553', city: 'Châtonnaye', canton: 'FR' }, + { zip: '1608', city: 'Chapelle (Glâne)', canton: 'FR' }, + { zip: '1670', city: 'Bionnens', canton: 'FR' }, + { zip: '1673', city: 'Ecublens FR', canton: 'FR' }, + { zip: '1674', city: 'Montet (Glâne)', canton: 'FR' }, + { zip: '1675', city: 'Blessens', canton: 'FR' }, + { zip: '1676', city: 'Chavannes-les-Forts', canton: 'FR' }, + { zip: '1677', city: 'Prez-vers-Siviriez', canton: 'FR' }, + { zip: '1678', city: 'Siviriez', canton: 'FR' }, + { zip: '1679', city: 'Villaraboud', canton: 'FR' }, + { zip: '1680', city: 'Berlens', canton: 'FR' }, + { zip: '1681', city: 'Hennens', canton: 'FR' }, + { zip: '1684', city: 'Mézières FR', canton: 'FR' }, + { zip: '1685', city: 'Villariaz', canton: 'FR' }, + { zip: '1686', city: 'Grangettes-près-Romont', canton: 'FR' }, + { zip: '1687', city: 'Estévenens', canton: 'FR' }, + { zip: '1688', city: 'Lieffrens', canton: 'FR' }, + { zip: '1689', city: 'Le Châtelard-près-Romont', canton: 'FR' }, + { zip: '1690', city: 'Lussy FR', canton: 'FR' }, + { zip: '1691', city: 'Villarimboud', canton: 'FR' }, + { zip: '1692', city: 'Massonnens', canton: 'FR' }, + { zip: '1694', city: 'Orsonnens', canton: 'FR' }, + { zip: '1697', city: 'La Joux FR', canton: 'FR' }, + { zip: '1748', city: 'Torny-le-Grand', canton: 'FR' }, + { zip: '1749', city: 'Middes', canton: 'FR' }, + { zip: '1625', city: 'Sâles (Gruyère)', canton: 'FR' }, + { zip: '1626', city: 'Rueyres-Treyfayes', canton: 'FR' }, + { zip: '1627', city: 'Vaulruz', canton: 'FR' }, + { zip: '1628', city: 'Vuadens', canton: 'FR' }, + { zip: '1630', city: 'Bulle', canton: 'FR' }, + { zip: '1631', city: 'Bulle centre de traitement', canton: 'FR' }, + { zip: '1632', city: 'Riaz', canton: 'FR' }, + { zip: '1633', city: 'Vuippens', canton: 'FR' }, + { zip: '1634', city: 'La Roche FR', canton: 'FR' }, + { zip: '1635', city: 'La Tour-de-Trême', canton: 'FR' }, + { zip: '1636', city: 'Broc', canton: 'FR' }, + { zip: '1637', city: 'Charmey (Gruyère)', canton: 'FR' }, + { zip: '1638', city: 'Morlon', canton: 'FR' }, + { zip: '1642', city: 'Sorens', canton: 'FR' }, + { zip: '1643', city: 'Gumefens', canton: 'FR' }, + { zip: '1644', city: 'Avry-devant-Pont', canton: 'FR' }, + { zip: '1645', city: 'Le Bry', canton: 'FR' }, + { zip: '1646', city: 'Echarlens', canton: 'FR' }, + { zip: '1647', city: 'Corbières', canton: 'FR' }, + { zip: '1648', city: 'Hauteville', canton: 'FR' }, + { zip: '1649', city: 'Pont-la-Ville', canton: 'FR' }, + { zip: '1651', city: 'Villarvolard', canton: 'FR' }, + { zip: '1652', city: 'Villarbeney', canton: 'FR' }, + { zip: '1653', city: 'Crésuz', canton: 'FR' }, + { zip: '1654', city: 'Cerniat FR', canton: 'FR' }, + { zip: '1656', city: 'Im Fang', canton: 'FR' }, + { zip: '1661', city: 'Le Pâquier-Montbarry', canton: 'FR' }, + { zip: '1663', city: 'Gruyères', canton: 'FR' }, + { zip: '1665', city: 'Estavannens', canton: 'FR' }, + { zip: '1666', city: 'Villars-sous-Mont', canton: 'FR' }, + { zip: '1667', city: 'Enney', canton: 'FR' }, + { zip: '1669', city: 'Albeuve', canton: 'FR' }, + { zip: '1695', city: 'Rueyres-St-Laurent', canton: 'FR' }, + { zip: '1696', city: 'Vuisternens-en-Ogoz', canton: 'FR' }, + { zip: '1700', city: 'Fribourg', canton: 'FR' }, + { zip: '1701', city: 'Fribourg', canton: 'FR' }, + { zip: '1708', city: 'Fribourg', canton: 'FR' }, + { zip: '1720', city: 'Chésopelloz', canton: 'FR' }, + { zip: '1722', city: 'Bourguillon', canton: 'FR' }, + { zip: '1723', city: 'Marly', canton: 'FR' }, + { zip: '1724', city: 'Ferpicloz', canton: 'FR' }, + { zip: '1725', city: 'Posieux', canton: 'FR' }, + { zip: '1726', city: 'Grenilles', canton: 'FR' }, + { zip: '1727', city: 'Corpataux', canton: 'FR' }, + { zip: '1728', city: 'Rossens FR', canton: 'FR' }, + { zip: '1730', city: 'Ecuvillens', canton: 'FR' }, + { zip: '1731', city: 'Ependes FR', canton: 'FR' }, + { zip: '1732', city: 'Arconciel', canton: 'FR' }, + { zip: '1733', city: 'Treyvaux', canton: 'FR' }, + { zip: '1740', city: 'Neyruz FR', canton: 'FR' }, + { zip: '1741', city: 'Cottens FR', canton: 'FR' }, + { zip: '1742', city: 'Autigny', canton: 'FR' }, + { zip: '1744', city: 'Chénens', canton: 'FR' }, + { zip: '1745', city: 'Lentigny', canton: 'FR' }, + { zip: '1746', city: 'Prez-vers-Noréaz', canton: 'FR' }, + { zip: '1747', city: 'Corserey', canton: 'FR' }, + { zip: '1752', city: 'Villars-sur-Glâne', canton: 'FR' }, + { zip: '1753', city: 'Matran', canton: 'FR' }, + { zip: '1754', city: 'Rosé', canton: 'FR' }, + { zip: '1756', city: 'Onnens FR', canton: 'FR' }, + { zip: '1757', city: 'Noréaz', canton: 'FR' }, + { zip: '1762', city: 'Givisiez', canton: 'FR' }, + { zip: '1763', city: 'Granges-Paccot', canton: 'FR' }, + { zip: '1772', city: 'Nierlet-les-Bois', canton: 'FR' }, + { zip: '1782', city: 'Formangueires', canton: 'FR' }, + { zip: '1583', city: 'Villarepos', canton: 'FR' }, + { zip: '1721', city: 'Cournillens', canton: 'FR' }, + { zip: '1783', city: 'Pensier', canton: 'FR' }, + { zip: '1784', city: 'Courtepin', canton: 'FR' }, + { zip: '1785', city: 'Cressier FR', canton: 'FR' }, + { zip: '1786', city: 'Sugiez', canton: 'FR' }, + { zip: '1787', city: 'Môtier (Vully)', canton: 'FR' }, + { zip: '1788', city: 'Praz (Vully)', canton: 'FR' }, + { zip: '1789', city: 'Lugnorre', canton: 'FR' }, + { zip: '1791', city: 'Courtaman', canton: 'FR' }, + { zip: '1792', city: 'Cordast', canton: 'FR' }, + { zip: '1793', city: 'Jeuss', canton: 'FR' }, + { zip: '1794', city: 'Salvenach', canton: 'FR' }, + { zip: '1795', city: 'Courlevon', canton: 'FR' }, + { zip: '1796', city: 'Courgevaux', canton: 'FR' }, + { zip: '3210', city: 'Kerzers', canton: 'FR' }, + { zip: '3212', city: 'Gurmels', canton: 'FR' }, + { zip: '3213', city: 'Kleinbösingen', canton: 'FR' }, + { zip: '3214', city: 'Ulmiz', canton: 'FR' }, + { zip: '3215', city: 'Gempenach', canton: 'FR' }, + { zip: '3216', city: 'Agriswil', canton: 'FR' }, + { zip: '3280', city: 'Greng', canton: 'FR' }, + { zip: '3284', city: 'Fräschels', canton: 'FR' }, + { zip: '3285', city: 'Galmiz', canton: 'FR' }, + { zip: '3286', city: 'Muntelier', canton: 'FR' }, + { zip: '1712', city: 'Tafers', canton: 'FR' }, + { zip: '1713', city: 'St. Antoni', canton: 'FR' }, + { zip: '1714', city: 'Heitenried', canton: 'FR' }, + { zip: '1715', city: 'Alterswil FR', canton: 'FR' }, + { zip: '1716', city: 'Plaffeien', canton: 'FR' }, + { zip: '1717', city: 'St. Ursen', canton: 'FR' }, + { zip: '1718', city: 'Rechthalten', canton: 'FR' }, + { zip: '1719', city: 'Brünisried', canton: 'FR' }, + { zip: '1734', city: 'Tentlingen', canton: 'FR' }, + { zip: '1735', city: 'Giffers', canton: 'FR' }, + { zip: '1736', city: 'St. Silvester', canton: 'FR' }, + { zip: '1737', city: 'Plasselb', canton: 'FR' }, + { zip: '3175', city: 'Flamatt', canton: 'FR' }, + { zip: '3178', city: 'Bösingen', canton: 'FR' }, + { zip: '3182', city: 'Ueberstorf', canton: 'FR' }, + { zip: '3184', city: 'Wünnewil', canton: 'FR' }, + { zip: '3185', city: 'Schmitten FR', canton: 'FR' }, + { zip: '3186', city: 'Düdingen', canton: 'FR' }, + { zip: '1609', city: 'St-Martin FR', canton: 'FR' }, + { zip: '1611', city: 'Le Crêt-près-Semsales', canton: 'FR' }, + { zip: '1614', city: 'Granges (Veveyse)', canton: 'FR' }, + { zip: '1615', city: 'Bossonnens', canton: 'FR' }, + { zip: '1616', city: 'Attalens', canton: 'FR' }, + { zip: '1617', city: 'Tatroz', canton: 'FR' }, + { zip: '1618', city: 'Châtel-St-Denis', canton: 'FR' }, + { zip: '1619', city: 'Les Paccots', canton: 'FR' }, + { zip: '1623', city: 'Semsales', canton: 'FR' }, + { zip: '1624', city: 'La Verrerie', canton: 'FR' }, + { zip: '1699', city: 'Porsel', canton: 'FR' }, + { zip: '1200', city: 'Genève', canton: 'GE' }, + { zip: '1201', city: 'Genève', canton: 'GE' }, + { zip: '1202', city: 'Genève', canton: 'GE' }, + { zip: '1203', city: 'Genève', canton: 'GE' }, + { zip: '1204', city: 'Genève', canton: 'GE' }, + { zip: '1205', city: 'Genève', canton: 'GE' }, + { zip: '1206', city: 'Genève', canton: 'GE' }, + { zip: '1207', city: 'Genève', canton: 'GE' }, + { zip: '1208', city: 'Genève', canton: 'GE' }, + { zip: '1209', city: 'Genève', canton: 'GE' }, + { zip: '1211', city: 'Genève 70', canton: 'GE' }, + { zip: '1212', city: 'Grand-Lancy', canton: 'GE' }, + { zip: '1213', city: 'Onex', canton: 'GE' }, + { zip: '1214', city: 'Vernier', canton: 'GE' }, + { zip: '1215', city: 'Genève 15 Aéroport', canton: 'GE' }, + { zip: '1216', city: 'Cointrin', canton: 'GE' }, + { zip: '1217', city: 'Meyrin', canton: 'GE' }, + { zip: '1218', city: 'Le Grand-Saconnex', canton: 'GE' }, + { zip: '1219', city: 'Aïre', canton: 'GE' }, + { zip: '1220', city: 'Les Avanchets', canton: 'GE' }, + { zip: '1222', city: 'Vésenaz', canton: 'GE' }, + { zip: '1223', city: 'Cologny', canton: 'GE' }, + { zip: '1224', city: 'Chêne-Bougeries', canton: 'GE' }, + { zip: '1225', city: 'Chêne-Bourg', canton: 'GE' }, + { zip: '1226', city: 'Thônex', canton: 'GE' }, + { zip: '1227', city: 'Les Acacias', canton: 'GE' }, + { zip: '1228', city: 'Plan-les-Ouates', canton: 'GE' }, + { zip: '1231', city: 'Conches', canton: 'GE' }, + { zip: '1232', city: 'Confignon', canton: 'GE' }, + { zip: '1233', city: 'Bernex', canton: 'GE' }, + { zip: '1234', city: 'Vessy', canton: 'GE' }, + { zip: '1236', city: 'Cartigny', canton: 'GE' }, + { zip: '1237', city: 'Avully', canton: 'GE' }, + { zip: '1239', city: 'Collex', canton: 'GE' }, + { zip: '1240', city: 'Genève', canton: 'GE' }, + { zip: '1241', city: 'Puplinge', canton: 'GE' }, + { zip: '1242', city: 'Satigny', canton: 'GE' }, + { zip: '1243', city: 'Presinge', canton: 'GE' }, + { zip: '1244', city: 'Choulex', canton: 'GE' }, + { zip: '1245', city: 'Collonge-Bellerive', canton: 'GE' }, + { zip: '1246', city: 'Corsier GE', canton: 'GE' }, + { zip: '1247', city: 'Anières', canton: 'GE' }, + { zip: '1248', city: 'Hermance', canton: 'GE' }, + { zip: '1251', city: 'Gy', canton: 'GE' }, + { zip: '1252', city: 'Meinier', canton: 'GE' }, + { zip: '1253', city: 'Vandoeuvres', canton: 'GE' }, + { zip: '1254', city: 'Jussy', canton: 'GE' }, + { zip: '1255', city: 'Veyrier', canton: 'GE' }, + { zip: '1256', city: 'Troinex', canton: 'GE' }, + { zip: '1257', city: 'La Croix-de-Rozon', canton: 'GE' }, + { zip: '1258', city: 'Perly', canton: 'GE' }, + { zip: '1281', city: 'Russin', canton: 'GE' }, + { zip: '1283', city: 'Dardagny', canton: 'GE' }, + { zip: '1284', city: 'Chancy', canton: 'GE' }, + { zip: '1285', city: 'Athenaz (Avusy)', canton: 'GE' }, + { zip: '1286', city: 'Soral', canton: 'GE' }, + { zip: '1287', city: 'Laconnex', canton: 'GE' }, + { zip: '1288', city: 'Aire-la-Ville', canton: 'GE' }, + { zip: '1290', city: 'Versoix', canton: 'GE' }, + { zip: '1292', city: 'Chambésy', canton: 'GE' }, + { zip: '1293', city: 'Bellevue', canton: 'GE' }, + { zip: '1294', city: 'Genthod', canton: 'GE' }, + { zip: '1298', city: 'Céligny', canton: 'GE' }, + { zip: '8750', city: 'Klöntal', canton: 'GL' }, + { zip: '8752', city: 'Näfels', canton: 'GL' }, + { zip: '8753', city: 'Mollis', canton: 'GL' }, + { zip: '8754', city: 'Netstal', canton: 'GL' }, + { zip: '8755', city: 'Ennenda', canton: 'GL' }, + { zip: '8756', city: 'Mitlödi', canton: 'GL' }, + { zip: '8757', city: 'Filzbach', canton: 'GL' }, + { zip: '8758', city: 'Obstalden', canton: 'GL' }, + { zip: '8759', city: 'Netstal', canton: 'GL' }, + { zip: '8762', city: 'Sool', canton: 'GL' }, + { zip: '8765', city: 'Engi', canton: 'GL' }, + { zip: '8766', city: 'Matt', canton: 'GL' }, + { zip: '8767', city: 'Elm', canton: 'GL' }, + { zip: '8772', city: 'Nidfurn', canton: 'GL' }, + { zip: '8773', city: 'Haslen GL', canton: 'GL' }, + { zip: '8774', city: 'Leuggelbach', canton: 'GL' }, + { zip: '8775', city: 'Luchsingen', canton: 'GL' }, + { zip: '8777', city: 'Betschwanden', canton: 'GL' }, + { zip: '8782', city: 'Rüti GL', canton: 'GL' }, + { zip: '8783', city: 'Linthal', canton: 'GL' }, + { zip: '8784', city: 'Braunwald', canton: 'GL' }, + { zip: '8865', city: 'Bilten', canton: 'GL' }, + { zip: '8867', city: 'Niederurnen', canton: 'GL' }, + { zip: '8868', city: 'Oberurnen', canton: 'GL' }, + { zip: '8874', city: 'Mühlehorn', canton: 'GL' }, + { zip: '7077', city: 'Valbella', canton: 'GR' }, + { zip: '7078', city: 'Lenzerheide/Lai', canton: 'GR' }, + { zip: '7082', city: 'Vaz/Obervaz', canton: 'GR' }, + { zip: '7083', city: 'Lantsch/Lenz', canton: 'GR' }, + { zip: '7084', city: 'Brienz/Brinzauls GR', canton: 'GR' }, + { zip: '7450', city: 'Tiefencastel', canton: 'GR' }, + { zip: '7451', city: 'Alvaschein', canton: 'GR' }, + { zip: '7452', city: 'Cunter', canton: 'GR' }, + { zip: '7453', city: 'Tinizong', canton: 'GR' }, + { zip: '7454', city: 'Rona', canton: 'GR' }, + { zip: '7455', city: 'Mulegns', canton: 'GR' }, + { zip: '7456', city: 'Marmorera', canton: 'GR' }, + { zip: '7457', city: 'Bivio', canton: 'GR' }, + { zip: '7458', city: 'Mon', canton: 'GR' }, + { zip: '7459', city: 'Stierva', canton: 'GR' }, + { zip: '7460', city: 'Savognin', canton: 'GR' }, + { zip: '7462', city: 'Salouf', canton: 'GR' }, + { zip: '7463', city: 'Riom', canton: 'GR' }, + { zip: '7464', city: 'Parsonz', canton: 'GR' }, + { zip: '7472', city: 'Surava', canton: 'GR' }, + { zip: '7473', city: 'Alvaneu Bad', canton: 'GR' }, + { zip: '7477', city: 'Filisur', canton: 'GR' }, + { zip: '7482', city: 'Stugl/Stuls', canton: 'GR' }, + { zip: '7484', city: 'Latsch', canton: 'GR' }, + { zip: '7492', city: 'Alvaneu Dorf', canton: 'GR' }, + { zip: '7493', city: 'Schmitten (Albula)', canton: 'GR' }, + { zip: '7710', city: 'Alp Grüm', canton: 'GR' }, + { zip: '7741', city: 'S. Carlo (Poschiavo)', canton: 'GR' }, + { zip: '7742', city: 'Sfazù', canton: 'GR' }, + { zip: '7743', city: 'Brusio', canton: 'GR' }, + { zip: '7744', city: 'Campocologno', canton: 'GR' }, + { zip: '7745', city: 'Li Curt', canton: 'GR' }, + { zip: '7746', city: 'Le Prese', canton: 'GR' }, + { zip: '7747', city: 'Viano', canton: 'GR' }, + { zip: '7748', city: 'Campascio', canton: 'GR' }, + { zip: '7527', city: 'Brail', canton: 'GR' }, + { zip: '7530', city: 'Zernez', canton: 'GR' }, + { zip: '7532', city: 'Tschierv', canton: 'GR' }, + { zip: '7533', city: 'Fuldera', canton: 'GR' }, + { zip: '7534', city: 'Lü', canton: 'GR' }, + { zip: '7535', city: 'Valchava', canton: 'GR' }, + { zip: '7536', city: 'Sta. Maria Val Müstair', canton: 'GR' }, + { zip: '7537', city: 'Müstair', canton: 'GR' }, + { zip: '7542', city: 'Susch', canton: 'GR' }, + { zip: '7543', city: 'Lavin', canton: 'GR' }, + { zip: '7545', city: 'Guarda', canton: 'GR' }, + { zip: '7546', city: 'Ardez', canton: 'GR' }, + { zip: '7550', city: 'Scuol', canton: 'GR' }, + { zip: '7551', city: 'Ftan', canton: 'GR' }, + { zip: '7552', city: 'Vulpera', canton: 'GR' }, + { zip: '7553', city: 'Tarasp', canton: 'GR' }, + { zip: '7554', city: 'Sent', canton: 'GR' }, + { zip: '7556', city: 'Ramosch', canton: 'GR' }, + { zip: '7557', city: 'Vnà', canton: 'GR' }, + { zip: '7558', city: 'Strada', canton: 'GR' }, + { zip: '7559', city: 'Tschlin', canton: 'GR' }, + { zip: '7560', city: 'Martina', canton: 'GR' }, + { zip: '7562', city: 'Samnaun-Compatsch', canton: 'GR' }, + { zip: '7563', city: 'Samnaun Dorf', canton: 'GR' }, + { zip: '7012', city: 'Felsberg', canton: 'GR' }, + { zip: '7013', city: 'Domat/Ems', canton: 'GR' }, + { zip: '7014', city: 'Trin', canton: 'GR' }, + { zip: '7015', city: 'Tamins', canton: 'GR' }, + { zip: '7016', city: 'Trin Mulin', canton: 'GR' }, + { zip: '7017', city: 'Flims Dorf', canton: 'GR' }, + { zip: '7018', city: 'Flims Waldhaus', canton: 'GR' }, + { zip: '7019', city: 'Fidaz', canton: 'GR' }, + { zip: '7402', city: 'Bonaduz', canton: 'GR' }, + { zip: '7403', city: 'Rhäzüns', canton: 'GR' }, + { zip: '7202', city: 'Says', canton: 'GR' }, + { zip: '7203', city: 'Trimmis', canton: 'GR' }, + { zip: '7204', city: 'Untervaz', canton: 'GR' }, + { zip: '7205', city: 'Zizers', canton: 'GR' }, + { zip: '7206', city: 'Igis', canton: 'GR' }, + { zip: '7208', city: 'Malans GR', canton: 'GR' }, + { zip: '7302', city: 'Landquart', canton: 'GR' }, + { zip: '7303', city: 'Mastrils', canton: 'GR' }, + { zip: '7304', city: 'Maienfeld', canton: 'GR' }, + { zip: '7306', city: 'Fläsch', canton: 'GR' }, + { zip: '7307', city: 'Jenins', canton: 'GR' }, + { zip: '7500', city: 'St. Moritz', canton: 'GR' }, + { zip: '7502', city: 'Bever', canton: 'GR' }, + { zip: '7503', city: 'Samedan', canton: 'GR' }, + { zip: '7504', city: 'Pontresina', canton: 'GR' }, + { zip: '7505', city: 'Celerina/Schlarigna', canton: 'GR' }, + { zip: '7512', city: 'Champfèr', canton: 'GR' }, + { zip: '7513', city: 'Silvaplana-Surlej', canton: 'GR' }, + { zip: '7514', city: 'Sils/Segl Maria', canton: 'GR' }, + { zip: '7515', city: 'Sils/Segl Baselgia', canton: 'GR' }, + { zip: '7516', city: 'Maloja', canton: 'GR' }, + { zip: '7517', city: 'Plaun da Lej', canton: 'GR' }, + { zip: '7522', city: 'La Punt Chamues-ch', canton: 'GR' }, + { zip: '7523', city: 'Madulain', canton: 'GR' }, + { zip: '7524', city: 'Zuoz', canton: 'GR' }, + { zip: '7525', city: 'S-chanf', canton: 'GR' }, + { zip: '7526', city: 'Cinuos-chel', canton: 'GR' }, + { zip: '7602', city: 'Casaccia', canton: 'GR' }, + { zip: '7603', city: 'Vicosoprano', canton: 'GR' }, + { zip: '7604', city: 'Borgonovo', canton: 'GR' }, + { zip: '7605', city: 'Stampa', canton: 'GR' }, + { zip: '7606', city: 'Promontogno', canton: 'GR' }, + { zip: '7608', city: 'Castasegna', canton: 'GR' }, + { zip: '7610', city: 'Soglio', canton: 'GR' }, + { zip: '6534', city: 'S. Vittore', canton: 'GR' }, + { zip: '6535', city: 'Roveredo GR', canton: 'GR' }, + { zip: '6537', city: 'Grono', canton: 'GR' }, + { zip: '6538', city: 'Verdabbio', canton: 'GR' }, + { zip: '6540', city: 'Castaneda', canton: 'GR' }, + { zip: '6541', city: 'Sta. Maria in Calanca', canton: 'GR' }, + { zip: '6542', city: 'Buseno', canton: 'GR' }, + { zip: '6543', city: 'Arvigo', canton: 'GR' }, + { zip: '6544', city: 'Braggio', canton: 'GR' }, + { zip: '6545', city: 'Selma', canton: 'GR' }, + { zip: '6546', city: 'Cauco', canton: 'GR' }, + { zip: '6548', city: 'Rossa', canton: 'GR' }, + { zip: '6549', city: 'Laura', canton: 'GR' }, + { zip: '6556', city: 'Leggia', canton: 'GR' }, + { zip: '6557', city: 'Cama', canton: 'GR' }, + { zip: '6558', city: 'Lostallo', canton: 'GR' }, + { zip: '6562', city: 'Soazza', canton: 'GR' }, + { zip: '6563', city: 'Mesocco', canton: 'GR' }, + { zip: '6565', city: 'S. Bernardino', canton: 'GR' }, + { zip: '7000', city: 'Chur', canton: 'GR' }, + { zip: '7001', city: 'Chur', canton: 'GR' }, + { zip: '7004', city: 'Chur', canton: 'GR' }, + { zip: '7006', city: 'Chur', canton: 'GR' }, + { zip: '7007', city: 'Chur', canton: 'GR' }, + { zip: '7023', city: 'Haldenstein', canton: 'GR' }, + { zip: '7026', city: 'Maladers', canton: 'GR' }, + { zip: '7027', city: 'Lüen', canton: 'GR' }, + { zip: '7028', city: 'St. Peter', canton: 'GR' }, + { zip: '7029', city: 'Peist', canton: 'GR' }, + { zip: '7050', city: 'Arosa', canton: 'GR' }, + { zip: '7056', city: 'Molinis', canton: 'GR' }, + { zip: '7057', city: 'Langwies', canton: 'GR' }, + { zip: '7058', city: 'Litzirüti', canton: 'GR' }, + { zip: '7062', city: 'Passugg', canton: 'GR' }, + { zip: '7063', city: 'Praden', canton: 'GR' }, + { zip: '7064', city: 'Tschiertschen', canton: 'GR' }, + { zip: '7074', city: 'Malix', canton: 'GR' }, + { zip: '7075', city: 'Churwalden', canton: 'GR' }, + { zip: '7076', city: 'Parpan', canton: 'GR' }, + { zip: '7212', city: 'Seewis Dorf', canton: 'GR' }, + { zip: '7213', city: 'Valzeina', canton: 'GR' }, + { zip: '7214', city: 'Grüsch', canton: 'GR' }, + { zip: '7215', city: 'Fanas', canton: 'GR' }, + { zip: '7220', city: 'Schiers', canton: 'GR' }, + { zip: '7222', city: 'Lunden', canton: 'GR' }, + { zip: '7223', city: 'Buchen im Prättigau', canton: 'GR' }, + { zip: '7224', city: 'Putz', canton: 'GR' }, + { zip: '7226', city: 'Fajauna', canton: 'GR' }, + { zip: '7228', city: 'Pusserein', canton: 'GR' }, + { zip: '7231', city: 'Pragg-Jenaz', canton: 'GR' }, + { zip: '7232', city: 'Furna', canton: 'GR' }, + { zip: '7233', city: 'Jenaz', canton: 'GR' }, + { zip: '7235', city: 'Fideris', canton: 'GR' }, + { zip: '7240', city: 'Küblis', canton: 'GR' }, + { zip: '7241', city: 'Conters im Prättigau', canton: 'GR' }, + { zip: '7242', city: 'Luzein', canton: 'GR' }, + { zip: '7243', city: 'Pany', canton: 'GR' }, + { zip: '7244', city: 'Gadenstätt', canton: 'GR' }, + { zip: '7245', city: 'Ascharina', canton: 'GR' }, + { zip: '7246', city: 'St. Antönien', canton: 'GR' }, + { zip: '7247', city: 'Saas im Prättigau', canton: 'GR' }, + { zip: '7249', city: 'Serneus', canton: 'GR' }, + { zip: '7250', city: 'Klosters', canton: 'GR' }, + { zip: '7252', city: 'Klosters Dorf', canton: 'GR' }, + { zip: '7260', city: 'Davos Dorf', canton: 'GR' }, + { zip: '7265', city: 'Davos Wolfgang', canton: 'GR' }, + { zip: '7270', city: 'Davos Platz', canton: 'GR' }, + { zip: '7272', city: 'Davos Clavadel', canton: 'GR' }, + { zip: '7276', city: 'Davos Frauenkirch', canton: 'GR' }, + { zip: '7277', city: 'Davos Glaris', canton: 'GR' }, + { zip: '7278', city: 'Davos Monstein', canton: 'GR' }, + { zip: '7494', city: 'Davos Wiesen', canton: 'GR' }, + { zip: '7031', city: 'Laax GR', canton: 'GR' }, + { zip: '7032', city: 'Laax GR 2', canton: 'GR' }, + { zip: '7104', city: 'Arezen', canton: 'GR' }, + { zip: '7106', city: 'Tenna', canton: 'GR' }, + { zip: '7107', city: 'Safien Platz', canton: 'GR' }, + { zip: '7109', city: 'Thalkirch', canton: 'GR' }, + { zip: '7110', city: 'Peiden', canton: 'GR' }, + { zip: '7111', city: 'Pitasch', canton: 'GR' }, + { zip: '7112', city: 'Duvin', canton: 'GR' }, + { zip: '7113', city: 'Camuns', canton: 'GR' }, + { zip: '7114', city: 'Uors (Lumnezia)', canton: 'GR' }, + { zip: '7115', city: 'Surcasti', canton: 'GR' }, + { zip: '7116', city: 'St. Martin (Lugnez)', canton: 'GR' }, + { zip: '7122', city: 'Valendas', canton: 'GR' }, + { zip: '7126', city: 'Castrisch', canton: 'GR' }, + { zip: '7127', city: 'Sevgein', canton: 'GR' }, + { zip: '7128', city: 'Riein', canton: 'GR' }, + { zip: '7130', city: 'Schnaus', canton: 'GR' }, + { zip: '7132', city: 'Vals', canton: 'GR' }, + { zip: '7134', city: 'Obersaxen', canton: 'GR' }, + { zip: '7137', city: 'Flond', canton: 'GR' }, + { zip: '7138', city: 'Surcuolm', canton: 'GR' }, + { zip: '7141', city: 'Luven', canton: 'GR' }, + { zip: '7142', city: 'Cumbel', canton: 'GR' }, + { zip: '7143', city: 'Morissen', canton: 'GR' }, + { zip: '7144', city: 'Vella', canton: 'GR' }, + { zip: '7145', city: 'Degen', canton: 'GR' }, + { zip: '7146', city: 'Vattiz', canton: 'GR' }, + { zip: '7147', city: 'Vignogn', canton: 'GR' }, + { zip: '7148', city: 'Lumbrein', canton: 'GR' }, + { zip: '7149', city: 'Vrin', canton: 'GR' }, + { zip: '7151', city: 'Schluein', canton: 'GR' }, + { zip: '7152', city: 'Sagogn', canton: 'GR' }, + { zip: '7153', city: 'Falera', canton: 'GR' }, + { zip: '7154', city: 'Ruschein', canton: 'GR' }, + { zip: '7155', city: 'Ladir', canton: 'GR' }, + { zip: '7156', city: 'Pigniu', canton: 'GR' }, + { zip: '7157', city: 'Siat', canton: 'GR' }, + { zip: '7158', city: 'Waltensburg/Vuorz', canton: 'GR' }, + { zip: '7159', city: 'Andiast', canton: 'GR' }, + { zip: '7162', city: 'Tavanasa', canton: 'GR' }, + { zip: '7163', city: 'Danis', canton: 'GR' }, + { zip: '7164', city: 'Dardin', canton: 'GR' }, + { zip: '7165', city: 'Breil/Brigels', canton: 'GR' }, + { zip: '7166', city: 'Trun', canton: 'GR' }, + { zip: '7167', city: 'Zignau', canton: 'GR' }, + { zip: '7168', city: 'Schlans', canton: 'GR' }, + { zip: '7172', city: 'Rabius', canton: 'GR' }, + { zip: '7173', city: 'Surrein', canton: 'GR' }, + { zip: '7174', city: 'S. Benedetg', canton: 'GR' }, + { zip: '7175', city: 'Sumvitg', canton: 'GR' }, + { zip: '7176', city: 'Cumpadials', canton: 'GR' }, + { zip: '7180', city: 'Disentis/Mustér', canton: 'GR' }, + { zip: '7182', city: 'Cavardiras', canton: 'GR' }, + { zip: '7183', city: 'Mumpé Medel', canton: 'GR' }, + { zip: '7184', city: 'Curaglia', canton: 'GR' }, + { zip: '7185', city: 'Platta', canton: 'GR' }, + { zip: '7186', city: 'Segnas', canton: 'GR' }, + { zip: '7187', city: 'Camischolas', canton: 'GR' }, + { zip: '7188', city: 'Sedrun', canton: 'GR' }, + { zip: '7189', city: 'Rueras', canton: 'GR' }, + { zip: '7404', city: 'Feldis/Veulden', canton: 'GR' }, + { zip: '7405', city: 'Rothenbrunnen', canton: 'GR' }, + { zip: '7407', city: 'Trans', canton: 'GR' }, + { zip: '7408', city: 'Realta', canton: 'GR' }, + { zip: '7411', city: 'Sils im Domleschg', canton: 'GR' }, + { zip: '7412', city: 'Scharans', canton: 'GR' }, + { zip: '7413', city: 'Fürstenaubruck', canton: 'GR' }, + { zip: '7414', city: 'Fürstenau', canton: 'GR' }, + { zip: '7415', city: 'Rodels', canton: 'GR' }, + { zip: '7416', city: 'Almens', canton: 'GR' }, + { zip: '7417', city: 'Paspels', canton: 'GR' }, + { zip: '7418', city: 'Tumegl/Tomils', canton: 'GR' }, + { zip: '7419', city: 'Scheid', canton: 'GR' }, + { zip: '7421', city: 'Summaprada', canton: 'GR' }, + { zip: '7422', city: 'Tartar', canton: 'GR' }, + { zip: '7423', city: 'Portein', canton: 'GR' }, + { zip: '7424', city: 'Präz', canton: 'GR' }, + { zip: '7425', city: 'Masein', canton: 'GR' }, + { zip: '7426', city: 'Flerden', canton: 'GR' }, + { zip: '7427', city: 'Urmein', canton: 'GR' }, + { zip: '7428', city: 'Tschappina', canton: 'GR' }, + { zip: '7430', city: 'Thusis', canton: 'GR' }, + { zip: '7431', city: 'Obermutten', canton: 'GR' }, + { zip: '7432', city: 'Zillis', canton: 'GR' }, + { zip: '7433', city: 'Wergenstein', canton: 'GR' }, + { zip: '7434', city: 'Sufers', canton: 'GR' }, + { zip: '7435', city: 'Splügen', canton: 'GR' }, + { zip: '7436', city: 'Medels im Rheinwald', canton: 'GR' }, + { zip: '7437', city: 'Nufenen', canton: 'GR' }, + { zip: '7438', city: 'Hinterrhein', canton: 'GR' }, + { zip: '7440', city: 'Andeer', canton: 'GR' }, + { zip: '7442', city: 'Clugin', canton: 'GR' }, + { zip: '7443', city: 'Pignia', canton: 'GR' }, + { zip: '7444', city: 'Ausserferrera', canton: 'GR' }, + { zip: '7445', city: 'Innerferrera', canton: 'GR' }, + { zip: '7446', city: 'Campsut-Cröt', canton: 'GR' }, + { zip: '7447', city: 'Am Bach (Avers)', canton: 'GR' }, + { zip: '7448', city: 'Juf', canton: 'GR' }, + { zip: '2800', city: 'Delémont 2', canton: 'JU' }, + { zip: '2802', city: 'Develier', canton: 'JU' }, + { zip: '2803', city: 'Bourrignon', canton: 'JU' }, + { zip: '2805', city: 'Soyhières', canton: 'JU' }, + { zip: '2806', city: 'Mettembert', canton: 'JU' }, + { zip: '2807', city: 'Pleigne', canton: 'JU' }, + { zip: '2812', city: 'Movelier', canton: 'JU' }, + { zip: '2813', city: 'Ederswiler', canton: 'JU' }, + { zip: '2822', city: 'Courroux', canton: 'JU' }, + { zip: '2823', city: 'Courcelon', canton: 'JU' }, + { zip: '2824', city: 'Vicques', canton: 'JU' }, + { zip: '2825', city: 'Courchapoix', canton: 'JU' }, + { zip: '2826', city: 'Corban', canton: 'JU' }, + { zip: '2828', city: 'Montsevelier', canton: 'JU' }, + { zip: '2829', city: 'Vermes', canton: 'JU' }, + { zip: '2830', city: 'Vellerat', canton: 'JU' }, + { zip: '2832', city: 'Rebeuvelier', canton: 'JU' }, + { zip: '2842', city: 'Rossemaison', canton: 'JU' }, + { zip: '2843', city: 'Châtillon JU', canton: 'JU' }, + { zip: '2852', city: 'Courtételle', canton: 'JU' }, + { zip: '2853', city: 'Courfaivre', canton: 'JU' }, + { zip: '2854', city: 'Bassecourt', canton: 'JU' }, + { zip: '2855', city: 'Glovelier', canton: 'JU' }, + { zip: '2856', city: 'Boécourt', canton: 'JU' }, + { zip: '2857', city: 'Montavon', canton: 'JU' }, + { zip: '2863', city: 'Undervelier', canton: 'JU' }, + { zip: '2864', city: 'Soulce', canton: 'JU' }, + { zip: '2873', city: 'Saulcy', canton: 'JU' }, + { zip: '2336', city: 'Les Bois', canton: 'JU' }, + { zip: '2338', city: 'Muriaux', canton: 'JU' }, + { zip: '2340', city: 'Le Noirmont', canton: 'JU' }, + { zip: '2350', city: 'Saignelégier', canton: 'JU' }, + { zip: '2353', city: 'Les Pommerats', canton: 'JU' }, + { zip: '2354', city: 'Goumois', canton: 'JU' }, + { zip: '2360', city: 'Le Bémont JU', canton: 'JU' }, + { zip: '2362', city: 'Montfaucon', canton: 'JU' }, + { zip: '2363', city: 'Les Enfers', canton: 'JU' }, + { zip: '2364', city: 'St-Brais', canton: 'JU' }, + { zip: '2714', city: 'Les Genevez JU', canton: 'JU' }, + { zip: '2718', city: 'Fornet-Dessus', canton: 'JU' }, + { zip: '2882', city: 'St-Ursanne', canton: 'JU' }, + { zip: '2887', city: 'Soubey', canton: 'JU' }, + { zip: '2883', city: 'Montmelon', canton: 'JU' }, + { zip: '2884', city: 'Montenol', canton: 'JU' }, + { zip: '2885', city: 'Epauvillers', canton: 'JU' }, + { zip: '2886', city: 'Epiquerez', canton: 'JU' }, + { zip: '2888', city: 'Seleute', canton: 'JU' }, + { zip: '2889', city: 'Ocourt', canton: 'JU' }, + { zip: '2900', city: 'Porrentruy 1', canton: 'JU' }, + { zip: '2902', city: 'Fontenais', canton: 'JU' }, + { zip: '2903', city: 'Villars-sur-Fontenais', canton: 'JU' }, + { zip: '2904', city: 'Bressaucourt', canton: 'JU' }, + { zip: '2905', city: 'Courtedoux', canton: 'JU' }, + { zip: '2906', city: 'Chevenez', canton: 'JU' }, + { zip: '2907', city: 'Rocourt', canton: 'JU' }, + { zip: '2908', city: 'Grandfontaine', canton: 'JU' }, + { zip: '2912', city: 'Roche-d\'Or', canton: 'JU' }, + { zip: '2914', city: 'Damvant', canton: 'JU' }, + { zip: '2915', city: 'Bure', canton: 'JU' }, + { zip: '2916', city: 'Fahy', canton: 'JU' }, + { zip: '2922', city: 'Courchavon', canton: 'JU' }, + { zip: '2923', city: 'Courtemaîche', canton: 'JU' }, + { zip: '2924', city: 'Montignez', canton: 'JU' }, + { zip: '2925', city: 'Buix', canton: 'JU' }, + { zip: '2926', city: 'Boncourt', canton: 'JU' }, + { zip: '2932', city: 'Coeuve', canton: 'JU' }, + { zip: '2933', city: 'Damphreux', canton: 'JU' }, + { zip: '2935', city: 'Beurnevésin', canton: 'JU' }, + { zip: '2942', city: 'Alle', canton: 'JU' }, + { zip: '2943', city: 'Vendlincourt', canton: 'JU' }, + { zip: '2944', city: 'Bonfol', canton: 'JU' }, + { zip: '2946', city: 'Miécourt', canton: 'JU' }, + { zip: '2947', city: 'Charmoille', canton: 'JU' }, + { zip: '2950', city: 'Courtemautruy', canton: 'JU' }, + { zip: '2952', city: 'Cornol', canton: 'JU' }, + { zip: '2953', city: 'Fregiécourt', canton: 'JU' }, + { zip: '2954', city: 'Asuel', canton: 'JU' }, + { zip: '6000', city: 'Luzern 14', canton: 'LU' }, + { zip: '6002', city: 'Luzern', canton: 'LU' }, + { zip: '6003', city: 'Luzern', canton: 'LU' }, + { zip: '6004', city: 'Luzern', canton: 'LU' }, + { zip: '6005', city: 'Luzern', canton: 'LU' }, + { zip: '6006', city: 'Luzern', canton: 'LU' }, + { zip: '6007', city: 'Luzern', canton: 'LU' }, + { zip: '6014', city: 'Luzern', canton: 'LU' }, + { zip: '6015', city: 'Luzern', canton: 'LU' }, + { zip: '6009', city: 'Luzern', canton: 'LU' }, + { zip: '6010', city: 'Kriens', canton: 'LU' }, + { zip: '6011', city: 'Kriens', canton: 'LU' }, + { zip: '6012', city: 'Obernau', canton: 'LU' }, + { zip: '6013', city: 'Eigenthal', canton: 'LU' }, + { zip: '6030', city: 'Ebikon', canton: 'LU' }, + { zip: '6031', city: 'Ebikon', canton: 'LU' }, + { zip: '6033', city: 'Buchrain', canton: 'LU' }, + { zip: '6035', city: 'Perlen', canton: 'LU' }, + { zip: '6036', city: 'Dierikon', canton: 'LU' }, + { zip: '6037', city: 'Root', canton: 'LU' }, + { zip: '6038', city: 'Honau', canton: 'LU' }, + { zip: '6039', city: 'Root D4', canton: 'LU' }, + { zip: '6043', city: 'Adligenswil', canton: 'LU' }, + { zip: '6044', city: 'Udligenswil', canton: 'LU' }, + { zip: '6045', city: 'Meggen', canton: 'LU' }, + { zip: '6047', city: 'Kastanienbaum', canton: 'LU' }, + { zip: '6048', city: 'Horw', canton: 'LU' }, + { zip: '6102', city: 'Malters', canton: 'LU' }, + { zip: '6103', city: 'Schwarzenberg LU', canton: 'LU' }, + { zip: '6344', city: 'Meierskappel', canton: 'LU' }, + { zip: '6353', city: 'Weggis', canton: 'LU' }, + { zip: '6354', city: 'Vitznau', canton: 'LU' }, + { zip: '6356', city: 'Rigi Kaltbad', canton: 'LU' }, + { zip: '6404', city: 'Greppen', canton: 'LU' }, + { zip: '6020', city: 'Emmenbrücke', canton: 'LU' }, + { zip: '6021', city: 'Emmenbrücke 1', canton: 'LU' }, + { zip: '6023', city: 'Rothenburg', canton: 'LU' }, + { zip: '6026', city: 'Rain', canton: 'LU' }, + { zip: '6027', city: 'Römerswil LU', canton: 'LU' }, + { zip: '6028', city: 'Herlisberg', canton: 'LU' }, + { zip: '6032', city: 'Emmen', canton: 'LU' }, + { zip: '6034', city: 'Inwil', canton: 'LU' }, + { zip: '6274', city: 'Eschenbach LU', canton: 'LU' }, + { zip: '6275', city: 'Ballwil', canton: 'LU' }, + { zip: '6276', city: 'Hohenrain', canton: 'LU' }, + { zip: '6277', city: 'Kleinwangen', canton: 'LU' }, + { zip: '6280', city: 'Urswil', canton: 'LU' }, + { zip: '6281', city: 'Hochdorf', canton: 'LU' }, + { zip: '6283', city: 'Baldegg', canton: 'LU' }, + { zip: '6284', city: 'Sulz LU', canton: 'LU' }, + { zip: '6285', city: 'Hitzkirch', canton: 'LU' }, + { zip: '6286', city: 'Altwis', canton: 'LU' }, + { zip: '6287', city: 'Aesch LU', canton: 'LU' }, + { zip: '6288', city: 'Schongau', canton: 'LU' }, + { zip: '6289', city: 'Hämikon', canton: 'LU' }, + { zip: '6294', city: 'Ermensee', canton: 'LU' }, + { zip: '6295', city: 'Mosen', canton: 'LU' }, + { zip: '5735', city: 'Pfeffikon LU', canton: 'LU' }, + { zip: '6016', city: 'Hellbühl', canton: 'LU' }, + { zip: '6017', city: 'Ruswil', canton: 'LU' }, + { zip: '6018', city: 'Buttisholz', canton: 'LU' }, + { zip: '6019', city: 'Sigigen', canton: 'LU' }, + { zip: '6022', city: 'Grosswangen', canton: 'LU' }, + { zip: '6024', city: 'Hildisrieden', canton: 'LU' }, + { zip: '6025', city: 'Neudorf', canton: 'LU' }, + { zip: '6203', city: 'Sempach Station', canton: 'LU' }, + { zip: '6204', city: 'Sempach', canton: 'LU' }, + { zip: '6205', city: 'Eich', canton: 'LU' }, + { zip: '6206', city: 'Neuenkirch', canton: 'LU' }, + { zip: '6207', city: 'Nottwil Paraplegikerzentrum', canton: 'LU' }, + { zip: '6208', city: 'Oberkirch LU', canton: 'LU' }, + { zip: '6210', city: 'Sursee', canton: 'LU' }, + { zip: '6212', city: 'Kaltbach', canton: 'LU' }, + { zip: '6213', city: 'Knutwil', canton: 'LU' }, + { zip: '6214', city: 'Schenkon', canton: 'LU' }, + { zip: '6215', city: 'Beromünster', canton: 'LU' }, + { zip: '6216', city: 'Mauensee', canton: 'LU' }, + { zip: '6221', city: 'Rickenbach LU', canton: 'LU' }, + { zip: '6222', city: 'Gunzwil', canton: 'LU' }, + { zip: '6231', city: 'Schlierbach', canton: 'LU' }, + { zip: '6232', city: 'Geuensee', canton: 'LU' }, + { zip: '6233', city: 'Büron', canton: 'LU' }, + { zip: '6234', city: 'Triengen', canton: 'LU' }, + { zip: '6235', city: 'Winikon', canton: 'LU' }, + { zip: '6236', city: 'Wilihof', canton: 'LU' }, + { zip: '4806', city: 'Wikon', canton: 'LU' }, + { zip: '4915', city: 'St. Urban', canton: 'LU' }, + { zip: '6122', city: 'Menznau', canton: 'LU' }, + { zip: '6123', city: 'Geiss', canton: 'LU' }, + { zip: '6125', city: 'Menzberg', canton: 'LU' }, + { zip: '6126', city: 'Daiwil', canton: 'LU' }, + { zip: '6130', city: 'Willisau', canton: 'LU' }, + { zip: '6132', city: 'Rohrmatt', canton: 'LU' }, + { zip: '6133', city: 'Hergiswil b. Willisau', canton: 'LU' }, + { zip: '6142', city: 'Gettnau', canton: 'LU' }, + { zip: '6143', city: 'Ohmstal', canton: 'LU' }, + { zip: '6144', city: 'Zell LU', canton: 'LU' }, + { zip: '6145', city: 'Fischbach LU', canton: 'LU' }, + { zip: '6146', city: 'Grossdietwil', canton: 'LU' }, + { zip: '6147', city: 'Altbüron', canton: 'LU' }, + { zip: '6152', city: 'Hüswil', canton: 'LU' }, + { zip: '6153', city: 'Ufhusen', canton: 'LU' }, + { zip: '6154', city: 'Hofstatt', canton: 'LU' }, + { zip: '6156', city: 'Luthern', canton: 'LU' }, + { zip: '6211', city: 'Buchs LU', canton: 'LU' }, + { zip: '6217', city: 'Kottwil', canton: 'LU' }, + { zip: '6218', city: 'Ettiswil', canton: 'LU' }, + { zip: '6242', city: 'Wauwil', canton: 'LU' }, + { zip: '6243', city: 'Egolzwil', canton: 'LU' }, + { zip: '6244', city: 'Nebikon', canton: 'LU' }, + { zip: '6245', city: 'Ebersecken', canton: 'LU' }, + { zip: '6246', city: 'Altishofen', canton: 'LU' }, + { zip: '6247', city: 'Schötz', canton: 'LU' }, + { zip: '6248', city: 'Alberswil', canton: 'LU' }, + { zip: '6252', city: 'Dagmersellen', canton: 'LU' }, + { zip: '6253', city: 'Uffikon', canton: 'LU' }, + { zip: '6260', city: 'Reiden', canton: 'LU' }, + { zip: '6262', city: 'Langnau b. Reiden', canton: 'LU' }, + { zip: '6263', city: 'Richenthal', canton: 'LU' }, + { zip: '6264', city: 'Pfaffnau', canton: 'LU' }, + { zip: '6265', city: 'Roggliswil', canton: 'LU' }, + { zip: '6105', city: 'Schachen LU', canton: 'LU' }, + { zip: '6106', city: 'Werthenstein', canton: 'LU' }, + { zip: '6110', city: 'Fontannen b. Wolhusen', canton: 'LU' }, + { zip: '6112', city: 'Doppleschwand', canton: 'LU' }, + { zip: '6113', city: 'Romoos', canton: 'LU' }, + { zip: '6114', city: 'Steinhuserberg', canton: 'LU' }, + { zip: '6160', city: 'Entlebuch Businesszentrum', canton: 'LU' }, + { zip: '6162', city: 'Rengg', canton: 'LU' }, + { zip: '6163', city: 'Ebnet', canton: 'LU' }, + { zip: '6166', city: 'Hasle LU', canton: 'LU' }, + { zip: '6167', city: 'Bramboden', canton: 'LU' }, + { zip: '6170', city: 'Schüpfheim', canton: 'LU' }, + { zip: '6173', city: 'Flühli LU', canton: 'LU' }, + { zip: '6174', city: 'Sörenberg', canton: 'LU' }, + { zip: '6182', city: 'Escholzmatt', canton: 'LU' }, + { zip: '6192', city: 'Wiggen', canton: 'LU' }, + { zip: '6196', city: 'Marbach LU', canton: 'LU' }, + { zip: '2012', city: 'Auvernier', canton: 'NE' }, + { zip: '2013', city: 'Colombier NE', canton: 'NE' }, + { zip: '2014', city: 'Bôle', canton: 'NE' }, + { zip: '2015', city: 'Areuse', canton: 'NE' }, + { zip: '2016', city: 'Cortaillod', canton: 'NE' }, + { zip: '2017', city: 'Boudry', canton: 'NE' }, + { zip: '2019', city: 'Chambrelien', canton: 'NE' }, + { zip: '2022', city: 'Bevaix', canton: 'NE' }, + { zip: '2023', city: 'Gorgier', canton: 'NE' }, + { zip: '2024', city: 'St-Aubin-Sauges', canton: 'NE' }, + { zip: '2025', city: 'Chez-le-Bart', canton: 'NE' }, + { zip: '2027', city: 'Montalchez', canton: 'NE' }, + { zip: '2028', city: 'Vaumarcus', canton: 'NE' }, + { zip: '2034', city: 'Peseux', canton: 'NE' }, + { zip: '2035', city: 'Corcelles NE', canton: 'NE' }, + { zip: '2036', city: 'Cormondrèche', canton: 'NE' }, + { zip: '2037', city: 'Montezillon', canton: 'NE' }, + { zip: '2149', city: 'Champ-du-Moulin', canton: 'NE' }, + { zip: '2300', city: 'La Chaux-de-Fonds', canton: 'NE' }, + { zip: '2301', city: 'La Chaux-de-Fonds', canton: 'NE' }, + { zip: '2303', city: 'La Chaux-de-Fonds', canton: 'NE' }, + { zip: '2304', city: 'La Chaux-de-Fonds', canton: 'NE' }, + { zip: '2314', city: 'La Sagne NE', canton: 'NE' }, + { zip: '2322', city: 'Le Crêt-du-Locle', canton: 'NE' }, + { zip: '2325', city: 'Les Planchettes', canton: 'NE' }, + { zip: '2316', city: 'Les Ponts-de-Martel', canton: 'NE' }, + { zip: '2318', city: 'Brot-Plamboz', canton: 'NE' }, + { zip: '2400', city: 'Le Prévoux', canton: 'NE' }, + { zip: '2405', city: 'La Chaux-du-Milieu', canton: 'NE' }, + { zip: '2406', city: 'Les Taillères', canton: 'NE' }, + { zip: '2414', city: 'Le Cerneux-Péquignot', canton: 'NE' }, + { zip: '2416', city: 'Les Brenets', canton: 'NE' }, + { zip: '2000', city: 'Neuchâtel', canton: 'NE' }, + { zip: '2001', city: 'Neuchâtel 1', canton: 'NE' }, + { zip: '2002', city: 'Neuchâtel 2', canton: 'NE' }, + { zip: '2010', city: 'Neuchâtel OFS', canton: 'NE' }, + { zip: '2067', city: 'Chaumont', canton: 'NE' }, + { zip: '2068', city: 'Hauterive NE', canton: 'NE' }, + { zip: '2072', city: 'St-Blaise', canton: 'NE' }, + { zip: '2073', city: 'Enges', canton: 'NE' }, + { zip: '2074', city: 'Marin-Centre', canton: 'NE' }, + { zip: '2075', city: 'Thielle', canton: 'NE' }, + { zip: '2087', city: 'Cornaux NE', canton: 'NE' }, + { zip: '2088', city: 'Cressier NE', canton: 'NE' }, + { zip: '2523', city: 'Lignières', canton: 'NE' }, + { zip: '2525', city: 'Le Landeron', canton: 'NE' }, + { zip: '2042', city: 'Valangin', canton: 'NE' }, + { zip: '2043', city: 'Boudevilliers', canton: 'NE' }, + { zip: '2046', city: 'Fontaines NE', canton: 'NE' }, + { zip: '2052', city: 'La Vue-des-Alpes', canton: 'NE' }, + { zip: '2053', city: 'Cernier', canton: 'NE' }, + { zip: '2054', city: 'Les Vieux-Prés', canton: 'NE' }, + { zip: '2056', city: 'Dombresson', canton: 'NE' }, + { zip: '2057', city: 'Villiers', canton: 'NE' }, + { zip: '2058', city: 'Le Pâquier NE', canton: 'NE' }, + { zip: '2063', city: 'Saules', canton: 'NE' }, + { zip: '2065', city: 'Savagnier', canton: 'NE' }, + { zip: '2206', city: 'Les Geneveys-sur-Coffrane', canton: 'NE' }, + { zip: '2207', city: 'Coffrane', canton: 'NE' }, + { zip: '2208', city: 'Les Hauts-Geneveys', canton: 'NE' }, + { zip: '2103', city: 'Noiraigue', canton: 'NE' }, + { zip: '2105', city: 'Travers', canton: 'NE' }, + { zip: '2108', city: 'Couvet', canton: 'NE' }, + { zip: '2112', city: 'Môtiers NE', canton: 'NE' }, + { zip: '2113', city: 'Boveresse', canton: 'NE' }, + { zip: '2114', city: 'Fleurier', canton: 'NE' }, + { zip: '2115', city: 'Buttes', canton: 'NE' }, + { zip: '2116', city: 'Mont-de-Buttes', canton: 'NE' }, + { zip: '2117', city: 'La Côte-aux-Fées', canton: 'NE' }, + { zip: '2123', city: 'St-Sulpice NE', canton: 'NE' }, + { zip: '2124', city: 'Les Sagnettes', canton: 'NE' }, + { zip: '2126', city: 'Les Verrières', canton: 'NE' }, + { zip: '2127', city: 'Les Bayards', canton: 'NE' }, + { zip: '6052', city: 'Hergiswil NW', canton: 'NW' }, + { zip: '6362', city: 'Stansstad', canton: 'NW' }, + { zip: '6363', city: 'Fürigen', canton: 'NW' }, + { zip: '6365', city: 'Kehrsiten', canton: 'NW' }, + { zip: '6370', city: 'Stans', canton: 'NW' }, + { zip: '6371', city: 'Stans', canton: 'NW' }, + { zip: '6372', city: 'Ennetmoos', canton: 'NW' }, + { zip: '6373', city: 'Ennetbürgen', canton: 'NW' }, + { zip: '6374', city: 'Buochs', canton: 'NW' }, + { zip: '6375', city: 'Beckenried', canton: 'NW' }, + { zip: '6376', city: 'Emmetten', canton: 'NW' }, + { zip: '6382', city: 'Büren NW', canton: 'NW' }, + { zip: '6383', city: 'Wiesenberg', canton: 'NW' }, + { zip: '6386', city: 'Wolfenschiessen', canton: 'NW' }, + { zip: '6387', city: 'Oberrickenbach', canton: 'NW' }, + { zip: '6053', city: 'Alpnachstad', canton: 'OW' }, + { zip: '6055', city: 'Alpnach Dorf', canton: 'OW' }, + { zip: '6056', city: 'Kägiswil', canton: 'OW' }, + { zip: '6060', city: 'Ramersberg', canton: 'OW' }, + { zip: '6061', city: 'Sarnen 1', canton: 'OW' }, + { zip: '6062', city: 'Wilen (Sarnen)', canton: 'OW' }, + { zip: '6063', city: 'Stalden (Sarnen)', canton: 'OW' }, + { zip: '6064', city: 'Kerns', canton: 'OW' }, + { zip: '6066', city: 'St. Niklausen OW', canton: 'OW' }, + { zip: '6067', city: 'Melchtal', canton: 'OW' }, + { zip: '6068', city: 'Melchsee-Frutt', canton: 'OW' }, + { zip: '6072', city: 'Sachseln', canton: 'OW' }, + { zip: '6073', city: 'Flüeli-Ranft', canton: 'OW' }, + { zip: '6074', city: 'Giswil', canton: 'OW' }, + { zip: '6078', city: 'Bürglen OW', canton: 'OW' }, + { zip: '6388', city: 'Grafenort', canton: 'OW' }, + { zip: '6390', city: 'Engelberg', canton: 'OW' }, + { zip: '6391', city: 'Engelberg', canton: 'OW' }, + { zip: '9000', city: 'St. Gallen', canton: 'SG' }, + { zip: '9001', city: 'St. Gallen', canton: 'SG' }, + { zip: '9004', city: 'St. Gallen', canton: 'SG' }, + { zip: '9006', city: 'St. Gallen', canton: 'SG' }, + { zip: '9007', city: 'St. Gallen', canton: 'SG' }, + { zip: '9008', city: 'St. Gallen', canton: 'SG' }, + { zip: '9010', city: 'St. Gallen', canton: 'SG' }, + { zip: '9011', city: 'St. Gallen', canton: 'SG' }, + { zip: '9012', city: 'St. Gallen', canton: 'SG' }, + { zip: '9013', city: 'St. Gallen', canton: 'SG' }, + { zip: '9014', city: 'St. Gallen', canton: 'SG' }, + { zip: '9015', city: 'St. Gallen', canton: 'SG' }, + { zip: '9016', city: 'St. Gallen', canton: 'SG' }, + { zip: '9020', city: 'St. Gallen', canton: 'SG' }, + { zip: '9021', city: 'St. Gallen MS', canton: 'SG' }, + { zip: '9023', city: 'St. Gallen', canton: 'SG' }, + { zip: '9024', city: 'St. Gallen', canton: 'SG' }, + { zip: '9026', city: 'St. Gallen K AG', canton: 'SG' }, + { zip: '9027', city: 'St. Gallen Mona Versand', canton: 'SG' }, + { zip: '9028', city: 'St. Gallen', canton: 'SG' }, + { zip: '9029', city: 'St. Gallen', canton: 'SG' }, + { zip: '9030', city: 'St. Josefen', canton: 'SG' }, + { zip: '9032', city: 'Engelburg', canton: 'SG' }, + { zip: '9034', city: 'Eggersriet', canton: 'SG' }, + { zip: '9036', city: 'Grub SG', canton: 'SG' }, + { zip: '9200', city: 'Gossau SG', canton: 'SG' }, + { zip: '9201', city: 'Gossau SG', canton: 'SG' }, + { zip: '9204', city: 'Andwil SG', canton: 'SG' }, + { zip: '9205', city: 'Waldkirch', canton: 'SG' }, + { zip: '9212', city: 'Arnegg', canton: 'SG' }, + { zip: '9300', city: 'Wittenbach', canton: 'SG' }, + { zip: '9301', city: 'Wittenbach', canton: 'SG' }, + { zip: '9304', city: 'Bernhardzell', canton: 'SG' }, + { zip: '9308', city: 'Lömmenschwil', canton: 'SG' }, + { zip: '9312', city: 'Häggenschwil', canton: 'SG' }, + { zip: '9313', city: 'Muolen', canton: 'SG' }, + { zip: '9033', city: 'Untereggen', canton: 'SG' }, + { zip: '9305', city: 'Berg SG', canton: 'SG' }, + { zip: '9323', city: 'Steinach', canton: 'SG' }, + { zip: '9327', city: 'Tübach', canton: 'SG' }, + { zip: '9400', city: 'Rorschach', canton: 'SG' }, + { zip: '9401', city: 'Rorschach', canton: 'SG' }, + { zip: '9402', city: 'Mörschwil', canton: 'SG' }, + { zip: '9403', city: 'Goldach', canton: 'SG' }, + { zip: '9404', city: 'Rorschacherberg', canton: 'SG' }, + { zip: '9422', city: 'Staad SG', canton: 'SG' }, + { zip: '9423', city: 'Altenrhein', canton: 'SG' }, + { zip: '9425', city: 'Thal', canton: 'SG' }, + { zip: '9424', city: 'Rheineck', canton: 'SG' }, + { zip: '9430', city: 'St. Margrethen SG', canton: 'SG' }, + { zip: '9434', city: 'Au SG', canton: 'SG' }, + { zip: '9435', city: 'Heerbrugg', canton: 'SG' }, + { zip: '9436', city: 'Balgach', canton: 'SG' }, + { zip: '9437', city: 'Marbach SG', canton: 'SG' }, + { zip: '9443', city: 'Widnau', canton: 'SG' }, + { zip: '9444', city: 'Diepoldsau', canton: 'SG' }, + { zip: '9445', city: 'Rebstein', canton: 'SG' }, + { zip: '9450', city: 'Altstätten SG 2', canton: 'SG' }, + { zip: '9451', city: 'Kriessern', canton: 'SG' }, + { zip: '9452', city: 'Hinterforst', canton: 'SG' }, + { zip: '9453', city: 'Eichberg', canton: 'SG' }, + { zip: '9462', city: 'Montlingen', canton: 'SG' }, + { zip: '9463', city: 'Oberriet SG', canton: 'SG' }, + { zip: '9464', city: 'Rüthi (Rheintal)', canton: 'SG' }, + { zip: '9465', city: 'Salez', canton: 'SG' }, + { zip: '9466', city: 'Sennwald', canton: 'SG' }, + { zip: '9467', city: 'Frümsen', canton: 'SG' }, + { zip: '9468', city: 'Sax', canton: 'SG' }, + { zip: '9469', city: 'Haag (Rheintal)', canton: 'SG' }, + { zip: '9470', city: 'Werdenberg', canton: 'SG' }, + { zip: '9471', city: 'Buchs SG 3', canton: 'SG' }, + { zip: '9472', city: 'Grabs', canton: 'SG' }, + { zip: '9473', city: 'Gams', canton: 'SG' }, + { zip: '9475', city: 'Sevelen', canton: 'SG' }, + { zip: '9476', city: 'Weite', canton: 'SG' }, + { zip: '9477', city: 'Trübbach', canton: 'SG' }, + { zip: '9478', city: 'Azmoos', canton: 'SG' }, + { zip: '9479', city: 'Malans SG', canton: 'SG' }, + { zip: '7310', city: 'Bad Ragaz', canton: 'SG' }, + { zip: '7312', city: 'Pfäfers', canton: 'SG' }, + { zip: '7313', city: 'St. Margrethenberg', canton: 'SG' }, + { zip: '7314', city: 'Vadura', canton: 'SG' }, + { zip: '7315', city: 'Vättis', canton: 'SG' }, + { zip: '7317', city: 'Vasön', canton: 'SG' }, + { zip: '7320', city: 'Sargans', canton: 'SG' }, + { zip: '7323', city: 'Wangs', canton: 'SG' }, + { zip: '7324', city: 'Vilters', canton: 'SG' }, + { zip: '7325', city: 'Schwendi im Weisstannental', canton: 'SG' }, + { zip: '7326', city: 'Weisstannen', canton: 'SG' }, + { zip: '8877', city: 'Murg', canton: 'SG' }, + { zip: '8878', city: 'Quinten', canton: 'SG' }, + { zip: '8879', city: 'Pizolpark (Mels)', canton: 'SG' }, + { zip: '8880', city: 'Walenstadt', canton: 'SG' }, + { zip: '8881', city: 'Tscherlach', canton: 'SG' }, + { zip: '8882', city: 'Unterterzen', canton: 'SG' }, + { zip: '8883', city: 'Quarten', canton: 'SG' }, + { zip: '8884', city: 'Oberterzen', canton: 'SG' }, + { zip: '8885', city: 'Mols', canton: 'SG' }, + { zip: '8886', city: 'Mädris-Vermol', canton: 'SG' }, + { zip: '8887', city: 'Mels', canton: 'SG' }, + { zip: '8888', city: 'Heiligkreuz (Mels)', canton: 'SG' }, + { zip: '8889', city: 'Plons', canton: 'SG' }, + { zip: '8890', city: 'Flums', canton: 'SG' }, + { zip: '8892', city: 'Berschis', canton: 'SG' }, + { zip: '8893', city: 'Flums Hochwiese', canton: 'SG' }, + { zip: '8894', city: 'Flumserberg Saxli', canton: 'SG' }, + { zip: '8895', city: 'Flumserberg Portels', canton: 'SG' }, + { zip: '8896', city: 'Flumserberg Bergheim', canton: 'SG' }, + { zip: '8897', city: 'Flumserberg Tannenheim', canton: 'SG' }, + { zip: '8898', city: 'Flumserberg Tannenbodenalp', canton: 'SG' }, + { zip: '8638', city: 'Goldingen', canton: 'SG' }, + { zip: '8640', city: 'Rapperswil SG', canton: 'SG' }, + { zip: '8645', city: 'Jona', canton: 'SG' }, + { zip: '8646', city: 'Wagen', canton: 'SG' }, + { zip: '8715', city: 'Bollingen', canton: 'SG' }, + { zip: '8716', city: 'Schmerikon', canton: 'SG' }, + { zip: '8717', city: 'Benken SG', canton: 'SG' }, + { zip: '8718', city: 'Schänis', canton: 'SG' }, + { zip: '8722', city: 'Kaltbrunn', canton: 'SG' }, + { zip: '8723', city: 'Rufi', canton: 'SG' }, + { zip: '8725', city: 'Ernetschwil', canton: 'SG' }, + { zip: '8726', city: 'Ricken SG', canton: 'SG' }, + { zip: '8727', city: 'Walde SG', canton: 'SG' }, + { zip: '8730', city: 'Uznach', canton: 'SG' }, + { zip: '8732', city: 'Neuhaus SG', canton: 'SG' }, + { zip: '8733', city: 'Eschenbach SG', canton: 'SG' }, + { zip: '8734', city: 'Ermenswil', canton: 'SG' }, + { zip: '8735', city: 'St. Gallenkappel', canton: 'SG' }, + { zip: '8737', city: 'Gommiswald', canton: 'SG' }, + { zip: '8738', city: 'Uetliburg SG', canton: 'SG' }, + { zip: '8739', city: 'Rieden SG', canton: 'SG' }, + { zip: '8740', city: 'Uznach Vögele AG', canton: 'SG' }, + { zip: '8866', city: 'Ziegelbrücke', canton: 'SG' }, + { zip: '8872', city: 'Weesen', canton: 'SG' }, + { zip: '8873', city: 'Amden', canton: 'SG' }, + { zip: '9114', city: 'Hoffeld', canton: 'SG' }, + { zip: '9115', city: 'Dicken', canton: 'SG' }, + { zip: '9122', city: 'Mogelsberg', canton: 'SG' }, + { zip: '9123', city: 'Nassen', canton: 'SG' }, + { zip: '9125', city: 'Brunnadern', canton: 'SG' }, + { zip: '9126', city: 'Necker', canton: 'SG' }, + { zip: '9127', city: 'St. Peterzell', canton: 'SG' }, + { zip: '9500', city: 'Wil SG', canton: 'SG' }, + { zip: '9533', city: 'Dietschwil', canton: 'SG' }, + { zip: '9534', city: 'Gähwil', canton: 'SG' }, + { zip: '9601', city: 'Lütisburg Station', canton: 'SG' }, + { zip: '9602', city: 'Müselbach', canton: 'SG' }, + { zip: '9604', city: 'Lütisburg', canton: 'SG' }, + { zip: '9606', city: 'Bütschwil', canton: 'SG' }, + { zip: '9607', city: 'Mosnang', canton: 'SG' }, + { zip: '9608', city: 'Ganterschwil', canton: 'SG' }, + { zip: '9612', city: 'Dreien', canton: 'SG' }, + { zip: '9613', city: 'Mühlrüti', canton: 'SG' }, + { zip: '9614', city: 'Libingen', canton: 'SG' }, + { zip: '9615', city: 'Dietfurt', canton: 'SG' }, + { zip: '9620', city: 'Lichtensteig', canton: 'SG' }, + { zip: '9621', city: 'Oberhelfenschwil', canton: 'SG' }, + { zip: '9622', city: 'Krinau', canton: 'SG' }, + { zip: '9630', city: 'Wattwil', canton: 'SG' }, + { zip: '9631', city: 'Ulisbach', canton: 'SG' }, + { zip: '9633', city: 'Hemberg', canton: 'SG' }, + { zip: '9642', city: 'Ebnat-Kappel', canton: 'SG' }, + { zip: '9643', city: 'Krummenau', canton: 'SG' }, + { zip: '9650', city: 'Nesslau', canton: 'SG' }, + { zip: '9651', city: 'Ennetbühl', canton: 'SG' }, + { zip: '9652', city: 'Neu St. Johann', canton: 'SG' }, + { zip: '9655', city: 'Stein SG', canton: 'SG' }, + { zip: '9656', city: 'Alt St. Johann', canton: 'SG' }, + { zip: '9657', city: 'Unterwasser', canton: 'SG' }, + { zip: '9658', city: 'Wildhaus', canton: 'SG' }, + { zip: '9113', city: 'Degersheim', canton: 'SG' }, + { zip: '9116', city: 'Wolfertswil', canton: 'SG' }, + { zip: '9203', city: 'Niederwil SG', canton: 'SG' }, + { zip: '9230', city: 'Flawil 1', canton: 'SG' }, + { zip: '9231', city: 'Egg (Flawil)', canton: 'SG' }, + { zip: '9240', city: 'Uzwil', canton: 'SG' }, + { zip: '9242', city: 'Oberuzwil', canton: 'SG' }, + { zip: '9243', city: 'Jonschwil', canton: 'SG' }, + { zip: '9244', city: 'Niederuzwil', canton: 'SG' }, + { zip: '9245', city: 'Oberbüren', canton: 'SG' }, + { zip: '9246', city: 'Niederbüren', canton: 'SG' }, + { zip: '9247', city: 'Henau', canton: 'SG' }, + { zip: '9248', city: 'Bichwil', canton: 'SG' }, + { zip: '9249', city: 'Niederstetten', canton: 'SG' }, + { zip: '9501', city: 'Wil SG 1', canton: 'SG' }, + { zip: '9512', city: 'Rossrüti', canton: 'SG' }, + { zip: '9523', city: 'Züberwangen', canton: 'SG' }, + { zip: '9524', city: 'Zuzwil SG', canton: 'SG' }, + { zip: '9525', city: 'Lenggenwil', canton: 'SG' }, + { zip: '9526', city: 'Zuckenriet', canton: 'SG' }, + { zip: '9527', city: 'Niederhelfenschwil', canton: 'SG' }, + { zip: '9532', city: 'Rickenbach b. Wil', canton: 'SG' }, + { zip: '9536', city: 'Schwarzenbach SG', canton: 'SG' }, + { zip: '9552', city: 'Bronschhofen', canton: 'SG' }, + { zip: '8213', city: 'Neunkirch', canton: 'SH' }, + { zip: '8214', city: 'Gächlingen', canton: 'SH' }, + { zip: '8224', city: 'Löhningen', canton: 'SH' }, + { zip: '8234', city: 'Stetten SH', canton: 'SH' }, + { zip: '8235', city: 'Lohn SH', canton: 'SH' }, + { zip: '8236', city: 'Opfertshofen SH', canton: 'SH' }, + { zip: '8239', city: 'Dörflingen', canton: 'SH' }, + { zip: '8240', city: 'Thayngen', canton: 'SH' }, + { zip: '8241', city: 'Barzheim', canton: 'SH' }, + { zip: '8242', city: 'Hofen SH', canton: 'SH' }, + { zip: '8243', city: 'Altdorf SH', canton: 'SH' }, + { zip: '8200', city: 'Schaffhausen', canton: 'SH' }, + { zip: '8201', city: 'Schaffhausen', canton: 'SH' }, + { zip: '8203', city: 'Schaffhausen', canton: 'SH' }, + { zip: '8207', city: 'Schaffhausen', canton: 'SH' }, + { zip: '8208', city: 'Schaffhausen', canton: 'SH' }, + { zip: '8212', city: 'Neuhausen am Rheinfall', canton: 'SH' }, + { zip: '8222', city: 'Beringen', canton: 'SH' }, + { zip: '8223', city: 'Guntmadingen', canton: 'SH' }, + { zip: '8231', city: 'Hemmental', canton: 'SH' }, + { zip: '8232', city: 'Merishausen', canton: 'SH' }, + { zip: '8233', city: 'Bargen SH', canton: 'SH' }, + { zip: '8454', city: 'Buchberg', canton: 'SH' }, + { zip: '8455', city: 'Rüdlingen', canton: 'SH' }, + { zip: '8225', city: 'Siblingen', canton: 'SH' }, + { zip: '8226', city: 'Schleitheim', canton: 'SH' }, + { zip: '8228', city: 'Beggingen', canton: 'SH' }, + { zip: '8260', city: 'Stein am Rhein 2 Stadt', canton: 'SH' }, + { zip: '8261', city: 'Hemishofen', canton: 'SH' }, + { zip: '8262', city: 'Ramsen', canton: 'SH' }, + { zip: '8263', city: 'Buch SH', canton: 'SH' }, + { zip: '8215', city: 'Hallau', canton: 'SH' }, + { zip: '8216', city: 'Oberhallau', canton: 'SH' }, + { zip: '8217', city: 'Wilchingen', canton: 'SH' }, + { zip: '8218', city: 'Osterfingen', canton: 'SH' }, + { zip: '8219', city: 'Trasadingen', canton: 'SH' }, + { zip: '4622', city: 'Egerkingen', canton: 'SO' }, + { zip: '4623', city: 'Neuendorf', canton: 'SO' }, + { zip: '4624', city: 'Härkingen', canton: 'SO' }, + { zip: '4625', city: 'Oberbuchsiten', canton: 'SO' }, + { zip: '4626', city: 'Niederbuchsiten', canton: 'SO' }, + { zip: '4628', city: 'Wolfwil', canton: 'SO' }, + { zip: '4702', city: 'Oensingen', canton: 'SO' }, + { zip: '4703', city: 'Kestenholz', canton: 'SO' }, + { zip: '4710', city: 'Balsthal', canton: 'SO' }, + { zip: '4712', city: 'Laupersdorf', canton: 'SO' }, + { zip: '4713', city: 'Matzendorf', canton: 'SO' }, + { zip: '4714', city: 'Aedermannsdorf', canton: 'SO' }, + { zip: '4715', city: 'Herbetswil', canton: 'SO' }, + { zip: '4716', city: 'Gänsbrunnen', canton: 'SO' }, + { zip: '4717', city: 'Mümliswil', canton: 'SO' }, + { zip: '4718', city: 'Holderbank SO', canton: 'SO' }, + { zip: '4719', city: 'Ramiswil', canton: 'SO' }, + { zip: '3253', city: 'Schnottwil', canton: 'SO' }, + { zip: '3254', city: 'Messen', canton: 'SO' }, + { zip: '3307', city: 'Brunnenthal', canton: 'SO' }, + { zip: '4571', city: 'Lüterkofen', canton: 'SO' }, + { zip: '4574', city: 'Nennigkofen', canton: 'SO' }, + { zip: '4576', city: 'Tscheppach', canton: 'SO' }, + { zip: '4577', city: 'Hessigkofen', canton: 'SO' }, + { zip: '4578', city: 'Bibern SO', canton: 'SO' }, + { zip: '4579', city: 'Gossliwil', canton: 'SO' }, + { zip: '4581', city: 'Küttigkofen', canton: 'SO' }, + { zip: '4582', city: 'Brügglen', canton: 'SO' }, + { zip: '4583', city: 'Aetigkofen', canton: 'SO' }, + { zip: '4584', city: 'Gächliwil', canton: 'SO' }, + { zip: '4585', city: 'Biezwil', canton: 'SO' }, + { zip: '4586', city: 'Kyburg-Buchegg', canton: 'SO' }, + { zip: '4587', city: 'Aetingen', canton: 'SO' }, + { zip: '4588', city: 'Unterramsern', canton: 'SO' }, + { zip: '4108', city: 'Witterswil', canton: 'SO' }, + { zip: '4112', city: 'Bättwil-Flüh', canton: 'SO' }, + { zip: '4114', city: 'Hofstetten SO', canton: 'SO' }, + { zip: '4115', city: 'Mariastein', canton: 'SO' }, + { zip: '4116', city: 'Metzerlen', canton: 'SO' }, + { zip: '4118', city: 'Rodersdorf', canton: 'SO' }, + { zip: '4143', city: 'Dornach', canton: 'SO' }, + { zip: '4145', city: 'Gempen', canton: 'SO' }, + { zip: '4146', city: 'Hochwald', canton: 'SO' }, + { zip: '4206', city: 'Seewen SO', canton: 'SO' }, + { zip: '4412', city: 'Nuglar', canton: 'SO' }, + { zip: '4413', city: 'Büren SO', canton: 'SO' }, + { zip: '4421', city: 'St. Pantaleon', canton: 'SO' }, + { zip: '4468', city: 'Kienberg', canton: 'SO' }, + { zip: '4632', city: 'Trimbach', canton: 'SO' }, + { zip: '4633', city: 'Hauenstein', canton: 'SO' }, + { zip: '4634', city: 'Wisen SO', canton: 'SO' }, + { zip: '4652', city: 'Winznau', canton: 'SO' }, + { zip: '4653', city: 'Obergösgen', canton: 'SO' }, + { zip: '4654', city: 'Lostorf', canton: 'SO' }, + { zip: '4655', city: 'Rohr b. Olten', canton: 'SO' }, + { zip: '5013', city: 'Niedergösgen', canton: 'SO' }, + { zip: '5015', city: 'Erlinsbach SO', canton: 'SO' }, + { zip: '4528', city: 'Zuchwil', canton: 'SO' }, + { zip: '4542', city: 'Luterbach', canton: 'SO' }, + { zip: '4543', city: 'Deitingen', canton: 'SO' }, + { zip: '4552', city: 'Derendingen', canton: 'SO' }, + { zip: '4553', city: 'Subingen', canton: 'SO' }, + { zip: '4554', city: 'Hüniken', canton: 'SO' }, + { zip: '4556', city: 'Steinhof SO', canton: 'SO' }, + { zip: '4557', city: 'Horriwil', canton: 'SO' }, + { zip: '4558', city: 'Heinrichswil', canton: 'SO' }, + { zip: '4562', city: 'Biberist', canton: 'SO' }, + { zip: '4563', city: 'Gerlafingen', canton: 'SO' }, + { zip: '4565', city: 'Recherswil', canton: 'SO' }, + { zip: '4566', city: 'Kriegstetten', canton: 'SO' }, + { zip: '4573', city: 'Lohn-Ammannsegg', canton: 'SO' }, + { zip: '2540', city: 'Grenchen 1', canton: 'SO' }, + { zip: '2544', city: 'Bettlach', canton: 'SO' }, + { zip: '2545', city: 'Selzach', canton: 'SO' }, + { zip: '4512', city: 'Bellach', canton: 'SO' }, + { zip: '4513', city: 'Langendorf', canton: 'SO' }, + { zip: '4514', city: 'Lommiswil', canton: 'SO' }, + { zip: '4515', city: 'Oberdorf SO', canton: 'SO' }, + { zip: '4522', city: 'Rüttenen', canton: 'SO' }, + { zip: '4523', city: 'Niederwil SO', canton: 'SO' }, + { zip: '4524', city: 'Oberbalmberg', canton: 'SO' }, + { zip: '4525', city: 'Balm b. Günsberg', canton: 'SO' }, + { zip: '4532', city: 'Feldbrunnen', canton: 'SO' }, + { zip: '4533', city: 'Riedholz', canton: 'SO' }, + { zip: '4534', city: 'Flumenthal', canton: 'SO' }, + { zip: '4535', city: 'Hubersdorf', canton: 'SO' }, + { zip: '4600', city: 'Olten', canton: 'SO' }, + { zip: '4601', city: 'Olten 1 Fächer', canton: 'SO' }, + { zip: '4605', city: 'Olten', canton: 'SO' }, + { zip: '4609', city: 'Olten Sonderdienste', canton: 'SO' }, + { zip: '4612', city: 'Wangen b. Olten', canton: 'SO' }, + { zip: '4613', city: 'Rickenbach SO', canton: 'SO' }, + { zip: '4614', city: 'Hägendorf', canton: 'SO' }, + { zip: '4615', city: 'Allerheiligenberg', canton: 'SO' }, + { zip: '4616', city: 'Kappel SO', canton: 'SO' }, + { zip: '4617', city: 'Gunzgen', canton: 'SO' }, + { zip: '4618', city: 'Boningen', canton: 'SO' }, + { zip: '4629', city: 'Fulenbach', canton: 'SO' }, + { zip: '4656', city: 'Starrkirch-Wil', canton: 'SO' }, + { zip: '4657', city: 'Dulliken', canton: 'SO' }, + { zip: '4658', city: 'Däniken SO', canton: 'SO' }, + { zip: '5012', city: 'Schönenwerd', canton: 'SO' }, + { zip: '5014', city: 'Gretzenbach', canton: 'SO' }, + { zip: '5746', city: 'Walterswil SO', canton: 'SO' }, + { zip: '4500', city: 'Solothurn', canton: 'SO' }, + { zip: '4501', city: 'Solothurn', canton: 'SO' }, + { zip: '4502', city: 'Solothurn', canton: 'SO' }, + { zip: '4503', city: 'Solothurn', canton: 'SO' }, + { zip: '4509', city: 'Solothurn', canton: 'SO' }, + { zip: '4204', city: 'Himmelried', canton: 'SO' }, + { zip: '4208', city: 'Nunningen', canton: 'SO' }, + { zip: '4226', city: 'Breitenbach', canton: 'SO' }, + { zip: '4227', city: 'Büsserach', canton: 'SO' }, + { zip: '4228', city: 'Erschwil', canton: 'SO' }, + { zip: '4229', city: 'Beinwil SO', canton: 'SO' }, + { zip: '4232', city: 'Fehren', canton: 'SO' }, + { zip: '4233', city: 'Meltingen', canton: 'SO' }, + { zip: '4234', city: 'Zullwil', canton: 'SO' }, + { zip: '4245', city: 'Kleinlützel', canton: 'SO' }, + { zip: '4247', city: 'Grindel', canton: 'SO' }, + { zip: '4252', city: 'Bärschwil', canton: 'SO' }, + { zip: '8836', city: 'Bennau', canton: 'SZ' }, + { zip: '8840', city: 'Einsiedeln', canton: 'SZ' }, + { zip: '8841', city: 'Gross', canton: 'SZ' }, + { zip: '8844', city: 'Euthal', canton: 'SZ' }, + { zip: '8846', city: 'Willerzell', canton: 'SZ' }, + { zip: '8847', city: 'Egg SZ', canton: 'SZ' }, + { zip: '6410', city: 'Rigi Scheidegg', canton: 'SZ' }, + { zip: '6442', city: 'Gersau', canton: 'SZ' }, + { zip: '8806', city: 'Bäch SZ', canton: 'SZ' }, + { zip: '8807', city: 'Freienbach', canton: 'SZ' }, + { zip: '8808', city: 'Pfäffikon SZ', canton: 'SZ' }, + { zip: '8832', city: 'Wilen b. Wollerau', canton: 'SZ' }, + { zip: '8834', city: 'Schindellegi', canton: 'SZ' }, + { zip: '8835', city: 'Feusisberg', canton: 'SZ' }, + { zip: '6402', city: 'Merlischachen', canton: 'SZ' }, + { zip: '6403', city: 'Küssnacht am Rigi', canton: 'SZ' }, + { zip: '6405', city: 'Immensee', canton: 'SZ' }, + { zip: '8852', city: 'Altendorf', canton: 'SZ' }, + { zip: '8853', city: 'Lachen SZ', canton: 'SZ' }, + { zip: '8854', city: 'Siebnen', canton: 'SZ' }, + { zip: '8855', city: 'Wangen SZ', canton: 'SZ' }, + { zip: '8856', city: 'Tuggen', canton: 'SZ' }, + { zip: '8857', city: 'Vorderthal', canton: 'SZ' }, + { zip: '8858', city: 'Innerthal', canton: 'SZ' }, + { zip: '8862', city: 'Schübelbach', canton: 'SZ' }, + { zip: '8863', city: 'Buttikon SZ', canton: 'SZ' }, + { zip: '8864', city: 'Reichenburg', canton: 'SZ' }, + { zip: '6414', city: 'Oberarth', canton: 'SZ' }, + { zip: '6415', city: 'Arth', canton: 'SZ' }, + { zip: '6416', city: 'Steinerberg', canton: 'SZ' }, + { zip: '6417', city: 'Sattel', canton: 'SZ' }, + { zip: '6418', city: 'Rothenthurm', canton: 'SZ' }, + { zip: '6422', city: 'Steinen', canton: 'SZ' }, + { zip: '6423', city: 'Seewen SZ', canton: 'SZ' }, + { zip: '6424', city: 'Lauerz', canton: 'SZ' }, + { zip: '6430', city: 'Schwyz', canton: 'SZ' }, + { zip: '6431', city: 'Schwyz', canton: 'SZ' }, + { zip: '6432', city: 'Rickenbach b. Schwyz', canton: 'SZ' }, + { zip: '6433', city: 'Stoos SZ', canton: 'SZ' }, + { zip: '6434', city: 'Illgau', canton: 'SZ' }, + { zip: '6436', city: 'Bisisthal', canton: 'SZ' }, + { zip: '6438', city: 'Ibach', canton: 'SZ' }, + { zip: '6440', city: 'Brunnen', canton: 'SZ' }, + { zip: '6443', city: 'Morschach', canton: 'SZ' }, + { zip: '6452', city: 'Riemenstalden', canton: 'SZ' }, + { zip: '8842', city: 'Unteriberg', canton: 'SZ' }, + { zip: '8843', city: 'Oberiberg', canton: 'SZ' }, + { zip: '8845', city: 'Studen SZ', canton: 'SZ' }, + { zip: '8849', city: 'Alpthal', canton: 'SZ' }, + { zip: '8580', city: 'Hefenhofen', canton: 'TG' }, + { zip: '8581', city: 'Schocherswil', canton: 'TG' }, + { zip: '8582', city: 'Dozwil', canton: 'TG' }, + { zip: '8587', city: 'Oberaach', canton: 'TG' }, + { zip: '8590', city: 'Romanshorn', canton: 'TG' }, + { zip: '8592', city: 'Uttwil', canton: 'TG' }, + { zip: '8593', city: 'Kesswil', canton: 'TG' }, + { zip: '8599', city: 'Salmsach', canton: 'TG' }, + { zip: '9306', city: 'Freidorf TG', canton: 'TG' }, + { zip: '9314', city: 'Steinebrunn', canton: 'TG' }, + { zip: '9315', city: 'Winden', canton: 'TG' }, + { zip: '9320', city: 'Arbon', canton: 'TG' }, + { zip: '9322', city: 'Egnach', canton: 'TG' }, + { zip: '9325', city: 'Roggwil TG', canton: 'TG' }, + { zip: '9326', city: 'Horn', canton: 'TG' }, + { zip: '8252', city: 'Schlatt TG', canton: 'TG' }, + { zip: '8253', city: 'Diessenhofen', canton: 'TG' }, + { zip: '8254', city: 'Basadingen', canton: 'TG' }, + { zip: '8255', city: 'Schlattingen', canton: 'TG' }, + { zip: '8259', city: 'Wagenhausen', canton: 'TG' }, + { zip: '8264', city: 'Eschenz', canton: 'TG' }, + { zip: '8265', city: 'Mammern', canton: 'TG' }, + { zip: '8266', city: 'Steckborn', canton: 'TG' }, + { zip: '8267', city: 'Berlingen', canton: 'TG' }, + { zip: '8500', city: 'Gerlikon', canton: 'TG' }, + { zip: '8501', city: 'Frauenfeld', canton: 'TG' }, + { zip: '8502', city: 'Frauenfeld', canton: 'TG' }, + { zip: '8503', city: 'Frauenfeld', canton: 'TG' }, + { zip: '8505', city: 'Pfyn', canton: 'TG' }, + { zip: '8506', city: 'Lanzenneunforn', canton: 'TG' }, + { zip: '8507', city: 'Hörhausen', canton: 'TG' }, + { zip: '8508', city: 'Homburg', canton: 'TG' }, + { zip: '8509', city: 'Frauenfeld', canton: 'TG' }, + { zip: '8510', city: 'Frauenfeld Kant. Verwaltung', canton: 'TG' }, + { zip: '8512', city: 'Thundorf', canton: 'TG' }, + { zip: '8524', city: 'Buch b. Frauenfeld', canton: 'TG' }, + { zip: '8525', city: 'Wilen b. Neunforn', canton: 'TG' }, + { zip: '8526', city: 'Oberneunforn', canton: 'TG' }, + { zip: '8532', city: 'Weiningen TG', canton: 'TG' }, + { zip: '8535', city: 'Herdern', canton: 'TG' }, + { zip: '8536', city: 'Hüttwilen', canton: 'TG' }, + { zip: '8537', city: 'Uerschhausen', canton: 'TG' }, + { zip: '8546', city: 'Kefikon TG', canton: 'TG' }, + { zip: '8547', city: 'Gachnang', canton: 'TG' }, + { zip: '8552', city: 'Felben-Wellhausen', canton: 'TG' }, + { zip: '8553', city: 'Eschikofen', canton: 'TG' }, + { zip: '8555', city: 'Müllheim Dorf', canton: 'TG' }, + { zip: '9507', city: 'Stettfurt', canton: 'TG' }, + { zip: '9548', city: 'Matzingen', canton: 'TG' }, + { zip: '8268', city: 'Mannenbach-Salenstein', canton: 'TG' }, + { zip: '8269', city: 'Fruthwilen', canton: 'TG' }, + { zip: '8272', city: 'Ermatingen', canton: 'TG' }, + { zip: '8273', city: 'Triboltingen', canton: 'TG' }, + { zip: '8274', city: 'Gottlieben', canton: 'TG' }, + { zip: '8280', city: 'Kreuzlingen', canton: 'TG' }, + { zip: '8285', city: 'Kreuzlingen Ifolor', canton: 'TG' }, + { zip: '8558', city: 'Raperswilen', canton: 'TG' }, + { zip: '8564', city: 'Engwilen', canton: 'TG' }, + { zip: '8565', city: 'Hugelshofen', canton: 'TG' }, + { zip: '8566', city: 'Ellighausen', canton: 'TG' }, + { zip: '8573', city: 'Siegershausen', canton: 'TG' }, + { zip: '8574', city: 'Illighausen', canton: 'TG' }, + { zip: '8585', city: 'Langrickenbach', canton: 'TG' }, + { zip: '8594', city: 'Güttingen', canton: 'TG' }, + { zip: '8595', city: 'Altnau', canton: 'TG' }, + { zip: '8596', city: 'Scherzingen', canton: 'TG' }, + { zip: '8597', city: 'Landschlacht', canton: 'TG' }, + { zip: '8598', city: 'Bottighofen', canton: 'TG' }, + { zip: '8355', city: 'Aadorf', canton: 'TG' }, + { zip: '8356', city: 'Ettenhausen TG', canton: 'TG' }, + { zip: '8357', city: 'Guntershausen b. Aadorf', canton: 'TG' }, + { zip: '8360', city: 'Eschlikon TG', canton: 'TG' }, + { zip: '8362', city: 'Balterswil', canton: 'TG' }, + { zip: '8363', city: 'Bichelsee', canton: 'TG' }, + { zip: '8370', city: 'Sirnach', canton: 'TG' }, + { zip: '8371', city: 'Busswil TG', canton: 'TG' }, + { zip: '8372', city: 'Wiezikon b. Sirnach', canton: 'TG' }, + { zip: '8374', city: 'Dussnang', canton: 'TG' }, + { zip: '8376', city: 'Fischingen', canton: 'TG' }, + { zip: '8522', city: 'Aawangen', canton: 'TG' }, + { zip: '9502', city: 'Braunau', canton: 'TG' }, + { zip: '9506', city: 'Lommis', canton: 'TG' }, + { zip: '9508', city: 'Weingarten-Kalthäusern', canton: 'TG' }, + { zip: '9535', city: 'Wilen b. Wil', canton: 'TG' }, + { zip: '9542', city: 'Münchwilen TG', canton: 'TG' }, + { zip: '9543', city: 'St. Margarethen TG', canton: 'TG' }, + { zip: '9545', city: 'Wängi', canton: 'TG' }, + { zip: '9546', city: 'Tuttwil', canton: 'TG' }, + { zip: '9547', city: 'Wittenwil', canton: 'TG' }, + { zip: '9553', city: 'Bettwiesen', canton: 'TG' }, + { zip: '9554', city: 'Tägerschen', canton: 'TG' }, + { zip: '9555', city: 'Tobel', canton: 'TG' }, + { zip: '9573', city: 'Littenheid', canton: 'TG' }, + { zip: '8514', city: 'Amlikon-Bissegg', canton: 'TG' }, + { zip: '8554', city: 'Bonau', canton: 'TG' }, + { zip: '8556', city: 'Illhart', canton: 'TG' }, + { zip: '8560', city: 'Märstetten', canton: 'TG' }, + { zip: '8561', city: 'Ottoberg', canton: 'TG' }, + { zip: '8570', city: 'Weinfelden', canton: 'TG' }, + { zip: '8572', city: 'Graltshausen', canton: 'TG' }, + { zip: '8575', city: 'Bürglen TG', canton: 'TG' }, + { zip: '8576', city: 'Mauren TG', canton: 'TG' }, + { zip: '8577', city: 'Schönholzerswilen', canton: 'TG' }, + { zip: '8583', city: 'Donzhausen', canton: 'TG' }, + { zip: '8584', city: 'Opfershofen TG', canton: 'TG' }, + { zip: '8586', city: 'Buchackern', canton: 'TG' }, + { zip: '8588', city: 'Zihlschlacht', canton: 'TG' }, + { zip: '8589', city: 'Sitterdorf', canton: 'TG' }, + { zip: '9213', city: 'Hauptwil', canton: 'TG' }, + { zip: '9214', city: 'Kradolf', canton: 'TG' }, + { zip: '9215', city: 'Buhwil', canton: 'TG' }, + { zip: '9216', city: 'Hohentannen', canton: 'TG' }, + { zip: '9217', city: 'Neukirch an der Thur', canton: 'TG' }, + { zip: '9220', city: 'Bischofszell', canton: 'TG' }, + { zip: '9223', city: 'Schweizersholz', canton: 'TG' }, + { zip: '9225', city: 'Wilen (Gottshaus)', canton: 'TG' }, + { zip: '9503', city: 'Lanterswil', canton: 'TG' }, + { zip: '9504', city: 'Friltschen', canton: 'TG' }, + { zip: '9514', city: 'Wuppenau', canton: 'TG' }, + { zip: '9515', city: 'Hosenruck', canton: 'TG' }, + { zip: '9517', city: 'Mettlen', canton: 'TG' }, + { zip: '9556', city: 'Zezikon', canton: 'TG' }, + { zip: '9562', city: 'Märwil', canton: 'TG' }, + { zip: '9565', city: 'Schmidshof', canton: 'TG' }, + { zip: '6500', city: 'Bellinzona 4', canton: 'TI' }, + { zip: '6501', city: 'Bellinzona', canton: 'TI' }, + { zip: '6503', city: 'Bellinzona', canton: 'TI' }, + { zip: '6512', city: 'Giubiasco', canton: 'TI' }, + { zip: '6513', city: 'Monte Carasso', canton: 'TI' }, + { zip: '6514', city: 'Sementina', canton: 'TI' }, + { zip: '6515', city: 'Gudo', canton: 'TI' }, + { zip: '6517', city: 'Arbedo', canton: 'TI' }, + { zip: '6518', city: 'Gorduno', canton: 'TI' }, + { zip: '6523', city: 'Preonzo', canton: 'TI' }, + { zip: '6524', city: 'Moleno', canton: 'TI' }, + { zip: '6525', city: 'Gnosca', canton: 'TI' }, + { zip: '6528', city: 'Camorino', canton: 'TI' }, + { zip: '6532', city: 'Castione', canton: 'TI' }, + { zip: '6533', city: 'Lumino', canton: 'TI' }, + { zip: '6582', city: 'Pianezzo', canton: 'TI' }, + { zip: '6583', city: 'S. Antonio (Val Morobbia)', canton: 'TI' }, + { zip: '6584', city: 'Carena', canton: 'TI' }, + { zip: '6592', city: 'S. Antonino', canton: 'TI' }, + { zip: '6593', city: 'Cadenazzo', canton: 'TI' }, + { zip: '6599', city: 'Robasacco', canton: 'TI' }, + { zip: '6702', city: 'Claro', canton: 'TI' }, + { zip: '6809', city: 'Medeglia', canton: 'TI' }, + { zip: '6810', city: 'Isone', canton: 'TI' }, + { zip: '6713', city: 'Malvaglia', canton: 'TI' }, + { zip: '6714', city: 'Semione', canton: 'TI' }, + { zip: '6715', city: 'Dongio', canton: 'TI' }, + { zip: '6716', city: 'Acquarossa', canton: 'TI' }, + { zip: '6717', city: 'Dangio', canton: 'TI' }, + { zip: '6718', city: 'Camperio', canton: 'TI' }, + { zip: '6719', city: 'Aquila', canton: 'TI' }, + { zip: '6720', city: 'Ghirone', canton: 'TI' }, + { zip: '6721', city: 'Motto (Blenio)', canton: 'TI' }, + { zip: '6722', city: 'Corzoneso', canton: 'TI' }, + { zip: '6723', city: 'Prugiasco', canton: 'TI' }, + { zip: '6724', city: 'Largario', canton: 'TI' }, + { zip: '6742', city: 'Pollegio', canton: 'TI' }, + { zip: '6743', city: 'Bodio TI', canton: 'TI' }, + { zip: '6744', city: 'Personico', canton: 'TI' }, + { zip: '6745', city: 'Giornico', canton: 'TI' }, + { zip: '6746', city: 'Calonico', canton: 'TI' }, + { zip: '6747', city: 'Chironico', canton: 'TI' }, + { zip: '6748', city: 'Anzonico', canton: 'TI' }, + { zip: '6749', city: 'Sobrio', canton: 'TI' }, + { zip: '6760', city: 'Calpiogna', canton: 'TI' }, + { zip: '6763', city: 'Mairengo', canton: 'TI' }, + { zip: '6764', city: 'Chiggiogna', canton: 'TI' }, + { zip: '6772', city: 'Rodi-Fiesso', canton: 'TI' }, + { zip: '6773', city: 'Prato (Leventina)', canton: 'TI' }, + { zip: '6774', city: 'Dalpe', canton: 'TI' }, + { zip: '6775', city: 'Ambrì', canton: 'TI' }, + { zip: '6776', city: 'Piotta', canton: 'TI' }, + { zip: '6777', city: 'Varenzo', canton: 'TI' }, + { zip: '6780', city: 'Madrano', canton: 'TI' }, + { zip: '6781', city: 'Bedretto', canton: 'TI' }, + { zip: '6516', city: 'Cugnasco', canton: 'TI' }, + { zip: '6571', city: 'Indemini', canton: 'TI' }, + { zip: '6572', city: 'Quartino', canton: 'TI' }, + { zip: '6573', city: 'Magadino', canton: 'TI' }, + { zip: '6574', city: 'Vira (Gambarogno)', canton: 'TI' }, + { zip: '6575', city: 'S. Nazzaro', canton: 'TI' }, + { zip: '6576', city: 'Gerra (Gambarogno)', canton: 'TI' }, + { zip: '6577', city: 'Ranzo', canton: 'TI' }, + { zip: '6578', city: 'Caviano', canton: 'TI' }, + { zip: '6579', city: 'Piazzogna', canton: 'TI' }, + { zip: '6594', city: 'Contone', canton: 'TI' }, + { zip: '6595', city: 'Riazzino', canton: 'TI' }, + { zip: '6596', city: 'Gordola', canton: 'TI' }, + { zip: '6597', city: 'Agarone', canton: 'TI' }, + { zip: '6598', city: 'Tenero', canton: 'TI' }, + { zip: '6600', city: 'Muralto', canton: 'TI' }, + { zip: '6601', city: 'Locarno', canton: 'TI' }, + { zip: '6602', city: 'Muralto', canton: 'TI' }, + { zip: '6604', city: 'Locarno', canton: 'TI' }, + { zip: '6605', city: 'Locarno', canton: 'TI' }, + { zip: '6611', city: 'Crana', canton: 'TI' }, + { zip: '6612', city: 'Ascona', canton: 'TI' }, + { zip: '6613', city: 'Porto Ronco', canton: 'TI' }, + { zip: '6614', city: 'Isole di Brissago', canton: 'TI' }, + { zip: '6616', city: 'Losone', canton: 'TI' }, + { zip: '6618', city: 'Arcegno', canton: 'TI' }, + { zip: '6622', city: 'Ronco sopra Ascona', canton: 'TI' }, + { zip: '6631', city: 'Corippo', canton: 'TI' }, + { zip: '6632', city: 'Vogorno', canton: 'TI' }, + { zip: '6633', city: 'Lavertezzo', canton: 'TI' }, + { zip: '6634', city: 'Brione (Verzasca)', canton: 'TI' }, + { zip: '6635', city: 'Gerra (Verzasca)', canton: 'TI' }, + { zip: '6636', city: 'Frasco', canton: 'TI' }, + { zip: '6637', city: 'Sonogno', canton: 'TI' }, + { zip: '6644', city: 'Orselina', canton: 'TI' }, + { zip: '6645', city: 'Brione sopra Minusio', canton: 'TI' }, + { zip: '6646', city: 'Contra', canton: 'TI' }, + { zip: '6647', city: 'Mergoscia', canton: 'TI' }, + { zip: '6648', city: 'Minusio', canton: 'TI' }, + { zip: '6652', city: 'Tegna', canton: 'TI' }, + { zip: '6653', city: 'Verscio', canton: 'TI' }, + { zip: '6654', city: 'Cavigliano', canton: 'TI' }, + { zip: '6655', city: 'Rasa', canton: 'TI' }, + { zip: '6656', city: 'Golino', canton: 'TI' }, + { zip: '6657', city: 'Palagnedra', canton: 'TI' }, + { zip: '6658', city: 'Borgnone', canton: 'TI' }, + { zip: '6659', city: 'Camedo', canton: 'TI' }, + { zip: '6661', city: 'Berzona', canton: 'TI' }, + { zip: '6662', city: 'Russo', canton: 'TI' }, + { zip: '6663', city: 'Spruga', canton: 'TI' }, + { zip: '6664', city: 'Vergeletto', canton: 'TI' }, + { zip: '6802', city: 'Rivera', canton: 'TI' }, + { zip: '6803', city: 'Camignolo', canton: 'TI' }, + { zip: '6804', city: 'Bironico', canton: 'TI' }, + { zip: '6805', city: 'Mezzovico', canton: 'TI' }, + { zip: '6806', city: 'Sigirino', canton: 'TI' }, + { zip: '6807', city: 'Taverne', canton: 'TI' }, + { zip: '6808', city: 'Torricella', canton: 'TI' }, + { zip: '6814', city: 'Cadempino', canton: 'TI' }, + { zip: '6815', city: 'Melide', canton: 'TI' }, + { zip: '6816', city: 'Bissone', canton: 'TI' }, + { zip: '6817', city: 'Maroggia', canton: 'TI' }, + { zip: '6818', city: 'Melano', canton: 'TI' }, + { zip: '6821', city: 'Rovio', canton: 'TI' }, + { zip: '6822', city: 'Arogno', canton: 'TI' }, + { zip: '6823', city: 'Pugerna', canton: 'TI' }, + { zip: '6825', city: 'Capolago', canton: 'TI' }, + { zip: '6827', city: 'Brusino Arsizio', canton: 'TI' }, + { zip: '6867', city: 'Serpiano', canton: 'TI' }, + { zip: '6900', city: 'Paradiso', canton: 'TI' }, + { zip: '6901', city: 'Lugano', canton: 'TI' }, + { zip: '6902', city: 'Lugano 2 Caselle', canton: 'TI' }, + { zip: '6903', city: 'Lugano', canton: 'TI' }, + { zip: '6904', city: 'Lugano 4 Caselle', canton: 'TI' }, + { zip: '6906', city: 'Lugano 6 Caselle', canton: 'TI' }, + { zip: '6907', city: 'Lugano 7 Caselle', canton: 'TI' }, + { zip: '6908', city: 'Massagno Caselle', canton: 'TI' }, + { zip: '6912', city: 'Pazzallo', canton: 'TI' }, + { zip: '6913', city: 'Carabbia', canton: 'TI' }, + { zip: '6914', city: 'Carona', canton: 'TI' }, + { zip: '6915', city: 'Pambio-Noranco', canton: 'TI' }, + { zip: '6916', city: 'Grancia', canton: 'TI' }, + { zip: '6917', city: 'Barbengo', canton: 'TI' }, + { zip: '6918', city: 'Figino', canton: 'TI' }, + { zip: '6919', city: 'Carabietta', canton: 'TI' }, + { zip: '6921', city: 'Vico Morcote', canton: 'TI' }, + { zip: '6922', city: 'Morcote', canton: 'TI' }, + { zip: '6924', city: 'Sorengo', canton: 'TI' }, + { zip: '6925', city: 'Gentilino', canton: 'TI' }, + { zip: '6926', city: 'Montagnola', canton: 'TI' }, + { zip: '6927', city: 'Agra', canton: 'TI' }, + { zip: '6928', city: 'Manno', canton: 'TI' }, + { zip: '6929', city: 'Gravesano', canton: 'TI' }, + { zip: '6930', city: 'Bedano', canton: 'TI' }, + { zip: '6932', city: 'Breganzona', canton: 'TI' }, + { zip: '6933', city: 'Muzzano', canton: 'TI' }, + { zip: '6934', city: 'Bioggio', canton: 'TI' }, + { zip: '6935', city: 'Bosco Luganese', canton: 'TI' }, + { zip: '6936', city: 'Cademario', canton: 'TI' }, + { zip: '6937', city: 'Breno', canton: 'TI' }, + { zip: '6938', city: 'Fescoggia', canton: 'TI' }, + { zip: '6939', city: 'Mugena', canton: 'TI' }, + { zip: '6942', city: 'Savosa', canton: 'TI' }, + { zip: '6943', city: 'Vezia', canton: 'TI' }, + { zip: '6944', city: 'Cureglia', canton: 'TI' }, + { zip: '6945', city: 'Origlio', canton: 'TI' }, + { zip: '6946', city: 'Ponte Capriasca', canton: 'TI' }, + { zip: '6947', city: 'Vaglio', canton: 'TI' }, + { zip: '6948', city: 'Porza', canton: 'TI' }, + { zip: '6949', city: 'Comano', canton: 'TI' }, + { zip: '6950', city: 'Tesserete', canton: 'TI' }, + { zip: '6951', city: 'Insone', canton: 'TI' }, + { zip: '6952', city: 'Canobbio', canton: 'TI' }, + { zip: '6953', city: 'Lugaggia', canton: 'TI' }, + { zip: '6954', city: 'Sala Capriasca', canton: 'TI' }, + { zip: '6955', city: 'Oggio', canton: 'TI' }, + { zip: '6956', city: 'Lopagno', canton: 'TI' }, + { zip: '6957', city: 'Roveredo TI', canton: 'TI' }, + { zip: '6958', city: 'Corticiasca', canton: 'TI' }, + { zip: '6959', city: 'Piandera Paese', canton: 'TI' }, + { zip: '6960', city: 'Odogno', canton: 'TI' }, + { zip: '6962', city: 'Viganello', canton: 'TI' }, + { zip: '6963', city: 'Cureggia', canton: 'TI' }, + { zip: '6964', city: 'Davesco-Soragno', canton: 'TI' }, + { zip: '6965', city: 'Cadro', canton: 'TI' }, + { zip: '6966', city: 'Villa Luganese', canton: 'TI' }, + { zip: '6967', city: 'Dino', canton: 'TI' }, + { zip: '6968', city: 'Sonvico', canton: 'TI' }, + { zip: '6974', city: 'Aldesago', canton: 'TI' }, + { zip: '6976', city: 'Castagnola', canton: 'TI' }, + { zip: '6977', city: 'Ruvigliana', canton: 'TI' }, + { zip: '6978', city: 'Gandria', canton: 'TI' }, + { zip: '6979', city: 'Brè sopra Lugano', canton: 'TI' }, + { zip: '6980', city: 'Castelrotto', canton: 'TI' }, + { zip: '6981', city: 'Beride di Bedigliora', canton: 'TI' }, + { zip: '6982', city: 'Agno', canton: 'TI' }, + { zip: '6983', city: 'Magliaso', canton: 'TI' }, + { zip: '6984', city: 'Pura', canton: 'TI' }, + { zip: '6986', city: 'Curio', canton: 'TI' }, + { zip: '6987', city: 'Caslano', canton: 'TI' }, + { zip: '6988', city: 'Ponte Tresa', canton: 'TI' }, + { zip: '6989', city: 'Purasca', canton: 'TI' }, + { zip: '6990', city: 'Cassina d\'Agno', canton: 'TI' }, + { zip: '6991', city: 'Neggio', canton: 'TI' }, + { zip: '6992', city: 'Cimo', canton: 'TI' }, + { zip: '6993', city: 'Iseo', canton: 'TI' }, + { zip: '6994', city: 'Aranno', canton: 'TI' }, + { zip: '6995', city: 'Molinazzo di Monteggio', canton: 'TI' }, + { zip: '6997', city: 'Sessa', canton: 'TI' }, + { zip: '6998', city: 'Monteggio 2', canton: 'TI' }, + { zip: '6999', city: 'Astano', canton: 'TI' }, + { zip: '6826', city: 'Riva San Vitale', canton: 'TI' }, + { zip: '6828', city: 'Balerna', canton: 'TI' }, + { zip: '6830', city: 'Chiasso 3', canton: 'TI' }, + { zip: '6832', city: 'Seseglio', canton: 'TI' }, + { zip: '6833', city: 'Vacallo', canton: 'TI' }, + { zip: '6834', city: 'Morbio Inferiore', canton: 'TI' }, + { zip: '6835', city: 'Morbio Superiore', canton: 'TI' }, + { zip: '6836', city: 'Serfontana', canton: 'TI' }, + { zip: '6837', city: 'Bruzella', canton: 'TI' }, + { zip: '6838', city: 'Muggio', canton: 'TI' }, + { zip: '6839', city: 'Sagno', canton: 'TI' }, + { zip: '6850', city: 'Mendrisio Stazione', canton: 'TI' }, + { zip: '6852', city: 'Genestrerio', canton: 'TI' }, + { zip: '6853', city: 'Ligornetto', canton: 'TI' }, + { zip: '6854', city: 'S. Pietro', canton: 'TI' }, + { zip: '6855', city: 'Stabio', canton: 'TI' }, + { zip: '6862', city: 'Rancate', canton: 'TI' }, + { zip: '6863', city: 'Besazio', canton: 'TI' }, + { zip: '6864', city: 'Arzo', canton: 'TI' }, + { zip: '6865', city: 'Tremona', canton: 'TI' }, + { zip: '6866', city: 'Meride', canton: 'TI' }, + { zip: '6872', city: 'Somazzo', canton: 'TI' }, + { zip: '6873', city: 'Corteglia', canton: 'TI' }, + { zip: '6874', city: 'Castel San Pietro', canton: 'TI' }, + { zip: '6875', city: 'Campora', canton: 'TI' }, + { zip: '6877', city: 'Coldrerio', canton: 'TI' }, + { zip: '6883', city: 'Novazzano', canton: 'TI' }, + { zip: '6526', city: 'Prosito', canton: 'TI' }, + { zip: '6527', city: 'Lodrino', canton: 'TI' }, + { zip: '6703', city: 'Osogna', canton: 'TI' }, + { zip: '6705', city: 'Cresciano', canton: 'TI' }, + { zip: '6707', city: 'Iragna', canton: 'TI' }, + { zip: '6710', city: 'Biasca', canton: 'TI' }, + { zip: '6670', city: 'Avegno', canton: 'TI' }, + { zip: '6672', city: 'Gordevio', canton: 'TI' }, + { zip: '6673', city: 'Maggia', canton: 'TI' }, + { zip: '6674', city: 'Someo', canton: 'TI' }, + { zip: '6675', city: 'Cevio', canton: 'TI' }, + { zip: '6676', city: 'Bignasco', canton: 'TI' }, + { zip: '6677', city: 'Aurigeno', canton: 'TI' }, + { zip: '6678', city: 'Lodano', canton: 'TI' }, + { zip: '6682', city: 'Linescio', canton: 'TI' }, + { zip: '6683', city: 'Niva (Vallemaggia)', canton: 'TI' }, + { zip: '6684', city: 'Cimalmotto', canton: 'TI' }, + { zip: '6685', city: 'Bosco/Gurin', canton: 'TI' }, + { zip: '6690', city: 'S. Carlo (Val Bavona)', canton: 'TI' }, + { zip: '6692', city: 'Brontallo', canton: 'TI' }, + { zip: '6693', city: 'Broglio', canton: 'TI' }, + { zip: '6694', city: 'Prato-Sornico', canton: 'TI' }, + { zip: '6695', city: 'Peccia', canton: 'TI' }, + { zip: '6696', city: 'Fusio', canton: 'TI' }, + { zip: '6377', city: 'Seelisberg', canton: 'UR' }, + { zip: '6441', city: 'Rütli', canton: 'UR' }, + { zip: '6454', city: 'Flüelen', canton: 'UR' }, + { zip: '6460', city: 'Altdorf UR 2', canton: 'UR' }, + { zip: '6461', city: 'Isenthal', canton: 'UR' }, + { zip: '6462', city: 'Seedorf UR', canton: 'UR' }, + { zip: '6463', city: 'Bürglen UR', canton: 'UR' }, + { zip: '6464', city: 'Spiringen', canton: 'UR' }, + { zip: '6465', city: 'Unterschächen', canton: 'UR' }, + { zip: '6466', city: 'Bauen', canton: 'UR' }, + { zip: '6467', city: 'Schattdorf', canton: 'UR' }, + { zip: '6468', city: 'Attinghausen', canton: 'UR' }, + { zip: '6469', city: 'Haldi b. Schattdorf', canton: 'UR' }, + { zip: '6472', city: 'Erstfeld', canton: 'UR' }, + { zip: '6473', city: 'Silenen', canton: 'UR' }, + { zip: '6474', city: 'Amsteg', canton: 'UR' }, + { zip: '6475', city: 'Bristen', canton: 'UR' }, + { zip: '6476', city: 'Intschi', canton: 'UR' }, + { zip: '6482', city: 'Gurtnellen', canton: 'UR' }, + { zip: '6484', city: 'Wassen UR', canton: 'UR' }, + { zip: '6485', city: 'Meien', canton: 'UR' }, + { zip: '6487', city: 'Göschenen', canton: 'UR' }, + { zip: '6490', city: 'Andermatt', canton: 'UR' }, + { zip: '6491', city: 'Realp', canton: 'UR' }, + { zip: '6493', city: 'Hospental', canton: 'UR' }, + { zip: '8751', city: 'Urnerboden', canton: 'UR' }, + { zip: '1844', city: 'Villeneuve VD', canton: 'VD' }, + { zip: '1845', city: 'Noville', canton: 'VD' }, + { zip: '1846', city: 'Chessel', canton: 'VD' }, + { zip: '1847', city: 'Rennaz', canton: 'VD' }, + { zip: '1852', city: 'Roche VD', canton: 'VD' }, + { zip: '1853', city: 'Yvorne', canton: 'VD' }, + { zip: '1854', city: 'Leysin', canton: 'VD' }, + { zip: '1856', city: 'Corbeyrier', canton: 'VD' }, + { zip: '1860', city: 'Aigle', canton: 'VD' }, + { zip: '1862', city: 'Les Mosses', canton: 'VD' }, + { zip: '1863', city: 'Le Sépey', canton: 'VD' }, + { zip: '1864', city: 'Vers-l\'Eglise', canton: 'VD' }, + { zip: '1865', city: 'Les Diablerets', canton: 'VD' }, + { zip: '1866', city: 'La Forclaz VD', canton: 'VD' }, + { zip: '1867', city: 'Panex', canton: 'VD' }, + { zip: '1880', city: 'Les Posses-sur-Bex', canton: 'VD' }, + { zip: '1882', city: 'Gryon', canton: 'VD' }, + { zip: '1884', city: 'Arveyes', canton: 'VD' }, + { zip: '1885', city: 'Chesières', canton: 'VD' }, + { zip: '1892', city: 'Morcles', canton: 'VD' }, + { zip: '1082', city: 'Corcelles-le-Jorat', canton: 'VD' }, + { zip: '1085', city: 'Vulliens', canton: 'VD' }, + { zip: '1088', city: 'Ropraz', canton: 'VD' }, + { zip: '1509', city: 'Vucherens', canton: 'VD' }, + { zip: '1510', city: 'Syens', canton: 'VD' }, + { zip: '1512', city: 'Chavannes-sur-Moudon', canton: 'VD' }, + { zip: '1513', city: 'Rossenges', canton: 'VD' }, + { zip: '1514', city: 'Bussy-sur-Moudon', canton: 'VD' }, + { zip: '1515', city: 'Villars-le-Comte', canton: 'VD' }, + { zip: '1521', city: 'Curtilles', canton: 'VD' }, + { zip: '1522', city: 'Lucens', canton: 'VD' }, + { zip: '1523', city: 'Granges-près-Marnand', canton: 'VD' }, + { zip: '1524', city: 'Marnand', canton: 'VD' }, + { zip: '1525', city: 'Henniez', canton: 'VD' }, + { zip: '1526', city: 'Forel-sur-Lucens', canton: 'VD' }, + { zip: '1530', city: 'Payerne', canton: 'VD' }, + { zip: '1535', city: 'Combremont-le-Grand', canton: 'VD' }, + { zip: '1536', city: 'Combremont-le-Petit', canton: 'VD' }, + { zip: '1537', city: 'Champtauroz', canton: 'VD' }, + { zip: '1538', city: 'Treytorrens (Payerne)', canton: 'VD' }, + { zip: '1543', city: 'Grandcour', canton: 'VD' }, + { zip: '1545', city: 'Chevroux', canton: 'VD' }, + { zip: '1551', city: 'Vers-chez-Perrin', canton: 'VD' }, + { zip: '1552', city: 'Trey', canton: 'VD' }, + { zip: '1554', city: 'Rossens VD', canton: 'VD' }, + { zip: '1555', city: 'Villarzel', canton: 'VD' }, + { zip: '1562', city: 'Corcelles-près-Payerne', canton: 'VD' }, + { zip: '1580', city: 'Avenches', canton: 'VD' }, + { zip: '1584', city: 'Villars-le-Grand', canton: 'VD' }, + { zip: '1585', city: 'Salavaux', canton: 'VD' }, + { zip: '1586', city: 'Vallamand', canton: 'VD' }, + { zip: '1587', city: 'Constantine', canton: 'VD' }, + { zip: '1588', city: 'Cudrefin', canton: 'VD' }, + { zip: '1589', city: 'Chabrey', canton: 'VD' }, + { zip: '1682', city: 'Lovatens', canton: 'VD' }, + { zip: '1683', city: 'Brenles', canton: 'VD' }, + { zip: '1031', city: 'Mex VD', canton: 'VD' }, + { zip: '1034', city: 'Boussens', canton: 'VD' }, + { zip: '1035', city: 'Bournens', canton: 'VD' }, + { zip: '1036', city: 'Sullens', canton: 'VD' }, + { zip: '1037', city: 'Etagnières', canton: 'VD' }, + { zip: '1038', city: 'Bercher', canton: 'VD' }, + { zip: '1040', city: 'Echallens', canton: 'VD' }, + { zip: '1041', city: 'Montaubion-Chardonney', canton: 'VD' }, + { zip: '1042', city: 'Assens', canton: 'VD' }, + { zip: '1043', city: 'Sugnens', canton: 'VD' }, + { zip: '1044', city: 'Fey', canton: 'VD' }, + { zip: '1045', city: 'Ogens', canton: 'VD' }, + { zip: '1046', city: 'Rueyres', canton: 'VD' }, + { zip: '1047', city: 'Oppens', canton: 'VD' }, + { zip: '1053', city: 'Cugy VD', canton: 'VD' }, + { zip: '1054', city: 'Morrens VD', canton: 'VD' }, + { zip: '1055', city: 'Froideville', canton: 'VD' }, + { zip: '1058', city: 'Villars-Tiercelin', canton: 'VD' }, + { zip: '1059', city: 'Peney-le-Jorat', canton: 'VD' }, + { zip: '1061', city: 'Villars-Mendraz', canton: 'VD' }, + { zip: '1062', city: 'Sottens', canton: 'VD' }, + { zip: '1063', city: 'Boulens', canton: 'VD' }, + { zip: '1302', city: 'Vufflens-la-Ville', canton: 'VD' }, + { zip: '1303', city: 'Penthaz', canton: 'VD' }, + { zip: '1305', city: 'Penthalaz', canton: 'VD' }, + { zip: '1306', city: 'Daillens', canton: 'VD' }, + { zip: '1307', city: 'Lussery-Villars', canton: 'VD' }, + { zip: '1375', city: 'Penthéréaz', canton: 'VD' }, + { zip: '1376', city: 'Eclagnens', canton: 'VD' }, + { zip: '1377', city: 'Oulens-sous-Echallens', canton: 'VD' }, + { zip: '1409', city: 'Chanéaz', canton: 'VD' }, + { zip: '1416', city: 'Pailly', canton: 'VD' }, + { zip: '1417', city: 'Epautheyres', canton: 'VD' }, + { zip: '1418', city: 'Vuarrens', canton: 'VD' }, + { zip: '1148', city: 'La Praz', canton: 'VD' }, + { zip: '1321', city: 'Arnex-sur-Orbe', canton: 'VD' }, + { zip: '1322', city: 'Croy', canton: 'VD' }, + { zip: '1323', city: 'Romainmôtier', canton: 'VD' }, + { zip: '1324', city: 'Premier', canton: 'VD' }, + { zip: '1325', city: 'Vaulion', canton: 'VD' }, + { zip: '1326', city: 'Juriens', canton: 'VD' }, + { zip: '1329', city: 'Bretonnières', canton: 'VD' }, + { zip: '1337', city: 'Vallorbe', canton: 'VD' }, + { zip: '1338', city: 'Ballaigues', canton: 'VD' }, + { zip: '1341', city: 'Orient', canton: 'VD' }, + { zip: '1342', city: 'Le Pont', canton: 'VD' }, + { zip: '1343', city: 'Les Charbonnières', canton: 'VD' }, + { zip: '1344', city: 'L\'Abbaye', canton: 'VD' }, + { zip: '1345', city: 'Le Séchey', canton: 'VD' }, + { zip: '1346', city: 'Les Bioux', canton: 'VD' }, + { zip: '1347', city: 'Le Solliat', canton: 'VD' }, + { zip: '1348', city: 'Le Brassus', canton: 'VD' }, + { zip: '1350', city: 'Orbe', canton: 'VD' }, + { zip: '1352', city: 'Agiez', canton: 'VD' }, + { zip: '1353', city: 'Bofflens', canton: 'VD' }, + { zip: '1354', city: 'Montcherand', canton: 'VD' }, + { zip: '1355', city: 'Sergey', canton: 'VD' }, + { zip: '1356', city: 'La Russille', canton: 'VD' }, + { zip: '1357', city: 'Lignerolle', canton: 'VD' }, + { zip: '1358', city: 'Valeyres-sous-Rances', canton: 'VD' }, + { zip: '1372', city: 'Bavois', canton: 'VD' }, + { zip: '1373', city: 'Chavornay', canton: 'VD' }, + { zip: '1374', city: 'Corcelles-sur-Chavornay', canton: 'VD' }, + { zip: '1400', city: 'Yverdon 2', canton: 'VD' }, + { zip: '1401', city: 'Yverdon-les-Bains', canton: 'VD' }, + { zip: '1404', city: 'Villars-Epeney', canton: 'VD' }, + { zip: '1405', city: 'Pomy', canton: 'VD' }, + { zip: '1406', city: 'Cronay', canton: 'VD' }, + { zip: '1407', city: 'Donneloye', canton: 'VD' }, + { zip: '1408', city: 'Prahins', canton: 'VD' }, + { zip: '1412', city: 'Ursins', canton: 'VD' }, + { zip: '1413', city: 'Orzens', canton: 'VD' }, + { zip: '1415', city: 'Démoret', canton: 'VD' }, + { zip: '1420', city: 'Fiez', canton: 'VD' }, + { zip: '1421', city: 'Fontaines-sur-Grandson', canton: 'VD' }, + { zip: '1422', city: 'Grandson', canton: 'VD' }, + { zip: '1423', city: 'Villars-Burquin', canton: 'VD' }, + { zip: '1424', city: 'Champagne', canton: 'VD' }, + { zip: '1425', city: 'Onnens VD', canton: 'VD' }, + { zip: '1426', city: 'Corcelles-près-Concise', canton: 'VD' }, + { zip: '1427', city: 'Bonvillars', canton: 'VD' }, + { zip: '1428', city: 'Mutrux', canton: 'VD' }, + { zip: '1429', city: 'Giez', canton: 'VD' }, + { zip: '1430', city: 'Orges', canton: 'VD' }, + { zip: '1431', city: 'Vugelles-La Mothe', canton: 'VD' }, + { zip: '1432', city: 'Gressy', canton: 'VD' }, + { zip: '1433', city: 'Suchy', canton: 'VD' }, + { zip: '1434', city: 'Ependes VD', canton: 'VD' }, + { zip: '1435', city: 'Essert-Pittet', canton: 'VD' }, + { zip: '1436', city: 'Treycovagnes', canton: 'VD' }, + { zip: '1437', city: 'Suscévaz', canton: 'VD' }, + { zip: '1438', city: 'Mathod', canton: 'VD' }, + { zip: '1439', city: 'Rances', canton: 'VD' }, + { zip: '1440', city: 'Montagny-Chamard', canton: 'VD' }, + { zip: '1441', city: 'Valeyres-sous-Montagny', canton: 'VD' }, + { zip: '1442', city: 'Montagny-près-Yverdon', canton: 'VD' }, + { zip: '1443', city: 'Essert-sous-Champvent', canton: 'VD' }, + { zip: '1445', city: 'Vuiteboeuf', canton: 'VD' }, + { zip: '1446', city: 'Baulmes', canton: 'VD' }, + { zip: '1450', city: 'La Sagne (Ste-Croix)', canton: 'VD' }, + { zip: '1452', city: 'Les Rasses', canton: 'VD' }, + { zip: '1453', city: 'Mauborget', canton: 'VD' }, + { zip: '1454', city: 'L\'Auberson', canton: 'VD' }, + { zip: '1462', city: 'Yvonand', canton: 'VD' }, + { zip: '1463', city: 'Rovray', canton: 'VD' }, + { zip: '1464', city: 'Chêne-Pâquier', canton: 'VD' }, + { zip: '1000', city: 'Lausanne 22', canton: 'VD' }, + { zip: '1001', city: 'Lausanne', canton: 'VD' }, + { zip: '1002', city: 'Lausanne', canton: 'VD' }, + { zip: '1003', city: 'Lausanne', canton: 'VD' }, + { zip: '1004', city: 'Lausanne', canton: 'VD' }, + { zip: '1005', city: 'Lausanne', canton: 'VD' }, + { zip: '1006', city: 'Lausanne', canton: 'VD' }, + { zip: '1007', city: 'Lausanne', canton: 'VD' }, + { zip: '1008', city: 'Jouxtens-Mézery', canton: 'VD' }, + { zip: '1010', city: 'Lausanne', canton: 'VD' }, + { zip: '1011', city: 'Lausanne', canton: 'VD' }, + { zip: '1012', city: 'Lausanne', canton: 'VD' }, + { zip: '1014', city: 'Lausanne Adm cant', canton: 'VD' }, + { zip: '1015', city: 'Lausanne', canton: 'VD' }, + { zip: '1018', city: 'Lausanne', canton: 'VD' }, + { zip: '1019', city: 'Lausanne Services spéciaux', canton: 'VD' }, + { zip: '1032', city: 'Romanel-sur-Lausanne', canton: 'VD' }, + { zip: '1033', city: 'Cheseaux-sur-Lausanne', canton: 'VD' }, + { zip: '1039', city: 'Cheseaux Polyval', canton: 'VD' }, + { zip: '1052', city: 'Le Mont-sur-Lausanne', canton: 'VD' }, + { zip: '1066', city: 'Epalinges', canton: 'VD' }, + { zip: '1009', city: 'Pully', canton: 'VD' }, + { zip: '1068', city: 'Les Monts-de-Pully', canton: 'VD' }, + { zip: '1070', city: 'Puidoux', canton: 'VD' }, + { zip: '1071', city: 'Rivaz', canton: 'VD' }, + { zip: '1072', city: 'Forel (Lavaux)', canton: 'VD' }, + { zip: '1073', city: 'Savigny', canton: 'VD' }, + { zip: '1076', city: 'Ferlens VD', canton: 'VD' }, + { zip: '1077', city: 'Servion', canton: 'VD' }, + { zip: '1078', city: 'Essertes', canton: 'VD' }, + { zip: '1080', city: 'Les Cullayes', canton: 'VD' }, + { zip: '1081', city: 'Montpreveyres', canton: 'VD' }, + { zip: '1083', city: 'Mézières VD', canton: 'VD' }, + { zip: '1084', city: 'Carrouge VD', canton: 'VD' }, + { zip: '1090', city: 'La Croix (Lutry)', canton: 'VD' }, + { zip: '1091', city: 'Aran', canton: 'VD' }, + { zip: '1092', city: 'Belmont-sur-Lausanne', canton: 'VD' }, + { zip: '1093', city: 'La Conversion', canton: 'VD' }, + { zip: '1094', city: 'Paudex', canton: 'VD' }, + { zip: '1095', city: 'Lutry', canton: 'VD' }, + { zip: '1096', city: 'Cully', canton: 'VD' }, + { zip: '1097', city: 'Riex', canton: 'VD' }, + { zip: '1098', city: 'Epesses', canton: 'VD' }, + { zip: '1607', city: 'Les Tavernes', canton: 'VD' }, + { zip: '1610', city: 'Vuibroye', canton: 'VD' }, + { zip: '1612', city: 'Ecoteaux', canton: 'VD' }, + { zip: '1613', city: 'Maracon', canton: 'VD' }, + { zip: '1026', city: 'Echandens-Denges', canton: 'VD' }, + { zip: '1027', city: 'Lonay', canton: 'VD' }, + { zip: '1028', city: 'Préverenges', canton: 'VD' }, + { zip: '1110', city: 'Morges 1', canton: 'VD' }, + { zip: '1112', city: 'Echichens', canton: 'VD' }, + { zip: '1113', city: 'St-Saphorin-sur-Morges', canton: 'VD' }, + { zip: '1114', city: 'Colombier VD', canton: 'VD' }, + { zip: '1115', city: 'Vullierens', canton: 'VD' }, + { zip: '1116', city: 'Cottens VD', canton: 'VD' }, + { zip: '1117', city: 'Grancy', canton: 'VD' }, + { zip: '1121', city: 'Bremblens', canton: 'VD' }, + { zip: '1122', city: 'Romanel-sur-Morges', canton: 'VD' }, + { zip: '1123', city: 'Aclens', canton: 'VD' }, + { zip: '1124', city: 'Gollion', canton: 'VD' }, + { zip: '1125', city: 'Monnaz', canton: 'VD' }, + { zip: '1126', city: 'Vaux-sur-Morges', canton: 'VD' }, + { zip: '1127', city: 'Clarmont', canton: 'VD' }, + { zip: '1128', city: 'Reverolle', canton: 'VD' }, + { zip: '1131', city: 'Tolochenaz', canton: 'VD' }, + { zip: '1132', city: 'Lully VD', canton: 'VD' }, + { zip: '1134', city: 'Chigny', canton: 'VD' }, + { zip: '1135', city: 'Denens', canton: 'VD' }, + { zip: '1136', city: 'Bussy-Chardonney', canton: 'VD' }, + { zip: '1141', city: 'Sévery', canton: 'VD' }, + { zip: '1142', city: 'Pampigny', canton: 'VD' }, + { zip: '1143', city: 'Apples', canton: 'VD' }, + { zip: '1144', city: 'Ballens', canton: 'VD' }, + { zip: '1145', city: 'Bière', canton: 'VD' }, + { zip: '1146', city: 'Mollens VD', canton: 'VD' }, + { zip: '1147', city: 'Montricher', canton: 'VD' }, + { zip: '1149', city: 'Berolle', canton: 'VD' }, + { zip: '1162', city: 'St-Prex', canton: 'VD' }, + { zip: '1163', city: 'Etoy', canton: 'VD' }, + { zip: '1164', city: 'Buchillon', canton: 'VD' }, + { zip: '1165', city: 'Allaman', canton: 'VD' }, + { zip: '1167', city: 'Lussy-sur-Morges', canton: 'VD' }, + { zip: '1168', city: 'Villars-sous-Yens', canton: 'VD' }, + { zip: '1169', city: 'Yens', canton: 'VD' }, + { zip: '1170', city: 'Aubonne', canton: 'VD' }, + { zip: '1172', city: 'Bougy-Villars', canton: 'VD' }, + { zip: '1173', city: 'Féchy', canton: 'VD' }, + { zip: '1174', city: 'Pizy', canton: 'VD' }, + { zip: '1175', city: 'Lavigny', canton: 'VD' }, + { zip: '1176', city: 'St-Livres', canton: 'VD' }, + { zip: '1187', city: 'St-Oyens', canton: 'VD' }, + { zip: '1188', city: 'Gimel', canton: 'VD' }, + { zip: '1189', city: 'Saubraz', canton: 'VD' }, + { zip: '1304', city: 'Dizy', canton: 'VD' }, + { zip: '1308', city: 'La Chaux (Cossonay)', canton: 'VD' }, + { zip: '1312', city: 'Eclépens', canton: 'VD' }, + { zip: '1313', city: 'Ferreyres', canton: 'VD' }, + { zip: '1315', city: 'La Sarraz', canton: 'VD' }, + { zip: '1316', city: 'Chevilly', canton: 'VD' }, + { zip: '1317', city: 'Orny', canton: 'VD' }, + { zip: '1318', city: 'Pompaples', canton: 'VD' }, + { zip: '1166', city: 'Perroy', canton: 'VD' }, + { zip: '1180', city: 'Tartegnin', canton: 'VD' }, + { zip: '1182', city: 'Gilly', canton: 'VD' }, + { zip: '1183', city: 'Bursins', canton: 'VD' }, + { zip: '1184', city: 'Vinzel', canton: 'VD' }, + { zip: '1185', city: 'Mont-sur-Rolle', canton: 'VD' }, + { zip: '1186', city: 'Essertines-sur-Rolle', canton: 'VD' }, + { zip: '1195', city: 'Dully', canton: 'VD' }, + { zip: '1196', city: 'Gland', canton: 'VD' }, + { zip: '1197', city: 'Prangins', canton: 'VD' }, + { zip: '1260', city: 'Nyon 2', canton: 'VD' }, + { zip: '1261', city: 'Marchissy', canton: 'VD' }, + { zip: '1262', city: 'Eysins', canton: 'VD' }, + { zip: '1263', city: 'Crassier', canton: 'VD' }, + { zip: '1264', city: 'St-Cergue', canton: 'VD' }, + { zip: '1265', city: 'La Cure', canton: 'VD' }, + { zip: '1266', city: 'Duillier', canton: 'VD' }, + { zip: '1267', city: 'Vich', canton: 'VD' }, + { zip: '1268', city: 'Begnins', canton: 'VD' }, + { zip: '1269', city: 'Bassins', canton: 'VD' }, + { zip: '1270', city: 'Trélex', canton: 'VD' }, + { zip: '1271', city: 'Givrins', canton: 'VD' }, + { zip: '1272', city: 'Genolier', canton: 'VD' }, + { zip: '1273', city: 'Arzier-Le Muids', canton: 'VD' }, + { zip: '1274', city: 'Signy-Centre', canton: 'VD' }, + { zip: '1275', city: 'Chéserex', canton: 'VD' }, + { zip: '1276', city: 'Gingins', canton: 'VD' }, + { zip: '1277', city: 'Borex', canton: 'VD' }, + { zip: '1278', city: 'La Rippe', canton: 'VD' }, + { zip: '1279', city: 'Bogis-Bossey', canton: 'VD' }, + { zip: '1291', city: 'Commugny', canton: 'VD' }, + { zip: '1295', city: 'Tannay', canton: 'VD' }, + { zip: '1296', city: 'Coppet', canton: 'VD' }, + { zip: '1297', city: 'Founex', canton: 'VD' }, + { zip: '1299', city: 'Crans VD', canton: 'VD' }, + { zip: '1020', city: 'Renens VD', canton: 'VD' }, + { zip: '1022', city: 'Chavannes-près-Renens', canton: 'VD' }, + { zip: '1023', city: 'Crissier', canton: 'VD' }, + { zip: '1024', city: 'Ecublens VD', canton: 'VD' }, + { zip: '1025', city: 'St-Sulpice VD', canton: 'VD' }, + { zip: '1029', city: 'Villars-Ste-Croix', canton: 'VD' }, + { zip: '1030', city: 'Bussigny', canton: 'VD' }, + { zip: '1658', city: 'Rossinière', canton: 'VD' }, + { zip: '1659', city: 'Rougemont', canton: 'VD' }, + { zip: '1660', city: 'La Lécherette', canton: 'VD' }, + { zip: '1800', city: 'Vevey 1', canton: 'VD' }, + { zip: '1801', city: 'Le Mont-Pèlerin', canton: 'VD' }, + { zip: '1802', city: 'Corseaux', canton: 'VD' }, + { zip: '1803', city: 'Chardonne', canton: 'VD' }, + { zip: '1804', city: 'Corsier-sur-Vevey', canton: 'VD' }, + { zip: '1805', city: 'Jongny', canton: 'VD' }, + { zip: '1806', city: 'St-Légier-La Chiésaz', canton: 'VD' }, + { zip: '1807', city: 'Blonay', canton: 'VD' }, + { zip: '1808', city: 'Les Monts-de-Corsier', canton: 'VD' }, + { zip: '1809', city: 'Fenil-sur-Corsier', canton: 'VD' }, + { zip: '1811', city: 'Vevey', canton: 'VD' }, + { zip: '1814', city: 'La Tour-de-Peilz', canton: 'VD' }, + { zip: '1815', city: 'Clarens', canton: 'VD' }, + { zip: '1816', city: 'Chailly-Montreux', canton: 'VD' }, + { zip: '1817', city: 'Brent', canton: 'VD' }, + { zip: '1818', city: 'Montreux Redoute', canton: 'VD' }, + { zip: '1820', city: 'Montreux 2', canton: 'VD' }, + { zip: '1822', city: 'Chernex', canton: 'VD' }, + { zip: '1823', city: 'Glion', canton: 'VD' }, + { zip: '1824', city: 'Caux', canton: 'VD' }, + { zip: '1832', city: 'Chamby', canton: 'VD' }, + { zip: '1833', city: 'Les Avants', canton: 'VD' }, + { zip: '3900', city: 'Brig', canton: 'VS' }, + { zip: '3901', city: 'Rothwald', canton: 'VS' }, + { zip: '3902', city: 'Glis', canton: 'VS' }, + { zip: '3903', city: 'Mund', canton: 'VS' }, + { zip: '3904', city: 'Naters', canton: 'VS' }, + { zip: '3907', city: 'Simplon Dorf', canton: 'VS' }, + { zip: '3911', city: 'Ried-Brig', canton: 'VS' }, + { zip: '3912', city: 'Termen', canton: 'VS' }, + { zip: '3913', city: 'Rosswald', canton: 'VS' }, + { zip: '3914', city: 'Blatten b. Naters', canton: 'VS' }, + { zip: '3939', city: 'Eggerberg', canton: 'VS' }, + { zip: '1911', city: 'Mayens-de-Chamoson', canton: 'VS' }, + { zip: '1955', city: 'Mayens-de-Chamoson', canton: 'VS' }, + { zip: '1957', city: 'Ardon', canton: 'VS' }, + { zip: '1963', city: 'Vétroz', canton: 'VS' }, + { zip: '1964', city: 'Conthey', canton: 'VS' }, + { zip: '1975', city: 'St-Séverin', canton: 'VS' }, + { zip: '1976', city: 'Aven', canton: 'VS' }, + { zip: '1993', city: 'Clèbes (Nendaz)', canton: 'VS' }, + { zip: '1994', city: 'Aproz (Nendaz)', canton: 'VS' }, + { zip: '1996', city: 'Condémines (Nendaz)', canton: 'VS' }, + { zip: '1997', city: 'Haute-Nendaz', canton: 'VS' }, + { zip: '1927', city: 'Chemin', canton: 'VS' }, + { zip: '1933', city: 'La Garde (Sembrancher)', canton: 'VS' }, + { zip: '1934', city: 'Le Châble VS', canton: 'VS' }, + { zip: '1936', city: 'Verbier', canton: 'VS' }, + { zip: '1937', city: 'Orsières', canton: 'VS' }, + { zip: '1938', city: 'Champex-Lac', canton: 'VS' }, + { zip: '1941', city: 'Vollèges', canton: 'VS' }, + { zip: '1942', city: 'Levron', canton: 'VS' }, + { zip: '1943', city: 'Praz-de-Fort', canton: 'VS' }, + { zip: '1944', city: 'La Fouly VS', canton: 'VS' }, + { zip: '1945', city: 'Chez Petit (Liddes)', canton: 'VS' }, + { zip: '1946', city: 'Bourg-St-Pierre', canton: 'VS' }, + { zip: '1947', city: 'Versegères', canton: 'VS' }, + { zip: '1948', city: 'Fionnay', canton: 'VS' }, + { zip: '3801', city: 'Jungfraujoch', canton: 'VS' }, + { zip: '3984', city: 'Fiesch', canton: 'VS' }, + { zip: '3985', city: 'Münster VS', canton: 'VS' }, + { zip: '3988', city: 'Obergesteln', canton: 'VS' }, + { zip: '3989', city: 'Selkingen', canton: 'VS' }, + { zip: '3994', city: 'Lax', canton: 'VS' }, + { zip: '3995', city: 'Steinhaus', canton: 'VS' }, + { zip: '3996', city: 'Binn', canton: 'VS' }, + { zip: '3997', city: 'Bellwald', canton: 'VS' }, + { zip: '3998', city: 'Reckingen VS', canton: 'VS' }, + { zip: '3999', city: 'Oberwald', canton: 'VS' }, + { zip: '1961', city: 'Vernamiège', canton: 'VS' }, + { zip: '1966', city: 'Saxonne (Ayent)', canton: 'VS' }, + { zip: '1968', city: 'Mase', canton: 'VS' }, + { zip: '1969', city: 'Eison (St-Martin)', canton: 'VS' }, + { zip: '1972', city: 'Anzère', canton: 'VS' }, + { zip: '1973', city: 'Nax', canton: 'VS' }, + { zip: '1981', city: 'Vex', canton: 'VS' }, + { zip: '1982', city: 'Euseigne', canton: 'VS' }, + { zip: '1983', city: 'Evolène', canton: 'VS' }, + { zip: '1984', city: 'La Tour VS', canton: 'VS' }, + { zip: '1985', city: 'La Forclaz VS', canton: 'VS' }, + { zip: '1986', city: 'Arolla', canton: 'VS' }, + { zip: '1987', city: 'Hérémence', canton: 'VS' }, + { zip: '1988', city: 'Thyon', canton: 'VS' }, + { zip: '3945', city: 'Niedergampel', canton: 'VS' }, + { zip: '3946', city: 'Turtmann', canton: 'VS' }, + { zip: '3947', city: 'Ergisch', canton: 'VS' }, + { zip: '3948', city: 'Unterems', canton: 'VS' }, + { zip: '3951', city: 'Agarn', canton: 'VS' }, + { zip: '3952', city: 'Susten', canton: 'VS' }, + { zip: '3953', city: 'Inden', canton: 'VS' }, + { zip: '3954', city: 'Leukerbad', canton: 'VS' }, + { zip: '3955', city: 'Albinen', canton: 'VS' }, + { zip: '3956', city: 'Guttet-Feschel', canton: 'VS' }, + { zip: '3957', city: 'Bratsch', canton: 'VS' }, + { zip: '3970', city: 'Salgesch', canton: 'VS' }, + { zip: '1906', city: 'Charrat', canton: 'VS' }, + { zip: '1907', city: 'Saxon', canton: 'VS' }, + { zip: '1908', city: 'Riddes', canton: 'VS' }, + { zip: '1912', city: 'Produit (Leytron)', canton: 'VS' }, + { zip: '1913', city: 'Saillon', canton: 'VS' }, + { zip: '1914', city: 'Auddes-sur-Riddes', canton: 'VS' }, + { zip: '1918', city: 'La Tzoumaz', canton: 'VS' }, + { zip: '1919', city: 'Martigny Groupe Mutuel', canton: 'VS' }, + { zip: '1920', city: 'Martigny', canton: 'VS' }, + { zip: '1921', city: 'Martigny-Croix', canton: 'VS' }, + { zip: '1926', city: 'Fully', canton: 'VS' }, + { zip: '1928', city: 'Ravoire', canton: 'VS' }, + { zip: '1929', city: 'Trient', canton: 'VS' }, + { zip: '1932', city: 'Bovernier', canton: 'VS' }, + { zip: '1868', city: 'Collombey', canton: 'VS' }, + { zip: '1870', city: 'Monthey 2', canton: 'VS' }, + { zip: '1871', city: 'Les Giettes', canton: 'VS' }, + { zip: '1872', city: 'Troistorrents', canton: 'VS' }, + { zip: '1873', city: 'Val-d\'Illiez', canton: 'VS' }, + { zip: '1874', city: 'Champéry', canton: 'VS' }, + { zip: '1875', city: 'Morgins', canton: 'VS' }, + { zip: '1893', city: 'Muraz (Collombey)', canton: 'VS' }, + { zip: '1895', city: 'Vionnaz', canton: 'VS' }, + { zip: '1896', city: 'Vouvry', canton: 'VS' }, + { zip: '1897', city: 'Les Evouettes', canton: 'VS' }, + { zip: '1898', city: 'St-Gingolph', canton: 'VS' }, + { zip: '1899', city: 'Torgon', canton: 'VS' }, + { zip: '3916', city: 'Ferden', canton: 'VS' }, + { zip: '3917', city: 'Goppenstein', canton: 'VS' }, + { zip: '3918', city: 'Wiler (Lötschen)', canton: 'VS' }, + { zip: '3919', city: 'Blatten (Lötschen)', canton: 'VS' }, + { zip: '3935', city: 'Bürchen', canton: 'VS' }, + { zip: '3938', city: 'Ausserberg', canton: 'VS' }, + { zip: '3940', city: 'Steg VS', canton: 'VS' }, + { zip: '3942', city: 'Niedergesteln', canton: 'VS' }, + { zip: '3943', city: 'Eischoll', canton: 'VS' }, + { zip: '3944', city: 'Unterbäch VS', canton: 'VS' }, + { zip: '3949', city: 'Hohtenn', canton: 'VS' }, + { zip: '3982', city: 'Bitsch', canton: 'VS' }, + { zip: '3983', city: 'Filet', canton: 'VS' }, + { zip: '3986', city: 'Ried-Mörel', canton: 'VS' }, + { zip: '3987', city: 'Riederalp', canton: 'VS' }, + { zip: '3991', city: 'Betten', canton: 'VS' }, + { zip: '3992', city: 'Bettmeralp', canton: 'VS' }, + { zip: '3993', city: 'Grengiols', canton: 'VS' }, + { zip: '1869', city: 'Massongex', canton: 'VS' }, + { zip: '1890', city: 'St-Maurice', canton: 'VS' }, + { zip: '1891', city: 'Vérossaz', canton: 'VS' }, + { zip: '1902', city: 'Evionnaz', canton: 'VS' }, + { zip: '1903', city: 'Collonges', canton: 'VS' }, + { zip: '1904', city: 'Vernayaz', canton: 'VS' }, + { zip: '1905', city: 'Dorénaz', canton: 'VS' }, + { zip: '1922', city: 'Les Granges (Salvan)', canton: 'VS' }, + { zip: '1923', city: 'Les Marécottes', canton: 'VS' }, + { zip: '1925', city: 'Le Châtelard VS', canton: 'VS' }, + { zip: '1958', city: 'St-Léonard', canton: 'VS' }, + { zip: '1977', city: 'Icogne', canton: 'VS' }, + { zip: '1978', city: 'Lens', canton: 'VS' }, + { zip: '3960', city: 'Loc', canton: 'VS' }, + { zip: '3961', city: 'St-Jean VS', canton: 'VS' }, + { zip: '3963', city: 'Crans-Montana 1', canton: 'VS' }, + { zip: '3965', city: 'Chippis', canton: 'VS' }, + { zip: '3966', city: 'Réchy', canton: 'VS' }, + { zip: '3967', city: 'Vercorin', canton: 'VS' }, + { zip: '3968', city: 'Veyras', canton: 'VS' }, + { zip: '3971', city: 'Chermignon', canton: 'VS' }, + { zip: '3972', city: 'Miège', canton: 'VS' }, + { zip: '3973', city: 'Venthône', canton: 'VS' }, + { zip: '3974', city: 'Mollens VS', canton: 'VS' }, + { zip: '3975', city: 'Randogne', canton: 'VS' }, + { zip: '3976', city: 'Noës', canton: 'VS' }, + { zip: '3977', city: 'Granges VS', canton: 'VS' }, + { zip: '3978', city: 'Flanthey', canton: 'VS' }, + { zip: '3979', city: 'Grône', canton: 'VS' }, + { zip: '1950', city: 'Sion', canton: 'VS' }, + { zip: '1951', city: 'Sion', canton: 'VS' }, + { zip: '1962', city: 'Pont-de-la-Morge (Sion)', canton: 'VS' }, + { zip: '1965', city: 'Chandolin (Savièse)', canton: 'VS' }, + { zip: '1967', city: 'Bramois', canton: 'VS' }, + { zip: '1971', city: 'Grimisuat', canton: 'VS' }, + { zip: '1974', city: 'Arbaz', canton: 'VS' }, + { zip: '1991', city: 'Arvillard (Salins)', canton: 'VS' }, + { zip: '1992', city: 'Crête-à-l\'Oeil(Les Agettes)', canton: 'VS' }, + { zip: '3905', city: 'Saas-Almagell', canton: 'VS' }, + { zip: '3906', city: 'Saas-Fee', canton: 'VS' }, + { zip: '3908', city: 'Saas-Balen', canton: 'VS' }, + { zip: '3910', city: 'Saas-Grund', canton: 'VS' }, + { zip: '3920', city: 'Zermatt', canton: 'VS' }, + { zip: '3922', city: 'Eisten', canton: 'VS' }, + { zip: '3923', city: 'Törbel', canton: 'VS' }, + { zip: '3924', city: 'St. Niklaus VS', canton: 'VS' }, + { zip: '3925', city: 'Grächen', canton: 'VS' }, + { zip: '3926', city: 'Embd', canton: 'VS' }, + { zip: '3927', city: 'Herbriggen', canton: 'VS' }, + { zip: '3928', city: 'Randa', canton: 'VS' }, + { zip: '3929', city: 'Täsch', canton: 'VS' }, + { zip: '3930', city: 'Visp', canton: 'VS' }, + { zip: '3931', city: 'Lalden', canton: 'VS' }, + { zip: '3932', city: 'Visperterminen', canton: 'VS' }, + { zip: '3933', city: 'Staldenried', canton: 'VS' }, + { zip: '3934', city: 'Zeneggen', canton: 'VS' }, + { zip: '3937', city: 'Baltschieder', canton: 'VS' }, + { zip: '6300', city: 'Zug', canton: 'ZG' }, + { zip: '6301', city: 'Zug', canton: 'ZG' }, + { zip: '6302', city: 'Zug', canton: 'ZG' }, + { zip: '6303', city: 'Zug', canton: 'ZG' }, + { zip: '6312', city: 'Steinhausen', canton: 'ZG' }, + { zip: '6313', city: 'Edlibach', canton: 'ZG' }, + { zip: '6314', city: 'Unterägeri', canton: 'ZG' }, + { zip: '6315', city: 'Morgarten', canton: 'ZG' }, + { zip: '6317', city: 'Oberwil b. Zug', canton: 'ZG' }, + { zip: '6318', city: 'Walchwil', canton: 'ZG' }, + { zip: '6319', city: 'Allenwinden', canton: 'ZG' }, + { zip: '6330', city: 'Cham', canton: 'ZG' }, + { zip: '6331', city: 'Hünenberg', canton: 'ZG' }, + { zip: '6332', city: 'Hagendorn', canton: 'ZG' }, + { zip: '6333', city: 'Hünenberg See', canton: 'ZG' }, + { zip: '6340', city: 'Baar', canton: 'ZG' }, + { zip: '6341', city: 'Baar', canton: 'ZG' }, + { zip: '6343', city: 'Buonas', canton: 'ZG' }, + { zip: '6345', city: 'Neuheim', canton: 'ZG' }, + { zip: '8143', city: 'Stallikon', canton: 'ZH' }, + { zip: '8906', city: 'Bonstetten', canton: 'ZH' }, + { zip: '8907', city: 'Wettswil', canton: 'ZH' }, + { zip: '8908', city: 'Hedingen', canton: 'ZH' }, + { zip: '8909', city: 'Zwillikon', canton: 'ZH' }, + { zip: '8910', city: 'Affoltern am Albis', canton: 'ZH' }, + { zip: '8911', city: 'Rifferswil', canton: 'ZH' }, + { zip: '8912', city: 'Obfelden', canton: 'ZH' }, + { zip: '8913', city: 'Ottenbach', canton: 'ZH' }, + { zip: '8914', city: 'Aeugstertal', canton: 'ZH' }, + { zip: '8915', city: 'Hausen am Albis', canton: 'ZH' }, + { zip: '8925', city: 'Ebertswil', canton: 'ZH' }, + { zip: '8926', city: 'Hauptikon', canton: 'ZH' }, + { zip: '8932', city: 'Mettmenstetten', canton: 'ZH' }, + { zip: '8933', city: 'Maschwanden', canton: 'ZH' }, + { zip: '8934', city: 'Knonau', canton: 'ZH' }, + { zip: '8245', city: 'Feuerthalen', canton: 'ZH' }, + { zip: '8246', city: 'Langwiesen', canton: 'ZH' }, + { zip: '8247', city: 'Flurlingen', canton: 'ZH' }, + { zip: '8248', city: 'Uhwiesen', canton: 'ZH' }, + { zip: '8414', city: 'Buch am Irchel', canton: 'ZH' }, + { zip: '8415', city: 'Gräslikon', canton: 'ZH' }, + { zip: '8416', city: 'Flaach', canton: 'ZH' }, + { zip: '8444', city: 'Henggart', canton: 'ZH' }, + { zip: '8447', city: 'Dachsen', canton: 'ZH' }, + { zip: '8450', city: 'Andelfingen', canton: 'ZH' }, + { zip: '8451', city: 'Kleinandelfingen', canton: 'ZH' }, + { zip: '8452', city: 'Adlikon b. Andelfingen', canton: 'ZH' }, + { zip: '8453', city: 'Alten', canton: 'ZH' }, + { zip: '8457', city: 'Humlikon', canton: 'ZH' }, + { zip: '8458', city: 'Dorf', canton: 'ZH' }, + { zip: '8459', city: 'Volken', canton: 'ZH' }, + { zip: '8460', city: 'Marthalen', canton: 'ZH' }, + { zip: '8461', city: 'Oerlingen', canton: 'ZH' }, + { zip: '8462', city: 'Rheinau', canton: 'ZH' }, + { zip: '8463', city: 'Benken ZH', canton: 'ZH' }, + { zip: '8464', city: 'Ellikon am Rhein', canton: 'ZH' }, + { zip: '8465', city: 'Wildensbuch', canton: 'ZH' }, + { zip: '8466', city: 'Trüllikon', canton: 'ZH' }, + { zip: '8467', city: 'Truttikon', canton: 'ZH' }, + { zip: '8468', city: 'Waltalingen', canton: 'ZH' }, + { zip: '8475', city: 'Ossingen', canton: 'ZH' }, + { zip: '8476', city: 'Unterstammheim', canton: 'ZH' }, + { zip: '8477', city: 'Oberstammheim', canton: 'ZH' }, + { zip: '8478', city: 'Thalheim an der Thur', canton: 'ZH' }, + { zip: '8058', city: 'Zürich', canton: 'ZH' }, + { zip: '8060', city: 'Zürich', canton: 'ZH' }, + { zip: '8152', city: 'Glattbrugg', canton: 'ZH' }, + { zip: '8180', city: 'Bülach', canton: 'ZH' }, + { zip: '8181', city: 'Höri', canton: 'ZH' }, + { zip: '8182', city: 'Hochfelden', canton: 'ZH' }, + { zip: '8184', city: 'Bachenbülach', canton: 'ZH' }, + { zip: '8185', city: 'Winkel', canton: 'ZH' }, + { zip: '8192', city: 'Zweidlen', canton: 'ZH' }, + { zip: '8193', city: 'Eglisau', canton: 'ZH' }, + { zip: '8194', city: 'Hüntwangen', canton: 'ZH' }, + { zip: '8195', city: 'Wasterkingen', canton: 'ZH' }, + { zip: '8196', city: 'Wil ZH', canton: 'ZH' }, + { zip: '8197', city: 'Rafz', canton: 'ZH' }, + { zip: '8302', city: 'Kloten', canton: 'ZH' }, + { zip: '8303', city: 'Bassersdorf', canton: 'ZH' }, + { zip: '8304', city: 'Wallisellen', canton: 'ZH' }, + { zip: '8305', city: 'Dietlikon', canton: 'ZH' }, + { zip: '8309', city: 'Nürensdorf', canton: 'ZH' }, + { zip: '8424', city: 'Embrach', canton: 'ZH' }, + { zip: '8425', city: 'Oberembrach', canton: 'ZH' }, + { zip: '8426', city: 'Lufingen', canton: 'ZH' }, + { zip: '8427', city: 'Freienstein', canton: 'ZH' }, + { zip: '8428', city: 'Teufen ZH', canton: 'ZH' }, + { zip: '8105', city: 'Regensdorf', canton: 'ZH' }, + { zip: '8106', city: 'Adlikon b. Regensdorf', canton: 'ZH' }, + { zip: '8107', city: 'Buchs ZH', canton: 'ZH' }, + { zip: '8108', city: 'Dällikon', canton: 'ZH' }, + { zip: '8112', city: 'Otelfingen', canton: 'ZH' }, + { zip: '8113', city: 'Boppelsen', canton: 'ZH' }, + { zip: '8114', city: 'Dänikon ZH', canton: 'ZH' }, + { zip: '8115', city: 'Hüttikon', canton: 'ZH' }, + { zip: '8153', city: 'Rümlang', canton: 'ZH' }, + { zip: '8154', city: 'Oberglatt ZH', canton: 'ZH' }, + { zip: '8155', city: 'Nassenwil', canton: 'ZH' }, + { zip: '8156', city: 'Oberhasli', canton: 'ZH' }, + { zip: '8157', city: 'Dielsdorf', canton: 'ZH' }, + { zip: '8158', city: 'Regensberg', canton: 'ZH' }, + { zip: '8162', city: 'Steinmaur', canton: 'ZH' }, + { zip: '8164', city: 'Bachs', canton: 'ZH' }, + { zip: '8165', city: 'Oberweningen', canton: 'ZH' }, + { zip: '8166', city: 'Niederweningen', canton: 'ZH' }, + { zip: '8172', city: 'Niederglatt ZH', canton: 'ZH' }, + { zip: '8173', city: 'Neerach', canton: 'ZH' }, + { zip: '8174', city: 'Stadel b. Niederglatt', canton: 'ZH' }, + { zip: '8175', city: 'Windlach', canton: 'ZH' }, + { zip: '8187', city: 'Weiach', canton: 'ZH' }, + { zip: '8340', city: 'Hinwil', canton: 'ZH' }, + { zip: '8342', city: 'Wernetshausen', canton: 'ZH' }, + { zip: '8344', city: 'Bäretswil', canton: 'ZH' }, + { zip: '8345', city: 'Adetswil', canton: 'ZH' }, + { zip: '8496', city: 'Steg im Tösstal', canton: 'ZH' }, + { zip: '8497', city: 'Fischenthal', canton: 'ZH' }, + { zip: '8498', city: 'Gibswil', canton: 'ZH' }, + { zip: '8607', city: 'Aathal-Seegräben', canton: 'ZH' }, + { zip: '8608', city: 'Bubikon', canton: 'ZH' }, + { zip: '8614', city: 'Bertschikon (Gossau ZH)', canton: 'ZH' }, + { zip: '8620', city: 'Wetzikon ZH', canton: 'ZH' }, + { zip: '8623', city: 'Wetzikon ZH', canton: 'ZH' }, + { zip: '8624', city: 'Grüt (Gossau ZH)', canton: 'ZH' }, + { zip: '8625', city: 'Gossau ZH', canton: 'ZH' }, + { zip: '8626', city: 'Ottikon (Gossau ZH)', canton: 'ZH' }, + { zip: '8627', city: 'Grüningen', canton: 'ZH' }, + { zip: '8630', city: 'Rüti ZH', canton: 'ZH' }, + { zip: '8632', city: 'Tann', canton: 'ZH' }, + { zip: '8633', city: 'Wolfhausen', canton: 'ZH' }, + { zip: '8635', city: 'Dürnten', canton: 'ZH' }, + { zip: '8636', city: 'Wald ZH', canton: 'ZH' }, + { zip: '8637', city: 'Laupen ZH', canton: 'ZH' }, + { zip: '8134', city: 'Adliswil', canton: 'ZH' }, + { zip: '8135', city: 'Sihlwald', canton: 'ZH' }, + { zip: '8136', city: 'Gattikon', canton: 'ZH' }, + { zip: '8800', city: 'Thalwil', canton: 'ZH' }, + { zip: '8802', city: 'Kilchberg ZH', canton: 'ZH' }, + { zip: '8803', city: 'Rüschlikon', canton: 'ZH' }, + { zip: '8804', city: 'Au ZH', canton: 'ZH' }, + { zip: '8805', city: 'Richterswil', canton: 'ZH' }, + { zip: '8810', city: 'Horgen', canton: 'ZH' }, + { zip: '8815', city: 'Horgenberg', canton: 'ZH' }, + { zip: '8816', city: 'Hirzel', canton: 'ZH' }, + { zip: '8820', city: 'Wädenswil', canton: 'ZH' }, + { zip: '8824', city: 'Schönenberg ZH', canton: 'ZH' }, + { zip: '8825', city: 'Hütten', canton: 'ZH' }, + { zip: '8833', city: 'Samstagern', canton: 'ZH' }, + { zip: '8942', city: 'Oberrieden', canton: 'ZH' }, + { zip: '8125', city: 'Zollikerberg', canton: 'ZH' }, + { zip: '8126', city: 'Zumikon', canton: 'ZH' }, + { zip: '8127', city: 'Forch', canton: 'ZH' }, + { zip: '8618', city: 'Oetwil am See', canton: 'ZH' }, + { zip: '8634', city: 'Hombrechtikon', canton: 'ZH' }, + { zip: '8700', city: 'Küsnacht ZH', canton: 'ZH' }, + { zip: '8702', city: 'Zollikon Dorf', canton: 'ZH' }, + { zip: '8703', city: 'Erlenbach ZH', canton: 'ZH' }, + { zip: '8704', city: 'Herrliberg', canton: 'ZH' }, + { zip: '8706', city: 'Meilen', canton: 'ZH' }, + { zip: '8707', city: 'Uetikon am See', canton: 'ZH' }, + { zip: '8708', city: 'Männedorf', canton: 'ZH' }, + { zip: '8712', city: 'Stäfa', canton: 'ZH' }, + { zip: '8713', city: 'Uerikon', canton: 'ZH' }, + { zip: '8714', city: 'Feldbach', canton: 'ZH' }, + { zip: '8307', city: 'Effretikon', canton: 'ZH' }, + { zip: '8308', city: 'Illnau', canton: 'ZH' }, + { zip: '8310', city: 'Kemptthal', canton: 'ZH' }, + { zip: '8312', city: 'Winterberg ZH', canton: 'ZH' }, + { zip: '8314', city: 'Kyburg', canton: 'ZH' }, + { zip: '8315', city: 'Lindau', canton: 'ZH' }, + { zip: '8317', city: 'Tagelswangen', canton: 'ZH' }, + { zip: '8320', city: 'Fehraltorf', canton: 'ZH' }, + { zip: '8322', city: 'Madetswil', canton: 'ZH' }, + { zip: '8330', city: 'Pfäffikon ZH', canton: 'ZH' }, + { zip: '8331', city: 'Auslikon', canton: 'ZH' }, + { zip: '8332', city: 'Rumlikon', canton: 'ZH' }, + { zip: '8335', city: 'Hittnau', canton: 'ZH' }, + { zip: '8484', city: 'Neschwil', canton: 'ZH' }, + { zip: '8489', city: 'Wildberg', canton: 'ZH' }, + { zip: '8492', city: 'Wila', canton: 'ZH' }, + { zip: '8493', city: 'Saland', canton: 'ZH' }, + { zip: '8494', city: 'Bauma', canton: 'ZH' }, + { zip: '8499', city: 'Sternenberg', canton: 'ZH' }, + { zip: '8044', city: 'Gockhausen', canton: 'ZH' }, + { zip: '8117', city: 'Fällanden', canton: 'ZH' }, + { zip: '8118', city: 'Pfaffhausen', canton: 'ZH' }, + { zip: '8121', city: 'Benglen', canton: 'ZH' }, + { zip: '8122', city: 'Binz', canton: 'ZH' }, + { zip: '8123', city: 'Ebmatingen', canton: 'ZH' }, + { zip: '8124', city: 'Maur', canton: 'ZH' }, + { zip: '8132', city: 'Egg b. Zürich', canton: 'ZH' }, + { zip: '8133', city: 'Esslingen', canton: 'ZH' }, + { zip: '8306', city: 'Brüttisellen', canton: 'ZH' }, + { zip: '8600', city: 'Dübendorf 1', canton: 'ZH' }, + { zip: '8602', city: 'Wangen b. Dübendorf', canton: 'ZH' }, + { zip: '8603', city: 'Schwerzenbach', canton: 'ZH' }, + { zip: '8604', city: 'Volketswil', canton: 'ZH' }, + { zip: '8605', city: 'Gutenswil', canton: 'ZH' }, + { zip: '8606', city: 'Greifensee', canton: 'ZH' }, + { zip: '8610', city: 'Uster', canton: 'ZH' }, + { zip: '8613', city: 'Uster 3', canton: 'ZH' }, + { zip: '8615', city: 'Wermatswil', canton: 'ZH' }, + { zip: '8616', city: 'Riedikon', canton: 'ZH' }, + { zip: '8617', city: 'Mönchaltorf', canton: 'ZH' }, + { zip: '8311', city: 'Brütten', canton: 'ZH' }, + { zip: '8352', city: 'Elsau', canton: 'ZH' }, + { zip: '8353', city: 'Elgg', canton: 'ZH' }, + { zip: '8354', city: 'Hofstetten ZH', canton: 'ZH' }, + { zip: '8400', city: 'Winterthur', canton: 'ZH' }, + { zip: '8401', city: 'Winterthur', canton: 'ZH' }, + { zip: '8403', city: 'Winterthur', canton: 'ZH' }, + { zip: '8404', city: 'Stadel (Winterthur)', canton: 'ZH' }, + { zip: '8405', city: 'Winterthur', canton: 'ZH' }, + { zip: '8406', city: 'Winterthur', canton: 'ZH' }, + { zip: '8408', city: 'Winterthur', canton: 'ZH' }, + { zip: '8409', city: 'Winterthur', canton: 'ZH' }, + { zip: '8412', city: 'Hünikon (Neftenbach)', canton: 'ZH' }, + { zip: '8413', city: 'Neftenbach', canton: 'ZH' }, + { zip: '8418', city: 'Schlatt ZH', canton: 'ZH' }, + { zip: '8421', city: 'Dättlikon', canton: 'ZH' }, + { zip: '8422', city: 'Pfungen', canton: 'ZH' }, + { zip: '8442', city: 'Hettlingen', canton: 'ZH' }, + { zip: '8471', city: 'Berg (Dägerlen)', canton: 'ZH' }, + { zip: '8472', city: 'Seuzach', canton: 'ZH' }, + { zip: '8474', city: 'Dinhard', canton: 'ZH' }, + { zip: '8479', city: 'Altikon', canton: 'ZH' }, + { zip: '8482', city: 'Sennhof (Winterthur)', canton: 'ZH' }, + { zip: '8483', city: 'Kollbrunn', canton: 'ZH' }, + { zip: '8486', city: 'Rikon im Tösstal', canton: 'ZH' }, + { zip: '8487', city: 'Rämismühle', canton: 'ZH' }, + { zip: '8488', city: 'Turbenthal', canton: 'ZH' }, + { zip: '8495', city: 'Schmidrüti', canton: 'ZH' }, + { zip: '8523', city: 'Hagenbuch ZH', canton: 'ZH' }, + { zip: '8542', city: 'Wiesendangen', canton: 'ZH' }, + { zip: '8543', city: 'Gundetswil', canton: 'ZH' }, + { zip: '8544', city: 'Attikon', canton: 'ZH' }, + { zip: '8545', city: 'Rickenbach ZH', canton: 'ZH' }, + { zip: '8548', city: 'Ellikon an der Thur', canton: 'ZH' }, + { zip: '8010', city: 'Zürich', canton: 'ZH' }, + { zip: '8011', city: 'Zürich Mülligen SC', canton: 'ZH' }, + { zip: '8012', city: 'Zürich', canton: 'ZH' }, + { zip: '8102', city: 'Oberengstringen', canton: 'ZH' }, + { zip: '8103', city: 'Unterengstringen', canton: 'ZH' }, + { zip: '8104', city: 'Weiningen ZH', canton: 'ZH' }, + { zip: '8142', city: 'Uitikon Waldegg', canton: 'ZH' }, + { zip: '8901', city: 'Urdorf', canton: 'ZH' }, + { zip: '8902', city: 'Urdorf', canton: 'ZH' }, + { zip: '8903', city: 'Birmensdorf ZH', canton: 'ZH' }, + { zip: '8904', city: 'Aesch ZH', canton: 'ZH' }, + { zip: '8951', city: 'Fahrweid', canton: 'ZH' }, + { zip: '8952', city: 'Schlieren', canton: 'ZH' }, + { zip: '8953', city: 'Dietikon 2', canton: 'ZH' }, + { zip: '8954', city: 'Geroldswil', canton: 'ZH' }, + { zip: '8955', city: 'Oetwil an der Limmat', canton: 'ZH' }, + { zip: '8000', city: 'Zürich', canton: 'ZH' }, + { zip: '8001', city: 'Zürich', canton: 'ZH' }, + { zip: '8002', city: 'Zürich', canton: 'ZH' }, + { zip: '8003', city: 'Zürich', canton: 'ZH' }, + { zip: '8004', city: 'Zürich', canton: 'ZH' }, + { zip: '8005', city: 'Zürich', canton: 'ZH' }, + { zip: '8006', city: 'Zürich', canton: 'ZH' }, + { zip: '8008', city: 'Zürich', canton: 'ZH' }, + { zip: '8017', city: 'Zürich', canton: 'ZH' }, + { zip: '8018', city: 'Zürich PF', canton: 'ZH' }, + { zip: '8021', city: 'Zürich 1', canton: 'ZH' }, + { zip: '8022', city: 'Zürich', canton: 'ZH' }, + { zip: '8024', city: 'Zürich', canton: 'ZH' }, + { zip: '8027', city: 'Zürich', canton: 'ZH' }, + { zip: '8031', city: 'Zürich', canton: 'ZH' }, + { zip: '8032', city: 'Zürich', canton: 'ZH' }, + { zip: '8034', city: 'Zürich', canton: 'ZH' }, + { zip: '8036', city: 'Zürich', canton: 'ZH' }, + { zip: '8037', city: 'Zürich', canton: 'ZH' }, + { zip: '8038', city: 'Zürich', canton: 'ZH' }, + { zip: '8040', city: 'Zürich', canton: 'ZH' }, + { zip: '8041', city: 'Zürich', canton: 'ZH' }, + { zip: '8042', city: 'Zürich', canton: 'ZH' }, + { zip: '8045', city: 'Zürich', canton: 'ZH' }, + { zip: '8046', city: 'Zürich', canton: 'ZH' }, + { zip: '8047', city: 'Zürich', canton: 'ZH' }, + { zip: '8048', city: 'Zürich', canton: 'ZH' }, + { zip: '8049', city: 'Zürich', canton: 'ZH' }, + { zip: '8050', city: 'Zürich', canton: 'ZH' }, + { zip: '8051', city: 'Zürich', canton: 'ZH' }, + { zip: '8052', city: 'Zürich', canton: 'ZH' }, + { zip: '8053', city: 'Zürich', canton: 'ZH' }, + { zip: '8055', city: 'Zürich', canton: 'ZH' }, + { zip: '8057', city: 'Zürich', canton: 'ZH' }, + { zip: '8063', city: 'Zürich', canton: 'ZH' }, + { zip: '8064', city: 'Zürich', canton: 'ZH' }, + { zip: '8070', city: 'Zürich', canton: 'ZH' }, + { zip: '8071', city: 'Zürich CS PZ', canton: 'ZH' }, + { zip: '8074', city: 'Zürich Voice Pub', canton: 'ZH' }, + { zip: '8075', city: 'Zürich', canton: 'ZH' }, + { zip: '8080', city: 'Zürich 80', canton: 'ZH' }, + { zip: '8081', city: 'Zürich Helsana', canton: 'ZH' }, + { zip: '8085', city: 'Zürich Versicherung', canton: 'ZH' }, + { zip: '8086', city: 'Zürich R Digest', canton: 'ZH' }, + { zip: '8087', city: 'Zürich', canton: 'ZH' }, + { zip: '8088', city: 'Zürich', canton: 'ZH' }, + { zip: '8090', city: 'Zürich', canton: 'ZH' }, + { zip: '8091', city: 'Zürich', canton: 'ZH' }, + { zip: '8092', city: 'Zürich ETH-Zentrum', canton: 'ZH' }, + { zip: '8093', city: 'Zürich', canton: 'ZH' }, + { zip: '8096', city: 'Zürich IBRS local', canton: 'ZH' }, + { zip: '8098', city: 'Zürich', canton: 'ZH' }, + { zip: '8099', city: 'Zürich', canton: 'ZH' }, +] + diff --git a/app/src/App.vue b/app/src/App.vue new file mode 100644 index 0000000..9d87945 --- /dev/null +++ b/app/src/App.vue @@ -0,0 +1,7 @@ + + + diff --git a/app/src/assets/quasar-logo-vertical.svg b/app/src/assets/quasar-logo-vertical.svg new file mode 100644 index 0000000..8210831 --- /dev/null +++ b/app/src/assets/quasar-logo-vertical.svg @@ -0,0 +1,15 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/boot/.gitkeep b/app/src/boot/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/src/boot/i18n.ts b/app/src/boot/i18n.ts new file mode 100644 index 0000000..7433316 --- /dev/null +++ b/app/src/boot/i18n.ts @@ -0,0 +1,33 @@ +import { defineBoot } from '#q-app/wrappers'; +import { createI18n } from 'vue-i18n'; + +import messages from 'src/i18n'; + +export type MessageLanguages = keyof typeof messages; +// Use a permissive message schema so different locales may contain different string values +export type MessageSchema = Record; + +// See https://vue-i18n.intlify.dev/guide/advanced/typescript.html#global-resource-schema-type-definition +/* eslint-disable @typescript-eslint/no-empty-object-type */ +declare module 'vue-i18n' { + // define the locale messages schema + export interface DefineLocaleMessage extends MessageSchema {} + + // define the datetime format schema + export interface DefineDateTimeFormat {} + + // define the number format schema + export interface DefineNumberFormat {} +} +/* eslint-enable @typescript-eslint/no-empty-object-type */ + +export default defineBoot(({ app }) => { + const i18n = createI18n<{ message: MessageSchema }, MessageLanguages>({ + locale: 'it-IT', + legacy: false, + messages, + }); + + // Set i18n instance on app + app.use(i18n); +}); diff --git a/app/src/components/AddressInput.vue b/app/src/components/AddressInput.vue new file mode 100644 index 0000000..1e25435 --- /dev/null +++ b/app/src/components/AddressInput.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/app/src/components/AddressModal.vue b/app/src/components/AddressModal.vue new file mode 100644 index 0000000..fb19755 --- /dev/null +++ b/app/src/components/AddressModal.vue @@ -0,0 +1,323 @@ + + + + + diff --git a/app/src/components/CommentAttachment.vue b/app/src/components/CommentAttachment.vue new file mode 100644 index 0000000..a5f6907 --- /dev/null +++ b/app/src/components/CommentAttachment.vue @@ -0,0 +1,391 @@ + + + + + diff --git a/app/src/components/SchoolModal.vue b/app/src/components/SchoolModal.vue new file mode 100644 index 0000000..d43b771 --- /dev/null +++ b/app/src/components/SchoolModal.vue @@ -0,0 +1,305 @@ + + + + + diff --git a/app/src/components/SimpleAttachment.vue b/app/src/components/SimpleAttachment.vue new file mode 100644 index 0000000..263e41c --- /dev/null +++ b/app/src/components/SimpleAttachment.vue @@ -0,0 +1,340 @@ + + + + + diff --git a/app/src/components/StepsStepper.vue b/app/src/components/StepsStepper.vue new file mode 100644 index 0000000..85b306a --- /dev/null +++ b/app/src/components/StepsStepper.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/app/src/components/steps/ChildrenStep.vue b/app/src/components/steps/ChildrenStep.vue new file mode 100644 index 0000000..00c86cf --- /dev/null +++ b/app/src/components/steps/ChildrenStep.vue @@ -0,0 +1,441 @@ + + + + + diff --git a/app/src/components/steps/IncomeStep.vue b/app/src/components/steps/IncomeStep.vue new file mode 100644 index 0000000..8d4ac45 --- /dev/null +++ b/app/src/components/steps/IncomeStep.vue @@ -0,0 +1,183 @@ + + + + + diff --git a/app/src/components/steps/MaritalStep.vue b/app/src/components/steps/MaritalStep.vue new file mode 100644 index 0000000..b0c54b6 --- /dev/null +++ b/app/src/components/steps/MaritalStep.vue @@ -0,0 +1,275 @@ + + + + + diff --git a/app/src/components/steps/TaxpayerStep.vue b/app/src/components/steps/TaxpayerStep.vue new file mode 100644 index 0000000..ea02911 --- /dev/null +++ b/app/src/components/steps/TaxpayerStep.vue @@ -0,0 +1,148 @@ + + + + + + + + diff --git a/app/src/components/steps/WelcomeStep.vue b/app/src/components/steps/WelcomeStep.vue new file mode 100644 index 0000000..5258187 --- /dev/null +++ b/app/src/components/steps/WelcomeStep.vue @@ -0,0 +1,36 @@ + + + + diff --git a/app/src/css/app.scss b/app/src/css/app.scss new file mode 100644 index 0000000..ecac98f --- /dev/null +++ b/app/src/css/app.scss @@ -0,0 +1 @@ +// app global css in SCSS form diff --git a/app/src/css/quasar.variables.scss b/app/src/css/quasar.variables.scss new file mode 100644 index 0000000..2605a0d --- /dev/null +++ b/app/src/css/quasar.variables.scss @@ -0,0 +1,25 @@ +// Quasar SCSS (& Sass) Variables +// -------------------------------------------------- +// To customize the look and feel of this app, you can override +// the Sass/SCSS variables found in Quasar's source Sass/SCSS files. + +// Check documentation for full list of Quasar variables + +// Your own variables (that are declared here) and Quasar's own +// ones will be available out of the box in your .vue/.scss/.sass files + +// It's highly recommended to change the default colors +// to match your app's branding. +// Tip: Use the "Theme Builder" on Quasar's documentation website. + +$primary: #1976d2; +$secondary: #26a69a; +$accent: #9c27b0; + +$dark: #1d1d1d; +$dark-page: #121212; + +$positive: #21ba45; +$negative: #c10015; +$info: #31ccec; +$warning: #f2c037; diff --git a/app/src/data/countryCodes.ts b/app/src/data/countryCodes.ts new file mode 100644 index 0000000..0e47773 --- /dev/null +++ b/app/src/data/countryCodes.ts @@ -0,0 +1,4570 @@ +// Common ISO alpha-2 country codes used by the app. +// Keep this list curated; expand if needed. +export const COUNTRY_CODES = [ + 'IT','US','DE','FR','ES','GB','CH','AT','BE','NL','PT','PL','RO','RU','CN','JP','IN','BR','AR','MX','ZA','SE','NO','DK','FI','IE','GR','HU','CZ','SK','SI','HR','BG','TR','IL','EG','AU','NZ','KR','VN','TH','MY','SG','ID','PH' +] + +export default COUNTRY_CODES + +export type PostalPlace = { + postalCode: string; + placeName: string; + cantonCode: string; +}; + +export const CH_POSTAL_PLACES: PostalPlace[] = [ + { postalCode: "5000", placeName: "Aarau", cantonCode: "AG" }, + { postalCode: "5001", placeName: "Aarau 1", cantonCode: "AG" }, + { postalCode: "5004", placeName: "Aarau", cantonCode: "AG" }, + { postalCode: "5017", placeName: "Barmelweid", cantonCode: "AG" }, + { postalCode: "5018", placeName: "Erlinsbach", cantonCode: "AG" }, + { postalCode: "5022", placeName: "Rombach", cantonCode: "AG" }, + { postalCode: "5023", placeName: "Biberstein", cantonCode: "AG" }, + { postalCode: "5024", placeName: "Küttigen", cantonCode: "AG" }, + { postalCode: "5025", placeName: "Asp", cantonCode: "AG" }, + { postalCode: "5026", placeName: "Densbüren", cantonCode: "AG" }, + { postalCode: "5032", placeName: "Aarau Rohr", cantonCode: "AG" }, + { postalCode: "5033", placeName: "Buchs AG", cantonCode: "AG" }, + { postalCode: "5034", placeName: "Suhr", cantonCode: "AG" }, + { postalCode: "5035", placeName: "Unterentfelden", cantonCode: "AG" }, + { postalCode: "5036", placeName: "Oberentfelden", cantonCode: "AG" }, + { postalCode: "5037", placeName: "Muhen", cantonCode: "AG" }, + { postalCode: "5042", placeName: "Hirschthal", cantonCode: "AG" }, + { postalCode: "5722", placeName: "Gränichen", cantonCode: "AG" }, + { postalCode: "5300", placeName: "Turgi", cantonCode: "AG" }, + { postalCode: "5301", placeName: "Siggenthal Station", cantonCode: "AG" }, + { postalCode: "5303", placeName: "Würenlingen", cantonCode: "AG" }, + { postalCode: "5400", placeName: "Baden", cantonCode: "AG" }, + { postalCode: "5401", placeName: "Baden", cantonCode: "AG" }, + { postalCode: "5402", placeName: "Baden", cantonCode: "AG" }, + { postalCode: "5404", placeName: "Baden", cantonCode: "AG" }, + { postalCode: "5405", placeName: "Baden", cantonCode: "AG" }, + { postalCode: "5405", placeName: "Dättwil AG", cantonCode: "AG" }, + { postalCode: "5406", placeName: "Rütihof", cantonCode: "AG" }, + { postalCode: "5406", placeName: "Baden", cantonCode: "AG" }, + { postalCode: "5408", placeName: "Ennetbaden", cantonCode: "AG" }, + { postalCode: "5412", placeName: "Vogelsang AG", cantonCode: "AG" }, + { postalCode: "5412", placeName: "Gebenstorf", cantonCode: "AG" }, + { postalCode: "5413", placeName: "Birmenstorf AG", cantonCode: "AG" }, + { postalCode: "5415", placeName: "Rieden AG", cantonCode: "AG" }, + { postalCode: "5415", placeName: "Nussbaumen AG", cantonCode: "AG" }, + { postalCode: "5415", placeName: "Hertenstein AG", cantonCode: "AG" }, + { postalCode: "5416", placeName: "Kirchdorf AG", cantonCode: "AG" }, + { postalCode: "5417", placeName: "Untersiggenthal", cantonCode: "AG" }, + { postalCode: "5420", placeName: "Ehrendingen", cantonCode: "AG" }, + { postalCode: "5423", placeName: "Freienwil", cantonCode: "AG" }, + { postalCode: "5430", placeName: "Wettingen 1", cantonCode: "AG" }, + { postalCode: "5430", placeName: "Wettingen 3", cantonCode: "AG" }, + { postalCode: "5430", placeName: "Wettingen", cantonCode: "AG" }, + { postalCode: "5432", placeName: "Neuenhof", cantonCode: "AG" }, + { postalCode: "5436", placeName: "Würenlos", cantonCode: "AG" }, + { postalCode: "5442", placeName: "Fislisbach", cantonCode: "AG" }, + { postalCode: "5443", placeName: "Niederrohrdorf", cantonCode: "AG" }, + { postalCode: "5444", placeName: "Künten", cantonCode: "AG" }, + { postalCode: "5452", placeName: "Oberrohrdorf", cantonCode: "AG" }, + { postalCode: "5453", placeName: "Remetschwil", cantonCode: "AG" }, + { postalCode: "5454", placeName: "Bellikon", cantonCode: "AG" }, + { postalCode: "5506", placeName: "Mägenwil", cantonCode: "AG" }, + { postalCode: "5507", placeName: "Mellingen", cantonCode: "AG" }, + { postalCode: "5512", placeName: "Wohlenschwil", cantonCode: "AG" }, + { postalCode: "5608", placeName: "Stetten AG", cantonCode: "AG" }, + { postalCode: "8109", placeName: "Kloster Fahr", cantonCode: "AG" }, + { postalCode: "8956", placeName: "Killwangen", cantonCode: "AG" }, + { postalCode: "8957", placeName: "Spreitenbach", cantonCode: "AG" }, + { postalCode: "8962", placeName: "Bergdietikon", cantonCode: "AG" }, + { postalCode: "5445", placeName: "Eggenwil", cantonCode: "AG" }, + { postalCode: "5522", placeName: "Tägerig", cantonCode: "AG" }, + { postalCode: "5524", placeName: "Niederwil AG", cantonCode: "AG" }, + { postalCode: "5524", placeName: "Nesselnbach", cantonCode: "AG" }, + { postalCode: "5525", placeName: "Fischbach-Göslikon", cantonCode: "AG" }, + { postalCode: "5605", placeName: "Dottikon", cantonCode: "AG" }, + { postalCode: "5607", placeName: "Hägglingen", cantonCode: "AG" }, + { postalCode: "5610", placeName: "Wohlen AG", cantonCode: "AG" }, + { postalCode: "5610", placeName: "Wohlen AG 1", cantonCode: "AG" }, + { postalCode: "5611", placeName: "Anglikon", cantonCode: "AG" }, + { postalCode: "5612", placeName: "Villmergen", cantonCode: "AG" }, + { postalCode: "5613", placeName: "Hilfikon", cantonCode: "AG" }, + { postalCode: "5614", placeName: "Sarmenstorf", cantonCode: "AG" }, + { postalCode: "5619", placeName: "Büttikon AG", cantonCode: "AG" }, + { postalCode: "5619", placeName: "Uezwil", cantonCode: "AG" }, + { postalCode: "5620", placeName: "Bremgarten AG", cantonCode: "AG" }, + { postalCode: "5620", placeName: "Bremgarten AG 1", cantonCode: "AG" }, + { postalCode: "5621", placeName: "Zufikon", cantonCode: "AG" }, + { postalCode: "5626", placeName: "Hermetschwil-Staffeln", cantonCode: "AG" }, + { postalCode: "8905", placeName: "Arni-Islisberg", cantonCode: "AG" }, + { postalCode: "8905", placeName: "Islisberg", cantonCode: "AG" }, + { postalCode: "8905", placeName: "Arni AG", cantonCode: "AG" }, + { postalCode: "8916", placeName: "Jonen", cantonCode: "AG" }, + { postalCode: "8917", placeName: "Oberlunkhofen", cantonCode: "AG" }, + { postalCode: "8918", placeName: "Unterlunkhofen", cantonCode: "AG" }, + { postalCode: "8964", placeName: "Rudolfstetten", cantonCode: "AG" }, + { postalCode: "8965", placeName: "Berikon", cantonCode: "AG" }, + { postalCode: "8966", placeName: "Oberwil-Lieli", cantonCode: "AG" }, + { postalCode: "8967", placeName: "Widen", cantonCode: "AG" }, + { postalCode: "5105", placeName: "Auenstein", cantonCode: "AG" }, + { postalCode: "5106", placeName: "Veltheim AG", cantonCode: "AG" }, + { postalCode: "5107", placeName: "Schinznach Dorf", cantonCode: "AG" }, + { postalCode: "5108", placeName: "Oberflachs", cantonCode: "AG" }, + { postalCode: "5112", placeName: "Thalheim AG", cantonCode: "AG" }, + { postalCode: "5116", placeName: "Schinznach Bad", cantonCode: "AG" }, + { postalCode: "5200", placeName: "Brugg AG", cantonCode: "AG" }, + { postalCode: "5201", placeName: "Brugg AG", cantonCode: "AG" }, + { postalCode: "5210", placeName: "Windisch", cantonCode: "AG" }, + { postalCode: "5212", placeName: "Hausen AG", cantonCode: "AG" }, + { postalCode: "5213", placeName: "Villnachern", cantonCode: "AG" }, + { postalCode: "5222", placeName: "Umiken", cantonCode: "AG" }, + { postalCode: "5223", placeName: "Riniken", cantonCode: "AG" }, + { postalCode: "5225", placeName: "Bözberg", cantonCode: "AG" }, + { postalCode: "5232", placeName: "Villigen PSI", cantonCode: "AG" }, + { postalCode: "5233", placeName: "Stilli", cantonCode: "AG" }, + { postalCode: "5234", placeName: "Villigen", cantonCode: "AG" }, + { postalCode: "5235", placeName: "Rüfenach AG", cantonCode: "AG" }, + { postalCode: "5236", placeName: "Remigen", cantonCode: "AG" }, + { postalCode: "5237", placeName: "Mönthal", cantonCode: "AG" }, + { postalCode: "5242", placeName: "Lupfig", cantonCode: "AG" }, + { postalCode: "5242", placeName: "Birr", cantonCode: "AG" }, + { postalCode: "5242", placeName: "Birr-Lupfig", cantonCode: "AG" }, + { postalCode: "5243", placeName: "Mülligen", cantonCode: "AG" }, + { postalCode: "5244", placeName: "Birrhard", cantonCode: "AG" }, + { postalCode: "5245", placeName: "Habsburg", cantonCode: "AG" }, + { postalCode: "5246", placeName: "Scherz", cantonCode: "AG" }, + { postalCode: "5318", placeName: "Mandach", cantonCode: "AG" }, + { postalCode: "5040", placeName: "Schöftland", cantonCode: "AG" }, + { postalCode: "5043", placeName: "Holziken", cantonCode: "AG" }, + { postalCode: "5044", placeName: "Schlossrued", cantonCode: "AG" }, + { postalCode: "5046", placeName: "Walde AG", cantonCode: "AG" }, + { postalCode: "5046", placeName: "Schmiedrued", cantonCode: "AG" }, + { postalCode: "5046", placeName: "Schmiedrued-Walde", cantonCode: "AG" }, + { postalCode: "5708", placeName: "Birrwil", cantonCode: "AG" }, + { postalCode: "5712", placeName: "Beinwil am See", cantonCode: "AG" }, + { postalCode: "5723", placeName: "Teufenthal AG", cantonCode: "AG" }, + { postalCode: "5724", placeName: "Dürrenäsch", cantonCode: "AG" }, + { postalCode: "5725", placeName: "Leutwil", cantonCode: "AG" }, + { postalCode: "5726", placeName: "Unterkulm", cantonCode: "AG" }, + { postalCode: "5727", placeName: "Oberkulm", cantonCode: "AG" }, + { postalCode: "5728", placeName: "Gontenschwil", cantonCode: "AG" }, + { postalCode: "5732", placeName: "Zetzwil", cantonCode: "AG" }, + { postalCode: "5733", placeName: "Leimbach AG", cantonCode: "AG" }, + { postalCode: "5734", placeName: "Reinach AG", cantonCode: "AG" }, + { postalCode: "5736", placeName: "Burg AG", cantonCode: "AG" }, + { postalCode: "5737", placeName: "Menziken", cantonCode: "AG" }, + { postalCode: "4333", placeName: "Münchwilen AG", cantonCode: "AG" }, + { postalCode: "4334", placeName: "Sisseln AG", cantonCode: "AG" }, + { postalCode: "5027", placeName: "Herznach", cantonCode: "AG" }, + { postalCode: "5028", placeName: "Ueken", cantonCode: "AG" }, + { postalCode: "5062", placeName: "Oberhof", cantonCode: "AG" }, + { postalCode: "5063", placeName: "Wölflinswil", cantonCode: "AG" }, + { postalCode: "5064", placeName: "Wittnau", cantonCode: "AG" }, + { postalCode: "5070", placeName: "Frick", cantonCode: "AG" }, + { postalCode: "5072", placeName: "Oeschgen", cantonCode: "AG" }, + { postalCode: "5073", placeName: "Gipf-Oberfrick", cantonCode: "AG" }, + { postalCode: "5074", placeName: "Eiken", cantonCode: "AG" }, + { postalCode: "5075", placeName: "Hornussen", cantonCode: "AG" }, + { postalCode: "5076", placeName: "Bözen", cantonCode: "AG" }, + { postalCode: "5077", placeName: "Elfingen", cantonCode: "AG" }, + { postalCode: "5078", placeName: "Effingen", cantonCode: "AG" }, + { postalCode: "5079", placeName: "Zeihen", cantonCode: "AG" }, + { postalCode: "5080", placeName: "Laufenburg", cantonCode: "AG" }, + { postalCode: "5082", placeName: "Kaisten", cantonCode: "AG" }, + { postalCode: "5083", placeName: "Ittenthal", cantonCode: "AG" }, + { postalCode: "5084", placeName: "Rheinsulz", cantonCode: "AG" }, + { postalCode: "5085", placeName: "Sulz AG", cantonCode: "AG" }, + { postalCode: "5272", placeName: "Gansingen", cantonCode: "AG" }, + { postalCode: "5273", placeName: "Oberhofen AG", cantonCode: "AG" }, + { postalCode: "5274", placeName: "Mettau", cantonCode: "AG" }, + { postalCode: "5275", placeName: "Etzgen", cantonCode: "AG" }, + { postalCode: "5276", placeName: "Wil AG", cantonCode: "AG" }, + { postalCode: "5277", placeName: "Hottwil", cantonCode: "AG" }, + { postalCode: "5326", placeName: "Schwaderloch", cantonCode: "AG" }, + { postalCode: "5102", placeName: "Rupperswil", cantonCode: "AG" }, + { postalCode: "5103", placeName: "Wildegg", cantonCode: "AG" }, + { postalCode: "5103", placeName: "Möriken AG", cantonCode: "AG" }, + { postalCode: "5113", placeName: "Holderbank AG", cantonCode: "AG" }, + { postalCode: "5502", placeName: "Hunzenschwil", cantonCode: "AG" }, + { postalCode: "5503", placeName: "Schafisheim", cantonCode: "AG" }, + { postalCode: "5504", placeName: "Othmarsingen", cantonCode: "AG" }, + { postalCode: "5505", placeName: "Brunegg", cantonCode: "AG" }, + { postalCode: "5600", placeName: "Lenzburg 1", cantonCode: "AG" }, + { postalCode: "5600", placeName: "Lenzburg", cantonCode: "AG" }, + { postalCode: "5600", placeName: "Ammerswil AG", cantonCode: "AG" }, + { postalCode: "5603", placeName: "Staufen", cantonCode: "AG" }, + { postalCode: "5604", placeName: "Hendschiken", cantonCode: "AG" }, + { postalCode: "5606", placeName: "Dintikon", cantonCode: "AG" }, + { postalCode: "5615", placeName: "Fahrwangen", cantonCode: "AG" }, + { postalCode: "5616", placeName: "Meisterschwanden", cantonCode: "AG" }, + { postalCode: "5617", placeName: "Tennwil", cantonCode: "AG" }, + { postalCode: "5702", placeName: "Niederlenz", cantonCode: "AG" }, + { postalCode: "5703", placeName: "Seon", cantonCode: "AG" }, + { postalCode: "5704", placeName: "Egliswil", cantonCode: "AG" }, + { postalCode: "5705", placeName: "Hallwil", cantonCode: "AG" }, + { postalCode: "5706", placeName: "Boniswil", cantonCode: "AG" }, + { postalCode: "5707", placeName: "Seengen", cantonCode: "AG" }, + { postalCode: "5618", placeName: "Bettwil", cantonCode: "AG" }, + { postalCode: "5622", placeName: "Waltenschwil", cantonCode: "AG" }, + { postalCode: "5623", placeName: "Boswil", cantonCode: "AG" }, + { postalCode: "5624", placeName: "Bünzen", cantonCode: "AG" }, + { postalCode: "5624", placeName: "Waldhäusern AG", cantonCode: "AG" }, + { postalCode: "5625", placeName: "Kallern", cantonCode: "AG" }, + { postalCode: "5627", placeName: "Besenbüren", cantonCode: "AG" }, + { postalCode: "5628", placeName: "Aristau", cantonCode: "AG" }, + { postalCode: "5630", placeName: "Muri AG", cantonCode: "AG" }, + { postalCode: "5632", placeName: "Buttwil", cantonCode: "AG" }, + { postalCode: "5634", placeName: "Merenschwand", cantonCode: "AG" }, + { postalCode: "5636", placeName: "Benzenschwil", cantonCode: "AG" }, + { postalCode: "5637", placeName: "Geltwil", cantonCode: "AG" }, + { postalCode: "5637", placeName: "Beinwil (Freiamt)", cantonCode: "AG" }, + { postalCode: "5642", placeName: "Mühlau", cantonCode: "AG" }, + { postalCode: "5643", placeName: "Alikon", cantonCode: "AG" }, + { postalCode: "5643", placeName: "Meienberg", cantonCode: "AG" }, + { postalCode: "5643", placeName: "Sins", cantonCode: "AG" }, + { postalCode: "5643", placeName: "Sins", cantonCode: "AG" }, + { postalCode: "5644", placeName: "Auw", cantonCode: "AG" }, + { postalCode: "5645", placeName: "Fenkrieden", cantonCode: "AG" }, + { postalCode: "5645", placeName: "Aettenschwil", cantonCode: "AG" }, + { postalCode: "5646", placeName: "Abtwil AG", cantonCode: "AG" }, + { postalCode: "5647", placeName: "Oberrüti", cantonCode: "AG" }, + { postalCode: "6042", placeName: "Dietwil", cantonCode: "AG" }, + { postalCode: "8919", placeName: "Rottenschwil", cantonCode: "AG" }, + { postalCode: "4303", placeName: "Kaiseraugst Liebrüti", cantonCode: "AG" }, + { postalCode: "4303", placeName: "Kaiseraugst", cantonCode: "AG" }, + { postalCode: "4305", placeName: "Olsberg", cantonCode: "AG" }, + { postalCode: "4310", placeName: "Rheinfelden", cantonCode: "AG" }, + { postalCode: "4310", placeName: "Rheinfelden 1", cantonCode: "AG" }, + { postalCode: "4312", placeName: "Magden", cantonCode: "AG" }, + { postalCode: "4313", placeName: "Möhlin", cantonCode: "AG" }, + { postalCode: "4314", placeName: "Zeiningen", cantonCode: "AG" }, + { postalCode: "4315", placeName: "Zuzgen", cantonCode: "AG" }, + { postalCode: "4316", placeName: "Hellikon", cantonCode: "AG" }, + { postalCode: "4317", placeName: "Wegenstetten", cantonCode: "AG" }, + { postalCode: "4322", placeName: "Mumpf", cantonCode: "AG" }, + { postalCode: "4323", placeName: "Wallbach", cantonCode: "AG" }, + { postalCode: "4324", placeName: "Obermumpf", cantonCode: "AG" }, + { postalCode: "4325", placeName: "Schupfart", cantonCode: "AG" }, + { postalCode: "4332", placeName: "Stein AG", cantonCode: "AG" }, + { postalCode: "4663", placeName: "Aarburg", cantonCode: "AG" }, + { postalCode: "4665", placeName: "Oftringen 1", cantonCode: "AG" }, + { postalCode: "4665", placeName: "Oftringen", cantonCode: "AG" }, + { postalCode: "4665", placeName: "Oftringen 2", cantonCode: "AG" }, + { postalCode: "4800", placeName: "Zofingen", cantonCode: "AG" }, + { postalCode: "4801", placeName: "Zofingen", cantonCode: "AG" }, + { postalCode: "4801", placeName: "Zofingen Ringier AG", cantonCode: "AG" }, + { postalCode: "4802", placeName: "Strengelbach", cantonCode: "AG" }, + { postalCode: "4803", placeName: "Vordemwald", cantonCode: "AG" }, + { postalCode: "4805", placeName: "Brittnau", cantonCode: "AG" }, + { postalCode: "4807", placeName: "Zofingen PostFinance", cantonCode: "AG" }, + { postalCode: "4807", placeName: "Zofingen PF", cantonCode: "AG" }, + { postalCode: "4808", placeName: "Zofingen PF", cantonCode: "AG" }, + { postalCode: "4808", placeName: "Zofingen PostFinance", cantonCode: "AG" }, + { postalCode: "4809", placeName: "Zofingen PF", cantonCode: "AG" }, + { postalCode: "4809", placeName: "Zofingen PF UBS", cantonCode: "AG" }, + { postalCode: "4809", placeName: "Zofingen PF UBS Verarb.", cantonCode: "AG" }, + { postalCode: "4809", placeName: "Zofingen Postfinance UBS", cantonCode: "AG" }, + { postalCode: "4810", placeName: "Zofingen PF", cantonCode: "AG" }, + { postalCode: "4812", placeName: "Mühlethal", cantonCode: "AG" }, + { postalCode: "4813", placeName: "Uerkheim", cantonCode: "AG" }, + { postalCode: "4814", placeName: "Bottenwil", cantonCode: "AG" }, + { postalCode: "4852", placeName: "Rothrist", cantonCode: "AG" }, + { postalCode: "4853", placeName: "Murgenthal", cantonCode: "AG" }, + { postalCode: "4853", placeName: "Riken AG", cantonCode: "AG" }, + { postalCode: "4853", placeName: "Murgenthal", cantonCode: "AG" }, + { postalCode: "4856", placeName: "Glashütten", cantonCode: "AG" }, + { postalCode: "5053", placeName: "Wittwil", cantonCode: "AG" }, + { postalCode: "5053", placeName: "Staffelbach", cantonCode: "AG" }, + { postalCode: "5054", placeName: "Moosleerau", cantonCode: "AG" }, + { postalCode: "5054", placeName: "Kirchleerau-Moosleerau", cantonCode: "AG" }, + { postalCode: "5054", placeName: "Kirchleerau", cantonCode: "AG" }, + { postalCode: "5056", placeName: "Attelwil", cantonCode: "AG" }, + { postalCode: "5057", placeName: "Reitnau", cantonCode: "AG" }, + { postalCode: "5058", placeName: "Wiliberg", cantonCode: "AG" }, + { postalCode: "5742", placeName: "Kölliken", cantonCode: "AG" }, + { postalCode: "5745", placeName: "Safenwil", cantonCode: "AG" }, + { postalCode: "5304", placeName: "Endingen", cantonCode: "AG" }, + { postalCode: "5305", placeName: "Unterendingen", cantonCode: "AG" }, + { postalCode: "5306", placeName: "Tegerfelden", cantonCode: "AG" }, + { postalCode: "5312", placeName: "Döttingen", cantonCode: "AG" }, + { postalCode: "5313", placeName: "Klingnau", cantonCode: "AG" }, + { postalCode: "5314", placeName: "Kleindöttingen", cantonCode: "AG" }, + { postalCode: "5315", placeName: "Böttstein", cantonCode: "AG" }, + { postalCode: "5316", placeName: "Leuggern", cantonCode: "AG" }, + { postalCode: "5317", placeName: "Hettenschwil", cantonCode: "AG" }, + { postalCode: "5322", placeName: "Koblenz", cantonCode: "AG" }, + { postalCode: "5323", placeName: "Rietheim", cantonCode: "AG" }, + { postalCode: "5324", placeName: "Full-Reuenthal", cantonCode: "AG" }, + { postalCode: "5325", placeName: "Leibstadt", cantonCode: "AG" }, + { postalCode: "5330", placeName: "Bad Zurzach", cantonCode: "AG" }, + { postalCode: "5332", placeName: "Rekingen AG", cantonCode: "AG" }, + { postalCode: "5333", placeName: "Baldingen", cantonCode: "AG" }, + { postalCode: "5334", placeName: "Böbikon", cantonCode: "AG" }, + { postalCode: "5425", placeName: "Schneisingen", cantonCode: "AG" }, + { postalCode: "5426", placeName: "Lengnau AG", cantonCode: "AG" }, + { postalCode: "5462", placeName: "Siglistorf", cantonCode: "AG" }, + { postalCode: "5463", placeName: "Wislikofen", cantonCode: "AG" }, + { postalCode: "5464", placeName: "Rümikon AG", cantonCode: "AG" }, + { postalCode: "5465", placeName: "Mellikon", cantonCode: "AG" }, + { postalCode: "5466", placeName: "Kaiserstuhl AG", cantonCode: "AG" }, + { postalCode: "5467", placeName: "Fisibach", cantonCode: "AG" }, + { postalCode: "9050", placeName: "Appenzell", cantonCode: "AI" }, + { postalCode: "9050", placeName: "Appenzell Eggerstanden", cantonCode: "AI" }, + { postalCode: "9050", placeName: "Appenzell Schlatt", cantonCode: "AI" }, + { postalCode: "9050", placeName: "Appenzell Enggenhütten", cantonCode: "AI" }, + { postalCode: "9050", placeName: "Appenzell Meistersrüte", cantonCode: "AI" }, + { postalCode: "9050", placeName: "Appenzell Steinegg", cantonCode: "AI" }, + { postalCode: "9054", placeName: "Haslen AI", cantonCode: "AI" }, + { postalCode: "9057", placeName: "Wasserauen", cantonCode: "AI" }, + { postalCode: "9057", placeName: "Weissbad", cantonCode: "AI" }, + { postalCode: "9057", placeName: "Schwende", cantonCode: "AI" }, + { postalCode: "9058", placeName: "Brülisau", cantonCode: "AI" }, + { postalCode: "9108", placeName: "Jakobsbad", cantonCode: "AI" }, + { postalCode: "9108", placeName: "Gontenbad", cantonCode: "AI" }, + { postalCode: "9108", placeName: "Gonten", cantonCode: "AI" }, + { postalCode: "9413", placeName: "Oberegg", cantonCode: "AI" }, + { postalCode: "9413", placeName: "Oberegg", cantonCode: "AI" }, + { postalCode: "9442", placeName: "Büriswilen", cantonCode: "AI" }, + { postalCode: "9063", placeName: "Stein AR", cantonCode: "AR" }, + { postalCode: "9064", placeName: "Hundwil", cantonCode: "AR" }, + { postalCode: "9100", placeName: "Herisau", cantonCode: "AR" }, + { postalCode: "9102", placeName: "Herisau", cantonCode: "AR" }, + { postalCode: "9103", placeName: "Schwellbrunn", cantonCode: "AR" }, + { postalCode: "9104", placeName: "Waldstatt", cantonCode: "AR" }, + { postalCode: "9105", placeName: "Schönengrund", cantonCode: "AR" }, + { postalCode: "9107", placeName: "Urnäsch", cantonCode: "AR" }, + { postalCode: "9112", placeName: "Schachen b. Herisau", cantonCode: "AR" }, + { postalCode: "9037", placeName: "Speicherschwendi", cantonCode: "AR" }, + { postalCode: "9042", placeName: "Speicher", cantonCode: "AR" }, + { postalCode: "9043", placeName: "Trogen", cantonCode: "AR" }, + { postalCode: "9052", placeName: "Niederteufen", cantonCode: "AR" }, + { postalCode: "9053", placeName: "Teufen AR", cantonCode: "AR" }, + { postalCode: "9055", placeName: "Bühler", cantonCode: "AR" }, + { postalCode: "9056", placeName: "Gais", cantonCode: "AR" }, + { postalCode: "9062", placeName: "Lustmühle", cantonCode: "AR" }, + { postalCode: "9035", placeName: "Grub AR", cantonCode: "AR" }, + { postalCode: "9038", placeName: "Rehetobel", cantonCode: "AR" }, + { postalCode: "9044", placeName: "Wald AR", cantonCode: "AR" }, + { postalCode: "9405", placeName: "Wienacht-Tobel", cantonCode: "AR" }, + { postalCode: "9410", placeName: "Heiden", cantonCode: "AR" }, + { postalCode: "9411", placeName: "Schachen b. Reute", cantonCode: "AR" }, + { postalCode: "9411", placeName: "Reute AR", cantonCode: "AR" }, + { postalCode: "9426", placeName: "Lutzenberg", cantonCode: "AR" }, + { postalCode: "9427", placeName: "Wolfhalden", cantonCode: "AR" }, + { postalCode: "9428", placeName: "Walzenhausen", cantonCode: "AR" }, + { postalCode: "2333", placeName: "La Ferrière", cantonCode: "BE" }, + { postalCode: "2345", placeName: "Le Cerneux-Veusil", cantonCode: "BE" }, + { postalCode: "2515", placeName: "Prêles", cantonCode: "BE" }, + { postalCode: "2516", placeName: "Lamboing", cantonCode: "BE" }, + { postalCode: "2517", placeName: "Diesse", cantonCode: "BE" }, + { postalCode: "2518", placeName: "Nods", cantonCode: "BE" }, + { postalCode: "2520", placeName: "La Neuveville", cantonCode: "BE" }, + { postalCode: "2534", placeName: "Les Prés-d'Orvin", cantonCode: "BE" }, + { postalCode: "2534", placeName: "Orvin", cantonCode: "BE" }, + { postalCode: "2535", placeName: "Frinvillier", cantonCode: "BE" }, + { postalCode: "2536", placeName: "Plagne", cantonCode: "BE" }, + { postalCode: "2537", placeName: "Vauffelin", cantonCode: "BE" }, + { postalCode: "2538", placeName: "Romont BE", cantonCode: "BE" }, + { postalCode: "2603", placeName: "Péry", cantonCode: "BE" }, + { postalCode: "2604", placeName: "La Heutte", cantonCode: "BE" }, + { postalCode: "2605", placeName: "Sonceboz-Sombeval", cantonCode: "BE" }, + { postalCode: "2606", placeName: "Corgémont", cantonCode: "BE" }, + { postalCode: "2607", placeName: "Cortébert", cantonCode: "BE" }, + { postalCode: "2608", placeName: "Courtelary", cantonCode: "BE" }, + { postalCode: "2608", placeName: "Montagne-de-Courtelary", cantonCode: "BE" }, + { postalCode: "2610", placeName: "St-Imier", cantonCode: "BE" }, + { postalCode: "2610", placeName: "Mont-Crosin", cantonCode: "BE" }, + { postalCode: "2610", placeName: "Mont-Soleil", cantonCode: "BE" }, + { postalCode: "2610", placeName: "Les Pontins", cantonCode: "BE" }, + { postalCode: "2612", placeName: "Cormoret", cantonCode: "BE" }, + { postalCode: "2613", placeName: "Villeret", cantonCode: "BE" }, + { postalCode: "2615", placeName: "Sonvilier", cantonCode: "BE" }, + { postalCode: "2615", placeName: "Montagne-de-Sonvilier", cantonCode: "BE" }, + { postalCode: "2616", placeName: "Renan BE", cantonCode: "BE" }, + { postalCode: "2710", placeName: "Tavannes", cantonCode: "BE" }, + { postalCode: "2712", placeName: "Le Fuet", cantonCode: "BE" }, + { postalCode: "2713", placeName: "Bellelay", cantonCode: "BE" }, + { postalCode: "2715", placeName: "Monible", cantonCode: "BE" }, + { postalCode: "2715", placeName: "Châtelat", cantonCode: "BE" }, + { postalCode: "2716", placeName: "Sornetan", cantonCode: "BE" }, + { postalCode: "2717", placeName: "Fornet-Dessous", cantonCode: "BE" }, + { postalCode: "2717", placeName: "Rebévelier", cantonCode: "BE" }, + { postalCode: "2720", placeName: "Tramelan", cantonCode: "BE" }, + { postalCode: "2720", placeName: "La Tanne", cantonCode: "BE" }, + { postalCode: "2722", placeName: "Les Reussilles", cantonCode: "BE" }, + { postalCode: "2723", placeName: "Mont-Tramelan", cantonCode: "BE" }, + { postalCode: "2732", placeName: "Loveresse", cantonCode: "BE" }, + { postalCode: "2732", placeName: "Saicourt", cantonCode: "BE" }, + { postalCode: "2732", placeName: "Saules BE", cantonCode: "BE" }, + { postalCode: "2732", placeName: "Reconvilier", cantonCode: "BE" }, + { postalCode: "2733", placeName: "Pontenet", cantonCode: "BE" }, + { postalCode: "2735", placeName: "Malleray-Bévilard", cantonCode: "BE" }, + { postalCode: "2735", placeName: "Bévilard", cantonCode: "BE" }, + { postalCode: "2735", placeName: "Champoz", cantonCode: "BE" }, + { postalCode: "2735", placeName: "Malleray", cantonCode: "BE" }, + { postalCode: "2736", placeName: "Sorvilier", cantonCode: "BE" }, + { postalCode: "2738", placeName: "Court", cantonCode: "BE" }, + { postalCode: "2740", placeName: "Moutier", cantonCode: "BE" }, + { postalCode: "2742", placeName: "Perrefitte", cantonCode: "BE" }, + { postalCode: "2743", placeName: "Eschert", cantonCode: "BE" }, + { postalCode: "2744", placeName: "Belprahon", cantonCode: "BE" }, + { postalCode: "2745", placeName: "Grandval", cantonCode: "BE" }, + { postalCode: "2746", placeName: "Crémines", cantonCode: "BE" }, + { postalCode: "2747", placeName: "Corcelles BE", cantonCode: "BE" }, + { postalCode: "2747", placeName: "Seehof", cantonCode: "BE" }, + { postalCode: "2748", placeName: "Souboz", cantonCode: "BE" }, + { postalCode: "2748", placeName: "Les Ecorcheresses", cantonCode: "BE" }, + { postalCode: "2762", placeName: "Roches BE", cantonCode: "BE" }, + { postalCode: "2827", placeName: "Schelten", cantonCode: "BE" }, + { postalCode: "2500", placeName: "Biel/Bienne 4", cantonCode: "BE" }, + { postalCode: "2500", placeName: "Biel/Bienne", cantonCode: "BE" }, + { postalCode: "2500", placeName: "Biel/Bienne 6", cantonCode: "BE" }, + { postalCode: "2501", placeName: "Biel/Bienne", cantonCode: "BE" }, + { postalCode: "2502", placeName: "Biel/Bienne", cantonCode: "BE" }, + { postalCode: "2503", placeName: "Biel/Bienne", cantonCode: "BE" }, + { postalCode: "2504", placeName: "Biel/Bienne", cantonCode: "BE" }, + { postalCode: "2505", placeName: "Biel/Bienne", cantonCode: "BE" }, + { postalCode: "2512", placeName: "Tüscherz-Alfermée", cantonCode: "BE" }, + { postalCode: "2513", placeName: "Twann", cantonCode: "BE" }, + { postalCode: "2514", placeName: "Ligerz", cantonCode: "BE" }, + { postalCode: "2532", placeName: "Macolin", cantonCode: "BE" }, + { postalCode: "2532", placeName: "Magglingen/Macolin", cantonCode: "BE" }, + { postalCode: "2533", placeName: "Evilard", cantonCode: "BE" }, + { postalCode: "2542", placeName: "Pieterlen", cantonCode: "BE" }, + { postalCode: "2543", placeName: "Lengnau BE", cantonCode: "BE" }, + { postalCode: "2552", placeName: "Orpund", cantonCode: "BE" }, + { postalCode: "2553", placeName: "Safnern", cantonCode: "BE" }, + { postalCode: "2554", placeName: "Meinisberg", cantonCode: "BE" }, + { postalCode: "2555", placeName: "Brügg BE", cantonCode: "BE" }, + { postalCode: "2556", placeName: "Scheuren", cantonCode: "BE" }, + { postalCode: "2556", placeName: "Schwadernau", cantonCode: "BE" }, + { postalCode: "2558", placeName: "Aegerten", cantonCode: "BE" }, + { postalCode: "2560", placeName: "Nidau", cantonCode: "BE" }, + { postalCode: "2562", placeName: "Port", cantonCode: "BE" }, + { postalCode: "2563", placeName: "Ipsach", cantonCode: "BE" }, + { postalCode: "2564", placeName: "Bellmund", cantonCode: "BE" }, + { postalCode: "2572", placeName: "Mörigen", cantonCode: "BE" }, + { postalCode: "2572", placeName: "Sutz", cantonCode: "BE" }, + { postalCode: "2557", placeName: "Studen BE", cantonCode: "BE" }, + { postalCode: "2565", placeName: "Jens", cantonCode: "BE" }, + { postalCode: "2575", placeName: "Gerolfingen", cantonCode: "BE" }, + { postalCode: "2575", placeName: "Hagneck", cantonCode: "BE" }, + { postalCode: "2575", placeName: "Täuffelen", cantonCode: "BE" }, + { postalCode: "2576", placeName: "Lüscherz", cantonCode: "BE" }, + { postalCode: "2577", placeName: "Siselen BE", cantonCode: "BE" }, + { postalCode: "2577", placeName: "Finsterhennen", cantonCode: "BE" }, + { postalCode: "3035", placeName: "Frieswil", cantonCode: "BE" }, + { postalCode: "3036", placeName: "Detligen", cantonCode: "BE" }, + { postalCode: "3053", placeName: "Lätti", cantonCode: "BE" }, + { postalCode: "3054", placeName: "Schüpfen", cantonCode: "BE" }, + { postalCode: "3225", placeName: "Müntschemier", cantonCode: "BE" }, + { postalCode: "3226", placeName: "Treiten", cantonCode: "BE" }, + { postalCode: "3232", placeName: "Ins", cantonCode: "BE" }, + { postalCode: "3233", placeName: "Tschugg", cantonCode: "BE" }, + { postalCode: "3234", placeName: "Vinelz", cantonCode: "BE" }, + { postalCode: "3235", placeName: "Erlach", cantonCode: "BE" }, + { postalCode: "3236", placeName: "Gampelen", cantonCode: "BE" }, + { postalCode: "3237", placeName: "Brüttelen", cantonCode: "BE" }, + { postalCode: "3238", placeName: "Gals", cantonCode: "BE" }, + { postalCode: "3250", placeName: "Lyss", cantonCode: "BE" }, + { postalCode: "3251", placeName: "Wengi b. Büren", cantonCode: "BE" }, + { postalCode: "3251", placeName: "Ruppoldsried", cantonCode: "BE" }, + { postalCode: "3252", placeName: "Worben", cantonCode: "BE" }, + { postalCode: "3255", placeName: "Rapperswil BE", cantonCode: "BE" }, + { postalCode: "3256", placeName: "Seewil", cantonCode: "BE" }, + { postalCode: "3256", placeName: "Dieterswil", cantonCode: "BE" }, + { postalCode: "3256", placeName: "Bangerten b. Dieterswil", cantonCode: "BE" }, + { postalCode: "3257", placeName: "Grossaffoltern", cantonCode: "BE" }, + { postalCode: "3257", placeName: "Ammerzwil BE", cantonCode: "BE" }, + { postalCode: "3262", placeName: "Suberg", cantonCode: "BE" }, + { postalCode: "3263", placeName: "Büetigen", cantonCode: "BE" }, + { postalCode: "3264", placeName: "Diessbach b. Büren", cantonCode: "BE" }, + { postalCode: "3266", placeName: "Wiler b. Seedorf", cantonCode: "BE" }, + { postalCode: "3267", placeName: "Seedorf BE", cantonCode: "BE" }, + { postalCode: "3268", placeName: "Lobsigen", cantonCode: "BE" }, + { postalCode: "3270", placeName: "Aarberg", cantonCode: "BE" }, + { postalCode: "3271", placeName: "Radelfingen b. Aarberg", cantonCode: "BE" }, + { postalCode: "3272", placeName: "Walperswil", cantonCode: "BE" }, + { postalCode: "3272", placeName: "Epsach", cantonCode: "BE" }, + { postalCode: "3273", placeName: "Kappelen", cantonCode: "BE" }, + { postalCode: "3274", placeName: "Merzligen", cantonCode: "BE" }, + { postalCode: "3274", placeName: "Hermrigen", cantonCode: "BE" }, + { postalCode: "3274", placeName: "Bühl b. Aarberg", cantonCode: "BE" }, + { postalCode: "3282", placeName: "Bargen BE", cantonCode: "BE" }, + { postalCode: "3283", placeName: "Kallnach", cantonCode: "BE" }, + { postalCode: "3283", placeName: "Niederried b. Kallnach", cantonCode: "BE" }, + { postalCode: "3292", placeName: "Busswil BE", cantonCode: "BE" }, + { postalCode: "3293", placeName: "Dotzigen", cantonCode: "BE" }, + { postalCode: "3294", placeName: "Meienried", cantonCode: "BE" }, + { postalCode: "3294", placeName: "Büren an der Aare", cantonCode: "BE" }, + { postalCode: "3295", placeName: "Rüti b. Büren", cantonCode: "BE" }, + { postalCode: "3296", placeName: "Arch", cantonCode: "BE" }, + { postalCode: "3297", placeName: "Leuzigen", cantonCode: "BE" }, + { postalCode: "3298", placeName: "Oberwil b. Büren", cantonCode: "BE" }, + { postalCode: "3360", placeName: "Herzogenbuchsee", cantonCode: "BE" }, + { postalCode: "3362", placeName: "Niederönz", cantonCode: "BE" }, + { postalCode: "3363", placeName: "Oberönz", cantonCode: "BE" }, + { postalCode: "3365", placeName: "Seeberg", cantonCode: "BE" }, + { postalCode: "3365", placeName: "Grasswil", cantonCode: "BE" }, + { postalCode: "3366", placeName: "Bettenhausen", cantonCode: "BE" }, + { postalCode: "3366", placeName: "Bollodingen", cantonCode: "BE" }, + { postalCode: "3367", placeName: "Ochlenberg", cantonCode: "BE" }, + { postalCode: "3367", placeName: "Thörigen", cantonCode: "BE" }, + { postalCode: "3368", placeName: "Bleienbach", cantonCode: "BE" }, + { postalCode: "3372", placeName: "Wanzwil", cantonCode: "BE" }, + { postalCode: "3373", placeName: "Röthenbach Herzogenbuchsee", cantonCode: "BE" }, + { postalCode: "3373", placeName: "Heimenhausen", cantonCode: "BE" }, + { postalCode: "3374", placeName: "Wangenried", cantonCode: "BE" }, + { postalCode: "3375", placeName: "Inkwil", cantonCode: "BE" }, + { postalCode: "3376", placeName: "Berken", cantonCode: "BE" }, + { postalCode: "3376", placeName: "Graben", cantonCode: "BE" }, + { postalCode: "3377", placeName: "Walliswil b. Wangen", cantonCode: "BE" }, + { postalCode: "3380", placeName: "Wangen an der Aare", cantonCode: "BE" }, + { postalCode: "3380", placeName: "Walliswil b. Niederbipp", cantonCode: "BE" }, + { postalCode: "3464", placeName: "Schmidigen-Mühleweg", cantonCode: "BE" }, + { postalCode: "3475", placeName: "Hermiswil", cantonCode: "BE" }, + { postalCode: "3475", placeName: "Riedtwil", cantonCode: "BE" }, + { postalCode: "3476", placeName: "Oschwand", cantonCode: "BE" }, + { postalCode: "4536", placeName: "Attiswil", cantonCode: "BE" }, + { postalCode: "4537", placeName: "Wiedlisbach", cantonCode: "BE" }, + { postalCode: "4538", placeName: "Oberbipp", cantonCode: "BE" }, + { postalCode: "4539", placeName: "Rumisberg", cantonCode: "BE" }, + { postalCode: "4539", placeName: "Farnern", cantonCode: "BE" }, + { postalCode: "4704", placeName: "Niederbipp", cantonCode: "BE" }, + { postalCode: "4704", placeName: "Wolfisberg", cantonCode: "BE" }, + { postalCode: "4900", placeName: "Langenthal", cantonCode: "BE" }, + { postalCode: "4901", placeName: "Langenthal", cantonCode: "BE" }, + { postalCode: "4911", placeName: "Schwarzhäusern", cantonCode: "BE" }, + { postalCode: "4912", placeName: "Aarwangen", cantonCode: "BE" }, + { postalCode: "4913", placeName: "Bannwil", cantonCode: "BE" }, + { postalCode: "4914", placeName: "Roggwil BE", cantonCode: "BE" }, + { postalCode: "4916", placeName: "Untersteckholz", cantonCode: "BE" }, + { postalCode: "4917", placeName: "Melchnau", cantonCode: "BE" }, + { postalCode: "4917", placeName: "Busswil b. Melchnau", cantonCode: "BE" }, + { postalCode: "4919", placeName: "Reisiswil", cantonCode: "BE" }, + { postalCode: "4922", placeName: "Thunstetten", cantonCode: "BE" }, + { postalCode: "4922", placeName: "Bützberg", cantonCode: "BE" }, + { postalCode: "4923", placeName: "Wynau", cantonCode: "BE" }, + { postalCode: "4924", placeName: "Obersteckholz", cantonCode: "BE" }, + { postalCode: "4932", placeName: "Lotzwil", cantonCode: "BE" }, + { postalCode: "4932", placeName: "Gutenburg", cantonCode: "BE" }, + { postalCode: "4933", placeName: "Rütschelen", cantonCode: "BE" }, + { postalCode: "4934", placeName: "Madiswil", cantonCode: "BE" }, + { postalCode: "4935", placeName: "Leimiswil", cantonCode: "BE" }, + { postalCode: "4936", placeName: "Kleindietwil", cantonCode: "BE" }, + { postalCode: "4937", placeName: "Ursenbach", cantonCode: "BE" }, + { postalCode: "4938", placeName: "Rohrbach", cantonCode: "BE" }, + { postalCode: "4938", placeName: "Rohrbachgraben", cantonCode: "BE" }, + { postalCode: "4942", placeName: "Walterswil BE", cantonCode: "BE" }, + { postalCode: "4943", placeName: "Oeschenbach", cantonCode: "BE" }, + { postalCode: "4944", placeName: "Auswil", cantonCode: "BE" }, + { postalCode: "4950", placeName: "Huttwil", cantonCode: "BE" }, + { postalCode: "4952", placeName: "Eriswil", cantonCode: "BE" }, + { postalCode: "4953", placeName: "Schwarzenbach (Huttwil)", cantonCode: "BE" }, + { postalCode: "4954", placeName: "Wyssachen", cantonCode: "BE" }, + { postalCode: "4955", placeName: "Gondiswil", cantonCode: "BE" }, + { postalCode: "3309", placeName: "Kernenried", cantonCode: "BE" }, + { postalCode: "3315", placeName: "Kräiligen", cantonCode: "BE" }, + { postalCode: "3315", placeName: "Bätterkinden", cantonCode: "BE" }, + { postalCode: "3324", placeName: "Hindelbank", cantonCode: "BE" }, + { postalCode: "3324", placeName: "Mötschwil", cantonCode: "BE" }, + { postalCode: "3325", placeName: "Hettiswil b. Hindelbank", cantonCode: "BE" }, + { postalCode: "3326", placeName: "Krauchthal", cantonCode: "BE" }, + { postalCode: "3400", placeName: "Burgdorf", cantonCode: "BE" }, + { postalCode: "3401", placeName: "Burgdorf", cantonCode: "BE" }, + { postalCode: "3412", placeName: "Heimiswil", cantonCode: "BE" }, + { postalCode: "3413", placeName: "Kaltacker", cantonCode: "BE" }, + { postalCode: "3414", placeName: "Oberburg", cantonCode: "BE" }, + { postalCode: "3415", placeName: "Schafhausen im Emmental", cantonCode: "BE" }, + { postalCode: "3415", placeName: "Rüegsauschachen", cantonCode: "BE" }, + { postalCode: "3415", placeName: "Hasle-Rüegsau", cantonCode: "BE" }, + { postalCode: "3415", placeName: "Hasle b. Burgdorf", cantonCode: "BE" }, + { postalCode: "3416", placeName: "Affoltern im Emmental", cantonCode: "BE" }, + { postalCode: "3417", placeName: "Rüegsau", cantonCode: "BE" }, + { postalCode: "3418", placeName: "Rüegsbach", cantonCode: "BE" }, + { postalCode: "3419", placeName: "Biembach im Emmental", cantonCode: "BE" }, + { postalCode: "3421", placeName: "Lyssach", cantonCode: "BE" }, + { postalCode: "3421", placeName: "Lyssach", cantonCode: "BE" }, + { postalCode: "3421", placeName: "Rüti b. Lyssach", cantonCode: "BE" }, + { postalCode: "3422", placeName: "Kirchberg BE", cantonCode: "BE" }, + { postalCode: "3422", placeName: "Rüdtligen", cantonCode: "BE" }, + { postalCode: "3422", placeName: "Alchenflüh", cantonCode: "BE" }, + { postalCode: "3423", placeName: "Ersigen", cantonCode: "BE" }, + { postalCode: "3424", placeName: "Niederösch", cantonCode: "BE" }, + { postalCode: "3424", placeName: "Oberösch", cantonCode: "BE" }, + { postalCode: "3425", placeName: "Willadingen", cantonCode: "BE" }, + { postalCode: "3425", placeName: "Koppigen", cantonCode: "BE" }, + { postalCode: "3426", placeName: "Aefligen", cantonCode: "BE" }, + { postalCode: "3427", placeName: "Utzenstorf", cantonCode: "BE" }, + { postalCode: "3428", placeName: "Wiler b. Utzenstorf", cantonCode: "BE" }, + { postalCode: "3429", placeName: "Hellsau", cantonCode: "BE" }, + { postalCode: "3429", placeName: "Höchstetten", cantonCode: "BE" }, + { postalCode: "3432", placeName: "Lützelflüh-Goldbach", cantonCode: "BE" }, + { postalCode: "3433", placeName: "Schwanden im Emmental", cantonCode: "BE" }, + { postalCode: "3435", placeName: "Ramsei", cantonCode: "BE" }, + { postalCode: "3436", placeName: "Zollbrück", cantonCode: "BE" }, + { postalCode: "3437", placeName: "Rüderswil", cantonCode: "BE" }, + { postalCode: "3438", placeName: "Lauperswil", cantonCode: "BE" }, + { postalCode: "3439", placeName: "Ranflüh", cantonCode: "BE" }, + { postalCode: "3452", placeName: "Grünenmatt", cantonCode: "BE" }, + { postalCode: "3453", placeName: "Heimisbach", cantonCode: "BE" }, + { postalCode: "3454", placeName: "Sumiswald", cantonCode: "BE" }, + { postalCode: "3455", placeName: "Grünen", cantonCode: "BE" }, + { postalCode: "3456", placeName: "Trachselwald", cantonCode: "BE" }, + { postalCode: "3457", placeName: "Wasen im Emmental", cantonCode: "BE" }, + { postalCode: "3462", placeName: "Weier im Emmental", cantonCode: "BE" }, + { postalCode: "3463", placeName: "Häusernmoos im Emmental", cantonCode: "BE" }, + { postalCode: "3465", placeName: "Dürrenroth", cantonCode: "BE" }, + { postalCode: "3472", placeName: "Rumendingen", cantonCode: "BE" }, + { postalCode: "3472", placeName: "Wynigen", cantonCode: "BE" }, + { postalCode: "3473", placeName: "Alchenstorf", cantonCode: "BE" }, + { postalCode: "3474", placeName: "Rüedisbach", cantonCode: "BE" }, + { postalCode: "3534", placeName: "Signau", cantonCode: "BE" }, + { postalCode: "3535", placeName: "Schüpbach", cantonCode: "BE" }, + { postalCode: "3536", placeName: "Aeschau", cantonCode: "BE" }, + { postalCode: "3537", placeName: "Eggiwil", cantonCode: "BE" }, + { postalCode: "3538", placeName: "Röthenbach im Emmental", cantonCode: "BE" }, + { postalCode: "3543", placeName: "Emmenmatt", cantonCode: "BE" }, + { postalCode: "3550", placeName: "Langnau im Emmental", cantonCode: "BE" }, + { postalCode: "3551", placeName: "Oberfrittenbach", cantonCode: "BE" }, + { postalCode: "3552", placeName: "Bärau", cantonCode: "BE" }, + { postalCode: "3553", placeName: "Gohl", cantonCode: "BE" }, + { postalCode: "3555", placeName: "Trubschachen", cantonCode: "BE" }, + { postalCode: "3556", placeName: "Trub", cantonCode: "BE" }, + { postalCode: "3557", placeName: "Fankhaus (Trub)", cantonCode: "BE" }, + { postalCode: "3618", placeName: "Süderen", cantonCode: "BE" }, + { postalCode: "4564", placeName: "Zielebach", cantonCode: "BE" }, + { postalCode: "6197", placeName: "Schangnau", cantonCode: "BE" }, + { postalCode: "1595", placeName: "Clavaleyres", cantonCode: "BE" }, + { postalCode: "1738", placeName: "Sangernboden", cantonCode: "BE" }, + { postalCode: "1797", placeName: "Münchenwiler", cantonCode: "BE" }, + { postalCode: "3000", placeName: "Bern 9", cantonCode: "BE" }, + { postalCode: "3000", placeName: "Bern 5", cantonCode: "BE" }, + { postalCode: "3000", placeName: "Bern 31", cantonCode: "BE" }, + { postalCode: "3000", placeName: "Bern 65", cantonCode: "BE" }, + { postalCode: "3000", placeName: "Bern 94", cantonCode: "BE" }, + { postalCode: "3000", placeName: "Bern 13", cantonCode: "BE" }, + { postalCode: "3000", placeName: "Bern 8", cantonCode: "BE" }, + { postalCode: "3000", placeName: "Bern 6", cantonCode: "BE" }, + { postalCode: "3000", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3000", placeName: "Bern 60 UPD", cantonCode: "BE" }, + { postalCode: "3000", placeName: "Bern 14", cantonCode: "BE" }, + { postalCode: "3000", placeName: "Bern 22", cantonCode: "BE" }, + { postalCode: "3000", placeName: "Bern 65 SBB", cantonCode: "BE" }, + { postalCode: "3000", placeName: "Bern 16", cantonCode: "BE" }, + { postalCode: "3000", placeName: "Bern 15", cantonCode: "BE" }, + { postalCode: "3001", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3002", placeName: "Bern PostFinance", cantonCode: "BE" }, + { postalCode: "3003", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3004", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3005", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3006", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3007", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3008", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3010", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3011", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3011", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3012", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3013", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3014", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3015", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3018", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3019", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3020", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3024", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3027", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3029", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3030", placeName: "Bern", cantonCode: "BE" }, + { postalCode: "3032", placeName: "Hinterkappelen", cantonCode: "BE" }, + { postalCode: "3033", placeName: "Wohlen b. Bern", cantonCode: "BE" }, + { postalCode: "3034", placeName: "Murzelen", cantonCode: "BE" }, + { postalCode: "3037", placeName: "Herrenschwanden", cantonCode: "BE" }, + { postalCode: "3038", placeName: "Kirchlindach", cantonCode: "BE" }, + { postalCode: "3039", placeName: "Bern PF OC", cantonCode: "BE" }, + { postalCode: "3039", placeName: "Bern PF Operations Center", cantonCode: "BE" }, + { postalCode: "3040", placeName: "Bern Verarb.zentr.", cantonCode: "BE" }, + { postalCode: "3040", placeName: "Bern Verarbeitungszentrum", cantonCode: "BE" }, + { postalCode: "3041", placeName: "Bern UBS", cantonCode: "BE" }, + { postalCode: "3042", placeName: "Ortschwaben", cantonCode: "BE" }, + { postalCode: "3043", placeName: "Uettligen", cantonCode: "BE" }, + { postalCode: "3044", placeName: "Innerberg", cantonCode: "BE" }, + { postalCode: "3045", placeName: "Meikirch", cantonCode: "BE" }, + { postalCode: "3046", placeName: "Wahlendorf", cantonCode: "BE" }, + { postalCode: "3047", placeName: "Bremgarten b. Bern", cantonCode: "BE" }, + { postalCode: "3048", placeName: "Worblaufen", cantonCode: "BE" }, + { postalCode: "3049", placeName: "Säriswil", cantonCode: "BE" }, + { postalCode: "3050", placeName: "Bern Swisscom", cantonCode: "BE" }, + { postalCode: "3052", placeName: "Zollikofen", cantonCode: "BE" }, + { postalCode: "3053", placeName: "Diemerswil", cantonCode: "BE" }, + { postalCode: "3053", placeName: "Münchenbuchsee", cantonCode: "BE" }, + { postalCode: "3053", placeName: "Wiggiswil", cantonCode: "BE" }, + { postalCode: "3053", placeName: "Deisswil b. Münchenbuchsee", cantonCode: "BE" }, + { postalCode: "3063", placeName: "Ittigen", cantonCode: "BE" }, + { postalCode: "3065", placeName: "Bolligen", cantonCode: "BE" }, + { postalCode: "3066", placeName: "Stettlen", cantonCode: "BE" }, + { postalCode: "3067", placeName: "Boll", cantonCode: "BE" }, + { postalCode: "3068", placeName: "Utzigen", cantonCode: "BE" }, + { postalCode: "3071", placeName: "Ostermundigen KATA", cantonCode: "BE" }, + { postalCode: "3072", placeName: "Ostermundigen 1", cantonCode: "BE" }, + { postalCode: "3072", placeName: "Ostermundigen", cantonCode: "BE" }, + { postalCode: "3073", placeName: "Gümligen", cantonCode: "BE" }, + { postalCode: "3074", placeName: "Muri b. Bern", cantonCode: "BE" }, + { postalCode: "3075", placeName: "Vielbringen b. Worb", cantonCode: "BE" }, + { postalCode: "3075", placeName: "Rüfenacht BE", cantonCode: "BE" }, + { postalCode: "3076", placeName: "Worb", cantonCode: "BE" }, + { postalCode: "3077", placeName: "Enggistein", cantonCode: "BE" }, + { postalCode: "3078", placeName: "Richigen", cantonCode: "BE" }, + { postalCode: "3082", placeName: "Schlosswil", cantonCode: "BE" }, + { postalCode: "3083", placeName: "Trimstein", cantonCode: "BE" }, + { postalCode: "3084", placeName: "Wabern", cantonCode: "BE" }, + { postalCode: "3085", placeName: "Wabern Weihnachten", cantonCode: "BE" }, + { postalCode: "3085", placeName: "Wabern 2 x Weihnachten", cantonCode: "BE" }, + { postalCode: "3086", placeName: "Englisberg", cantonCode: "BE" }, + { postalCode: "3086", placeName: "Zimmerwald", cantonCode: "BE" }, + { postalCode: "3087", placeName: "Niedermuhlern", cantonCode: "BE" }, + { postalCode: "3088", placeName: "Rüeggisberg", cantonCode: "BE" }, + { postalCode: "3088", placeName: "Oberbütschel", cantonCode: "BE" }, + { postalCode: "3089", placeName: "Hinterfultigen", cantonCode: "BE" }, + { postalCode: "3095", placeName: "Spiegel b. Bern", cantonCode: "BE" }, + { postalCode: "3096", placeName: "Oberbalm", cantonCode: "BE" }, + { postalCode: "3097", placeName: "Liebefeld", cantonCode: "BE" }, + { postalCode: "3098", placeName: "Schliern b. Köniz", cantonCode: "BE" }, + { postalCode: "3098", placeName: "Köniz", cantonCode: "BE" }, + { postalCode: "3099", placeName: "Rüti b. Riggisberg", cantonCode: "BE" }, + { postalCode: "3110", placeName: "Münsingen", cantonCode: "BE" }, + { postalCode: "3111", placeName: "Tägertschi", cantonCode: "BE" }, + { postalCode: "3112", placeName: "Allmendingen b. Bern", cantonCode: "BE" }, + { postalCode: "3113", placeName: "Rubigen", cantonCode: "BE" }, + { postalCode: "3114", placeName: "Wichtrach", cantonCode: "BE" }, + { postalCode: "3115", placeName: "Gerzensee", cantonCode: "BE" }, + { postalCode: "3116", placeName: "Noflen BE", cantonCode: "BE" }, + { postalCode: "3116", placeName: "Kirchdorf BE", cantonCode: "BE" }, + { postalCode: "3116", placeName: "Mühledorf BE", cantonCode: "BE" }, + { postalCode: "3122", placeName: "Kehrsatz", cantonCode: "BE" }, + { postalCode: "3123", placeName: "Belp", cantonCode: "BE" }, + { postalCode: "3124", placeName: "Belpberg", cantonCode: "BE" }, + { postalCode: "3125", placeName: "Toffen", cantonCode: "BE" }, + { postalCode: "3126", placeName: "Kaufdorf", cantonCode: "BE" }, + { postalCode: "3126", placeName: "Gelterfingen", cantonCode: "BE" }, + { postalCode: "3127", placeName: "Lohnstorf", cantonCode: "BE" }, + { postalCode: "3127", placeName: "Mühlethurnen", cantonCode: "BE" }, + { postalCode: "3128", placeName: "Kirchenthurnen", cantonCode: "BE" }, + { postalCode: "3128", placeName: "Rümligen", cantonCode: "BE" }, + { postalCode: "3132", placeName: "Riggisberg", cantonCode: "BE" }, + { postalCode: "3144", placeName: "Gasel", cantonCode: "BE" }, + { postalCode: "3145", placeName: "Niederscherli", cantonCode: "BE" }, + { postalCode: "3147", placeName: "Mittelhäusern", cantonCode: "BE" }, + { postalCode: "3148", placeName: "Lanzenhäusern", cantonCode: "BE" }, + { postalCode: "3150", placeName: "Schwarzenburg", cantonCode: "BE" }, + { postalCode: "3152", placeName: "Mamishaus", cantonCode: "BE" }, + { postalCode: "3153", placeName: "Rüschegg Gambach", cantonCode: "BE" }, + { postalCode: "3154", placeName: "Rüschegg Heubach", cantonCode: "BE" }, + { postalCode: "3155", placeName: "Helgisried-Rohrbach", cantonCode: "BE" }, + { postalCode: "3156", placeName: "Riffenmatt", cantonCode: "BE" }, + { postalCode: "3157", placeName: "Milken", cantonCode: "BE" }, + { postalCode: "3158", placeName: "Guggisberg", cantonCode: "BE" }, + { postalCode: "3159", placeName: "Riedstätt", cantonCode: "BE" }, + { postalCode: "3172", placeName: "Niederwangen b. Bern", cantonCode: "BE" }, + { postalCode: "3173", placeName: "Oberwangen b. Bern", cantonCode: "BE" }, + { postalCode: "3174", placeName: "Thörishaus", cantonCode: "BE" }, + { postalCode: "3176", placeName: "Neuenegg", cantonCode: "BE" }, + { postalCode: "3177", placeName: "Laupen BE", cantonCode: "BE" }, + { postalCode: "3179", placeName: "Kriechenwil", cantonCode: "BE" }, + { postalCode: "3183", placeName: "Albligen", cantonCode: "BE" }, + { postalCode: "3202", placeName: "Frauenkappelen", cantonCode: "BE" }, + { postalCode: "3203", placeName: "Mühleberg", cantonCode: "BE" }, + { postalCode: "3204", placeName: "Rosshäusern", cantonCode: "BE" }, + { postalCode: "3205", placeName: "Gümmenen", cantonCode: "BE" }, + { postalCode: "3206", placeName: "Ferenbalm", cantonCode: "BE" }, + { postalCode: "3206", placeName: "Gammen", cantonCode: "BE" }, + { postalCode: "3206", placeName: "Biberen", cantonCode: "BE" }, + { postalCode: "3206", placeName: "Rizenbach", cantonCode: "BE" }, + { postalCode: "3207", placeName: "Wileroltigen", cantonCode: "BE" }, + { postalCode: "3207", placeName: "Golaten", cantonCode: "BE" }, + { postalCode: "3208", placeName: "Gurbrü", cantonCode: "BE" }, + { postalCode: "3302", placeName: "Moosseedorf", cantonCode: "BE" }, + { postalCode: "3303", placeName: "Jegenstorf", cantonCode: "BE" }, + { postalCode: "3303", placeName: "Münchringen", cantonCode: "BE" }, + { postalCode: "3303", placeName: "Zuzwil BE", cantonCode: "BE" }, + { postalCode: "3303", placeName: "Ballmoos", cantonCode: "BE" }, + { postalCode: "3305", placeName: "Iffwil", cantonCode: "BE" }, + { postalCode: "3305", placeName: "Scheunen", cantonCode: "BE" }, + { postalCode: "3306", placeName: "Etzelkofen", cantonCode: "BE" }, + { postalCode: "3308", placeName: "Grafenried", cantonCode: "BE" }, + { postalCode: "3309", placeName: "Zauggenried", cantonCode: "BE" }, + { postalCode: "3312", placeName: "Fraubrunnen", cantonCode: "BE" }, + { postalCode: "3313", placeName: "Büren zum Hof", cantonCode: "BE" }, + { postalCode: "3314", placeName: "Schalunen", cantonCode: "BE" }, + { postalCode: "3317", placeName: "Limpach", cantonCode: "BE" }, + { postalCode: "3317", placeName: "Mülchi", cantonCode: "BE" }, + { postalCode: "3321", placeName: "Schönbühl Einkaufszentrum", cantonCode: "BE" }, + { postalCode: "3321", placeName: "Schönbühl EKZ", cantonCode: "BE" }, + { postalCode: "3322", placeName: "Urtenen-Schönbühl", cantonCode: "BE" }, + { postalCode: "3322", placeName: "Mattstetten", cantonCode: "BE" }, + { postalCode: "3323", placeName: "Bäriswil BE", cantonCode: "BE" }, + { postalCode: "3434", placeName: "Landiswil", cantonCode: "BE" }, + { postalCode: "3434", placeName: "Obergoldbach", cantonCode: "BE" }, + { postalCode: "3503", placeName: "Gysenstein", cantonCode: "BE" }, + { postalCode: "3504", placeName: "Oberhünigen", cantonCode: "BE" }, + { postalCode: "3504", placeName: "Niederhünigen", cantonCode: "BE" }, + { postalCode: "3506", placeName: "Grosshöchstetten", cantonCode: "BE" }, + { postalCode: "3507", placeName: "Biglen", cantonCode: "BE" }, + { postalCode: "3508", placeName: "Arni BE", cantonCode: "BE" }, + { postalCode: "3510", placeName: "Häutligen", cantonCode: "BE" }, + { postalCode: "3510", placeName: "Konolfingen", cantonCode: "BE" }, + { postalCode: "3510", placeName: "Freimettigen", cantonCode: "BE" }, + { postalCode: "3512", placeName: "Walkringen", cantonCode: "BE" }, + { postalCode: "3513", placeName: "Bigenthal", cantonCode: "BE" }, + { postalCode: "3531", placeName: "Oberthal", cantonCode: "BE" }, + { postalCode: "3532", placeName: "Zäziwil", cantonCode: "BE" }, + { postalCode: "3532", placeName: "Mirchel", cantonCode: "BE" }, + { postalCode: "3533", placeName: "Bowil", cantonCode: "BE" }, + { postalCode: "3629", placeName: "Kiesen", cantonCode: "BE" }, + { postalCode: "3629", placeName: "Jaberg", cantonCode: "BE" }, + { postalCode: "3629", placeName: "Oppligen", cantonCode: "BE" }, + { postalCode: "3671", placeName: "Herbligen", cantonCode: "BE" }, + { postalCode: "3671", placeName: "Brenzikofen", cantonCode: "BE" }, + { postalCode: "3672", placeName: "Oberdiessbach", cantonCode: "BE" }, + { postalCode: "3672", placeName: "Aeschlen b. Oberdiessbach", cantonCode: "BE" }, + { postalCode: "3673", placeName: "Linden", cantonCode: "BE" }, + { postalCode: "3674", placeName: "Bleiken b. Oberdiessbach", cantonCode: "BE" }, + { postalCode: "3600", placeName: "Thun", cantonCode: "BE" }, + { postalCode: "3602", placeName: "Thun", cantonCode: "BE" }, + { postalCode: "3603", placeName: "Thun", cantonCode: "BE" }, + { postalCode: "3604", placeName: "Thun", cantonCode: "BE" }, + { postalCode: "3607", placeName: "Thun", cantonCode: "BE" }, + { postalCode: "3608", placeName: "Thun", cantonCode: "BE" }, + { postalCode: "3609", placeName: "Thun", cantonCode: "BE" }, + { postalCode: "3612", placeName: "Steffisburg", cantonCode: "BE" }, + { postalCode: "3613", placeName: "Steffisburg", cantonCode: "BE" }, + { postalCode: "3614", placeName: "Unterlangenegg", cantonCode: "BE" }, + { postalCode: "3615", placeName: "Heimenschwand", cantonCode: "BE" }, + { postalCode: "3616", placeName: "Schwarzenegg", cantonCode: "BE" }, + { postalCode: "3617", placeName: "Fahrni b. Thun", cantonCode: "BE" }, + { postalCode: "3619", placeName: "Eriz", cantonCode: "BE" }, + { postalCode: "3619", placeName: "Innereriz", cantonCode: "BE" }, + { postalCode: "3622", placeName: "Homberg b. Thun", cantonCode: "BE" }, + { postalCode: "3623", placeName: "Horrenbach", cantonCode: "BE" }, + { postalCode: "3623", placeName: "Teuffenthal b. Thun", cantonCode: "BE" }, + { postalCode: "3623", placeName: "Buchen BE", cantonCode: "BE" }, + { postalCode: "3624", placeName: "Schwendibach", cantonCode: "BE" }, + { postalCode: "3624", placeName: "Goldiwil (Thun)", cantonCode: "BE" }, + { postalCode: "3625", placeName: "Heiligenschwendi", cantonCode: "BE" }, + { postalCode: "3626", placeName: "Hünibach", cantonCode: "BE" }, + { postalCode: "3627", placeName: "Heimberg", cantonCode: "BE" }, + { postalCode: "3628", placeName: "Uttigen", cantonCode: "BE" }, + { postalCode: "3631", placeName: "Höfen b. Thun", cantonCode: "BE" }, + { postalCode: "3632", placeName: "Niederstocken", cantonCode: "BE" }, + { postalCode: "3632", placeName: "Oberstocken", cantonCode: "BE" }, + { postalCode: "3633", placeName: "Amsoldingen", cantonCode: "BE" }, + { postalCode: "3634", placeName: "Thierachern", cantonCode: "BE" }, + { postalCode: "3635", placeName: "Uebeschi", cantonCode: "BE" }, + { postalCode: "3636", placeName: "Längenbühl", cantonCode: "BE" }, + { postalCode: "3636", placeName: "Forst b. Längenbühl", cantonCode: "BE" }, + { postalCode: "3638", placeName: "Pohlern", cantonCode: "BE" }, + { postalCode: "3638", placeName: "Blumenstein", cantonCode: "BE" }, + { postalCode: "3645", placeName: "Zwieselberg", cantonCode: "BE" }, + { postalCode: "3647", placeName: "Reutigen", cantonCode: "BE" }, + { postalCode: "3652", placeName: "Hilterfingen", cantonCode: "BE" }, + { postalCode: "3653", placeName: "Oberhofen am Thunersee", cantonCode: "BE" }, + { postalCode: "3654", placeName: "Gunten", cantonCode: "BE" }, + { postalCode: "3655", placeName: "Sigriswil", cantonCode: "BE" }, + { postalCode: "3656", placeName: "Tschingel ob Gunten", cantonCode: "BE" }, + { postalCode: "3656", placeName: "Aeschlen ob Gunten", cantonCode: "BE" }, + { postalCode: "3656", placeName: "Ringoldswil", cantonCode: "BE" }, + { postalCode: "3657", placeName: "Schwanden (Sigriswil)", cantonCode: "BE" }, + { postalCode: "3658", placeName: "Merligen", cantonCode: "BE" }, + { postalCode: "3661", placeName: "Uetendorf", cantonCode: "BE" }, + { postalCode: "3662", placeName: "Seftigen", cantonCode: "BE" }, + { postalCode: "3663", placeName: "Gurzelen", cantonCode: "BE" }, + { postalCode: "3664", placeName: "Burgistein", cantonCode: "BE" }, + { postalCode: "3665", placeName: "Wattenwil", cantonCode: "BE" }, + { postalCode: "1657", placeName: "Abländschen", cantonCode: "BE" }, + { postalCode: "3766", placeName: "Boltigen", cantonCode: "BE" }, + { postalCode: "3770", placeName: "Zweisimmen", cantonCode: "BE" }, + { postalCode: "3771", placeName: "Blankenburg", cantonCode: "BE" }, + { postalCode: "3772", placeName: "St. Stephan", cantonCode: "BE" }, + { postalCode: "3773", placeName: "Matten (St. Stephan)", cantonCode: "BE" }, + { postalCode: "3775", placeName: "Lenk im Simmental", cantonCode: "BE" }, + { postalCode: "3776", placeName: "Oeschseite", cantonCode: "BE" }, + { postalCode: "3777", placeName: "Saanenmöser", cantonCode: "BE" }, + { postalCode: "3778", placeName: "Schönried", cantonCode: "BE" }, + { postalCode: "3780", placeName: "Gstaad", cantonCode: "BE" }, + { postalCode: "3781", placeName: "Turbach", cantonCode: "BE" }, + { postalCode: "3782", placeName: "Lauenen b. Gstaad", cantonCode: "BE" }, + { postalCode: "3783", placeName: "Grund b. Gstaad", cantonCode: "BE" }, + { postalCode: "3784", placeName: "Feutersoey", cantonCode: "BE" }, + { postalCode: "3785", placeName: "Gsteig b. Gstaad", cantonCode: "BE" }, + { postalCode: "3792", placeName: "Saanen", cantonCode: "BE" }, + { postalCode: "3645", placeName: "Gwatt (Thun)", cantonCode: "BE" }, + { postalCode: "3646", placeName: "Einigen", cantonCode: "BE" }, + { postalCode: "3700", placeName: "Spiez", cantonCode: "BE" }, + { postalCode: "3702", placeName: "Hondrich", cantonCode: "BE" }, + { postalCode: "3703", placeName: "Aeschiried", cantonCode: "BE" }, + { postalCode: "3703", placeName: "Aeschi b. Spiez", cantonCode: "BE" }, + { postalCode: "3704", placeName: "Krattigen", cantonCode: "BE" }, + { postalCode: "3705", placeName: "Faulensee", cantonCode: "BE" }, + { postalCode: "3711", placeName: "Mülenen", cantonCode: "BE" }, + { postalCode: "3711", placeName: "Emdthal", cantonCode: "BE" }, + { postalCode: "3713", placeName: "Reichenbach im Kandertal", cantonCode: "BE" }, + { postalCode: "3714", placeName: "Wengi b. Frutigen", cantonCode: "BE" }, + { postalCode: "3714", placeName: "Frutigen", cantonCode: "BE" }, + { postalCode: "3715", placeName: "Adelboden", cantonCode: "BE" }, + { postalCode: "3716", placeName: "Kandergrund", cantonCode: "BE" }, + { postalCode: "3717", placeName: "Blausee-Mitholz", cantonCode: "BE" }, + { postalCode: "3718", placeName: "Kandersteg", cantonCode: "BE" }, + { postalCode: "3722", placeName: "Scharnachtal", cantonCode: "BE" }, + { postalCode: "3723", placeName: "Kiental", cantonCode: "BE" }, + { postalCode: "3724", placeName: "Ried (Frutigen)", cantonCode: "BE" }, + { postalCode: "3725", placeName: "Achseten", cantonCode: "BE" }, + { postalCode: "3752", placeName: "Wimmis", cantonCode: "BE" }, + { postalCode: "3753", placeName: "Oey", cantonCode: "BE" }, + { postalCode: "3754", placeName: "Diemtigen", cantonCode: "BE" }, + { postalCode: "3755", placeName: "Horboden", cantonCode: "BE" }, + { postalCode: "3756", placeName: "Zwischenflüh", cantonCode: "BE" }, + { postalCode: "3757", placeName: "Schwenden im Diemtigtal", cantonCode: "BE" }, + { postalCode: "3758", placeName: "Latterbach", cantonCode: "BE" }, + { postalCode: "3762", placeName: "Erlenbach im Simmental", cantonCode: "BE" }, + { postalCode: "3763", placeName: "Därstetten", cantonCode: "BE" }, + { postalCode: "3764", placeName: "Weissenburg", cantonCode: "BE" }, + { postalCode: "3765", placeName: "Oberwil im Simmental", cantonCode: "BE" }, + { postalCode: "3706", placeName: "Leissigen", cantonCode: "BE" }, + { postalCode: "3707", placeName: "Därligen", cantonCode: "BE" }, + { postalCode: "3800", placeName: "Sundlauenen", cantonCode: "BE" }, + { postalCode: "3800", placeName: "Interlaken", cantonCode: "BE" }, + { postalCode: "3800", placeName: "Unterseen", cantonCode: "BE" }, + { postalCode: "3800", placeName: "Interlaken", cantonCode: "BE" }, + { postalCode: "3800", placeName: "Matten b. Interlaken", cantonCode: "BE" }, + { postalCode: "3802", placeName: "Interlaken Ost", cantonCode: "BE" }, + { postalCode: "3803", placeName: "Beatenberg", cantonCode: "BE" }, + { postalCode: "3804", placeName: "Habkern", cantonCode: "BE" }, + { postalCode: "3805", placeName: "Goldswil b. Interlaken", cantonCode: "BE" }, + { postalCode: "3806", placeName: "Bönigen b. Interlaken", cantonCode: "BE" }, + { postalCode: "3807", placeName: "Iseltwald", cantonCode: "BE" }, + { postalCode: "3812", placeName: "Wilderswil", cantonCode: "BE" }, + { postalCode: "3813", placeName: "Saxeten", cantonCode: "BE" }, + { postalCode: "3814", placeName: "Gsteigwiler", cantonCode: "BE" }, + { postalCode: "3815", placeName: "Gündlischwand", cantonCode: "BE" }, + { postalCode: "3815", placeName: "Zweilütschinen", cantonCode: "BE" }, + { postalCode: "3816", placeName: "Lütschental", cantonCode: "BE" }, + { postalCode: "3816", placeName: "Burglauenen", cantonCode: "BE" }, + { postalCode: "3818", placeName: "Grindelwald", cantonCode: "BE" }, + { postalCode: "3822", placeName: "Isenfluh", cantonCode: "BE" }, + { postalCode: "3822", placeName: "Lauterbrunnen", cantonCode: "BE" }, + { postalCode: "3823", placeName: "Wengen", cantonCode: "BE" }, + { postalCode: "3823", placeName: "Eigergletscher", cantonCode: "BE" }, + { postalCode: "3823", placeName: "Kleine Scheidegg", cantonCode: "BE" }, + { postalCode: "3824", placeName: "Stechelberg", cantonCode: "BE" }, + { postalCode: "3825", placeName: "Mürren", cantonCode: "BE" }, + { postalCode: "3826", placeName: "Gimmelwald", cantonCode: "BE" }, + { postalCode: "3852", placeName: "Ringgenberg BE", cantonCode: "BE" }, + { postalCode: "3853", placeName: "Niederried b. Interlaken", cantonCode: "BE" }, + { postalCode: "3854", placeName: "Oberried am Brienzersee", cantonCode: "BE" }, + { postalCode: "3855", placeName: "Brienz BE", cantonCode: "BE" }, + { postalCode: "3855", placeName: "Axalp", cantonCode: "BE" }, + { postalCode: "3855", placeName: "Schwanden b. Brienz", cantonCode: "BE" }, + { postalCode: "3856", placeName: "Brienzwiler", cantonCode: "BE" }, + { postalCode: "3857", placeName: "Unterbach BE", cantonCode: "BE" }, + { postalCode: "3858", placeName: "Hofstetten b. Brienz", cantonCode: "BE" }, + { postalCode: "3860", placeName: "Rosenlaui", cantonCode: "BE" }, + { postalCode: "3860", placeName: "Brünig", cantonCode: "BE" }, + { postalCode: "3860", placeName: "Meiringen", cantonCode: "BE" }, + { postalCode: "3860", placeName: "Schattenhalb", cantonCode: "BE" }, + { postalCode: "3862", placeName: "Innertkirchen", cantonCode: "BE" }, + { postalCode: "3863", placeName: "Gadmen", cantonCode: "BE" }, + { postalCode: "3864", placeName: "Guttannen", cantonCode: "BE" }, + { postalCode: "6083", placeName: "Hasliberg Hohfluh", cantonCode: "BE" }, + { postalCode: "6084", placeName: "Hasliberg Wasserwendi", cantonCode: "BE" }, + { postalCode: "6085", placeName: "Hasliberg Goldern", cantonCode: "BE" }, + { postalCode: "6086", placeName: "Hasliberg Reuti", cantonCode: "BE" }, + { postalCode: "4040", placeName: "Basel", cantonCode: "BL" }, + { postalCode: "4042", placeName: "Basel PF OC", cantonCode: "BL" }, + { postalCode: "4042", placeName: "Basel PF Operations Center", cantonCode: "BL" }, + { postalCode: "4101", placeName: "Bruderholz", cantonCode: "BL" }, + { postalCode: "4102", placeName: "Binningen 1", cantonCode: "BL" }, + { postalCode: "4102", placeName: "Binningen", cantonCode: "BL" }, + { postalCode: "4103", placeName: "Bottmingen", cantonCode: "BL" }, + { postalCode: "4104", placeName: "Oberwil BL", cantonCode: "BL" }, + { postalCode: "4105", placeName: "Biel-Benken BL", cantonCode: "BL" }, + { postalCode: "4106", placeName: "Therwil", cantonCode: "BL" }, + { postalCode: "4107", placeName: "Ettingen", cantonCode: "BL" }, + { postalCode: "4123", placeName: "Allschwil 1", cantonCode: "BL" }, + { postalCode: "4123", placeName: "Allschwil", cantonCode: "BL" }, + { postalCode: "4124", placeName: "Schönenbuch", cantonCode: "BL" }, + { postalCode: "4127", placeName: "Birsfelden", cantonCode: "BL" }, + { postalCode: "4132", placeName: "Muttenz 1", cantonCode: "BL" }, + { postalCode: "4132", placeName: "Muttenz", cantonCode: "BL" }, + { postalCode: "4142", placeName: "Münchenstein 1", cantonCode: "BL" }, + { postalCode: "4142", placeName: "Münchenstein", cantonCode: "BL" }, + { postalCode: "4144", placeName: "Arlesheim", cantonCode: "BL" }, + { postalCode: "4147", placeName: "Aesch BL", cantonCode: "BL" }, + { postalCode: "4148", placeName: "Pfeffingen", cantonCode: "BL" }, + { postalCode: "4153", placeName: "Reinach BL", cantonCode: "BL" }, + { postalCode: "4153", placeName: "Reinach BL 1", cantonCode: "BL" }, + { postalCode: "2814", placeName: "Roggenburg", cantonCode: "BL" }, + { postalCode: "4117", placeName: "Burg im Leimental", cantonCode: "BL" }, + { postalCode: "4202", placeName: "Duggingen", cantonCode: "BL" }, + { postalCode: "4203", placeName: "Grellingen", cantonCode: "BL" }, + { postalCode: "4222", placeName: "Zwingen", cantonCode: "BL" }, + { postalCode: "4223", placeName: "Blauen", cantonCode: "BL" }, + { postalCode: "4224", placeName: "Nenzlingen", cantonCode: "BL" }, + { postalCode: "4225", placeName: "Brislach", cantonCode: "BL" }, + { postalCode: "4242", placeName: "Laufen", cantonCode: "BL" }, + { postalCode: "4243", placeName: "Dittingen", cantonCode: "BL" }, + { postalCode: "4244", placeName: "Röschenz", cantonCode: "BL" }, + { postalCode: "4246", placeName: "Wahlen b. Laufen", cantonCode: "BL" }, + { postalCode: "4253", placeName: "Liesberg", cantonCode: "BL" }, + { postalCode: "4254", placeName: "Liesberg Dorf", cantonCode: "BL" }, + { postalCode: "4133", placeName: "Pratteln", cantonCode: "BL" }, + { postalCode: "4133", placeName: "Pratteln 1", cantonCode: "BL" }, + { postalCode: "4302", placeName: "Augst BL", cantonCode: "BL" }, + { postalCode: "4304", placeName: "Giebenach", cantonCode: "BL" }, + { postalCode: "4402", placeName: "Frenkendorf", cantonCode: "BL" }, + { postalCode: "4410", placeName: "Liestal", cantonCode: "BL" }, + { postalCode: "4411", placeName: "Seltisberg", cantonCode: "BL" }, + { postalCode: "4414", placeName: "Füllinsdorf", cantonCode: "BL" }, + { postalCode: "4415", placeName: "Lausen", cantonCode: "BL" }, + { postalCode: "4416", placeName: "Bubendorf", cantonCode: "BL" }, + { postalCode: "4417", placeName: "Ziefen", cantonCode: "BL" }, + { postalCode: "4419", placeName: "Lupsingen", cantonCode: "BL" }, + { postalCode: "4422", placeName: "Arisdorf", cantonCode: "BL" }, + { postalCode: "4423", placeName: "Hersberg", cantonCode: "BL" }, + { postalCode: "4433", placeName: "Ramlinsburg", cantonCode: "BL" }, + { postalCode: "4441", placeName: "Thürnen", cantonCode: "BL" }, + { postalCode: "4442", placeName: "Diepflingen", cantonCode: "BL" }, + { postalCode: "4443", placeName: "Wittinsburg", cantonCode: "BL" }, + { postalCode: "4444", placeName: "Rümlingen", cantonCode: "BL" }, + { postalCode: "4445", placeName: "Häfelfingen", cantonCode: "BL" }, + { postalCode: "4446", placeName: "Buckten", cantonCode: "BL" }, + { postalCode: "4447", placeName: "Känerkinden", cantonCode: "BL" }, + { postalCode: "4448", placeName: "Läufelfingen", cantonCode: "BL" }, + { postalCode: "4450", placeName: "Sissach", cantonCode: "BL" }, + { postalCode: "4451", placeName: "Wintersingen", cantonCode: "BL" }, + { postalCode: "4452", placeName: "Itingen", cantonCode: "BL" }, + { postalCode: "4453", placeName: "Nusshof", cantonCode: "BL" }, + { postalCode: "4455", placeName: "Zunzgen", cantonCode: "BL" }, + { postalCode: "4456", placeName: "Tenniken", cantonCode: "BL" }, + { postalCode: "4460", placeName: "Gelterkinden", cantonCode: "BL" }, + { postalCode: "4461", placeName: "Böckten", cantonCode: "BL" }, + { postalCode: "4462", placeName: "Rickenbach BL", cantonCode: "BL" }, + { postalCode: "4463", placeName: "Buus", cantonCode: "BL" }, + { postalCode: "4464", placeName: "Maisprach", cantonCode: "BL" }, + { postalCode: "4465", placeName: "Hemmiken", cantonCode: "BL" }, + { postalCode: "4466", placeName: "Ormalingen", cantonCode: "BL" }, + { postalCode: "4467", placeName: "Rothenfluh", cantonCode: "BL" }, + { postalCode: "4469", placeName: "Anwil", cantonCode: "BL" }, + { postalCode: "4492", placeName: "Tecknau", cantonCode: "BL" }, + { postalCode: "4493", placeName: "Wenslingen", cantonCode: "BL" }, + { postalCode: "4494", placeName: "Oltingen", cantonCode: "BL" }, + { postalCode: "4495", placeName: "Zeglingen", cantonCode: "BL" }, + { postalCode: "4496", placeName: "Kilchberg BL", cantonCode: "BL" }, + { postalCode: "4497", placeName: "Rünenberg", cantonCode: "BL" }, + { postalCode: "4207", placeName: "Bretzwil", cantonCode: "BL" }, + { postalCode: "4418", placeName: "Reigoldswil", cantonCode: "BL" }, + { postalCode: "4424", placeName: "Arboldswil", cantonCode: "BL" }, + { postalCode: "4425", placeName: "Titterten", cantonCode: "BL" }, + { postalCode: "4426", placeName: "Lauwil", cantonCode: "BL" }, + { postalCode: "4431", placeName: "Bennwil", cantonCode: "BL" }, + { postalCode: "4432", placeName: "Lampenberg", cantonCode: "BL" }, + { postalCode: "4434", placeName: "Hölstein", cantonCode: "BL" }, + { postalCode: "4435", placeName: "Niederdorf", cantonCode: "BL" }, + { postalCode: "4436", placeName: "Oberdorf BL", cantonCode: "BL" }, + { postalCode: "4436", placeName: "Liedertswil", cantonCode: "BL" }, + { postalCode: "4437", placeName: "Waldenburg", cantonCode: "BL" }, + { postalCode: "4438", placeName: "Langenbruck", cantonCode: "BL" }, + { postalCode: "4457", placeName: "Diegten", cantonCode: "BL" }, + { postalCode: "4458", placeName: "Eptingen", cantonCode: "BL" }, + { postalCode: "4000", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4001", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4002", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4005", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4009", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4010", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4018", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4019", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4020", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4030", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4031", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4039", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4039", placeName: "Basel SSF", cantonCode: "BS" }, + { postalCode: "4041", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4041", placeName: "Basel UBS", cantonCode: "BS" }, + { postalCode: "4051", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4052", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4052", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4053", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4054", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4055", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4056", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4057", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4058", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4059", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4070", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4075", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4089", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4089", placeName: "Basel SPI GLS", cantonCode: "BS" }, + { postalCode: "4089", placeName: "Basel SPILOG", cantonCode: "BS" }, + { postalCode: "4089", placeName: "Basel SPI GLS Retour", cantonCode: "BS" }, + { postalCode: "4091", placeName: "Basel", cantonCode: "BS" }, + { postalCode: "4125", placeName: "Riehen", cantonCode: "BS" }, + { postalCode: "4125", placeName: "Riehen 1", cantonCode: "BS" }, + { postalCode: "4126", placeName: "Bettingen", cantonCode: "BS" }, + { postalCode: "1410", placeName: "Prévondavaux", cantonCode: "FR" }, + { postalCode: "1468", placeName: "Cheyres", cantonCode: "FR" }, + { postalCode: "1470", placeName: "Bollion", cantonCode: "FR" }, + { postalCode: "1470", placeName: "Seiry", cantonCode: "FR" }, + { postalCode: "1470", placeName: "Lully FR", cantonCode: "FR" }, + { postalCode: "1470", placeName: "Estavayer-le-Lac", cantonCode: "FR" }, + { postalCode: "1473", placeName: "Font", cantonCode: "FR" }, + { postalCode: "1473", placeName: "Châtillon FR", cantonCode: "FR" }, + { postalCode: "1474", placeName: "Châbles FR", cantonCode: "FR" }, + { postalCode: "1475", placeName: "Forel FR", cantonCode: "FR" }, + { postalCode: "1475", placeName: "Montbrelloz", cantonCode: "FR" }, + { postalCode: "1475", placeName: "Autavaux", cantonCode: "FR" }, + { postalCode: "1482", placeName: "Cugy FR", cantonCode: "FR" }, + { postalCode: "1483", placeName: "Vesin", cantonCode: "FR" }, + { postalCode: "1483", placeName: "Frasses", cantonCode: "FR" }, + { postalCode: "1483", placeName: "Montet (Broye)", cantonCode: "FR" }, + { postalCode: "1484", placeName: "Aumont", cantonCode: "FR" }, + { postalCode: "1484", placeName: "Granges-de-Vesin", cantonCode: "FR" }, + { postalCode: "1485", placeName: "Nuvilly", cantonCode: "FR" }, + { postalCode: "1486", placeName: "Vuissens", cantonCode: "FR" }, + { postalCode: "1489", placeName: "Murist", cantonCode: "FR" }, + { postalCode: "1527", placeName: "Villeneuve FR", cantonCode: "FR" }, + { postalCode: "1528", placeName: "Praratoud", cantonCode: "FR" }, + { postalCode: "1528", placeName: "Surpierre", cantonCode: "FR" }, + { postalCode: "1529", placeName: "Cheiry", cantonCode: "FR" }, + { postalCode: "1532", placeName: "Fétigny", cantonCode: "FR" }, + { postalCode: "1533", placeName: "Ménières", cantonCode: "FR" }, + { postalCode: "1534", placeName: "Chapelle (Broye)", cantonCode: "FR" }, + { postalCode: "1541", placeName: "Morens FR", cantonCode: "FR" }, + { postalCode: "1541", placeName: "Sévaz", cantonCode: "FR" }, + { postalCode: "1541", placeName: "Bussy FR", cantonCode: "FR" }, + { postalCode: "1542", placeName: "Rueyres-les-Prés", cantonCode: "FR" }, + { postalCode: "1544", placeName: "Gletterens", cantonCode: "FR" }, + { postalCode: "1563", placeName: "Dompierre FR", cantonCode: "FR" }, + { postalCode: "1564", placeName: "Domdidier", cantonCode: "FR" }, + { postalCode: "1565", placeName: "Vallon", cantonCode: "FR" }, + { postalCode: "1566", placeName: "St-Aubin FR", cantonCode: "FR" }, + { postalCode: "1566", placeName: "Les Friques", cantonCode: "FR" }, + { postalCode: "1567", placeName: "Delley", cantonCode: "FR" }, + { postalCode: "1568", placeName: "Portalban", cantonCode: "FR" }, + { postalCode: "1773", placeName: "Russy", cantonCode: "FR" }, + { postalCode: "1773", placeName: "Chandon", cantonCode: "FR" }, + { postalCode: "1773", placeName: "Léchelles", cantonCode: "FR" }, + { postalCode: "1774", placeName: "Cousset", cantonCode: "FR" }, + { postalCode: "1774", placeName: "Montagny-les-Monts", cantonCode: "FR" }, + { postalCode: "1774", placeName: "Cousset", cantonCode: "FR" }, + { postalCode: "1775", placeName: "Mannens", cantonCode: "FR" }, + { postalCode: "1775", placeName: "Grandsivaz", cantonCode: "FR" }, + { postalCode: "1776", placeName: "Montagny-la-Ville", cantonCode: "FR" }, + { postalCode: "1553", placeName: "Châtonnaye", cantonCode: "FR" }, + { postalCode: "1608", placeName: "Chapelle (Glâne)", cantonCode: "FR" }, + { postalCode: "1670", placeName: "Bionnens", cantonCode: "FR" }, + { postalCode: "1670", placeName: "Ursy", cantonCode: "FR" }, + { postalCode: "1670", placeName: "Esmonts", cantonCode: "FR" }, + { postalCode: "1673", placeName: "Ecublens FR", cantonCode: "FR" }, + { postalCode: "1673", placeName: "Gillarens", cantonCode: "FR" }, + { postalCode: "1673", placeName: "Promasens", cantonCode: "FR" }, + { postalCode: "1673", placeName: "Rue", cantonCode: "FR" }, + { postalCode: "1673", placeName: "Auboranges", cantonCode: "FR" }, + { postalCode: "1674", placeName: "Montet (Glâne)", cantonCode: "FR" }, + { postalCode: "1674", placeName: "Morlens", cantonCode: "FR" }, + { postalCode: "1674", placeName: "Vuarmarens", cantonCode: "FR" }, + { postalCode: "1675", placeName: "Blessens", cantonCode: "FR" }, + { postalCode: "1675", placeName: "Vauderens", cantonCode: "FR" }, + { postalCode: "1675", placeName: "Mossel", cantonCode: "FR" }, + { postalCode: "1676", placeName: "Chavannes-les-Forts", cantonCode: "FR" }, + { postalCode: "1677", placeName: "Prez-vers-Siviriez", cantonCode: "FR" }, + { postalCode: "1678", placeName: "Siviriez", cantonCode: "FR" }, + { postalCode: "1679", placeName: "Villaraboud", cantonCode: "FR" }, + { postalCode: "1680", placeName: "Berlens", cantonCode: "FR" }, + { postalCode: "1680", placeName: "Romont FR", cantonCode: "FR" }, + { postalCode: "1681", placeName: "Hennens", cantonCode: "FR" }, + { postalCode: "1681", placeName: "Billens", cantonCode: "FR" }, + { postalCode: "1684", placeName: "Mézières FR", cantonCode: "FR" }, + { postalCode: "1685", placeName: "Villariaz", cantonCode: "FR" }, + { postalCode: "1686", placeName: "Grangettes-près-Romont", cantonCode: "FR" }, + { postalCode: "1686", placeName: "La Neirigue", cantonCode: "FR" }, + { postalCode: "1687", placeName: "Estévenens", cantonCode: "FR" }, + { postalCode: "1687", placeName: "La Magne", cantonCode: "FR" }, + { postalCode: "1687", placeName: "Vuisternens-devant-Romont", cantonCode: "FR" }, + { postalCode: "1688", placeName: "Lieffrens", cantonCode: "FR" }, + { postalCode: "1688", placeName: "Sommentier", cantonCode: "FR" }, + { postalCode: "1689", placeName: "Le Châtelard-près-Romont", cantonCode: "FR" }, + { postalCode: "1690", placeName: "Lussy FR", cantonCode: "FR" }, + { postalCode: "1690", placeName: "Villaz-St-Pierre", cantonCode: "FR" }, + { postalCode: "1691", placeName: "Villarimboud", cantonCode: "FR" }, + { postalCode: "1692", placeName: "Massonnens", cantonCode: "FR" }, + { postalCode: "1694", placeName: "Orsonnens", cantonCode: "FR" }, + { postalCode: "1694", placeName: "Villargiroud", cantonCode: "FR" }, + { postalCode: "1694", placeName: "Villarsiviriaux", cantonCode: "FR" }, + { postalCode: "1694", placeName: "Chavannes-sous-Orsonnens", cantonCode: "FR" }, + { postalCode: "1697", placeName: "La Joux FR", cantonCode: "FR" }, + { postalCode: "1697", placeName: "Les Ecasseys", cantonCode: "FR" }, + { postalCode: "1748", placeName: "Torny-le-Grand", cantonCode: "FR" }, + { postalCode: "1749", placeName: "Middes", cantonCode: "FR" }, + { postalCode: "1625", placeName: "Sâles (Gruyère)", cantonCode: "FR" }, + { postalCode: "1625", placeName: "Maules", cantonCode: "FR" }, + { postalCode: "1626", placeName: "Rueyres-Treyfayes", cantonCode: "FR" }, + { postalCode: "1626", placeName: "Romanens", cantonCode: "FR" }, + { postalCode: "1626", placeName: "Treyfayes", cantonCode: "FR" }, + { postalCode: "1627", placeName: "Vaulruz", cantonCode: "FR" }, + { postalCode: "1628", placeName: "Vuadens", cantonCode: "FR" }, + { postalCode: "1630", placeName: "Bulle", cantonCode: "FR" }, + { postalCode: "1631", placeName: "Bulle centre de traitement", cantonCode: "FR" }, + { postalCode: "1632", placeName: "Riaz", cantonCode: "FR" }, + { postalCode: "1633", placeName: "Vuippens", cantonCode: "FR" }, + { postalCode: "1633", placeName: "Marsens", cantonCode: "FR" }, + { postalCode: "1634", placeName: "La Roche FR", cantonCode: "FR" }, + { postalCode: "1635", placeName: "La Tour-de-Trême", cantonCode: "FR" }, + { postalCode: "1636", placeName: "Broc", cantonCode: "FR" }, + { postalCode: "1637", placeName: "Charmey (Gruyère)", cantonCode: "FR" }, + { postalCode: "1638", placeName: "Morlon", cantonCode: "FR" }, + { postalCode: "1642", placeName: "Sorens", cantonCode: "FR" }, + { postalCode: "1643", placeName: "Gumefens", cantonCode: "FR" }, + { postalCode: "1644", placeName: "Avry-devant-Pont", cantonCode: "FR" }, + { postalCode: "1645", placeName: "Le Bry", cantonCode: "FR" }, + { postalCode: "1646", placeName: "Echarlens", cantonCode: "FR" }, + { postalCode: "1647", placeName: "Corbières", cantonCode: "FR" }, + { postalCode: "1648", placeName: "Hauteville", cantonCode: "FR" }, + { postalCode: "1649", placeName: "Pont-la-Ville", cantonCode: "FR" }, + { postalCode: "1651", placeName: "Villarvolard", cantonCode: "FR" }, + { postalCode: "1652", placeName: "Villarbeney", cantonCode: "FR" }, + { postalCode: "1652", placeName: "Botterens", cantonCode: "FR" }, + { postalCode: "1653", placeName: "Crésuz", cantonCode: "FR" }, + { postalCode: "1653", placeName: "Châtel-sur-Montsalvens", cantonCode: "FR" }, + { postalCode: "1654", placeName: "Cerniat FR", cantonCode: "FR" }, + { postalCode: "1656", placeName: "Im Fang", cantonCode: "FR" }, + { postalCode: "1656", placeName: "Jaun", cantonCode: "FR" }, + { postalCode: "1661", placeName: "Le Pâquier-Montbarry", cantonCode: "FR" }, + { postalCode: "1663", placeName: "Gruyères", cantonCode: "FR" }, + { postalCode: "1663", placeName: "Pringy", cantonCode: "FR" }, + { postalCode: "1663", placeName: "Moléson-sur-Gruyères", cantonCode: "FR" }, + { postalCode: "1663", placeName: "Epagny", cantonCode: "FR" }, + { postalCode: "1665", placeName: "Estavannens", cantonCode: "FR" }, + { postalCode: "1666", placeName: "Villars-sous-Mont", cantonCode: "FR" }, + { postalCode: "1666", placeName: "Grandvillard", cantonCode: "FR" }, + { postalCode: "1667", placeName: "Enney", cantonCode: "FR" }, + { postalCode: "1669", placeName: "Albeuve", cantonCode: "FR" }, + { postalCode: "1669", placeName: "Les Sciernes-d'Albeuve", cantonCode: "FR" }, + { postalCode: "1669", placeName: "Lessoc", cantonCode: "FR" }, + { postalCode: "1669", placeName: "Neirivue", cantonCode: "FR" }, + { postalCode: "1669", placeName: "Montbovon", cantonCode: "FR" }, + { postalCode: "1695", placeName: "Rueyres-St-Laurent", cantonCode: "FR" }, + { postalCode: "1695", placeName: "Villarlod", cantonCode: "FR" }, + { postalCode: "1695", placeName: "Estavayer-le-Gibloux", cantonCode: "FR" }, + { postalCode: "1695", placeName: "Villarsel-le-Gibloux", cantonCode: "FR" }, + { postalCode: "1696", placeName: "Vuisternens-en-Ogoz", cantonCode: "FR" }, + { postalCode: "1700", placeName: "Fribourg", cantonCode: "FR" }, + { postalCode: "1701", placeName: "Fribourg", cantonCode: "FR" }, + { postalCode: "1708", placeName: "Fribourg", cantonCode: "FR" }, + { postalCode: "1720", placeName: "Chésopelloz", cantonCode: "FR" }, + { postalCode: "1720", placeName: "Corminboeuf", cantonCode: "FR" }, + { postalCode: "1722", placeName: "Bourguillon", cantonCode: "FR" }, + { postalCode: "1723", placeName: "Marly", cantonCode: "FR" }, + { postalCode: "1723", placeName: "Marly 1", cantonCode: "FR" }, + { postalCode: "1723", placeName: "Villarsel-sur-Marly", cantonCode: "FR" }, + { postalCode: "1723", placeName: "Pierrafortscha", cantonCode: "FR" }, + { postalCode: "1724", placeName: "Ferpicloz", cantonCode: "FR" }, + { postalCode: "1724", placeName: "Montévraz", cantonCode: "FR" }, + { postalCode: "1724", placeName: "Bonnefontaine", cantonCode: "FR" }, + { postalCode: "1724", placeName: "Le Mouret", cantonCode: "FR" }, + { postalCode: "1724", placeName: "Senèdes", cantonCode: "FR" }, + { postalCode: "1724", placeName: "Essert FR", cantonCode: "FR" }, + { postalCode: "1724", placeName: "Oberried FR", cantonCode: "FR" }, + { postalCode: "1724", placeName: "Zénauva", cantonCode: "FR" }, + { postalCode: "1725", placeName: "Posieux", cantonCode: "FR" }, + { postalCode: "1726", placeName: "Grenilles", cantonCode: "FR" }, + { postalCode: "1726", placeName: "Farvagny", cantonCode: "FR" }, + { postalCode: "1726", placeName: "Posat", cantonCode: "FR" }, + { postalCode: "1726", placeName: "Farvagny-le-Grand", cantonCode: "FR" }, + { postalCode: "1726", placeName: "Farvagny-le-Petit", cantonCode: "FR" }, + { postalCode: "1727", placeName: "Corpataux", cantonCode: "FR" }, + { postalCode: "1727", placeName: "Magnedens", cantonCode: "FR" }, + { postalCode: "1728", placeName: "Rossens FR", cantonCode: "FR" }, + { postalCode: "1730", placeName: "Ecuvillens", cantonCode: "FR" }, + { postalCode: "1731", placeName: "Ependes FR", cantonCode: "FR" }, + { postalCode: "1732", placeName: "Arconciel", cantonCode: "FR" }, + { postalCode: "1733", placeName: "Treyvaux", cantonCode: "FR" }, + { postalCode: "1740", placeName: "Neyruz FR", cantonCode: "FR" }, + { postalCode: "1741", placeName: "Cottens FR", cantonCode: "FR" }, + { postalCode: "1742", placeName: "Autigny", cantonCode: "FR" }, + { postalCode: "1744", placeName: "Chénens", cantonCode: "FR" }, + { postalCode: "1745", placeName: "Lentigny", cantonCode: "FR" }, + { postalCode: "1746", placeName: "Prez-vers-Noréaz", cantonCode: "FR" }, + { postalCode: "1747", placeName: "Corserey", cantonCode: "FR" }, + { postalCode: "1752", placeName: "Villars-sur-Glâne", cantonCode: "FR" }, + { postalCode: "1752", placeName: "Villars-sur-Glâne 1", cantonCode: "FR" }, + { postalCode: "1753", placeName: "Matran", cantonCode: "FR" }, + { postalCode: "1754", placeName: "Rosé", cantonCode: "FR" }, + { postalCode: "1754", placeName: "Avry-sur-Matran", cantonCode: "FR" }, + { postalCode: "1754", placeName: "Corjolens", cantonCode: "FR" }, + { postalCode: "1754", placeName: "Avry-Centre FR", cantonCode: "FR" }, + { postalCode: "1756", placeName: "Onnens FR", cantonCode: "FR" }, + { postalCode: "1756", placeName: "Lovens", cantonCode: "FR" }, + { postalCode: "1757", placeName: "Noréaz", cantonCode: "FR" }, + { postalCode: "1762", placeName: "Givisiez", cantonCode: "FR" }, + { postalCode: "1763", placeName: "Granges-Paccot", cantonCode: "FR" }, + { postalCode: "1772", placeName: "Nierlet-les-Bois", cantonCode: "FR" }, + { postalCode: "1772", placeName: "Grolley", cantonCode: "FR" }, + { postalCode: "1772", placeName: "Ponthaux", cantonCode: "FR" }, + { postalCode: "1782", placeName: "Formangueires", cantonCode: "FR" }, + { postalCode: "1782", placeName: "Autafond", cantonCode: "FR" }, + { postalCode: "1782", placeName: "Lossy", cantonCode: "FR" }, + { postalCode: "1782", placeName: "Belfaux", cantonCode: "FR" }, + { postalCode: "1782", placeName: "Cormagens", cantonCode: "FR" }, + { postalCode: "1782", placeName: "La Corbaz", cantonCode: "FR" }, + { postalCode: "1583", placeName: "Villarepos", cantonCode: "FR" }, + { postalCode: "1721", placeName: "Cournillens", cantonCode: "FR" }, + { postalCode: "1721", placeName: "Misery-Courtion", cantonCode: "FR" }, + { postalCode: "1721", placeName: "Misery", cantonCode: "FR" }, + { postalCode: "1721", placeName: "Cormérod", cantonCode: "FR" }, + { postalCode: "1721", placeName: "Courtion", cantonCode: "FR" }, + { postalCode: "1783", placeName: "Pensier", cantonCode: "FR" }, + { postalCode: "1783", placeName: "Barberêche", cantonCode: "FR" }, + { postalCode: "1784", placeName: "Courtepin", cantonCode: "FR" }, + { postalCode: "1784", placeName: "Wallenried", cantonCode: "FR" }, + { postalCode: "1785", placeName: "Cressier FR", cantonCode: "FR" }, + { postalCode: "1786", placeName: "Sugiez", cantonCode: "FR" }, + { postalCode: "1787", placeName: "Môtier (Vully)", cantonCode: "FR" }, + { postalCode: "1787", placeName: "Mur (Vully) FR", cantonCode: "FR" }, + { postalCode: "1788", placeName: "Praz (Vully)", cantonCode: "FR" }, + { postalCode: "1789", placeName: "Lugnorre", cantonCode: "FR" }, + { postalCode: "1791", placeName: "Courtaman", cantonCode: "FR" }, + { postalCode: "1792", placeName: "Cordast", cantonCode: "FR" }, + { postalCode: "1792", placeName: "Guschelmuth", cantonCode: "FR" }, + { postalCode: "1793", placeName: "Jeuss", cantonCode: "FR" }, + { postalCode: "1794", placeName: "Salvenach", cantonCode: "FR" }, + { postalCode: "1795", placeName: "Courlevon", cantonCode: "FR" }, + { postalCode: "1796", placeName: "Courgevaux", cantonCode: "FR" }, + { postalCode: "3206", placeName: "Wallenbuch", cantonCode: "FR" }, + { postalCode: "3210", placeName: "Kerzers", cantonCode: "FR" }, + { postalCode: "3212", placeName: "Gurmels", cantonCode: "FR" }, + { postalCode: "3212", placeName: "Kleingurmels", cantonCode: "FR" }, + { postalCode: "3213", placeName: "Kleinbösingen", cantonCode: "FR" }, + { postalCode: "3213", placeName: "Liebistorf", cantonCode: "FR" }, + { postalCode: "3214", placeName: "Ulmiz", cantonCode: "FR" }, + { postalCode: "3215", placeName: "Gempenach", cantonCode: "FR" }, + { postalCode: "3215", placeName: "Lurtigen", cantonCode: "FR" }, + { postalCode: "3215", placeName: "Büchslen", cantonCode: "FR" }, + { postalCode: "3216", placeName: "Agriswil", cantonCode: "FR" }, + { postalCode: "3216", placeName: "Ried b. Kerzers", cantonCode: "FR" }, + { postalCode: "3280", placeName: "Greng", cantonCode: "FR" }, + { postalCode: "3280", placeName: "Murten", cantonCode: "FR" }, + { postalCode: "3280", placeName: "Meyriez", cantonCode: "FR" }, + { postalCode: "3284", placeName: "Fräschels", cantonCode: "FR" }, + { postalCode: "3285", placeName: "Galmiz", cantonCode: "FR" }, + { postalCode: "3286", placeName: "Muntelier", cantonCode: "FR" }, + { postalCode: "1712", placeName: "Tafers", cantonCode: "FR" }, + { postalCode: "1713", placeName: "St. Antoni", cantonCode: "FR" }, + { postalCode: "1714", placeName: "Heitenried", cantonCode: "FR" }, + { postalCode: "1715", placeName: "Alterswil FR", cantonCode: "FR" }, + { postalCode: "1716", placeName: "Plaffeien", cantonCode: "FR" }, + { postalCode: "1716", placeName: "Oberschrot", cantonCode: "FR" }, + { postalCode: "1716", placeName: "Schwarzsee", cantonCode: "FR" }, + { postalCode: "1717", placeName: "St. Ursen", cantonCode: "FR" }, + { postalCode: "1718", placeName: "Rechthalten", cantonCode: "FR" }, + { postalCode: "1719", placeName: "Brünisried", cantonCode: "FR" }, + { postalCode: "1719", placeName: "Zumholz", cantonCode: "FR" }, + { postalCode: "1734", placeName: "Tentlingen", cantonCode: "FR" }, + { postalCode: "1735", placeName: "Giffers", cantonCode: "FR" }, + { postalCode: "1736", placeName: "St. Silvester", cantonCode: "FR" }, + { postalCode: "1737", placeName: "Plasselb", cantonCode: "FR" }, + { postalCode: "3175", placeName: "Flamatt", cantonCode: "FR" }, + { postalCode: "3178", placeName: "Bösingen", cantonCode: "FR" }, + { postalCode: "3182", placeName: "Ueberstorf", cantonCode: "FR" }, + { postalCode: "3184", placeName: "Wünnewil", cantonCode: "FR" }, + { postalCode: "3185", placeName: "Schmitten FR", cantonCode: "FR" }, + { postalCode: "3186", placeName: "Düdingen", cantonCode: "FR" }, + { postalCode: "1609", placeName: "St-Martin FR", cantonCode: "FR" }, + { postalCode: "1609", placeName: "Besencens", cantonCode: "FR" }, + { postalCode: "1609", placeName: "Fiaugères", cantonCode: "FR" }, + { postalCode: "1609", placeName: "Fiaugères", cantonCode: "FR" }, + { postalCode: "1611", placeName: "Le Crêt-près-Semsales", cantonCode: "FR" }, + { postalCode: "1614", placeName: "Granges (Veveyse)", cantonCode: "FR" }, + { postalCode: "1615", placeName: "Bossonnens", cantonCode: "FR" }, + { postalCode: "1616", placeName: "Attalens", cantonCode: "FR" }, + { postalCode: "1617", placeName: "Tatroz", cantonCode: "FR" }, + { postalCode: "1617", placeName: "Remaufens", cantonCode: "FR" }, + { postalCode: "1618", placeName: "Châtel-St-Denis", cantonCode: "FR" }, + { postalCode: "1619", placeName: "Les Paccots", cantonCode: "FR" }, + { postalCode: "1623", placeName: "Semsales", cantonCode: "FR" }, + { postalCode: "1624", placeName: "La Verrerie", cantonCode: "FR" }, + { postalCode: "1624", placeName: "Progens", cantonCode: "FR" }, + { postalCode: "1624", placeName: "Progens", cantonCode: "FR" }, + { postalCode: "1624", placeName: "Grattavache", cantonCode: "FR" }, + { postalCode: "1699", placeName: "Porsel", cantonCode: "FR" }, + { postalCode: "1699", placeName: "Pont (Veveyse)", cantonCode: "FR" }, + { postalCode: "1699", placeName: "Bouloz", cantonCode: "FR" }, + { postalCode: "1699", placeName: "Porsel", cantonCode: "FR" }, + { postalCode: "1200", placeName: "Genève", cantonCode: "GE" }, + { postalCode: "1201", placeName: "Genève", cantonCode: "GE" }, + { postalCode: "1202", placeName: "Genève", cantonCode: "GE" }, + { postalCode: "1203", placeName: "Genève", cantonCode: "GE" }, + { postalCode: "1204", placeName: "Genève", cantonCode: "GE" }, + { postalCode: "1205", placeName: "Genève", cantonCode: "GE" }, + { postalCode: "1206", placeName: "Genève", cantonCode: "GE" }, + { postalCode: "1207", placeName: "Genève", cantonCode: "GE" }, + { postalCode: "1208", placeName: "Genève", cantonCode: "GE" }, + { postalCode: "1209", placeName: "Genève", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 70", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 84 Votations", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 14", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 20", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 5", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 22", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 28", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 27", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 1", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 11", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 26", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 23", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 71 CS CP", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 80", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 73", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 84 Votation", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 4", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 6", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 2", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 19", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 12", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 13", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 10", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 3", cantonCode: "GE" }, + { postalCode: "1211", placeName: "Genève 8", cantonCode: "GE" }, + { postalCode: "1212", placeName: "Grand-Lancy", cantonCode: "GE" }, + { postalCode: "1212", placeName: "Grand-Lancy 1", cantonCode: "GE" }, + { postalCode: "1213", placeName: "Onex", cantonCode: "GE" }, + { postalCode: "1213", placeName: "Petit-Lancy 1", cantonCode: "GE" }, + { postalCode: "1213", placeName: "Petit-Lancy", cantonCode: "GE" }, + { postalCode: "1214", placeName: "Vernier", cantonCode: "GE" }, + { postalCode: "1215", placeName: "Genève 15 Aéroport", cantonCode: "GE" }, + { postalCode: "1215", placeName: "Genève", cantonCode: "GE" }, + { postalCode: "1216", placeName: "Cointrin", cantonCode: "GE" }, + { postalCode: "1217", placeName: "Meyrin", cantonCode: "GE" }, + { postalCode: "1217", placeName: "Meyrin 1", cantonCode: "GE" }, + { postalCode: "1218", placeName: "Le Grand-Saconnex", cantonCode: "GE" }, + { postalCode: "1219", placeName: "Aïre", cantonCode: "GE" }, + { postalCode: "1219", placeName: "Le Lignon", cantonCode: "GE" }, + { postalCode: "1219", placeName: "Châtelaine", cantonCode: "GE" }, + { postalCode: "1220", placeName: "Les Avanchets", cantonCode: "GE" }, + { postalCode: "1222", placeName: "Vésenaz", cantonCode: "GE" }, + { postalCode: "1223", placeName: "Cologny", cantonCode: "GE" }, + { postalCode: "1224", placeName: "Chêne-Bougeries", cantonCode: "GE" }, + { postalCode: "1225", placeName: "Chêne-Bourg", cantonCode: "GE" }, + { postalCode: "1226", placeName: "Thônex", cantonCode: "GE" }, + { postalCode: "1227", placeName: "Les Acacias", cantonCode: "GE" }, + { postalCode: "1227", placeName: "Carouge GE", cantonCode: "GE" }, + { postalCode: "1228", placeName: "Plan-les-Ouates", cantonCode: "GE" }, + { postalCode: "1231", placeName: "Conches", cantonCode: "GE" }, + { postalCode: "1232", placeName: "Confignon", cantonCode: "GE" }, + { postalCode: "1233", placeName: "Bernex", cantonCode: "GE" }, + { postalCode: "1234", placeName: "Vessy", cantonCode: "GE" }, + { postalCode: "1236", placeName: "Cartigny", cantonCode: "GE" }, + { postalCode: "1237", placeName: "Avully", cantonCode: "GE" }, + { postalCode: "1239", placeName: "Collex", cantonCode: "GE" }, + { postalCode: "1240", placeName: "Genève", cantonCode: "GE" }, + { postalCode: "1241", placeName: "Puplinge", cantonCode: "GE" }, + { postalCode: "1242", placeName: "Satigny", cantonCode: "GE" }, + { postalCode: "1243", placeName: "Presinge", cantonCode: "GE" }, + { postalCode: "1244", placeName: "Choulex", cantonCode: "GE" }, + { postalCode: "1245", placeName: "Collonge-Bellerive", cantonCode: "GE" }, + { postalCode: "1246", placeName: "Corsier GE", cantonCode: "GE" }, + { postalCode: "1247", placeName: "Anières", cantonCode: "GE" }, + { postalCode: "1248", placeName: "Hermance", cantonCode: "GE" }, + { postalCode: "1251", placeName: "Gy", cantonCode: "GE" }, + { postalCode: "1252", placeName: "Meinier", cantonCode: "GE" }, + { postalCode: "1253", placeName: "Vandoeuvres", cantonCode: "GE" }, + { postalCode: "1254", placeName: "Jussy", cantonCode: "GE" }, + { postalCode: "1255", placeName: "Veyrier", cantonCode: "GE" }, + { postalCode: "1256", placeName: "Troinex", cantonCode: "GE" }, + { postalCode: "1257", placeName: "La Croix-de-Rozon", cantonCode: "GE" }, + { postalCode: "1258", placeName: "Perly", cantonCode: "GE" }, + { postalCode: "1281", placeName: "Russin", cantonCode: "GE" }, + { postalCode: "1283", placeName: "Dardagny", cantonCode: "GE" }, + { postalCode: "1283", placeName: "La Plaine", cantonCode: "GE" }, + { postalCode: "1284", placeName: "Chancy", cantonCode: "GE" }, + { postalCode: "1285", placeName: "Athenaz (Avusy)", cantonCode: "GE" }, + { postalCode: "1286", placeName: "Soral", cantonCode: "GE" }, + { postalCode: "1287", placeName: "Laconnex", cantonCode: "GE" }, + { postalCode: "1288", placeName: "Aire-la-Ville", cantonCode: "GE" }, + { postalCode: "1290", placeName: "Versoix", cantonCode: "GE" }, + { postalCode: "1292", placeName: "Chambésy", cantonCode: "GE" }, + { postalCode: "1293", placeName: "Bellevue", cantonCode: "GE" }, + { postalCode: "1294", placeName: "Genthod", cantonCode: "GE" }, + { postalCode: "1298", placeName: "Céligny", cantonCode: "GE" }, + { postalCode: "8750", placeName: "Klöntal", cantonCode: "GL" }, + { postalCode: "8750", placeName: "Glarus", cantonCode: "GL" }, + { postalCode: "8750", placeName: "Riedern", cantonCode: "GL" }, + { postalCode: "8752", placeName: "Näfels", cantonCode: "GL" }, + { postalCode: "8753", placeName: "Mollis", cantonCode: "GL" }, + { postalCode: "8754", placeName: "Netstal", cantonCode: "GL" }, + { postalCode: "8755", placeName: "Ennenda", cantonCode: "GL" }, + { postalCode: "8756", placeName: "Mitlödi", cantonCode: "GL" }, + { postalCode: "8757", placeName: "Filzbach", cantonCode: "GL" }, + { postalCode: "8758", placeName: "Obstalden", cantonCode: "GL" }, + { postalCode: "8759", placeName: "Netstal", cantonCode: "GL" }, + { postalCode: "8762", placeName: "Sool", cantonCode: "GL" }, + { postalCode: "8762", placeName: "Schwanden GL", cantonCode: "GL" }, + { postalCode: "8762", placeName: "Schwändi b. Schwanden", cantonCode: "GL" }, + { postalCode: "8765", placeName: "Engi", cantonCode: "GL" }, + { postalCode: "8766", placeName: "Matt", cantonCode: "GL" }, + { postalCode: "8767", placeName: "Elm", cantonCode: "GL" }, + { postalCode: "8772", placeName: "Nidfurn", cantonCode: "GL" }, + { postalCode: "8773", placeName: "Haslen GL", cantonCode: "GL" }, + { postalCode: "8774", placeName: "Leuggelbach", cantonCode: "GL" }, + { postalCode: "8775", placeName: "Luchsingen", cantonCode: "GL" }, + { postalCode: "8775", placeName: "Luchsingen-Hätzingen", cantonCode: "GL" }, + { postalCode: "8775", placeName: "Hätzingen", cantonCode: "GL" }, + { postalCode: "8777", placeName: "Betschwanden", cantonCode: "GL" }, + { postalCode: "8777", placeName: "Diesbach GL", cantonCode: "GL" }, + { postalCode: "8782", placeName: "Rüti GL", cantonCode: "GL" }, + { postalCode: "8783", placeName: "Linthal", cantonCode: "GL" }, + { postalCode: "8784", placeName: "Braunwald", cantonCode: "GL" }, + { postalCode: "8865", placeName: "Bilten", cantonCode: "GL" }, + { postalCode: "8867", placeName: "Niederurnen", cantonCode: "GL" }, + { postalCode: "8868", placeName: "Oberurnen", cantonCode: "GL" }, + { postalCode: "8874", placeName: "Mühlehorn", cantonCode: "GL" }, + { postalCode: "7077", placeName: "Valbella", cantonCode: "GR" }, + { postalCode: "7078", placeName: "Lenzerheide/Lai", cantonCode: "GR" }, + { postalCode: "7082", placeName: "Vaz/Obervaz", cantonCode: "GR" }, + { postalCode: "7083", placeName: "Lantsch/Lenz", cantonCode: "GR" }, + { postalCode: "7084", placeName: "Brienz/Brinzauls GR", cantonCode: "GR" }, + { postalCode: "7450", placeName: "Tiefencastel", cantonCode: "GR" }, + { postalCode: "7450", placeName: "Tiefencastel", cantonCode: "GR" }, + { postalCode: "7451", placeName: "Alvaschein", cantonCode: "GR" }, + { postalCode: "7452", placeName: "Cunter", cantonCode: "GR" }, + { postalCode: "7453", placeName: "Tinizong", cantonCode: "GR" }, + { postalCode: "7454", placeName: "Rona", cantonCode: "GR" }, + { postalCode: "7455", placeName: "Mulegns", cantonCode: "GR" }, + { postalCode: "7456", placeName: "Marmorera", cantonCode: "GR" }, + { postalCode: "7456", placeName: "Sur", cantonCode: "GR" }, + { postalCode: "7457", placeName: "Bivio", cantonCode: "GR" }, + { postalCode: "7458", placeName: "Mon", cantonCode: "GR" }, + { postalCode: "7459", placeName: "Stierva", cantonCode: "GR" }, + { postalCode: "7460", placeName: "Savognin", cantonCode: "GR" }, + { postalCode: "7462", placeName: "Salouf", cantonCode: "GR" }, + { postalCode: "7463", placeName: "Riom", cantonCode: "GR" }, + { postalCode: "7463", placeName: "Riom", cantonCode: "GR" }, + { postalCode: "7464", placeName: "Parsonz", cantonCode: "GR" }, + { postalCode: "7472", placeName: "Surava", cantonCode: "GR" }, + { postalCode: "7473", placeName: "Alvaneu Bad", cantonCode: "GR" }, + { postalCode: "7477", placeName: "Filisur", cantonCode: "GR" }, + { postalCode: "7482", placeName: "Stugl/Stuls", cantonCode: "GR" }, + { postalCode: "7482", placeName: "Bergün/Bravuogn", cantonCode: "GR" }, + { postalCode: "7482", placeName: "Preda", cantonCode: "GR" }, + { postalCode: "7484", placeName: "Latsch", cantonCode: "GR" }, + { postalCode: "7492", placeName: "Alvaneu Dorf", cantonCode: "GR" }, + { postalCode: "7493", placeName: "Schmitten (Albula)", cantonCode: "GR" }, + { postalCode: "7710", placeName: "Alp Grüm", cantonCode: "GR" }, + { postalCode: "7710", placeName: "Ospizio Bernina", cantonCode: "GR" }, + { postalCode: "7741", placeName: "S. Carlo (Poschiavo)", cantonCode: "GR" }, + { postalCode: "7742", placeName: "Sfazù", cantonCode: "GR" }, + { postalCode: "7742", placeName: "Poschiavo", cantonCode: "GR" }, + { postalCode: "7742", placeName: "La Rösa", cantonCode: "GR" }, + { postalCode: "7743", placeName: "Brusio", cantonCode: "GR" }, + { postalCode: "7743", placeName: "Miralago", cantonCode: "GR" }, + { postalCode: "7744", placeName: "Campocologno", cantonCode: "GR" }, + { postalCode: "7745", placeName: "Li Curt", cantonCode: "GR" }, + { postalCode: "7746", placeName: "Le Prese", cantonCode: "GR" }, + { postalCode: "7747", placeName: "Viano", cantonCode: "GR" }, + { postalCode: "7748", placeName: "Campascio", cantonCode: "GR" }, + { postalCode: "7527", placeName: "Brail", cantonCode: "GR" }, + { postalCode: "7530", placeName: "Zernez", cantonCode: "GR" }, + { postalCode: "7532", placeName: "Tschierv", cantonCode: "GR" }, + { postalCode: "7533", placeName: "Fuldera", cantonCode: "GR" }, + { postalCode: "7534", placeName: "Lü", cantonCode: "GR" }, + { postalCode: "7535", placeName: "Valchava", cantonCode: "GR" }, + { postalCode: "7536", placeName: "Sta. Maria Val Müstair", cantonCode: "GR" }, + { postalCode: "7537", placeName: "Müstair", cantonCode: "GR" }, + { postalCode: "7542", placeName: "Susch", cantonCode: "GR" }, + { postalCode: "7543", placeName: "Lavin", cantonCode: "GR" }, + { postalCode: "7545", placeName: "Guarda", cantonCode: "GR" }, + { postalCode: "7546", placeName: "Ardez", cantonCode: "GR" }, + { postalCode: "7550", placeName: "Scuol", cantonCode: "GR" }, + { postalCode: "7551", placeName: "Ftan", cantonCode: "GR" }, + { postalCode: "7552", placeName: "Vulpera", cantonCode: "GR" }, + { postalCode: "7553", placeName: "Tarasp", cantonCode: "GR" }, + { postalCode: "7554", placeName: "Sent", cantonCode: "GR" }, + { postalCode: "7554", placeName: "Crusch", cantonCode: "GR" }, + { postalCode: "7556", placeName: "Ramosch", cantonCode: "GR" }, + { postalCode: "7556", placeName: "Ramosch", cantonCode: "GR" }, + { postalCode: "7557", placeName: "Vnà", cantonCode: "GR" }, + { postalCode: "7558", placeName: "Strada", cantonCode: "GR" }, + { postalCode: "7559", placeName: "Tschlin", cantonCode: "GR" }, + { postalCode: "7560", placeName: "Martina", cantonCode: "GR" }, + { postalCode: "7562", placeName: "Samnaun-Compatsch", cantonCode: "GR" }, + { postalCode: "7563", placeName: "Samnaun Dorf", cantonCode: "GR" }, + { postalCode: "7012", placeName: "Felsberg", cantonCode: "GR" }, + { postalCode: "7013", placeName: "Domat/Ems", cantonCode: "GR" }, + { postalCode: "7014", placeName: "Trin", cantonCode: "GR" }, + { postalCode: "7015", placeName: "Tamins", cantonCode: "GR" }, + { postalCode: "7016", placeName: "Trin Mulin", cantonCode: "GR" }, + { postalCode: "7017", placeName: "Flims Dorf", cantonCode: "GR" }, + { postalCode: "7018", placeName: "Flims Waldhaus", cantonCode: "GR" }, + { postalCode: "7019", placeName: "Fidaz", cantonCode: "GR" }, + { postalCode: "7402", placeName: "Bonaduz", cantonCode: "GR" }, + { postalCode: "7403", placeName: "Rhäzüns", cantonCode: "GR" }, + { postalCode: "7202", placeName: "Says", cantonCode: "GR" }, + { postalCode: "7203", placeName: "Trimmis", cantonCode: "GR" }, + { postalCode: "7204", placeName: "Untervaz", cantonCode: "GR" }, + { postalCode: "7205", placeName: "Zizers", cantonCode: "GR" }, + { postalCode: "7206", placeName: "Igis", cantonCode: "GR" }, + { postalCode: "7208", placeName: "Malans GR", cantonCode: "GR" }, + { postalCode: "7302", placeName: "Landquart", cantonCode: "GR" }, + { postalCode: "7303", placeName: "Mastrils", cantonCode: "GR" }, + { postalCode: "7304", placeName: "Maienfeld", cantonCode: "GR" }, + { postalCode: "7306", placeName: "Fläsch", cantonCode: "GR" }, + { postalCode: "7307", placeName: "Jenins", cantonCode: "GR" }, + { postalCode: "7500", placeName: "St. Moritz", cantonCode: "GR" }, + { postalCode: "7500", placeName: "St. Moritz 3", cantonCode: "GR" }, + { postalCode: "7500", placeName: "St. Moritz 1", cantonCode: "GR" }, + { postalCode: "7502", placeName: "Bever", cantonCode: "GR" }, + { postalCode: "7502", placeName: "Bever", cantonCode: "GR" }, + { postalCode: "7503", placeName: "Samedan", cantonCode: "GR" }, + { postalCode: "7504", placeName: "Pontresina", cantonCode: "GR" }, + { postalCode: "7505", placeName: "Celerina/Schlarigna", cantonCode: "GR" }, + { postalCode: "7512", placeName: "Champfèr", cantonCode: "GR" }, + { postalCode: "7513", placeName: "Silvaplana-Surlej", cantonCode: "GR" }, + { postalCode: "7513", placeName: "Silvaplana", cantonCode: "GR" }, + { postalCode: "7514", placeName: "Sils/Segl Maria", cantonCode: "GR" }, + { postalCode: "7514", placeName: "Fex", cantonCode: "GR" }, + { postalCode: "7515", placeName: "Sils/Segl Baselgia", cantonCode: "GR" }, + { postalCode: "7516", placeName: "Maloja", cantonCode: "GR" }, + { postalCode: "7517", placeName: "Plaun da Lej", cantonCode: "GR" }, + { postalCode: "7522", placeName: "La Punt Chamues-ch", cantonCode: "GR" }, + { postalCode: "7522", placeName: "La Punt-Chamues-ch", cantonCode: "GR" }, + { postalCode: "7523", placeName: "Madulain", cantonCode: "GR" }, + { postalCode: "7523", placeName: "Madulain", cantonCode: "GR" }, + { postalCode: "7524", placeName: "Zuoz", cantonCode: "GR" }, + { postalCode: "7524", placeName: "Zuoz", cantonCode: "GR" }, + { postalCode: "7525", placeName: "S-chanf", cantonCode: "GR" }, + { postalCode: "7526", placeName: "Cinuos-chel", cantonCode: "GR" }, + { postalCode: "7526", placeName: "Chapella", cantonCode: "GR" }, + { postalCode: "7602", placeName: "Casaccia", cantonCode: "GR" }, + { postalCode: "7603", placeName: "Vicosoprano", cantonCode: "GR" }, + { postalCode: "7604", placeName: "Borgonovo", cantonCode: "GR" }, + { postalCode: "7605", placeName: "Stampa", cantonCode: "GR" }, + { postalCode: "7606", placeName: "Promontogno", cantonCode: "GR" }, + { postalCode: "7606", placeName: "Bondo", cantonCode: "GR" }, + { postalCode: "7608", placeName: "Castasegna", cantonCode: "GR" }, + { postalCode: "7610", placeName: "Soglio", cantonCode: "GR" }, + { postalCode: "6534", placeName: "S. Vittore", cantonCode: "GR" }, + { postalCode: "6534", placeName: "S. Vittore", cantonCode: "GR" }, + { postalCode: "6535", placeName: "Roveredo GR", cantonCode: "GR" }, + { postalCode: "6537", placeName: "Grono", cantonCode: "GR" }, + { postalCode: "6538", placeName: "Verdabbio", cantonCode: "GR" }, + { postalCode: "6538", placeName: "Verdabbio", cantonCode: "GR" }, + { postalCode: "6540", placeName: "Castaneda", cantonCode: "GR" }, + { postalCode: "6541", placeName: "Sta. Maria in Calanca", cantonCode: "GR" }, + { postalCode: "6542", placeName: "Buseno", cantonCode: "GR" }, + { postalCode: "6543", placeName: "Arvigo", cantonCode: "GR" }, + { postalCode: "6544", placeName: "Braggio", cantonCode: "GR" }, + { postalCode: "6545", placeName: "Selma", cantonCode: "GR" }, + { postalCode: "6546", placeName: "Cauco", cantonCode: "GR" }, + { postalCode: "6548", placeName: "Rossa", cantonCode: "GR" }, + { postalCode: "6549", placeName: "Laura", cantonCode: "GR" }, + { postalCode: "6556", placeName: "Leggia", cantonCode: "GR" }, + { postalCode: "6557", placeName: "Cama", cantonCode: "GR" }, + { postalCode: "6558", placeName: "Lostallo", cantonCode: "GR" }, + { postalCode: "6562", placeName: "Soazza", cantonCode: "GR" }, + { postalCode: "6563", placeName: "Mesocco", cantonCode: "GR" }, + { postalCode: "6565", placeName: "S. Bernardino", cantonCode: "GR" }, + { postalCode: "7000", placeName: "Chur", cantonCode: "GR" }, + { postalCode: "7001", placeName: "Chur", cantonCode: "GR" }, + { postalCode: "7004", placeName: "Chur", cantonCode: "GR" }, + { postalCode: "7006", placeName: "Chur", cantonCode: "GR" }, + { postalCode: "7007", placeName: "Chur", cantonCode: "GR" }, + { postalCode: "7023", placeName: "Haldenstein", cantonCode: "GR" }, + { postalCode: "7026", placeName: "Maladers", cantonCode: "GR" }, + { postalCode: "7027", placeName: "Lüen", cantonCode: "GR" }, + { postalCode: "7027", placeName: "Castiel", cantonCode: "GR" }, + { postalCode: "7027", placeName: "Calfreisen", cantonCode: "GR" }, + { postalCode: "7028", placeName: "St. Peter", cantonCode: "GR" }, + { postalCode: "7028", placeName: "Pagig", cantonCode: "GR" }, + { postalCode: "7029", placeName: "Peist", cantonCode: "GR" }, + { postalCode: "7050", placeName: "Arosa", cantonCode: "GR" }, + { postalCode: "7056", placeName: "Molinis", cantonCode: "GR" }, + { postalCode: "7057", placeName: "Langwies", cantonCode: "GR" }, + { postalCode: "7058", placeName: "Litzirüti", cantonCode: "GR" }, + { postalCode: "7062", placeName: "Passugg", cantonCode: "GR" }, + { postalCode: "7063", placeName: "Praden", cantonCode: "GR" }, + { postalCode: "7064", placeName: "Tschiertschen", cantonCode: "GR" }, + { postalCode: "7074", placeName: "Malix", cantonCode: "GR" }, + { postalCode: "7075", placeName: "Churwalden", cantonCode: "GR" }, + { postalCode: "7076", placeName: "Parpan", cantonCode: "GR" }, + { postalCode: "7212", placeName: "Seewis Dorf", cantonCode: "GR" }, + { postalCode: "7212", placeName: "Seewis-Pardisla", cantonCode: "GR" }, + { postalCode: "7212", placeName: "Seewis-Schmitten", cantonCode: "GR" }, + { postalCode: "7213", placeName: "Valzeina", cantonCode: "GR" }, + { postalCode: "7214", placeName: "Grüsch", cantonCode: "GR" }, + { postalCode: "7215", placeName: "Fanas", cantonCode: "GR" }, + { postalCode: "7220", placeName: "Schiers", cantonCode: "GR" }, + { postalCode: "7220", placeName: "Schiers", cantonCode: "GR" }, + { postalCode: "7222", placeName: "Lunden", cantonCode: "GR" }, + { postalCode: "7223", placeName: "Buchen im Prättigau", cantonCode: "GR" }, + { postalCode: "7224", placeName: "Putz", cantonCode: "GR" }, + { postalCode: "7226", placeName: "Fajauna", cantonCode: "GR" }, + { postalCode: "7226", placeName: "Stels", cantonCode: "GR" }, + { postalCode: "7226", placeName: "Stels", cantonCode: "GR" }, + { postalCode: "7228", placeName: "Pusserein", cantonCode: "GR" }, + { postalCode: "7228", placeName: "Schuders", cantonCode: "GR" }, + { postalCode: "7231", placeName: "Pragg-Jenaz", cantonCode: "GR" }, + { postalCode: "7232", placeName: "Furna", cantonCode: "GR" }, + { postalCode: "7233", placeName: "Jenaz", cantonCode: "GR" }, + { postalCode: "7235", placeName: "Fideris", cantonCode: "GR" }, + { postalCode: "7240", placeName: "Küblis", cantonCode: "GR" }, + { postalCode: "7241", placeName: "Conters im Prättigau", cantonCode: "GR" }, + { postalCode: "7242", placeName: "Luzein", cantonCode: "GR" }, + { postalCode: "7243", placeName: "Pany", cantonCode: "GR" }, + { postalCode: "7244", placeName: "Gadenstätt", cantonCode: "GR" }, + { postalCode: "7245", placeName: "Ascharina", cantonCode: "GR" }, + { postalCode: "7246", placeName: "St. Antönien", cantonCode: "GR" }, + { postalCode: "7247", placeName: "Saas im Prättigau", cantonCode: "GR" }, + { postalCode: "7249", placeName: "Serneus", cantonCode: "GR" }, + { postalCode: "7250", placeName: "Klosters", cantonCode: "GR" }, + { postalCode: "7252", placeName: "Klosters Dorf", cantonCode: "GR" }, + { postalCode: "7260", placeName: "Davos Dorf", cantonCode: "GR" }, + { postalCode: "7265", placeName: "Davos Wolfgang", cantonCode: "GR" }, + { postalCode: "7270", placeName: "Davos Platz", cantonCode: "GR" }, + { postalCode: "7270", placeName: "Davos Platz 1", cantonCode: "GR" }, + { postalCode: "7272", placeName: "Davos Clavadel", cantonCode: "GR" }, + { postalCode: "7276", placeName: "Davos Frauenkirch", cantonCode: "GR" }, + { postalCode: "7277", placeName: "Davos Glaris", cantonCode: "GR" }, + { postalCode: "7278", placeName: "Davos Monstein", cantonCode: "GR" }, + { postalCode: "7494", placeName: "Davos Wiesen", cantonCode: "GR" }, + { postalCode: "7031", placeName: "Laax GR", cantonCode: "GR" }, + { postalCode: "7032", placeName: "Laax GR 2", cantonCode: "GR" }, + { postalCode: "7104", placeName: "Arezen", cantonCode: "GR" }, + { postalCode: "7104", placeName: "Versam", cantonCode: "GR" }, + { postalCode: "7104", placeName: "Versam", cantonCode: "GR" }, + { postalCode: "7106", placeName: "Tenna", cantonCode: "GR" }, + { postalCode: "7107", placeName: "Safien Platz", cantonCode: "GR" }, + { postalCode: "7109", placeName: "Thalkirch", cantonCode: "GR" }, + { postalCode: "7110", placeName: "Peiden", cantonCode: "GR" }, + { postalCode: "7111", placeName: "Pitasch", cantonCode: "GR" }, + { postalCode: "7112", placeName: "Duvin", cantonCode: "GR" }, + { postalCode: "7113", placeName: "Camuns", cantonCode: "GR" }, + { postalCode: "7114", placeName: "Uors (Lumnezia)", cantonCode: "GR" }, + { postalCode: "7115", placeName: "Surcasti", cantonCode: "GR" }, + { postalCode: "7116", placeName: "St. Martin (Lugnez)", cantonCode: "GR" }, + { postalCode: "7116", placeName: "Tersnaus", cantonCode: "GR" }, + { postalCode: "7122", placeName: "Valendas", cantonCode: "GR" }, + { postalCode: "7122", placeName: "Carrera", cantonCode: "GR" }, + { postalCode: "7126", placeName: "Castrisch", cantonCode: "GR" }, + { postalCode: "7127", placeName: "Sevgein", cantonCode: "GR" }, + { postalCode: "7128", placeName: "Riein", cantonCode: "GR" }, + { postalCode: "7130", placeName: "Schnaus", cantonCode: "GR" }, + { postalCode: "7130", placeName: "Ilanz", cantonCode: "GR" }, + { postalCode: "7130", placeName: "Schnaus", cantonCode: "GR" }, + { postalCode: "7132", placeName: "Vals", cantonCode: "GR" }, + { postalCode: "7134", placeName: "Obersaxen", cantonCode: "GR" }, + { postalCode: "7137", placeName: "Flond", cantonCode: "GR" }, + { postalCode: "7138", placeName: "Surcuolm", cantonCode: "GR" }, + { postalCode: "7141", placeName: "Luven", cantonCode: "GR" }, + { postalCode: "7142", placeName: "Cumbel", cantonCode: "GR" }, + { postalCode: "7143", placeName: "Morissen", cantonCode: "GR" }, + { postalCode: "7144", placeName: "Vella", cantonCode: "GR" }, + { postalCode: "7145", placeName: "Degen", cantonCode: "GR" }, + { postalCode: "7146", placeName: "Vattiz", cantonCode: "GR" }, + { postalCode: "7147", placeName: "Vignogn", cantonCode: "GR" }, + { postalCode: "7148", placeName: "Lumbrein", cantonCode: "GR" }, + { postalCode: "7149", placeName: "Vrin", cantonCode: "GR" }, + { postalCode: "7151", placeName: "Schluein", cantonCode: "GR" }, + { postalCode: "7152", placeName: "Sagogn", cantonCode: "GR" }, + { postalCode: "7153", placeName: "Falera", cantonCode: "GR" }, + { postalCode: "7154", placeName: "Ruschein", cantonCode: "GR" }, + { postalCode: "7155", placeName: "Ladir", cantonCode: "GR" }, + { postalCode: "7155", placeName: "Ladir", cantonCode: "GR" }, + { postalCode: "7156", placeName: "Pigniu", cantonCode: "GR" }, + { postalCode: "7156", placeName: "Rueun", cantonCode: "GR" }, + { postalCode: "7157", placeName: "Siat", cantonCode: "GR" }, + { postalCode: "7158", placeName: "Waltensburg/Vuorz", cantonCode: "GR" }, + { postalCode: "7159", placeName: "Andiast", cantonCode: "GR" }, + { postalCode: "7162", placeName: "Tavanasa", cantonCode: "GR" }, + { postalCode: "7163", placeName: "Danis", cantonCode: "GR" }, + { postalCode: "7164", placeName: "Dardin", cantonCode: "GR" }, + { postalCode: "7165", placeName: "Breil/Brigels", cantonCode: "GR" }, + { postalCode: "7166", placeName: "Trun", cantonCode: "GR" }, + { postalCode: "7167", placeName: "Zignau", cantonCode: "GR" }, + { postalCode: "7168", placeName: "Schlans", cantonCode: "GR" }, + { postalCode: "7172", placeName: "Rabius", cantonCode: "GR" }, + { postalCode: "7173", placeName: "Surrein", cantonCode: "GR" }, + { postalCode: "7174", placeName: "S. Benedetg", cantonCode: "GR" }, + { postalCode: "7175", placeName: "Sumvitg", cantonCode: "GR" }, + { postalCode: "7176", placeName: "Cumpadials", cantonCode: "GR" }, + { postalCode: "7180", placeName: "Disentis/Mustér", cantonCode: "GR" }, + { postalCode: "7182", placeName: "Cavardiras", cantonCode: "GR" }, + { postalCode: "7183", placeName: "Mumpé Medel", cantonCode: "GR" }, + { postalCode: "7184", placeName: "Curaglia", cantonCode: "GR" }, + { postalCode: "7185", placeName: "Platta", cantonCode: "GR" }, + { postalCode: "7186", placeName: "Segnas", cantonCode: "GR" }, + { postalCode: "7187", placeName: "Camischolas", cantonCode: "GR" }, + { postalCode: "7188", placeName: "Sedrun", cantonCode: "GR" }, + { postalCode: "7189", placeName: "Rueras", cantonCode: "GR" }, + { postalCode: "7404", placeName: "Feldis/Veulden", cantonCode: "GR" }, + { postalCode: "7405", placeName: "Rothenbrunnen", cantonCode: "GR" }, + { postalCode: "7407", placeName: "Trans", cantonCode: "GR" }, + { postalCode: "7408", placeName: "Realta", cantonCode: "GR" }, + { postalCode: "7408", placeName: "Cazis", cantonCode: "GR" }, + { postalCode: "7411", placeName: "Sils im Domleschg", cantonCode: "GR" }, + { postalCode: "7412", placeName: "Scharans", cantonCode: "GR" }, + { postalCode: "7413", placeName: "Fürstenaubruck", cantonCode: "GR" }, + { postalCode: "7414", placeName: "Fürstenau", cantonCode: "GR" }, + { postalCode: "7415", placeName: "Rodels", cantonCode: "GR" }, + { postalCode: "7415", placeName: "Pratval", cantonCode: "GR" }, + { postalCode: "7416", placeName: "Almens", cantonCode: "GR" }, + { postalCode: "7417", placeName: "Paspels", cantonCode: "GR" }, + { postalCode: "7418", placeName: "Tumegl/Tomils", cantonCode: "GR" }, + { postalCode: "7419", placeName: "Scheid", cantonCode: "GR" }, + { postalCode: "7421", placeName: "Summaprada", cantonCode: "GR" }, + { postalCode: "7422", placeName: "Tartar", cantonCode: "GR" }, + { postalCode: "7423", placeName: "Portein", cantonCode: "GR" }, + { postalCode: "7423", placeName: "Sarn", cantonCode: "GR" }, + { postalCode: "7424", placeName: "Präz", cantonCode: "GR" }, + { postalCode: "7424", placeName: "Dalin", cantonCode: "GR" }, + { postalCode: "7425", placeName: "Masein", cantonCode: "GR" }, + { postalCode: "7426", placeName: "Flerden", cantonCode: "GR" }, + { postalCode: "7426", placeName: "Flerden", cantonCode: "GR" }, + { postalCode: "7427", placeName: "Urmein", cantonCode: "GR" }, + { postalCode: "7428", placeName: "Tschappina", cantonCode: "GR" }, + { postalCode: "7428", placeName: "Glaspass", cantonCode: "GR" }, + { postalCode: "7430", placeName: "Thusis", cantonCode: "GR" }, + { postalCode: "7430", placeName: "Rongellen", cantonCode: "GR" }, + { postalCode: "7431", placeName: "Obermutten", cantonCode: "GR" }, + { postalCode: "7431", placeName: "Mutten", cantonCode: "GR" }, + { postalCode: "7432", placeName: "Zillis", cantonCode: "GR" }, + { postalCode: "7433", placeName: "Wergenstein", cantonCode: "GR" }, + { postalCode: "7433", placeName: "Farden", cantonCode: "GR" }, + { postalCode: "7433", placeName: "Lohn GR", cantonCode: "GR" }, + { postalCode: "7433", placeName: "Donat", cantonCode: "GR" }, + { postalCode: "7433", placeName: "Mathon", cantonCode: "GR" }, + { postalCode: "7434", placeName: "Sufers", cantonCode: "GR" }, + { postalCode: "7435", placeName: "Splügen", cantonCode: "GR" }, + { postalCode: "7436", placeName: "Medels im Rheinwald", cantonCode: "GR" }, + { postalCode: "7437", placeName: "Nufenen", cantonCode: "GR" }, + { postalCode: "7438", placeName: "Hinterrhein", cantonCode: "GR" }, + { postalCode: "7440", placeName: "Andeer", cantonCode: "GR" }, + { postalCode: "7442", placeName: "Clugin", cantonCode: "GR" }, + { postalCode: "7443", placeName: "Pignia", cantonCode: "GR" }, + { postalCode: "7444", placeName: "Ausserferrera", cantonCode: "GR" }, + { postalCode: "7445", placeName: "Innerferrera", cantonCode: "GR" }, + { postalCode: "7445", placeName: "Innerferrera", cantonCode: "GR" }, + { postalCode: "7446", placeName: "Campsut-Cröt", cantonCode: "GR" }, + { postalCode: "7447", placeName: "Am Bach (Avers)", cantonCode: "GR" }, + { postalCode: "7447", placeName: "Cresta (Avers)", cantonCode: "GR" }, + { postalCode: "7448", placeName: "Juf", cantonCode: "GR" }, + { postalCode: "2800", placeName: "Delémont 2", cantonCode: "JU" }, + { postalCode: "2800", placeName: "Delémont", cantonCode: "JU" }, + { postalCode: "2800", placeName: "Delémont 1", cantonCode: "JU" }, + { postalCode: "2802", placeName: "Develier", cantonCode: "JU" }, + { postalCode: "2803", placeName: "Bourrignon", cantonCode: "JU" }, + { postalCode: "2805", placeName: "Soyhières", cantonCode: "JU" }, + { postalCode: "2806", placeName: "Mettembert", cantonCode: "JU" }, + { postalCode: "2807", placeName: "Pleigne", cantonCode: "JU" }, + { postalCode: "2807", placeName: "Lucelle", cantonCode: "JU" }, + { postalCode: "2812", placeName: "Movelier", cantonCode: "JU" }, + { postalCode: "2813", placeName: "Ederswiler", cantonCode: "JU" }, + { postalCode: "2822", placeName: "Courroux", cantonCode: "JU" }, + { postalCode: "2823", placeName: "Courcelon", cantonCode: "JU" }, + { postalCode: "2824", placeName: "Vicques", cantonCode: "JU" }, + { postalCode: "2825", placeName: "Courchapoix", cantonCode: "JU" }, + { postalCode: "2826", placeName: "Corban", cantonCode: "JU" }, + { postalCode: "2827", placeName: "Mervelier", cantonCode: "JU" }, + { postalCode: "2828", placeName: "Montsevelier", cantonCode: "JU" }, + { postalCode: "2829", placeName: "Vermes", cantonCode: "JU" }, + { postalCode: "2830", placeName: "Vellerat", cantonCode: "JU" }, + { postalCode: "2830", placeName: "Courrendlin", cantonCode: "JU" }, + { postalCode: "2832", placeName: "Rebeuvelier", cantonCode: "JU" }, + { postalCode: "2842", placeName: "Rossemaison", cantonCode: "JU" }, + { postalCode: "2843", placeName: "Châtillon JU", cantonCode: "JU" }, + { postalCode: "2852", placeName: "Courtételle", cantonCode: "JU" }, + { postalCode: "2853", placeName: "Courfaivre", cantonCode: "JU" }, + { postalCode: "2854", placeName: "Bassecourt", cantonCode: "JU" }, + { postalCode: "2855", placeName: "Glovelier", cantonCode: "JU" }, + { postalCode: "2856", placeName: "Boécourt", cantonCode: "JU" }, + { postalCode: "2857", placeName: "Montavon", cantonCode: "JU" }, + { postalCode: "2863", placeName: "Undervelier", cantonCode: "JU" }, + { postalCode: "2864", placeName: "Soulce", cantonCode: "JU" }, + { postalCode: "2873", placeName: "Saulcy", cantonCode: "JU" }, + { postalCode: "2336", placeName: "Les Bois", cantonCode: "JU" }, + { postalCode: "2338", placeName: "Muriaux", cantonCode: "JU" }, + { postalCode: "2338", placeName: "Les Emibois", cantonCode: "JU" }, + { postalCode: "2340", placeName: "Le Noirmont", cantonCode: "JU" }, + { postalCode: "2345", placeName: "Les Breuleux", cantonCode: "JU" }, + { postalCode: "2345", placeName: "La Chaux-des-Breuleux", cantonCode: "JU" }, + { postalCode: "2350", placeName: "Saignelégier", cantonCode: "JU" }, + { postalCode: "2353", placeName: "Les Pommerats", cantonCode: "JU" }, + { postalCode: "2354", placeName: "Goumois", cantonCode: "JU" }, + { postalCode: "2360", placeName: "Le Bémont JU", cantonCode: "JU" }, + { postalCode: "2362", placeName: "Montfaucon", cantonCode: "JU" }, + { postalCode: "2362", placeName: "Montfavergier", cantonCode: "JU" }, + { postalCode: "2363", placeName: "Les Enfers", cantonCode: "JU" }, + { postalCode: "2364", placeName: "St-Brais", cantonCode: "JU" }, + { postalCode: "2714", placeName: "Les Genevez JU", cantonCode: "JU" }, + { postalCode: "2714", placeName: "Le Prédame", cantonCode: "JU" }, + { postalCode: "2718", placeName: "Fornet-Dessus", cantonCode: "JU" }, + { postalCode: "2718", placeName: "Lajoux JU", cantonCode: "JU" }, + { postalCode: "2882", placeName: "St-Ursanne", cantonCode: "JU" }, + { postalCode: "2887", placeName: "Soubey", cantonCode: "JU" }, + { postalCode: "2882", placeName: "St-Ursanne", cantonCode: "JU" }, + { postalCode: "2883", placeName: "Montmelon", cantonCode: "JU" }, + { postalCode: "2884", placeName: "Montenol", cantonCode: "JU" }, + { postalCode: "2885", placeName: "Epauvillers", cantonCode: "JU" }, + { postalCode: "2886", placeName: "Epiquerez", cantonCode: "JU" }, + { postalCode: "2888", placeName: "Seleute", cantonCode: "JU" }, + { postalCode: "2889", placeName: "Ocourt", cantonCode: "JU" }, + { postalCode: "2900", placeName: "Porrentruy 1", cantonCode: "JU" }, + { postalCode: "2900", placeName: "Porrentruy", cantonCode: "JU" }, + { postalCode: "2900", placeName: "Porrentruy 2", cantonCode: "JU" }, + { postalCode: "2902", placeName: "Fontenais", cantonCode: "JU" }, + { postalCode: "2903", placeName: "Villars-sur-Fontenais", cantonCode: "JU" }, + { postalCode: "2904", placeName: "Bressaucourt", cantonCode: "JU" }, + { postalCode: "2905", placeName: "Courtedoux", cantonCode: "JU" }, + { postalCode: "2906", placeName: "Chevenez", cantonCode: "JU" }, + { postalCode: "2907", placeName: "Rocourt", cantonCode: "JU" }, + { postalCode: "2908", placeName: "Grandfontaine", cantonCode: "JU" }, + { postalCode: "2912", placeName: "Roche-d'Or", cantonCode: "JU" }, + { postalCode: "2912", placeName: "Réclère", cantonCode: "JU" }, + { postalCode: "2914", placeName: "Damvant", cantonCode: "JU" }, + { postalCode: "2915", placeName: "Bure", cantonCode: "JU" }, + { postalCode: "2916", placeName: "Fahy", cantonCode: "JU" }, + { postalCode: "2922", placeName: "Courchavon", cantonCode: "JU" }, + { postalCode: "2923", placeName: "Courtemaîche", cantonCode: "JU" }, + { postalCode: "2924", placeName: "Montignez", cantonCode: "JU" }, + { postalCode: "2925", placeName: "Buix", cantonCode: "JU" }, + { postalCode: "2926", placeName: "Boncourt", cantonCode: "JU" }, + { postalCode: "2932", placeName: "Coeuve", cantonCode: "JU" }, + { postalCode: "2933", placeName: "Damphreux", cantonCode: "JU" }, + { postalCode: "2933", placeName: "Lugnez", cantonCode: "JU" }, + { postalCode: "2935", placeName: "Beurnevésin", cantonCode: "JU" }, + { postalCode: "2942", placeName: "Alle", cantonCode: "JU" }, + { postalCode: "2943", placeName: "Vendlincourt", cantonCode: "JU" }, + { postalCode: "2944", placeName: "Bonfol", cantonCode: "JU" }, + { postalCode: "2946", placeName: "Miécourt", cantonCode: "JU" }, + { postalCode: "2947", placeName: "Charmoille", cantonCode: "JU" }, + { postalCode: "2950", placeName: "Courtemautruy", cantonCode: "JU" }, + { postalCode: "2950", placeName: "Courgenay", cantonCode: "JU" }, + { postalCode: "2952", placeName: "Cornol", cantonCode: "JU" }, + { postalCode: "2953", placeName: "Fregiécourt", cantonCode: "JU" }, + { postalCode: "2953", placeName: "Pleujouse", cantonCode: "JU" }, + { postalCode: "2954", placeName: "Asuel", cantonCode: "JU" }, + { postalCode: "6000", placeName: "Luzern 14", cantonCode: "LU" }, + { postalCode: "6000", placeName: "Luzern 6", cantonCode: "LU" }, + { postalCode: "6000", placeName: "Luzern 7", cantonCode: "LU" }, + { postalCode: "6000", placeName: "Luzern 15", cantonCode: "LU" }, + { postalCode: "6000", placeName: "Luzern 30 AAL", cantonCode: "LU" }, + { postalCode: "6000", placeName: "Luzern", cantonCode: "LU" }, + { postalCode: "6000", placeName: "Luzern 16", cantonCode: "LU" }, + { postalCode: "6002", placeName: "Luzern", cantonCode: "LU" }, + { postalCode: "6003", placeName: "Luzern", cantonCode: "LU" }, + { postalCode: "6004", placeName: "Luzern", cantonCode: "LU" }, + { postalCode: "6005", placeName: "Luzern", cantonCode: "LU" }, + { postalCode: "6006", placeName: "Luzern", cantonCode: "LU" }, + { postalCode: "6007", placeName: "Luzern", cantonCode: "LU" }, + { postalCode: "6014", placeName: "Luzern", cantonCode: "LU" }, + { postalCode: "6015", placeName: "Luzern", cantonCode: "LU" }, + { postalCode: "6005", placeName: "St. Niklausen LU", cantonCode: "LU" }, + { postalCode: "6009", placeName: "Luzern", cantonCode: "LU" }, + { postalCode: "6010", placeName: "Kriens", cantonCode: "LU" }, + { postalCode: "6010", placeName: "Kriens 2", cantonCode: "LU" }, + { postalCode: "6011", placeName: "Kriens", cantonCode: "LU" }, + { postalCode: "6012", placeName: "Obernau", cantonCode: "LU" }, + { postalCode: "6013", placeName: "Eigenthal", cantonCode: "LU" }, + { postalCode: "6030", placeName: "Ebikon", cantonCode: "LU" }, + { postalCode: "6031", placeName: "Ebikon", cantonCode: "LU" }, + { postalCode: "6033", placeName: "Buchrain", cantonCode: "LU" }, + { postalCode: "6035", placeName: "Perlen", cantonCode: "LU" }, + { postalCode: "6036", placeName: "Dierikon", cantonCode: "LU" }, + { postalCode: "6037", placeName: "Root", cantonCode: "LU" }, + { postalCode: "6038", placeName: "Honau", cantonCode: "LU" }, + { postalCode: "6038", placeName: "Gisikon", cantonCode: "LU" }, + { postalCode: "6039", placeName: "Root D4", cantonCode: "LU" }, + { postalCode: "6043", placeName: "Adligenswil", cantonCode: "LU" }, + { postalCode: "6044", placeName: "Udligenswil", cantonCode: "LU" }, + { postalCode: "6045", placeName: "Meggen", cantonCode: "LU" }, + { postalCode: "6047", placeName: "Kastanienbaum", cantonCode: "LU" }, + { postalCode: "6048", placeName: "Horw", cantonCode: "LU" }, + { postalCode: "6102", placeName: "Malters", cantonCode: "LU" }, + { postalCode: "6103", placeName: "Schwarzenberg LU", cantonCode: "LU" }, + { postalCode: "6344", placeName: "Meierskappel", cantonCode: "LU" }, + { postalCode: "6353", placeName: "Weggis", cantonCode: "LU" }, + { postalCode: "6354", placeName: "Vitznau", cantonCode: "LU" }, + { postalCode: "6356", placeName: "Rigi Kaltbad", cantonCode: "LU" }, + { postalCode: "6404", placeName: "Greppen", cantonCode: "LU" }, + { postalCode: "6020", placeName: "Emmenbrücke", cantonCode: "LU" }, + { postalCode: "6020", placeName: "Emmenbrücke 2", cantonCode: "LU" }, + { postalCode: "6021", placeName: "Emmenbrücke 1", cantonCode: "LU" }, + { postalCode: "6023", placeName: "Rothenburg", cantonCode: "LU" }, + { postalCode: "6026", placeName: "Rain", cantonCode: "LU" }, + { postalCode: "6027", placeName: "Römerswil LU", cantonCode: "LU" }, + { postalCode: "6028", placeName: "Herlisberg", cantonCode: "LU" }, + { postalCode: "6032", placeName: "Emmen", cantonCode: "LU" }, + { postalCode: "6034", placeName: "Inwil", cantonCode: "LU" }, + { postalCode: "6274", placeName: "Eschenbach LU", cantonCode: "LU" }, + { postalCode: "6275", placeName: "Ballwil", cantonCode: "LU" }, + { postalCode: "6276", placeName: "Hohenrain", cantonCode: "LU" }, + { postalCode: "6277", placeName: "Kleinwangen", cantonCode: "LU" }, + { postalCode: "6277", placeName: "Lieli LU", cantonCode: "LU" }, + { postalCode: "6280", placeName: "Urswil", cantonCode: "LU" }, + { postalCode: "6280", placeName: "Hochdorf", cantonCode: "LU" }, + { postalCode: "6281", placeName: "Hochdorf", cantonCode: "LU" }, + { postalCode: "6283", placeName: "Baldegg", cantonCode: "LU" }, + { postalCode: "6284", placeName: "Sulz LU", cantonCode: "LU" }, + { postalCode: "6284", placeName: "Gelfingen", cantonCode: "LU" }, + { postalCode: "6285", placeName: "Hitzkirch", cantonCode: "LU" }, + { postalCode: "6285", placeName: "Retschwil", cantonCode: "LU" }, + { postalCode: "6286", placeName: "Altwis", cantonCode: "LU" }, + { postalCode: "6287", placeName: "Aesch LU", cantonCode: "LU" }, + { postalCode: "6288", placeName: "Schongau", cantonCode: "LU" }, + { postalCode: "6289", placeName: "Hämikon", cantonCode: "LU" }, + { postalCode: "6289", placeName: "Müswangen", cantonCode: "LU" }, + { postalCode: "6289", placeName: "Hämikon", cantonCode: "LU" }, + { postalCode: "6294", placeName: "Ermensee", cantonCode: "LU" }, + { postalCode: "6295", placeName: "Mosen", cantonCode: "LU" }, + { postalCode: "5735", placeName: "Pfeffikon LU", cantonCode: "LU" }, + { postalCode: "6016", placeName: "Hellbühl", cantonCode: "LU" }, + { postalCode: "6017", placeName: "Ruswil", cantonCode: "LU" }, + { postalCode: "6018", placeName: "Buttisholz", cantonCode: "LU" }, + { postalCode: "6019", placeName: "Sigigen", cantonCode: "LU" }, + { postalCode: "6022", placeName: "Grosswangen", cantonCode: "LU" }, + { postalCode: "6024", placeName: "Hildisrieden", cantonCode: "LU" }, + { postalCode: "6025", placeName: "Neudorf", cantonCode: "LU" }, + { postalCode: "6203", placeName: "Sempach Station", cantonCode: "LU" }, + { postalCode: "6204", placeName: "Sempach", cantonCode: "LU" }, + { postalCode: "6205", placeName: "Eich", cantonCode: "LU" }, + { postalCode: "6206", placeName: "Neuenkirch", cantonCode: "LU" }, + { postalCode: "6207", placeName: "Nottwil Paraplegikerzentrum", cantonCode: "LU" }, + { postalCode: "6207", placeName: "Nottwil", cantonCode: "LU" }, + { postalCode: "6208", placeName: "Oberkirch LU", cantonCode: "LU" }, + { postalCode: "6210", placeName: "Sursee", cantonCode: "LU" }, + { postalCode: "6212", placeName: "Kaltbach", cantonCode: "LU" }, + { postalCode: "6212", placeName: "St. Erhard", cantonCode: "LU" }, + { postalCode: "6213", placeName: "Knutwil", cantonCode: "LU" }, + { postalCode: "6214", placeName: "Schenkon", cantonCode: "LU" }, + { postalCode: "6215", placeName: "Beromünster", cantonCode: "LU" }, + { postalCode: "6215", placeName: "Schwarzenbach LU", cantonCode: "LU" }, + { postalCode: "6216", placeName: "Mauensee", cantonCode: "LU" }, + { postalCode: "6221", placeName: "Rickenbach LU", cantonCode: "LU" }, + { postalCode: "6222", placeName: "Gunzwil", cantonCode: "LU" }, + { postalCode: "6231", placeName: "Schlierbach", cantonCode: "LU" }, + { postalCode: "6232", placeName: "Geuensee", cantonCode: "LU" }, + { postalCode: "6233", placeName: "Büron", cantonCode: "LU" }, + { postalCode: "6234", placeName: "Triengen", cantonCode: "LU" }, + { postalCode: "6234", placeName: "Kulmerau", cantonCode: "LU" }, + { postalCode: "6235", placeName: "Winikon", cantonCode: "LU" }, + { postalCode: "6236", placeName: "Wilihof", cantonCode: "LU" }, + { postalCode: "4806", placeName: "Wikon", cantonCode: "LU" }, + { postalCode: "4915", placeName: "St. Urban", cantonCode: "LU" }, + { postalCode: "6122", placeName: "Menznau", cantonCode: "LU" }, + { postalCode: "6123", placeName: "Geiss", cantonCode: "LU" }, + { postalCode: "6125", placeName: "Menzberg", cantonCode: "LU" }, + { postalCode: "6126", placeName: "Daiwil", cantonCode: "LU" }, + { postalCode: "6130", placeName: "Willisau", cantonCode: "LU" }, + { postalCode: "6132", placeName: "Rohrmatt", cantonCode: "LU" }, + { postalCode: "6133", placeName: "Hergiswil b. Willisau", cantonCode: "LU" }, + { postalCode: "6142", placeName: "Gettnau", cantonCode: "LU" }, + { postalCode: "6143", placeName: "Ohmstal", cantonCode: "LU" }, + { postalCode: "6144", placeName: "Zell LU", cantonCode: "LU" }, + { postalCode: "6145", placeName: "Fischbach LU", cantonCode: "LU" }, + { postalCode: "6146", placeName: "Grossdietwil", cantonCode: "LU" }, + { postalCode: "6147", placeName: "Altbüron", cantonCode: "LU" }, + { postalCode: "6152", placeName: "Hüswil", cantonCode: "LU" }, + { postalCode: "6153", placeName: "Ufhusen", cantonCode: "LU" }, + { postalCode: "6154", placeName: "Hofstatt", cantonCode: "LU" }, + { postalCode: "6156", placeName: "Luthern", cantonCode: "LU" }, + { postalCode: "6156", placeName: "Luthern Bad", cantonCode: "LU" }, + { postalCode: "6211", placeName: "Buchs LU", cantonCode: "LU" }, + { postalCode: "6217", placeName: "Kottwil", cantonCode: "LU" }, + { postalCode: "6218", placeName: "Ettiswil", cantonCode: "LU" }, + { postalCode: "6242", placeName: "Wauwil", cantonCode: "LU" }, + { postalCode: "6243", placeName: "Egolzwil", cantonCode: "LU" }, + { postalCode: "6244", placeName: "Nebikon", cantonCode: "LU" }, + { postalCode: "6245", placeName: "Ebersecken", cantonCode: "LU" }, + { postalCode: "6246", placeName: "Altishofen", cantonCode: "LU" }, + { postalCode: "6247", placeName: "Schötz", cantonCode: "LU" }, + { postalCode: "6248", placeName: "Alberswil", cantonCode: "LU" }, + { postalCode: "6252", placeName: "Dagmersellen", cantonCode: "LU" }, + { postalCode: "6253", placeName: "Uffikon", cantonCode: "LU" }, + { postalCode: "6260", placeName: "Reiden", cantonCode: "LU" }, + { postalCode: "6260", placeName: "Hintermoos", cantonCode: "LU" }, + { postalCode: "6260", placeName: "Reidermoos", cantonCode: "LU" }, + { postalCode: "6260", placeName: "Mehlsecken", cantonCode: "LU" }, + { postalCode: "6262", placeName: "Langnau b. Reiden", cantonCode: "LU" }, + { postalCode: "6263", placeName: "Richenthal", cantonCode: "LU" }, + { postalCode: "6264", placeName: "Pfaffnau", cantonCode: "LU" }, + { postalCode: "6265", placeName: "Roggliswil", cantonCode: "LU" }, + { postalCode: "6105", placeName: "Schachen LU", cantonCode: "LU" }, + { postalCode: "6106", placeName: "Werthenstein", cantonCode: "LU" }, + { postalCode: "6110", placeName: "Fontannen b. Wolhusen", cantonCode: "LU" }, + { postalCode: "6110", placeName: "Wolhusen", cantonCode: "LU" }, + { postalCode: "6112", placeName: "Doppleschwand", cantonCode: "LU" }, + { postalCode: "6113", placeName: "Romoos", cantonCode: "LU" }, + { postalCode: "6114", placeName: "Steinhuserberg", cantonCode: "LU" }, + { postalCode: "6160", placeName: "Entlebuch Businesszentrum", cantonCode: "LU" }, + { postalCode: "6160", placeName: "Entlebuch", cantonCode: "LU" }, + { postalCode: "6162", placeName: "Rengg", cantonCode: "LU" }, + { postalCode: "6162", placeName: "Finsterwald b. Entlebuch", cantonCode: "LU" }, + { postalCode: "6162", placeName: "Entlebuch", cantonCode: "LU" }, + { postalCode: "6163", placeName: "Ebnet", cantonCode: "LU" }, + { postalCode: "6166", placeName: "Hasle LU", cantonCode: "LU" }, + { postalCode: "6167", placeName: "Bramboden", cantonCode: "LU" }, + { postalCode: "6170", placeName: "Schüpfheim", cantonCode: "LU" }, + { postalCode: "6173", placeName: "Flühli LU", cantonCode: "LU" }, + { postalCode: "6174", placeName: "Sörenberg", cantonCode: "LU" }, + { postalCode: "6182", placeName: "Escholzmatt", cantonCode: "LU" }, + { postalCode: "6192", placeName: "Wiggen", cantonCode: "LU" }, + { postalCode: "6196", placeName: "Marbach LU", cantonCode: "LU" }, + { postalCode: "2012", placeName: "Auvernier", cantonCode: "NE" }, + { postalCode: "2013", placeName: "Colombier NE", cantonCode: "NE" }, + { postalCode: "2014", placeName: "Bôle", cantonCode: "NE" }, + { postalCode: "2015", placeName: "Areuse", cantonCode: "NE" }, + { postalCode: "2016", placeName: "Cortaillod", cantonCode: "NE" }, + { postalCode: "2017", placeName: "Boudry", cantonCode: "NE" }, + { postalCode: "2019", placeName: "Chambrelien", cantonCode: "NE" }, + { postalCode: "2019", placeName: "Rochefort", cantonCode: "NE" }, + { postalCode: "2022", placeName: "Bevaix", cantonCode: "NE" }, + { postalCode: "2023", placeName: "Gorgier", cantonCode: "NE" }, + { postalCode: "2024", placeName: "St-Aubin-Sauges", cantonCode: "NE" }, + { postalCode: "2025", placeName: "Chez-le-Bart", cantonCode: "NE" }, + { postalCode: "2027", placeName: "Montalchez", cantonCode: "NE" }, + { postalCode: "2027", placeName: "Fresens", cantonCode: "NE" }, + { postalCode: "2028", placeName: "Vaumarcus", cantonCode: "NE" }, + { postalCode: "2034", placeName: "Peseux", cantonCode: "NE" }, + { postalCode: "2035", placeName: "Corcelles NE", cantonCode: "NE" }, + { postalCode: "2036", placeName: "Cormondrèche", cantonCode: "NE" }, + { postalCode: "2037", placeName: "Montezillon", cantonCode: "NE" }, + { postalCode: "2149", placeName: "Champ-du-Moulin", cantonCode: "NE" }, + { postalCode: "2149", placeName: "Brot-Dessous", cantonCode: "NE" }, + { postalCode: "2149", placeName: "Fretereules", cantonCode: "NE" }, + { postalCode: "2300", placeName: "La Chaux-de-Fonds", cantonCode: "NE" }, + { postalCode: "2300", placeName: "La Cibourg", cantonCode: "NE" }, + { postalCode: "2301", placeName: "La Chaux-de-Fonds", cantonCode: "NE" }, + { postalCode: "2303", placeName: "La Chaux-de-Fonds", cantonCode: "NE" }, + { postalCode: "2304", placeName: "La Chaux-de-Fonds", cantonCode: "NE" }, + { postalCode: "2314", placeName: "La Sagne NE", cantonCode: "NE" }, + { postalCode: "2322", placeName: "Le Crêt-du-Locle", cantonCode: "NE" }, + { postalCode: "2325", placeName: "Les Planchettes", cantonCode: "NE" }, + { postalCode: "2333", placeName: "La Cibourg", cantonCode: "NE" }, + { postalCode: "2616", placeName: "La Cibourg", cantonCode: "NE" }, + { postalCode: "2316", placeName: "Les Ponts-de-Martel", cantonCode: "NE" }, + { postalCode: "2316", placeName: "Petit-Martel", cantonCode: "NE" }, + { postalCode: "2318", placeName: "Brot-Plamboz", cantonCode: "NE" }, + { postalCode: "2400", placeName: "Le Prévoux", cantonCode: "NE" }, + { postalCode: "2400", placeName: "Le Locle", cantonCode: "NE" }, + { postalCode: "2400", placeName: "Le Locle", cantonCode: "NE" }, + { postalCode: "2405", placeName: "La Chaux-du-Milieu", cantonCode: "NE" }, + { postalCode: "2406", placeName: "Les Taillères", cantonCode: "NE" }, + { postalCode: "2406", placeName: "La Brévine", cantonCode: "NE" }, + { postalCode: "2406", placeName: "Le Brouillet", cantonCode: "NE" }, + { postalCode: "2406", placeName: "La Châtagne", cantonCode: "NE" }, + { postalCode: "2414", placeName: "Le Cerneux-Péquignot", cantonCode: "NE" }, + { postalCode: "2416", placeName: "Les Brenets", cantonCode: "NE" }, + { postalCode: "2000", placeName: "Neuchâtel", cantonCode: "NE" }, + { postalCode: "2001", placeName: "Neuchâtel 1", cantonCode: "NE" }, + { postalCode: "2002", placeName: "Neuchâtel 2", cantonCode: "NE" }, + { postalCode: "2010", placeName: "Neuchâtel OFS", cantonCode: "NE" }, + { postalCode: "2067", placeName: "Chaumont", cantonCode: "NE" }, + { postalCode: "2068", placeName: "Hauterive NE", cantonCode: "NE" }, + { postalCode: "2072", placeName: "St-Blaise", cantonCode: "NE" }, + { postalCode: "2073", placeName: "Enges", cantonCode: "NE" }, + { postalCode: "2074", placeName: "Marin-Centre", cantonCode: "NE" }, + { postalCode: "2074", placeName: "Marin-Epagnier", cantonCode: "NE" }, + { postalCode: "2075", placeName: "Thielle", cantonCode: "NE" }, + { postalCode: "2075", placeName: "Wavre", cantonCode: "NE" }, + { postalCode: "2087", placeName: "Cornaux NE", cantonCode: "NE" }, + { postalCode: "2088", placeName: "Cressier NE", cantonCode: "NE" }, + { postalCode: "2523", placeName: "Lignières", cantonCode: "NE" }, + { postalCode: "2525", placeName: "Le Landeron", cantonCode: "NE" }, + { postalCode: "2037", placeName: "Montmollin", cantonCode: "NE" }, + { postalCode: "2042", placeName: "Valangin", cantonCode: "NE" }, + { postalCode: "2043", placeName: "Boudevilliers", cantonCode: "NE" }, + { postalCode: "2046", placeName: "Fontaines NE", cantonCode: "NE" }, + { postalCode: "2052", placeName: "La Vue-des-Alpes", cantonCode: "NE" }, + { postalCode: "2052", placeName: "Fontainemelon", cantonCode: "NE" }, + { postalCode: "2053", placeName: "Cernier", cantonCode: "NE" }, + { postalCode: "2054", placeName: "Les Vieux-Prés", cantonCode: "NE" }, + { postalCode: "2054", placeName: "Chézard-St-Martin", cantonCode: "NE" }, + { postalCode: "2056", placeName: "Dombresson", cantonCode: "NE" }, + { postalCode: "2057", placeName: "Villiers", cantonCode: "NE" }, + { postalCode: "2058", placeName: "Le Pâquier NE", cantonCode: "NE" }, + { postalCode: "2063", placeName: "Saules", cantonCode: "NE" }, + { postalCode: "2063", placeName: "Engollon", cantonCode: "NE" }, + { postalCode: "2063", placeName: "Vilars NE", cantonCode: "NE" }, + { postalCode: "2063", placeName: "Fenin", cantonCode: "NE" }, + { postalCode: "2065", placeName: "Savagnier", cantonCode: "NE" }, + { postalCode: "2206", placeName: "Les Geneveys-sur-Coffrane", cantonCode: "NE" }, + { postalCode: "2207", placeName: "Coffrane", cantonCode: "NE" }, + { postalCode: "2208", placeName: "Les Hauts-Geneveys", cantonCode: "NE" }, + { postalCode: "2103", placeName: "Noiraigue", cantonCode: "NE" }, + { postalCode: "2105", placeName: "Travers", cantonCode: "NE" }, + { postalCode: "2108", placeName: "Couvet", cantonCode: "NE" }, + { postalCode: "2112", placeName: "Môtiers NE", cantonCode: "NE" }, + { postalCode: "2113", placeName: "Boveresse", cantonCode: "NE" }, + { postalCode: "2114", placeName: "Fleurier", cantonCode: "NE" }, + { postalCode: "2115", placeName: "Buttes", cantonCode: "NE" }, + { postalCode: "2116", placeName: "Mont-de-Buttes", cantonCode: "NE" }, + { postalCode: "2117", placeName: "La Côte-aux-Fées", cantonCode: "NE" }, + { postalCode: "2123", placeName: "St-Sulpice NE", cantonCode: "NE" }, + { postalCode: "2124", placeName: "Les Sagnettes", cantonCode: "NE" }, + { postalCode: "2126", placeName: "Les Verrières", cantonCode: "NE" }, + { postalCode: "2127", placeName: "Les Bayards", cantonCode: "NE" }, + { postalCode: "6052", placeName: "Hergiswil NW", cantonCode: "NW" }, + { postalCode: "6362", placeName: "Stansstad", cantonCode: "NW" }, + { postalCode: "6363", placeName: "Fürigen", cantonCode: "NW" }, + { postalCode: "6363", placeName: "Bürgenstock", cantonCode: "NW" }, + { postalCode: "6363", placeName: "Obbürgen", cantonCode: "NW" }, + { postalCode: "6365", placeName: "Kehrsiten", cantonCode: "NW" }, + { postalCode: "6370", placeName: "Stans", cantonCode: "NW" }, + { postalCode: "6370", placeName: "Oberdorf NW", cantonCode: "NW" }, + { postalCode: "6371", placeName: "Stans", cantonCode: "NW" }, + { postalCode: "6372", placeName: "Ennetmoos", cantonCode: "NW" }, + { postalCode: "6373", placeName: "Ennetbürgen", cantonCode: "NW" }, + { postalCode: "6374", placeName: "Buochs", cantonCode: "NW" }, + { postalCode: "6375", placeName: "Beckenried", cantonCode: "NW" }, + { postalCode: "6376", placeName: "Emmetten", cantonCode: "NW" }, + { postalCode: "6382", placeName: "Büren NW", cantonCode: "NW" }, + { postalCode: "6383", placeName: "Wiesenberg", cantonCode: "NW" }, + { postalCode: "6383", placeName: "Wirzweli", cantonCode: "NW" }, + { postalCode: "6383", placeName: "Dallenwil", cantonCode: "NW" }, + { postalCode: "6383", placeName: "Niederrickenbach", cantonCode: "NW" }, + { postalCode: "6386", placeName: "Wolfenschiessen", cantonCode: "NW" }, + { postalCode: "6387", placeName: "Oberrickenbach", cantonCode: "NW" }, + { postalCode: "6010", placeName: "Kriens", cantonCode: "OW" }, + { postalCode: "6010", placeName: "Pilatus Kulm", cantonCode: "OW" }, + { postalCode: "6053", placeName: "Alpnachstad", cantonCode: "OW" }, + { postalCode: "6055", placeName: "Alpnach Dorf", cantonCode: "OW" }, + { postalCode: "6056", placeName: "Kägiswil", cantonCode: "OW" }, + { postalCode: "6060", placeName: "Ramersberg", cantonCode: "OW" }, + { postalCode: "6060", placeName: "Sarnen", cantonCode: "OW" }, + { postalCode: "6060", placeName: "Sarnen 2", cantonCode: "OW" }, + { postalCode: "6061", placeName: "Sarnen 1", cantonCode: "OW" }, + { postalCode: "6062", placeName: "Wilen (Sarnen)", cantonCode: "OW" }, + { postalCode: "6063", placeName: "Stalden (Sarnen)", cantonCode: "OW" }, + { postalCode: "6064", placeName: "Kerns", cantonCode: "OW" }, + { postalCode: "6066", placeName: "St. Niklausen OW", cantonCode: "OW" }, + { postalCode: "6067", placeName: "Melchtal", cantonCode: "OW" }, + { postalCode: "6068", placeName: "Melchsee-Frutt", cantonCode: "OW" }, + { postalCode: "6072", placeName: "Sachseln", cantonCode: "OW" }, + { postalCode: "6073", placeName: "Flüeli-Ranft", cantonCode: "OW" }, + { postalCode: "6074", placeName: "Giswil", cantonCode: "OW" }, + { postalCode: "6078", placeName: "Bürglen OW", cantonCode: "OW" }, + { postalCode: "6078", placeName: "Lungern", cantonCode: "OW" }, + { postalCode: "6388", placeName: "Grafenort", cantonCode: "OW" }, + { postalCode: "6390", placeName: "Engelberg", cantonCode: "OW" }, + { postalCode: "6391", placeName: "Engelberg", cantonCode: "OW" }, + { postalCode: "9000", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9001", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9004", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9006", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9007", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9008", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9010", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9011", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9012", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9013", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9014", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9015", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9016", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9020", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9021", placeName: "St. Gallen MS", cantonCode: "SG" }, + { postalCode: "9023", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9024", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9024", placeName: "St. Gallen Presse-Serv.Güll", cantonCode: "SG" }, + { postalCode: "9026", placeName: "St. Gallen K AG", cantonCode: "SG" }, + { postalCode: "9026", placeName: "St. Gallen Künzler AG", cantonCode: "SG" }, + { postalCode: "9027", placeName: "St. Gallen Mona Versand", cantonCode: "SG" }, + { postalCode: "9027", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9028", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9029", placeName: "St. Gallen", cantonCode: "SG" }, + { postalCode: "9029", placeName: "St. Gallen Sonderdienste", cantonCode: "SG" }, + { postalCode: "9030", placeName: "St. Josefen", cantonCode: "SG" }, + { postalCode: "9030", placeName: "Abtwil SG", cantonCode: "SG" }, + { postalCode: "9032", placeName: "Engelburg", cantonCode: "SG" }, + { postalCode: "9034", placeName: "Eggersriet", cantonCode: "SG" }, + { postalCode: "9036", placeName: "Grub SG", cantonCode: "SG" }, + { postalCode: "9200", placeName: "Gossau SG", cantonCode: "SG" }, + { postalCode: "9200", placeName: "Gossau SG 2", cantonCode: "SG" }, + { postalCode: "9201", placeName: "Gossau SG", cantonCode: "SG" }, + { postalCode: "9204", placeName: "Andwil SG", cantonCode: "SG" }, + { postalCode: "9205", placeName: "Waldkirch", cantonCode: "SG" }, + { postalCode: "9212", placeName: "Arnegg", cantonCode: "SG" }, + { postalCode: "9300", placeName: "Wittenbach", cantonCode: "SG" }, + { postalCode: "9301", placeName: "Wittenbach", cantonCode: "SG" }, + { postalCode: "9304", placeName: "Bernhardzell", cantonCode: "SG" }, + { postalCode: "9308", placeName: "Lömmenschwil", cantonCode: "SG" }, + { postalCode: "9312", placeName: "Häggenschwil", cantonCode: "SG" }, + { postalCode: "9313", placeName: "Muolen", cantonCode: "SG" }, + { postalCode: "9033", placeName: "Untereggen", cantonCode: "SG" }, + { postalCode: "9305", placeName: "Berg SG", cantonCode: "SG" }, + { postalCode: "9323", placeName: "Steinach", cantonCode: "SG" }, + { postalCode: "9327", placeName: "Tübach", cantonCode: "SG" }, + { postalCode: "9400", placeName: "Rorschach", cantonCode: "SG" }, + { postalCode: "9401", placeName: "Rorschach", cantonCode: "SG" }, + { postalCode: "9402", placeName: "Mörschwil", cantonCode: "SG" }, + { postalCode: "9403", placeName: "Goldach", cantonCode: "SG" }, + { postalCode: "9404", placeName: "Rorschacherberg", cantonCode: "SG" }, + { postalCode: "9422", placeName: "Staad SG", cantonCode: "SG" }, + { postalCode: "9423", placeName: "Altenrhein", cantonCode: "SG" }, + { postalCode: "9425", placeName: "Thal", cantonCode: "SG" }, + { postalCode: "9411", placeName: "Reute AR", cantonCode: "SG" }, + { postalCode: "9424", placeName: "Rheineck", cantonCode: "SG" }, + { postalCode: "9430", placeName: "St. Margrethen SG", cantonCode: "SG" }, + { postalCode: "9434", placeName: "Au SG", cantonCode: "SG" }, + { postalCode: "9435", placeName: "Heerbrugg", cantonCode: "SG" }, + { postalCode: "9436", placeName: "Balgach", cantonCode: "SG" }, + { postalCode: "9437", placeName: "Marbach SG", cantonCode: "SG" }, + { postalCode: "9442", placeName: "Berneck", cantonCode: "SG" }, + { postalCode: "9443", placeName: "Widnau", cantonCode: "SG" }, + { postalCode: "9444", placeName: "Diepoldsau", cantonCode: "SG" }, + { postalCode: "9445", placeName: "Rebstein", cantonCode: "SG" }, + { postalCode: "9450", placeName: "Altstätten SG 2", cantonCode: "SG" }, + { postalCode: "9450", placeName: "Altstätten SG", cantonCode: "SG" }, + { postalCode: "9450", placeName: "Lüchingen", cantonCode: "SG" }, + { postalCode: "9451", placeName: "Kriessern", cantonCode: "SG" }, + { postalCode: "9452", placeName: "Hinterforst", cantonCode: "SG" }, + { postalCode: "9453", placeName: "Eichberg", cantonCode: "SG" }, + { postalCode: "9462", placeName: "Montlingen", cantonCode: "SG" }, + { postalCode: "9462", placeName: "Montlingen", cantonCode: "SG" }, + { postalCode: "9463", placeName: "Oberriet SG", cantonCode: "SG" }, + { postalCode: "9464", placeName: "Rüthi (Rheintal)", cantonCode: "SG" }, + { postalCode: "9464", placeName: "Lienz", cantonCode: "SG" }, + { postalCode: "9465", placeName: "Salez", cantonCode: "SG" }, + { postalCode: "9466", placeName: "Sennwald", cantonCode: "SG" }, + { postalCode: "9467", placeName: "Frümsen", cantonCode: "SG" }, + { postalCode: "9468", placeName: "Sax", cantonCode: "SG" }, + { postalCode: "9469", placeName: "Haag (Rheintal)", cantonCode: "SG" }, + { postalCode: "9470", placeName: "Werdenberg", cantonCode: "SG" }, + { postalCode: "9470", placeName: "Buchs SG", cantonCode: "SG" }, + { postalCode: "9471", placeName: "Buchs SG 3", cantonCode: "SG" }, + { postalCode: "9471", placeName: "Buchs SG 1", cantonCode: "SG" }, + { postalCode: "9472", placeName: "Grabs", cantonCode: "SG" }, + { postalCode: "9472", placeName: "Grabserberg", cantonCode: "SG" }, + { postalCode: "9473", placeName: "Gams", cantonCode: "SG" }, + { postalCode: "9475", placeName: "Sevelen", cantonCode: "SG" }, + { postalCode: "9476", placeName: "Weite", cantonCode: "SG" }, + { postalCode: "9476", placeName: "Fontnas", cantonCode: "SG" }, + { postalCode: "9477", placeName: "Trübbach", cantonCode: "SG" }, + { postalCode: "9478", placeName: "Azmoos", cantonCode: "SG" }, + { postalCode: "9479", placeName: "Malans SG", cantonCode: "SG" }, + { postalCode: "9479", placeName: "Oberschan", cantonCode: "SG" }, + { postalCode: "9479", placeName: "Gretschins", cantonCode: "SG" }, + { postalCode: "7310", placeName: "Bad Ragaz", cantonCode: "SG" }, + { postalCode: "7310", placeName: "Bad Ragaz", cantonCode: "SG" }, + { postalCode: "7312", placeName: "Pfäfers", cantonCode: "SG" }, + { postalCode: "7313", placeName: "St. Margrethenberg", cantonCode: "SG" }, + { postalCode: "7314", placeName: "Vadura", cantonCode: "SG" }, + { postalCode: "7315", placeName: "Vättis", cantonCode: "SG" }, + { postalCode: "7317", placeName: "Vasön", cantonCode: "SG" }, + { postalCode: "7317", placeName: "Valens", cantonCode: "SG" }, + { postalCode: "7320", placeName: "Sargans", cantonCode: "SG" }, + { postalCode: "7323", placeName: "Wangs", cantonCode: "SG" }, + { postalCode: "7324", placeName: "Vilters", cantonCode: "SG" }, + { postalCode: "7325", placeName: "Schwendi im Weisstannental", cantonCode: "SG" }, + { postalCode: "7326", placeName: "Weisstannen", cantonCode: "SG" }, + { postalCode: "8877", placeName: "Murg", cantonCode: "SG" }, + { postalCode: "8878", placeName: "Quinten", cantonCode: "SG" }, + { postalCode: "8879", placeName: "Pizolpark (Mels)", cantonCode: "SG" }, + { postalCode: "8880", placeName: "Walenstadt", cantonCode: "SG" }, + { postalCode: "8881", placeName: "Tscherlach", cantonCode: "SG" }, + { postalCode: "8881", placeName: "Walenstadtberg", cantonCode: "SG" }, + { postalCode: "8882", placeName: "Unterterzen", cantonCode: "SG" }, + { postalCode: "8883", placeName: "Quarten", cantonCode: "SG" }, + { postalCode: "8884", placeName: "Oberterzen", cantonCode: "SG" }, + { postalCode: "8885", placeName: "Mols", cantonCode: "SG" }, + { postalCode: "8886", placeName: "Mädris-Vermol", cantonCode: "SG" }, + { postalCode: "8887", placeName: "Mels", cantonCode: "SG" }, + { postalCode: "8888", placeName: "Heiligkreuz (Mels)", cantonCode: "SG" }, + { postalCode: "8889", placeName: "Plons", cantonCode: "SG" }, + { postalCode: "8890", placeName: "Flums", cantonCode: "SG" }, + { postalCode: "8892", placeName: "Berschis", cantonCode: "SG" }, + { postalCode: "8893", placeName: "Flums Hochwiese", cantonCode: "SG" }, + { postalCode: "8894", placeName: "Flumserberg Saxli", cantonCode: "SG" }, + { postalCode: "8895", placeName: "Flumserberg Portels", cantonCode: "SG" }, + { postalCode: "8896", placeName: "Flumserberg Bergheim", cantonCode: "SG" }, + { postalCode: "8897", placeName: "Flumserberg Tannenheim", cantonCode: "SG" }, + { postalCode: "8898", placeName: "Flumserberg Tannenbodenalp", cantonCode: "SG" }, + { postalCode: "8638", placeName: "Goldingen", cantonCode: "SG" }, + { postalCode: "8640", placeName: "Rapperswil SG", cantonCode: "SG" }, + { postalCode: "8645", placeName: "Jona", cantonCode: "SG" }, + { postalCode: "8646", placeName: "Wagen", cantonCode: "SG" }, + { postalCode: "8715", placeName: "Bollingen", cantonCode: "SG" }, + { postalCode: "8716", placeName: "Schmerikon", cantonCode: "SG" }, + { postalCode: "8717", placeName: "Benken SG", cantonCode: "SG" }, + { postalCode: "8718", placeName: "Schänis", cantonCode: "SG" }, + { postalCode: "8722", placeName: "Kaltbrunn", cantonCode: "SG" }, + { postalCode: "8723", placeName: "Rufi", cantonCode: "SG" }, + { postalCode: "8723", placeName: "Maseltrangen", cantonCode: "SG" }, + { postalCode: "8725", placeName: "Ernetschwil", cantonCode: "SG" }, + { postalCode: "8725", placeName: "Gebertingen", cantonCode: "SG" }, + { postalCode: "8726", placeName: "Ricken SG", cantonCode: "SG" }, + { postalCode: "8727", placeName: "Walde SG", cantonCode: "SG" }, + { postalCode: "8730", placeName: "Uznach", cantonCode: "SG" }, + { postalCode: "8732", placeName: "Neuhaus SG", cantonCode: "SG" }, + { postalCode: "8733", placeName: "Eschenbach SG", cantonCode: "SG" }, + { postalCode: "8734", placeName: "Ermenswil", cantonCode: "SG" }, + { postalCode: "8735", placeName: "St. Gallenkappel", cantonCode: "SG" }, + { postalCode: "8735", placeName: "Rüeterswil", cantonCode: "SG" }, + { postalCode: "8737", placeName: "Gommiswald", cantonCode: "SG" }, + { postalCode: "8738", placeName: "Uetliburg SG", cantonCode: "SG" }, + { postalCode: "8739", placeName: "Rieden SG", cantonCode: "SG" }, + { postalCode: "8740", placeName: "Uznach Vögele AG", cantonCode: "SG" }, + { postalCode: "8740", placeName: "Uznach Vögele Versandhaus", cantonCode: "SG" }, + { postalCode: "8866", placeName: "Ziegelbrücke", cantonCode: "SG" }, + { postalCode: "8872", placeName: "Weesen", cantonCode: "SG" }, + { postalCode: "8873", placeName: "Amden", cantonCode: "SG" }, + { postalCode: "9114", placeName: "Hoffeld", cantonCode: "SG" }, + { postalCode: "9115", placeName: "Dicken", cantonCode: "SG" }, + { postalCode: "9122", placeName: "Mogelsberg", cantonCode: "SG" }, + { postalCode: "9122", placeName: "Ebersol", cantonCode: "SG" }, + { postalCode: "9123", placeName: "Nassen", cantonCode: "SG" }, + { postalCode: "9125", placeName: "Brunnadern", cantonCode: "SG" }, + { postalCode: "9126", placeName: "Necker", cantonCode: "SG" }, + { postalCode: "9127", placeName: "St. Peterzell", cantonCode: "SG" }, + { postalCode: "9500", placeName: "Wil SG", cantonCode: "SG" }, + { postalCode: "9533", placeName: "Dietschwil", cantonCode: "SG" }, + { postalCode: "9533", placeName: "Kirchberg SG", cantonCode: "SG" }, + { postalCode: "9534", placeName: "Gähwil", cantonCode: "SG" }, + { postalCode: "9601", placeName: "Lütisburg Station", cantonCode: "SG" }, + { postalCode: "9602", placeName: "Müselbach", cantonCode: "SG" }, + { postalCode: "9602", placeName: "Bazenheid", cantonCode: "SG" }, + { postalCode: "9604", placeName: "Lütisburg", cantonCode: "SG" }, + { postalCode: "9604", placeName: "Unterrindal", cantonCode: "SG" }, + { postalCode: "9606", placeName: "Bütschwil", cantonCode: "SG" }, + { postalCode: "9607", placeName: "Mosnang", cantonCode: "SG" }, + { postalCode: "9608", placeName: "Ganterschwil", cantonCode: "SG" }, + { postalCode: "9612", placeName: "Dreien", cantonCode: "SG" }, + { postalCode: "9613", placeName: "Mühlrüti", cantonCode: "SG" }, + { postalCode: "9614", placeName: "Libingen", cantonCode: "SG" }, + { postalCode: "9615", placeName: "Dietfurt", cantonCode: "SG" }, + { postalCode: "9620", placeName: "Lichtensteig", cantonCode: "SG" }, + { postalCode: "9621", placeName: "Oberhelfenschwil", cantonCode: "SG" }, + { postalCode: "9622", placeName: "Krinau", cantonCode: "SG" }, + { postalCode: "9630", placeName: "Wattwil", cantonCode: "SG" }, + { postalCode: "9631", placeName: "Ulisbach", cantonCode: "SG" }, + { postalCode: "9633", placeName: "Hemberg", cantonCode: "SG" }, + { postalCode: "9633", placeName: "Bächli (Hemberg)", cantonCode: "SG" }, + { postalCode: "9642", placeName: "Ebnat-Kappel", cantonCode: "SG" }, + { postalCode: "9643", placeName: "Krummenau", cantonCode: "SG" }, + { postalCode: "9650", placeName: "Nesslau", cantonCode: "SG" }, + { postalCode: "9651", placeName: "Ennetbühl", cantonCode: "SG" }, + { postalCode: "9652", placeName: "Neu St. Johann", cantonCode: "SG" }, + { postalCode: "9655", placeName: "Stein SG", cantonCode: "SG" }, + { postalCode: "9656", placeName: "Alt St. Johann", cantonCode: "SG" }, + { postalCode: "9657", placeName: "Unterwasser", cantonCode: "SG" }, + { postalCode: "9658", placeName: "Wildhaus", cantonCode: "SG" }, + { postalCode: "9113", placeName: "Degersheim", cantonCode: "SG" }, + { postalCode: "9116", placeName: "Wolfertswil", cantonCode: "SG" }, + { postalCode: "9203", placeName: "Niederwil SG", cantonCode: "SG" }, + { postalCode: "9230", placeName: "Flawil 1", cantonCode: "SG" }, + { postalCode: "9230", placeName: "Flawil 2 Botsberg", cantonCode: "SG" }, + { postalCode: "9230", placeName: "Flawil", cantonCode: "SG" }, + { postalCode: "9231", placeName: "Egg (Flawil)", cantonCode: "SG" }, + { postalCode: "9240", placeName: "Uzwil", cantonCode: "SG" }, + { postalCode: "9240", placeName: "Niederglatt SG", cantonCode: "SG" }, + { postalCode: "9242", placeName: "Oberuzwil", cantonCode: "SG" }, + { postalCode: "9243", placeName: "Jonschwil", cantonCode: "SG" }, + { postalCode: "9244", placeName: "Niederuzwil", cantonCode: "SG" }, + { postalCode: "9245", placeName: "Oberbüren", cantonCode: "SG" }, + { postalCode: "9245", placeName: "Sonnental", cantonCode: "SG" }, + { postalCode: "9246", placeName: "Niederbüren", cantonCode: "SG" }, + { postalCode: "9247", placeName: "Henau", cantonCode: "SG" }, + { postalCode: "9248", placeName: "Bichwil", cantonCode: "SG" }, + { postalCode: "9249", placeName: "Niederstetten", cantonCode: "SG" }, + { postalCode: "9249", placeName: "Algetshausen", cantonCode: "SG" }, + { postalCode: "9249", placeName: "Oberstetten", cantonCode: "SG" }, + { postalCode: "9500", placeName: "Wil SG", cantonCode: "SG" }, + { postalCode: "9501", placeName: "Wil SG 1", cantonCode: "SG" }, + { postalCode: "9512", placeName: "Rossrüti", cantonCode: "SG" }, + { postalCode: "9523", placeName: "Züberwangen", cantonCode: "SG" }, + { postalCode: "9524", placeName: "Zuzwil SG", cantonCode: "SG" }, + { postalCode: "9525", placeName: "Lenggenwil", cantonCode: "SG" }, + { postalCode: "9526", placeName: "Zuckenriet", cantonCode: "SG" }, + { postalCode: "9527", placeName: "Niederhelfenschwil", cantonCode: "SG" }, + { postalCode: "9532", placeName: "Rickenbach b. Wil", cantonCode: "SG" }, + { postalCode: "9536", placeName: "Schwarzenbach SG", cantonCode: "SG" }, + { postalCode: "9552", placeName: "Bronschhofen", cantonCode: "SG" }, + { postalCode: "9604", placeName: "Oberrindal", cantonCode: "SG" }, + { postalCode: "8213", placeName: "Neunkirch", cantonCode: "SH" }, + { postalCode: "8214", placeName: "Gächlingen", cantonCode: "SH" }, + { postalCode: "8224", placeName: "Löhningen", cantonCode: "SH" }, + { postalCode: "8234", placeName: "Stetten SH", cantonCode: "SH" }, + { postalCode: "8235", placeName: "Lohn SH", cantonCode: "SH" }, + { postalCode: "8236", placeName: "Opfertshofen SH", cantonCode: "SH" }, + { postalCode: "8236", placeName: "Büttenhardt", cantonCode: "SH" }, + { postalCode: "8239", placeName: "Dörflingen", cantonCode: "SH" }, + { postalCode: "8240", placeName: "Thayngen", cantonCode: "SH" }, + { postalCode: "8241", placeName: "Barzheim", cantonCode: "SH" }, + { postalCode: "8242", placeName: "Hofen SH", cantonCode: "SH" }, + { postalCode: "8242", placeName: "Bibern SH", cantonCode: "SH" }, + { postalCode: "8243", placeName: "Altdorf SH", cantonCode: "SH" }, + { postalCode: "8200", placeName: "Schaffhausen", cantonCode: "SH" }, + { postalCode: "8201", placeName: "Schaffhausen", cantonCode: "SH" }, + { postalCode: "8203", placeName: "Schaffhausen", cantonCode: "SH" }, + { postalCode: "8207", placeName: "Schaffhausen", cantonCode: "SH" }, + { postalCode: "8208", placeName: "Schaffhausen", cantonCode: "SH" }, + { postalCode: "8212", placeName: "Neuhausen am Rheinfall", cantonCode: "SH" }, + { postalCode: "8212", placeName: "Neuhausen am Rheinfall 1", cantonCode: "SH" }, + { postalCode: "8222", placeName: "Beringen", cantonCode: "SH" }, + { postalCode: "8223", placeName: "Guntmadingen", cantonCode: "SH" }, + { postalCode: "8231", placeName: "Hemmental", cantonCode: "SH" }, + { postalCode: "8232", placeName: "Merishausen", cantonCode: "SH" }, + { postalCode: "8233", placeName: "Bargen SH", cantonCode: "SH" }, + { postalCode: "8454", placeName: "Buchberg", cantonCode: "SH" }, + { postalCode: "8455", placeName: "Rüdlingen", cantonCode: "SH" }, + { postalCode: "8225", placeName: "Siblingen", cantonCode: "SH" }, + { postalCode: "8226", placeName: "Schleitheim", cantonCode: "SH" }, + { postalCode: "8228", placeName: "Beggingen", cantonCode: "SH" }, + { postalCode: "8260", placeName: "Stein am Rhein 2 Stadt", cantonCode: "SH" }, + { postalCode: "8260", placeName: "Stein am Rhein 1", cantonCode: "SH" }, + { postalCode: "8260", placeName: "Stein am Rhein", cantonCode: "SH" }, + { postalCode: "8261", placeName: "Hemishofen", cantonCode: "SH" }, + { postalCode: "8262", placeName: "Ramsen", cantonCode: "SH" }, + { postalCode: "8263", placeName: "Buch SH", cantonCode: "SH" }, + { postalCode: "8215", placeName: "Hallau", cantonCode: "SH" }, + { postalCode: "8216", placeName: "Oberhallau", cantonCode: "SH" }, + { postalCode: "8217", placeName: "Wilchingen", cantonCode: "SH" }, + { postalCode: "8218", placeName: "Osterfingen", cantonCode: "SH" }, + { postalCode: "8219", placeName: "Trasadingen", cantonCode: "SH" }, + { postalCode: "4622", placeName: "Egerkingen", cantonCode: "SO" }, + { postalCode: "4623", placeName: "Neuendorf", cantonCode: "SO" }, + { postalCode: "4624", placeName: "Härkingen", cantonCode: "SO" }, + { postalCode: "4625", placeName: "Oberbuchsiten", cantonCode: "SO" }, + { postalCode: "4626", placeName: "Niederbuchsiten", cantonCode: "SO" }, + { postalCode: "4628", placeName: "Wolfwil", cantonCode: "SO" }, + { postalCode: "4702", placeName: "Oensingen", cantonCode: "SO" }, + { postalCode: "4703", placeName: "Kestenholz", cantonCode: "SO" }, + { postalCode: "4710", placeName: "Balsthal", cantonCode: "SO" }, + { postalCode: "4712", placeName: "Laupersdorf", cantonCode: "SO" }, + { postalCode: "4713", placeName: "Matzendorf", cantonCode: "SO" }, + { postalCode: "4714", placeName: "Aedermannsdorf", cantonCode: "SO" }, + { postalCode: "4715", placeName: "Herbetswil", cantonCode: "SO" }, + { postalCode: "4716", placeName: "Gänsbrunnen", cantonCode: "SO" }, + { postalCode: "4716", placeName: "Welschenrohr", cantonCode: "SO" }, + { postalCode: "4717", placeName: "Mümliswil", cantonCode: "SO" }, + { postalCode: "4718", placeName: "Holderbank SO", cantonCode: "SO" }, + { postalCode: "4719", placeName: "Ramiswil", cantonCode: "SO" }, + { postalCode: "3253", placeName: "Schnottwil", cantonCode: "SO" }, + { postalCode: "3254", placeName: "Messen", cantonCode: "SO" }, + { postalCode: "3254", placeName: "Balm b. Messen", cantonCode: "SO" }, + { postalCode: "3307", placeName: "Brunnenthal", cantonCode: "SO" }, + { postalCode: "4571", placeName: "Lüterkofen", cantonCode: "SO" }, + { postalCode: "4571", placeName: "Ichertswil", cantonCode: "SO" }, + { postalCode: "4574", placeName: "Nennigkofen", cantonCode: "SO" }, + { postalCode: "4574", placeName: "Lüsslingen", cantonCode: "SO" }, + { postalCode: "4576", placeName: "Tscheppach", cantonCode: "SO" }, + { postalCode: "4577", placeName: "Hessigkofen", cantonCode: "SO" }, + { postalCode: "4578", placeName: "Bibern SO", cantonCode: "SO" }, + { postalCode: "4579", placeName: "Gossliwil", cantonCode: "SO" }, + { postalCode: "4581", placeName: "Küttigkofen", cantonCode: "SO" }, + { postalCode: "4582", placeName: "Brügglen", cantonCode: "SO" }, + { postalCode: "4583", placeName: "Aetigkofen", cantonCode: "SO" }, + { postalCode: "4583", placeName: "Mühledorf SO", cantonCode: "SO" }, + { postalCode: "4584", placeName: "Gächliwil", cantonCode: "SO" }, + { postalCode: "4584", placeName: "Lüterswil", cantonCode: "SO" }, + { postalCode: "4585", placeName: "Biezwil", cantonCode: "SO" }, + { postalCode: "4586", placeName: "Kyburg-Buchegg", cantonCode: "SO" }, + { postalCode: "4587", placeName: "Aetingen", cantonCode: "SO" }, + { postalCode: "4588", placeName: "Unterramsern", cantonCode: "SO" }, + { postalCode: "4588", placeName: "Oberramsern", cantonCode: "SO" }, + { postalCode: "4588", placeName: "Brittern", cantonCode: "SO" }, + { postalCode: "4108", placeName: "Witterswil", cantonCode: "SO" }, + { postalCode: "4112", placeName: "Bättwil-Flüh", cantonCode: "SO" }, + { postalCode: "4112", placeName: "Flüh", cantonCode: "SO" }, + { postalCode: "4112", placeName: "Bättwil", cantonCode: "SO" }, + { postalCode: "4114", placeName: "Hofstetten SO", cantonCode: "SO" }, + { postalCode: "4115", placeName: "Mariastein", cantonCode: "SO" }, + { postalCode: "4116", placeName: "Metzerlen", cantonCode: "SO" }, + { postalCode: "4118", placeName: "Rodersdorf", cantonCode: "SO" }, + { postalCode: "4143", placeName: "Dornach", cantonCode: "SO" }, + { postalCode: "4145", placeName: "Gempen", cantonCode: "SO" }, + { postalCode: "4146", placeName: "Hochwald", cantonCode: "SO" }, + { postalCode: "4206", placeName: "Seewen SO", cantonCode: "SO" }, + { postalCode: "4412", placeName: "Nuglar", cantonCode: "SO" }, + { postalCode: "4413", placeName: "Büren SO", cantonCode: "SO" }, + { postalCode: "4421", placeName: "St. Pantaleon", cantonCode: "SO" }, + { postalCode: "4468", placeName: "Kienberg", cantonCode: "SO" }, + { postalCode: "4632", placeName: "Trimbach", cantonCode: "SO" }, + { postalCode: "4633", placeName: "Hauenstein", cantonCode: "SO" }, + { postalCode: "4634", placeName: "Wisen SO", cantonCode: "SO" }, + { postalCode: "4652", placeName: "Winznau", cantonCode: "SO" }, + { postalCode: "4653", placeName: "Obergösgen", cantonCode: "SO" }, + { postalCode: "4654", placeName: "Lostorf", cantonCode: "SO" }, + { postalCode: "4655", placeName: "Rohr b. Olten", cantonCode: "SO" }, + { postalCode: "4655", placeName: "Stüsslingen", cantonCode: "SO" }, + { postalCode: "5013", placeName: "Niedergösgen", cantonCode: "SO" }, + { postalCode: "5015", placeName: "Erlinsbach SO", cantonCode: "SO" }, + { postalCode: "4528", placeName: "Zuchwil", cantonCode: "SO" }, + { postalCode: "4542", placeName: "Luterbach", cantonCode: "SO" }, + { postalCode: "4543", placeName: "Deitingen", cantonCode: "SO" }, + { postalCode: "4552", placeName: "Derendingen", cantonCode: "SO" }, + { postalCode: "4553", placeName: "Subingen", cantonCode: "SO" }, + { postalCode: "4554", placeName: "Hüniken", cantonCode: "SO" }, + { postalCode: "4554", placeName: "Etziken", cantonCode: "SO" }, + { postalCode: "4556", placeName: "Steinhof SO", cantonCode: "SO" }, + { postalCode: "4556", placeName: "Aeschi SO", cantonCode: "SO" }, + { postalCode: "4556", placeName: "Burgäschi", cantonCode: "SO" }, + { postalCode: "4556", placeName: "Bolken", cantonCode: "SO" }, + { postalCode: "4557", placeName: "Horriwil", cantonCode: "SO" }, + { postalCode: "4558", placeName: "Heinrichswil", cantonCode: "SO" }, + { postalCode: "4558", placeName: "Hersiwil", cantonCode: "SO" }, + { postalCode: "4558", placeName: "Winistorf", cantonCode: "SO" }, + { postalCode: "4562", placeName: "Biberist", cantonCode: "SO" }, + { postalCode: "4563", placeName: "Gerlafingen", cantonCode: "SO" }, + { postalCode: "4564", placeName: "Obergerlafingen", cantonCode: "SO" }, + { postalCode: "4565", placeName: "Recherswil", cantonCode: "SO" }, + { postalCode: "4566", placeName: "Kriegstetten", cantonCode: "SO" }, + { postalCode: "4566", placeName: "Halten", cantonCode: "SO" }, + { postalCode: "4566", placeName: "Oekingen", cantonCode: "SO" }, + { postalCode: "4573", placeName: "Lohn-Ammannsegg", cantonCode: "SO" }, + { postalCode: "2540", placeName: "Grenchen 1", cantonCode: "SO" }, + { postalCode: "2540", placeName: "Grenchen", cantonCode: "SO" }, + { postalCode: "2544", placeName: "Bettlach", cantonCode: "SO" }, + { postalCode: "2545", placeName: "Selzach", cantonCode: "SO" }, + { postalCode: "4512", placeName: "Bellach", cantonCode: "SO" }, + { postalCode: "4513", placeName: "Langendorf", cantonCode: "SO" }, + { postalCode: "4514", placeName: "Lommiswil", cantonCode: "SO" }, + { postalCode: "4515", placeName: "Oberdorf SO", cantonCode: "SO" }, + { postalCode: "4515", placeName: "Weissenstein b. Solothurn", cantonCode: "SO" }, + { postalCode: "4522", placeName: "Rüttenen", cantonCode: "SO" }, + { postalCode: "4523", placeName: "Niederwil SO", cantonCode: "SO" }, + { postalCode: "4524", placeName: "Oberbalmberg", cantonCode: "SO" }, + { postalCode: "4524", placeName: "Günsberg", cantonCode: "SO" }, + { postalCode: "4524", placeName: "Balmberg", cantonCode: "SO" }, + { postalCode: "4525", placeName: "Balm b. Günsberg", cantonCode: "SO" }, + { postalCode: "4532", placeName: "Feldbrunnen", cantonCode: "SO" }, + { postalCode: "4533", placeName: "Riedholz", cantonCode: "SO" }, + { postalCode: "4534", placeName: "Flumenthal", cantonCode: "SO" }, + { postalCode: "4535", placeName: "Hubersdorf", cantonCode: "SO" }, + { postalCode: "4535", placeName: "Kammersrohr", cantonCode: "SO" }, + { postalCode: "4600", placeName: "Olten", cantonCode: "SO" }, + { postalCode: "4601", placeName: "Olten 1 Fächer", cantonCode: "SO" }, + { postalCode: "4605", placeName: "Olten", cantonCode: "SO" }, + { postalCode: "4609", placeName: "Olten Sonderdienste", cantonCode: "SO" }, + { postalCode: "4609", placeName: "Olten", cantonCode: "SO" }, + { postalCode: "4612", placeName: "Wangen b. Olten", cantonCode: "SO" }, + { postalCode: "4613", placeName: "Rickenbach SO", cantonCode: "SO" }, + { postalCode: "4614", placeName: "Hägendorf", cantonCode: "SO" }, + { postalCode: "4615", placeName: "Allerheiligenberg", cantonCode: "SO" }, + { postalCode: "4616", placeName: "Kappel SO", cantonCode: "SO" }, + { postalCode: "4617", placeName: "Gunzgen", cantonCode: "SO" }, + { postalCode: "4618", placeName: "Boningen", cantonCode: "SO" }, + { postalCode: "4629", placeName: "Fulenbach", cantonCode: "SO" }, + { postalCode: "4656", placeName: "Starrkirch-Wil", cantonCode: "SO" }, + { postalCode: "4657", placeName: "Dulliken", cantonCode: "SO" }, + { postalCode: "4658", placeName: "Däniken SO", cantonCode: "SO" }, + { postalCode: "5012", placeName: "Schönenwerd", cantonCode: "SO" }, + { postalCode: "5012", placeName: "Wöschnau", cantonCode: "SO" }, + { postalCode: "5012", placeName: "Eppenberg", cantonCode: "SO" }, + { postalCode: "5014", placeName: "Gretzenbach", cantonCode: "SO" }, + { postalCode: "5746", placeName: "Walterswil SO", cantonCode: "SO" }, + { postalCode: "4500", placeName: "Solothurn", cantonCode: "SO" }, + { postalCode: "4501", placeName: "Solothurn", cantonCode: "SO" }, + { postalCode: "4502", placeName: "Solothurn", cantonCode: "SO" }, + { postalCode: "4503", placeName: "Solothurn", cantonCode: "SO" }, + { postalCode: "4509", placeName: "Solothurn", cantonCode: "SO" }, + { postalCode: "4204", placeName: "Himmelried", cantonCode: "SO" }, + { postalCode: "4208", placeName: "Nunningen", cantonCode: "SO" }, + { postalCode: "4226", placeName: "Breitenbach", cantonCode: "SO" }, + { postalCode: "4227", placeName: "Büsserach", cantonCode: "SO" }, + { postalCode: "4228", placeName: "Erschwil", cantonCode: "SO" }, + { postalCode: "4229", placeName: "Beinwil SO", cantonCode: "SO" }, + { postalCode: "4232", placeName: "Fehren", cantonCode: "SO" }, + { postalCode: "4233", placeName: "Meltingen", cantonCode: "SO" }, + { postalCode: "4234", placeName: "Zullwil", cantonCode: "SO" }, + { postalCode: "4245", placeName: "Kleinlützel", cantonCode: "SO" }, + { postalCode: "4247", placeName: "Grindel", cantonCode: "SO" }, + { postalCode: "4252", placeName: "Bärschwil", cantonCode: "SO" }, + { postalCode: "4252", placeName: "Bärschwil Dorf", cantonCode: "SO" }, + { postalCode: "8836", placeName: "Bennau", cantonCode: "SZ" }, + { postalCode: "8840", placeName: "Einsiedeln", cantonCode: "SZ" }, + { postalCode: "8840", placeName: "Trachslau", cantonCode: "SZ" }, + { postalCode: "8841", placeName: "Gross", cantonCode: "SZ" }, + { postalCode: "8844", placeName: "Euthal", cantonCode: "SZ" }, + { postalCode: "8846", placeName: "Willerzell", cantonCode: "SZ" }, + { postalCode: "8847", placeName: "Egg SZ", cantonCode: "SZ" }, + { postalCode: "6410", placeName: "Rigi Scheidegg", cantonCode: "SZ" }, + { postalCode: "6442", placeName: "Gersau", cantonCode: "SZ" }, + { postalCode: "8640", placeName: "Hurden", cantonCode: "SZ" }, + { postalCode: "8806", placeName: "Bäch SZ", cantonCode: "SZ" }, + { postalCode: "8807", placeName: "Freienbach", cantonCode: "SZ" }, + { postalCode: "8808", placeName: "Pfäffikon SZ", cantonCode: "SZ" }, + { postalCode: "8832", placeName: "Wilen b. Wollerau", cantonCode: "SZ" }, + { postalCode: "8832", placeName: "Wollerau", cantonCode: "SZ" }, + { postalCode: "8832", placeName: "Wollerau", cantonCode: "SZ" }, + { postalCode: "8834", placeName: "Schindellegi", cantonCode: "SZ" }, + { postalCode: "8835", placeName: "Feusisberg", cantonCode: "SZ" }, + { postalCode: "6402", placeName: "Merlischachen", cantonCode: "SZ" }, + { postalCode: "6403", placeName: "Küssnacht am Rigi", cantonCode: "SZ" }, + { postalCode: "6405", placeName: "Immensee", cantonCode: "SZ" }, + { postalCode: "8852", placeName: "Altendorf", cantonCode: "SZ" }, + { postalCode: "8853", placeName: "Lachen SZ", cantonCode: "SZ" }, + { postalCode: "8854", placeName: "Siebnen", cantonCode: "SZ" }, + { postalCode: "8854", placeName: "Galgenen", cantonCode: "SZ" }, + { postalCode: "8855", placeName: "Wangen SZ", cantonCode: "SZ" }, + { postalCode: "8856", placeName: "Tuggen", cantonCode: "SZ" }, + { postalCode: "8857", placeName: "Vorderthal", cantonCode: "SZ" }, + { postalCode: "8858", placeName: "Innerthal", cantonCode: "SZ" }, + { postalCode: "8862", placeName: "Schübelbach", cantonCode: "SZ" }, + { postalCode: "8863", placeName: "Buttikon SZ", cantonCode: "SZ" }, + { postalCode: "8864", placeName: "Reichenburg", cantonCode: "SZ" }, + { postalCode: "6410", placeName: "Rigi Klösterli", cantonCode: "SZ" }, + { postalCode: "6410", placeName: "Goldau", cantonCode: "SZ" }, + { postalCode: "6410", placeName: "Rigi Kulm", cantonCode: "SZ" }, + { postalCode: "6410", placeName: "Rigi Staffel", cantonCode: "SZ" }, + { postalCode: "6414", placeName: "Oberarth", cantonCode: "SZ" }, + { postalCode: "6415", placeName: "Arth", cantonCode: "SZ" }, + { postalCode: "6416", placeName: "Steinerberg", cantonCode: "SZ" }, + { postalCode: "6417", placeName: "Sattel", cantonCode: "SZ" }, + { postalCode: "6418", placeName: "Rothenthurm", cantonCode: "SZ" }, + { postalCode: "6422", placeName: "Steinen", cantonCode: "SZ" }, + { postalCode: "6423", placeName: "Seewen SZ", cantonCode: "SZ" }, + { postalCode: "6424", placeName: "Lauerz", cantonCode: "SZ" }, + { postalCode: "6430", placeName: "Schwyz", cantonCode: "SZ" }, + { postalCode: "6431", placeName: "Schwyz", cantonCode: "SZ" }, + { postalCode: "6432", placeName: "Rickenbach b. Schwyz", cantonCode: "SZ" }, + { postalCode: "6433", placeName: "Stoos SZ", cantonCode: "SZ" }, + { postalCode: "6434", placeName: "Illgau", cantonCode: "SZ" }, + { postalCode: "6436", placeName: "Bisisthal", cantonCode: "SZ" }, + { postalCode: "6436", placeName: "Muotathal", cantonCode: "SZ" }, + { postalCode: "6436", placeName: "Ried (Muotathal)", cantonCode: "SZ" }, + { postalCode: "6438", placeName: "Ibach", cantonCode: "SZ" }, + { postalCode: "6440", placeName: "Brunnen", cantonCode: "SZ" }, + { postalCode: "6443", placeName: "Morschach", cantonCode: "SZ" }, + { postalCode: "6452", placeName: "Riemenstalden", cantonCode: "SZ" }, + { postalCode: "8842", placeName: "Unteriberg", cantonCode: "SZ" }, + { postalCode: "8843", placeName: "Oberiberg", cantonCode: "SZ" }, + { postalCode: "8845", placeName: "Studen SZ", cantonCode: "SZ" }, + { postalCode: "8849", placeName: "Alpthal", cantonCode: "SZ" }, + { postalCode: "8580", placeName: "Hefenhofen", cantonCode: "TG" }, + { postalCode: "8580", placeName: "Biessenhofen", cantonCode: "TG" }, + { postalCode: "8580", placeName: "Hagenwil b. Amriswil", cantonCode: "TG" }, + { postalCode: "8580", placeName: "Amriswil", cantonCode: "TG" }, + { postalCode: "8580", placeName: "Sommeri", cantonCode: "TG" }, + { postalCode: "8581", placeName: "Schocherswil", cantonCode: "TG" }, + { postalCode: "8582", placeName: "Dozwil", cantonCode: "TG" }, + { postalCode: "8587", placeName: "Oberaach", cantonCode: "TG" }, + { postalCode: "8590", placeName: "Romanshorn", cantonCode: "TG" }, + { postalCode: "8592", placeName: "Uttwil", cantonCode: "TG" }, + { postalCode: "8593", placeName: "Kesswil", cantonCode: "TG" }, + { postalCode: "8599", placeName: "Salmsach", cantonCode: "TG" }, + { postalCode: "9306", placeName: "Freidorf TG", cantonCode: "TG" }, + { postalCode: "9314", placeName: "Steinebrunn", cantonCode: "TG" }, + { postalCode: "9315", placeName: "Winden", cantonCode: "TG" }, + { postalCode: "9315", placeName: "Neukirch (Egnach)", cantonCode: "TG" }, + { postalCode: "9320", placeName: "Arbon", cantonCode: "TG" }, + { postalCode: "9320", placeName: "Stachen", cantonCode: "TG" }, + { postalCode: "9320", placeName: "Frasnacht", cantonCode: "TG" }, + { postalCode: "9322", placeName: "Egnach", cantonCode: "TG" }, + { postalCode: "9325", placeName: "Roggwil TG", cantonCode: "TG" }, + { postalCode: "9326", placeName: "Horn", cantonCode: "TG" }, + { postalCode: "8252", placeName: "Schlatt TG", cantonCode: "TG" }, + { postalCode: "8253", placeName: "Diessenhofen", cantonCode: "TG" }, + { postalCode: "8253", placeName: "Willisdorf", cantonCode: "TG" }, + { postalCode: "8254", placeName: "Basadingen", cantonCode: "TG" }, + { postalCode: "8255", placeName: "Schlattingen", cantonCode: "TG" }, + { postalCode: "8259", placeName: "Wagenhausen", cantonCode: "TG" }, + { postalCode: "8259", placeName: "Rheinklingen", cantonCode: "TG" }, + { postalCode: "8259", placeName: "Etzwilen", cantonCode: "TG" }, + { postalCode: "8259", placeName: "Kaltenbach", cantonCode: "TG" }, + { postalCode: "8264", placeName: "Eschenz", cantonCode: "TG" }, + { postalCode: "8265", placeName: "Mammern", cantonCode: "TG" }, + { postalCode: "8266", placeName: "Steckborn", cantonCode: "TG" }, + { postalCode: "8267", placeName: "Berlingen", cantonCode: "TG" }, + { postalCode: "8500", placeName: "Gerlikon", cantonCode: "TG" }, + { postalCode: "8500", placeName: "Frauenfeld", cantonCode: "TG" }, + { postalCode: "8501", placeName: "Frauenfeld", cantonCode: "TG" }, + { postalCode: "8502", placeName: "Frauenfeld", cantonCode: "TG" }, + { postalCode: "8503", placeName: "Frauenfeld", cantonCode: "TG" }, + { postalCode: "8505", placeName: "Pfyn", cantonCode: "TG" }, + { postalCode: "8505", placeName: "Dettighofen", cantonCode: "TG" }, + { postalCode: "8506", placeName: "Lanzenneunforn", cantonCode: "TG" }, + { postalCode: "8507", placeName: "Hörhausen", cantonCode: "TG" }, + { postalCode: "8508", placeName: "Homburg", cantonCode: "TG" }, + { postalCode: "8509", placeName: "Frauenfeld", cantonCode: "TG" }, + { postalCode: "8510", placeName: "Frauenfeld Kant. Verwaltung", cantonCode: "TG" }, + { postalCode: "8510", placeName: "Frauenfeld", cantonCode: "TG" }, + { postalCode: "8512", placeName: "Thundorf", cantonCode: "TG" }, + { postalCode: "8512", placeName: "Wetzikon TG", cantonCode: "TG" }, + { postalCode: "8512", placeName: "Lustdorf", cantonCode: "TG" }, + { postalCode: "8524", placeName: "Buch b. Frauenfeld", cantonCode: "TG" }, + { postalCode: "8524", placeName: "Uesslingen", cantonCode: "TG" }, + { postalCode: "8525", placeName: "Wilen b. Neunforn", cantonCode: "TG" }, + { postalCode: "8525", placeName: "Niederneunforn", cantonCode: "TG" }, + { postalCode: "8526", placeName: "Oberneunforn", cantonCode: "TG" }, + { postalCode: "8532", placeName: "Weiningen TG", cantonCode: "TG" }, + { postalCode: "8532", placeName: "Warth", cantonCode: "TG" }, + { postalCode: "8535", placeName: "Herdern", cantonCode: "TG" }, + { postalCode: "8536", placeName: "Hüttwilen", cantonCode: "TG" }, + { postalCode: "8537", placeName: "Uerschhausen", cantonCode: "TG" }, + { postalCode: "8537", placeName: "Nussbaumen TG", cantonCode: "TG" }, + { postalCode: "8546", placeName: "Kefikon TG", cantonCode: "TG" }, + { postalCode: "8546", placeName: "Islikon", cantonCode: "TG" }, + { postalCode: "8547", placeName: "Gachnang", cantonCode: "TG" }, + { postalCode: "8552", placeName: "Felben-Wellhausen", cantonCode: "TG" }, + { postalCode: "8553", placeName: "Eschikofen", cantonCode: "TG" }, + { postalCode: "8553", placeName: "Hüttlingen", cantonCode: "TG" }, + { postalCode: "8553", placeName: "Mettendorf TG", cantonCode: "TG" }, + { postalCode: "8553", placeName: "Harenwilen", cantonCode: "TG" }, + { postalCode: "8555", placeName: "Müllheim Dorf", cantonCode: "TG" }, + { postalCode: "9507", placeName: "Stettfurt", cantonCode: "TG" }, + { postalCode: "9548", placeName: "Matzingen", cantonCode: "TG" }, + { postalCode: "8268", placeName: "Mannenbach-Salenstein", cantonCode: "TG" }, + { postalCode: "8268", placeName: "Salenstein", cantonCode: "TG" }, + { postalCode: "8269", placeName: "Fruthwilen", cantonCode: "TG" }, + { postalCode: "8272", placeName: "Ermatingen", cantonCode: "TG" }, + { postalCode: "8273", placeName: "Triboltingen", cantonCode: "TG" }, + { postalCode: "8274", placeName: "Gottlieben", cantonCode: "TG" }, + { postalCode: "8274", placeName: "Tägerwilen", cantonCode: "TG" }, + { postalCode: "8280", placeName: "Kreuzlingen", cantonCode: "TG" }, + { postalCode: "8280", placeName: "Kreuzlingen 1", cantonCode: "TG" }, + { postalCode: "8280", placeName: "Kreuzlingen 3", cantonCode: "TG" }, + { postalCode: "8285", placeName: "Kreuzlingen Ifolor", cantonCode: "TG" }, + { postalCode: "8285", placeName: "Kreuzlingen Ifolor AG", cantonCode: "TG" }, + { postalCode: "8558", placeName: "Raperswilen", cantonCode: "TG" }, + { postalCode: "8564", placeName: "Engwilen", cantonCode: "TG" }, + { postalCode: "8564", placeName: "Sonterswil", cantonCode: "TG" }, + { postalCode: "8564", placeName: "Gunterswilen", cantonCode: "TG" }, + { postalCode: "8564", placeName: "Hefenhausen", cantonCode: "TG" }, + { postalCode: "8564", placeName: "Lipperswil", cantonCode: "TG" }, + { postalCode: "8564", placeName: "Hattenhausen", cantonCode: "TG" }, + { postalCode: "8564", placeName: "Wäldi", cantonCode: "TG" }, + { postalCode: "8565", placeName: "Hugelshofen", cantonCode: "TG" }, + { postalCode: "8566", placeName: "Ellighausen", cantonCode: "TG" }, + { postalCode: "8566", placeName: "Neuwilen", cantonCode: "TG" }, + { postalCode: "8566", placeName: "Lippoldswilen", cantonCode: "TG" }, + { postalCode: "8566", placeName: "Dotnacht", cantonCode: "TG" }, + { postalCode: "8573", placeName: "Siegershausen", cantonCode: "TG" }, + { postalCode: "8573", placeName: "Alterswilen", cantonCode: "TG" }, + { postalCode: "8573", placeName: "Altishausen", cantonCode: "TG" }, + { postalCode: "8574", placeName: "Illighausen", cantonCode: "TG" }, + { postalCode: "8574", placeName: "Lengwil", cantonCode: "TG" }, + { postalCode: "8574", placeName: "Lengwil", cantonCode: "TG" }, + { postalCode: "8574", placeName: "Dettighofen (Lengwil)", cantonCode: "TG" }, + { postalCode: "8574", placeName: "Oberhofen TG", cantonCode: "TG" }, + { postalCode: "8585", placeName: "Langrickenbach", cantonCode: "TG" }, + { postalCode: "8585", placeName: "Schönenbaumgarten", cantonCode: "TG" }, + { postalCode: "8585", placeName: "Zuben", cantonCode: "TG" }, + { postalCode: "8585", placeName: "Herrenhof", cantonCode: "TG" }, + { postalCode: "8594", placeName: "Güttingen", cantonCode: "TG" }, + { postalCode: "8595", placeName: "Altnau", cantonCode: "TG" }, + { postalCode: "8596", placeName: "Scherzingen", cantonCode: "TG" }, + { postalCode: "8596", placeName: "Münsterlingen", cantonCode: "TG" }, + { postalCode: "8597", placeName: "Landschlacht", cantonCode: "TG" }, + { postalCode: "8598", placeName: "Bottighofen", cantonCode: "TG" }, + { postalCode: "8355", placeName: "Aadorf", cantonCode: "TG" }, + { postalCode: "8356", placeName: "Ettenhausen TG", cantonCode: "TG" }, + { postalCode: "8357", placeName: "Guntershausen b. Aadorf", cantonCode: "TG" }, + { postalCode: "8360", placeName: "Eschlikon TG", cantonCode: "TG" }, + { postalCode: "8360", placeName: "Wallenwil", cantonCode: "TG" }, + { postalCode: "8362", placeName: "Balterswil", cantonCode: "TG" }, + { postalCode: "8363", placeName: "Bichelsee", cantonCode: "TG" }, + { postalCode: "8370", placeName: "Sirnach", cantonCode: "TG" }, + { postalCode: "8371", placeName: "Busswil TG", cantonCode: "TG" }, + { postalCode: "8372", placeName: "Wiezikon b. Sirnach", cantonCode: "TG" }, + { postalCode: "8374", placeName: "Dussnang", cantonCode: "TG" }, + { postalCode: "8374", placeName: "Oberwangen TG", cantonCode: "TG" }, + { postalCode: "8376", placeName: "Fischingen", cantonCode: "TG" }, + { postalCode: "8376", placeName: "Au TG", cantonCode: "TG" }, + { postalCode: "8522", placeName: "Aawangen", cantonCode: "TG" }, + { postalCode: "8522", placeName: "Häuslenen", cantonCode: "TG" }, + { postalCode: "9502", placeName: "Braunau", cantonCode: "TG" }, + { postalCode: "9506", placeName: "Lommis", cantonCode: "TG" }, + { postalCode: "9508", placeName: "Weingarten-Kalthäusern", cantonCode: "TG" }, + { postalCode: "9532", placeName: "Rickenbach b. Wil", cantonCode: "TG" }, + { postalCode: "9535", placeName: "Wilen b. Wil", cantonCode: "TG" }, + { postalCode: "9542", placeName: "Münchwilen TG", cantonCode: "TG" }, + { postalCode: "9543", placeName: "St. Margarethen TG", cantonCode: "TG" }, + { postalCode: "9545", placeName: "Wängi", cantonCode: "TG" }, + { postalCode: "9546", placeName: "Tuttwil", cantonCode: "TG" }, + { postalCode: "9547", placeName: "Wittenwil", cantonCode: "TG" }, + { postalCode: "9553", placeName: "Bettwiesen", cantonCode: "TG" }, + { postalCode: "9554", placeName: "Tägerschen", cantonCode: "TG" }, + { postalCode: "9555", placeName: "Tobel", cantonCode: "TG" }, + { postalCode: "9573", placeName: "Littenheid", cantonCode: "TG" }, + { postalCode: "8514", placeName: "Amlikon-Bissegg", cantonCode: "TG" }, + { postalCode: "8554", placeName: "Bonau", cantonCode: "TG" }, + { postalCode: "8554", placeName: "Müllheim-Wigoltingen", cantonCode: "TG" }, + { postalCode: "8556", placeName: "Illhart", cantonCode: "TG" }, + { postalCode: "8556", placeName: "Lamperswil TG", cantonCode: "TG" }, + { postalCode: "8556", placeName: "Engwang", cantonCode: "TG" }, + { postalCode: "8556", placeName: "Wigoltingen", cantonCode: "TG" }, + { postalCode: "8560", placeName: "Märstetten", cantonCode: "TG" }, + { postalCode: "8561", placeName: "Ottoberg", cantonCode: "TG" }, + { postalCode: "8564", placeName: "Wagerswil", cantonCode: "TG" }, + { postalCode: "8570", placeName: "Weinfelden", cantonCode: "TG" }, + { postalCode: "8572", placeName: "Graltshausen", cantonCode: "TG" }, + { postalCode: "8572", placeName: "Andhausen", cantonCode: "TG" }, + { postalCode: "8572", placeName: "Guntershausen b. Berg", cantonCode: "TG" }, + { postalCode: "8572", placeName: "Berg TG", cantonCode: "TG" }, + { postalCode: "8572", placeName: "Berg TG", cantonCode: "TG" }, + { postalCode: "8575", placeName: "Bürglen TG", cantonCode: "TG" }, + { postalCode: "8575", placeName: "Istighofen", cantonCode: "TG" }, + { postalCode: "8576", placeName: "Mauren TG", cantonCode: "TG" }, + { postalCode: "8577", placeName: "Schönholzerswilen", cantonCode: "TG" }, + { postalCode: "8583", placeName: "Donzhausen", cantonCode: "TG" }, + { postalCode: "8583", placeName: "Sulgen", cantonCode: "TG" }, + { postalCode: "8583", placeName: "Götighofen", cantonCode: "TG" }, + { postalCode: "8584", placeName: "Opfershofen TG", cantonCode: "TG" }, + { postalCode: "8584", placeName: "Leimbach TG", cantonCode: "TG" }, + { postalCode: "8585", placeName: "Klarsreuti", cantonCode: "TG" }, + { postalCode: "8585", placeName: "Happerswil", cantonCode: "TG" }, + { postalCode: "8585", placeName: "Birwinken", cantonCode: "TG" }, + { postalCode: "8585", placeName: "Mattwil", cantonCode: "TG" }, + { postalCode: "8586", placeName: "Buchackern", cantonCode: "TG" }, + { postalCode: "8586", placeName: "Andwil TG", cantonCode: "TG" }, + { postalCode: "8586", placeName: "Ennetaach", cantonCode: "TG" }, + { postalCode: "8586", placeName: "Buch b. Kümmertshausen", cantonCode: "TG" }, + { postalCode: "8586", placeName: "Riedt b. Erlen", cantonCode: "TG" }, + { postalCode: "8586", placeName: "Engishofen", cantonCode: "TG" }, + { postalCode: "8586", placeName: "Kümmertshausen", cantonCode: "TG" }, + { postalCode: "8586", placeName: "Erlen", cantonCode: "TG" }, + { postalCode: "8588", placeName: "Zihlschlacht", cantonCode: "TG" }, + { postalCode: "8589", placeName: "Sitterdorf", cantonCode: "TG" }, + { postalCode: "9213", placeName: "Hauptwil", cantonCode: "TG" }, + { postalCode: "9214", placeName: "Kradolf", cantonCode: "TG" }, + { postalCode: "9215", placeName: "Buhwil", cantonCode: "TG" }, + { postalCode: "9215", placeName: "Schönenberg an der Thur", cantonCode: "TG" }, + { postalCode: "9216", placeName: "Hohentannen", cantonCode: "TG" }, + { postalCode: "9216", placeName: "Heldswil", cantonCode: "TG" }, + { postalCode: "9217", placeName: "Neukirch an der Thur", cantonCode: "TG" }, + { postalCode: "9220", placeName: "Bischofszell", cantonCode: "TG" }, + { postalCode: "9223", placeName: "Schweizersholz", cantonCode: "TG" }, + { postalCode: "9223", placeName: "Halden", cantonCode: "TG" }, + { postalCode: "9225", placeName: "Wilen (Gottshaus)", cantonCode: "TG" }, + { postalCode: "9225", placeName: "St. Pelagiberg", cantonCode: "TG" }, + { postalCode: "9503", placeName: "Lanterswil", cantonCode: "TG" }, + { postalCode: "9503", placeName: "Stehrenberg", cantonCode: "TG" }, + { postalCode: "9504", placeName: "Friltschen", cantonCode: "TG" }, + { postalCode: "9514", placeName: "Wuppenau", cantonCode: "TG" }, + { postalCode: "9515", placeName: "Hosenruck", cantonCode: "TG" }, + { postalCode: "9517", placeName: "Mettlen", cantonCode: "TG" }, + { postalCode: "9556", placeName: "Zezikon", cantonCode: "TG" }, + { postalCode: "9556", placeName: "Affeltrangen", cantonCode: "TG" }, + { postalCode: "9562", placeName: "Märwil", cantonCode: "TG" }, + { postalCode: "9562", placeName: "Buch b. Märwil", cantonCode: "TG" }, + { postalCode: "9565", placeName: "Schmidshof", cantonCode: "TG" }, + { postalCode: "9565", placeName: "Rothenhausen", cantonCode: "TG" }, + { postalCode: "9565", placeName: "Oberbussnang", cantonCode: "TG" }, + { postalCode: "9565", placeName: "Oppikon", cantonCode: "TG" }, + { postalCode: "9565", placeName: "Bussnang", cantonCode: "TG" }, + { postalCode: "6500", placeName: "Bellinzona 4", cantonCode: "TI" }, + { postalCode: "6500", placeName: "Bellinzona", cantonCode: "TI" }, + { postalCode: "6500", placeName: "Bellinzona 2", cantonCode: "TI" }, + { postalCode: "6500", placeName: "Bellinzona 5", cantonCode: "TI" }, + { postalCode: "6500", placeName: "Bellinzona VZ", cantonCode: "TI" }, + { postalCode: "6501", placeName: "Bellinzona", cantonCode: "TI" }, + { postalCode: "6503", placeName: "Bellinzona", cantonCode: "TI" }, + { postalCode: "6512", placeName: "Giubiasco", cantonCode: "TI" }, + { postalCode: "6513", placeName: "Monte Carasso", cantonCode: "TI" }, + { postalCode: "6514", placeName: "Sementina", cantonCode: "TI" }, + { postalCode: "6515", placeName: "Gudo", cantonCode: "TI" }, + { postalCode: "6517", placeName: "Arbedo", cantonCode: "TI" }, + { postalCode: "6518", placeName: "Gorduno", cantonCode: "TI" }, + { postalCode: "6523", placeName: "Preonzo", cantonCode: "TI" }, + { postalCode: "6524", placeName: "Moleno", cantonCode: "TI" }, + { postalCode: "6525", placeName: "Gnosca", cantonCode: "TI" }, + { postalCode: "6528", placeName: "Camorino", cantonCode: "TI" }, + { postalCode: "6532", placeName: "Castione", cantonCode: "TI" }, + { postalCode: "6533", placeName: "Lumino", cantonCode: "TI" }, + { postalCode: "6582", placeName: "Pianezzo", cantonCode: "TI" }, + { postalCode: "6583", placeName: "S. Antonio (Val Morobbia)", cantonCode: "TI" }, + { postalCode: "6584", placeName: "Carena", cantonCode: "TI" }, + { postalCode: "6592", placeName: "S. Antonino", cantonCode: "TI" }, + { postalCode: "6593", placeName: "Cadenazzo", cantonCode: "TI" }, + { postalCode: "6599", placeName: "Robasacco", cantonCode: "TI" }, + { postalCode: "6702", placeName: "Claro", cantonCode: "TI" }, + { postalCode: "6809", placeName: "Medeglia", cantonCode: "TI" }, + { postalCode: "6810", placeName: "Isone", cantonCode: "TI" }, + { postalCode: "6713", placeName: "Malvaglia", cantonCode: "TI" }, + { postalCode: "6714", placeName: "Semione", cantonCode: "TI" }, + { postalCode: "6715", placeName: "Dongio", cantonCode: "TI" }, + { postalCode: "6716", placeName: "Acquarossa", cantonCode: "TI" }, + { postalCode: "6716", placeName: "Leontica", cantonCode: "TI" }, + { postalCode: "6716", placeName: "Lottigna", cantonCode: "TI" }, + { postalCode: "6717", placeName: "Dangio", cantonCode: "TI" }, + { postalCode: "6717", placeName: "Torre", cantonCode: "TI" }, + { postalCode: "6718", placeName: "Camperio", cantonCode: "TI" }, + { postalCode: "6718", placeName: "Olivone", cantonCode: "TI" }, + { postalCode: "6719", placeName: "Aquila", cantonCode: "TI" }, + { postalCode: "6719", placeName: "Aquila", cantonCode: "TI" }, + { postalCode: "6719", placeName: "Aquila", cantonCode: "TI" }, + { postalCode: "6720", placeName: "Ghirone", cantonCode: "TI" }, + { postalCode: "6720", placeName: "Campo (Blenio)", cantonCode: "TI" }, + { postalCode: "6721", placeName: "Motto (Blenio)", cantonCode: "TI" }, + { postalCode: "6721", placeName: "Ludiano", cantonCode: "TI" }, + { postalCode: "6722", placeName: "Corzoneso", cantonCode: "TI" }, + { postalCode: "6723", placeName: "Prugiasco", cantonCode: "TI" }, + { postalCode: "6723", placeName: "Castro", cantonCode: "TI" }, + { postalCode: "6723", placeName: "Marolta", cantonCode: "TI" }, + { postalCode: "6724", placeName: "Largario", cantonCode: "TI" }, + { postalCode: "6724", placeName: "Ponto Valentino", cantonCode: "TI" }, + { postalCode: "6742", placeName: "Pollegio", cantonCode: "TI" }, + { postalCode: "6743", placeName: "Bodio TI", cantonCode: "TI" }, + { postalCode: "6744", placeName: "Personico", cantonCode: "TI" }, + { postalCode: "6745", placeName: "Giornico", cantonCode: "TI" }, + { postalCode: "6746", placeName: "Calonico", cantonCode: "TI" }, + { postalCode: "6746", placeName: "Lavorgo", cantonCode: "TI" }, + { postalCode: "6746", placeName: "Nivo", cantonCode: "TI" }, + { postalCode: "6747", placeName: "Chironico", cantonCode: "TI" }, + { postalCode: "6748", placeName: "Anzonico", cantonCode: "TI" }, + { postalCode: "6749", placeName: "Sobrio", cantonCode: "TI" }, + { postalCode: "6749", placeName: "Cavagnago", cantonCode: "TI" }, + { postalCode: "6760", placeName: "Calpiogna", cantonCode: "TI" }, + { postalCode: "6760", placeName: "Campello", cantonCode: "TI" }, + { postalCode: "6760", placeName: "Rossura", cantonCode: "TI" }, + { postalCode: "6760", placeName: "Faido", cantonCode: "TI" }, + { postalCode: "6760", placeName: "Carì", cantonCode: "TI" }, + { postalCode: "6760", placeName: "Molare", cantonCode: "TI" }, + { postalCode: "6763", placeName: "Mairengo", cantonCode: "TI" }, + { postalCode: "6763", placeName: "Osco", cantonCode: "TI" }, + { postalCode: "6764", placeName: "Chiggiogna", cantonCode: "TI" }, + { postalCode: "6764", placeName: "Chiggiogna", cantonCode: "TI" }, + { postalCode: "6772", placeName: "Rodi-Fiesso", cantonCode: "TI" }, + { postalCode: "6773", placeName: "Prato (Leventina)", cantonCode: "TI" }, + { postalCode: "6774", placeName: "Dalpe", cantonCode: "TI" }, + { postalCode: "6775", placeName: "Ambrì", cantonCode: "TI" }, + { postalCode: "6776", placeName: "Piotta", cantonCode: "TI" }, + { postalCode: "6777", placeName: "Varenzo", cantonCode: "TI" }, + { postalCode: "6777", placeName: "Quinto", cantonCode: "TI" }, + { postalCode: "6780", placeName: "Madrano", cantonCode: "TI" }, + { postalCode: "6780", placeName: "Airolo", cantonCode: "TI" }, + { postalCode: "6781", placeName: "Bedretto", cantonCode: "TI" }, + { postalCode: "6781", placeName: "Villa Bedretto", cantonCode: "TI" }, + { postalCode: "6516", placeName: "Cugnasco", cantonCode: "TI" }, + { postalCode: "6571", placeName: "Indemini", cantonCode: "TI" }, + { postalCode: "6572", placeName: "Quartino", cantonCode: "TI" }, + { postalCode: "6573", placeName: "Magadino", cantonCode: "TI" }, + { postalCode: "6574", placeName: "Vira (Gambarogno)", cantonCode: "TI" }, + { postalCode: "6575", placeName: "S. Nazzaro", cantonCode: "TI" }, + { postalCode: "6575", placeName: "Vairano", cantonCode: "TI" }, + { postalCode: "6576", placeName: "Gerra (Gambarogno)", cantonCode: "TI" }, + { postalCode: "6577", placeName: "Ranzo", cantonCode: "TI" }, + { postalCode: "6578", placeName: "Caviano", cantonCode: "TI" }, + { postalCode: "6579", placeName: "Piazzogna", cantonCode: "TI" }, + { postalCode: "6594", placeName: "Contone", cantonCode: "TI" }, + { postalCode: "6595", placeName: "Riazzino", cantonCode: "TI" }, + { postalCode: "6596", placeName: "Gordola", cantonCode: "TI" }, + { postalCode: "6597", placeName: "Agarone", cantonCode: "TI" }, + { postalCode: "6598", placeName: "Tenero", cantonCode: "TI" }, + { postalCode: "6600", placeName: "Muralto", cantonCode: "TI" }, + { postalCode: "6600", placeName: "Locarno", cantonCode: "TI" }, + { postalCode: "6600", placeName: "Locarno", cantonCode: "TI" }, + { postalCode: "6600", placeName: "Solduno", cantonCode: "TI" }, + { postalCode: "6601", placeName: "Locarno", cantonCode: "TI" }, + { postalCode: "6602", placeName: "Muralto", cantonCode: "TI" }, + { postalCode: "6604", placeName: "Locarno", cantonCode: "TI" }, + { postalCode: "6605", placeName: "Locarno", cantonCode: "TI" }, + { postalCode: "6611", placeName: "Crana", cantonCode: "TI" }, + { postalCode: "6611", placeName: "Mosogno", cantonCode: "TI" }, + { postalCode: "6611", placeName: "Gresso", cantonCode: "TI" }, + { postalCode: "6612", placeName: "Ascona", cantonCode: "TI" }, + { postalCode: "6613", placeName: "Porto Ronco", cantonCode: "TI" }, + { postalCode: "6614", placeName: "Isole di Brissago", cantonCode: "TI" }, + { postalCode: "6614", placeName: "Brissago", cantonCode: "TI" }, + { postalCode: "6616", placeName: "Losone", cantonCode: "TI" }, + { postalCode: "6618", placeName: "Arcegno", cantonCode: "TI" }, + { postalCode: "6622", placeName: "Ronco sopra Ascona", cantonCode: "TI" }, + { postalCode: "6631", placeName: "Corippo", cantonCode: "TI" }, + { postalCode: "6632", placeName: "Vogorno", cantonCode: "TI" }, + { postalCode: "6633", placeName: "Lavertezzo", cantonCode: "TI" }, + { postalCode: "6634", placeName: "Brione (Verzasca)", cantonCode: "TI" }, + { postalCode: "6635", placeName: "Gerra (Verzasca)", cantonCode: "TI" }, + { postalCode: "6636", placeName: "Frasco", cantonCode: "TI" }, + { postalCode: "6637", placeName: "Sonogno", cantonCode: "TI" }, + { postalCode: "6644", placeName: "Orselina", cantonCode: "TI" }, + { postalCode: "6645", placeName: "Brione sopra Minusio", cantonCode: "TI" }, + { postalCode: "6646", placeName: "Contra", cantonCode: "TI" }, + { postalCode: "6647", placeName: "Mergoscia", cantonCode: "TI" }, + { postalCode: "6648", placeName: "Minusio", cantonCode: "TI" }, + { postalCode: "6652", placeName: "Tegna", cantonCode: "TI" }, + { postalCode: "6653", placeName: "Verscio", cantonCode: "TI" }, + { postalCode: "6654", placeName: "Cavigliano", cantonCode: "TI" }, + { postalCode: "6655", placeName: "Rasa", cantonCode: "TI" }, + { postalCode: "6655", placeName: "Intragna", cantonCode: "TI" }, + { postalCode: "6655", placeName: "Verdasio", cantonCode: "TI" }, + { postalCode: "6656", placeName: "Golino", cantonCode: "TI" }, + { postalCode: "6657", placeName: "Palagnedra", cantonCode: "TI" }, + { postalCode: "6658", placeName: "Borgnone", cantonCode: "TI" }, + { postalCode: "6659", placeName: "Camedo", cantonCode: "TI" }, + { postalCode: "6659", placeName: "Moneto", cantonCode: "TI" }, + { postalCode: "6661", placeName: "Berzona", cantonCode: "TI" }, + { postalCode: "6661", placeName: "Loco", cantonCode: "TI" }, + { postalCode: "6661", placeName: "Auressio", cantonCode: "TI" }, + { postalCode: "6662", placeName: "Russo", cantonCode: "TI" }, + { postalCode: "6663", placeName: "Spruga", cantonCode: "TI" }, + { postalCode: "6663", placeName: "Comologno", cantonCode: "TI" }, + { postalCode: "6664", placeName: "Vergeletto", cantonCode: "TI" }, + { postalCode: "6802", placeName: "Rivera", cantonCode: "TI" }, + { postalCode: "6803", placeName: "Camignolo", cantonCode: "TI" }, + { postalCode: "6804", placeName: "Bironico", cantonCode: "TI" }, + { postalCode: "6805", placeName: "Mezzovico", cantonCode: "TI" }, + { postalCode: "6805", placeName: "Mezzovico", cantonCode: "TI" }, + { postalCode: "6806", placeName: "Sigirino", cantonCode: "TI" }, + { postalCode: "6807", placeName: "Taverne", cantonCode: "TI" }, + { postalCode: "6807", placeName: "Taverne", cantonCode: "TI" }, + { postalCode: "6808", placeName: "Torricella", cantonCode: "TI" }, + { postalCode: "6809", placeName: "Medeglia", cantonCode: "TI" }, + { postalCode: "6814", placeName: "Cadempino", cantonCode: "TI" }, + { postalCode: "6814", placeName: "Lamone", cantonCode: "TI" }, + { postalCode: "6814", placeName: "Lamone-Cadempino", cantonCode: "TI" }, + { postalCode: "6815", placeName: "Melide", cantonCode: "TI" }, + { postalCode: "6816", placeName: "Bissone", cantonCode: "TI" }, + { postalCode: "6817", placeName: "Maroggia", cantonCode: "TI" }, + { postalCode: "6818", placeName: "Melano", cantonCode: "TI" }, + { postalCode: "6821", placeName: "Rovio", cantonCode: "TI" }, + { postalCode: "6822", placeName: "Arogno", cantonCode: "TI" }, + { postalCode: "6823", placeName: "Pugerna", cantonCode: "TI" }, + { postalCode: "6825", placeName: "Capolago", cantonCode: "TI" }, + { postalCode: "6827", placeName: "Brusino Arsizio", cantonCode: "TI" }, + { postalCode: "6867", placeName: "Serpiano", cantonCode: "TI" }, + { postalCode: "6900", placeName: "Paradiso", cantonCode: "TI" }, + { postalCode: "6900", placeName: "Lugano", cantonCode: "TI" }, + { postalCode: "6900", placeName: "Massagno", cantonCode: "TI" }, + { postalCode: "6901", placeName: "Lugano", cantonCode: "TI" }, + { postalCode: "6902", placeName: "Lugano 2 Caselle", cantonCode: "TI" }, + { postalCode: "6902", placeName: "Lugano 2 Paradiso Caselle", cantonCode: "TI" }, + { postalCode: "6903", placeName: "Lugano", cantonCode: "TI" }, + { postalCode: "6904", placeName: "Lugano 4 Caselle", cantonCode: "TI" }, + { postalCode: "6904", placeName: "Lugano 4 Molino Nuovo Casel", cantonCode: "TI" }, + { postalCode: "6906", placeName: "Lugano 6 Caselle", cantonCode: "TI" }, + { postalCode: "6906", placeName: "Lugano 6 Cassarate Caselle", cantonCode: "TI" }, + { postalCode: "6907", placeName: "Lugano 7 Caselle", cantonCode: "TI" }, + { postalCode: "6908", placeName: "Massagno Caselle", cantonCode: "TI" }, + { postalCode: "6912", placeName: "Pazzallo", cantonCode: "TI" }, + { postalCode: "6913", placeName: "Carabbia", cantonCode: "TI" }, + { postalCode: "6914", placeName: "Carona", cantonCode: "TI" }, + { postalCode: "6915", placeName: "Pambio-Noranco", cantonCode: "TI" }, + { postalCode: "6916", placeName: "Grancia", cantonCode: "TI" }, + { postalCode: "6917", placeName: "Barbengo", cantonCode: "TI" }, + { postalCode: "6918", placeName: "Figino", cantonCode: "TI" }, + { postalCode: "6919", placeName: "Carabietta", cantonCode: "TI" }, + { postalCode: "6921", placeName: "Vico Morcote", cantonCode: "TI" }, + { postalCode: "6922", placeName: "Morcote", cantonCode: "TI" }, + { postalCode: "6924", placeName: "Sorengo", cantonCode: "TI" }, + { postalCode: "6925", placeName: "Gentilino", cantonCode: "TI" }, + { postalCode: "6926", placeName: "Montagnola", cantonCode: "TI" }, + { postalCode: "6927", placeName: "Agra", cantonCode: "TI" }, + { postalCode: "6928", placeName: "Manno", cantonCode: "TI" }, + { postalCode: "6929", placeName: "Gravesano", cantonCode: "TI" }, + { postalCode: "6930", placeName: "Bedano", cantonCode: "TI" }, + { postalCode: "6932", placeName: "Breganzona", cantonCode: "TI" }, + { postalCode: "6933", placeName: "Muzzano", cantonCode: "TI" }, + { postalCode: "6934", placeName: "Bioggio", cantonCode: "TI" }, + { postalCode: "6935", placeName: "Bosco Luganese", cantonCode: "TI" }, + { postalCode: "6936", placeName: "Cademario", cantonCode: "TI" }, + { postalCode: "6937", placeName: "Breno", cantonCode: "TI" }, + { postalCode: "6938", placeName: "Fescoggia", cantonCode: "TI" }, + { postalCode: "6938", placeName: "Vezio", cantonCode: "TI" }, + { postalCode: "6939", placeName: "Mugena", cantonCode: "TI" }, + { postalCode: "6939", placeName: "Arosio-Mugena", cantonCode: "TI" }, + { postalCode: "6939", placeName: "Arosio", cantonCode: "TI" }, + { postalCode: "6942", placeName: "Savosa", cantonCode: "TI" }, + { postalCode: "6943", placeName: "Vezia", cantonCode: "TI" }, + { postalCode: "6944", placeName: "Cureglia", cantonCode: "TI" }, + { postalCode: "6945", placeName: "Origlio", cantonCode: "TI" }, + { postalCode: "6946", placeName: "Ponte Capriasca", cantonCode: "TI" }, + { postalCode: "6946", placeName: "Ponte Capriasca", cantonCode: "TI" }, + { postalCode: "6947", placeName: "Vaglio", cantonCode: "TI" }, + { postalCode: "6948", placeName: "Porza", cantonCode: "TI" }, + { postalCode: "6949", placeName: "Comano", cantonCode: "TI" }, + { postalCode: "6950", placeName: "Tesserete", cantonCode: "TI" }, + { postalCode: "6951", placeName: "Insone", cantonCode: "TI" }, + { postalCode: "6951", placeName: "Scareglia", cantonCode: "TI" }, + { postalCode: "6951", placeName: "Bogno", cantonCode: "TI" }, + { postalCode: "6951", placeName: "Cozzo", cantonCode: "TI" }, + { postalCode: "6951", placeName: "Signôra", cantonCode: "TI" }, + { postalCode: "6951", placeName: "Colla", cantonCode: "TI" }, + { postalCode: "6952", placeName: "Canobbio", cantonCode: "TI" }, + { postalCode: "6953", placeName: "Lugaggia", cantonCode: "TI" }, + { postalCode: "6954", placeName: "Sala Capriasca", cantonCode: "TI" }, + { postalCode: "6954", placeName: "Bigorio", cantonCode: "TI" }, + { postalCode: "6955", placeName: "Oggio", cantonCode: "TI" }, + { postalCode: "6955", placeName: "Cagiallo", cantonCode: "TI" }, + { postalCode: "6955", placeName: "Oggio", cantonCode: "TI" }, + { postalCode: "6956", placeName: "Lopagno", cantonCode: "TI" }, + { postalCode: "6957", placeName: "Roveredo TI", cantonCode: "TI" }, + { postalCode: "6958", placeName: "Corticiasca", cantonCode: "TI" }, + { postalCode: "6958", placeName: "Corticiasca", cantonCode: "TI" }, + { postalCode: "6958", placeName: "Bidogno", cantonCode: "TI" }, + { postalCode: "6959", placeName: "Piandera Paese", cantonCode: "TI" }, + { postalCode: "6959", placeName: "Cimadera", cantonCode: "TI" }, + { postalCode: "6959", placeName: "Piandera Paese", cantonCode: "TI" }, + { postalCode: "6959", placeName: "Curtina", cantonCode: "TI" }, + { postalCode: "6959", placeName: "Certara", cantonCode: "TI" }, + { postalCode: "6959", placeName: "Maglio di Colla", cantonCode: "TI" }, + { postalCode: "6960", placeName: "Odogno", cantonCode: "TI" }, + { postalCode: "6962", placeName: "Viganello", cantonCode: "TI" }, + { postalCode: "6963", placeName: "Cureggia", cantonCode: "TI" }, + { postalCode: "6963", placeName: "Pregassona", cantonCode: "TI" }, + { postalCode: "6964", placeName: "Davesco-Soragno", cantonCode: "TI" }, + { postalCode: "6965", placeName: "Cadro", cantonCode: "TI" }, + { postalCode: "6966", placeName: "Villa Luganese", cantonCode: "TI" }, + { postalCode: "6967", placeName: "Dino", cantonCode: "TI" }, + { postalCode: "6968", placeName: "Sonvico", cantonCode: "TI" }, + { postalCode: "6974", placeName: "Aldesago", cantonCode: "TI" }, + { postalCode: "6976", placeName: "Castagnola", cantonCode: "TI" }, + { postalCode: "6977", placeName: "Ruvigliana", cantonCode: "TI" }, + { postalCode: "6978", placeName: "Gandria", cantonCode: "TI" }, + { postalCode: "6979", placeName: "Brè sopra Lugano", cantonCode: "TI" }, + { postalCode: "6980", placeName: "Castelrotto", cantonCode: "TI" }, + { postalCode: "6981", placeName: "Beride di Bedigliora", cantonCode: "TI" }, + { postalCode: "6981", placeName: "Biogno-Beride", cantonCode: "TI" }, + { postalCode: "6981", placeName: "Bedigliora", cantonCode: "TI" }, + { postalCode: "6981", placeName: "Banco", cantonCode: "TI" }, + { postalCode: "6981", placeName: "Bedigliora", cantonCode: "TI" }, + { postalCode: "6981", placeName: "Bombinasco", cantonCode: "TI" }, + { postalCode: "6982", placeName: "Agno", cantonCode: "TI" }, + { postalCode: "6983", placeName: "Magliaso", cantonCode: "TI" }, + { postalCode: "6984", placeName: "Pura", cantonCode: "TI" }, + { postalCode: "6986", placeName: "Curio", cantonCode: "TI" }, + { postalCode: "6986", placeName: "Novaggio", cantonCode: "TI" }, + { postalCode: "6986", placeName: "Miglieglia", cantonCode: "TI" }, + { postalCode: "6987", placeName: "Caslano", cantonCode: "TI" }, + { postalCode: "6988", placeName: "Ponte Tresa", cantonCode: "TI" }, + { postalCode: "6989", placeName: "Purasca", cantonCode: "TI" }, + { postalCode: "6990", placeName: "Cassina d'Agno", cantonCode: "TI" }, + { postalCode: "6991", placeName: "Neggio", cantonCode: "TI" }, + { postalCode: "6992", placeName: "Cimo", cantonCode: "TI" }, + { postalCode: "6992", placeName: "Vernate", cantonCode: "TI" }, + { postalCode: "6993", placeName: "Iseo", cantonCode: "TI" }, + { postalCode: "6994", placeName: "Aranno", cantonCode: "TI" }, + { postalCode: "6995", placeName: "Molinazzo di Monteggio", cantonCode: "TI" }, + { postalCode: "6995", placeName: "Madonna del Piano", cantonCode: "TI" }, + { postalCode: "6997", placeName: "Sessa", cantonCode: "TI" }, + { postalCode: "6998", placeName: "Monteggio 2", cantonCode: "TI" }, + { postalCode: "6998", placeName: "Monteggio", cantonCode: "TI" }, + { postalCode: "6998", placeName: "Termine", cantonCode: "TI" }, + { postalCode: "6999", placeName: "Astano", cantonCode: "TI" }, + { postalCode: "6825", placeName: "Capolago", cantonCode: "TI" }, + { postalCode: "6826", placeName: "Riva San Vitale", cantonCode: "TI" }, + { postalCode: "6828", placeName: "Balerna", cantonCode: "TI" }, + { postalCode: "6830", placeName: "Chiasso 3", cantonCode: "TI" }, + { postalCode: "6830", placeName: "Chiasso 1", cantonCode: "TI" }, + { postalCode: "6830", placeName: "Chiasso", cantonCode: "TI" }, + { postalCode: "6832", placeName: "Seseglio", cantonCode: "TI" }, + { postalCode: "6832", placeName: "Pedrinate", cantonCode: "TI" }, + { postalCode: "6833", placeName: "Vacallo", cantonCode: "TI" }, + { postalCode: "6834", placeName: "Morbio Inferiore", cantonCode: "TI" }, + { postalCode: "6835", placeName: "Morbio Superiore", cantonCode: "TI" }, + { postalCode: "6836", placeName: "Serfontana", cantonCode: "TI" }, + { postalCode: "6837", placeName: "Bruzella", cantonCode: "TI" }, + { postalCode: "6837", placeName: "Caneggio", cantonCode: "TI" }, + { postalCode: "6838", placeName: "Muggio", cantonCode: "TI" }, + { postalCode: "6838", placeName: "Cabbio", cantonCode: "TI" }, + { postalCode: "6838", placeName: "Scudellate", cantonCode: "TI" }, + { postalCode: "6839", placeName: "Sagno", cantonCode: "TI" }, + { postalCode: "6850", placeName: "Mendrisio Stazione", cantonCode: "TI" }, + { postalCode: "6850", placeName: "Mendrisio", cantonCode: "TI" }, + { postalCode: "6850", placeName: "Mendrisio Borgo", cantonCode: "TI" }, + { postalCode: "6852", placeName: "Genestrerio", cantonCode: "TI" }, + { postalCode: "6853", placeName: "Ligornetto", cantonCode: "TI" }, + { postalCode: "6854", placeName: "S. Pietro", cantonCode: "TI" }, + { postalCode: "6855", placeName: "Stabio", cantonCode: "TI" }, + { postalCode: "6862", placeName: "Rancate", cantonCode: "TI" }, + { postalCode: "6863", placeName: "Besazio", cantonCode: "TI" }, + { postalCode: "6864", placeName: "Arzo", cantonCode: "TI" }, + { postalCode: "6865", placeName: "Tremona", cantonCode: "TI" }, + { postalCode: "6866", placeName: "Meride", cantonCode: "TI" }, + { postalCode: "6872", placeName: "Somazzo", cantonCode: "TI" }, + { postalCode: "6872", placeName: "Salorino", cantonCode: "TI" }, + { postalCode: "6873", placeName: "Corteglia", cantonCode: "TI" }, + { postalCode: "6874", placeName: "Castel San Pietro", cantonCode: "TI" }, + { postalCode: "6875", placeName: "Campora", cantonCode: "TI" }, + { postalCode: "6875", placeName: "Monte", cantonCode: "TI" }, + { postalCode: "6875", placeName: "Casima", cantonCode: "TI" }, + { postalCode: "6877", placeName: "Coldrerio", cantonCode: "TI" }, + { postalCode: "6883", placeName: "Novazzano", cantonCode: "TI" }, + { postalCode: "6526", placeName: "Prosito", cantonCode: "TI" }, + { postalCode: "6527", placeName: "Lodrino", cantonCode: "TI" }, + { postalCode: "6703", placeName: "Osogna", cantonCode: "TI" }, + { postalCode: "6705", placeName: "Cresciano", cantonCode: "TI" }, + { postalCode: "6707", placeName: "Iragna", cantonCode: "TI" }, + { postalCode: "6710", placeName: "Biasca", cantonCode: "TI" }, + { postalCode: "6710", placeName: "Biasca Stazione", cantonCode: "TI" }, + { postalCode: "6670", placeName: "Avegno", cantonCode: "TI" }, + { postalCode: "6672", placeName: "Gordevio", cantonCode: "TI" }, + { postalCode: "6673", placeName: "Maggia", cantonCode: "TI" }, + { postalCode: "6674", placeName: "Someo", cantonCode: "TI" }, + { postalCode: "6674", placeName: "Riveo", cantonCode: "TI" }, + { postalCode: "6675", placeName: "Cevio", cantonCode: "TI" }, + { postalCode: "6676", placeName: "Bignasco", cantonCode: "TI" }, + { postalCode: "6677", placeName: "Aurigeno", cantonCode: "TI" }, + { postalCode: "6677", placeName: "Moghegno", cantonCode: "TI" }, + { postalCode: "6678", placeName: "Lodano", cantonCode: "TI" }, + { postalCode: "6678", placeName: "Coglio", cantonCode: "TI" }, + { postalCode: "6678", placeName: "Giumaglio", cantonCode: "TI" }, + { postalCode: "6682", placeName: "Linescio", cantonCode: "TI" }, + { postalCode: "6683", placeName: "Niva (Vallemaggia)", cantonCode: "TI" }, + { postalCode: "6683", placeName: "Cerentino", cantonCode: "TI" }, + { postalCode: "6684", placeName: "Cimalmotto", cantonCode: "TI" }, + { postalCode: "6684", placeName: "Campo (Vallemaggia)", cantonCode: "TI" }, + { postalCode: "6685", placeName: "Bosco/Gurin", cantonCode: "TI" }, + { postalCode: "6690", placeName: "S. Carlo (Val Bavona)", cantonCode: "TI" }, + { postalCode: "6690", placeName: "Cavergno", cantonCode: "TI" }, + { postalCode: "6692", placeName: "Brontallo", cantonCode: "TI" }, + { postalCode: "6692", placeName: "Menzonio", cantonCode: "TI" }, + { postalCode: "6693", placeName: "Broglio", cantonCode: "TI" }, + { postalCode: "6694", placeName: "Prato-Sornico", cantonCode: "TI" }, + { postalCode: "6695", placeName: "Peccia", cantonCode: "TI" }, + { postalCode: "6695", placeName: "Piano di Peccia", cantonCode: "TI" }, + { postalCode: "6696", placeName: "Fusio", cantonCode: "TI" }, + { postalCode: "6377", placeName: "Seelisberg", cantonCode: "UR" }, + { postalCode: "6441", placeName: "Rütli", cantonCode: "UR" }, + { postalCode: "6452", placeName: "Sisikon", cantonCode: "UR" }, + { postalCode: "6454", placeName: "Flüelen", cantonCode: "UR" }, + { postalCode: "6460", placeName: "Altdorf UR 2", cantonCode: "UR" }, + { postalCode: "6460", placeName: "Altdorf UR", cantonCode: "UR" }, + { postalCode: "6460", placeName: "Altdorf UR 1", cantonCode: "UR" }, + { postalCode: "6461", placeName: "Isenthal", cantonCode: "UR" }, + { postalCode: "6462", placeName: "Seedorf UR", cantonCode: "UR" }, + { postalCode: "6463", placeName: "Bürglen UR", cantonCode: "UR" }, + { postalCode: "6464", placeName: "Spiringen", cantonCode: "UR" }, + { postalCode: "6465", placeName: "Unterschächen", cantonCode: "UR" }, + { postalCode: "6466", placeName: "Bauen", cantonCode: "UR" }, + { postalCode: "6467", placeName: "Schattdorf", cantonCode: "UR" }, + { postalCode: "6468", placeName: "Attinghausen", cantonCode: "UR" }, + { postalCode: "6469", placeName: "Haldi b. Schattdorf", cantonCode: "UR" }, + { postalCode: "6472", placeName: "Erstfeld", cantonCode: "UR" }, + { postalCode: "6473", placeName: "Silenen", cantonCode: "UR" }, + { postalCode: "6474", placeName: "Amsteg", cantonCode: "UR" }, + { postalCode: "6475", placeName: "Bristen", cantonCode: "UR" }, + { postalCode: "6476", placeName: "Intschi", cantonCode: "UR" }, + { postalCode: "6482", placeName: "Gurtnellen", cantonCode: "UR" }, + { postalCode: "6484", placeName: "Wassen UR", cantonCode: "UR" }, + { postalCode: "6485", placeName: "Meien", cantonCode: "UR" }, + { postalCode: "6487", placeName: "Göschenen", cantonCode: "UR" }, + { postalCode: "6490", placeName: "Andermatt", cantonCode: "UR" }, + { postalCode: "6491", placeName: "Realp", cantonCode: "UR" }, + { postalCode: "6493", placeName: "Hospental", cantonCode: "UR" }, + { postalCode: "8751", placeName: "Urnerboden", cantonCode: "UR" }, + { postalCode: "1844", placeName: "Villeneuve VD", cantonCode: "VD" }, + { postalCode: "1845", placeName: "Noville", cantonCode: "VD" }, + { postalCode: "1846", placeName: "Chessel", cantonCode: "VD" }, + { postalCode: "1847", placeName: "Rennaz", cantonCode: "VD" }, + { postalCode: "1852", placeName: "Roche VD", cantonCode: "VD" }, + { postalCode: "1853", placeName: "Yvorne", cantonCode: "VD" }, + { postalCode: "1854", placeName: "Leysin", cantonCode: "VD" }, + { postalCode: "1856", placeName: "Corbeyrier", cantonCode: "VD" }, + { postalCode: "1860", placeName: "Aigle", cantonCode: "VD" }, + { postalCode: "1862", placeName: "Les Mosses", cantonCode: "VD" }, + { postalCode: "1862", placeName: "La Comballaz", cantonCode: "VD" }, + { postalCode: "1863", placeName: "Le Sépey", cantonCode: "VD" }, + { postalCode: "1864", placeName: "Vers-l'Eglise", cantonCode: "VD" }, + { postalCode: "1865", placeName: "Les Diablerets", cantonCode: "VD" }, + { postalCode: "1866", placeName: "La Forclaz VD", cantonCode: "VD" }, + { postalCode: "1867", placeName: "Panex", cantonCode: "VD" }, + { postalCode: "1867", placeName: "Ollon VD", cantonCode: "VD" }, + { postalCode: "1867", placeName: "St-Triphon", cantonCode: "VD" }, + { postalCode: "1880", placeName: "Les Posses-sur-Bex", cantonCode: "VD" }, + { postalCode: "1880", placeName: "Fenalet-sur-Bex", cantonCode: "VD" }, + { postalCode: "1880", placeName: "Frenières-sur-Bex", cantonCode: "VD" }, + { postalCode: "1880", placeName: "Bex", cantonCode: "VD" }, + { postalCode: "1880", placeName: "Les Plans-sur-Bex", cantonCode: "VD" }, + { postalCode: "1882", placeName: "Gryon", cantonCode: "VD" }, + { postalCode: "1884", placeName: "Arveyes", cantonCode: "VD" }, + { postalCode: "1884", placeName: "Villars-sur-Ollon", cantonCode: "VD" }, + { postalCode: "1884", placeName: "Huémoz", cantonCode: "VD" }, + { postalCode: "1885", placeName: "Chesières", cantonCode: "VD" }, + { postalCode: "1892", placeName: "Morcles", cantonCode: "VD" }, + { postalCode: "1892", placeName: "Lavey-Village", cantonCode: "VD" }, + { postalCode: "1892", placeName: "Lavey-les-Bains", cantonCode: "VD" }, + { postalCode: "1082", placeName: "Corcelles-le-Jorat", cantonCode: "VD" }, + { postalCode: "1085", placeName: "Vulliens", cantonCode: "VD" }, + { postalCode: "1088", placeName: "Ropraz", cantonCode: "VD" }, + { postalCode: "1509", placeName: "Vucherens", cantonCode: "VD" }, + { postalCode: "1510", placeName: "Syens", cantonCode: "VD" }, + { postalCode: "1510", placeName: "Moudon", cantonCode: "VD" }, + { postalCode: "1512", placeName: "Chavannes-sur-Moudon", cantonCode: "VD" }, + { postalCode: "1513", placeName: "Rossenges", cantonCode: "VD" }, + { postalCode: "1513", placeName: "Hermenches", cantonCode: "VD" }, + { postalCode: "1514", placeName: "Bussy-sur-Moudon", cantonCode: "VD" }, + { postalCode: "1515", placeName: "Villars-le-Comte", cantonCode: "VD" }, + { postalCode: "1521", placeName: "Curtilles", cantonCode: "VD" }, + { postalCode: "1522", placeName: "Lucens", cantonCode: "VD" }, + { postalCode: "1522", placeName: "Oulens-sur-Lucens", cantonCode: "VD" }, + { postalCode: "1523", placeName: "Granges-près-Marnand", cantonCode: "VD" }, + { postalCode: "1524", placeName: "Marnand", cantonCode: "VD" }, + { postalCode: "1525", placeName: "Henniez", cantonCode: "VD" }, + { postalCode: "1525", placeName: "Seigneux", cantonCode: "VD" }, + { postalCode: "1526", placeName: "Forel-sur-Lucens", cantonCode: "VD" }, + { postalCode: "1526", placeName: "Cremin", cantonCode: "VD" }, + { postalCode: "1530", placeName: "Payerne", cantonCode: "VD" }, + { postalCode: "1534", placeName: "Sassel", cantonCode: "VD" }, + { postalCode: "1535", placeName: "Combremont-le-Grand", cantonCode: "VD" }, + { postalCode: "1536", placeName: "Combremont-le-Petit", cantonCode: "VD" }, + { postalCode: "1537", placeName: "Champtauroz", cantonCode: "VD" }, + { postalCode: "1538", placeName: "Treytorrens (Payerne)", cantonCode: "VD" }, + { postalCode: "1543", placeName: "Grandcour", cantonCode: "VD" }, + { postalCode: "1545", placeName: "Chevroux", cantonCode: "VD" }, + { postalCode: "1551", placeName: "Vers-chez-Perrin", cantonCode: "VD" }, + { postalCode: "1552", placeName: "Trey", cantonCode: "VD" }, + { postalCode: "1554", placeName: "Rossens VD", cantonCode: "VD" }, + { postalCode: "1554", placeName: "Sédeilles", cantonCode: "VD" }, + { postalCode: "1555", placeName: "Villarzel", cantonCode: "VD" }, + { postalCode: "1562", placeName: "Corcelles-près-Payerne", cantonCode: "VD" }, + { postalCode: "1565", placeName: "Missy", cantonCode: "VD" }, + { postalCode: "1580", placeName: "Avenches", cantonCode: "VD" }, + { postalCode: "1580", placeName: "Donatyre", cantonCode: "VD" }, + { postalCode: "1580", placeName: "Oleyres", cantonCode: "VD" }, + { postalCode: "1584", placeName: "Villars-le-Grand", cantonCode: "VD" }, + { postalCode: "1585", placeName: "Salavaux", cantonCode: "VD" }, + { postalCode: "1585", placeName: "Cotterd", cantonCode: "VD" }, + { postalCode: "1585", placeName: "Bellerive VD", cantonCode: "VD" }, + { postalCode: "1586", placeName: "Vallamand", cantonCode: "VD" }, + { postalCode: "1587", placeName: "Constantine", cantonCode: "VD" }, + { postalCode: "1587", placeName: "Montmagny", cantonCode: "VD" }, + { postalCode: "1588", placeName: "Cudrefin", cantonCode: "VD" }, + { postalCode: "1589", placeName: "Chabrey", cantonCode: "VD" }, + { postalCode: "1595", placeName: "Faoug", cantonCode: "VD" }, + { postalCode: "1682", placeName: "Lovatens", cantonCode: "VD" }, + { postalCode: "1682", placeName: "Prévonloup", cantonCode: "VD" }, + { postalCode: "1682", placeName: "Villars-Bramard", cantonCode: "VD" }, + { postalCode: "1682", placeName: "Cerniaz VD", cantonCode: "VD" }, + { postalCode: "1682", placeName: "Dompierre VD", cantonCode: "VD" }, + { postalCode: "1683", placeName: "Brenles", cantonCode: "VD" }, + { postalCode: "1683", placeName: "Sarzens", cantonCode: "VD" }, + { postalCode: "1683", placeName: "Chesalles-sur-Moudon", cantonCode: "VD" }, + { postalCode: "1787", placeName: "Mur (Vully) VD", cantonCode: "VD" }, + { postalCode: "1031", placeName: "Mex VD", cantonCode: "VD" }, + { postalCode: "1034", placeName: "Boussens", cantonCode: "VD" }, + { postalCode: "1035", placeName: "Bournens", cantonCode: "VD" }, + { postalCode: "1036", placeName: "Sullens", cantonCode: "VD" }, + { postalCode: "1037", placeName: "Etagnières", cantonCode: "VD" }, + { postalCode: "1038", placeName: "Bercher", cantonCode: "VD" }, + { postalCode: "1040", placeName: "Echallens", cantonCode: "VD" }, + { postalCode: "1040", placeName: "Villars-le-Terroir", cantonCode: "VD" }, + { postalCode: "1040", placeName: "St-Barthélemy VD", cantonCode: "VD" }, + { postalCode: "1041", placeName: "Montaubion-Chardonney", cantonCode: "VD" }, + { postalCode: "1041", placeName: "Poliez-le-Grand", cantonCode: "VD" }, + { postalCode: "1041", placeName: "Poliez-Pittet", cantonCode: "VD" }, + { postalCode: "1041", placeName: "Bottens", cantonCode: "VD" }, + { postalCode: "1041", placeName: "Naz", cantonCode: "VD" }, + { postalCode: "1041", placeName: "Dommartin", cantonCode: "VD" }, + { postalCode: "1042", placeName: "Assens", cantonCode: "VD" }, + { postalCode: "1042", placeName: "Bioley-Orjulaz", cantonCode: "VD" }, + { postalCode: "1042", placeName: "Bettens", cantonCode: "VD" }, + { postalCode: "1043", placeName: "Sugnens", cantonCode: "VD" }, + { postalCode: "1044", placeName: "Fey", cantonCode: "VD" }, + { postalCode: "1045", placeName: "Ogens", cantonCode: "VD" }, + { postalCode: "1046", placeName: "Rueyres", cantonCode: "VD" }, + { postalCode: "1047", placeName: "Oppens", cantonCode: "VD" }, + { postalCode: "1053", placeName: "Cugy VD", cantonCode: "VD" }, + { postalCode: "1053", placeName: "Bretigny-sur-Morrens", cantonCode: "VD" }, + { postalCode: "1054", placeName: "Morrens VD", cantonCode: "VD" }, + { postalCode: "1055", placeName: "Froideville", cantonCode: "VD" }, + { postalCode: "1058", placeName: "Villars-Tiercelin", cantonCode: "VD" }, + { postalCode: "1059", placeName: "Peney-le-Jorat", cantonCode: "VD" }, + { postalCode: "1061", placeName: "Villars-Mendraz", cantonCode: "VD" }, + { postalCode: "1062", placeName: "Sottens", cantonCode: "VD" }, + { postalCode: "1063", placeName: "Boulens", cantonCode: "VD" }, + { postalCode: "1063", placeName: "Chapelle-sur-Moudon", cantonCode: "VD" }, + { postalCode: "1063", placeName: "Martherenges", cantonCode: "VD" }, + { postalCode: "1063", placeName: "Peyres-Possens", cantonCode: "VD" }, + { postalCode: "1302", placeName: "Vufflens-la-Ville", cantonCode: "VD" }, + { postalCode: "1303", placeName: "Penthaz", cantonCode: "VD" }, + { postalCode: "1305", placeName: "Penthalaz", cantonCode: "VD" }, + { postalCode: "1306", placeName: "Daillens", cantonCode: "VD" }, + { postalCode: "1307", placeName: "Lussery-Villars", cantonCode: "VD" }, + { postalCode: "1375", placeName: "Penthéréaz", cantonCode: "VD" }, + { postalCode: "1376", placeName: "Eclagnens", cantonCode: "VD" }, + { postalCode: "1376", placeName: "Goumoens-la-Ville", cantonCode: "VD" }, + { postalCode: "1376", placeName: "Goumoens-le-Jux", cantonCode: "VD" }, + { postalCode: "1377", placeName: "Oulens-sous-Echallens", cantonCode: "VD" }, + { postalCode: "1409", placeName: "Chanéaz", cantonCode: "VD" }, + { postalCode: "1410", placeName: "Correvon", cantonCode: "VD" }, + { postalCode: "1410", placeName: "Thierrens", cantonCode: "VD" }, + { postalCode: "1410", placeName: "Denezy", cantonCode: "VD" }, + { postalCode: "1410", placeName: "St-Cierges", cantonCode: "VD" }, + { postalCode: "1416", placeName: "Pailly", cantonCode: "VD" }, + { postalCode: "1417", placeName: "Epautheyres", cantonCode: "VD" }, + { postalCode: "1417", placeName: "Essertines-sur-Yverdon", cantonCode: "VD" }, + { postalCode: "1418", placeName: "Vuarrens", cantonCode: "VD" }, + { postalCode: "1515", placeName: "Neyruz-sur-Moudon", cantonCode: "VD" }, + { postalCode: "1148", placeName: "La Praz", cantonCode: "VD" }, + { postalCode: "1321", placeName: "Arnex-sur-Orbe", cantonCode: "VD" }, + { postalCode: "1322", placeName: "Croy", cantonCode: "VD" }, + { postalCode: "1323", placeName: "Romainmôtier", cantonCode: "VD" }, + { postalCode: "1324", placeName: "Premier", cantonCode: "VD" }, + { postalCode: "1325", placeName: "Vaulion", cantonCode: "VD" }, + { postalCode: "1326", placeName: "Juriens", cantonCode: "VD" }, + { postalCode: "1329", placeName: "Bretonnières", cantonCode: "VD" }, + { postalCode: "1337", placeName: "Vallorbe", cantonCode: "VD" }, + { postalCode: "1338", placeName: "Ballaigues", cantonCode: "VD" }, + { postalCode: "1341", placeName: "Orient", cantonCode: "VD" }, + { postalCode: "1341", placeName: "L'Orient", cantonCode: "VD" }, + { postalCode: "1342", placeName: "Le Pont", cantonCode: "VD" }, + { postalCode: "1343", placeName: "Les Charbonnières", cantonCode: "VD" }, + { postalCode: "1344", placeName: "L'Abbaye", cantonCode: "VD" }, + { postalCode: "1345", placeName: "Le Séchey", cantonCode: "VD" }, + { postalCode: "1345", placeName: "Le Lieu", cantonCode: "VD" }, + { postalCode: "1346", placeName: "Les Bioux", cantonCode: "VD" }, + { postalCode: "1347", placeName: "Le Solliat", cantonCode: "VD" }, + { postalCode: "1347", placeName: "Le Sentier", cantonCode: "VD" }, + { postalCode: "1348", placeName: "Le Brassus", cantonCode: "VD" }, + { postalCode: "1350", placeName: "Orbe", cantonCode: "VD" }, + { postalCode: "1352", placeName: "Agiez", cantonCode: "VD" }, + { postalCode: "1353", placeName: "Bofflens", cantonCode: "VD" }, + { postalCode: "1354", placeName: "Montcherand", cantonCode: "VD" }, + { postalCode: "1355", placeName: "Sergey", cantonCode: "VD" }, + { postalCode: "1355", placeName: "L'Abergement", cantonCode: "VD" }, + { postalCode: "1356", placeName: "La Russille", cantonCode: "VD" }, + { postalCode: "1356", placeName: "Les Clées", cantonCode: "VD" }, + { postalCode: "1357", placeName: "Lignerolle", cantonCode: "VD" }, + { postalCode: "1358", placeName: "Valeyres-sous-Rances", cantonCode: "VD" }, + { postalCode: "1372", placeName: "Bavois", cantonCode: "VD" }, + { postalCode: "1373", placeName: "Chavornay", cantonCode: "VD" }, + { postalCode: "1374", placeName: "Corcelles-sur-Chavornay", cantonCode: "VD" }, + { postalCode: "1400", placeName: "Yverdon 2", cantonCode: "VD" }, + { postalCode: "1400", placeName: "Yverdon-les-Bains", cantonCode: "VD" }, + { postalCode: "1400", placeName: "Cheseaux-Noréaz", cantonCode: "VD" }, + { postalCode: "1401", placeName: "Yverdon-les-Bains", cantonCode: "VD" }, + { postalCode: "1404", placeName: "Villars-Epeney", cantonCode: "VD" }, + { postalCode: "1404", placeName: "Cuarny", cantonCode: "VD" }, + { postalCode: "1405", placeName: "Pomy", cantonCode: "VD" }, + { postalCode: "1406", placeName: "Cronay", cantonCode: "VD" }, + { postalCode: "1407", placeName: "Donneloye", cantonCode: "VD" }, + { postalCode: "1407", placeName: "Mézery-près-Donneloye", cantonCode: "VD" }, + { postalCode: "1407", placeName: "Bioley-Magnoux", cantonCode: "VD" }, + { postalCode: "1407", placeName: "Gossens", cantonCode: "VD" }, + { postalCode: "1408", placeName: "Prahins", cantonCode: "VD" }, + { postalCode: "1412", placeName: "Ursins", cantonCode: "VD" }, + { postalCode: "1412", placeName: "Valeyres-sous-Ursins", cantonCode: "VD" }, + { postalCode: "1413", placeName: "Orzens", cantonCode: "VD" }, + { postalCode: "1415", placeName: "Démoret", cantonCode: "VD" }, + { postalCode: "1415", placeName: "Molondin", cantonCode: "VD" }, + { postalCode: "1420", placeName: "Fiez", cantonCode: "VD" }, + { postalCode: "1421", placeName: "Fontaines-sur-Grandson", cantonCode: "VD" }, + { postalCode: "1421", placeName: "Grandevent", cantonCode: "VD" }, + { postalCode: "1422", placeName: "Grandson", cantonCode: "VD" }, + { postalCode: "1423", placeName: "Villars-Burquin", cantonCode: "VD" }, + { postalCode: "1423", placeName: "Romairon", cantonCode: "VD" }, + { postalCode: "1423", placeName: "Vaugondry", cantonCode: "VD" }, + { postalCode: "1423", placeName: "Fontanezier", cantonCode: "VD" }, + { postalCode: "1424", placeName: "Champagne", cantonCode: "VD" }, + { postalCode: "1425", placeName: "Onnens VD", cantonCode: "VD" }, + { postalCode: "1426", placeName: "Corcelles-près-Concise", cantonCode: "VD" }, + { postalCode: "1426", placeName: "Concise", cantonCode: "VD" }, + { postalCode: "1427", placeName: "Bonvillars", cantonCode: "VD" }, + { postalCode: "1428", placeName: "Mutrux", cantonCode: "VD" }, + { postalCode: "1428", placeName: "Provence", cantonCode: "VD" }, + { postalCode: "1429", placeName: "Giez", cantonCode: "VD" }, + { postalCode: "1430", placeName: "Orges", cantonCode: "VD" }, + { postalCode: "1431", placeName: "Vugelles-La Mothe", cantonCode: "VD" }, + { postalCode: "1431", placeName: "Novalles", cantonCode: "VD" }, + { postalCode: "1432", placeName: "Gressy", cantonCode: "VD" }, + { postalCode: "1432", placeName: "Belmont-sur-Yverdon", cantonCode: "VD" }, + { postalCode: "1433", placeName: "Suchy", cantonCode: "VD" }, + { postalCode: "1434", placeName: "Ependes VD", cantonCode: "VD" }, + { postalCode: "1435", placeName: "Essert-Pittet", cantonCode: "VD" }, + { postalCode: "1436", placeName: "Treycovagnes", cantonCode: "VD" }, + { postalCode: "1436", placeName: "Chamblon", cantonCode: "VD" }, + { postalCode: "1437", placeName: "Suscévaz", cantonCode: "VD" }, + { postalCode: "1438", placeName: "Mathod", cantonCode: "VD" }, + { postalCode: "1439", placeName: "Rances", cantonCode: "VD" }, + { postalCode: "1440", placeName: "Montagny-Chamard", cantonCode: "VD" }, + { postalCode: "1441", placeName: "Valeyres-sous-Montagny", cantonCode: "VD" }, + { postalCode: "1442", placeName: "Montagny-près-Yverdon", cantonCode: "VD" }, + { postalCode: "1443", placeName: "Essert-sous-Champvent", cantonCode: "VD" }, + { postalCode: "1443", placeName: "Villars-sous-Champvent", cantonCode: "VD" }, + { postalCode: "1443", placeName: "Champvent", cantonCode: "VD" }, + { postalCode: "1445", placeName: "Vuiteboeuf", cantonCode: "VD" }, + { postalCode: "1446", placeName: "Baulmes", cantonCode: "VD" }, + { postalCode: "1450", placeName: "La Sagne (Ste-Croix)", cantonCode: "VD" }, + { postalCode: "1450", placeName: "Le Château-de-Ste-Croix", cantonCode: "VD" }, + { postalCode: "1450", placeName: "Ste-Croix", cantonCode: "VD" }, + { postalCode: "1452", placeName: "Les Rasses", cantonCode: "VD" }, + { postalCode: "1453", placeName: "Mauborget", cantonCode: "VD" }, + { postalCode: "1453", placeName: "Bullet", cantonCode: "VD" }, + { postalCode: "1454", placeName: "L'Auberson", cantonCode: "VD" }, + { postalCode: "1454", placeName: "La Vraconnaz", cantonCode: "VD" }, + { postalCode: "1462", placeName: "Yvonand", cantonCode: "VD" }, + { postalCode: "1463", placeName: "Rovray", cantonCode: "VD" }, + { postalCode: "1464", placeName: "Chêne-Pâquier", cantonCode: "VD" }, + { postalCode: "1464", placeName: "Chavannes-le-Chêne", cantonCode: "VD" }, + { postalCode: "1000", placeName: "Lausanne 22", cantonCode: "VD" }, + { postalCode: "1000", placeName: "Lausanne 14", cantonCode: "VD" }, + { postalCode: "1000", placeName: "Lausanne 26", cantonCode: "VD" }, + { postalCode: "1000", placeName: "Lausanne 12", cantonCode: "VD" }, + { postalCode: "1000", placeName: "Lausanne 27", cantonCode: "VD" }, + { postalCode: "1000", placeName: "Lausanne 18", cantonCode: "VD" }, + { postalCode: "1000", placeName: "Lausanne 10", cantonCode: "VD" }, + { postalCode: "1000", placeName: "Lausanne 16", cantonCode: "VD" }, + { postalCode: "1000", placeName: "Lausanne 25", cantonCode: "VD" }, + { postalCode: "1001", placeName: "Lausanne", cantonCode: "VD" }, + { postalCode: "1002", placeName: "Lausanne", cantonCode: "VD" }, + { postalCode: "1003", placeName: "Lausanne", cantonCode: "VD" }, + { postalCode: "1004", placeName: "Lausanne", cantonCode: "VD" }, + { postalCode: "1005", placeName: "Lausanne", cantonCode: "VD" }, + { postalCode: "1006", placeName: "Lausanne", cantonCode: "VD" }, + { postalCode: "1007", placeName: "Lausanne", cantonCode: "VD" }, + { postalCode: "1008", placeName: "Jouxtens-Mézery", cantonCode: "VD" }, + { postalCode: "1010", placeName: "Lausanne", cantonCode: "VD" }, + { postalCode: "1011", placeName: "Lausanne", cantonCode: "VD" }, + { postalCode: "1012", placeName: "Lausanne", cantonCode: "VD" }, + { postalCode: "1014", placeName: "Lausanne Adm cant", cantonCode: "VD" }, + { postalCode: "1014", placeName: "Lausanne Adm cant VD", cantonCode: "VD" }, + { postalCode: "1015", placeName: "Lausanne", cantonCode: "VD" }, + { postalCode: "1018", placeName: "Lausanne", cantonCode: "VD" }, + { postalCode: "1019", placeName: "Lausanne Services spéciaux", cantonCode: "VD" }, + { postalCode: "1019", placeName: "Lausanne", cantonCode: "VD" }, + { postalCode: "1032", placeName: "Romanel-sur-Lausanne", cantonCode: "VD" }, + { postalCode: "1033", placeName: "Cheseaux-sur-Lausanne", cantonCode: "VD" }, + { postalCode: "1039", placeName: "Cheseaux Polyval", cantonCode: "VD" }, + { postalCode: "1052", placeName: "Le Mont-sur-Lausanne", cantonCode: "VD" }, + { postalCode: "1066", placeName: "Epalinges", cantonCode: "VD" }, + { postalCode: "1009", placeName: "Pully", cantonCode: "VD" }, + { postalCode: "1068", placeName: "Les Monts-de-Pully", cantonCode: "VD" }, + { postalCode: "1070", placeName: "Puidoux", cantonCode: "VD" }, + { postalCode: "1071", placeName: "Rivaz", cantonCode: "VD" }, + { postalCode: "1071", placeName: "Chexbres", cantonCode: "VD" }, + { postalCode: "1071", placeName: "St-Saphorin (Lavaux)", cantonCode: "VD" }, + { postalCode: "1072", placeName: "Forel (Lavaux)", cantonCode: "VD" }, + { postalCode: "1073", placeName: "Savigny", cantonCode: "VD" }, + { postalCode: "1073", placeName: "Mollie-Margot", cantonCode: "VD" }, + { postalCode: "1076", placeName: "Ferlens VD", cantonCode: "VD" }, + { postalCode: "1077", placeName: "Servion", cantonCode: "VD" }, + { postalCode: "1078", placeName: "Essertes", cantonCode: "VD" }, + { postalCode: "1080", placeName: "Les Cullayes", cantonCode: "VD" }, + { postalCode: "1081", placeName: "Montpreveyres", cantonCode: "VD" }, + { postalCode: "1083", placeName: "Mézières VD", cantonCode: "VD" }, + { postalCode: "1084", placeName: "Carrouge VD", cantonCode: "VD" }, + { postalCode: "1090", placeName: "La Croix (Lutry)", cantonCode: "VD" }, + { postalCode: "1091", placeName: "Aran", cantonCode: "VD" }, + { postalCode: "1091", placeName: "Chenaux", cantonCode: "VD" }, + { postalCode: "1091", placeName: "Grandvaux", cantonCode: "VD" }, + { postalCode: "1092", placeName: "Belmont-sur-Lausanne", cantonCode: "VD" }, + { postalCode: "1093", placeName: "La Conversion", cantonCode: "VD" }, + { postalCode: "1094", placeName: "Paudex", cantonCode: "VD" }, + { postalCode: "1095", placeName: "Lutry", cantonCode: "VD" }, + { postalCode: "1096", placeName: "Cully", cantonCode: "VD" }, + { postalCode: "1096", placeName: "Villette (Lavaux)", cantonCode: "VD" }, + { postalCode: "1097", placeName: "Riex", cantonCode: "VD" }, + { postalCode: "1098", placeName: "Epesses", cantonCode: "VD" }, + { postalCode: "1607", placeName: "Les Tavernes", cantonCode: "VD" }, + { postalCode: "1607", placeName: "Les Thioleyres", cantonCode: "VD" }, + { postalCode: "1607", placeName: "Palézieux", cantonCode: "VD" }, + { postalCode: "1607", placeName: "Palézieux-Village", cantonCode: "VD" }, + { postalCode: "1608", placeName: "Oron-le-Châtel", cantonCode: "VD" }, + { postalCode: "1608", placeName: "Chesalles-sur-Oron", cantonCode: "VD" }, + { postalCode: "1608", placeName: "Bussigny-sur-Oron", cantonCode: "VD" }, + { postalCode: "1610", placeName: "Vuibroye", cantonCode: "VD" }, + { postalCode: "1610", placeName: "Oron-la-Ville", cantonCode: "VD" }, + { postalCode: "1610", placeName: "Châtillens", cantonCode: "VD" }, + { postalCode: "1612", placeName: "Ecoteaux", cantonCode: "VD" }, + { postalCode: "1613", placeName: "Maracon", cantonCode: "VD" }, + { postalCode: "1026", placeName: "Echandens-Denges", cantonCode: "VD" }, + { postalCode: "1026", placeName: "Echandens", cantonCode: "VD" }, + { postalCode: "1026", placeName: "Denges", cantonCode: "VD" }, + { postalCode: "1027", placeName: "Lonay", cantonCode: "VD" }, + { postalCode: "1028", placeName: "Préverenges", cantonCode: "VD" }, + { postalCode: "1110", placeName: "Morges 1", cantonCode: "VD" }, + { postalCode: "1110", placeName: "Morges", cantonCode: "VD" }, + { postalCode: "1110", placeName: "Morges 2", cantonCode: "VD" }, + { postalCode: "1112", placeName: "Echichens", cantonCode: "VD" }, + { postalCode: "1113", placeName: "St-Saphorin-sur-Morges", cantonCode: "VD" }, + { postalCode: "1114", placeName: "Colombier VD", cantonCode: "VD" }, + { postalCode: "1115", placeName: "Vullierens", cantonCode: "VD" }, + { postalCode: "1116", placeName: "Cottens VD", cantonCode: "VD" }, + { postalCode: "1117", placeName: "Grancy", cantonCode: "VD" }, + { postalCode: "1121", placeName: "Bremblens", cantonCode: "VD" }, + { postalCode: "1122", placeName: "Romanel-sur-Morges", cantonCode: "VD" }, + { postalCode: "1123", placeName: "Aclens", cantonCode: "VD" }, + { postalCode: "1124", placeName: "Gollion", cantonCode: "VD" }, + { postalCode: "1125", placeName: "Monnaz", cantonCode: "VD" }, + { postalCode: "1126", placeName: "Vaux-sur-Morges", cantonCode: "VD" }, + { postalCode: "1127", placeName: "Clarmont", cantonCode: "VD" }, + { postalCode: "1128", placeName: "Reverolle", cantonCode: "VD" }, + { postalCode: "1131", placeName: "Tolochenaz", cantonCode: "VD" }, + { postalCode: "1132", placeName: "Lully VD", cantonCode: "VD" }, + { postalCode: "1134", placeName: "Chigny", cantonCode: "VD" }, + { postalCode: "1134", placeName: "Vufflens-le-Château", cantonCode: "VD" }, + { postalCode: "1135", placeName: "Denens", cantonCode: "VD" }, + { postalCode: "1136", placeName: "Bussy-Chardonney", cantonCode: "VD" }, + { postalCode: "1141", placeName: "Sévery", cantonCode: "VD" }, + { postalCode: "1142", placeName: "Pampigny", cantonCode: "VD" }, + { postalCode: "1143", placeName: "Apples", cantonCode: "VD" }, + { postalCode: "1144", placeName: "Ballens", cantonCode: "VD" }, + { postalCode: "1145", placeName: "Bière", cantonCode: "VD" }, + { postalCode: "1146", placeName: "Mollens VD", cantonCode: "VD" }, + { postalCode: "1147", placeName: "Montricher", cantonCode: "VD" }, + { postalCode: "1148", placeName: "Cuarnens", cantonCode: "VD" }, + { postalCode: "1148", placeName: "L'Isle", cantonCode: "VD" }, + { postalCode: "1148", placeName: "Moiry VD", cantonCode: "VD" }, + { postalCode: "1148", placeName: "Villars-Bozon", cantonCode: "VD" }, + { postalCode: "1148", placeName: "Mont-la-Ville", cantonCode: "VD" }, + { postalCode: "1148", placeName: "Mauraz", cantonCode: "VD" }, + { postalCode: "1148", placeName: "La Coudre", cantonCode: "VD" }, + { postalCode: "1148", placeName: "Chavannes-le-Veyron", cantonCode: "VD" }, + { postalCode: "1149", placeName: "Berolle", cantonCode: "VD" }, + { postalCode: "1162", placeName: "St-Prex", cantonCode: "VD" }, + { postalCode: "1163", placeName: "Etoy", cantonCode: "VD" }, + { postalCode: "1164", placeName: "Buchillon", cantonCode: "VD" }, + { postalCode: "1165", placeName: "Allaman", cantonCode: "VD" }, + { postalCode: "1167", placeName: "Lussy-sur-Morges", cantonCode: "VD" }, + { postalCode: "1168", placeName: "Villars-sous-Yens", cantonCode: "VD" }, + { postalCode: "1169", placeName: "Yens", cantonCode: "VD" }, + { postalCode: "1170", placeName: "Aubonne", cantonCode: "VD" }, + { postalCode: "1172", placeName: "Bougy-Villars", cantonCode: "VD" }, + { postalCode: "1173", placeName: "Féchy", cantonCode: "VD" }, + { postalCode: "1174", placeName: "Pizy", cantonCode: "VD" }, + { postalCode: "1174", placeName: "Montherod", cantonCode: "VD" }, + { postalCode: "1175", placeName: "Lavigny", cantonCode: "VD" }, + { postalCode: "1176", placeName: "St-Livres", cantonCode: "VD" }, + { postalCode: "1187", placeName: "St-Oyens", cantonCode: "VD" }, + { postalCode: "1188", placeName: "Gimel", cantonCode: "VD" }, + { postalCode: "1189", placeName: "Saubraz", cantonCode: "VD" }, + { postalCode: "1304", placeName: "Dizy", cantonCode: "VD" }, + { postalCode: "1304", placeName: "Senarclens", cantonCode: "VD" }, + { postalCode: "1304", placeName: "Allens", cantonCode: "VD" }, + { postalCode: "1304", placeName: "Cossonay-Ville", cantonCode: "VD" }, + { postalCode: "1308", placeName: "La Chaux (Cossonay)", cantonCode: "VD" }, + { postalCode: "1312", placeName: "Eclépens", cantonCode: "VD" }, + { postalCode: "1313", placeName: "Ferreyres", cantonCode: "VD" }, + { postalCode: "1315", placeName: "La Sarraz", cantonCode: "VD" }, + { postalCode: "1316", placeName: "Chevilly", cantonCode: "VD" }, + { postalCode: "1317", placeName: "Orny", cantonCode: "VD" }, + { postalCode: "1318", placeName: "Pompaples", cantonCode: "VD" }, + { postalCode: "1166", placeName: "Perroy", cantonCode: "VD" }, + { postalCode: "1180", placeName: "Tartegnin", cantonCode: "VD" }, + { postalCode: "1180", placeName: "Rolle", cantonCode: "VD" }, + { postalCode: "1182", placeName: "Gilly", cantonCode: "VD" }, + { postalCode: "1183", placeName: "Bursins", cantonCode: "VD" }, + { postalCode: "1184", placeName: "Vinzel", cantonCode: "VD" }, + { postalCode: "1184", placeName: "Luins", cantonCode: "VD" }, + { postalCode: "1185", placeName: "Mont-sur-Rolle", cantonCode: "VD" }, + { postalCode: "1186", placeName: "Essertines-sur-Rolle", cantonCode: "VD" }, + { postalCode: "1188", placeName: "St-George", cantonCode: "VD" }, + { postalCode: "1195", placeName: "Dully", cantonCode: "VD" }, + { postalCode: "1195", placeName: "Bursinel", cantonCode: "VD" }, + { postalCode: "1196", placeName: "Gland", cantonCode: "VD" }, + { postalCode: "1197", placeName: "Prangins", cantonCode: "VD" }, + { postalCode: "1260", placeName: "Nyon 2", cantonCode: "VD" }, + { postalCode: "1260", placeName: "Nyon 1", cantonCode: "VD" }, + { postalCode: "1260", placeName: "Nyon", cantonCode: "VD" }, + { postalCode: "1261", placeName: "Marchissy", cantonCode: "VD" }, + { postalCode: "1261", placeName: "Le Vaud", cantonCode: "VD" }, + { postalCode: "1261", placeName: "Longirod", cantonCode: "VD" }, + { postalCode: "1262", placeName: "Eysins", cantonCode: "VD" }, + { postalCode: "1263", placeName: "Crassier", cantonCode: "VD" }, + { postalCode: "1264", placeName: "St-Cergue", cantonCode: "VD" }, + { postalCode: "1265", placeName: "La Cure", cantonCode: "VD" }, + { postalCode: "1266", placeName: "Duillier", cantonCode: "VD" }, + { postalCode: "1267", placeName: "Vich", cantonCode: "VD" }, + { postalCode: "1267", placeName: "Coinsins", cantonCode: "VD" }, + { postalCode: "1268", placeName: "Begnins", cantonCode: "VD" }, + { postalCode: "1268", placeName: "Burtigny", cantonCode: "VD" }, + { postalCode: "1269", placeName: "Bassins", cantonCode: "VD" }, + { postalCode: "1270", placeName: "Trélex", cantonCode: "VD" }, + { postalCode: "1271", placeName: "Givrins", cantonCode: "VD" }, + { postalCode: "1272", placeName: "Genolier", cantonCode: "VD" }, + { postalCode: "1273", placeName: "Arzier-Le Muids", cantonCode: "VD" }, + { postalCode: "1274", placeName: "Signy-Centre", cantonCode: "VD" }, + { postalCode: "1274", placeName: "Signy", cantonCode: "VD" }, + { postalCode: "1274", placeName: "Grens", cantonCode: "VD" }, + { postalCode: "1275", placeName: "Chéserex", cantonCode: "VD" }, + { postalCode: "1276", placeName: "Gingins", cantonCode: "VD" }, + { postalCode: "1277", placeName: "Borex", cantonCode: "VD" }, + { postalCode: "1277", placeName: "Arnex-sur-Nyon", cantonCode: "VD" }, + { postalCode: "1278", placeName: "La Rippe", cantonCode: "VD" }, + { postalCode: "1279", placeName: "Bogis-Bossey", cantonCode: "VD" }, + { postalCode: "1279", placeName: "Chavannes-de-Bogis", cantonCode: "VD" }, + { postalCode: "1290", placeName: "Chavannes-des-Bois", cantonCode: "VD" }, + { postalCode: "1291", placeName: "Commugny", cantonCode: "VD" }, + { postalCode: "1295", placeName: "Tannay", cantonCode: "VD" }, + { postalCode: "1295", placeName: "Mies", cantonCode: "VD" }, + { postalCode: "1296", placeName: "Coppet", cantonCode: "VD" }, + { postalCode: "1297", placeName: "Founex", cantonCode: "VD" }, + { postalCode: "1299", placeName: "Crans VD", cantonCode: "VD" }, + { postalCode: "1299", placeName: "Crans-près-Céligny", cantonCode: "VD" }, + { postalCode: "1008", placeName: "Prilly", cantonCode: "VD" }, + { postalCode: "1020", placeName: "Renens VD", cantonCode: "VD" }, + { postalCode: "1020", placeName: "Renens VD 1", cantonCode: "VD" }, + { postalCode: "1022", placeName: "Chavannes-près-Renens", cantonCode: "VD" }, + { postalCode: "1023", placeName: "Crissier", cantonCode: "VD" }, + { postalCode: "1023", placeName: "Crissier 1", cantonCode: "VD" }, + { postalCode: "1024", placeName: "Ecublens VD", cantonCode: "VD" }, + { postalCode: "1025", placeName: "St-Sulpice VD", cantonCode: "VD" }, + { postalCode: "1029", placeName: "Villars-Ste-Croix", cantonCode: "VD" }, + { postalCode: "1030", placeName: "Bussigny", cantonCode: "VD" }, + { postalCode: "1658", placeName: "Rossinière", cantonCode: "VD" }, + { postalCode: "1658", placeName: "La Tine", cantonCode: "VD" }, + { postalCode: "1659", placeName: "Rougemont", cantonCode: "VD" }, + { postalCode: "1659", placeName: "Flendruz", cantonCode: "VD" }, + { postalCode: "1660", placeName: "La Lécherette", cantonCode: "VD" }, + { postalCode: "1660", placeName: "Les Moulins", cantonCode: "VD" }, + { postalCode: "1660", placeName: "L'Etivaz", cantonCode: "VD" }, + { postalCode: "1660", placeName: "Château-d'Oex", cantonCode: "VD" }, + { postalCode: "1800", placeName: "Vevey 1", cantonCode: "VD" }, + { postalCode: "1800", placeName: "Vevey", cantonCode: "VD" }, + { postalCode: "1801", placeName: "Le Mont-Pèlerin", cantonCode: "VD" }, + { postalCode: "1802", placeName: "Corseaux", cantonCode: "VD" }, + { postalCode: "1803", placeName: "Chardonne", cantonCode: "VD" }, + { postalCode: "1804", placeName: "Corsier-sur-Vevey", cantonCode: "VD" }, + { postalCode: "1805", placeName: "Jongny", cantonCode: "VD" }, + { postalCode: "1806", placeName: "St-Légier-La Chiésaz", cantonCode: "VD" }, + { postalCode: "1807", placeName: "Blonay", cantonCode: "VD" }, + { postalCode: "1808", placeName: "Les Monts-de-Corsier", cantonCode: "VD" }, + { postalCode: "1809", placeName: "Fenil-sur-Corsier", cantonCode: "VD" }, + { postalCode: "1811", placeName: "Vevey", cantonCode: "VD" }, + { postalCode: "1811", placeName: "Vevey Services spéciaux", cantonCode: "VD" }, + { postalCode: "1814", placeName: "La Tour-de-Peilz", cantonCode: "VD" }, + { postalCode: "1815", placeName: "Clarens", cantonCode: "VD" }, + { postalCode: "1816", placeName: "Chailly-Montreux", cantonCode: "VD" }, + { postalCode: "1817", placeName: "Brent", cantonCode: "VD" }, + { postalCode: "1818", placeName: "Montreux Redoute", cantonCode: "VD" }, + { postalCode: "1818", placeName: "Montreux La Redoute", cantonCode: "VD" }, + { postalCode: "1820", placeName: "Montreux 2", cantonCode: "VD" }, + { postalCode: "1820", placeName: "Territet", cantonCode: "VD" }, + { postalCode: "1820", placeName: "Veytaux", cantonCode: "VD" }, + { postalCode: "1820", placeName: "Montreux", cantonCode: "VD" }, + { postalCode: "1820", placeName: "Montreux 1", cantonCode: "VD" }, + { postalCode: "1822", placeName: "Chernex", cantonCode: "VD" }, + { postalCode: "1823", placeName: "Glion", cantonCode: "VD" }, + { postalCode: "1824", placeName: "Caux", cantonCode: "VD" }, + { postalCode: "1832", placeName: "Chamby", cantonCode: "VD" }, + { postalCode: "1832", placeName: "Villard-sur-Chamby", cantonCode: "VD" }, + { postalCode: "1833", placeName: "Les Avants", cantonCode: "VD" }, + { postalCode: "3900", placeName: "Brig", cantonCode: "VS" }, + { postalCode: "3900", placeName: "Brigerbad", cantonCode: "VS" }, + { postalCode: "3900", placeName: "Gamsen", cantonCode: "VS" }, + { postalCode: "3901", placeName: "Rothwald", cantonCode: "VS" }, + { postalCode: "3902", placeName: "Glis", cantonCode: "VS" }, + { postalCode: "3903", placeName: "Mund", cantonCode: "VS" }, + { postalCode: "3903", placeName: "Birgisch", cantonCode: "VS" }, + { postalCode: "3904", placeName: "Naters", cantonCode: "VS" }, + { postalCode: "3907", placeName: "Simplon Dorf", cantonCode: "VS" }, + { postalCode: "3907", placeName: "Gabi (Simplon)", cantonCode: "VS" }, + { postalCode: "3907", placeName: "Gondo", cantonCode: "VS" }, + { postalCode: "3911", placeName: "Ried-Brig", cantonCode: "VS" }, + { postalCode: "3912", placeName: "Termen", cantonCode: "VS" }, + { postalCode: "3913", placeName: "Rosswald", cantonCode: "VS" }, + { postalCode: "3914", placeName: "Blatten b. Naters", cantonCode: "VS" }, + { postalCode: "3914", placeName: "Belalp", cantonCode: "VS" }, + { postalCode: "3939", placeName: "Eggerberg", cantonCode: "VS" }, + { postalCode: "1911", placeName: "Mayens-de-Chamoson", cantonCode: "VS" }, + { postalCode: "1955", placeName: "Mayens-de-Chamoson", cantonCode: "VS" }, + { postalCode: "1955", placeName: "Némiaz (Chamoson)", cantonCode: "VS" }, + { postalCode: "1955", placeName: "Les Vérines (Chamoson)", cantonCode: "VS" }, + { postalCode: "1955", placeName: "Grugnay (Chamoson)", cantonCode: "VS" }, + { postalCode: "1955", placeName: "Chamoson", cantonCode: "VS" }, + { postalCode: "1955", placeName: "St-Pierre-de-Clages", cantonCode: "VS" }, + { postalCode: "1957", placeName: "Ardon", cantonCode: "VS" }, + { postalCode: "1963", placeName: "Vétroz", cantonCode: "VS" }, + { postalCode: "1964", placeName: "Conthey", cantonCode: "VS" }, + { postalCode: "1975", placeName: "St-Séverin", cantonCode: "VS" }, + { postalCode: "1976", placeName: "Aven", cantonCode: "VS" }, + { postalCode: "1976", placeName: "Daillon", cantonCode: "VS" }, + { postalCode: "1976", placeName: "Erde", cantonCode: "VS" }, + { postalCode: "1993", placeName: "Clèbes (Nendaz)", cantonCode: "VS" }, + { postalCode: "1994", placeName: "Aproz (Nendaz)", cantonCode: "VS" }, + { postalCode: "1996", placeName: "Condémines (Nendaz)", cantonCode: "VS" }, + { postalCode: "1996", placeName: "Beuson (Nendaz)", cantonCode: "VS" }, + { postalCode: "1996", placeName: "Baar (Nendaz)", cantonCode: "VS" }, + { postalCode: "1996", placeName: "Bieudron (Nendaz)", cantonCode: "VS" }, + { postalCode: "1996", placeName: "Brignon (Nendaz)", cantonCode: "VS" }, + { postalCode: "1996", placeName: "Saclentse", cantonCode: "VS" }, + { postalCode: "1996", placeName: "Fey (Nendaz)", cantonCode: "VS" }, + { postalCode: "1996", placeName: "Basse-Nendaz", cantonCode: "VS" }, + { postalCode: "1997", placeName: "Haute-Nendaz", cantonCode: "VS" }, + { postalCode: "1997", placeName: "Sornard (Nendaz)", cantonCode: "VS" }, + { postalCode: "1997", placeName: "Siviez (Nendaz)", cantonCode: "VS" }, + { postalCode: "1927", placeName: "Chemin", cantonCode: "VS" }, + { postalCode: "1933", placeName: "La Garde (Sembrancher)", cantonCode: "VS" }, + { postalCode: "1933", placeName: "Vens (Sembrancher)", cantonCode: "VS" }, + { postalCode: "1933", placeName: "Sembrancher", cantonCode: "VS" }, + { postalCode: "1933", placeName: "Chamoille (Sembrancher)", cantonCode: "VS" }, + { postalCode: "1934", placeName: "Le Châble VS", cantonCode: "VS" }, + { postalCode: "1934", placeName: "Bruson", cantonCode: "VS" }, + { postalCode: "1936", placeName: "Verbier", cantonCode: "VS" }, + { postalCode: "1937", placeName: "Orsières", cantonCode: "VS" }, + { postalCode: "1938", placeName: "Champex-Lac", cantonCode: "VS" }, + { postalCode: "1941", placeName: "Vollèges", cantonCode: "VS" }, + { postalCode: "1941", placeName: "Cries (Vollèges)", cantonCode: "VS" }, + { postalCode: "1942", placeName: "Levron", cantonCode: "VS" }, + { postalCode: "1943", placeName: "Praz-de-Fort", cantonCode: "VS" }, + { postalCode: "1944", placeName: "La Fouly VS", cantonCode: "VS" }, + { postalCode: "1945", placeName: "Chez Petit (Liddes)", cantonCode: "VS" }, + { postalCode: "1945", placeName: "Vichères (Liddes)", cantonCode: "VS" }, + { postalCode: "1945", placeName: "Palasuit (Liddes)", cantonCode: "VS" }, + { postalCode: "1945", placeName: "Dranse (Liddes)", cantonCode: "VS" }, + { postalCode: "1945", placeName: "Chandonne (Liddes)", cantonCode: "VS" }, + { postalCode: "1945", placeName: "Rive Haute (Liddes)", cantonCode: "VS" }, + { postalCode: "1945", placeName: "Fontaine Dessus (Liddes)", cantonCode: "VS" }, + { postalCode: "1945", placeName: "Petit Vichères (Liddes)", cantonCode: "VS" }, + { postalCode: "1945", placeName: "Liddes", cantonCode: "VS" }, + { postalCode: "1945", placeName: "Fontaine Dessous (Liddes)", cantonCode: "VS" }, + { postalCode: "1945", placeName: "Les Moulins VS (Liddes)", cantonCode: "VS" }, + { postalCode: "1945", placeName: "Fornex (Liddes)", cantonCode: "VS" }, + { postalCode: "1946", placeName: "Bourg-St-Pierre", cantonCode: "VS" }, + { postalCode: "1947", placeName: "Versegères", cantonCode: "VS" }, + { postalCode: "1947", placeName: "Champsec", cantonCode: "VS" }, + { postalCode: "1948", placeName: "Fionnay", cantonCode: "VS" }, + { postalCode: "1948", placeName: "Lourtier", cantonCode: "VS" }, + { postalCode: "1948", placeName: "Sarreyer", cantonCode: "VS" }, + { postalCode: "3801", placeName: "Jungfraujoch", cantonCode: "VS" }, + { postalCode: "3984", placeName: "Fiesch", cantonCode: "VS" }, + { postalCode: "3984", placeName: "Fieschertal", cantonCode: "VS" }, + { postalCode: "3984", placeName: "Fiesch", cantonCode: "VS" }, + { postalCode: "3985", placeName: "Münster VS", cantonCode: "VS" }, + { postalCode: "3985", placeName: "Geschinen", cantonCode: "VS" }, + { postalCode: "3988", placeName: "Obergesteln", cantonCode: "VS" }, + { postalCode: "3988", placeName: "Ulrichen", cantonCode: "VS" }, + { postalCode: "3989", placeName: "Selkingen", cantonCode: "VS" }, + { postalCode: "3989", placeName: "Ritzingen", cantonCode: "VS" }, + { postalCode: "3989", placeName: "Blitzingen", cantonCode: "VS" }, + { postalCode: "3989", placeName: "Niederwald", cantonCode: "VS" }, + { postalCode: "3989", placeName: "Biel VS", cantonCode: "VS" }, + { postalCode: "3989", placeName: "Grafschaft", cantonCode: "VS" }, + { postalCode: "3994", placeName: "Lax", cantonCode: "VS" }, + { postalCode: "3995", placeName: "Steinhaus", cantonCode: "VS" }, + { postalCode: "3995", placeName: "Steinhaus", cantonCode: "VS" }, + { postalCode: "3995", placeName: "Mühlebach (Goms)", cantonCode: "VS" }, + { postalCode: "3995", placeName: "Ernen", cantonCode: "VS" }, + { postalCode: "3995", placeName: "Mühlebach (Goms)", cantonCode: "VS" }, + { postalCode: "3995", placeName: "Ausserbinn", cantonCode: "VS" }, + { postalCode: "3996", placeName: "Binn", cantonCode: "VS" }, + { postalCode: "3997", placeName: "Bellwald", cantonCode: "VS" }, + { postalCode: "3998", placeName: "Reckingen VS", cantonCode: "VS" }, + { postalCode: "3998", placeName: "Gluringen", cantonCode: "VS" }, + { postalCode: "3999", placeName: "Oberwald", cantonCode: "VS" }, + { postalCode: "1961", placeName: "Vernamiège", cantonCode: "VS" }, + { postalCode: "1966", placeName: "Saxonne (Ayent)", cantonCode: "VS" }, + { postalCode: "1966", placeName: "Botyre (Ayent)", cantonCode: "VS" }, + { postalCode: "1966", placeName: "Luc (Ayent)", cantonCode: "VS" }, + { postalCode: "1966", placeName: "Villa (Ayent)", cantonCode: "VS" }, + { postalCode: "1966", placeName: "Argnou (Ayent)", cantonCode: "VS" }, + { postalCode: "1966", placeName: "La Place (Ayent)", cantonCode: "VS" }, + { postalCode: "1966", placeName: "Fortunau (Ayent)", cantonCode: "VS" }, + { postalCode: "1966", placeName: "Blignou (Ayent)", cantonCode: "VS" }, + { postalCode: "1966", placeName: "Ayent", cantonCode: "VS" }, + { postalCode: "1966", placeName: "Signèse (Ayent)", cantonCode: "VS" }, + { postalCode: "1966", placeName: "St-Romain (Ayent)", cantonCode: "VS" }, + { postalCode: "1968", placeName: "Mase", cantonCode: "VS" }, + { postalCode: "1969", placeName: "Eison (St-Martin)", cantonCode: "VS" }, + { postalCode: "1969", placeName: "Liez (St-Martin)", cantonCode: "VS" }, + { postalCode: "1969", placeName: "St-Martin VS", cantonCode: "VS" }, + { postalCode: "1969", placeName: "Trogne (St-Martin)", cantonCode: "VS" }, + { postalCode: "1969", placeName: "Suen (St-Martin)", cantonCode: "VS" }, + { postalCode: "1972", placeName: "Anzère", cantonCode: "VS" }, + { postalCode: "1973", placeName: "Nax", cantonCode: "VS" }, + { postalCode: "1981", placeName: "Vex", cantonCode: "VS" }, + { postalCode: "1982", placeName: "Euseigne", cantonCode: "VS" }, + { postalCode: "1983", placeName: "Evolène", cantonCode: "VS" }, + { postalCode: "1983", placeName: "Lanna", cantonCode: "VS" }, + { postalCode: "1984", placeName: "La Tour VS", cantonCode: "VS" }, + { postalCode: "1984", placeName: "Les Haudères", cantonCode: "VS" }, + { postalCode: "1985", placeName: "La Forclaz VS", cantonCode: "VS" }, + { postalCode: "1985", placeName: "Villa (Evolène)", cantonCode: "VS" }, + { postalCode: "1985", placeName: "La Sage", cantonCode: "VS" }, + { postalCode: "1986", placeName: "Arolla", cantonCode: "VS" }, + { postalCode: "1987", placeName: "Hérémence", cantonCode: "VS" }, + { postalCode: "1988", placeName: "Thyon", cantonCode: "VS" }, + { postalCode: "1988", placeName: "Les Collons", cantonCode: "VS" }, + { postalCode: "3945", placeName: "Niedergampel", cantonCode: "VS" }, + { postalCode: "3945", placeName: "Gampel", cantonCode: "VS" }, + { postalCode: "3946", placeName: "Turtmann", cantonCode: "VS" }, + { postalCode: "3946", placeName: "Gruben", cantonCode: "VS" }, + { postalCode: "3947", placeName: "Ergisch", cantonCode: "VS" }, + { postalCode: "3948", placeName: "Unterems", cantonCode: "VS" }, + { postalCode: "3948", placeName: "Oberems", cantonCode: "VS" }, + { postalCode: "3951", placeName: "Agarn", cantonCode: "VS" }, + { postalCode: "3952", placeName: "Susten", cantonCode: "VS" }, + { postalCode: "3953", placeName: "Inden", cantonCode: "VS" }, + { postalCode: "3953", placeName: "Leuk Stadt", cantonCode: "VS" }, + { postalCode: "3953", placeName: "Varen", cantonCode: "VS" }, + { postalCode: "3954", placeName: "Leukerbad", cantonCode: "VS" }, + { postalCode: "3955", placeName: "Albinen", cantonCode: "VS" }, + { postalCode: "3956", placeName: "Guttet-Feschel", cantonCode: "VS" }, + { postalCode: "3957", placeName: "Bratsch", cantonCode: "VS" }, + { postalCode: "3957", placeName: "Erschmatt", cantonCode: "VS" }, + { postalCode: "3970", placeName: "Salgesch", cantonCode: "VS" }, + { postalCode: "1906", placeName: "Charrat", cantonCode: "VS" }, + { postalCode: "1907", placeName: "Saxon", cantonCode: "VS" }, + { postalCode: "1908", placeName: "Riddes", cantonCode: "VS" }, + { postalCode: "1911", placeName: "Ovronnaz", cantonCode: "VS" }, + { postalCode: "1912", placeName: "Produit (Leytron)", cantonCode: "VS" }, + { postalCode: "1912", placeName: "Dugny (Leytron)", cantonCode: "VS" }, + { postalCode: "1912", placeName: "Leytron", cantonCode: "VS" }, + { postalCode: "1912", placeName: "Montagnon (Leytron)", cantonCode: "VS" }, + { postalCode: "1913", placeName: "Saillon", cantonCode: "VS" }, + { postalCode: "1913", placeName: "Saillon", cantonCode: "VS" }, + { postalCode: "1914", placeName: "Auddes-sur-Riddes", cantonCode: "VS" }, + { postalCode: "1914", placeName: "Isérables", cantonCode: "VS" }, + { postalCode: "1918", placeName: "La Tzoumaz", cantonCode: "VS" }, + { postalCode: "1919", placeName: "Martigny Groupe Mutuel", cantonCode: "VS" }, + { postalCode: "1919", placeName: "Martigny Mutuel", cantonCode: "VS" }, + { postalCode: "1920", placeName: "Martigny", cantonCode: "VS" }, + { postalCode: "1920", placeName: "Martigny 1", cantonCode: "VS" }, + { postalCode: "1921", placeName: "Martigny-Croix", cantonCode: "VS" }, + { postalCode: "1926", placeName: "Fully", cantonCode: "VS" }, + { postalCode: "1928", placeName: "Ravoire", cantonCode: "VS" }, + { postalCode: "1929", placeName: "Trient", cantonCode: "VS" }, + { postalCode: "1932", placeName: "Bovernier", cantonCode: "VS" }, + { postalCode: "1932", placeName: "Les Valettes (Bovernier)", cantonCode: "VS" }, + { postalCode: "1868", placeName: "Collombey", cantonCode: "VS" }, + { postalCode: "1870", placeName: "Monthey 2", cantonCode: "VS" }, + { postalCode: "1870", placeName: "Monthey", cantonCode: "VS" }, + { postalCode: "1870", placeName: "Monthey", cantonCode: "VS" }, + { postalCode: "1870", placeName: "Monthey 1", cantonCode: "VS" }, + { postalCode: "1871", placeName: "Les Giettes", cantonCode: "VS" }, + { postalCode: "1871", placeName: "Choëx", cantonCode: "VS" }, + { postalCode: "1872", placeName: "Troistorrents", cantonCode: "VS" }, + { postalCode: "1873", placeName: "Val-d'Illiez", cantonCode: "VS" }, + { postalCode: "1873", placeName: "Les Crosets", cantonCode: "VS" }, + { postalCode: "1873", placeName: "Champoussin", cantonCode: "VS" }, + { postalCode: "1874", placeName: "Champéry", cantonCode: "VS" }, + { postalCode: "1875", placeName: "Morgins", cantonCode: "VS" }, + { postalCode: "1893", placeName: "Muraz (Collombey)", cantonCode: "VS" }, + { postalCode: "1895", placeName: "Vionnaz", cantonCode: "VS" }, + { postalCode: "1896", placeName: "Vouvry", cantonCode: "VS" }, + { postalCode: "1896", placeName: "Miex", cantonCode: "VS" }, + { postalCode: "1897", placeName: "Les Evouettes", cantonCode: "VS" }, + { postalCode: "1897", placeName: "Bouveret", cantonCode: "VS" }, + { postalCode: "1898", placeName: "St-Gingolph", cantonCode: "VS" }, + { postalCode: "1899", placeName: "Torgon", cantonCode: "VS" }, + { postalCode: "3916", placeName: "Ferden", cantonCode: "VS" }, + { postalCode: "3917", placeName: "Goppenstein", cantonCode: "VS" }, + { postalCode: "3917", placeName: "Kippel", cantonCode: "VS" }, + { postalCode: "3918", placeName: "Wiler (Lötschen)", cantonCode: "VS" }, + { postalCode: "3919", placeName: "Blatten (Lötschen)", cantonCode: "VS" }, + { postalCode: "3935", placeName: "Bürchen", cantonCode: "VS" }, + { postalCode: "3938", placeName: "Ausserberg", cantonCode: "VS" }, + { postalCode: "3940", placeName: "Steg VS", cantonCode: "VS" }, + { postalCode: "3942", placeName: "Niedergesteln", cantonCode: "VS" }, + { postalCode: "3942", placeName: "St. German", cantonCode: "VS" }, + { postalCode: "3942", placeName: "Raron", cantonCode: "VS" }, + { postalCode: "3943", placeName: "Eischoll", cantonCode: "VS" }, + { postalCode: "3944", placeName: "Unterbäch VS", cantonCode: "VS" }, + { postalCode: "3949", placeName: "Hohtenn", cantonCode: "VS" }, + { postalCode: "3982", placeName: "Bitsch", cantonCode: "VS" }, + { postalCode: "3983", placeName: "Filet", cantonCode: "VS" }, + { postalCode: "3983", placeName: "Mörel", cantonCode: "VS" }, + { postalCode: "3983", placeName: "Bister", cantonCode: "VS" }, + { postalCode: "3983", placeName: "Greich", cantonCode: "VS" }, + { postalCode: "3983", placeName: "Goppisberg", cantonCode: "VS" }, + { postalCode: "3986", placeName: "Ried-Mörel", cantonCode: "VS" }, + { postalCode: "3987", placeName: "Riederalp", cantonCode: "VS" }, + { postalCode: "3991", placeName: "Betten", cantonCode: "VS" }, + { postalCode: "3992", placeName: "Bettmeralp", cantonCode: "VS" }, + { postalCode: "3993", placeName: "Grengiols", cantonCode: "VS" }, + { postalCode: "3994", placeName: "Martisberg", cantonCode: "VS" }, + { postalCode: "1869", placeName: "Massongex", cantonCode: "VS" }, + { postalCode: "1890", placeName: "St-Maurice", cantonCode: "VS" }, + { postalCode: "1890", placeName: "Mex VS", cantonCode: "VS" }, + { postalCode: "1891", placeName: "Vérossaz", cantonCode: "VS" }, + { postalCode: "1902", placeName: "Evionnaz", cantonCode: "VS" }, + { postalCode: "1903", placeName: "Collonges", cantonCode: "VS" }, + { postalCode: "1904", placeName: "Vernayaz", cantonCode: "VS" }, + { postalCode: "1905", placeName: "Dorénaz", cantonCode: "VS" }, + { postalCode: "1922", placeName: "Les Granges (Salvan)", cantonCode: "VS" }, + { postalCode: "1922", placeName: "Salvan", cantonCode: "VS" }, + { postalCode: "1923", placeName: "Les Marécottes", cantonCode: "VS" }, + { postalCode: "1923", placeName: "Le Trétien", cantonCode: "VS" }, + { postalCode: "1925", placeName: "Le Châtelard VS", cantonCode: "VS" }, + { postalCode: "1925", placeName: "Finhaut", cantonCode: "VS" }, + { postalCode: "1958", placeName: "St-Léonard", cantonCode: "VS" }, + { postalCode: "1977", placeName: "Icogne", cantonCode: "VS" }, + { postalCode: "1978", placeName: "Lens", cantonCode: "VS" }, + { postalCode: "3960", placeName: "Loc", cantonCode: "VS" }, + { postalCode: "3960", placeName: "Niouc", cantonCode: "VS" }, + { postalCode: "3960", placeName: "Sierre", cantonCode: "VS" }, + { postalCode: "3960", placeName: "Corin-de-la-Crête", cantonCode: "VS" }, + { postalCode: "3960", placeName: "Muraz (Sierre)", cantonCode: "VS" }, + { postalCode: "3961", placeName: "St-Jean VS", cantonCode: "VS" }, + { postalCode: "3961", placeName: "Chandolin", cantonCode: "VS" }, + { postalCode: "3961", placeName: "Zinal", cantonCode: "VS" }, + { postalCode: "3961", placeName: "Ayer", cantonCode: "VS" }, + { postalCode: "3961", placeName: "St-Luc", cantonCode: "VS" }, + { postalCode: "3961", placeName: "Mission", cantonCode: "VS" }, + { postalCode: "3961", placeName: "Grimentz", cantonCode: "VS" }, + { postalCode: "3961", placeName: "Vissoie", cantonCode: "VS" }, + { postalCode: "3963", placeName: "Crans-Montana 1", cantonCode: "VS" }, + { postalCode: "3963", placeName: "Crans-Montana", cantonCode: "VS" }, + { postalCode: "3963", placeName: "Montana", cantonCode: "VS" }, + { postalCode: "3963", placeName: "Crans-Montana 2", cantonCode: "VS" }, + { postalCode: "3963", placeName: "Aminona", cantonCode: "VS" }, + { postalCode: "3965", placeName: "Chippis", cantonCode: "VS" }, + { postalCode: "3966", placeName: "Réchy", cantonCode: "VS" }, + { postalCode: "3966", placeName: "Chalais", cantonCode: "VS" }, + { postalCode: "3967", placeName: "Vercorin", cantonCode: "VS" }, + { postalCode: "3968", placeName: "Veyras", cantonCode: "VS" }, + { postalCode: "3971", placeName: "Chermignon", cantonCode: "VS" }, + { postalCode: "3971", placeName: "Chermignon-d'en-Bas", cantonCode: "VS" }, + { postalCode: "3971", placeName: "Ollon VS", cantonCode: "VS" }, + { postalCode: "3972", placeName: "Miège", cantonCode: "VS" }, + { postalCode: "3973", placeName: "Venthône", cantonCode: "VS" }, + { postalCode: "3974", placeName: "Mollens VS", cantonCode: "VS" }, + { postalCode: "3975", placeName: "Randogne", cantonCode: "VS" }, + { postalCode: "3976", placeName: "Noës", cantonCode: "VS" }, + { postalCode: "3976", placeName: "Champzabé", cantonCode: "VS" }, + { postalCode: "3977", placeName: "Granges VS", cantonCode: "VS" }, + { postalCode: "3978", placeName: "Flanthey", cantonCode: "VS" }, + { postalCode: "3979", placeName: "Grône", cantonCode: "VS" }, + { postalCode: "1950", placeName: "Sion", cantonCode: "VS" }, + { postalCode: "1950", placeName: "Sion 2", cantonCode: "VS" }, + { postalCode: "1950", placeName: "Sion 4", cantonCode: "VS" }, + { postalCode: "1951", placeName: "Sion", cantonCode: "VS" }, + { postalCode: "1958", placeName: "Uvrier", cantonCode: "VS" }, + { postalCode: "1962", placeName: "Pont-de-la-Morge (Sion)", cantonCode: "VS" }, + { postalCode: "1965", placeName: "Chandolin (Savièse)", cantonCode: "VS" }, + { postalCode: "1965", placeName: "Granois (Savièse)", cantonCode: "VS" }, + { postalCode: "1965", placeName: "Diolly (Savièse)", cantonCode: "VS" }, + { postalCode: "1965", placeName: "Mayens-de-la-Zour (Savièse)", cantonCode: "VS" }, + { postalCode: "1965", placeName: "La Muraz (Savièse)", cantonCode: "VS" }, + { postalCode: "1965", placeName: "Ormône (Savièse)", cantonCode: "VS" }, + { postalCode: "1965", placeName: "Drône (Savièse)", cantonCode: "VS" }, + { postalCode: "1965", placeName: "Savièse", cantonCode: "VS" }, + { postalCode: "1965", placeName: "Monteiller (Savièse)", cantonCode: "VS" }, + { postalCode: "1965", placeName: "St-Germain (Savièse)", cantonCode: "VS" }, + { postalCode: "1965", placeName: "Roumaz (Savièse)", cantonCode: "VS" }, + { postalCode: "1967", placeName: "Bramois", cantonCode: "VS" }, + { postalCode: "1971", placeName: "Grimisuat", cantonCode: "VS" }, + { postalCode: "1971", placeName: "Champlan (Grimisuat)", cantonCode: "VS" }, + { postalCode: "1974", placeName: "Arbaz", cantonCode: "VS" }, + { postalCode: "1991", placeName: "Arvillard (Salins)", cantonCode: "VS" }, + { postalCode: "1991", placeName: "Salins", cantonCode: "VS" }, + { postalCode: "1991", placeName: "Turin (Salins)", cantonCode: "VS" }, + { postalCode: "1991", placeName: "Misériez (Salins)", cantonCode: "VS" }, + { postalCode: "1991", placeName: "Pravidondaz (Salins)", cantonCode: "VS" }, + { postalCode: "1992", placeName: "Crête-à-l'Oeil(Les Agettes)", cantonCode: "VS" }, + { postalCode: "1992", placeName: "Les Mayens-de-Sion", cantonCode: "VS" }, + { postalCode: "1992", placeName: "La Vernaz (Les Agettes)", cantonCode: "VS" }, + { postalCode: "1992", placeName: "Crête-à-l'Oeil (Les Agettes)", cantonCode: "VS" }, + { postalCode: "1992", placeName: "Les Agettes", cantonCode: "VS" }, + { postalCode: "1993", placeName: "Veysonnaz", cantonCode: "VS" }, + { postalCode: "3905", placeName: "Saas-Almagell", cantonCode: "VS" }, + { postalCode: "3906", placeName: "Saas-Fee", cantonCode: "VS" }, + { postalCode: "3908", placeName: "Saas-Balen", cantonCode: "VS" }, + { postalCode: "3910", placeName: "Saas-Grund", cantonCode: "VS" }, + { postalCode: "3920", placeName: "Zermatt", cantonCode: "VS" }, + { postalCode: "3922", placeName: "Eisten", cantonCode: "VS" }, + { postalCode: "3922", placeName: "Stalden VS", cantonCode: "VS" }, + { postalCode: "3922", placeName: "Kalpetran", cantonCode: "VS" }, + { postalCode: "3923", placeName: "Törbel", cantonCode: "VS" }, + { postalCode: "3924", placeName: "St. Niklaus VS", cantonCode: "VS" }, + { postalCode: "3925", placeName: "Grächen", cantonCode: "VS" }, + { postalCode: "3926", placeName: "Embd", cantonCode: "VS" }, + { postalCode: "3927", placeName: "Herbriggen", cantonCode: "VS" }, + { postalCode: "3928", placeName: "Randa", cantonCode: "VS" }, + { postalCode: "3929", placeName: "Täsch", cantonCode: "VS" }, + { postalCode: "3930", placeName: "Visp", cantonCode: "VS" }, + { postalCode: "3930", placeName: "Eyholz", cantonCode: "VS" }, + { postalCode: "3931", placeName: "Lalden", cantonCode: "VS" }, + { postalCode: "3932", placeName: "Visperterminen", cantonCode: "VS" }, + { postalCode: "3933", placeName: "Staldenried", cantonCode: "VS" }, + { postalCode: "3934", placeName: "Zeneggen", cantonCode: "VS" }, + { postalCode: "3937", placeName: "Baltschieder", cantonCode: "VS" }, + { postalCode: "3937", placeName: "Baltschieder", cantonCode: "VS" }, + { postalCode: "6300", placeName: "Zug", cantonCode: "ZG" }, + { postalCode: "6300", placeName: "Zugerberg", cantonCode: "ZG" }, + { postalCode: "6301", placeName: "Zug", cantonCode: "ZG" }, + { postalCode: "6302", placeName: "Zug", cantonCode: "ZG" }, + { postalCode: "6303", placeName: "Zug", cantonCode: "ZG" }, + { postalCode: "6312", placeName: "Steinhausen", cantonCode: "ZG" }, + { postalCode: "6313", placeName: "Edlibach", cantonCode: "ZG" }, + { postalCode: "6313", placeName: "Finstersee", cantonCode: "ZG" }, + { postalCode: "6313", placeName: "Menzingen", cantonCode: "ZG" }, + { postalCode: "6314", placeName: "Unterägeri", cantonCode: "ZG" }, + { postalCode: "6314", placeName: "Neuägeri", cantonCode: "ZG" }, + { postalCode: "6315", placeName: "Morgarten", cantonCode: "ZG" }, + { postalCode: "6315", placeName: "Oberägeri", cantonCode: "ZG" }, + { postalCode: "6315", placeName: "Alosen", cantonCode: "ZG" }, + { postalCode: "6317", placeName: "Oberwil b. Zug", cantonCode: "ZG" }, + { postalCode: "6318", placeName: "Walchwil", cantonCode: "ZG" }, + { postalCode: "6319", placeName: "Allenwinden", cantonCode: "ZG" }, + { postalCode: "6330", placeName: "Cham", cantonCode: "ZG" }, + { postalCode: "6331", placeName: "Hünenberg", cantonCode: "ZG" }, + { postalCode: "6332", placeName: "Hagendorn", cantonCode: "ZG" }, + { postalCode: "6333", placeName: "Hünenberg See", cantonCode: "ZG" }, + { postalCode: "6340", placeName: "Baar", cantonCode: "ZG" }, + { postalCode: "6340", placeName: "Sihlbrugg", cantonCode: "ZG" }, + { postalCode: "6341", placeName: "Baar", cantonCode: "ZG" }, + { postalCode: "6343", placeName: "Buonas", cantonCode: "ZG" }, + { postalCode: "6343", placeName: "Holzhäusern ZG", cantonCode: "ZG" }, + { postalCode: "6343", placeName: "Rotkreuz", cantonCode: "ZG" }, + { postalCode: "6343", placeName: "Risch", cantonCode: "ZG" }, + { postalCode: "6345", placeName: "Neuheim", cantonCode: "ZG" }, + { postalCode: "8143", placeName: "Stallikon", cantonCode: "ZH" }, + { postalCode: "8143", placeName: "Uetliberg", cantonCode: "ZH" }, + { postalCode: "8906", placeName: "Bonstetten", cantonCode: "ZH" }, + { postalCode: "8907", placeName: "Wettswil", cantonCode: "ZH" }, + { postalCode: "8908", placeName: "Hedingen", cantonCode: "ZH" }, + { postalCode: "8909", placeName: "Zwillikon", cantonCode: "ZH" }, + { postalCode: "8910", placeName: "Affoltern am Albis", cantonCode: "ZH" }, + { postalCode: "8911", placeName: "Rifferswil", cantonCode: "ZH" }, + { postalCode: "8912", placeName: "Obfelden", cantonCode: "ZH" }, + { postalCode: "8913", placeName: "Ottenbach", cantonCode: "ZH" }, + { postalCode: "8914", placeName: "Aeugstertal", cantonCode: "ZH" }, + { postalCode: "8914", placeName: "Aeugst am Albis", cantonCode: "ZH" }, + { postalCode: "8915", placeName: "Hausen am Albis", cantonCode: "ZH" }, + { postalCode: "8925", placeName: "Ebertswil", cantonCode: "ZH" }, + { postalCode: "8926", placeName: "Hauptikon", cantonCode: "ZH" }, + { postalCode: "8926", placeName: "Uerzlikon", cantonCode: "ZH" }, + { postalCode: "8926", placeName: "Kappel am Albis", cantonCode: "ZH" }, + { postalCode: "8932", placeName: "Mettmenstetten", cantonCode: "ZH" }, + { postalCode: "8933", placeName: "Maschwanden", cantonCode: "ZH" }, + { postalCode: "8934", placeName: "Knonau", cantonCode: "ZH" }, + { postalCode: "8212", placeName: "Nohl", cantonCode: "ZH" }, + { postalCode: "8245", placeName: "Feuerthalen", cantonCode: "ZH" }, + { postalCode: "8246", placeName: "Langwiesen", cantonCode: "ZH" }, + { postalCode: "8247", placeName: "Flurlingen", cantonCode: "ZH" }, + { postalCode: "8248", placeName: "Uhwiesen", cantonCode: "ZH" }, + { postalCode: "8414", placeName: "Buch am Irchel", cantonCode: "ZH" }, + { postalCode: "8415", placeName: "Gräslikon", cantonCode: "ZH" }, + { postalCode: "8415", placeName: "Berg am Irchel", cantonCode: "ZH" }, + { postalCode: "8416", placeName: "Flaach", cantonCode: "ZH" }, + { postalCode: "8444", placeName: "Henggart", cantonCode: "ZH" }, + { postalCode: "8447", placeName: "Dachsen", cantonCode: "ZH" }, + { postalCode: "8450", placeName: "Andelfingen", cantonCode: "ZH" }, + { postalCode: "8451", placeName: "Kleinandelfingen", cantonCode: "ZH" }, + { postalCode: "8452", placeName: "Adlikon b. Andelfingen", cantonCode: "ZH" }, + { postalCode: "8453", placeName: "Alten", cantonCode: "ZH" }, + { postalCode: "8457", placeName: "Humlikon", cantonCode: "ZH" }, + { postalCode: "8458", placeName: "Dorf", cantonCode: "ZH" }, + { postalCode: "8459", placeName: "Volken", cantonCode: "ZH" }, + { postalCode: "8460", placeName: "Marthalen", cantonCode: "ZH" }, + { postalCode: "8461", placeName: "Oerlingen", cantonCode: "ZH" }, + { postalCode: "8462", placeName: "Rheinau", cantonCode: "ZH" }, + { postalCode: "8463", placeName: "Benken ZH", cantonCode: "ZH" }, + { postalCode: "8464", placeName: "Ellikon am Rhein", cantonCode: "ZH" }, + { postalCode: "8465", placeName: "Wildensbuch", cantonCode: "ZH" }, + { postalCode: "8465", placeName: "Rudolfingen", cantonCode: "ZH" }, + { postalCode: "8466", placeName: "Trüllikon", cantonCode: "ZH" }, + { postalCode: "8467", placeName: "Truttikon", cantonCode: "ZH" }, + { postalCode: "8468", placeName: "Waltalingen", cantonCode: "ZH" }, + { postalCode: "8468", placeName: "Guntalingen", cantonCode: "ZH" }, + { postalCode: "8475", placeName: "Ossingen", cantonCode: "ZH" }, + { postalCode: "8476", placeName: "Unterstammheim", cantonCode: "ZH" }, + { postalCode: "8477", placeName: "Oberstammheim", cantonCode: "ZH" }, + { postalCode: "8478", placeName: "Thalheim an der Thur", cantonCode: "ZH" }, + { postalCode: "8058", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8060", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8152", placeName: "Glattbrugg", cantonCode: "ZH" }, + { postalCode: "8152", placeName: "Opfikon", cantonCode: "ZH" }, + { postalCode: "8152", placeName: "Glattpark (Opfikon)", cantonCode: "ZH" }, + { postalCode: "8180", placeName: "Bülach", cantonCode: "ZH" }, + { postalCode: "8181", placeName: "Höri", cantonCode: "ZH" }, + { postalCode: "8182", placeName: "Hochfelden", cantonCode: "ZH" }, + { postalCode: "8184", placeName: "Bachenbülach", cantonCode: "ZH" }, + { postalCode: "8185", placeName: "Winkel", cantonCode: "ZH" }, + { postalCode: "8192", placeName: "Zweidlen", cantonCode: "ZH" }, + { postalCode: "8192", placeName: "Glattfelden", cantonCode: "ZH" }, + { postalCode: "8193", placeName: "Eglisau", cantonCode: "ZH" }, + { postalCode: "8194", placeName: "Hüntwangen", cantonCode: "ZH" }, + { postalCode: "8195", placeName: "Wasterkingen", cantonCode: "ZH" }, + { postalCode: "8196", placeName: "Wil ZH", cantonCode: "ZH" }, + { postalCode: "8197", placeName: "Rafz", cantonCode: "ZH" }, + { postalCode: "8302", placeName: "Kloten", cantonCode: "ZH" }, + { postalCode: "8303", placeName: "Bassersdorf", cantonCode: "ZH" }, + { postalCode: "8304", placeName: "Wallisellen", cantonCode: "ZH" }, + { postalCode: "8305", placeName: "Dietlikon", cantonCode: "ZH" }, + { postalCode: "8309", placeName: "Nürensdorf", cantonCode: "ZH" }, + { postalCode: "8424", placeName: "Embrach", cantonCode: "ZH" }, + { postalCode: "8425", placeName: "Oberembrach", cantonCode: "ZH" }, + { postalCode: "8426", placeName: "Lufingen", cantonCode: "ZH" }, + { postalCode: "8427", placeName: "Freienstein", cantonCode: "ZH" }, + { postalCode: "8427", placeName: "Rorbas", cantonCode: "ZH" }, + { postalCode: "8428", placeName: "Teufen ZH", cantonCode: "ZH" }, + { postalCode: "8105", placeName: "Regensdorf", cantonCode: "ZH" }, + { postalCode: "8105", placeName: "Watt", cantonCode: "ZH" }, + { postalCode: "8106", placeName: "Adlikon b. Regensdorf", cantonCode: "ZH" }, + { postalCode: "8107", placeName: "Buchs ZH", cantonCode: "ZH" }, + { postalCode: "8108", placeName: "Dällikon", cantonCode: "ZH" }, + { postalCode: "8112", placeName: "Otelfingen", cantonCode: "ZH" }, + { postalCode: "8113", placeName: "Boppelsen", cantonCode: "ZH" }, + { postalCode: "8114", placeName: "Dänikon ZH", cantonCode: "ZH" }, + { postalCode: "8115", placeName: "Hüttikon", cantonCode: "ZH" }, + { postalCode: "8153", placeName: "Rümlang", cantonCode: "ZH" }, + { postalCode: "8154", placeName: "Oberglatt ZH", cantonCode: "ZH" }, + { postalCode: "8155", placeName: "Nassenwil", cantonCode: "ZH" }, + { postalCode: "8155", placeName: "Niederhasli", cantonCode: "ZH" }, + { postalCode: "8156", placeName: "Oberhasli", cantonCode: "ZH" }, + { postalCode: "8157", placeName: "Dielsdorf", cantonCode: "ZH" }, + { postalCode: "8158", placeName: "Regensberg", cantonCode: "ZH" }, + { postalCode: "8162", placeName: "Steinmaur", cantonCode: "ZH" }, + { postalCode: "8162", placeName: "Sünikon", cantonCode: "ZH" }, + { postalCode: "8164", placeName: "Bachs", cantonCode: "ZH" }, + { postalCode: "8165", placeName: "Oberweningen", cantonCode: "ZH" }, + { postalCode: "8165", placeName: "Schleinikon", cantonCode: "ZH" }, + { postalCode: "8165", placeName: "Schöfflisdorf", cantonCode: "ZH" }, + { postalCode: "8166", placeName: "Niederweningen", cantonCode: "ZH" }, + { postalCode: "8172", placeName: "Niederglatt ZH", cantonCode: "ZH" }, + { postalCode: "8173", placeName: "Neerach", cantonCode: "ZH" }, + { postalCode: "8174", placeName: "Stadel b. Niederglatt", cantonCode: "ZH" }, + { postalCode: "8175", placeName: "Windlach", cantonCode: "ZH" }, + { postalCode: "8187", placeName: "Weiach", cantonCode: "ZH" }, + { postalCode: "8340", placeName: "Hinwil", cantonCode: "ZH" }, + { postalCode: "8342", placeName: "Wernetshausen", cantonCode: "ZH" }, + { postalCode: "8344", placeName: "Bäretswil", cantonCode: "ZH" }, + { postalCode: "8345", placeName: "Adetswil", cantonCode: "ZH" }, + { postalCode: "8496", placeName: "Steg im Tösstal", cantonCode: "ZH" }, + { postalCode: "8497", placeName: "Fischenthal", cantonCode: "ZH" }, + { postalCode: "8498", placeName: "Gibswil", cantonCode: "ZH" }, + { postalCode: "8607", placeName: "Aathal-Seegräben", cantonCode: "ZH" }, + { postalCode: "8608", placeName: "Bubikon", cantonCode: "ZH" }, + { postalCode: "8614", placeName: "Bertschikon (Gossau ZH)", cantonCode: "ZH" }, + { postalCode: "8620", placeName: "Wetzikon ZH", cantonCode: "ZH" }, + { postalCode: "8620", placeName: "Wetzikon ZH 1", cantonCode: "ZH" }, + { postalCode: "8623", placeName: "Wetzikon ZH", cantonCode: "ZH" }, + { postalCode: "8624", placeName: "Grüt (Gossau ZH)", cantonCode: "ZH" }, + { postalCode: "8625", placeName: "Gossau ZH", cantonCode: "ZH" }, + { postalCode: "8626", placeName: "Ottikon (Gossau ZH)", cantonCode: "ZH" }, + { postalCode: "8627", placeName: "Grüningen", cantonCode: "ZH" }, + { postalCode: "8630", placeName: "Rüti ZH", cantonCode: "ZH" }, + { postalCode: "8632", placeName: "Tann", cantonCode: "ZH" }, + { postalCode: "8633", placeName: "Wolfhausen", cantonCode: "ZH" }, + { postalCode: "8635", placeName: "Dürnten", cantonCode: "ZH" }, + { postalCode: "8636", placeName: "Wald ZH", cantonCode: "ZH" }, + { postalCode: "8637", placeName: "Laupen ZH", cantonCode: "ZH" }, + { postalCode: "8134", placeName: "Adliswil", cantonCode: "ZH" }, + { postalCode: "8134", placeName: "Adliswil 1", cantonCode: "ZH" }, + { postalCode: "8135", placeName: "Sihlwald", cantonCode: "ZH" }, + { postalCode: "8135", placeName: "Sihlbrugg Station", cantonCode: "ZH" }, + { postalCode: "8135", placeName: "Langnau am Albis", cantonCode: "ZH" }, + { postalCode: "8136", placeName: "Gattikon", cantonCode: "ZH" }, + { postalCode: "8800", placeName: "Thalwil", cantonCode: "ZH" }, + { postalCode: "8802", placeName: "Kilchberg ZH", cantonCode: "ZH" }, + { postalCode: "8803", placeName: "Rüschlikon", cantonCode: "ZH" }, + { postalCode: "8804", placeName: "Au ZH", cantonCode: "ZH" }, + { postalCode: "8805", placeName: "Richterswil", cantonCode: "ZH" }, + { postalCode: "8810", placeName: "Horgen", cantonCode: "ZH" }, + { postalCode: "8810", placeName: "Horgen 1", cantonCode: "ZH" }, + { postalCode: "8815", placeName: "Horgenberg", cantonCode: "ZH" }, + { postalCode: "8816", placeName: "Hirzel", cantonCode: "ZH" }, + { postalCode: "8820", placeName: "Wädenswil", cantonCode: "ZH" }, + { postalCode: "8824", placeName: "Schönenberg ZH", cantonCode: "ZH" }, + { postalCode: "8825", placeName: "Hütten", cantonCode: "ZH" }, + { postalCode: "8833", placeName: "Samstagern", cantonCode: "ZH" }, + { postalCode: "8942", placeName: "Oberrieden", cantonCode: "ZH" }, + { postalCode: "8125", placeName: "Zollikerberg", cantonCode: "ZH" }, + { postalCode: "8126", placeName: "Zumikon", cantonCode: "ZH" }, + { postalCode: "8127", placeName: "Forch", cantonCode: "ZH" }, + { postalCode: "8618", placeName: "Oetwil am See", cantonCode: "ZH" }, + { postalCode: "8634", placeName: "Hombrechtikon", cantonCode: "ZH" }, + { postalCode: "8700", placeName: "Küsnacht ZH", cantonCode: "ZH" }, + { postalCode: "8702", placeName: "Zollikon Dorf", cantonCode: "ZH" }, + { postalCode: "8702", placeName: "Zollikon", cantonCode: "ZH" }, + { postalCode: "8703", placeName: "Erlenbach ZH", cantonCode: "ZH" }, + { postalCode: "8704", placeName: "Herrliberg", cantonCode: "ZH" }, + { postalCode: "8706", placeName: "Meilen", cantonCode: "ZH" }, + { postalCode: "8707", placeName: "Uetikon am See", cantonCode: "ZH" }, + { postalCode: "8708", placeName: "Männedorf", cantonCode: "ZH" }, + { postalCode: "8712", placeName: "Stäfa", cantonCode: "ZH" }, + { postalCode: "8713", placeName: "Uerikon", cantonCode: "ZH" }, + { postalCode: "8714", placeName: "Feldbach", cantonCode: "ZH" }, + { postalCode: "8307", placeName: "Effretikon", cantonCode: "ZH" }, + { postalCode: "8307", placeName: "Ottikon b. Kemptthal", cantonCode: "ZH" }, + { postalCode: "8308", placeName: "Illnau", cantonCode: "ZH" }, + { postalCode: "8308", placeName: "Agasul", cantonCode: "ZH" }, + { postalCode: "8310", placeName: "Kemptthal", cantonCode: "ZH" }, + { postalCode: "8310", placeName: "Grafstal", cantonCode: "ZH" }, + { postalCode: "8312", placeName: "Winterberg ZH", cantonCode: "ZH" }, + { postalCode: "8314", placeName: "Kyburg", cantonCode: "ZH" }, + { postalCode: "8315", placeName: "Lindau", cantonCode: "ZH" }, + { postalCode: "8317", placeName: "Tagelswangen", cantonCode: "ZH" }, + { postalCode: "8320", placeName: "Fehraltorf", cantonCode: "ZH" }, + { postalCode: "8322", placeName: "Madetswil", cantonCode: "ZH" }, + { postalCode: "8322", placeName: "Gündisau", cantonCode: "ZH" }, + { postalCode: "8330", placeName: "Pfäffikon ZH", cantonCode: "ZH" }, + { postalCode: "8331", placeName: "Auslikon", cantonCode: "ZH" }, + { postalCode: "8332", placeName: "Rumlikon", cantonCode: "ZH" }, + { postalCode: "8332", placeName: "Russikon", cantonCode: "ZH" }, + { postalCode: "8335", placeName: "Hittnau", cantonCode: "ZH" }, + { postalCode: "8484", placeName: "Neschwil", cantonCode: "ZH" }, + { postalCode: "8484", placeName: "Weisslingen", cantonCode: "ZH" }, + { postalCode: "8484", placeName: "Theilingen", cantonCode: "ZH" }, + { postalCode: "8489", placeName: "Wildberg", cantonCode: "ZH" }, + { postalCode: "8489", placeName: "Schalchen", cantonCode: "ZH" }, + { postalCode: "8489", placeName: "Ehrikon", cantonCode: "ZH" }, + { postalCode: "8492", placeName: "Wila", cantonCode: "ZH" }, + { postalCode: "8493", placeName: "Saland", cantonCode: "ZH" }, + { postalCode: "8494", placeName: "Bauma", cantonCode: "ZH" }, + { postalCode: "8499", placeName: "Sternenberg", cantonCode: "ZH" }, + { postalCode: "8044", placeName: "Gockhausen", cantonCode: "ZH" }, + { postalCode: "8117", placeName: "Fällanden", cantonCode: "ZH" }, + { postalCode: "8118", placeName: "Pfaffhausen", cantonCode: "ZH" }, + { postalCode: "8121", placeName: "Benglen", cantonCode: "ZH" }, + { postalCode: "8122", placeName: "Binz", cantonCode: "ZH" }, + { postalCode: "8123", placeName: "Ebmatingen", cantonCode: "ZH" }, + { postalCode: "8124", placeName: "Maur", cantonCode: "ZH" }, + { postalCode: "8132", placeName: "Egg b. Zürich", cantonCode: "ZH" }, + { postalCode: "8132", placeName: "Hinteregg", cantonCode: "ZH" }, + { postalCode: "8133", placeName: "Esslingen", cantonCode: "ZH" }, + { postalCode: "8306", placeName: "Brüttisellen", cantonCode: "ZH" }, + { postalCode: "8600", placeName: "Dübendorf 1", cantonCode: "ZH" }, + { postalCode: "8600", placeName: "Dübendorf", cantonCode: "ZH" }, + { postalCode: "8602", placeName: "Wangen b. Dübendorf", cantonCode: "ZH" }, + { postalCode: "8603", placeName: "Schwerzenbach", cantonCode: "ZH" }, + { postalCode: "8604", placeName: "Volketswil", cantonCode: "ZH" }, + { postalCode: "8605", placeName: "Gutenswil", cantonCode: "ZH" }, + { postalCode: "8606", placeName: "Greifensee", cantonCode: "ZH" }, + { postalCode: "8606", placeName: "Nänikon", cantonCode: "ZH" }, + { postalCode: "8610", placeName: "Uster", cantonCode: "ZH" }, + { postalCode: "8610", placeName: "Uster 1", cantonCode: "ZH" }, + { postalCode: "8613", placeName: "Uster 3", cantonCode: "ZH" }, + { postalCode: "8614", placeName: "Sulzbach", cantonCode: "ZH" }, + { postalCode: "8615", placeName: "Wermatswil", cantonCode: "ZH" }, + { postalCode: "8615", placeName: "Freudwil", cantonCode: "ZH" }, + { postalCode: "8616", placeName: "Riedikon", cantonCode: "ZH" }, + { postalCode: "8617", placeName: "Mönchaltorf", cantonCode: "ZH" }, + { postalCode: "8311", placeName: "Brütten", cantonCode: "ZH" }, + { postalCode: "8352", placeName: "Elsau", cantonCode: "ZH" }, + { postalCode: "8352", placeName: "Ricketwil (Winterthur)", cantonCode: "ZH" }, + { postalCode: "8353", placeName: "Elgg", cantonCode: "ZH" }, + { postalCode: "8354", placeName: "Hofstetten ZH", cantonCode: "ZH" }, + { postalCode: "8354", placeName: "Dickbuch", cantonCode: "ZH" }, + { postalCode: "8400", placeName: "Winterthur", cantonCode: "ZH" }, + { postalCode: "8401", placeName: "Winterthur", cantonCode: "ZH" }, + { postalCode: "8403", placeName: "Winterthur", cantonCode: "ZH" }, + { postalCode: "8404", placeName: "Stadel (Winterthur)", cantonCode: "ZH" }, + { postalCode: "8404", placeName: "Reutlingen (Winterthur)", cantonCode: "ZH" }, + { postalCode: "8404", placeName: "Winterthur", cantonCode: "ZH" }, + { postalCode: "8405", placeName: "Winterthur", cantonCode: "ZH" }, + { postalCode: "8406", placeName: "Winterthur", cantonCode: "ZH" }, + { postalCode: "8408", placeName: "Winterthur", cantonCode: "ZH" }, + { postalCode: "8409", placeName: "Winterthur", cantonCode: "ZH" }, + { postalCode: "8412", placeName: "Hünikon (Neftenbach)", cantonCode: "ZH" }, + { postalCode: "8412", placeName: "Aesch (Neftenbach)", cantonCode: "ZH" }, + { postalCode: "8412", placeName: "Riet (Neftenbach)", cantonCode: "ZH" }, + { postalCode: "8413", placeName: "Neftenbach", cantonCode: "ZH" }, + { postalCode: "8418", placeName: "Schlatt ZH", cantonCode: "ZH" }, + { postalCode: "8421", placeName: "Dättlikon", cantonCode: "ZH" }, + { postalCode: "8422", placeName: "Pfungen", cantonCode: "ZH" }, + { postalCode: "8442", placeName: "Hettlingen", cantonCode: "ZH" }, + { postalCode: "8471", placeName: "Berg (Dägerlen)", cantonCode: "ZH" }, + { postalCode: "8471", placeName: "Dägerlen", cantonCode: "ZH" }, + { postalCode: "8471", placeName: "Bänk (Dägerlen)", cantonCode: "ZH" }, + { postalCode: "8471", placeName: "Oberwil (Dägerlen)", cantonCode: "ZH" }, + { postalCode: "8471", placeName: "Rutschwil (Dägerlen)", cantonCode: "ZH" }, + { postalCode: "8472", placeName: "Seuzach", cantonCode: "ZH" }, + { postalCode: "8474", placeName: "Dinhard", cantonCode: "ZH" }, + { postalCode: "8479", placeName: "Altikon", cantonCode: "ZH" }, + { postalCode: "8482", placeName: "Sennhof (Winterthur)", cantonCode: "ZH" }, + { postalCode: "8483", placeName: "Kollbrunn", cantonCode: "ZH" }, + { postalCode: "8486", placeName: "Rikon im Tösstal", cantonCode: "ZH" }, + { postalCode: "8487", placeName: "Rämismühle", cantonCode: "ZH" }, + { postalCode: "8487", placeName: "Zell ZH", cantonCode: "ZH" }, + { postalCode: "8488", placeName: "Turbenthal", cantonCode: "ZH" }, + { postalCode: "8495", placeName: "Schmidrüti", cantonCode: "ZH" }, + { postalCode: "8523", placeName: "Hagenbuch ZH", cantonCode: "ZH" }, + { postalCode: "8542", placeName: "Wiesendangen", cantonCode: "ZH" }, + { postalCode: "8543", placeName: "Gundetswil", cantonCode: "ZH" }, + { postalCode: "8543", placeName: "Kefikon ZH", cantonCode: "ZH" }, + { postalCode: "8543", placeName: "Bertschikon", cantonCode: "ZH" }, + { postalCode: "8544", placeName: "Attikon", cantonCode: "ZH" }, + { postalCode: "8545", placeName: "Rickenbach ZH", cantonCode: "ZH" }, + { postalCode: "8545", placeName: "Rickenbach Sulz", cantonCode: "ZH" }, + { postalCode: "8546", placeName: "Menzengrüt", cantonCode: "ZH" }, + { postalCode: "8548", placeName: "Ellikon an der Thur", cantonCode: "ZH" }, + { postalCode: "8010", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8011", placeName: "Zürich Mülligen SC", cantonCode: "ZH" }, + { postalCode: "8012", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8102", placeName: "Oberengstringen", cantonCode: "ZH" }, + { postalCode: "8103", placeName: "Unterengstringen", cantonCode: "ZH" }, + { postalCode: "8104", placeName: "Weiningen ZH", cantonCode: "ZH" }, + { postalCode: "8142", placeName: "Uitikon Waldegg", cantonCode: "ZH" }, + { postalCode: "8901", placeName: "Urdorf", cantonCode: "ZH" }, + { postalCode: "8901", placeName: "Urdorf Tessi", cantonCode: "ZH" }, + { postalCode: "8902", placeName: "Urdorf", cantonCode: "ZH" }, + { postalCode: "8903", placeName: "Birmensdorf ZH", cantonCode: "ZH" }, + { postalCode: "8904", placeName: "Aesch ZH", cantonCode: "ZH" }, + { postalCode: "8951", placeName: "Fahrweid", cantonCode: "ZH" }, + { postalCode: "8952", placeName: "Schlieren", cantonCode: "ZH" }, + { postalCode: "8953", placeName: "Dietikon 2", cantonCode: "ZH" }, + { postalCode: "8953", placeName: "Dietikon", cantonCode: "ZH" }, + { postalCode: "8953", placeName: "Dietikon 1", cantonCode: "ZH" }, + { postalCode: "8954", placeName: "Geroldswil", cantonCode: "ZH" }, + { postalCode: "8955", placeName: "Oetwil an der Limmat", cantonCode: "ZH" }, + { postalCode: "8000", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8001", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8002", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8003", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8004", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8005", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8006", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8008", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8017", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8018", placeName: "Zürich PF", cantonCode: "ZH" }, + { postalCode: "8021", placeName: "Zürich 1", cantonCode: "ZH" }, + { postalCode: "8022", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8024", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8027", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8031", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8032", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8034", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8036", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8037", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8038", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8040", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8041", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8042", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8044", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8045", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8046", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8047", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8048", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8049", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8050", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8051", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8052", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8053", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8055", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8057", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8063", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8064", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8070", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8071", placeName: "Zürich CS PZ", cantonCode: "ZH" }, + { postalCode: "8074", placeName: "Zürich Voice Pub", cantonCode: "ZH" }, + { postalCode: "8074", placeName: "Zürich Voice Publishing", cantonCode: "ZH" }, + { postalCode: "8075", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8080", placeName: "Zürich 80", cantonCode: "ZH" }, + { postalCode: "8081", placeName: "Zürich Helsana", cantonCode: "ZH" }, + { postalCode: "8081", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8085", placeName: "Zürich Versicherung", cantonCode: "ZH" }, + { postalCode: "8085", placeName: "Zürich Versich.", cantonCode: "ZH" }, + { postalCode: "8086", placeName: "Zürich R Digest", cantonCode: "ZH" }, + { postalCode: "8086", placeName: "Zürich Reader's Digest", cantonCode: "ZH" }, + { postalCode: "8087", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8088", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8090", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8091", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8092", placeName: "Zürich ETH-Zentrum", cantonCode: "ZH" }, + { postalCode: "8092", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8093", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8093", placeName: "Zürich ETH-Hönggerberg", cantonCode: "ZH" }, + { postalCode: "8096", placeName: "Zürich IBRS local", cantonCode: "ZH" }, + { postalCode: "8098", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8099", placeName: "Zürich", cantonCode: "ZH" }, + { postalCode: "8099", placeName: "Zürich Sonderdienste", cantonCode: "ZH" }, + +]; + +/** + * Return matching postal codes (strings) for a numeric prefix (1..4 digits). + * Example: `findPostalCodes('80')` -> ['8000','8001',...] + */ +export function findPostalCodes(input: string | number): string[] { + const q = String(input).trim(); + if (!/^[0-9]{1,4}$/.test(q)) return []; + const codes = CH_POSTAL_PLACES + .filter(p => p.postalCode.startsWith(q)) + .map(p => p.postalCode); + return Array.from(new Set(codes)).sort(); +} + +/** + * When a full 4-digit postal code is provided, return matching places + * including `placeName` and `cantonCode`. + */ +export function findPostalCodeDetails(input: string | number): PostalPlace[] { + const q = String(input).trim(); + if (q.length < 4) return []; + return CH_POSTAL_PLACES.filter(p => p.postalCode === q); +} + +// All unique postal codes (strings), sorted +export const ALL_CH_POSTAL_CODES: string[] = Array.from( + new Set(CH_POSTAL_PLACES.map(p => p.postalCode)) +).sort(); + +// Helper: return all postal codes as numbers (useful if caller expects numeric array) +export function ALL_CH_POSTAL_CODES_NUMBERS(): number[] { + return ALL_CH_POSTAL_CODES.map(s => Number(s)); +} diff --git a/app/src/env.d.ts b/app/src/env.d.ts new file mode 100644 index 0000000..12dcd18 --- /dev/null +++ b/app/src/env.d.ts @@ -0,0 +1,7 @@ +declare namespace NodeJS { + interface ProcessEnv { + NODE_ENV: string; + VUE_ROUTER_MODE: 'hash' | 'history' | 'abstract' | undefined; + VUE_ROUTER_BASE: string | undefined; + } +} diff --git a/app/src/i18n/en-US/index.ts b/app/src/i18n/en-US/index.ts new file mode 100644 index 0000000..250dbd4 --- /dev/null +++ b/app/src/i18n/en-US/index.ts @@ -0,0 +1,7 @@ +// This is just an example, +// so you can safely delete all default props below + +export default { + failed: 'Action failed', + success: 'Action was successful', +}; diff --git a/app/src/i18n/index.ts b/app/src/i18n/index.ts new file mode 100644 index 0000000..ef91326 --- /dev/null +++ b/app/src/i18n/index.ts @@ -0,0 +1,22 @@ +import enCommon from './locales/en-US/common' +import enAttachments from './locales/en-US/attachments' +import enSteps from './locales/en-US/steps' + +import itCommon from './locales/it-IT/common' +import itAttachments from './locales/it-IT/attachments' +import itSteps from './locales/it-IT/steps' + +import frCommon from './locales/fr-FR/common' +import frAttachments from './locales/fr-FR/attachments' +import frSteps from './locales/fr-FR/steps' + +import deCommon from './locales/de-DE/common' +import deAttachments from './locales/de-DE/attachments' +import deSteps from './locales/de-DE/steps' + +export default { + 'en-US': { ...enCommon, ...enAttachments, ...enSteps }, + 'it-IT': { ...itCommon, ...itAttachments, ...itSteps }, + 'fr-FR': { ...frCommon, ...frAttachments, ...frSteps }, + 'de-DE': { ...deCommon, ...deAttachments, ...deSteps } +} diff --git a/app/src/i18n/locales/de-DE/attachments.ts b/app/src/i18n/locales/de-DE/attachments.ts new file mode 100644 index 0000000..e897935 --- /dev/null +++ b/app/src/i18n/locales/de-DE/attachments.ts @@ -0,0 +1,14 @@ +export default { + attachments: 'Anhänge', + commenti: 'Kommentare', + pickFiles: 'Dateien auswählen', + confirmDeleteAttachment: 'Möchtest du diesen Anhang löschen? {filename}', + addAttachment: 'Anhängen', + fileTypeNotAllowed: 'Dateityp nicht erlaubt. Erlaubt: {allowed}', + missingUserOrSession: 'Benutzer oder Sitzung fehlt. Bitte Seite neu laden und erneut versuchen.', + fileUploaded: 'Datei hochgeladen', + uploadFailed: 'Upload fehlgeschlagen', + uploadCancelled: 'Upload abgebrochen', + fileDeleted: 'Datei gelöscht', + deleteFailed: 'Löschen fehlgeschlagen' +} as const diff --git a/app/src/i18n/locales/de-DE/common.ts b/app/src/i18n/locales/de-DE/common.ts new file mode 100644 index 0000000..e0cdb5f --- /dev/null +++ b/app/src/i18n/locales/de-DE/common.ts @@ -0,0 +1,33 @@ +export default { + button: { + saveAndNext: 'Speichern und weiter', + next: 'Weiter', + prev: 'Zurück', + cancel: 'Abbrechen', + save: 'Speichern' + }, + validation: { + required: 'Dieses Feld ist erforderlich', + minLength: 'Zu kurz', + maxAgeFromJan1: 'Ungültiges Geburtsdatum', + invalidZip: 'Ungültige PLZ', + insertAddress: 'Bitte Adresse eingeben' + }, + address: { + title: 'Adresse', + modalTitle: 'Adresse bearbeiten', + street: 'Strasse', + zip: 'PLZ', + city: 'Stadt', + country: 'Land', + foreign: 'Ausländische Adresse' + }, + enum: { + maritalStatus: { + SINGLE: 'Ledig', + SEPARATED: 'Getrennt', + MARRIED: 'Verheiratet', + PARTNERED: 'Partner' + } + } +} as const diff --git a/app/src/i18n/locales/de-DE/steps.ts b/app/src/i18n/locales/de-DE/steps.ts new file mode 100644 index 0000000..2c38aac --- /dev/null +++ b/app/src/i18n/locales/de-DE/steps.ts @@ -0,0 +1,118 @@ +export default { + WEL: 'Willkommen', + TAX: 'Angaben Steuerpflichtiger und vorherige Erklärung', + MAR: 'Zivilstand', + CHD: 'Kinder', + INC: 'Einkommen', + PRO: 'Berufsausgaben', + SID: 'Nebeneinkommen', + ANN: 'Renten', + INS: 'Versicherungs- und Krankheitskosten', + P3: 'Policen 3A / 3B', + BNK: 'Bankkonten', + AST: 'Andere Vermögenswerte', + DEB: 'Schulden / Hypotheken', + PROP: 'Immobilien', + FOR: 'Einkommen oder Vermögen im Ausland', + + taxpayer: { + prevPreparedByUs: 'Von uns vorbereitet?', + prevDeclaration: 'Frühere Erklärung', + firstName: 'Vorname', + lastName: 'Nachname', + birthDate: 'Geburtsdatum', + address: 'Adresse', + zip: 'PLZ', + city: 'Stadt' + }, + + marital: { + title: 'Zivilstand', + maritalStatus: 'Zivilstand', + previousDivorces: 'Frühere Scheidungen', + spouse: { + prefixSpouse: 'Ehepartner', + prefixPartner: 'Partner', + firstName: 'Vorname', + lastName: 'Nachname', + birthDate: 'Geburtsdatum', + address: 'Adresse', + zip: 'PLZ', + city: 'Stadt', + previousDivorces: 'Frühere Scheidungen' + } + }, + + maritalItem: { + celibate: 'Ledig', + maried: 'Verheiratet', + registrated: 'Registrierte häusliche Partnerschaft', + widower: 'Witwer / Witwe', + deadunion: 'Partnerschaft durch Tod aufgelöst', + divorced: 'Geschieden', + unionlegal: 'Partnerschaft durch gerichtliche Entscheidung aufgelöst', + separated: 'Getrennt', + uniondisappeared: 'Partnerschaft durch Verschollenheit aufgelöst' + }, + + // message used when spouse address field has no explicit label + 'marital.spouse.fillIfDifferent': 'Falls abweichend ausfüllen', + + income: { + employTypeLabel: 'Beschäftigungsart', + employTypeHint: 'Bitte eine Beschäftigungsart auswählen', + employType: { + EMPLOYED: 'Angestellt', + SELF_EMPLOYED: 'Selbstständig', + PENSIONER: 'Rentner/in', + UNEMPLOYED: 'Arbeitslos' + }, + attachments: { + salaryCertificate: 'Lohnbescheinigung', + accountingDocuments: 'Buchhaltungsunterlagen', + avsCertificate: 'AHV-Bescheinigung', + lppCertificate: 'BVG-Bescheinigung', + unemploymentCertificate: 'Arbeitslosenbescheinigung' + } + }, + + children: { + hasChildren: 'Haben Sie Kinder?', + addChild: 'Kind hinzufügen', + editChild: 'Kind bearbeiten', + listTitle: 'Kinderliste', + moreThanFiveChildrenNote: 'Notiz für mehr als fünf Kinder', + firstName: 'Vorname', + lastName: 'Nachname', + birthDate: 'Geburtsdatum', + sameHousehold: 'Im selben Haushalt', + addressIfDifferent: 'Adresse (falls abweichend)', + addressLabel: 'Adresse', + alimentiVersati: 'Unterhalt wird gezahlt', + school: 'Schule', + hasCareCost: 'Betreuungskosten', + careCosts: 'Betreuungskosten', + copyLastNameFromTaxpayer: 'Nachname vom Steuerpflichtigen übernehmen', + noAttachments: 'Dokumente anhängen' + }, + + informazionesualimenti: 'Informationen zu Unterhalt', + inserireindirizzocogniuge: 'Adresse des Ehepartners eingeben', + inserireindirizzopartner: 'Adresse des Partners eingeben', + indirizzocogniuge: 'Adresse des Ehepartners', + indirizzopartner: 'Adresse des Partners', + indirizzocogniugedefunto: 'Adresse des verstorbenen Ehepartners', + indirizzodeadpartner: 'Adresse des verstorbenen Partners', + indirizzoexcogniuge: 'Adresse des Ex-Ehepartners', + indirizzoexpartner: 'Adresse des Ex-Partners', + daticogniuge: 'Angaben zum Ehepartner', + datipartner: 'Angaben zum Partner', + daticogniugedefunto: 'Angaben zum verstorbenen Ehepartner', + datideadpartner: 'Angaben zum verstorbenen Partner', + datiexcogniuge: 'Angaben zum Ex-Ehepartner', + datideadexpartner: 'Angaben zum Ex-Partner', + datidisapparizedpartner: 'Angaben zum verschollenen Partner', + datadecesso: 'Sterbedatum', + datascomparsa: 'Datum des Verschwindens', + datascioglimento: 'Auflösungsdatum' +} as const diff --git a/app/src/i18n/locales/en-US/attachments.ts b/app/src/i18n/locales/en-US/attachments.ts new file mode 100644 index 0000000..e2d9fbc --- /dev/null +++ b/app/src/i18n/locales/en-US/attachments.ts @@ -0,0 +1,14 @@ +export default { + attachments: 'Attachments', + commenti: 'Comments', + pickFiles: 'Pick files', + confirmDeleteAttachment: 'Do you want to delete this attachment? {filename}', + addAttachment: 'Attach', + fileTypeNotAllowed: 'File type not allowed. Allowed: {allowed}', + missingUserOrSession: 'Missing user or session. Please reload and try again.', + fileUploaded: 'File uploaded', + uploadFailed: 'Upload failed', + uploadCancelled: 'Upload cancelled', + fileDeleted: 'File deleted', + deleteFailed: 'Delete failed' +} as const diff --git a/app/src/i18n/locales/en-US/common.ts b/app/src/i18n/locales/en-US/common.ts new file mode 100644 index 0000000..f9e3d43 --- /dev/null +++ b/app/src/i18n/locales/en-US/common.ts @@ -0,0 +1,33 @@ +export default { + button: { + saveAndNext: 'Save and Next', + next: 'Next', + prev: 'Back', + cancel: 'Cancel', + save: 'Save' + }, + validation: { + required: 'This field is required', + minLength: 'Too short', + maxAgeFromJan1: 'Invalid birth date', + invalidZip: 'Invalid ZIP', + insertAddress: 'Please enter an address' + }, + address: { + title: 'Address', + modalTitle: 'Edit address', + street: 'Street', + zip: 'ZIP', + city: 'City', + country: 'Country', + foreign: 'Foreign address' + }, + enum: { + maritalStatus: { + SINGLE: 'Single', + SEPARATED: 'Separated', + MARRIED: 'Married', + PARTNERED: 'Partnered' + } + } +} as const diff --git a/app/src/i18n/locales/en-US/steps.ts b/app/src/i18n/locales/en-US/steps.ts new file mode 100644 index 0000000..2b5869d --- /dev/null +++ b/app/src/i18n/locales/en-US/steps.ts @@ -0,0 +1,118 @@ +export default { + WEL: 'Welcome', + TAX: 'Taxpayer data & previous declaration', + MAR: 'Marital status', + CHD: 'Children', + INC: 'Income', + PRO: 'Professional expenses', + SID: 'Supplementary income', + ANN: 'Annuities', + INS: 'Insurance & medical expenses', + P3: 'Policies 3A / 3B', + BNK: 'Bank accounts', + AST: 'Other assets', + DEB: 'Debts / mortgages', + PROP: 'Properties', + FOR: 'Foreign income or assets', + + taxpayer: { + prevPreparedByUs: 'Prepared by us?', + prevDeclaration: 'Previous declaration', + firstName: 'First name', + lastName: 'Last name', + birthDate: 'Birth date', + address: 'Address', + zip: 'ZIP', + city: 'City' + }, + + marital: { + title: 'Marital status', + maritalStatus: 'Marital status', + previousDivorces: 'Previous divorces', + spouse: { + prefixSpouse: 'Spouse', + prefixPartner: 'Partner', + firstName: 'First name', + lastName: 'Last name', + birthDate: 'Birth date', + address: 'Address', + zip: 'ZIP', + city: 'City', + previousDivorces: 'Previous divorces' + } + }, + + maritalItem: { + celibate: 'Single', + maried: 'Married', + registrated: 'Registered domestic partnership', + widower: 'Widower/Widow', + deadunion: 'Union dissolved by death', + divorced: 'Divorced', + unionlegal: 'Union dissolved by legal decision', + separated: 'Separated', + uniondisappeared: 'Union dissolved by declaration of disappearance' + }, + + // message used when spouse address field has no explicit label + 'marital.spouse.fillIfDifferent': 'Fill if different', + + income: { + employTypeLabel: 'Employment type', + employTypeHint: 'Select an employment type', + employType: { + EMPLOYED: 'Employed', + SELF_EMPLOYED: 'Self-employed', + PENSIONER: 'Pensioner', + UNEMPLOYED: 'Unemployed' + }, + attachments: { + salaryCertificate: 'Salary certificate', + accountingDocuments: 'Accounting documents', + avsCertificate: 'AVS certificate', + lppCertificate: 'LPP certificate', + unemploymentCertificate: 'Unemployment certificate' + } + }, + + children: { + hasChildren: 'Do you have children?', + addChild: 'Add child', + editChild: 'Edit child', + listTitle: 'Children list', + moreThanFiveChildrenNote: 'More than five children note', + firstName: 'First name', + lastName: 'Last name', + birthDate: 'Birth date', + sameHousehold: 'Same household', + addressIfDifferent: 'Address (if different)', + addressLabel: 'Address', + alimentiVersati: 'Alimony paid', + school: 'School', + hasCareCost: 'Care costs', + careCosts: 'Care costs', + copyLastNameFromTaxpayer: 'Copy last name from taxpayer', + noAttachments: 'Attach documents' + }, + + informazionesualimenti: 'Alimony information', + inserireindirizzocogniuge: 'Enter spouse address', + inserireindirizzopartner: 'Enter partner address', + indirizzocogniuge: 'Spouse address', + indirizzopartner: 'Partner address', + indirizzocogniugedefunto: 'Deceased spouse address', + indirizzodeadpartner: 'Deceased partner address', + indirizzoexcogniuge: 'Ex-spouse address', + indirizzoexpartner: 'Ex-partner address', + daticogniuge: 'Spouse details', + datipartner: 'Partner details', + daticogniugedefunto: 'Deceased spouse details', + datideadpartner: 'Deceased partner details', + datiexcogniuge: 'Ex-spouse details', + datideadexpartner: 'Ex-partner details', + datidisapparizedpartner: 'Missing partner details', + datadecesso: 'Date of death', + datascomparsa: 'Date of disappearance', + datascioglimento: 'Dissolution date' +} as const diff --git a/app/src/i18n/locales/fr-FR/attachments.ts b/app/src/i18n/locales/fr-FR/attachments.ts new file mode 100644 index 0000000..89150e9 --- /dev/null +++ b/app/src/i18n/locales/fr-FR/attachments.ts @@ -0,0 +1,14 @@ +export default { + attachments: 'Pièces jointes', + commenti: 'Commentaires', + pickFiles: 'Choisir des fichiers', + confirmDeleteAttachment: 'Voulez-vous supprimer cette pièce jointe ? {filename}', + addAttachment: 'Joindre', + fileTypeNotAllowed: 'Type de fichier non autorisé. Autorisés : {allowed}', + missingUserOrSession: "Utilisateur ou session manquant. Rechargez la page et réessayez.", + fileUploaded: 'Fichier téléversé', + uploadFailed: 'Échec du téléversement', + uploadCancelled: 'Téléversement annulé', + fileDeleted: 'Fichier supprimé', + deleteFailed: 'Échec de la suppression' +} as const diff --git a/app/src/i18n/locales/fr-FR/common.ts b/app/src/i18n/locales/fr-FR/common.ts new file mode 100644 index 0000000..bc85c27 --- /dev/null +++ b/app/src/i18n/locales/fr-FR/common.ts @@ -0,0 +1,33 @@ +export default { + button: { + saveAndNext: 'Enregistrer et suivant', + next: 'Suivant', + prev: 'Précédent', + cancel: 'Annuler', + save: 'Enregistrer' + }, + validation: { + required: 'Ce champ est obligatoire', + minLength: 'Trop court', + maxAgeFromJan1: 'Date de naissance invalide', + invalidZip: 'Code postal invalide', + insertAddress: "Veuillez saisir l'adresse" + }, + address: { + title: 'Adresse', + modalTitle: "Modifier l'adresse", + street: 'Rue / Place', + zip: 'Code postal', + city: 'Ville', + country: 'Pays', + foreign: 'Adresse étrangère' + }, + enum: { + maritalStatus: { + SINGLE: 'Célibataire', + SEPARATED: 'Séparé', + MARRIED: 'Marié', + PARTNERED: 'Partenaire' + } + } +} as const diff --git a/app/src/i18n/locales/fr-FR/steps.ts b/app/src/i18n/locales/fr-FR/steps.ts new file mode 100644 index 0000000..dd0da5f --- /dev/null +++ b/app/src/i18n/locales/fr-FR/steps.ts @@ -0,0 +1,118 @@ +export default { + WEL: 'Bienvenue', + TAX: 'Données contribuable et déclaration précédente', + MAR: 'État civil', + CHD: 'Enfants', + INC: 'Revenus', + PRO: 'Frais professionnels', + SID: 'Revenu accessoire', + ANN: 'Rentes', + INS: 'Assurances et frais médicaux', + P3: 'Polices 3A / 3B', + BNK: 'Comptes bancaires', + AST: 'Autres biens / avoirs', + DEB: 'Dettes / hypothèques', + PROP: 'Immobilier', + FOR: "Revenus ou avoirs à l'étranger", + + taxpayer: { + prevPreparedByUs: 'Préparée par nous?', + prevDeclaration: 'Déclaration précédente', + firstName: 'Prénom', + lastName: 'Nom', + birthDate: 'Date de naissance', + address: 'Adresse', + zip: 'Code postal', + city: 'Ville' + }, + + marital: { + title: 'État civil', + maritalStatus: 'État civil', + previousDivorces: 'Divorces précédents', + spouse: { + prefixSpouse: 'Conjoint', + prefixPartner: 'Partenaire', + firstName: 'Prénom', + lastName: 'Nom', + birthDate: 'Date de naissance', + address: 'Adresse', + zip: 'Code postal', + city: 'Ville', + previousDivorces: 'Divorces précédents' + } + }, + + maritalItem: { + celibate: 'Célibataire', + maried: 'Marié(e)', + registrated: 'Union domestique enregistrée', + widower: 'Veuf / Veuve', + deadunion: 'Union dissoute par décès', + divorced: 'Divorcé(e)', + unionlegal: 'Union dissoute par décision judiciaire', + separated: 'Séparé(e)', + uniondisappeared: 'Union dissoute par déclaration de disparition' + }, + + // message used when spouse address field has no explicit label + 'marital.spouse.fillIfDifferent': 'Remplir si différent', + + income: { + employTypeLabel: "Type d'emploi", + employTypeHint: "Sélectionner un type d'emploi", + employType: { + EMPLOYED: 'Salarié', + SELF_EMPLOYED: 'Indépendant', + PENSIONER: 'Retraité', + UNEMPLOYED: 'Sans emploi' + }, + attachments: { + salaryCertificate: 'Certificat de salaire', + accountingDocuments: 'Documents comptables', + avsCertificate: 'Certificat AVS', + lppCertificate: 'Certificat LPP', + unemploymentCertificate: 'Certificat de chômage' + } + }, + + children: { + hasChildren: 'Avez-vous des enfants?', + addChild: 'Ajouter un enfant', + editChild: "Modifier l'enfant", + listTitle: 'Liste des enfants', + moreThanFiveChildrenNote: 'Note pour plus de cinq enfants', + firstName: 'Prénom', + lastName: 'Nom', + birthDate: 'Date de naissance', + sameHousehold: 'Même ménage', + addressIfDifferent: 'Adresse (si différente)', + addressLabel: 'Adresse', + alimentiVersati: 'Pension alimentaire versée', + school: 'École', + hasCareCost: 'Frais de garde', + careCosts: 'Frais de garde', + copyLastNameFromTaxpayer: 'Copier le nom du contribuable', + noAttachments: 'Joindre des documents' + }, + + informazionesualimenti: 'Informations sur la pension alimentaire', + inserireindirizzocogniuge: "Saisir l'adresse du conjoint", + inserireindirizzopartner: "Saisir l'adresse du partenaire", + indirizzocogniuge: 'Adresse du conjoint', + indirizzopartner: 'Adresse du partenaire', + indirizzocogniugedefunto: 'Adresse du conjoint décédé', + indirizzodeadpartner: 'Adresse du partenaire décédé', + indirizzoexcogniuge: "Adresse de l'ex-conjoint", + indirizzoexpartner: "Adresse de l'ex-partenaire", + daticogniuge: 'Données du conjoint', + datipartner: 'Données du partenaire', + daticogniugedefunto: 'Données du conjoint décédé', + datideadpartner: 'Données du partenaire décédé', + datiexcogniuge: "Données de l'ex-conjoint", + datideadexpartner: "Données de l'ex-partenaire", + datidisapparizedpartner: 'Données du partenaire disparu', + datadecesso: 'Date de décès', + datascomparsa: 'Date de disparition', + datascioglimento: 'Date de dissolution' +} as const diff --git a/app/src/i18n/locales/it-IT/attachments.ts b/app/src/i18n/locales/it-IT/attachments.ts new file mode 100644 index 0000000..efe1081 --- /dev/null +++ b/app/src/i18n/locales/it-IT/attachments.ts @@ -0,0 +1,14 @@ +export default { + attachments: 'Allegati', + commenti: 'Commenti', + pickFiles: 'Scegli file', + confirmDeleteAttachment: 'Vuoi eliminare questo allegato? {filename}', + addAttachment: 'Allega', + fileTypeNotAllowed: 'Tipo di file non consentito. Consentiti: {allowed}', + missingUserOrSession: 'Utente o sessione mancanti. Ricarica la pagina e riprova.', + fileUploaded: 'File caricato', + uploadFailed: 'Caricamento fallito', + uploadCancelled: 'Caricamento annullato', + fileDeleted: 'File eliminato', + deleteFailed: 'Eliminazione fallita' +} as const diff --git a/app/src/i18n/locales/it-IT/common.ts b/app/src/i18n/locales/it-IT/common.ts new file mode 100644 index 0000000..75999e6 --- /dev/null +++ b/app/src/i18n/locales/it-IT/common.ts @@ -0,0 +1,33 @@ +export default { + button: { + saveAndNext: 'Salva e Avanti', + next: 'Avanti', + prev: 'Indietro', + cancel: 'Annulla', + save: 'Salva' + }, + validation: { + required: 'Campo obbligatorio', + minLength: 'Troppo corto', + maxAgeFromJan1: 'Data di nascita non valida', + invalidZip: 'CAP non valido', + insertAddress: 'Inserire indirizzo' + }, + address: { + title: 'Indirizzo', + modalTitle: 'Modifica indirizzo', + street: 'Via / Piazza', + zip: 'CAP', + city: 'Città', + country: 'Nazione', + foreign: 'Indirizzo estero' + }, + enum: { + maritalStatus: { + SINGLE: 'Single', + SEPARATED: 'Separato', + MARRIED: 'Sposato', + PARTNERED: 'Unito civilmente' + } + } +} as const diff --git a/app/src/i18n/locales/it-IT/steps.ts b/app/src/i18n/locales/it-IT/steps.ts new file mode 100644 index 0000000..9a94c66 --- /dev/null +++ b/app/src/i18n/locales/it-IT/steps.ts @@ -0,0 +1,118 @@ +export default { + WEL: 'Benvenuto', + TAX: 'Dati contribuente e dichiarazione precedente', + MAR: 'Stato civile', + CHD: 'Figli', + INC: 'Redditi', + PRO: 'Spese professionali', + SID: 'Reddito accessorio', + ANN: 'Rendite', + INS: 'Spese assicurative e mediche', + P3: 'Polizze 3A / 3B', + BNK: 'Conti bancari', + AST: 'Altri beni / averi', + DEB: 'Debiti / ipoteche', + PROP: 'Immobili', + FOR: "Redditi o averi all’estero", + + taxpayer: { + prevPreparedByUs: 'Preparata da noi?', + prevDeclaration: 'Dichiarazione precedente', + firstName: 'Nome', + lastName: 'Cognome', + birthDate: 'Data di nascita', + address: 'Indirizzo', + zip: 'CAP', + city: 'Città' + }, + + marital: { + title: 'Stato civile', + maritalStatus: 'Stato civile', + previousDivorces: 'Divorzi precedenti', + spouse: { + prefixSpouse: 'Coniuge', + prefixPartner: 'Partner', + firstName: 'Nome', + lastName: 'Cognome', + birthDate: 'Data di nascita', + address: 'Indirizzo', + zip: 'CAP', + city: 'Città', + previousDivorces: 'Divorzi precedenti' + } + }, + + maritalItem: { + celibate: 'celibe/ nubile', + maried: 'Cognugato/a', + registrated: 'In unione domestica registrata', + widower: 'Vedovo/a', + deadunion: 'Unione domestica sciolta per decesso', + divorced: 'Divorziato/a', + unionlegal: 'Unione domestica sciolta per decisione legale', + separated: 'Separato/a', + uniondisappeared: 'Unione domestica sciolta per dichiarazione di scomparsa' + }, + + // message used when spouse address field has no explicit label + 'marital.spouse.fillIfDifferent': 'Compilare se diverso', + + income: { + employTypeLabel: 'Tipo di impiego', + employTypeHint: 'Selezionare un tipo di impiego', + employType: { + EMPLOYED: 'Dipendente', + SELF_EMPLOYED: 'Indipendente', + PENSIONER: 'Pensionato', + UNEMPLOYED: 'Disoccupato' + }, + attachments: { + salaryCertificate: 'Certificato salariale', + accountingDocuments: 'Documenti contabili', + avsCertificate: 'Certificato AVS', + lppCertificate: 'Certificato LPP', + unemploymentCertificate: 'Certificato disoccupazione' + } + }, + + children: { + hasChildren: 'Hai figli?', + addChild: 'Aggiungi figlio', + editChild: 'Modifica figlio', + listTitle: 'Elenco figli', + moreThanFiveChildrenNote: 'Nota per più di cinque figli', + firstName: 'Nome', + lastName: 'Cognome', + birthDate: 'Data di nascita', + sameHousehold: 'Stesso nucleo familiare', + addressIfDifferent: 'Indirizzo (se diverso)', + addressLabel: 'Indirizzo', + alimentiVersati: 'Vengono versati alimenti', + school: 'Scuola', + hasCareCost: 'Spese di cura', + careCosts: 'Spese di cura', + copyLastNameFromTaxpayer: 'Copia cognome dal contribuente', + noAttachments: 'Allega documenti' + }, + + informazionesualimenti: 'Informazioni su alimenti', + inserireindirizzocogniuge: "Inserire l'indirizzo del coniuge", + inserireindirizzopartner: "Inserire l'indirizzo del partner", + indirizzocogniuge: 'Indirizzo del coniuge', + indirizzopartner: 'Indirizzo del partner', + indirizzocogniugedefunto: 'Indirizzo del coniuge deceduto', + indirizzodeadpartner: 'Indirizzo del partner deceduto', + indirizzoexcogniuge: 'Indirizzo ex-coniuge', + indirizzoexpartner: 'Indirizzo ex-partner', + daticogniuge: 'Dati del coniuge', + datipartner: 'Dati del partner', + daticogniugedefunto: 'Dati del coniuge deceduto', + datideadpartner: 'Dati del partner deceduto', + datiexcogniuge: 'Dati ex-coniuge', + datideadexpartner: 'Dati ex-partner', + datidisapparizedpartner: 'Dati del partner scomparso', + datadecesso: 'Data di decesso', + datascomparsa: 'Data di scomparsa', + datascioglimento: 'Data di scioglimento' +} as const diff --git a/app/src/layouts/MainLayout.vue b/app/src/layouts/MainLayout.vue new file mode 100644 index 0000000..cae3e45 --- /dev/null +++ b/app/src/layouts/MainLayout.vue @@ -0,0 +1,102 @@ + + + diff --git a/app/src/pages/ErrorNotFound.vue b/app/src/pages/ErrorNotFound.vue new file mode 100644 index 0000000..eb5ff53 --- /dev/null +++ b/app/src/pages/ErrorNotFound.vue @@ -0,0 +1,23 @@ + + + diff --git a/app/src/pages/IndexPage.vue b/app/src/pages/IndexPage.vue new file mode 100644 index 0000000..6525da3 --- /dev/null +++ b/app/src/pages/IndexPage.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/app/src/router/index.ts b/app/src/router/index.ts new file mode 100644 index 0000000..ea3c763 --- /dev/null +++ b/app/src/router/index.ts @@ -0,0 +1,37 @@ +import { defineRouter } from '#q-app/wrappers'; +import { + createMemoryHistory, + createRouter, + createWebHashHistory, + createWebHistory, +} from 'vue-router'; +import routes from './routes'; + +/* + * If not building with SSR mode, you can + * directly export the Router instantiation; + * + * The function below can be async too; either use + * async/await or return a Promise which resolves + * with the Router instance. + */ + +export default defineRouter(function (/* { store, ssrContext } */) { + const createHistory = process.env.SERVER + ? createMemoryHistory + : process.env.VUE_ROUTER_MODE === 'history' + ? createWebHistory + : createWebHashHistory; + + const Router = createRouter({ + scrollBehavior: () => ({ left: 0, top: 0 }), + routes, + + // Leave this as is and make changes in quasar.conf.js instead! + // quasar.conf.js -> build -> vueRouterMode + // quasar.conf.js -> build -> publicPath + history: createHistory(process.env.VUE_ROUTER_BASE), + }); + + return Router; +}); diff --git a/app/src/router/routes.ts b/app/src/router/routes.ts new file mode 100644 index 0000000..1dbaa36 --- /dev/null +++ b/app/src/router/routes.ts @@ -0,0 +1,18 @@ +import type { RouteRecordRaw } from 'vue-router'; + +const routes: RouteRecordRaw[] = [ + { + path: '/', + component: () => import('layouts/MainLayout.vue'), + children: [{ path: '', component: () => import('pages/IndexPage.vue') }], + }, + + // Always leave this as last one, + // but you can also remove it + { + path: '/:catchAll(.*)*', + component: () => import('pages/ErrorNotFound.vue'), + }, +]; + +export default routes; diff --git a/app/src/schema.json b/app/src/schema.json new file mode 100644 index 0000000..bfa91c5 --- /dev/null +++ b/app/src/schema.json @@ -0,0 +1,283 @@ +{ + "steps": [ + { + "id": "welcome", + "order": 0, + "title": "Benvenuto", + "description": "", + "type": "intro", + "fields": [], + "attachments": [], + "pricing": [], + "next": "taxpayer" + }, + + { + "id": "taxpayer", + "order": 1, + "title": "Dati contribuente e dichiarazione precedente", + "description": "", + "fields": [ + { "key": "prevPreparedByUs", "type": "boolean", "required": true }, + { "key": "prevDeclaration", "type": "file", "requiredIf": { "prevPreparedByUs": false } }, + + { "key": "taxpayer.firstName", "type": "string", "required": true }, + { "key": "taxpayer.lastName", "type": "string", "required": true }, + { "key": "taxpayer.birthDate", "type": "date", "required": true }, + { "key": "taxpayer.address", "type": "string", "required": true }, + { "key": "taxpayer.zip", "type": "string", "required": true }, + { "key": "taxpayer.city", "type": "string", "required": true } + ], + "attachments": ["prevDeclaration"], + "pricing": [], + "next": "marital" + }, + + { + "id": "marital", + "order": 2, + "title": "Stato civile", + "description": "", + "fields": [ + { "key": "maritalStatus", "type": "enum", "values": ["SINGLE", "MARRIED", "PARTNERED"], "required": true }, + + { "key": "spouse.firstName", "type": "string", "requiredIf": { "maritalStatus": ["MARRIED","PARTNERED"] } }, + { "key": "spouse.lastName", "type": "string", "requiredIf": { "maritalStatus": ["MARRIED","PARTNERED"] } }, + { "key": "spouse.birthDate", "type": "date", "requiredIf": { "maritalStatus": ["MARRIED","PARTNERED"] } }, + { "key": "spouse.address", "type": "string", "requiredIf": { "maritalStatus": ["MARRIED","PARTNERED"] } }, + { "key": "spouse.zip", "type": "string", "requiredIf": { "maritalStatus": ["MARRIED","PARTNERED"] } }, + { "key": "spouse.city", "type": "string", "requiredIf": { "maritalStatus": ["MARRIED","PARTNERED"] } } + ], + "attachments": [], + "pricing": [ + { "amountCHF": 10, "condition": { "maritalStatus": ["MARRIED","PARTNERED"] } } + ], + "next": "children" + }, + + { + "id": "children", + "order": 3, + "title": "Figli", + "description": "", + "fields": [ + { "key": "hasChildren", "type": "boolean", "required": true }, + + { + "key": "children", + "type": "array", + "maxItems": 5, + "item": { + "firstName": "string", + "lastName": "string", + "birthDate": "date", + "sameHousehold": "boolean", + "addressIfDifferent": "string", + "school": "string", + "careCosts": "file" + } + }, + + { "key": "moreThanFiveChildrenNote", "type": "string", "required": false } + ], + "attachments": ["children[*].careCosts"], + "pricing": [ + { "amountCHF": 5, "perItem": "children" } + ], + "next": "income" + }, + + { + "id": "income", + "order": 4, + "title": "Redditi", + "description": "", + "fields": [ + { + "key": "incomeTypes", + "type": "array", + "values": ["EMPLOYED", "SELF_EMPLOYED", "PENSIONER", "UNEMPLOYED"] + }, + + { "key": "employment.percent", "type": "number", "requiredIf": { "incomeTypes": "EMPLOYED" } }, + { "key": "employment.detailsUnder70", "type": "string", "requiredIf": { "employment.percent": "<70" } } + ], + "attachments": [ + "salaryCertificate", + "accountingDocuments", + "avsCertificate", + "lppCertificate", + "unemploymentCertificate" + ], + "pricing": [], + "next": "professionalExpenses" + }, + + { + "id": "professionalExpenses", + "order": 5, + "title": "Spese professionali", + "description": "", + "fields": [ + { "key": "expensesChanged", "type": "boolean", "required": true }, + { "key": "workplaceDescription", "type": "string", "requiredIf": { "expensesChanged": true } }, + { "key": "commuteMethod", "type": "enum", "values": ["CAR", "BUS", "BIKE", "WALK"] }, + { "key": "commuteKm", "type": "number" }, + { "key": "lunchAtHome", "type": "boolean" }, + { "key": "eatsOut", "type": "boolean" }, + { "key": "hasCanteenOrVouchers", "type": "boolean", "requiredIf": { "eatsOut": true } } + ], + "attachments": ["transportSubscription"], + "pricing": [], + "next": "sideIncome" + }, + + { + "id": "sideIncome", + "order": 6, + "title": "Reddito accessorio", + "description": "", + "fields": [ + { "key": "hasSideIncome", "type": "boolean", "required": true } + ], + "attachments": ["sideIncomeDocuments"], + "pricing": [ + { "amountCHF": 5, "condition": { "hasSideIncome": true } } + ], + "next": "annuities" + }, + + { + "id": "annuities", + "order": 7, + "title": "Rendite", + "description": "", + "fields": [ + { "key": "hasAnnuities", "type": "boolean", "required": true } + ], + "attachments": ["annuityDocuments"], + "pricing": [ + { "amountCHF": 5, "condition": { "hasAnnuities": true } } + ], + "next": "insurance" + }, + + { + "id": "insurance", + "order": 8, + "title": "Spese assicurative e mediche", + "description": "", + "fields": [], + "attachments": ["healthInsuranceCertificate", "medicalExpenses"], + "pricing": [ + { "amountCHF": 5, "condition": { "medicalExpenses": true } } + ], + "next": "pillar3" + }, + + { + "id": "pillar3", + "order": 9, + "title": "Polizze 3A / 3B", + "description": "", + "fields": [ + { "key": "hasPillar3", "type": "boolean", "required": true } + ], + "attachments": ["pillar3Documents"], + "pricing": [ + { "amountCHF": 5, "condition": { "hasPillar3": true } } + ], + "next": "bankAccounts" + }, + + { + "id": "bankAccounts", + "order": 10, + "title": "Conti bancari", + "description": "", + "fields": [ + { "key": "hasBankAccounts", "type": "boolean", "required": true } + ], + "attachments": ["bankStatements"], + "pricing": [ + { "amountCHF": 2, "perExtraAttachmentAfter": 2 } + ], + "next": "otherAssets" + }, + + { + "id": "otherAssets", + "order": 11, + "title": "Altri beni / averi", + "description": "", + "fields": [ + { "key": "hasOtherAssets", "type": "boolean", "required": true }, + { "key": "otherAssetsList", "type": "array", "item": { "description": "string", "amount": "number" } } + ], + "attachments": ["otherAssetsDocuments"], + "pricing": [ + { "amountCHF": 5, "perItem": "otherAssetsList" } + ], + "next": "debts" + }, + + { + "id": "debts", + "order": 12, + "title": "Debiti / ipoteche", + "description": "", + "fields": [ + { "key": "hasDebts", "type": "boolean", "required": true } + ], + "attachments": ["debtCertificates"], + "pricing": [ + { "amountCHF": 5, "perAttachment": true } + ], + "next": "properties" + }, + + { + "id": "properties", + "order": 13, + "title": "Immobili", + "description": "", + "fields": [ + { "key": "hasProperties", "type": "boolean", "required": true }, + { + "key": "propertiesList", + "type": "array", + "item": { + "country": "enum", + "address": "string", + "purchaseYear": "number", + "buildingYear": "number", + "isRented": "boolean" + } + } + ], + "attachments": ["propertyDocuments", "deed", "maintenanceInvoices"], + "pricing": [ + { "amountCHF": 5, "condition": { "country": "SWISS" } }, + { "amountCHF": 7, "condition": { "country": "ITALY" } }, + { "amountCHF": 7, "condition": { "country": "FOREIGN" } } + ], + "next": "foreign" + }, + + { + "id": "foreign", + "order": 14, + "title": "Redditi o averi all’estero", + "description": "", + "fields": [ + { "key": "hasForeignAssets", "type": "boolean", "required": true }, + { "key": "foreignDescription", "type": "string", "requiredIf": { "hasForeignAssets": true } } + ], + "attachments": ["foreignDocuments"], + "pricing": [ + { "amountCHF": 5, "perAttachment": true } + ], + "next": null + } + ] +} diff --git a/app/src/stores/children.ts b/app/src/stores/children.ts new file mode 100644 index 0000000..b4a389e --- /dev/null +++ b/app/src/stores/children.ts @@ -0,0 +1,102 @@ +import { defineStore } from 'pinia' +import { LocalStorage } from 'quasar' +import type { Address } from '../types/address' + +interface CommentAttachment { + comments: string + attachments: string[] +} + +export interface ChildItem { + firstName: string + lastName: string + birthDate: string + sameHousehold: boolean + alimentiVersati?: boolean + school: string + hasCareCost: boolean + careCosts: CommentAttachment + address?: Address | null +} + +export interface ChildrenData { + hasChildren: boolean + children: ChildItem[] + moreThanFiveChildrenNote: string +} + +const STORAGE_KEY = 'children:v1' + +const DEFAULT: ChildrenData = { + hasChildren: false, + children: [], + moreThanFiveChildrenNote: '' +} + +export const useChildrenStore = defineStore('childrenstore', { + state: () => { + try { + let saved: unknown = LocalStorage.getItem(STORAGE_KEY) + if (typeof saved === 'string') { + try { + saved = JSON.parse(saved) + } catch { + saved = null + } + } + if (saved && typeof saved === 'object') { + return { data: { ...(saved as ChildrenData) } } + } + } catch { + // ignore and fall back to default + } + return { data: { ...DEFAULT } as ChildrenData } + }, + actions: { + persist() { + try { + // LocalStorage (and JSON) can fail when trying to serialize + // File objects. Build a serializable copy: drop `careCosts` + // (or convert to file meta) before persisting. + const serializable: ChildrenData = { + hasChildren: !!this.data.hasChildren, + children: Array.isArray(this.data.children) + ? this.data.children.map(c => { + return { + firstName: c.firstName, + lastName: c.lastName, + birthDate: c.birthDate, + sameHousehold: c.sameHousehold, + alimentiVersati: (c as Partial).alimentiVersati ?? false, + school: c.school, + hasCareCost: (c as Partial).hasCareCost ?? false, + careCosts: c.careCosts, + address: (c as Partial).address ?? null, + } + }) + : [], + moreThanFiveChildrenNote: this.data.moreThanFiveChildrenNote || '' + } + LocalStorage.set(STORAGE_KEY, serializable) + } catch (err) { + // keep errors visible in console to aid debugging but don't throw + console.error('children.store: persist error', err) + } + }, + getChildren() { + return this.data + }, + setChildren(partial: Partial) { + this.data = { ...this.data, ...partial } + this.persist() + }, + replaceChildren(payload: ChildrenData) { + this.data = payload + this.persist() + }, + resetChildren() { + this.data = { ...DEFAULT } + this.persist() + } + } +}) diff --git a/app/src/stores/income.ts b/app/src/stores/income.ts new file mode 100644 index 0000000..bbe39b1 --- /dev/null +++ b/app/src/stores/income.ts @@ -0,0 +1,66 @@ +import { defineStore } from 'pinia' +import { LocalStorage } from 'quasar' +import type { IncomeData } from '../types/types' + +const STORAGE_KEY = 'income:v1' + +const DEFAULT: IncomeData = { + employType: null, + attachments: { + salaryCertificate: { comments: '', attachments: [] }, + accountingDocuments: { comments: '', attachments: [] }, + avsCertificate: { comments: '', attachments: [] }, + lppCertificate: { comments: '', attachments: [] }, + unemploymentCertificate: { comments: '', attachments: [] } + } +} + +function isRecord(v: unknown): v is Record { + return !!v && typeof v === 'object' && !Array.isArray(v) +} + +export const useIncomeStore = defineStore('incomestore', { + state: () => { + try { + let saved: unknown = LocalStorage.getItem(STORAGE_KEY) + if (typeof saved === 'string') { + try { + saved = JSON.parse(saved) + } catch { + saved = null + } + } + if (isRecord(saved)) { + return { data: { ...DEFAULT, ...(saved as Partial) } as IncomeData } + } + } catch { + // ignore and fall back to default + } + + return { data: { ...DEFAULT } as IncomeData } + }, + actions: { + persist() { + try { + LocalStorage.set(STORAGE_KEY, this.data) + } catch (err) { + console.error('income.store: persist error', err) + } + }, + getIncome() { + return this.data + }, + setIncome(partial: Partial) { + this.data = { ...this.data, ...partial } + this.persist() + }, + replaceIncome(payload: IncomeData) { + this.data = payload + this.persist() + }, + resetIncome() { + this.data = { ...DEFAULT } + this.persist() + } + } +}) diff --git a/app/src/stores/index.ts b/app/src/stores/index.ts new file mode 100644 index 0000000..bf1cad9 --- /dev/null +++ b/app/src/stores/index.ts @@ -0,0 +1,32 @@ +import { defineStore } from '#q-app/wrappers'; +import { createPinia } from 'pinia'; + +/* + * When adding new properties to stores, you should also + * extend the `PiniaCustomProperties` interface. + * @see https://pinia.vuejs.org/core-concepts/plugins.html#typing-new-store-properties + */ +declare module 'pinia' { + // eslint-disable-next-line @typescript-eslint/no-empty-object-type + export interface PiniaCustomProperties { + // add your custom properties here, if any + } +} + +/* + * If not building with SSR mode, you can + * directly export the Store instantiation; + * + * The function below can be async too; either use + * async/await or return a Promise which resolves + * with the Store instance. + */ + +export default defineStore((/* { ssrContext } */) => { + const pinia = createPinia(); + + // You can add Pinia plugins here + // pinia.use(SomePiniaPlugin) + + return pinia; +}); diff --git a/app/src/stores/marital.ts b/app/src/stores/marital.ts new file mode 100644 index 0000000..7365259 --- /dev/null +++ b/app/src/stores/marital.ts @@ -0,0 +1,40 @@ +// Thin compatibility wrapper: marital API now lives in the `taxstore`. +import { computed } from 'vue' +import { useTaxstore } from './taxstore' +import type { AddressOut } from 'src/components/AddressInput.vue' +import type { CommentAttachmentData } from 'src/components/CommentAttachment.vue' + +export interface MaritalData { + alimentiVersati: boolean + alimentiCommenti: CommentAttachmentData + maritalStatus: string + spouseFirstName: string | number | null + spouseLastName: string | number | null + spouseBirthDate: string | number | FileList | null | undefined + spouseDeadDate: string | number | FileList | null | undefined + spouseTaxNumber: string + spouseAddress: AddressOut + marriageDate: string + separated: boolean + spouseAlimentiVersati: boolean +} + +export const useMaritalStore = () => { + const store = useTaxstore() + + const data = computed(() => store.getMarital()) + + function set(partial: Partial) { + store.setMarital(partial) + } + + function replace(payload: MaritalData) { + store.replaceMarital(payload) + } + + function reset() { + store.resetMarital() + } + + return { data, set, replace, reset } +} diff --git a/app/src/stores/taxpayer.ts b/app/src/stores/taxpayer.ts new file mode 100644 index 0000000..5ec023e --- /dev/null +++ b/app/src/stores/taxpayer.ts @@ -0,0 +1,34 @@ +import { computed } from 'vue' +import { useTaxstore } from './taxstore' +import type { AddressOut } from 'src/components/AddressInput.vue' +import type { CommentAttachmentData } from 'src/components/CommentAttachment.vue' + +export interface TaxpayerForm { + prevPreparedByUs: boolean + prevDeclaration: CommentAttachmentData + firstName: string + lastName: string + birthDate: string + address: AddressOut +} + +// Compatibility wrapper around `taxstore` for code expecting `useTaxpayerStore()` +export const useTaxpayerStore = () => { + const store = useTaxstore() + + const data = computed(() => store.getTaxpayer()) + + function set(partial: Partial) { + store.setTaxpayer(partial) + } + + function replace(payload: TaxpayerForm) { + store.replaceTaxpayer(payload) + } + + function reset() { + store.resetTaxpayer() + } + + return { data, set, replace, reset } +} diff --git a/app/src/stores/taxstore.ts b/app/src/stores/taxstore.ts new file mode 100644 index 0000000..1eb0d74 --- /dev/null +++ b/app/src/stores/taxstore.ts @@ -0,0 +1,121 @@ +import { defineStore } from 'pinia' +import { LocalStorage } from 'quasar' +import { type TaxpayerForm } from './taxpayer' +import { type MaritalData } from './marital' + +const STORAGE_KEY = 'taxstore:v1' + +const defaultTaxpayer: TaxpayerForm = { + prevPreparedByUs: false, + prevDeclaration: { comments: '', attachments: [] }, + firstName: '', + lastName: '', + birthDate: '', + address: { + street: '', + cap: '', + city: '', + country: { code: '', name: '' }, + canton: '' + } +} + +const defaultMarital: MaritalData = { + alimentiVersati: false, + alimentiCommenti: { comments: '', attachments: [] }, + maritalStatus: '', + spouseFirstName: '', + spouseLastName: '', + spouseBirthDate: '', + spouseDeadDate : '', + spouseTaxNumber: '', + spouseAddress: { street: '', cap: '', city: '', country: { code: '', name: '' }, canton: '' }, + marriageDate: '', + separated: false, + spouseAlimentiVersati: false +} + +export const useTaxstore = defineStore('taxstore', { + state: () => { + // try to load persisted state from Quasar LocalStorage + try { + const saved: unknown = LocalStorage.getItem(STORAGE_KEY) + if (saved && typeof saved === 'object') { + const s = saved as Record + if (Array.isArray(s.items)) { + const items = s.items as Array< + | { key: 'taxpayer'; data: TaxpayerForm } + | { key: 'marital'; data: MaritalData } + > + return { items } + } + } + } catch { + // ignore parsing errors and fall back to defaults + } + + return { + items: [ + { key: 'taxpayer', data: { ...defaultTaxpayer } as TaxpayerForm }, + { key: 'marital', data: { ...defaultMarital } as MaritalData } + ] as Array<{ key: 'taxpayer'; data: TaxpayerForm } | { key: 'marital'; data: MaritalData }> + } + }, + actions: { + // persist helper + persist() { + try { + LocalStorage.set(STORAGE_KEY, { items: this.items }) + } catch { + // ignore storage errors (e.g., quota exceeded) + } + }, + // Type-guard helpers + _findTaxpayer(): { key: 'taxpayer'; data: TaxpayerForm } | undefined { + return this.items.find((i): i is { key: 'taxpayer'; data: TaxpayerForm } => i.key === 'taxpayer') + }, + _findMarital(): { key: 'marital'; data: MaritalData } | undefined { + return this.items.find((i): i is { key: 'marital'; data: MaritalData } => i.key === 'marital') + }, + + // Taxpayer-specific helpers + getTaxpayer() { + return this._findTaxpayer()?.data + }, + setTaxpayer(partial: Partial) { + const it = this._findTaxpayer() + if (it) it.data = { ...it.data, ...partial } + this.persist() + }, + replaceTaxpayer(payload: TaxpayerForm) { + const it = this._findTaxpayer() + if (it) it.data = payload + this.persist() + }, + resetTaxpayer() { + const it = this._findTaxpayer() + if (it) it.data = { ...defaultTaxpayer } + this.persist() + }, + + // Marital-specific helpers + getMarital() { + return this._findMarital()?.data + }, + setMarital(partial: Partial) { + const it = this._findMarital() + if (it) it.data = { ...it.data, ...partial } + this.persist() + }, + replaceMarital(payload: MaritalData) { + const it = this._findMarital() + if (it) it.data = payload + this.persist() + }, + resetMarital() { + const it = this._findMarital() + if (it) it.data = { ...defaultMarital } + this.persist() + } + } +}) diff --git a/app/src/stores/userstore.ts b/app/src/stores/userstore.ts new file mode 100644 index 0000000..0c53f7f --- /dev/null +++ b/app/src/stores/userstore.ts @@ -0,0 +1,9 @@ +import { defineStore } from 'pinia' + +const ZERO_UUID = '00000000-0000-0000-0000-000000000000' + +export const useUserstore = defineStore('userstore', { + state: () => ({ + id: ZERO_UUID, + }), +}) diff --git a/app/src/types/address.ts b/app/src/types/address.ts new file mode 100644 index 0000000..0bbaf6e --- /dev/null +++ b/app/src/types/address.ts @@ -0,0 +1,17 @@ +export interface CountryRef { + code: string + name: string +} + +export interface Address { + street: string + zip: string + city: string + // when present, can be either a raw code (legacy) or an object with code+localized name + country?: string | CountryRef | null + // optional Swiss canton code (e.g. 'ZH', 'BE') when applicable + canton?: string | null + foreign: boolean +} + +export type PartialAddress = Partial
diff --git a/app/src/types/types.d.ts b/app/src/types/types.d.ts new file mode 100644 index 0000000..f821a36 --- /dev/null +++ b/app/src/types/types.d.ts @@ -0,0 +1,41 @@ +// Shared app-wide types + +// TypeScript descriptors for the form schema + +export interface StepDescriptor { + id: string + order: number + title: string + pricing?: PricingDescriptor[] + next?: string | null + prev?: string | null +} + +export interface PricingDescriptor { + amountCHF: number + condition?: Record + perItem?: string + perAttachment?: boolean + perExtraAttachmentAfter?: number +} + +export type EmployTypeValue = 'EMPLOYED' | 'SELF_EMPLOYED' | 'PENSIONER' | 'UNEMPLOYED' + + +export interface SimpleAttachmentData { + comments: string + attachments: string[] +} + + +export interface IncomeData { + employType: EmployTypeValue | null + attachments: { + salaryCertificate: SimpleAttachmentData + accountingDocuments: SimpleAttachmentData + avsCertificate: SimpleAttachmentData + lppCertificate: SimpleAttachmentData + unemploymentCertificate: SimpleAttachmentData + } +} + diff --git a/app/src/utils/api.ts b/app/src/utils/api.ts new file mode 100644 index 0000000..c78de6d --- /dev/null +++ b/app/src/utils/api.ts @@ -0,0 +1,256 @@ +export type ApiBaseUrl = string + +export const DEFAULT_API_BASE_URL: ApiBaseUrl = 'http://localhost:8082' + +export type UploadDocumentParams = { + user: string + session: string + prop?: string + file: File + baseUrl?: ApiBaseUrl + onProgress?: (fraction: number) => void + signal?: AbortSignal +} + +export type LoadAttachmentsParams = { + id: string + session: string + prop?: string + baseUrl?: ApiBaseUrl +} + +export type DeleteAttachmentParams = { + id: string + session: string + prop?: string + filename: string + baseUrl?: ApiBaseUrl +} + +export type ApiUploadResponse = { + ok?: boolean + files?: string[] +} + +export type ApiDeleteAttachmentResponse = { + ok?: boolean + deleted?: boolean + file?: string +} + +export type ApiAttachmentsListResponse = Record + +export class ApiError extends Error { + status: number | undefined + + constructor(message: string, status?: number) { + super(message) + this.name = 'ApiError' + this.status = status + } +} + +function apiUrl(baseUrl: ApiBaseUrl | undefined, path: string): string { + const base = (baseUrl || DEFAULT_API_BASE_URL).replace(/\/+$/, '') + const p = path.startsWith('/') ? path : `/${path}` + return `${base}${p}` +} + +async function parseJsonSafe(response: Response): Promise { + const text = await response.text() + if (!text) return null + try { + return JSON.parse(text) as unknown + } catch { + return text + } +} + +function normalizeUploadedFiles(payload: unknown): string[] { + if (!payload || typeof payload !== 'object') return [] + + const files = (payload as { files?: unknown }).files + if (!files) return [] + + if (Array.isArray(files)) { + const out: string[] = [] + + for (const item of files) { + if (typeof item === 'string') { + out.push(item) + continue + } + if (item && typeof item === 'object') { + const obj = item as { storedName?: unknown; originalName?: unknown; name?: unknown } + const name = + (typeof obj.storedName === 'string' && obj.storedName) || + (typeof obj.originalName === 'string' && obj.originalName) || + (typeof obj.name === 'string' && obj.name) || + '' + if (name) out.push(name) + } + } + + return out + } + + return [] +} + +export async function uploadDocument(params: UploadDocumentParams): Promise { + const { user, session, prop, file, baseUrl, onProgress, signal } = params + + if (!user) throw new ApiError('missing user') + if (!session) throw new ApiError('missing session') + if (!file) throw new ApiError('missing file') + + const url = apiUrl(baseUrl, '/upload') + + return await new Promise((resolve, reject) => { + const xhr = new XMLHttpRequest() + + if (signal) { + if (signal.aborted) { + reject(new ApiError('aborted')) + return + } + signal.addEventListener( + 'abort', + () => { + try { + xhr.abort() + } catch { + // ignore + } + }, + { once: true } + ) + } + + xhr.upload.onprogress = (e) => { + if (!onProgress) return + if (!e.lengthComputable) return + const fraction = e.total > 0 ? e.loaded / e.total : 0 + onProgress(Math.max(0, Math.min(1, fraction))) + } + + xhr.onload = () => { + const ok = xhr.status >= 200 && xhr.status < 300 + let parsed: unknown = null + try { + parsed = xhr.responseText ? (JSON.parse(xhr.responseText) as unknown) : null + } catch { + parsed = xhr.responseText + } + + if (!ok) { + reject(new ApiError(`Upload failed (HTTP ${xhr.status})`, xhr.status)) + return + } + + const files = normalizeUploadedFiles(parsed) + resolve({ ok: true, files }) + } + + xhr.onerror = () => { + reject(new ApiError('Upload failed (network error)')) + } + + xhr.onabort = () => { + reject(new ApiError('Upload cancelled')) + } + + const fd = new FormData() + fd.append('user', user) + fd.append('session', session) + if (prop) fd.append('prop', prop) + fd.append('documents', file) + + xhr.open('POST', url) + xhr.send(fd) + }) +} + +export async function loadAttachments(params: LoadAttachmentsParams): Promise { + const { id, session, prop, baseUrl } = params + + if (!id) throw new ApiError('missing id') + if (!session) throw new ApiError('missing session') + + const res = await fetch(apiUrl(baseUrl, '/loadattachments'), { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ id, session, prop }), + }) + + if (!res.ok) { + const body = await parseJsonSafe(res) + const msg = typeof body === 'string' ? body : `Load attachments failed (HTTP ${res.status})` + throw new ApiError(msg, res.status) + } + + const data = (await res.json()) as unknown + if (Array.isArray(data) && data.every((x) => typeof x === 'string')) { + return data + } + + return [] +} + +export async function deleteAttachment(params: DeleteAttachmentParams): Promise { + const { id, session, prop, filename, baseUrl } = params + + if (!id) throw new ApiError('missing id') + if (!session) throw new ApiError('missing session') + if (!filename) throw new ApiError('missing filename') + + const res = await fetch(apiUrl(baseUrl, '/deleteattachment'), { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ id, session, prop, filename }), + }) + + if (!res.ok) { + const body = await parseJsonSafe(res) + const msg = typeof body === 'string' ? body : `Delete attachment failed (HTTP ${res.status})` + throw new ApiError(msg, res.status) + } + + const data = (await res.json()) as unknown + return (data && typeof data === 'object' ? (data as ApiDeleteAttachmentResponse) : {}) +} + +export async function loadAttachmentsList(params: LoadAttachmentsParams): Promise { + const { id, session, prop, baseUrl } = params + + if (!id) throw new ApiError('missing id') + if (!session) throw new ApiError('missing session') + if (prop) throw new ApiError('prop is not supported for loadAttachmentsList') + + const res = await fetch(apiUrl(baseUrl, '/loadattachmentslist'), { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ id, session }), + }) + + if (!res.ok) { + const body = await parseJsonSafe(res) + const msg = typeof body === 'string' ? body : `Load attachments list failed (HTTP ${res.status})` + throw new ApiError(msg, res.status) + } + + const data = (await res.json()) as unknown + if (!data || typeof data !== 'object' || Array.isArray(data)) { + return {} + } + + const result: ApiAttachmentsListResponse = {} + for (const [key, value] of Object.entries(data as Record)) { + if (!key) continue + if (Array.isArray(value) && value.every((x) => typeof x === 'string')) { + result[key] = value + } + } + + return result +} diff --git a/app/tsconfig.json b/app/tsconfig.json new file mode 100644 index 0000000..cfde230 --- /dev/null +++ b/app/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "./.quasar/tsconfig.json", + "compilerOptions": { + "noImplicitAny": false + } +} diff --git a/info.pdf b/info.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6891560792e75da5d829e0a8f266e31f155370b9 GIT binary patch literal 48544 zcmb@ubC_jIvOZkyve9K%b=g*zZQHhOS9RI8ZQHhO+y45TGrv1?zdLj1kGW6oXXlQ! z_F5T{D>CAZ$k>}$MnH&)j+zCAcz17V4hE7Aj~35b&kTl>lZMyP!Nl6`2cMmzl{Fr} zsf~>W10yXN4ZoeCu7jzym4L2;;ST|JdRlsBS~@yrI$8!=dO9^S8cAz|e|1X6&f36H z-_Y*I??DyptgZ0$98E18s7$T!tc{FJ^$qd#t*x94?Hmm4DDjl&=&0GKX{l%p^ch$g z3>ld8DDfbtO|1;^l=Rv3nVDGinT_Z*tjM^zVGOMd{$QQ{?;=R(S{eT^ zb)XVe_|2EDow=x$k@auM{`hEUfahT6Xvob?Bcp3r4b z_xwAU;4v{V|GvWB;kP*dqE zELb`Oz8Cn_sTXOksEOzBeS5%`LH{HgnK7+wZ?z)xJ(j9W-S~Cy&nEQrdbBFo(E+N+I9i!I7-do`(mh?^9Nv{{T zD`p$*<~O@ox~L1`7D=uJWuM5u|2fW4Oc(yqorFWj<;5@ zPFO!1;Ho^@B>!AcO=xg57fsT@?Eoj*7@zi`_os8F>rPvh=UW;2)m4#tF4idiH@0I4 zH$SCmNHu=*;sCK?Kl0+BQ-Q>jzgnXYiq(Z->$17KnAVDBPf|7U~shxHF5 z9*CvqP05y!A^Cw64>1a2==TSyB1cJjltKz zjmMQM(@1Zr=7y1xZ^XuYX4@s~6jG>tnJf{U4}{HUX+0@^Gm(`N#7vo1O(c>M*y z;^G{EbXV7Sr;1d|0&?#MY!eLZ0H)?V)}pb~1{0yX;m)WgF}iK->p$*cftu{kkg{G$ z5}huI=gQ%`KL--q)tq_1prFuM8%8cGQ&2jr_fsjp?3?-kn3r8mIc+=Wq_NZ$6E!<- zeV}b*mUi3w3-SYDpGwW4HLb|T6N8u*=5{Fj zN&3zLW}`>FSb}lx!3q<~P*_;oK}l2pca2G;JP?$}bVWr>u+5tirhBIjT%cQ%$dL*x zhUm-e6dV)gV+E}QE%uq};}8NWPbx_^_@?hR;&&}YYNxDeW_~r{^zK8}5nas=tg0dE zvBQZRJ0?Mt;lr4GOLjQx^d3q5tA;-%MiUJvVUCL#DzN=bip2_BX};k5LDMWSPe!>4 zW`JG;M_YQfyB@2A#*xSXmWhp;=M4>2ht}yQp{u#JLC#=Ohc#YIvvr{W&ozSB)`J{z z$Uncc%b-fNSIDB29OprQv!XR+QFx;wl&R}t3+JG|auUin0M_#Fjyg_2ZGnS;A)~iI zc9BpQp%@Z%7gnqGpd;ia1EB7i@ z@YQs{5*^}-OZ~ zkR$LYk0N-eq)%m$_Xy=HCXI!z;OhC>L(3}0WDx!FzR<;9)Lm^i)w)}OaK%57`BG7d z=zBY{SxoMRl_5pnZdIwotERQ}^1WF^e8YKdLzH)nq6l*FcXPMA>78It&2;@^s~wBI zLU;Gz<87x$CPQ;ceb4+4zF*fSYY&{qh%ypHNT_5%=)?3>o`%}FOP~>Wxd=fSRGMoD z0lksl-*>=;n~B{bU;@8G?kKx3+R!SZm>%@8Z4$lw+H1}aYjx7VwNF$QtLc<0=}{$< z$2PVWat^*H|6mktWw9#Mv+cy{#kbgLogp-9p!1kPdUnrdQcx>XPg_f+r78m3)mOPYoky@i z%CRu(2>k{)1^U=mH~S%G!qf$Y&d(I-_*KVPP}$(@57dUPMqaekE15kMo3z`Ai{dWz z7me0bZ$?>evpV5TC52djTz4ZE3<3xM;B=p^L23E(lL*;BTAfGd9qQacYl*A^B@g3U z;8#k+9`((llR9MjiBAeoR7GCNtFN4?Tx8QvWKUFADXs^&v%2Ul;%Pp^JnUa~KvcvW z>b!k}$2?ff0@}==^Yrx*lde{#I8{z4En&O3O9J?%#V{{VjIxNK&VdzsR5kZwa2U)M z)9p{8iZgAvp)Z(RG-EkuLf!&RwVJWSI25WgqP&^D$`Fj_U+iL={THbtH-~CiG~b?E zVp^iO$h%g%c|DxC3X2}WMQ;+V+tOj@q`gEx!MH!>3IC^yWBdcL{msSw7eZwE3v~XU zAw;G>psyUwp9qoZ4~Qv8^PfOOy8i_t{>l2kb=ho;bpPnFFOoN;)@YG^vhc39%OHpj zalQsd7=5#$!I08OS~t$m34X~L`k|`ntY&(R+UmD$pb~%~H;SRy>b<>l;F6vboM2_5 z@ju=g9%Z*RP3U-LSXw$G>G!dgYm3biW5_CCxj7_aPpl`Qm0DblGmN6FoI-Dchb#9$ z7<}s^PgHZda(~b^gr&p;&bsa6S7KI6&v;8Im+g>Q1Q&nzLJ-!-3YMW7W)@+qEt?pM za?UWfj7YmC@qiwQBD$+hal ztHs4V%!zgS)adQ_;5YLtp)$j2b}bjhB=ced0J;VR$*S2Y#RfFxn_;L+f_93p(p?p@%FU@qiI;N^Td z&}dFG;1)mA5!jmSLYoKhChPgq8_}me(fbQ3;EN)5PXQ5%P@`Bmf?2r=Lb_~yV-k-f zL!dH$f6FYm*{Ja(tj&9XIYAxPdxTl><|cEcaF)>u|I4_s1oAE_#ZoM#`Aehrf_Ejc zK`+gZ)2b$mb?sKkA}%FTebL=GO^b64q~0%$QFVQpxn&m8>Xmw%q#-PARJ~hLY24~g zv<}cpZn*WOjioshvUkin2{}xnpX+?jKdtx^LDefw1AaZgM35y1|FSZRbtAwckOdz) z32wPHMc9XB0n%C(=jlc=vpzSi1*%mQ`)S2HXl>s5G4lfiIt69#e_Al+e`dj0{*Nsf z%OClNzgaMr|J;Jn|1TEoPuBmf1*2zRV*N)G)`4MajXCsycJ7_*WrEK#c|Fk}j7c=D ziz!y#U$cyCLV{}&E|)BmFCoU9s;zyVb~a(-IxGVT{>TmMyy+R|SuB*~90&S#S~fFq z@`CPP)n!C#T!d1cW_CYIi@*Hb3dF3XNV+Fx129bm3`WVBmda9I;+r;DePiipuruE~ z+Zz!G%Dt|ZtoA&_!2DT((NVfG(F*if3iN0Rdfo)NTmXvFrFAnL}MsjjyA*uXk17G=&r}Lx_Hz+YCo8N%r3$ zb-vE@GVZG2!P&p32^g3Q&<+GM5u1iRCkX)6`R)Eda~^`$PF8s)@j999b(MDe`RE^b z^{)Gw6?k>S==p$!puN*T@%{w&u5Oe|TNs*qoR#q-;E+D_4e`XSTlpwH(7fH%YzG)e z8ez{|4SE0-%(|I_7l0SYn0%_UK7ZlX?<-^RrCn7A2RUG~k<&7AY|gEQ(UCXd=Te@Bvr zTmnv^y!Q9?CF`5Brc3<0wC+&*w4-xt)N_U+f3&^RfdNwl+<+)JQvG?^vW8H0zV4G^ zSq);sSF|vqStfo}1GCmaY3p>e>*q8P55~*{- zEB?4%T|Wq14dyKBqPotf6K_{BIxIXMZ{5yT*#o^m zWULEO)``@y5iixDXlU=!bL56lCmDvipz!-&w%g!AYHjH2bQB4LTqDSDn%FBUMi!`x zQ9EC9=)<0*irA@BqGQELFe{lOxm!-zs#2yXo?4J)!mWD!tMg+jrkRLu%Lz{NuVGSVEu%yi^Le(aL zVIYLr1v?za3-$B1_n$+(bdqlR!VE?{N3KeOL%$06<{J1w=3%dk8}RgYE2bT<^1>qzXvqztA zg>)QJJO?eQI?`G{P|QSd)I$M`0>G#Q&a*a=O-hdB+z1@cR1^m=t3D+%y}sTi)G@z5 zVdv+pW}w47+&Q8QND6Lm$218t*x73k!6pI%1cqU>FCBK>yn{`OQwE-3wuJx;r2zq2 zjF_$^(ljj{y+$fyw6Kj0DYaye^+&iamb<@BhP5F)4gB^jxZ6Z5CxizdBb@7x6@r|M zSy_{JhV+(B7=4etnbYJJOjB9xoXmBJ-_#O(+!~*b0REtOi6f1&Eo!$&R&zfENaL7_ z{}EkyN?M-sDLSjMK}^Vtx1P!|prtn8^ak$c9#QJaf74`1Q=?Mx=rfe%KALl!H7XB; z@Wmr7`^HHeP2}4YnqTyUqP)m6s0h}^uk1V=iHu(hb?~6iWoVrp&kuoj+H|!l|7{C6 zGjf|vm{qjMgUR?GY9=w(tKy^4^)Ih$wBVS;<^0pz14k;84_5fi9~TQP5M z;p5!x_A@g>BV8$X3&p07TM=kk@ZpXIdRg(i&%9%nm(|^-B~B6K4l7O7VU0T6k*i-y z@FpvkF*j4y>!Y0PKCIMHm^i26XZ0gI4%2vXqjCiY65##SL(}kcrvKr>LGnW^8gr}=8F!0`y}>cZ#851k`2`o`<>q=&r@xqV8%Bx91bHUyc6A)ptx85? z&VGRjt%6PM5)fUE&1Q}l2R$3YvDQHFx>w7)eXw8VhAk}QZ^wge-k(r)dL;;VXrHhg zx7%U(ZPvz58k^>5gPvDcHh!PvkIVf5^aE>UaX^UzbJAO&)Tqxt(o-^hSx`&)5;k?d z4R3q6%=fZ>G-Aj&h6PJId;)BLzeLI`^|(V=Y-VNw%#dr_U2@5#kEtn@xW?8 ztfs~hKU^K5@F{mr!?@#|(ZX9bhPK}L`j`151pw7bC$$Vdm}&`@X4 z@O2s&NHT#xW(s|CDE2Pct36}FT`Z7tA!nFRZ2)Z;JUq!uLF;kn4(ItWGaB@yhuT3t zK}}J?^O=W-YR|5lo$_z^N(xbraCE#0|5- zfnak2G|P#bgB)`A3mo|HHsWf02ZD{u8avaMv+uj$^McT4S#*eV{0ERh8Yvd_3uj7W zgb0JjHxQm-fv&DAcTu&R_avnJmbv^90X#f$3^t7Nlg*tiddlp(l-+83#F%6*dNO*K zt+W^%g@zfnJc)I_ohRKYPOLgV&*To}OCgV+JO_JiW~Oil;1N^`oD;vuon&rUk!(z| zcgYfX&$AHqz76RI`nC~Y#QA%?&3|j|-E9MAA?mBd#d$lD%&#? z(!|im&=lnT&Hu%#1}cjOS0k#5n$P8i088^1F!)l>Ha#30TzC{=RJ98d zw3aRSQZPWTGGKr;5cn4)-aF}c4Ld8DYR)M`td%+0=^|mez1~c(3Y{FCBAp7IJRMzp z4~6UEY=!G=9r>&(ozOYB=eOC(jJ;J~KTJ@07&|$TxU(8#dabnbMrp*NP{9yCp<(+( z*0*t#@?+6{9LP*~4X$DXXeFD}b;4GEKdw{zpEnGjiN&v@R!aU_bkUZGOOS7Gp z$QBp7?)9TH-z^sabONa+-RSGY+B~9w&Ea0cDnE2C4TQTcCo+!nv{$i>B?p|1`oNkC zaO!S-tuCf7idU^3kTN?=uaQ<@MNf;hAzsb!^?GBheGl!;Ozv<`S^#7(u(zG0V?*GJ z5N)1_##B~$)5B75Y*7{FxPP<*i%|>-PS~O$3JG?rHelc{Rbf<1s0tDKa&%*{%hSr* z_)eh=`sd!#&=%}C-&{HahKb8gAHu+l~_4rBkJ5t78#ttQ0_zZN-z7Z8n z1j_Oq`}hgL#E#r6%nRpx!mI}oxUw8I`CHf>@snvDW;Azesh*j^+G`j&#<2>i@`Y7U-_zG@eusT=Gk z)X#R2tmUmrXbq#DVe4QsSMX_EWwc>3MFglmTdu^Mfc{X#IN4^OIw!Q)8bX=#k(4!q zx)n3ietjFUZn2m49OEz`cqdmU!k(Iw4HE-kc_%fdLYiHugT8Rh`Getmx9c(p0b+)J^T%K@*AA!^P zUfcSj^GT>G*TgV<4QJqK|TnLHRv5y8_<0-u-nYvp(m; z=)4jTG!s1W4V*m6+(7tU(U%TD^cfR0n$=1Jo!QV2a|4DX~@qhCLe{%ot zeE}Quf6I>!sJdIPF~fg>yu!Yliv%aI#pdGlRpU#}Q47uu={aC>Ol~{*1qPPP}Xcsbl#b8$QR_t#aDiGk2s9kY-DVn z&O9Ye2z@V_*sH1gs&l)c&lW~e&U_n;W!W{bALcO}2E?yxu-m<=D~Nh!$IY2l7pdRS zCz$sTAXudilhV;*TN+rp*9>5FY!Nc~nxn|g6z01kB=BKR2;#g9gxUi84?qY7KG_2e zA$~SK9Az&CU<8uX(9-JI`f5{n8Z<3!;2t&iIvQ#OU2}KHD8%UzJlnFTC>I79!O{%$ zhR8MiYnp5JzOzzowr{OM;!S2O36nVE(m@MqRl8&#?Q7-j*T-=zxs6S!7pLQSP|-7> z;III-KL=jj%a$~3Q69u>&y>9^w)?vY12#aaf?YfVC-wZSDoPV|> zdd~B6NzCtL9wBR<-Bxef&sQag+K}CSS07zJ$@$@;d5QkXj`)#=09JY-f(#Pci!XcR zXCBt?1`}EYHhKLtyLa>Z(G{JWxF@gvK$ycixGpg4*(tkO2*mbYJ|w`rGW%AjyLSi^ z8IHr)p80J($iXRx#FMT;-X^D*vw#`ov3?wQH^L92>ye(>}@xn0g!qTA%O$mx;GhYtIh zQo`jN*eTbF@SS1ZXvpo2t6a-^H!$o!m|vF6FC8E0;&QiNyjqd?H%16bE4z~9uFbqB zBxyt4BcFtMt+aQp{Ex>ZKQl)w2<*x@vw%IV6yw$_3h9jJ$_Ik99!tyL8uG3eU`I$F zL}f)K^$U$kM_pTJETrHmk)mRf+@Z3DRS?k2$gdgTZ&4*(PsXf)Mm}eow8WKS(R!`} zk&`{GV!Y*2_vxb$03pH!6)9i^p6%1p-&WU14!d9jmWuQZ0qI!ydnJ_@>(PFaLWAxl zJ;V|l7-FmPDLQK8lCC2P_JBs{La9Nv_A?hBt_}rJw3=B{u{57oz`66UOC`m25AqETWHqys1ci!g*mgN)lA=vqj zP}{_HRu;ufvee;wUx{%5LYMjUR6CR5M!gEn2PpxQ-AHcmOx|OYJFfqReb?!-2t`9Y~aD-(spu*v}qNJ`^|c& z`=fV_>K1z^!e_yiQZ&Zq4CKBOJJ8w;Ai;-xag$5;NZiNcysd^R(Bwx28t?+#8!!W8 zLP=FW@ZphZYIqP#emQTi?SZd{59*BDFk45FYyOxa(B?dKHA-9epc`tQ+jBp?EuqTI)sk#%9=CuasrM2UAp*$RnW`9IGWn$1s>-FAKA7x+z#WI1NFBn zZ0s!x>YEC0RaQvt1Qq@G9dQJcCqo`-oX+}rN{+4k81fl#@Y&2O2n%Kr&FM!E3!DLq z&-6z4As8YZKGW=y9`gH56LTxgy19OJr+I0sOY{h)K(Cy#2qqyKme$*OWf~9Sxk344 z1QDW*OpS1Q_Q}j@NSUAF-NgXti=N!n_AR`J@>k?Ei}DTi>}~uf&h^>qF0Paw{-)*O zRBC!xHnORoVMO>YgG?bY+&-9>TpV{00$APl7AnI0rey{{)aYFI2# z6$C5ve+u;07TK?A7uo+#m!jXx7JlEY>=-C7-rbA&$q6}~I?o}ZBBdzkzE_f2)lrxA zrqcN_?s%88ln{JFdGcdClt1N#)Y9*^dCMW_;iG9jG!SWwtYX&6b9aWQ@*);X)Corv zhAD-NE#9Q7B#zn5?w043fi5SSy5aFjsZVYODHyv4FGTZFWe`+SAQTq_@7`H)_=A+ zLdW*ke(e7phGF}M?GZY*|9pRh>3_p8e{%nCF$@d+e+y?56n}@aw9tQsvuVNP@s_HO zG7c(pV{-Kri{IVRpSGDS5Aj3m*hPIkKXgW0S<956=@8{}i~IWcgTD0kRth!l;^J;D z4BRGn?&GsEq`zN-Vrq}Zi;skpg0;IC8G{1H9FYgd^S{*ui3J|AgXYxl4upAf@c|4Y z2)w1?wPRwB5rRb0@-O3Y5-@^CV3&a3r$8dhCsawF z1%KHadk&#`P@M!W-qe!Q4hQ(QOYVP~tAo}Q2TV00C7xlWS3w^f3GFX+Nbt~_f-k}E zP(XoUtB)FqSRVL=d>@p)`unJ2^%Lt63I^=(#I$*fZQ?bZdPo~4(5bU7j#NRrxCpJv60rH zMW)%@Qg9_a-KjaEhA*E<<$yil6%?&|JDoD!r?$K*r52pT9{3!~qmFOk*CG?dZ{o)K zU8A`P8Lq?0qrt?s%S5%jUOW*xt~^YTb3GArv^=Niz3VU@?1;8IADFc>UX^7BW>La8 z1u2;hS}8;T5prC^_9sNiIatomX3{W@=_hbB@S}SP)3rHow9F5_$fupoP?tWs#Co>8 zyTP+dTr%=3y;X6#C4iPCEpwSLu_A&c|AXaKz>ZoNYvCE%p!zD{3WgIJD;WElSUy4j z+^n^d8y!c_>m#I=8G3Jfv)5!M&~+FXa?V=+x|-Y5%M?5hfoACa!gA zsy-oe^oOrZ5Jyj1YwZD5!tG*V&ad$=0Ga}xZ~t?-|E_udd;02M7c4Te{r@Ut$IRA# zBL94P4O;=3P0(__?1u;HX$(WNS1irmZWWQg2JJNeLMa}Do^;%7}A(!A>99AA2y`J|WZ`WOjbK|aZZ z^K3PGc@^gPu#n!|-}1b+J)Zq=c)MeFl_#b~I3C>0Dr&r|ff3H)LK9SMPd+LwzBhC| z@;*vIeZM-J{xIA7cySQD2jSwSFafQ|VX6;olmTW6HQQ9Zn{54Ck*t{ro-d^Veju`4 zw10JF&7bXeQ7rfrhIEevEz&p$!@um@Ah`^IE%8nv9YM`|R^^uDmh>!Z8dcQGsTNVq z!y5)x{~#4=735lfX#Tza^}ott3j*Z$$a3Ok#C{ORBZ@)%jkJmX-CWo?u`^+%gNyp+ zc22Gx{ve65h%q?R2I|O16;~?|OYgTN+bk8-S`X%Iwf8O&^Wf}XZStwK9-YBIKM_&~ zO<$B>4dLL{roGoAQQgdIc^+zTbN`vv{6m%azt$Q$MivGp8hJ-Ohd-;%MFswdSpO)} zrse;~yy1nXyTiJ(;}P~staqZJ>w7epm(i^fo(~?GqWo-ebb%NPa>LKEL@J8x96!EX z802|5q#3!%=^gyu*-=t)=f<_V87t=!DJbhF3(3mk%8980zdT7#AN1nPqMKL|FaIy1kxY|hNLT%I(YHy@## z*IzoFJFk>MuC5Z#_T5}d+9llf4{jk_c&*}bqm@VD#H!w-*NK{jqejaPnC!~lp-L_hXK)0*zOKQWr&I!iwBD}1q3wSw6?Ncp< zv_H%dIJXNJJafl5dn@iw(uDugAhCNI6TI{aAEwzNy!CAgc|WC&+1Mj^YFFDQ^rpI< z2^JK~Bfx$8HEi9%zrUvq|FVBUkhPMggglhbFyi%*a)up86qgrkw*)J$%vQitB^Ij~ z7dty1Po&C%N9JiLQA>12PCh9bTgfJRQZ{GjE#|E`lcXdeB6ie9EGjN5*D4cFl)F`< zFrS34m7EYioBU}nAg6{C8=pxgk~n*dJP=Qc$aU>Nqgmje1Zx5ZFFGj*!- zI4No_2DKNvFZS_v(kkXCdeUD_)FKufBPAg(aWbDT=Eh@8N;IQ5eF^DbJM zIg{i#Zzt)yBxyI{7aym=L51#3Y-4z(u33Gs5)~5tS(zE8k>kgN^Nhuj3!bfZ3o;56kE0o z8PX3_z)P)Wlq&^_b_~?1mn@#S5hxiwi-0|@JVacu8hw?bkXFm(&nC%m*GrZ7viPRJ z-I#f=d+AOzLbdV8bW6zf`TLE%o{(LVC1O}pREsU2=7crha&wTRLJ_ldvK>ZK&HZ5# z%){`0&~U(St2rzkZ9KPL;yPFo)0=}9B>hWd$EJ-iwE)~DfVKg|PuNPsjTBrZy*k?mVt@xJYV*X~a1*r9${3?e4&T0g7$H4%IP+KFHnP$C+O-SaT{(Lo@i3%Nuig#@;ZZz z@-joM*pS&_JMbnH}^dvv>`Wd{zB5@Xh3ldX&nT#PPp-{8;)xJn3{TjGESDIAR zS#%{bbN++%(2Q=PW$@s>7p0T zF2h~lzWJELXi>Pv4MfjoH(3m{HA5Ch56eYzuuJF!Q7+ zc@{!ZCaQ1#%pLY;Fz1FOT|poFhjiKfzD{v6>BFG(Nz=vIo#8r1@YFKsMzK1muF10lV&y?KHI@~Q77nT`(|TW0B>G^^5t@bnv_&F9Xz8&o&C(8aF z&Vf_c{`6g8Lz

#`NiQ?#Ay-CpAxys}IUmzSeZBK8p1sYI_&q;dE|mk}u``BBX6D zN+Q{EyXePhQTF>yflN(1$p%{o38`Xm0B|3I{T44=`2w-4P*=M>fcPo|jo=p*MUdyt z+H(n68a5>yNz@MT;iAAoKWhv7L%op-dZ~>jx>~7ucDgn@tYPkv!e-gmXG*C9@d_8o z!J^&hhg?^EqHQ-i+H`>*!erT3+UL)UkF5I=(=OUmTj2cg4(bBv#&Ln-*4hC@IcF9W z?bJk)d^Tj?D9g=*08dilWu#oo;lwxPI zY$y*xn*1XN@~stP72#d6YTQhDNY!l2tfj4BV_z;T>|KC-tpvXK%$s^yU61 zP|we&%yVh#-K4q@S*MOupYVq}-FQx`d|4O%_X-QncXRa!@JH(y*cHuAJYaDCyX9FS zd!Q`9L&5~_en((QSI+_N&K@rxrL>o&XIPF>t>2&^(%=vYvBO%qmxDsG*=-mPHe1QP zHloZf&7Js8Ds8&@suzy>!lL@f44-cc$V?^2ni76juU@b^VNpt0&1b+iJJ`6Tu9q*y zwrSa@nq+mBXT6NJZ%(s+$awKduC%K1FlIOwH{sW4Zd7V7u^nyALmYsk;m|a}w1Nmn zWd((>0wavDpC`P7#D7hux*w%E=13WNm@mScE*`JpW`lCi!F?;7g6?pocHnr`*y;JE zO&)ZVd*dB4|8-5^I*Tf9dptiPz}W-iFyoOo4v-R8n0T({0tbZ9mV3E1SLfw|5PP@n zY541tx9nvsDdKI^0(b8aKq023_z(yx=cdM@ST4grl=(5NLMdtTKD88`N>iD`MkB+r zb(i9f(cwTwLmAE0BMvJgPF(uB(RGPj{e1Zp4VBZ%Zy}hN&qXUOOa!}Z!MAS@Gx8|r zGdWXuP+J(x@#5Ym=>}Ga`9x*ns1j@}^yM3+o!6{CDdl*I7aWL5hfee4!A2yNQlGne z`KXn;u?IpldW$67Jbp%d*?laW5qmlfDqT8h*rg>`N=uVtG3q8NXNlS-7VhcyL3d$7 za1EcAS#un$5KG7E-8`P@3wLv#iTh5@_|<%M>jm>)`5_ZM%{*KtnZ)x6sqN$C1!m}a zT$s0qGoonN%Yb2I84FX$1R%>fS&5iN&7NwKJiKfU0fl}jB=BHMV9^0M_LScq==O{S zR*l!4W_5kHLJ0K$CA3Y8C^+{N<_8lDTq!p-BKR5pDf^)vqj75zM zxnOSfjLATD?9aEdIYrx)#iCS5SQ?O^s zU!uNySs7-mu^fjUr`&5aB?rb~;BJ6Pfc8GC!5KVIz!J8-<I`GzUyg}rrV zX+j?!_OlWwM<>NPLuM~UJ6fe#_Jg5N)FDB>Sn%-gmWb*6^)0K`{+VT!;CQHGt?gJX zC|GDebh=F-#ZIh#%r#J@u{hhVD}u*ql>xQ*t9I{}H^%Mk060CQYOUejvp$;!gg@7_ zOZJPi{Mt*!bf4G@;AkI;X`KWVKD9ZlOI-sq6Gppg$VOBH>m>VN>36D(9usB0@09|0 zWi1-wb!1u61+MQ1cK~)Vk4pSr(MJIU->zXtiuAbDulsc*H&Fm3lj%J>q@ipci)l=B zU{!e<)9D&gy4O?K*XS%Kce%yO0hrJ$xm^#Ga0)KH(4Q(i7eYa~zL}e*&OFtsxrsGt zA0p8)1E?F2WDVl(wj;HnD_pofk9+#N{;PNkfBfS*94D&}zZBIY9N3vvKCX@alYU7G zpA09lsI3pzKMw4Ex4*jc&H=Q91*_-O4|i-R)Qzh$M4@!j<#M|_n*-EgavQ#f5ctzx zp(wwML#crRHo_c9MOL_8R|W+?fj}dS!d6=ji&Q6m|8^X>a!kAiD5*@lURQqw-{ zmXRpD_X8f#F5;(eEN(#BehEE?orM_Ccj< zevLtQkW-nJ?cs-Oy?1$SRWvl-Xj?^6*`yYk!TaVTuy5R0h2{w5 zU>_h*G_q#beR=oy68Cd!vm-d+neBRJL`(=RnC3920~$)pV3MbMf4#AQj8i8Qs)K<+ z3<_-S_>GCb$G(*)Ua<^gMzd}cQnrGvP4x++8*58@9=`&y7 z0*qU4;yF{E_H*fQgNpAJASLQy&n(t~)maw3s3R{Mi#DcQoHy#RJ2~sD4<;(HyEmT0 zr&_BY)7G*(1`2Q&_xmsZP!Kp+l*;V5Ax0^-5t%5pR}b%F`RDFxIwD9J%9j~6lu+-= zq;RL%ZF)TG6*?4EnQ}V0B(v^-@DCp5V2hRsODuD%*LTLR)PX)VR0br z#LWHf18IM~0Itu!T#9&QITHm?V?=|in2_@~lMNRUJ^^W#NSQtt771^_2)+xZBFPET z{sf;-!M=oDhmxh?f6mQws3!iUtHb9rM1z^G9OPa&7Uo}hL!?|ifT+mKfkl){m8}kL z)lv@AO%|>R4kfwNCn!JR!1bDz`=b2F%Bn^)vP;@Fel?`0*P!zY0C{H2ZYJATsp!Y{ z!G_bmF3(;POm|@3o~Q{o_(c?|XF4CB zT(5yi)vRtklvHi+7WZ=TR?8nA!mdB16*{=cYzDGzTu&G}<#C`+*D8WB7 z1KJd^O|vI$9HOy$BRQEdBVl9tWeQXh?_iRXcB|K5XkE4=V;1`oaB8ok5brtgFWMfm zxbk*Lb~vK-K>Ix#t8B}G)_q8wW-OwtetC1ivYeDL)IN_a5>+kq-LP!@H1UzqzAo&`lS+K-_1rNyJNcNuK=sB;b=l_>yUCAQSD6kf?di6iLZ*z@7t zHnJ&_qZ66E1&HW}1A1UniqlU19K;Gk+T%6P2#nH+ed@n)SxQ)BoV#hQyKY^z91fEh ztUf0)=&BOUB%|-|o0h#BgO^tU3kLW|6Qd;bbI;~7)FU=?22cgr>c9Fx2kbLO`@v)AH-KrvfkEw)FZTrnX5E@H@%-P zAQGQ*u|AWpwtMnsEf(uY{YPi>3-^&2fx7<=A=thWuO8Z(u{;Z^b6aaue+;djkL7-? z+&s<3_Y|%VH^VmrcxTcR85DO9{Mzbay>e<7yfDghd715C-6ufJIPshMI}66cVGKR7 zaDLP}J4_jMeh_fm!rf7F61~1|ZpymnN} z76Yxa4yo-1al0zEo&1T2%4bStx43&ip|K$GtvdDxFAPx028GPs+LR4LRo-mG2jQ zBi8gVxpYm~e|{<;f`TDdeSV`D;o}!Y{T!hXUG5AFx=??9Tl=f;wAdPcQi!FpM*kh~ z-{r|&ik;Z=vw9n|MwSLgHN)rq{(p)ncG|8fm(*8F(M$9h`L<59t-I>WM!2H~p8oYi zPwwFrbn|N0Lu@k5UtvXcp2_iVsN1Axrn1R(Oe0mwdpu}7*=)TBaL4EAf_(c>an1Kx zClfqA;yim|faqvKYvPjB59R*m(LVb8YRcgQLaS*nsW?2^KGA&jESaIVc&E(RLan+g z@+?#|OH8dL05~NZBl^jt#6#qZ^e6o5=)SZdRr>eih8KgP}>NEjwYpkv#%ZQHhO+qP}nwr$(~#g~D=)Y`voio}%uNK)d3D2xDoN}!Tn-mp zyXKs;FeUU2#2_#*UPlTMp&eMclUYTwT@dndMVoD68C`=?0Q6X7*OKAx%gM!fpnOmg zMYPuAHSw|2QntB(_rKX@TPZ7b^fy2n+{yW59we)kjbve@Ge$LfWsOuu@}3)s?dg47)2hsOn`>5OfsPI&*bz@I$S<4&%` zH(gJM0oKqH3IG0Z&e?5n2ZsL$oL}m$2mbZyV#{R>MXfVl2(e?SxpmmCakJw6M4tMe zBQX$Sq?wxsjaA&dyXTJeCt1DU?HWRCSD@s+RgGR0@|=Sj0tv1fyFs~}*I{Hou6Wdw zC$_;|;Ur%Q$+wj3tgF>HX?b|E3Uisa$roZS-(BIvn%lf2|Gy6s?egz#VV0(Dt_Y_S z8-qtWvQD>&-CT6W;MHcfQYb?GI|hY@L1h-EN|Erg43L^a=KUBNxsfoPYDj20OtId0Ty zt|VAp#;z%zj14&ual=sYs2PuwQGv$Y=RF62mKHVFNl5d3(ojOqibpo1W{S~mMnD?Y z(_gFp@9Q68rPDhVAAJ|wdD?RD>%_RhMY1O_7DIc_{GKe}WjdjEwaiVD7m2?BCps;* z)qV@L$FcN)#~M(8TOk3C|cD|7LlX(1B>0!XJlh>=vE=Ac3y^7uMM z?UTX2FM2secpQ>I>ema(-qOPw!MPFOgRcg4plX5YqZ%c}^2&LDBZf&ZK)QK##^GU; zGq&D10x`&o%+dqLKSg_S(~_iNddl)hDjDL!Jf{9-FwzQ``^EuW<{))`R!eoEr{ z*vSI&;Xs{!Y`(>^(mK@fjM?0-zX>Ka4;hZ-1*EJ2i+wgf4g!lIUD~sbN~xV z`e`9WJ4?KLcj-DCQd+oC=;YB;8f?IiK@!Ru`03Ba+F0&CYwgQx;X-*S%Kl0X4?+Q? zouBh-=TUcaj`ta?opS}YbJff09PGjX`}%Lr>76JEMl+x=4)2J9n75T_;zXyt38JBE zViNBrrUp(LKJ|-dOp!5&7E!c!6yFUVoJMP4>|)WED+S_C(sx)hLZ0NjOP0?Yq*|)@ zmF=gyLI4gTY?`k%B$HuaTZ?E8ms&b$h*`o zLpa;&oJSoP;I&uT9G+i=WNI5&&%0HFT^!r0+9~@eTSo}?I(Sew&!Ts@NPow^TW9xE zjNjrGU;Vc`&R+g+P3Ym|A8z+?u}T*Do9X8w>YY+-d$~3Ph%iecDDf4Z3Xerrc~#<; z#WA-88V-Ds>QO!eoJ1Z&ED-cVE2U&-J4Jd--QbiJ2jt+0uUvgZ5KDTgG;a^ITiycv zR8BT5W<(FQwu(w_)((_9Z`3BjX}Nr&Snk&~j8y6Vc?2@U2P_V!Z@FQ=nl}e+OqCr* zTFbX)sU-76h_^@6xO{4;#JJT)nE1h-(O>;5#HvLBud8IIyK#SEAw&cu#aZxF!lXo? zQcgtDJ0Gw{larPodfP5}d3O3w?JmQ=oec$EN~Q@*Di80;#qkucqW+N-Z<{s!q6HOJ z3t!VL@1hy5dK~)Xz_0b)q%>+`KNr4Y>}z4x=H_&`>ct@=1_ah$=M9VBwJU=OccB*E z_wKOPp=uyc@&@WoZ7@>W{!WAr1_d=8BjlJxv3oaXd=UnIrtKcr-x#`4&6SQJaN$PM zeVS(_gN>#l!~qeGaFd@$b*dz%{_rd*1LpwdhPCklw}p!4oV2@4zgwd|FciI+3>=f=A2chOT(ynmxj(MZ}6a+7JmucQx>v7cNi*F2(yY{SjKUWI2D}mC%MRV z_M(9L!XWb|;UE!jFIalh(^3m#^jD1RntInDGVT(e zyMz~5s^K7WB)CXXsA}HM6b_r5O32nQ0kf#SnA1bqK7KSzI6ug+`S^A#CwuduejKMM ze1E@$pWnl$$NV~w{(lEj?_a&Lzkc)lP5u0MzrW|r-@ZShd91>Z zK?xXkM8ZbsvEvZ#M&Oj8XhSJPA($U|gfc6Z!o2?Ygfh^NzssM-`haIH>p(uiQcs2c;9rXzl?@|aW!VugTt8mb zeH#bU2|=6|q#Xpy2@CUJcodKf@8Ll6Y6rtSi%`gMq=)CcGD1@MYmk|IyhUvX1j4fW z(Kt@yqSTRX1so}Ne4?J)?4yX0?9>*B8qEh2xnS>^ERw6x@AY-?J3M>IMqUTne zg6B^E7T9y~hp}2?dDs2Fpx=`ojS|Qg_hEWea+H>4+(4%dtm~2Y5epO2qY4FVUE(|s zQ5kAf+t78>2XJ{+EUPepKv6OCfr-`En`V+o7n&{(5&(W0 zJ(1G1W|_@@X)`uDplGi^#gnsO?lQ3oHK_gkp8{?x@o@=%;l9yHj?);hO3n*kb5QF@ z%Z-6j^mZ$72H=k^*JHq!!O8J%NeO&VzFdj|EO8@xDY!@|%0(>2_&%~gmb>Y@^i(Wh zUEckxJ}w`Za4%Q+i|Rf+RF$O5jV?tL5+wj*qCh|nnSrXL2f>9II&5ymGAk@Mx3UQC z1yyN*@zHIm0%MF9Vl)G5jXoO{Y888pc^K@0#o_d%{exTj@mYXe3;nGVb#z=C{E?)=;}i`4Mw;)$B(`h(7?Ec;6np>bXe= zplAT|%`(0DY#91*82RgDxfttUwXD8GQf5QLjwcMOQoyqEjC9#2Yre{JMjZ@h;_)j_ zBXHnet{i=SbIAG?kOtHHUjc`9)JW;s0~l!V>`N` zI&v}z(P`m?l$H79%@H_mI-=7pVYy_~=pdOLz9R%8Dv?-ZAJ)^4C_(W7 zYBiH?xKW}G?-X3TL0O){stbBCfb<*z>e@Z9sW0w^C;rXx_qr&OzYNWvX)D?K$%a1W zH;!n3ExtniXDwFDeu%9~fx+d1viy3MY&c%OXzC?%q6dGj_a9r|X zOPkzSC!cg$^fOPuk84h^Yfe)CX1n1V+PRt9KJBQ)JM;tq61TRPj@F5w1+{%9;uP8G zM$cCYizrX24^Z{9?Yk_8o4(5w&0*UC;^;T1Er=0_C^dQDBd9dmmd|rVU-+)a3h}JP zlLN@e2iROHSL^+MGG3gSNRDuA_M5@NNuZwrC#}qK90v~8g9Tmqx|}TyM~uw1ejVc9 z0vmn0m8mEg;jfA^^#$JbdT%~houJTb7*@S*RDjC0(Wg3`mn0!vto=$!DBHdH9JsEv z+gxy-&a-cqs}wEi+Kn5b55Dz5KnZL!oRwrh-wnRO=UmLEZdQ?>X9vd=bC$~>x?{0} zf4vC43R|a}#sa3<&)rYj&?}S;Ww7 zO&j>|hSTw1j%1Q97;lVXK4X9YRrm`%euGqt=Zh)0uT*Q!(xlL}A~euz=CCW^d+r%v zD-^*62kcIMBaK3eFR~HIT@i`&@nNyn!%yvff+=JE>99|2X7T|zWxfRQ3R~Jos38W6F^k3Vgyk9T*9NtOT!7I? z09`1dPz@~eq30l8T^-M07E8X4lwS>=0}Wmjb*`8a5t>$`+fj`{+n1j`55*y570b2iR0$x1^6Ri2fk__ap1wVJ$VMuK}#AaTVySAQJ0?k9op}s=F z6u09qlm0>8d*x@mAe!e{Hl0PJX&Mgt~;von|RsNNRHl@(T-a1 zfHV#_n_fdU1ltO=2cL%j%0k#avoL}|EMoXN%r_>S2N@Wxu;S5m@NMv;(!KcAn<={o zX7WEz)V<&O*NhXVk(&Wi3{4e$gTFK7#DrFfBfw}hC{1_)GZ|r_rPe9ByxVOQMDmTsGBF?VLU#~F!;=o2jc9M z8uc(;m^^b~iv7i^boA~j(Ytl}naMZ*o-;>VbfKMmlh@*2*`a--2=nqy0 zRbJp&j4<`pYo5N$1gSHKHQw!z?s88YYjRV}&LXRU!$%xo<0$o*r>?6lS`$#LV-@I3 zix6{RL})oqpP=K;?JZ#AY{DYC)Kh_2PWjeErdnKsq(H`cRydh^!4=*)bb}GIA>Ap(1gW-$#KwH zmBGCAfFQ>DbCQc6{_B}=RPYk~H_}%L`^{G=d#no=V9Axj<2s!BKnb_b^MDoU;v62B zCoA?nV1@Y1L&@F;yNM=@OdA!(7aL_jk8|reA%%Q^+gxAj*oQgV zSX!^NdsArT?|5(c74Qv@j=J;B;e-a;nDB51v&WD$Kyx1!k=#joun}_BtzjN0if^fX zKsf+&#@7mCuC}zJM(b{rB5ky6teL5Wkxv%tdZIE+k}#h8 z=|4v^^^GVvYM|drY}8;uhlNmP4@pGJ{uKBL3ImC4X}!c{aA*BoAO;1%bw3eUF48^m zT|aiJmpm<(snKkPN)sKnCd&|VOskY_%GqEEh6cX}5uA^+Z$R(m!4*==~)IC67E;A%4P zG#hM(Ttsls`BGK%9g2XBc~I3`n&W3?Nlpu|!qd~_{mS?Qghl03S4Ft zXlQ6+*jmXoM#614>oJ2p*@D>7SOdYYxR>%6BFJ+To!+9lmKWN#_JOGZ>gK4)W#Cq}QYfA;BdMX@CtQIc-Q(n4G?l$M{ldg|3tag$`Q- zeOEh(Ib_PtOJ!OR|E(N7lTaHEsvDMe=h+8WBkH8rcWE&kLskT7jfE%+?IaDXEj@bfh?~e>H=NiriB)9ydSkhZA3+*@ zHc+tBb=}6L`R0*}m68LAYFqNnLR_0SL0S2pPy$c;Mk?efOro?`vB-&$zTTR3cL>cK z)E-tNKYsSE2o=HLiN1;M`niOcae{ygWa8TnU0KV;Pm1dwG914&Uw84A^Hwq1Ylm5R zj^BDN`8ZZcV@p4}N$agx_HPOwvv9+~4@KFxMB)W>0TR3Ue7F?FbSfSYaG$ImB82-Y z5-SJA^`DaKP3!Uw981H$LrSZ%_z6gdMI>1OfMHrdbapi0oJmAUB@YlU7`06qXowe zAKxA%-;mO9?->o4ouLF?rv{1O{KpdWRAzRG+tC|DGvULLny=+{i_V8d09<;Awy@5rV8!M6s1mh% z<78POO~bN;1sXEDRh;@sZ1&Suo%v$q&8&IhL~@hjk**z$27ityS*}W?cUllMSaGS! zMKeH8@4%wGhq}{)=?#kjaC*3*Egf9eM*sa-%im>~H`&8~vE4S(E@?W7w$|~BK{W?K zfFfxj)*MN+6Z=p<>niyT<+bS+_dUjj-@A+j@0=5^4XJ{61IcAwG%B8%2HDPzEy$b6 zdR-HLNIz%rCCYyxlWkUdUtYDIj_aZvg3yb^hc!b#bVT>$|9J(Fl|U$qi_qhCEFC8> zd?9w7v3L-Zm-oHBXE`wdKN6ZD@gJ)m`?6i{QDvX&a{zMC-^BjjAu!u>%a$J3A{R#&v3J1kW!Q7u z=;0tJ06C?CX?+EK96#DEBe>a83TX%#j1rb#7btV<5FrO+M*E=RErI@qM;gbS;pDg) z*y-~bo%`+$%jX}co+k6ZsOM*IjCcD^d_5)(?54kw1L4+qSX(;DQN(#>0XH}JQ{`}= zD|-=bee#V3J&r3>K8y5sUw?%IVTr4OEpQZ;+)xX| z^n{_kW7WT(A+HvQMan7Gc*@yn3;f1pbrD%94N*^0M>JNX40eZ`(aC)Ub|mFWr2k{B zo%UjF&>aC2XasP#od){YLhE&_3!Ll&oI(FFz3@z_3N8$j&*V4;1>cHL#^0<`o(@mq zt=v9X$q_du;UX4vZMemHLd1!)cR=%#xF8_BX2lv|&CdzDgIH()?6JkoX05%HJ<6!H+vmh71x}TeD zh{>ycu-nm2RI`Ot9PCBlc331BL*7H&ce`AZ7}m0LR9NJ#$rF{i3ZW65IKFUZpGPZ( z7d!K{=V1QEdPs>QdW@Hd`Wj+9MdfFaomxnxd}^gbmN80 zuVCp0@k#z6!}>fmdkBa?eRQESLpr!nch9jWal!#=QTalE7X>yeg(4qP@UUOLN;rNoMtiY8C|wscX` z8HKeE%E)^91Nbj$7)d>U8pLB{aU94awlm_Pjq@Y^hwvO^&z z?6v@M0Nd7*N7`95zm4+*=}n{!a)b}Z7T}7yXS=``iHL!o%!Yae1(wN`mglV5ml4$b z$WU}2A%{|H(p-&A4yXyyrhNz5HkLxn@elM)z1)2OIj40s81bh)(1aP0O!xjUZ|zjHhlNuHwHKsSCY=Oyy{V*}Q@M^XqnQt_MZiOk|b&VPSK}Y%y|yQV=9%=VQ@mo-fvAQCp4-lVgneS;5>6aS^c#=;SPtfImt}tQ-fjVC-fL6|OF>go zd$L+^PG`pnZF_dS)9GRV7ZH~Ou0-+mswiPfaV*X-Vq?42MGVL=*TT#Oj@5qx)%|@0 zwI|&&f&>2J8k z4xZ}6XF4bHN~TsBboSZFDUfQ$Yu}84nn~-IEhYqk1CRoRL{;^#sz1^1&$nO!p*Qeh zgmU2dwa4?HFW|+ZoutcN?HAM09yIybNd6i_3CSZFfbI`^!}rZZuj|`Uj&~bGxs>5m zId4|d$^1r@tlO_CJsht_d^(Wmw4H8zc!N@4zqP$dY51ZiTl$TWQlIcyt2)2+YW5Dm z_?NR*toBkCE$K!$cQev|8>FyzWuxEuUPE1go-dk3&$L>bN!`0F8^FDSIZJb$X=0zP z*P+25@{a~&o{@5Ez(-M5jW2kYv-Dse9+Y{HL(AiJ1d6A_D?{;@X5S!P9X^&(ur-T8 zkXPx^3jy;k<&n7wr$|9h&WkCR?ayO;5EbXXy(_r1#!Vi|R-PRp;;Sk>~bx z=er0*(K#BXQ3hxG0ohJ#*+CScan3`J3u@+zT1oMylDiKSx%YA(D>&cH#CUT{7oiJitw#w(`5<10HS`<~LUl}| zj{XbVVdvYTI7dQ_ktzfC6IEqhN7L$@oGEl6-J6(rV9{GJyeIn0-R}q2_-~sC^v~nJ ze@pmZ-n=3Nlg2h1-$PBm&RT1uZ@mp=e>-a}%1+dxB;-Wde0p^LJvz4avA2wx34L=q51Hr=)=+Fn&lOAy;gD3%DN;RR{I8wYRDl<5uuMSql{rC$MuWwn&j zq7))OS`h&Pp zNa%@h)AiI6`hKANa9n+CChpA@(AQp z$S0FeC?8cQCzg*d9$`8)^JwQ2wU5<2>vqWIlkGhFdIa<+=#$W=rAx&1sOXc^r>T!q zAD6cIfq z$1Ng>BSjC#xiW+3m3`X+d%#z^ke+j2uw*sj*dPb)yqp)#@0!; zasQE0d&_7o8tWGkmEbT5w|o(M0Y9hXAh z8i>mdg&t(Vg_C$fCSj%!M2nG1NXwSONe0oJD=CK8w-N}VRjrgMZ71~Yu#r5B59xW& z7s2_7BJoeuS6rcrkw`F6l!BzwJUIE-{ity88|FiyH$6xXf1C7}aj;vgt0bmFJCAyd z7wWZe!@WrL=v2H(QHE?*!3kvGHd$7>KRS6>4^1B^cj#nb$FA?Q4s-sTar&F`>A~eo zAA*0NdX2;O&e*8tE7NO273Pfqj+Jw8^+@h?`c<}=-E?k2xyka;hyfTEy3b@D02r=3 zJ2hEIjWc7Wn21_@oE3%4G?SCINC=X1T(1{$GPecfEd?^{z`7UwLgn}ONv<_|a( zRaDoOxjT`W-whgcV+=Jm=?RYio|E8xODN)hSL}TP;htsUs4IP=m}|O+(`2q$ulYXY zUn(ln`Pa%<{H{UcE1YFPflymr zbl66Xdir|S1sg#$8#`);H+%hnE`L658gA=m1fuyKWzxx1{~q=`8uqBtYD>-^6uU5 zwDia4Eso?;EEf@`yk^NUr8PGxWJX_3!otVpUVN((w@xP^zn_Fk@)(Lm3$AjEz=E1wH zIeoKobf5AUeY>(aexGtPTSKH2rw<~{?qT0$IIC9I|W2C(y&K?~XhH>n=hF{k|{ARQlabi|3 zIJjdXJqzS<8)k%AGq*R;>f^g*?-2R5s{3&FooH{@w5gmIua@=I*XXTmuo4{(=5ktU zAu`7=y8r1XCS05c^L+?CcM82H(WTbx-GlhFt9GT3yLg_sc>0Kr6V<1OJU6t2GSs^J*y`=!9A|ZX4sxxm%UpEFUG4Rm zF;Fo{nNOu8b(GX+E>*)naC^XZqS4P^W$0F;_c723)+t95uAdd?)vc2*76H5E{#xL+ z$zN0m!8BPg_)(%G*h!|1bQdGjuAlpwc3-EFVBg&qKgeEvec(zaT)8siOjSkKt{2pU zg)->JA*1tZL?t5ygTm1M@^IJ8w|XZeBMb@p9@fW*bdP&Nk2^c=bu{&X^zTEnx_)!~ z;9uTfq-#HynXL}`xy{X-&EmeYIyLKE7Q`(uy9QpSo>=a(_4~keoGCCy(4wW#@)doi z;XOT+-p2JuGFDk&Ho#^LPLqvMPRVQy&Bbg;Onn04O5*;z519MK@;%Iz%!zAoo+uL@ z#dy5FW+iQGUM5o(opbdlz)BDDGuDCncIq9x|8c~f{3`4tvFhdHn}{5U6*b!$BcA{bI; z`;JV&X5t{&Xydpalq0W-iOgd46kY&B1e_3j3TwnLE+1UaAgtaOWBvQiu5alA`x>CJLNPD7{GK10Kl0H#r@waPP&9JyVD+_f}UrN*gP65Y&O zST3wxr>M@sdE!6h%eg4sP)OTF13ip?Ju|r7Z%Fp zM?kt{cL#I7HcAjBhJ!rGCM-;x78DA0J97vyRDcCvvR1=E!eWz%;8-vvER-WeE4jRU zd+w#DV*a&_cMjKOT*q!VbO}9pEzx_>vaSIev6@lq}5lO4{yjC<8LaWTWqz+ zA8OXi4!?SBm4igL%L}_=tB-2dN>8{@8vSVM$h^B?MgR5|Ad`2Wt`_E~dwVh1ZNLV@ zMtHm8 zMI08f0J1QLS~NBl&T!ly{V%q5kRFjyl>?78H2N9<7e3r%B4sz(X?z_t8Z63I9pyNd z+ZnA?PrY!xvphLZu{T%ctiJ5(fV{#^Zu~UQH9kuX^!gFeke6m=e0%ZK8j-*V(dFFK zWsPO^>Vn_J63u3<1j0$>ud^QdnvmyOo zP~VdiVlJ)e&zbem6(&ohU_=>;oiNi#+4Cj8nqL1f@IvXD=f3lV_DELn7LN%&Tl*wDI*ihVbSTI(;Rk6*3pz*Eo9?l;t zc#+A%DkRe3vO#PD>4jHXl4+DuGjJJf2({h(sjU~QfK0kx!VVB>@Y+P9T2?!Ij7Y7Z z+#M2+f~35+#Pzth0G^PZ}VL!6#F6EBn&~l4$t72ODR1S?AXK zvcb3gwwfsY>T5T2z1$@T&L<1gR5l+VKSM9bjT}saon)pgQVXYpq=lR83DH>>tQ!a7 zq!RD>SOZp%-RMFqH~-r4g=wFGVSYIiqDd>qI9esj46ql+O-71q{0gBxrRctpcPB6V z6=)~y=pKK*t7g@)&Fg!*e!~u+!I~~Au{>-hv8oTCR)<~&8TSV85=L=35Rq+&e4)G` zb$2r=^^X;`)kNm!f_2|Fo5SK3@*94@jG94;Oob({DemVurD#k_0B zEQhgnMthWb(Y(CEz1M3e=)x7IXFKrds=snoz3jp&N_08WqmL9>JY5&AL+72EPRzEysBSpx zrmT&AAAg{5aj{3@3SPS}h@$_i%f)v8O6e(Hx9a0-gaR|&%I})W z>i3a&{rjGoZuR?zpK><8<22k`YF58L=CnKll-U(?w!dpX%l~z4bDZF)zWW2WH`1%^2(*jEeRXw^Gm1ei zyn3XCj@ZUXRJTtUz*(2UBEkl(#$c9zcNdK*9y>kZLm6b29%mF3tG;q%I#gzxgMn|? z$7Np4bI6?aJF-?a^G{4W0i64ysy((m@80;+R%efmwD1J|D!@_B8|k@b5t=9_I5fCl zUUtjdEWs9P{&HaX_A23{yj_$(3aetAT`|6RV?q(=pGKj!URj5|O7O{nhHYLG007+w zW=SnU-c3>>gr=$S8n@(VMpnpcKwDU0QCrxFK!gVXK{iUlv5UElGD&6@qBqzc9W1WX-lr1fA+Er>W8w!O zxP79wQn7?DIIbVv9Vh7duxTg+&SNt7VR;ksYpHcu*7Yh@ypUR{MpmR_D*-$xeByan zB;#8+YygEJ>kv@XFjz$`?&?)db_kHZaSF+4Ti_4@*nV$)P3BD)Rk%=a>~R6z&AJJ# z8VXr7vau0_xHr)`RKC0*$;@k=ptc$JE{q0=%uOXy5-dBy7MYuWZo z_b(C?K1D#7^!6O8QoQu2yx>5yu&yE&Ou$!Mv_}}P9OWm4sgVkYM$03f6M*x2dh7v+ ze;Mx~k%DV6n4m?L=0JS|=QQ+Fxr^e2FzpnPd5i=1 z!;y+dLH6qbeZtut3jHqD{j~Shh<*ex;9$UQ zW2|_Ly72xt#Gms&qU?1W3-3j0|F&jc$xpML$~Djg%3nfr7q;eC&ol#Kp2<}wd96^w z_8l07fOMAc^#ch+90yWh8#rAFRMG!ST7-zMT<3T}3g<>U{`dOpZiiuODmaTld?{30?TEfLVMRC!YqgMkAq0F+g+j+C-}EF@3C(qa6e4 zGMRiDX&rn4#?am&0eDu}7pyhBmx@SySstR|+&H-)Q64@!Lvt8EsIc3DIpESRO}C8b zIeZ*08^9Y!pNhVj_+UNOluQIdsMfzm5Q!L2AAAs1DeT zQ3rwmQy^6k<+z+xW9VcJKJ&1b!gJe)W(4xiRz@?B`YD;-Raio}p-I-7@7*tqt4%9g z-pEgwukjq0FrxtczY7X5sReEkD2#1kU?4%wYu^Bx{Dz;>qZWMZaDY+Z(3*BQj8^Dv zUt2{xsRXi4>It;Fj)7CKN6&ef6yh|PUMN@?Q)-naj97ac<}j7D1y>a7#71~BTtlg1 zbq&4e5*ppU%|$baA4CditOOwdOs_aP4qTX@7T;~LdG|X!QMj5}w3R8~q1jgpmZ4UxDvrTn0SsGyWL6vY6a-@~Sp@!X^sF;&cOov45*e7jVnPlAh7pCT`u46AG&fPn%LMHsJup*{qu~p-?|UI$;(!|S z$k_3?vBDh20&}$Tv4wU#jnK#TT zMw|@@7)#5^eL1{v<^ksb|1i`Le;;6q3o%JFtwTA0SiGH;;jD&AF4B?4IkaCWb7^%( zn0a#93xdu^d&ngWD&+?HYaGkhXqpE{#hA?Mh1~@V(7MQ^z! zUFJACbhg4Jax>JlG2l4IptyL4C6JBTpp{`$>`o#)DRd|>a#-iWbk1P30ytSFv7v?d z*(rBL<@3V;;dJW$MTRzr4?t{1qXjXf31fu!Z(qIU!TOfTm<)FyLa@1SFxUo)7e;9- z%k+Yg9e?7=035@U>wc`{ICywXG>AGbRYmN-4o~5ny9GNNgn*sF#j1bmDhE7{JYyHI z1RY>_oulKTCZX)NBfhgUUeaEJ)wrBvq8~YpmlrO)pVY5*ZZX~5qC>LA!LT{o$2!S* zITuHkIKH7UdFf;AFWEpp^7#JNKLZ#BS;N4Bmg8zsgUx!bzX&gKze#KoxC<1PbHOAJ z?OtLagsMZ0eXk0yehSC1SiK*bYg;$YX=k?=U^WCnsuh-BoVImIP zGWvL*lpHKj3z=owC7;P@DqYnI^RppS{|#qqj7~E)deP61T>da-Xz=%BT#-+Vd=8F! z@@GV{dU=wq!PCrr5z5qD#*dF2QqA@dc$-@JZ<;@@X8|C+y=T zCw92}M8m&PE)%??9$Ocjx|3Ww4bDwtv|H?dLrZ0odQu#%xg!v-BNQj3wwGzH3^_&C z(7E=N%g`qIcK}daedkbwy~B-rZi43&&zrF(Qg_#c0~UdehD>u8^J97Ddd{u@9s#_$ zbp#pU764tg9rV=C67{rem@giQ=b5dsj%3=2%gM$B9$Yl{z-;!C&M61M@cDTUC7)N4 zMSNJfk2zg?Vq`=58!Zds6?#`tN`G%cF0I-K> zKqovgEUVy|BQg&QDhXr1HEajuvn@nDk3wRkBX6ii*cyxmcq+`{V4JgQX(y)3PQKTF zWxa)Ael>at!Ty||!!SM@y@X+YxSzv1N+}9YPUR?D!|y$junwab8fGH(z#?exVbE|0 z9t{vT{B&Wz@+nR_8MmYFKD+D!^{+ zKR)z+%cX}x+h49;_DY<&mupY=108ifk8*()Drd)rGPrkY64E&21aaU8f0u%2smgj7 z-UhPgyp1luL$0`xiBrHgf{xN zwjvSNSukRk;gp7!LB@`YQgKvb8HCb5%9=>g>cvP+(n;6gho%8S+!}1oA(xlm9_$9C z025po%-dZoChQ?4L7r~_opETChjzxvV9kw+3`drZj!kaeOgRt0j-yK3 zshW>2MeLSWN$i6~fqxjtsuIZnE(LYdS##%CfLOMYat_8oZqtrsbcYOD;hHykE^~$_ zGzrk^#whGdOJ&FdIXl4O9Y(YgDYnTbjC@19#~&c>FdnS}UJ2UK9j|Vb*FFOf(eBz4 z_C6Ir06l{lCZfS{x&t9~RoYEhB7=MDjseeGM9j3O2z%@Xa)@dyc9@Y?OJIy~k6sTT zccszx!Hq13UkV&rDezK1(yYq<<*%F>J_DWXO>|i~=~buQSWR~Rz7gswc!$%FwpI@# zE0Tpd=r8KzQql$74U+i$n?c&cA{@}2%U=9Oc_W)DVk;i9!UBOvp|7CaR%6MN5I5RO zcX`ef>W3t4&YhVp#(~OPkmbUh7QazeRKe~jOKvICNbJU($c#)hD*S>%kCT)^HWpft2F;!kv3X(7iT0nY@nXZ=Y6uuJ7*J-!}@FkQSt@sj_ z2~R_sHW~ga2$Y6wbe4)M1~K8Ml@d7 zfhabr&7qslHnu}Lc?svHZH|ed=CwMdYP2H9sRs)O-*P6$d7pxCQ7_%DA+1^#gcvH< ziGdU@*;!0IV9-H9CdTmHd4lQC9wU@sIvqP2o)EjAbX~Wst`{VBqQ`F5axCl6rkNFd zcbg0u|CEjm9dG#_8fo_l-(`FWy39PUfbVd!c0MkcrC-((6{|RLb7jlpHf4<^++jBD zTj>RDCgw8PexNRMZQy6r^bSn=pU&PoCezq$6J>B1++7FP7k77ehru0Q+#LpYcXxMp zAKV=VcXwy`o!u|lM{;rR4qznXBS4 zG1QLPnNu4@raXJj7pjNtK$`i1J6w6XlP)RmnBN7iWU5WRo5TX<2-U#gIta5`^rJ`) zi1J3GDrT*?^%L|Cji;8M&`fa~UQ-&`rb45)w&)zYkdAe4(YnzK_63H1SOi@O5vl_p zByRwW5r_48o-=IBk7ZZiKfWLM??X}e?`M!7G>)qH za=MgS`m4`@Li0hUmzlpxAiAdbR9o+bn7iKVzvXh$$jdmyO3z-j_EH_r2PnwXdmf$V zpVyMv&&Ir`LcO}OI#lQPiO+BK@VG;C0?+Tq^4}i^NcPKPoLxeWm`&9c zzJOv*B|-tY(4IB0aGilW&gchp)?9K561l+9T0T-(YU+5IITG@z6)e&Pk@-XOOg11m z&$;U!FLtb0LLXs=E8;O_z}QX=v`)>djRihirtkctzuwDT0^z?rbDpBr`CZ#+P!{c) zrYt)EPJO&1S1??}lUd$SL(-=5@0rLe{cT+4V=?MAOpjUy^l$=}a)%sL{f#@aWN?D0 zyrdSx(M5XSvwkfke=Wpo32vSh?uh*%|9!%OTY$6G%8s)(qj zGGo229O((n zO(*yqWrX%9O}Aw>6G<^03m>odthlCyy#Sv1el>&nT z%THQoq*=;yu;K)+0^o4p&V@R@g)|L4DSB>h&3~`e)A{;lz zy`LiefVZ-J#hYn)~ zxQ_+JngyjguWbgd6(ocxaFPhjAr|?)fFq!ff3U*C@Olb#)@okq%c^Ukr(oV?D~k2} zAY;a}ae#>{(rZ+(d+Fpu+tL2ImsfcS*h&7fYmR!OUjr%p6y?SUeihKCzy=@8x3!7~ zcW|Iwrvr`*4o19^Ay5M^qH&4k5(>Tll0#`(ER~Re`FeFZ=a< zn);>=WobHy;OX0(#&TVv!Qy4#la#8t&42Fi+j3tbx}TKJ>BmhYR%8YHN;rn&Xx+oz z7c&1?0R0-LBr?-Od?xq>2?TbujnHl_(X+Mnsl=mlVDO`Bs_P>%RpU15A!1Bumi$23 z7T>G=jkYYi(htgL2hRd$)RD~AHIMwUV6RkHkBZn*w8vSxin|@Is|(0L;79gGX#36h zc4ifPLW#(ap_D8m9z9%QZjg}^k(57TID`oxE~O8ERB(E z7mm`*nJO=7Xj#6osU-CBYAKVkfhqlI9mMwg$LAwaj|!0#4>s z&UdVqF*$((J`=_KftWKXFV8l8n5rpSDIWiuO&bUq@F$%{ADweHX;IABEF3*kd%HW5 z9woxu92>FT%^9r$7U|1N^DM0(_GC5Q!vym0rEHMa@gV(nx#pXvVJccd(wVb4#WkyB#3UeLr=s5Ii4PofRZ-BlA>-jytwGS<|04R}y z-HXY5QfgCZS#*E-P4D+Y)AOm(?XBetsrl+sCI zy$cu)=j!F{1x<|PDbi!^Wdkx4$1QC3{GsnF`D<<(6CbecDmGpqv5AI@G2(Q5lO z>m=1t5g}&q;AExhGM|CH^5=~OyxQk8zw)xZ?r5N zL*t#dv$}@oh>_}ec|@UtEWxul%Z|ThRb$=g6om;UYsTJyIV33;qpxwrRal?KFztw3 zsOna-Go(t13?NZ+m>X6Sp~YtZ)x5$#7hW>ZCp4^E7;ch9!@*AkSUU$AexlTIy#ko*BnvVOi zY0B)xHnY^xR+otdkjeLK_`P1ADt2OBLN?8i3(d@yY^d?zg{s+WWAS^_nN(mDbKufJ zlyInrNk29xnv<;vP4>i94BH+{&wNDq))g)tJI`^e1?vT|IzA&bx*oCJyhW*Xt3Tu0 zTb7VQ*0r!7@5(?#Y6Yg0Wqf7frt%>pNm8P5=;YS!7-%M`s26|(hBGBB9u70Sy7N1Z@1G- zITJIL-4+E-F3ZsQJ;$F1c7JH5si2_|V7JQO%B$;4zIv}Gvi>Fr7T7nJRNcx;n*5iD_T@^Aa zYob@uHAT<1H4wXb(_o+_JX;Xn-ofzz5L(;~4n zA=}b0md;(fX8EA==EQk8J#NHp>w`)%$UbS=-$lNhjU>6V%&-;#mpqRT{l_D5!Kfvi zE(v?dAdbGXPfN$%x)lPthW-&P1180g$XV=$5vuEyJYc6}-tia7@)aK7Z+jfkjxggk z0DwSu4?0aIL1?JV@LKqw*;Xi4i068b;`cMa#cy9&N4KuZ6MyN?T9Q)bL`b=I27z?_ z(v-$_8eK^)KWl}-E2`~~Vn`=~D#KDcPqRfYLLk+jVfI;`U7z6~hPgM-xuDZobp5?v zGJ$Thw5Jdq`YGJQfPz7A4gJm?DdKvI3u6q$aXfuVHIdMB+qG->JK3W2xs&N^x1+k7Z|V z*~{QTY#{FWJMSuw#ot68Txc7ivye=D`=M-_a~E^N4QEy>4kTQQbgZ*jM6MFlZ=T#< z*KodAj6k+Qp8F=fk>q712fszHffNV70RN+`CarU+elK+$x|k-2+F7<1J0Pe_Z&=&J zD1}-h{jFqz8%p?37gw~C*6Y_zD}Zfva8NE<1Gj4As-R>D(ns?rjLXd1hz7M`6NmKU=bja*IgqCM?WN{Ozlj z`Rsqtu@|SaSaUO)Aqj_uL1zRZC~;~nM^{R? z6`2VW9g7Y5!6Gosg+HT3MLafJFIMhMtfa6`oRJyr>-*Xyk4Q4_q-r@!c!=5~c|zsx zHuaA|2D4oFi9L*$I(wCE$zEs4EQL_oW1c)Wq09ROVfjuje)@GF7Ynx|LT^^~1>EoF z$w*>~8>vS2_US0gbDu+Lgn)rHqntd`pR=Gx3Y{Bmt%Ofj$~GqBFKN+1ZqkTbYpAUP zG?$1Y6(6Md=S($s4?@YsL^qbq!c+V*!W2dKOkU$vOJ?Vm@fsL_Mjzh}nkttg@X-KZ zl`b=Ct~l={lg}z zULOWgj?|^2G>J{2r%?Do>g3;HbTHJ(`u)kPb2d}p+RujAzzU7ayg}ytQIAnin;BJE z85W8e+xyS-3x&E0Uen)4bUWK@Ai*XjszLB}7#L!6s>&_Hg3O$4KET92y`SYv>*7`7 zE2rf~3p3TK`q{PIX-}9tqSLZPo{b|*SY77ftX2x3D%fGa4G9>-%c zrM(PRl;a#1E$vR>!MU>i+}ITTIde;@g5S47p=Um!7}$i5`StVmvJC;C$CjpL($tSl zKorTTI!ateE68){)kY!1;Lp_dd9BRc>^_=~8y__6SN==P3x#jj2WnC2XPpqp!OV!x zy1`Sx)L`qKYTcUP$To+^?zJmkNbIBwLhE$LaeKUaK97xT>31GE^cGxO^=N3rL3}EV$!;)L9emH; z?PrQEDO18whC2ME*n_WHqtq{EKshMOn+SO#NPQT$AsFTcZn{<*mg6tPyx{{uJGfBX zhOsfK)5@?8eR1j9quoCm*1A$cMuup5P^Ivm^^n6?uJN-2AW7A3v4^5ZZRu)c;IN); z?b}0U6+baJ^0l=b#m|~7#03OK&4UGP*@nvVa2fHW$v3KLS*N()2-p^N5xEnGVK4I6 z(bwuB^uY_zVV)W2OpbaK?ms6^B#kg%y|?mLPnftJ$JUDnQfJOVa`>$f7$yx?5CxMq`T!{b=w4}#gl7LD4qJR13~tVB8^YDu;$xj<`tj`lP+read(dohg$}_q zD4rq}d0VhqN2j@MZl0r{ezHA8L~n;NXDmdT4`e@^$DBZo)|D;Swr8@>M~U-s6ZIIc zc>QRFq~Y-$67gE~_`^yX1*dNFN&rLZ68qdxy!1r);ICkuw%(8c)&f}3z2QmgvZ5Qp zk7Fkq{%yR`p68@$QCY`WnaR8G(seB-Gile~6h+*cp?4o9`BH_mvi-dJpovetMwg0E zLVPCMRnfy4*+v9=QPq2ojD`xkH0shnvhe?AKjF3sjdFo#&~S~So_2$`PV33pWYPdA@7bqVa$wL{YpVez429d8`V4i*k`uP3zC&l;4WvUf3 zuF>M9s#?3sTAFw39gjSs>$;$mlxAtQN5hKko0KBwg=7R|_b>tR>PstRBen5q9G!W_ znI(rf#NnTQx25Ot;vCM~!QLQa7-g7?_usEHVM|oi3KzLqnUR>cZC>I;t6LT7B^@WP z^by}}?L1qbQ)Uzz@(@B|9n}4Jas$X-yY09dDKXH!1p(IfShYJ+@wWcNH}V=K>vAaE zr8A@Mz4liJpNVx242GKcgYurqz+mnTR#vjAy5?t5Zj+LOj~JHEI2bYh;>ZVGcp2J4 z&;8~J-0W$u6!s3@gFK_4mnk)yp%Kh^zu^UB5Tyu zBPXN3gBH~$Qw3w3w zxs8F`1R86+6iR9LhJ+8kB~C_XaK-vWt>qkg+xb>vN`oX)qy@E%oVY*3ut!+&SKn9NKcnAT4f-gMF71et$%U)iG#;^GfcU8??@(hZZ|}-48d-5jegC(p-GQ zrDaYlyo*4?Z*fpHI8>f;6je{?N4xfa?P6d{hT<3#m^ar!OMbjbO=qZ>Fg%pf`Z%qV zdx|I-G=utszfem^X{%Rv{z#9&M^m(?vr+$1(p#Mex8?tSiLw32GMAyidL6d*K@_F4 z1a_*^1GVrX4SE_Cmf|*hp?3}vO0dQGRngNKDXa2*cpbc^-+T04X;S{*a!7m<5cuYbuRV5>U~9M z74QZ0s6(*L3FrKk<<8VIH_?gTYV#46mi80~qBU>emT_9oKaht_TSf0ymx5`D6fNLw=aV-O+qn_7$r*QKSC%rqJzqlNvW!mXcK1 z0g|sui3$ActatOAN(7U7ix!$!0LFD@78K!lZ>E-*;gJh|Q;h(#0DQ4ydUwK+HHyqd z^F!3x1d1GYCS&@l3UIBZn8`|3`-60kuMPQU=XnOEpV$Xa`Bv*!j=-Fg$Th0f$iOih z9dv-_)LcfrJLEpl61gV3Wo>CgdGWR-c{7Ver1FH92d460+7TK}U6rc!cAVSW_hhR> zO>-;9?!B@!{yn6`rJuq>1omPt@WR2oyWJ>Cju@4p7sIxKSRoKA+nG3`bw5-9vFfh> zlKN!F40tWHQ7yqsp_3fo1+T~n=7;=@{x6N;oAuIbx zqU@;4GUO_n3D!*`IwC^gbPKkDB{Q@04k!}LG(I@)?DvV zBGg%Uxs3w*@nW?-(_Q;ef6BJkT42iX=j&d>w=xi+?ZP!VvrbPwaoU&)=Wu1HJCDEl zt$h@3U~r5%X;XhmwLth#Y+x7<`Kq)O=}-0U+-r0UY`JWg68>|JTW6ZtZ*Hul9Xk(! zPy7d|+_jiVysF~*&nW@FTT%{ADvr@K1Rvd~n=tGF%%_+5iAQKUWH{<`2=?i!p=9T& z1I~SX$mTpt_wLj@+VwE(+Hd~HXm!SQv-m7|Zk6v#1-!mD`~ngs z9r(DMyoM{#W27n3(qrr0q5a;4yOR^e8SSsA6y>YsP={#TM)`}Eu@;K&-*2KCm40pJ zPM<*Hrxf5i>3T%7F3F99e`T3Y?;i6++RmiR!4JdZYwQf+sc9KpY#_zdurgvLaT82! zmbahvs4o7na9>}M7bzfrotA86(4d2UTRI~78C-UUZV^W%^Q7w2c)B>DY<+qIcXqHU zcQ9U?6;8GOmn*L>9aRD&DKzZ*=yg?wD$Lr7Da%FsP8Ls6Kc9UDe2zWg$;F--jIFBl zF|!Uu38TLC`&+8SlBl5UIFg){J&p$*TeeMn)LiQVLeYvF&Q)gwI&3ngnqDt@mSrcB{NvatS29~J z7ezMQNtiLpYJCmQIh$bvTe6z#f;)2H2g6VBJF-J=jnB~-c(9+{oW3H(gN4Ph*xJ9{ z#N`t>qr#l@2YMfo=Zz=`vHUxNUPP$DR0aGNjL>Jg0XfsstB6#J1ibFPyXPShR5US( zAB@N6A>D+3K59+Y5c9a$&0$=W)D#T7$g>eK(NW(C@#sc@Z5aL(xWQ4{dpcN|COo}~ zIFuVJba}Jvl*XbQz+jb7@!s%nsfeBiAFBsP>zU)J4gJ4`ovT`8;$q+%Pr5#d(4B$4 z(qiBULpp3uoMIxI*vP0UOe8)4Ui1;2-I1r-Nol^S3`!0CQL%fAan;}&XXWjUeF0iN zC?mgXXl~5+A9%i&A>+R$k0z{3wL)8qIyj>^^}`4csYZA!7HW(A>#VB=gt4v5U^qUH z&r=@%1oKAs&cFLD!;Y#bFP0yO`bB{zB(GeTC9c4T`E|!ZaqGH(LLpjYI~}^uqHxJv z*Mc~X*0Q=KIpSCA9%VAX!u#g$X0k*2{kyb;HD(Q- zX(aYVuaT-vmP-Gfniz_PT50G9GsScrTp;0NRhN;^1?4Qew5c4WW&(H^mEaR|t?s#o z)8Y^W-LMF2wnOWe5mMoFj;R1d&D02<8t~kpG2Q5EIdW@=8aa9P;oME5xTC5=h_{y4 zoowlG!u1|`)OaR$8J5Yjb{GJ6*;Xf zjSy8_N7oVSYpXr5<6n%S=8l`{0W>&@n8RHVh$W@Q#W(#mE?2iIQ8N^}{{G4e1F#4j zY>1T-+OSuAiVmp>(jT2mp%%0_&5bsnPLap``c%LS-_gte_c2XsI1~xyqF7?h;7gSR%XLi0EE6$pZMXEzLbB>lV_w!d^9)HVex|RLKwuRnuJ87S&l} zyBQr?XBPQ26(x3`-~<%;ax;|F&B)^WZ3Ue5C^MmFnmzz0Oi zFE^nw{~>TIglgz>G#7q7Q<3&OM4Lcai(!e6NWz1WU#VerbWl!p7?^I1@7?7g5CW@G z9GNWbRBxSVSLRxTF?FKjLU2aeeKZl_%Slo8JuYMR7nO#?AJu=0_RlkB#y^f_)w#BmK zjs%%@AY@wv{W%IM7S3AHEvmwplFxzm{ob&C{-_vScy{$fxQ@j5Q&G1#2p*k3f+_oY zmmZMw)LeFGJQ~|#iRY5DJUA*Px*v`%a(8Q`2@?f;Tr=3NV=1zxSC*dKfkNGLFE(>H zyk-Wq1PqKN$(J2cgw$HE&;+G;cpA|o+E`?|zn3n<3bWIWx|>#Sw~eVSj}yh1k}JP? zN-u^$(U^;lda0&7EjuOj)J@a)9foIzRb)iSG9cPA>iM&;Qx?)GlcPl5OF!iQ28Vus z=c@sJVjGIf%AVrrsovJk6dcYg+*!01hzsp?WF7k2c^6h`VpZ$Ev36y$QzZ<`q@@!= z$E)`e%nKF#Q+iApb1OS%_;_s$nkb-7f%9D!orL?U8Stf1FPTH8_sR{}VK{00JZue` zI7%%GiHJ1nKjOjInWZ^t!@%@1jrA}~%ootyO9-8GQZ5gF&3^>7e22#s8)L20??58W zA;0V22S&8)%j0_A3T^}Pa*P=Aljv?}atdSt%q_KoObA@Rk(n51#0uL?;MbfK8|Z48 zx6^)!ScZ-=zK4>{4-ab*WUx{ZPmWsHw`^yDCkyWMkL=LvqpU^9E)X?hq}E_#jJg># z;X8>PZevS-_T_9LcLkHVz?#F2KxN`NPH3auM!pQ7GeN;$8v@|+vAn{ko&d^_uSM%E z;slt!e$#==0?=fsUK6o&wIe4jg!F8xo&GA(AD|PVUE=;f*};XCL4{v*rXV{Yn(%(klL(c`16;kQxR>hkw4=icd;t(oHb@II0GGH1QR)R<{e&oXtki}D8T2Xg;tW`jN z;k~8eTc&UhGhb5pSK_V=H}FF8I^PwX8{M>q42&De+p z{Rm|!Zk{{qU8m*Lk>^z7(+SBPI$3u?M|@AtW)(9O8sq4I6?&AmhVL_D1aAmzE|Za1 zfsjj3vaD%^xR0qWNy|xEJjKAGVK(S&;TEKWtc$Kn+nIPW{?;+Mkw_2C6XX8!29X-hfv7B)`*$=fY- ziT|ftjNk;^$hZcmdZ{x|GR{JllrvaBg#yGMJS21x(OC4sKZ5@lw^>qKhSYiAyn(rEc6MJDKXzbphy(x zwsRpXw_|O%{K7yf$r;Q13?Y@}ay5GKs43MLX#$l%9GjD1X!HC~0!3jG!D-b@m1=|G zq>w9d1j+(fe^R1yXsKY>H8webidW1?Ng6YwXEyr5`YYE>0yq*Tp*h4e6z%9&AK~d` za^rhZVaNid0R%r=>;1u6hvCLxVTk=5f`W{#(4n!7s02ruO5k?%J1CLlz{h@&_zR{H z8?r_S6jDl{<-1^@5aWPJpomnN{*9G@`2~T}6i_IXpOp(Kkq@mDAj7R1Tqwl&NR|+w zLhSA!Dv_O!Qm7#`8Ea@|;g3cmOjC%%4-l|4Uiq|?9EHItB{DM){m~{MY=9PwLKQAV zXD_L+mybrNEI?L@?`lG6CaPK*6oivUg3c;T#%$?t8JdffOAUbrU7jZ3pEv6U2O1SG zD3}L;QV5+v14lz)kz~pfR%RN)G-s<0%hM#Ol$t!u2dBdjh0vlUMr~ZtqMflcu?tcw zBbu7A4A=|85*jWLufQxxM7DEk_Gs8b$k_brf^|Lzf#=P9=kZ+c3Gfot!jDoPsCc00 zh=t^Qd9~2MziM7SLcKJ{bB!UCx8TGAk(sn(o{MBd&5)ejH!U8F4Mrne{A)g5MklA8 z+1$E9Zj=$px7u&?Q=X2eDPD<&s_D;v6528oNjhmuO^3UK!|}2V&1QS#TDU7aay%VvBc+J>PcfpeYA;jXLFg|w zSxI81vV+oJO|p`tOmzptDl^uz&)rXly{Cup8g=~t6@YeC^j8057jj|Rxb%4Or)&5T zGK!~{mkIfEAU)-a89fz>IXo4~`()+Ee$|}Frm3*-QYX7e-557uyPjJ-k#$`FQti`Mf>cy&0^mMy*w4>s2!}pT$&|rC=_v_XVr(4c%mYwM=#_@7Zd| z5>5}>vs-JEymhxd@DMIt+4A%NtLfPXZr++U#WLKQ`2I!zt9%(5UmRb&Sv=^-i;@p! z=xEtXf&84$^o?3a1diMc(8jO{9J;xcW>v?O=M4p^AQLA(1;<5AstEB8~yO1-=`4r!5Ex6L}bH!-#>J4dA;k1 z7%>?!8+kd2CuG=kI@{&oKmJ-tnv&~jp_4^4PHmqD*Xe2lNji->jq1r=0JB3R;`Mt3 zse_W>?e)rt<674NIs9*;1EPY5-x^uDV%pe`&;)D*flN6*5PPA$AEA%La;JF?xK#%V zZEc7rO47QvZ8XZ4XN@!}m(C+ZW655@VQshrjq;$p1oC>E9 z1OMc3` zfgYj-1^lsbGV!*lZ4?35NJECNGz|r}vO)sY1}1nOMP>)F`ctk*&Z640h6eKDq3GB6 zvDirj!gBEBeRyJcaLGbzZ65|?n@R_Aa&YR;Cdg`lnW4z^4S}NCIcN7JL6AaA3V;da zDTFXmwWG5IPzPxTx{O;Z1cc%i5-Gt+hDr$$<3v-)Bh+j?SfF0U>=7&`<8*cNZ{SnN zxAJdzi$%%<5r9`f+vFqngJ=GYh@^Sh%a^eizG%#UU|hEsC|}n%X9KU`4D!cH-eoqw zOK4-J%nOv8vvkh)9SFsxNgCyTv4d6$E`PJv6Imyk<3yr}q??yGSIg^i#$3}Z!KQfa zq7fXfAV&?j#YZ@cb8O^CURF+r!RK5Q>mtT@(LUCjv-~>dvr~_mW}WlbMV`V4P`hOB zGmlxv&2YA91+zs*8{npCpC6&8O;(egwZ9#KwH&M@uQz*TX5F&BaBxLc)J+&>?6V!3 zdZ_078c8^Ii_fYu`}3F6@$LStgrCB;i|vA>d_9H2oHsjiDsQ=k;`k=N+pbBdogn1& zTfc#KaG`o_?qOm%B9l4a3eiqU#WNj*zp7IAcB58r`8IM5b=$i&|DnNOEkT4@Yq7{FkU8=A#Q4L15TNBkKu97fl8gp=3kJvfd5g$_KZ4#4>48cpgTPRF zBARIbTnJ?PiQ-@X>sJD)pzM?>Fr0*l{#$HU0zxH7@UXxf5*;+j+7gkPZ0~s`>tAcc zp%u4PHN*4rZp?D<4;FA zyY9b7dGVZ$$vtmi99^etO9g+2OLIEA{u&ADd{ z&Pl`jt#Yb{e!?(igAdzP9j3tW+ie8vuRN(j)&OxbJt93za6xn_$ch?d5^A;Jedvc1 zVZ;$@`6%=3{DshPDP{j)5Ol#`qNCV?Kl71DermLdF$q6HpU0^p3yVa;6{(OiQ^PZ5 z!g3Nr1`n$gxJ4vbB?eJz;HiNp+tXq1q7%;&H9X_&Pbxvdltoe`&fBU=P{s-&VISzP zA}3^_NX+6Sl2FGf1;QdeEb1c&L$a>eawX~n3fJW?z!Hh6zCWj*n|5`Di=#)>ocSj! z8`X*{UCH&(U#_`-K?n|J$uH-myWAAD^t+Zmau`0?)@RZ;Ll1o4CTn|FL<`Y3Ckdi4 zjV3G&TpGX5(C2(h<`G1c}3xN9u7r{%{H zD5M1s5Sggpkud!=rwH`6$;?Gjm7t1^6$45}dWeycT}US12LQMBGD3ZVYLeNXlb^0t zc zB(TW!b;;vQ$NBCh90eMHvrW2p4zaY7DIZ6MUna>Cy z0uTWWE#Y~17(`5rfW{^Y1`alk-(SK&YiAo0}+6UkB>pj!rIBi zfkDjLz{%u)c43ed(Wca41~BU|v9akeF*4~eu`(Ke7ua=}+1YfMS#+40zw24p9ISMh z08BbM8s8a!is=7GA6*7XTT|fom>G$b{tJzmzc*k?K%f&5)BjVeY~f+@jZOaxoHUe7 zOc~U*0pE=P-T!?jR-`;lBch1)(amg>8Z6^ut)U-gSVqaOtjxxSA(cF+6j#ZL`{`Gw zFDO}`pZLqzpq{DB;14{_gp4T*%T@{S(D{sYo+V-OB=c_SRpdeqZd6ELqQm4yrMF8Mhf3Mfu=J9(7LZ{jf0s?2sLAvkI68gz$PB)NHl3 zglPw$Fp+GB_VzMW4_!tI>UN5L(b&}2KcT)13tk>D{+Q)e?dGcCUU{0;qdhuLy)NZ$ zDi#cVR`Od5jV0-H?|HH&;BOC*e>LmA;ZERNeY1P<;o}y+K^td?w>u`K*3Y&i0!bSP yMs=>CSa67Ak1_