From b7f96490366863f8427e41db86b1cc03d1931d80 Mon Sep 17 00:00:00 2001 From: Moritz Utcke Date: Sun, 6 Apr 2025 18:54:46 -0400 Subject: [PATCH 1/2] Datenbank Popup --- .../20250406203632_id_longer/migration.sql | 106 ++++ prisma/schema/Anteilshaber.prisma | 2 +- prisma/schema/ApiRequests.prisma | 2 +- prisma/schema/Aufnahme.prisma | 2 +- prisma/schema/BedarfsausweisGewerbe.prisma | 2 +- prisma/schema/BedarfsausweisWohnen.prisma | 2 +- prisma/schema/Benutzer.prisma | 2 +- prisma/schema/Bild.prisma | 2 +- prisma/schema/Event.prisma | 2 +- prisma/schema/GEGEinpreisung.prisma | 2 +- prisma/schema/GEGNachweisGewerbe.prisma | 2 +- prisma/schema/GEGNachweisWohnen.prisma | 2 +- prisma/schema/Objekt.prisma | 2 +- prisma/schema/Rechnung.prisma | 2 +- prisma/schema/Tickets.prisma | 2 +- prisma/schema/Unterlage.prisma | 2 +- prisma/schema/VerbrauchsausweisGewerbe.prisma | 2 +- prisma/schema/VerbrauchsausweisWohnen.prisma | 2 +- src/astro-typesafe-api-caller.ts | 6 +- .../design/content/InfoPopup.svelte | 175 ++++--- .../BedarfsausweisWohnenModule.svelte | 261 +++++----- src/pages/index.astro | 452 +++++++++++------- src/testing/daten-umziehen.ts | 79 +-- src/testing/new-ausweis-id-map.json | 2 +- src/testing/new-user-id-map.json | 2 +- 25 files changed, 691 insertions(+), 426 deletions(-) create mode 100644 prisma/migrations/20250406203632_id_longer/migration.sql diff --git a/prisma/migrations/20250406203632_id_longer/migration.sql b/prisma/migrations/20250406203632_id_longer/migration.sql new file mode 100644 index 00000000..7a6062a5 --- /dev/null +++ b/prisma/migrations/20250406203632_id_longer/migration.sql @@ -0,0 +1,106 @@ +/* + Warnings: + + - The primary key for the `Anteilshaber` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `ApiRequests` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `Aufnahme` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `BedarfsausweisGewerbe` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `BedarfsausweisWohnen` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `Bild` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `Event` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `GEGEinpreisung` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `GEGNachweisGewerbe` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `GEGNachweisWohnen` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `Objekt` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `Rechnung` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `Tickets` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `Unterlage` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `VerbrauchsausweisGewerbe` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `VerbrauchsausweisWohnen` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The primary key for the `benutzer` table will be changed. If it partially fails, the table could be left without primary key constraint. + +*/ +-- AlterTable +ALTER TABLE "Anteilshaber" DROP CONSTRAINT "Anteilshaber_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "Anteilshaber_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "ApiRequests" DROP CONSTRAINT "ApiRequests_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "ApiRequests_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "Aufnahme" DROP CONSTRAINT "Aufnahme_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "Aufnahme_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "BedarfsausweisGewerbe" DROP CONSTRAINT "BedarfsausweisGewerbe_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "BedarfsausweisGewerbe_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "BedarfsausweisWohnen" DROP CONSTRAINT "BedarfsausweisWohnen_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "BedarfsausweisWohnen_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "Bild" DROP CONSTRAINT "Bild_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "Bild_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "Event" DROP CONSTRAINT "Event_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "Event_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "GEGEinpreisung" DROP CONSTRAINT "GEGEinpreisung_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "GEGEinpreisung_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "GEGNachweisGewerbe" DROP CONSTRAINT "GEGNachweisGewerbe_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "GEGNachweisGewerbe_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "GEGNachweisWohnen" DROP CONSTRAINT "GEGNachweisWohnen_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "GEGNachweisWohnen_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "Objekt" DROP CONSTRAINT "Objekt_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "Objekt_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "Rechnung" DROP CONSTRAINT "Rechnung_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "Rechnung_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "Tickets" DROP CONSTRAINT "Tickets_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "Tickets_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "Unterlage" DROP CONSTRAINT "Unterlage_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "Unterlage_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "VerbrauchsausweisGewerbe" DROP CONSTRAINT "VerbrauchsausweisGewerbe_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "VerbrauchsausweisGewerbe_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "VerbrauchsausweisWohnen" DROP CONSTRAINT "VerbrauchsausweisWohnen_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "VerbrauchsausweisWohnen_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "benutzer" DROP CONSTRAINT "benutzer_pkey", +ALTER COLUMN "id" SET DATA TYPE VARCHAR(10), +ADD CONSTRAINT "benutzer_pkey" PRIMARY KEY ("id"); diff --git a/prisma/schema/Anteilshaber.prisma b/prisma/schema/Anteilshaber.prisma index a3542975..81a65b17 100644 --- a/prisma/schema/Anteilshaber.prisma +++ b/prisma/schema/Anteilshaber.prisma @@ -1,5 +1,5 @@ model Anteilshaber { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) rolle String? @db.VarChar privilegien BigInt? diff --git a/prisma/schema/ApiRequests.prisma b/prisma/schema/ApiRequests.prisma index 1f61860e..5852fefc 100644 --- a/prisma/schema/ApiRequests.prisma +++ b/prisma/schema/ApiRequests.prisma @@ -1,6 +1,6 @@ model ApiRequests { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) date DateTime @default(now()) @db.Timestamp(6) ip String @db.VarChar(50) method String @db.VarChar(10) diff --git a/prisma/schema/Aufnahme.prisma b/prisma/schema/Aufnahme.prisma index 4e46d78e..d046f2e6 100644 --- a/prisma/schema/Aufnahme.prisma +++ b/prisma/schema/Aufnahme.prisma @@ -13,7 +13,7 @@ enum Lueftungskonzept { } model Aufnahme { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) benutzer_id String? benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction) /// @zod.describe("Art des Gebäudes und seiner primären Nutzungsart") diff --git a/prisma/schema/BedarfsausweisGewerbe.prisma b/prisma/schema/BedarfsausweisGewerbe.prisma index f2ec3991..7e98c5b4 100644 --- a/prisma/schema/BedarfsausweisGewerbe.prisma +++ b/prisma/schema/BedarfsausweisGewerbe.prisma @@ -1,5 +1,5 @@ model BedarfsausweisGewerbe { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) /// @zod.describe("Ausstellgrund wie z.B. Vermietung oder Verkauf") ausstellgrund Ausstellgrund? diff --git a/prisma/schema/BedarfsausweisWohnen.prisma b/prisma/schema/BedarfsausweisWohnen.prisma index b93c9021..e85063f9 100644 --- a/prisma/schema/BedarfsausweisWohnen.prisma +++ b/prisma/schema/BedarfsausweisWohnen.prisma @@ -1,6 +1,6 @@ model BedarfsausweisWohnen { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) benutzer_id String? ausstellgrund Ausstellgrund? registriernummer String? @db.VarChar diff --git a/prisma/schema/Benutzer.prisma b/prisma/schema/Benutzer.prisma index 1ea65d80..d53183dc 100644 --- a/prisma/schema/Benutzer.prisma +++ b/prisma/schema/Benutzer.prisma @@ -5,7 +5,7 @@ enum BenutzerRolle { } model Benutzer { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) name String? @db.VarChar(50) vorname String? @db.VarChar(50) email String @unique(map: "benutzer_email_idx") @db.VarChar(255) diff --git a/prisma/schema/Bild.prisma b/prisma/schema/Bild.prisma index 284f380d..661326bf 100644 --- a/prisma/schema/Bild.prisma +++ b/prisma/schema/Bild.prisma @@ -8,7 +8,7 @@ enum BilderKategorie { } model Bild { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) kategorie BilderKategorie name String diff --git a/prisma/schema/Event.prisma b/prisma/schema/Event.prisma index f6ae0866..47d68389 100644 --- a/prisma/schema/Event.prisma +++ b/prisma/schema/Event.prisma @@ -3,7 +3,7 @@ // Hier werden beispielsweise Events wie "Nachricht Verschickt" gespeichert. // Diese Events werden dann in der Admin-Oberfläche angezeigt. model Event { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) date DateTime @default(now()) @db.Timestamp(6) title String @db.VarChar(255) diff --git a/prisma/schema/GEGEinpreisung.prisma b/prisma/schema/GEGEinpreisung.prisma index a8c8ef58..1eb43971 100644 --- a/prisma/schema/GEGEinpreisung.prisma +++ b/prisma/schema/GEGEinpreisung.prisma @@ -6,7 +6,7 @@ enum Einpreisungsstatus { } model GEGEinpreisung { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) empfaenger String? @db.VarChar strasse String? @db.VarChar diff --git a/prisma/schema/GEGNachweisGewerbe.prisma b/prisma/schema/GEGNachweisGewerbe.prisma index 3fb83957..cb2d6829 100644 --- a/prisma/schema/GEGNachweisGewerbe.prisma +++ b/prisma/schema/GEGNachweisGewerbe.prisma @@ -1,5 +1,5 @@ model GEGNachweisGewerbe { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) /// @zod.describe("Ausstellgrund wie z.B. Vermietung oder Verkauf") ausstellgrund Ausstellgrund? diff --git a/prisma/schema/GEGNachweisWohnen.prisma b/prisma/schema/GEGNachweisWohnen.prisma index 951e1fa3..8857490f 100644 --- a/prisma/schema/GEGNachweisWohnen.prisma +++ b/prisma/schema/GEGNachweisWohnen.prisma @@ -1,5 +1,5 @@ model GEGNachweisWohnen { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) /// @zod.describe("Ausstellgrund wie z.B. Vermietung oder Verkauf") ausstellgrund Ausstellgrund? diff --git a/prisma/schema/Objekt.prisma b/prisma/schema/Objekt.prisma index 3f0fb4af..ea2e5988 100644 --- a/prisma/schema/Objekt.prisma +++ b/prisma/schema/Objekt.prisma @@ -1,5 +1,5 @@ model Objekt { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) latitude Float? longitude Float? diff --git a/prisma/schema/Rechnung.prisma b/prisma/schema/Rechnung.prisma index a517b851..c414bf04 100644 --- a/prisma/schema/Rechnung.prisma +++ b/prisma/schema/Rechnung.prisma @@ -24,7 +24,7 @@ enum AusweisTyp { } model Rechnung { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) empfaenger String? @db.VarChar strasse String? @db.VarChar diff --git a/prisma/schema/Tickets.prisma b/prisma/schema/Tickets.prisma index f13213e6..f53072f1 100644 --- a/prisma/schema/Tickets.prisma +++ b/prisma/schema/Tickets.prisma @@ -8,7 +8,7 @@ enum TicketStatus { } model Tickets { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) created_at DateTime @default(now()) updated_at DateTime? @updatedAt deleted_at DateTime? diff --git a/prisma/schema/Unterlage.prisma b/prisma/schema/Unterlage.prisma index 0c8d7053..888257a8 100644 --- a/prisma/schema/Unterlage.prisma +++ b/prisma/schema/Unterlage.prisma @@ -5,7 +5,7 @@ enum UnterlagenKategorie { } model Unterlage { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) name String? kategorie String? mime String diff --git a/prisma/schema/VerbrauchsausweisGewerbe.prisma b/prisma/schema/VerbrauchsausweisGewerbe.prisma index 6ee79261..9380a5ff 100644 --- a/prisma/schema/VerbrauchsausweisGewerbe.prisma +++ b/prisma/schema/VerbrauchsausweisGewerbe.prisma @@ -1,6 +1,6 @@ model VerbrauchsausweisGewerbe { - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) ausstellgrund Ausstellgrund? registriernummer String? @db.VarChar zusaetzliche_heizquelle Boolean? diff --git a/prisma/schema/VerbrauchsausweisWohnen.prisma b/prisma/schema/VerbrauchsausweisWohnen.prisma index 73e3a7f3..8ae6af0e 100644 --- a/prisma/schema/VerbrauchsausweisWohnen.prisma +++ b/prisma/schema/VerbrauchsausweisWohnen.prisma @@ -1,7 +1,7 @@ model VerbrauchsausweisWohnen { /// @zod.describe("ID des Ausweises") - id String @id @unique @db.VarChar(8) + id String @id @unique @db.VarChar(10) /// @zod.describe("Ausstellgrund wie z.B. Vermietung oder Verkauf") ausstellgrund Ausstellgrund? /// @zod.describe("Die Registriernummer des Ausweises") diff --git a/src/astro-typesafe-api-caller.ts b/src/astro-typesafe-api-caller.ts index 38dbbbd9..0e168f07 100644 --- a/src/astro-typesafe-api-caller.ts +++ b/src/astro-typesafe-api-caller.ts @@ -12,8 +12,8 @@ export const createCaller = createCallerFactory({ "admin/post-ausstellen": await import("../src/pages/api/admin/post-ausstellen.ts"), "admin/registriernummer": await import("../src/pages/api/admin/registriernummer.ts"), "admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"), - "aufnahme": await import("../src/pages/api/aufnahme/index.ts"), "ausweise": await import("../src/pages/api/ausweise/index.ts"), + "aufnahme": await import("../src/pages/api/aufnahme/index.ts"), "auth/access-token": await import("../src/pages/api/auth/access-token.ts"), "auth/passwort-vergessen": await import("../src/pages/api/auth/passwort-vergessen.ts"), "auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"), @@ -31,10 +31,10 @@ export const createCaller = createCallerFactory({ "rechnung/anfordern": await import("../src/pages/api/rechnung/anfordern.ts"), "rechnung": await import("../src/pages/api/rechnung/index.ts"), "ticket": await import("../src/pages/api/ticket/index.ts"), - "user": await import("../src/pages/api/user/index.ts"), - "user/self": await import("../src/pages/api/user/self.ts"), "verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"), "verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"), + "user": await import("../src/pages/api/user/index.ts"), + "user/self": await import("../src/pages/api/user/self.ts"), "verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"), "verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"), "webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"), diff --git a/src/components/design/content/InfoPopup.svelte b/src/components/design/content/InfoPopup.svelte index 5cc37e1c..e2c9d30d 100644 --- a/src/components/design/content/InfoPopup.svelte +++ b/src/components/design/content/InfoPopup.svelte @@ -1,77 +1,106 @@ - - {#if showPopup} - - {/if} - - \ No newline at end of file + $: { + if (showPopup) { + document.body.style.overflow = "hidden" + } else { + document.body.style.overflow = "auto" + } + } + + +{#if showPopup} +
+
+ +
Wichtige Info zur Neuentwicklung
+ +
+
+{/if} + + diff --git a/src/modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte b/src/modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte index 111798b7..01e478c8 100644 --- a/src/modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte +++ b/src/modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte @@ -1,79 +1,108 @@ +
+ -
- - - - - +
- - - + bind:ausweis + bind:bilder + bind:user + bind:objekt + bind:aufnahme + bind:blockLocalStorageSync + {ausweisart} + showWeiter={false} + {form} + {skala} + > - + - + + - + - + + - + - - + - - - - - - - - - - + - - - - - - - - - + > --> -
- - + + + + + + + + + +
+ + - - - + > diff --git a/src/pages/index.astro b/src/pages/index.astro index ba87ca6e..e279c749 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -5,201 +5,307 @@ import ProduktVergleichGewerbe from "#components/design/content/ProduktVergleich import WelcherAusweisWidget from "#components/widgets/ibcornelsen/WelcherAusweisWidget_ibcornelsen.svelte"; import TextboxCardTemplate from "#components/design/content/TextboxCardTemplate.svelte"; import InfoPopup from "#components/design/content/InfoPopup.svelte"; - --- -

Ihr Partner für Energieausweise und GEG Nachweise

-

Ob für Vermietung, Verkauf, Modernisierung, Neubau oder zur Vorlage bei Ihrer Bank - - wir erstellen den passenden Energieausweis oder GEG-Nachweis für Ihr Objekt. - Mit 18 Jahren Erfahrung sind wir der richtige Ansprechpartner - für Hauseigentümer, Bauherren, Makler und Verwalter.

- -

Machen Sie hier den online Check welcher Energieausweis der Richtige für Sie ist:

- -
- -
- -

Erfüllen Sie die gesetzlichen Vorgaben des GEG 2024. Mit uns profitieren Sie von:

- Rechtssicherer Bearbeitung     - Langjähriger Erfahrung     - Schneller online Erstellung + Ob für Vermietung, Verkauf, Modernisierung, Neubau oder zur Vorlage bei + Ihrer Bank - wir erstellen den passenden Energieausweis oder + GEG-Nachweis für Ihr Objekt. Mit 18 Jahren Erfahrung sind wir + der richtige Ansprechpartner für Hauseigentümer, Bauherren, Makler und Verwalter.

+

+ Machen Sie hier den online Check welcher Energieausweis der + Richtige für Sie ist: +

-

GEG gilt ab 1. Mai 2021 und löst die EnEV ab

- +
+ +
+

+ Erfüllen Sie die gesetzlichen Vorgaben des GEG 2024. Mit + uns profitieren Sie von: +

+

+ Rechtssicherer Bearbeitung     Langjähriger Erfahrung     Schneller online Erstellung +

-

- Energieausweis nach aktueller GEG (vormals EnEV) geprüft vom Diplom Ingenieur -

-
-
-
-

- Sie möchten Ihren Energieausweis online erstellen? Auf dieser Seite finden Sie alle nötigen Informationen hierzu. - Sollten Sie sich nicht sicher sein, welchen Energieausweis - Sie benötigen, können Sie sich bei uns umfassend informieren. Wir haben für Sie alle wichtigen Informationen rund um die GEG und zur - Energieausweis Pflicht zusammengetragen. - Zusätzlich haben wir die entscheidenden Informationen auf übersichtlichen Merkblättern im PDF-Format zum Download zusammengefasst. - Sollten Sie noch Fragen zum Thema Energieausweis online erstellen haben, stehen wir Ihnen gerne telefonisch unter folgender Nummer: - 040/209 339 850 zur Verfügung. -

-
-

- Mit dem Energieausweis werden Wohngebäude und Nichtwohngebäude nach den Vorgaben des Gebäudeenergiegesetzes - GEG energetisch bewertet. Das DIBt - (Deutsches Institut für Bautechnik) regelt die Grundsätze zur Ausstellung, Berechnung und der Qualitätssicherung. - Der Energieausweis beschreibt die entsprechenden Energiekennwerte auf einer Farbskala: grün (A+/Effizienzhaus), gelb (D), und rot (H / unsaniert). - Es wird grundsätzlich zwischen zwei Energieausweisarten unterschieden: -

+

GEG gilt ab 1. Mai 2021 und löst die EnEV ab

+ + +

+ Energieausweis nach aktueller GEG (vormals EnEV) geprüft vom Diplom + Ingenieur +

+
+
+
+

+ Sie möchten Ihren Energieausweis online erstellen? Auf dieser Seite finden Sie alle nötigen Informationen + hierzu. Sollten Sie sich nicht sicher sein, welchen Energieausweis + Sie benötigen, können Sie sich bei uns umfassend informieren. + Wir haben für Sie alle wichtigen Informationen rund um die GEG + und zur + Energieausweis Pflicht zusammengetragen. Zusätzlich haben wir die entscheidenden Informationen + auf übersichtlichen Merkblättern im PDF-Format zum Download zusammengefasst. + Sollten Sie noch Fragen zum Thema Energieausweis online erstellen + haben, stehen wir Ihnen gerne telefonisch unter folgender Nummer: + 040/209 339 850 zur Verfügung. +

+
+

+ Mit dem Energieausweis werden Wohngebäude und + Nichtwohngebäude nach den Vorgaben des Gebäudeenergiegesetzes + GEG energetisch bewertet. Das DIBt + (Deutsches Institut für Bautechnik) regelt die Grundsätze zur + Ausstellung, Berechnung und der Qualitätssicherung. Der Energieausweis + beschreibt die entsprechenden Energiekennwerte auf einer Farbskala: + grün (A+/Effizienzhaus), gelb (D), und rot (H / unsaniert). Es + wird grundsätzlich zwischen zwei Energieausweisarten unterschieden: +

+
+
+ Energieausweis online erstellen +
-
- Energieausweis online erstellen +
+
+
    +
  • + Der verbrauchsbasierte Energieausweis wird als Verbrauchsausweis + bezeichnet. Dies ist der „kleine“ Energieausweis und kann bei + Vermietung und Verkauf in den meisten Fällen verwendet werden. + Hier geht's direkt zum Eingabeformular: +
    + Energieausweis online erstellen +
    +
  • +
  • + Der bedarfsbasierte Energieausweis wird als Bedarfsausweis bezeichnet. Dies ist der „große“ Energieausweis und kann immer + verwendet werden. Bei Neubau und Modernisierung ist er zwingend + vorgeschrieben. Hier geht's direkt zum Eingabeformular: +
    + Energieausweis online erstellen +
  • +
