{"id":13098,"date":"2021-05-31T06:36:09","date_gmt":"2021-05-31T06:36:09","guid":{"rendered":"https:\/\/unique-interieur.com\/contact\/"},"modified":"2026-08-13T13:31:08","modified_gmt":"2026-08-13T13:31:08","slug":"contact","status":"publish","type":"page","link":"https:\/\/unique-interieur.com\/en\/contact\/","title":{"rendered":"Contact"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"13098\" class=\"elementor elementor-13098 elementor-143\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-be1e431 e-con-full e-flex e-con e-parent\" data-id=\"be1e431\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3af18ba elementor-widget elementor-widget-image\" data-id=\"3af18ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1900\" height=\"1267\" src=\"https:\/\/unique-interieur.com\/wp-content\/uploads\/2025\/06\/architecte-interieur-realisations.webp?wsr\" class=\"attachment-full size-full wp-image-12874\" alt=\"\" srcset=\"https:\/\/unique-interieur.com\/wp-content\/uploads\/2025\/06\/architecte-interieur-realisations.webp 1900w, https:\/\/unique-interieur.com\/wp-content\/uploads\/2025\/06\/architecte-interieur-realisations-300x200.webp 300w, https:\/\/unique-interieur.com\/wp-content\/uploads\/2025\/06\/architecte-interieur-realisations-1024x683.webp 1024w, https:\/\/unique-interieur.com\/wp-content\/uploads\/2025\/06\/architecte-interieur-realisations-768x512.webp 768w, https:\/\/unique-interieur.com\/wp-content\/uploads\/2025\/06\/architecte-interieur-realisations-1536x1024.webp 1536w\" sizes=\"(max-width: 1900px) 100vw, 1900px\" title=\"\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-634a164 e-flex e-con-boxed e-con e-parent\" data-id=\"634a164\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a545051 elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-heading\" data-id=\"a545051\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Contact us<\/h1>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7785b87 e-flex e-con-boxed e-con e-parent\" data-id=\"7785b87\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-ef9fe0a e-con-full e-flex e-con e-child\" data-id=\"ef9fe0a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2fc7e9c elementor-widget__width-initial elementor-hidden-mobile elementor-hidden-tablet elementor-widget elementor-widget-text-editor\" data-id=\"2fc7e9c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: justify;\"><span class=\"JsGRdQ\">Write to us! Share your story and your project, regardless of its size or location. <strong>We operate throughout France, and even internationally,<\/strong> to design unique and customized interiors. Tell us about your project, and we will contact you promptly to bring your ideas to life and create a space that reflects you. At Unique Interior, your satisfaction and the originality of your interior are our priority!   <\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-07cdeed elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-html\" data-id=\"07cdeed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div>\r\n\r\n\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<style>\r\n\/* Initial style for cursor pointer *\/\r\n.tel .elementor-icon-box-description {\r\n    cursor: pointer;\r\n}\r\n<\/style>\r\n\r\n\r\n\r\n<div class=\"tel\">\r\n    <div class=\"elementor-icon-box-description\">\r\n Click here to see the phone number\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\n\/\/ S\u00e9lectionnez la description du widget Icone Box en utilisant sa classe unique\r\nvar descriptionWidget = document.querySelector('.tel .elementor-icon-box-description');\r\n\r\n\/\/ Ajoutez un \u00e9couteur d'\u00e9v\u00e9nements au clic sur la description\r\ndescriptionWidget.addEventListener('click', function() {\r\n    \/\/ V\u00e9rifiez si le num\u00e9ro de t\u00e9l\u00e9phone a d\u00e9j\u00e0 \u00e9t\u00e9 modifi\u00e9 pour ce widget\r\n    if (!descriptionWidget.dataset.modifiable) {\r\n        \/\/ Changez la description et appliquez les styles modifi\u00e9s\r\n        descriptionWidget.innerHTML = '<a href=\"tel:0428290403\" style=\"font-size: 18px; font-weight: 500; color: black;\">04 28 29 04 03<\/a>';\r\n        \/\/ D\u00e9finissez l'attribut \"data-modifiable\" sur false pour emp\u00eacher toute modification ult\u00e9rieure\r\n        descriptionWidget.dataset.modifiable = 'false';\r\n        \/\/ Changez le curseur en mode par d\u00e9faut\r\n        descriptionWidget.style.cursor = 'auto';\r\n    }\r\n});\r\n<\/script>\r\n\r\n\r\n\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5f36de8 elementor-widget-tablet__width-inherit elementor-widget elementor-widget-heading\" data-id=\"5f36de8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Follow us <\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1b73edd elementor-view-framed elementor-position-inline-start elementor-widget__width-inherit aligncontent elementor-mobile-position-inline-start elementor-shape-circle elementor-widget elementor-widget-icon-box\" data-id=\"1b73edd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"https:\/\/www.instagram.com\/unique_interior_project\/\" target=\"_blank\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"Instagram\" rel=\"noopener\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 48 48\" width=\"48px\" height=\"48px\"><path d=\"M17,43h14c5.523,0,10-4.477,10-10v-2H7v2C7,38.523,11.477,43,17,43z\"><\/path><path fill=\"#fff\" d=\"M32,40H16c-4.418,0-8-3.582-8-8V16c0-4.418,3.582-8,8-8h16c4.418,0,8,3.582,8,8v16 C40,36.418,36.418,40,32,40z\"><\/path><path d=\"M32,41H16c-4.962,0-9-4.038-9-9V16c0-4.962,4.038-9,9-9h16c4.962,0,9,4.038,9,9v16C41,36.962,36.962,41,32,41z M16,9 c-3.86,0-7,3.14-7,7v16c0,3.86,3.14,7,7,7h16c3.86,0,7-3.14,7-7V16c0-3.86-3.14-7-7-7H16z\"><\/path><path d=\"M24,15c-4.962,0-9,4.038-9,9s4.038,9,9,9s9-4.038,9-9S28.962,15,24,15z M24,31c-3.86,0-7-3.14-7-7s3.14-7,7-7s7,3.14,7,7 S27.86,31,24,31z\"><\/path><circle cx=\"33.5\" cy=\"14.5\" r=\"1.5\"><\/circle><\/svg>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"https:\/\/www.instagram.com\/unique_interior_project\/\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t\tInstagram\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tUnique_interior_project\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-64f11c9 elementor-view-framed elementor-position-inline-start elementor-widget__width-inherit aligncontent elementor-mobile-position-inline-start elementor-shape-circle elementor-widget elementor-widget-icon-box\" data-id=\"64f11c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"https:\/\/fr.pinterest.com\/laureville\/\" target=\"_blank\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"Pinterest\" rel=\"noopener\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 48 48\" width=\"48px\" height=\"48px\"><path d=\"M44,24H4c0,0.338,0,1.662,0,2c0,11.028,8.972,20,20,20s20-8.972,20-20C44,25.662,44,24.338,44,24z\"><\/path><circle cx=\"24\" cy=\"24\" r=\"19\" fill=\"#fff\"><\/circle><path d=\"M24,44C12.972,44,4,35.028,4,24S12.972,4,24,4s20,8.972,20,20S35.028,44,24,44z M24,6C14.075,6,6,14.075,6,24 s8.075,18,18,18s18-8.075,18-18S33.925,6,24,6z\"><\/path><path d=\"M17.235,41.291c-0.164-1.472-0.31-3.724,0.064-5.329c0.337-1.445,2.179-9.226,2.179-9.226s-0.556-1.112-0.556-2.758 c0-2.58,1.495-4.508,3.36-4.508c1.582,0,2.348,1.19,2.348,2.617c0,1.591-1.012,3.975-1.541,6.181 c-0.438,1.846,0.93,3.355,2.753,3.355c3.296,0,5.835-3.478,5.835-8.502c0-4.445-3.196-7.554-7.754-7.554 c-5.283,0-8.383,3.961-8.383,8.055c0,1.595,0.615,3.309,1.381,4.239c0.15,0.182,0.173,0.346,0.128,0.533 c-0.141,0.583-0.451,1.846-0.515,2.106c-0.082,0.337-0.269,0.41-0.62,0.246c-2.32-1.08-3.77-4.467-3.77-7.193 c0-5.858,4.253-11.237,12.267-11.237c6.441,0,11.446,4.59,11.446,10.726c0,6.4-4.034,11.547-9.632,11.547 c-1.883,0-3.651-0.976-4.258-2.133c0,0-0.93,3.547-1.153,4.417c-0.419,1.609-1.554,3.633-2.311,4.864 C18.206,41.952,17.317,41.824,17.235,41.291z\"><\/path><\/svg>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"https:\/\/fr.pinterest.com\/laureville\/\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t\tPinterest\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tUnique Interior Project\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4ec6a84 elementor-view-framed elementor-position-inline-start elementor-widget__width-inherit aligncontent elementor-mobile-position-inline-start elementor-shape-circle elementor-widget elementor-widget-icon-box\" data-id=\"4ec6a84\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"https:\/\/www.youtube.com\/@uniqueinteriorproject1584\" target=\"_blank\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"YouTube\" rel=\"noopener\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 48 48\" width=\"48px\" height=\"48px\"><path d=\"M45,23c0-3.325-0.091-6.167-0.271-8.447c-0.251-3.186-2.753-5.674-5.95-5.917C34.975,8.346,29.323,8,24,8 S13.025,8.346,9.221,8.636c-3.197,0.243-5.7,2.731-5.951,5.917C3.091,16.833,3,19.675,3,23c0,0.314,0,1.625,0,2 c0,4.009,0.131,7.55,0.39,10.527c0.275,3.154,2.772,5.623,5.938,5.87C12.854,41.672,18.26,42,24,42s11.146-0.328,14.671-0.604 c3.167-0.247,5.664-2.715,5.939-5.87C44.869,32.55,45,29.009,45,25C45,24.625,45,23.315,45,23z\"><\/path><path fill=\"#fff\" d=\"M43.732,14.631c-0.211-2.678-2.351-4.795-5.029-4.999C34.956,9.347,29.304,9,24,9 S13.044,9.347,9.297,9.633c-2.678,0.204-4.818,2.321-5.029,4.999C4.115,16.565,4,19.263,4,23c0,4.66,0.18,8.064,0.386,10.44 c0.232,2.66,2.358,4.752,5.02,4.96C12.976,38.678,18.327,39,24,39s11.024-0.322,14.593-0.6c2.662-0.208,4.789-2.299,5.02-4.96 C43.82,31.064,44,27.66,44,23C44,19.263,43.885,16.565,43.732,14.631z\"><\/path><path d=\"M24,40c-5.74,0-11.146-0.328-14.671-0.604c-3.166-0.247-5.664-2.715-5.938-5.87C3.131,30.55,3,27.009,3,23 c0-3.325,0.091-6.167,0.271-8.447c0.251-3.186,2.753-5.674,5.951-5.917C13.025,8.346,18.677,8,24,8s10.975,0.346,14.779,0.636 c3.197,0.243,5.699,2.731,5.95,5.917C44.909,16.833,45,19.675,45,23c0,4.009-0.131,7.55-0.39,10.526 c-0.275,3.155-2.772,5.623-5.939,5.87C35.146,39.672,29.74,40,24,40z M24,10c-5.26,0-10.857,0.343-14.627,0.63 c-2.208,0.168-3.936,1.884-4.108,4.08C5.089,16.938,5,19.727,5,23c0,3.951,0.129,7.435,0.382,10.354 c0.19,2.175,1.915,3.878,4.102,4.049C12.974,37.675,18.325,38,24,38s11.026-0.325,14.515-0.598c2.188-0.17,3.913-1.874,4.103-4.049 C42.871,30.435,43,26.951,43,23c0-3.272-0.089-6.062-0.265-8.29l0,0c-0.173-2.196-1.9-3.912-4.108-4.08 C34.857,10.343,29.26,10,24,10z\"><\/path><path d=\"M30.785,25.052l-9.944,5.863C20.027,31.394,19,30.808,19,29.863V18.137c0-0.945,1.027-1.531,1.841-1.052l9.944,5.863 C31.586,23.421,31.586,24.579,30.785,25.052z\"><\/path><\/svg>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"https:\/\/www.youtube.com\/@uniqueinteriorproject1584\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t\tYouTube\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tUnique Interior Project\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c4fcfc7 elementor-widget elementor-widget-shortcode\" data-id=\"c4fcfc7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t<div id=\"unique-form-host\"><\/div>\n\t<script>\n\t(function(){\n\t\twindow.UNIQUE_FORM_API = 'https:\/\/unique-interieur.com\/en\/wp-json\/unique\/v1\/';\n\t\twindow.UNIQUE_FORM_TS  = '1791339072.26addb857e6281cc3acf6bf21c04cd22daae3176524e1ac8ddc13d98b04e5e20';\n\n\t\tvar hote = document.getElementById('unique-form-host');\n\t\tif(!hote) return;\n\n\t\t\/* Shadow DOM : isolation garantie par le navigateur, pas par la\n\t\t   sp\u00e9cificit\u00e9 CSS. Aucun !important \u00e0 empiler, et le rendu ne\n\t\t   bougera pas si le th\u00e8me change. *\/\n\t\tvar racine = hote.attachShadow({mode:'open'});\n\n\t\tvar style = document.createElement('style');\n\t\tstyle.textContent = \"\\n\\\/* ============================================================\\n   POLICES \\u2014 declarees ICI et pas ailleurs.\\n   Une police chargee par le site n'est PAS disponible dans un\\n   Shadow DOM : il faut redeclarer les @font-face dans le CSS\\n   embarque du composant. URLs identiques a celles d'Elementor.\\n   ============================================================ *\\\/\\n@font-face{\\n  font-family:'MontserratCustom'; font-style:normal; font-weight:400; font-display:swap;\\n  src:url('https:\\\/\\\/unique-interieur.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/montserrat-regular-webfont.woff2') format('woff2'),\\n      url('https:\\\/\\\/unique-interieur.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/montserrat-regular-webfont.woff') format('woff');\\n}\\n@font-face{\\n  font-family:'MontserratCustom'; font-style:normal; font-weight:500; font-display:swap;\\n  src:url('https:\\\/\\\/unique-interieur.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/montserrat-medium-webfont.woff2') format('woff2'),\\n      url('https:\\\/\\\/unique-interieur.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/montserrat-medium-webfont.woff') format('woff');\\n}\\n@font-face{\\n  font-family:'MontserratCustom'; font-style:normal; font-weight:600; font-display:swap;\\n  src:url('https:\\\/\\\/unique-interieur.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/montserrat-semibold-webfont.woff2') format('woff2'),\\n      url('https:\\\/\\\/unique-interieur.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/montserrat-semibold-webfont.woff') format('woff');\\n}\\n@font-face{\\n  font-family:'PlayFairCustom'; font-style:normal; font-weight:400; font-display:swap;\\n  src:url('https:\\\/\\\/unique-interieur.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/playfairdisplay-regular-webfont.woff2') format('woff2'),\\n      url('https:\\\/\\\/unique-interieur.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/playfairdisplay-regular-webfont.woff') format('woff');\\n}\\n@font-face{\\n  font-family:'PlayFairCustom'; font-style:normal; font-weight:700; font-display:swap;\\n  src:url('https:\\\/\\\/unique-interieur.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/playfairdisplay-bold-webfont.woff2') format('woff2'),\\n      url('https:\\\/\\\/unique-interieur.com\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/playfairdisplay-bold-webfont.woff') format('woff');\\n}\\n\\n\\\/* ============================================================\\n   FORMULAIRE CONTACT \\u2014 UNIQUE INT\\u00c9RIEUR\\n   Conversationnel, inspir\\u00e9 du parcours chatbot BeClean.\\n   Charte reprise du formulaire Elementor existant :\\n   dor\\u00e9 #BA935A, arrondi l\\u00e9ger 8px, Montserrat.\\n   ============================================================ *\\\/\\n\\n\\\/* `:host` = l'element hote du Shadow DOM. `:root` n'y matche rien :\\n   toutes les variables seraient vides. On declare les deux pour que\\n   le fichier reste utilisable seul (hors WordPress). *\\\/\\n:host,:root{\\n  --ui-gold:#D5BD9A;\\n  --ui-gold-line:#D5BD9A4D;\\n  --ui-gold-dark:#A8916C;\\n  --ui-ink:#000000;\\n  --ui-white:#ffffff;\\n  --ui-soft:#F7F4EF;\\n  --ui-muted:#6B6257;\\n  --ui-radius-lg:8px;   \\\/* conteneur : arrondi l\\u00e9ger *\\\/\\n  --ui-radius-soft:8px; \\\/* arrondi l\\u00e9ger, uniforme sur tout le reste *\\\/\\n  --ui-font:\\\"MontserratCustom\\\",\\\"Montserrat\\\",Arial,sans-serif;\\n\\n  \\\/* Courbes d'animation \\u2014 les easings natifs sont trop mous *\\\/\\n  --ease-out:cubic-bezier(.23,1,.32,1);       \\\/* entrees : demarre vite, repond *\\\/\\n  --ease-in-out:cubic-bezier(.77,0,.175,1);   \\\/* deplacements a l'ecran *\\\/\\n\\n  \\\/* Taille de texte commune : bulles, options, champs.\\n     Une seule valeur = aucun ecart visible entre la question et le champ. *\\\/\\n  --ui-text:14px;\\n  \\\/* Hauteur commune champ + bouton de soumission : ils doivent\\n     s'aligner au pixel pres sur la meme ligne. *\\\/\\n  --ui-control-h:48px;\\n\\n  \\\/* Echelle d'espacement. Toutes les marges du composant en derivent :\\n     changer ces 6 valeurs suffit a resserrer ou aerer l'ensemble.\\n     Aucune valeur en dur ailleurs. *\\\/\\n  --sp-1:4px;\\n  --sp-2:8px;\\n  --sp-3:12px;\\n  --sp-4:16px;\\n  --sp-5:20px;\\n  --sp-6:24px;\\n}\\n\\n*{box-sizing:border-box;}\\n\\n\\\/* L'hote herite de la police du site : on impose la notre a la racine\\n   du composant, sinon les elements sans regle propre la recuperent. *\\\/\\n:host{\\n  display:block;\\n  font-family:var(--ui-font);\\n}\\n\\\/* Chaque element du composant reprend la police du kit : sans cette\\n   ligne, ceux qui n'ont pas de regle propre heritent de celle du site. *\\\/\\n:host *{font-family:var(--ui-font);}\\n\\ninput,textarea,select,button{\\n  font-family:inherit;\\n}\\n\\n\\\/* ------------------------------------------------------------\\n   ANTI-ZOOM iOS \\u2014 Safari zoome sur tout champ focus sous 16px.\\n   On ne l'applique que sur les ecrans tactiles etroits : sur\\n   desktop la taille reste alignee sur le reste de l'interface.\\n   ------------------------------------------------------------ *\\\/\\n\\n\\nbody{\\n  margin:0;\\n  padding:var(--sp-6) var(--sp-5);\\n  font-family:var(--ui-font);\\n  background:#FBF9F7;\\n  color:var(--ui-ink);\\n  display:flex;\\n  justify-content:center;\\n  align-items:flex-start;\\n  min-height:100vh;\\n}\\n\\n\\\/* ---------- Conteneur ---------- *\\\/\\n.ui-form{\\n  width:100%;\\n  max-width:560px;\\n  background:var(--ui-white);\\n  border:1px solid var(--ui-gold-line);\\n  border-radius:var(--ui-radius-lg);\\n  overflow:hidden;\\n  \\\/* Hauteur FIXE : un `min-height` seul laisse le composant grandir,\\n     ce qui fait sauter la page a chaque etape. Le fil defile a\\n     l'interieur, l'encombrement exterieur ne change jamais. *\\\/\\n  height:620px;\\n  display:flex;\\n  flex-direction:column;\\n  \\\/* Rendu du texte : evite le lissage sous-pixel approximatif *\\\/\\n  -webkit-font-smoothing:antialiased;\\n  text-rendering:optimizeLegibility;\\n  box-shadow:0 8px 24px rgba(30,22,12,.05), 0 2px 6px rgba(30,22,12,.03);\\n}\\n\\n\\n\\\/* ---------- Avatar ---------- *\\\/\\n.ui-head{\\n  display:flex;\\n  align-items:center;\\n  gap:var(--sp-3);\\n}\\n.ui-avatar{\\n  position:relative;\\n  width:40px;height:40px;\\n  flex:0 0 40px;\\n  border-radius:50%;\\n  overflow:hidden;\\n  border:1.5px solid var(--ui-white);\\n}\\n.ui-avatar img{\\n  width:100%;height:100%;\\n  display:block;\\n  object-fit:cover;\\n  object-position:center center;\\n  border-radius:50%;\\n}\\n.ui-head-text{\\n  min-width:0;flex:1;\\n  display:flex;\\n  flex-direction:column;\\n  justify-content:center;\\n}\\n\\n\\\/* ---------- En-t\\u00eate ---------- *\\\/\\n.ui-head{\\n  padding:var(--sp-3) var(--sp-4);\\n  \\\/* Degrade diagonal : plus clair en haut a gauche, plus profond a droite.\\n     Trois arrets pour eviter la bande visible d'un degrade a deux tons. *\\\/\\n  background:linear-gradient(115deg,\\n    #E3D0B4 0%,\\n    var(--ui-gold) 48%,\\n    #C4A87F 100%);\\n  color:var(--ui-white);\\n}\\n.ui-head h2{\\n  margin:0;\\n  font-family:\\\"PlayFairCustom\\\",Georgia,serif;\\n  font-size:21px;\\n  font-weight:400;\\n  line-height:1.15;\\n  letter-spacing:-.1px;\\n  color:var(--ui-white);\\n}\\n.ui-head p{\\n  margin:0;\\n  font-size:13px;\\n  font-weight:400;\\n  color:var(--ui-white);\\n  opacity:.92;\\n  line-height:1.25;\\n}\\n\\n\\\/* ---------- Barre de progression ---------- *\\\/\\n.ui-progress{\\n  height:2px;\\n  \\\/* Piste quasi confondue avec le fond *\\\/\\n  background:#F7F2EA;\\n  position:relative;\\n  overflow:hidden;\\n}\\n.ui-progress span{\\n  position:absolute;\\n  inset:0 auto 0 0;\\n  width:0%;\\n  \\\/* Dore clair : juste assez marque pour se lire, sans trancher *\\\/\\n  background:linear-gradient(90deg,#E0CDAF,#D5BD9A);\\n  transition:width .45s var(--ease-in-out);\\n}\\n\\n\\\/* ---------- Fil de discussion ---------- *\\\/\\n.ui-body{\\n  padding:var(--sp-4) var(--sp-4) var(--sp-2);\\n  display:flex;\\n  flex-direction:column;\\n  \\\/* Le fil part du HAUT et ne s'etire jamais : sans ces deux regles,\\n     un conteneur flex a hauteur fixe repartit l'espace et les premieres\\n     questions se retrouvent collees au bas de la zone. *\\\/\\n  justify-content:flex-start;\\n  align-content:flex-start;\\n  \\\/* Ecart entre les bulles \\u2014 pas les marges internes *\\\/\\n  gap:13px;\\n  \\\/* `flex:0 1 auto` = le fil prend sa taille naturelle et se contente\\n     de retrecir si besoin. En `flex:1` il occupait toute la hauteur\\n     libre et repoussait les reponses tout en bas de la carte. *\\\/\\n  flex:0 1 auto;\\n  min-height:0;\\n  max-height:none;\\n  overflow-y:auto;\\n  \\\/* Reserve la gouttiere de la barre de defilement en permanence :\\n     sans elle, l'apparition de la barre retrecit le contenu de ~11px\\n     et la largeur saute a chaque changement d'etape. *\\\/\\n  scrollbar-gutter:stable;\\n  scroll-behavior:smooth;\\n  \\\/* PAS de `contain` : il piegeait la molette dans le fil. Avec une\\n     hauteur de bloc fixe (620px), le curseur pose dans le formulaire\\n     empechait toute la page de defiler. En `auto`, le defilement\\n     repasse la main a la page des que le fil atteint son haut ou son\\n     bas. Corrige le 14\\\/08\\\/2026, comme sur stendh-arch.fr. *\\\/\\n  overscroll-behavior:auto;\\n  scrollbar-width:thin;\\n  scrollbar-color:var(--ui-gold-line) transparent;\\n}\\n.ui-body::-webkit-scrollbar{width:6px;}\\n.ui-body::-webkit-scrollbar-thumb{background:var(--ui-gold-line);border-radius:3px;}\\n\\n.ui-msg{\\n  flex:0 0 auto;\\n  max-width:88%;\\n  padding:var(--sp-3) var(--sp-4);\\n  border-radius:var(--ui-radius-soft);\\n  font-size:var(--ui-text);\\n  \\\/* 15px x 1.4667 = 22px pile : evite les hauteurs en demi-pixel *\\\/\\n  line-height:22px;\\n  font-weight:400;\\n  animation:uiIn .26s var(--ease-out) both;\\n}\\n.ui-msg.bot{\\n  align-self:flex-start;\\n  background:var(--ui-soft);\\n  color:var(--ui-ink);\\n  border:1px solid var(--ui-gold-line);\\n  border-radius:var(--ui-radius-soft);\\n}\\n.ui-msg.user{\\n  align-self:flex-end;\\n  background:var(--ui-gold);\\n  color:var(--ui-white);\\n  border:1px solid var(--ui-gold-line);\\n}\\n\\n@keyframes uiIn{\\n  \\\/* Pas de scale() : sur du texte il provoque une rasterisation sur\\n     demi-pixel (rendu flou). Le glissement seul suffit. *\\\/\\n  from{opacity:0;transform:translateY(8px);}\\n  to{opacity:1;transform:translateY(0);}\\n}\\n\\n\\\/* Indicateur de saisie *\\\/\\n.ui-typing{\\n  align-self:flex-start;\\n  display:flex;\\n  gap:4px;\\n  background:var(--ui-soft);\\n  border:1px solid var(--ui-gold-line);\\n  border-radius:var(--ui-radius-soft);\\n  padding:var(--sp-3) var(--sp-4);\\n}\\n.ui-typing i{\\n  width:6px;height:6px;border-radius:50%;\\n  background:var(--ui-gold);\\n  animation:uiDot 1.2s infinite;\\n}\\n.ui-typing i:nth-child(2){animation-delay:.15s;}\\n.ui-typing i:nth-child(3){animation-delay:.30s;}\\n@keyframes uiDot{\\n  0%,60%,100%{transform:translateY(0);opacity:.4;}\\n  30%{transform:translateY(-5px);opacity:1;}\\n}\\n\\n\\\/* Logo, aligne a droite de l'en-tete *\\\/\\n.ui-logo{\\n  flex:0 0 auto;\\n  \\\/* Nettement plus grand que l'en-tete : le cercle du logo sort du\\n     cadre en haut ET en bas, et se fait rogner par `overflow:hidden`\\n     du conteneur. Il n'apparait donc qu'en partie. *\\\/\\n  height:100px;\\n  width:auto;\\n  display:block;\\n  \\\/* Semi-transparent : le logo devient un motif de fond plutot\\n     qu'un element qui concurrence le titre. *\\\/\\n  opacity:.5;\\n  margin:-28px 0 -28px var(--sp-2);\\n}\\n\\n\\\/* Espaceur : neutre sur grand ecran, pousse la saisie en bas sur mobile *\\\/\\n.ui-foot-spacer{display:block;flex:1 1 auto;min-height:0;}\\n\\n\\\/* ---------- Zone de saisie ---------- *\\\/\\n.ui-foot{\\n  flex:0 0 auto;\\n  \\\/* Pas de padding-top : le fil se termine deja par son propre ecart.\\n     En ajouter un doublerait la distance question -> champ (16px au\\n     lieu de 8) et casserait l'uniformite. *\\\/\\n  padding:0 var(--sp-4) var(--sp-4);\\n  background:var(--ui-white);\\n}\\n\\n.ui-options{\\n  display:flex;\\n  flex-direction:column;\\n  \\\/* Ecart entre les reponses *\\\/\\n  gap:13px;\\n}\\n\\\/* Cascade courte : chaque option arrive 40 ms apres la precedente.\\n   Purement decoratif \\u2014 le clic reste possible des le premier frame. *\\\/\\n.ui-options .ui-opt{animation:uiIn .24s var(--ease-out) both;}\\n\\\/* Premier ecran : les reponses arrivent avec la question, sans cascade *\\\/\\n.ui-first .ui-opt{animation:none;}\\n.ui-options .ui-opt:nth-child(1){animation-delay:0ms;}\\n.ui-options .ui-opt:nth-child(2){animation-delay:40ms;}\\n.ui-options .ui-opt:nth-child(3){animation-delay:80ms;}\\n.ui-options .ui-opt:nth-child(4){animation-delay:120ms;}\\n.ui-options .ui-opt:nth-child(5){animation-delay:160ms;}\\n\\n.ui-opt{\\n  width:100%;\\n  min-height:46px;\\n  display:flex;\\n  align-items:center;\\n  gap:var(--sp-3);\\n  padding:var(--sp-3) var(--sp-4);\\n  border:1px solid #C9AC80;\\n  border-radius:var(--ui-radius-soft);\\n  background:var(--ui-white);\\n  color:var(--ui-ink);\\n  font-family:var(--ui-font);\\n  font-weight:400;\\n  text-align:left;\\n  font-size:var(--ui-text);\\n  cursor:pointer;\\n  transition:background .16s ease,color .16s ease,transform .16s var(--ease-out),border-color .16s ease;\\n}\\n@media (hover:hover) and (pointer:fine){\\n  .ui-opt:hover{\\n    background:var(--ui-gold);\\n    border-color:var(--ui-gold);\\n    color:var(--ui-white);\\n    transform:translateY(-2px);\\n  }\\n}\\n.ui-opt:active{transform:scale(.985);transition-duration:.1s;}\\n.ui-opt:focus-visible{\\n  outline:none;\\n  border-color:var(--ui-gold-dark);\\n}\\n.ui-opt-icon{\\n  width:32px;height:32px;min-width:32px;\\n  \\\/* Cercle discret : bordure diluee, trait dans le ton du dore *\\\/\\n  border:1px solid var(--ui-gold-line);\\n  border-radius:50%;\\n  background:var(--ui-white);\\n  color:var(--ui-gold);\\n  display:flex;align-items:center;justify-content:center;\\n  transition:background .16s ease,color .16s ease,border-color .16s ease;\\n}\\n.ui-opt:hover .ui-opt-icon{\\n  background:var(--ui-gold);\\n  border-color:var(--ui-white);\\n  color:var(--ui-white);\\n}\\n.ui-opt-icon svg{\\n  width:17px;height:17px;\\n  stroke:currentColor;fill:none;\\n  stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;\\n}\\n\\\/* Correction optique : sur les pictos telephone, le combine occupe le\\n   bas-gauche et la fleche le haut-droit. Geometriquement centres, ils\\n   paraissent pousses a gauche. On les decale de 1px vers la droite. *\\\/\\n.ui-opt-icon svg.is-phone{transform:translate(-1px,-0.5px);}\\n\\n\\\/* Le <form> sert uniquement au remplissage automatique du navigateur :\\n   il ne doit avoir aucun effet visuel. *\\\/\\n.ui-form-el{display:block;margin:0;padding:0;border:0;}\\n\\n\\\/* Champ de saisie *\\\/\\n.ui-field{\\n  display:flex;\\n  gap:var(--sp-2);\\n  align-items:flex-start;\\n}\\n.ui-input{\\n  height:var(--ui-control-h);\\n}\\n.ui-input{\\n  flex:1;\\n  padding:0 var(--sp-4);\\n}\\n.ui-input,.ui-textarea{\\n  \\\/* Contour plus marque que le reste : c'est la zone d'action, elle\\n     doit se distinguer nettement du fond blanc de la carte. *\\\/\\n  border:1px solid #C9AC80;\\n  border-radius:var(--ui-radius-soft);\\n  background:var(--ui-white);\\n  font-family:var(--ui-font);\\n  font-size:var(--ui-text);\\n  font-weight:400;\\n  color:var(--ui-ink);\\n  transition:border-color .16s ease;\\n  -webkit-appearance:none;\\n  appearance:none;\\n  border-radius:var(--ui-radius-soft); \\\/* iOS ignore le radius sans appearance:none *\\\/\\n}\\n.ui-input:focus,.ui-textarea:focus{\\n  outline:none;\\n  border-color:var(--ui-gold);\\n}\\n.ui-textarea{\\n  \\\/* Hauteur automatique (voir `grow`), MAIS l'utilisateur garde la main.\\n     IMPORTANT : pas de `flex` ici \\u2014 un item flex etire par le conteneur\\n     voit sa hauteur imposee, ce qui rend la poignee inoperante. *\\\/\\n  display:block;\\n  width:100%;\\n  flex:none;\\n  align-self:stretch;\\n  resize:vertical;\\n  overflow-y:auto;\\n  padding:var(--sp-3) var(--sp-4);\\n  line-height:1.5;\\n}\\n\\\/* Enveloppe du champ court. Hors iOS elle est transparente : elle prend\\n   la place du champ dans le flex, et le champ la remplit. *\\\/\\n.ui-champ{\\n  flex:1;\\n  display:flex;\\n}\\n.ui-champ .ui-input{width:100%;}\\n\\n.ui-input::placeholder,.ui-textarea::placeholder{color:#A99C8C;}\\n\\n.ui-send{\\n  width:var(--ui-control-h);\\n  height:var(--ui-control-h);\\n  flex-shrink:0;\\n  border:1px solid var(--ui-gold-line);\\n  border-radius:var(--ui-radius-soft);\\n  background:var(--ui-gold);\\n  color:var(--ui-white);\\n  display:flex;align-items:center;justify-content:center;\\n  cursor:pointer;\\n  transition:background .16s ease,transform .16s var(--ease-out);\\n}\\n@media (hover:hover) and (pointer:fine){\\n  .ui-send:hover{background:var(--ui-gold-dark);transform:translateY(-1px);}\\n}\\n.ui-send:active{transform:scale(.97);transition-duration:.1s;}\\n.ui-send:focus-visible{outline:none;border-color:var(--ui-gold-dark);}\\n.ui-send svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}\\n\\n.ui-col{flex-direction:column;align-items:stretch;}\\n.ui-col .ui-textarea{flex:none;}\\n.ui-col .ui-send{width:100%;height:var(--ui-control-h);gap:8px;font-family:var(--ui-font);font-size:var(--ui-text);font-weight:600;}\\n\\n\\\/* Message d'erreur \\u2014 encadre rouge leger, centre *\\\/\\n.ui-error{\\n  margin:var(--sp-2) 0 0;\\n  padding:var(--sp-3) var(--sp-4);\\n  display:flex;\\n  align-items:center;\\n  justify-content:center;\\n  text-align:center;\\n  font-size:13px;\\n  font-weight:500;\\n  color:#B3261E;\\n  background:#FDF3F2;\\n  border-radius:var(--ui-radius-soft);\\n  animation:uiErrIn .22s var(--ease-out) both;\\n}\\n\\\/* `display:flex` ci-dessus bat le display:none implicite de [hidden] :\\n   il faut le reposer explicitement, sinon le message reste visible. *\\\/\\n.ui-error[hidden]{display:none;}\\n@keyframes uiErrIn{\\n  from{opacity:0;transform:translateY(-4px);}\\n  to{opacity:1;transform:translateY(0);}\\n}\\n\\n\\\/* Ligne du lien \\\"Passer\\\" : alignee a droite, sous le bouton d'envoi *\\\/\\n.ui-skip-row{\\n  display:flex;\\n  justify-content:flex-end;\\n}\\n.ui-skip{\\n  margin-top:6px;\\n}\\n\\n\\\/* Lien retour *\\\/\\n.ui-back{\\n  margin-top:var(--sp-4);\\n  display:inline-flex;\\n  align-items:center;\\n  gap:6px;\\n  background:none;\\n  border:none;\\n  color:var(--ui-muted);\\n  font-family:var(--ui-font);\\n  font-size:13px;\\n  cursor:pointer;\\n  padding:var(--sp-1) 0;\\n  text-decoration:none;\\n  transition:color .16s ease;\\n}\\n.ui-back svg{\\n  width:15px;height:15px;\\n  flex:0 0 15px;\\n  stroke:currentColor;fill:none;\\n  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;\\n  transition:transform .16s var(--ease-out);\\n}\\n@media (hover:hover) and (pointer:fine){\\n  .ui-back:hover{color:var(--ui-gold-dark);}\\n  \\\/* La fleche recule legerement : renforce l'idee de retour arriere *\\\/\\n  .ui-back:hover svg{transform:translateX(-2px);}\\n}\\n\\n\\\/* \\u00c9cran t\\u00e9l\\u00e9phone *\\\/\\n.ui-phone{\\n  \\\/* Cale a droite, comme une reponse de l'utilisateur *\\\/\\n  display:flex;\\n  justify-content:flex-end;\\n  padding:0;\\n}\\n.ui-phone a{\\n  \\\/* Rendu identique a une bulle de reponse validee : dore, texte blanc,\\n     memes marges internes et meme rayon que `.ui-msg.user`. *\\\/\\n  display:inline-flex;\\n  align-items:center;\\n  max-width:88%;\\n  padding:var(--sp-3) var(--sp-4);\\n  background:var(--ui-gold);\\n  color:var(--ui-white);\\n  border:1px solid var(--ui-gold-line);\\n  border-radius:var(--ui-radius-soft);\\n  font-size:var(--ui-text);\\n  font-weight:400;\\n  line-height:22px;\\n  text-decoration:none;\\n  transition:background .16s ease,transform .16s var(--ease-out);\\n}\\n@media (hover:hover) and (pointer:fine){\\n  .ui-phone a:hover{background:var(--ui-gold-dark);}\\n}\\n.ui-phone a:active{transform:scale(.98);transition-duration:.1s;}\\n.ui-phone a svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}\\n.ui-phone small{display:block;margin-top:12px;color:var(--ui-muted);font-size:13px;}\\n\\n\\\/* \\u00c9cran de succ\\u00e8s *\\\/\\n.ui-done{\\n  text-align:center;\\n  padding:var(--sp-4) 0 var(--sp-2);\\n}\\n.ui-done-icon{\\n  width:40px;height:40px;\\n  margin:0 auto var(--sp-3);\\n  border-radius:var(--ui-radius-soft);\\n  background:var(--ui-gold);\\n  color:var(--ui-white);\\n  display:flex;align-items:center;justify-content:center;\\n  animation:uiPop .42s cubic-bezier(.34,1.4,.64,1) both;\\n}\\n.ui-done-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}\\n@keyframes uiPop{from{opacity:0;transform:scale(.85);}to{opacity:1;transform:scale(1);}}\\n.ui-done h3{margin:0 0 var(--sp-2);font-size:18px;font-weight:600;}\\n.ui-done p{margin:0;font-size:14px;color:var(--ui-muted);line-height:1.55;}\\n\\n\\\/* Anti-spam : jamais visible, jamais focusable.\\n   On evite `display:none` : certains bots ignorent les champs caches\\n   ainsi, alors qu'ils remplissent ceux qui sont juste hors-ecran. *\\\/\\n.ui-hp{\\n  position:absolute!important;\\n  left:-9999px!important;\\n  top:auto!important;\\n  width:1px!important;\\n  height:1px!important;\\n  overflow:hidden!important;\\n  opacity:0!important;\\n  pointer-events:none!important;\\n}\\n.ui-hp input{font-size:16px;}\\n\\n\\\/* ============================================================\\n   RESPONSIVE \\u2014 approche mobile-first sur les points sensibles\\n   ============================================================ *\\\/\\n\\n\\\/* --- Tablette et en dessous : le conteneur respire moins --- *\\\/\\n@media (max-width:640px){\\n  body{padding:var(--sp-5) var(--sp-3);}\\n  .ui-form{\\n    max-width:100%;\\n    \\\/* Hauteur fixe aussi sur tablette : sans elle la page saute a\\n       chaque etape, exactement comme sur ordinateur. *\\\/\\n    height:min(620px, 82vh);\\n    display:flex;\\n    flex-direction:column;\\n  }\\n  .ui-body{\\n    flex:0 1 auto;\\n    min-height:0;\\n    max-height:none;\\n  }\\n}\\n\\n\\\/* --- Mobile : bloc dans la page, PAS de plein ecran ---\\n   Le composant sera integre dans une section de la page contact :\\n   il ne doit ni occuper toute la hauteur, ni coller aux bords. --- *\\\/\\n@media (max-width:520px){\\n  body{\\n    padding:var(--sp-3);\\n  }\\n  .ui-form{\\n    \\\/* Sur mobile, PAS de hauteur fixe : le formulaire s'adapte a son\\n       contenu. Le visiteur fait defiler la page de toute facon, un\\n       bloc fige n'apporte rien et gaspille de la place. *\\\/\\n    display:block;\\n    height:auto;\\n  }\\n  .ui-head{\\n    padding:var(--sp-3) var(--sp-4);\\n  }\\n  .ui-body{\\n    \\\/* Le fil grandit avec la conversation, sans defilement interne :\\n       c'est la page qui defile. *\\\/\\n    flex:none;\\n    min-height:0;\\n    max-height:none;\\n    overflow-y:visible;\\n    scrollbar-gutter:auto;\\n    padding:var(--sp-4) var(--sp-4) var(--sp-2);\\n  }\\n  .ui-foot-spacer{display:none;}\\n  .ui-foot{\\n    padding:0 var(--sp-4) var(--sp-4);\\n    \\\/* Colle sous le fil, pas en bas d'ecran : sinon un grand vide separe\\n       la question de ses reponses tant que la conversation est courte. *\\\/\\n  }\\n  \\\/* ============================================================\\n     ANTI-ZOOM iOS \\u2014 technique validee sur iPhone le 13\\\/08\\\/2026.\\n\\n     Safari zoome sur tout champ focus sous 16px. Plutot que de\\n     subir 16px, on declare 16px (iOS ne zoome pas) et on reduit\\n     l'ensemble a 87,5 % : le champ est rendu a 14px, comme sur\\n     ordinateur.\\n\\n     TOUTES les dimensions sont multipliees par 16\\\/14 AVANT la\\n     reduction, sinon le champ est deforme.\\n\\n     `@supports (-webkit-touch-callout:none)` cible Safari iOS\\n     uniquement : ailleurs, 14px natif, sans contournement.\\n     ============================================================ *\\\/\\n  @supports (-webkit-touch-callout:none){\\n    .ui-input,.ui-textarea{\\n      font-size:16px;\\n      padding:12.57px 14.86px;    \\\/* 11 et 13 x 16\\\/14 *\\\/\\n      border-radius:9.14px;       \\\/* 8 x 16\\\/14 *\\\/\\n      width:114.29%;              \\\/* 100 x 16\\\/14 *\\\/\\n      transform:scale(.875);      \\\/* 14\\\/16 *\\\/\\n      transform-origin:left top;\\n    }\\n    \\\/* --- Champ court ---\\n       `transform` ne modifie JAMAIS la boite reservee dans le flux : le\\n       champ agrandi a 114,29 % occupait 272px alors qu'il n'en affichait\\n       que 238 \\u2014 34px de blanc, et le bouton pousse a 42px au lieu de 8\\n       (mesure iPhone 13, 14\\\/08\\\/2026).\\n       L'enveloppe `.ui-champ` porte la largeur reelle ; le champ\\n       s'agrandit A L'INTERIEUR, hors du flux.\\n       \\u26a0\\ufe0f `width` OBLIGATOIRE ici : la regle de base\\n       `.ui-champ .ui-input{width:100%}` a deux selecteurs, donc une\\n       specificite superieure au `.ui-input` generique ci-dessus.\\n       \\u26a0\\ufe0f Invisible dans l'inspecteur de Chrome : actif sous Safari iOS\\n       uniquement. *\\\/\\n    .ui-champ{\\n      flex:1 1 0;\\n      position:relative;\\n      height:48px;\\n    }\\n    .ui-champ .ui-input{\\n      position:absolute;\\n      top:0; left:0;\\n      width:114.29%;              \\\/* 100 x 16\\\/14 *\\\/\\n      height:54.86px;             \\\/* 48 x 16\\\/14 *\\\/\\n    }\\n    .ui-textarea{padding:12.57px 14.86px;}\\n    \\\/* Le champ deborde de sa boite avant reduction : on masque. *\\\/\\n    .ui-field{overflow:hidden;}\\n  }\\n\\n  \\\/* Les bulles et options ne sont pas des champs : aucun zoom\\n     possible, elles gardent la taille du reste de l'interface. *\\\/\\n  .ui-msg{max-width:92%;}\\n  .ui-head h2{font-size:18px;}\\n  .ui-head p{font-size:11.5px;}\\n  .ui-logo{height:84px;margin-top:-24px;margin-bottom:-24px;}\\n\\n  \\\/* Cibles tactiles : 48px minimum (recommandation Google) *\\\/\\n  .ui-opt{min-height:48px;padding:var(--sp-3) var(--sp-4);}\\n  .ui-form{--ui-control-h:52px;}\\n  .ui-back{min-height:44px;display:inline-flex;align-items:center;}\\n  .ui-phone a{max-width:92%;}\\n}\\n\\n\\\/* --- Tres petits ecrans (iPhone SE) --- *\\\/\\n@media (max-width:360px){\\n  .ui-head h2{font-size:17px;}\\n  .ui-head p{display:none;}   \\\/* le sous-titre passe apres l'essentiel *\\\/\\n  .ui-logo{display:none;}\\n  .ui-opt{gap:var(--sp-2);padding:var(--sp-3);}\\n  .ui-opt-icon{width:32px;height:32px;min-width:32px;}\\n}\\n\\n\\\/* --- Paysage sur mobile : hauteur tres contrainte --- *\\\/\\n@media (max-height:520px) and (orientation:landscape){\\n  .ui-head{padding-top:8px;padding-bottom:8px;}\\n  .ui-head p{display:none;}\\n  .ui-avatar{width:32px;height:32px;flex:0 0 32px;}\\n  .ui-body{max-height:none;}\\n  .ui-textarea{min-height:64px;}\\n}\\n\\n\\\/* --- Ecrans haute densite ---\\n   On N'AFFINE PAS le conteneur : une bordure de .5px decale tout son\\n   contenu d'un demi-pixel, ce qui rend le texte flou. On se limite aux\\n   elements internes, dont le contenu ne subit pas ce decalage. *\\\/\\n@media (prefers-reduced-motion:reduce){\\n  \\\/* On garde les fondus (ils aident a comprendre), on retire le mouvement *\\\/\\n  .ui-msg,.ui-done-icon{animation:uiFade .2s ease both;}\\n  .ui-opt:hover,.ui-send:hover,.ui-phone a:hover,\\n  .ui-opt:active,.ui-send:active,.ui-phone a:active{transform:none;}\\n  .ui-typing i{animation:none;opacity:.55;}\\n  .ui-error{animation:uiFade .2s ease both;}\\n  .ui-options .ui-opt{animation:uiFade .2s ease both;animation-delay:0ms!important;}\\n  .ui-progress span{transition-duration:.01ms;}\\n}\\n@keyframes uiFade{from{opacity:0;}to{opacity:1;}}\\n\";\n\t\tracine.appendChild(style);\n\n\t\tvar conteneur = document.createElement('div');\n\t\tconteneur.innerHTML = \"\\n\\n<div class=\\\"ui-form\\\" role=\\\"region\\\" aria-label=\\\"Formulaire de contact\\\">\\n  <div class=\\\"ui-head\\\">\\n    <div class=\\\"ui-avatar\\\">\\n      <img src=\\\"data:image\\\/jpeg;base64,\\\/9j\\\/4AAQSkZJRgABAQAASABIAAD\\\/4QBqRXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAABJKGAAcAAAASAAAAUKABAAMAAAABAAEAAKACAAQAAAABAAABkKADAAQAAAABAAABkAAAAABBU0NJSQAAAFNjcmVlbnNob3T\\\/wAARCAGQAZADASIAAhEBAxEB\\\/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL\\\/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6\\\/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL\\\/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6\\\/9sAQwABAQEBAQECAQECAwICAgMEAwMDAwQGBAQEBAQGBwYGBgYGBgcHBwcHBwcHCAgICAgICQkJCQkLCwsLCwsLCwsL\\\/9sAQwECAgIDAwMFAwMFCwgGCAsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsL\\\/90ABAAZ\\\/9oADAMBAAIRAxEAPwD+qQYBAbk1HgsxUdquqoFQMpIPbmuc0IsqDjrU2zceTiq67fMCk80ckkIeR1oGWlAjOWOc9KesoGdwqsSQuD8xp4YYHvQIdklvlz603zApAPzVNASrfMO1QtH8+80DHHmmEBvbFJuDA54qF3LSZagRIzjGF61Wlk2naR1pgVwxfOTUcjNIwPXFACA7vlHFLKqovPJ\\\/rThGxGW4NQ7gxI9KAEEhD4FToeSSaonLnDdzUsAdd28Y9KAJpMjhe9Qum6RQOAKkMnl7T1yKjlSTIIPWgBWBO3P4ioZgjDA4pUIQnOcn1qKVOeetAFdlwgbFMX5W471Zbf5e1vwqEK6\\\/eGD2oGRSj5s4qEn5cMPyqZ2cttNQyxOSGPT2oEVmYK2D3qOWInqevSr3kh1GaQx44J96AKcmQBiq7nD7HHFXSg4Y5prDzAD6UAV\\\/lBx6VD918YqcBtmcdKkVFlBxQBBgL+8H5UyJPlz941KUXrUkYA+ZRtz60AQohjJHqc08hgMJSzblbqCPanA8gUAQESHginbfLXdjkU8MRL8\\\/SnMhYFgc+1AFdiWT1NOCbcDoTUpjxQsmRgc+9AEQXEoB796eQgbHemhWDYPanqE8zJHPrQAx4V8zPr+lRLCCvJ61ZYbjg0CBQpHrQBHsjVcDikO5Ru65pzW6RqC\\\/PuaexJ246UARopjXePWpAh6MeDTo5V25X5qe6kqMECgCpIEUED86SLgHvUspJG1uM0kSgNvznigAZA3Wo2BLFffipXLHCr1oIdcHr60Af\\\/\\\/Q\\\/qoOFbioGk3cPzU7Pu4x7VA4Ppg1zmofLnJHPrUYfnkYFDu2RjnNI03l\\\/My8UCLCsG46A1HkIfKAo8xWUE8YqYDaOetADJG2nmnBgcj2pu4selMYEn0FAAzBiCe1V5440bcDnPWnk8eX3qFioO08Z5oAfk4IHeqwlMXzYzU5YpyKQ\\\/P8o6igBFJJNMAUEmpUWXZngCpABnbnmnYdioiYUlhjninNAXYluc1qC24ANAUklQM4oswMmOEq2AfxNWfKQsSecVeWM89qc0ewYHehoRkzRK+BnvSraxjgnJ961zCpX5hzVFrUc4NPlGVmiGMHmqckIxwfzrWiTK47VG4TaSBkjtSaAwWjcHLCkRJSCvatMIBnrz2NIISudhoaEZRVg3TtUcY68YrWmUFc9Md6phdwwvNFmMpMgTk9+KUxKRgVbMYxyM0GDaM880gMswgg+mOlCoP4eK0VjJJKA8cUeWR1GKBFVovl54quE2nPUCr0yMoDkH0pQnzAGgZR8rLE4603ytg+tX5oF4bOOabsII29vWgGU92BxzTeM59asEqCSRimBlLcCgRGpJ5NMIG\\\/0xUrttwAPekUiXoTQA0kEfSmsiucbeBVnyMY5460jOrcDmgZUztPyDOPWk2tJ161Y2HeM4wKcwYZ8ugREUJIPpTQm0jJ5NSyZKhH59aFHoeKADAIxUezK4zmpZAFAzRldpb2oAYsYHAokRR8hpi\\\/MN4p+Sw+nagCJy64QdT0p6bsjd1HNPRAT8x6Uu5N2TQB\\\/9H+qKRmLgflUQclcnqKtCHJ5NDQjGM5rnNCoqFvn70pVg21uasLG0aZoZWLYwaAImiBXavGasrHhcE5zT442Dcd6XypGzyOKaQFdIyTn0qTyC2Wq4sPyBmqzHHhemc96rlQX6GJJByNo9qY8e4qSO1bLW5Vcjmo\\\/s7kcLmjlHcyFj28tVqOMDBrXjg4LP06dKkW2HBoSQk+pmpbiYngGrMdphRvPNaaW4JITipfs2Mc5PpTC5m+QpbB6U\\\/yYx0FX2tXz8tRMcLtI6cUCKLWqNyDihbfgb+1WtpAGeajYYfK8kjpT0GVLmLCfKKi8oqmcfjV5grHa3XtVWRsL5bDvSApyoN2F71AYwMn0q6I0L81GAC2R3oGZ2AcgL+NRpBlgCenNaJXLYUYx1poU4LUDbKUsayHHSoWtdxBU9KvmIA8nP0pTFu+X7o9aAuZ0kLDIqGSLgDPFazooGDz9KpSrgcVPUTKO3aOMgCpTCknLjpUzKRGOOtSSRqec4okBkvEzHaenWmtGFxxWg2O\\\/H1qpLyeSOOwqRFeRFkGDUeGwUNSk4GSaA2PudxQBn5ZiOMYFLhUztGfWp\\\/mYkHvULlwQM4HegCsAshyeoz+tKh8rKqBxStIQSQtS4U9ByetAEJkLttPGaj25Y4FWse1ROCflzzQMjCnPzdjUnytx+HFSqR0xS8DsKAISmcc5pvlyD5jwMVaUbhgDtShRhloEVkIyd1IyYbjpSxOqBkUZ96cCoyW7UDGMC2E3cUwLgYHrilI83LAYxTlUYzk0CECbzlug9KWPaOaUvjhh1qJJIieKBn\\\/0v6t1j+QyE5pwtndcrW79kMZEYFWFs1U4HzEjP0rMpyMH7Ew43Aip1sg569K3\\\/srKoYCgWxGeaBOTMJYlXK4JqQWyA8HB\\\/OtpYOoPFMaPbjjpQJXMYxsG2gVKInXCnGe9aLHBHHNRCPJ64oC\\\/cqeSDjB6VKw2jbjmreI84XqKR0Xd0oKdyj9nYqT+tEaqud3XFXh8w46UiRK\\\/TpQCkV41Yv6VMyxs3mU+GSMk7T0qN5Nwwo\\\/KgGPRwh3jnHaqUr5kyO9O88n5RUYUEH0FBQjrnpxj1qkxCNvJ9e1WXOQDVOR15UjHHU0AtBRON+D07GoZXRsuvGKhKdM\\\/hVdnUnyn6etJsZI88a8HvUKTY+UDrTZCjtuXgdKp5JbK9qXMIuvJsXD8571E0quwYCq5dTgydKjeUbR5PI9qXMxl9ZWxkYFCS4JROO\\\/41T84DBk7Ux7lT83T8aLgXg+3giqzYUEk9eMVA13HGoLck1We7Eh3IO9K76gXZpXBCJjA61Xjk8wkr27VUM4DkpznrVdpynyoQDQIvTYf5+mKruCT5i8ZqkZGZdpOAaf5jldq8igCWR3DfO3ymqsxO7MR6daV23Lg0quVG0DIIoGRDKNvHeoZZSrbW6mpGcA7SOtOzH5fzdaBGf5gQBW61ICwO7oafJ+8UZ+lQ7AoAyKBj\\\/Nc9OT\\\/jU0Xzk56iqnyq3PHvQ3OdpxmgRZLhjg9vSlBHJJ6dqI87ajJ+QnpmgZeibADEe9NbIyQODVeNSiEZyetTKcIS1ADA8aKS3pmq5TkuO9PUbup5oOSaAIw4RDx14ppkAPzD6UTJtGW6UgXLbfQUCHmZgQEH50A+XjFMkVhjaKkTDZ3dqAP\\\/\\\/T\\\/r7NuAScVJHbqME9a0BD2z2pu35QWrMFoV3iEfD85qqUJc7BV\\\/crt85qGTcjHHGaYFIW7LlpDyaqzLztFXJHkA5PNUQ2SdxJOaQEKnc2F6ildiIyAOc0gCBiyGoZHaIZxu9vpQAuVPyZwc00sFJA5xVfzBIrP0xURkVBkcmgrUtCT72KrsQhDdc9aYJy6kD5arKzKSGOaBxXUtRvg4A4pfMXcAw4Peqe8bSD+NM+0eYmyQcDpQOyLQk28LTWZw52nj0qvJJtXIqPeCpJO7j+dAyQvI4GwVnSMQTv65oMg6KcGqcszgESDBpSlZAJNOwbjgdaqmTeCc9agnnLNyMDFZbyljwcdqzvcDaM6IrKw6Vmpc+VlievbtWXd6lFa\\\/I\\\/JI5NeReLPirYaBExjQylc5wcYqZzUFeTKjBydke1SXMEX8XLD14rGn17TLVS0k6AjnGRX50eNvit4m8RgRJerZxknlGOcenUV5VN\\\/bzOtwupPMh4OWJODXBLMYp2SOqODl1P1nt\\\/ENnqC745FOPQ5ovNctbPas0qjPIGfSvza8HfE6bwrqUlrLd+b8obYx4APbrXM+L\\\/AI62V\\\/fky3qpjKqok5yfak8wXYf1Nn6eWni7SrmQgSAge4rcjvoZQTbsGr8Zx8ZfMb907M0fXbJyR616d4Y+OOsWcudNu\\\/Mzj93KxBH6045hH7SHLBS+yfqWbhV+Zeh5qsZldtrZ+tfJvhH9o\\\/S9TlTTPEMJtZTjDFuD+eK+k7DUbW9gF1ZuJEPQg12060J\\\/CzlnSlD4kdL5iouWzgU6JwOAeDWQ1wQDgfWp0Bb6etaXMzVAVcnuRUJk6AcVUcuHAHP0pXlGATkYpiLcTbgcjvUDMS2T0oL7BkmojIj\\\/ADMSOO1ADXzjzAOR0phRJOB1HrTnZgvB44xTDIQfn4oABggiTtT0dC3XvVOImRfMc4xxU+4iIFRnnrQBYATHXNPjdgCARUUa4GGqTbtz3+lAExUn0H0p249QDUEJWRc5xipy2DjNAxWLdSPypj+9RiUAYHPNPDLnLcGgCKRSQQRjPNNBIbfU5O\\\/g00yFWCsPagCMF8HccZoKlsZ4AqbggVGxO\\\/YemOtAH\\\/\\\/U\\\/sVwGPPGKjK7GLNgg9DTGkUEAfjVcOY2yvTPeoAbKgU+ZnrTHkyuF6VHNMMZPeqjysFIHJ75oAJWLZUemazWcxkc9aSacL8o5zVV1Z2APUikNIkaZuT68VXS5BfDcHFRuSBgdKg3qZNo9KC0rEzyljkcVEZwT5ZH41CZSCWX5hVRXBJKjAPNAy3MAuJPSo5Jl3Ar1qq0hK4PSo1lCvxxRcRZ8042k8mms7KuF71RZv3u8HrUpyRuzScrDLKTqoKnnPvUZlVOHbC+lU5Dg7c1TkmLAKRmpbuIlkkAOFNZL3BjYljkGluZuhzyKxppyVO33zSAtXU\\\/mDchwKxL3VbezQy3LbVFZmoatbWdszOcBc96+Qfi38cNG8Nxj7fLvbDYiQjcce2a5cTio0Vrub0aLm7JHd\\\/ET4lX86PbaTAfLAI3Dq34ivinxfqfie+ZoXl8hXJydx3c18+eNv2zNJ1LUV0SVbrSRncJJhsB7etcJL8d\\\/IkZb2484dYiTyR6jk5rwK9eVR3Z7NLDqKO2v\\\/DN0lw11b6lJvY\\\/d35A+g4xXO6l8S7zwrHBNcblCkK5DcmvMdV+Muga5IsE7iG4YZSVWA3e1ea64dU8dJ\\\/YYZjuPEqjPB4\\\/zzWCfLudMad9j0Dwt8T9Z+IHiufTrMO0e3qCSTk9O9fSi+F7fw\\\/aqfssbTcEbhkg\\\/lXyb4c8b6B8Jrt4rS1+0ZOCy4BJHevobw18RtT+II8wwrZQkj5nbkg+nAqudSKdO2rLN7qCfaTHd2qQoDwU6c+2KxryPU7aDz9ElWbvsY5GfbHT8q98s\\\/BfhC6bz5r9nkwD8mCOfxput\\\/CHR9ThWbSb028q\\\/MNwHP1waL9DncvuPMvCnxbsZ7oaL4jjCzBVwH4YbuOh+nWvp34efFbU\\\/BV3mNnurRiMxljwB3HavgP4s+BdQt4Y119Ta3B+aC7X7oPbJOMevWs\\\/4a\\\/F7WNKuh4S8aLtnUDy3BIWQdMjPetqU5wfMmRUpqaaZ\\\/Qb4P8AGmkeK9PS+06UYYAlSeRn2zXdi7Y8DtX5I+BPiY+i3Md7p8nzEAlQeGH+Nfoz4A8dab4y0tbq3kw+BkE55r2sLilVdnueTWwzhseqLKxIdzg+1aKupOB3rnVkXqD0qzFIyuHDceldxymr5ih9g7daFdicGoEdZAe5706IeU2wmgCXcykb6H35xjr0pjLlvM6ipg5UDdQAwZCkMOPSnEdABxTZGDPt6etPKsx45BoARVwBnkilMbHG04p0itxsoTdjBoAlKhACaXJxk849KjOQcdRTvmPHSgBFwM44FOcZGOoppAAwaR5CmMc5oAnVju56UeZgkY461GXAPHJqLc5UgdR3oGW2IOMVWfaXKn1xUDyMo45NMLHOe4oEf\\\/\\\/V\\\/sCO0ZOQKoT3AwRnGOKqm6kfO\\\/georPadlwpGc+tZjSuXWn83Ck4qAuEO0cL71UEu1sGoZLhmO1+PSgaiSM\\\/IwvvUcsp8zcBjjFU\\\/PVcEnJJqvLOWbKnpQ2WWvMcAqx4qlGGjLZ6mmS7pDvzioV37fkNTzAOlUluOAajLrjcDxjimyE85FR+agf5RkdqVwJQ5xnG78f\\\/AK1VWDEb27dRT5Jt77cYo+QqevJpACyhR8wqAzKAQxzn2xQxBbCmq8mO\\\/OaXqIR5RGob7xqhLcMrHHIzU8i5THQCsadix4OAKYElw8cg3F8d65S+vXZXfICLyatXQYvhiQK+Tv2iviWfA\\\/hSaO3lEbYZmYtgYwa5sViFRg5s2o0nUlyo8K\\\/at\\\/bA8F\\\/CzTPsF1cgSPuXCEFuPbIr8wIvH\\\/w5+MtxJqt9rlxayR\\\/8spgseQ3PXecj2wK\\\/Mv8Aad+P2n+JPGUsY1VZnLvj7O+4rknqd1eO6D8ZdXjsJLIXry4+RFDFif1rwHSq1v3lQ+hp0oU48sT9YfFeq6FokD2BkF9bsPlJYOox\\\/npXxx440vV\\\/FMoh0SRY4XbClONue4A6VH8KPCfjHxjcrJc3D24O3qDg\\\/rX6L\\\/Dv4JnchuUWVzjnbwTXJKpGDtc7aeGk90fJ\\\/wAJ\\\/gj4p1uD7Hrzi6ZCNrOhJHTnJJwa\\\/Rn4W\\\/AyXwyrS3P77cAFyOR+lfQHhf4f2enACNAMY+6K9ys\\\/DtvAilONorlnWcmd8cPCMbn59eOfgHFLbG4ihiMqKSCV5J\\\/KvhfxP4B+KKXzGzuisYJG3a2VHovPP6V+9Wq+FGvLbC4J7cV5tqHwqt7uPa8QJPt\\\/9aslVmnoX7GMtWfi34EuvF\\\/hW5WPxFq99MdwKozFCAPYk19neEfjfeyXq2U9jdpGgGHuPmjk9s8V6543\\\/Z5+1wuITtJB6LXzBqHgLx14Al\\\/4l\\\/8ApUI5KSBjnFbRrvqjnq4SEleLPqk\\\/ErStbifTNQsY3if7yKwBUH\\\/Ywc\\\/nXyr8XfhNbyWH9reGs3FkjFtuzMtufUYzxjtx0610U2oReN7ULLC1ldxE\\\/Ke59unepPC+sa3p1+bO6mLLjBEmcEe\\\/NbxrXPMnR5Tw74ffFzW9G1JdB8QTRTOQBHMmQkqDjByThx689a\\\/SH4U\\\/FS78Iagl8zebBNtDYbgD1r4B+NHwEbUIZPE3gVPKmfc81qBwWPO5MDr26VR+BfxcvST4R8SYW5jAVi5wfTvXTGq4tOO5zVIpqzP6UNA1iz1zTYtRsnDo+DkHNb5aVl81eAPWvg39mbx4ukufC17Jvim2+UWPQ9Mfyr74XJUbelfSYauqsLnh16fJKw5HDneverqysF6cg0yBCpwecmtBUVm5FdBiEUj4w3H4VIYstnqasLCO1TCAA56mgDO23GAMDHerqoSmFH5VcFvyCRUkUeD+7U07MDN8twOakVCCOO1azQFV5X5jUQgctyPypAZ5QLytRrvOSf8ACrpj+c4\\\/lRs4PNAyhsK4yc5p0gXbhqmwOM9KqyyKMEc5oEJnDcc1XmuFj74zVO4vljHy9VrmbvWoXG7p7UmwOne6TP3qzLjVIt5zwB3zXCX2sW+AFb8c1y11r8EWSr8Y9e9Q5lJH\\\/9b+tt33HA6VTL8c9qcWP3qqyB2YuePSsxoiaSQjeO\\\/SollEi\\\/OORTFLoA3UUSRHhh09KHc0YhEZ+ZvTpVVGBzuFWiqj5z6cVA0QQDjip5WISRg4CjtVaMBSeeMVZWP5mwaFhcsew60mrDK8pVlwpJFQbBG20VeSKSVsY6VDIjevSiwFKTceR+NQMWA3DitF1DDBqi6hyE9OaQio0vzDOQtKXMQGec1P5AdQc04wg5LUAZ9z93b3rJZMLlhXQzCMgY5rPmQKcGgDyzxp4gh0G0aeRhhVJ+lfzQ\\\/txePPGnx98XH4a+Drl0s43d72aNzhYwSpyRkDgnrX7a\\\/taeM7nT9MuNL0s4nkVowc8DIIzX8+X7QXxB0v4Z+GJPDvhvBmm3PdTZwzuARzjsOc59a+cx9dzq8i6Hv5dRUYOXVn5ceNPCGhabr66B4NC24hO1pnQGWZwcZAGMD8T1r9A\\\/2bv2a9S8TSwaz4viUtsVR\\\/HlODnBUYz9a\\\/OT9mmfVvin8S5L5AdplB3v8AMQC3av6n\\\/g\\\/4Pg0zQIZSA52oOnoKxx1dwtSR6uFpJvnsYvhP4OaDoViLaCNWCgdFHavatB0W3tcpbpt46\\\/St+9S1tQWiGDjtVKO7CEPD+NeG1qexCOh2dkCoaUEKM11lldxbMycgc15XHqMyKy9Mn1rQi1Rok3Nls9hTUhNX1Z69bXCY3Hbhu2alfULWMEEjIryiHUZHl8xuh5xWzDevqABQYCk5zWqWpk11O3kaCRSrj71cjrXg7TLxcyKMEd8YGa2YpMIFJq2k4JKnnNaaGE3Y+U\\\/FPwRsMGawby5OTuX1\\\/Kvln4i+ENW0q3LhCzgEFgCD9RX6o3lnCUZEXOc5Jr5s+I\\\/h1HgfKjgGkc1VdT4h8EfEjxBp1rHDMV1WBcDy5crNGB6nLZ\\\/IV5N8ffh1F4ksx8VPh5J5WoWO5prdV5dR83VTnORWl8V\\\/A8llGdd0WXaylt46KMc5OK8E0v44az4AuR\\\/aaia3b5ZQxPI7nNbQ01ORpH1x+zD8dk8a2EMshxeW2wOu7JHTk98g9frX75fDHxxb+NvDkV6DiZAFdc55x1r+QzxtrMnwq+KOn\\\/EjwWxOk68+9kjO1VcsGOcccgj8q\\\/e\\\/9k\\\/4x2sUtvfQyeba36J\\\/F90nH4d69TBYh05K+zPPxlDmjdH6vW6ElOmDWnHb7uVyOarWpSWBHTneARj3rctoWI+bj3r6I8UrJDL5gTbzWmlupYcdqnSNiwJ\\\/D3q9FDgj3qokuVil9nVvl\\\/lUyQbPujrWglthjzyacyHZgdaq2tybme0Mm3kYqNYtqFi2fWtgqSuDzWRPPHENrCoY4leSJVXdGB+NZV1JHEmWx81Mur8KuDxXDanrahsdccjNS3Yo6aWdY4w6muUvNWiWTa3bvmuUvvEalMbu\\\/rXm+teJVQls\\\/jmocykjv9S1pVDMW9eM5ry7XvFCxpkMFI4PPevP9X8arArb274HNeD+MfHkNvCcv93POaxlUVh8uuh7RP43Jyu7IHfNcB4k8fxWsfDYxzjNfHWqfFxElaBXDKff\\\/wCvXk+ufE+4vZihbAAx1rjqYqEVqzqp07n\\\/1\\\/63JIiMDHNQSJ8m4DNXJnSLOD+FZU94hfjisnIpIb9nBYM3BqbyOMZrMGoBm+YfjVi3u9zkHoeRS50NokWAnIY8U4x9jVuKQk7fSpxGU5HOfWquPyM77OzEeWf6U0IxHQ1plMrjNRIkYOTQL1KDREqVAqmsSbGTJya25Y1dMntVM7euKB6dDDaLZHgd6ri3CfOMHIrbdCxAHSoDAxTPehgZrhj1XFQZbkkZxxxWlIhOHzVOXhgRWbAz3Pze9Y+oTpGyoxOW79q1JCRKWxjNcF4tv0sdNnuNwXap\\\/lUzlZNjSu7I\\\/Hb9tvxvb+Fru7v5pTICHA56EZ96\\\/lf\\\/AGgvine+I9V1VLT5RDZT8q3LeYeuO33a\\\/br\\\/AIKLfESYabLp1oozctINwP3Rzk\\\/Xmv5lNT1kXvijXGuSUMlm8SDPXk9a+bwsPbVZVH0PqYx5KSR+qP8AwTO+H7PF\\\/bF0hVZfLIyvbg9a\\\/pE0sf2dpsaI+xQgxzX42\\\/8ABP7TrXSvAtubYA5WMc89hX6wx3EmpPFbNnaoDECvPxEuepKXmenBcsYpdjTbWRIzFyWP1zWIupu0hcnBFWbjTf3hjQ7QtUxYbCSzBRXDOOp6FOzjsdZHcRvAsjHDZrftJFlj2g5FecSXEUCDyevQ1D\\\/wkZsm3dfxqEV7K6se86fY2YI5+U+ldWk1hpcIkEO4A5wOTXzva\\\/EOK2URgZLeprutI8Vx6rlyRx97JrVSMakGuh7H5lvMN0S4Dc4PFNAVJQ+MVw83xG8IaYwj1K4VGA7MOv5iks\\\/jL4AuZfsy3AbtkMv+Nb3j3OaUJ72PRmaG5jEkZIPevJvFunNqdm7QOpcZyDXeaf4w8L6k5jtpQAO\\\/GP51l6j4ZMzLdWkm9JD1x2q3G+xyTdn7x+ZnxeN14bJk1W08y0kDCTK5GPr9K\\\/Dv433x8EeKn09p2udK1As9q\\\/QDJ+71x0Ir+qzxz8OP+Ej0CWxvI1KlW6jPUV\\\/Pt+1X+zNfQJcaNKGa3LvLCwH3GGRxx9K1paO0tjGVmfD+q\\\/EO4k8DXPg6+kJFsBcWrnnBAIA6\\\/TpX3n\\\/wTv8A2k21nTP7DuGLOhRtu\\\/kHgflX5S+J\\\/hz8RIdNAsM3Ai3KxKsSBXNfBz4m3nwX8cQ3FsTDvkUSqTt\\\/iGe4rvWH\\\/dPld3uhcnNvsf6KHwJ+Idp4z0KHkDai7fmyegz\\\/AEr6dgh\\\/d5WvwZ\\\/Yr+NK3htb6KXMV0kZAzxk49++a\\\/djRNSXVNOWePgkCvWwGIVWku583i6Ps526GvEjY5PQenT9au28fltn8afbR7vlODV91CLtz0r0b2RxO7IAQhLN6VUeZFXng064m8r5h1xXNX98yg4PFJy7DSNC6uwqgq2MVxmp6qkOWJ56YzWPqeurt2nsfWvKNf8AEkUYY5x1zzWbkUdXq\\\/iGEYVmx75rxzXfGEcTPIrYHpmuB1vxtEkrsTkD1PavnDxp8TbKAOS4UDPG6uepVRpGHc9rv\\\/iLBFuLN044PNeYa78RkVcQSYXuSe9fD3ij4xN55MEmRk968u1H4p3VypUyevGfX8a45YlG\\\/s7H15rHxEWIyEkNnJ+9Xzb8SPiOZLYQwvhjngGvEtU8fXUindyfrXGRS3Wsz+bIc561yVsRZOzNIU7nSR6lPcNmbJBrStLTzjlumeKt6fpQ2qH9q6+KzWE+59q+crYq7sejSo2Wp\\\/\\\/Q\\\/qwv9ejjJbvXJz62u7O7Ge1eTav4zQbhnGOeteS6r8S4IAVLY59a5vQ0Pp0+IFMm2NsCtiz1lXwGORwc5r4utviZavOIw2Sfeu80jxrHKeGHbvRYD65i1iBMbm+nNbUWoqR16+9fN9l4sQIGY5P1rrLTxMkgByAB3zmmpAe4peKSQ1AkQHANeWx+Ik7HrV2LXYmOCefrTuM9JjlwhDfhTAQcAjgelcbbaxkEOcfjWkuqxhQetNy1A25QoOFOaryEqhIOKyzqEbjcAc08XKyDYw696XMIlLIV+QdKoSLknHXGavlVK9c1FNbbDxzmkBz14xUkjoK+X\\\/j54qh0XwvcTMSCVKED3B68+1fVV5CojbdX5v8A7aeqra6VHZQZ3FHZlHuOK4swqOnQlJHVg4c9aKP5uf29PGJurM+S2QS4GDubnP0r8CfHt1NpviH7ZDkGdMEfU1+4Hx4itvFVzew3RAKjp\\\/tfNX4p\\\/Hy1e0FnfouFCkE+9eTkj1s+p9Ljvdp37H9Hv\\\/BO290\\\/W\\\/AFtbhssqR59c7RX6uafJFpjvEfmPbFfzqf8EwfixLFpZ0hn5Hl9D9BX7163498LeBNKbXPEk6gsm7aWAIA57151eDhUlF9zspy51FrqjY1jVriJXlbKjPP0ryy78dwWofqdvf\\\/ACa+MPij\\\/wAFG\\\/h7Y3RsLSDz1Xd9x1wK+ZNR\\\/b88E3zEfZ2i3dAXHWuadGpLVRPTp+7oz9WW8ci4OCwHGQQajfWjc2zyK5JXnNfmH4R\\\/aE0nxRMbq0lKjIG3cD1\\\/GvvX4bPN4i0VntQWLAN68EVhKDho0dLXKrl\\\/WviBp+jw\\\/bL5ygQZx9Pxr49+MH7dd3okcemfD2Hc8m4SMz9PoF\\\/xrvfjp4O1mW0ZJC0UY3EnkcV+WHxC1Ww8C6dJNZRedcOxCA+ozV0KfPK1h80d2e9aH8Y\\\/iJ4n1JL\\\/AMT3zWit82Gdj19iRX2x8OfjV8O9NgC6jeJNMuOS64\\\/U1\\\/PH4qX4gTWc3ijW5JbiOMljGpYKuecc59KyfAXjrxV4l1iLw7baZEjXDBQ7KSVDHGa9uGUc65lI8rEZtCL5JRP7A\\\/CPxu8KXkUcmnSKwJBG1g39RX3D4I+IGn+I7ZYYgoAAHBr+X\\\/8AZS+Hfxn+1Tajp9nObSCQLlC7ROOOfugCv6A\\\/groviO5soluNOa2bC5JB5Ix7CvPnF0p8pFempQUovc+6otOt721ZAcgj+dfFH7QXwytLu2EskQdQGxx\\\/9avtDQrS5tIRHOSDgZ44rB8faUmo6X0yRkHirctLnn8jR+J118LfD09s9u8UcUc2QxUBX\\\/zzX5z\\\/ALWP7FOlT+Fn8W+D\\\/MkvYCzEbcqRgnqBnrX68fGrR9a8HpJrWlTLCItzMHB2HHOc8V8T+N\\\/jRHq\\\/hObQZL6Nrm6RsRxNk5Ix6+\\\/pWcKsoS5kddLDyqLlieU\\\/8E3Pize2+k3Hg3V51a702SMKyvn5OmOe4x+tf1z\\\/ALPPju28S6JGrSZfapPPfAr+BP4PeK734TfH5BkpFdOocE7eGev68f2Svij9hWOC4I2P5ZVs\\\/nXqYaqqVdK+ktTyc0w\\\/u3e6P2shZTiRazLi5IP3uB74rlrPX0ngDKc8etY+o660QOTxz3r6JtdT5u1jW1LVlhTzAefrXnGq+JRCrhjuHqawdd8Rx9z6189eMfGkVvGX3+uef5VEppIErneeIvGQgJVDkCvnjxX8QYog7O\\\/PPfpXjXjj4liAlkkHfjNfG\\\/j74o3F1OwiJ5zyDXn1sRodFOl1PbfGnxYQTOImz1ztbrXyF4x8aXOrSMkchAOe9chJqN5eyM7EnJ71lvaSPLuYHHWvJq4q7PRp4e5RaCefh2I96r\\\/YCJMH566uGNDhduTT2s0Q7q86pX1O6NDTY49tJWSQbxwOnFdLplktsw9\\\/0pshIbfj7tSpdqAWxgD86wnUbJcbHbWgAHHNXzc\\\/NkdK4IaoFXAY1ai1CPhs9a4503uF+h\\\/\\\/0f1D8SfEsIzFWBBGM5rwDV\\\/GNxeyFg5A57815HL4jubhz55PPqagOoGUZHFaRoJE+0PSofEd9ZuJkkJ79a9d8MfET92A79MdT\\\/8AXr5e+3ttVCM5qSLUWgPynbz2pulcOc++9P8AiNFjMhwcdzXeaR8RYpQVLcfXpX5wDxfdQLtVuPXNadn49uoCCrEn61Dw2ug3VP1DtfHisgDP0966fT\\\/GCNlsmvzX0f4kOpG9yCff\\\/wCvXqmnfEUhRhjg46msnTKUz9ArTxWsi\\\/f6+9bcXiSFgCGJB96+FbH4i4YBWxj3rtbT4ho6qGbn61k4PcrmR9qW2vRZCg5JrUj1lVGX\\\/SvkrTvHcYwytz9a7Kx8Uq4IZuSfWgo+mV1NDhQc+9asd9n5RzXg1l4oUjk5A6c10tt4h83KscfQ0Aem316EhIIHzccmvx1\\\/bZ8cRC4vpN3lfYlkhDZ69e\\\/4V+nV\\\/rsbLtYZCjqT6V+Fn7eOtbfh\\\/fzKwP2i5kct3wqnH8+a8bOZ2pcp6WVRvWTPxj8WC2vPCuo63MTuYvnHzHoTX5RfFfRje+AlklBkdd+0+5HH8q\\\/WuW2trL4b6naXB3GWUrx15U1+Y+o2sureEtd0O2OZLVGkUYy3ygjivOyl8sr+aPocZHmg0Z37CHxQvvCniJtKhwHaROpwetftp8Sbz+3tHWXXLwSiSM4VmyAcdOa\\\/my+CWoXNj46WSNiryEdD3B\\\/+vX6VePPirrd14GdXY+dGpVRkk7sfWu3NcN+\\\/vHqGS1W8Pe+2hh\\\/FK8+FnhLM1+8W9yx2IVLHH5V8qX3xg0e6l8nSNKV4weCzAH\\\/0E1xeieC7vXru6ufGErxzSL+78zvn612XgH9lDxJ4u33NtcrbwqQC3J\\\/pXfTwlCnH35XOeeYYmpUtShZHS6J8YjbXIxA1pIp6Z4OPyr+nf\\\/gntqln8RvAVrrYYsrBEY+hwpx+tfz2ar+znp8F+JZdSTEagNGiA8j8a\\\/oq\\\/wCCW\\\/gOPwF8IJd4JDzq6BhjjaK8fM40XFShuj2KUqy0qH1F+058I0v\\\/AA+sFoCHl3DOM44\\\/+vX4a\\\/FX9j7xGLRtRjvYxKzHaZQQqj1\\\/Cv6pfFejweINFiBTds49eor5W8d\\\/s96V4oh+yXLYUZKgjua86l7nvIXtbSP53vBnwa0iy8MT+GNZ1S1vI5v9asmEHTHGS2a67wP8APhT4Q1MNf6lCkUhUiGzRS7gHoTkdfpX6sa7+xH4dlulluLSO55POwcD8jXqPgL9mvwb4OnSW30mJGBB3bBnj8BW7xNS1uaxvy0J6qOp0vwCijudDg0vw9pi6bp8aIE3jBcAdeAB0r7h8Oxm3YJc\\\/KvQHbnH8qzPB+gWFnGkKrgDAwB0xXqjw26Q4iUZArlu273MZU1fYvDTvKiE5wwPp2rzrXXheOSLecDOMmupl8QG0j8mbt+FeP8AijUHupQIvU1bkkjknB3PCPHuhafrOiXtlfwicTIyFSM8EGvzy8J\\\/sK+Go7FviZqe\\\/wA6IForYqFH94cYP0r9KPE0N8YBb6cf3sjYzWXJp+rKGh1GbOyPJHP8ua5pO7O3C1XTi7M\\\/kf8A2q9F1f4ceNrXVJsF4biWNsAjacgr\\\/I1+2H7EPxeuvGPw7ttTLBprcIjjOT90V+Z\\\/x\\\/8AC+rfF69+IGoJGW+xXP2m225OYh52f6VzX\\\/BOr4q6j4b1+88G3bFGZk4LYGQcV6PL+5UlvE82u1UlPsz+0H4Z\\\/EIaz4bjnkYI42xMM\\\/xAfWug1jxMAjMrdM8Zr4B+Efj63tkmtHcss6pMnPQ857\\\/SvQfF\\\/wATYILckHqD3r2MNjFKmm3qfM1qHLOx3fizxyIY3MjDC5Gd1fD3xP8Ai6IJDFEc9e9ZHjr4lebGwU9Se\\\/WvlbWbuXWbos54ySKwr4pWvcqnQvoWdY8YXurymRj39a5J4JrqUA9vWtu20zy8kc\\\/hWzHY4GUH514mJxuujPToYU5aLTV3hT6frV8WACljXSLYs3zmq91G0S\\\/Jyc15c8Rc9CnSSRx1wFiYeWoyKiI89Sz8YrTuLZA4d+9ZrxhAxFNSuy3oczfzmMZH0xXN3V\\\/5JwCeeetbOqIx5HGa8+vhIpEn6V304JnDWlroba6tht+c+1altqqMmCGNefskisH79a2rSZny7csMYxRUgrGEW2f\\\/0urS5YdTk1cW5xgdPqa5+NsDjrTorhg5D8\\\/WvQi09znOka6Z1ynXGKjWdQShPGayI5FY\\\/KcU8uSvWnazJcjQMjOCo5FTxM0QyDmsqNyO9SPmTHPSla5Klqb8F3Ju2pxgZratdculQc9PeuOS4YbQvUVMkgGMcfjUWKUz1G28XXcaZXK\\\/SultPGdyx379p+teJiZ8gE4BqeK5eKT5mqHTTKVU+mNO+IbR4WQ8\\\/XpXoWm\\\/EsKx\\\/ixj+LvXxx9tZgFBxmr6ahNEoKMf\\\/wBVQqCLjUuj9DNJ+IwYYchScHg9q9CtfHkUiKysvp96vzGtvFGpWp8xZGwfeu0sviFdrGMEnnkZrOWH6ornR+ieoeNo5tPmVjj5DyD0r8YP27b8t8LYHhBUOsjOe5yvX8a+v4viE01s8cnIIwBnrXwb+2VfRXfgtRMNse3YM9M4OK+ZzyPKlFnv5P70ro\\\/NXTNchl8G6paPtdwxI2tluAccV8D2N5DbePZtN+6+prJBwf7xGD+tfWVnbnTI76JZOJYyB2AIz\\\/jXxh8Z55\\\/D+v6BfoArB\\\/MLDjliP8K8zAJubgfQ1\\\/huz490gyeEfiOgxvSK42cHGcNX7d\\\/CL4E6P8TpoNUnkAjASTYAOe\\\/PXj8K\\\/Hz466SdP8Wprdr9y5\\\/eqw9Sc1\\\/QD\\\/wTwez8YeDLWdpMErErd85AyK9HOakuSnUh6GeSQs6tF+pxfxJ+EQEJh8PeH1u3QbUkdPvAZ+6Ap4981zHg39n\\\/AONHiZBY3UI0a0PUKjhj+g7V\\\/QhpXw0sIoCzqCG5zityL4eaHHlwAMc9B\\\/hXirFyS97U9ZQtrBH5O\\\/Dv9j2y06ApcBpmbBZnTk\\\/pX6tfs5eDP7J0Wexji2RRFAoxjoD7VwXjjxpoHw9s\\\/tE+3aCQASBk19Q\\\/DXW9JtfBFvqMzpG9yd3GBxgVPtnNPsTKE01dbn0To2jRzWZiOSAua5TXo7PTozNdKdq8nA54rEg+KPh7SGTz5wR7sP8AGrsXxT+HF\\\/Mftd3EM8\\\/My\\\/41UZxcbNmFWjNTvY5GLxr4NuZSsNyoYdVyAa1U8QaDNETC4JHcYr8zv2p9Outa8fx3vwpuGXZG0kzRH5c7uAdtfNul\\\/tM+Mvh7fDSfGcDYJAEm4gccd645VJJtHq0sFGSvF69j9y7TxFZI+6JsEckGtuLxaEDKFDZ6YNfmJ4M\\\/aF0zxHB9silAPGTuHU\\\/jXtFp8Smmg3Lyp7g9KSrS2Jq0OXc+lvEnidXbpsY9ieuazNBVtQLu\\\/wAx4\\\/CvEIdRuNaWN0JNfQHgkBIWD8NxVxbZ5ddW2Pn349\\\/FLQvgn4RufHviSTybWxDO54BwoLdyB2rzn4D\\\/ALS3gX9sn4YeL7H4OX0F14k0\\\/TTNbBXDneythSFJOc46V8T\\\/APBcvxJd6R+zWlhahv8ATrzyyR6eW\\\/X86\\\/Ob\\\/gjN45vfgPa678XwGMC3FvCVztDL8zHn8BW1ehGnhPrblqpJW76nPTxEpSlhYx1s3ftY+y\\\/2T9D0rU7\\\/AP4QnxmvlajqNq9rNvxglio78nkmvjnxZ+zt4i+Dfxba8hBgubadlcKpAkVW4I6envX6U\\\/FzTtMvPidP8RPC6iK2F2tzGI+CiuzNg4HTivqT4u\\\/DKy+PvgC38caTGItTs48SgDJb5c5yOetDxF72ejOZXSTPI\\\/gb4vmuTb290cSRlAM9WWT\\\/AA28\\\/Wut+Imo6pa6o1kSSuM9+nPavB\\\/h\\\/rnnW1rqd1Gba9srg20sfZtuPmPfk19feM9MXxHoq6lbRK00IOcDJ2kZ\\\/pSjNpaM5KsFJo+S7iykuXZ2lBBJ4Y8\\\/lVCLTYY5tikn3PFd41irS7gmGH3lNQ\\\/ZIioJXB+lcdXFuzRvRoLc563s23nIx6Vri0UjGcVsxRKwwRTJVxggV5s6zb1PThSSRiqoj3A84rGnyMllOK1LuXy8kCuau7vPyE5FKN2Y1OxRuJECn1PSsWZfMBJYZ96uyTjcUQ4qoGLrsYD6+tdlOLRnzI5m9st2MZzXKXekKzYXPr0r0xoAuXGKzZbZXO8da7IzaOWpG+x5qNKkBwo+oxTrfSJYyTs4PpXqaabGTkLmpW0wgg+lQ6tzLlP\\\/07cbOhI609WCnJ78UqRKw25PXrVnyh90j8a6lJoycSFEx8ynFILkRkq461KI5QcDpUqRyZ5GcVonfcycWOt3Vh1zVnpz2qF0YDjjNM8xtpXrVE2L8ZzyKc0g3AH+dUIHOM5xUjuAcdc04pdRNFp5SowwNTxuazAHA3fw+taELjG0Vo4IbjpobUe0gOp6VdQno4rLgf8Au1ewh+bHNZapgi6qYYGtEHZ8xAyRgGqgA2gjPvTi5Y7c44qnqXobmkK0szPI3GOBXy3+1rafafDSpP8AOiKSF9wDivpvSpAkylv42Cg+grxL9paGO50i3tJh\\\/rA2GHsP\\\/r18fxKrJP8Arc+hyOd52PxYsZ5D4pbRJGV4bk7c5zgk4r5g\\\/adsEt\\\/EEFtGcJAMAHjoTXv+q7NF8aPdyAgLMUHbv1rzz9pOB9U057\\\/G2VCdxzwQc+39a8nBtKrCR9NXXNFo+RvH\\\/la\\\/4It5lP7y1XnPpj8fSv0i\\\/wCCVPxRjiS78KXLZktnRl56KcD19q\\\/NJJ1S1itpz8kylD6Vr\\\/so614l8G\\\/G9G8NgyZGZVyQNiuMnj617OIpe0w049tTz6Fd0sVGfR6M\\\/uO03x5ZR6XGPNHyrySa5HV\\\/iJtj8yCU4AOcHivzO8JfHw6ppMciSZDIMANx0+tVpvjPH5hEr8ntur42erPsaMFbQ9V+O2p3nim3jkRt\\\/luXA6186\\\/FP9tnxXoOqWunaHHJHFEgR1BIGR9DV6b4pW2r6l9mHAA554JPavJviN4XvFs21mxj818liMZ9\\\/SujDJKVp7FSdmr9D2vw\\\/+0Dq3xSi+zX18trKq95DtJPvmuE8KfCHxh458f8A9qax4qnntwMLHEx2J82ePmNfIHh3wtq\\\/iXWJJUjaHdgEYKjJP41+k\\\/7Pek+GfhRG91431uKBZNpSEkA\\\/qRW8qap3UTWPPLWnF36H6QfCDwXpGheHI9LgVpWABZ3A3MQMV4t8cvg9Lqe6WziEwk3EgrnFeg6R+1B8D7GPMNy5C9\\\/kx+e6vNviX+3B8GtJ0hrjFxMuSAUCnJx2+as\\\/ZOWljl+pYyD55U2fmlqej+NfhRqDXdvE89uGLNGMhgB3Ar9Dv2ePGVj8S9E8uyYFiFGN2SCRXy3\\\/AMLO1P4xzLNpOi3VtbSciS4jPIPp+Br2T4BeCJ\\\/AHia7mh+WKd1fGMYOa5aseR8ttSZ1faRcZb9D7v8AhbYzWOr3ugakfmiYOh9ckj+lfRenXS2E5G7k4wM14TLqcS6tba3EpDMNrY9Otd1c6qiyozn73vRT8zzZq6uz86v+CuHjbwtoXw40HT\\\/EFrFcpqF5JGFmAK\\\/dHOD9a\\\/IbTP2u\\\/h58FPCkfww8I6LBdveLlkcKERsbQQB3r7c\\\/4LI3+m+LdM8I+DJpVFzuuJgM5PAQD+dfzRx6fPo\\\/ik6fKxSTft3H69a9ahk1HFKM6rdlrbp5M4\\\/7V+r03SjTXM9Obrbsf0tfspfFix+Ib3Nr4gcNJdKIVTIKof4ep9zX7A\\\/Ay\\\/uFt206VdgULG6dvyr+Z\\\/8AY41NrS\\\/k+zuqyKVY56h169\\\/ev6QPgnqEes3lvf2f3pgu\\\/PZhjP8AOuKvSVOo4oxbvG5yf7QPwjg8LwHxb4bAKzNmRdvA6nBx+ldN4ams7nTLa5RirSoFdT05FfUfjTT4dTuj4b1JQ8OqxMoH9xxwDznruP5V8i+BBbW0F5pBO5o5Cq7vQcYFTY5GzyXxnZXWi6o0b4xuOD61xMjho\\\/MU89x6V9HePUFxp63q2yyhDskDDnB9Dg+lfLtzKiT4iBCj1rza9F3v0OmjOxsQZZcbqjunfbuz+FZkNyjD5jipJbgnLVwSp6neqqsYV\\\/Jg4k4FcVqEojBYZIrp9QvPmww+hrzjWboud+ea7KFI5K1RJDDqIZ8IMVNa3IaQkg5rn0YP8\\\/T6Vegk2HK13ez0scfNc6jeuzIpnlE8g1lJPxlj+RrRS6+QFKVu5LkzctEdOeop92vGIxyaz7S9b7o7VNLKHQx1k0hqWh\\\/\\\/1OkjgUdMfhWiIQ7ZUZNVLZSwOetaMecg\\\/rWkn5iWqFNl5Kg9c9qmNtGwyBg1o7Pl5PvzVN\\\/NZlYfeBpRkwaMpoyAQRjHSqDQ+X+NdE4LfeG31xWVM27IGK3hPuYyiZZKo271p5KbRkU3Zl9xNIYTnOa2RkXVbK7QOKsrll2hhVJd6jg1LEvOSearmYehftgsTcHOK3IQuBnrWGjgMRjpVuOZsYPNKTu0I12Zg37s04yLLlehqpbryH9OmamMLK3mMcZqrKw7F20km3DPIXpXH\\\/Ga1N9ocN4MZQMMH3HFdhaeZOwhiHynvW54+8Lpb+HIzMDISDwOxAr5niSKeHXc9vJZNVT+fL47+G10vWo51HDyliR6g9P1ry\\\/4nQtqfg2MDBdgqnPqAf8AGvsP9p7wtPNFE6DaQ7nA65H4V8dBVk0CXTWJ8xTuI9MjBr5DDVNIu+x9typxPh7WbMHRnuY2AMBJx36Vu\\\/AO7s4PFGtXc2Y5bjTmELZwQzH\\\/APVUniTTmQ3lm+VLbj7d68G027k0HUFvlJO0lGHTKccfpX1CpSrUZQT1Z4tWap1oTe1z9NfgL4u1uPR7jSr1v3ti\\\/ltkn+EV79qE17cxJeRksr8qR61+fngj43eGLrx3CNHtGtTdRqLgMQUaQN1GMYzn3r9KfA11ZT25ikwY2IYZxxmvCxtCVOSclZs+nwOKjOnaDvY898EeJI7G4ebWHC4l6Mccj61614z\\\/AGufBOi6d\\\/Y3h6NdQvcEMQw2IenbPeq\\\/xX+C1lr+njXNIfbG+fNVRwD17Vp\\\/Df4HfCPwrapqltpcVxeuBvJVevXn5c9feow8qFuapudKtKovabHwD4m+Jfj7xprzGymn8w5xHa7iBk\\\/WvcPhN8Kv2gfHd8kcmnSQom0fabwOAAfw\\\/HrX054g+Jd54au\\\/+JZaQ28aAg7I9px+dU9L\\\/aAu75RBOJZmHZTgfnzXbKvHltGOh9xhIUoRU1VSS6H3D8JP2SbCwsi\\\/xW8Qi\\\/eTDJBbDCr6g7i38q+1fDXwl+D+k6etvpOmRTCMj76q3I98V+Z\\\/ww+KuuateLbahEyKcAKpP6n\\\/AOtX6MfDa41bU9qyqFQYKgZzXmzxMk7I8TOszUk4UpN367HpWt6To7WTCKFUI+6FAAr5r1BrrSNYKwphc8\\\/nX2JJpMrxDapPGDnpmvIvFHhGJzjkPk54rimnKVz5GM2jlofFqzRIsZ2kds13sevj7GJJDjaOcmuGtvDVraL5kpLFf6V5l438WNeznR7BhsAIYg\\\/hWkItBUmnsfgt\\\/wAFDP2h5739q2JrqMNZ6ZaBIlLcY8xske5AFfMfi3wrb+OZJLrStsV7An2mMEZ8yFugHfIx+tH\\\/AAUntP7N+PsVzH\\\/y1tefwdv8a8c+F\\\/iK\\\/wBQgi0iOfydUscSWZY\\\/6xOPkPfqB0r7bD0F9XhUj2Pkq9ZqtKDfU+zf2bvGDQeIoZJf3aTLHbz+qyA9f+BZP5V\\\/Sd+yZ440\\\/Ur+S1ttypGqyZY9D3r+U7RvE9pdao2t2CNb+aRHdQZ5jkz94e3Xr6V+zf7KXxUPhLUdOsLmbLy+WXGcls49xxXgZrh3FqpY9PD1FNci3P6IdY1eGTxLbicKRcGPYT0GCf8AGvj\\\/AFfw9rOg+LdRaSM+W1w0sbAHG0k17xHqEPim2s9UUgfYGDkZ6kY\\\/wrD1S0u01L7bNMGjux+7x2PcH8xXloxkrOxxFrdWWredY3I2CdcNz69xXyd4v8LXWi3k0KEsFcjI9fX8a+umjtkLmeJWlhOc4549K4zxzo8XiDRV1GAcr8knHt1pSinuJNrY+RzaXsZLyALx361nzXk0f3vpWrr2nTwP9mkPzAcH1FcPNekReWWyF6GuV0ddjZza6lXVL5+pPPNcBfXRDfO2fQVv3120mWPAAxXnmoXB84hTuxxXTTpW2OSrVb3OksmCqXbo1aAdSARXH2d3NtweldLAdw3njNVKOooSbNNFBGQaq3F4VTapwe9G9sFAePase4uAspjHPrUFyudNp102ACc5ro1uBjIOfauEsJyOM8Zrq4mymQecVyVZWN6cU0f\\\/1eviUr0rWtwWGVFZEe4H5jxV2NuwPWnLclPobMT+YuMfNUgCr1696oxStGOBzV4hmwfXtSKCSJZMbTxWVcWSv+8zjtW2PlHPGKNmV2+tXzWJaucnNbmM84OPSs9hul2g\\\/lXVtAJHKkdO9Zl1abMFP1rSMzLlM+IEDJpC5EhPTNNl3xLxyaZG\\\/wDEwzW8ZX3MrFznJYmrFswnk7AiqW9Tz29KEPzFQOKewWOmjvba3i3QqWJ4JNUZbySRw2M\\\/Ws5EkT5asKuOccVEqqW7LUGzu\\\/Clu898JHOFTDcdOK9E1jbq+hyJOedxKkDPavLtHuTEqxIOcZwK72W\\\/ex0kMey5I\\\/Cvms3q+0vE9rL48mq3Pzc\\\/aE8LG7edoY\\\/9WGbpnJ5r8oZ1bTNZL3Q2LITEc\\\/Xn8a\\\/dXxhZw+LtNvUjGJEzx1Izmvxu+N\\\/hS60S9aWNc4naXHbivjqPu1HT6H2VKV4o+JviFbva695MgKnBB54Iz9K+VtStzcanJZ4PBJ\\\/Wvtb4pz29xDbX8SAkIB0wfr3r5P1VVj1aWdhl3AHH1NfcZNecoxkeVjqd5anD3G7SbiK5sTh4mByOuRX6N\\\/BX4vw65poCSfvV2qwznB\\\/Ovgy\\\/0YSWm+IEua43TtQ1vwZqa6rpm5WH3h0yAfavazjKFVgrLXoc+DxksLVv9l7n9Afhn4i3Mqf2X0jlxuDHPWvYvDGmzEzC0jMm\\\/oOh\\\/rX5DfCP486frxWG8xFOu04Ld6\\\/X74CfEfRtXUWN2qhwF+YkH8a\\\/PsVhJ0XaSPrY4mFWHNB3QviH4IXniEh42ZHPONvPNdX4F\\\/ZA1O5vEM8piQYO7bzmvsbwxrWjQ2227RGPBBOOldzH430iOQGKXA6DBxXE6slojqo1pW2L3wn\\\/AGY9C0XKTy5Ykcso7V9h2Xw707QbdZbTHmDHHbA\\\/CvkzTPjbaWt00EjYIOfvV67ZfGWzv0DGYZUD+L\\\/69ZLXQyrptXPXjNHEzI\\\/oRivL9dvbWFmlnwecD1rzXxN8ZNIt5ijTgMM5+Yf418VfE79pGfWbweHvDYMkhJywbgdu1bQg2edLc9z+JXxasNLmbSdJAaeTIwD+HavK9FtxBE89037yQbmZjnrXn2g6E0iLdX7mSeU5Zjzg\\\/wCTXU65f\\\/2fAYYz0G3NacthRVz+fb\\\/gqFaunxT03VFHyvFIv5MP8a\\\/PfSNdkPlwq5iuImDQyDruHb+Vfp1\\\/wUetJNcFpqsK5Nq7g\\\/Q8\\\/wBK\\\/JGOFzMowc9q+7yr3sLE+QzWPLipeZ+h\\\/g3ULD4j2I1KICz1uyA+0QjrcL3Yd8gjp719XfC7xPdW+u2Wpbdv2coGcHjaT1\\\/DFfInwv8ABWq3llaaxM\\\/2W+jVCGXhnHXk+ua+g9fGsaO\\\/9qxQPGrfLcwjIB9XH616mZcP1JYb2qWn5Hs4alOEFJI\\\/qT\\\/Zh8e2\\\/jXw7+5I3Oqt97PzKOn47q+j5rDTWtUkR90ec5PJQn1r8cP2FPiLBY6aLbf+8jZCRnsMbsfpX6xaj4ht9E1CK9b\\\/AI9dQ6Z6Bjjj9a\\\/LZRcW0wrQtMg8SaTNHIssacr1wPXvXJ3K\\\/wBnqsiqTDKcSKB096+g\\\/D5S8CW6tllBH1U4rjfGehvCDcWKA7D8ye1PS1zFqzPjn4heHIDI9vcKe7I69R1\\\/MV85aroM1nG0kZ8zPB2ivufUvDUOtWr6WWbaAfKcjkdsGvljVk1fSL0205MckWQxOcNjv2rJ3vccndHztqNvcOm0L8uec15fqFyTKI41wo4yK9w8dWbpEL+NiVY\\\/P7GvB7qRZLjzFHSuikup51bfQ0bIEDluvNdRb3A8oKGya4OCZ2ypOAKtpcqp55J9aJQua052OkuLopnDda5htWWYgDhuhqGe7jkG08ZrnbiZFdo19aFSNJzPQLTVViUCQ1uR66mzcMivKlkcKFWpxeuGwSQK5qlJMqNVo\\\/\\\/W9Ct7BnXc4wDVpLEKxP5VsRxLzzVtbdWGK5faG3sjFS1O4Yq75RVVBrU+y\\\/LzUKITkfzp+06i9mVSnmqQOKkMAJ4OKmKheeDjtT4yJFbcMVftOochmlBH8o61l3Cl2DtxnPFbc5DAYGKwXYLnB5q41FuZyh1M+5hQL8vVqzrhkhQY9cVdnuVBz6VzFxeqzkuvTitHWMnAstcYbOOtWoLob8Ba5p7xD1wBTFuSnzBuKwqYm3U0p0b7nbCUlcnoOMVnyXyhhsfaRXPRamgXDnI9zWUurrNdFBj\\\/AOsK8+piTsVJHrWlajOJ95G8HvXaavqQg0uaRhlthOD\\\/AErxTwxqEmp6mtkrdSBn0Fdt4o1C3iiKy5wv49K8bGYlas9DCUrzSR8i6d8Sbrwz4yewvEMkd6+0ktwFzz\\\/OvOf2lPAqTWclzCgAbfIrY7dxXjPxV1u8fxIdQtZNq7yyr6AGvq7wbrP\\\/AAtb4YTWt2\\\/+lWy7cZzxt614Lv8AEj6eMOXQ\\\/Br4kA2tubWU5ILBST2r5n1x\\\/L1CKFgMsuR65r7P\\\/aO8PTaZqM1m3U7iOPTNfC+otL\\\/aUV05yyDBr7fIZq8JdDgzB8rR3+lWr6hjzF5AwBitXW\\\/C4mtACm3dwSetR6LFJeqzsd8igMAK9S0yzlns1GqgrExCoe+fXmv2LCUYVKdmr3OeNNSWp8ma14F1LSLn7fpbnjkbRj+Veu\\\/C79prxT8O9Tjg1oO6Ar824g8fWvXLTwpfXtl9ouWKRhvkGM5B6flXnXi74fWN2d2pxbHOQu0c14uZcLqqm4owVCpRfPRdj9R\\\/BP7XOj+JtJSe2ulMoUBgXB6j61sy\\\/tBX0d4HWdWU8jD1+Elx4R1\\\/SLh5tCkdY1zyuQf0qknjLxvY7kkuJMHjktn+dfAV+GHTm+ZHpU8+lBctWnr5H7rap+0A1pKbtLofOfmBbn+dY8v7Zc2k2rLYy7mOcEv\\\/APXr8PT4w8TXW5Lq4fafQmuh8LzXUt+k8jsckck1g8lpx1HLPfaNKMT9c9G+LvjP4h3rfargqjHdw5xzX2V8J9Jt9PUXMr+Y8mMsTzX5sfB23O0St91gOK\\\/QPwh4it7GOO3jYNI2Bgf\\\/AK68jF0op8sUdcZOS1PsS1ufswCxYOa4fxxqDrbtIDheR7Vd07UoYdOWVj+9kHPrXnfjW3vtRtzbQHHBOSa58PgqtafJTi2\\\/IqMT81v2sYofEPh6e2++cNggZ5wa+Mf2Z\\\/2adb+IurrqusxtHZxEFS4IVuR3IPav2Q1n4G6Pqtsms6tc\\\/aIgBI0MYB+U8nJP+Feu+HPBmh6ZBDaaEoiMWGjQgDjjGAO1frXC\\\/C+IhHmxUeVdjmqZbGpWVafToeD+H\\\/g6lvZi9\\\/sx5rcDG+MbgB6n5ePzpl54K1G7lawu442sApDu5w6qfbBBGPpX3BaCbRLKH5lCyJnyh7Y3fXtXhfii80i2hlk05VnM5O4OckevFfolSjBwdNrQ779Inz18H\\\/Ex+FesJHuaWL7SIGkByhjYjB+vBr9vI\\\/GUXir4dxXEJG7ywy852ttr+fXxdqs3h\\\/W4vCzYhS\\\/5Rz9zzAcID+Z5r9Mv2afiTDf6Rc+CteJhuBtKq\\\/RWxjv2\\\/Cv5w4owX1XGTitrnnVYrnsfoz8Evi3D4hi\\\/sq8by7q0CjJb72OOK+37PTdP8c2LnAimxg+jZr8ObCbUfB3jWRGV4jO+UcEgdfTjpX6K\\\/DH4wXrWyQalj93tG4Hr718lCs4uzCtQvG6LXizw\\\/qPgK+mikje7s5GwNv3kPP4Yx9K848XeBLDx9p6SWbCK8QHy36hxjoe4OfrX6BQP4f8AG+nncQkhX73Bzmvnzxp8OL\\\/QLsS6cFTzDubaMBvf613Llkro8yalHRo\\\/KTxN4b1bwvfvo+v28ixSgg7lIHp37V846xYNpt5Ja9VB4PqK\\\/Yfxstrq9suieKoDsYYSfuM8dx+lfAnxo+F974e2X9iftFrgqHUdh6+9awicdRX1PkO8d1U7OgrM+2tIxbqR3q3eStAzI35GuQurgopKd+TXoQgrHOpNGvdXrxsEz1pkcm9gRyTzXHmeRm8xmJHpW7Z+YGXfzx29qmpDTQ0g+ZnSwySK4JPFNuZ2LZjNM8wsB7Vm3bqHwhPNcHLdnSf\\\/1\\\/Z7dY3ILH3rXgKFix+7WDDJtbEY6itGOdB8nNeSpM74xZpyjAI7Cqh\\\/dMc9+lRNcrgMc8etVZNQMvA4x3q1MOREjr5f7zOeaqmYhOKoz3zgDB\\\/PpWHd3S45JJ9jgUnVQKmjYfUF5Fc5c3DCTPtWPc3+1yFOR+dZE+rlf3akCp+sC9mrFq8u2x+NYM938zKDz6VVuNQE5JU\\\/KOvPeubluBNI0o4Of0rOWL6EqkbE8q\\\/ZxMD0PIrOOpGVdi8VHYw6nd3Ah09POLcFcZ\\\/SvqT4U\\\/s5+JtbZ9Z17TZ\\\/IwpRVUjOee6muKti31ZtCk+iPk6a+liJAJORxS6ZqE8zhI4mYkZ3DoP0r9kI\\\/wBjT4a+JtNie6T+zbkAHHykE47\\\/ACrXLad+xDpfg4m5Fx9oR5C2SQP6dq5XiE1qzdYefRHwd4C0NtNuZNZvFO1UyBjqetYnjZp5dBmuLYANKxyzHheK\\\/TiL4AeFdP02S2GoQuZm+fzADj6cisXX\\\/hj4Dtbb7LYm3WXbtEu1SR7jpXmYmomnqelg6MoyWh\\\/Ol4p8ER6Fok3iHxbNulkBMMeMEjGc89qp\\\/sk6xqutazPb2Slm3hjtyVMYPIr9X\\\/GP7N3whi1GTxF471iS\\\/cZJViuMdSOc8e1cz4Jufhjp9+\\\/hb4ZWCRI7Au8YUdOATtHvXLCqlBx7nsVJN2aPxI\\\/bp8DnQNRF7Fwp3nkY65r8lzpwv7qOFWwWYk\\\/QY\\\/xr+ib\\\/AIKTeHbfS\\\/Ci6iwPEcgKjvwa\\\/na0y8a8v0it0IZAyjtwcf4V9Rks37HToedjnzNJnVeBtf8A7DvSsuN7DCgntXvOnXcLxr5p3eSFcAnjJ\\\/8A1V8L6veXVr4lNxCxzCdpXOOhr6R8La5LqWkyTSfMHAXBOQue9frPD2YtxVORz4XEJt0+qPfbvXv7Rvmk0uANb4wpPQflWTPe771hfqjgpxk5VWPeuLHimTT1NtEoZlUJuPQY7iuW1DVYvEMubwKqBwPmGcnn3r6\\\/60rW3OmpWS21Z39nBpccc65S42LkgYz\\\/AFrBtPCWgahEJbiPync5O4DH4VmJd2dhetDZyMTkjbnIGP6V1lr4s0xmbTtZhVQ\\\/zI64BBHQDPY5pSdKSvNIz5oNXZoaH8KdC1PVo7KW0bzABw6gZ5+lew2vwT8B6dOranttpeTjAA4xjFeE2vjlreIrdv5rKxC5bhR7D\\\/69aUPi26N2PKmlaNyuC8nTrnHHFS8Hg5rWCZpGdGO0bs+1vBegeAtJEFpa3JMs8gQK20EA969+i0\\\/wvoNmL7TZ1uHRsEqRy3YV+aE3iG8s5VNvK0ksbJJ8z5Cqc9BjtivQL3xzcW0AglvGMU2C6o\\\/B\\\/XrWX9hZZKV3RVzvhXjZ6H6YaH400nVmSW3kMIeEsF4JBGO2R1z+lUdU8T6K0KaveXCBYxyrPjmvzI0rx\\\/qOl66E0shY4FwHZiWUA9AeOBjpVnxH4wv9WX\\\/Qrp4HXjcW2sR+tephsLhqC5aMEvQpYlPY+4bT4q2Ph2eGD7OxivH+SNTxg4wM+n4VqX\\\/xc00S29zF5S8lV3yfOoOOOlfnnpfj2xit0hukDPEwzN951x79hSXni61vZUt9OIMcb7tzDn3OM\\\/1rplXh3I+tI\\\/QEeL7fW9Skura\\\/J8jhQG4C+3NcV4t+Idumn3Gm6YI\\\/On3fMWyyn6V83aVr1trmleXMsazKuR67T6msTW\\\/EItdLOpu6xSxofmXjgCuKvVjFOb2QSrq1zyn4keJr+7v\\\/ALHPI5MbFcknivuH9mf472Wt39n4R8bn7NqNsViiuweHU4AD7iD1Gc5r80LfxxYzmRtSbzjJKApB5wc565r0C716HS\\\/Edj4nsYiIJVUMD2YHOc\\\/jX4fxJSnia06ltHsYJ8750f0Vf2rrNggs9dgacRqXhk5OU9VJHavffAV7bapCkdlOjSkA7c4JHpjmvy2+FnxvuvC+r20c12JbC9iVjBOd0RJx\\\/DkAnFfdmgeM44tWjkttPtTbOQY5IlwM+v8Ak1+Z16coyuzqUdND728C+NNQ8N3BjKuUBUNHnBAr61k1W08YaR5NwONvDDkqSK\\\/PHTPFN7JiaYPC6jIMTYVvw\\\/8Ar17J8PvijDPeTWcyfMo+XLYzTo1lFrXQ5a9JtXsbfxD8Jqti0aygiMEsGH3hXyJqGqw6SrvI4vLWQYaJhkEf449q+1PE2tpq9hjh5YtxCnuvpX5+eKNtvqtxDZMY8ksExxya9BVNdDyKkLHzx8V\\\/hPaGxXxj4ZJl0+YkthcmEnnDY46fTpXx9rdhLZsQcj+tfoZpfiiTwtfG5tAJ4pgVuLZz8jA9R\\\/kV4V8XPhvaWkQ8R6CTJp9wS6rj7hbnHHGAK7qNQ45R7HxyJHRwpBJrat5WiQv1x1qHV7KW2JVgAeRmsmC78tcEYUdK6ZrmITszsI9SRRxUcl0JEyflrkHvlDYNMfUWCkH6DNc7o6m6qH\\\/\\\/0PRbK8BXee1LJqsf32P4Zrz\\\/APtVQuPb1rHn1xEwU4\\\/GvJlod\\\/Nc9ZGpR+US7YBrDn1qJX2qa8rvPErldpHBrEl8SW8Y25z+Nc06ttzQ9hl1BduUPFc3qGr\\\/AD5DcY9a8+\\\/4SJ5PnHC9xmsy+1k3C4Xt3rjlXsWoNnS3niAGQ84\\\/GuaOpzM5O75frWFJNJNy+Kt2lvv7dawda70L5Ddt3mNsZhwN3Fe4fCH4H+KvirqAFjFsthy8pBwBx7Vv\\\/s\\\/fAbWfilrJtGUpZrt3OQcDJ69D2r9qPB3gvwp8OfDcVhbny7W2AU8AGRgMe3pWcp6ORdOldnhPwf8A2UfCHgQLeyD7dOuCXkUbcjHTrXffFX41eBPhZpElxq91DCI0zjco6A8AZFeO\\\/tY\\\/tD3nw98HNf6UnlLICsMXmbZJGwcAYH+Nfi14y18fFvxNBqmoy35ihVY5IHXKAkkhl55Yc84rfLsBXx9Tkp6LuerTwySufZPxG\\\/4KD2Vu2\\\/QrSa5ViVQJ94n1wCa9i+Av7Yur+PY28PeLLOW0aUbo5HcnHQYOcetfNngfw1YeJbmCGLSftwi\\\/dyPKdsarx975WyfbIr1zxLHpegBdI8K26WcQB86fGFUdMLjH869TNcDluX0VGs3Kq9kmdkaKloz0v4keJ\\\/HXhiE3GpW8WpWD5ImjJVgPfIYdPevk3xB+0p8HtOTzdYvri0HJbOxlGOoyWWvnG4\\\/a98TfCjxtdaVqA\\\/tPw7Mx8xZHLSLzjK54xjt+tY\\\/in9lX9mr9rCF\\\/EvgfVmsJ7075I4HjwrHJ+6On3uRmvj4Ydu0qy5Yvra5q6fImkdL4r\\\/aY\\\/Zr8UGRYdZNyYwcxFo1Lf+PNXU\\\/AjxZa\\\/EDxD5\\\/gu2NppFgoMjEczPngAjg4A\\\/WvLfhx\\\/wAEv\\\/hx4UvPs9413fFiGZ5YlRXA7E4av0cs7LwF8G\\\/DUGn2McMTw8xRxhc5A74x6elVUo0I6wbZzyqykuRI\\\/ND\\\/AIKRG31Ozi8MKAZI4HMgznnkV+I\\\/wr+FNnd+LHW6BAhRnK46gEV+ofxlvtV+Lvjm4mHLq7PIc7sruP5da+doNCm0Kw8VeJFygs7SZIgeAWAJKj8hxXdl9Zxi6a6sutTSXM+iPxs1iyk1HV72dQB5srMpHpk1DoOsyeGboRXHzo5+YA9vpW7bCw+0SeY5DI5XnmsfX9GZZDeQAKD0K+lfreGpP2cZw3R8xdxfPHc9flkk1a0N\\\/asNr9QTWVPJJFtt2ZQScn2xUPwxubWW2udOujyADlvy4pniiDT4JYvsgbzUc5J7ivpKdXnpKb3O2bbgqhhXWpRfaGuI1wpOQc9TVmfxA14FSdyGUbRt64P\\\/AOqua1GMXtyBpwKruzgH\\\/wCtVCZjEx+0D5wa5JYiSd+hxyqM7nTnjslbzyF3nI3nBqa98SXDSCFmwinOFPWvM4rO8vxuY8Z6k1oXWn+REq28m8nr7Uvrs0tBe1drHoFl4ku7MN951lIALHlRV3\\\/hKJ2YpcPmJeCAe9ec21vMX+ywEN3456Unn2ruIuu44NaRxs7FKtK256VceOSt00ywkMsZUbTyQfyrZsfE0FxbLNcs3znAAPevGohLHdEKw2jgmta0RUZUUEAc5AzW9PGVExxxE76n0zpOqaD9okkkQSNMFxjAUE5+tbWn6nY2wi0+RQFWTcXJ5x6V4XpEf2m7e5ib5U52jua9e8LJDr1k8d3FkgAlz\\\/D9DXtUqrkr2O+lPms7HfzXsGmXRiscGMoV355A\\\/wDrV4V428S3WtRiK3fbCxICA9BXZazcPp0cVvYlZI7hRiTHK+oznrXQ+BvhfdeIJxIUEkMI3ux4UDj2Nc+Kozr2gtEaScptRR4Jo\\\/gOa50yTUASNpyMjnGKkude1Ox002N6DNCvRhnAIr7Yt\\\/CUeoWiaibZfKtZtojXug69u9eS\\\/Gvw\\\/otjGbbSVEEcgJaMgA5\\\/CvIxmQU5Qutka8jpxunYu\\\/C\\\/4r6d4g8Kf8I5qqbrizK+Q5PzLxj+lfqJ+zb8arq4sk8J+Jdqyqq7ZM8MvA796\\\/ndCXWjail5ZStFIPy4r6y8E\\\/ETWphA0ZLTJgBlY5FflOcZDP3nBafkdODxCqe5LRn9OPh7x3qOhEeeovLFjy2fnT+fGK9c09bOaRNa8PHehwCB1557V+Onwf8A2hrZo4tJ8YSS2N7FtCXBO1W6DnJz1r7i0T4jW2gTx6xJdKiPt3SQn9y\\\/f5hkYP4mvga2HnSlyzWp6bhfSx9x3d5qURiuonLlTjAPzAV4t8XVv2vI72GIkNkExjn8a+h\\\/Ad14f+LWlrPo8qR3aqAdpB3Z+nPWuP8AH+k6hpqPp+pqw4I5yD6d66KDdrniYuFp2Z+fniLzIZPMJO1if1rY8M+IJL7TbjwnqK5Scbk\\\/2W5H9a2\\\/GWiiC13HlSWx7YrzWMXEE0dwOMHtXbTqHBUgeC+MtLitZ5ITllVjj2NeQNGx5Jx7H1r6b8cW4nnKkc8k\\\/j1r5z1OxNtdFs5B\\\/nXqU3dHDNO5z4ikmkL5+mK0INMklYLIevIq\\\/bWhQjjINbtjbhroLyD6Upz00Kpw1P\\\/R8kudbjVC27rXGX\\\/ikDdGvOO9eZX2vEoVVyG69eK8\\\/wBS1sh9285xwBXizdzsitdT1mfxhhsZJ59apQ+JnuDjNfP82uySOS7EAHFdRpV+5jCAg8+tcVZaXNz6BsdSmlj2setaqNJIBGAcCvPtGmLKHPJr0DT4ZN5LZPoMV5M272OuOxt2kbMMSmvoX4I\\\/CTWfil4mh0fT1IjBUu+CQq5A\\\/rXj9ho95qUkVpZgvJIQqrjJJNful+zr8LT8FfAkKXYD6pqCLJJ8uCuFHHrwTzWlJczsPlbZ7P4C8A6L4F0mLwz4fAHlqDcTYGcAY7Yo15Lm+vYre4BEKgsq9QFPQn61oS38n2WCwtmCm9l+Zuvy9\\\/50eJ5X0gy304BeXaqjOOBnH86zrw55Rgjvow5Fc\\\/E\\\/9sNrn4kePLN9Mumij0h5IwitneQwzkD6VwPw0+FHjV\\\/E9xqUzyyNcxowVVbb1P6c+lexaVHe+KfiFqCTIgiW8ZnYx5Kjd0znv6\\\/pX3V8PXljR7mRYzbW0YUTH725ffHb17194sYsqwbSWtj0IK1onE6R8PU8A+CY9N1CcOdm6QjjacV+d37TfxDj0uK38O6csl0ro8s5jbG2MYHPX3r7r+Kt3rHiaGPT4gyWrTYJBO519\\\/zr8vv2iPDuj3WreM7i4nMlytj5NvAWGB5Xm\\\/MBj\\\/aFfDYGnLHYp16uuuptflWh8z2Gqz62I9ugFYvuiZuTj\\\/vmvk\\\/4i634j8B6r9u8LLPaXMsrArBle\\\/bGK6b9mT4VfEHW2uY7q8mh2sJHd2bylUdc\\\/nXqnxh8XeHPD9lHoPhz\\\/SpnZklueGKlODtx0znIOT0r9ZxmCwtGgqdOCnNrZbLzbNoy5qeu5e8NftlfFHSdPhh8SazJDCsYAR2Yu54zwXFd3pHxh8e\\\/FWya3sYpEa5Uwrnd5mH79e9fHnhPwF4l+I3iZYvDNoWiTbEkrgsW5+8WA6fhX6X2a+Cv2YvCk1vpcqax4juY8NISNkJA6DHzZDe9fludwo0JcsUud7+RjyanjvxPFh8JNEj8Iaeiyaxfn96R94cY575zmvBfjjp0fhj4D6xAynzAqRu3TMsqSZ\\\/9Br3r4SeCtS8d67dePPFTedJbDf8AMCdzk5Ayfoaxv2zdBv8A\\\/hS0Gm6XGI5bq485xjnCoe3c81y5XH2mIpw7szxNuVo\\\/nP1PQbiZZ74P5Z3ZUe3NS2eoeVatZ3eS2ODnrivftX8FpY6f5SEPKWPmFv5CvENY8PRG7KRHyihIJHFfutPAVKNOM4nzlag4NMZpqmy1NFwQjcnHTrW7qF0AwlDb0jJGD1rm4llSQ20bAtHj2z9etW727jgjLzAO3b6irp6Rd9ief3LMy9OMNrqAfPIzwe9ZWrzxXV00mTg55qkJJ5Jtx9ehqK7gljG5iMtwcdK5JSvocs5E1qs8h3JwAeh70wxl7hZN5K5ztHSrkMsU6APxt6VSMYkUyM53KeAOlRyoV0ty0i75zCzkH0FaUcUVs3mRgM3Y1hq4ZY2K4JUfN6itO5uP9UYcAng4rWFt2x8y2HSRM6KyggscYPrVmwsLlXO+TbjoT3qO4u4WaNCCgQ5yOcmrsNx5sLs7YGePXmtY8t7lRXc7Tw8rwSrF1M3LY7V9ReHfDljBoZkmLbnGM9ulfM3huOM2tvcRjfiXa6Md3PGOOPevpa21a6vLNNKkg8m3Zf3j9xj0\\\/Wvo8BZwPTwj925xf9j6p9rghsomLB8lcE4U96+iZfE0Xh\\\/w+0Xh+MCYMBKQcbuD6V4ZF4+0\\\/QPNttKhkaRCVMhbJfH4cD25rD0STXfFF4816pgJ6jnBBrd14R92OrOiNWMZO2rPe9F+M1kb3+z7e2ZWCkswOMFccdPevNvHGn3utalJMAJ45GPOM49u9eh6b4AF\\\/aRT6fIBMmN8gHDJ3r2Lw14IigujKjLsUjgfNuPcnpVxoVKi983jSqVPjPkmD4DXev2n2wDZGg5+X1r1zwL+zNfRxhExD5hG3K4IHr0r7M8E+Fr3Sr+AzmJbRBubK5Zy2MD2xg+vWvoXw1o0+oyvd300PkkYjQDJ2\\\/nUTymhLVxuzso4aEHzdT5Ii\\\/Z78baRbpbRzJfq3VXUsAO2K7Hw18BPi5pF2j6Tc+VbzACW3IYpj6cfyr7zsNOhnQNYxDEeMA8lm9OnSvZ\\\/Duiy6dBHczDcRzwOR04rxsZwlgMQmqlM6\\\/aM8P8Ag\\\/8ACD4nfDq5g8XeEb5124eW0bdtYDB+XGMenQ1+tPhjU9N+OXhU2+sWxtb5FwdwyckdefevnfRtzR+dan52x8jnhc19GeFPFmnWckf7pEmwAxB2k4r5DHeHFHWWHnbyObFJVFZrU+EPix8L9W8Hmaw1FAoWQsrkHDAZ6ZFfJ+q2cmxIIlIBfr3NfvR4t0Dwr8XNCfTNRjWKVFYxtwcMRX5lfEL4C634V1PF1KjRRszBjkcCvzvNsgxOXTtVWnc8apBptHw74r0u8Nw5jTmHk\\\/rXhniLQJklU7PlOSK+zPFGnww28kij95KTz2Irx3XdPgnaPykIwK8uNdxW5yOk2fPlrYybthUhs9a66x0mZHDuoz3Ndamg+XNvxj8K6K00k5+bketZ1MSktzWlQdz\\\/0vzMvLq6YlHyT6iuanWbfg8k+temtpJnPlyfLj2pD4f2vu27sdCK+YeLR7EaDtc8be0k3nZ3Oa7zQ9Mmb5QNpDVtf2IrTeYoORXoPhzw+FYPMclugxWFXEJxuONF3Nzwxo3mHapI5GTXvOl+GLzUPLKYV2IHPGa53w5oeFHlr9OK+3v2fvg9deNPEEDSFSilfmxuxyM15kp80tEdqhZH0P8AsrfA63g1FvF+q2+6G1C+XvX77g54yK+t\\\/EXiK6tr5dIvcNcXTFSynovTav8AX8K7zXrzSfBOlxaXaEKY4tqKMZDAYz2r4w0bxRey\\\/GXTNLvsSsWRtpOfL3Pz9Txz06V9Vk2UynRnip7RX3nTSp3TZ9Xxa6sHxDsPDzwkbojsJOMYZRWP8cLI6lp1rp8U5ilDbww68dO\\\/SsrT\\\/iX4Yvfj2\\\/hKy\\\/0i8ghLSngrGN4GPY5ryX9pLx3BP8TrHwLZBVuWtjIzMfuZbC\\\/TPP5V5FOg516atrubJXsjxfw94Ssdd17+ytNkaJ\\\/O+0XLL1K56H9eteteBPE9p8R\\\/GuoaDpYA0rRGWNpAeJZSSD7YAUfnXkHivXj8GPhtJqNjB9o1TXrkQZzjAKnocZwCa7v4Aabo\\\/gb4e32tWwKy3MiNIhwcNtJPPFe3nLhVw06tTpaMPX7TOpysk0R\\\/EzVAnxAtNIsVKiKNpHI4GMgV+b3xZ8Gf2v4j1i8eNXn1KL7HCh7mUtlunPbiv0B0uee98ZazrN\\\/wkUe3cTxgljgcf1r8+\\\/Dfx9sfHHxW8Ta+1oYdJ8B29zMA5z58u7IPYdI+Pqa58jwc0m4x+FK\\\/z2Iv71j55+MXiCz+G9nZ\\\/BrwYYkuZFxfSx92+5twCD69a80n+DGnajp0d\\\/NI6W0TlZAy\\\/eLAYx6dDXAfCebW\\\/iF4v1zV9RBkuPPNzatkn945Jx\\\/LpX6har4Ubwz8LrGbU2Av\\\/s5uZdy8bgox79c19LxBjZZXlsaEH+9lu\\\/X\\\/ACO2lsj5B1Hxb\\\/wg0UfgzwNaRpcXcYYlODEOmeP\\\/AK3SvHPh74ei+JHjSbSopjNBp7f6TI\\\/JMxOAB144Nekypoun+JYbJIZXuL6XDucHLE9v9kZ\\\/Wvrv4a\\\/A61+F+lG1idBPqMwYHZjDSDj8Rg81+Szu7ylq31f4mk9NjqvBvgXT7Pw9Dp9iF8gYllk\\\/vYHB\\\/Hmvgj9tbxxYRaWlnY4M8kJVVJ4UNn5gPw4r9W9R0yLw94KuLdyB5iHHbjHA+tfz5ftD3t7rPxJultnFvBaFl2bsucscj6cV9nwRl\\\/1jMIN7LU86V5M+T9Qhs9UtIo5flkVsMw68V5vr+gSW0JbyQQ3zPxX07o\\\/hiK+spZNWcJOR8pb\\\/AGvc1yWveGrlU8tiWMvAzzX9JfVlyWIq0Obc+CtWsWlm3WoIYZ7cVwVzqEsEgtrqMjH8Q6V9jar4StbmBJUATc2GxwSB6V4X4x8Eys37pcZyQNvOBXy+ZZXUj79Jnh18NJXZ5Zc3dnGN27du9KzW1G3+YNkccZ9a1dR8K3locNxkdD\\\/+qsD+w76OTC4J68g18vU+sJ6xPOlzLoWYLyNLfyy2WP6UkWq5\\\/c49s1RXTriNmR0wx6VJa6YzyMZTtABPPWsXWqW1Qk2bU72ixj94Bt7A1VOpWwkAjY8dzXPpHdEHcuAe9Ohs5rhWCDcR2o+syW0Rcx1Ca\\\/bwSEqN4x39au2WrW1wD5zhQw6HtXKwaJqXn7ZIjjbnpXdaX8PLzVZV8rKjp+NdNGWJk\\\/diaQU3sja8MeIrfSb9nkjMm3BCivRtQ8da7rUcNnZRtGFHv3xVjwH8LZ7m9ex1JWZgQvA4wfqK+ovCPwy0\\\/S4J98GfJ4BIwCR+FfUYTBYpw5ZSsmenh8PWkrPRHGfDf4dy64hl1Ftkh2kccEtX1H4b8BvbagbK3tklWIAuT3\\\/T2rV8N6fo1nZGOSFoQQFwuFyOxz\\\/9avTdJthZXUru77JlAUoeBjPJHfr617tLDxp6I9mhh4wWhz\\\/hLwqtxbzSPG0EcUbKUUdTxjHT3roPCGj31o1zHc7SRIzKO\\\/biux8MWUECWt4S91HcRmJyRlQePmz2NdvdaTbav5tpaQBWgctuHf8AHFdsVY7oJLUj8M2Mksc82rxtuOUiXHAB6\\\/0rtjELGOC62sY0QLGEHJb1qHU723WwhS6Q4XjAHzAjqc1x+n+K1jvG066k8s4+VU6A9qpR6orVn2D4K1NobGOLyg8ylQCTg5Pc8V9JafEJbZL23dlVPvKBwx\\\/PpXyV8OzcyrI8DAyREZYjJK9sV2\\\/i7xNBpekSXgvDaO8e0c55weQMj+dYTjZ3JlofR419YNNmngU7VyW29T9KraX4us7xF1bDKjgbUPr1ya+BvCfxo1xbuPTo2mvLZAEmd3Jb5uvHbp619D+HvFcV1Ky2MhPO1geck9\\\/woUG0QfYHhf4gXMOo5vIpUbGN2fk9q+gmh0P4jaIbW\\\/wswXBPHORXwBa6frklj5y3oHPCsx+9617h8OvHf9m3Pk6g5B4HmHj\\\/APXXkZpllLF0ZUqquYVocyPmH4oeB59M1SS2CiOGJmUMRwefwr56utEInZHyQPu\\\/Sv1H+K3g\\\/T\\\/GGnDV4ZyrJuPIzk9a+B9Z0iXTEKupBPrX8z8QZdUwGJnRktOjPPcNbHkUOl+ZIVIwR3Nan9jMACCATW0lsyMA4PHNdFb2wUK+OSBXytWs92d+HoLc\\\/9P48i04BizDJ6U+a1jSMY6CtptqfvAM\\\/WsO41DzDtC8Z9cV+d7n1GiRTt7BFuNz969E8PWkBUsR09a4OGQtOJGOS3H0r0zQ+VS3BHPeoqN2sSrdD1rwxpFzql3HaWK5YkAAdc1+0Pwf8F2\\\/wd8LQy32DO8XmvngjAGRXyd+zB4FstB0OX4g69HkAKlvGUyXbG7OT+FfRnxM8TX9xZjTkcNJMFQnqAWz+Va4enrbuarVmBrmta5qVxP4ivJeJjiJcn5QcnNZ3wx8CjRE1r44eM5WkGnxN9ljYYGVy+7J78DpWxBcQ3Bs\\\/CrZnIxk7Mgk4HrWH+2H8Qf+Ed8IwfCnwaEa8mjd3VmwBxtAIHPJr9WjSnDBUsBDSVTd9orVnZBSbUUecfsPT2XjPXNf+KTRsJLhthkJzksS3XFfK3xD1bxJ4v8A2vNV8U2TtNb2xazMZJKr5EpI+md1foJ8JbDQ\\\/gD4J8P+A9RVVvtZYFkjxtDEIp44OMmvnTxV4WtNJ\\\/aCOkeFrZoheTrfXErD5ZGlcgrgAdcdya+Vp1oQxlWpbSzS+RUJpSbPOP2n\\\/FMk3jfRPAIuPsy2wVl5yWYnaRjI9BXr3jrxIfh54T8M+BLOPfNqs5nk7HaoQYx77q+RfF\\\/h7xV8Tf2uhc2JYafp5b7WwU\\\/KBL0z06Zr0a78fWHxH+I+q3uk5J0ORbfy5P4fLZsEYJ6+uB0ozPkdHD0462jzS+b0N5aI9ktvHmjWfhu+1SUlo97LJ0PJGcV+MHirW5\\\/BnwV8T3ulloZfF+r+QnGCYbVX3gYxnd5y\\\/lX6O+M\\\/E2l2fh6y0azG5XZhIx+b5wAMnp618JfHaTw94E8K+HtB1dI7nyIJL\\\/D4IM84QHr2+TmvpsgowjT5Gvek0\\\/uu\\\/wA7EU4+67nS\\\/sSfC671G1ie7RkO8TSHbgj7vU\\\/nX6a\\\/HPRvN0qDQ5FxHMAjN0yiAg\\\/zrgf+CbOh6nqvg278V+IgczvGR8uMKwzgZ64r7E+Inhuy1O5iv54v9Fs45ZZWHVjxtQDHfB718FxRiZYnGuL+z+fU1VTlSPx8+DHwq1H4ifEO9+IusTONF0SXy7WIjIkkVt30xgD86+4bLT7nXviHbXFywjtdNt3uZGP3VO5cZ7djiun\\\/ALBW7sNP8N6Vai0hXBEUY288ABgB1Heuf+OOrWfw18HXatKgfyiXdWxvcA7VHr3+teO4OvVjGK02SIdVu\\\/c5n41eNNOuPCFxJbnyreInLMemAa\\\/nu1O3l17xbf3dyrC6mcjJH3+Tyfqa\\\/SX9ozxOjfsu6Xq8M2yTW5zJK0bZ+Xywcj1HzV+auh+J\\\/t8L24tg8ikETOc7gvRWOOBz71+2eHmUSo0pYlrd2+4qnG+pDF51s3k3h8wE7TjnFFvoU+uX\\\/nPIw8nLLngYHavTZtG0GW0WERr5v3xIpG7d2xx2rIg0++jt5I\\\/NbzUiZyCvGDjjdnk8elfraV0bzjoeRah4VGrXCvanbkHoM815tq2hS6VJJcTbZpd2wK3XHPSvoeaG3ihhkskaJ4cAfLjOKzodLsJ9Qa9hl+YtuZWGcY6jOeBUOK2OWpSuj5UtPh3BqMrm9Xb5mTzycVyt98OYd8qW\\\/SP5c47V9Nal4dvbLUjDHGwEnIZzxGD+FSDRHuJ00uWPcZQQZA2FI49uvtXFUwdOas0cssLF7o+J7jwD5KfaWiJ8xyuccAflVSb4bq8a3UXY4IIr6+vtKttD1VLMRs1ttyNvdifSoT4bE6Rk7tznOwcNg1xyyig\\\/smDwCfwnyrN8OCiRmCPf8oZsDuanb4WncLqIBVHzNxyK+xbzwykLeRYqS2AoC\\\/KAfQ9aj0Hw\\\/fW97IlzEAJFx1yfyxVU8nw615So4Cne1jwnw\\\/4AtJ5G3MsgKqfm7bs9K9NsvC9pa26bIwo8xVCgY3V6ppvh3QrWSafVEKgSFYxw549MgdK7fTtHjsPJuLyJGZWVoTnnjt0rvhhqcFojpp4WMFohdK8OpYFIrS2VmhXcSOM479KmtdP0rVkuYJw8ZfDRA4I3c11MthcIivc4T7XIxDnnZnGBjjP5itbwnpCx6w6QKZ3hxHmRcKRnnua0sdMYswbHwXr97p1jcBvnjcF856DFekaZpFub1nukMKnKnPH5V2j+Fp7VjqdlFviTGY9ucZzz+ldTYxWzb7e6gUMmeCOfz7U0kaqHU4Twjb6ZpEaWFvI7tGcsnGCT1\\\/lXqMB0+\\\/SGOym8sTPho1ODWTYxfZYG8mwiLqxZM9R\\\/dI47dzXSpokFjpsWo6pFG9ycyIV6cAHnNNWLdjzXxU8tjqUsNhOsawqVxIclj+nNcss9sLd5GXO5uMday\\\/HOsaevit9V0sokLxhnXbxuBOec+9cZp\\\/xBXQ5Bd2EUc6q+07T09OP\\\/AK9arRXGpJKx9ofB6DVtM0mfVAShZYyYnPLJzk181\\\/GL4otrGvnSbeXzI4pCAc8dcdM19BfDTx5d69pkur6mBbv5Cuj7dqAAZ29ec5657dK+FNb0m08YeL3ubdzb25k3bozliSTweBWE9ZGM5an1L4QuoIoBZ6sBCZ13qyd8YxnP1r3fSdXWxuYLKy8xUfLbj6jHH618r+F7SPSdastMEr3K9ZTNzwCO\\\/r1xXveg+IfDepyCwMRWW2fbGeDuPHHbnitLWRa1R9M6L4kudXtd0MQYE7cIeGz0r1RItU00G51FVmRjlIsnIFfOuhXeqaXL9kS7dH+8EQkde3X9a9L0qz1Cxvlnu7lpJQvXJI2D39feuScG7kSWh9z\\\/AA61i21qxOm6hhFdACGPTNfOPxi8KLp+oGWMfusEA447\\\/rVzwH4pttTdZj9ojETbeuNxGK9j+J2nWt34ZhnvkxMVxlR7fzr8x4\\\/yCNeh9ZjvHc46kLO58C\\\/Z1eTf0PatG3hPGatXkUFtcGNc8H+Lk1JauC7Z\\\/Cv5rxfuya7Hfhtkf\\\/\\\/U+QZ7xWjYdCK5e6eVkwvY9qtyxTSD5zwB+eK1bLSmkjVmHynkGvztSUT6NJy0OctZXW4GeFGK9x+GFnB4g8QQabLIU3soBAz1P1rzO40qZdsgVR9BXt\\\/wPtUTxVFMOAJI1yOvJqXNSZaptbn6l+OtdXw3JoHgjTphFCkS7s8E4wOgNbzlNYmkYTgSGTn1ANeJ\\\/Fa01SX4s2eo24DCEDCnOMButev\\\/AAA+HeseM9SfULyMx2kb7jLJzx+VetlsF7aLlsaRPfdGj0LwL4XvPH2tnZDaRlkd8LuYDdwT9PWvgz4RWU\\\/7RHxqk8ZXchNvYuGl7jar56\\\/ia3v27\\\/ixYeLLSH4XeGbuWytLZmV5YedzD5QNoIHPPer\\\/AMAvGGheDv2dfFmo+EYyG0uAQCfgmSYRtljjHXA71+o1KM6eDnipJqdS0Y+S2\\\/E9CmuSnzdWeF\\\/Gn49Jq\\\/7RFtfSsVtdDnVI06YCuec59vSv0J8Q6dpuv+L9O8QaeAQkUdxDIORJHIc4yP7uP1r8E5\\\/iAviedLPVxELzANxKG5Yj68nqa\\\/Wr9lz4j3njnQl8L3LlLnRpEMYccGBhjCjPCjb+tedxXw99Tw1LEUlsrP8AzNMTQUYqUVsfPvxH+Jlt8CfGSaRCVbU\\\/E1+dyscFIc4z68lvpxXmvwESK2+P3jGwknDvdWrb48\\\/ddHbGPruNfNX\\\/AAUGk8Uad+0\\\/Z+KL8Nb2cUgjQoDkqJCcryBmvoMpf+Gv2pYrjTYGGn67p\\\/2nzwerGQZGcY6H1r52NGLoxl1nB3+TQJ80TxLx1e+IdE8YnSQziB710TZk53kY\\\/lXy98VpLb4xfGhLLSTJPLpLG0hhHIdQ\\\/PTPB47V+gut3QudD07xlHbCaaeESgSDJBQAnJ9eRzivzu0vxdH4L8baT4R8NCNNV1W8judTuwNzxJI2PJXGDwdxYk+nFezgsd7GLbWy0\\\/UXNy6M\\\/oy+EUGkfDL4WWWhR4WXyVLAYHzbQD\\\/KsLVPGUur2bWFsDIiSmRsHOSeg\\\/nXgXibx\\\/t0WJYvvYwg+7yR9a7nwPf3+g6KkKIsuoXZ3fvFyqDA\\\/HOTX5pKbqVHNvVsUo2Wp7Lo+pWHhHwpd+JNeXbdSAsq90AGcc96\\\/AX9rT9oDVPGfxL0rQmdvsscxUIrddzAZx\\\/sgfrX3H+21+0JL4M0FfDEb7r26DKVVtojGCAzck9a\\\/Lv4M+Fn8X\\\/tF6NqGqotxbTXkKQZOEU7xliSDkciv0DhPJ43liq0dEm0Zx01Prz9vTTYfDvgLwL8O1CAWWmASHpg7VXp+Ffm5odvbRP5G8JFNJtQZxwOufrkV+kf\\\/BR6ew1r4oQ6iSNkVjs2w8gsGbnFfnJpHgqHW9QtL12klhVt0QxtBIxkE5PA4r9e4UpqOAg++v3s7aO2p7X4VsXsLX7ZKkU0eASc\\\/dB6dvrW9q9ib+RxaYCnaCG7ZzjHtVifTnn0\\\/wApEMCu6kIFwe\\\/OM1egtdVtLO5SdPJCuNs2w\\\/w59+nPWvp+Zm\\\/Q8s1NY7qDfHEoPmZbtwKwNO0PyLxZyqh5EO7Jx8vHt3r1j\\\/hGLvVrRjAyFnyB6N75\\\/wDrVzms6OCrPJbslwi+TvXp\\\/LvT3IaOYudNhuLELqC7JkXcGB5Gfw9q83fQ9V0\\\/UftpJdYjvVCOSR3r0Ge1vvJjSXCMAA8jLjcD2znrWhOLuyvmtdKiR2iUx5Zsj5voPajlIcTz2G0t9Vja6uNqPnK455NXrXTYTZSHVmVAoxH\\\/AHveuqsfDsj2jSyM1s0JwyMc7sflmrcVtIJpLgzbGxu2t0GPTniptfYORHJaXa6SPtEvmHeH\\\/dAYwR\\\/nFW7bRjczjUrkP5MZCsByCT+HtXoUtlPp+gve2ECu87h8SH7gwfauOu\\\/FGqrJHZWkYjEvO1VyCR6nI9aSRLS2K0uq6fa2sUUqh4WUsoPLKpxjP9avWsaa3b26XbDYmAj4xz79a5\\\/Tba0vrx7mS2ObgKoYn5cHPHTg\\\/nXuul+G10dPsQkUGXkj+EHsAfb6VD3GjOstAgnT+yUGGR1YSEfeB44+mP1r2G40WM6IJHjZGeMFSOOQOtRW9tEn2REDWs0KsXVhuClsZ9M9OOld8ukai9gjTTfaEx0Bww9gOapI0Och1qd4zp8RCr5SMWP8THPFTyyWQt5YrlcXJOAV45NSRq0by+eirbIkboxjyzF92RnPOMVqaxqUVrc2el8eZId6Nt6D0xmk9xEPhe90czJeWp+0XERKSRnG4Yx\\\/OtfxE1vHMZbqLLKC2B2U1Jpvh\\\/T21e1uWIinkBJ4+VyMcn+n41keMNXuozcwW7RPPHGfm9MZ7f8A16aSC3U+P\\\/ijK2t6u8Gmx\\\/OlvuUkepOf6V4d8O9cXw1cwQ3qmWGXbuwema9c8fzTveiXTZPOkaAvJ2x6jqfyrzHwpqVnoniOddYsRKjJ5aFG24APUZU1pbTUzfxH6M6Vd6Fa+CL7XAV2iLaEJBz8pOa+KPCl1p9prUct4PlYKynsGz0NfRL61pFj8N9QOjpb3cj27sbdseYAV5JIz0+lfJuleI7eaylgwT5DqQhG5Vxn5TyP5VgviIfxI+s7PxdoLbdGiERvDKAZFxgA8Y9c1ueFIxd3Da5qGS0fUL+efrXlnhOa2u7H7fpSpG+4NJKBkqT6Ad\\\/fP4V9R6doV9o9iL9m3S3MYcOFxhfpnqfrW\\\/Q2vc9Q0u3Ok2EV9DKLrzGXzQ5yyKen5c165pl7YWkDRIpZR8rq33vwrwfRPEEEkkpWIjCjem3Jyc847Gs+fxhdeF75YNY3SiZi0ZjfdluOuQKwbvohSPunwRLb2KlraIeWcFAR0NerWV7HrEUthq3Cz985w34\\\/Wvgm9+It74dW30+xxcJfjMm2TmHpyRjkDPqK9g8F\\\/FG1Lf2frHGxlGTxgt9fpXmY\\\/CwxNOVGesWtTGormN4\\\/0WPR9QMcByATn3NcDbXwZeRgjrmvp\\\/4p6Bo2oaRH4hsy6\\\/KeQA2SRng8V8g30\\\/2GcCRgSwzxX8k8UZTPCY2dO2iZNKpy6H\\\/\\\/1fmW30KUHMq7gxwOK7y08OrHEFxz34r1y38LQRIGC9PbvU0+hSOxS2Xd9BX5ViYzvofX0bHiF7oyhcHoK7n4XxXkHiC1g0xTITLHuBHHB4rqovC1\\\/wCZuRBIWGMN\\\/wDqr374J\\\/ATxv421EXbTpY2FvIhlkORxnn26e9LDRm5JWNKtrXPrj\\\/hCtd1nxbBNcLEYmQKflJIOe1dP8X\\\/AIkWfwr+HB0LwiRPO+5JWQ4AwuMDFVPFfjfR9DJ8H\\\/D5WcqD5902Mtjj5dv59a+bPiVpdnNplnps12sTICXDdSOM8Zr9Q4MwEMTjVGorxWpnhqSlK8j8+fi34j1C6gtrqdhvnkI2E8qD1Oa9wgtrnwt+wBcaOtz9mutYuWigYHazlIePr96vIvHHh+38Qaw9\\\/bymaLTm4UD5WwTgdT6V3n\\\/BRDQm8E\\\/s1fD7SdKla3vrJvtrwjjLvGnXGDnK+lfqef0lKWGoU3bmlf7tT0cRb3Uu5+VPgfxHe6N52rsFnkLDzI35zt5x+tfrJ+x58Tr68+OenQ2mBZ3yqrAH5cSOuVHb5R\\\/Ovwj174n3Uk8d5Lawwl5A0ygc5r9L\\\/wBg7xFp+h3UXi+K2kZLB0aMu3Ejtg\\\/Lx0G39a6uJYKpl1RVO39fiVKonFo+r\\\/284ru71fX9AmtPmto2u7eUj+DLg446jArv7\\\/UJNH+BPh34gayy40\\\/QfNaR+nnoilFyfX5s9+K+k\\\/2lfA\\\/h7W\\\/GOi+LNWaSNLu3aLauCCHKk9a\\\/N39uTUtd0j9n\\\/wACfDi7K6VHqeqbmjOVdrdEVUUjjJO454xX4rRgpww8el\\\/+H\\\/I5U3uXfAmsxap8DhrVwWee1QLHnnIdM5\\\/8dr8tPChmtv2iLHSLiVTLf6grnuSBIBj9a\\\/VCy0nS9K+G+p+EZpxay3Vo0sSSdcRqR8o44+avyy\\\/Z70G91z9oey1QAyG1aSclh3Dp0r2Iwi8Fiaqfw7GvLzxP1\\\/W4l1jx9FpUXKW6K7Dt1x\\\/SvcfjH8UbH4S\\\/D+58XW8PmyRnyIhnAMhUlfw4rjfhrZ6fD471IXgV3i2Fix7AtnFfLH7YnifUP+Ffta6jKkqXVxczQeV91VjVdn\\\/oRr5HhzK1i8ZCnLa+o6suayR+WPxW1TxF4ovj4m1KZ559SZ5lfcTt7n\\\/0L1r3\\\/wDYMvdX1Tx9d6rrp3WejwfaA7ZIDKQQMnjnH6V80NPpUtvY2lzNJFE8ZVSibjzjvkV9j6NLb\\\/Bv4E6iH\\\/0iXXUKWyovJRUPzHnvuFfuMsJGnT+rU18T5V+v4EQWpj\\\/tDeMo\\\/EsuheJNXBkNzbshyc9MHv8AWvO\\\/DF3aaS0GpvEzCRtsEY79Cf6VY8bxRXngLwrc3BDsySEr0IGI\\\/rUH9jf2fFa3mnTrEyAPGjc5Y4x0x6V9VltJU6KhHZX\\\/ADZ6MIaXPVtX1KK+nSXUVFtIjlUVT1x69K6rwzrt\\\/LaF7+MSpCV3FuvOe\\\/4V5zpFnpWt2sN1qkiLcMwJDEbyT1wDXQR6Q+i6lO9nIsqSjYI2fBGfTg8ivRUe5Vu5z\\\/iN47CWS3UvMwwwz0BOawdTnuNRe3k1B2jMc6bQPusBmvYpLeP7TLbLGfTdt6bfX65qDTZtLt71XvVQiF8yK3O0D0FMnlRkXPh641RZ44XV4j820c5Az\\\/jXm02lJDdzJE7Wx2lizdDjp6V6zNqGk6HEl1DFIzTu4JTACrxx+tZl5Yprcsd3blGy21wzbSB7cH8qSYt9jyBb7WNOB02UJIxnKOHyeF7j86qLLp8tz5d+EY9BIP5V6tdaHp2jXMrzOZYjIZMr83J6jtXL3I8N3s0dpawv5q4dA+FQt2GcHBP0NJuyIZxl\\\/HB4hWAxTSeWMZJHAB7dagv4LnTfLht8N5TbTKeARXWQ3Jnuv7MgjBaLJCRPuLD3OP6Vt6ZqGn29tdW86l3kwFilHTOc1mrkqJzXge4uNQ1RJo4jHDAqoV6gEd6+k9N0GTUFZmJG078gdT6V83yw2ul3cuoh2SRFySPlGR3r1XSdS8RXV2sCTGTzAHUAliKHB7mnKeq6XdanJfyZtGMi7Y92OAOa9Kkt3KnUrgs6oAPJUfNmuA8MancxiXSL2HYqHl24LdiM969E006Qtq12JSrJIojB5PGepyPl6UpN9BPQ5vWtK097hrbTo5BG\\\/UBsEY6Hp7muY08XkdzEsZE0locAsckgf\\\/qr0MSTmZ77UI1EKSNGAjck8Y4IrzLUNKeXUYbhnEDbiRsbntjtzUiuJbXC3dyuoQzgi2bHl9CuOo7+1cJ4z1eKXUw9i3mM6lfk7t+ddbNYpNI3iC5SWNsHgfcOOSSO3asiSXSvtsN1JaFLiQ+Zt4Ax69KtaBfufMustbXHic2l2GeQRhmHuCeKqaLoVtfait3cQtsbB6fdx1wa9WuLuDTdWutRKq84fbu7DJOR9eKx9I8U6ZfSXGl3UTWyxkfL0LHnp6Zq3JkvU7S6gt9H8J6lqNxCXgW3L\\\/KeMgHg8dK+Bp768uNRksNHXyy6oWxzuJzycY5r7n8XRSf8Ilql3aOdn2Zm8lxhVQA8Hn9a+LPhjbL4ZkuL3xEDNcPli4HyoR356\\\/pXO+aVRJLQ5qqbkkfbHwb06\\\/8ABnh5tW1nOTt+U9+PevW9f+Lun2TwvdrJsKjEZ5PP418OJ8T\\\/ABD4i099H0tgNzElGc7n7Z9v1r3vwVBZaNZWniTUbgSXKqEMcp4XOCc569K3k09EdCmuh6np3jyTxWv2jw\\\/5cMgfEgdsAL9BXZ+ENbaW0VfEYjtJ4sqCDkE8djjivDopbS01KfW9KiF7w4mRP4eQcjr781xev+PNPxFb6E0ucYbePmjPpkHtWTihNn1omt6HevFpNvd5k3ZkEYABHQg8112g+GP7Sme7+14i3bwrH5s18TaNb6\\\/dX0R0O7xKMOducEnpkA19N6eLjTfI1rVpim5sHZypHBzziolAD9KPBWqWJ8BC11H98m4oDn7vyj6188fEHwra2V4b2AkROu5eOCef\\\/rV7B8KdCbXPDz2t2h8hysqY+n9a8A+IfiSbw5rDeHmZnZNw2P8AdUZx\\\/nivw3xAy6KxblNaS1TPMr3hJs\\\/\\\/1vb7fSo5UCp6Zrp9A+G2o+JZ\\\/JsFPHVgOBXqXhnwNoXhvSF8SfEGZ40k\\\/wBVaxgeZJ353EYHbODTvFfxPvdYgSw0qFbGzQYWOLj88YBOPaviXhVuz6CNfsK2ifCn4XxLd60p1a+Uf6lCvl5HrkE9a8l8QfGXxd471q20Piw05ThLS2JCAE45HQ4HHSsq4tJLtmLHOfzrrPhb8NpvEHiA3BbyljYDJHI5rmdOV+WJpz31Z6X4Ts\\\/sUV3qcqlP4VDcc14b8XbOaGWKESNJMy5bjnivt3XNEjFxDCAPItvXjcew\\\/SvNNQ8BJ4u1iU3c0draRLmeVlzhc9jke9fqHAijQlUrVNrHdhppLU+TPhD8OLLxRqM+p6qgs9I0pvtF5IwwrkfwgngkgHrXwf8Atp\\\/Gr\\\/hbuv3FjqC77IzNLApb\\\/VIpITbnI6E+lfdH7RvxFuPE3h+PwD8PE+w+H9OcmaVR88xUFcnaQDxX5sa54X1X4kTodKspJLlflUqhKn3yM8V+nYfCudT65idF0Xb\\\/AILPRjC65pnwD\\\/wiNhfeM7W1tYvPMvLkcgjI56e9fp18I\\\/Bc3gbwxazGYWk1yYrlwflMFvEPkXHHPzN6Diu8+BP7CHjLQbSbxV8QDHZzSyjyIwheQqOcqrBcj8a+4\\\/D\\\/AOzf4H0G1fUfiXqSQae7q6xzqqSuwzy5Y4PHtXzHEedUeaVGErry1OSpVhFuzPqHw\\\/a6Z8Z\\\/AGmarqCmRtJZJEL9\\\/lByevHFfjX+3z4ztPiv8YNK0TQ0MraKXigI5\\\/eswBdcd\\\/lHIr7x8H\\\/to\\\/DPXvH+v\\\/BTwZan7FY2g33AdcEAshwBxwMd+9fJ9\\\/8ADrTdH\\\/aJ0axEjT+a6SgkZVYw45z6Nn9K+OyDC01XqPExa5YtxT80aUPevzdtDyH4iaw1p8d7fwjpzp5WnabJasS3zffUHj8K+bP2A9KtfE\\\/xm11YAf8AREwpA4Akf+m2vT\\\/izZ6jb\\\/tDw+NLCNZItQuj5xHRQz5x+Neg\\\/wDBNLwzNa+P\\\/HN7exiM24hQrjCrhpOM+vtilm9CWFwNSFrOUY\\\/mKV6bsfX2l3UOk+L9Tu0bzG2F3GMDapPHWvz7\\\/as8bN4h1C38PoCfsUA83eflZySHGPwFfd\\\/g2w\\\/th9WmsJ95upHUBz0U+h\\\/Gvhvx94MuvBd7d+J\\\/iYxv7q5leWGzshvBZuSJHblOw+61TwPThCs6j1ktkOL5pHxivw\\\/PiMWl1eMdPsLP968nTI4+UdByB612M\\\/iDVPiNq8uhWmUjSPy7aNDxsU4Axz69qT4kar46+I81tY3Fj9nRPuRwgiKMejH1Hriuj8ErovgC\\\/YaSDqGqOhDOuDBEB1Kt1LA+wr9dormanLWS2S6HRCK7Gj4\\\/WWe5stDslDwaTCIJGXr5h4Yf+O1l+C\\\/Pupm028CpHBGWVTyxx0HbANZNp4Tn8ia+MwdFYySyE4yfT\\\/Jq359rqxWKYxq2GjjdflbIxjJ9K9zDUvZ01A6U7KxuTaTNPrSJ5e0cYUrwMGvR9AiihWedovnVhuI5HOcc4GO9eV6Hrl1a3drbxSmWZQFd5DkjpnIz0\\\/GvW7l4tL0V0gJuJZzliOPlI9eeK2YzGj1OTTpdki5g37VYHIIHvxVdrePemqWKlp5lI8xf4SOx9uav6pbS6fbJYQKYty7jxuxj34qGSXW9J0uOOK2SQy4SPbknB79PpQ9dgL99fS6toq3d5GjXO1n55OMDvXlg1ORV+xQzSZvEYDcckHj\\\/ABr0HSfENss32iUYyNjxFst8vvgevpUF2bC5guJtHCPKAHKycMuc8LjP9KFoZtO5zWmW2paNpyWVo\\\/y7Sz7vvE8dfrVq0sJtQCNbwszmPHAyQ3qOOtZieIrG2R8XD7niMcvsw7AZ\\\/XNX\\\/DBuoriO4LS7FAzIFyFHqTmluCVzkfDdpL9tl02+C743I3rwce\\\/vXpOp6fbfamigKklQNsnLDryKtHwjYWurpdLOXW4Qb2Aygcnsc9K0NQsY5dS86CYBRlTI44BPTHPPehKxSVjj\\\/FMl5Z6bNb3CxtIUKgKP4R3rM0y\\\/1K31SKGQfu1IO5OCue3vXVfZJESS2nVprmefIwcqVPX8K6SPRdOsrk3UU2wh1+ZmyCBn6YrS6S1H5nUR6vpuu6ykc7GPyGYuEHGcjlv8a9RtdHt9K0ae60uVWV18zexyehrN8IRabr1hd3TyW0Lm5ZMk8nPbNXhpUGZ7OW4jilZWxgcMB2Az15rmeupkjY0VFvNPWacGO4Dk4zn5RjnoK5ebS7e1e41W8XzsZMakZLHryaitr+YWWmJZ58z\\\/AJbGVsEg7c885HpS2F3f2tzqN3dbWjjVmi7BsZx601e4zl7xL+w003RLJI6Dy1\\\/3M5B9uRXKaffHVhJco4BSJgRJ1+grRvNWv9Zjka4hIhOZUIGCFbtnvnFc5LaXun6auo6bCsbsojlM3A49Md60SAw\\\/F8NlPpsNhIx8y5Kt8nPPOR+teb2vhSXTpT4jsJXySM7xkMOtex3Nzp0EdtDdEQtcBUaRQGAKdcHj+9XH3FpqM84h0q7H2fcVAI6MPYGs2yJa6FfVPFVtf+Ep7y9UxfabaSNhn5QQB0HpzX5z6D4va\\\/1mR5wy\\\/PjcGyME19hfFiE6N4OurlrsM5Qq5DbgmQc8cfzr87dH1Q3RW0jUFQxfAOAT79a5KtS1RRPPxM7TikfUXgTxdp3gjWW1D7ALqQMTGQ2cEHqRj6d69NsPiHrGu3z3OpwbhMPuHjAPfBzXmHgTQroRDULq2UYUtEQOABgn69vSvq\\\/TvBfhAWr3V7qyrJcptRCQCPqM+9dGxvTUranLap4a0ux0638SWd3IiQygTxqOSrc468jiug0DwlD4hshq2msIYXAKmUcsvXJx65rnLnRNQhvYb6eZoLLzEVUxgyE+2cHjvXpWj+K5ZR9g0uE20EKCM+YNpIPcY7cVMr9DVI09Kv7eGHZfRiLy8shj4ztxzXtOm2+rjSY5mG8BA3UkHd\\\/+quC0rSrCzZ5kXfHHtOH6kc5\\\/CtUaqfB+oxW5hcxEGINncpIxg9BV0027GsV1Ptf9nnx3puoas3h29D20zKqg7uG7VyHxd0Cz8M6\\\/LZuZLgs7Nufr1rx34aeJJfDPjoN9mEqXIV49vLqxPQDuPyr7H+K+nnxFHFq7QFS6EnAwdw5PHOOtfnPiPl96EMQuhwY6nezR\\\/9f2nV\\\/iHf8AiXUm1DUZNzc7RnIA9qtWGtRzjy25B96+EdP+Jq28oinGTnA5r17w34+t7mRZVPykjjNfPSonqJ9j660x7CScKqFzkYANfdfgTwvF4f8ADsV9dAeZNhsAYxkDr9K+Zv2ftEg1pj4kuU8u2hIzk5LdD6V7b4++IkCqdG0pQsp+Vufujpj61zOnrZG0JMs3d3N4k8QjSdLcKkPLHt1xnivlj9pjxD4ttZbTwp4NV1tJ2bzfLyXkbpzjtz719GeG9U0\\\/w5pvI8yecguR1z\\\/nNfOX7Qvxe8Q6bpMM9lFHbeYzKNuc7cdSa\\\/Q+FKc4x54q7XfY9TCtuzsch4D+Gdo+myyfEC5TTbdmB+Y4Y4HP3sV3lr8Yvgf8MkfTPAumLeXWcGc7ByOM5A9a\\\/N3xHqPizxpfNBZXOPKTzGaRztI78YrzO08XHSLdoSJLk7ssxPQ98e1fpCypYtc2IqNp\\\/ZWiPU+r+0Xvs92\\\/aS\\\/ar+NVgXXQTHpkTF8SRF936Fea\\\/JHWvjd8Sr1r7xD8QL66u5IIT9n86RjuY5OQGJ44461+j9j4z0rWIWtdWhSaHbkuxBG0\\\/XvXgn7RfwPfxJ4ei1XwXH5jHl4SuSdoJGMfWrlkWFhHlp00vzJqYdKNoqx8cfsbfGFtM+Pdnq1\\\/MTDqRFpdEtj5ZHXJPP8AOv3L8Jz6jb6G8FyfO1XwlcCLzMfNJZkfKD3wCh9ua\\\/lq8TeHNZ8Ea750ME1vPJJkFlIwQfwr+or9mHx5pfxq\\\/Z6v\\\/G8aH+37TSVsLyOMg+YxTIf1zkHrXxXEFF0ZRquOj0f6fem0cNKo4vlkfKnxI8O6K3imDXbW6dfLmErRHHTOfX+lfeH7O3g+08Ha34ku9N+axkjWXeRgvI+7cPTgAfnX5dfETStN0yxGoXmpSC\\\/hYuYwN5wO33getfpN8CPiN4S8V39roEmpLDeXdiAYCRkkYBPXqM+leFxepyoUoRu0up31vh1Plj9pL44XPwZ8Pw6B4McJe6jMyNIDhtgGPlx7mvzX0L4o61r3iC5WbzoIbgkMWYjBz\\\/8AXr6g\\\/bQ+H2vt8VrUXRlW3sdzQ\\\/ISrZbnByOeBivlTWbGKwsTaWjNmXIdWXY+B325OPzr6jgfB04YVSt7z3MqZau7\\\/Vdaf7NPPJPIX+Us2Rtr1Twdb3OgWksc8mJZ48Kc8MB2H51xOmWyxaMl7H1YDIHB6dqzr7UYxe2trBPcRRY6r3zjIJz2r9CjTVrHclbU+h7m60\\\/StMWw1TcySHlU65rjNKIbWXttO2qCPlJPRye9Y2iX8xglu7R2kkhKlYy2dw55r2\\\/w\\\/pttpWnjxbqNqspwX2NwWYYOQcH+Va3UdC1pscdb2ulzzwRarG4vlIcso6exJ5xmvV9GuGgY2jhXKxFwRyQB2+tZwuLXUNXuL61SOKRofuD5XBz0I5q3oes6ZpiveyIF8mMoTjO4+o6U+a6FJ33KV5cyWQF5MnnM0Zzjjk9fWjS4baTM2mswEKKJEY5wGzyPpiuw8P28l21xp+rnIgRZBg7iCc56jpxWQ7WWmXgZ4GCSkMuxugHXPHuKVw6GHrPhGDTpza3jGR3C\\\/MowcHP1rmr3wppFgbye8gdgiL5cnbPzdeK9H1u8SO7TUbcFRMwVgW3bT+Q9aJP7ZMN3HPcCeBxyjZXhs85yeaodjwW58JWv2WcyoYyzYbjjHfFbNtBdaDGNQ02QtbuoG1VxgD1Gef0r0F7ZbC0WeebzrcoeD82CPXpzUaaPp2o6RIdBv1ikjYOVYc4wegBpSYp9w1Ke41LQ7a\\\/tSscpxtDH+HHGfeur021uL6zCXyLMr43HHAA\\\/P1ri9M0uZWht45VRo1KoQfvPxnH04\\\/Otq21K606E2zSI4Ynd6nHXnNHkNMy9a8Mabql6t\\\/NP5Blk3Kp4APaqtr4Au9JiFxpVwJYizMwc5O4Y4GKr2+rLqdo7W9o07IDIjyD7vt\\\/k10PhnxPZ63Gft2LSaF+EUfKf1oaa3E7mhD4maPUoYmP2aTcm5BwPmzhv0NexWdvf3dwt3fIroAcFhxu4wa80v0n89dQucuZMsrbMoQO3Xtmu10+WS8tn0jyz9qOWTzBtQAce9Q1oK2ho6nZT3dhDc27ASKMqWGGUj0rmdRvra6ljurmRkDxY2npk10sV\\\/LY2YjLWqCBGO53wARjI6Va0rVNM1C2AukSKVYiB9TjkUREnY84LaVZz21tB84eFY5MnCiQdOeemTT5EW1tRpNrulaZy5AOTj6VjNr1p\\\/aDaTdMJwhkDk8k7cDj169aNFvLoarbXthcAEdQR8hTjjdnr+FOTUdWJmRrl42jaSlrZwmZJJCwVhhlPY14za6LvurYPKwWLbuUj7xHpzXp\\\/j3x7pul+JYba9kU+ZvG5T8vyEY\\\/nXgUPjmQananQ1haJ8gtK+8BuOeAOaz5uqJ5keZ\\\/tMW914a8ITGB+LiQRsqjkAhsk88189\\\/BrwbZazeiJ4TLjBII+774wa9j\\\/AGir+7ltLDRYZAZrtpHcjqQdo5HpXafD2DTvh\\\/JBJLJHIZQnmBQCwJ7dq41HnruTeiR5s4c1Zvsa+n6lZaS\\\/laJNH5kSOSH+9GOOgB68VylzqmmW2tIkd1JcSIuJDn72D1ryr4oTLfazZX2gJK6NId+BgbcjjivQvDtroU8Ntd2Mj7GVVkMgAK+v1H5V0e1d3FI6FUbbjbY9yspr7VlS9SXLI6yKH6qo7CvXNH0qPWIl0+9ysioGUZ5C\\\/lXG+DLXTLOyOlvNE9m6h2k27TzxycnFeqWdnpNvIktgTLJGuFSEglh27c1audCTZV0Hxza2dvPpkX717X76k\\\/fUcYFWvE\\\/jnTrXShNBCw8sB2Uf3+cn8aqar\\\/ZtpJHdy2bW6sfmdlwVPqPWsLXJbixupZ5DFKZgD5bckg5xx\\\/OtIo0PcfhH4ottTzqMtrG0jFViB52mv0Eupmm8JQw3xLFRye\\\/TtX5a\\\/Da6aDXIxEpjSaRVdDyi89QK\\\/U\\\/wvDJrvg+FFciTy1OcZ5x0r5Tjeg6mWTa6HLi17lz\\\/2Q==\\\" alt=\\\"Laure, Unique Int\\u00e9rieur\\\" width=\\\"40\\\" height=\\\"40\\\">\\n    <\\\/div>\\n    <div class=\\\"ui-head-text\\\">\\n      <h2 id=\\\"uiHeadTitle\\\">Nous contacter<\\\/h2>\\n      <p id=\\\"uiHeadSub\\\">Un besoin, une question&nbsp;? Parlons-en.<\\\/p>\\n    <\\\/div>\\n    <img class=\\\"ui-logo\\\" src=\\\"data:image\\\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAeKADAAQAAAABAAAAeAAAAAAI4lXuAAABdGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCAyMS4yIChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgrYHheCAAARbklEQVR4Ae2da6wV1RXHRVRQrBW1ykPkCliQ2oovFDSR0NZUaVo+1NTXBwUFtfGDaRtT0pq0jTTGNpoYxVqKflDU+KG1PtKqra8Kvi1RC5bH5YrlUrUK1gcP4fb3v845zMzZM7NnZs+cOZdZyf\\\/MzN5rr732+s9j7z37nLPXXrXUEagj0LkRGNS5rid73tfXp\\\/btC\\\/YBg8HeQLIL7ASfgR2DBg3qYzsgpeMJhkQRNxKMAxPAeDAGKG04GAqGAOkJIlMQuds8vM+2F2wAa8EasA70Qr5OhI6VjiMYQkXWRHAamAaOB0eDg4FL2Yyx9WAFWAaeB6sgXCdFx0hHEAypXySi08EsMAMcA\\\/YDZcoOKvsXeBI8Ap6F7C1sKy2VJRhS9dzUFfp9IGK7QJVkPc48DO4DyyFbt\\\/zKSeUIhthDiNK54GJwKqicj\\\/jkFz3Pdfu+E9wP0XqeV0YqEzyIHUlU5nroqkyE0jmyHvUlYDFEq9PWdmk7wRB7GFG4AlwORrU9Im4cELm3gtsg+j03JrNZaRvBEKvx6cXgGjAeDETRkOt6cCdEq5NWurSFYMhV52khmFFCi7dTh6BOkCY4JJrwUCdOPfEyeuNPUc9PIHk521KlVIIhdhitWwCuBvs7bKkmIzYCTVCs8rY9bP8DNJT5CGwFjUmLwexrAkT+aPx8BBgLNFEyydvqcSE9V\\\/Iphm4Ev4Jo+VOKlEYw5J5Mi24GmqBwId0YWQaeBi+BtQTOybgUXzXu1mNDPp8JdMc5GriQ5zByFb7K54EhBGw+2AzyymoM3ARmApFQiqgur07VLR\\\/yimIxvxTni6yERhwAFuWMxqeUfwDMBl8o0l8b2\\\/LB80U+ybc8otgcYFNv5XRwfDR4LEfrdZYrACdUrnGeQ\\\/LN81G+ZhXFaHRV22j0C4cng9cytvgTyonYiUbjFUyUr57P8j2LKFaTK9i0Vpdw9BTQk6WVlHlQ5VutdkYKvp\\\/stYFNalHMqt12HJwGelM3ra9vPWUu6gwak71UW4DalFY2UkA99uoJjunKlYNp5W4KHFm9FuXzSG0CaltaUQyrdSXjkJ65aW\\\/LWyij+ecBLWojUFvTiGJ5bCUCgyOjwBtpvEd3JXA14VGJOMQ5obZ6bWZjLa+jqTds7RMc0Dj3cWuXP1eUfmcNCxyEWG0GaYeNf6VM+8bJVK7hTBq5F+W2T1Y44CuTCbUd3JMmYOguylRZ3kJUfFlKRxejX8abm7xNK7S8YgAUizRyWaFOhY3j2YkgTcdBDdLruVqIgGIB0pCsWJ9YSvCoaBh4HtjKfSju8VdumBzFBCg2tqKY6\\\/VmsUIl19l6hJ46CQcW61HnWldsvBixsZLrCm0tLpwKbOdbV6Grl+a1xESAGKl3rVjZiGJ\\\/aoy57FkY1i3laRsv0NEzoxhHsjehsiUVKy9mbBLlGTTcP\\\/IwOjex6t0Knf8yu+TTgdBpUYStzHXqHrUeCrota9c4r7SlQE4b2kZjihmwHSN3o6svCLgRjP0U2MhbKLV3es1Nk9tiRbEDiqGN\\\/MzGycQrjZpGYOhVoG2SXMhisqVJSv587Ot5shAc4U\\\/37eurIUlrijXG1lJYk3xMopasfmDKNKXh0zmkn2\\\/K89Lkj2IXN7a\\\/iTpfjrFhzKLuC8i425gZTNSK0SnUsSmYHDyKc7ChqVkUG3L1jbt7G4VSbEXMceAoQxmRq8V1SXPX76DzLjCRrJWW+4I0opNtKlD9JtFqk22gG0RdJFm\\\/zqoY6t342SBO5KO4+WWcUmweZ9NwYPMa8GP0Mq+doqyeP1E4i7wkmaOGoGS0EdtIQ6ZnZzDbKGiJjebV947RiSLeUGMwCZsnAMU0ScTN8GDp4JHpjPdrnMuB6cry62j\\\/Lm4Vuo1nEsr2RQGDUVeRv67+byzE2PDrJu57dnayNcIzIJ93RenIRmJFEQqUVSzvisj2J4sbcRQpkQRzZuj2bdMd\\\/xC9GyJrKCcj89VSjnuZavk1pRTbJNHwNfJRG0kwVvVC\\\/qQk6+Qv5YzTV0ZqcRgBYroac\\\/dYmBRHkZNKcQSrFzk4oYKt5OtrkrUUE4FbMKsYx4k4Us\\\/bKEaCueTVc51lLBFMfJQz7bVgUn3kKgJebB+1sDcLzg4y6RkJRnEaGGsqEEq7I3RcH7qPgE2MxdV0U9VRBH\\\/bpBxKW8fx46G0+tB9BBRjxTpJjJy1EMylPgRLM5Oskf8Qt5DSvudq4c+AVPFi\\\/JBF42Z63AVUWwgmdxKYENBqPegj6YHW5DqloAgo1op5nIgzcRcQE8HqcidN7fWg82LAUn1QZAQUa8U8TsRZy3DJRLDxYR2yvIxbx\\\/9CafVhQRHwYr3MwnwLdwGCuYdrRmSKhaGnLHRqFbcRsIn5FI\\\/DZs0BgknVW6OuZq555zOS69uzOTZFpirmin2cdJEpDpsSJngcOZrkiJNeMvX7T7WUGwENlRT7OBF34rApYYKTes8quIZngs0keLOSeid\\\/BIj5FsXewlKAwzDB4y0MrLLQqVWKiYBN7AMchgkeY+GXzVlkYaZWyRABm9gHOAwTPNKi0qTxmIWJWiVjBGxiH+CwSTDd60FUGrv8w3NqU0bn6mL5I6CFdkmiZVbisl+aBHOkmZD9P0+O\\\/NxOjh72tbQnAvofCXEQJ+KwORPpJ1iTHFrCGicyXr9giItQsXlaApy0hFgcist+8ROslQHNDC8\\\/vNFAe2s4sT4uLQKKfRLB4lBc9oufYO37jz2VwGYnR7sCKfVBmRFQ\\\/IU40fO3yWNzxyuR9EoqznCdV8EI+AnWlZlEsC795uVfwfYMdJds4i8Om3dZP8G69PWMjRP1zobGKdR5hUZAsbfpJzVv436CRW5SF1wEt+93mwqNXUcYV+xtRjrNC9VPsHpnST1kGc\\\/6paqOiGDFndREVBLBgZ52k2DeVujebfOvXSMqHoSB7J6+UZgk73tc9us1CfZK2UxDjk2qoc4vLAI2sQ+8Mw4T\\\/JaFa+MtdAa6SqCnWmJjJ1jUtcGvE+6RrfVnRuwfG5E+YJKZrB9HY7Q2rTncCDVO\\\/ZCj0Psu2+bEvk9HaX\\\/nVvmuL83F7iQLIwEOwwSvsTAwgYYdhPMDeVWHboVnAxPBIu9BoK1+6sEkynsTOCNYMceezRUc4DBM8DqM6G1R3LosvW\\\/UbfpVMCCFk\\\/cJGiZUSXRXCbzrNTgn7sRhU8LPYHWyepq55h2dFPpOai3lRkD\\\/wha+IMMerCch0FEOEMyZqwHyP8KlDMczDGl1UrERsIn5Co\\\/DpicBgr3U5c3c6J3TeSbssT\\\/sHR2WYnK8WJ9uYb2FO9MlLyXNajVXBRgMqxOiW0bVnlMGV9MnEdDDKBU3qaD4qCNlil+jwh6uJleLIxRrxTxO5NOysILJQfX+1BOLGw6pcd8BA5Jg2qWrZQ4w9aJJ7u+DfMJ2pQ4Movj8ArxiyMuSFDUc89sSZ+IuWTiDbwFJsgaFA5Ot5dOgjm8mOUL+JflqSVea+laAu9OVyqZNPfpN6bUgSfR7Hi1iegZL6aEWzdYEDZW+3pq8R6QoblGxcx2AmRgcZ2HUyFmUk89i8C0Lo3MsdPKq6Ha3J8tci8aLK3HWIkaC6Rxolsp4RoQs6GcGvxpKc33YZ2Gw7JNA9UU9ny3ctVPxYnuWhfbDHmctqkaCPa172CY1Yig6V7RYdZuQtAhBtSW9I3XmEUFXx1T1bXNmNNrQlWQpxnGi1RtLoxTiCH6OQi9FFfSlX0ijJ\\\/iOXe\\\/qHbUmYOJEL8LLEgVcLxv+W2SFXkwvsKhDP1ksrowSSTCXvIK6xFgqmKhJ8B8Gk5wevYO1zQkWRyfku8w+DGOHgLddGjXY+hFpim2SLPG4StJrzecsOgTY\\\/AK5fvp2SquF\\\/CnY1U\\\/6vgDi5C\\\/5a7KzgBPf8hzR26ZCBPv6KQabnxMWNzrZIiXyClYJzgzdHhdHlt6docVg+j+lWHu71e338EHPGGMP0WdFf28b9wbMp5p7dyYWNGv0Rm5LBgNeDK8jSzFNksUeR0l60flUOAJsAjZyXrSl7DlUfAbYGePALvJmZK\\\/BriR1DAWrge4ozk9meYHd84GNiBM36+MwdK1NjejoF8hH2oXLXgubuk0\\\/CeKk8F+9pfLZngOF9DmwrT\\\/lUAxt5Fr7CCZoUluav9VZir7zcSk2Z4DtIEreI2NMQlMyZ2N7CHgRbAbOO3XY1N8RKHY20o3SoZkbYyqIwUttavZ05pls5E3D9m8SfCjsKqbeH3t1\\\/zxvO0zlsT0voW3+7EtNNnKlYX0\\\/8Iy\\\/lph9neVTc1VoKIxN\\\/eP4YzH16gqfbSiaKwmbZ4Ft4FVgM3RJVR82pwLFzEbEQTETOxjWf9F\\\/auMFOivBqFQttVDG5uEg7kTTrfoMC1NWKtj6BvgAvAOOtyqUQgmbo4BiZSOK\\\/WkpzKdXpYKFNp54Oo+zdf5KEZsan8f99+675H8vfet2l6C8\\\/jLnSqAr920wbXeumz1s6lWgYmQrC93UHGMFT+SUOhu2ov\\\/jc35LwaYI+AHYCEyiYdXvwKSY5rRkoS+7M4H++1ii7TEtijkTsKlHnu1\\\/FaLaH3PnF4uxGVR2EvhQtVqKAq1JeueC3THgBtALTLKFRAVS48uJ4CAwuOEI+0OAbvvTwALwCpB0g8vBvg1dV1ts7gMUE1tRrMtdyUqF82298\\\/TUIOdXciPo2B4J5oA\\\/gA1Akx9h0VXdC14HLwOtzOgGjWnBj9j\\\/M7gIOO9MyVfs6spNQy7qffMb7Uy7zTVepeLfUuG8FJXqFeQ8ptc+SlEmtSp+aX5Wb7i0rmwiOAp8CYg0vQ2SbAMfgH+DN8EK8Bq+9bItRPBLt9jbwfkpKrgdnzITnKKeVlUcHgb+BtLIYyg77123emdOoW5NKOQ6sc2W41PVZqC2pxHFdli85YJzcWA0eCON1+j+E7T8\\\/HzBrrbNPG3V8FJtTiOKqfMZs0xBwJHJwHYOtdFIDezbc+vJ1MpshdRGYDuJ0YiNYjk5W40FlcKhU4A6MGnlLgpU40x1GBu1CahtaUUxdD4L6KRpODYdZCG5m3IXOnGiAkZoywVAbUorit30CjQh2gUcnArS3q4bgfgTO+WO96KbkjpHvoMHGo1JuVXMqnnlhiOBo18BGmtmkU8otAhoeNMRIl89n+V7FlGsjuuIxjacxOEjQWO6L0uj1TER0YWs9Wr4mWeLb8eDW0HaThRFmqIYHZnHj7aVxXGNk0VSHtEbFN32ZoO2f2VVPni+\\\/JFt1iuWov1yG5\\\/tHee6ODtohOZ085zl\\\/dHgYzW4EehlQCFTiab2qi6vTtUtH\\\/KKYnG5qS7XaaXN6NCgU3D+ZuBqgmMdtpaDJ8FLoJspPf1GRW7BV63QHAfU4TsTqGerYxfyPEauwtcXXRhLslEawXKEwGkudgG4GjTmhNnNLVqkvxGsBavAatADGovmNfe9FewCEq2IVP3y52BwONB89ZfBJKBvTmo61eUbMNV\\\/I1gIuYXOxVNHU0oluFErROuKWAh0dRQt26lA0EmgNdYSvS4Ueft5YFOoPIX1BRC7rNBaDMbbQrD8gGS9Z70EXANc3f4wVSnRY+R6cAfk7miHZ20juNFYiNZrPHU4rgQjGukdvu3F\\\/9vAIoh19mNoWWLSdoIbTkO0nnn6svMc0AU6Udbj9BLwe4jdWIUGVIbgRjAg+lD2zwUXA03dVc5HfPKLvqD+ArgT3A+xhX6tlDpSSWWDB9HqBE0D54FzQBeokvTgzMPgXrAcYtWJq5xUlmB\\\/pCBb49LTwSwwAxwD1EkrU9RJ0vDrCfAI0N\\\/cb2ZbaekIgv0RhOwhHGusehrQcOtroAtoPOtSRJ6uUq3V0vBGExQrIVVruTpGOo7gcGS9W\\\/lI0o8GWminSQp9CU2dtuFgKNB4V7d8TXBINOGhK1LYCrT4Tj3fDWCNBw1xNlX11otvVtLxBMe1EvLVPt3KhcGg0V51jPTMFHZAoo5rqSNQR6COQMUi8H+r6e3S1LsqwQAAAABJRU5ErkJggg==\\\" alt=\\\"Unique Int\\u00e9rieur\\\" width=\\\"100\\\" height=\\\"100\\\">\\n  <\\\/div>\\n  <div class=\\\"ui-progress\\\"><span id=\\\"uiProgress\\\"><\\\/span><\\\/div>\\n\\n  <!-- Pots de miel : invisibles et non focusables. Un humain ne les\\n       remplit jamais ; un robot qui parcourt le DOM, si. Noms choisis\\n       pour ressembler a de vrais champs (les bots ciblent ces mots). -->\\n  <div class=\\\"ui-hp\\\" aria-hidden=\\\"true\\\">\\n    <label>Ne pas remplir ce champ\\n      <input type=\\\"text\\\" name=\\\"firstname\\\" id=\\\"hpFirstname\\\" tabindex=\\\"-1\\\" autocomplete=\\\"off\\\">\\n    <\\\/label>\\n    <label>Ne pas remplir ce champ\\n      <input type=\\\"text\\\" name=\\\"city\\\" id=\\\"hpCity\\\" tabindex=\\\"-1\\\" autocomplete=\\\"off\\\">\\n    <\\\/label>\\n    <label>Ne pas remplir ce champ\\n      <input type=\\\"url\\\" name=\\\"website\\\" id=\\\"hpWebsite\\\" tabindex=\\\"-1\\\" autocomplete=\\\"off\\\">\\n    <\\\/label>\\n    <label>Ne pas remplir ce champ\\n      <input type=\\\"text\\\" name=\\\"company\\\" id=\\\"hpCompany\\\" tabindex=\\\"-1\\\" autocomplete=\\\"off\\\">\\n    <\\\/label>\\n  <\\\/div>\\n  <div class=\\\"ui-body\\\" id=\\\"uiBody\\\" aria-live=\\\"polite\\\"><\\\/div>\\n  <div class=\\\"ui-foot\\\" id=\\\"uiFoot\\\"><\\\/div>\\n  <div class=\\\"ui-foot-spacer\\\" aria-hidden=\\\"true\\\"><\\\/div>\\n<\\\/div>\\n\\n\\n\\n\";\n\t\tracine.appendChild(conteneur);\n\n\t\t\/* Le script du formulaire interroge le document : on lui fournit\n\t\t   la racine shadow \u00e0 la place. *\/\n\t\tvar code = \"\\n(function(){\\n  'use strict';\\n\\n  \\\/* ============================================================\\n     LANGUES\\n     Les CLES (`write`, `callback`, `call`) pilotent le parcours ;\\n     seuls les LIBELLES changent d'une langue a l'autre. Ajouter une\\n     langue = ajouter une entree dans LANGUES, rien d'autre.\\n     ============================================================ *\\\/\\n  var LANGUES = {\\n    fr: {\\n      \\\/* En-tete *\\\/\\n      h_titre:      'Discutons de vos envies',\\n      h_sous:       'Un besoin, une question ? Parlons-en.',\\n\\n      \\\/* Accueil *\\\/\\n      q_accueil:    'Bonjour et bienvenue chez Unique. Comment pr\\u00e9f\\u00e9rez-vous \\u00e9changer avec nous ?',\\n      opt_write:    'Nous \\u00e9crire',\\n      opt_callback: '\\u00catre recontact\\u00e9(e)',\\n      opt_call:     'Nous appeler',\\n\\n      \\\/* Branche appel *\\\/\\n      q_tel_intro:  'Avec plaisir. Voici notre num\\u00e9ro :',\\n\\n      \\\/* Branche rappel *\\\/\\n      q_cb_phone:   'Indiquez le num\\u00e9ro \\u00e0 rappeler',\\n      q_cb_moment:  'Quand souhaitez-vous \\u00eatre appel\\u00e9(e) ?',\\n      q_cb_name:    '\\u00c0 qui avons-nous le plaisir de nous adresser ?',\\n      q_cb_email:   'Votre email, si nous n\\u2019arrivons pas \\u00e0 vous joindre ?',\\n\\n      \\\/* Branche ecrire *\\\/\\n      q_motif:      'Quel est l\\u2019objet de votre demande ?',\\n      q_motif_cb:   'Quel est le motif de votre demande ?',\\n      q_projet:     'D\\u00e9crivez-nous votre projet',\\n      q_ville:      'Dans quelle ville se situe le projet ?',\\n      q_collab:     'Pr\\u00e9sentez-nous votre proposition de collaboration',\\n      q_candid:     'Pr\\u00e9sentez-nous votre candidature',\\n      q_autre:      'Pr\\u00e9cisez votre demande',\\n      q_nom:        'Quel est votre nom ?',\\n      q_email:      'Quel est votre email ?',\\n      q_tel:        'Indiquez votre num\\u00e9ro de t\\u00e9l\\u00e9phone',\\n      q_source:     'Comment nous avez-vous connus ?',\\n      q_source_a:   'Pr\\u00e9cisez, si vous le souhaitez',\\n\\n      \\\/* Motifs *\\\/\\n      m_projet:     'Une demande de projet',\\n      m_collab:     'Collaboration \\\/ partenariat',\\n      m_candid:     'Candidature spontan\\u00e9e ou stage',\\n      m_autre:      'Autre',\\n\\n      \\\/* Creneaux *\\\/\\n      c_asap:       'D\\u00e8s que possible',\\n      c_matin:      'Plut\\u00f4t le matin (9h \\u2013 12h)',\\n      c_aprem:      'Plut\\u00f4t l\\u2019apr\\u00e8s-midi (14h \\u2013 18h)',\\n      c_soir:       'En fin de journ\\u00e9e (apr\\u00e8s 18h)',\\n\\n      \\\/* Sources *\\\/\\n      s_web:        'Recherche sur internet',\\n      s_bouche:     'Bouche \\u00e0 oreille \\\/ recommandation',\\n      s_reseaux:    'R\\u00e9seaux sociaux',\\n      s_event:      'Un \\u00e9v\\u00e9nement',\\n      s_autre:      'Autre',\\n\\n      \\\/* Champs *\\\/\\n      ph_nom:       'Votre nom',\\n      ph_email:     'Votre email',\\n      ph_email_opt: 'Votre email (facultatif)',\\n      ph_tel:       'Votre t\\u00e9l\\u00e9phone',\\n      ph_ville:     'Ville ou commune',\\n      ph_projet:    'Type de bien, surface, pi\\u00e8ces concern\\u00e9es, style souhait\\u00e9\\u2026',\\n      ph_collab:    'Votre activit\\u00e9, ce que vous proposez\\u2026',\\n      ph_candid:    'Poste recherch\\u00e9, votre parcours\\u2026',\\n      ph_autre:     'Dites-nous en quelques mots ce qui vous am\\u00e8ne\\u2026',\\n      ph_source_a:  'Par exemple : un magazine, un salon\\u2026',\\n\\n      \\\/* Interface *\\\/\\n      btn_continuer:'Continuer',\\n      btn_passer:   'Passer cette question',\\n      btn_retour:   'Revenir \\u00e0 la question pr\\u00e9c\\u00e9dente',\\n      lbl_valider:  'Valider',\\n      non_comm:     'Non communiqu\\u00e9',\\n\\n      \\\/* Erreurs *\\\/\\n      e_requis:      'Merci de renseigner ce champ.',\\n      e_email:       'Cet email ne semble pas valide.',\\n      e_tel_car:     'Ce num\\u00e9ro contient des caract\\u00e8res non valides.',\\n      e_tel_court:   'Ce num\\u00e9ro semble trop court.',\\n      e_tel_long:    'Ce num\\u00e9ro semble trop long.',\\n\\n      \\\/* Fin *\\\/\\n      f_titre:      'Votre demande a bien \\u00e9t\\u00e9 prise en compte.',\\n      f_texte:      'Nous revenons vers vous rapidement.',\\n      f_bot:        'Parfait, nous avons tout ce qu\\u2019il nous faut. Merci !'\\n    },\\n\\n    en: {\\n      h_titre:      'Let\\u2019s talk about your project',\\n      h_sous:       'A project, a question? Let\\u2019s talk.',\\n\\n      q_accueil:    'Hello and welcome to Unique. How would you like to get in touch?',\\n      opt_write:    'Write to us',\\n      opt_callback: 'Get a call back',\\n      opt_call:     'Call us',\\n\\n      q_tel_intro:  'With pleasure. Here is our number:',\\n\\n      q_cb_phone:   'What number should we call?',\\n      q_cb_moment:  'When would you like us to call?',\\n      q_cb_name:    'Who do we have the pleasure of speaking with?',\\n      q_cb_email:   'Your email, in case we can\\u2019t reach you?',\\n\\n      q_motif:      'What is your enquiry about?',\\n      q_motif_cb:   'What is your enquiry about?',\\n      q_projet:     'Tell us about your project',\\n      q_ville:      'Where is the project located?',\\n      q_collab:     'Tell us about your partnership proposal',\\n      q_candid:     'Tell us about your application',\\n      q_autre:      'Please tell us more',\\n      q_nom:        'What is your name?',\\n      q_email:      'What is your email?',\\n      q_tel:        'What is your phone number?',\\n      q_source:     'How did you hear about us?',\\n      q_source_a:   'Please specify, if you wish',\\n\\n      m_projet:     'A project enquiry',\\n      m_collab:     'Partnership \\\/ collaboration',\\n      m_candid:     'Job or internship application',\\n      m_autre:      'Something else',\\n\\n      c_asap:       'As soon as possible',\\n      c_matin:      'Rather in the morning (9am \\u2013 12pm)',\\n      c_aprem:      'Rather in the afternoon (2pm \\u2013 6pm)',\\n      c_soir:       'Late in the day (after 6pm)',\\n\\n      s_web:        'Online search',\\n      s_bouche:     'Word of mouth \\\/ recommendation',\\n      s_reseaux:    'Social media',\\n      s_event:      'An event',\\n      s_autre:      'Something else',\\n\\n      ph_nom:       'Your name',\\n      ph_email:     'Your email',\\n      ph_email_opt: 'Your email (optional)',\\n      ph_tel:       'Your phone number',\\n      ph_ville:     'City or town',\\n      ph_projet:    'Type of property, size, rooms involved, style you have in mind\\u2026',\\n      ph_collab:    'Your business, what you would like to propose\\u2026',\\n      ph_candid:    'Role you are looking for, your background\\u2026',\\n      ph_autre:     'In a few words, what brings you here\\u2026',\\n      ph_source_a:  'For example: a magazine, a trade show\\u2026',\\n\\n      btn_continuer:'Continue',\\n      btn_passer:   'Skip this question',\\n      btn_retour:   'Back to previous question',\\n      lbl_valider:  'Send',\\n      non_comm:     'Not provided',\\n\\n      e_requis:     'Please fill in this field.',\\n      e_email:      'This email doesn\\u2019t look valid.',\\n      e_tel_car:    'This number contains invalid characters.',\\n      e_tel_court:  'This number seems too short.',\\n      e_tel_long:   'This number seems too long.',\\n\\n      f_titre:      'Your enquiry has been received.',\\n      f_texte:      'We will get back to you shortly.',\\n      f_bot:        'Perfect, we have everything we need. Thank you!'\\n    }\\n  };\\n\\n  \\\/* Langue : attribut <html lang>, ou \\\/en\\\/ dans l'URL *\\\/\\n  var LANG = (document.documentElement.lang || 'fr').slice(0,2).toLowerCase();\\n  if(location.pathname.indexOf('\\\/en\\\/') !== -1) LANG = 'en';\\n  if(!LANGUES[LANG]) LANG = 'fr';\\n  var T = LANGUES[LANG];\\n\\n  \\\/* Compare le mode choisi a une cle, quelle que soit la langue *\\\/\\n  function estMode(cle){ return state._mode === cle; }\\n  \\\/* Idem pour le motif : la cle est stable, le libelle est traduit *\\\/\\n  function estMotif(cle){ return state._motif === cle; }\\n\\n  var PHONE_DISPLAY = '04 28 29 04 03';\\n  var PHONE_LINK    = '+33428290403';\\n\\n  \\\/* ---------- Ic\\u00f4nes (style Lucide, jamais d'emoji) ---------- *\\\/\\n  var ICONS = {\\n    \\\/* Lucide phone-outgoing \\u2014 Nous appeler *\\\/\\n    phone:'<path d=\\\"m16 8 6-6\\\"\\\/><path d=\\\"M22 8V2h-6\\\"\\\/><path d=\\\"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\\\"\\\/>',\\n    \\\/* Lucide phone-incoming \\u2014 Etre recontacte *\\\/\\n    phoneIn:'<path d=\\\"M16 2v6h6\\\"\\\/><path d=\\\"m22 2-6 6\\\"\\\/><path d=\\\"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\\\"\\\/>',\\n    mail:'<rect x=\\\"2\\\" y=\\\"4\\\" width=\\\"20\\\" height=\\\"16\\\" rx=\\\"2\\\"\\\/><path d=\\\"m22 7-10 6L2 7\\\"\\\/>',\\n    \\\/* Lucide \\\"pencil\\\" \\u2014 une demande de projet *\\\/\\n    pencil:'<path d=\\\"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z\\\"\\\/><path d=\\\"m15 5 4 4\\\"\\\/>',\\n    \\\/* Lucide \\\"handshake\\\" \\u2014 collaboration \\\/ partenariat *\\\/\\n    handshake:'<path d=\\\"m11 17 2 2a1 1 0 1 0 3-3\\\"\\\/><path d=\\\"m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4\\\"\\\/><path d=\\\"m21 3 1 11h-2\\\"\\\/><path d=\\\"M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3\\\"\\\/><path d=\\\"M3 4h8\\\"\\\/>',\\n    \\\/* Lucide \\\"briefcase-business\\\" \\u2014 candidature *\\\/\\n    briefcase:'<path d=\\\"M12 12h.01\\\"\\\/><path d=\\\"M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2\\\"\\\/><path d=\\\"M22 13a18.15 18.15 0 0 1-20 0\\\"\\\/><rect width=\\\"20\\\" height=\\\"14\\\" x=\\\"2\\\" y=\\\"6\\\" rx=\\\"2\\\"\\\/>',\\n    search:'<circle cx=\\\"11\\\" cy=\\\"11\\\" r=\\\"8\\\"\\\/><path d=\\\"m21 21-4.3-4.3\\\"\\\/>',\\n    users:'<path d=\\\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\\\"\\\/><circle cx=\\\"9\\\" cy=\\\"7\\\" r=\\\"4\\\"\\\/><path d=\\\"M22 21v-2a4 4 0 0 0-3-3.87\\\"\\\/>',\\n    share:'<circle cx=\\\"18\\\" cy=\\\"5\\\" r=\\\"3\\\"\\\/><circle cx=\\\"6\\\" cy=\\\"12\\\" r=\\\"3\\\"\\\/><circle cx=\\\"18\\\" cy=\\\"19\\\" r=\\\"3\\\"\\\/><line x1=\\\"8.6\\\" y1=\\\"10.5\\\" x2=\\\"15.4\\\" y2=\\\"6.5\\\"\\\/><line x1=\\\"8.6\\\" y1=\\\"13.5\\\" x2=\\\"15.4\\\" y2=\\\"17.5\\\"\\\/>',\\n    calendar:'<rect x=\\\"3\\\" y=\\\"4\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\"\\\/><line x1=\\\"16\\\" y1=\\\"2\\\" x2=\\\"16\\\" y2=\\\"6\\\"\\\/><line x1=\\\"8\\\" y1=\\\"2\\\" x2=\\\"8\\\" y2=\\\"6\\\"\\\/><line x1=\\\"3\\\" y1=\\\"10\\\" x2=\\\"21\\\" y2=\\\"10\\\"\\\/>',\\n    dots:'<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\"\\\/><circle cx=\\\"19\\\" cy=\\\"12\\\" r=\\\"1\\\"\\\/><circle cx=\\\"5\\\" cy=\\\"12\\\" r=\\\"1\\\"\\\/>',\\n    \\\/* Lucide chevron-right \\u2014 validation d'un champ court *\\\/\\n    send:'<path d=\\\"m9 18 6-6-6-6\\\"\\\/>',\\n    check:'<polyline points=\\\"20 6 9 17 4 12\\\"\\\/>',\\n    \\\/* Lucide zap \\\/ sunrise \\\/ sun \\\/ moon \\u2014 creneaux de rappel *\\\/\\n    zap:'<path d=\\\"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\\\"\\\/>',\\n    sunrise:'<path d=\\\"M12 2v8\\\"\\\/><path d=\\\"m4.93 10.93 1.41 1.41\\\"\\\/><path d=\\\"M2 18h2\\\"\\\/><path d=\\\"M20 18h2\\\"\\\/><path d=\\\"m19.07 10.93-1.41 1.41\\\"\\\/><path d=\\\"M22 22H2\\\"\\\/><path d=\\\"m8 6 4-4 4 4\\\"\\\/><path d=\\\"M16 18a4 4 0 0 0-8 0\\\"\\\/>',\\n    sun:'<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\"\\\/><path d=\\\"M12 2v2\\\"\\\/><path d=\\\"M12 20v2\\\"\\\/><path d=\\\"m4.93 4.93 1.41 1.41\\\"\\\/><path d=\\\"m17.66 17.66 1.41 1.41\\\"\\\/><path d=\\\"M2 12h2\\\"\\\/><path d=\\\"M20 12h2\\\"\\\/><path d=\\\"m6.34 17.66-1.41 1.41\\\"\\\/><path d=\\\"m19.07 4.93-1.41 1.41\\\"\\\/>',\\n    moon:'<path d=\\\"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z\\\"\\\/>',\\n    \\\/* Lucide message-circle-question-mark \\u2014 motif \\\"Autre\\\" *\\\/\\n    question:'<path d=\\\"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719\\\"\\\/><path d=\\\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\\\"\\\/><path d=\\\"M12 17h.01\\\"\\\/>',\\n    \\\/* Lucide arrow-left \\u2014 retour a l'etape precedente *\\\/\\n    arrowLeft:'<path d=\\\"m12 19-7-7 7-7\\\"\\\/><path d=\\\"M19 12H5\\\"\\\/>',\\n  };\\n\\n  function svg(name){\\n    \\\/* Les pictos telephone recoivent une classe pour leur correction optique *\\\/\\n    var cls = (name === 'phone' || name === 'phoneIn') ? ' class=\\\"is-phone\\\"' : '';\\n    return '<svg viewBox=\\\"0 0 24 24\\\"' + cls + ' aria-hidden=\\\"true\\\">' + (ICONS[name]||'') + '<\\\/svg>';\\n  }\\n\\n  \\\/* ============================================================\\n     SUIVI DES CONVERSIONS\\n     Un seul point d'envoi. Priorite au dataLayer (GTM), repli sur\\n     gtag si GTM n'est pas present sur la page.\\n     Noms sans accent ni majuscule : GA4 n'accepte que [A-Za-z0-9_].\\n     ============================================================ *\\\/\\n  var TRACKED   = {};              \\\/* garde-fou anti-doublon, par evenement *\\\/\\n  var T0        = Date.now();      \\\/* debut de session, pour mesurer la duree *\\\/\\n  var NB_RETOUR = 0;               \\\/* nombre de retours arriere *\\\/\\n  var ETAPES    = [];              \\\/* cles des etapes reellement franchies *\\\/\\n\\n  \\\/* Contexte, calcule une seule fois *\\\/\\n  function contexte(){\\n    var w = window, d = document, n = navigator;\\n    return {\\n      \\\/* Appareil *\\\/\\n      device_type:  estMobile()\\n                      ? (Math.min(screen.width, screen.height) >= 600 ? 'tablette' : 'mobile')\\n                      : 'ordinateur',\\n      viewport:     w.innerWidth + 'x' + w.innerHeight,\\n      langue:       (n.language || '').slice(0,5),\\n\\n      \\\/* Page d'origine \\u2014 indispensable si le composant est reutilise ailleurs *\\\/\\n      page_path:    location.pathname,\\n      page_titre:   (d.title || '').slice(0,100),\\n      referrer:     (d.referrer || 'direct').slice(0,200),\\n\\n      \\\/* Moment : GA4 horodate en UTC, l'heure locale du visiteur est\\n         une autre information (quand appelle-t-on un architecte ?) *\\\/\\n      heure_locale: new Date().getHours(),\\n      jour_semaine: ['dimanche','lundi','mardi','mercredi','jeudi','vendredi','samedi'][new Date().getDay()]\\n    };\\n  }\\n\\n  \\\/* Parametres de parcours, communs a tous les evenements de fin *\\\/\\n  function parcours(){\\n    return {\\n      duree_secondes:  Math.round((Date.now() - T0) \\\/ 1000),\\n      nb_etapes:       ETAPES.length,\\n      nb_retours:      NB_RETOUR,\\n      etapes_suivies:  ETAPES.join('>').slice(0,100)\\n    };\\n  }\\n\\n  function track(nom, params){\\n    if(TRACKED[nom]) return;        \\\/* jamais deux fois le meme *\\\/\\n    TRACKED[nom] = true;\\n\\n    var data = {form_name:'chatbot_contact'};\\n    var srcs = [contexte(), params || {}];\\n    for(var i=0;i<srcs.length;i++){\\n      for(var k in srcs[i]){ if(srcs[i].hasOwnProperty(k)) data[k] = srcs[i][k]; }\\n    }\\n\\n    \\\/* Envoi DIRECT a GA4 via gtag : c'est la voie qui fonctionne sans\\n       aucune configuration dans Tag Manager. Le site charge deja\\n       gtag.js avec G-T52PYNVGPQ. *\\\/\\n    if(typeof window.gtag === 'function'){\\n      window.gtag('event', nom, data);\\n    }\\n\\n    \\\/* On pousse AUSSI dans le dataLayer : inutile aujourd'hui, mais\\n       disponible si un declencheur GTM est cree plus tard.\\n       \\u26a0\\ufe0f Si tu configures GTM sur ces evenements, retire ce push OU\\n       le gtag ci-dessus \\u2014 sinon chaque conversion compterait double. *\\\/\\n    if(window.dataLayer){\\n      var payload = {event:nom};\\n      for(var j in data){ if(data.hasOwnProperty(j)) payload[j] = data[j]; }\\n      window.dataLayer.push(payload);\\n    }\\n\\n    if(window.console && console.debug) console.debug('[track]', nom, data);\\n  }\\n\\n  \\\/* Desktop\\\/tablette : pas de clic `tel:` possible, le clic sur l'option\\n     EST la conversion. Sur mobile c'est le clic sur le numero qui compte. *\\\/\\n  function estMobile(){\\n    return matchMedia('(hover:none) and (pointer:coarse)').matches;\\n  }\\n\\n  \\\/* ============================================================\\n     ANTI-SPAM\\n     Trois barrieres, toutes silencieuses cote visiteur : un robot ne\\n     doit jamais savoir POURQUOI il a ete rejete.\\n     ============================================================ *\\\/\\n\\n  \\\/* Domaines d'email jetables les plus courants. Liste volontairement\\n     courte : elle attrape le gros du bruit sans risquer de bloquer un\\n     vrai client sur un domaine exotique. *\\\/\\n  var EMAILS_JETABLES = ('yopmail.com mailinator.com guerrillamail.com 10minutemail.com ' +\\n    'tempmail.com temp-mail.org throwawaymail.com trashmail.com getnada.com ' +\\n    'maildrop.cc fakeinbox.com sharklasers.com grr.la spam4.me dispostable.com ' +\\n    'mailnesia.com mytemp.email emailondeck.com moakt.com tempr.email').split(' ');\\n\\n  \\\/* Mots quasi jamais presents dans une vraie demande d'amenagement,\\n     omnipresents dans le spam de referencement. *\\\/\\n  var MOTS_SPAM = ('viagra cialis casino porn xxx crypto bitcoin forex ' +\\n    'seo backlink ranking guest post link building loan payday ' +\\n    'escort betting poker replica rolex').split(' ');\\n\\n  function estJetable(email){\\n    var d = String(email).toLowerCase().split('@')[1] || '';\\n    return EMAILS_JETABLES.indexOf(d) !== -1;\\n  }\\n\\n  function contientSpam(txt){\\n    var t = ' ' + String(txt).toLowerCase().replace(\\\/[^a-z0-9]+\\\/g,' ') + ' ';\\n    for(var i=0;i<MOTS_SPAM.length;i++){\\n      if(t.indexOf(' ' + MOTS_SPAM[i] + ' ') !== -1) return true;\\n    }\\n    \\\/* Plus de 2 liens dans un message = signature de spam *\\\/\\n    return (String(txt).match(\\\/https?:\\\\\\\/\\\\\\\/\\\/g) || []).length > 2;\\n  }\\n\\n  function potsDeMielRemplis(){\\n    var ids = ['hpFirstname','hpCity','hpWebsite','hpCompany'];\\n    for(var i=0;i<ids.length;i++){\\n      var el = document.getElementById(ids[i]);\\n      if(el && el.value.trim() !== '') return true;\\n    }\\n    return false;\\n  }\\n\\n  \\\/* Verdict global, appele avant l'envoi.\\n     Retourne '' si tout va bien, sinon le motif (pour le journal). *\\\/\\n  function verdictAntiSpam(){\\n    if(potsDeMielRemplis()) return 'honeypot';\\n\\n    \\\/* Un humain ne remplit pas ce parcours en moins de 8 secondes. *\\\/\\n    var duree = (Date.now() - T0) \\\/ 1000;\\n    if(duree < 8) return 'trop_rapide';\\n\\n    var mail = state.email || state.callback_email || '';\\n    if(mail && estJetable(mail)) return 'email_jetable';\\n\\n    var libres = [state.projet, state.ville, state.source_autre,\\n                  state.nom, state.callback_name].join(' ');\\n    if(contientSpam(libres)) return 'mots_spam';\\n\\n    return '';\\n  }\\n\\n  \\\/* ---------- \\u00c9tat ---------- *\\\/\\n  var state = {};\\n  var stack = [];   \\\/\\\/ historique pour le bouton retour\\n  var step  = 0;\\n\\n  var body = document.getElementById('uiBody');\\n  var foot = document.getElementById('uiFoot');\\n  var prog = document.getElementById('uiProgress');\\n\\n  \\\/* ---------- Listes ---------- *\\\/\\n  var MOTIFS = [\\n    {k:'projet',     v:T.m_projet, icon:'pencil'},\\n    {k:'collab',     v:T.m_collab, icon:'handshake'},\\n    {k:'candidature',v:T.m_candid, icon:'briefcase'},\\n    {k:'autre',      v:T.m_autre,  icon:'question'}\\n  ];\\n\\n  \\\/* Creneaux de rappel \\u2014 volontairement larges : un horaire precis\\n     engagerait l'agence sur quelque chose qu'elle ne maitrise pas. *\\\/\\n  var CRENEAUX = [\\n    {k:'asap',  v:T.c_asap,  icon:'zap'},\\n    {k:'matin', v:T.c_matin, icon:'sunrise'},\\n    {k:'aprem', v:T.c_aprem, icon:'sun'},\\n    {k:'soir',  v:T.c_soir,  icon:'moon'}\\n  ];\\n\\n  var SOURCES = [\\n    {k:'web',     v:T.s_web,     icon:'search'},\\n    {k:'bouche',  v:T.s_bouche,  icon:'users'},\\n    {k:'reseaux', v:T.s_reseaux, icon:'share'},\\n    {k:'event',   v:T.s_event,   icon:'calendar'},\\n    {k:'autre',   v:T.s_autre,   icon:'dots'}\\n  ];\\n\\n  \\\/* ---------- Parcours ----------\\n     Chaque \\u00e9tape : key, q (question), type, options, condition.\\n     L'ordre du tableau = l'ordre des questions.                *\\\/\\n  var FLOW = [\\n    { key:'contact_choice', q:T.q_accueil,\\n      options:[\\n        {k:'write',    v:T.opt_write,    icon:'mail'},\\n        {k:'callback', v:T.opt_callback, icon:'phoneIn'},\\n        {k:'call',     v:T.opt_call,     icon:'phone'}\\n      ]},\\n\\n    \\\/* ---- Branche : Nous appeler ---- *\\\/\\n    { key:'phone_display', type:'phone',\\n      cond:function(){ return estMode('call'); }},\\n\\n    \\\/* ---- Branche : \\u00catre recontact\\u00e9(e) ---- *\\\/\\n    { key:'callback_phone', q:T.q_cb_phone, type:'tel',\\n      placeholder:T.ph_tel,\\n      cond:function(){ return estMode('callback'); }},\\n    \\\/* Creneau de rappel : evite les appels dans le vide.\\n       Les libelles restent volontairement souples \\u2014 on ne promet pas\\n       une heure precise, juste un moment de la journee. *\\\/\\n    { key:'callback_moment', q:T.q_cb_moment,\\n      options:CRENEAUX,\\n      cond:function(){ return estMode('callback'); }},\\n    { key:'callback_name', q:T.q_cb_name,\\n      type:'text', placeholder:T.ph_nom,\\n      cond:function(){ return estMode('callback'); }},\\n    \\\/* Email facultatif : filet si le telephone ne repond pas.\\n       `optional` affiche le bouton \\\"Passer cette question\\\". *\\\/\\n    { key:'callback_email', q:'Votre email, si nous n\\u2019arrivons pas \\u00e0 vous joindre ?',\\n      type:'email', placeholder:T.ph_email_opt, optional:true,\\n      cond:function(){ return estMode('callback'); }},\\n    { key:'motif', q:T.q_motif_cb,\\n      options:MOTIFS,\\n      cond:function(){ return estMode('callback'); }},\\n\\n    \\\/* ---- Branche : Par mail ---- *\\\/\\n    { key:'motif', q:T.q_motif,\\n      options:MOTIFS,\\n      cond:function(){ return estMode('write'); }},\\n\\n    \\\/* Demande de projet *\\\/\\n    { key:'projet', q:T.q_projet, type:'textarea',\\n      placeholder:T.ph_projet,\\n      cond:function(){ return estMode('write') && estMotif('projet'); }},\\n    { key:'ville', q:T.q_ville, type:'text',\\n      placeholder:T.ph_ville,\\n      cond:function(){ return estMode('write') && estMotif('projet'); }},\\n\\n    \\\/* Collaboration *\\\/\\n    { key:'projet', q:T.q_collab, type:'textarea',\\n      placeholder:T.ph_collab,\\n      cond:function(){ return estMode('write') && estMotif('collab'); }},\\n\\n    \\\/* Candidature *\\\/\\n    { key:'projet', q:T.q_candid, type:'textarea',\\n      placeholder:T.ph_candid,\\n      cond:function(){ return estMode('write') && estMotif('candidature'); }},\\n\\n    \\\/* Autre motif : on demande de preciser *\\\/\\n    { key:'projet', q:T.q_autre, type:'textarea',\\n      placeholder:T.ph_autre,\\n      cond:function(){ return estMode('write') && estMotif('autre'); }},\\n\\n    \\\/* Coordonn\\u00e9es \\u2014 commun \\u00e0 la branche mail *\\\/\\n    { key:'nom', q:T.q_nom, type:'text', placeholder:T.ph_nom,\\n      cond:function(){ return estMode('write'); }},\\n    { key:'email', q:T.q_email, type:'email', placeholder:T.ph_email,\\n      cond:function(){ return estMode('write'); }},\\n    { key:'tel', q:T.q_tel, type:'tel', placeholder:T.ph_tel,\\n      cond:function(){ return estMode('write'); }},\\n\\n    \\\/* Source \\u2014 pour les deux branches qui aboutissent \\u00e0 un envoi *\\\/\\n    { key:'source', q:T.q_source, options:SOURCES,\\n      cond:function(){ return estMode('write') || estMode('callback'); }},\\n\\n    \\\/* Pr\\u00e9cision demand\\u00e9e uniquement si la source choisie est \\u00ab Autre \\u00bb *\\\/\\n    { key:'source_autre', q:T.q_source_a, type:'text',\\n      placeholder:'Par exemple : un magazine, un salon\\\\u2026', optional:true,\\n      cond:function(){ return state._source === 'autre'; }}\\n  ];\\n\\n  \\\/* ---------- Rendu ---------- *\\\/\\n  function scrollDown(){\\n    \\\/* On ne defile que si le contenu depasse la zone. Sinon on force\\n       le retour en haut : un `scrollTop = scrollHeight` inconditionnel\\n       pousse les premieres bulles hors du champ visible. *\\\/\\n    requestAnimationFrame(function(){\\n      if(body.scrollHeight > body.clientHeight + 4){\\n        body.scrollTop = body.scrollHeight;\\n      } else {\\n        body.scrollTop = 0;\\n      }\\n    });\\n  }\\n\\n  function addBot(text){\\n    var d = document.createElement('div');\\n    d.className = 'ui-msg bot';\\n    d.textContent = text;\\n    body.appendChild(d);\\n    scrollDown();\\n  }\\n\\n  function addUser(text){\\n    var d = document.createElement('div');\\n    d.className = 'ui-msg user';\\n    d.textContent = text;\\n    body.appendChild(d);\\n    scrollDown();\\n  }\\n\\n  var PREMIER_AFFICHAGE = true;\\n\\n  function typing(cb){\\n    \\\/* Premiere question : pas d'attente. Faire patienter quelqu'un qui\\n       vient d'arriver sur une information qu'il n'a pas demandee n'a\\n       aucun sens \\u2014 l'animation ne vaut que pour les reponses suivantes. *\\\/\\n    if(PREMIER_AFFICHAGE){\\n      PREMIER_AFFICHAGE = false;\\n      cb();\\n      return;\\n    }\\n    var t = document.createElement('div');\\n    t.className = 'ui-typing';\\n    t.innerHTML = '<i><\\\/i><i><\\\/i><i><\\\/i>';\\n    body.appendChild(t);\\n    scrollDown();\\n    setTimeout(function(){ t.remove(); cb(); }, 420);\\n  }\\n\\n  function setProgress(){\\n    \\\/* `step` est un index dans FLOW (14 entrees), alors que le parcours\\n       reel n'en retient qu'une partie selon les branches. Diviser l'un\\n       par l'autre faisait bondir la barre. On compte donc les etapes\\n       reellement retenues, avant et apres la position courante. *\\\/\\n    var faites = 0, restantes = 0;\\n    for(var i = 0; i < FLOW.length; i++){\\n      var e = FLOW[i];\\n      if(e.cond && !e.cond()) continue;   \\\/* branche non empruntee *\\\/\\n      if(i < step) faites++; else restantes++;\\n    }\\n    var total = faites + restantes;\\n    prog.style.width = total ? Math.round((faites \\\/ total) * 100) + '%' : '0%';\\n  }\\n\\n  function backButton(){\\n    if(stack.length === 0) return '';\\n    return '<button type=\\\"button\\\" class=\\\"ui-back\\\" id=\\\"uiBack\\\">' +\\n             svg('arrowLeft') + '<span>' + T.btn_retour + '<\\\/span>' +\\n           '<\\\/button>';\\n  }\\n\\n  function bindBack(){\\n    var b = document.getElementById('uiBack');\\n    if(!b) return;\\n    b.addEventListener('click', function(){\\n      var prev = stack.pop();\\n      if(!prev) return;\\n      NB_RETOUR++;\\n      ETAPES.pop();\\n      delete state[prev.key];\\n      \\\/* Revenir sur un choix doit aussi oublier sa cle technique *\\\/\\n      if(prev.key === 'contact_choice')      delete state._mode;\\n      else if(prev.key === 'motif')          delete state._motif;\\n      else if(prev.key === 'callback_moment')delete state._moment;\\n      else if(prev.key === 'source')         delete state._source;\\n      step = prev.step;\\n      \\\/\\\/ Retire tout ce qui a \\u00e9t\\u00e9 affich\\u00e9 depuis cette \\u00e9tape : la r\\u00e9ponse\\n      \\\/\\\/ de l'utilisateur ET la question \\u00e0 laquelle il r\\u00e9pondait.\\n      \\\/\\\/ On coupe le fil \\u00e0 la longueur m\\u00e9moris\\u00e9e au moment de la question.\\n      while(body.children.length > prev.msgs){\\n        body.removeChild(body.lastElementChild);\\n      }\\n      foot.innerHTML = '';\\n      render();\\n    });\\n  }\\n\\n  \\\/* ---------- Validation ---------- *\\\/\\n  function validate(stepDef, value){\\n    if(!value){\\n      return stepDef.optional ? null : T.e_requis;\\n    }\\n    if(stepDef.type === 'email'){\\n      if(!\\\/^[^\\\\s@]+@[^\\\\s@]+\\\\.[^\\\\s@]{2,}$\\\/.test(value)) return T.e_email;\\n    }\\n    if(stepDef.type === 'tel'){\\n      \\\/* On accepte le format francais comme l'international.\\n         Caracteres toler\\u00e9s : chiffres, +, espaces, points, tirets,\\n         parentheses (ex. +33 (0)6 12 34 56 78, +1 (555) 123-4567). *\\\/\\n      if(!\\\/^[+()\\\\d\\\\s.\\\\-]+$\\\/.test(value)) return T.e_tel_car;\\n      var digits = value.replace(\\\/\\\\D\\\/g,'');\\n      \\\/* 8 chiffres minimum : certains pays ont des numeros courts.\\n         15 maximum : limite de la norme E.164. *\\\/\\n      if(digits.length < 8)  return T.e_tel_court;\\n      if(digits.length > 15) return T.e_tel_long;\\n    }\\n    return null;\\n  }\\n\\n  function formatTel(v){\\n    \\\/* Un numero international (commence par + ou 00) est laisse tel quel :\\n       les regroupements de chiffres varient d'un pays a l'autre, on ne\\n       peut pas les deviner sans se tromper. On se contente de nettoyer\\n       les caracteres interdits. *\\\/\\n    if(\\\/^\\\\s*(\\\\+|00)\\\/.test(v)) return v.replace(\\\/[^+()\\\\d\\\\s.\\\\-]\\\/g,'');\\n\\n    \\\/* Format francais : groupes de 2, uniquement si la saisie est\\n       purement numerique (sinon on laisse l'utilisateur libre). *\\\/\\n    if(\\\/^[\\\\d\\\\s]*$\\\/.test(v)){\\n      var d = v.replace(\\\/\\\\D\\\/g,'').slice(0,10);\\n      return d.replace(\\\/(\\\\d{2})(?=\\\\d)\\\/g,'$1 ').trim();\\n    }\\n    return v.replace(\\\/[^+()\\\\d\\\\s.\\\\-]\\\/g,'');\\n  }\\n\\n  \\\/* ---------- Moteur ---------- *\\\/\\n  function nextStep(){\\n    while(step < FLOW.length){\\n      var s = FLOW[step];\\n      if(!s.cond || s.cond()) return s;\\n      step++;\\n    }\\n    return null;\\n  }\\n\\n  function render(){\\n    setProgress();\\n    var s = nextStep();\\n\\n    if(!s){ success(); return; }\\n\\n    \\\/* \\u00c9cran t\\u00e9l\\u00e9phone \\u2014 pas de question, on affiche le num\\u00e9ro *\\\/\\n    if(s.type === 'phone'){\\n      \\\/* L'ecran du numero s'affiche = la personne a choisi \\\"Nous appeler\\\".\\n         Sur desktop\\\/tablette, c'est la seule conversion mesurable :\\n         le visiteur lit le numero et compose sur son telephone. *\\\/\\n      track('chatbot_nous_appeler', {\\n        numero_affiche: PHONE_DISPLAY,\\n        duree_secondes: Math.round((Date.now() - T0) \\\/ 1000)\\n      });\\n      \\\/* Alerte a l'agence : quelqu'un va probablement appeler *\\\/\\n      envoyerAuServeur({contact_choice:'Nous appeler'}, 'nous_appeler');\\n\\n      \\\/* La phrase d'abord, le numero ensuite : poser le bouton tout de\\n         suite le ferait apparaitre AVANT le message qui l'annonce. *\\\/\\n      foot.innerHTML = '';\\n\\n      typing(function(){\\n        addBot(T.q_tel_intro);\\n\\n        foot.innerHTML =\\n          '<div class=\\\"ui-phone\\\">' +\\n            '<a href=\\\"tel:' + PHONE_LINK + '\\\" id=\\\"uiCall\\\">' +\\n              '<span>' + PHONE_DISPLAY + '<\\\/span>' +\\n            '<\\\/a>' +\\n          '<\\\/div>' + backButton();\\n        bindBack();\\n\\n        \\\/* Clic sur le numero = appel reellement lance (surtout mobile). *\\\/\\n        var lien = document.getElementById('uiCall');\\n        if(lien) lien.addEventListener('click', function(){\\n          track('chatbot_clic_telephone', {\\n            numero_appele:  PHONE_LINK,\\n            duree_secondes: Math.round((Date.now() - T0) \\\/ 1000)\\n          });\\n        });\\n      });\\n      return;\\n    }\\n\\n    typing(function(){\\n      \\\/\\\/ Longueur du fil AVANT d'afficher la question : c'est le point de\\n      \\\/\\\/ d\\u00e9coupe si l'utilisateur revient en arri\\u00e8re.\\n      var msgsAtAsk = body.children.length;\\n      if(s.q) addBot(s.q);\\n\\n      \\\/* \\u00c9tape \\u00e0 choix *\\\/\\n      if(s.options){\\n        var html = '<div class=\\\"ui-options\\\">';\\n        s.options.forEach(function(o){\\n          html += '<button type=\\\"button\\\" class=\\\"ui-opt\\\" data-v=\\\"' + o.v + '\\\"' +\\n                  (o.k ? ' data-k=\\\"' + o.k + '\\\"' : '') + '>' +\\n                    '<span class=\\\"ui-opt-icon\\\">' + svg(o.icon) + '<\\\/span>' +\\n                    '<span>' + o.v + '<\\\/span>' +\\n                  '<\\\/button>';\\n        });\\n        html += '<\\\/div>' + backButton();\\n        foot.innerHTML = html;\\n        bindBack();\\n\\n        foot.querySelectorAll('.ui-opt').forEach(function(btn){\\n          btn.addEventListener('click', function(){\\n            var v = btn.getAttribute('data-v');\\n            var k = btn.getAttribute('data-k');\\n            stack.push({key:s.key, step:step, msgs:msgsAtAsk}); ETAPES.push(s.key);\\n            state[s.key] = v;\\n            \\\/* Les cles techniques pilotent le parcours ET le serveur ;\\n               le libelle traduit ne sert qu'a l'affichage. *\\\/\\n            if(k){\\n              if(s.key === 'contact_choice')      state._mode   = k;\\n              else if(s.key === 'motif')          state._motif  = k;\\n              else if(s.key === 'callback_moment')state._moment = k;\\n              else if(s.key === 'source')         state._source = k;\\n            }\\n            addUser(v);\\n            step++;\\n            foot.innerHTML = '';\\n            render();\\n          });\\n        });\\n        return;\\n      }\\n\\n      \\\/* \\u00c9tape \\u00e0 saisie *\\\/\\n      var isArea = s.type === 'textarea';\\n      \\\/* Attributs mobiles : clavier adapte, pas de correction parasite.\\n         inputmode pilote le clavier virtuel, enterkeyhint le libelle\\n         de la touche entree. autocapitalize=off sur email\\\/tel evite\\n         la majuscule automatique d'iOS. *\\\/\\n      var kb = s.type === 'tel'   ? {t:'tel',   im:'tel',   ac:'tel',   cap:'off',       nm:'tel'}\\n             : s.type === 'email' ? {t:'email', im:'email', ac:'email', cap:'off',       nm:'email'}\\n             : {t:'text', im:'text', ac:'name', cap:'sentences', nm:'name'};\\n\\n      \\\/* Le champ ville a son propre `autocomplete` : Chrome propose\\n         alors les villes deja saisies, pas le nom de la personne. *\\\/\\n      if(s.key === 'ville'){ kb.ac = 'address-level2'; kb.nm = 'city'; }\\n\\n      var field  = isArea\\n        ? '<textarea class=\\\"ui-textarea\\\" id=\\\"uiInput\\\" name=\\\"message\\\" rows=\\\"3\\\" ' +\\n          'placeholder=\\\"' + (s.placeholder||'') + '\\\" ' +\\n          'autocapitalize=\\\"sentences\\\" autocorrect=\\\"on\\\" spellcheck=\\\"true\\\"><\\\/textarea>'\\n        : '<input type=\\\"' + kb.t + '\\\" class=\\\"ui-input\\\" id=\\\"uiInput\\\" ' +\\n          'name=\\\"' + kb.nm + '\\\" ' +\\n          'placeholder=\\\"' + (s.placeholder||'') + '\\\" ' +\\n          'inputmode=\\\"' + kb.im + '\\\" autocomplete=\\\"' + kb.ac + '\\\" ' +\\n          'autocapitalize=\\\"' + kb.cap + '\\\" ' +\\n          (kb.t === 'email' ? 'autocorrect=\\\"off\\\" spellcheck=\\\"false\\\" ' : '') +\\n          'enterkeyhint=\\\"next\\\">';\\n\\n      \\\/* Enveloppe indispensable a la regle anti-zoom iOS : la BOITE garde\\n         la largeur reelle (c'est elle qui dialogue avec le flex), et le\\n         champ s'agrandit dedans sans pousser le bouton. *\\\/\\n      if(!isArea) field = '<span class=\\\"ui-champ\\\">' + field + '<\\\/span>';\\n\\n      foot.innerHTML =\\n        '<form class=\\\"ui-form-el\\\" autocomplete=\\\"on\\\" onsubmit=\\\"return false\\\">' +\\n        '<div class=\\\"ui-field' + (isArea ? ' ui-col' : '') + '\\\">' +\\n          field +\\n          '<button type=\\\"button\\\" class=\\\"ui-send\\\" id=\\\"uiSend\\\" aria-label=\\\"' + T.lbl_valider + '\\\">' +\\n            (isArea ? '<span>' + T.btn_continuer + '<\\\/span>' : svg('send')) +\\n          '<\\\/button>' +\\n        '<\\\/div>' +\\n        '<\\\/form>' +\\n        (s.optional ? '<div class=\\\"ui-skip-row\\\"><button type=\\\"button\\\" class=\\\"ui-back ui-skip\\\" id=\\\"uiSkip\\\">' + T.btn_passer + '<\\\/button><\\\/div>' : '') +\\n        '<p class=\\\"ui-error\\\" id=\\\"uiErr\\\" hidden><\\\/p>' +\\n        backButton();\\n      bindBack();\\n\\n      var input = document.getElementById('uiInput');\\n      var err   = document.getElementById('uiErr');\\n      \\\/* Pas d'autofocus sur mobile : le clavier surgirait et masquerait\\n         la question qu'on vient d'afficher. *\\\/\\n      if(!matchMedia('(max-width:520px)').matches) input.focus();\\n\\n      if(s.type === 'tel'){\\n        input.addEventListener('input', function(){ input.value = formatTel(input.value); });\\n      }\\n\\n      \\\/* Zone de texte auto-extensible : elle grandit avec le contenu\\n         jusqu'a max-height, puis defile. On remet la hauteur a zero\\n         avant de lire scrollHeight, sinon elle ne redescend jamais. *\\\/\\n      if(isArea){\\n        var MIN_LINES = 3;   \\\/* hauteur au repos *\\\/\\n        var MAX_LINES = 5;   \\\/* au-dela, la zone defile *\\\/\\n        var manuel = false;  \\\/* passe a true des que l'utilisateur etire *\\\/\\n\\n        var metrics = function(){\\n          var cs   = getComputedStyle(input);\\n          var line = parseFloat(cs.lineHeight) || 22;\\n          var pad  = parseFloat(cs.paddingTop) + parseFloat(cs.paddingBottom);\\n          var brd  = parseFloat(cs.borderTopWidth) + parseFloat(cs.borderBottomWidth);\\n          return {\\n            min: Math.round(line * MIN_LINES + pad + brd),\\n            max: Math.round(line * MAX_LINES + pad + brd),\\n            brd: brd\\n          };\\n        };\\n\\n        var grow = function(){\\n          if(manuel) return;              \\\/* l'utilisateur a repris la main *\\\/\\n          var m = metrics();\\n          input.style.height = 'auto';    \\\/* obligatoire : sinon scrollHeight ne redescend jamais *\\\/\\n          var need = input.scrollHeight + m.brd;\\n          input.style.height = Math.max(m.min, Math.min(need, m.max)) + 'px';\\n        };\\n\\n        \\\/* Detection du drag sur la poignee : le navigateur ne l'expose pas,\\n           on le deduit d'un pointerdown dans le coin bas-droit (~22px). *\\\/\\n        input.addEventListener('pointerdown', function(ev){\\n          var r = input.getBoundingClientRect();\\n          if(ev.clientX > r.right - 22 && ev.clientY > r.bottom - 22){\\n            manuel = true;                \\\/* on lache la main definitivement *\\\/\\n          }\\n        });\\n\\n        input.addEventListener('input', grow);\\n        grow();\\n        requestAnimationFrame(grow);\\n      }\\n\\n      function submit(){\\n        var v = input.value.trim();\\n        var e = validate(s, v);\\n        if(e){ err.textContent = e; err.hidden = false; input.focus(); return; }\\n        stack.push({key:s.key, step:step, msgs:msgsAtAsk}); ETAPES.push(s.key);\\n        state[s.key] = v;\\n        addUser(v || T.non_comm);\\n        step++;\\n        foot.innerHTML = '';\\n        render();\\n      }\\n\\n      document.getElementById('uiSend').addEventListener('click', submit);\\n      input.addEventListener('keydown', function(ev){\\n        if(ev.key === 'Enter' && (!isArea || ev.metaKey || ev.ctrlKey)){\\n          ev.preventDefault(); submit();\\n        }\\n      });\\n\\n      var skip = document.getElementById('uiSkip');\\n      if(skip) skip.addEventListener('click', function(){\\n        stack.push({key:s.key, step:step, msgs:msgsAtAsk}); ETAPES.push(s.key);\\n        state[s.key] = '';\\n        addUser(T.non_comm);\\n        step++;\\n        foot.innerHTML = '';\\n        render();\\n      });\\n    });\\n  }\\n\\n  \\\/* Envoi vers l'API WordPress. Silencieux par construction. *\\\/\\n  function envoyerAuServeur(donnees, evenement){\\n    var url = (window.UNIQUE_FORM_API || '') + 'submit';\\n    if(!window.UNIQUE_FORM_API) return;   \\\/* hors WordPress : on ne poste pas *\\\/\\n\\n    var charge = {};\\n    for(var k in donnees){ if(donnees.hasOwnProperty(k) && k.charAt(0) !== '_') charge[k] = donnees[k]; }\\n    \\\/* Cles techniques + langue : le serveur ne doit jamais dependre\\n       d'un libelle traduit pour choisir un modele d'email. *\\\/\\n    charge.k_mode      = donnees._mode   || '';\\n    charge.k_motif     = donnees._motif  || '';\\n    charge.k_moment    = donnees._moment || '';\\n    charge.k_source    = donnees._source || '';\\n    charge.langue      = LANG;\\n    \\\/* Contexte : le modele d'email attend `device_type`. Sans cette\\n       ligne il affichait \\u00ab inconnu \\u00bb, car `contexte()` n'etait\\n       applique que dans track(), pas dans l'envoi serveur. *\\\/\\n    var ctx = contexte();\\n    for(var c in ctx){ if(ctx.hasOwnProperty(c) && !(c in charge)) charge[c] = ctx[c]; }\\n    charge.evenement   = evenement || 'formulaire';\\n    charge.page_url    = location.href;\\n    charge.jeton       = window.UNIQUE_FORM_TS || '';\\n    charge.duree       = Math.round((Date.now() - T0) \\\/ 1000);\\n    \\\/* Les pots de miel repartent au serveur : double controle *\\\/\\n    charge.hp_firstname = (document.getElementById('hpFirstname')||{}).value || '';\\n    charge.hp_city      = (document.getElementById('hpCity')||{}).value || '';\\n    charge.hp_website   = (document.getElementById('hpWebsite')||{}).value || '';\\n    charge.hp_company   = (document.getElementById('hpCompany')||{}).value || '';\\n\\n    try{\\n      fetch(url, {\\n        method:'POST',\\n        headers:{'Content-Type':'application\\\/json'},\\n        body: JSON.stringify(charge),\\n        keepalive: true          \\\/* survit a une navigation immediate *\\\/\\n      }).catch(function(){});\\n    }catch(e){}\\n  }\\n\\n  \\\/* ---------- Fin ---------- *\\\/\\n  function success(){\\n    prog.style.width = '100%';\\n    foot.innerHTML =\\n      '<div class=\\\"ui-done\\\">' +\\n        '<div class=\\\"ui-done-icon\\\">' + svg('check') + '<\\\/div>' +\\n        '<h3>' + T.f_titre + '<\\\/h3>' +\\n        '<p>' + T.f_texte + '<\\\/p>' +\\n      '<\\\/div>';\\n\\n    \\\/* Conversion reelle : le parcours est alle jusqu'au bout.\\n       On distingue les deux formulaires, leur valeur commerciale differe. *\\\/\\n    \\\/* ---- Barrage anti-spam ----\\n       Un rejet est SILENCIEUX : meme ecran de confirmation, mais\\n       aucun envoi serveur et aucun evenement de conversion. Un robot\\n       ne doit pas pouvoir deduire ce qui l'a trahi. *\\\/\\n    var motifRejet = verdictAntiSpam();\\n    if(motifRejet){\\n      state._spam = motifRejet;\\n      typing(function(){\\n        addBot('Parfait, nous avons tout ce qu\\\\u2019il nous faut. Merci !');\\n        if(window.console && console.debug) console.debug('[anti-spam] rejet :', motifRejet);\\n      });\\n      return;   \\\/* ni track(), ni envoi serveur *\\\/\\n    }\\n\\n    \\\/* Parametres communs aux deux conversions *\\\/\\n    var infos = parcours();\\n    infos.motif       = state.motif  || '';\\n    infos.source      = state.source || '';\\n    infos.source_autre= state.source_autre || '';\\n    infos.ville       = state.ville  || '';\\n    \\\/* Longueur du message : un indicateur de la qualite de la demande *\\\/\\n    infos.longueur_message = (state.projet || '').length;\\n    infos.tel_fourni  = state.tel ? 'oui' : 'non';\\n\\n    if(estMode('callback')){\\n      track('chatbot_etre_recontacte', infos);\\n    } else if(estMode('write')){\\n      track('chatbot_demande_projet', infos);\\n    }\\n\\n    \\\/* Envoi serveur : le handler PHP valide a nouveau, enregistre\\n       et expedie les emails. Le visiteur ne voit jamais d'erreur : si\\n       le reseau tombe, sa demande est perdue mais l'ecran reste stable\\n       \\u2014 mieux vaut ca qu'un message d'erreur anxiogene apres coup. *\\\/\\n    envoyerAuServeur(state);\\n\\n    typing(function(){\\n      addBot(T.f_bot);\\n    });\\n  }\\n\\n  \\\/* ---------- D\\u00e9marrage ---------- *\\\/\\n  \\\/* En-tete : traduit au montage plutot qu'en dur dans le HTML *\\\/\\n  var _ht = document.getElementById('uiHeadTitle');\\n  var _hs = document.getElementById('uiHeadSub');\\n  if(_ht) _ht.textContent = T.h_titre;\\n  if(_hs) _hs.textContent = T.h_sous;\\n\\n  render();\\n})();\\n\";\n\t\tvar fn = new Function('document', 'shadowRoot', code);\n\t\tfn({\n\t\t\tgetElementById:   function(id){ return racine.getElementById ? racine.getElementById(id) : racine.querySelector('#'+id); },\n\t\t\tquerySelector:    function(s){ return racine.querySelector(s); },\n\t\t\tquerySelectorAll: function(s){ return racine.querySelectorAll(s); },\n\t\t\tcreateElement:    function(t){ return window.document.createElement(t); },\n\t\t\tdocumentElement:  window.document.documentElement,\n\t\t\tactiveElement:    null,\n\t\t\ttitle:            window.document.title,\n\t\t\treferrer:         window.document.referrer,\n\t\t\taddEventListener: function(){},\n\t\t\tbody:             conteneur\n\t\t}, racine);\n\t})();\n\t<\/script>\n\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Contact us Write to us! Share your story and your project, regardless of its size or location. We operate throughout France, and even internationally, to design unique and customized interiors. Tell us about your project, and we will contact you promptly to bring your ideas to life and create a space that reflects you. At [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":16,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-13098","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/unique-interieur.com\/en\/wp-json\/wp\/v2\/pages\/13098","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unique-interieur.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/unique-interieur.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/unique-interieur.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unique-interieur.com\/en\/wp-json\/wp\/v2\/comments?post=13098"}],"version-history":[{"count":0,"href":"https:\/\/unique-interieur.com\/en\/wp-json\/wp\/v2\/pages\/13098\/revisions"}],"wp:attachment":[{"href":"https:\/\/unique-interieur.com\/en\/wp-json\/wp\/v2\/media?parent=13098"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}