{"id":233,"date":"2026-03-22T21:32:53","date_gmt":"2026-03-22T21:32:53","guid":{"rendered":"https:\/\/archiprojeckt.club\/?page_id=233"},"modified":"2026-05-03T12:18:57","modified_gmt":"2026-05-03T12:18:57","slug":"233-2","status":"publish","type":"page","link":"https:\/\/archiprojeckt.club\/index.php\/233-2\/","title":{"rendered":"\u0424\u043e\u0440\u043c\u0443\u0432\u0430\u043d\u043d\u044f \u0422\u0417"},"content":{"rendered":"\n<h2 class=\"wp-block-heading alignwide\" style=\"border-style:none;border-width:0px;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0\"><style>@media (max-width:768px){#cp_calculatedfieldsf_pform_1{min-height:3703px;}}@media (min-width:1024px){#cp_calculatedfieldsf_pform_1{min-height:3140px;}}<\/style>\t<pre style=\"display:none !important;\"><script data-category=\"functional\" type=\"text\/javascript\">\r\n\t function doValidate_1(form, validation_only)\r\n\t {\r\n\t\tvalidation_only = validation_only || false;\r\n        window['cff_enabling_form' ] = function(_form){\r\n            if(!(_form instanceof $dexQuery)) _form = $dexQuery(_form);\r\n            _form.validate().settings.ignore = '.ignore,.ignorepb';\r\n            _form.removeData('being-submitted');\r\n            _form.find('.submitbtn-disabled').removeClass('submitbtn-disabled').prop('disabled', false);\r\n            _form.find('.cff-processing-form').remove();\r\n        };\r\n        window['cff_disabling_form'] = function(_form){\r\n            if(!(_form instanceof $dexQuery)) _form = $dexQuery(_form);\r\n            if(cff_form_disabled(_form)) return;\r\n            _form.find('.pbSubmit,:submit').addClass('submitbtn-disabled').prop('disabled', true);\r\n            _form.data('being-submitted',1);\r\n            var d = document.createElement('div');\r\n            $dexQuery(d).addClass('cff-processing-form').appendTo(_form.find('#fbuilder'));\r\n        };\r\n        window['cff_form_disabled' ] = function(_form){\r\n            if(!(_form instanceof $dexQuery)) _form = $dexQuery(_form);\r\n            return ('undefined' != typeof _form.data('being-submitted'));\r\n        };\r\n\t\tvar form_identifier =  '_1';\r\n\t\tif(typeof cpcff_validation_rules == 'undefined') cpcff_validation_rules = {};\r\n\t\tif(typeof cpcff_validation_rules[form_identifier] == 'undefined') cpcff_validation_rules[form_identifier] = {};\r\n\t\tvar $dexQuery = (fbuilderjQuery) ? fbuilderjQuery : jQuery.noConflict(),\r\n\t\t\t_form = $dexQuery(\"#cp_calculatedfieldsf_pform\"+form_identifier),\r\n\t\t\tform_disabled = function(){cff_form_disabled(_form);},\r\n\t\t\tdisabling_form = function(){cff_disabling_form(_form);},\r\n\t\t\tenabling_form = function(){cff_enabling_form(_form);};\r\n\t\tif(form_disabled()) return false;\r\n\t\t_form.find('[max=\"\"]').removeAttr('max');\r\n\t\t_form.find('[min=\"\"]').removeAttr('min');\r\n\t\t_form.find('[step=\"\"]').removeAttr('step');\r\n\t\t_form.validate().settings.ignore = '.ignore';\r\n\t\tvar\tcpefb_error = !_form.validate().checkForm();\r\n\t\tvar\tvalidation_rules = cpcff_validation_rules[form_identifier],\r\n\t\t\tprocessing_form = function()\r\n\t\t\t{\r\n                \t\t\t\tfor(var rule in validation_rules)\r\n\t\t\t\t{\r\n\t\t\t\t\tif(!validation_rules[rule]) {\r\n\t\t\t\t\t\t$dexQuery(form).trigger('cff-form-validation', false);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ( validation_only ) {\r\n\t\t\t\t\t$dexQuery(form).trigger('cff-form-validation', true);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t_form.find(\"[name$='_date'][type='hidden']\").each(function(){\r\n\t\t\t\t\tvar v  \t = $dexQuery(this).val(),\r\n\t\t\t\t\t\tname = $dexQuery(this).attr( 'name' ).replace('_date', ''),\r\n\t\t\t\t\t\te \t = $dexQuery(\"[name='\"+name+\"']\");\r\n\t\t\t\t\t\tif( e.length && ! $dexQuery(\"[id='\"+name+\"_datepicker_container']\").length ){ e.val( String( e.val().replace( v, '' ) ).trim() ); }\r\n\t\t\t\t});\r\n\t\t\t\t_form.find(\"select option[vt]\").each(function(){\r\n                    var e = $dexQuery(this);\r\n                    e.attr('cff-val-bk', e.val()).val(cff_sanitize(e.attr(\"vt\"), true));\r\n\t\t\t\t});\r\n\t\t\t\t_form.find(\"input[vt]\").each(function(){\r\n                    var e = $dexQuery(this),\r\n\t\t\t\t\t\tq = $dexQuery('[id=\"'+e.attr('id')+'_quantity\"]');\r\n                    e.attr('cff-val-bk', e.val()).val(cff_sanitize(e.attr(\"vt\"), true)+(q.length ? ' ('+Math.max(1, q.val())+')' : ''));\r\n\t\t\t\t});\r\n\t\t\t\t_form.find('.cpcff-recordset,.cff-exclude :input,[id^=\"form_structure_\"]')\r\n\t\t\t\t.add(_form.find( '.ignore' )).attr('cff-disabled', 1).prop('disabled', true);\r\n\t\t\t\tdisabling_form();\r\n\t\t\t\t\t\t\t\tif ( _form.attr( 'target' ) == undefined && window.self !== window.top ) {\r\n\t\t\t\t\t_form.attr( 'target', '_top' );\r\n\t\t\t\t}\r\n\t\t\t\tif ( _form.attr( 'target' ) != undefined && NOT( IN( _form.attr( 'target' ).toLowerCase(), [ '_blank', '_self', '_top', '' ] ) ) ) {\r\n\t\t\t\t\t$dexQuery('[name=\"'+_form.prop( 'target' )+'\"]').one('load', function(){\r\n\t\t\t\t\t\t_form.find('[cff-val-bk]').each(function(){\r\n\t\t\t\t\t\t\tvar e = $dexQuery(this);\r\n\t\t\t\t\t\t\te.val(e.attr('cff-val-bk')).removeAttr('cff-val-bk');\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t_form.find('[cff-disabled]').prop('disabled', false).removeAttr('cff-disabled');\r\n\t\t\t\t\t\tif(!\/^(\\s*|_self|_top|_parent)$\/i.test(_form.prop('target'))) {\r\n\t\t\t\t\t\t\tenabling_form();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$dexQuery(document).trigger('cff-form-submitted', _form);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n                if('nativeSubmit' in _form[ 0 ]) _form[ 0 ].nativeSubmit();\r\n\t\t\t\telse _form[ 0 ].submit();\r\n\t\t\t};\r\n\t\ttry{\r\n\t\t\t_form.find('[name=\"cp_ref_page\"]').val(parent.window.document.location.href);\r\n\t\t} catch (err) {\r\n\t\t\t_form.find('[name=\"cp_ref_page\"]').val(document.location.href);\r\n\t\t}\r\n\t\tvalidation_rules['fields_validation_error'] = (cpefb_error==0);\r\n        \/* 1: Do not submit if the equations are being evaluated *\/\r\n        validation_rules['no_pending'] = (!(form_identifier in $dexQuery.fbuilder.calculator.processing_queue) || !$dexQuery.fbuilder.calculator.processing_queue[form_identifier]) && !$dexQuery.fbuilder.calculator.thereIsPending(form_identifier);\r\n\t\tif(!validation_rules['no_pending'])\r\n\t\t{\r\n\t\t\t$dexQuery(document).on('equationsQueueEmpty', function(evt, formId){\r\n\t\t\t\tif(formId == form_identifier)\r\n\t\t\t\t{\r\n\t\t\t\t\t$dexQuery(document).off('equationsQueueEmpty');\r\n\t\t\t\t\tvalidation_rules['no_pending']  = true;\r\n\t\t\t\t\tprocessing_form();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\t\/* End :1 *\/\r\n\t\tif (validation_rules['fields_validation_error'])\r\n\t\t{\r\n\t\t  if (_form.find('[id^=\"hdcaptcha_cp_calculated_fields_form_post_\"]').val() == '')\r\n\t\t\t{\r\n\t\t\t\t$dexQuery(form).trigger('cff-form-validation', false);\r\n\t\t\t\talert('Please enter the captcha verification code.');\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tdisabling_form();\r\n\t\t\tvalidation_rules['captcha'] = false;\r\n\t\t\t$dexQuery.ajax({\r\n\t\t\t\ttype: \"GET\",\r\n\t\t\t\turl:  _form.prop('action').replace(\/\\?$\/g, ''),\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tps: form_identifier,\r\n\t\t\t\t\thdcaptcha_cp_calculated_fields_form_post: _form.find('[id^=\"hdcaptcha_cp_calculated_fields_form_post_\"]').val(),\r\n\t\t\t\t\tcp_calculatedfieldsf_id: _form.find('[name=\"cp_calculatedfieldsf_id\"]').val(),\r\n\t\t\t\t\tno_cache: Date.now()\r\n\t\t\t\t},\r\n\t\t\t\tsuccess:function(result){\r\n\t\t\t\t\tenabling_form();\r\n\t\t\t\t\tif (result == \"captchafailed\")\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t_form.find('[id^=\"captchaimg_\"]').attr('src', _form.find('[id^=\"captchaimg_\"]').attr('src')+'&'+Date());\r\n\t\t\t\t\t\t$dexQuery(form).trigger('cff-form-validation', false);\r\n\t\t\t\t\t\talert('Incorrect captcha code. Please try again.');\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalidation_rules['captcha'] = true;\r\n\t\t\t\t\t\tprocessing_form();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t\t}\r\n\t\telse\r\n\t\t{\r\n            _form.valid();\r\n            var page = $dexQuery('.cpefb_error:not(.message):not(.ignore):eq(0)').closest('.pbreak').attr('page')*1;\r\n            gotopage(page, _form);\r\n\t\t\t$dexQuery(form).trigger('cff-form-validation', false);\r\n\t\t\tenabling_form();\r\n\t\t\tsetTimeout(function(){$dexQuery.fbuilder.openErrorDlg(_form);},50);\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\t<\/script><\/pre>\r\n\t<form name=\"cp_calculatedfieldsf_pform_1\" id=\"cp_calculatedfieldsf_pform_1\" action=\"https:\/\/archiprojeckt.club\/index.php\/233-2\/\" method=\"post\" enctype=\"multipart\/form-data\" onsubmit=\"return doValidate_1(this);\" class=\"cff-form no-prefetch  cff-form-6 cp_cff_17\"  dir=\"ltr\" data-nonce=\"8e302331c9\">\r\n\t\t\t<input type=\"hidden\" name=\"cp_calculatedfieldsf_pform_psequence\" value=\"_1\" \/><input type=\"hidden\" name=\"cp_calculatedfieldsf_pform_process\" value=\"1\" \/><input type=\"hidden\" name=\"cp_calculatedfieldsf_id\" value=\"6\" \/><input type=\"hidden\" name=\"cp_ref_page\" value=\"https:\/\/archiprojeckt.club\" \/><pre style=\"display:none !important;\"><script data-category=\"functional\" type=\"text\/javascript\">form_structure_1=[[{\"form_identifier\":\"\",\"name\":\"fieldname6\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":0,\"ftype\":\"fCommentArea\",\"userhelp\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u0456 \\u0432\\u0456\\u0434\\u043e\\u043c\\u043e\\u0441\\u0442\\u0456\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"title\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u0456 \\u0432\\u0456\\u0434\\u043e\\u043c\\u043e\\u0441\\u0442\\u0456\",\"fBuild\":{},\"parent\":\"\"},{\"form_identifier\":\"\",\"name\":\"fieldname69\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":1,\"ftype\":\"fhtml\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}}}},\"_developerNotes\":\"\",\"allowscript\":1,\"replaceShortcodes\":0,\"fcontent\":\"\\u003Clink rel=\\u0022stylesheet\\u0022 href=\\u0022https:\\\/\\\/unpkg.com\\\/leaflet\\\/dist\\\/leaflet.css\\u0022\\u003E\\n\\n\\u003Cdiv id=\\u0022myMap\\u0022 style=\\u0022height:460px;border-radius:14px;\\u0022\\u003E\\u003C\\\/div\\u003E\\n\\n\\u003Cdiv style=\\u0022margin-top:10px;font-size:14px;\\u0022\\u003E\\n\\u041d\\u0430\\u0442\\u0438\\u0441\\u043d\\u0456\\u0442\\u044c \\u043d\\u0430 \\u043a\\u0430\\u0440\\u0442\\u0443 \\u0434\\u043b\\u044f \\u0432\\u0438\\u0431\\u043e\\u0440\\u0443 \\u0434\\u0456\\u043b\\u044f\\u043d\\u043a\\u0438\\n\\u003C\\\/div\\u003E\\n\\n\\u003Cscript src=\\u0022https:\\\/\\\/unpkg.com\\\/leaflet\\\/dist\\\/leaflet.js\\u0022\\u003E\\u003C\\\/script\\u003E\\n\\n\\u003Cscript\\u003E\\n(function(){\\n\\nfunction initMyMap(){\\n\\n   if(window.myCustomMapLoaded) return;\\n   window.myCustomMapLoaded = true;\\n\\n   const map = L.map('myMap').setView([49.00, 18.00], 16);\\n\\n   \\\/\\\/ \\u0441\\u043f\\u0443\\u0442\\u043d\\u0438\\u043a\\n   const sat = L.tileLayer(\\n     'https:\\\/\\\/server.arcgisonline.com\\\/ArcGIS\\\/rest\\\/services\\\/World_Imagery\\\/MapServer\\\/tile\\\/{z}\\\/{y}\\\/{x}',\\n     { maxZoom: 19 }\\n   ).addTo(map);\\n\\n   \\\/\\\/ \\u043f\\u0456\\u0434\\u043f\\u0438\\u0441\\u0438\\n   const labels = L.tileLayer(\\n     'https:\\\/\\\/services.arcgisonline.com\\\/ArcGIS\\\/rest\\\/services\\\/Reference\\\/World_Boundaries_and_Places\\\/MapServer\\\/tile\\\/{z}\\\/{y}\\\/{x}',\\n     { maxZoom: 19 }\\n   ).addTo(map);\\n\\n   let marker;\\n\\n   map.on(\\u0022click\\u0022, function(e){\\n\\n      const lat = e.latlng.lat.toFixed(6);\\n      const lon = e.latlng.lng.toFixed(6);\\n\\n      if(marker) map.removeLayer(marker);\\n      marker = L.marker([lat, lon]).addTo(map);\\n\\n      \\\/\\\/ \\u0437\\u0430\\u043f\\u0438\\u0441 \\u0443 CFF \\u043f\\u043e\\u043b\\u044f\\n      const latField = document.querySelector(\\u0022.gis-lat-master input, .gis-lat-master\\u0022);\\n      const lonField = document.querySelector(\\u0022.gis-lon-master input, .gis-lon-master\\u0022);\\n\\n      if(latField){\\n         latField.value = lat;\\n         latField.dispatchEvent(new Event(\\u0022input\\u0022,{bubbles:true}));\\n         latField.dispatchEvent(new Event(\\u0022change\\u0022,{bubbles:true}));\\n      }\\n\\n      if(lonField){\\n         lonField.value = lon;\\n         lonField.dispatchEvent(new Event(\\u0022input\\u0022,{bubbles:true}));\\n         lonField.dispatchEvent(new Event(\\u0022change\\u0022,{bubbles:true}));\\n      }\\n\\n      console.log(\\u0022coords:\\u0022, lat, lon);\\n\\n      \\\/\\\/ \\u0430\\u0432\\u0442\\u043e\\u0437\\u0430\\u043f\\u0443\\u0441\\u043a lookup\\n      const btn = document.querySelector(\\u0022.gis-fetch-btn button, .gis-fetch-btn\\u0022);\\n      if(btn) btn.click();\\n\\n   });\\n\\n}\\n\\nsetTimeout(initMyMap,800);\\n\\n})();\\n\\u003C\\\/script\\u003E\",\"fBuild\":{},\"parent\":\"\"},{\"form_identifier\":\"\",\"name\":\"fieldname70\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":2,\"ftype\":\"fhtml\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":true,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}}}},\"_developerNotes\":\"\\u0412\\u0438\\u0442\\u044f\\u0433\\u0443\\u0454 \\u043a\\u043e\\u0440\\u0434\\u0438\\u043d\\u0430\\u0442\\u0438\",\"allowscript\":1,\"replaceShortcodes\":0,\"fcontent\":\"\\u003Cscript\\u003E\\n(function(){\\n\\nfunction getRealInput(className){\\n\\n   let el = document.querySelector(\\u0022.\\u0022 + className);\\n\\n   if(!el) return null;\\n\\n   if(el.matches(\\u0022input,textarea,select\\u0022)) return el;\\n\\n   let inner = el.querySelector(\\u0022input,textarea,select\\u0022);\\n\\n   if(inner) return inner;\\n\\n   return null;\\n}\\n\\nconst oldLog = console.log;\\n\\nconsole.log = function(...args){\\n\\n   oldLog.apply(console,args);\\n\\n   const txt = args.join(\\u0022 \\u0022);\\n\\n   if(txt.includes(\\u0022coords:\\u0022)){\\n\\n      const match = txt.match(\\\/coords:\\\\s*([0-9\\\\.\\\\-]+)\\\\s+([0-9\\\\.\\\\-]+)\\\/i);\\n\\n      if(match){\\n\\n         const lat = match[1];\\n         const lon = match[2];\\n\\n         const latField = getRealInput(\\u0022gis-lat-master\\u0022);\\n         const lonField = getRealInput(\\u0022gis-lon-master\\u0022);\\n\\n         console.log(\\u0022LAT FIELD =\\u0022, latField);\\n         console.log(\\u0022LON FIELD =\\u0022, lonField);\\n\\n         if(latField){\\n            latField.value = lat;\\n            latField.dispatchEvent(new Event(\\u0022input\\u0022,{bubbles:true}));\\n            latField.dispatchEvent(new Event(\\u0022change\\u0022,{bubbles:true}));\\n         }\\n\\n         if(lonField){\\n            lonField.value = lon;\\n            lonField.dispatchEvent(new Event(\\u0022input\\u0022,{bubbles:true}));\\n            lonField.dispatchEvent(new Event(\\u0022change\\u0022,{bubbles:true}));\\n         }\\n\\n         console.log(\\u0022GIS saved:\\u0022, lat, lon);\\n\\n      }\\n\\n   }\\n\\n};\\n\\n})();\\n\\u003C\\\/script\\u003E\",\"fBuild\":{},\"parent\":\"\"},{\"form_identifier\":\"\",\"name\":\"fieldname82\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":3,\"ftype\":\"fhtml\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}}}},\"_developerNotes\":\"\",\"allowscript\":1,\"replaceShortcodes\":0,\"fcontent\":\"\\u003C!--\\n\\u2554\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2557\\n\\u2551  ARCH MAP WIDGET \\u2014 Leaflet \\u043a\\u0430\\u0440\\u0442\\u0430 \\u0434\\u043b\\u044f \\u043a\\u0430\\u043b\\u044c\\u043a\\u0443\\u043b\\u044f\\u0442\\u043e\\u0440\\u0430              \\u2551\\n\\u2551  \\u0412\\u0441\\u0442\\u0430\\u0432\\u043b\\u044f\\u0454\\u0442\\u044c\\u0441\\u044f \\u0443 WordPress \\u044f\\u043a HTML \\u0431\\u043b\\u043e\\u043a \\u0430\\u0431\\u043e CFF HTML \\u043f\\u043e\\u043b\\u0435       \\u2551\\n\\u2551                                                                  \\u2551\\n\\u2551  \\u042f\\u043a \\u0446\\u0435 \\u043f\\u0440\\u0430\\u0446\\u044e\\u0454:                                                   \\u2551\\n\\u2551  1. \\u041a\\u043b\\u0456\\u0454\\u043d\\u0442 \\u043a\\u043b\\u0456\\u043a\\u0430\\u0454 \\u043d\\u0430 \\u043a\\u0430\\u0440\\u0442\\u0443                                       \\u2551\\n\\u2551  2. \\u041c\\u0430\\u0440\\u043a\\u0435\\u0440 \\u0441\\u0442\\u0430\\u0432\\u0438\\u0442\\u044c\\u0441\\u044f, \\u043a\\u043e\\u043e\\u0440\\u0434\\u0438\\u043d\\u0430\\u0442\\u0438 \\u0437\\u0430\\u043f\\u0438\\u0441\\u0443\\u044e\\u0442\\u044c\\u0441\\u044f                     \\u2551\\n\\u2551  3. \\u0410\\u0432\\u0442\\u043e\\u043c\\u0430\\u0442\\u0438\\u0447\\u043d\\u043e \\u043a\\u043b\\u0456\\u043a\\u0430\\u0454\\u0442\\u044c\\u0441\\u044f \\u043a\\u043d\\u043e\\u043f\\u043a\\u0430 .gis-fetch-btn \\u2192 \\u0437\\u0430\\u043f\\u0443\\u0441\\u043a\\u0430\\u0454 PHP \\u2551\\n\\u2551  4. \\u0420\\u0435\\u0437\\u0443\\u043b\\u044c\\u0442\\u0430\\u0442\\u0438 \\u0432\\u0456\\u0434\\u043e\\u0431\\u0440\\u0430\\u0436\\u0430\\u044e\\u0442\\u044c\\u0441\\u044f \\u0432 \\u043f\\u0430\\u043d\\u0435\\u043b\\u0456 \\u043d\\u0438\\u0436\\u0447\\u0435 \\u043a\\u0430\\u0440\\u0442\\u0438              \\u2551\\n\\u255a\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u255d\\n--\\u003E\\n\\n\\u003C!-- \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n     \\u0417\\u041e\\u0412\\u041d\\u0406\\u0428\\u041d\\u0406 \\u0417\\u0410\\u041b\\u0415\\u0416\\u041d\\u041e\\u0421\\u0422\\u0406\\n     Leaflet \\u2014 \\u0432\\u0456\\u0434\\u043a\\u0440\\u0438\\u0442\\u0430 \\u0431\\u0456\\u0431\\u043b\\u0456\\u043e\\u0442\\u0435\\u043a\\u0430 \\u043a\\u0430\\u0440\\u0442 (\\u0431\\u0435\\u0437 API \\u043a\\u043b\\u044e\\u0447\\u0430)\\n     \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550 --\\u003E\\n\\u003Clink rel=\\u0022stylesheet\\u0022 href=\\u0022https:\\\/\\\/unpkg.com\\\/leaflet@1.9.4\\\/dist\\\/leaflet.css\\u0022\\u003E\\n\\u003Clink rel=\\u0022preconnect\\u0022 href=\\u0022https:\\\/\\\/fonts.googleapis.com\\u0022\\u003E\\n\\u003Clink href=\\u0022https:\\\/\\\/fonts.googleapis.com\\\/css2?family=DM+Sans:wght@300;400;500&family=DM+Mono:wght@400;500&display=swap\\u0022 rel=\\u0022stylesheet\\u0022\\u003E\\n\\n\\u003C!-- \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n     CSS \\u2014 \\u0412\\u0421\\u042f \\u0421\\u0422\\u0418\\u041b\\u0406\\u0417\\u0410\\u0426\\u0406\\u042f \\u0412\\u0418\\u0414\\u0416\\u0415\\u0422\\u0410\\n     \\u0412\\u0438\\u043a\\u043e\\u0440\\u0438\\u0441\\u0442\\u043e\\u0432\\u0443\\u0454\\u043c\\u043e CSS Custom Properties \\u0449\\u043e\\u0431 \\u043b\\u0435\\u0433\\u043a\\u043e\\n     \\u0437\\u043c\\u0456\\u043d\\u044e\\u0432\\u0430\\u0442\\u0438 \\u043a\\u043e\\u043b\\u044c\\u043e\\u0440\\u0438 \\u043f\\u0456\\u0434 \\u0431\\u0440\\u0435\\u043d\\u0434\\u0438\\u043d\\u0433 \\u0441\\u0442\\u0443\\u0434\\u0456\\u0457\\n     \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550 --\\u003E\\n\\u003Cstyle\\u003E\\n  \\\/* \\u2500\\u2500 \\u041a\\u043e\\u043b\\u044c\\u043e\\u0440\\u043e\\u0432\\u0430 \\u043f\\u0430\\u043b\\u0456\\u0442\\u0440\\u0430 \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 *\\\/\\n  :root {\\n    --arch-bg:          #0f1117;   \\\/* \\u0424\\u043e\\u043d \\u0432\\u0438\\u0434\\u0436\\u0435\\u0442\\u0430 *\\\/\\n    --arch-surface:     #181c27;   \\\/* \\u0424\\u043e\\u043d \\u043a\\u0430\\u0440\\u0442\\\/\\u043f\\u0430\\u043d\\u0435\\u043b\\u0435\\u0439 *\\\/\\n    --arch-border:      #2a2f3e;   \\\/* \\u0411\\u043e\\u0440\\u0434\\u0435\\u0440\\u0438 *\\\/\\n    --arch-accent:      #c8a96e;   \\\/* \\u0410\\u043a\\u0446\\u0435\\u043d\\u0442\\u043d\\u0438\\u0439 \\u043a\\u043e\\u043b\\u0456\\u0440 (\\u0437\\u043e\\u043b\\u043e\\u0442\\u043e) *\\\/\\n    --arch-accent-dim:  #8a6f42;   \\\/* \\u041f\\u0440\\u0438\\u0433\\u043b\\u0443\\u0448\\u0435\\u043d\\u0438\\u0439 \\u0430\\u043a\\u0446\\u0435\\u043d\\u0442 *\\\/\\n    --arch-text:        #e8e4dc;   \\\/* \\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u0438\\u0439 \\u0442\\u0435\\u043a\\u0441\\u0442 *\\\/\\n    --arch-muted:       #6b7280;   \\\/* \\u0414\\u0440\\u0443\\u0433\\u043e\\u0440\\u044f\\u0434\\u043d\\u0438\\u0439 \\u0442\\u0435\\u043a\\u0441\\u0442 *\\\/\\n    --arch-success:     #4ade80;   \\\/* \\u0417\\u0435\\u043b\\u0435\\u043d\\u0438\\u0439 \\u2014 \\u0434\\u0430\\u043d\\u0456 \\u0437\\u0430\\u0432\\u0430\\u043d\\u0442\\u0430\\u0436\\u0435\\u043d\\u0456 *\\\/\\n    --arch-error:       #f87171;   \\\/* \\u0427\\u0435\\u0440\\u0432\\u043e\\u043d\\u0438\\u0439 \\u2014 \\u043f\\u043e\\u043c\\u0438\\u043b\\u043a\\u0430 *\\\/\\n    --arch-font:        'DM Sans', sans-serif;\\n    --arch-mono:        'DM Mono', monospace;\\n    --arch-radius:      12px;\\n    --arch-radius-sm:   8px;\\n  }\\n\\n  \\\/* \\u2500\\u2500 \\u041e\\u0431\\u0433\\u043e\\u0440\\u0442\\u043a\\u0430 \\u0432\\u0438\\u0434\\u0436\\u0435\\u0442\\u0430 \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 *\\\/\\n  .arch-widget {\\n    font-family:      var(--arch-font);\\n    background:       var(--arch-bg);\\n    border:           1px solid var(--arch-border);\\n    border-radius:    var(--arch-radius);\\n    overflow:         hidden;\\n    color:            var(--arch-text);\\n    max-width:        100%;\\n  }\\n\\n  \\\/* \\u2500\\u2500 \\u0417\\u0430\\u0433\\u043e\\u043b\\u043e\\u0432\\u043e\\u043a \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 *\\\/\\n  .arch-widget__header {\\n    padding:          16px 20px 14px;\\n    border-bottom:    1px solid var(--arch-border);\\n\\n    \\\/* CSS Layout: Flexbox \\u0434\\u043b\\u044f \\u0432\\u0438\\u0440\\u0456\\u0432\\u043d\\u044e\\u0432\\u0430\\u043d\\u043d\\u044f \\u0456\\u043a\\u043e\\u043d\\u043a\\u0438 \\u0456 \\u0442\\u0435\\u043a\\u0441\\u0442\\u0443 *\\\/\\n    display:          flex;\\n    align-items:      center;\\n    gap:              10px;\\n  }\\n\\n  .arch-widget__header-dot {\\n    width:            8px;\\n    height:           8px;\\n    border-radius:    50%;\\n    background:       var(--arch-accent);\\n    flex-shrink:      0;\\n    \\\/* \\u041f\\u0443\\u043b\\u044c\\u0441\\u0430\\u0446\\u0456\\u044f \\u2014 \\u043f\\u043e\\u043a\\u0430\\u0437\\u0443\\u0454 \\u0449\\u043e \\u043a\\u0430\\u0440\\u0442\\u0430 \\u0430\\u043a\\u0442\\u0438\\u0432\\u043d\\u0430 *\\\/\\n    animation:        pulse 2.5s ease-in-out infinite;\\n  }\\n\\n  @keyframes pulse {\\n    0%, 100% { opacity: 1;   transform: scale(1); }\\n    50%       { opacity: 0.4; transform: scale(0.8); }\\n  }\\n\\n  .arch-widget__title {\\n    font-size:        13px;\\n    font-weight:      500;\\n    letter-spacing:   0.06em;\\n    text-transform:   uppercase;\\n    color:            var(--arch-muted);\\n    margin:           0;\\n  }\\n\\n  .arch-widget__hint {\\n    font-size:        12px;\\n    color:            var(--arch-muted);\\n    margin:           0 0 0 auto;\\n  }\\n\\n  \\\/* \\u2500\\u2500 \\u0421\\u0430\\u043c\\u0430 \\u043a\\u0430\\u0440\\u0442\\u0430 \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 *\\\/\\n  #arch-leaflet-map {\\n    height:           440px;\\n    width:            100%;\\n    \\\/* Cursor \\u043f\\u0456\\u0434\\u043a\\u0430\\u0437\\u0443\\u0454 \\u0449\\u043e \\u043c\\u043e\\u0436\\u043d\\u0430 \\u043a\\u043b\\u0456\\u043a\\u0430\\u0442\\u0438 *\\\/\\n    cursor:           crosshair !important;\\n  }\\n\\n  \\\/* \\u041f\\u0435\\u0440\\u0435\\u0432\\u0438\\u0437\\u043d\\u0430\\u0447\\u0430\\u0454\\u043c\\u043e \\u043a\\u0443\\u0440\\u0441\\u043e\\u0440 Leaflet *\\\/\\n  #arch-leaflet-map .leaflet-container {\\n    cursor: crosshair !important;\\n  }\\n\\n  \\\/* \\u2500\\u2500 \\u041f\\u0430\\u043d\\u0435\\u043b\\u044c \\u043a\\u043e\\u043e\\u0440\\u0434\\u0438\\u043d\\u0430\\u0442 \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 *\\\/\\n  .arch-widget__coords {\\n    padding:          14px 20px;\\n    border-bottom:    1px solid var(--arch-border);\\n    background:       var(--arch-surface);\\n\\n    \\\/* CSS Layout: Grid \\u2014 \\u0440\\u0456\\u0432\\u043d\\u0456 \\u043a\\u043e\\u043b\\u043e\\u043d\\u043a\\u0438 \\u0434\\u043b\\u044f lat \\\/ lon *\\\/\\n    display:          grid;\\n    grid-template-columns: 1fr 1fr;\\n    gap:              12px;\\n    align-items:      center;\\n  }\\n\\n  .arch-coord-item {\\n    display:          flex;\\n    flex-direction:   column;\\n    gap:              4px;\\n  }\\n\\n  .arch-coord-item__label {\\n    font-size:        10px;\\n    font-weight:      500;\\n    letter-spacing:   0.08em;\\n    text-transform:   uppercase;\\n    color:            var(--arch-accent-dim);\\n  }\\n\\n  .arch-coord-item__value {\\n    font-family:      var(--arch-mono);\\n    font-size:        15px;\\n    font-weight:      500;\\n    color:            var(--arch-accent);\\n    \\\/* Placeholder \\u043f\\u043e\\u043a\\u0438 \\u043d\\u0435 \\u043e\\u0431\\u0440\\u0430\\u043d\\u043e \\u0442\\u043e\\u0447\\u043a\\u0443 *\\\/\\n    min-height:       22px;\\n  }\\n\\n  .arch-coord-item__value.is-empty {\\n    color:            var(--arch-muted);\\n    font-size:        13px;\\n  }\\n\\n  \\\/* \\u2500\\u2500 \\u041a\\u043d\\u043e\\u043f\\u043a\\u0430 \\u0437\\u0430\\u043f\\u0438\\u0442\\u0443 (\\u043f\\u0440\\u0438\\u0445\\u043e\\u0432\\u0430\\u043d\\u0430, \\u043a\\u043b\\u0456\\u043a\\u0430\\u0454\\u0442\\u044c\\u0441\\u044f \\u0430\\u0432\\u0442\\u043e\\u043c\\u0430\\u0442\\u0438\\u0447\\u043d\\u043e) \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 *\\\/\\n  \\\/*\\n     CFF \\u0448\\u0443\\u043a\\u0430\\u0454 .gis-fetch-btn button\\n     \\u041c\\u0438 \\u0457\\u0457 \\u0445\\u043e\\u0432\\u0430\\u0454\\u043c\\u043e \\u2014 \\u043a\\u043b\\u0456\\u043a \\u0432\\u0456\\u0434\\u0431\\u0443\\u0432\\u0430\\u0454\\u0442\\u044c\\u0441\\u044f \\u0430\\u0432\\u0442\\u043e\\u043c\\u0430\\u0442\\u0438\\u0447\\u043d\\u043e \\u043f\\u0456\\u0441\\u043b\\u044f \\u043a\\u043b\\u0456\\u043a\\u0443 \\u043d\\u0430 \\u043a\\u0430\\u0440\\u0442\\u0443\\n     \\u042f\\u043a\\u0449\\u043e \\u0445\\u043e\\u0447\\u0435\\u0448 \\u043f\\u043e\\u043a\\u0430\\u0437\\u0430\\u0442\\u0438 \\u043a\\u043d\\u043e\\u043f\\u043a\\u0443 \\u2014 \\u0432\\u0438\\u0434\\u0430\\u043b\\u0438 display:none\\n  *\\\/\\n  .gis-fetch-btn {\\n    display: none;\\n  }\\n\\n  \\\/* \\u2500\\u2500 \\u041f\\u0430\\u043d\\u0435\\u043b\\u044c \\u0440\\u0435\\u0437\\u0443\\u043b\\u044c\\u0442\\u0430\\u0442\\u0456\\u0432 \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 *\\\/\\n  .arch-widget__results {\\n    padding:          16px 20px;\\n  }\\n\\n  \\\/* \\u0421\\u0442\\u0430\\u043d: \\u043e\\u0447\\u0456\\u043a\\u0443\\u0432\\u0430\\u043d\\u043d\\u044f \\u043a\\u043b\\u0456\\u043a\\u0443 *\\\/\\n  .arch-results-placeholder {\\n    display:          flex;\\n    align-items:      center;\\n    justify-content:  center;\\n    gap:              10px;\\n    padding:          24px 0;\\n    color:            var(--arch-muted);\\n    font-size:        13px;\\n  }\\n\\n  .arch-results-placeholder svg {\\n    opacity: 0.4;\\n  }\\n\\n  \\\/* \\u0421\\u0442\\u0430\\u043d: \\u0437\\u0430\\u0432\\u0430\\u043d\\u0442\\u0430\\u0436\\u0435\\u043d\\u043d\\u044f *\\\/\\n  .arch-results-loading {\\n    display:          none;   \\\/* \\u043f\\u043e\\u043a\\u0430\\u0437\\u0443\\u0454\\u0442\\u044c\\u0441\\u044f \\u0447\\u0435\\u0440\\u0435\\u0437 JS \\u043a\\u043e\\u043b\\u0438 \\u0439\\u0434\\u0435 \\u0437\\u0430\\u043f\\u0438\\u0442 *\\\/\\n    align-items:      center;\\n    gap:              10px;\\n    padding:          20px 0;\\n    color:            var(--arch-muted);\\n    font-size:        13px;\\n  }\\n\\n  .arch-spinner {\\n    width:            16px;\\n    height:           16px;\\n    border:           2px solid var(--arch-border);\\n    border-top-color: var(--arch-accent);\\n    border-radius:    50%;\\n    animation:        spin 0.8s linear infinite;\\n    flex-shrink:      0;\\n  }\\n\\n  @keyframes spin {\\n    to { transform: rotate(360deg); }\\n  }\\n\\n  \\\/* \\u0421\\u0442\\u0430\\u043d: \\u0434\\u0430\\u043d\\u0456 \\u043e\\u0442\\u0440\\u0438\\u043c\\u0430\\u043d\\u0456 \\u2014 \\u0441\\u0456\\u0442\\u043a\\u0430 \\u043a\\u0430\\u0440\\u0442\\u043e\\u043a *\\\/\\n  .arch-results-grid {\\n    display:          none;   \\\/* \\u043f\\u043e\\u043a\\u0430\\u0437\\u0443\\u0454\\u0442\\u044c\\u0441\\u044f \\u0447\\u0435\\u0440\\u0435\\u0437 JS *\\\/\\n\\n    \\\/* CSS Layout: Grid \\u2014 \\u0430\\u0434\\u0430\\u043f\\u0442\\u0438\\u0432\\u043d\\u0430 \\u0441\\u0456\\u0442\\u043a\\u0430 \\u043a\\u0430\\u0440\\u0442\\u043e\\u043a *\\\/\\n    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\\n    gap:              10px;\\n  }\\n\\n  \\\/* \\u041a\\u0430\\u0440\\u0442\\u043a\\u0430 \\u043e\\u0434\\u043d\\u043e\\u0433\\u043e \\u0431\\u043b\\u043e\\u043a\\u0443 \\u0434\\u0430\\u043d\\u0438\\u0445 (\\u041a\\u043b\\u0456\\u043c\\u0430\\u0442, \\u0420\\u0435\\u043b\\u044c\\u0454\\u0444, \\u0442\\u043e\\u0449\\u043e) *\\\/\\n  .arch-data-card {\\n    background:       var(--arch-surface);\\n    border:           1px solid var(--arch-border);\\n    border-radius:    var(--arch-radius-sm);\\n    padding:          14px;\\n    transition:       border-color 0.2s;\\n  }\\n\\n  .arch-data-card:hover {\\n    border-color:     var(--arch-accent-dim);\\n  }\\n\\n  .arch-data-card__title {\\n    font-size:        10px;\\n    font-weight:      500;\\n    letter-spacing:   0.08em;\\n    text-transform:   uppercase;\\n    color:            var(--arch-accent-dim);\\n    margin-bottom:    10px;\\n\\n    \\\/* CSS Layout: Flex \\u0434\\u043b\\u044f \\u0456\\u043a\\u043e\\u043d\\u043a\\u0438 \\u0456 \\u043d\\u0430\\u0437\\u0432\\u0438 *\\\/\\n    display:          flex;\\n    align-items:      center;\\n    gap:              6px;\\n  }\\n\\n  \\\/* \\u0420\\u044f\\u0434\\u043e\\u043a \\u0432\\u0441\\u0435\\u0440\\u0435\\u0434\\u0438\\u043d\\u0456 \\u043a\\u0430\\u0440\\u0442\\u043a\\u0438: \\u043d\\u0430\\u0437\\u0432\\u0430 \\u043f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0443 + \\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u043d\\u044f *\\\/\\n  .arch-data-row {\\n    display:          flex;\\n    justify-content:  space-between;\\n    align-items:      baseline;\\n    gap:              8px;\\n    padding:          4px 0;\\n    border-bottom:    1px solid rgba(255,255,255,0.04);\\n    font-size:        13px;\\n  }\\n\\n  .arch-data-row:last-child {\\n    border-bottom: none;\\n  }\\n\\n  .arch-data-row__key {\\n    color:            var(--arch-muted);\\n    font-size:        12px;\\n    flex-shrink:      0;\\n  }\\n\\n  .arch-data-row__val {\\n    color:            var(--arch-text);\\n    font-family:      var(--arch-mono);\\n    font-size:        12px;\\n    text-align:       right;\\n  }\\n\\n  \\\/* \\u2500\\u2500 \\u041f\\u0456\\u0434\\u0441\\u0443\\u043c\\u043a\\u043e\\u0432\\u0438\\u0439 \\u043a\\u043e\\u0435\\u0444\\u0456\\u0446\\u0456\\u0454\\u043d\\u0442 \\u2014 \\u0432\\u0438\\u0434\\u0456\\u043b\\u0435\\u043d\\u0438\\u0439 \\u0440\\u044f\\u0434\\u043e\\u043a \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 *\\\/\\n  .arch-widget__coef {\\n    margin-top:       12px;\\n    padding:          14px 20px;\\n    background:       linear-gradient(135deg, rgba(200,169,110,0.08), rgba(200,169,110,0.03));\\n    border:           1px solid rgba(200,169,110,0.25);\\n    border-radius:    var(--arch-radius-sm);\\n\\n    \\\/* CSS Layout: Flex \\u043c\\u0456\\u0436 \\u043b\\u0456\\u0432\\u0438\\u043c \\u0442\\u0435\\u043a\\u0441\\u0442\\u043e\\u043c \\u0456 \\u043f\\u0440\\u0430\\u0432\\u0438\\u043c \\u0447\\u0438\\u0441\\u043b\\u043e\\u043c *\\\/\\n    display:          flex;\\n    justify-content:  space-between;\\n    align-items:      center;\\n    gap:              12px;\\n  }\\n\\n  .arch-widget__coef-label {\\n    font-size:        12px;\\n    color:            var(--arch-muted);\\n    line-height:      1.4;\\n  }\\n\\n  .arch-widget__coef-value {\\n    font-family:      var(--arch-mono);\\n    font-size:        22px;\\n    font-weight:      500;\\n    color:            var(--arch-accent);\\n    white-space:      nowrap;\\n  }\\n\\n  \\\/* \\u2500\\u2500 \\u0421\\u0442\\u0438\\u043b\\u0456\\u0437\\u0430\\u0446\\u0456\\u044f \\u043c\\u0430\\u0440\\u043a\\u0435\\u0440\\u0430 Leaflet \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 *\\\/\\n  .arch-marker-icon {\\n    background:       var(--arch-accent);\\n    width:            14px !important;\\n    height:           14px !important;\\n    border-radius:    50%;\\n    border:           3px solid #fff;\\n    box-shadow:       0 0 0 3px var(--arch-accent), 0 4px 12px rgba(0,0,0,0.5);\\n    margin-left:      -7px !important;\\n    margin-top:       -7px !important;\\n  }\\n\\n  \\\/* \\u2500\\u2500 \\u0410\\u0434\\u0430\\u043f\\u0442\\u0438\\u0432\\u043d\\u0456\\u0441\\u0442\\u044c \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 *\\\/\\n  @media (max-width: 480px) {\\n    .arch-widget__coords {\\n      grid-template-columns: 1fr;\\n    }\\n    #arch-leaflet-map {\\n      height: 300px;\\n    }\\n  }\\n\\u003C\\\/style\\u003E\\n\\n\\u003C!-- \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n     HTML \\u0421\\u0422\\u0420\\u0423\\u041a\\u0422\\u0423\\u0420\\u0410 \\u0412\\u0418\\u0414\\u0416\\u0415\\u0422\\u0410\\n     \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550 --\\u003E\\n\\u003Cdiv class=\\u0022arch-widget\\u0022\\u003E\\n\\n  \\u003C!-- \\u0417\\u0430\\u0433\\u043e\\u043b\\u043e\\u0432\\u043e\\u043a --\\u003E\\n  \\u003Cdiv class=\\u0022arch-widget__header\\u0022\\u003E\\n    \\u003Cdiv class=\\u0022arch-widget__header-dot\\u0022 aria-hidden=\\u0022true\\u0022\\u003E\\u003C\\\/div\\u003E\\n    \\u003Cp class=\\u0022arch-widget__title\\u0022\\u003E\\u041e\\u0431\\u0435\\u0440\\u0456\\u0442\\u044c \\u0434\\u0456\\u043b\\u044f\\u043d\\u043a\\u0443 \\u043d\\u0430 \\u043a\\u0430\\u0440\\u0442\\u0456\\u003C\\\/p\\u003E\\n    \\u003Cp class=\\u0022arch-widget__hint\\u0022\\u003E\\u041d\\u0430\\u0442\\u0438\\u0441\\u043d\\u0456\\u0442\\u044c \\u0434\\u043b\\u044f \\u0432\\u0438\\u0431\\u043e\\u0440\\u0443 \\u0442\\u043e\\u0447\\u043a\\u0438\\u003C\\\/p\\u003E\\n  \\u003C\\\/div\\u003E\\n\\n  \\u003C!-- \\u041a\\u0430\\u0440\\u0442\\u0430 Leaflet --\\u003E\\n  \\u003Cdiv id=\\u0022arch-leaflet-map\\u0022\\u003E\\u003C\\\/div\\u003E\\n\\n  \\u003C!-- \\u041a\\u043e\\u043e\\u0440\\u0434\\u0438\\u043d\\u0430\\u0442\\u0438 \\u2014 \\u0437\\u0430\\u043f\\u043e\\u0432\\u043d\\u044e\\u044e\\u0442\\u044c\\u0441\\u044f \\u043f\\u0456\\u0441\\u043b\\u044f \\u043a\\u043b\\u0456\\u043a\\u0443 \\u043d\\u0430 \\u043a\\u0430\\u0440\\u0442\\u0443 --\\u003E\\n  \\u003Cdiv class=\\u0022arch-widget__coords\\u0022\\u003E\\n    \\u003Cdiv class=\\u0022arch-coord-item\\u0022\\u003E\\n      \\u003Cspan class=\\u0022arch-coord-item__label\\u0022\\u003E\\u0428\\u0438\\u0440\\u043e\\u0442\\u0430\\u003C\\\/span\\u003E\\n      \\u003Cspan class=\\u0022arch-coord-item__value is-empty\\u0022 id=\\u0022arch-display-lat\\u0022\\u003E\\u2014 \\u043d\\u0435 \\u043e\\u0431\\u0440\\u0430\\u043d\\u043e \\u2014\\u003C\\\/span\\u003E\\n    \\u003C\\\/div\\u003E\\n    \\u003Cdiv class=\\u0022arch-coord-item\\u0022\\u003E\\n      \\u003Cspan class=\\u0022arch-coord-item__label\\u0022\\u003E\\u0414\\u043e\\u0432\\u0433\\u043e\\u0442\\u0430\\u003C\\\/span\\u003E\\n      \\u003Cspan class=\\u0022arch-coord-item__value is-empty\\u0022 id=\\u0022arch-display-lon\\u0022\\u003E\\u2014 \\u043d\\u0435 \\u043e\\u0431\\u0440\\u0430\\u043d\\u043e \\u2014\\u003C\\\/span\\u003E\\n    \\u003C\\\/div\\u003E\\n  \\u003C\\\/div\\u003E\\n\\n  \\u003C!-- \\u041f\\u0430\\u043d\\u0435\\u043b\\u044c \\u0440\\u0435\\u0437\\u0443\\u043b\\u044c\\u0442\\u0430\\u0442\\u0456\\u0432 --\\u003E\\n  \\u003Cdiv class=\\u0022arch-widget__results\\u0022\\u003E\\n\\n    \\u003C!-- \\u0421\\u0442\\u0430\\u043d 1: \\u041e\\u0447\\u0456\\u043a\\u0443\\u0432\\u0430\\u043d\\u043d\\u044f \\u043a\\u043b\\u0456\\u043a\\u0443 --\\u003E\\n    \\u003Cdiv class=\\u0022arch-results-placeholder\\u0022 id=\\u0022arch-state-idle\\u0022\\u003E\\n      \\u003Csvg width=\\u002218\\u0022 height=\\u002218\\u0022 viewBox=\\u00220 0 24 24\\u0022 fill=\\u0022none\\u0022 stroke=\\u0022currentColor\\u0022 stroke-width=\\u00221.5\\u0022\\u003E\\n        \\u003Ccircle cx=\\u002212\\u0022 cy=\\u002212\\u0022 r=\\u002210\\u0022\\\/\\u003E\\u003Cline x1=\\u002212\\u0022 y1=\\u00228\\u0022 x2=\\u002212\\u0022 y2=\\u002212\\u0022\\\/\\u003E\\u003Cline x1=\\u002212\\u0022 y1=\\u002216\\u0022 x2=\\u002212.01\\u0022 y2=\\u002216\\u0022\\\/\\u003E\\n      \\u003C\\\/svg\\u003E\\n      \\u041e\\u0431\\u0435\\u0440\\u0456\\u0442\\u044c \\u0442\\u043e\\u0447\\u043a\\u0443 \\u043d\\u0430 \\u043a\\u0430\\u0440\\u0442\\u0456 \\u2014 \\u0441\\u0438\\u0441\\u0442\\u0435\\u043c\\u0430 \\u0430\\u0432\\u0442\\u043e\\u043c\\u0430\\u0442\\u0438\\u0447\\u043d\\u043e \\u0437\\u0431\\u0435\\u0440\\u0435 \\u0434\\u0430\\u043d\\u0456\\n    \\u003C\\\/div\\u003E\\n\\n    \\u003C!-- \\u0421\\u0442\\u0430\\u043d 2: \\u0417\\u0430\\u0432\\u0430\\u043d\\u0442\\u0430\\u0436\\u0435\\u043d\\u043d\\u044f --\\u003E\\n    \\u003Cdiv class=\\u0022arch-results-loading\\u0022 id=\\u0022arch-state-loading\\u0022\\u003E\\n      \\u003Cdiv class=\\u0022arch-spinner\\u0022\\u003E\\u003C\\\/div\\u003E\\n      \\u0417\\u0431\\u0438\\u0440\\u0430\\u0454\\u043c\\u043e \\u0434\\u0430\\u043d\\u0456 \\u0437 \\u0432\\u0456\\u0434\\u043a\\u0440\\u0438\\u0442\\u0438\\u0445 \\u0434\\u0436\\u0435\\u0440\\u0435\\u043b\\u2026\\n    \\u003C\\\/div\\u003E\\n\\n    \\u003C!-- \\u0421\\u0442\\u0430\\u043d 3: \\u0414\\u0430\\u043d\\u0456 \\u043e\\u0442\\u0440\\u0438\\u043c\\u0430\\u043d\\u0456\\n         \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n         \\u041a\\u0410\\u0420\\u0422\\u041a\\u0418 \\u0414\\u0410\\u041d\\u0418\\u0425 \\u2014 \\u043a\\u043e\\u0436\\u043d\\u0430 \\u043a\\u0430\\u0440\\u0442\\u043a\\u0430 = \\u043e\\u043a\\u0440\\u0435\\u043c\\u0438\\u0439 API\\n         \\u0429\\u043e\\u0431 \\u0434\\u043e\\u0434\\u0430\\u0442\\u0438 \\u043d\\u043e\\u0432\\u0435 API:\\n         1. \\u0414\\u043e\\u0434\\u0430\\u0439 \\u043d\\u043e\\u0432\\u0443 .arch-data-card \\u043d\\u0438\\u0436\\u0447\\u0435\\n         2. \\u0414\\u0430\\u0439 \\u0457\\u0439 \\u0443\\u043d\\u0456\\u043a\\u0430\\u043b\\u044c\\u043d\\u0438\\u0439 id (\\u043d\\u0430\\u043f\\u0440\\u0438\\u043a\\u043b\\u0430\\u0434 id=\\u0022arch-card-mytool\\u0022)\\n         3. \\u0423 JS \\u0431\\u043b\\u043e\\u0446\\u0456 \\u043d\\u0438\\u0436\\u0447\\u0435 \\u0437\\u043d\\u0430\\u0439\\u0434\\u0438 \\u0444\\u0443\\u043d\\u043a\\u0446\\u0456\\u044e renderResults()\\n            \\u0456 \\u0434\\u043e\\u0434\\u0430\\u0439 \\u0437\\u0430\\u043f\\u043e\\u0432\\u043d\\u0435\\u043d\\u043d\\u044f \\u0441\\u0432\\u043e\\u0454\\u0457 \\u043a\\u0430\\u0440\\u0442\\u043a\\u0438\\n         \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550 --\\u003E\\n    \\u003Cdiv class=\\u0022arch-results-grid\\u0022 id=\\u0022arch-state-results\\u0022\\u003E\\n\\n      \\u003C!-- \\u2500\\u2500 \\u041a\\u0410\\u0420\\u0422\\u041a\\u0410: \\u041b\\u043e\\u043a\\u0430\\u0446\\u0456\\u044f (Nominatim) \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 --\\u003E\\n      \\u003Cdiv class=\\u0022arch-data-card\\u0022 id=\\u0022arch-card-location\\u0022\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-card__title\\u0022\\u003E\\n          \\u003Csvg width=\\u002212\\u0022 height=\\u002212\\u0022 viewBox=\\u00220 0 24 24\\u0022 fill=\\u0022var(--arch-accent-dim)\\u0022 aria-hidden=\\u0022true\\u0022\\u003E\\n            \\u003Cpath d=\\u0022M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7z\\u0022\\\/\\u003E\\n          \\u003C\\\/svg\\u003E\\n          \\u041b\\u043e\\u043a\\u0430\\u0446\\u0456\\u044f\\n        \\u003C\\\/div\\u003E\\n        \\u003C!-- \\u0420\\u044f\\u0434\\u043a\\u0438 \\u0437\\u0430\\u043f\\u043e\\u0432\\u043d\\u044e\\u044e\\u0442\\u044c\\u0441\\u044f \\u0447\\u0435\\u0440\\u0435\\u0437 JS \\u0444\\u0443\\u043d\\u043a\\u0446\\u0456\\u0454\\u044e renderRow() --\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u041a\\u0440\\u0430\\u0457\\u043d\\u0430\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-country\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u0420\\u0435\\u0433\\u0456\\u043e\\u043d\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-region\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u041c\\u0456\\u0441\\u0442\\u043e\\\/\\u0441\\u0435\\u043b\\u043e\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-city\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u0422\\u0438\\u043f \\u043d\\u0430\\u0441. \\u043f\\u0443\\u043d\\u043a\\u0442\\u0443\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-settlement\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n      \\u003C\\\/div\\u003E\\n\\n      \\u003C!-- \\u2500\\u2500 \\u041a\\u0410\\u0420\\u0422\\u041a\\u0410: \\u0420\\u0435\\u043b\\u044c\\u0454\\u0444 (Open-Elevation) \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 --\\u003E\\n      \\u003Cdiv class=\\u0022arch-data-card\\u0022 id=\\u0022arch-card-elevation\\u0022\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-card__title\\u0022\\u003E\\n          \\u003Csvg width=\\u002212\\u0022 height=\\u002212\\u0022 viewBox=\\u00220 0 24 24\\u0022 fill=\\u0022none\\u0022 stroke=\\u0022var(--arch-accent-dim)\\u0022 stroke-width=\\u00222\\u0022 aria-hidden=\\u0022true\\u0022\\u003E\\n            \\u003Cpolyline points=\\u002222 12 18 12 15 21 9 3 6 12 2 12\\u0022\\\/\\u003E\\n          \\u003C\\\/svg\\u003E\\n          \\u0420\\u0435\\u043b\\u044c\\u0454\\u0444\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u0412\\u0438\\u0441\\u043e\\u0442\\u0430 \\u043d\\u0430\\u0434 \\u0440\\u0456\\u0432\\u043d\\u0435\\u043c \\u043c\\u043e\\u0440\\u044f\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-elevation\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u0423\\u0445\\u0438\\u043b \\u0434\\u0456\\u043b\\u044f\\u043d\\u043a\\u0438\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-slope\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u041a\\u043b\\u0430\\u0441 \\u0440\\u0435\\u043b\\u044c\\u0454\\u0444\\u0443\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-slope-class\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n      \\u003C\\\/div\\u003E\\n\\n      \\u003C!-- \\u2500\\u2500 \\u041a\\u0410\\u0420\\u0422\\u041a\\u0410: \\u041a\\u043b\\u0456\\u043c\\u0430\\u0442 (Open-Meteo) \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 --\\u003E\\n      \\u003Cdiv class=\\u0022arch-data-card\\u0022 id=\\u0022arch-card-climate\\u0022\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-card__title\\u0022\\u003E\\n          \\u003Csvg width=\\u002212\\u0022 height=\\u002212\\u0022 viewBox=\\u00220 0 24 24\\u0022 fill=\\u0022none\\u0022 stroke=\\u0022var(--arch-accent-dim)\\u0022 stroke-width=\\u00222\\u0022 aria-hidden=\\u0022true\\u0022\\u003E\\n            \\u003Cpath d=\\u0022M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9z\\u0022\\\/\\u003E\\n          \\u003C\\\/svg\\u003E\\n          \\u041a\\u043b\\u0456\\u043c\\u0430\\u0442\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u041c\\u043e\\u0440\\u043e\\u0437\\u043d\\u0438\\u0445 \\u0434\\u043d\\u0456\\u0432\\\/\\u0440\\u0456\\u043a\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-frost\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u0421\\u043d\\u0456\\u0433\\u043e\\u0432\\u0435 \\u043d\\u0430\\u0432\\u0430\\u043d\\u0442\\u0430\\u0436\\u0435\\u043d\\u043d\\u044f\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-snow\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u0412\\u0456\\u0442\\u0440\\u043e\\u0432\\u0435 \\u043d\\u0430\\u0432\\u0430\\u043d\\u0442\\u0430\\u0436\\u0435\\u043d\\u043d\\u044f\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-wind\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u041e\\u043f\\u0430\\u0434\\u0456\\u0432 \\u043d\\u0430 \\u0440\\u0456\\u043a\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-precip\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n      \\u003C\\\/div\\u003E\\n\\n      \\u003C!-- \\u2500\\u2500 \\u041a\\u0410\\u0420\\u0422\\u041a\\u0410: \\u0490\\u0440\\u0443\\u043d\\u0442 (SoilGrids \\\/ ISRIC) \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 --\\u003E\\n      \\u003Cdiv class=\\u0022arch-data-card\\u0022 id=\\u0022arch-card-soil\\u0022\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-card__title\\u0022\\u003E\\n          \\u003Csvg width=\\u002212\\u0022 height=\\u002212\\u0022 viewBox=\\u00220 0 24 24\\u0022 fill=\\u0022none\\u0022 stroke=\\u0022var(--arch-accent-dim)\\u0022 stroke-width=\\u00222\\u0022 aria-hidden=\\u0022true\\u0022\\u003E\\n            \\u003Crect x=\\u00223\\u0022 y=\\u00223\\u0022 width=\\u002218\\u0022 height=\\u002218\\u0022 rx=\\u00222\\u0022\\\/\\u003E\\u003Cpath d=\\u0022M3 9h18M9 21V9\\u0022\\\/\\u003E\\n          \\u003C\\\/svg\\u003E\\n          \\u0490\\u0440\\u0443\\u043d\\u0442\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u0422\\u0438\\u043f \\u0491\\u0440\\u0443\\u043d\\u0442\\u0443\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-soil\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u0412\\u043c\\u0456\\u0441\\u0442 \\u0433\\u043b\\u0438\\u043d\\u0438\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-clay\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u0412\\u043c\\u0456\\u0441\\u0442 \\u043f\\u0456\\u0441\\u043a\\u0443\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-sand\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n      \\u003C\\\/div\\u003E\\n\\n      \\u003C!-- \\u2500\\u2500 \\u041a\\u0410\\u0420\\u0422\\u041a\\u0410: \\u0421\\u0435\\u0439\\u0441\\u043c\\u0456\\u0447\\u043d\\u0456\\u0441\\u0442\\u044c (USGS) \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 --\\u003E\\n      \\u003Cdiv class=\\u0022arch-data-card\\u0022 id=\\u0022arch-card-seismic\\u0022\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-card__title\\u0022\\u003E\\n          \\u003Csvg width=\\u002212\\u0022 height=\\u002212\\u0022 viewBox=\\u00220 0 24 24\\u0022 fill=\\u0022none\\u0022 stroke=\\u0022var(--arch-accent-dim)\\u0022 stroke-width=\\u00222\\u0022 aria-hidden=\\u0022true\\u0022\\u003E\\n            \\u003Cpolyline points=\\u00222 12 5 12 8 4 11 20 14 10 17 12 22 12\\u0022\\\/\\u003E\\n          \\u003C\\\/svg\\u003E\\n          \\u0421\\u0435\\u0439\\u0441\\u043c\\u0456\\u0447\\u043d\\u0456\\u0441\\u0442\\u044c\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u041a\\u043b\\u0430\\u0441 \\u0441\\u0435\\u0439\\u0441\\u043c\\u0456\\u0447\\u043d\\u043e\\u0441\\u0442\\u0456\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-seismic\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u041f\\u043e\\u0434\\u0456\\u0439 \\u0437\\u0430 10 \\u0440\\u043e\\u043a\\u0456\\u0432\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-seismic-events\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u041c\\u0430\\u043a\\u0441. \\u043c\\u0430\\u0433\\u043d\\u0456\\u0442\\u0443\\u0434\\u0430\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-seismic-mag\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n      \\u003C\\\/div\\u003E\\n\\n      \\u003C!-- \\u2500\\u2500 \\u041a\\u0410\\u0420\\u0422\\u041a\\u0410: \\u0406\\u043d\\u0444\\u0440\\u0430\\u0441\\u0442\\u0440\\u0443\\u043a\\u0442\\u0443\\u0440\\u0430 (OSRM + Overpass) \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 --\\u003E\\n      \\u003Cdiv class=\\u0022arch-data-card\\u0022 id=\\u0022arch-card-routing\\u0022\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-card__title\\u0022\\u003E\\n          \\u003Csvg width=\\u002212\\u0022 height=\\u002212\\u0022 viewBox=\\u00220 0 24 24\\u0022 fill=\\u0022none\\u0022 stroke=\\u0022var(--arch-accent-dim)\\u0022 stroke-width=\\u00222\\u0022 aria-hidden=\\u0022true\\u0022\\u003E\\n            \\u003Ccircle cx=\\u002212\\u0022 cy=\\u002212\\u0022 r=\\u002210\\u0022\\\/\\u003E\\u003Cline x1=\\u00222\\u0022 y1=\\u002212\\u0022 x2=\\u002222\\u0022 y2=\\u002212\\u0022\\\/\\u003E\\u003Cpath d=\\u0022M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\\u0022\\\/\\u003E\\n          \\u003C\\\/svg\\u003E\\n          \\u0406\\u043d\\u0444\\u0440\\u0430\\u0441\\u0442\\u0440\\u0443\\u043a\\u0442\\u0443\\u0440\\u0430\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u041d\\u0430\\u0439\\u0431\\u043b\\u0438\\u0436\\u0447\\u0435 \\u043c\\u0456\\u0441\\u0442\\u043e\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-city-name\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u0412\\u0456\\u0434\\u0441\\u0442\\u0430\\u043d\\u044c \\u0434\\u043e \\u043c\\u0456\\u0441\\u0442\\u0430\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-city-dist\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u0427\\u0430\\u0441 \\u0432 \\u0434\\u043e\\u0440\\u043e\\u0437\\u0456\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-drive\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u041a\\u043b\\u0430\\u0441 \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u043d\\u043e\\u0441\\u0442\\u0456\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-logistics\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u0411\\u0443\\u0434\\u0456\\u0432. \\u043c\\u0430\\u0433\\u0430\\u0437\\u0438\\u043d\\u0456\\u0432 (30 \\u043a\\u043c)\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-stores-count\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u041d\\u0430\\u0439\\u0431\\u043b\\u0438\\u0436\\u0447\\u0438\\u0439 \\u043c\\u0430\\u0433\\u0430\\u0437\\u0438\\u043d\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-store-nearest\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n      \\u003C\\\/div\\u003E\\n\\n      \\u003C!--\\n      \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n      \\u0422\\u0423\\u0422 \\u0414\\u041e\\u0414\\u0410\\u0412\\u0410\\u0422\\u0418 \\u041d\\u041e\\u0412\\u0406 \\u041a\\u0410\\u0420\\u0422\\u041a\\u0418 API\\n      \\u041a\\u043e\\u043f\\u0456\\u044e\\u0439 \\u0431\\u043b\\u043e\\u043a \\u043d\\u0438\\u0436\\u0447\\u0435 \\u0456 \\u0437\\u0430\\u043f\\u043e\\u0432\\u043d\\u044e\\u0439 \\u0441\\u0432\\u043e\\u0457\\u043c\\u0438 id \\u0442\\u0430 \\u043d\\u0430\\u0437\\u0432\\u0430\\u043c\\u0438.\\n      \\u0423 JS \\u0437\\u043d\\u0430\\u0439\\u0434\\u0438 \\u0441\\u0435\\u043a\\u0446\\u0456\\u044e \\u0022=== \\u041d\\u041e\\u0412\\u0406 API ===\\u0022 \\u0456 \\u0434\\u043e\\u0434\\u0430\\u0439 \\u0442\\u0430\\u043c \\u0440\\u044f\\u0434\\u043a\\u0438.\\n\\n      \\u003Cdiv class=\\u0022arch-data-card\\u0022 id=\\u0022arch-card-MYAPI\\u0022\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-card__title\\u0022\\u003E\\n          (\\u0456\\u043a\\u043e\\u043d\\u043a\\u0430 svg)\\n          \\u041d\\u0430\\u0437\\u0432\\u0430 API\\n        \\u003C\\\/div\\u003E\\n        \\u003Cdiv class=\\u0022arch-data-row\\u0022\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__key\\u0022\\u003E\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440 1\\u003C\\\/span\\u003E\\n          \\u003Cspan class=\\u0022arch-data-row__val\\u0022 id=\\u0022r-myapi-param1\\u0022\\u003E\\u2014\\u003C\\\/span\\u003E\\n        \\u003C\\\/div\\u003E\\n      \\u003C\\\/div\\u003E\\n      \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n      --\\u003E\\n\\n    \\u003C\\\/div\\u003E\\n    \\u003C!-- \\\/arch-results-grid --\\u003E\\n\\n    \\u003C!-- \\u041f\\u0456\\u0434\\u0441\\u0443\\u043c\\u043a\\u043e\\u0432\\u0438\\u0439 \\u043a\\u043e\\u0435\\u0444\\u0456\\u0446\\u0456\\u0454\\u043d\\u0442 \\u2014 \\u043e\\u0441\\u043d\\u043e\\u0432\\u043d\\u0438\\u0439 \\u0432\\u0438\\u0445\\u0456\\u0434 \\u0434\\u043b\\u044f CFF \\u0444\\u043e\\u0440\\u043c\\u0443\\u043b --\\u003E\\n    \\u003Cdiv class=\\u0022arch-widget__coef\\u0022 id=\\u0022arch-coef-block\\u0022 style=\\u0022display:none;\\u0022\\u003E\\n      \\u003Cdiv class=\\u0022arch-widget__coef-label\\u0022\\u003E\\n        \\u0417\\u0430\\u0433\\u0430\\u043b\\u044c\\u043d\\u0438\\u0439 \\u043a\\u043e\\u0435\\u0444\\u0456\\u0446\\u0456\\u0454\\u043d\\u0442 \\u043b\\u043e\\u043a\\u0430\\u0446\\u0456\\u0457\\u003Cbr\\u003E\\n        \\u003Cspan style=\\u0022font-size:11px;opacity:0.6;\\u0022\\u003E\\u0411\\u0430\\u0437\\u043e\\u0432\\u0430 \\u0446\\u0456\\u043d\\u0430 \\u00d7 \\u043a\\u043e\\u0435\\u0444\\u0456\\u0446\\u0456\\u0454\\u043d\\u0442 = \\u043f\\u043e\\u043f\\u0435\\u0440\\u0435\\u0434\\u043d\\u044f \\u043e\\u0446\\u0456\\u043d\\u043a\\u0430\\u003C\\\/span\\u003E\\n      \\u003C\\\/div\\u003E\\n      \\u003Cdiv class=\\u0022arch-widget__coef-value\\u0022 id=\\u0022r-coef-total\\u0022\\u003E\\u2014\\u003C\\\/div\\u003E\\n    \\u003C\\\/div\\u003E\\n\\n  \\u003C\\\/div\\u003E\\n  \\u003C!-- \\\/arch-widget__results --\\u003E\\n\\n\\u003C\\\/div\\u003E\\n\\u003C!-- \\\/arch-widget --\\u003E\\n\\n\\u003C!-- \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n     \\u041f\\u0420\\u0418\\u0425\\u041e\\u0412\\u0410\\u041d\\u0406 \\u041f\\u041e\\u041b\\u042f \\u2014 \\u0437\\u0430\\u043f\\u0438\\u0441 \\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u044c \\u0443 CFF\\n     \\u0426\\u0456 CSS \\u043a\\u043b\\u0430\\u0441\\u0438 \\u0447\\u0438\\u0442\\u0430\\u0454 \\u043a\\u0430\\u0440\\u0442\\u0430 \\u0442\\u0430 \\u043a\\u043b\\u0456\\u0454\\u043d\\u0442\\u0441\\u044c\\u043a\\u0438\\u0439 JS\\n     \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550 --\\u003E\\n\\u003Cdiv style=\\u0022display:none;\\u0022\\u003E\\n  \\u003C!-- \\u041a\\u043e\\u043e\\u0440\\u0434\\u0438\\u043d\\u0430\\u0442\\u0438 \\u2014 \\u043a\\u0430\\u0440\\u0442\\u0430 \\u043f\\u0438\\u0448\\u0435 \\u0441\\u044e\\u0434\\u0438 \\u043f\\u0456\\u0441\\u043b\\u044f \\u043a\\u043b\\u0456\\u043a\\u0443 --\\u003E\\n  \\u003Cinput class=\\u0022gis-lat-master\\u0022 type=\\u0022text\\u0022 id=\\u0022arch-lat-hidden\\u0022\\u003E\\n  \\u003Cinput class=\\u0022gis-lon-master\\u0022 type=\\u0022text\\u0022 id=\\u0022arch-lon-hidden\\u0022\\u003E\\n  \\u003C!-- \\u041a\\u043d\\u043e\\u043f\\u043a\\u0430 \\u2014 \\u043a\\u0430\\u0440\\u0442\\u0430 \\u043a\\u043b\\u0456\\u043a\\u0430\\u0454 \\u0457\\u0457 \\u043f\\u0456\\u0441\\u043b\\u044f \\u0437\\u0430\\u043f\\u0438\\u0441\\u0443 \\u043a\\u043e\\u043e\\u0440\\u0434\\u0438\\u043d\\u0430\\u0442 --\\u003E\\n  \\u003Cbutton class=\\u0022gis-fetch-btn\\u0022 id=\\u0022arch-fetch-trigger\\u0022 type=\\u0022button\\u0022\\u003Efetch\\u003C\\\/button\\u003E\\n\\u003C\\\/div\\u003E\\n\\n\\u003C!-- \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n     LEAFLET JS + \\u041b\\u041e\\u0413\\u0406\\u041a\\u0410 \\u0412\\u0418\\u0414\\u0416\\u0415\\u0422\\u0410\\n     \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550 --\\u003E\\n\\u003Cscript src=\\u0022https:\\\/\\\/unpkg.com\\\/leaflet@1.9.4\\\/dist\\\/leaflet.js\\u0022\\u003E\\u003C\\\/script\\u003E\\n\\u003Cscript\\u003E\\n(function () {\\n  'use strict';\\n\\n  \\\/\\\/ \\u2500\\u2500 \\u0417\\u0430\\u0445\\u0438\\u0441\\u0442 \\u0432\\u0456\\u0434 \\u043f\\u043e\\u0434\\u0432\\u0456\\u0439\\u043d\\u043e\\u0457 \\u0456\\u043d\\u0456\\u0446\\u0456\\u0430\\u043b\\u0456\\u0437\\u0430\\u0446\\u0456\\u0457 (WordPress \\u043c\\u043e\\u0436\\u0435 \\u0437\\u0430\\u0432\\u0430\\u043d\\u0442\\u0430\\u0436\\u0438\\u0442\\u0438 \\u0434\\u0432\\u0456\\u0447\\u0456) \\u2500\\u2500\\n  if (window._archMapLoaded) return;\\n  window._archMapLoaded = true;\\n\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  \\\/\\\/ \\u041d\\u0410\\u041b\\u0410\\u0428\\u0422\\u0423\\u0412\\u0410\\u041d\\u041d\\u042f\\n  \\\/\\\/ \\u0417\\u043c\\u0456\\u043d\\u044e\\u0439 \\u0442\\u0443\\u0442 \\u0449\\u043e\\u0431 \\u043f\\u0456\\u0434\\u043b\\u0430\\u0448\\u0442\\u0443\\u0432\\u0430\\u0442\\u0438 \\u043f\\u0456\\u0434 \\u0441\\u0432\\u0456\\u0439 \\u0441\\u0430\\u0439\\u0442\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  const CONFIG = {\\n    \\\/\\\/ \\u041f\\u043e\\u0447\\u0430\\u0442\\u043a\\u043e\\u0432\\u0430 \\u0442\\u043e\\u0447\\u043a\\u0430 \\u043a\\u0430\\u0440\\u0442\\u0438 [lat, lon] \\u0442\\u0430 \\u0437\\u0443\\u043c\\n    mapCenter:   [49.00, 18.00],\\n    mapZoom:     6,\\n\\n    \\\/\\\/ CSS \\u043a\\u043b\\u0430\\u0441\\u0438 CFF \\u043f\\u043e\\u043b\\u0456\\u0432 \\u043a\\u0443\\u0434\\u0438 \\u0437\\u0430\\u043f\\u0438\\u0441\\u0443\\u044e\\u0442\\u044c\\u0441\\u044f \\u043a\\u043e\\u043e\\u0440\\u0434\\u0438\\u043d\\u0430\\u0442\\u0438\\n    \\\/\\\/ \\u042f\\u043a\\u0449\\u043e \\u0443 \\u0442\\u0435\\u0431\\u0435 \\u0456\\u043d\\u0448\\u0456 \\u043a\\u043b\\u0430\\u0441\\u0438 \\u2014 \\u0437\\u043c\\u0456\\u043d\\u044e\\u0439 \\u0442\\u0443\\u0442\\n    latSelector: '.gis-lat-master input, .gis-lat-master',\\n    lonSelector: '.gis-lon-master input, .gis-lon-master',\\n    btnSelector: '.gis-fetch-btn button, .gis-fetch-btn',\\n\\n    \\\/\\\/ WordPress Ajax URL \\u2014 wp_localize_script \\u043f\\u0435\\u0440\\u0435\\u0434\\u0430\\u0454 arch_ajax.url\\n    \\\/\\\/ \\u042f\\u043a\\u0449\\u043e arch_ajax \\u043d\\u0435 \\u0432\\u0438\\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u043e \\u2014 fallback \\u043d\\u0430 \\u0441\\u0442\\u0430\\u043d\\u0434\\u0430\\u0440\\u0442\\u043d\\u0438\\u0439 \\u0448\\u043b\\u044f\\u0445\\n    ajaxUrl: (typeof arch_ajax !== 'undefined') ? arch_ajax.url : '\\\/wp-admin\\\/admin-ajax.php',\\n    nonce:   (typeof arch_ajax !== 'undefined') ? arch_ajax.nonce : '',\\n\\n    \\\/\\\/ \\u0417\\u0430\\u0442\\u0440\\u0438\\u043c\\u043a\\u0430 \\u043f\\u0435\\u0440\\u0435\\u0434 \\u0437\\u0430\\u043f\\u0438\\u0442\\u043e\\u043c \\u043f\\u0456\\u0441\\u043b\\u044f \\u043a\\u043b\\u0456\\u043a\\u0443 \\u043d\\u0430 \\u043a\\u0430\\u0440\\u0442\\u0443 (\\u043c\\u0441)\\n    fetchDelay: 600,\\n  };\\n\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  \\\/\\\/ \\u0406\\u041d\\u0406\\u0426\\u0406\\u0410\\u041b\\u0406\\u0417\\u0410\\u0426\\u0406\\u042f \\u041a\\u0410\\u0420\\u0422\\u0418\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  function initMap() {\\n    const map = L.map('arch-leaflet-map', {\\n      zoomControl: true,\\n      attributionControl: false, \\\/\\\/ \\u0445\\u043e\\u0432\\u0430\\u0454\\u043c\\u043e \\u0434\\u043b\\u044f \\u0447\\u0438\\u0441\\u0442\\u043e\\u0442\\u0438 UI\\n    }).setView(CONFIG.mapCenter, CONFIG.mapZoom);\\n\\n    \\\/\\\/ \\u0428\\u0430\\u0440 1: \\u0421\\u0443\\u043f\\u0443\\u0442\\u043d\\u0438\\u043a\\u043e\\u0432\\u0438\\u0439 \\u0437\\u043d\\u0456\\u043c\\u043e\\u043a (ArcGIS World Imagery \\u2014 \\u0431\\u0435\\u0437\\u043a\\u043e\\u0448\\u0442\\u043e\\u0432\\u043d\\u043e)\\n    L.tileLayer(\\n      'https:\\\/\\\/server.arcgisonline.com\\\/ArcGIS\\\/rest\\\/services\\\/World_Imagery\\\/MapServer\\\/tile\\\/{z}\\\/{y}\\\/{x}',\\n      { maxZoom: 19 }\\n    ).addTo(map);\\n\\n    \\\/\\\/ \\u0428\\u0430\\u0440 2: \\u041f\\u0456\\u0434\\u043f\\u0438\\u0441\\u0438 \\u043c\\u0456\\u0441\\u0442 \\u0456 \\u0434\\u043e\\u0440\\u0456\\u0433 \\u043f\\u043e\\u0432\\u0435\\u0440\\u0445 \\u0437\\u043d\\u0456\\u043c\\u043a\\u0430\\n    L.tileLayer(\\n      'https:\\\/\\\/services.arcgisonline.com\\\/ArcGIS\\\/rest\\\/services\\\/Reference\\\/World_Boundaries_and_Places\\\/MapServer\\\/tile\\\/{z}\\\/{y}\\\/{x}',\\n      { maxZoom: 19 }\\n    ).addTo(map);\\n\\n    \\\/\\\/ \\u041a\\u0430\\u0441\\u0442\\u043e\\u043c\\u043d\\u0438\\u0439 \\u043c\\u0430\\u0440\\u043a\\u0435\\u0440 \\u2014 \\u0437\\u043e\\u043b\\u043e\\u0442\\u0430 \\u043a\\u0440\\u0430\\u043f\\u043a\\u0430 \\u0437\\u0430\\u043c\\u0456\\u0441\\u0442\\u044c \\u0441\\u0442\\u0430\\u043d\\u0434\\u0430\\u0440\\u0442\\u043d\\u043e\\u0433\\u043e \\u0441\\u0438\\u043d\\u044c\\u043e\\u0433\\u043e\\n    const markerIcon = L.divIcon({\\n      className: 'arch-marker-icon',\\n      iconSize:  [14, 14],\\n      iconAnchor:[7, 7],\\n    });\\n\\n    let marker = null;\\n\\n    \\\/\\\/ \\u2500\\u2500 \\u041e\\u0431\\u0440\\u043e\\u0431\\u043d\\u0438\\u043a \\u043a\\u043b\\u0456\\u043a\\u0443 \\u043d\\u0430 \\u043a\\u0430\\u0440\\u0442\\u0443 \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n    map.on('click', function (e) {\\n      const lat = e.latlng.lat.toFixed(6);\\n      const lon = e.latlng.lng.toFixed(6);\\n\\n      \\\/\\\/ \\u041e\\u043d\\u043e\\u0432\\u043b\\u044e\\u0454\\u043c\\u043e\\\/\\u043f\\u0435\\u0440\\u0435\\u0441\\u0442\\u0430\\u0432\\u043b\\u044f\\u0454\\u043c\\u043e \\u043c\\u0430\\u0440\\u043a\\u0435\\u0440\\n      if (marker) {\\n        marker.setLatLng([lat, lon]);\\n      } else {\\n        marker = L.marker([lat, lon], { icon: markerIcon }).addTo(map);\\n      }\\n\\n      \\\/\\\/ \\u041f\\u043e\\u043a\\u0430\\u0437\\u0443\\u0454\\u043c\\u043e \\u043a\\u043e\\u043e\\u0440\\u0434\\u0438\\u043d\\u0430\\u0442\\u0438 \\u0443 \\u0432\\u0456\\u0434\\u043e\\u0431\\u0440\\u0430\\u0436\\u0430\\u043b\\u044c\\u043d\\u0438\\u0445 \\u0435\\u043b\\u0435\\u043c\\u0435\\u043d\\u0442\\u0430\\u0445\\n      updateCoordDisplay(lat, lon);\\n\\n      \\\/\\\/ \\u041f\\u0438\\u0448\\u0435\\u043c\\u043e \\u0443 \\u043f\\u0440\\u0438\\u0445\\u043e\\u0432\\u0430\\u043d\\u0456 CFF \\u043f\\u043e\\u043b\\u044f\\n      writeToFormFields(lat, lon);\\n\\n      \\\/\\\/ \\u0417\\u0430\\u043f\\u0443\\u0441\\u043a\\u0430\\u0454\\u043c\\u043e \\u043e\\u0442\\u0440\\u0438\\u043c\\u0430\\u043d\\u043d\\u044f \\u0434\\u0430\\u043d\\u0438\\u0445 \\u0456\\u0437 \\u0437\\u0430\\u0442\\u0440\\u0438\\u043c\\u043a\\u043e\\u044e\\n      scheduleDataFetch(lat, lon);\\n    });\\n  }\\n\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  \\\/\\\/ \\u041e\\u041d\\u041e\\u0412\\u041b\\u0415\\u041d\\u041d\\u042f \\u0412\\u0406\\u0414\\u041e\\u0411\\u0420\\u0410\\u0416\\u0415\\u041d\\u041d\\u042f \\u041a\\u041e\\u041e\\u0420\\u0414\\u0418\\u041d\\u0410\\u0422\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  function updateCoordDisplay(lat, lon) {\\n    const elLat = document.getElementById('arch-display-lat');\\n    const elLon = document.getElementById('arch-display-lon');\\n\\n    if (elLat) {\\n      elLat.textContent = lat;\\n      elLat.classList.remove('is-empty');\\n    }\\n    if (elLon) {\\n      elLon.textContent = lon;\\n      elLon.classList.remove('is-empty');\\n    }\\n  }\\n\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  \\\/\\\/ \\u0417\\u0410\\u041f\\u0418\\u0421 \\u041a\\u041e\\u041e\\u0420\\u0414\\u0418\\u041d\\u0410\\u0422 \\u0423 CFF \\u041f\\u041e\\u041b\\u042f\\n  \\\/\\\/ \\u0417\\u043d\\u0430\\u0445\\u043e\\u0434\\u0438\\u0442\\u044c \\u043f\\u043e\\u043b\\u044f \\u0437\\u0430 CSS \\u043a\\u043b\\u0430\\u0441\\u0430\\u043c\\u0438 \\u0437 CONFIG \\u0442\\u0430 \\u0442\\u0440\\u0438\\u0433\\u0435\\u0440\\u0438\\u0442\\u044c \\u043f\\u043e\\u0434\\u0456\\u0457\\n  \\\/\\\/ \\u0449\\u043e\\u0431 CFF \\u0437\\u0440\\u043e\\u0437\\u0443\\u043c\\u0456\\u0432 \\u0449\\u043e \\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u043d\\u044f \\u0437\\u043c\\u0456\\u043d\\u0438\\u043b\\u043e\\u0441\\u044c\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  function writeToFormFields(lat, lon) {\\n    const latField = document.querySelector(CONFIG.latSelector);\\n    const lonField = document.querySelector(CONFIG.lonSelector);\\n\\n    [\\n      [latField, lat],\\n      [lonField, lon],\\n    ].forEach(([field, value]) =\\u003E {\\n      if (!field) return;\\n      field.value = value;\\n      \\\/\\\/ \\u041e\\u0431\\u0438\\u0434\\u0432\\u0456 \\u043f\\u043e\\u0434\\u0456\\u0457 \\u043f\\u043e\\u0442\\u0440\\u0456\\u0431\\u043d\\u0456 \\u2014 CFF \\u0440\\u0435\\u0430\\u0433\\u0443\\u0454 \\u043d\\u0430 input, \\u0434\\u0435\\u044f\\u043a\\u0456 \\u0442\\u0435\\u043c\\u0438 \\u043d\\u0430 change\\n      field.dispatchEvent(new Event('input',  { bubbles: true }));\\n      field.dispatchEvent(new Event('change', { bubbles: true }));\\n    });\\n  }\\n\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  \\\/\\\/ \\u041e\\u0422\\u0420\\u0418\\u041c\\u0410\\u041d\\u041d\\u042f \\u0414\\u0410\\u041d\\u0418\\u0425 \\u0427\\u0415\\u0420\\u0415\\u0417 PHP \\u041f\\u0420\\u041e\\u041a\\u0421\\u0406\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  let fetchTimer = null;\\n\\n  function scheduleDataFetch(lat, lon) {\\n    \\\/\\\/ Debounce \\u2014 \\u044f\\u043a\\u0449\\u043e \\u043a\\u043b\\u0456\\u043a\\u043d\\u0443\\u043b\\u0438 \\u0434\\u0432\\u0456\\u0447\\u0456 \\u0448\\u0432\\u0438\\u0434\\u043a\\u043e, \\u0441\\u043a\\u0430\\u0441\\u043e\\u0432\\u0443\\u0454\\u043c\\u043e \\u043f\\u043e\\u043f\\u0435\\u0440\\u0435\\u0434\\u043d\\u0456\\u0439 \\u0437\\u0430\\u043f\\u0438\\u0442\\n    clearTimeout(fetchTimer);\\n    fetchTimer = setTimeout(() =\\u003E fetchLocationData(lat, lon), CONFIG.fetchDelay);\\n  }\\n\\n  async function fetchLocationData(lat, lon) {\\n    \\\/\\\/ \\u041f\\u043e\\u043a\\u0430\\u0437\\u0443\\u0454\\u043c\\u043e \\u0441\\u0442\\u0430\\u043d \\u0437\\u0430\\u0432\\u0430\\u043d\\u0442\\u0430\\u0436\\u0435\\u043d\\u043d\\u044f\\n    setState('loading');\\n\\n    try {\\n      const body = new URLSearchParams({\\n        action: 'arch_get_location', \\\/\\\/ WordPress Ajax action \\u0437 PHP \\u043f\\u043b\\u0430\\u0433\\u0456\\u043d\\u0430\\n        lat,\\n        lon,\\n        nonce: CONFIG.nonce,\\n      });\\n\\n      const res  = await fetch(CONFIG.ajaxUrl, {\\n        method:  'POST',\\n        headers: { 'Content-Type': 'application\\\/x-www-form-urlencoded' },\\n        body,\\n      });\\n\\n      const json = await res.json();\\n\\n      if (!json.success) throw new Error(json.data?.message || '\\u041f\\u043e\\u043c\\u0438\\u043b\\u043a\\u0430 \\u0441\\u0435\\u0440\\u0432\\u0435\\u0440\\u0430');\\n\\n      \\\/\\\/ \\u0412\\u0456\\u0434\\u043e\\u0431\\u0440\\u0430\\u0436\\u0430\\u0454\\u043c\\u043e \\u043e\\u0442\\u0440\\u0438\\u043c\\u0430\\u043d\\u0456 \\u0434\\u0430\\u043d\\u0456\\n      renderResults(json.data);\\n      setState('results');\\n\\n      \\\/\\\/ \\u0422\\u0430\\u043a\\u043e\\u0436 \\u043a\\u043b\\u0456\\u043a\\u0430\\u0454\\u043c\\u043e \\u043f\\u0440\\u0438\\u0445\\u043e\\u0432\\u0430\\u043d\\u0443 \\u043a\\u043d\\u043e\\u043f\\u043a\\u0443 CFF \\u044f\\u043a\\u0449\\u043e \\u0432\\u043e\\u043d\\u0430 \\u0454\\n      const btn = document.querySelector(CONFIG.btnSelector);\\n      if (btn) btn.click();\\n\\n    } catch (err) {\\n      console.error('[ArchMap] \\u041f\\u043e\\u043c\\u0438\\u043b\\u043a\\u0430 \\u0437\\u0430\\u043f\\u0438\\u0442\\u0443:', err.message);\\n      setState('idle'); \\\/\\\/ \\u041f\\u043e\\u0432\\u0435\\u0440\\u0442\\u0430\\u0454\\u043c\\u043e\\u0441\\u044c \\u0434\\u043e \\u043f\\u043e\\u0447\\u0430\\u0442\\u043a\\u043e\\u0432\\u043e\\u0433\\u043e \\u0441\\u0442\\u0430\\u043d\\u0443 \\u043f\\u0440\\u0438 \\u043f\\u043e\\u043c\\u0438\\u043b\\u0446\\u0456\\n    }\\n  }\\n\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  \\\/\\\/ \\u0412\\u0406\\u0414\\u041e\\u0411\\u0420\\u0410\\u0416\\u0415\\u041d\\u041d\\u042f \\u0420\\u0415\\u0417\\u0423\\u041b\\u042c\\u0422\\u0410\\u0422\\u0406\\u0412\\n  \\\/\\\/ \\u041a\\u043e\\u0436\\u0435\\u043d id=\\u0022r-*\\u0022 \\u0432\\u0456\\u0434\\u043f\\u043e\\u0432\\u0456\\u0434\\u0430\\u0454 \\u0435\\u043b\\u0435\\u043c\\u0435\\u043d\\u0442\\u0443 \\u0443 HTML \\u0432\\u0438\\u0449\\u0435\\n  \\\/\\\/\\n  \\\/\\\/ \\u042f\\u041a \\u0414\\u041e\\u0414\\u0410\\u0422\\u0418 \\u041d\\u041e\\u0412\\u0415 API:\\n  \\\/\\\/ 1. \\u0414\\u043e\\u0434\\u0430\\u0439 \\u043a\\u0430\\u0440\\u0442\\u043a\\u0443 \\u0443 HTML (\\u0441\\u0435\\u043a\\u0446\\u0456\\u044f \\u0022\\u0422\\u0423\\u0422 \\u0414\\u041e\\u0414\\u0410\\u0412\\u0410\\u0422\\u0418 \\u041d\\u041e\\u0412\\u0406 \\u041a\\u0410\\u0420\\u0422\\u041a\\u0418\\u0022)\\n  \\\/\\\/ 2. \\u0414\\u043e\\u0434\\u0430\\u0439 \\u0440\\u044f\\u0434\\u043a\\u0438 \\u043d\\u0438\\u0436\\u0447\\u0435 \\u0443 \\u0441\\u0435\\u043a\\u0446\\u0456\\u0457 \\u0022=== \\u041d\\u041e\\u0412\\u0406 API ===\\u0022\\n  \\\/\\\/    \\u0424\\u043e\\u0440\\u043c\\u0430\\u0442: set('id-\\u0435\\u043b\\u0435\\u043c\\u0435\\u043d\\u0442\\u0430', \\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u043d\\u044f_\\u0437_data)\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  function renderResults(data) {\\n    \\\/\\\/ \\u0425\\u0435\\u043b\\u043f\\u0435\\u0440 \\u2014 \\u0432\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u044e\\u0454 \\u0442\\u0435\\u043a\\u0441\\u0442 \\u0435\\u043b\\u0435\\u043c\\u0435\\u043d\\u0442\\u0430 \\u0437\\u0430 id\\n    function set(id, value, suffix = '') {\\n      const el = document.getElementById(id);\\n      if (el) el.textContent = (value !== null && value !== undefined) ? value + suffix : '\\u2014';\\n    }\\n\\n    \\\/\\\/ \\u041b\\u043e\\u043a\\u0430\\u043b\\u0456\\u0437\\u0430\\u0446\\u0456\\u044f \\u0442\\u0438\\u043f\\u0456\\u0432 \\u043d\\u0430\\u0441. \\u043f\\u0443\\u043d\\u043a\\u0442\\u0443\\n    const settlementLabels = {\\n      city: '\\u041c\\u0456\\u0441\\u0442\\u043e', town: '\\u041c\\u0456\\u0441\\u0442\\u0435\\u0447\\u043a\\u043e', village: '\\u0421\\u0435\\u043b\\u043e', hamlet: '\\u0425\\u0443\\u0442\\u0456\\u0440', suburb: '\\u041f\\u0435\\u0440\\u0435\\u0434\\u043c\\u0456\\u0441\\u0442\\u044f', unknown: '\\u2014',\\n    };\\n    const slopeLabels = {\\n      flat: '\\u0420\\u0456\\u0432\\u043d\\u0430', gentle: '\\u041f\\u043e\\u043b\\u043e\\u0433\\u0438\\u0439', moderate: '\\u041f\\u043e\\u043c\\u0456\\u0440\\u043d\\u0438\\u0439', steep: '\\u041a\\u0440\\u0443\\u0442\\u0438\\u0439',\\n    };\\n    const soilLabels = {\\n      sandy: '\\u041f\\u0456\\u0449\\u0430\\u043d\\u0438\\u0439', loam: '\\u0421\\u0443\\u0433\\u043b\\u0438\\u043d\\u043e\\u043a', clay_loam: '\\u0413\\u043b\\u0438\\u043d\\u0438\\u0441\\u0442\\u0438\\u0439 \\u0441\\u0443\\u0433\\u043b\\u0438\\u043d\\u043e\\u043a', clay: '\\u0413\\u043b\\u0438\\u043d\\u0430', unknown: '\\u2014',\\n    };\\n    const logisticsLabels = {\\n      urban: '\\u041c\\u0456\\u0441\\u044c\\u043a\\u0430', suburban: '\\u041f\\u0440\\u0438\\u043c\\u0456\\u0441\\u044c\\u043a\\u0430', rural: '\\u0421\\u0456\\u043b\\u044c\\u0441\\u044c\\u043a\\u0430', remote: '\\u0412\\u0456\\u0434\\u0434\\u0430\\u043b\\u0435\\u043d\\u0430',\\n    };\\n\\n    \\\/\\\/ \\u2500\\u2500 \\u041b\\u043e\\u043a\\u0430\\u0446\\u0456\\u044f (Nominatim) \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n    const loc = data.location || {};\\n    set('r-country',    loc.country);\\n    set('r-region',     loc.region);\\n    set('r-city',       loc.city);\\n    set('r-settlement', settlementLabels[loc.settlement] || loc.settlement);\\n\\n    \\\/\\\/ \\u2500\\u2500 \\u0420\\u0435\\u043b\\u044c\\u0454\\u0444 (Open-Elevation) \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n    const elev = data.elevation || {};\\n    set('r-elevation',   elev.elevation_m,  ' \\u043c');\\n    set('r-slope',       elev.slope_deg,    '\\u00b0');\\n    set('r-slope-class', slopeLabels[elev.slope_class] || elev.slope_class);\\n\\n    \\\/\\\/ \\u2500\\u2500 \\u041a\\u043b\\u0456\\u043c\\u0430\\u0442 (Open-Meteo) \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n    const clim = data.climate || {};\\n    set('r-frost',  clim.frost_days_per_year, ' \\u0434\\u043d\\\/\\u0440\\u0456\\u043a');\\n    set('r-snow',   clim.snow_load_class);\\n    set('r-wind',   clim.wind_load_class);\\n    set('r-precip', clim.annual_precip_mm, ' \\u043c\\u043c\\\/\\u0440\\u0456\\u043a');\\n\\n    \\\/\\\/ \\u2500\\u2500 \\u0490\\u0440\\u0443\\u043d\\u0442 (SoilGrids ISRIC) \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n    const soil = data.soil || {};\\n    set('r-soil', soilLabels[soil.soil_class] || soil.soil_class);\\n    set('r-clay', soil.clay_pct !== null ? soil.clay_pct + '%' : null);\\n    set('r-sand', soil.sand_pct !== null ? soil.sand_pct + '%' : null);\\n\\n    \\\/\\\/ \\u2500\\u2500 \\u0421\\u0435\\u0439\\u0441\\u043c\\u0456\\u0447\\u043d\\u0456\\u0441\\u0442\\u044c (USGS) \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n    const seis = data.seismic || {};\\n    set('r-seismic',        seis.seismic_class ? '\\u041a\\u043b\\u0430\\u0441 ' + seis.seismic_class : null);\\n    set('r-seismic-events', seis.events_10y);\\n    set('r-seismic-mag',    seis.max_magnitude);\\n\\n    \\\/\\\/ \\u2500\\u2500 \\u0406\\u043d\\u0444\\u0440\\u0430\\u0441\\u0442\\u0440\\u0443\\u043a\\u0442\\u0443\\u0440\\u0430 (OSRM + Overpass) \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n    const rout  = data.routing || {};\\n    const store = data.stores  || {};\\n    set('r-city-name',    rout.nearest_city);\\n    set('r-city-dist',    rout.distance_km,  ' \\u043a\\u043c');\\n    set('r-drive',        rout.drive_minutes, ' \\u0445\\u0432');\\n    set('r-logistics',    logisticsLabels[rout.logistics_class] || rout.logistics_class);\\n    set('r-stores-count', store.count_30km,  ' \\u0448\\u0442');\\n    set('r-store-nearest',\\n      store.nearest_store\\n        ? `${store.nearest_store.name} (${store.nearest_store.dist_km} \\u043a\\u043c)`\\n        : null\\n    );\\n\\n    \\\/\\\/ \\u2500\\u2500 \\u0417\\u0430\\u0433\\u0430\\u043b\\u044c\\u043d\\u0438\\u0439 \\u043a\\u043e\\u0435\\u0444\\u0456\\u0446\\u0456\\u0454\\u043d\\u0442 \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n    const coef = data.coefficients || {};\\n    if (coef.total) {\\n      set('r-coef-total', '\\u00d7 ' + coef.total);\\n      document.getElementById('arch-coef-block').style.display = 'flex';\\n    }\\n\\n    \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n    \\\/\\\/ === \\u041d\\u041e\\u0412\\u0406 API \\u2014 \\u0414\\u041e\\u0414\\u0410\\u0412\\u0410\\u0419 \\u0420\\u042f\\u0414\\u041a\\u0418 \\u0422\\u0423\\u0422 ===\\n    \\\/\\\/\\n    \\\/\\\/ \\u041f\\u0440\\u0438\\u043a\\u043b\\u0430\\u0434 \\u0434\\u043b\\u044f \\u043d\\u043e\\u0432\\u043e\\u0433\\u043e API \\u0022myapi\\u0022 \\u0437 \\u043f\\u043e\\u043b\\u0435\\u043c \\u0022param1\\u0022:\\n    \\\/\\\/ const myapi = data.my_api_key || {};\\n    \\\/\\\/ set('r-myapi-param1', myapi.param1);\\n    \\\/\\\/\\n    \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  }\\n\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  \\\/\\\/ \\u0423\\u041f\\u0420\\u0410\\u0412\\u041b\\u0406\\u041d\\u041d\\u042f \\u0421\\u0422\\u0410\\u041d\\u0410\\u041c\\u0418 UI\\n  \\\/\\\/ idle \\u2192 loading \\u2192 results\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  function setState(state) {\\n    const idle    = document.getElementById('arch-state-idle');\\n    const loading = document.getElementById('arch-state-loading');\\n    const results = document.getElementById('arch-state-results');\\n    const coef    = document.getElementById('arch-coef-block');\\n\\n    \\\/\\\/ \\u0425\\u043e\\u0432\\u0430\\u0454\\u043c\\u043e \\u0432\\u0441\\u0456, \\u043f\\u043e\\u0442\\u0456\\u043c \\u043f\\u043e\\u043a\\u0430\\u0437\\u0443\\u0454\\u043c\\u043e \\u043f\\u043e\\u0442\\u0440\\u0456\\u0431\\u043d\\u0438\\u0439\\n    idle.style.display    = 'none';\\n    loading.style.display = 'none';\\n    results.style.display = 'none';\\n\\n    if (state === 'idle') {\\n      idle.style.display    = 'flex';\\n      if (coef) coef.style.display = 'none';\\n    } else if (state === 'loading') {\\n      loading.style.display = 'flex';\\n    } else if (state === 'results') {\\n      results.style.display = 'grid';\\n    }\\n  }\\n\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  \\\/\\\/ \\u0421\\u0422\\u0410\\u0420\\u0422 \\u2014 \\u0447\\u0435\\u043a\\u0430\\u0454\\u043c\\u043e \\u043f\\u043e\\u043a\\u0438 Leaflet \\u0437\\u0430\\u0432\\u0430\\u043d\\u0442\\u0430\\u0436\\u0438\\u0442\\u044c\\u0441\\u044f\\n  \\\/\\\/ \\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\n  function waitForLeaflet(cb, attempts = 0) {\\n    if (typeof L !== 'undefined') {\\n      cb();\\n    } else if (attempts \\u003C 20) {\\n      setTimeout(() =\\u003E waitForLeaflet(cb, attempts + 1), 200);\\n    } else {\\n      console.error('[ArchMap] Leaflet \\u043d\\u0435 \\u0437\\u0430\\u0432\\u0430\\u043d\\u0442\\u0430\\u0436\\u0438\\u0432\\u0441\\u044f');\\n    }\\n  }\\n\\n  waitForLeaflet(initMap);\\n\\n})();\\n\\u003C\\\/script\\u003E\",\"fBuild\":{},\"parent\":\"\"},{\"form_identifier\":\"\",\"name\":\"fieldname72\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":4,\"ftype\":\"fhtml\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"_developerNotes\":\"\",\"allowscript\":1,\"replaceShortcodes\":0,\"fcontent\":\"\\u003Cscript\\u003E\\n(function(){\\n\\nfunction getRealInput(className){\\n   let el = document.querySelector(\\u0022.\\u0022 + className);\\n   if(!el) return null;\\n\\n   if(el.matches(\\u0022input,textarea,select\\u0022)) return el;\\n\\n   return el.querySelector(\\u0022input,textarea,select\\u0022);\\n}\\n\\n\\\/\\\/ ==============================\\n\\\/\\\/ \\u041e\\u0427\\u0418\\u0421\\u0422\\u041a\\u0410 \\u041f\\u041e\\u041b\\u0406\\u0412\\n\\\/\\\/ ==============================\\nfunction clearFields(){\\n\\n   const fields = [\\n      \\u0022gis-landuse\\u0022,\\n      \\u0022gis-buildings\\u0022,\\n      \\u0022gis-roads\\u0022\\n   ];\\n\\n   fields.forEach(cls =\\u003E {\\n      const f = getRealInput(cls);\\n      if(f){\\n         f.value = \\u0022\\u0022;\\n         f.dispatchEvent(new Event(\\u0022input\\u0022,{bubbles:true}));\\n         f.dispatchEvent(new Event(\\u0022change\\u0022,{bubbles:true}));\\n      }\\n   });\\n\\n   console.log(\\u0022Fields cleared\\u0022);\\n}\\n\\n\\\/\\\/ ==============================\\n\\\/\\\/ OSM LOOKUP\\n\\\/\\\/ ==============================\\nasync function fetchOSM(lat, lon){\\n\\n   console.log(\\u0022OSM lookup:\\u0022, lat, lon);\\n\\n   \\\/\\\/ \\ud83d\\udd25 \\u043e\\u0447\\u0438\\u0449\\u0430\\u0454\\u043c\\u043e \\u043f\\u0435\\u0440\\u0435\\u0434 \\u0437\\u0430\\u043f\\u0438\\u0442\\u043e\\u043c\\n   clearFields();\\n\\n   const query = `\\n   [out:json][timeout:10];\\n   (\\n     way(around:200,${lat},${lon})[\\u0022landuse\\u0022];\\n     way(around:200,${lat},${lon})[\\u0022building\\u0022];\\n     way(around:200,${lat},${lon})[\\u0022highway\\u0022];\\n     way(around:200,${lat},${lon})[\\u0022natural\\u0022];\\n     node(around:200,${lat},${lon})[\\u0022amenity\\u0022];\\n   );\\n   out tags;\\n   `;\\n\\n   try{\\n      const res = await fetch(\\u0022https:\\\/\\\/overpass-api.de\\\/api\\\/interpreter\\u0022, {\\n         method: \\u0022POST\\u0022,\\n         body: query\\n      });\\n\\n      const data = await res.json();\\n\\n      let result = {\\n         landuse: null,\\n         buildings: 0,\\n         roads: 0\\n      };\\n\\n      data.elements.forEach(el =\\u003E {\\n\\n         const t = el.tags || {};\\n\\n         if(t.landuse && !result.landuse){\\n            result.landuse = t.landuse;\\n         }\\n\\n         if(t.building){\\n            result.buildings++;\\n         }\\n\\n         if(t.highway){\\n            result.roads++;\\n         }\\n\\n      });\\n\\n      console.log(\\u0022OSM:\\u0022, result);\\n\\n      \\\/\\\/ =====================\\n      \\\/\\\/ \\u0417\\u0410\\u041f\\u0418\\u0421\\n      \\\/\\\/ =====================\\n\\n      const landuseField = getRealInput(\\u0022gis-landuse\\u0022);\\n      const densityField = getRealInput(\\u0022gis-buildings\\u0022);\\n      const roadsField = getRealInput(\\u0022gis-roads\\u0022);\\n\\n      \\\/\\\/ \\u044f\\u043a\\u0449\\u043e \\u043d\\u0456\\u0447\\u043e\\u0433\\u043e \\u043d\\u0435 \\u0437\\u043d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e \\u2014 \\u0437\\u0430\\u043b\\u0438\\u0448\\u0438\\u0442\\u044c\\u0441\\u044f \\u043f\\u0443\\u0441\\u0442\\u043e\\n\\n      if(landuseField && result.landuse){\\n         landuseField.value = result.landuse;\\n      }\\n\\n      if(densityField && result.buildings \\u003E 0){\\n         densityField.value = result.buildings;\\n      }\\n\\n      if(roadsField && result.roads \\u003E 0){\\n         roadsField.value = result.roads;\\n      }\\n\\n   }catch(e){\\n      console.error(\\u0022OSM error:\\u0022, e);\\n\\n      \\\/\\\/ \\u044f\\u043a\\u0449\\u043e \\u043f\\u043e\\u043c\\u0438\\u043b\\u043a\\u0430 \\u2014 \\u0442\\u0435\\u0436 \\u043e\\u0447\\u0438\\u0449\\u0430\\u0454\\u043c\\u043e\\n      clearFields();\\n   }\\n\\n}\\n\\n\\\/\\\/ ==============================\\n\\\/\\\/ \\u041f\\u0415\\u0420\\u0415\\u0425\\u0412\\u0410\\u0422 coords\\n\\\/\\\/ ==============================\\nconst oldLog = console.log;\\n\\nconsole.log = function(...args){\\n\\n   oldLog.apply(console,args);\\n\\n   const txt = args.join(\\u0022 \\u0022);\\n\\n   if(txt.includes(\\u0022coords:\\u0022)){\\n\\n      const match = txt.match(\\\/coords:\\\\s*([0-9\\\\.\\\\-]+)\\\\s+([0-9\\\\.\\\\-]+)\\\/i);\\n\\n      if(match){\\n\\n         const lat = match[1];\\n         const lon = match[2];\\n\\n         fetchOSM(lat, lon);\\n\\n      }\\n\\n   }\\n\\n};\\n\\n})();\\n\\u003C\\\/script\\u003E\",\"fBuild\":{},\"parent\":\"\"},{\"form_identifier\":\"\",\"name\":\"fieldname76\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":5,\"ftype\":\"fhtml\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"_developerNotes\":\"\",\"allowscript\":1,\"replaceShortcodes\":0,\"fcontent\":\"\\u003Cscript\\u003E\\n(function(){\\n\\nfunction getRealInput(className){\\n   let el = document.querySelector(\\u0022.\\u0022 + className);\\n   if(!el) return null;\\n\\n   if(el.matches(\\u0022input,textarea,select\\u0022)) return el;\\n\\n   return el.querySelector(\\u0022input,textarea,select\\u0022);\\n}\\n\\n\\\/\\\/ ==============================\\n\\\/\\\/ \\u041e\\u0427\\u0418\\u0421\\u0422\\u041a\\u0410\\n\\\/\\\/ ==============================\\nfunction clearAll(){\\n\\n   const fields = [\\u0022gis-osm-raw\\u0022];\\n\\n   fields.forEach(cls =\\u003E {\\n      const f = getRealInput(cls);\\n      if(f){\\n         f.value = \\u0022\\u0022;\\n         f.dispatchEvent(new Event(\\u0022input\\u0022,{bubbles:true}));\\n      }\\n   });\\n\\n   console.log(\\u0022Cleared RAW field\\u0022);\\n}\\n\\n\\\/\\\/ ==============================\\n\\\/\\\/ OSM FULL DATA\\n\\\/\\\/ ==============================\\nasync function fetchAllOSM(lat, lon){\\n\\n   clearAll();\\n\\n   const query = `\\n   [out:json][timeout:15];\\n   (\\n     node(around:150,${lat},${lon});\\n     way(around:150,${lat},${lon});\\n     relation(around:150,${lat},${lon});\\n   );\\n   out tags;\\n   `;\\n\\n   try{\\n      const res = await fetch(\\u0022https:\\\/\\\/overpass-api.de\\\/api\\\/interpreter\\u0022, {\\n         method: \\u0022POST\\u0022,\\n         body: query\\n      });\\n\\n      const data = await res.json();\\n\\n      let allTags = [];\\n\\n      data.elements.forEach(el =\\u003E {\\n         if(el.tags){\\n            allTags.push(el.tags);\\n         }\\n      });\\n\\n      console.log(\\u0022ALL TAGS:\\u0022, allTags);\\n\\n      const rawField = getRealInput(\\u0022gis-osm-raw\\u0022);\\n\\n      if(rawField){\\n         rawField.value = JSON.stringify(allTags, null, 2);\\n         rawField.dispatchEvent(new Event(\\u0022input\\u0022,{bubbles:true}));\\n      }\\n\\n   }catch(e){\\n      console.error(\\u0022OSM error:\\u0022, e);\\n      clearAll();\\n   }\\n}\\n\\n\\\/\\\/ ==============================\\n\\\/\\\/ \\u041b\\u041e\\u0412\\u0418\\u041c\\u041e coords\\n\\\/\\\/ ==============================\\nconst oldLog = console.log;\\n\\nconsole.log = function(...args){\\n\\n   oldLog.apply(console,args);\\n\\n   const txt = args.join(\\u0022 \\u0022);\\n\\n   if(txt.includes(\\u0022coords:\\u0022)){\\n\\n      const match = txt.match(\\\/coords:\\\\s*([0-9\\\\.\\\\-]+)\\\\s+([0-9\\\\.\\\\-]+)\\\/i);\\n\\n      if(match){\\n\\n         const lat = match[1];\\n         const lon = match[2];\\n\\n         fetchAllOSM(lat, lon);\\n\\n      }\\n\\n   }\\n\\n};\\n\\n})();\\n\\u003C\\\/script\\u003E\",\"fBuild\":{},\"parent\":\"\"},{\"dependencies\":[{\"rule\":\"\",\"complex\":false,\"fields\":[\"\"]}],\"form_identifier\":\"\",\"name\":\"fieldname77\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":6,\"ftype\":\"fCalculated\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"gis-osm-raw\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Calculated field\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"title\":\"Untitled\",\"_developerNotes\":\"\",\"predefined\":\"\",\"required\":false,\"exclude\":false,\"accept_html\":false,\"size\":\"medium\",\"eq\":\"[\\n  {\\n    \\u0022building\\u0022: \\u0022house\\u0022,\\n    \\u0022addr:street\\u0022: \\u0022Main Street\\u0022,\\n    \\u0022addr:housenumber\\u0022: \\u002212\\u0022\\n  },\\n  {\\n    \\u0022highway\\u0022: \\u0022residential\\u0022,\\n    \\u0022name\\u0022: \\u0022Oak Road\\u0022\\n  },\\n  {\\n    \\u0022amenity\\u0022: \\u0022school\\u0022\\n  }\\n]\",\"min\":\"\",\"max\":\"\",\"suffix\":\"\",\"prefix\":\"\",\"decimalsymbol\":\".\",\"groupingsymbol\":\"\",\"readonly\":true,\"currency\":false,\"noEvalIfManual\":true,\"formatDynamically\":false,\"dynamicEval\":true,\"validate\":false,\"fBuild\":{},\"parent\":\"\"},{\"dependencies\":[{\"rule\":\"\",\"complex\":false,\"fields\":[\"\"]}],\"form_identifier\":\"\",\"name\":\"fieldname56\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":7,\"ftype\":\"fCalculated\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Calculated field\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"title\":\"Untitled\",\"_developerNotes\":\"\\u0413\\u0406\\u0421 \\u043f\\u043b\\u0430\\u0433\\u0456\\u043d\",\"predefined\":\"\",\"required\":false,\"exclude\":false,\"accept_html\":false,\"size\":\"medium\",\"eq\":\"```html\\n\\u003Cscript\\u003E\\n(function () {\\n  function log() {\\n    console.log('[GIS CFF AUTO]', ...arguments);\\n  }\\n\\n  \\\/\\\/ =====================================\\n  \\\/\\\/ \\u0417\\u041d\\u0410\\u0419\\u0422\\u0418 INPUT \\u041f\\u041e CSS CLASS\\n  \\\/\\\/ =====================================\\n  function findFieldInput(root, className) {\\n    if (!root) return null;\\n\\n    \\\/\\\/ wrapper \\u0437 \\u043a\\u043b\\u0430\\u0441\\u043e\\u043c\\n    let wrap = root.querySelector('.' + className);\\n    if (wrap) {\\n      let inner = wrap.querySelector('input, textarea, select');\\n      if (inner) return inner;\\n\\n      if (wrap.matches('input, textarea, select')) return wrap;\\n    }\\n\\n    \\\/\\\/ direct input\\n    let direct = root.querySelector(\\n      'input.' + className + ', textarea.' + className + ', select.' + className\\n    );\\n    if (direct) return direct;\\n\\n    return null;\\n  }\\n\\n  \\\/\\\/ =====================================\\n  \\\/\\\/ \\u0417\\u041d\\u0410\\u0419\\u0422\\u0418 \\u0424\\u041e\\u0420\\u041c\\u0423\\n  \\\/\\\/ =====================================\\n  function resolveForm(el) {\\n    let form = el.closest('form');\\n    if (form) return form;\\n\\n    return document.querySelector('form');\\n  }\\n\\n  \\\/\\\/ =====================================\\n  \\\/\\\/ STATUS BOX\\n  \\\/\\\/ =====================================\\n  function getStatusBox(form) {\\n    let box = form.querySelector('.gis-status');\\n\\n    if (!box) {\\n      box = document.createElement('div');\\n      box.className = 'gis-status';\\n      box.style.marginTop = '10px';\\n      box.style.fontWeight = '600';\\n      box.style.padding = '8px 0';\\n\\n      form.appendChild(box);\\n    }\\n\\n    return box;\\n  }\\n\\n  \\\/\\\/ =====================================\\n  \\\/\\\/ TRIGGER CFF RECALC\\n  \\\/\\\/ =====================================\\n  function triggerRecalc(form) {\\n    const inputs = form.querySelectorAll('input, select, textarea');\\n\\n    inputs.forEach(el =\\u003E {\\n      el.dispatchEvent(new Event('input', { bubbles: true }));\\n      el.dispatchEvent(new Event('change', { bubbles: true }));\\n      el.dispatchEvent(new Event('blur', { bubbles: true }));\\n    });\\n\\n    if (window.jQuery) {\\n      window.jQuery(inputs).trigger('change');\\n      window.jQuery(inputs).trigger('keyup');\\n    }\\n\\n    log('Recalc triggered');\\n  }\\n\\n  \\\/\\\/ =====================================\\n  \\\/\\\/ GIS LOOKUP\\n  \\\/\\\/ =====================================\\n  async function runLookup(form) {\\n    const status = getStatusBox(form);\\n\\n    const latInput = findFieldInput(form, 'gis-lat-master');\\n    const lonInput = findFieldInput(form, 'gis-lon-master');\\n\\n    const richterInput = findFieldInput(form, 'gis-richter');\\n    const districtInput = findFieldInput(form, 'gis-district');\\n    const regionInput = findFieldInput(form, 'gis-region');\\n\\n    if (!latInput || !lonInput) {\\n      status.innerHTML = '\\u274c \\u041d\\u0435 \\u0437\\u043d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e lat\\\/lon';\\n      return;\\n    }\\n\\n    const lat = (latInput.value || '').trim();\\n    const lon = (lonInput.value || '').trim();\\n\\n    if (!lat || !lon) {\\n      status.innerHTML = '\\u26a0\\ufe0f \\u041d\\u0435\\u043c\\u0430\\u0454 \\u043a\\u043e\\u043e\\u0440\\u0434\\u0438\\u043d\\u0430\\u0442';\\n      return;\\n    }\\n\\n    status.innerHTML = '\\u23f3 \\u041e\\u0442\\u0440\\u0438\\u043c\\u0443\\u044e GIS \\u0434\\u0430\\u043d\\u0456...';\\n\\n    try {\\n      const url =\\n        '\\\/wp-json\\\/gis\\\/v1\\\/lookup?lat=' +\\n        encodeURIComponent(lat) +\\n        '&lon=' +\\n        encodeURIComponent(lon);\\n\\n      const res = await fetch(url, {\\n        method: 'GET',\\n        credentials: 'same-origin'\\n      });\\n\\n      const data = await res.json();\\n\\n      log('API response', data);\\n\\n      if (!data.ok) {\\n        status.innerHTML = '\\u274c GIS \\u043f\\u043e\\u043c\\u0438\\u043b\\u043a\\u0430';\\n        return;\\n      }\\n\\n      if (richterInput && data.richter_100years != null) {\\n        richterInput.value = data.richter_100years;\\n      }\\n\\n      if (districtInput && data.district != null) {\\n        districtInput.value = data.district;\\n      }\\n\\n      if (regionInput && data.region != null) {\\n        regionInput.value = data.region;\\n      }\\n\\n      triggerRecalc(form);\\n\\n      status.innerHTML = '\\u2705 GIS \\u0434\\u0430\\u043d\\u0456 \\u043e\\u0442\\u0440\\u0438\\u043c\\u0430\\u043d\\u043e';\\n    } catch (err) {\\n      console.error(err);\\n      status.innerHTML = '\\u274c \\u041f\\u043e\\u043c\\u0438\\u043b\\u043a\\u0430 \\u0437\\u0430\\u043f\\u0438\\u0442\\u0443';\\n    }\\n  }\\n\\n  \\\/\\\/ =====================================\\n  \\\/\\\/ \\u041a\\u0410\\u0420\\u0422\\u0410 LEAFLET\\n  \\\/\\\/ =====================================\\n  function initMap() {\\n    if (window.gisMapReady) return;\\n    window.gisMapReady = true;\\n\\n    const mapDiv = document.getElementById('myMap');\\n    if (!mapDiv) {\\n      setTimeout(initMap, 1000);\\n      return;\\n    }\\n\\n    const map = L.map('myMap').setView([48.15, 23.37], 16);\\n\\n    \\\/\\\/ \\u0441\\u0443\\u043f\\u0443\\u0442\\u043d\\u0438\\u043a\\n    L.tileLayer(\\n      'https:\\\/\\\/server.arcgisonline.com\\\/ArcGIS\\\/rest\\\/services\\\/World_Imagery\\\/MapServer\\\/tile\\\/{z}\\\/{y}\\\/{x}',\\n      { maxZoom: 19 }\\n    ).addTo(map);\\n\\n    \\\/\\\/ \\u043f\\u0456\\u0434\\u043f\\u0438\\u0441\\u0438\\n    L.tileLayer(\\n      'https:\\\/\\\/services.arcgisonline.com\\\/ArcGIS\\\/rest\\\/services\\\/Reference\\\/World_Boundaries_and_Places\\\/MapServer\\\/tile\\\/{z}\\\/{y}\\\/{x}',\\n      { maxZoom: 19 }\\n    ).addTo(map);\\n\\n    let marker;\\n\\n    map.on('click', async function (e) {\\n      const lat = e.latlng.lat.toFixed(6);\\n      const lon = e.latlng.lng.toFixed(6);\\n\\n      if (marker) map.removeLayer(marker);\\n      marker = L.marker([lat, lon]).addTo(map);\\n\\n      const form = resolveForm(mapDiv);\\n\\n      const latInput = findFieldInput(form, 'gis-lat-master');\\n      const lonInput = findFieldInput(form, 'gis-lon-master');\\n\\n      if (latInput) latInput.value = lat;\\n      if (lonInput) lonInput.value = lon;\\n\\n      triggerRecalc(form);\\n\\n      await runLookup(form);\\n    });\\n\\n    log('Map ready');\\n  }\\n\\n  document.addEventListener('DOMContentLoaded', function () {\\n    initMap();\\n  });\\n\\n  console.log('[GIS CFF AUTO] loaded');\\n})();\\n\\u003C\\\/script\\u003E\\n```\\n\",\"min\":\"\",\"max\":\"\",\"suffix\":\"\",\"prefix\":\"\",\"decimalsymbol\":\".\",\"groupingsymbol\":\"\",\"readonly\":true,\"currency\":false,\"noEvalIfManual\":true,\"formatDynamically\":false,\"dynamicEval\":true,\"validate\":false,\"fBuild\":{},\"parent\":\"\"},{\"dependencies\":[{\"rule\":\"\",\"complex\":false,\"fields\":[\"\"]}],\"form_identifier\":\"\",\"name\":\"fieldname79\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":8,\"ftype\":\"fCalculated\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Calculated field\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"title\":\"Arch Location Client\",\"_developerNotes\":\"\",\"predefined\":\"\",\"required\":false,\"exclude\":false,\"accept_html\":false,\"size\":\"medium\",\"eq\":\"\\\/**\\n * Arch Location Client\\n * \\u0406\\u043d\\u0442\\u0435\\u0433\\u0440\\u0430\\u0446\\u0456\\u044f \\u0437 Calculated Fields Form\\n * \\u041f\\u0456\\u0434\\u043a\\u043b\\u044e\\u0447\\u0438\\u0442\\u0438 \\u0447\\u0435\\u0440\\u0435\\u0437: wp_enqueue_script \\u0430\\u0431\\u043e Custom HTML \\u0431\\u043b\\u043e\\u043a\\n *\\\/\\n\\nconst ArchLocation = {\\n\\n    _cache: {},\\n\\n    \\\/**\\n     * \\u0413\\u043e\\u043b\\u043e\\u0432\\u043d\\u0430 \\u0444\\u0443\\u043d\\u043a\\u0446\\u0456\\u044f \\u2014 \\u0432\\u0438\\u043a\\u043b\\u0438\\u043a\\u0430\\u0442\\u0438 \\u0437 \\u043f\\u043e\\u043b\\u044f \\u043a\\u043e\\u043e\\u0440\\u0434\\u0438\\u043d\\u0430\\u0442 \\u0443 CFF\\n     * lat, lon \\u2014 \\u0447\\u0438\\u0441\\u043b\\u0430\\n     * onSuccess(data) \\u2014 \\u043a\\u043e\\u043b\\u0431\\u0435\\u043a \\u0437 \\u0440\\u0435\\u0437\\u0443\\u043b\\u044c\\u0442\\u0430\\u0442\\u043e\\u043c\\n     *\\\/\\n    async fetch(lat, lon, onSuccess) {\\n        if (!lat || !lon) return;\\n\\n        const key = `${parseFloat(lat).toFixed(3)}_${parseFloat(lon).toFixed(3)}`;\\n        if (this._cache[key]) { onSuccess(this._cache[key]); return; }\\n\\n        try {\\n            const res = await fetch(arch_ajax.url, {\\n                method: 'POST',\\n                headers: { 'Content-Type': 'application\\\/x-www-form-urlencoded' },\\n                body: new URLSearchParams({\\n                    action: 'arch_get_location',\\n                    lat, lon,\\n                    nonce: arch_ajax.nonce,\\n                }),\\n            });\\n\\n            const json = await res.json();\\n            if (!json.success) throw new Error(json.data?.message || 'API error');\\n\\n            this._cache[key] = json.data;\\n            onSuccess(json.data);\\n\\n        } catch (err) {\\n            console.warn('[ArchLocation]', err.message);\\n        }\\n    },\\n\\n    \\\/**\\n     * \\u0417\\u0430\\u0441\\u0442\\u043e\\u0441\\u0443\\u0432\\u0430\\u0442\\u0438 \\u0434\\u0430\\u043d\\u0456 \\u0434\\u043e \\u043f\\u043e\\u043b\\u0456\\u0432 Calculated Fields Form\\n     * fieldMap \\u2014 \\u043e\\u0431'\\u0454\\u043a\\u0442 { '\\u043d\\u0430\\u0437\\u0432\\u0430_\\u043f\\u043e\\u043b\\u044f_cff': '\\u0448\\u043b\\u044f\\u0445.\\u0434\\u043e.\\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u043d\\u044f' }\\n     *\\\/\\n    applyToForm(data, fieldMap) {\\n        for (const [fieldName, path] of Object.entries(fieldMap)) {\\n            const value = this._getPath(data, path);\\n            if (value !== undefined && value !== null) {\\n                \\\/\\\/ \\u0421\\u0442\\u0430\\u043d\\u0434\\u0430\\u0440\\u0442\\u043d\\u0430 \\u0444\\u0443\\u043d\\u043a\\u0446\\u0456\\u044f CFF \\u0434\\u043b\\u044f \\u0432\\u0441\\u0442\\u0430\\u043d\\u043e\\u0432\\u043b\\u0435\\u043d\\u043d\\u044f \\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u043d\\u044f\\n                if (typeof fbuilder !== 'undefined') {\\n                    fbuilder.setFieldValue(fieldName, value);\\n                } else {\\n                    \\\/\\\/ Fallback \\u2014 \\u0448\\u0443\\u043a\\u0430\\u0454\\u043c\\u043e \\u043f\\u043e\\u043b\\u0435 \\u043d\\u0430\\u043f\\u0440\\u044f\\u043c\\u0443\\n                    const el = document.querySelector(`[name=\\u0022${fieldName}\\u0022]`);\\n                    if (el) { el.value = value; el.dispatchEvent(new Event('change')); }\\n                }\\n            }\\n        }\\n    },\\n\\n    _getPath(obj, path) {\\n        return path.split('.').reduce((acc, key) =\\u003E acc?.[key], obj);\\n    },\\n};\\n\\n\\\/\\\/ ---------------------------------------------------------------\\n\\\/\\\/ \\u041f\\u0440\\u0438\\u043a\\u043b\\u0430\\u0434 \\u043f\\u0456\\u0434\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u043d\\u044f \\u0434\\u043e CFF\\n\\\/\\\/ \\u0417\\u0430\\u043c\\u0456\\u0441\\u0442\\u044c 'fieldLatLon' \\u2014 \\u043d\\u0430\\u0437\\u0432\\u0438 \\u0442\\u0432\\u043e\\u0457\\u0445 \\u043f\\u043e\\u043b\\u0456\\u0432 \\u0443 \\u0444\\u043e\\u0440\\u043c\\u0456\\n\\\/\\\/ ---------------------------------------------------------------\\ndocument.addEventListener('DOMContentLoaded', () =\\u003E {\\n\\n    \\\/\\\/ \\u0421\\u043b\\u0443\\u0445\\u0430\\u0454\\u043c\\u043e \\u0437\\u043c\\u0456\\u043d\\u0443 \\u043f\\u043e\\u043b\\u044f \\u0437 \\u043a\\u043e\\u043e\\u0440\\u0434\\u0438\\u043d\\u0430\\u0442\\u0430\\u043c\\u0438\\n    \\\/\\\/ \\u0423 CFF \\u043f\\u043e\\u043b\\u044f \\u043c\\u0430\\u044e\\u0442\\u044c id \\u0442\\u0438\\u043f\\u0443 field_X \\u0434\\u0435 X \\u2014 \\u043d\\u043e\\u043c\\u0435\\u0440 \\u043f\\u043e\\u043b\\u044f\\n    const LAT_FIELD = 'fieldname66';  \\\/\\\/ \\u0437\\u043c\\u0456\\u043d\\u0438\\u0442\\u0438 \\u043d\\u0430 \\u0441\\u0432\\u0456\\u0439\\n    const LON_FIELD = 'fieldname67';  \\\/\\\/ \\u0437\\u043c\\u0456\\u043d\\u0438\\u0442\\u0438 \\u043d\\u0430 \\u0441\\u0432\\u0456\\u0439\\n\\n    let debounceTimer;\\n\\n    function onCoordsChange() {\\n        const lat = document.getElementById(LAT_FIELD)?.value;\\n        const lon = document.getElementById(LON_FIELD)?.value;\\n        if (!lat || !lon) return;\\n\\n        clearTimeout(debounceTimer);\\n        debounceTimer = setTimeout(() =\\u003E {\\n            ArchLocation.fetch(lat, lon, (data) =\\u003E {\\n\\n                \\\/\\\/ \\u041c\\u0430\\u043f\\u0456\\u043d\\u0433: \\u043d\\u0430\\u0437\\u0432\\u0430 \\u043f\\u043e\\u043b\\u044f CFF \\u2192 \\u0448\\u043b\\u044f\\u0445 \\u0443 \\u0432\\u0456\\u0434\\u043f\\u043e\\u0432\\u0456\\u0434\\u0456 API\\n                ArchLocation.applyToForm(data, {\\n                    'field_country_code':    'location.country_code',\\n                    'field_region':          'location.region',\\n                    'field_city':            'location.city',\\n                    'field_settlement_type': 'location.settlement',\\n                    'field_elevation':       'elevation.elevation_m',\\n                    'field_slope_deg':       'elevation.slope_deg',\\n                    'field_slope_class':     'elevation.slope_class',\\n                    'field_frost_days':      'climate.frost_days_per_year',\\n                    'field_snow_class':      'climate.snow_load_class',\\n                    'field_wind_class':      'climate.wind_load_class',\\n                    'field_soil_class':      'soil.soil_class',\\n                    'field_seismic_class':   'seismic.seismic_class',\\n                    'field_nearest_city_km': 'routing.distance_km',\\n                    'field_logistics_class': 'routing.logistics_class',\\n                    'field_store_name':      'stores.nearest_store.name',\\n                    'field_store_km':        'stores.nearest_store.dist_km',\\n                    \\\/\\\/ \\u041a\\u043e\\u0435\\u0444\\u0456\\u0446\\u0456\\u0454\\u043d\\u0442\\u0438 \\u043d\\u0430\\u043f\\u0440\\u044f\\u043c\\u0443 \\u0432 \\u043f\\u043e\\u043b\\u044f CFF \\u0434\\u043b\\u044f \\u0444\\u043e\\u0440\\u043c\\u0443\\u043b\\n                    'field_coef_logistics':  'coefficients.logistics',\\n                    'field_coef_site':       'coefficients.site',\\n                    'field_coef_climate':    'coefficients.climate',\\n                    'field_coef_seismic':    'coefficients.seismic',\\n                    'field_coef_total':      'coefficients.total',\\n                });\\n\\n                \\\/\\\/ \\u041f\\u043e\\u043a\\u0430\\u0437\\u0443\\u0454\\u043c\\u043e \\u0456\\u043d\\u0444\\u043e-\\u0431\\u043b\\u043e\\u043a \\u043a\\u043b\\u0456\\u0454\\u043d\\u0442\\u0443\\n                showLocationSummary(data);\\n            });\\n        }, 800);\\n    }\\n\\n    document.getElementById(LAT_FIELD)?.addEventListener('change', onCoordsChange);\\n    document.getElementById(LON_FIELD)?.addEventListener('change', onCoordsChange);\\n});\\n\\n\\\/\\\/ ---------------------------------------------------------------\\n\\\/\\\/ \\u041e\\u043f\\u0446\\u0456\\u043e\\u043d\\u0430\\u043b\\u044c\\u043d\\u043e: \\u043f\\u043e\\u043a\\u0430\\u0437\\u0430\\u0442\\u0438 \\u043a\\u043b\\u0456\\u0454\\u043d\\u0442\\u0443 \\u0449\\u043e \\u0437\\u043d\\u0430\\u0439\\u0434\\u0435\\u043d\\u043e\\n\\\/\\\/ ---------------------------------------------------------------\\nfunction showLocationSummary(data) {\\n    const el = document.getElementById('arch-location-summary');\\n    if (!el) return;\\n\\n    const c = data.coefficients;\\n    const l = data.location;\\n    const e = data.elevation;\\n    const cl = data.climate;\\n\\n    el.innerHTML = `\\n        \\u003Cdiv class=\\u0022arch-summary\\u0022\\u003E\\n            \\u003Cp\\u003E\\u003Cstrong\\u003E${l.city || l.region}, ${l.country}\\u003C\\\/strong\\u003E\\u003C\\\/p\\u003E\\n            \\u003Cul\\u003E\\n                \\u003Cli\\u003E\\u0412\\u0438\\u0441\\u043e\\u0442\\u0430: ${e.elevation_m} \\u043c \\u00b7 \\u0423\\u0445\\u0438\\u043b: ${e.slope_deg}\\u00b0 (${e.slope_class})\\u003C\\\/li\\u003E\\n                \\u003Cli\\u003E\\u041c\\u043e\\u0440\\u043e\\u0437\\u043d\\u0438\\u0445 \\u0434\\u043d\\u0456\\u0432: ${cl.frost_days_per_year} \\u00b7 \\u0421\\u043d\\u0456\\u0433: ${cl.snow_load_class} \\u00b7 \\u0412\\u0456\\u0442\\u0435\\u0440: ${cl.wind_load_class}\\u003C\\\/li\\u003E\\n                \\u003Cli\\u003E\\u0490\\u0440\\u0443\\u043d\\u0442: ${data.soil.soil_class} \\u00b7 \\u0421\\u0435\\u0439\\u0441\\u043c\\u0456\\u0447\\u043d\\u0456\\u0441\\u0442\\u044c: ${data.seismic.seismic_class}\\u003C\\\/li\\u003E\\n                \\u003Cli\\u003E\\u0414\\u043e \\u043c\\u0456\\u0441\\u0442\\u0430: ${data.routing.distance_km} \\u043a\\u043c \\u00b7 \\u041c\\u0430\\u0433\\u0430\\u0437\\u0438\\u043d: ${data.stores.nearest_store?.name} (${data.stores.nearest_store?.dist_km} \\u043a\\u043c)\\u003C\\\/li\\u003E\\n            \\u003C\\\/ul\\u003E\\n            \\u003Cp\\u003E\\u0417\\u0430\\u0433\\u0430\\u043b\\u044c\\u043d\\u0438\\u0439 \\u043a\\u043e\\u0435\\u0444\\u0456\\u0446\\u0456\\u0454\\u043d\\u0442 \\u043b\\u043e\\u043a\\u0430\\u0446\\u0456\\u0457: \\u003Cstrong\\u003E${c.total}\\u003C\\\/strong\\u003E\\u003C\\\/p\\u003E\\n        \\u003C\\\/div\\u003E\\n    `;\\n}\\n\",\"min\":\"\",\"max\":\"\",\"suffix\":\"\",\"prefix\":\"\",\"decimalsymbol\":\".\",\"groupingsymbol\":\"\",\"readonly\":true,\"currency\":false,\"noEvalIfManual\":true,\"formatDynamically\":false,\"dynamicEval\":true,\"validate\":false,\"fBuild\":{},\"parent\":\"\"},{\"form_identifier\":\"\",\"name\":\"fieldname81\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":9,\"ftype\":\"ftext\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"location.country_code \",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"title\":\"Untitled\",\"autocomplete\":\"off\",\"predefined\":\"\",\"predefinedClick\":false,\"required\":false,\"exclude\":false,\"accept_html\":false,\"readonly\":false,\"size\":\"medium\",\"minlength\":\"\",\"maxlength\":\"\",\"equalTo\":\"\",\"regExp\":\"\",\"regExpMssg\":\"\",\"aiAssistant\":false,\"fBuild\":{},\"parent\":\"\"},{\"form_identifier\":\"\",\"name\":\"fieldname71\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":10,\"ftype\":\"fhtml\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"_developerNotes\":\"\",\"allowscript\":1,\"replaceShortcodes\":0,\"fcontent\":\"\\u003Cscript\\u003E\\n(function(){\\n\\nfunction getRealInput(className){\\n   let el = document.querySelector(\\u0022.\\u0022 + className);\\n   if(!el) return null;\\n\\n   if(el.matches(\\u0022input,textarea,select\\u0022)) return el;\\n\\n   let inner = el.querySelector(\\u0022input,textarea,select\\u0022);\\n   if(inner) return inner;\\n\\n   return null;\\n}\\n\\nfunction triggerRecalc(){\\n   const inputs = document.querySelectorAll('input, select, textarea');\\n\\n   inputs.forEach(el =\\u003E {\\n      el.dispatchEvent(new Event(\\u0022input\\u0022,{bubbles:true}));\\n      el.dispatchEvent(new Event(\\u0022change\\u0022,{bubbles:true}));\\n   });\\n\\n   if(window.jQuery){\\n      window.jQuery(inputs).trigger(\\u0022change\\u0022);\\n   }\\n}\\n\\nasync function runLookup(lat, lon){\\n\\n   console.log(\\u0022RUN LOOKUP:\\u0022, lat, lon);\\n\\n   try{\\n      const res = await fetch(`\\\/wp-json\\\/gis\\\/v1\\\/lookup?lat=${lat}&lon=${lon}`);\\n      const data = await res.json();\\n\\n      console.log(\\u0022GIS response:\\u0022, data);\\n\\n      if(!data.ok) return;\\n\\n      const richter = getRealInput(\\u0022gis-richter\\u0022);\\n      const district = getRealInput(\\u0022gis-district\\u0022);\\n      const region = getRealInput(\\u0022gis-region\\u0022);\\n\\n      if(richter && data.richter_100years != null){\\n         richter.value = data.richter_100years;\\n      }\\n\\n      if(district && data.district != null){\\n         district.value = data.district;\\n      }\\n\\n      if(region && data.region != null){\\n         region.value = data.region;\\n      }\\n\\n      triggerRecalc();\\n\\n   }catch(e){\\n      console.error(\\u0022GIS error:\\u0022, e);\\n   }\\n}\\n\\n\\\/\\\/ ===============================\\n\\\/\\\/ \\u041f\\u0415\\u0420\\u0415\\u0425\\u0412\\u0410\\u0422 coords \\u0437 \\u043a\\u0430\\u0440\\u0442\\u0438\\n\\\/\\\/ ===============================\\nconst oldLog = console.log;\\n\\nconsole.log = function(...args){\\n\\n   oldLog.apply(console,args);\\n\\n   const txt = args.join(\\u0022 \\u0022);\\n\\n   if(txt.includes(\\u0022coords:\\u0022)){\\n\\n      const match = txt.match(\\\/coords:\\\\s*([0-9\\\\.\\\\-]+)\\\\s+([0-9\\\\.\\\\-]+)\\\/i);\\n\\n      if(match){\\n\\n         const lat = match[1];\\n         const lon = match[2];\\n\\n         const latField = getRealInput(\\u0022gis-lat-master\\u0022);\\n         const lonField = getRealInput(\\u0022gis-lon-master\\u0022);\\n\\n         if(latField){\\n            latField.value = lat;\\n            latField.dispatchEvent(new Event(\\u0022input\\u0022,{bubbles:true}));\\n         }\\n\\n         if(lonField){\\n            lonField.value = lon;\\n            lonField.dispatchEvent(new Event(\\u0022input\\u0022,{bubbles:true}));\\n         }\\n\\n         console.log(\\u0022GIS saved:\\u0022, lat, lon);\\n\\n         \\\/\\\/ \\ud83d\\udd25 \\u0422\\u0423\\u0422 \\u0410\\u0412\\u0422\\u041e \\u0417\\u0410\\u041f\\u0423\\u0421\\u041a GIS\\n         runLookup(lat, lon);\\n\\n      }\\n\\n   }\\n\\n};\\n\\n})();\\n\\u003C\\\/script\\u003E\\n\",\"fBuild\":{},\"parent\":\"\"},{\"form_identifier\":\"\",\"name\":\"fieldname3\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":11,\"ftype\":\"fdiv\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Fields container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"field\":{\"label\":\"Field\",\"rules\":{}}}},\"fields\":[\"fieldname36\",\"fieldname13\",\"fieldname59\",\"fieldname66\",\"fieldname67\",\"fieldname80\"],\"columns\":\"4\",\"align\":\"top\",\"rearrange\":0,\"title\":\"div\",\"_developerNotes\":\"\\u0417\\u0430\\u0433\\u0430\\u043b\\u044c\\u043d\\u0430 \\u0456\\u043d\\u0444\\u043e\\u0440\\u043c\\u0430\\u0446\\u0456\\u044f\",\"collapsed\":false,\"fBuild\":{},\"parent\":\"\",\"invalidItem\":false},{\"form_identifier\":\"\",\"name\":\"fieldname11\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":12,\"ftype\":\"fdiv\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Fields container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"field\":{\"label\":\"Field\",\"rules\":{}}}},\"fields\":[\"fieldname54\",\"fieldname58\",\"fieldname73\",\"fieldname74\",\"fieldname75\",\"fieldname53\"],\"columns\":\"2\",\"align\":\"top\",\"rearrange\":0,\"title\":\"div\",\"_developerNotes\":\"\\u041f\\u0430\\u0441\\u043f\\u043e\\u0440\\u0442 \\u0434\\u0456\\u043b\\u044f\\u043d\\u043a\\u0438\",\"collapsed\":false,\"fBuild\":{},\"parent\":\"\"},{\"form_identifier\":\"\",\"name\":\"fieldname19\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":13,\"ftype\":\"ffieldset\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":true,\"advanced\":{\"css\":{\"container\":{\"label\":\"Fields container fieldset tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"legend\":{\"label\":\"Legend\",\"rules\":{}},\"field\":{\"label\":\"Field\",\"rules\":{}}}},\"fields\":[\"fieldname21\",\"fieldname20\",\"fieldname23\",\"fieldname25\",\"fieldname28\"],\"columns\":\"1\",\"align\":\"top\",\"rearrange\":0,\"title\":\"\\u0422\\u0435\\u0445\\u043d\\u0456\\u0447\\u043d\\u0456 \\u0443\\u043c\\u043e\\u0432\\u0438 \\u043d\\u0430 \\u043f\\u0456\\u0434\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u043d\\u044f \\u043a\\u043e\\u043c\\u0443\\u043d\\u0456\\u043a\\u0430\\u0446\\u0456\\u0439\",\"_developerNotes\":\"\",\"collapsible\":false,\"defaultCollapsed\":true,\"collapsed\":false,\"selfClosing\":false,\"fBuild\":{},\"parent\":\"\"},{\"form_identifier\":\"\",\"name\":\"fieldname27\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":14,\"ftype\":\"ffieldset\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Fields container fieldset tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"legend\":{\"label\":\"Legend\",\"rules\":{}},\"field\":{\"label\":\"Field\",\"rules\":{}}}},\"fields\":[\"fieldname30\"],\"columns\":\"1\",\"align\":\"top\",\"rearrange\":0,\"title\":\"\\u0414\\u0456\\u043b\\u044f\\u043d\\u043a\\u0430\",\"_developerNotes\":\"\",\"collapsible\":false,\"defaultCollapsed\":true,\"collapsed\":false,\"selfClosing\":false,\"fBuild\":{},\"parent\":\"\"},{\"form_identifier\":\"\",\"name\":\"fieldname15\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":15,\"ftype\":\"fcheck\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"choice\":{\"label\":\"Choice text\",\"rules\":{}}}},\"title\":\"\",\"layout\":\"one_column\",\"required\":false,\"exclude\":false,\"accept_html\":false,\"readonly\":false,\"toSubmit\":\"text\",\"choices\":[\"\\u0415\\u043b\\u0435\\u043a\\u0442\\u0440\\u043e\\u043c\\u0435\\u0440\\u0435\\u0436\\u0456\"],\"choicesVal\":[\"\\u0415\\u043b\\u0435\\u043a\\u0442\\u0440\\u043e\\u043c\\u0435\\u0440\\u0435\\u0436\\u0456\"],\"choiceSelected\":[true],\"merge\":1,\"onoff\":1,\"quantity\":0,\"minQuantity\":-1,\"maxQuantity\":-1,\"quantity_when_ticked\":0,\"max\":-1,\"min\":-1,\"maxError\":\"Check no more than {0} boxes\",\"minError\":\"Check at least {0} boxes\",\"showDep\":false,\"choicesDep\":[[]],\"fBuild\":{},\"parent\":\"fieldname20\"},{\"form_identifier\":\"\",\"name\":\"fieldname18\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":16,\"ftype\":\"fslider\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"slider\":{\"label\":\"Slider\",\"rules\":{}},\"slider_handle\":{\"label\":\"Slider handle\",\"rules\":{}},\"slider_range\":{\"label\":\"Slider range\",\"rules\":{}},\"caption\":{\"label\":\"Caption\",\"rules\":{}},\"caption_left\":{\"label\":\"Left caption\",\"rules\":{}},\"caption_right\":{\"label\":\"Right caption\",\"rules\":{}}}},\"title\":\"\\u041a\\u0456\\u043b\\u044c\\u043a\\u0456\\u0441\\u0442\\u044c \\u0444\\u0430\\u0437\",\"exclude\":false,\"readonly\":false,\"predefined\":\"\",\"predefinedMin\":\"\",\"predefinedMax\":\"\",\"predefinedClick\":false,\"size\":\"large\",\"thousandSeparator\":\",\",\"centSeparator\":\".\",\"typeValues\":false,\"min\":\"1\",\"max\":\"3\",\"step\":1,\"marks\":false,\"divisions\":\"3\",\"range\":false,\"logarithmic\":false,\"caption\":\"{0}\",\"minCaption\":\"\",\"maxCaption\":\"\",\"fBuild\":{},\"parent\":\"fieldname20\"},{\"form_identifier\":\"\",\"name\":\"fieldname17\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":17,\"ftype\":\"fdropdown\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"dropdown\":{\"label\":\"Dropdown\",\"rules\":{}}}},\"title\":\"\\u041c\\u0430\\u043a\\u0441\\u0438\\u043c\\u0430\\u043b\\u044c\\u043d\\u0435 \\u043d\\u0430\\u0432\\u0430\\u043d\\u0442\\u0430\\u0436\\u0435\\u043d\\u043d\\u044f\",\"size\":\"large\",\"required\":false,\"exclude\":false,\"accept_html\":false,\"toSubmit\":\"text\",\"merge\":0,\"choices\":[\"First Choice\",\"Second Choice\",\"Third Choice\"],\"choicesVal\":[\"First Choice\",\"Second Choice\",\"Third Choice\"],\"optgroup\":[false,false,false],\"choiceSelected\":\"\",\"select2\":false,\"multiple\":false,\"first_choice\":false,\"first_choice_text\":\"\",\"vChoices\":1,\"showDep\":false,\"nextPage\":false,\"choicesDep\":[[],[],[]],\"fBuild\":{},\"parent\":\"fieldname20\"},{\"form_identifier\":\"\",\"name\":\"fieldname37\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":18,\"ftype\":\"fdiv\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Fields container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"field\":{\"label\":\"Field\",\"rules\":{}}}},\"fields\":[],\"columns\":\"2\",\"align\":\"top\",\"rearrange\":0,\"title\":\"div\",\"_developerNotes\":\"\\u0424\\u043e\\u0440\\u043c\\u0443\\u0432\\u0430\\u043d\\u043d\\u044f \\u0442\\u0435\\u0445\\u043d\\u0456\\u0447\\u043d\\u043e\\u0433\\u043e \\u0437\\u0430\\u0432\\u0434\\u0430\\u043d\\u043d\\u044f\",\"collapsed\":false,\"fBuild\":{},\"parent\":\"\"},{\"form_identifier\":\"\",\"name\":\"fieldname12\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":19,\"ftype\":\"fdiv\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Fields container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"field\":{\"label\":\"Field\",\"rules\":{}}}},\"fields\":[],\"columns\":1,\"align\":\"top\",\"rearrange\":0,\"title\":\"div\",\"_developerNotes\":\"\\u0411\\u0440\\u0438\\u0444\",\"collapsed\":false,\"fBuild\":{},\"parent\":\"\"},{\"form_identifier\":\"\",\"name\":\"fieldname13\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":20,\"ftype\":\"fdropdown\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"dropdown\":{\"label\":\"Dropdown\",\"rules\":{}}}},\"title\":\"\\u041a\\u043b\\u0430\\u0441\\u0438\\u0444\\u0456\\u043a\\u0430\\u0446\\u0456\\u044f \\u0437\\u0430 \\u0442\\u0438\\u043f\\u043e\\u043c \\u0440\\u043e\\u0431\\u0456\\u0442\",\"size\":\"large\",\"required\":false,\"exclude\":false,\"accept_html\":false,\"toSubmit\":\"text\",\"merge\":0,\"choices\":[\"\\u041d\\u043e\\u0432\\u0435 \\u0431\\u0443\\u0434\\u0456\\u0432\\u043d\\u0438\\u0446\\u0442\\u0432\\u043e\",\"\\u0420\\u0435\\u043a\\u043e\\u043d\\u0441\\u0442\\u0440\\u0443\\u043a\\u0446\\u0456\\u044f\",\"\\u041a\\u0430\\u043f\\u0456\\u0442\\u0430\\u043b\\u044c\\u043d\\u0438\\u0439 \\u0440\\u0435\\u043c\\u043e\\u043d\\u0442\"],\"choicesVal\":[\"\\u041d\\u043e\\u0432\\u0435 \\u0431\\u0443\\u0434\\u0456\\u0432\\u043d\\u0438\\u0446\\u0442\\u0432\\u043e\",\"\\u0420\\u0435\\u043a\\u043e\\u043d\\u0441\\u0442\\u0440\\u0443\\u043a\\u0446\\u0456\\u044f\",\"\\u041a\\u0430\\u043f\\u0456\\u0442\\u0430\\u043b\\u044c\\u043d\\u0438\\u0439 \\u0440\\u0435\\u043c\\u043e\\u043d\\u0442\"],\"optgroup\":[false,false,false],\"choiceSelected\":\"\",\"select2\":false,\"multiple\":false,\"first_choice\":false,\"first_choice_text\":\"\",\"vChoices\":1,\"showDep\":false,\"nextPage\":false,\"choicesDep\":[[],[],[]],\"fBuild\":{},\"parent\":\"fieldname3\"},{\"form_identifier\":\"\",\"name\":\"fieldname59\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":21,\"ftype\":\"fdropdown\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"dropdown\":{\"label\":\"Dropdown\",\"rules\":{}}}},\"title\":\"\\u041a\\u043b\\u0430\\u0441\\u0438\\u0444\\u0456\\u043a\\u0430\\u0446\\u0456\\u044f \\u0437\\u0430 \\u0442\\u0438\\u043f\\u043e\\u043c \\u0440\\u043e\\u0431\\u0456\\u0442\",\"size\":\"large\",\"required\":false,\"exclude\":false,\"accept_html\":false,\"toSubmit\":\"text\",\"merge\":0,\"choices\":[\"\\u0406\\u043d\\u0432\\u0435\\u0441\\u0442\\u0438\\u0446\\u0456\\u0439\\u043d\\u0438\\u0439 \\u043f\\u043b\\u0430\\u043d\",\"\\u0414\\u043e\\u0441\\u043b\\u0456\\u0434\\u0436\\u0435\\u043d\\u043d\\u044f\",\"\\u0415\\u0441\\u043a\\u0456\\u0437\\u043d\\u0438\\u0439 \\u043f\\u0440\\u043e\\u0435\\u043a\\u0442\"],\"choicesVal\":[\"\\u0406\\u043d\\u0432\\u0435\\u0441\\u0442\\u0438\\u0446\\u0456\\u0439\\u043d\\u0438\\u0439 \\u043f\\u043b\\u0430\\u043d\",\"\\u0414\\u043e\\u0441\\u043b\\u0456\\u0434\\u0436\\u0435\\u043d\\u043d\\u044f\",\"\\u0415\\u0441\\u043a\\u0456\\u0437\\u043d\\u0438\\u0439 \\u043f\\u0440\\u043e\\u0435\\u043a\\u0442\"],\"optgroup\":[false,false,false],\"choiceSelected\":\"\",\"select2\":false,\"multiple\":false,\"first_choice\":false,\"first_choice_text\":\"\",\"vChoices\":1,\"showDep\":false,\"nextPage\":false,\"choicesDep\":[[],[],[]],\"fBuild\":{},\"parent\":\"fieldname3\"},{\"form_identifier\":\"\",\"name\":\"fieldname36\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":22,\"ftype\":\"fdropdown\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"dropdown\":{\"label\":\"Dropdown\",\"rules\":{}}}},\"title\":\"\\u0422\\u0438\\u043f \\u043f\\u043e\\u0441\\u043b\\u0443\\u0433\\u0438\",\"size\":\"large\",\"required\":false,\"exclude\":false,\"accept_html\":false,\"toSubmit\":\"text\",\"merge\":0,\"choices\":[\"\\u041c\\u0456\\u0441\\u0442\\u043e\\u0431\\u0443\\u0434\\u0456\\u0432\\u043d\\u0456 \\u043f\\u0440\\u043e\\u0435\\u043a\\u0442\\u0438\",\"\\u041f\\u0440\\u043e\\u0435\\u043a\\u0442 \\u0431\\u0443\\u0434\\u0438\\u043d\\u043a\\u0443\",\"\\u0414\\u0438\\u0437\\u0430\\u0439\\u043d \\u0456\\u043d\\u0442\\u0435\\u0440'\\u0454\\u0440\\u0443\",\"\\u0412\\u0438\\u0440\\u043e\\u0431\\u043d\\u0438\\u0447\\u0438\\u0439 \\u043e\\u0431'\\u0454\\u043a\\u0442\"],\"choicesVal\":[\"\\u041c\\u0456\\u0441\\u0442\\u043e\\u0431\\u0443\\u0434\\u0456\\u0432\\u043d\\u0456 \\u043f\\u0440\\u043e\\u0435\\u043a\\u0442\\u0438\",\"\\u041f\\u0440\\u043e\\u0435\\u043a\\u0442 \\u0431\\u0443\\u0434\\u0438\\u043d\\u043a\\u0443\",\"\\u0414\\u0438\\u0437\\u0430\\u0439\\u043d \\u0456\\u043d\\u0442\\u0435\\u0440'\\u0454\\u0440\\u0443\",\"\\u0412\\u0438\\u0440\\u043e\\u0431\\u043d\\u0438\\u0447\\u0438\\u0439 \\u043e\\u0431'\\u0454\\u043a\\u0442\"],\"optgroup\":[false,false,false,false],\"choiceSelected\":\"\\u041f\\u0440\\u043e\\u0435\\u043a\\u0442 \\u0431\\u0443\\u0434\\u0438\\u043d\\u043a\\u0443 - \\u041f\\u0440\\u043e\\u0435\\u043a\\u0442 \\u0431\\u0443\\u0434\\u0438\\u043d\\u043a\\u0443\",\"select2\":false,\"multiple\":false,\"first_choice\":false,\"first_choice_text\":\"\",\"vChoices\":1,\"showDep\":false,\"nextPage\":false,\"choicesDep\":[[],[],[],[]],\"fBuild\":{},\"parent\":\"fieldname3\"},{\"form_identifier\":\"\",\"name\":\"fieldname20\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":23,\"ftype\":\"ffieldset\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Fields container fieldset tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"legend\":{\"label\":\"Legend\",\"rules\":{}},\"field\":{\"label\":\"Field\",\"rules\":{}}}},\"fields\":[\"fieldname15\",\"fieldname18\",\"fieldname17\"],\"columns\":\"4\",\"align\":\"top\",\"rearrange\":0,\"title\":\"\",\"_developerNotes\":\"\",\"collapsible\":false,\"defaultCollapsed\":true,\"collapsed\":false,\"selfClosing\":false,\"fBuild\":{},\"parent\":\"fieldname19\"},{\"form_identifier\":\"\",\"name\":\"fieldname21\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":24,\"ftype\":\"ffieldset\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Fields container fieldset tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"legend\":{\"label\":\"Legend\",\"rules\":{}},\"field\":{\"label\":\"Field\",\"rules\":{}}}},\"fields\":[\"fieldname22\"],\"columns\":\"4\",\"align\":\"top\",\"rearrange\":0,\"title\":\"\",\"_developerNotes\":\"\",\"collapsible\":false,\"defaultCollapsed\":true,\"collapsed\":false,\"selfClosing\":false,\"fBuild\":{},\"parent\":\"fieldname19\"},{\"form_identifier\":\"\",\"name\":\"fieldname23\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":25,\"ftype\":\"ffieldset\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Fields container fieldset tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"legend\":{\"label\":\"Legend\",\"rules\":{}},\"field\":{\"label\":\"Field\",\"rules\":{}}}},\"fields\":[\"fieldname24\"],\"columns\":\"4\",\"align\":\"top\",\"rearrange\":0,\"title\":\"\",\"_developerNotes\":\"\",\"collapsible\":false,\"defaultCollapsed\":true,\"collapsed\":false,\"selfClosing\":false,\"fBuild\":{},\"parent\":\"fieldname19\"},{\"form_identifier\":\"\",\"name\":\"fieldname25\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":26,\"ftype\":\"ffieldset\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Fields container fieldset tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"legend\":{\"label\":\"Legend\",\"rules\":{}},\"field\":{\"label\":\"Field\",\"rules\":{}}}},\"fields\":[\"fieldname26\"],\"columns\":\"4\",\"align\":\"top\",\"rearrange\":0,\"title\":\"\",\"_developerNotes\":\"\",\"collapsible\":false,\"defaultCollapsed\":true,\"collapsed\":false,\"selfClosing\":false,\"fBuild\":{},\"parent\":\"fieldname19\"},{\"form_identifier\":\"\",\"name\":\"fieldname28\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":27,\"ftype\":\"ffieldset\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Fields container fieldset tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"legend\":{\"label\":\"Legend\",\"rules\":{}},\"field\":{\"label\":\"Field\",\"rules\":{}}}},\"fields\":[\"fieldname29\"],\"columns\":\"4\",\"align\":\"top\",\"rearrange\":0,\"title\":\"\",\"_developerNotes\":\"\",\"collapsible\":false,\"defaultCollapsed\":true,\"collapsed\":false,\"selfClosing\":false,\"fBuild\":{},\"parent\":\"fieldname19\"},{\"form_identifier\":\"\",\"name\":\"fieldname22\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":28,\"ftype\":\"fcheck\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"choice\":{\"label\":\"Choice text\",\"rules\":{}}}},\"title\":\"\",\"layout\":\"one_column\",\"required\":false,\"exclude\":false,\"accept_html\":false,\"readonly\":false,\"toSubmit\":\"text\",\"choices\":[\"\\u0412\\u043e\\u0434\\u043e\\u043f\\u043e\\u0441\\u0442\\u0430\\u0447\\u0430\\u043d\\u043d\\u044f\"],\"choicesVal\":[\"\\u0412\\u043e\\u0434\\u043e\\u043f\\u043e\\u0441\\u0442\\u0430\\u0447\\u0430\\u043d\\u043d\\u044f\"],\"choiceSelected\":[false],\"merge\":1,\"onoff\":1,\"quantity\":0,\"minQuantity\":-1,\"maxQuantity\":-1,\"quantity_when_ticked\":0,\"max\":-1,\"min\":-1,\"maxError\":\"Check no more than {0} boxes\",\"minError\":\"Check at least {0} boxes\",\"showDep\":false,\"choicesDep\":[[]],\"fBuild\":{},\"parent\":\"fieldname21\"},{\"form_identifier\":\"\",\"name\":\"fieldname24\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":29,\"ftype\":\"fcheck\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"choice\":{\"label\":\"Choice text\",\"rules\":{}}}},\"title\":\"\",\"layout\":\"one_column\",\"required\":false,\"exclude\":false,\"accept_html\":false,\"readonly\":false,\"toSubmit\":\"text\",\"choices\":[\"\\u0413\\u0430\\u0437\\u043e\\u043f\\u043e\\u0441\\u0442\\u0430\\u0447\\u0430\\u043d\\u043d\\u044f\"],\"choicesVal\":[\"\\u0413\\u0430\\u0437\\u043e\\u043f\\u043e\\u0441\\u0442\\u0430\\u0447\\u0430\\u043d\\u043d\\u044f\"],\"choiceSelected\":[true],\"merge\":1,\"onoff\":1,\"quantity\":0,\"minQuantity\":-1,\"maxQuantity\":-1,\"quantity_when_ticked\":0,\"max\":-1,\"min\":-1,\"maxError\":\"Check no more than {0} boxes\",\"minError\":\"Check at least {0} boxes\",\"showDep\":false,\"choicesDep\":[[]],\"fBuild\":{},\"parent\":\"fieldname23\"},{\"form_identifier\":\"\",\"name\":\"fieldname26\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":30,\"ftype\":\"fcheck\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"choice\":{\"label\":\"Choice text\",\"rules\":{}}}},\"title\":\"\",\"layout\":\"one_column\",\"required\":false,\"exclude\":false,\"accept_html\":false,\"readonly\":false,\"toSubmit\":\"text\",\"choices\":[\"\\u041a\\u0430\\u043d\\u0430\\u043b\\u0456\\u0437\\u0430\\u0446\\u0456\\u044f\"],\"choicesVal\":[\"\\u041a\\u0430\\u043d\\u0430\\u043b\\u0456\\u0437\\u0430\\u0446\\u0456\\u044f\"],\"choiceSelected\":[false],\"merge\":1,\"onoff\":1,\"quantity\":0,\"minQuantity\":-1,\"maxQuantity\":-1,\"quantity_when_ticked\":0,\"max\":-1,\"min\":-1,\"maxError\":\"Check no more than {0} boxes\",\"minError\":\"Check at least {0} boxes\",\"showDep\":false,\"choicesDep\":[[]],\"fBuild\":{},\"parent\":\"fieldname25\"},{\"form_identifier\":\"\",\"name\":\"fieldname29\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":31,\"ftype\":\"fcheck\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"choice\":{\"label\":\"Choice text\",\"rules\":{}}}},\"title\":\"\",\"layout\":\"one_column\",\"required\":false,\"exclude\":false,\"accept_html\":false,\"readonly\":false,\"toSubmit\":\"text\",\"choices\":[\"\\u0422\\u0435\\u043f\\u043b\\u043e\\u043f\\u043e\\u0441\\u0442\\u0430\\u0447\\u0430\\u043d\\u043d\\u044f\"],\"choicesVal\":[\"\\u0422\\u0435\\u043f\\u043b\\u043e\\u043f\\u043e\\u0441\\u0442\\u0430\\u0447\\u0430\\u043d\\u043d\\u044f\"],\"choiceSelected\":[false],\"merge\":1,\"onoff\":1,\"quantity\":0,\"minQuantity\":-1,\"maxQuantity\":-1,\"quantity_when_ticked\":0,\"max\":-1,\"min\":-1,\"maxError\":\"Check no more than {0} boxes\",\"minError\":\"Check at least {0} boxes\",\"showDep\":false,\"choicesDep\":[[]],\"fBuild\":{},\"parent\":\"fieldname28\"},{\"form_identifier\":\"\",\"name\":\"fieldname30\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":32,\"ftype\":\"fslider\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"slider\":{\"label\":\"Slider\",\"rules\":{}},\"slider_handle\":{\"label\":\"Slider handle\",\"rules\":{}},\"slider_range\":{\"label\":\"Slider range\",\"rules\":{}},\"caption\":{\"label\":\"Caption\",\"rules\":{}},\"caption_left\":{\"label\":\"Left caption\",\"rules\":{}},\"caption_right\":{\"label\":\"Right caption\",\"rules\":{}}}},\"title\":\"\\u041f\\u043b\\u043e\\u0449\\u0430 \\u0434\\u0456\\u043b\\u044f\\u043a\\u0438\",\"exclude\":false,\"readonly\":false,\"predefined\":\"\",\"predefinedMin\":\"\",\"predefinedMax\":\"\",\"predefinedClick\":false,\"size\":\"large\",\"thousandSeparator\":\",\",\"centSeparator\":\".\",\"typeValues\":false,\"min\":0,\"max\":\"300\",\"step\":1,\"marks\":false,\"divisions\":5,\"range\":false,\"logarithmic\":false,\"caption\":\"{0}\",\"minCaption\":\"\",\"maxCaption\":\"\",\"fBuild\":{},\"parent\":\"fieldname27\"},{\"form_identifier\":\"\",\"name\":\"fieldname66\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":33,\"ftype\":\"fnumber\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"gis-lat-master\",\"hidefield\":true,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"spinner_left\":{\"label\":\"Left spinner\",\"rules\":{}},\"spinner_right\":{\"label\":\"Right spinner\",\"rules\":{}}}},\"title\":\"lat\",\"predefined\":\"\",\"predefinedClick\":false,\"required\":false,\"exclude\":false,\"readonly\":false,\"numberpad\":false,\"spinner\":false,\"size\":\"small\",\"prefix\":\"\",\"postfix\":\"\",\"thousandSeparator\":\"\",\"decimalSymbol\":\".\",\"min\":\"\",\"max\":\"\",\"step\":\"\",\"formatDynamically\":false,\"twoDecimals\":false,\"dformat\":\"number\",\"formats\":[\"digits\",\"number\",\"percent\"],\"fBuild\":{},\"parent\":\"fieldname3\"},{\"form_identifier\":\"\",\"name\":\"fieldname67\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":34,\"ftype\":\"fnumber\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"gis-lon-master\",\"hidefield\":true,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"spinner_left\":{\"label\":\"Left spinner\",\"rules\":{}},\"spinner_right\":{\"label\":\"Right spinner\",\"rules\":{}}}},\"title\":\"lon\",\"predefined\":\"\",\"predefinedClick\":false,\"required\":false,\"exclude\":false,\"readonly\":false,\"numberpad\":false,\"spinner\":false,\"size\":\"small\",\"prefix\":\"\",\"postfix\":\"\",\"thousandSeparator\":\"\",\"decimalSymbol\":\".\",\"min\":\"\",\"max\":\"\",\"step\":\"\",\"formatDynamically\":false,\"twoDecimals\":false,\"dformat\":\"number\",\"formats\":[\"digits\",\"number\",\"percent\"],\"fBuild\":{},\"parent\":\"fieldname3\"},{\"form_identifier\":\"\",\"name\":\"fieldname80\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":35,\"ftype\":\"ftextarea\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"field_country_code\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"textarea\":{\"label\":\"Text area\",\"rules\":{}}}},\"title\":\"Untitled\",\"autocomplete\":\"off\",\"predefined\":\"\",\"predefinedClick\":false,\"required\":false,\"exclude\":false,\"accept_html\":false,\"readonly\":false,\"size\":\"medium\",\"minlength\":\"\",\"maxlength\":\"\",\"rows\":4,\"aiAssistant\":false,\"fBuild\":{},\"parent\":\"fieldname3\"},{\"form_identifier\":\"\",\"name\":\"fieldname53\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":36,\"ftype\":\"fnumber\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"gis-richter\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"spinner_left\":{\"label\":\"Left spinner\",\"rules\":{}},\"spinner_right\":{\"label\":\"Right spinner\",\"rules\":{}}}},\"title\":\"\\u0421\\u0435\\u0439\\u0441\\u043c\\u0456\\u043a\\u0430\",\"predefined\":\"\",\"predefinedClick\":false,\"required\":false,\"exclude\":false,\"readonly\":false,\"numberpad\":false,\"spinner\":false,\"size\":\"small\",\"prefix\":\"\",\"postfix\":\"\",\"thousandSeparator\":\"\",\"decimalSymbol\":\".\",\"min\":\"\",\"max\":\"\",\"step\":\"\",\"formatDynamically\":false,\"twoDecimals\":false,\"dformat\":\"number\",\"formats\":[\"digits\",\"number\",\"percent\"],\"fBuild\":{},\"parent\":\"fieldname11\"},{\"form_identifier\":\"\",\"name\":\"fieldname54\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":37,\"ftype\":\"ftext\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"gis-district\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"title\":\"district\",\"autocomplete\":\"off\",\"predefined\":\"\",\"predefinedClick\":false,\"required\":false,\"exclude\":false,\"accept_html\":false,\"readonly\":false,\"size\":\"medium\",\"minlength\":\"\",\"maxlength\":\"\",\"equalTo\":\"\",\"regExp\":\"\",\"regExpMssg\":\"\",\"aiAssistant\":false,\"fBuild\":{},\"parent\":\"fieldname11\"},{\"form_identifier\":\"\",\"name\":\"fieldname58\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":38,\"ftype\":\"ftext\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"gis-region\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"title\":\"region\",\"autocomplete\":\"off\",\"predefined\":\"\",\"predefinedClick\":false,\"required\":false,\"exclude\":false,\"accept_html\":false,\"readonly\":false,\"size\":\"medium\",\"minlength\":\"\",\"maxlength\":\"\",\"equalTo\":\"\",\"regExp\":\"\",\"regExpMssg\":\"\",\"aiAssistant\":false,\"fBuild\":{},\"parent\":\"fieldname11\"},{\"form_identifier\":\"\",\"name\":\"fieldname73\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":39,\"ftype\":\"ftext\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"gis-landuse\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"title\":\"landuse\",\"autocomplete\":\"off\",\"predefined\":\"\",\"predefinedClick\":false,\"required\":false,\"exclude\":false,\"accept_html\":false,\"readonly\":false,\"size\":\"medium\",\"minlength\":\"\",\"maxlength\":\"\",\"equalTo\":\"\",\"regExp\":\"\",\"regExpMssg\":\"\",\"aiAssistant\":false,\"fBuild\":{},\"parent\":\"fieldname11\"},{\"form_identifier\":\"\",\"name\":\"fieldname74\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":40,\"ftype\":\"ftext\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"gis-buildings\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"title\":\"buildings\",\"autocomplete\":\"off\",\"predefined\":\"\",\"predefinedClick\":false,\"required\":false,\"exclude\":false,\"accept_html\":false,\"readonly\":false,\"size\":\"medium\",\"minlength\":\"\",\"maxlength\":\"\",\"equalTo\":\"\",\"regExp\":\"\",\"regExpMssg\":\"\",\"aiAssistant\":false,\"fBuild\":{},\"parent\":\"fieldname11\"},{\"form_identifier\":\"\",\"name\":\"fieldname75\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":41,\"ftype\":\"ftext\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"gis-roads\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"title\":\"roads\",\"autocomplete\":\"off\",\"predefined\":\"\",\"predefinedClick\":false,\"required\":false,\"exclude\":false,\"accept_html\":false,\"readonly\":false,\"size\":\"medium\",\"minlength\":\"\",\"maxlength\":\"\",\"equalTo\":\"\",\"regExp\":\"\",\"regExpMssg\":\"\",\"aiAssistant\":false,\"fBuild\":{},\"parent\":\"fieldname11\"},{\"form_identifier\":\"\",\"name\":\"fieldname43\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":42,\"ftype\":\"facceptance\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"choice\":{\"label\":\"Choice text\",\"rules\":{}},\"text\":{\"label\":\"Acknowledgement text\",\"rules\":{}}}},\"title\":\"Accept terms and conditions\",\"value\":\"I accept\",\"url\":\"\",\"message\":\"\",\"required\":true,\"exclude\":false,\"onoff\":0,\"fBuild\":{},\"parent\":\"\"},{\"dependencies\":[{\"rule\":\"\",\"complex\":false,\"fields\":[\"\"]}],\"form_identifier\":\"\",\"name\":\"fieldname55\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":43,\"ftype\":\"fCalculated\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Calculated field\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"title\":\"Untitled\",\"_developerNotes\":\"\",\"predefined\":\"\",\"required\":false,\"exclude\":false,\"accept_html\":false,\"size\":\"medium\",\"eq\":\"\",\"min\":\"\",\"max\":\"\",\"suffix\":\"\",\"prefix\":\"\",\"decimalsymbol\":\".\",\"groupingsymbol\":\"\",\"readonly\":true,\"currency\":false,\"noEvalIfManual\":true,\"formatDynamically\":false,\"dynamicEval\":true,\"validate\":false,\"fBuild\":{},\"parent\":\"\"},{\"form_identifier\":\"\",\"name\":\"fieldname60\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":44,\"ftype\":\"fhtml\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"_developerNotes\":\"\",\"allowscript\":0,\"replaceShortcodes\":0,\"fcontent\":\"\",\"fBuild\":{},\"parent\":\"\"},{\"form_identifier\":\"\",\"name\":\"fieldname62\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":45,\"ftype\":\"fcurrency\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Input tag\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}},\"spinner_left\":{\"label\":\"Left spinner\",\"rules\":{}},\"spinner_right\":{\"label\":\"Right spinner\",\"rules\":{}}}},\"title\":\"Currency\",\"predefined\":\"\",\"predefinedClick\":false,\"required\":false,\"exclude\":false,\"readonly\":false,\"numberpad\":false,\"spinner\":false,\"size\":\"medium\",\"currencySymbol\":\"$\",\"currencyText\":\"USD\",\"thousandSeparator\":\",\",\"centSeparator\":\".\",\"noCents\":false,\"min\":\"\",\"max\":\"\",\"step\":\"\",\"formatDynamically\":false,\"twoDecimals\":false,\"fBuild\":{},\"parent\":\"\"},{\"dependencies\":[{\"rule\":\"\",\"complex\":false,\"fields\":[\"\"]}],\"form_identifier\":\"\",\"name\":\"fieldname78\",\"fieldlayout\":\"default\",\"shortlabel\":\"\",\"index\":46,\"ftype\":\"fCalculated\",\"userhelp\":\"\",\"audiotutorial\":\"\",\"userhelpTooltip\":false,\"tooltipIcon\":false,\"csslayout\":\"\",\"hidefield\":false,\"advanced\":{\"css\":{\"container\":{\"label\":\"Field container div tag\",\"rules\":{}},\"label\":{\"label\":\"Field label\",\"rules\":{}},\"input\":{\"label\":\"Calculated field\",\"rules\":{}},\"help\":{\"label\":\"Instructions for users\",\"rules\":{}}}},\"title\":\"Untitled\",\"_developerNotes\":\"\",\"predefined\":\"\",\"required\":false,\"exclude\":false,\"accept_html\":false,\"size\":\"medium\",\"eq\":\"\",\"min\":\"\",\"max\":\"\",\"suffix\":\"\",\"prefix\":\"\",\"decimalsymbol\":\".\",\"groupingsymbol\":\"\",\"readonly\":true,\"currency\":false,\"noEvalIfManual\":true,\"formatDynamically\":false,\"dynamicEval\":true,\"validate\":false,\"fBuild\":{},\"parent\":\"\"}],{\"0\":{\"title\":\"\",\"titletag\":\"H2\",\"textalign\":\"default\",\"headertextcolor\":\"\",\"description\":\"\\u0422\\u0435\\u0441\\u0442\",\"formlayout\":\"top_aligned\",\"formtemplate\":\"cp_cff_17\",\"evalequations\":1,\"evalequations_delay\":0,\"evalequationsevent\":2,\"direction\":\"ltr\",\"loading_animation\":0,\"autocomplete\":1,\"persistence\":0,\"animate_form\":0,\"animation_effect\":\"fade\",\"customstyles\":\"\",\"request_cost\":\"fieldname15\",\"advanced\":{\"css\":{\"header\":{\"label\":\"Form header\",\"rules\":{}},\"title\":{\"label\":\"Form title\",\"rules\":{}},\"description\":{\"label\":\"Form description\",\"rules\":{}},\"form\":{\"label\":\"Form area\",\"rules\":{}},\"buttons\":{\"label\":\"Form context buttons (Next page, Previous page, Submit)\",\"rules\":{}},\"buttons_hover\":{\"label\":\"Form context buttons hover\",\"rules\":{}},\"tooltips_icons\":{\"label\":\"Icons for instructions for users tooltips\",\"rules\":{}},\"tooltips\":{\"label\":\"Instructions for users tooltips\",\"rules\":{}},\"thanks_popup\":{\"label\":\"Thanks message popup\",\"rules\":{}},\"close_thanks_popup\":{\"label\":\"Thanks message popup close icon\",\"rules\":{}},\"error_popup\":{\"label\":\"Error message popup\",\"rules\":{}},\"close_error_popup\":{\"label\":\"Error popup close icon\",\"rules\":{}},\"error_bubble\":{\"label\":\"Error bubbles\",\"rules\":{}},\"error_bubble_arrow\":{\"label\":\"Error bubble arrow\",\"rules\":{\"border-bottom-color\":\"\"},\"restrict\":true},\"required_field_asterisk\":{\"label\":\"Asterisk for required fields\",\"rules\":{}}}}},\"formid\":\"cp_calculatedfieldsf_pform_1\",\"setCache\":false,\"cache\":false}];<\/script><\/pre>\r\n\t\t<div id=\"fbuilder\">\r\n\t\t\t\t\t\t<div id=\"fbuilder_1\">\r\n\t\t\t\t<div id=\"formheader_1\"><\/div>\r\n\t\t\t\t<div id=\"fieldlist_1\"><\/div>\r\n                <div class=\"clearer\"><\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div id=\"cpcaptchalayer_1\" class=\"cpcaptchalayer\" style=\"display:none;\">\r\n\t\t\t\t\t\t<div class=\"fields\" id=\"field-c0\" style=\"display:none\">\r\n\t\t\t\t<label>Payment options<\/label>\r\n\t\t\t\t<div class=\"dfield\">\r\n\t\t\t\t \t\t\t\t <!--addons-payment-options-->\r\n    \t\t\t \t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"clearer\"><\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<!--addons-payment-fields-->\r\n\t\t\t\t\t\t\t<div class=\"fields\">\r\n\t\t\t\t\t<label>Please enter the security code<\/label>\r\n\t\t\t\t\t<div class=\"dfield\">\r\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/archiprojeckt.club\/?cp_calculatedfieldsf=captcha&amp;cff=6&amp;ps=_1\"  id=\"captchaimg_1\" alt=\"security code\" border=\"0\" title=\"If you cannot understand the captcha code, press the image\" width=\"180\" height=\"60\" class=\"skip-lazy\" loading=\"lazy\" \/>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"clearer\"><\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"fields\">\r\n\t\t\t\t\t<label for=\"hdcaptcha_cp_calculated_fields_form_post_1\">Security Code (lowercase letters)<\/label>\r\n\t\t\t\t\t<div class=\"dfield\">\r\n\t\t\t\t\t\t<input type=\"text\" size=\"20\" name=\"hdcaptcha_cp_calculated_fields_form_post\" id=\"hdcaptcha_cp_calculated_fields_form_post_1\" value=\"\" autocomplete=\"off\" \/>\r\n\t\t\t\t\t\t<div class=\"error message\" id=\"hdcaptcha_error_1\" style=\"display:none;\"><\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"clearer\"><\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<!--add-ons-->\r\n\t\t\t<\/div>\r\n\t\t\t\t\t\t<div class=\"clearer\"><\/div>\r\n\t\t<\/div>\r\n\t<input type=\"hidden\" id=\"_cpcff_public_nonce\" name=\"_cpcff_public_nonce\" value=\"169e57a6bc\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/index.php\/wp-json\/wp\/v2\/pages\/233\" \/><input type=\"hidden\" name=\"cff_form_start_time\" value=\"N0WogEkXpeqqPLK6JAeRnQ==\">\t<\/form>\r\n<\/h2>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-no-title","meta":{"footnotes":""},"class_list":["post-233","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/archiprojeckt.club\/index.php\/wp-json\/wp\/v2\/pages\/233","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archiprojeckt.club\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/archiprojeckt.club\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/archiprojeckt.club\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/archiprojeckt.club\/index.php\/wp-json\/wp\/v2\/comments?post=233"}],"version-history":[{"count":9,"href":"https:\/\/archiprojeckt.club\/index.php\/wp-json\/wp\/v2\/pages\/233\/revisions"}],"predecessor-version":[{"id":258,"href":"https:\/\/archiprojeckt.club\/index.php\/wp-json\/wp\/v2\/pages\/233\/revisions\/258"}],"wp:attachment":[{"href":"https:\/\/archiprojeckt.club\/index.php\/wp-json\/wp\/v2\/media?parent=233"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}