-
-
-
    -
  • - Der verbrauchsbasierte Energieausweis wird als Verbrauchsausweis - bezeichnet. Dies ist der „kleine“ Energieausweis und kann bei Vermietung und Verkauf in den meisten Fällen verwendet werden. - Hier geht's direkt zum Eingabeformular: -
    - Energieausweis online erstellen -
    -
  • -
  • - Der bedarfsbasierte Energieausweis wird als Bedarfsausweis bezeichnet. - Dies ist der „große“ Energieausweis und kann immer verwendet werden. Bei Neubau und Modernisierung ist er zwingend vorgeschrieben. - Hier geht's direkt zum Eingabeformular: -
    - Energieausweis online erstellen -
  • -
-
-
- -

Übersicht Verbrauchsausweis und Bedarfsausweis für Wohngebäude:

+

+ Übersicht Verbrauchsausweis und Bedarfsausweis für Wohngebäude: +

-

Übersicht Verbrauchsausweis und Bedarfsausweis für Gewerbegebäude:

+

+ Übersicht Verbrauchsausweis und Bedarfsausweis für Gewerbegebäude: +

- + -
-

Unterschied: Verbrauchsausweis und Bedarfsausweis

-

- Grundsätzlich unterscheidet man beim Energieausweis zwischen Verbrauchsausweis und Bedarfsausweis. -

- -

Was ist ein Verbrauchsausweis?

-

- Der Verbrauchsausweis gibt den Energieverbrauch der Gebäudebewohner in den vergangenen drei Jahren für Heizung und - Warmwasserbereitung an. Um den Energieverbrauchskennwert zu ermitteln, wird - der tatsächliche Energieverbrauch mithilfe eines standortbezogenen Klimafaktors bereinigt. Der Durchschnittswert wird durch die sogenannte - energetische Gebäudenutzfläche (An) geteilt. -

-

- So führt beispielsweise ein hoher Verbrauch in einem einzelnen harten Winter nicht zu einer schlechteren Beurteilung des Gebäudes. - Der tatsächliche Energieverbrauch in einem Gebäude oder einer Wohnung kann aufgrund des Witterungseinflusses vom - Energieverbrauchskennwert abweichen. Das Ergebnis im Verbrauchsausweis ist stark vom individuellen Nutzungsverhalten der - Bewohner abhängig. Wird in einem energetisch schlechten Gebäude kaum geheizt, so kann der Energieausweis trotzdem sehr gut ausfallen. -

- -

Was ist ein Bedarfsausweis?

-

- Der Bedarfsausweis entsteht auf Grundlage einer technischen - Analyse der Bausubstanz und der Heizungsanlage eines Gebäudes und ist unabhängig vom - individuellen Nutzerverhalten. -

-

- Die Farbverlaufsskala im Bedarfsausweis weist zwei verschiedene Werte aus: einen Wert für den Endenergiebedarf und - einen für den Primärenergiebedarf. Zusätzlich wird noch ein Kennwert für die energetische Qualität der Gebäudehülle dargestellt. -

-

- Der Energiebedarf gibt die nach technischen Regeln berechnete, vom konkreten Gebäude jährlich benötigte Energiemenge für Heizung, - Lüftung und Warmwasserbereitung an. Dabei werden standardisierte Randbedingungen – beispielsweise eine Innentemperatur von - 19 Grad im beheizten Bereich des Gebäudes – zugrunde gelegt. -

-

- Am Endenergiebedarf sollten sich Hausbewohner orientieren, wenn sie ihren künftigen Energieverbrauch und die - Energiekosten abschätzen wollen. Der Primärenergiebedarf bildet die Gesamtenergieeffizienz eines Gebäudes ab. - Er berücksichtigt neben der Endenergie auch die sogenannte „Vorkette“ (Erkundung, Gewinnung, Verteilung, Umwandlung) der - jeweils eingesetzten Energieträger (z. B. Heizöl, Gas, Strom, erneuerbare Energien). -

-

- Besonders niedrig fällt der Primärenergiebedarf aus, wenn erneuerbare Energien (solare Strahlungsenergie, Geothermie, Energie aus Biomasse) - für die Energieversorgung im Gebäude eingesetzt werden. Am Primärenergiebedarf können Verbraucher erkennen, wie umweltfreundlich - ihr Gebäude ist. -

- -

Fazit – Verbrauchsausweis / Bedarfsausweis

-

- Geht es um den tatsächlichen Verbrauch der Energie, der den Aufwand für Heizung und zentrale Warmwasserbereitung der vergangenen - drei Jahre berücksichtigt, wird der Energieverbrauchskennwert für den Verbrauchsausweis ermittelt. Bei gewerblichen - Objekten wird zusätzlich der Verbrauch für Beleuchtung und Klimatisierung mit eingerechnet. -

-

- Für das Ausstellen des Bedarfsausweises wird der rechnerische Energiebedarf unter standardisierten Randbedingungen benötigt. - Daten rund um Bausubstanz, Gebäudehülle und Heizanlage fließen in die Berechnung mit ein. Bedarfsausweise widerspiegeln die - tatsächliche energetische Qualität eines Gebäudes damit wesentlich besser als die Verbrauchsausweise. -

-
+
+

Unterschied: Verbrauchsausweis und Bedarfsausweis

+

+ Grundsätzlich unterscheidet man beim Energieausweis zwischen Verbrauchsausweis und Bedarfsausweis. +

-
-

Energieausweis online erstellen

-

- Soll Wohneigentum veräußert oder bauliches Teileigentum zum Erwerb angeboten werden, muss dem möglichen Käufer oder Leasingnehmer auf - Verlangen unverzüglich ein Energieausweis vorgelegt werden. In den meisten Fällen ist hier ein Verbrauchsausweis ausreichend. -

-

- Auch Mietern oder Pächtern soll der Energieausweis unmittelbaren Aufschluss über die energetischen Bedingungen des Gebäudes aufzeigen.Kommt der - Anbieter der offerierten Immobilie diesem Auftrag nach der Energieeinsparverordnung nicht nach, drohen Bußgelder bis zu 15 000 Euro. Als - Ausnahmen (§ 79 GEG) gelten Gebäude mit nicht mehr als 50 m² Fläche sowie Baudenkmäler. -

-

- Die Deutsche Energie-Agentur GmbH (dena) empfiehlt bei Wohngebäuden generell den Bedarfsausweis. Er erlaubt eine nutzerunabhängige Bewertung - des Gebäudes. Zusätzlich können bei der Erstellung eines Bedarfsausweises die Empfehlungen für Modernisierungen auf der Basis einer technischen - Analyse des Gebäudes ermittelt werden. -

-
+

Was ist ein Verbrauchsausweis?

+

+ Der Verbrauchsausweis gibt den Energieverbrauch der Gebäudebewohner + in den vergangenen drei Jahren für Heizung und Warmwasserbereitung + an. Um den Energieverbrauchskennwert zu ermitteln, wird der tatsächliche Energieverbrauch mithilfe eines + standortbezogenen Klimafaktors bereinigt. Der Durchschnittswert wird + durch die sogenannte + energetische Gebäudenutzfläche (An) geteilt. +

+

+ So führt beispielsweise ein hoher Verbrauch in einem einzelnen + harten Winter nicht zu einer schlechteren Beurteilung des Gebäudes. + Der tatsächliche Energieverbrauch in einem Gebäude oder einer + Wohnung kann aufgrund des Witterungseinflusses vom + Energieverbrauchskennwert abweichen. Das Ergebnis im + Verbrauchsausweis ist stark vom individuellen Nutzungsverhalten der + Bewohner abhängig. Wird in einem energetisch schlechten Gebäude kaum + geheizt, so kann der Energieausweis trotzdem sehr gut ausfallen. +

+

Was ist ein Bedarfsausweis?

+

+ Der Bedarfsausweis entsteht auf Grundlage einer technischen + Analyse der Bausubstanz und der Heizungsanlage eines Gebäudes und ist unabhängig vom individuellen Nutzerverhalten. +

+

+ Die Farbverlaufsskala im Bedarfsausweis weist zwei verschiedene + Werte aus: einen Wert für den Endenergiebedarf und einen + für den Primärenergiebedarf. Zusätzlich wird noch ein + Kennwert für die energetische Qualität der Gebäudehülle dargestellt. +

+

+ Der Energiebedarf gibt die nach technischen Regeln berechnete, vom + konkreten Gebäude jährlich benötigte Energiemenge für Heizung, + Lüftung und Warmwasserbereitung an. Dabei werden standardisierte + Randbedingungen – beispielsweise eine Innentemperatur von 19 Grad im + beheizten Bereich des Gebäudes – zugrunde gelegt. +

+

+ Am Endenergiebedarf sollten sich Hausbewohner orientieren, + wenn sie ihren künftigen Energieverbrauch und die Energiekosten abschätzen + wollen. Der Primärenergiebedarf bildet die Gesamtenergieeffizienz + eines Gebäudes ab. Er berücksichtigt neben der Endenergie auch die sogenannte + „Vorkette“ (Erkundung, Gewinnung, Verteilung, Umwandlung) der jeweils + eingesetzten Energieträger (z. B. Heizöl, Gas, Strom, erneuerbare Energien). +

+

+ Besonders niedrig fällt der Primärenergiebedarf aus, wenn + erneuerbare Energien (solare Strahlungsenergie, Geothermie, Energie + aus Biomasse) für die Energieversorgung im Gebäude eingesetzt + werden. Am Primärenergiebedarf können Verbraucher erkennen, wie + umweltfreundlich ihr Gebäude ist. +

-

Was ist ein Energieausweis?

- +

Fazit – Verbrauchsausweis / Bedarfsausweis

+

+ Geht es um den tatsächlichen Verbrauch der Energie, der den Aufwand + für Heizung und zentrale Warmwasserbereitung der vergangenen drei + Jahre berücksichtigt, wird der Energieverbrauchskennwert für den Verbrauchsausweis ermittelt. Bei gewerblichen Objekten wird + zusätzlich der Verbrauch für Beleuchtung und Klimatisierung mit eingerechnet. +

+

+ Für das Ausstellen des Bedarfsausweises wird der rechnerische + Energiebedarf unter standardisierten Randbedingungen benötigt. Daten + rund um Bausubstanz, Gebäudehülle und Heizanlage fließen in die + Berechnung mit ein. Bedarfsausweise widerspiegeln die tatsächliche + energetische Qualität eines Gebäudes damit wesentlich besser als die + Verbrauchsausweise. +

+
- +
+

Energieausweis online erstellen

+

+ Soll Wohneigentum veräußert oder bauliches Teileigentum zum Erwerb + angeboten werden, muss dem möglichen Käufer oder Leasingnehmer auf + Verlangen unverzüglich ein Energieausweis vorgelegt werden. In den meisten Fällen ist hier ein Verbrauchsausweis ausreichend. +

+

+ Auch Mietern oder Pächtern soll der Energieausweis unmittelbaren + Aufschluss über die energetischen Bedingungen des Gebäudes + aufzeigen.Kommt der Anbieter der offerierten Immobilie diesem + Auftrag nach der Energieeinsparverordnung nicht nach, drohen + Bußgelder bis zu 15 000 Euro. Als + Ausnahmen (§ 79 GEG) gelten Gebäude mit nicht + mehr als 50 m² Fläche sowie Baudenkmäler. +

+

+ Die Deutsche Energie-Agentur GmbH (dena) empfiehlt bei Wohngebäuden generell den Bedarfsausweis. Er erlaubt + eine nutzerunabhängige Bewertung des Gebäudes. Zusätzlich können bei + der Erstellung eines Bedarfsausweises die Empfehlungen für Modernisierungen + auf der Basis einer technischen Analyse des Gebäudes ermittelt werden. +

+
+

Was ist ein Energieausweis?

+ + + - - - - diff --git a/src/testing/daten-umziehen.ts b/src/testing/daten-umziehen.ts index 936a1b38..40766b78 100644 --- a/src/testing/daten-umziehen.ts +++ b/src/testing/daten-umziehen.ts @@ -6,6 +6,8 @@ import * as fs from "fs"; import { fileURLToPath } from "url"; import { hashPassword } from "#lib/password.js"; import Papa from "papaparse" +import { generatePrefixedId } from "#lib/db.js"; +import { VALID_UUID_PREFIXES } from "#lib/constants.js"; const saveUserMap = () => { fs.writeFileSync( @@ -24,7 +26,6 @@ const file = fs.createReadStream(path, "utf8"); Papa.parse(file, { header: true, step: async function(results) { - await prisma.$transaction(async (tx) => { const dataset = results.data as any; if (dataset.id in processed) { @@ -37,7 +38,7 @@ Papa.parse(file, { console.log(`Missing user ${user_id}`); if (dataset.email) { - user = await tx.benutzer.findUnique({ + user = await prisma.benutzer.findUnique({ where: { email: dataset.email } @@ -45,8 +46,11 @@ Papa.parse(file, { if (!user) { - user = await tx.benutzer.create({ + const id = generatePrefixedId(6, VALID_UUID_PREFIXES.User) + + user = await prisma.benutzer.create({ data: { + id, email: dataset.email, passwort: hashPassword(Math.random().toString(36).slice(-8)), adresse: dataset.strasse, @@ -60,13 +64,13 @@ Papa.parse(file, { }); } - newUserIdMap[user_id] = user.uid; + newUserIdMap[user_id] = user.id; saveUserMap(); } } else { - user = await tx.benutzer.findUnique({ + user = await prisma.benutzer.findUnique({ where: { - uid: newUserIdMap[user_id], + id: newUserIdMap[user_id], }, }); } @@ -77,22 +81,27 @@ Papa.parse(file, { return } - const objekt = await tx.objekt.create({ + const objekt_id = generatePrefixedId(6, VALID_UUID_PREFIXES.Objekt) + const objekt = await prisma.objekt.create({ data: { + id: objekt_id, adresse: dataset.objekt_strasse, erstellungsdatum: moment(dataset.erstellungsdatum).toDate(), ort: dataset.objekt_ort, plz: dataset.objekt_plz, benutzer: { connect: { - uid: user.uid, + id: user.id, }, }, }, }); - const aufnahme = await tx.aufnahme.create({ + const aufnahme_id = generatePrefixedId(6, VALID_UUID_PREFIXES.Objekt) + + const aufnahme = await prisma.aufnahme.create({ data: { + id: aufnahme_id, alternative_heizung: dataset.alheizung == "1", alternative_kuehlung: dataset.alkuehlung == "1", alternative_lueftung: dataset.allueftung == "1", @@ -100,13 +109,12 @@ Papa.parse(file, { aussenwand_gedaemmt: dataset.aussenwand_gedaemmt == "1", aussenwand_min_12cm_gedaemmt: dataset.aussenwand_min_12cm_gedaemmt == "1", - ausstellungsdatum: moment(dataset.erstellungsdatum).toDate(), baujahr_gebaeude: parseInt(dataset.baujahr_gebaeude) ? [parseInt(dataset.baujahr_gebaeude)] : [], baujahr_heizung: parseInt(dataset.baujahr_anlage) ? [parseInt(dataset.baujahr_anlage)] : [], baujahr_klima: parseInt(dataset.baujahr_klimaanlage) ? [parseInt(dataset.baujahr_klimaanlage)] : [], benutzer: { connect: { - uid: user.uid, + id: user.id, }, }, objekt: { @@ -114,8 +122,6 @@ Papa.parse(file, { id: objekt.id, }, }, - brennstoff_1: dataset.energietraeger_1, - brennstoff_2: dataset.energietraeger_2, dachgeschoss: dataset.dachgeschoss == "Beheizt" ? Enums.Heizungsstatus.BEHEIZT @@ -183,7 +189,6 @@ Papa.parse(file, { dataset.warmwasser_rohre_gedaemmt == "1", zentralheizung: dataset.zentralheizung == "1", zirkulation: dataset.zirkulation == "1", - boxpruefung: dataset.boxpruefung == "1", }, }); @@ -199,12 +204,14 @@ Papa.parse(file, { "heizung": Enums.BilderKategorie.Heizung } - const img = await tx.bild.create({ + const id = generatePrefixedId(6, VALID_UUID_PREFIXES.Bild) + const img = await prisma.bild.create({ data: { + id, kategorie: categoryMap[kategorie as keyof typeof categoryMap], aufnahme: { connect: { - uid: aufnahme.uid + id: aufnahme.id } }, name: image @@ -214,9 +221,9 @@ Papa.parse(file, { } if (dataset.ausweisart === "VA") { - const ausweis = await tx.verbrauchsausweisWohnen.create({ + const ausweis = await prisma.verbrauchsausweisWohnen.create({ data: { - alte_ausweis_id: parseInt(dataset.id), + id: VALID_UUID_PREFIXES.VerbrauchsausweisWohnen + dataset.id, alternative_heizung: dataset.alheizung == "1", alternative_kuehlung: dataset.alkuehlung == "1", alternative_lueftung: dataset.allueftung == "1", @@ -249,7 +256,7 @@ Papa.parse(file, { storniert: dataset.erledigt == "4", benutzer: { connect: { - uid: user.uid, + id: user.id, }, }, kontrolldatei_angefragt: dataset.kontrolldatei == "1", @@ -279,12 +286,18 @@ Papa.parse(file, { zurueckgestellt: dataset.zurueckGestellt == "1", zusaetzliche_heizquelle: dataset.zusaetzliche_heizquelle == "1", + ausstellungsdatum: moment(dataset.bestelldatum).isValid() ? moment(dataset.bestelldatum).toDate() : new Date(), + ausweistyp: Enums.AusweisTyp.Standard, + brennstoff_1: dataset.energietraeger_1, + brennstoff_2: dataset.energietraeger_2, + boxpruefung: dataset.boxpruefung == "1", + created_at: moment(dataset.erstellungsdatum).toDate(), }, }); } else if (dataset.ausweisart === "VANW") { - const ausweis = await tx.verbrauchsausweisGewerbe.create({ + const ausweis = await prisma.verbrauchsausweisGewerbe.create({ data: { - alte_ausweis_id: parseInt(dataset.id), + id: VALID_UUID_PREFIXES.VerbrauchsausweisGewerbe + dataset.id, alternative_heizung: dataset.alheizung == "1", alternative_kuehlung: dataset.alkuehlung == "1", alternative_lueftung: dataset.allueftung == "1", @@ -317,7 +330,7 @@ Papa.parse(file, { storniert: dataset.erledigt == "4", benutzer: { connect: { - uid: user.uid, + id: user.id, }, }, kontrolldatei_angefragt: dataset.kontrolldatei == "1", @@ -358,13 +371,17 @@ Papa.parse(file, { warmwasser_enthalten: dataset.warmwasser_enthalten == "1", zurueckgestellt: dataset.zurueckGestellt == "1", zusaetzliche_heizquelle: - dataset.zusaetzliche_heizquelle == "1" + dataset.zusaetzliche_heizquelle == "1", + ausstellungsdatum: moment(dataset.bestelldatum).isValid() ? moment(dataset.bestelldatum).toDate() : new Date(), + ausweistyp: Enums.AusweisTyp.Standard, + boxpruefung: dataset.boxpruefung == "1", + created_at: moment(dataset.erstellungsdatum).toDate(), }, }); } else if (dataset.ausweisart === "BA") { - const ausweis = await tx.bedarfsausweisWohnen.create({ + const ausweis = await prisma.bedarfsausweisWohnen.create({ data: { - alte_ausweis_id: parseInt(dataset.id), + id: VALID_UUID_PREFIXES.BedarfsausweisWohnen + dataset.id, alternative_heizung: dataset.alheizung == "1", alternative_kuehlung: dataset.alkuehlung == "1", alternative_lueftung: dataset.allueftung == "1", @@ -389,7 +406,7 @@ Papa.parse(file, { storniert: dataset.erledigt == "4", benutzer: { connect: { - uid: user.uid, + id: user.id, }, }, kontrolldatei_angefragt: dataset.kontrolldatei == "1", @@ -443,17 +460,17 @@ Papa.parse(file, { waerme_erzeugung_heizung: dataset.waerme_erzeugung_heizung, warmwasser_erzeugung: dataset.warmwasser_erzeugung, warmwasser_speicherung: dataset.warmwasser_speicherung, - warmwasser_verteilung: dataset.warmwasser_verteilung + warmwasser_verteilung: dataset.warmwasser_verteilung, + ausstellungsdatum: moment(dataset.bestelldatum).isValid() ? moment(dataset.bestelldatum).toDate() : new Date(), + ausweistyp: Enums.AusweisTyp.Standard, + boxpruefung: dataset.boxpruefung == "1", + created_at: moment(dataset.erstellungsdatum).toDate(), }, }); } processed[dataset.id as string] = true; saveProcessed() - }, { - maxWait: 5000, - timeout: 10000 - }); }, complete(results, file) { saveProcessed() diff --git a/src/testing/new-ausweis-id-map.json b/src/testing/new-ausweis-id-map.json index 06a9090c..07cb8f0f 100644 --- a/src/testing/new-ausweis-id-map.json +++ b/src/testing/new-ausweis-id-map.json @@ -1 +1 @@ -{"12361721":true,"12361723":true,"12361728":true,"12361729":true,"12361730":true,"12361731":true,"12361732":true,"12361735":true,"12361737":true,"12361743":true,"12361744":true,"12361750":true,"12361758":true,"12361759":true,"12361762":true,"12361763":true,"12361772":true,"12361774":true,"12361793":true,"12361799":true,"12361815":true,"12361816":true,"12361817":true,"12361818":true,"12361820":true,"12361823":true,"12361824":true,"12361826":true,"12361827":true,"12361828":true,"12361829":true,"12361831":true,"12361832":true,"12361833":true,"12361834":true,"12361835":true,"12361836":true,"12361837":true,"12361838":true,"12361840":true,"12361841":true,"12361842":true,"12361843":true,"12361844":true,"12361845":true,"12361846":true,"12361847":true,"12361848":true,"12361849":true,"12361850":true,"12361851":true,"12361852":true,"12361853":true,"12361854":true,"12361855":true,"12361856":true,"12361857":true,"12361858":true,"12361859":true,"12361860":true,"12361861":true,"12361862":true,"12361863":true,"12361864":true,"12361865":true,"12361866":true,"12361867":true,"12361868":true,"12361869":true,"12361870":true,"12361871":true,"12361872":true,"12361873":true,"12361874":true,"12361875":true,"12361876":true,"12361877":true,"12361878":true,"12361879":true,"12361880":true,"12361881":true,"12361882":true,"12361883":true,"12361884":true,"12361885":true,"12361886":true,"12361887":true,"12361888":true,"12361889":true,"12361890":true,"12361891":true,"12361892":true,"12361893":true,"12361894":true,"12361896":true,"12361897":true,"12361898":true,"12361899":true,"12361901":true,"12361902":true,"12361903":true,"12361904":true,"12361905":true,"12361906":true,"12361907":true,"12361908":true,"12361909":true,"12361910":true,"12361911":true,"12361912":true,"12361913":true,"12361914":true,"12361915":true,"12361916":true,"12361917":true,"12361918":true,"12361919":true,"12361920":true,"12361921":true,"12361922":true,"12361923":true,"12361924":true,"12361925":true,"12361926":true,"12361927":true,"12361928":true,"12361929":true,"12361930":true,"12361931":true,"12361932":true,"12361933":true,"12361934":true,"12361935":true,"12361936":true,"12361937":true,"12361938":true,"12361939":true,"12361940":true,"12361941":true,"12361942":true,"12361943":true,"12361944":true,"12361945":true,"12361946":true,"12361947":true,"12361948":true,"12361949":true,"12361950":true,"12361951":true,"12361952":true,"12361953":true,"12361954":true,"12361955":true,"12361956":true,"12361957":true,"12361958":true,"12361959":true,"12361960":true,"12361961":true,"12361962":true,"12361963":true,"12361964":true,"12361965":true,"12361966":true,"12361967":true,"12361968":true,"12361969":true,"12361970":true,"12361971":true,"12361972":true,"12361973":true,"12361974":true,"12361975":true,"12361976":true,"12361977":true,"12361978":true,"12361979":true,"12361980":true,"12361981":true,"12361982":true,"12361983":true,"12361984":true,"12361985":true,"12361986":true,"12361987":true,"12361988":true,"12361989":true,"12361990":true,"12361991":true,"12361992":true,"12361993":true,"12361994":true,"12361995":true,"12361996":true,"12361997":true,"12361998":true,"12361999":true,"12362002":true,"12362003":true,"12362004":true,"12362005":true,"12362007":true,"12362010":true,"12362012":true,"12362013":true,"12362015":true,"12362017":true,"12362019":true,"12362020":true,"12362022":true,"12362023":true,"12362024":true,"12362025":true,"12362026":true,"12362027":true,"12362028":true,"12362029":true,"12362030":true,"12362031":true,"12362032":true,"12362033":true,"12362034":true,"12362035":true} \ No newline at end of file +{"12361536":true,"12361537":true,"12361538":true,"12361539":true,"12361540":true,"12361541":true,"12361542":true,"12361543":true,"12361544":true,"12361545":true,"12361546":true,"12361547":true,"12361548":true,"12361549":true,"12361550":true,"12361551":true,"12361552":true,"12361553":true,"12361554":true,"12361555":true,"12361556":true,"12361557":true,"12361558":true,"12361559":true,"12361560":true,"12361561":true,"12361562":true,"12361563":true,"12361564":true,"12361565":true,"12361566":true,"12361567":true,"12361568":true,"12361569":true,"12361570":true,"12361571":true,"12361572":true,"12361573":true,"12361574":true,"12361575":true,"12361576":true,"12361577":true,"12361578":true,"12361579":true,"12361580":true,"12361581":true,"12361582":true,"12361583":true,"12361584":true,"12361585":true,"12361586":true,"12361587":true,"12361588":true,"12361589":true,"12361590":true,"12361591":true,"12361592":true,"12361593":true,"12361595":true,"12361597":true,"12361598":true,"12361599":true,"12361600":true,"12361601":true,"12361602":true,"12361603":true,"12361604":true,"12361605":true,"12361606":true,"12361607":true,"12361608":true,"12361609":true,"12361610":true,"12361611":true,"12361612":true,"12361613":true,"12361614":true,"12361615":true,"12361616":true,"12361617":true,"12361618":true,"12361619":true,"12361620":true,"12361621":true,"12361622":true,"12361623":true,"12361624":true,"12361625":true,"12361626":true,"12361627":true,"12361628":true,"12361629":true,"12361630":true,"12361631":true,"12361632":true,"12361633":true,"12361634":true,"12361635":true,"12361636":true,"12361637":true,"12361638":true,"12361639":true,"12361640":true,"12361641":true,"12361642":true,"12361643":true,"12361644":true,"12361645":true,"12361646":true,"12361647":true,"12361648":true,"12361649":true,"12361650":true,"12361651":true,"12361652":true,"12361653":true,"12361654":true,"12361655":true,"12361656":true,"12361657":true,"12361658":true,"12361659":true,"12361660":true,"12361661":true,"12361662":true,"12361663":true,"12361664":true,"12361665":true,"12361666":true,"12361667":true,"12361668":true,"12361669":true,"12361670":true,"12361671":true,"12361673":true,"12361674":true,"12361675":true,"12361676":true,"12361677":true,"12361678":true,"12361679":true,"12361680":true,"12361681":true,"12361682":true,"12361683":true,"12361684":true,"12361685":true,"12361686":true,"12361687":true,"12361688":true,"12361689":true,"12361690":true,"12361691":true,"12361692":true,"12361693":true,"12361694":true,"12361695":true,"12361696":true,"12361697":true,"12361698":true,"12361699":true,"12361700":true,"12361701":true,"12361702":true,"12361703":true,"12361704":true,"12361705":true,"12361706":true,"12361707":true,"12361708":true,"12361709":true,"12361710":true,"12361711":true,"12361712":true,"12361713":true,"12361714":true,"12361715":true,"12361716":true,"12361718":true,"12361719":true,"12361720":true,"12361721":true,"12361722":true,"12361723":true,"12361724":true,"12361725":true,"12361726":true,"12361727":true,"12361728":true,"12361729":true,"12361730":true,"12361731":true,"12361732":true,"12361733":true,"12361734":true,"12361735":true,"12361736":true,"12361737":true,"12361738":true,"12361739":true,"12361740":true,"12361741":true,"12361742":true,"12361743":true,"12361744":true,"12361745":true,"12361746":true,"12361747":true,"12361748":true,"12361749":true,"12361750":true,"12361751":true,"12361752":true,"12361753":true,"12361754":true,"12361755":true,"12361756":true,"12361757":true,"12361758":true,"12361759":true,"12361760":true,"12361761":true,"12361762":true,"12361763":true,"12361764":true,"12361765":true,"12361766":true,"12361767":true,"12361768":true,"12361769":true,"12361770":true,"12361771":true,"12361772":true,"12361773":true,"12361774":true,"12361775":true,"12361776":true,"12361777":true,"12361778":true,"12361779":true,"12361780":true,"12361781":true,"12361782":true,"12361783":true,"12361784":true,"12361785":true,"12361786":true,"12361787":true,"12361788":true,"12361789":true,"12361790":true,"12361791":true,"12361792":true,"12361793":true,"12361794":true,"12361795":true,"12361796":true,"12361797":true,"12361798":true,"12361799":true,"12361800":true,"12361801":true,"12361802":true,"12361803":true,"12361804":true,"12361805":true,"12361806":true,"12361807":true,"12361808":true,"12361809":true,"12361810":true,"12361811":true,"12361812":true,"12361813":true,"12361814":true,"12361815":true,"12361816":true,"12361817":true,"12361818":true,"12361819":true,"12361820":true,"12361821":true,"12361822":true,"12361823":true,"12361824":true,"12361825":true,"12361826":true,"12361827":true,"12361828":true,"12361829":true,"12361830":true,"12361831":true,"12361832":true,"12361833":true,"12361834":true,"12361835":true,"12361836":true,"12361837":true,"12361838":true,"12361839":true,"12361840":true,"12361841":true,"12361842":true,"12361843":true,"12361844":true,"12361845":true,"12361846":true,"12361847":true,"12361848":true,"12361849":true,"12361850":true,"12361851":true,"12361852":true,"12361853":true,"12361854":true,"12361855":true,"12361856":true,"12361857":true,"12361858":true,"12361859":true,"12361860":true,"12361861":true,"12361862":true,"12361863":true,"12361864":true,"12361865":true,"12361866":true,"12361867":true,"12361868":true,"12361869":true,"12361870":true,"12361871":true,"12361872":true,"12361873":true,"12361874":true,"12361875":true,"12361876":true,"12361877":true,"12361878":true,"12361879":true,"12361880":true,"12361881":true,"12361882":true,"12361883":true,"12361884":true,"12361885":true,"12361886":true,"12361887":true,"12361888":true,"12361889":true,"12361890":true,"12361891":true,"12361892":true,"12361893":true,"12361894":true,"12361895":true,"12361896":true,"12361897":true,"12361898":true,"12361899":true,"12361900":true,"12361901":true,"12361902":true,"12361903":true,"12361904":true,"12361905":true,"12361906":true,"12361907":true,"12361908":true,"12361909":true,"12361910":true,"12361911":true,"12361912":true,"12361913":true,"12361914":true,"12361915":true,"12361916":true,"12361917":true,"12361918":true,"12361919":true,"12361920":true,"12361921":true,"12361922":true,"12361923":true,"12361924":true,"12361925":true,"12361926":true,"12361927":true,"12361928":true,"12361929":true,"12361930":true,"12361931":true,"12361932":true,"12361933":true,"12361934":true,"12361935":true,"12361936":true,"12361937":true,"12361938":true,"12361939":true,"12361940":true,"12361941":true,"12361942":true,"12361943":true,"12361944":true,"12361945":true,"12361946":true,"12361947":true,"12361948":true,"12361949":true,"12361950":true,"12361951":true,"12361952":true,"12361953":true,"12361954":true,"12361955":true,"12361956":true,"12361957":true,"12361958":true,"12361959":true,"12361960":true,"12361961":true,"12361962":true,"12361963":true,"12361964":true,"12361965":true,"12361966":true,"12361967":true,"12361968":true,"12361969":true,"12361970":true,"12361971":true,"12361972":true,"12361973":true,"12361974":true,"12361975":true,"12361976":true,"12361977":true,"12361978":true,"12361979":true,"12361980":true,"12361981":true,"12361982":true,"12361983":true,"12361984":true,"12361985":true,"12361986":true,"12361987":true,"12361988":true,"12361989":true,"12361990":true,"12361991":true,"12361992":true,"12361993":true,"12361994":true,"12361995":true,"12361996":true,"12361997":true,"12361998":true,"12361999":true,"12362000":true,"12362001":true,"12362002":true,"12362003":true,"12362004":true,"12362005":true,"12362006":true,"12362007":true,"12362008":true,"12362009":true,"12362010":true,"12362011":true,"12362012":true,"12362013":true,"12362014":true,"12362015":true,"12362016":true,"12362017":true,"12362018":true,"12362019":true,"12362020":true,"12362021":true,"12362022":true,"12362023":true,"12362024":true,"12362025":true,"12362026":true,"12362027":true,"12362028":true,"12362029":true,"12362030":true,"12362031":true,"12362032":true,"12362033":true,"12362034":true,"12362035":true} \ No newline at end of file diff --git a/src/testing/new-user-id-map.json b/src/testing/new-user-id-map.json index 53f6dec9..4cefe031 100644 --- a/src/testing/new-user-id-map.json +++ b/src/testing/new-user-id-map.json @@ -1 +1 @@ -{"513185":"usr-cbb3b645-e0dd-42a7-bf14-9c299d7868be","514361":"usr-7beda71c-0fc1-49bd-a003-cf3207281cb3","527029":"usr-2918aa16-463b-48b5-8fa5-9662e1e555db","529214":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","529414":"usr-acf4b667-b2df-4e78-8a47-3314e8627e18","530180":"usr-96ec8cad-e08c-4827-a70d-5b12b7962200","534784":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","537750":"usr-bac2b94c-9457-4903-8a3e-815e6fd5f678","538260":"usr-98962f4b-f1b6-4b81-b6ad-a911d9b554fd","539126":"usr-e3fd5f52-20b1-43ac-8938-e568e07d05a1","540195":"usr-242a4fb5-006b-47b8-bfb5-91122452913f","540379":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","540406":"usr-e4c52daf-3640-49ee-b900-a79aebf5d9c9","541373":"usr-8b8c4960-0c44-4849-9d29-340ca073c34e","541430":"usr-d378a408-f6db-4ea6-a091-0aa8db026449","542174":"usr-b4fb5b07-6333-4128-aa8c-6b8aec0d8bb2","543143":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","545199":"usr-a6117fa3-9f20-4f62-bb3a-8a43a533f051","546049":"usr-134faed1-fd6e-47a5-b85a-087fa947bd0a","548678":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","548815":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","549605":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","550502":"usr-f8fee0d1-2992-4299-8669-60901ef0206c","551372":"usr-f869e550-26c7-493e-a862-bfe5d8ca36db","551993":"usr-32b47285-2684-48cd-8efb-adb6154cccee","552045":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","552584":"usr-6a552a0c-4e9e-493d-9197-775be40f0287","552793":"usr-9bba1697-f5e7-4a5b-9643-98832779cf9c","569227":"usr-754c87e7-b9f3-4839-8346-2823aeb79417","569251":"usr-b0780996-cc6a-4153-bed8-efd481f453f7","570862":"usr-23e3eb21-427d-43c5-9a9a-6c6d97fe7602","571331":"usr-b0780996-cc6a-4153-bed8-efd481f453f7","571505":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","572829":"usr-5d7b44b2-e0d4-4ad7-9463-06f870945c7d","572958":"usr-afe3d9c6-90e6-4ec1-9d55-87e700a51d18","575156":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","575773":"usr-09251ce8-39df-4e02-9322-f0e46d16f6a0","575962":"usr-ff97cb7b-8542-40c7-b503-2a46e205925d","575985":"usr-4ab1b324-1b94-4530-b920-e300ecbf642c","576082":"usr-8d0f85d1-bb99-4de9-b8f1-628627200167","576531":"usr-4b9e94fc-31c1-4db9-8c57-d7a42d34b8c1","576602":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","576603":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","576629":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","576659":"usr-14a0a811-c6f1-4500-a99b-10d5402f621d","576775":"usr-11306d61-8d66-4c59-818b-95dd55cac151","576786":"usr-bcbf33ac-7404-421e-b4e0-b99d042d846a","576804":"usr-451a3aa5-d6c7-4ca2-9057-bb04e86ddbd7","576856":"usr-7c8ec0b3-db80-4c6e-97c4-a46971afcdaf","576883":"usr-a6c2b43d-9736-481d-99d9-901979d1648a","576913":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","576918":"usr-9c52669f-5341-4469-bbf6-d7105a88bda9","576919":"usr-b0780996-cc6a-4153-bed8-efd481f453f7","576922":"usr-88a454c7-63ad-4403-ae88-3c4644235437","576926":"usr-43499b89-a92d-48c8-a02f-9269923d77d5","576928":"usr-d274c4df-eab1-417f-a988-50517d8c170d","576929":"usr-c88bdcb8-5916-40e6-872d-c0b58dd7b5e1","576930":"usr-d1017c5b-b26d-45e2-97a3-18c994c69c1a","576932":"usr-24cfb50a-ca10-48f0-97f0-629bd289d50d","576933":"usr-f331bf2c-91b1-4333-8d24-2b16bafdfd4b","576934":"usr-23e7c7a6-0053-457b-ac58-6b01f0e3ae17","576935":"usr-b0780996-cc6a-4153-bed8-efd481f453f7","576936":"usr-ea0aa90b-2f52-425f-9e43-5426329ac860","576937":"usr-52b66bf0-a8e1-406a-b25e-f79787d15f57","576938":"usr-fffaed55-65c2-44bc-b195-49f21d0bbe5c","576939":"usr-b0780996-cc6a-4153-bed8-efd481f453f7","576940":"usr-563a8434-eb58-4d93-a83f-a6cbcd21955d","576941":"usr-39b1d043-8f8d-44b0-92a9-4640ca2ba1e5","576942":"usr-735a0557-8678-41d0-a490-2bb3382de4f9","576943":"usr-badee0ad-996f-437c-9e8b-96c6eb47207d","576944":"usr-a97904d3-560a-480a-ae84-22a8f3edb2eb","576946":"usr-272c6da7-ed4f-450a-a53b-1221ae9a42dc","576947":"usr-b0780996-cc6a-4153-bed8-efd481f453f7","576948":"usr-3fd3618a-7005-4a2b-94f9-8bda8e0aaea5","576949":"usr-919afa8a-66ce-4b8e-a0ff-4d522446ac36","576950":"usr-1965cf58-7da1-4611-9e2a-af62b4012fa9","576951":"usr-e0009dc9-6008-4f97-9261-24ec4cca79e1","576952":"usr-fde5a943-d5d5-45fb-bc66-c177825d25c5","576953":"usr-075e9718-976d-40a3-8f2f-06b4e163decf","576954":"usr-b0780996-cc6a-4153-bed8-efd481f453f7","576955":"usr-74228fb7-db32-42d4-ad3d-a7f872b1db32","576956":"usr-cff6e14c-ce85-4ab8-8d24-1dc6c991c1c7","576957":"usr-63d38f8f-3c98-4e87-a039-103a23f91ea0","576958":"usr-b0780996-cc6a-4153-bed8-efd481f453f7","576959":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","576960":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","576961":"usr-7d676b59-2bf7-4bf8-9ea3-61ef786a3d27","576962":"usr-c7644a6e-aa6f-4bff-8352-48cce2982a9d","576963":"usr-6dcf0924-e778-464b-a112-8fd75fe1e438","576964":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","576965":"usr-83516a85-6452-4bcc-99ab-45cdb45edd88","576966":"usr-765fda2b-bb39-4cd9-8d29-5e400ac90914","576967":"usr-f0fe0250-76f7-4991-9448-719d2c90eb0b","576968":"usr-e2425d72-69b5-4861-aacb-e2409af16524","576969":"usr-2ffd0277-8be9-40aa-962e-624fba9bb80c","576970":"usr-95f0c03a-1ad3-424f-954d-5c3d0e546463","576971":"usr-0d186eb6-6bc1-49fb-92ab-64927ba13552","576972":"usr-3050e226-da2f-4b52-a3bb-6ec5df75ac4b","576973":"usr-49732e89-0068-4bb3-9794-90109b63a517","576974":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","576975":"usr-5158e3e2-e06f-4822-9ab4-4ea09f2d422d","576976":"usr-5faa150a-e470-44d2-8af7-2edbf40af985","576978":"usr-8f4fcc3d-b8f5-460d-88a8-e73f74232bf3","576979":"usr-f87d748f-3df5-4ad6-9080-64de885e4f1d","576980":"usr-6d7bf77b-da7a-477f-ac4f-c06fca4e1aad","576981":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","576983":"usr-d84f78b6-e01f-4274-87e7-5ed352f9d41a","576984":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","576985":"usr-2293b572-aa3a-4f1e-851e-01a241fcc0ef","576986":"usr-53156f4e-c6f7-41b0-a393-8ca5133076d2","576987":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","576988":"usr-9177d33a-6113-49d9-ac82-d33c4bbc3339","576989":"usr-8f7b275b-6f5e-4769-bd45-e62db14edd8b","576990":"usr-ed3c30ba-bc8a-41a4-acc8-db03ed78f6ed","576991":"usr-3b2c0538-07e9-4f7b-9037-5124d4b9b953","576992":"usr-0b86ab8f-aad2-4d42-96c2-6971a109898f","576993":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","576994":"usr-9d1c28a5-f21b-4ab3-9779-4c1045245b4c","576995":"usr-ff5bc0d7-3aee-4635-91a0-b9c204bc31e5","576996":"usr-b2710f63-c6ed-45ea-876b-10ab677b43cd","576997":"usr-deec0c85-dd84-43e7-9e42-d89bb65cfe74","576998":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","576999":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","577000":"usr-c81c2cde-d94f-4aa2-bcb6-3ab99f66cb97","577001":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","577002":"usr-4a07fc12-e00b-4d0e-8281-a764ba4dadd1","577003":"usr-77449a64-4856-440c-ab3b-a9334b5910f3","577004":"usr-d9eae357-49a0-4588-adcc-2845060f4f26","577005":"usr-4261a6c0-759e-4346-80c3-51ad08302bf4","577006":"usr-ed832ea5-8cb6-4b2e-8410-48bbfc1a34ff","577007":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","577008":"usr-d9de87c6-0733-4603-99e2-e151f4e5fdba","577009":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","577010":"usr-7299cd44-7a99-49d8-915f-85cfacd4fa33","577011":"usr-80d188e8-5ea9-44e5-ad36-63bff73f00dc","577012":"usr-463860ee-59e6-46ed-a82f-a29844c6cd81","577013":"usr-dea2b439-0c5d-4f61-ac50-0e5ffc2d3ea6","577014":"usr-b3049ff9-c3d8-4839-91bd-395600ef6331","577015":"usr-bbdfb9d5-8819-46af-80cf-8c2cae3cdb07","577016":"usr-a9bf8f52-d0f8-4eec-9d19-0453180567de","577017":"usr-b428bbf3-d973-4020-9f56-6ceffcf82aa9","577018":"usr-dcc87fe3-4c8e-4831-89b9-960b86c14509","577020":"usr-88f7296c-b4ed-4369-9430-36f12b15409b","577021":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","577022":"usr-b8794ecb-5de7-4c2b-a2ac-39cf0e5d2687","577023":"usr-35536091-7d5a-4c2f-944c-1f7ce10c4c79","577024":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","577025":"usr-1fad04ca-99ae-4cad-818f-9be2febff5b2","577026":"usr-117bedb0-2200-4a15-a459-4d066ae1dcd0","577027":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","577028":"usr-c1b761d1-a8f0-468d-9d9a-83c78f114dcf","577029":"usr-e317a696-cdbb-4b21-a678-8d49780fe7d4","577030":"usr-07651da7-5c81-4818-9389-1b54c38aaed1","577031":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","577032":"usr-cc449d26-a29f-4a8a-a527-ba223e7196eb","577033":"usr-7c896fa1-d420-44c4-9be7-a8550ff776f9","577034":"usr-94891b25-1d57-4288-8bc2-f61474c4b725","577035":"usr-34fb1be3-2cf2-4b11-aea4-122cbb229ef4","577036":"usr-cf242348-ab68-49db-9485-264a1f0814b8","577037":"usr-d002135a-a6ed-414a-ae4f-e99876024723","577038":"usr-66e5b7f1-ac0f-448c-8137-9c98b5ecd148","577039":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","577040":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","577041":"usr-6129bdb4-8d91-4bbb-ad41-7a49c728cf56","577042":"usr-965f5e85-d949-456f-8d04-0adbb113a840","577043":"usr-1db77c7b-4c7e-485a-88c4-912b0f30602c","577044":"usr-c60dc367-9f34-4116-b5b0-81c6d02d6207","577045":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","577046":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921","NULL":"usr-44fb7f36-e641-4ccf-a5c5-00b11c321921"} \ No newline at end of file +{"512184":"USSN4GRK","513185":"USWFTFCI","514361":"USY1MN6Z","521061":"USUX6LNU","527029":"USEI2UBC","528406":"US9FBB71","529214":"US5G6B2D","529414":"USQYCZUA","530180":"US52P5LF","532940":"US6UFRCZ","534784":"US5G6B2D","537750":"USQ8F3A1","538002":"USISS87K","538260":"US54RJBS","539126":"USADHKFC","540195":"USQ8BTUH","540379":"US5G6B2D","540406":"USA9WKA8","541373":"US7MEVP9","541430":"USP6OZP2","541716":"US92DI9B","542174":"US69I3PL","542860":"USASJK2O","543143":"US5G6B2D","543714":"US1PWS5U","545199":"USGAQXV5","545365":"USH35ATK","546049":"US34169T","546572":"US5G6B2D","547459":"US5G6B2D","547667":"US5G6B2D","547773":"USMCLIQ5","548317":"USB3OUWY","548678":"US5G6B2D","548815":"US5G6B2D","549605":"US5G6B2D","550502":"USP6WTLC","551372":"USAIS9FS","551563":"USQCA3IB","551934":"US5G6B2D","551993":"US66AXHN","552045":"US5G6B2D","552584":"USO9NJNR","552793":"USUX6LNU","569227":"USP1XF5U","569251":"US5G6B2D","570862":"US8UM1V7","571331":"US5G6B2D","571505":"US5G6B2D","572637":"US9KOGRV","572829":"USCJ7SJT","572958":"USO8OKIT","573508":"USOZPXZS","574589":"US8LR8ML","574897":"USURCF3U","575156":"US5G6B2D","575461":"US5G6B2D","575710":"USLXEMP3","575773":"USHDOTP3","575807":"USIY257T","575924":"USLX2O15","575962":"USDXMGFL","575985":"USF7Z3QQ","576082":"USQ1SQST","576311":"US52LI1F","576511":"USUX6LNU","576531":"US5K5V49","576539":"US6OVPBC","576571":"US5G6B2D","576602":"US5G6B2D","576603":"US5G6B2D","576629":"US5G6B2D","576659":"USLV5QDE","576775":"US8E7JV9","576780":"US5G6B2D","576786":"USXK8C8E","576804":"USO3OKS2","576817":"US5G6B2D","576834":"USIPSHRW","576856":"USX65JYC","576860":"USUX6LNU","576861":"USOBMUW2","576863":"USGJTAU7","576864":"USLINXPG","576865":"USX4MJLI","576866":"US83YPTW","576867":"USDAVVT5","576868":"US828MZD","576869":"USRCFX86","576870":"USPGYCS3","576871":"US4GLD57","576872":"USY1IE27","576873":"USQY9JLT","576874":"US7RIF2T","576875":"USV4K1AU","576876":"US8IND2E","576878":"USUX6LNU","576879":"USJ4QJRL","576880":"USC1LGHO","576881":"USDTAPM5","576882":"US7HE8V6","576883":"US5G6B2D","576884":"US7V5VWR","576885":"USGSLVAM","576886":"US7IEN98","576887":"US5EQW88","576888":"USXG6BU3","576889":"USI4M6FS","576890":"USTRCOY6","576891":"US7F2PWP","576892":"US6W919Y","576893":"USMS1EOP","576894":"US5G6B2D","576895":"US5G6B2D","576896":"US3MRJO7","576897":"US89RT2Z","576898":"USR41LRP","576899":"US6OS52U","576900":"USRREHVD","576901":"USKXKB17","576902":"USKUYKHZ","576903":"USQEC8BW","576904":"US3NVNS8","576905":"USUX6LNU","576906":"USOA9M1P","576907":"USRZ5XTW","576908":"USHUT1BI","576909":"USEGOLXK","576910":"USEYGTZR","576911":"USLYBAPW","576912":"USPODNG9","576913":"US5G6B2D","576914":"USPZWWCO","576915":"US3EOU4M","576916":"USPNJ3L8","576917":"US5G6B2D","576918":"USYWSFSG","576919":"US5G6B2D","576920":"USUX6LNU","576921":"US51NE14","576922":"USZAG6HF","576923":"USI33IYO","576924":"UST38GYG","576925":"US9QM1ZU","576926":"US3X8TPM","576927":"US5G6B2D","576928":"USCUDIRJ","576929":"USMC76U1","576930":"USXF5K74","576931":"USC6DIRS","576932":"US73H3SR","576933":"USE8S392","576934":"USVL1Q3F","576935":"US5G6B2D","576936":"US9OMXR3","576937":"US3L6BE3","576938":"USAX4KKE","576939":"US5G6B2D","576940":"US3PWYBO","576941":"US7JXPHC","576942":"US3CP4QK","576943":"US3NIS58","576944":"USM3VP2J","576946":"USPKDNYH","576947":"US5G6B2D","576948":"US3CFNXB","576949":"USVIPBKP","576950":"US82IVC1","576951":"USVO8A8F","576952":"USD6D7L1","576953":"USTNV5AC","576954":"US5G6B2D","576955":"USX32F74","576956":"USVLIXU7","576957":"USPSHU7J","576958":"US5G6B2D","576959":"US5G6B2D","576960":"US5G6B2D","576961":"USHUFVPI","576962":"US76YZYB","576963":"USEWDYLZ","576964":"US5G6B2D","576965":"USMHMQ1O","576966":"USX3DR7R","576967":"USFPPO1Q","576968":"USUIXZ2X","576969":"USL9OR3S","576970":"USLCH8EP","576971":"US96UJHV","576972":"USNRZJ7O","576973":"USGPTVNC","576974":"US4GRFLY","576975":"USNC2E7Z","576976":"US9O297O","576978":"USOPATMA","576979":"US4RNCX1","576980":"USNT1RR5","576981":"US5G6B2D","576983":"USS6WPWU","576984":"US5G6B2D","576985":"USJLEPQP","576986":"USTQ7BRH","576987":"US5G6B2D","576988":"USSJ3KSG","576989":"USGQ3XK1","576990":"USRPPCP2","576991":"USWZZ7E6","576992":"USNVAQPQ","576993":"US5G6B2D","576994":"USVS299I","576995":"USWVB46X","576996":"USPO22HS","576997":"US8IDSWM","576998":"US5G6B2D","576999":"US5G6B2D","577000":"US8FHYTS","577001":"US5G6B2D","577002":"US97F741","577003":"USWA7KW4","577004":"USQF52IM","577005":"USEZ3TXE","577006":"USYF81UP","577007":"US5G6B2D","577008":"US5VO3I6","577009":"US5G6B2D","577010":"USSBF3GN","577011":"USITWFIU","577012":"USFS1RFN","577013":"US23ZEY7","577014":"US3CI7EV","577015":"USKIHOIA","577016":"USX9R78T","577017":"USWW591E","577018":"USI5ZNJF","577020":"US493JV3","577021":"US5G6B2D","577022":"USD9YYCB","577023":"USHEIVR1","577024":"US5G6B2D","577025":"USU5P9E4","577026":"USHM37G7","577027":"US5G6B2D","577028":"USJY4LR1","577029":"US42CSUU","577030":"USZIP5K6","577031":"US5G6B2D","577032":"USTYPN99","577033":"USVJL7JG","577034":"US8ONCFE","577035":"USW7NXL4","577036":"US6MPXY4","577037":"US9Y73TW","577038":"USZAKM7A","577039":"US5G6B2D","577040":"US5G6B2D","577041":"USC1S97B","577042":"USL6BWZW","577043":"USELOWYH","577044":"US629QWV","577045":"US5G6B2D","577046":"US5G6B2D","NULL":"US5G6B2D"} \ No newline at end of file -- 2.49.1 From 86f8a9fba795b1d1c0d30320ca9b5c48e08f58af Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 7 Apr 2025 04:05:00 +0200 Subject: [PATCH 2/2] Ohne Makler --- .../partner/ohne-makler/gewerbegebaeude.svg | 35 ++ .../ohne-makler/hero-energieausweis.jpg | Bin 0 -> 71911 bytes public/images/partner/ohne-makler/immonet.svg | 1 + .../partner/ohne-makler/wohngebaeude.svg | 36 ++ .../WelcherAusweisWidget_ohnemakler.svelte | 390 ++++++++++++++++++ .../ohnemakler/WidgetCardTemplate.svelte | 116 ++++++ .../energieausweis-erstellen/index.astro | 24 +- src/pages/widgets/ohne-makler.astro | 20 + 8 files changed, 621 insertions(+), 1 deletion(-) create mode 100644 public/images/partner/ohne-makler/gewerbegebaeude.svg create mode 100644 public/images/partner/ohne-makler/hero-energieausweis.jpg create mode 100644 public/images/partner/ohne-makler/immonet.svg create mode 100644 public/images/partner/ohne-makler/wohngebaeude.svg create mode 100644 src/components/widgets/ohnemakler/WelcherAusweisWidget_ohnemakler.svelte create mode 100644 src/components/widgets/ohnemakler/WidgetCardTemplate.svelte create mode 100644 src/pages/widgets/ohne-makler.astro diff --git a/public/images/partner/ohne-makler/gewerbegebaeude.svg b/public/images/partner/ohne-makler/gewerbegebaeude.svg new file mode 100644 index 00000000..6d8f132c --- /dev/null +++ b/public/images/partner/ohne-makler/gewerbegebaeude.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/images/partner/ohne-makler/hero-energieausweis.jpg b/public/images/partner/ohne-makler/hero-energieausweis.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b2aea339c798ae66a610a20010502828b74aa3d1 GIT binary patch literal 71911 zcmc$_by!=?);AnzO9d*lxVBI%SaFBm6hiSL2@b^}cyNl;pje=|Lm_ww6nAKGm*8I9 zio1WC-sha}`JQv0>;2yA{o~z9X4cG}z1DBdOlD@SnSC{S^$YY!4k8Ny;oyKkIKT&V zH351Bx`B&({k;Kvf$Qe&TQ`C0F5c~1x9{D>$G>;?-aUf*gbxS^9ueHT_kif(Bf`f| zo;<;SKtw|Hm;|67Uo*kEe)8tcJGXA#c}#GR;PLZ{gj(a~HS`dj!G(px?fE;~xI4+c$3F-T+O+re~^9u1XBDL`6b1C&tvt$gs(#DQEd{ETgqJ}yC zT_@~3z?Tx|pVvR7f^c#Ehy`wn5du|*d-Dd~4Lm%YYmp!j?v2MdHwm8*(W%}de#XVE z@|UC`9tpjX!#2-{FhJ5QFQR|vx!Nn^k5}U$f*XKJgf|F55}?zP^LP8-{w3o75`hb| zH0s9P06yI;_$Bxy1OaV@CJT?+`nZ|sng_nh)60=R`ASZK2O;r;drnY zK(ey|VS8H%TjKk!#6WV2M{S8gc#U9amq+8cNdmOiwuy z-$zGt-((Pb%l3b&HUaS!Xd6mbf= z{}MS}r9d>d8SYC!;+?J=F9?3{;E?y-(fWF?D&xuYhXNI~cs|I7!L^AK^UK1=ukb4# zmot5GD6F_=NqR2PWvVhV>Yzi1!2Jb04qOaGH=+p3p_A`lF`A?#ywe!H^&|f+yUz<@ z84C|iHKK26cz{lb<~*a2LICN2jXfv@eg5gQNMh zQ^}+b(rZa7N_q+74qYuOF`u{hetwVYjj7i0gnAVl2SMU!so4~B)F*Sxp>WUE?hO__ z?U7Ik79FyxAyLley*~MbT#?QVai-An#)~&pSq;{ z=YHy%_wnEO|JNbx@~wu5&Q|ac^9YyFg-SLuHHC5|&K{WoL_tBwoD?!$T^qLJ87W=e zvc8^r^(m=!ikg5;1cE)3{qY@iAfrI&g_L_n`~`Ct~!&GgiF0O*^V z)sk9I!d}q>eer!8whst9t~)ExcYz*^C$*rh1@vGt%|AUB4?^T;vY>hWS9r?JTT*l# zriKaK3Up%MfiPqGmvv6Y?|!noJ7{a$^}b&6i9Wb|?HJ|Za3CvO$}m7cm$DaS zJ9Pz;RK5ZYF0*awOYm?8sa&Ama-9wls3ia7LW5jGX3B zug9EbdE9rew(M_nD<^aXYEcKwfkPP6bM-5bQPdaf#f;4^ z9zsW65BHD5n|_&6`aw5S3|IYpI633olsMqYnZnuq+vvohUzJdac$(}U?xi3U*V}(< zgnwl4!FMP;NX&8_ntnUIdYt%n|*pDIm=ZmCgM96>!iw#ieNQUjsZ_SjNvSe)0SxU z<7zxb1qFL4Euv~s7E94Rk;izf@@i@k;%RFmi%Z!;sx%N*YVj#B$6)#{D4Ig0N}2U%?ZBy6fCh#^ zk&#`7VTde0Q;Xt^9pjR_b@DJQW+RsmE|*ksEc#*tj5vBnLaM!XD!4{X^tDW?tL61% zLD7Md%vd93+9_95S1B+k^3fh9o%^x7*Xl@=(4D{f#AVZvwB((OSFJ?U^;@3WNXV}k zOv3S}YH`S4n&L#>LxXagz8StF{YJ5yh61ferKI?jEc-WxFFklgV4K0yJ!!O!*i=qZ z491Y{ET@OD8g1p;>evwktu>X22Ksa5I+7l(DM>vS#VVjKpwWj-0*53_X87AO)j z_0>z#j+--cf8xQE+p}AsxEwBYUQ^5W;`j<=N2MQUf|ePg@;O@gGG90-o<>DnIIO5} z;Fr4T0>jGHCuotCA)2-*5YsV0L$bHa3AwF@(72r$A2d#^f2t$Lw~4Z}EI4XhJve3m zVthY78Of!W9GIUG<0Pv-?pL~&8%J@-5Pet$o^Yi;0{gkBOl0XOI-IUwN_Y?>9G0TQ zoElfNP7q2qwYE%yp8J2QgpUg*%SbC?c_gM;Ru~(aV7a3|%q#zTC$J-SWk-QTs91FX z1r1NPNOA)w6A1cu==U-V(d~0|dG%|Hj1z?STOBIE!q%x3iDeL)`iUyqS-HgX4A?G6 z7H9MNqd}QBlYO-XGWP1iYx|r&JW@-x(!FbY^)E$rl=ofOiLp&sFWRv7=V9<%qk!pZ z-Ri`go(@lV<(*c(Cbd18t`l=&Y!p^$sIY38t8FCD30uxyR9h}Bt`C0~#o<ZxdY+6)4JbC+*GKwoR#CutE9utzrTQ9HcqsJXu{i# z*$q5tS~q|EPk*<6%O}Q(5`D@ofO;7mywb-6cCsMIzV-g!O8x)L$R@~{#pUKfy)-e0 zd=OG=0O9|K2cM;~u<7DwJ!QMqA-UQHjKbW!_$4L40L=jm<1ecacTFr`(IIZo%l{pc zKN-FQ$d)A61P1yyZGC=H*MmC`Z%N+uV#g2i`Oi3C=mNyoOP}lc z08t)Sl_6B@Ftagj0jKjRAY$D>lAe;ActH3Xv!~Yk`>Q8zcsKA{?*D4m`(PM)u)PK> zN1oLiiZajyKW?WX{EKucn|bW?JD)_VrfGKT;tyLHN@IDcmO^1VI%@k6LK5cxpyNNX zh@#0B&-WeLPrIcrO*#l;Vh6qNeo;K>68F6vr97lEjYfrbe%U9dYgjQ#bAn-P=)1 zZY^Vwbx9-IjF0L#Ijze@-^l)$8zP&%_Wgv18!{Cxxj&gRM4HQTUce=psa*nBi;iuj zUH0Ql66_G|KYpBb;>87&bS#o!`Ig_#@ml~Brb3@G{ z^AuD5Su8I}a+!eTgXb+>E59SV9c}#=<GV2m(i`g3(X;G5w2j9r;f+-mfb;5#Pb*3 z?axah7U}7!4r_O6ue%r$C-%nXtOnP3r_kot&mLr(!T-pvn(A@1~pwDpBe+mXOz-ti}*w4=4w4TGK=MckZLG{ zf_m`KX0n;EhMg5jr>W7}fJZ)LyV3zUIpTc<@_rB=x^;A+9WOM_5&5baZ)WV(U$yx-B*6$1!u*j)450~_o z+^d2oO58|Ar*^Cf!_Cy+{KY_zn9`$S#YLB+;tOPQ$1qb1h$O}1OWK&2@~!6KDC#;( z_bZSFt*=XU;EEp)JENGidY1~fINZY{da&FP>fDRqQ;E^g%B@s!q+#yJcwn)1(Bmsy z=#lJqxYRMsz|WvYRiMGjvNV*I7dTiw{r2lr zHFlCqm?EBxA^aq^U=y6{iYTDIEWOC~64pbh@vP?fk<~fvs;_vULIj0IovYI2qWKu) zmtYz=#$ZBfzC%J_T6(U#k{P`LiN4{L?T31sl~^{yu>Ms^8U0}` zzV<1PGk0QwLDZTa+X8CMi#V-rwTqR)$cCaVCfQ}?gvNiF?&uX4xez<&k>tt+O{jXi zq7LOUghO+zc5U5O>Q%Izgp#jFx_XydumSD7SdL{TD_arF_^~*7x&{Mxi+@-tY-Lb= z+S^PFrLCVMs&l}w8j&qRoq&(_QloEYP^etgofzt@RhO&n4$csA6sp=_Y2GiR5CuPX zs+R9BRBNrp3c1;>_&E@R5#gacBlffoi!gRSX|+J3s7LB;F`o8Zm6X5hpKQGO-4X6b z)}ha-VBseIUPwa!zx>bsuaGx+8J_A1kzAXgfMpOSMC2RsmGs(FxHfJ77`XVn3_vzF zFJR@C03p)Bn2z}sH_M+H<=T2M2LEek>&(6HKK%hPS^33y`Idd><-Zm94;eUd9)bk; zBD6{VAy6ge+waf5Iq^Iw_+T}w7hk(uT7-5}>fDlHQeViL6(4hP(J&8;`FsWHY>iFz zbl2w`FL}|8BH9L<$6Pz1rS**IQ|1sWrCFl&ilX)p0!09xNp# zbxA6b?jmr(X1aN>AmMkYG5?5X_?@5B~bbtA=X~I zqoqgP52cRsGMTEI42?8?&lXd> z57K|Kj1fzfq7`!xbxB92d}7u48o8xw2U5k_i%MVo9!F_8x*5)%UC>H8&C3bMw9?XU z?I=ahdx(9M*3MykrX%g!$e2T4JQ~i|cJdsNhF(ChMzuQ?C)J1bXdMscfE_OLzqSts z8?%Tz4|u)!vHn6Di(v{3B?w8~`OW5+)2GpjTR8?cRX1oCvR;5_K?z4hRMBdVw&H>j z8A=lo&~sPt&VuwEIlY{6&W8j(4Y?g$ z?NhX<`jzNtLv5c?Y6$UPXiwgNCt+c&NtSF&`GuPKQVP{qpq!4H42l``2Ex*Qu8}bK$RhHOo%70_H+!Yhh;A?GMPB!l+ST&_2ijDd7{r;gwP~gXvKFvWh->F~ZG&+EVt!Z54+09J- z;!Ip*i5*$FbEo?kZJ|Y{Jz_$hLvYoQuA0k-DF&QMd8U=LoIykTO8J@9_eYGly4uqr z=x|sXSa@ndo=%U$yRpbrRedx2yw##55w1hZ?WOU#J{JEZF5951pZxvax;G6D-g?bxnP7x7s4Llo|Xv5P9h7$JaocJPewA5!dLY_8HEqbjq0iIKys0JnF0E( zrGnrzJ85yO~D2{tNunNgy{}^*~6Ps;=`e@x*qmQNa4JBU@uR(SVYJo0J)W?zIcGFgrRJF zAQA5HYO5M%PImqgw>SFQWusRheCfp;xpF5<4U+t^$(nc$b}dE?{D`!%LEWMFUEhKw z5D5R|gN&HM;HwNZ4zoaEQ&R8{Nk;cVzXKetxwLChQL0xuO%ma5SytWfad*JR)i-T- za3f^(z;_W{hS7)_=HDH5sau3MZ!KBiy!{U&>3`2+^?3o#ecb$ftw(BditMm?^&q$w zhO%}2kg2boKfZMjzf%zq7}N=ypzcSh4rb_7@uGt?tT*))NlEg;vnz!;^VFQ-jue1H zFzRDeeJpX;O)H{qX%Z;+l7(-!eI=~0>Tme`txlH0(P#j7|9?Xt^y{=`TDzme*N5I# zDY)BRLHp8B{=eh=PifrpJ>1+>HqLAqf^li3wT$!2I=Kgif7y+~bTNBk=9e9oG&&3W z*p0$wF-JlA67LE`=x#-CHC+?WsT7=-huF2$i03KF=vf%BGtJA3QydcJDUv)e28%uT zM2EOzApG<`B8wnxRt730`doiPbIO2TOx-e}$R=31CDR;F=3HSq!X6WmkZ(?a-qV!Tr z2**BZAWZTHU|G^Ne~c}GOL}dx`{F#Q393oejM1}vSNt=RV>|QsShQJ7jKSBH*8BeRh{lshq>5Np zc)pR!epN$MPfn2KqVo-?QDBnIoMV0J-tst4PeJ=TNg&G%4j}zgxAQX~XxKnf61%8Rsf{4d+%g$p&rJ6T+lnZ$e0NM~n|FhGq;i z@R4DxFtqCcNsM)FS$Ue19Z)C?o6-*L3fN6iV@Zs1n_^zs(MT<2)r$(}yG)xrtoYj@ z1=KYG&p??|(WWaC(<5=4jV;L?D*g-yVO>~NS-dN_F4>i??6#+lPW6UF+(q$k_{;%e zPVo1`)?c&YTH>xPT)DY{0(}EZP6wQ?V-ulNXseVSZelCB63f>4pk*j}w=OFUD=Jcy z+?LIZa4Xr{sGnYIU+-yE=}5n>E7 z4|<#~o1`pHuX}8yxK`ay%o*JtN2uo2+X*dT8?-%Y?7Y3gf(_Azof+@AMW=Apg-1h* zD25Ads5paINp6EH5vA5s!v|_fBLOE>qSE`G{Y@*_(gJv4 zj8(KtLr}9_RAAlIL{GUK*XjI@R4Tdp>DwLfo&ADRBwIKe9{Z;|m?TSdVfNHXmBn0D zWnfvy;gU@lr}yn5A{K0xQ_a338m1c4|MM^lrI`ti_0*=kg?Qzw(n-x*Z1{Ci9dZfN z;sG$Fu}-aXzC%!k=TK%;E}jmOiyhL##~JYM>C^WF4?s>s5Md^nG9J{ zy?Gw;dOSY>O0$fjPSU99$tvKJ6H44i#YEGHD>;GXqLsKYw2WWi!meps8xk^4AY+mh zuxDQs{|bfcQS&U?-3|7GM?1%_Mxv%0JnJt`IHnrBG|HdBX<(fC(SyrY$@g-0QFFpHvG zJKKBi-1{t83|QRFcyWH=l)f-zXl4IQrcm+G28AMo$xq|CvrXnOq@BV)fHEA$J|y58 z1?8cyc(%8ye-U<)$QVC$Z6c)6Tp$eRk;UY}B-W%!4RP#&m0h z%$p&{*yXfB6&@aLMgyH{Z>DNi>d8Em3ytlQq*4?oDary8VXPiS1SK=I9g+2CprS%{(FZvzBMiHCM>L*LQ{JX#W#MA@mp@Bov z&~B?-A@&%KvmFW9(Tj4M5-T63B@wkEF(^xISg3WLObg~6&7h-hA~EU5l>A^6Gq4IX zC5OP;x^99%Z*W?SD1^Sul~1tDL-koB6I7U6ls;r6FV~V{-ArUxScbN2mrXhr4#9SU zy_^)u*%iv14OpC;GSsS^j4^-wC^fwQd6(FEnu{0GX9eV#0ual>kOQdJ`>J(KZ2 zs=eZmH;iC3ljiND>d#*n@{Bw=39+t8PVO$#%C3t!5_vnSsBAqjzMPKsX>7Hc(9e=0c>!*LGVpi#sLJJK!x>)hxJxo2U_t z^P!u;qW$Q5iN@0sCFNm~V)eDl7bQbx-?cmAD3Z-qblZkcqTtRZAdbanMa|zWMOD^#lM(2==ACmaDpEeA`gFg=E`LmNq-LZZF?4pryOnlCI zp%VA<`#+808$Pl3FW-VdGfN;~QSyTF{73#adwth64H7tckMj@mpVM&uHhClq4)Zh- z%AaD(f@~5C%c${9LwJ8LjgOPi)E+GTI1Dd(R>cs9+@s)Mf@H*aiLGJk4)!OXjWZ17gKe+AK zUduT$tJE+6F#o;)U;tha2taGMhgx|ls0m9;1_`1HMB!Ejq3Mjf2hAV$AC9Izw|+zu){Q{HuF@_Ie)bwEpC-vep(n)naB~Ry`a0v@xn23Dh-(r$w>ct z@CskwUA9B=Xl5@&Oa&3)!c^ZfpG!$7b}2x@AA58>i3by!(p4o_>DeLS=IdF*lhSau zm#5d?%xBZ1xy-*ouYU!i3?#Lh8Tv`!4;0rdvlO+(T>+>^)g}=wbIl3QlLc-TU?N(6 zag06RsYo?zXF~o^Dzp1+FL^rVwLW<(T+5rVIf!2tchhw{(rjIFTh>=S z(Mt;zD+Bohm*$s-@iVO_TE!xebS7KhREUapuj0H^Y2a=n0dReEuJ`)rr zs}wYinly0?8RhyO;)87Qb3IPH1qJHzrg=ouFY<*Qpjq1I?eAOvv*E8B=>`N%5*@E@ zX3pMTDcIhBCZn0vkm>v`Axg)b?|h)`WD0f95yd=cpLg=WX6g>oG*v{W=z zZ-7PYJ?+eeP6Z@{>A~tDJyTAyXMyQ+DkRIN-`JTX~1rTlCWGSgGdBGCE$)itz zASXG1Idk|gW$_|KCHV{muft56wL#cah@Ff<-0>#18-`Zp@6>&91rqe$_fB{gopq;U zEA+S-YdTPoQ>dBEN@B4SKkmw*r5jXSs-L^WM>6)?KN_*A*gfaQ5F0&J4|v~X*t=aD z&ui9Y=M(VFSpDbSf)R$L#dSh+-O+-JA0_lcrK&I^tRqX}ycxS^^A|HlgjF+{v}5z} zTET-*7e}qv9kqd3)Pa!MVsXta+>Z4k<}};G%CfD>NtIT)H%Q_BmbLt{^=pwT zd8%;F-SGl@>~wlRq`#koML9&Jt>kyO4(s!G8nti2)9B#mwjF_+l>N$fPQysJt7S0P z&J_qLHm$jAIf#^nhzq*;^scNDw5&OB48%P0jvjm?FJ?C2ucmNV$2^^9W%yBWsB6R= zz6{GkOk2E5{rtUsV`F`G`O;xzHY=vOSD$OHTtHmhVE*Cq(sbrPydv}OJ%xpLt7}i2 zcJ97Kf?1#}IjJFSN3C>Y(0s@YY^Zxiu>&F`Yr3ayyx~``>u@14=Ib`nF&NXRM=OS1 zabZwxvc2Ii`@Db7Bl9oT$++imGpncq`HX~-hOBjl*en`&*s%mV6~+=V5YxO_;(Q$a z?3+4;Y{=`C{UFITRqd(`&th3M#cGk=g?1uq8UD6ro85vZy92(0OAIktE6FruUOojU z-pSlK#Z=A8!fwFsef{(U4g7&@C$*Aea89%@WpFF?E5@Hz^keDpC3t%7Vn^ zn_k0*n@6{QQjgV()2Z*Aj_L^+DyLs_b!E&CJ``EfkAkWYcNB}MZbfN`#m7h~WC^QA zFPPGbQnBu-MVjt-5u@xdzOhg}dWs5XDWyO+l;Z+IBGkRJU(Ge{jNmg`Z6b#jB2HG% zlsJ*RDCDud>q@^L8hGt7UFb+;QE=^B(bsQ_PEwq-{QU?)b z#WD0gSn!Ho3xV6JEiNNeqJ-qcZJlx;NfsUA8xoE(W3v`Qs5b*f%Bh~naT}M`1dlAW{l^iDGn5$j%m|k+!OcM(T>=Er zZko|DS$bz7k8|b%)OXAsb__B#Szbnw#;WF9;>MTYFFhy784tiGscmvNVPxl5pR?G``51&`sCIFMHopkBZl{(?gi! zljLlLC+yd3nzQwQN@>VcYI0|=|H_@(Ve;gJX&&-OW7?FBZy z{FlD*3%Domzmk8&=WDw;CALi%i}#i_4rKNc1pMe<-2cG?0**5hR(IhFfy|U25wzXl z26ZJrCI5P7L|yNH@6L0@yi_+(AR9>=gIhZF|U zry~}%*mqNyxE#l12MejFqc~iO_0E-vzU}J|1WD&O>TQI1I~vOh4w-rft1KSq!mzF; zt;YhdgQkqXCS`8Qj&0xLA1DO8Z=w47Bo)x8o{851k*D9?se<_nCvcLe`~s$yZW?sm z>AL0kl;B!t9w5TIYZR~^w=(obnAYl;frC9YHVAGI0ll$+Z2O%XVg*(0_|mdbgAqOv z4vQ%?$yoKgpMH#?(x#?g3KiWgggy~?r|CoA=3**b)}e2w=-t_^B+=+~cT?o|aDIdg zDHT>b=K1j_?Lt+^!B9ifthe0aQr3ZfTl+w&Ow{h`n;dd)`ZZ=_KcdbDICmT6IR^dh8q~|-UstiGfXYvc}NKeb;W*+fnC+yMLt>k(>=q~^}ZD!2} ztuL%XRLk_0#ac_^6QsF$D`hqsDl7cJ~TY-b?W+R9Wq_v0F4zIODVHz2P^|^r{hMna8XtRNPuB zG|NX}grxjxvqQlsvK9j>pW-dmvaNxKo2#|Chdam0?=7NkQH$NDd~rN4W5|nfisFOb zf5)d7c7o8;t(^8Bl9~+B*%XVnonW^NJK{x08LerF79c8nWWZ@szjK?r%Hdm5h4YC%4^*ogfsKq*<-xrNSV|853$Cnhja29F ztTIpmYpYK`CP7swbM5L8>;nv&Ic-NSPA-S0EC{#xgG-+i`(8OHy=sz#!IzYXjzS8L z-#R6Mp11F&XZM%)tBP2Dgn>)_!*bj9t&Y})NclCusi*fS?c2B1mqt1-d<1@UDP`y` zSPU!ZzSz zG%^2v>>hj}+OvR`q4uV||KfNypZ4}x=YqK;*H|=#r+3BK@wvu^d~twQ;A~hQY%VtB zSvucVW@EmEOq{UNpBh+N zst8VZFI{SEZJiIjG>~Bh3nkm#H(oq_7OPWob~_78@``Z`GNu|Y{78&RPi zD5!?|;cKK~N1*>Y7|b}oV1_DJRXsL7Yu-xjrbUlrvw~lAi4&NGBpB!XKm~?p&}w8G zPcA^l*Wd9G3KlTY2zIC}g*MJ9aYbT|ym-b!lA8^(Q;luM1khiT9&~RLM=kA=O`;T~j!VE##v5Piw_eW3#MH_Rd*LbVVpPhCc?T!8V9_ zcb~J%*mVR3W(`DXUV-j!Gb^1p_offvryFTKwNu3et&0|G);-yCm5>Tv;~)UO9dF-* zK#AWJYu@X$-Ku$CrrNallKc&b6qtI6aH2q_FQ2`+_m%w3osOFy-hh^Un%5 zlj0S6()}9d{H#mSydCsOvyRXn3EvlhSy;t1n6~&;deY6m(yqPL;`d$GBFVBUo}wSE zXcXtj%aeeH^&V9WY6uR+lec90Ipm}!!Y$0X=U)j{^!3;R8EA!hn1wkX+Wc&?TiOx% z3Mfd?%)Jyp;7phY?6FyiGgtJD0CKM-aq#kW&XQ7446WE=lnOl=|6efX`X6V>2X)B@ ze{_8VW>cj%jMv^3+-d0`Q(VM1f@~1}d(bUFJMuSp>VUTh$Bqtn`X%Je^Ly`c9YHOQ#bJ*s%>BRjWgb@RFPSZ2qx z(u>YXhdBcy1YKNK2|_MthXwr2I_Y^oTt3XRdu0C`(`xYRwAtbAn885kwwJM+pLNzi z!S=P}F)gm;#RKv0a}TIl(jOj6M*XOWAVZo^@zsoi|1hyG6!FX?0-MRw#S{~Ux8w!io;hm@K55g zt4+Tze=lAXr_gdlZ`a2WT6VvhvI(Cl6FhNBcS`MaIYr8gxZsPm)d_ zUcPc$y}qkgrNe#sX+5DuK7H1QhiO(S|AKUcH8@7j%_%dyecMOZK~>}7NsMi{?6!~Q zG>fRP&mBP1#y~;mE6^Q-ZI_GG=GU|R$1i~?Zdf4DtbO%FlvcBcrJ7mqS;Vi)?{n$) zGjaE^r02B5Jb~dAK3ypdq(DVdsWhUGCI8k~&~f{Z!hmkevo}+2AABJ`QKH&Ezpj@Y zr$nJY936ZjXO)%PuO**nJ@9^1|2OaDS^Ud~>kpV`djYnz*K9G@Y(HKDbn<=#;Mbf6 z%RD@ZK7aZ*nq(>kuRl%J9eH|9m=jG?(|+dM);R>kuU!&K{LOdm^6|CqJz$ypCy{zg zF~7V4P4cN9VA~`1H2{zCb$>DFYN;~h@%ift)FwmD5#f8@?fQ2^T!Fam%r9c6N%z3r zBH0F;DFzq!fOHS(9#6REhU=TSwu2~nMto+yWuiU*x;EX9JQTLwyoO_-HF7m}WgE?gFdtWTP zFh<8s#G0m3J4H!r7!Swd|Q_tZNqQ+E7b=&84n^$}rwk)HLGo>WtW3=v;r$*fw zLR^tWjt+m?`kVJy|7WUc%NcUv19XAC^K zykaF2EjL;f99nxH`V6d{tSg%o46qrwX{mi_{UW0ET+=f|78*B1h^5zz)?wJ9IBi|b zVn2uRO+hTO7Xm#T8IFONeX zrsr81@UjPR|L!j=N47;nq0rv&)vhyg)@+kSRnZDVKduqwg4US}aToabN%lYtzwmly zz4DjxGvHLRbw#a>fMut@#gGYB+>Zo1AQx`)aEKL3TqFe5-j~wgn?9UmH(qm51baT1 zdVO+y=Ci(Xl7s;#nk@>s&CZ?y9I6P@pvNs?a~^-CJI+x$i@(-^eyI#KUJ4g!$v!A1 zL&E6^F*Cn~miHo8`;inLmIodpBF|Jaji9;i7ZRO=`w~Tg@fMaWblKq^rxSxi=AXc7 z9r<;I)UDiE&T1(%G7SaeB2i-EWNs2NGQ}vRgwnG#Cx+NB=KTY+ypP`u_5<%mW@r1k zT7femrdCr{j3!DXCrVyX2F6@Y^~wvuhZ;Vd%ynMzK{B%~aPUr*%dlaTx=JZLMKpYH z5L(nbte%!DM6;-&mt%HXE+Kz+i9u-`0a!A#eq_gP-l5$}e)_~5IW&r*mxA+OLPOUU zw`&l(u)3f}jd9AWF%4l@)uy3P&4bM}p}Z|tOv|DCnEKvu=f*&p_SjDIYN`Q3Lq^dn zX*@w;A6|S58(XLaf00W75u6W*e4JKqX-qXDO_3F_GNfBGQIALlyK4_FD$P)N*Y%V- z^1>my<8PPWu{PE6ja3aaVDh3<9!rPA%-^l{SHk2=1yI(>XUX%+he-CCru^;gce~EE zS>zDyx(|Jc9#O|r47^cA9*>KX4D{~PYo3s(OG{hPJMY=5d+<$!#z?AUF;C^EkZNy7 zqF6mIA6$IfhkDS%y1?%9fw^JSD#}lu1_VKsE;iy;2BBR`z)Nj;A%zXt(&A8vuy)_*a1mv4EPwc=iyy#cI|ZOR{ZIRA-edjxFFBHmBlDpRynv2@@{}rewl+tv?6uQgLoW5uG1JSp6v;+ND)g>K@CP zC)vmix_(U^+5=8@r(uE7Yt)Td>YH*?%6kENdM?sSdehpCUE?RdY7h zYZk!o<_6o^4c+N)I@;6Ul$>yqK&8ND_%HI8-vNUQ*j9W&9?91AjfeUEFM;>hF+s-- z?mxtT$?%Dl`~hI7d})h2vWHvQhv$ULhgrMj+`V?g(%ipW>K~GBz(aH5|1{b)h9H}; z1B$Z2vN8!uNJfs0wLX6o!pY23SLtZu6tZT~(H>tzG!ff2l3Epv@gVXYpYt96#WsQy zMpVKv^7IJ?67<<>G`T1a4e;779(kvB7+lAY_t^3lk$%li*2XiDLK~#HrQ!{r8kzlo zsUU0UxX#OztkBi_qtW!+4WDM`DGS*&wmTmlTLer67#^E{ITtl{VfZqeNi{Rjy6?Bn zrn5cq;MnaltU4n|K+%5d%a_&r*cOPT?~MyB<5OwdW_}(X*_D~KIvzVV>tdQrAO3`Q zY-VPx_{XNC(L4-JO5j87j=#i&IBQC4feg;fmGD;^RE8$c)&(G99QD(4A2 zPoPWENt~#3EqKBw84{pv+Q2PVx38-m+VQU6DdF45>yNA8!F98vY|bzfMeB=OyKI5& zyniC+1Db<+O#`~NECaRK(`MV(Ma&~ZPN$6sxgy3o^fv&kqO+DjTM_d(xJIJM;2KrV zc2K$&vGakR`1dO5Funu5yH!BpezhZeAPMP*&R)_1+E@ek3u9!<0K$uM-xtf~Kekro zWo#S47C3&I@^F~+T9W!c5V4F5c};SJnWzEqDTVeIDZDnE7!q==APZ->9Ubq@z)C#wjeKm7o`I&g@bH|n8KT(h0z z)mt~8bIQ3i#0rgDM(Zn0eRM&7Fus!<(!^q}9~?!jtjD$?B)Xf*Tn*)5Ay{=w9#W>C zxK|kQ`P-yy{L+r_S^}gkMsHq47ChQ=6xpuC-rqQQe~MlRq>;M|YE?V+Cu{nGFZ)}OnH!Dm`J0nY4$~ML z2`p1^K%=a3tA0rByV8>K3&R%aYPRje!ViPO{X+w}`!cDz3W`}QikYKc21^S_yM`WC zcM-*voj?!d@8!O!Va;B*gDuB?^V4S-w1|O@AzmmT>mp4lt?}hJ&MCn}Jttnqa1W!jAZ4)N?)W%*GWk5xxRSJ8 zSW7#kIrnH&OXDQvLke&DWrigGKoDw`S}}V;=WL*qc~9)2(GeRoL+R7G$uM1kSdZFa zZA_=kNqv+T`U;d6F;L={I;j3wsR=RR_4PEqp3{$1beLmcLQ6H0D0{g#xu@7R6Ji^l zVb#aX6ivaeuz#M$&>5Q3pyFI(TvjznQOJ^-9>EZ}l#>ic!;dmqEat??caopL}nhUX`Qfl-x2o`+RsI zD}GE|JxA`bS;*~5k%`WqSgr`f9a0B3F~Xqero``t1+EYls2FFC^irYa^XwyrBonCM z^uhRqS-5O}%XAXC#NEjmEh^~mQd(c7mAOsDz)RwSzZ}`Ms&p~G61oRV$D9maYas{O zpw`x*$iU!XE$slSskR!mws{z=d6;m?UBYtP@YqyOQI{yPP(6cwOjhrvvLh{TC?xN7 zQ&ny$+Urnh=U8_EMTw%_xTO8wKE-Nsa#nhu%$epPgE&`oF;N!s_eXUUOhPxm#8xx> zM74JsUFn`op&AL+xiFAhM>#g}_5=n&c$KBUgWG1)Goq!;o^i0MALm+51{PV(W*LF` z;xxy>O$NjsOP?R_} zO4fZAI0MdpIlBMpVV~_F?}x}v8O<(NK7EK(sI~C$_!w*@p`cPND9YOY_wQ1LVVDHI zCr#osJVdDk#Tgn@@^)PBz2Wy?ZupaY=9%4eo>_K=9zY5ZocSLxOv-#ogWA@(nrn-v7Dp`+ogA z%yd`J^iFT?x%wUc^!;X0SY_)uEtKr_Bh~+!nM-LN*PUm2k+x zOnNCC-PYB4ngbUuI~5KzD*~kKB>kHLuF(y%Ae&1KRSvpy$LD+|Rd>SSl~FNr1o`&M z%Ya$hQ+LN=Jckl+ksG`ky`q|aT#c@25la_(P48<_lHUW1 z83LL`$Q{@{HX1~0Ew7xE&n`&IbJVDCs4nc>Z?_EEu>sYBSFf=xo9 zQ*x2iF&cr16%^XbvtMDgrjRMXDpr9_g`cbWE-&<#R9U*3G87Zjh|nJC1~|y_rXD_Z3yglB%;Q<(lhRr#OX`!B-%3~H%@|hL;2T&PpwNR zbW`OJDQ8mI@xqMOp3z6rarT`aHbP)!9(yOsz==JxgF7v;b@RED%xl6xICryTTWQ@5IU2MHL|VB)_P#*h z?2ruH6oK2gn{>K7|-h$oJ0w3QWreXX!&;6%Kv#^WczVyL4&p{xe1r=Wn zUh$u_6oWVxG~TwVZ6WT}uH=Np8m{DMv~>bl@Yw}B#g3vmP^)?)2tJ;sSc5DP*9EBW zS>?ccVQ4IxdmoI!K&&ILc)j+6Rn)N~)F0||;=mU*NT=(0^;ax6(EZ_0lt1d+Yrq-s z$0MNAbr0l2_z+Z(2*S33`-b+ba5e@HVsnJflFJkq&HV*Ja(ws(bVcWVzRTxq(i~S= z9GwObSo*|H+g`Y3fhA_{FBH?Z-ypOPlYwDMOiw0^plLCJD5kM=AQ1I9YC)fG=&lOy zic#EG(qEx>f8oCXZa_}}Bth7$e59VG&gQz+cmSe(uFIY<-J?*lOTuzmh#Jtbh(zwh9mo;@H0?EKFOk3fU~0qX%X zPzO`Ntj)*Z=N0cLba?|N>evfItpkJ#yd~66>Wz=AJM!l6;{jPx7r1=DTy^nnK_&v# zPm1&AG4|uxSaTwOgOcndoFAslN#S%2{jlcD*VfX$hnOK^(tI?(hQU}lKnEX{rfr1M zNPKQ%+M@CRuhOX66r)-RCkVxVfKbb zdhclJcWwk_IYow9-sOI8>{fk85OTM#@_9mcJ=g9kd+M;uZ>nE+m4dwgJd7<)5DvF^ z8bp@vWdE|I=@PR7S=H5J#I5;3hl!>biplluX#}WAlK*uC>8IBb#C{w78eMUuq(ud< z(~FfPH+a}#g%WJ+I_g6f_S$WP)zGaeHj`f7FV=p2dH4iyb|Vk`4mmcYpjwxFBKatm z1`}R{81!Km0t8PQ)Mlh1OOLgDV$PQTrbuoolmE?1rVI}|@4x=Qd5=o#5}tnhj?~~p z52_`tN=SPjA#yNSgRC&u4JqOpUS^TX>PA**>%ymO{5mAhTi+}a`%maL<)H_Tb|KLH zvx~CK;RrPxlK1(q)9mk?)qwhI>-rh;&qZZ8L1=JDL)A#&irP=Vb+sw9GZIR-g(+<+ z*-+tUx>wrsBuG^YVMM+ourIyJU9rC;HzCkH++`RFQ9LC<1dPc99>SD#<+Q|dMtB6!5Q&U z=iGl4`>@bq=728=9uHn(k!)I)QpvMZnD#xC4BhSCfE>*1uq^3yVMH$EElk9vpvisA$>@!-S5OJ zX&!pM^rVt232CPw>dcuiv2uo3ezvvi_}v7q_c$U*Yp(5kyXMP+C!Mc}KXO924JEPz zYmn5j)iB+*KBYge*TUh`$fL0&P=NzsZ-L9vE0R0ihE$C*w{kpBSf)Uv^-;mtxP9u! z&jw>On^&^IZ9Rf`#&bm?(bOz~vO9CjTPJx#FQ$SWjfb=DAg8kkG9$*LUllWxIrZZs zRb_v*-EN$eo}|V(u~L;!VYA>xmX=l;dz9GQg&5WiGm_VOsi>w(uT%?qHLZ^SlH=S0;wa%GA%tBqHHLo;YN?clcD=6YdAEzrJvp_QnhWpLMuXgp zYT^!2N{+|XLPNTg7e_YyXopi1mRPju)S3g zj#FG1OEO$LfY^u)C2F)}i5#n}q2Af0s2PbiI&iyYC!p8nr9V9MKsZO3pXX3*DsVi~ zT7fy1%cJSN3Y&E)x;$9&ws}?_nR8*^c`Ih|csHb|h@AK8vPR@Z(V*LAiPmdy@z^=H z8W?f9*cc{V^&8Z8q7n|5NaX4~zslj1{tiFt5dhZwN)IC7Yu+Bbzd@=jO&pF!O3!w~e=Z`5mrvZSGv5zwLhZ`pFg=FD6pl=FrxCO8 zefhMrdSMSXr7ba{PrMNsiE+zrZx?ma-O2nHb1%#(AXWLiJ6a6ZLvE{jojD=Dcn|P znKBR!U){}H_ZPZo>=n;5YB?!p-hy{?^0dF0+tN0%TuOX|r=4J=#9`@@pPzTxFnZ23 zZIdYW`e6@malM{?+nQ-7A3t23DLY6z=u5hd1)~P-k~-&@(Ga(e=5+?a^x&m>hiH+0 zL2>A>5@8YdC71w(3HjHtB0{pfHsla1M^>J_OT?IUrhPdx4f86TpXfJnkTRL;oKZ28_UoR%dpT>H2A8ogDiF!RJv3k zo!Mc-A?6o@A&j=4=ohd&wyuP@?S#3QXo0w$-hp@nY3yrHi)7n&qvGdHu1aP3#X4H# znd7&~ApFVD(%_?E&1d3Ib0wakh~7f`qOo0AS?Xi_7(qP}0kx2n!^wbp9T`WpVj-o$ zJPMe6t7W!f#>i>HPj87GljE|uyv;2AOfO~c@Y#&?5h?r;^=&GVh)}T5W!y*hR=*Q;4)rY9r=vk%3brgYaq9 zikEP0Yi!ckBzd7wdG)D8z}lRBpGi3M&&r)9JM75Hp7<34P&+)|R7u zzHJwKgV#Fyp5>8$b1Scyg#c$2SOZq~B*=Y60qE;;NJ6jP1qH!W2u4ih^yX-)M~&YI*0GPqyc{G!N>4J9(pP}-P1~Lf^*0cv>se4GWQk!8PoEJ^}LuA>b;jMDEp(o&N z=gibrZG(F7iB=`u9og{dRrY?{l)U3wTnSRO!CKa*wa$PD$?rN9ap5L^4i9@irB~-B zxBnZIyM&X+c(9k$ek!+wlUc1~;k`?)pqLeFnxVQz)Cs}_=S#_1>J2+Lc3Hwm-4a!)?xQ`7JpDMA04A5 zvG&!ksB<}i+$4PIWm_y@v6AEB{bgcgnriO9qE-VHmeTExfT~A8mEB^8dJkcRw>;b@5>zb zvikGK*MAWZ?sS`;A^e3;!fuCeKLKnqD0e84-{HFK#qIo&q_9-ld5Ozj^m|Ue%+wD0 zr;Wg(m&3dUNiE=|6GwXk-sVziyr*!vJ5Hv?t^2BE1;wbtK&d5{L4)se&nI;bgQdr} zUL-^R7H{>fANlK2YGKLD)ufHQhSz1~9BBeYj@yn+M>;AhRa^}5{=!_Tkn*Gf%{U( zlHnYwg3>M;ni+9&^9otJRPw9n8{@Z%cl(Tc0VGfTBE?81P`y7Y&phU0#9{zDXMHGl zf6ce|m8?TLbJ2J*pbGmjzfDk@SP!|eJETRnp2)_P&L<=Pl7?L*gZQR!A#-5f5#zzw zepvZA`gx{1WcKK3_01#l+61j@KZ;Gt*mEaIvFZjK0C=_Vb}-IDI&*<;B&n(a-||kW zVD-y7>y61#^~Wg1+rqbM!pAVIq?B(dTp}!s#y|E(U*dW_n6Kdu32f=QF%R z2K+>fQ#;rn{00pQpGyP+ zqoMQS#Wak#)U%mG_I;_}GrkD8an@J3^V{{GJVR_0n96y-+_>W({QLico=V3jHv2su zUuN?%VN}U)5NS*s8NR%SM5g}ZtL#IJVIN!zy% zyt-k%b9|R&@w&OypvoVCB7y~ zXSEWR%>5`0wXEt6cYeczgI(wG;o7l&lB7ccXOgWv27j4mMwd#+7}=ri<4v}mUTi0Y z)5KiWqpRMe@WWTbSxRcPJ0YvYQ?soVa{j&>XIvul#9$ymD8%fAh=FuPD{gD97Wr^T zFW+40sfB37w;2U^EbJFgA&e?+V}(P@ir;h$8=~*t~LZd1=thoM=c4hSzFoj_BIVj zabS-KxVUF_=AAierHn#`$lLVYRH9yKuG0MibM9)qP%R;$fzlJvdyx(yo zlTe*A4!k~7>=fm~3rxTikdLfJs#}Q{mjQ6Vy{ihAPJ0d4#V}FaRAJMhx&}ilnt->3 zxk2eiW5eK!RGgRr4HkmiwIYP0gZiG*=B3>C*cBh2p{tNa&E4(=7)8q9Mhu%(9zChr z=wR0*3moB|t6dDWdNq02>8be=o{89+Fb{so z><<2=TH3Q(j4ft2xkF92?7%xoaMDe8{g8HPV?w!>1zaJQHxVnWHp%CbU7};Y6nJ+E z)2&B7J0H82O)j9QY2fkhU&$SvsXXy9jfcEzr86bsiG*a3&wA`$$`aI%&D2uizl_e8 zJ%#u1HM#FHmbz9fm8lOQ>!R>8BDQ5NW~~xpkHD)7_19fNUd4U8Bqp?08O68>Qz8gu z!DAzT0U@O@kA%Z1+}-$ruS-K&WT(;B1lpBG_Kbz0_8d>QOoiQ(GpsBYm-j!dtTz3U zOD>MFaCNf??y84=OAM%F%p$a4HvIUAHd2;-U1&_Y)+X3V-=g7a7NMbw7(Q=5yf%%_ zm?G?){>yY|_t{5iWOmA<43C-BY)jp;G6H*jX%QlivPr9I7-Vg&TrG}eW7WPicvIw2 zYr^9Xs)q5gMEPN)F15$S<}3cvG^N8uvyDXc%|TQN1srX8L=&4{Xp`#U+_F45sKc07 z%tF=6JkXuC7a8S-l18eb4i4wq;gT9a?4_U!~=Y>apizJpQOcg>w>sY znaz^+8JKd_B@-ID2_5V}h%}aW$A=y*Ym?vPg4Y>Wtvx#wHm*Zw(XO&C09IXlAHy_t zGd<#k>+E+H5v(!}sT06=icJup=_u%(@P+_@jG5`j<~vS~SKL91*yEyn$~N28`nS)% z$oAMfV%vgCu`$w_>zL(omqRz{>@$_r*wTh}P1Zg@h2&Hz^e zjkJcsx=Z|ulD>S`wU+i_9#NH_UT1;PZOS{>W8+v&TF>x(Ui)Ja;+A#u4vr@~+kh5x z&Vzj3nxzn4i+ z+I|`pm$y}d8MPWx;h9((*E2MfY9AZ&t_DI|_$?|T0XP!)jKK}Hs_&Z@=(+}2ZUrUyfV-yl-!b3}MJJvBrJQC6tf75bTlK9b{ zCk0a<-g)q&m$C?y_}iwWQbejOwv-!iqU&X6Lj2c-KZuJj5p_hF@vD{d8lf9BId-Q)uc?O$rfW9X7& zGhd3jYdPc+RJH;r*IZav(B9-TY-uT#E0>f$#9&IWov6!yFefTFPU za4ZEyq_R?5SVT{1p<~*OH1k|sHGr?xD!n5*9#f6!ErDf*J(t5?x1;+(2ZeBe7 zFM%$Ua^LH!X1r3aAXO!`;@d2fx`q&(&}35S`PS*nXI_vVVr zC~K7vLXNA4$l)i^1#)6IlsXe$m>beI6Q(_poXD@Etz;&9mHUQtUq+Q=XQ86|78*+) zd}?PyNA(P!?GbslEt>MUXVJFA;OmG0i?yq@rpA4Bb1vSV%mK zQL^-GdVK!D;)D(38r=dL(J$ z)|M0R@v^oALsYBZxOpS@TpkP^T9^=1KcsnLM4-m2c+-g`rZuHRm79G6f}lXR@0dt_YJ2uX(+_cGhdY(;@xDjCjKqNYEUWje}I9?^IpRP&+m z411c@%9&GGndWV*zAm3S&+6KZy2Ec!TuO}jrJIj*p0ig*3~NbCVu5?|##xgzeaiJD z`PeahZc_PEatVo^<<6jAQx1|M`HW#;=wQZ%zqjJ&>zVvkW~Z;x6mRGkWl5{;MK=?) zehM7Z(tnN71dv6|xUbd1kvntip^0_jcs~xmkZHj_sk8oyp?8cP8fdrVeP8L3Td0s< ztk_e$<@LBN#Keg-;^g9%io0@^X)YVHL$;+ySU=|}ZzjzPioJRJQeESxOuH;WiPTbpU$K3%(UxbyUc#WMh2>^eD~VjY zaX-wy+AGFoUvZtZF^;u&b*;Q&v%7h6z4lsio5>>637vVgtd~J?qgY8ecAauJM;=L( z9y{xL)Yw7U{ZhpD#k}HUCB>dt5kl~IIh;diSlNMsf|7a0;dPcXPH=l;x!Sp!@s$>0C3&0u%)LA2snm4unVdD=+_<{;9{l{j&m4F8`O( zLjBJcFaN&ypDp}PZ3(C-5D4aWA0`Gu4ekShD#af#fiM9gmI>-~!w;K3k=J+Uz!J`o zF7)H)c#a3rY)NaV;zc*z*j?xjpdO|4u_Go;EMJ`Jm-K8$pi?>gdD|{@z-7FF0j}?& z);RyrUU&Ou)Tv2@xw$POwErL~x7hv@Ki6l$?h#kwm`%GEg$#?2?FBJOk7(>K14+yF zRtVej(Of9$9$ruIgZvBjqg*N?Y}ZtL@PAq#A3c)SJBsD*Ncb>i()8Bfw2@RLw&(K< z7iX7B&v*_UiqA_%KAQ)DMpCUT;`P?Ot4wl^iz^uFOmC>>>~ttb<^hbOuMGdC>2hY5jTEJOU!2;5#r+!Pv;_eGxv_L3^i=`pD?;mK9`iRlY9L;eq=`TV3Oa&3X_Rt6o(VYpiL%5 z_lH(sA9l)l7gkj}7NbWWcE3Idz7*O}nm1r?^-yn)i-FzG*QFwf$N(@nyr<&2)39xc zx;AVPu(xRPDa8N@bs;L+_Uo32O{MA?KUV}4}#8Nx1|y=U70Rh|7<#lMzGs}@xG##?5e zNR3vD)B-Z{OS`UQda2Vr`>T^V1kj8}PV{ z+@$VM=l9H#w7Y(C+k(KJ4TDB?e(jz$0CKF}K0lS8_iJ4$tEc`>ll`QF{Ldvs`k7CN z1%VCs7g~w{$XlGiXoq3B+{+jko_3r5!(wNzZ6t2LX&EeE4wkV>H6L*4{fQ+x=V3=k z!~3Z9fHUD>^R|g5=00ZrMa_&^c?$2M{0%))=32cN4H`l9u7Y2_izRV=cIP^a{v3Jo zg3|8O4UV4kfg4$rp_|?unODj>T7F|24kUUK7)8d`08GFgb2=dUCqAhQCB9*)=F%4ED z_0$o<=vm+HPa7%KxSfuXDGV*+ir8v(MPIw(_N(}dO@VnoxTMQVz&QjipD5rXxoWPO z)4P1@(@{c~mtB&RXShIWCf5nhFNrMB!J1g9GtnEEsoHKk13RwX$Z-_0ch&K$mMot- zM5|hO)A}vhsaP;P{ZdKo+yu*VlEBMPj_H~fUWL$;7n+dBr3i?!JAclDL>uW~zrQ6- z)X+_&Pmk^kk})1;RgD;YcQvkMoNG_(Q0u0}e{E%>Pljw}pcDWs7)|X|zry_=i?yeeywHl|6)vk@5W@E){Ia@2lbgEe91njzmmNh1<2}X*BPT*8;5rmrZfO6GF=Liu2zl|$YwNbZ| zHfjk$J6TDdH9dNz=YoGOr8<&cKvLh|6#(~&LNbPxOp$n&I^Jl^5>zzmpi8`Mer#6o zcp!(UKh*{r*SA?SZ>8zy?c5$%Uq3W}G{}8?C309Ln@X#D`7}z^v-U((-@DMw@W7OjD14(C&QmcFi_6aPWfyNya!mZP zzLz3)J3+$-tyjIUYA)Fyo-CqVMl_3;5n+zSsZBaz60R|e>$=q_&eb37C_)cb&HAgUTo{R3;t#iQPy1uoyW%nOV@ z6`1>nC`=zTfzWF0(b6{#)HK~DsQez{l?_2ecW;#>VM`d23O`hL<}m2jF!(hiq_z5) z0N6YN2N*>g>wKRsb5V2qLnHMZz#}Auxq9)<&;yF&QvHI(vS~(JJhcDR+t9`)utzDs z5_8**Q_gI@jazDJ#ic@b^xzsNBnnPc!gZeZ^m%O z9+@f?w&t&zUm9%CBVN76?k^WFw^Hf)!7VwkLE!FE;c@$GsHsI{;( zvqK`x+NO7yEUMEVvfub|{RXXIE2HU4_Q*}`SJOPW%2(_kob9}bDu6mPFtFix-+j}o zva3wWL#D7y-9FO(eqm4lIQGDWg?XLue_OOM-_tmmdjiO+$9m(vf}$ zL!)^v!La|5qrNZAIfwlrhBJ5Fhj;BFrsUZ*FI(oW9!5HPQY7#M5cCdgpMJTF-gV_# zD}HCEFza8`9K$YSE>f$TW^G6#DES-o*#e1UmSgvrue2&qeEam3l2Q>-DfxmRHcoRK z^rB;-PwyibK|UR=a4P?iVYDN`C1)EmlX%f^?+xMVqIKdEd6Rc@qS4>q#-6l!;sEn5 zq2^ZiTe4S?0o8?QGf3b$(i{;kjHkqk7hjQ9D2Z+5v zV2S9itY^O$_AZA^y-JcSbzxrGrw7^o=1I!(a$`l%0Uhupd9kFuPD7~8>6T~MSiN6f zH5LE(PEfTOZ7m0*V4%4vO(MEz_(nSq&qT-pXCQco_Sa(Xl~>IJ)RVU{BlM@#?mCh zsHeM#2A-5CwQeGBuqGOcc}h#BpP)y4l~hw?Ly=DUG9&;(!Kc4$1gFu1q`!w$GL4o% z=83xcV4(uQjxq~}LB+j?kEeM2F?ZyjL}C6kSL=_^4qE3rckgtPl+u^W*(s|vUp1dT zyl7533xLb>#@8__Vt&7rzvC}h#4eVj4^w{O0_gO#2N-eUgX)MG6A_Vc^Dd)I173~7mG${2XgMkk#S&0r^ws)%yQBcD~*&^+K*1IIFMUpYj)p$YEQqw;pCY)IQeDpyi&9g1zG1$?_6Mn ze+K;huT=B@NBN(s0`zBA^uMnD=j7_|%70P*w`%%B!33sSMDZZnmjocffG5u}YaRlV zxNjhK&5*Q5r{cBZG9V>!eg{++6vB&dAe%Kbm-xq4AL2$fc1A!`Nw2`>ze&-$^28K!~16 zeI2$;rbdLf;sd=VsFcY`4LDAQzP|m-(bzWj6<>diVk}V1(PIkDKgXG2l_@A{$0XLp zctP5Hfu_2Vx4YyJt=_VoT&fm&+UU>b<1xF0!K=gHhq8OaS?`B&AOe#l{s$jf zxA<7Qm{4oWN6X)LBRdPM7WfbNR`YH%>`d8PxjniZ9c+jA zCgndRPhGUKpWMEKetN*R|D-|p6M4cL4G#!4pm9nUx>Djprl{JaY~{x+5OC*`h_j4M z&p`LYizXH_sxOO=b0ukp`A%wtS zL;eO$N@%4}j{8vQIP}+AE+e~{P+5J_#)elRQt_35IxDg~GDwCT!Oa*EsL~8cjYLuM##c;cS zn$N1oocR&H2x@=E6EB4}oKRVdNKDUCzp5E>qp|g&*@e+>5XaMD1uPjy?-z6(2MRj4IfnYOX4%eQMpy)Uo3e1K z4Z+6fNiViRd`V27+8zBXJ4ao4B5Pp{);N7>mn03+K7B2hxvmCO2)pQoTEFgq(!11{ z7nw+W-r3t9t->Z6tW8bkyH#k$+6YR;8p(FvEE6EYlzKDxCta{0 z`ShKo3b_^ga5pALdw2dRdQqz2#lV~k9k|^F3-M)2#JVJ$EoMw7d$~WpcW)$Gzo8h; z!wiPeE*6|H{`JF=jO^zo%lCW*(e%i4h9<_&r>rZ`I(xAf0$^Z6*DDhy)jZ-JQB7b) zDF%vdlNk zRt+-$jKKeUoWI9;`e#BZLS6Vz83-}{@SnoJGT;6u;eQSDj7<0O75_>EJrDk!{r4Fd z>`}jgP&80L5+9KdAL7-p-A^$esiF())<eoyzSbT}sdxl=dlgT_H3=)Wb~)Gni^||K2j$1; zfuK;$q(^ZLc`Rz*@yrC5%}*{{A;D^<*{w7?$%#Xrxs(y+uW+et{Hkpc+n4@k{72HR zSGtErKYdP3<0LKu3pU;7h+?L)l14+rBIY_OHLj>kqn42|rO^oOqPN3rVm}Je1Rny_oP!3K{+9nYnWykmC_-7|aEq=nk4WG3deXx;4uWgQU1 z5n0e*ZP%~D$HpLKTY2q*`ANaa#s@q6r88&>gt`XAEt@9AK1J-3(rh)h?A)vG%af!B zg*ekrgs3v=MB`11sIxPzh^2VKHR@zn?d!CXSL@PgtJ+HgI_yCIR@xE6_1n`swArYctCKr*iA{TB0QjVn$y zpw4H!bY;vp0ZZm;bufC4PgkDnRz_4VukQNQawHsmP{Q=WJnggj)kVB41s&K5dCU>EYgesFVSk=G=OOea6f1Q1LmIu_|5-z(}VsoM*pksACy1Nihq&+ zeNy>5gDwvG6AcHH{--Gj^x&T+ruz@^|Czr1?YVDgX+Z~}01e(dOlsdgiB) zj)RxYb5;FVG;OmSRr6u5k{|0q=|8St{2W0ioN2PlW}MGn;M{Lced(`maQkMG%#7ca zgv5A;CXg?~Mc71mVLjM}=-kG!GW4^%3F?@%9co?X7W$FNf*LLi)N#H?Z!UdagXI^$ zx;&Z*eARC^;P~@e@1VU4Rq;1HA#W+(NAcTLscQJrbb{kD%kS%}XJ$(eHzUICTGjiZ zSiJOyOErEZy`_yf)A=`22SEWWaAxdWtN;*(=N03cjCiT)=Eo^|S)=ofc=$4!Iw1}i zr)}&=XsWl#KGIDE0tooR?E`8yk|(8BrhP%^g<+?zAepaef~-&MY=M<3ZY&b|7+`}q zuCG8KCBU2bgr&yHLu2zba#P;9m;j;TK}#?YZkFyS*shfEd9Q<$_xg}~jUofZ8@@*I zyt^LVtk{O>XYOwhtdk!cOp;=J_9e^)dK3KQM384i_nXDIxA|k#B99zK4GICB=%M{z z27MEP{l8=zJEi$n$y|v5&wbc631swj2^m*p75Hiqr~PKW$DMZ5J}&Rmqu(H8JPa4Y ze5F5>9*t9MEs=dQ{Q^NzSGx;UPQa~w!x3ySV%d5kOi?&=EBf;#bIoaJP~}d5=-$Jd zV%zeMXeI#Q0uWY$n^4OT&n-%r>HSOS3(f&%?Xrh+#&d;|>oXu6G zj1U=;WrZc`Z_-7|XC_|(5h@9D7%J`xtbNKgA4#RNvnIC{*(bla7_fB{KK*!jDuX=PbIW!4%BMGGC*b?| zhIi0nwCkD1CdSLLal`R_!ASW=nr1MsYSVOTanyl;)Cr6-y9$85!6VlN>{U=@G;jGQRq5Lw#k<+z^h9%XJ6Hs_Z6aHZ`a7S9wEoqBg-Ciu@HT# z*={ZI{%Y+f#_6)7l)IondU*pv(k6!`gN+lqN*Xa8?bNz;@oN@m(#gdr(W1PVN)-bw zn3LfrT-_^MkSvB!Q%yIw*wY3k)%RtmO2TE|(KH*2Xl*}_oqfn#*9n@NKJ3STAUytH%98T{+xlRAZ<_10^ z!9Xdb3jliMSOXBen}H1^KlFXzeh!@e_06-B(iGSGlfnyEe z<|fjfpxSHqY%_A9Sp63hz!OoPgWu9U?0fJ56?piAHF35-(BlBM(mhD| z)4vNS@tA7>ayd4@E$z#HG5)9iUmV{zqYD6c|6xOe%L&!tzG$ZOO+(1(IT*kZaNI(7 z_=dd;z!`;Z4YB~3O{AlTpt0&)9832PW7P%XRh6OVyKGo=gzVe zNyl6PcfsMskI-x}GV%L^)Xz%kAl+( zY02>L$*y$XHqHaPS8w~JZ@fAP2rL{sI zE~ENvjz6`*?ft%42Fv>U4XyWA)4=Js7vOJj3Z1`Ncre*KsW7Ke{7%1mvUvU&^D=&{ zHv-0}-&$~J78tf6o`s*CB8*~+h>I$w}osRu`;hqXP2-#MkP;15#nDnxNBN-WN>aB#n_FExH7jgpz%`#ui)Hb=tiz$wit?*3 z#pT41m`=P__0NOST%0EC`DFMi$|kWWp;#tL2wt=!ccTtE2TkWh|fHQuL1ZCHfo!S(TMx97Z&~HI}^CZb*Bz7>3;sl-ynnqO}zrq&9;kQ4%|;n zZuU2b7-JsIM{fSBE`mV!4e*f6tu&SemrWhRVx@bTo45CjU;(D>$0%r?4vCKN1pl z*hgV42?&y#zWYvwUGizssJ0>3MnVf?)v**o%T(LLwo&ln=*}r?CX_@+>#vp$o9tlg z@BAl4%&U}NKP~E<_;pvw+ED*RVJX$aw;@W9z6i?$1eRLyAWPxVmAY>tbB!pW$SQRy zg)upAQL{K7$^B0SyT9bV*XB=wH&%o_)V@?XSlewuR~7G>?71_`zWK%+&Bv#uN#KhuV?68qxr{Fu&scF@TMK?KrA(QQ(AY z$m5$M zbo1}284K$Nk8*}U1NCAEyMTRvfvLtW|0*PK1e^Xsl(TAZEws`~y>`YmUN#RBz)d`e zZTpvdt#h4|B-ANR?3q2Y9TZx}WY%-wJ@WrC_7zZ3ZSUJyh=dAAgDBldmtX)xgTTzt zpmfL3EhDozi` zg%mRJacHlum1 zbN^v)&q2Ug`FeqhOHl?VuX=kfG%s#X?50H5ig^T;vNT~hs{xaCPVw05CRlvSUXP`f zq>^}+kxnmv-D+B-ES>%Ou^eSO?ykEs-ySK<`#8OOv6w6`*Kw4MiIAc`lm~T9adAoWRf55S zf(fi{7P)-s6=n{K8*dL9%eTAtqC3k+8x@3eMGMROMhA!G-J>hvT{S2qY|l1#88>D` z<$Y#Lu?R&B1n`R_CF*CRI)~>7OB~Zr#;Y;};|4rE0gBQ*5L0L*mQA56tWzw}z*C3^ zLNKQ14{`5sOh@_kMy-C{HJ172qgmC_djS#8D=(jc#k83FK4Ix*_By&zav9zlsYIJ4 zs=$is;} zw)vG0_)lr@%&!XiZ(d`c{qlFS*IfWa`d5kVw_AV3Tp>q4W&SIUi{Jy&g5RxRe?0{_ z{c7yLd41{64lRCs0e0*8+kW-?XC45mn|NCEAEg(fzup9JBAogq2mc$9UHO9hpYdE@ z{;QM!dyM8+v3LI-A8FYG64|G=wAXosp62#^<64IXDQJ}=ZZN1K3|~a0G%!)xZ>`VM z3Hemx_swFiikh#_(`H6rx1VG904t0a4h-$y?^jUOGi7l71FipuYhP z17f{3#Awh3*PJQC#lRg6C zcJxHrtGPgYI3M03&lP%IKH6Eyc7uHN&_kH-1jGIZB%q^uWOS%PHZ8$WtG|u| z9gIKzX(lL-#I7Oqo(Fvlr525>$!)>f{+gG_&z2Y5uiG{$>XtnR zp3YFSHj(n6m_s3j#_xg91r4F5{&z>5R?JB%WP+_2T!U;G-Uvll!17e{p`oT8_o7rP z^<=_HZurwIz(;?AS!JrJ6-4jYNzAI=4EwMOu>)_% zGek(}x}))7G)V>G5%he*=cT{%JZz%ww9F@b8^*@QD3KaF>?d? z*QJOxf;|VWF(Nesm3Ok#AFk%s9%9be2s{X<8xcSO(Jsj1Vx#yhTgl^d_nQg^f3qMv z#!o=w%b>7BSx?JEjjW)`yl*`}bo}q#8qk?9Qac;t3P4jJsmBOGRR^U8M=z|I2Qq=b z@(cJRdO;QDnd3Pi>tJ?m*K2I9^Y8@%pZ{sgNdQd45-chZA!09!e8DfldzKHp)-YwY zHtQlOY;9nxN)oj^l~U{(w~Bce=8OXpYcXi2mUXx_58TMd8ud!J!Prc=mk#D#6PRkV z3mz#B9me_JV;TqIUXwF&vS>^^FQSpAPS1e_bWz`r)Ci8xLkE}1PrVZ{axg1C%e8I; zH&JKi05b0o5-sW5EkAiOzl2N%ek*OYTHcu9F;^83W2=~x#~W^av}E3q+U`&8P;Da`rki9R zeWWv+V(aei*bm=HqR|^&kJpoNedn*feS-8~AIdh|^PpXE*%zaf&mGxD$A>4=u^)%{ zD#hfx!fN(DA4-Uyz4v_UY_0QT-)PWWVR*rICMEIl_O_sj?(|Le*R}gyZg114_no{) zda*ak2+AmV$SLmYyuBu--Srk2)6;;j|O|18+TtYs|XEd315| z37uh-9<#js=`F|T__x~f&y0V#gd?KEB7Je0yd%_6kWzNyJ_8Z{nr(@(0$T90ma(qn zQfY;dMCkJ3N<@!MIon%xX9s}+dv}Aknl_mGxEC5iu?7r=PNUkF+Hbh(dFn_tV&k{M zy~7-am)qxmvITDTs`n;Qz!OCtHIKY+Kl(}EZuT?2{f%$>XEbK?(1awf;t=z|K z^#wQdp;m4mRJcm}-L&N5^r?z{!R>6zb8AIOIghiE@7z&THHo%4kB=mbqVKK03L!RL z8BeZS-Oe%f?a6snNA7%?N zXFm6nJ)(&6AAA)y7JK$?K#YZS&vh(q7S-DK9qr%Cn2<Y%z z(k1o#!0p6+5WG>$TW{q#oW0h#++uF!x!G9pzSrQzbe#S4J0TL=_uURssMx&DJZ&IC5Wi#>t*uDHMhSs z+f3P$%WdRTY@XHND%a~Enxx7VzTjzyNiC5Io1-B!LDMQtlaS&mgnUJgvQ;zcNg}`d z3A4v?j`XMRk_s9*X>@C!I~L+@*^C#0eW&vajW*m$4O80qWlX2C&a5?AJik?sUU@jv@_IM$99)RuRe-a|o|Hk+E z<^j#-oQePg!w>--MF1tvjxD#B_i>M}s{#wmLJle+ZrtrZ{o*GBS4ja~)`g>Kurh_H zt@r%8b_o_U(iPUTzD#F6?1v)uhC8N&g1wQpVS0$FdbqerGL%Th%2NJ%_E-Q1ZpF^) z!ILe$ZOft# ztWL;cJpeFNB}`|ZN`m;V`X zSOdBLqZzizluncZ~d+YU`zX^6i(Z~RE%nh;FaO?g${GHXj%nePQFL)vS~(FYW+Lm$-gN8b!vu6~3_ z*83h!=B-0fOh`lwmBlMFnL&ZV5?iag+E=yrSYE7?>UlyGXZp1-y6ujCmElC5SKpci(xMf9g|-~Pkv`X zrEz-q^RxaaXWHH|n|_KY9j@dM-Fh>3I#u_oRK6I{j?2q6NoV2#!wGB%iN~&B$*DJ8 zK63U&(WL<1*mCy;UPoMB1Id6wV{7vVyX(;p>>4gloGJS9744MuinjMoiR6-JxUMMl zgte#iLrP?Fid>R}K+?rxsdO}~mg?Ae7ncunZy?4BirDW{W+Scgk;NWMJa#Hv%R6_) zPjQBIx4kgD{-1nEVR4h$D=iU;U7b^j+s|BuE$#Ec=I}Ir79In=JXVn_n=h%sbudWNY&fBkf%m7!IeG{1>H{CC+lw=O*5s3|ez}#+M8C9+^g1vDSpenug5` zvpOV8^>LD5x5vS2PTZM2?O6$A-)odql$6_*cy{Ev($fO=i{l;+anmU0l(_aPPkKtf zE#HJx+Y^jhgvFLIsn*4kbp)hpbmCY}%~TGXm7KS@z80+7t*%?=?-ANC&||f$vi5-ez>uT?%~{jetgyyOWhOP>$d4n!UT)-e6lf3vjEI~__MtiVRfR^XaG zh2Fa~jKpSgJ1L+=Jr&1VSyh;83N>r`;yT?;xppBHACx{v4Mv)uzO4*&%ZQkl6h4z? zagcWu$#GVXpRYEjt$GEHc2ADr+Jh}Gw(Od(sYu7yl-CKgpS(Si=or|H9*it48KQo* zw>M@I(X#P#;!zo4%;vumjfc3aZXAw2SiO z3D=m;7#O{$XKTEJ%N1M`8RR%HVK%JS@piC^;P!fW?N!V*Q?a1Z_6LmmzL7K~tCjI% z&iZxg9INmwpu-?DUkBDCPhZjR^fOb6CMuJ;Zx(4OMC^xkEhRwZ zBgv62q6)}?4jhkzi2-+f>TZ2iiZU#RI|V9G3<6v11^9SWOjrtyAH!8%uOUsNxAZs) z7Tr;M1QhmhEz76yh*{fh?L(|zk6qhp0xKM?@BEdY^Pe=s2JvCx4o@|BhvL} z6~42>os8=4RQIWwaE(O{CUnL2bzeA!LbhSuSltcI4Syy2zD5p^K!RbUt~^%>h5i`V z0VU=~JKL}SnQs4P{Qkw`{iopHK=Oa({jxONdhJf+sd2YZ8uy|eh*Cjs5 z17XcxJ}kaEF@(D6`jN!U2?zaD^ejKh&L@@NIK(=AtH*#>s4D12uG_k9;^e#@!z^Wl z*bgFkV_s^*{PZu8y$@?R0Y~(Z?p$fhG}jv4cL94om{jM}R;LFKd!YN@E#K0mht}U4 zW`0Bt4@WGWMpklbzKZ!oD+CoQDca|Tqs@1mIZ0M^^Hj;%7U|5g=!hJ2Y2$LYLu`d{ zraL&-_*@b>_4?s;Sv~5u+EJDGu1a9a(?~|pp!>QK%haQwYhzxN7D*$scRQjy@8ern zlBbDQ zZ7H<%rs^69#SXcY$a+u~-@j>%{XQKgIG!umxh_nir(cI?=>2rvDp z?_P9LCqW0Jw2#tyR|(xE9`HarmDC8prL~G^y^5Ja;*C=n0||o$4h1H1TOl%3XQ;)d zRnIN59Vmink^PDG=}H)>jns%q0&i|Rvn~0gs)FRoOxRf-suLwrGz$bWw-seZXs9?l z$Did;vZjgFool*^_NT-d$>9cIcewK_WJz2e(a%;J+-Ov0=NC(le*WA!?pWd zfdA6_(#m?%xH6Sqy$q zK@80#v$X0=rQR-9tsR<7*T7tintIB}ZP}4quu?z_X{&~obsBDS!fOX-DAbc>+`VB9 z`9mBAG1{+=2Amv>8Lk%^`>&>=F8Z8u_#CbDa+6Fy#^JMO92UWHNccCG#I7A`0|$jDJjD zptwXwy91>T9zXV%VYd2yw!axZ(Ah4sko)9LL{>ZJp$TUdT?dWsM|(k&^xm6empFr0 z^|6|YN2O!mMIe;xDX~R=;BASI96he^*Kq#o0#2)0Iq}ZZ;*p8y)bS3%lQ#9opANMj(7og%OnFE17jlc2M(i?v?@8xw{nf~8&1r$>S=ho=%;{zA=r?AcxwQo2Vo zg&;U>Nql-~1?Pc6Yew>N37&*z=uSaWl)L|G5W?p`1Pe8-E_n^o>;dl zDC5MZv~h#BuWb{EL?ROKA-fUsUyzu2ff^Cxr;t~;XA~xPJnJmOP5u19@XylW(d&wB zW2hS9r~sob>jrc1>PO8@`6Yd7ccp~~v~%Ig?FKp9H*{jIeu(PqpQIcQnFw#{r|jlU zUZWJkI`#{G7&Gu4G_Nciol6dWR5?-oft7bBeo{5~#BHAlWH=r5Ma4{ISA=*|Zg;#Q z$1q9*_ndm<=eG(WZp4>fe2{?Q%W=g&@WK?$?WL+IK33+o%N34~d^C4x&7vQ1rXFRz zN|_!qk6c{vZ?hg{Z@o~88>gUS(a`*dP%pn;PN_;twHRA z$_1wc0#Aw=Gw%;*J#^Z^!vcq|hK76gf)jP!X3W!xmlh8(+czIWhf_Km1$tE-G^FyW z9ExV2%WWG!v+hjsqI+G&tU6YbZ)wV`wOqvKBR2lDt=L%NX_kaxfvE#cR+Lw0WN(-_ z14!+8N*3kt@{xL&xg7-{v^}javga_$;W7(o!lScMgXMy~0o;G!d7hzGJUnN}Ot#Qq zdh-=q&z>VPro|=L&Z+8%gDBSMMP{KwPnAsXUfy~}I|8M(d@Z_#ABAl*hRZkgEO)qi zxa?FjEjhCXfXA8C-6K*~ys#1k3|0?^Za&r(u){s)LKENJdDZJ9G$h$C>ujD@0SmM` zy`$>SC+RAc`3fB69`Ho>umO`HPIs=1ZtOUdj=ygk=eIqa#ADhtNg1i3BYc$n?y#Db zoIm!6A0#7Rxmg70=7>MxhcX!7i8=SNBoA2-!4$Td>1C=PnISEY!0Loy*p58K1|zSA ziZ3>38!71lf<34{h8RDLiyS#f$@HnqIBz&I@V1z*xSsWKO`CQz+#g67nbQ`T$ds9!*UJA+%+rV7!QFM?#<|uxz$JUu2H0P{+^ko93#!=4E3aKe0J2K&#uz#X5ch94jW2o1F(VkHp zEUke)6)$JiBBstMqmK5e2(9B=QaR_d#KcAzu{c4;6IYQL(K8()+xj=MMb0!P;$BgQ zFtbpL-V_{y3}si^m(!rQsqU$POpDa>EjA}RD zYGFsFi7fc1F3%tuj^?-+eaIWcp0FFk<0{IC4k~zZBt%J-$T1+n?WGrIf8dpd#l0<4 zqsnnA?2#^pv4?Hz1Zwwd4F`F&D@Iv4*`^NZ35e$%m7BO1EH@#e9t7Z*NJ) zUDtKPzX|P695fS&>L#}7HM89#PGF^S*xaDT_&dn;bJPd=$bQsfs6&5o6TD(W8^qo=2;oMkX70-iiM-%s_ej)MxTl&uzHSf~(EowZLSO%ai(mdSQzHDrHxC1o208x!#%YFG_`0u7=}KhqW(Oh3l+N4ERjEr74E95u}Ax)z64`s!Alye$=o31J4(G zizazYYE*6B0>tc1Wi92oFF@d$Zk}B>o2UJ(Ba?$HQ3Fhj+Dmx&x!bQba`o^S-@2Bf z>VViBl$Atk*_O%9^p2Z+&hNEmN7yEdS*_NoqE<1?qN)dw?9sTmTY0m%2cKO8FU`~U zqik(ucT2Av4(3Z(t!{Ee8D7JGhaCSVZW${X$2p73XmYOQTRu(@HI=LKDkNo_qFYeE zDOdVrq?EObcE3Uzcr~=JtjhJd@2>F$l$T0dcqyGUx~-mt8Q%meG7P%QLC3qm&=JGE z&;Zm&+($}__}4Tkvy~Rkbi`%$jS|+D^6LKIdMPc9pGAhYoV2#+l_UteSnfU*hr7o* zEto7RBNXImqYO0-cJuS%aUPyVen~1feUsJDq;- zi&kvF^+sP5Bb4i1pEZ8!Glq*x=u|JhEtB_uA@(_dwMoeJ1LmOewl0={ajs;LqxC(t zf9kuD2cvm`OTcndu!-GoyfZGswA87CYfnyPe505ffoTe{xy_9nhjIp4yHh?mB`u1l zYFlun$xrD~k*9PRwS$mdKr{x;OV7ap)jt{;CnZjGdX$A17Z^#5NpihxJ2j<^Jj5a) zoeZNOQ!;E!;|5njVAw{2$^8vu#@ysXk@Ehg!>CvK-b+z7c_|&y!CD{;#F%a>fY9Ds zPs)NWGb{QNdQh2Q>C^DQH&BaRfvw|s>S#_pznJ50dP&>ZXfPq%pa1@rSb3e0!b8Jr zW$iUJHKkiE0;nPcv)cN2te60WkJG^uiAf`r=fXh1R7ve^;YQl3v@Y)Rm$}WH^UW^A zYQxEf_jaOl)wZFQM-Pf4E0<}kB>X>n84eoJ?jn<{o>W6z$8>c*z+rg0TWky8CttDKq|Siw`CcMG2>R>Vcb6&{1o30O)$%4 zoT4%w#B`dx0T(zHLCXa7^tKGAc{FSxd1Y=Edse33iilf~9BUyNd?xBZFv~UudLP7l z%4Wwl?yBs~hT~!r=JvQgWx=mEYDnI0kVGIs!fk4_i#6J62RoxG;)pNYQjjPmwIRYKPsEQHXU_kQxFRd1dNY{PUd)o9x?{+TdNngN~FDv-J!{gXtnBNQH`o6ZsH`ZmyHCd` z9~YshLzb_HLS?rwQl6*?Cx+9x>Y$f3aOOyR?|AHfd;jV-HCxiC$fmm*1yrKIeK99Q zJ||25#|~Jh^PD5pi|aVrICJE1)jy+O=LoiNbl@qnMWrkp)vc0CwAyorH|_mAu`Tyj zv+i2Go5qd8x_)6_%c$9OW9-ilJqF#{ceZyVg`!pw77k+bIK*1+`$afu4xg$S8BE@w z0SIepq|7@6tKyof33F(#41q-js%GAi8lTuqcSJGX@q6s-@osRP-d5GOjF&ghk>4P6 zs38^W!a>H~TrQv`LBm_cgrz;^hW0@-^1CJsPh$_K*qgRC8_TKD1&>nw@dsRM=|EYoD>ukQsyK-b<=cdfUUJ-a`{&7yz(;FL~8CN&}wpuP**qE8dt4Y^(s} zs;mPdP45qQI)TX)05p>{kbpepsnb=w_W%^-%6-f{$9xV%k)rRq9eC=U1Vok8ef|2* z0gp*wGNoMr2Nei+^x;X7y5wFHj@&Zu-wQiAm!g3>Wf#g9bX^%c z#cNs95!+`0xx-GLvb%RWi<@{(#|nq?iR1ioGOh}i{QYg>RRzgliu8G z#zo(+m#i1mzNRtot6!deAwku0!^C5IRq<=-l;`ZyIR6tjK&mPPH&OG&cC};Dd6UMKEbOzZyOSl?+4w{c|d(suu~n!EOei1*^f7rU(u7u=2Hqm#x5G-Bu9 zgE|U&h@DKx{N6=6rp^|3sAmZkoL=M*#~M!K_weomqZijBqM>eeeM6JR5EZFcz^$E0 z$3R_cj32`9URr*e%#*L^Qtg*H*OB)!<=z|o1FvOYN-8?McE4Xchh3ufdi_d%3Vy^- z?KC7*dIbOFwBdAM>d*MW1EoBvLNv=XtvjZUMOme(X}F5Z=(c((_{KB4)8A^thOpjqh}i8ABS>!0xa~ zJ@N?ZFi$S;i97CubQR1RGmFJKw&`do_4tvRJW{Ay2t@w<%;yDht`Qy=2o|Dk@?zLw zfO1T(!TWLSo#Bh(rjdj^?V*+B_l;we2r(-qk?ZB-$IQVC1H;nYEV>Xu!H$Nb{3^9M z8pAwdyVgT%57nXzjm?3WvWD*3N1v2aruXR!$0sUFJx6&$DOf9&Pp>nY=De46Wh`;V``sA0(!sooIc57=ucHF$U=*f%L0ohd3%qk+1wdm!VDO3c%6OL=5nz})s&+{V~KEI7e?tuYGqUE)UIM{3b)4rYnEDNOCM&s!?Z<>h)# z_>D#R-NmE=NVi{oi=_0?KV@kzq2bJ!3~>-qHKXYDpGYZkfb*q&0|clh(}l?1VU6Ba zBJQ`j3o6s4ERN2+9uv-v z)YH3DM7yt(M|qLgR-mk7;ClF|n9ht-zBcOF?X(KphsAk%$k`*^0Zgp+l&Q6mvN3!t z(zZQOt>|70O_uwn@{gr3^xTh-3h0=MXME~?;P2opA%?@$~pRGstad}X%8D} zDG|&Y=9!gLk{@Np+`nUEFr}^_A91)oL~w7~((HF5MrfL_Bu;1Fx1|7qu$oF%!@M{#pFdG>_{Erqna2DQMN+eVs1vyziKz?b!vZ)bd<* zST&AX}amhj_c1wXD0uLDC4RgzQ6!7fqHDFACQ7}IIHmZNx(_i-U zH$&mdFDSx)(*K~v0VN;*QwnTI{RTw*$94MKj$Z+Y7FVDCQ|WJm{ZGzs!Q21b{xcLj z^4cDP-zrN2=wS59UGBg~Tq{AeEmsPkawG7ftjPgw!Fi$AjmdXc3;{I^ZLS;4&J^yi zgXK;>f((MpZLecySG87`uDDZ%S(DAKQraaDIbEH)_^LYf!|AH4pPBm&&3sD^`HL@T z)KyHiBk`S@kP`GooAo0lD_Rlb76sCWls2in=5pU(c4o|0kp(lbpT#@3ttU9eN`~{Q z7;R89+t_K>&}H?eZp_T`3EO`?&%q*?*+j>qy4zjGZa&r%ES>gbpl;@3-=NQ)rY%$I zybX)nwX@sun^yPa2115>9N^R%J5on zne9;GqPr}!rTkIA^AJ$?C7SQ1lhX(4{hTjFX*+7)%)>(6WF5jYIcVq_C-FT@R<3b7 z?NqxGw|Z0?eqGlcZuN%-HK{HScP@=wK2t|!MfXxZs5gEeyXq-Td2!H}ke<6@9=HrA zPN761u!`>16~`z!p)38Moz9FT1dW1bTj+7&@kKYG0s0HbFRpq@xDxOy*l}_2UT*LGU%Bf{fHp=&@#QSCK7aj{G{MIHUwf zN1?Yx3J7*hVW>4~eM2J)9V=B{5eUzT)sEwu>1phGA0rSKrQ3j$-6F9iyU?JQo^^>{ zB(t`UTbT5GTT6`5(Kn3hMilf$taps46TWXxe4cI5&AzcPIpLGA{ljdpX|RMAaUYF} z{o%-KL=Nq0EA-Z+c)acLjvMrNplJnRSeMhSP1!2?p&^4#rokq4rX$+X_X4M!wComQ zI+s#*Tfj&t#eM*^)%&XJMMR-(m%34^67MyhwJBfc9`EJnD`laTytdKbxMlsJ{rcE< z0z*eBy`40e8X1tov(r>hAFjk1yU`TamtrEACtAks*KcvZH}62k(yY=>B{Amx$X2pv zt&qHPk0=jgX+}@^8$ZF=%G}(r&kNrKGS>;B>k>H-yeIqphE{Pem>GbEFj z$(Awl!hv#!f;Zgb^m7|Y5#$(18UH>JDz~jgeXFKq4Z?1doUJV_)~Xi#?B1=$cu00v zosTmlV%Th^LGff@{^!Sq{oYQiX3p5-b#ziykNTkxq#P&wL_x|dKNik_^e78wlW%B! zJ0wf4(>cfu(OHsIt{1<+K$SLxt8wha#36=Sr6^6_3`6vCl}PEs6}X-xh-k}Q#Idea zv0;qdEs92juY1n7;ll_tf{dTI%c93jmqose+?nC}#n9o)Uj_o$Q|r3^`qven;oq`M zkslRF6aH6s{i# zu^sc-5-kJ=JYa(E4wkvgk3x6~`-JKi*wl!MvE5X@vA`wbr0w%L>+2@zM1gob8-5?9 z>V5{H>J_qM+#={pX(cgbF)6KGF^p;nC4*Gt3QDNox{|uQYz>#o!Z|Jyu^`#J=xQupFC3{ z?3qsL&VbeNWaq_~V3_mLmHUXNBQ0J|e4O!bQ#uP`Ww`#pdyoeiFkXVJZcDaY=Ect4 zbRS64Gt5&~cLf6KZQSdOwNuQGW&feHni2}qtI#S3>Wq*6}1rCOFjmeh#aImS;q z?1=$Q``|JYYC^BD)*-DXqGs&52gWdWeG-xrCJQ=dI?3#RlNY;|16q4LvN1)ay15}c zGdY_uJo>#0XWe&`iPta!TS1)A~yz_D=(= zYtnZVh}|AZZpVQpSHl`c=f0dBxBfU)>$17c`o0(G6`3r&+wp^w2E6LJYg&&{FbS?H zW@4pWZ_T^clh=}Fpag%}!Yf3dHc+)#FF|j0-ztmD{U&&G6FwY)cB@h_Nac)xW5_^C zXqeP~3@rCzbY{rQVibG96leQ0IyyQvOJNr#lBm`_;>pA*nssRv*tYR#w%_?i!C?6K z8rhfy4~c?|0+&yfF(VW8+B-hKm7E$4b{kh7>L{stBD#^DoP3WG!yQ_5mc{Wy!AOgB z-!)~hwBVk1uGqvjsT%Jp3p!Wcs7FU+tL9v5)pcQ!y;2&f^@NW^P4L^9+C7i!$xvoZ z=%#w2k}a8HilsD0u8dTA`_k-9jHYa*t;%v!#p~4@j?!F8_diHRLFz}`nWXtLxg6E= zB+OB*TQRm!%XTS}HjY>N?`=SITE({YbgaTfzCS~g*d)Bt?Q_;)Gs(UgTrQ`J1w)f5 zOwGC*IlScilICj1zGFV#$N*Sjq}o}WzfD&8UF&Tsji6O19SJ?p49R`Q8?hALMX?Z_ zf|)vr?vyUmRFdF4Xk&6T#kcP0I1m?se^|c8hr-)O9%y_6klHk_ zBYrW<|D$s~=|D51|9sm2{<-Z{C2!4ALAF==9 zpI@OmxaxZ40Un^rXGqBZ=At7mn9jQ&sh+e7-FoZm~QzwZ9$pnf4#uDrwp13h!B z+%4w{QdvI5vpSz90KArX80Uxm0GylTB{?9{l<^T1SpUUR>z*+FORgKGiE#VI2c&h^ zF!!9C$v5zNU-G9VlO=h6Cdw-sCMq{%|ABWkQ6qt%u9B31`XY7_@+mg$=gUeD{vO?4x~iS; z_<*yZ>mA{+^S!Pp+%+bbYAT1@DiNK z;WfJKsz30?5g=aI>H`kQ2v_v{l?s(FL`A0iYAw9-XjsiGiqOIwT{~RfS*5-?YvrZX zrWVF9qn@Y4#(T?TR=b;1vK4doo_#a9q#|NynNV-Ux2^?{Y;xB+@92GI;+OaWwo$Jrc>tvrWOOuU5eF$Qke24WVDA$^aX0B-Mmk1x}ejoM3Y5wwGi!a8X8eGRmk*hccTYm zxt^YNu5J!ZTvlS&%OJy&qS+rBSz@vD?dh>PX(5#$1@w!4#@#R` zh&WSlR@wdTADLtoc>F|Y5`m=)yxC4QEN=Yf#eA|QBNCtoPO9DxOGyu_w}kPI7}h}` zp6FuoZ58+rn;8jLNinI9?c;_?_R7Y_#B z=9dFegs7&i%)4kLAUyjA9;aKrd6b-v#N(7XpWW@0u=_d>qt&|{`<;VRL1@h(Q5GNH zLpx2rj45(Q&CxdDny(Hjy&id08kw1Iujp9%!zFn?tnR?ybB_o=A+cZ(ViejJ zF*s%E1r%ldYVO+`uePqIN=zhj$9%0A(jFSrWIGj*Jk`peWMXIMJMjy3PMA%8HtjrV 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�fV+GUHIQt4%g!5;~-8c1<&a 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 Pstu1-A2>DBd>{QkLuQm4 literal 0 HcmV?d00001 diff --git a/public/images/partner/ohne-makler/immonet.svg b/public/images/partner/ohne-makler/immonet.svg new file mode 100644 index 00000000..a182803b --- /dev/null +++ b/public/images/partner/ohne-makler/immonet.svg @@ -0,0 +1 @@ +Immonet Startseite \ No newline at end of file diff --git a/public/images/partner/ohne-makler/wohngebaeude.svg b/public/images/partner/ohne-makler/wohngebaeude.svg new file mode 100644 index 00000000..2bf9887b --- /dev/null +++ b/public/images/partner/ohne-makler/wohngebaeude.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/components/widgets/ohnemakler/WelcherAusweisWidget_ohnemakler.svelte b/src/components/widgets/ohnemakler/WelcherAusweisWidget_ohnemakler.svelte new file mode 100644 index 00000000..6387dab7 --- /dev/null +++ b/src/components/widgets/ohnemakler/WelcherAusweisWidget_ohnemakler.svelte @@ -0,0 +1,390 @@ + + + +
+ + + +
+ + +
+ + + +
+
Anlass
+ +
+ +
+
Gebäudetyp
+ +
+ + {#if isTwoBoxReason} +
+
Sanierungsstand
+ +
+ {/if} + +
+ + {#if isTwoBoxReason} +
+
+
Baujahr
+ +
+ +
+
Heizungsalter
+ +
+ +
+
Wohneinheiten
+ +
+ +
+
Leerstand
+ +
+
+ {/if} + +
+ + + {#if isTwoBoxReason && (gebaeudetyp != "Gewerbegebäude") && (ausnahme === false)} + + + + + {/if} + + {#if isTwoBoxReason && (gebaeudetyp != "Gewerbegebäude")} + + + + {/if} + + {#if isTwoBoxReason && isGewerbe && (leerStand != "mehr als 30")} + + + + {/if} + + {#if isTwoBoxReason && isGewerbe} + + + + {/if} + + {#if (anlass != "bitte auswählen") && !isTwoBoxReason && (gebaeudetyp != "Gewerbegebäude")} + + + + {/if} + + {#if (anlass != "bitte auswählen") && !isTwoBoxReason && isGewerbe} + + + + {/if} + +
+
+
+ + + diff --git a/src/components/widgets/ohnemakler/WidgetCardTemplate.svelte b/src/components/widgets/ohnemakler/WidgetCardTemplate.svelte new file mode 100644 index 00000000..56d73ac1 --- /dev/null +++ b/src/components/widgets/ohnemakler/WidgetCardTemplate.svelte @@ -0,0 +1,116 @@ + + +
+ +{#if empfehlung === "ja"} +
Empfehlung
+{/if} +

{name}

+ + +
+
{variant}
+ +
+

+ ab {price} € +

+
+ +
+ + + +
+ + {#each services as [service, check]} +
+ {@html service} + {check ? "✔" : "✘"} +
+ {/each} + +
+
+ + + diff --git a/src/pages/energieausweis-erstellen/index.astro b/src/pages/energieausweis-erstellen/index.astro index 94f0a6de..b19c6562 100644 --- a/src/pages/energieausweis-erstellen/index.astro +++ b/src/pages/energieausweis-erstellen/index.astro @@ -1,6 +1,28 @@ --- import Layout from "#layouts/Layout.astro"; +import ProduktVergleich from "#components/design/content/ProduktVergleich.svelte"; +import ProduktVergleichGewerbe from "#components/design/content/ProduktVergleichGewerbe.svelte"; +import WelcherAusweisWidget from "#components/widgets/ibcornelsen/WelcherAusweisWidget_ibcornelsen.svelte"; --- - + + +

Schnell und einfach Ihren Energieausweis erstellen

+ +
+ +
+ +

Übersicht Verbrauchsausweis und Bedarfsausweis für Wohngebäude:

+ + + +

Übersicht Verbrauchsausweis und Bedarfsausweis für Gewerbegebäude:

+ + +
+ + + + diff --git a/src/pages/widgets/ohne-makler.astro b/src/pages/widgets/ohne-makler.astro new file mode 100644 index 00000000..31d2adf6 --- /dev/null +++ b/src/pages/widgets/ohne-makler.astro @@ -0,0 +1,20 @@ +--- +const { vermittler } = Astro.params; +import WelcherAusweisWidget from "#components/widgets/ohnemakler/WelcherAusweisWidget_ohnemakler.svelte"; + +--- + + + + + + + + + + + + + + + \ No newline at end of file -- 2.49.1