From b8ab680c84308cc11f295f52d44e03f22c45d197 Mon Sep 17 00:00:00 2001 From: rajeswari1301 Date: Wed, 15 Jul 2026 11:11:03 -0500 Subject: [PATCH 1/4] Announce to screen readers when an item is removed Co-authored-by: plocket <52798256+plocket@users.noreply.github.com> --- docassemble_base/docassemble/base/functions.py | 13 +++++++++++++ docassemble_webapp/docassemble/webapp/server.py | 7 +++++++ 2 files changed, 20 insertions(+) diff --git a/docassemble_base/docassemble/base/functions.py b/docassemble_base/docassemble/base/functions.py index 36372d86e..6934deba6 100644 --- a/docassemble_base/docassemble/base/functions.py +++ b/docassemble_base/docassemble/base/functions.py @@ -4115,6 +4115,17 @@ def message(*pargs, **kwargs): raise QuestionError(*pargs, **kwargs) +def add_sr_announcement(message_text): + """Queues a message to be announced to a screen reader users on the next page load""" + if not hasattr(this_thread, 'internal') or this_thread.internal is None: + this_thread.internal = {} + if 'sr_announcements' not in this_thread.internal: + this_thread.internal['sr_announcements'] = [] + text = str(message_text) + if text not in this_thread.internal['sr_announcements']: + this_thread.internal['sr_announcements'].append(text) + + def response(*pargs, **kwargs): """Sends a custom HTTP response.""" raise ResponseError(*pargs, **kwargs) @@ -4581,6 +4592,7 @@ def process_action(): if 'action_item' in this_thread.current_info and 'action_list' in this_thread.current_info: try: this_thread.current_info['action_list'].pop(this_thread.current_info['action_item']) + add_sr_announcement(word('Item removed') + '.') if len(this_thread.current_info['action_list'].elements) == 0 and hasattr(this_thread.current_info['action_list'], 'there_are_any'): this_thread.current_info['action_list'].there_are_any = False if hasattr(this_thread.current_info['action_list'], 'there_is_another') and this_thread.current_info['action_list'].there_is_another: @@ -4605,6 +4617,7 @@ def process_action(): if 'action_item' in this_thread.current_info and 'action_dict' in this_thread.current_info: try: this_thread.current_info['action_dict'].pop(this_thread.current_info['action_item']) + add_sr_announcement(word('Item removed') + '.') if len(this_thread.current_info['action_dict'].elements) == 0 and hasattr(this_thread.current_info['action_dict'], 'there_are_any'): this_thread.current_info['action_dict'].there_are_any = False if hasattr(this_thread.current_info['action_dict'], 'there_is_another') and this_thread.current_info['action_dict'].there_is_another: diff --git a/docassemble_webapp/docassemble/webapp/server.py b/docassemble_webapp/docassemble/webapp/server.py index d0af81150..9f06109dd 100644 --- a/docassemble_webapp/docassemble/webapp/server.py +++ b/docassemble_webapp/docassemble/webapp/server.py @@ -9264,6 +9264,13 @@ def index(action_argument=None, refer=None): the_nav_bar = '' interview_status.using_navigation = False content = as_html(interview_status, debug_mode, url_for('index', **index_params), validation_rules, the_field_errors, the_progress_bar, steps - user_dict['_internal']['steps_offset']) + sr_announcements = docassemble.base.functions.this_thread.internal.pop('sr_announcements', []) + if sr_announcements and 'btn-darevisit' in content: + content = content.replace( + '
', + ', ' + ' '.join(noquote(text) for text in sr_announcements) + '
', + 1 + ) if debug_mode: readability = {} for question_type in ('question', 'help'): From a0db891249bee06aad453b2fd3df7832b381de82 Mon Sep 17 00:00:00 2001 From: rajeswari1301 Date: Thu, 16 Jul 2026 10:51:29 -0500 Subject: [PATCH 2/4] Use item name and fix screen reader announcement reliability Use the popped item's name in the message instead of a generic "Item removed". Also prime an empty aria-live region once when the page first loads, and writing the message into it on delete. And, added a tiny delay to the heading focus shift so VoiceOver has some time to speak before the focus jumps. --- .../docassemble/base/functions.py | 19 +++--------- .../docassemble/webapp/server.py | 2 +- .../docassemble/webapp/static/app/app.js | 29 +++++++++++++++++++ .../docassemble/webapp/static/app/app.min.js | 2 +- .../webapp/static/app/app.min.js.map | 2 +- 5 files changed, 36 insertions(+), 18 deletions(-) diff --git a/docassemble_base/docassemble/base/functions.py b/docassemble_base/docassemble/base/functions.py index 6934deba6..8b99fcd41 100644 --- a/docassemble_base/docassemble/base/functions.py +++ b/docassemble_base/docassemble/base/functions.py @@ -4115,17 +4115,6 @@ def message(*pargs, **kwargs): raise QuestionError(*pargs, **kwargs) -def add_sr_announcement(message_text): - """Queues a message to be announced to a screen reader users on the next page load""" - if not hasattr(this_thread, 'internal') or this_thread.internal is None: - this_thread.internal = {} - if 'sr_announcements' not in this_thread.internal: - this_thread.internal['sr_announcements'] = [] - text = str(message_text) - if text not in this_thread.internal['sr_announcements']: - this_thread.internal['sr_announcements'].append(text) - - def response(*pargs, **kwargs): """Sends a custom HTTP response.""" raise ResponseError(*pargs, **kwargs) @@ -4591,8 +4580,8 @@ def process_action(): if the_action == '_da_list_remove': if 'action_item' in this_thread.current_info and 'action_list' in this_thread.current_info: try: - this_thread.current_info['action_list'].pop(this_thread.current_info['action_item']) - add_sr_announcement(word('Item removed') + '.') + item_popped = this_thread.current_info['action_list'].pop(this_thread.current_info['action_item']) + log(str(item_popped) + ' ' + word('removed') + '.', 'info') if len(this_thread.current_info['action_list'].elements) == 0 and hasattr(this_thread.current_info['action_list'], 'there_are_any'): this_thread.current_info['action_list'].there_are_any = False if hasattr(this_thread.current_info['action_list'], 'there_is_another') and this_thread.current_info['action_list'].there_is_another: @@ -4616,8 +4605,8 @@ def process_action(): if the_action == '_da_dict_remove': if 'action_item' in this_thread.current_info and 'action_dict' in this_thread.current_info: try: - this_thread.current_info['action_dict'].pop(this_thread.current_info['action_item']) - add_sr_announcement(word('Item removed') + '.') + item_popped = this_thread.current_info['action_dict'].pop(this_thread.current_info['action_item']) + log(str(item_popped) + ' ' + word('removed') + '.', 'info') if len(this_thread.current_info['action_dict'].elements) == 0 and hasattr(this_thread.current_info['action_dict'], 'there_are_any'): this_thread.current_info['action_dict'].there_are_any = False if hasattr(this_thread.current_info['action_dict'], 'there_is_another') and this_thread.current_info['action_dict'].there_is_another: diff --git a/docassemble_webapp/docassemble/webapp/server.py b/docassemble_webapp/docassemble/webapp/server.py index 9f06109dd..0ebae2cc4 100644 --- a/docassemble_webapp/docassemble/webapp/server.py +++ b/docassemble_webapp/docassemble/webapp/server.py @@ -9349,7 +9349,7 @@ def index(action_argument=None, refer=None): scripts += additional_css(interview_status, js_only=True) else: start_output += global_css + additional_css(interview_status) - start_output += '\n ' + interview_status.tabtitle + '\n \n \n
\n' + start_output += '\n ' + interview_status.tabtitle + '\n \n \n
\n
\n' if interview.options.get('hide navbar', False): output = make_navbar(interview_status, (steps - user_dict['_internal']['steps_offset']), interview.consolidated_metadata.get('show login', SHOW_LOGIN), user_dict['_internal']['livehelp'], debug_mode, index_params, extra_class='dainvisible') else: diff --git a/docassemble_webapp/docassemble/webapp/static/app/app.js b/docassemble_webapp/docassemble/webapp/static/app/app.js index 39bf2f3be..a8897ce14 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/app.js +++ b/docassemble_webapp/docassemble/webapp/static/app/app.js @@ -1074,6 +1074,7 @@ var daYamlFilename; var daNotificationContainer; var daNotificationMessage; var daMessageLog; +var daPendingAnnouncement = false; var daImageToPreLoad; var daGetVariablesUrl; var daLiveHelpMessage; @@ -3140,6 +3141,15 @@ function daProcessAjax(data, form, doScroll, actionURL) { window.scrollTo(0, 1); } $(daTargetDiv).html(data.body); + if (data.message_log) { + var srMessages = data.message_log.filter(function(m) { + return m.priority === 'info' || m.priority === 'success' || m.priority === 'warning' || m.priority === 'danger'; + }); + if (srMessages.length > 0) { + $("#daSrAnnouncement").text(srMessages.map(function(m) { return m.message; }).join(' ')); + daPendingAnnouncement = true; + } + } $(daTargetDiv).parent().removeClass(); $(daTargetDiv).parent().addClass(data.bodyclass); $("meta[name=viewport]").attr( @@ -5059,6 +5069,16 @@ function daInitialize(doScroll) { } } } + } else if (daPendingAnnouncement) { + daPendingAnnouncement = false; + setTimeout(function () { + var questionTitle = $("#daMainQuestion, #dasigtitle") + .filter(":visible") + .first(); + if (questionTitle.length > 0 && $(questionTitle).visible()) { + $(questionTitle).attr("tabindex", "-1").focus(); + } + }, 700); } else { var questionTitle = $("#daMainQuestion, #dasigtitle") .filter(":visible") @@ -6511,6 +6531,15 @@ function daReadyFunction() { //console.log("Got newpage") var data = incoming.obj; $(daTargetDiv).html(data.body); + if (data.message_log) { + var srMessages = data.message_log.filter(function(m) { + return m.priority === 'info' || m.priority === 'success' || m.priority === 'warning' || m.priority === 'danger'; + }); + if (srMessages.length > 0) { + $("#daSrAnnouncement").text(srMessages.map(function(m) { return m.message; }).join(' ')); + daPendingAnnouncement = true; + } + } $(daTargetDiv).parent().removeClass(); $(daTargetDiv).parent().addClass(data.bodyclass); daInitialize(1); diff --git a/docassemble_webapp/docassemble/webapp/static/app/app.min.js b/docassemble_webapp/docassemble/webapp/static/app/app.min.js index fece8372c..c69831c45 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/app.min.js +++ b/docassemble_webapp/docassemble/webapp/static/app/app.min.js @@ -1,2 +1,2 @@ -var $;document.addEventListener("DOMContentLoaded",function(){if(typeof $=="undefined"){$=jQuery.noConflict()}if(daJsEmbed){daTargetDiv="#"+daJsEmbed}else{daTargetDiv="#dabody"}daPreloadImage(daImageToPreLoad);if(daAutoColorScheme){if(window.matchMedia("(prefers-color-scheme: dark)").matches){daDesiredColorScheme=1}else{daDesiredColorScheme=0}if(daCurrentColorScheme!=daDesiredColorScheme){document.documentElement.setAttribute("data-bs-theme",daDesiredColorScheme?"dark":"light");$.ajax({type:"PATCH",url:daUrlChangeColorScheme,xhrFields:{withCredentials:true},data:"scheme="+daDesiredColorScheme,success:function(data){daCurrentColorScheme=data.scheme},error:function(xhr,status,error){console.log("Unable to change desired color scheme.")},dataType:"json"})}}$(document).ready(daReadyFunction);if(!daObserverMode){$(window).ready(daUpdateHeight);$(window).resize(daUpdateHeight)}daConfigureJqueryFuncs();for(var i=0;icontentwidth){cwidth=contentwidth}var cheight=cwidth*daAspectRatio;var otherHeights=$("#dasigheader").outerHeight(true)+$("#dasigtoppart").outerHeight(true)+$("#dasigmidpart").outerHeight(true)+$("#dasigbottompart").outerHeight(true);if(cheight>$(window).height()-otherHeights){cheight=$(window).height()-otherHeights}if(cheight>275||cheight<30){cheight=275}$("#dasigcontent").height(cheight);var canvas='';$("#dasigcontent").html(canvas);daTheWidth=daThicknessScalingFactor*cwidth/100;if(daTheWidth<1){daTheWidth=1}daSignaturePad=new SignaturePad(document.querySelector("#dasigcanvas"));if(defaultImage!=null){daSignaturePad.fromDataURL(defaultImage,{ratio:1,width:cwidth,height:cheight,xOffset:0,yOffset:0})}daSignaturePad.minWidth=.5*daThicknessScalingFactor;daSignaturePad.maxWidth=2.5*daThicknessScalingFactor;daSignaturePad.penColor=daColor;setTimeout(function(){if(daJsEmbed){$(daTargetDiv)[0].scrollTo(0,1);if(daSteps>1){$(daTargetDiv)[0].scrollIntoView()}}else{window.scrollTo(0,1)}},10)}function daPost(params){for(var key in params){if(params.hasOwnProperty(key)){var hiddenField=document.getElementById(key);if(hiddenField!=null){hiddenField.setAttribute("value",params[key])}else{console.log("Key does not exist: "+key);return}}}$("#dasigform").submit();return}function isCanvasSupported(){var elem=document.createElement("canvas");return!!(elem.getContext&&elem.getContext("2d"))}var daAutocomplete=Object();function daWaitForGoogle(waitForPlaces){return new Promise(resolve=>{let attempts=0;const maxAttempts=50;const interval=setInterval(()=>{var found=false;try{if(google.maps===undefined){throw new Error("google maps not defined")}if(waitForPlaces){if(google.maps.places===undefined){throw new Error("places not defined")}}found=true}catch(e){}if(found||attempts>=maxAttempts){clearInterval(interval);resolve(found)}attempts++},100)})}function daInitAutocomplete(info){daAutocomplete=Object();for(var i=0;i1){maps[i].map.fitBounds(bounds)}}}function daAddMap(map_num,center_lat,center_lon){var map=new google.maps.Map(document.getElementById("map"+map_num),{zoom:11,center:new google.maps.LatLng(center_lat,center_lon),mapTypeId:google.maps.MapTypeId.ROADMAP,mapId:"map"+map_num+"element"});var infowindow=new google.maps.InfoWindow;return{map:map,infowindow:infowindow}}async function daAddMarker(map,marker_info,show_marker){const{AdvancedMarkerElement,PinElement}=await google.maps.importLibrary("marker");var marker;var content;if(marker_info.icon){content=new PinElement(marker_info.icon)}else{content=new PinElement}marker=new AdvancedMarkerElement({position:{lat:marker_info.latitude,lng:marker_info.longitude},map:map.map,content:content.element});if(marker_info.info){google.maps.event.addListener(marker,"click",function(marker,info){return function(){map.infowindow.setContent(info);map.infowindow.open(map.map,marker)}}(marker,marker_info.info))}if(show_marker){map.infowindow.setContent(marker_info.info);map.infowindow.open(map.map,marker)}return marker}function daFillInAddress(origId,place){var id;if(daVarLookupRev[origId]){id=daVarLookupRev[origId]}else{id=origId}var baseVarname=atob(id).replace(/.[a-zA-Z0-9_]+$/,"");baseVarname=baseVarname.replace(/[\[\]]/g,".");var re=new RegExp("^"+baseVarname+".(.*)");var componentTrans={administrative_area_level_1:["state","shortText"],administrative_area_level_2:["county","longText"]};var alternatives=[["city",["locality","sublocality_level_1","neighborhood","administrative_area_level_3","colloquial_area"]],["sublocality",["sublocality_level_1","sublocality_level_2","sublocality_level_3","sublocality_level_4","sublocality_level_5"]]];var fieldsToClear=["address","administrative_area_level_1","administrative_area_level_2","administrative_area_level_3","administrative_area_level_4","administrative_area_level_5","administrative_area_level_6","administrative_area_level_7","adr_format_address","airport","bus_station","business_status","city","colloquial_area","compound_code","country","county","directions_uri","display_name","display_name_language_code","establishment","floor","formatted_address","global_code","has_wheelchair_accessible_entrance","has_wheelchair_accessible_parking","has_wheelchair_accessible_restroom","has_wheelchair_accessible_seating","id","international_phone_number","intersection","landmark","latitude","locality","location","longitude","national_phone_number","natural_feature","neighborhood","park","parking","photos_uri","place_uri ","plus_code","point_of_interest","political","post_box","postal_code","postal_town","premise","price_level","primary_type","primary_type_display_name","primary_type_display_name_language_code","rating","reviews_uri","room","route","state","street_number","sublocality","subpremise","train_station","transit_station","types","utc_offset_minutes","write_a_review_uri","zip"];var idForPart={};$("input, select").each(function(){var the_id=$(this).attr("id");if(typeof the_id!==typeof undefined&&the_id!==false){try{var field_name=atob($(this).attr("id"));if(field_name.indexOf("_field_")==0){field_name=atob(daVarLookupRev[$(this).attr("id")])}var m=re.exec(field_name);if(m.length>0){idForPart[m[1]]=$(this).attr("id")}}catch(e){}}});for(var component in fieldsToClear){if(typeof idForPart[component]!="undefined"&&document.getElementById(idForPart[component])!=null){document.getElementById(idForPart[component]).value=""}}var savedValues={};var toChange=[];for(var i=0;i{var pythonSubVar=camelToUnderscore(jsSubVar);if(value!=null&&typeof idForPart[pythonSubVar]!="undefined"&&document.getElementById(idForPart[pythonSubVar])!=null){document.getElementById(idForPart[pythonSubVar]).value=jsonIfObject(value);toChange.push("#"+idForPart[pythonSubVar])}})}else if(place[jsVar]&&typeof idForPart[pythonVar]!="undefined"&&document.getElementById(idForPart[pythonVar])!=null){document.getElementById(idForPart[pythonVar]).value=jsonIfObject(place[jsVar]);toChange.push("#"+idForPart[pythonVar])}}for(var i=0;i0){id_for_part[m[1]]=$(this).attr("id")}}catch(e){}}});place=daAutocomplete[origId].getPlace();if(typeof id_for_part["address"]!="undefined"&&document.getElementById(id_for_part["address"])!=null){document.getElementById(id_for_part["address"]).value=""}for(var component in fields_to_fill){if(typeof id_for_part[component]!="undefined"&&document.getElementById(id_for_part[component])!=null){document.getElementById(id_for_part[component]).value=""}}var street_number;var route;var savedValues={};var toChange=[];for(var i=0;i1&&window!=top){top.location.href=location.href}}Object.defineProperty(String.prototype,"daSprintf",{value:function(){var args=Array.from(arguments),i=0;function defaultNumber(iValue){return iValue!=undefined&&!isNaN(iValue)?iValue:"0"}function defaultString(iValue){return iValue==undefined?"":""+iValue}return this.replace(/%%|%([+\-])?([^1-9])?(\d+)?(\.\d+)?([deEfhHioQqs])/g,function(match,sign,filler,scale,precision,type){var strOut,space,value;var asNumber=false;if(match=="%%")return"%";if(i>=args.length)return match;value=args[i];while(Array.isArray(value)){args.splice(i,1);for(var j=i;value.length>0;j++)args.splice(j,0,value.shift());value=args[i]}i++;if(filler==undefined)filler=" ";if(scale==undefined&&!isNaN(filler)){scale=filler;filler=" "}if(sign==undefined)sign="sqQ".indexOf(type)>=0?"+":"-";if(scale==undefined)scale=0;if(precision==undefined)precision=".0";scale=parseInt(scale);precision=parseInt(precision.substr(1));switch(type){case"d":case"i":asNumber=true;strOut=parseInt(defaultNumber(value));if(precision>0)strOut+="."+"0".repeat(precision);break;case"e":case"E":asNumber=true;strOut=parseFloat(defaultNumber(value));if(precision==0)strOut=strOut.toExponential();else strOut=strOut.toExponential(precision);if(type=="E")strOut=strOut.replace("e","E");break;case"f":asNumber=true;strOut=parseFloat(defaultNumber(value));if(precision!=0)strOut=strOut.toFixed(precision);break;case"o":case"h":case"H":strOut="\\"+(type=="o"?"0":type)+parseInt(defaultNumber(value)).toString(type=="o"?8:16);break;case"q":strOut="'"+defaultString(value)+"'";break;case"Q":strOut='"'+defaultString(value)+'"';break;default:strOut=defaultString(value);break}if(typeof strOut!="string")strOut=""+strOut;if((space=strOut.length)0){for(var i=0;i0){var showifParents=$(possibleElements[i]).parents(".dajsshowif,.dashowif");if(showifParents.length==0||$(showifParents[0]).data("isVisible")=="1"){if(notInDiv&&$.contains(notInDiv,possibleElements[i])){continue}returnVal=possibleElements[i]}}}if($(returnVal).hasClass("da-to-labelauty")&&$(returnVal).parents("div.da-field-group").length>0){var fieldSet=$(returnVal).parents("div.da-field-group")[0];if(!$(fieldSet).hasClass("da-field-checkbox")&&!$(fieldSet).hasClass("da-field-checkboxes")){return fieldSet}}return returnVal}var daGetField=getField;function setChoices(fieldName,choices){var elem=daGetField(fieldName);if(elem==null){console.log("setChoices: reference to non-existent field "+fieldName);return}var isCombobox=$(elem).attr("type")=="hidden"&&$(elem).parents(".combobox-container").length>0;if(isCombobox){var comboInput=$(elem).parents(".combobox-container").first().find("input.combobox").first();var comboObject=daComboBoxes[$(comboInput).attr("id")];var oldComboVal=comboObject.$target.val();elem=comboObject.$source}if($(elem).prop("tagName")!="SELECT"){console.log("setField: field "+fieldName+" is not a dropdown field");return}var oldVal=$(elem).val();$(elem).find("option[value!='']").each(function(){$(this).remove()});var n=choices.length;for(var i=0;i");opt.val(choices[i][0]);opt.text(choices[i][1]);if(oldVal==choices[i][0]){opt.attr("selected","selected")}$(elem).append(opt)}if(isCombobox){comboObject.refresh();comboObject.clearTarget();if(oldComboVal!=""){daSetField(fieldName,oldComboVal)}}}var daSetChoices=setChoices;function setField(fieldName,theValue){var elem=daGetField(fieldName);if(elem==null){console.log("setField: reference to non-existent field "+fieldName);return}if($(elem).prop("tagName")=="DIV"&&$(elem).hasClass("da-field-group")&&$(elem).hasClass("da-field-radio")){elem=$(elem).find("input")[0]}if($(elem).attr("type")=="checkbox"){if(theValue){if($(elem).prop("checked")!=true){$(elem).click()}}else{if($(elem).prop("checked")!=false){$(elem).click()}}}else if($(elem).attr("type")=="radio"){var fieldNameEscaped=$(elem).attr("name").replace(/(:|\.|\[|\]|,|=)/g,"\\$1");var wasSet=false;if(theValue===true){theValue="True"}if(theValue===false){theValue="False"}$("input[name='"+fieldNameEscaped+"']").each(function(){if($(this).val()==theValue){if($(this).prop("checked")!=true){$(this).prop("checked",true);$(this).trigger("change")}wasSet=true;return false}});if(!wasSet){console.log("setField: could not set radio button "+fieldName+" to "+theValue)}}else if($(elem).attr("type")=="hidden"){if($(elem).val()!=theValue){if($(elem).parents(".combobox-container").length>0){var comboInput=$(elem).parents(".combobox-container").first().find("input.combobox").first();daComboBoxes[$(comboInput).attr("id")].manualSelect(theValue)}else{$(elem).val(theValue);$(elem).trigger("change")}}}else if($(elem).prop("tagName")=="DIV"&&$(elem).hasClass("da-field-group")&&$(elem).hasClass("da-field-checkboxes")){if(!Array.isArray(theValue)){throw new Error("setField: value must be an array")}var n=theValue.length;$(elem).find("input").each(function(){if($(this).hasClass("danota-checkbox")){$(this).prop("checked",n==0);$(this).trigger("change");return}if($(this).hasClass("daaota-checkbox")){$(this).prop("checked",false);$(this).trigger("change");return}if($(this).attr("name").substr(0,7)==="_ignore"){return}var theVal=atou($(this).data("cbvalue"));if($(elem).hasClass("daobject")){theVal=atou(theVal)}var oldVal=$(this).prop("checked")==true;var newVal=false;for(var i=0;i0){if(daJsEmbed){scrollTarget=$(validator.errorList[0].element).parents(".da-form-group").first().position().top-60}else{scrollTarget=$(validator.errorList[0].element).parents(".da-form-group").first().offset().top-60}}if(scrollTarget!=null){if(daJsEmbed){$(daTargetDiv).animate({scrollTop:scrollTarget},1e3)}else{$("html, body").animate({scrollTop:scrollTarget},1e3)}}}var daValidator;var daValidationRules={};function daValidationHandler(form){if(daObserverMode){return}var visibleElements=[];var seen=Object();$(form).find("input, select, textarea").filter(":not(:disabled)").each(function(){if($(this).attr("name")&&$(this).attr("type")!="hidden"&&($(this).hasClass("da-active-invisible")&&$(this).parent().is(":visible")||$(this).is(":visible"))){var theName=$(this).attr("name");if(!seen.hasOwnProperty(theName)){visibleElements.push(theName);seen[theName]=1}}});$(form).find("input[name='_visible']").val(utoa(JSON_stringify(visibleElements)));$(form).each(function(){$(this).find(":input").off("change",daOnChange)});$("meta[name=viewport]").attr("content","width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0");if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}daDisable=setTimeout(function(){$(form).find('input[type="submit"]').prop("disabled",true);$(form).find('button[type="submit"]').prop("disabled",true)},1);if(daWhichButton!=null){$(".da-field-buttons .btn-da").each(function(){if(this!=daWhichButton){$(this).removeClass(daAllButtonClasses);$(this).addClass(daButtonStyle+"light")}});if($(daWhichButton).hasClass(daButtonStyle+"success")){$(daWhichButton).removeClass(daButtonStyle+"success");$(daWhichButton).addClass(daButtonStyle+"primary")}else{$(daWhichButton).removeClass(daButtonStyle+"primary "+daButtonStyle+"info "+daButtonStyle+"warning "+daButtonStyle+"danger "+daButtonStyle+"success "+daButtonStyle+"light");$(daWhichButton).addClass(daButtonStyle+"secondary")}}var tableOrder={};var tableOrderChanges={};$("a.datableup").each(function(){var tableName=$(this).data("tablename");if(!tableOrder.hasOwnProperty(tableName)){tableOrder[tableName]=[]}tableOrder[tableName].push(parseInt($(this).data("tableitem")))});var tableChanged=false;for(var tableName in tableOrder){if(tableOrder.hasOwnProperty(tableName)){var n=tableOrder[tableName].length;for(var i=0;i").attr({type:"hidden",name:"_order_changes",value:JSON.stringify(tableOrderChanges)}).appendTo($(form))}var collectToDelete=[];$(".dacollectunremove:visible").each(function(){collectToDelete.push(parseInt($(this).parent().parent().data("collectnum")))});var lastOk=parseInt($(".dacollectremove:visible, .dacollectremoveexisting:visible").last().parent().parent().data("collectnum"));$(".dacollectremove, .dacollectremoveexisting").each(function(){if(parseInt($(this).parent().parent().data("collectnum"))>lastOk){collectToDelete.push(parseInt($(this).parent().parent().data("collectnum")))}});if(collectToDelete.length>0){$("").attr({type:"hidden",name:"_collect_delete",value:JSON.stringify(collectToDelete)}).appendTo($(form))}$("select.damultiselect:not(:disabled)").each(function(){var showifParents=$(this).parents(".dajsshowif,.dashowif");if(showifParents.length==0||$(showifParents[0]).data("isVisible")=="1"){$(this).find("option").each(function(){$("").attr({type:"hidden",name:$(this).val(),value:$(this).prop("selected")?"True":"False"}).appendTo($(form))})}$(this).prop("disabled",true)});daWhichButton=null;if(daSubmitter!=null&&daSubmitter.name&&$('input[name="'+daSubmitter.name+'"]').length==0){$("").attr({type:"hidden",name:daSubmitter.name,value:daSubmitter.value}).appendTo($(form))}if(daInformedChanged){$("").attr({type:"hidden",name:"informed",value:Object.keys(daInformed).join(",")}).appendTo($(form))}$("").attr({type:"hidden",name:"ajax",value:"1"}).appendTo($(form));daSpinnerTimeout=setTimeout(daShowSpinner,1e3);var do_iframe_upload=false;inline_succeeded=false;if($('input[name="_files"]').length>0){var filesToRead=0;var filesRead=0;var newFileList=Array();var nullFileList=Array();var fileArray={keys:Array(),values:Object()};var file_list=JSON.parse(atou($('input[name="_files"]').val()));var inline_file_list=Array();var namesWithImages=Object();for(var i=0;i0){for(var j=0;j0){newFileList.push(file_list[i])}else{nullFileList.push(file_list[i])}namesWithImages[file_list[i]]=hasImages}if(inline_file_list.length>0){var originalFileList=atou($('input[name="_files"]').val());if(newFileList.length==0&&nullFileList.length==0){$('input[name="_files"]').remove()}else{$('input[name="_files"]').val(utoa(JSON_stringify(newFileList.concat(nullFileList))))}for(var i=0;iheight){if(width>max_size){height*=max_size/width;width=max_size}}else{if(height>max_size){width*=max_size/height;height=max_size}}canvas.width=width;canvas.height=height;canvas.getContext("2d").drawImage(image,0,0,width,height);thisFileInfo["content"]=canvas.toDataURL(convertedType);filesRead++;if(filesRead>=filesToRead){daResumeUploadSubmission(form,fileArray,inline_file_list,newFileList,daSubmitter)}};image.src=reader.result}else{thisFileInfo["content"]=reader.result;filesRead++;if(filesRead>=filesToRead){daResumeUploadSubmission(form,fileArray,inline_file_list,newFileList,daSubmitter)}}};reader.readAsDataURL(the_file)};tempFunc(a_file,max_size,this_has_images);inline_succeeded=true}}}if(newFileList.length==0){}else{do_iframe_upload=true}}if(inline_succeeded){return false}if(do_iframe_upload){$("#dauploadiframe").remove();var iframe=$('');$(daTargetDiv).append(iframe);$(form).attr("target","dauploadiframe");iframe.bind("load",function(){setTimeout(function(){try{daProcessAjax($.parseJSON(daUnfakeHtmlResponse($("#dauploadiframe").contents().text())),form,1)}catch(e){try{daProcessAjax($.parseJSON($("#dauploadiframe").contents().text()),form,1)}catch(f){daShowErrorScreen(document.getElementById("dauploadiframe").contentWindow.document.body.innerHTML,f)}}},0)});form.submit()}else{daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$(form).serialize(),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,form,1)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)}})}return false}function daSetupValidation(rules,messages){daValidationRules=rules;daValidationRules.submitHandler=daValidationHandler;daValidationRules.invalidHandler=daInvalidHandler;daValidationRules.onfocusout=daInjectTrim($.validator.defaults.onfocusout);if($("#daform").length>0){daValidator=$("#daform").validate(daValidationRules);if(Object.keys(messages).length>0){daValidator.showErrors(messages)}}}function daRecordLocation(){if(document.getElementById("da_track_location")==null){return}if(navigator.geolocation){document.getElementById("da_track_location").value=JSON.stringify({error:"getCurrentPosition was still running"});navigator.geolocation.getCurrentPosition(daSetPosition,daShowError,{timeout:1e3,maximumAge:36e5})}else{document.getElementById("da_track_location").value=JSON.stringify({error:"navigator.geolocation not available in browser"})}}function daSignatureSubmit(event){$(this).find("input[name='ajax']").val(1);daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$(this).serialize(),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,$(this),1)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)}});event.preventDefault();event.stopPropagation();return false}function JSON_stringify(s){var json=JSON.stringify(s);return json.replace(/[\u007f-\uffff]/g,function(c){return"\\u"+("0000"+c.charCodeAt(0).toString(16)).slice(-4)})}function daResumeUploadSubmission(form,fileArray,inline_file_list,newFileList,daSubmitter){if(daSubmitter!=null&&daSubmitter.name&&$(form).find('input[name="'+daSubmitter.name+'"]').length==0){$("").attr({type:"hidden",name:daSubmitter.name,value:daSubmitter.value}).appendTo($(form))}$("").attr({type:"hidden",name:"_files_inline",value:utoa(JSON_stringify(fileArray))}).appendTo($(form));for(var i=0;i0){$("#dauploadiframe").remove();var iframe=$('');$(daTargetDiv).append(iframe);$(form).attr("target","dauploadiframe");iframe.bind("load",function(){setTimeout(function(){daProcessAjax($.parseJSON($("#dauploadiframe").contents().text()),form,1)},0)});form.submit()}else{daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$(form).serialize(),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,form,1)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)}})}}function daOnChange(){if(daObserverMode){return}if(daCheckinSeconds==0||daShowIfInProcess){return true}if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}var oThis=this;daCheckin(oThis);daCheckinInterval=setInterval(daCheckin,daCheckinSeconds);return true}function daPushChanges(){if(daObserverMode){if(daObserverChangesInterval!=null){clearInterval(daObserverChangesInterval)}if(!daSendChanges||!daConnected){return}daObserverChangesInterval=setInterval(daPushChanges,daCheckinSeconds);daSocket.emit("observerChanges",{uid:daUid,i:daYamlFilename,userid:daUserObserved,parameters:JSON.stringify($("#daform").serializeArray())});return}if(daCheckinSeconds==0||daShowIfInProcess){return true}if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}daCheckin(null);daCheckinInterval=setInterval(daCheckin,daCheckinSeconds);return true}function daProcessAjaxError(xhr,status,error){daRequestPending=false;if(xhr.responseType==undefined||xhr.responseType==""||xhr.responseType=="text"){var theHtml=xhr.responseText;if(theHtml==undefined){$(daTargetDiv).html("error")}else{var newDiv=document.createElement("div");$(newDiv).html(theHtml);var daDivs=$(newDiv).children("div");if(daDivs.length>0){$(daTargetDiv).empty();for(var i=0;i0){for(var i=0;i0){for(var i=0;ihistory.state.steps){history.pushState({steps:daSteps},data.browser_title+" - page "+daSteps,daLocationBar+daPageSep+daSteps)}else{history.replaceState({steps:daSteps},"",daLocationBar+daPageSep+daSteps)}}daAllowGoingBack=data.allow_going_back;daQuestionID=data.id_dict;daMessageLog=data.message_log;daInitialize(doScroll);for(var i=0;i0){daReloader=setTimeout(function(){daRefreshSubmit()},data.reload_after)}daUpdateHeight()}else if(data.action=="redirect"){if(daSpinnerTimeout!=null){clearTimeout(daSpinnerTimeout);daSpinnerTimeout=null}if(daShowingSpinner){daHideSpinner()}window.location=data.url}else if(data.action=="refresh"){daRefreshSubmit()}else if(data.action=="reload"){location.reload(true)}else if(data.action=="resubmit"){if(form==null){window.location=actionURL}$("input[name='ajax']").remove();if(daSubmitter!=null&&daSubmitter.name&&$('input[name="'+daSubmitter.name+'"]').length==0){var input=$("").attr("type","hidden").attr("name",daSubmitter.name).val(daSubmitter.value);$(form).append($(input))}form.submit()}else if(data.action=="wait"){if(daSpinnerTimeout==null&&!daShowingSpinner){daShowSpinner()}setTimeout(daRefreshSubmit,(data.sleep||4)*1e3)}}function daEmbeddedJs(e){var data=decodeURIComponent($(this).data("js"));daGlobalEval(data);e.preventDefault();return false}function daEmbeddedAction(e){if(daRequestPending){e.preventDefault();$(this).blur();return false}if($(this).hasClass("daremovebutton")){if(confirm(daAreYouSure)){return true}e.preventDefault();$(this).blur();return false}var actionData=decodeURIComponent($(this).data("embaction"));var theURL=$(this).attr("href");daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$.param({_action:actionData,csrf_token:daCsrf,ajax:1}),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,null,1,theURL)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)},dataType:"json"});daSpinnerTimeout=setTimeout(daShowSpinner,1e3);e.preventDefault();return false}function daReviewAction(e){if(daRequestPending){e.preventDefault();$(this).blur();return false}var info=$.parseJSON(atou($(this).data("action")));da_action_perform(info["action"],info["arguments"]);e.preventDefault();return false}function daRingChat(){daChatStatus="ringing";daPushChanges()}function daTurnOnChat(){$("#daChatOnButton").addClass("dainvisible");$("#daChatBox").removeClass("dainvisible");$("#daCorrespondence").html("");for(var i=0;i0){$("#daChatBox").removeClass("dainvisible")}}else{$("#daChatBox").removeClass("dainvisible")}}if(daChatStatus=="waiting"){if(daChatHistory.length>0){$("#daChatAvailable a i").removeClass("da-chat-active");$("#daChatAvailable a i").addClass("da-chat-inactive");$("#daChatAvailable").removeClass("dainvisible")}else{$("#daChatAvailable a i").removeClass("da-chat-active");$("#daChatAvailable a i").removeClass("da-chat-inactive");$("#daChatAvailable").addClass("dainvisible")}$("#daChatOnButton").addClass("dainvisible");$("#daChatOffButton").addClass("dainvisible");$("#daMessage").prop("disabled",true);$("#daSend").prop("disabled",true)}if(daChatStatus=="standby"||daChatStatus=="ready"){$("#daChatAvailable").removeClass("dainvisible");$("#daChatAvailable a i").removeClass("da-chat-inactive");$("#daChatAvailable a i").addClass("da-chat-active");$("#daChatOnButton").removeClass("dainvisible");$("#daChatOffButton").addClass("dainvisible");$("#daMessage").prop("disabled",true);$("#daSend").prop("disabled",true);daInformAbout("chat")}if(daChatStatus=="on"){$("#daChatAvailable").removeClass("dainvisible");$("#daChatAvailable a i").removeClass("da-chat-inactive");$("#daChatAvailable a i").addClass("da-chat-active");$("#daChatOnButton").addClass("dainvisible");$("#daChatOffButton").removeClass("dainvisible");$("#daMessage").prop("disabled",false);if(daShowingHelp){$("#daMessage").focus()}$("#daSend").prop("disabled",false);daInformAbout("chat")}hideTablist()}function daChatLogCallback(data){if(data.action&&data.action=="reload"){location.reload(true)}if(data.success){$("#daCorrespondence").html("");daChatHistory=[];var messages=data.messages;for(var i=0;i0){for(var i=0;i'+data.num_peers+" "+daOtherUser+"")}else{$("#dapeerMessage").html(''+data.num_peers+" "+daOtherUsers+"")}$("#dapeerMessage").removeClass("dainvisible")}else{$("#dapeerMessage").addClass("dainvisible")}if(daChatMode=="peerhelp"||daChatMode=="help"){if(data.help_available==1){$("#dapeerHelpMessage").html(''+data.help_available+" "+daOperator+"")}else{$("#dapeerHelpMessage").html(''+data.help_available+" "+daOperators+"")}$("#dapeerHelpMessage").removeClass("dainvisible")}else{$("#dapeerHelpMessage").addClass("dainvisible")}if(daBeingControlled){if(!data.observerControl){daBeingControlled=false;daHideControl();if(daChatStatus!="on"){if(daSocket!=null&&daSocket.connected){daSocket.emit("terminate")}}}}else{if(data.observerControl){daBeingControlled=true;daInitializeSocket()}}}hideTablist()}function daCheckoutCallback(data){}function daInitialCheckin(){daCheckin("initial")}function daCheckin(elem){var elem=typeof elem==="undefined"?null:elem;daCheckingIn+=1;if(elem===null&&daCheckingIn>1){return}var datastring;if(daChatStatus!="off"&&$("#daform").length>0&&!daBeingControlled){if(daDoAction!=null){datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,parameters:daFormAsJSON(elem),raw_parameters:JSON.stringify($("#daform").serializeArray()),do_action:daDoAction,ajax:"1"})}else{datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,parameters:daFormAsJSON(elem),raw_parameters:JSON.stringify($("#daform").serializeArray()),ajax:"1"})}}else{if(daDoAction!=null){datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,do_action:daDoAction,parameters:daFormAsJSON(elem),ajax:"1"})}else{datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,ajax:"1"})}}$.ajax({type:"POST",url:daCheckinUrl,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:datastring,success:daCheckinCallback,dataType:"json"});return true}function daCheckout(){$.ajax({type:"POST",url:daCheckoutUrl,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:"csrf_token="+daCsrf+"&ajax=1&action=checkout",success:daCheckoutCallback,dataType:"json"});return true}function daStopCheckingIn(){daCheckout();if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}}function daShowSpinner(){if($("#daquestion").length>0){$('
').appendTo(daTargetDiv)}else{var newSpan=document.createElement("span");var newI=document.createElement("i");$(newI).addClass("fa-solid fa-spinner fa-spin");$(newI).appendTo(newSpan);$(newSpan).attr("id","daSpinner");$(newSpan).addClass("da-sig-spinner da-top-for-navbar");$(newSpan).appendTo("#dasigtoppart")}daShowingSpinner=true}function daHideSpinner(){$("#daSpinner").remove();daShowingSpinner=false;daSpinnerTimeout=null}function daObserverSubmitter(event){if(!daSendChanges||!daConnected){event.preventDefault();return false}var theAction=null;if($(this).hasClass("da-review-action")){theAction=$(this).data("action")}var embeddedJs=$(this).data("js");var embeddedAction=$(this).data("embaction");var linkNum=$(this).data("linknum");var theId=$(this).attr("id");if(theId=="dapagetitle"){theId="daquestionlabel"}var theName=$(this).attr("name");var theValue=$(this).val();var skey;if(linkNum){skey='a[data-linknum="'+linkNum+'"]'}else if(embeddedAction){skey='a[data-embaction="'+embeddedAction.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")+'"]'}else if(theAction){skey='a[data-action="'+theAction.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")+'"]'}else if(theId){skey="#"+theId.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")}else if(theName){skey="#"+$(this).parents("form").attr("id")+" "+$(this).prop("tagName").toLowerCase()+'[name="'+theName.replace(/(:|\.|\[|\]|,|=|\/)/g,"\\$1")+'"]';if(typeof theValue!=="undefined"){skey+='[value="'+theValue+'"]'}}else{skey="#"+$(this).parents("form").attr("id")+" "+$(this).prop("tagName").toLowerCase()+'[type="submit"]'}if(daObserverChangesInterval!=null&&embeddedJs==null&&theId!="dabackToQuestion"&&theId!="dahelptoggle"&&theId!="daquestionlabel"){clearInterval(daObserverChangesInterval)}daSocket.emit("observerChanges",{uid:daUid,i:daYamlFilename,userid:daUserObserved,clicked:skey,parameters:JSON.stringify($("#daform").serializeArray())});if(embeddedJs!=null){daGlobalEval(decodeURIComponent(embeddedJs))}if(theId!="dabackToQuestion"&&theId!="dahelptoggle"&&theId!="daquestionlabel"){event.preventDefault();return false}}function daAdjustInputWidth(e){var contents=$(this).val();var leftBracket=new RegExp("<","g");var rightBracket=new RegExp(">","g");contents=contents.replace(/&/g,"&").replace(leftBracket,"<").replace(rightBracket,">").replace(/ /g," ");$('').html(contents).appendTo("#daquestion");$("#dawidth").css("min-width",$(this).css("min-width"));$("#dawidth").css("background-color",$(daTargetDiv).css("background-color"));$("#dawidth").css("color",$(daTargetDiv).css("background-color"));$(this).width($("#dawidth").width()+16);setTimeout(function(){$("#dawidth").remove()},0)}function daShowNotifications(){var n=daMessageLog.length;for(var i=0;ifirstNum){if($('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]:visible').length>0){if(!$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').find(".dacollectadd").hasClass("dainvisible")&&$('div.dacollectextraheader[data-collectnum="'+n+'"]').find(".dacollectremove").hasClass("dainvisible")){$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').hide()}}}var n=parseInt(finalNum);var seenAddAnother=false;while(n-- >firstNum){if($('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]:visible').length>0){if(!$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').find(".dacollectadd").hasClass("dainvisible")){seenAddAnother=true}var current=$('div.dacollectextraheader[data-collectnum="'+n+'"]');if(seenAddAnother&&!$(current).find(".dacollectadd").hasClass("dainvisible")){$(current).find(".dacollectadd").addClass("dainvisible");$(current).find(".dacollectunremove").removeClass("dainvisible")}}}}function daFetchAjax(elem,cb,doShow){var wordStart=$(elem).val();if(wordStart.length");emptyItem.val("");emptyItem.text("");cb.$source.append(emptyItem);var notYetSelected=true;var selectedValue=null;if(Array.isArray(data)){for(var i=0;i=2){var item=$("")}else{$("#dapeerMessage").html(''+data.num_peers+" "+daOtherUsers+"")}$("#dapeerMessage").removeClass("dainvisible")}else{$("#dapeerMessage").addClass("dainvisible")}if(daChatMode=="peerhelp"||daChatMode=="help"){if(data.help_available==1){$("#dapeerHelpMessage").html(''+data.help_available+" "+daOperator+"")}else{$("#dapeerHelpMessage").html(''+data.help_available+" "+daOperators+"")}$("#dapeerHelpMessage").removeClass("dainvisible")}else{$("#dapeerHelpMessage").addClass("dainvisible")}if(daBeingControlled){if(!data.observerControl){daBeingControlled=false;daHideControl();if(daChatStatus!="on"){if(daSocket!=null&&daSocket.connected){daSocket.emit("terminate")}}}}else{if(data.observerControl){daBeingControlled=true;daInitializeSocket()}}}hideTablist()}function daCheckoutCallback(data){}function daInitialCheckin(){daCheckin("initial")}function daCheckin(elem){var elem=typeof elem==="undefined"?null:elem;daCheckingIn+=1;if(elem===null&&daCheckingIn>1){return}var datastring;if(daChatStatus!="off"&&$("#daform").length>0&&!daBeingControlled){if(daDoAction!=null){datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,parameters:daFormAsJSON(elem),raw_parameters:JSON.stringify($("#daform").serializeArray()),do_action:daDoAction,ajax:"1"})}else{datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,parameters:daFormAsJSON(elem),raw_parameters:JSON.stringify($("#daform").serializeArray()),ajax:"1"})}}else{if(daDoAction!=null){datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,do_action:daDoAction,parameters:daFormAsJSON(elem),ajax:"1"})}else{datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,ajax:"1"})}}$.ajax({type:"POST",url:daCheckinUrl,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:datastring,success:daCheckinCallback,dataType:"json"});return true}function daCheckout(){$.ajax({type:"POST",url:daCheckoutUrl,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:"csrf_token="+daCsrf+"&ajax=1&action=checkout",success:daCheckoutCallback,dataType:"json"});return true}function daStopCheckingIn(){daCheckout();if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}}function daShowSpinner(){if($("#daquestion").length>0){$('
').appendTo(daTargetDiv)}else{var newSpan=document.createElement("span");var newI=document.createElement("i");$(newI).addClass("fa-solid fa-spinner fa-spin");$(newI).appendTo(newSpan);$(newSpan).attr("id","daSpinner");$(newSpan).addClass("da-sig-spinner da-top-for-navbar");$(newSpan).appendTo("#dasigtoppart")}daShowingSpinner=true}function daHideSpinner(){$("#daSpinner").remove();daShowingSpinner=false;daSpinnerTimeout=null}function daObserverSubmitter(event){if(!daSendChanges||!daConnected){event.preventDefault();return false}var theAction=null;if($(this).hasClass("da-review-action")){theAction=$(this).data("action")}var embeddedJs=$(this).data("js");var embeddedAction=$(this).data("embaction");var linkNum=$(this).data("linknum");var theId=$(this).attr("id");if(theId=="dapagetitle"){theId="daquestionlabel"}var theName=$(this).attr("name");var theValue=$(this).val();var skey;if(linkNum){skey='a[data-linknum="'+linkNum+'"]'}else if(embeddedAction){skey='a[data-embaction="'+embeddedAction.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")+'"]'}else if(theAction){skey='a[data-action="'+theAction.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")+'"]'}else if(theId){skey="#"+theId.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")}else if(theName){skey="#"+$(this).parents("form").attr("id")+" "+$(this).prop("tagName").toLowerCase()+'[name="'+theName.replace(/(:|\.|\[|\]|,|=|\/)/g,"\\$1")+'"]';if(typeof theValue!=="undefined"){skey+='[value="'+theValue+'"]'}}else{skey="#"+$(this).parents("form").attr("id")+" "+$(this).prop("tagName").toLowerCase()+'[type="submit"]'}if(daObserverChangesInterval!=null&&embeddedJs==null&&theId!="dabackToQuestion"&&theId!="dahelptoggle"&&theId!="daquestionlabel"){clearInterval(daObserverChangesInterval)}daSocket.emit("observerChanges",{uid:daUid,i:daYamlFilename,userid:daUserObserved,clicked:skey,parameters:JSON.stringify($("#daform").serializeArray())});if(embeddedJs!=null){daGlobalEval(decodeURIComponent(embeddedJs))}if(theId!="dabackToQuestion"&&theId!="dahelptoggle"&&theId!="daquestionlabel"){event.preventDefault();return false}}function daAdjustInputWidth(e){var contents=$(this).val();var leftBracket=new RegExp("<","g");var rightBracket=new RegExp(">","g");contents=contents.replace(/&/g,"&").replace(leftBracket,"<").replace(rightBracket,">").replace(/ /g," ");$('').html(contents).appendTo("#daquestion");$("#dawidth").css("min-width",$(this).css("min-width"));$("#dawidth").css("background-color",$(daTargetDiv).css("background-color"));$("#dawidth").css("color",$(daTargetDiv).css("background-color"));$(this).width($("#dawidth").width()+16);setTimeout(function(){$("#dawidth").remove()},0)}function daShowNotifications(){var n=daMessageLog.length;for(var i=0;ifirstNum){if($('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]:visible').length>0){if(!$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').find(".dacollectadd").hasClass("dainvisible")&&$('div.dacollectextraheader[data-collectnum="'+n+'"]').find(".dacollectremove").hasClass("dainvisible")){$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').hide()}}}var n=parseInt(finalNum);var seenAddAnother=false;while(n-- >firstNum){if($('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]:visible').length>0){if(!$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').find(".dacollectadd").hasClass("dainvisible")){seenAddAnother=true}var current=$('div.dacollectextraheader[data-collectnum="'+n+'"]');if(seenAddAnother&&!$(current).find(".dacollectadd").hasClass("dainvisible")){$(current).find(".dacollectadd").addClass("dainvisible");$(current).find(".dacollectunremove").removeClass("dainvisible")}}}}function daFetchAjax(elem,cb,doShow){var wordStart=$(elem).val();if(wordStart.length");emptyItem.val("");emptyItem.text("");cb.$source.append(emptyItem);var notYetSelected=true;var selectedValue=null;if(Array.isArray(data)){for(var i=0;i=2){var item=$("
');$('').appendTo(toggler);$(''+daToggleWord+"").appendTo(toggler)}else{toggler=$('');$('').appendTo(toggler);$(''+daToggleWord+"").appendTo(toggler)}toggler.appendTo(prev);toggler.on("click",function(e){var oThis=this;$(this).find("svg").each(function(){if($(this).attr("data-icon")=="caret-down"){$(this).removeClass("fa-caret-down");$(this).addClass("fa-caret-right");$(this).attr("data-icon","caret-right");$(box).hide();$(oThis).attr("aria-pressed","false");$(box).toggleClass("danotshowing")}else if($(this).attr("data-icon")=="caret-right"){$(this).removeClass("fa-caret-right");$(this).addClass("fa-caret-down");$(this).attr("data-icon","caret-down");$(box).show();$(oThis).attr("aria-pressed","true");$(box).toggleClass("danotshowing")}});e.stopPropagation();e.preventDefault();return false})}});$("body").focus();if(!daJsEmbed&&!isAndroid){setTimeout(function(){var firstInput=$("#daform .da-field-container").not(".da-field-container-note").first().find("input, textarea, select").filter(":visible").first();if(firstInput.length>0&&$(firstInput).visible()){$(firstInput).focus();var inputType=$(firstInput).attr("type");if($(firstInput).prop("tagName")!="SELECT"&&inputType!="checkbox"&&inputType!="radio"&&inputType!="hidden"&&inputType!="submit"&&inputType!="file"&&inputType!="range"&&inputType!="number"&&inputType!="date"&&inputType!="time"){var strLength=$(firstInput).val().length*2;if(strLength>0){try{$(firstInput)[0].setSelectionRange(strLength,strLength)}catch(err){console.log(err.message)}}}}else if(daPendingAnnouncement){daPendingAnnouncement=false;setTimeout(function(){var questionTitle=$("#daMainQuestion, #dasigtitle").filter(":visible").first();if(questionTitle.length>0&&$(questionTitle).visible()){$(questionTitle).attr("tabindex","-1").focus()}},700)}else{var questionTitle=$("#daMainQuestion, #dasigtitle").filter(":visible").first();if(questionTitle.length>0&&$(questionTitle).visible()){$(questionTitle).attr("tabindex","-1").focus()}else{var firstButton=$("#danavbar-collapse .nav-link").filter(":visible").first();if(firstButton.length>0&&$(firstButton).visible()){$(firstButton).focus()}}}},15)}}$("input.dauncheckspecificothers").on("change",function(){if($(this).is(":checked")){var theIds=$.parseJSON(atou($(this).data("unchecklist")));var n=theIds.length;for(var i=0;i0){showIfVars.push(initShowIfVar)}if(daVarLookupMulti.hasOwnProperty(initShowIfVar)){for(var j=0;j0&&!$.contains(this,altElem[0])){showIfVars.push(altShowIfVar)}}}if(showIfVars.length==0){console.log("ERROR: reference to non-existent field "+infoItem)}showIfVars.forEach(function(showIfVar){var showIfVarEscaped=showIfVar.replace(/(:|\.|\[|\]|,|=)/g,"\\$1");var varToUse=infoItem;var showHideDiv=function(speed){var elem=daGetField(varToUse);if(elem!=null&&!$(elem).parents(".da-form-group").first().is($(this).parents(".da-form-group").first())){return}var resultt=eval(jsExpression);if(resultt){if(showIfSign){if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}else{if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}}else{if(showIfSign){if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",true)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}else{if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}}var leader=false;if(!daShowIfInProcess){daShowIfInProcess=true;daInputsSeen={};leader=true}$(showIfDiv).find(":input").not("[type='file']").each(function(){if(!daInputsSeen.hasOwnProperty($(this).attr("id"))){$(this).trigger("change")}daInputsSeen[$(this).attr("id")]=true});if(leader){daShowIfInProcess=false}};var showHideDivImmediate=function(){showHideDiv.apply(this,[null])};var showHideDivFast=function(){showHideDiv.apply(this,["fast"])};daTriggerQueries.push("#"+showIfVarEscaped);daTriggerQueries.push("input[type='radio'][name='"+showIfVarEscaped+"']");daTriggerQueries.push("input[type='checkbox'][name='"+showIfVarEscaped+"']");$("#"+showIfVarEscaped).change(showHideDivFast);$("input[type='radio'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input.dafile[name='"+showIfVarEscaped+"']").on("filecleared",showHideDivFast);$("#"+showIfVarEscaped).on("daManualTrigger",showHideDivImmediate);$("input[type='radio'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate)})})});$(".dashowif").each(function(){var showIfVars=[];var showIfSign=$(this).data("showif-sign");var showIfMode=parseInt($(this).data("showif-mode"));var initShowIfVar=$(this).data("showif-var");var varName=atou(initShowIfVar);var elem=[];if(varName.endsWith("[nota]")||varName.endsWith("[aota]")){var signifier=varName.endsWith("[nota]")?"nota":"aota";var cbVarName=varName.replace(/\[[na]ota\]$/,"");$("div.da-field-group.da-field-checkboxes").each(function(){var thisVarName=atou($(this).data("varname"));if(thisVarName==cbVarName){elem=$(this).find("input.da"+signifier+"-checkbox");initShowIfVar=$(elem).attr("name")}})}else{var initShowIfVarEscaped=initShowIfVar.replace(/(:|\.|\[|\]|,|=)/g,"\\$1");elem=$("[name='"+initShowIfVarEscaped+"']")}if(elem.length>0){showIfVars.push(initShowIfVar)}if(daVarLookupMulti.hasOwnProperty(initShowIfVar)){var n=daVarLookupMulti[initShowIfVar].length;for(var i=0;i0&&!$.contains(this,altElem[0])){showIfVars.push(altShowIfVar)}}}var showIfVal=$(this).data("showif-val");var saveAs=$(this).data("saveas");var showIfDiv=this;showIfVars.forEach(function(showIfVar){var showIfVarEscaped=showIfVar.replace(/(:|\.|\[|\]|,|=)/g,"\\$1");var showHideDiv=function(speed){var elem=daGetField(varName,showIfDiv);if(elem!=null&&!$(elem).parents(".da-form-group").first().is($(this).parents(".da-form-group").first())){return}var theVal;var showifParents=$(this).parents(".dashowif");if(showifParents.length!==0&&!($(showifParents[0]).data("isVisible")=="1")){theVal=""}else if($(this).attr("type")=="checkbox"){theVal=$("input[name='"+showIfVarEscaped+"']:checked").val();if(typeof theVal=="undefined"){theVal="False"}}else if($(this).attr("type")=="radio"){theVal=$("input[name='"+showIfVarEscaped+"']:checked").val();if(typeof theVal=="undefined"){theVal=""}else if(theVal!=""&&$("input[name='"+showIfVarEscaped+"']:checked").hasClass("daobject")){try{theVal=atou(theVal)}catch(e){}}}else{theVal=$(this).val();if(theVal!=""&&$(this).hasClass("daobject")){try{theVal=atou(theVal)}catch(e){}}}if(daShowIfCompare(theVal,showIfVal)){if(showIfSign){if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");var firstChild=$(showIfDiv).children()[0];if(!$(firstChild).hasClass("dacollectextra")||$(firstChild).is(":visible")){$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}}else{if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",true)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}}else{if(showIfSign){if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",true)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}else{if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");var firstChild=$(showIfDiv).children()[0];if(!$(firstChild).hasClass("dacollectextra")||$(firstChild).is(":visible")){$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}}}var leader=false;if(!daShowIfInProcess){daShowIfInProcess=true;daInputsSeen={};leader=true}$(showIfDiv).find(":input").not("[type='file']").each(function(){if(!daInputsSeen.hasOwnProperty($(this).attr("id"))){$(this).trigger("change")}daInputsSeen[$(this).attr("id")]=true});if(leader){daShowIfInProcess=false}};var showHideDivImmediate=function(){showHideDiv.apply(this,[null])};var showHideDivFast=function(){showHideDiv.apply(this,["fast"])};daTriggerQueries.push("#"+showIfVarEscaped);daTriggerQueries.push("input[type='radio'][name='"+showIfVarEscaped+"']");daTriggerQueries.push("input[type='checkbox'][name='"+showIfVarEscaped+"']");$("#"+showIfVarEscaped).change(showHideDivFast);$("#"+showIfVarEscaped).on("daManualTrigger",showHideDivImmediate);$("input[type='radio'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input[type='radio'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate);$("input.dafile[name='"+showIfVarEscaped+"']").on("filecleared",showHideDivFast)})});function daTriggerAllShowHides(){var daUniqueTriggerQueries=daTriggerQueries.filter(daOnlyUnique);var daFirstTime=true;var daTries=0;while((daFirstTime||daShowHideHappened)&&++daTries<100){daShowHideHappened=false;daFirstTime=false;var n=daUniqueTriggerQueries.length;for(var i=0;i=100){console.log("Too many contradictory 'show if' conditions")}}if(daTriggerQueries.length>0){daTriggerAllShowHides()}$(".danavlink").last().addClass("thelast");$(".danavlink").each(function(){if($(this).hasClass("btn")&&!$(this).hasClass("danotavailableyet")){var the_a=$(this);var the_delay=1e3+250*parseInt($(this).data("index"));setTimeout(function(){$(the_a).removeClass(daButtonStyle+"secondary");if($(the_a).hasClass("active")){$(the_a).addClass(daButtonStyle+"success")}else{$(the_a).addClass(daButtonStyle+"warning")}},the_delay)}});daShowIfInProcess=false;if(!daObserverMode){$("#daSend").click(daSender);if(daChatAvailable=="unavailable"){daChatStatus="off"}if(daChatAvailable=="observeonly"){daChatStatus="observeonly"}if((daChatStatus=="off"||daChatStatus=="observeonly")&&daChatAvailable=="available"){daChatStatus="waiting"}daDisplayChat();if(daBeingControlled){daShowControl("fast")}if(daChatStatus=="ready"||daBeingControlled){daInitializeSocket()}if(daInitialized==false&&daCheckinSeconds>0){setTimeout(function(){$.ajax({type:"POST",url:daCheckinUrlWithInterview,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:$.param({action:"chat_log",ajax:"1",csrf_token:daCsrf}),success:daChatLogCallback,dataType:"json"})},200)}if(daInitialized==true){$("#daCorrespondence").html("");for(var i=0;i1){$(daTargetDiv)[0].scrollIntoView()}}else{window.scrollTo(0,1)}},20)}if(daShowingSpinner&&!daWaitPage){daHideSpinner()}if(!daObserverMode){if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}if(daCheckinSeconds>0&&!daWaitPage){daInitialCheckinTimeout=setTimeout(daInitialCheckin,100);daCheckinInterval=setInterval(daCheckin,daCheckinSeconds)}daShowNotifications();if(daUsingGA){daPageview()}if(daUsingSegment){daSegmentEvent()}hideTablist()}}function daUpdateHeight(){$(".dagooglemap").each(function(){var size=$(this).width();$(this).css("height",size)})}function daConfigureJqueryFuncs(){$.validator.setDefaults({ignore:".danovalidation",highlight:function(element){$(element).closest(".da-form-group").addClass("da-group-has-error");$(element).addClass("is-invalid")},unhighlight:function(element){$(element).closest(".da-form-group").removeClass("da-group-has-error");$(element).removeClass("is-invalid")},errorElement:"span",errorClass:"da-has-error invalid-feedback",errorPlacement:function(error,element){$(error).addClass("invalid-feedback");var elementName=$(element).attr("name");var idOfErrorSpan=$(element).attr("id")+"-error";$("#"+idOfErrorSpan).remove();$(error).attr("id",idOfErrorSpan);$(element).attr("aria-invalid","true");$(element).attr("aria-errormessage",idOfErrorSpan);var lastInGroup=$.map(daValidationRules["groups"],function(thefields,thename){var fieldsArr;if(thefields.indexOf(elementName)>=0){fieldsArr=thefields.split(" ");return fieldsArr[fieldsArr.length-1]}else{return null}})[0];if(element.hasClass("dainput-embedded")){error.insertAfter(element)}else if(element.hasClass("dafile-embedded")){error.insertAfter(element)}else if(element.hasClass("daradio-embedded")){element.parent().append(error)}else if(element.hasClass("dacheckbox-embedded")){element.parent().append(error)}else if(element.hasClass("dauncheckable")&&lastInGroup){$("input[name='"+lastInGroup+"']").parent().append(error)}else if(element.parent().hasClass("combobox-container")){element.parent().append(error)}else if(element.hasClass("dafile")){var fileContainer=$(element).parents(".file-input").first();if(fileContainer.length>0){$(fileContainer).append(error)}else{error.insertAfter(element.parent())}}else if(element.parent(".input-group").length){error.insertAfter(element.parent())}else if(element.hasClass("da-active-invisible")){var choice_with_help=$(element).parents(".dachoicewithhelp").first();if(choice_with_help.length>0){$(choice_with_help).parent().append(error)}else{element.parent().append(error)}}else if(element.hasClass("danon-nota-checkbox")){element.parents("div.da-field-group").append(error)}else{error.insertAfter(element)}}});$.validator.addMethod("datetime",function(a,b){return true});$.validator.addMethod("ajaxrequired",function(value,element,params){var realElement=$("#"+$(element).attr("name")+"combobox");var realValue=$(realElement).val();if(!$(realElement).parent().is(":visible")){return true}if(realValue==null||realValue.replace(/\s/g,"")==""){return false}return true});$.validator.addMethod("checkone",function(value,element,params){var number_needed=params[0];var css_query=params[1];if($(css_query).length>=number_needed){return true}else{return false}});$.validator.addMethod("checkatleast",function(value,element,params){if($(element).attr("name")!="_ignore"+params[0]){return true}if($(".dafield"+params[0]+":checked").length>=params[1]){return true}else{return false}});$.validator.addMethod("checkatmost",function(value,element,params){if($(element).attr("name")!="_ignore"+params[0]){return true}if($(".dafield"+params[0]+":checked").length>params[1]){return false}else{return true}});$.validator.addMethod("checkexactly",function(value,element,params){if($(element).attr("name")!="_ignore"+params[0]){return true}if($(".dafield"+params[0]+":checked").length!=params[1]){return false}else{return true}});$.validator.addMethod("selectexactly",function(value,element,params){if($(element).find("option:selected").length==params[0]){return true}else{return false}});$.validator.addMethod("mindate",function(value,element,params){if(value==null||value==""){return true}try{var date=new Date(value);var comparator=new Date(params);if(date>=comparator){return true}}catch(e){}return false});$.validator.addMethod("maxdate",function(value,element,params){if(value==null||value==""){return true}try{var date=new Date(value);var comparator=new Date(params);if(date<=comparator){return true}}catch(e){}return false});$.validator.addMethod("minmaxdate",function(value,element,params){if(value==null||value==""){return true}try{var date=new Date(value);var before_comparator=new Date(params[0]);var after_comparator=new Date(params[1]);if(date>=before_comparator&&date<=after_comparator){return true}}catch(e){}return false});$.validator.addMethod("mintime",function(value,element,params){if(value==null||value==""){return true}try{var time=new Date("1970-01-01T"+value+"Z");var comparator=new Date("1970-01-01T"+params+"Z");if(time>=comparator){return true}}catch(e){}return false});$.validator.addMethod("maxtime",function(value,element,params){if(value==null||value==""){return true}try{var time=new Date("1970-01-01T"+value+"Z");var comparator=new Date("1970-01-01T"+params+"Z");if(time<=comparator){return true}}catch(e){}return false});$.validator.addMethod("minmaxtime",function(value,element,params){if(value==null||value==""){return true}try{var time=new Date("1970-01-01T"+value+"Z");var before_comparator=new Date("1970-01-01T"+params[0]+"Z");var after_comparator=new Date("1970-01-01T"+params[1]+"Z");if(time>=before_comparator&&time<=after_comparator){return true}}catch(e){}return false});$.validator.addMethod("mindatetime",function(value,element,params){if(value==null||value==""){return true}try{var datetime=new Date(value+"Z");var comparator=new Date(params+"Z");if(datetime>=comparator){return true}}catch(e){}return false});$.validator.addMethod("maxdatetime",function(value,element,params){if(value==null||value==""){return true}try{var datetime=new Date(value+"Z");var comparator=new Date(params+"Z");if(datetime<=comparator){return true}}catch(e){}return false});$.validator.addMethod("minmaxdatetime",function(value,element,params){if(value==null||value==""){return true}try{var datetime=new Date(value+"Z");var before_comparator=new Date(params[0]+"Z");var after_comparator=new Date(params[1]+"Z");if(datetime>=before_comparator&&datetime<=after_comparator){return true}}catch(e){}return false});$.validator.addMethod("maxuploadsize",function(value,element,param){try{var limit=parseInt(param)-2e3;if(limit<=0){return true}var maxImageSize;if($(element).data("maximagesize")){maxImageSize=parseInt($(element).data("maximagesize"))*parseInt($(element).data("maximagesize"))*2}else{maxImageSize=0}if($(element).attr("type")==="file"){if(element.files&&element.files.length){var totalSize=0;for(i=0;i0&&element.files[i].size>.2*maxImageSize&&element.files[i].type.match(/image.*/)&&!(element.files[i].type.indexOf("image/svg")==0)){totalSize+=maxImageSize}else{totalSize+=element.files[i].size}}if(totalSize>limit){return false}}return true}}catch(e){}return false})}var dataLayer=window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}function daPageview(){var idToUse=daQuestionID["id"];if(daQuestionID["ga"]!=undefined&&daQuestionID["ga"]!=null){idToUse=daQuestionID["ga"]}if(idToUse!=null){idToUse=idToUse.replace(/[^A-Za-z0-9]+/g,"_");if(!daGAConfigured){var opts={send_page_view:false};if(daSecureCookies){opts["cookie_flags"]="SameSite=None;Secure"}for(var i=0;i0){daReloader=setTimeout(function(){daRefreshSubmit()},daReloadAfter)}if(daUsingGA&&!daObserverMode){gtag("js",new Date)}window.onpopstate=function(event){if(event.state!=null&&event.state.steps2){window.parent.daStopControlling(data.key)}});daSocket.on("newpage",function(incoming){var data=incoming.obj;$(daTargetDiv).html(data.body);if(data.message_log){var srMessages=data.message_log.filter(function(m){return m.priority==="info"||m.priority==="success"||m.priority==="warning"||m.priority==="danger"});if(srMessages.length>0){$("#daSrAnnouncement").text(srMessages.map(function(m){return m.message}).join(" "));daPendingAnnouncement=true}}$(daTargetDiv).parent().removeClass();$(daTargetDiv).parent().addClass(data.bodyclass);daInitialize(1);for(var i=0;i contentwidth) {\n cwidth = contentwidth;\n }\n var cheight = cwidth * daAspectRatio;\n var otherHeights =\n $(\"#dasigheader\").outerHeight(true) +\n $(\"#dasigtoppart\").outerHeight(true) +\n $(\"#dasigmidpart\").outerHeight(true) +\n $(\"#dasigbottompart\").outerHeight(true);\n if (cheight > $(window).height() - otherHeights) {\n cheight = $(window).height() - otherHeights;\n }\n if (cheight > 275 || cheight < 30) {\n cheight = 275;\n }\n $(\"#dasigcontent\").height(cheight);\n var canvas =\n '';\n $(\"#dasigcontent\").html(canvas);\n daTheWidth = (daThicknessScalingFactor * cwidth) / 100.0;\n if (daTheWidth < 1) {\n daTheWidth = 1;\n }\n daSignaturePad = new SignaturePad(document.querySelector(\"#dasigcanvas\"));\n if (defaultImage != null) {\n daSignaturePad.fromDataURL(defaultImage, {\n ratio: 1,\n width: cwidth,\n height: cheight,\n xOffset: 0,\n yOffset: 0,\n });\n }\n daSignaturePad.minWidth = 0.5 * daThicknessScalingFactor;\n daSignaturePad.maxWidth = 2.5 * daThicknessScalingFactor;\n daSignaturePad.penColor = daColor;\n setTimeout(function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n if (daSteps > 1) {\n $(daTargetDiv)[0].scrollIntoView();\n }\n } else {\n window.scrollTo(0, 1);\n }\n }, 10);\n}\n\nfunction daPost(params) {\n for (var key in params) {\n if (params.hasOwnProperty(key)) {\n var hiddenField = document.getElementById(key);\n if (hiddenField != null) {\n hiddenField.setAttribute(\"value\", params[key]);\n } else {\n console.log(\"Key does not exist: \" + key);\n return;\n }\n }\n }\n $(\"#dasigform\").submit();\n return;\n}\n\nfunction isCanvasSupported() {\n var elem = document.createElement(\"canvas\");\n return !!(elem.getContext && elem.getContext(\"2d\"));\n}\n\nvar daAutocomplete = Object();\n\nfunction daWaitForGoogle(waitForPlaces) {\n return new Promise((resolve) => {\n let attempts = 0;\n const maxAttempts = 50;\n const interval = setInterval(() => {\n var found = false;\n try {\n if (google.maps === undefined) {\n throw new Error(\"google maps not defined\");\n }\n if (waitForPlaces) {\n if (google.maps.places === undefined) {\n throw new Error(\"places not defined\");\n }\n }\n found = true;\n } catch (e) {}\n if (found || attempts >= maxAttempts) {\n clearInterval(interval);\n resolve(found);\n }\n attempts++;\n }, 100);\n });\n}\n\nfunction daInitAutocomplete(info) {\n daAutocomplete = Object();\n for (var i = 0; i < info.length; ++i) {\n daAutocomplete[info[i][0]] = {\n id: info[i][0],\n opts: info[i][1],\n suggestions: {},\n };\n }\n}\n\nasync function daInitAutocompleteOld(info) {\n await daWaitForGoogle(true);\n for (var i = 0; i < info.length; ++i) {\n var id = info[i][0];\n var opts = info[i][1];\n daAutocomplete[id] = new google.maps.places.Autocomplete(\n document.getElementById(id),\n opts,\n );\n google.maps.event.addListener(\n daAutocomplete[id],\n \"place_changed\",\n daFillInAddressFor(id),\n );\n }\n}\n\nfunction daFillInAddressFor(id) {\n return function () {\n daFillInAddressOld(id);\n };\n}\n\nasync function daInitMap(daMapInfo) {\n var googleLoaded = await daWaitForGoogle(false);\n if (!googleLoaded) {\n console.log(\"Could not load Google Maps library\");\n return;\n }\n await google.maps.importLibrary(\"core\");\n var timePeriod = 0;\n maps = [];\n var map_info_length = daMapInfo.length;\n for (var i = 0; i < map_info_length; i++) {\n the_map = daMapInfo[i];\n var bounds = new google.maps.LatLngBounds();\n maps[i] = daAddMap(i, the_map.center.latitude, the_map.center.longitude);\n marker_length = the_map.markers.length;\n if (marker_length == 1) {\n show_marker = true;\n } else {\n show_marker = false;\n }\n for (var j = 0; j < marker_length; j++) {\n var new_marker = await daAddMarker(\n maps[i],\n the_map.markers[j],\n show_marker,\n );\n bounds.extend(\n new google.maps.LatLng(\n new_marker.position.lat,\n new_marker.position.lng,\n ),\n );\n }\n if (marker_length > 1) {\n maps[i].map.fitBounds(bounds);\n }\n }\n}\n\nfunction daAddMap(map_num, center_lat, center_lon) {\n var map = new google.maps.Map(document.getElementById(\"map\" + map_num), {\n zoom: 11,\n center: new google.maps.LatLng(center_lat, center_lon),\n mapTypeId: google.maps.MapTypeId.ROADMAP,\n mapId: \"map\" + map_num + \"element\",\n });\n var infowindow = new google.maps.InfoWindow();\n return { map: map, infowindow: infowindow };\n}\n\nasync function daAddMarker(map, marker_info, show_marker) {\n const { AdvancedMarkerElement, PinElement } =\n await google.maps.importLibrary(\"marker\");\n var marker;\n var content;\n if (marker_info.icon) {\n content = new PinElement(marker_info.icon);\n } else {\n content = new PinElement();\n }\n marker = new AdvancedMarkerElement({\n position: {\n lat: marker_info.latitude,\n lng: marker_info.longitude,\n },\n map: map.map,\n content: content.element,\n });\n if (marker_info.info) {\n google.maps.event.addListener(\n marker,\n \"click\",\n (function (marker, info) {\n return function () {\n map.infowindow.setContent(info);\n map.infowindow.open(map.map, marker);\n };\n })(marker, marker_info.info),\n );\n }\n if (show_marker) {\n map.infowindow.setContent(marker_info.info);\n map.infowindow.open(map.map, marker);\n }\n return marker;\n}\n\nfunction daFillInAddress(origId, place) {\n var id;\n if (daVarLookupRev[origId]) {\n id = daVarLookupRev[origId];\n } else {\n id = origId;\n }\n var baseVarname = atob(id).replace(/.[a-zA-Z0-9_]+$/, \"\");\n baseVarname = baseVarname.replace(/[\\[\\]]/g, \".\");\n var re = new RegExp(\"^\" + baseVarname + \".(.*)\");\n var componentTrans = {\n administrative_area_level_1: [\"state\", \"shortText\"],\n administrative_area_level_2: [\"county\", \"longText\"],\n };\n var alternatives = [\n [\n \"city\",\n [\n \"locality\",\n \"sublocality_level_1\",\n \"neighborhood\",\n \"administrative_area_level_3\",\n \"colloquial_area\",\n ],\n ],\n [\n \"sublocality\",\n [\n \"sublocality_level_1\",\n \"sublocality_level_2\",\n \"sublocality_level_3\",\n \"sublocality_level_4\",\n \"sublocality_level_5\",\n ],\n ],\n ];\n var fieldsToClear = [\n \"address\",\n \"administrative_area_level_1\",\n \"administrative_area_level_2\",\n \"administrative_area_level_3\",\n \"administrative_area_level_4\",\n \"administrative_area_level_5\",\n \"administrative_area_level_6\",\n \"administrative_area_level_7\",\n \"adr_format_address\",\n \"airport\",\n \"bus_station\",\n \"business_status\",\n \"city\",\n \"colloquial_area\",\n \"compound_code\",\n \"country\",\n \"county\",\n \"directions_uri\",\n \"display_name\",\n \"display_name_language_code\",\n \"establishment\",\n \"floor\",\n \"formatted_address\",\n \"global_code\",\n \"has_wheelchair_accessible_entrance\",\n \"has_wheelchair_accessible_parking\",\n \"has_wheelchair_accessible_restroom\",\n \"has_wheelchair_accessible_seating\",\n \"id\",\n \"international_phone_number\",\n \"intersection\",\n \"landmark\",\n \"latitude\",\n \"locality\",\n \"location\",\n \"longitude\",\n \"national_phone_number\",\n \"natural_feature\",\n \"neighborhood\",\n \"park\",\n \"parking\",\n \"photos_uri\",\n \"place_uri \",\n \"plus_code\",\n \"point_of_interest\",\n \"political\",\n \"post_box\",\n \"postal_code\",\n \"postal_town\",\n \"premise\",\n \"price_level\",\n \"primary_type\",\n \"primary_type_display_name\",\n \"primary_type_display_name_language_code\",\n \"rating\",\n \"reviews_uri\",\n \"room\",\n \"route\",\n \"state\",\n \"street_number\",\n \"sublocality\",\n \"subpremise\",\n \"train_station\",\n \"transit_station\",\n \"types\",\n \"utc_offset_minutes\",\n \"write_a_review_uri\",\n \"zip\",\n ];\n var idForPart = {};\n $(\"input, select\").each(function () {\n var the_id = $(this).attr(\"id\");\n if (typeof the_id !== typeof undefined && the_id !== false) {\n try {\n var field_name = atob($(this).attr(\"id\"));\n if (field_name.indexOf(\"_field_\") == 0) {\n field_name = atob(daVarLookupRev[$(this).attr(\"id\")]);\n }\n var m = re.exec(field_name);\n if (m.length > 0) {\n idForPart[m[1]] = $(this).attr(\"id\");\n }\n } catch (e) {}\n }\n });\n for (var component in fieldsToClear) {\n if (\n typeof idForPart[component] != \"undefined\" &&\n document.getElementById(idForPart[component]) != null\n ) {\n document.getElementById(idForPart[component]).value = \"\";\n }\n }\n var savedValues = {};\n var toChange = [];\n for (var i = 0; i < place.addressComponents.length; i++) {\n var addressType = place.addressComponents[i].types[0];\n if (addressType == \"street_number\" || addressType == \"country\") {\n savedValues[addressType] = place.addressComponents[i][\"shortText\"];\n } else {\n savedValues[addressType] = place.addressComponents[i][\"longText\"];\n }\n if (\n componentTrans[addressType] &&\n idForPart[componentTrans[addressType][0]] &&\n typeof idForPart[componentTrans[addressType][0]] != \"undefined\" &&\n document.getElementById(idForPart[componentTrans[addressType][0]]) != null\n ) {\n var val = place.addressComponents[i][componentTrans[addressType][1]];\n if (typeof val != \"undefined\") {\n document.getElementById(\n idForPart[componentTrans[addressType][0]],\n ).value = val;\n toChange.push(\"#\" + idForPart[componentTrans[addressType][0]]);\n }\n }\n if (\n idForPart[addressType] &&\n typeof idForPart[addressType] != \"undefined\" &&\n document.getElementById(idForPart[addressType]) != null\n ) {\n var val = savedValues[addressType];\n if (typeof val != \"undefined\") {\n document.getElementById(idForPart[addressType]).value = val;\n toChange.push(\"#\" + idForPart[addressType]);\n }\n }\n }\n if (\n typeof idForPart[\"address\"] != \"undefined\" &&\n document.getElementById(idForPart[\"address\"]) != null\n ) {\n var the_address = \"\";\n if (typeof savedValues[\"street_number\"] != \"undefined\") {\n the_address += savedValues[\"street_number\"] + \" \";\n }\n if (typeof savedValues[\"route\"] != \"undefined\") {\n the_address += savedValues[\"route\"];\n }\n document.getElementById(idForPart[\"address\"]).value = the_address;\n toChange.push(\"#\" + idForPart[\"address\"]);\n }\n if (\n typeof idForPart[\"zip\"] != \"undefined\" &&\n document.getElementById(idForPart[\"zip\"]) != null &&\n typeof savedValues[\"postal_code\"] != \"undefined\" &&\n savedValues[\"postal_code\"] != \"\"\n ) {\n var theZipCode = savedValues[\"postal_code\"];\n if (\n typeof savedValues[\"postal_code_suffix\"] != \"undefined\" &&\n savedValues[\"postal_code_suffix\"] != \"\"\n ) {\n theZipCode += \"-\" + savedValues[\"postal_code_suffix\"];\n }\n document.getElementById(idForPart[\"zip\"]).value = theZipCode;\n toChange.push(\"#\" + idForPart[\"zip\"]);\n }\n if (place.location) {\n if (\n typeof idForPart[\"latitude\"] != \"undefined\" &&\n document.getElementById(idForPart[\"latitude\"]) != null\n ) {\n document.getElementById(idForPart[\"latitude\"]).value =\n place.location.lat();\n toChange.push(\"#\" + idForPart[\"latitude\"]);\n }\n if (\n typeof idForPart[\"longitude\"] != \"undefined\" &&\n document.getElementById(idForPart[\"longitude\"]) != null\n ) {\n document.getElementById(idForPart[\"longitude\"]).value =\n place.location.lng();\n toChange.push(\"#\" + idForPart[\"longitude\"]);\n }\n }\n for (var i = 0; i < alternatives.length; i++) {\n const [fieldName, altList] = alternatives[i];\n if (\n typeof idForPart[fieldName] != \"undefined\" &&\n document.getElementById(idForPart[fieldName]) != null &&\n document.getElementById(idForPart[fieldName]).value == \"\"\n ) {\n }\n for (var j = 0; j < altList.length; j++) {\n if (typeof savedValues[altList[j]] != \"undefined\") {\n document.getElementById(idForPart[fieldName]).value =\n savedValues[altList[j]];\n toChange.push(\"#\" + idForPart[fieldName]);\n break;\n }\n }\n }\n var fieldsToGet = daAutocomplete[origId].opts.fields || [];\n for (var i = 0; i < fieldsToGet.length; i++) {\n var pythonVar = fieldsToGet[i];\n if (pythonVar == \"address_components\" || pythonVar == \"location\") {\n continue;\n }\n var jsVar = underscoreToCamel(pythonVar);\n if (\n place[jsVar] != null &&\n typeof place[jsVar] === \"object\" &&\n !Array.isArray(place[jsVar])\n ) {\n var transformedObject = JSON.parse(JSON.stringify(place[jsVar]));\n Object.entries(transformedObject).forEach(([jsSubVar, value]) => {\n var pythonSubVar = camelToUnderscore(jsSubVar);\n if (\n value != null &&\n typeof idForPart[pythonSubVar] != \"undefined\" &&\n document.getElementById(idForPart[pythonSubVar]) != null\n ) {\n document.getElementById(idForPart[pythonSubVar]).value =\n jsonIfObject(value);\n toChange.push(\"#\" + idForPart[pythonSubVar]);\n }\n });\n } else if (\n place[jsVar] &&\n typeof idForPart[pythonVar] != \"undefined\" &&\n document.getElementById(idForPart[pythonVar]) != null\n ) {\n document.getElementById(idForPart[pythonVar]).value = jsonIfObject(\n place[jsVar],\n );\n toChange.push(\"#\" + idForPart[pythonVar]);\n }\n }\n for (var i = 0; i < toChange.length; i++) {\n $(toChange[i]).trigger(\"change\");\n }\n}\n\nfunction daFillInAddressOld(origId) {\n var id;\n if (daVarLookupRev[origId]) {\n id = daVarLookupRev[origId];\n } else {\n id = origId;\n }\n var base_varname = atob(id).replace(/.[a-zA-Z0-9_]+$/, \"\");\n base_varname = base_varname.replace(/[\\[\\]]/g, \".\");\n var re = new RegExp(\"^\" + base_varname + \".(.*)\");\n var componentForm = {\n locality: \"long_name\",\n sublocality: \"long_name\",\n administrative_area_level_3: \"long_name\",\n administrative_area_level_2: \"long_name\",\n administrative_area_level_1: \"short_name\",\n country: \"short_name\",\n postal_code: \"short_name\",\n };\n var componentTrans = {\n locality: \"city\",\n administrative_area_level_2: \"county\",\n administrative_area_level_1: \"state\",\n country: \"country\",\n postal_code: \"zip\",\n };\n\n var fields_to_fill = [\n \"address\",\n \"city\",\n \"county\",\n \"state\",\n \"zip\",\n \"neighborhood\",\n \"sublocality\",\n \"administrative_area_level_3\",\n \"postal_code\",\n ];\n var id_for_part = {};\n $(\"input, select\").each(function () {\n var the_id = $(this).attr(\"id\");\n if (typeof the_id !== typeof undefined && the_id !== false) {\n try {\n var field_name = atob($(this).attr(\"id\"));\n if (field_name.indexOf(\"_field_\") == 0) {\n field_name = atob(daVarLookupRev[$(this).attr(\"id\")]);\n }\n var m = re.exec(field_name);\n if (m.length > 0) {\n id_for_part[m[1]] = $(this).attr(\"id\");\n }\n } catch (e) {}\n }\n });\n place = daAutocomplete[origId].getPlace();\n if (\n typeof id_for_part[\"address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"address\"]) != null\n ) {\n document.getElementById(id_for_part[\"address\"]).value = \"\";\n }\n\n for (var component in fields_to_fill) {\n if (\n typeof id_for_part[component] != \"undefined\" &&\n document.getElementById(id_for_part[component]) != null\n ) {\n document.getElementById(id_for_part[component]).value = \"\";\n }\n }\n\n var street_number;\n var route;\n var savedValues = {};\n var toChange = [];\n for (var i = 0; i < place.address_components.length; i++) {\n var addressType = place.address_components[i].types[0];\n savedValues[addressType] = place.address_components[i][\"long_name\"];\n if (addressType == \"street_number\") {\n street_number = place.address_components[i][\"short_name\"];\n }\n if (addressType == \"route\") {\n route = place.address_components[i][\"long_name\"];\n }\n if (\n componentForm[addressType] &&\n id_for_part[componentTrans[addressType]] &&\n typeof id_for_part[componentTrans[addressType]] != \"undefined\" &&\n document.getElementById(id_for_part[componentTrans[addressType]]) != null\n ) {\n var val = place.address_components[i][componentForm[addressType]];\n if (typeof val != \"undefined\") {\n document.getElementById(\n id_for_part[componentTrans[addressType]],\n ).value = val;\n toChange.push(\"#\" + id_for_part[componentTrans[addressType]]);\n }\n if (componentTrans[addressType] != addressType) {\n val = place.address_components[i][\"long_name\"];\n if (\n typeof val != \"undefined\" &&\n typeof id_for_part[addressType] != \"undefined\" &&\n document.getElementById(id_for_part[addressType]) != null\n ) {\n document.getElementById(id_for_part[addressType]).value = val;\n toChange.push(\"#\" + id_for_part[addressType]);\n }\n }\n } else if (\n id_for_part[addressType] &&\n typeof id_for_part[addressType] != \"undefined\" &&\n document.getElementById(id_for_part[addressType]) != null\n ) {\n var val = place.address_components[i][\"long_name\"];\n if (typeof val != \"undefined\") {\n document.getElementById(id_for_part[addressType]).value = val;\n toChange.push(\"#\" + id_for_part[addressType]);\n }\n }\n }\n if (\n typeof id_for_part[\"address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"address\"]) != null\n ) {\n var the_address = \"\";\n if (typeof street_number != \"undefined\") {\n the_address += street_number + \" \";\n }\n if (typeof route != \"undefined\") {\n the_address += route;\n }\n document.getElementById(id_for_part[\"address\"]).value = the_address;\n toChange.push(\"#\" + id_for_part[\"address\"]);\n }\n if (\n typeof id_for_part[\"city\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"city\"]) != null\n ) {\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_1\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"sublocality_level_1\"];\n }\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"neighborhood\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"neighborhood\"];\n }\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"administrative_area_level_3\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"administrative_area_level_3\"];\n }\n }\n if (\n typeof id_for_part[\"sublocality\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"sublocality\"]) != null\n ) {\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_1\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_1\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_2\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_2\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_3\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_3\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_4\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_4\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_5\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_5\"];\n }\n }\n if (\n place.adr_address &&\n typeof id_for_part[\"adr_address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"adr_address\"]) != null\n ) {\n document.getElementById(id_for_part[\"adr_address\"]).value =\n place.adr_address;\n }\n if (\n place.business_status &&\n typeof id_for_part[\"business_status\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"business_status\"]) != null\n ) {\n document.getElementById(id_for_part[\"business_status\"]).value =\n place.business_status;\n }\n if (\n place.formatted_address &&\n typeof id_for_part[\"formatted_address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"formatted_address\"]) != null\n ) {\n document.getElementById(id_for_part[\"formatted_address\"]).value =\n place.formatted_address;\n }\n if (\n place.formatted_phone_number &&\n typeof id_for_part[\"formatted_phone_number\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"formatted_phone_number\"]) != null\n ) {\n document.getElementById(id_for_part[\"formatted_phone_number\"]).value =\n place.formatted_phone_number;\n }\n if (place.geometry && place.geometry.location) {\n if (\n typeof id_for_part[\"latitude\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"latitude\"]) != null\n ) {\n document.getElementById(id_for_part[\"latitude\"]).value =\n place.geometry.location.lat();\n }\n if (\n typeof id_for_part[\"longitude\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"longitude\"]) != null\n ) {\n document.getElementById(id_for_part[\"longitude\"]).value =\n place.geometry.location.lng();\n }\n }\n if (\n place.icon &&\n typeof id_for_part[\"icon\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"icon\"]) != null\n ) {\n document.getElementById(id_for_part[\"icon\"]).value = place.icon;\n }\n if (\n place.international_phone_number &&\n typeof id_for_part[\"international_phone_number\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"international_phone_number\"]) != null\n ) {\n document.getElementById(id_for_part[\"international_phone_number\"]).value =\n place.international_phone_number;\n }\n if (\n place.name &&\n typeof id_for_part[\"name\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"name\"]) != null\n ) {\n document.getElementById(id_for_part[\"name\"]).value = place.name;\n }\n if (\n place.place_id &&\n typeof id_for_part[\"place_id\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"place_id\"]) != null\n ) {\n document.getElementById(id_for_part[\"place_id\"]).value = place.place_id;\n }\n if (\n place.price_level &&\n typeof id_for_part[\"price_level\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"price_level\"]) != null\n ) {\n document.getElementById(id_for_part[\"price_level\"]).value =\n place.price_level;\n }\n if (\n place.rating &&\n typeof id_for_part[\"rating\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"rating\"]) != null\n ) {\n document.getElementById(id_for_part[\"rating\"]).value = place.rating;\n }\n if (\n place.url &&\n typeof id_for_part[\"url\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"url\"]) != null\n ) {\n document.getElementById(id_for_part[\"url\"]).value = place.url;\n }\n if (\n place.utc_offset_minutes &&\n typeof id_for_part[\"utc_offset_minutes\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"utc_offset_minutes\"]) != null\n ) {\n document.getElementById(id_for_part[\"utc_offset_minutes\"]).value =\n place.utc_offset_minutes;\n }\n if (\n place.vicinity &&\n typeof id_for_part[\"vicinity\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"vicinity\"]) != null\n ) {\n document.getElementById(id_for_part[\"vicinity\"]).value = place.vicinity;\n }\n if (\n place.website &&\n typeof id_for_part[\"website\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"website\"]) != null\n ) {\n document.getElementById(id_for_part[\"website\"]).value = place.website;\n }\n for (var i = 0; i < toChange.length; i++) {\n $(toChange[i]).trigger(\"change\");\n }\n}\n\nfunction daGeolocate() {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(function (position) {\n var geolocation = {\n lat: position.coords.latitude,\n lng: position.coords.longitude,\n };\n var circle = new google.maps.Circle({\n center: geolocation,\n radius: position.coords.accuracy,\n });\n for (var id in daAutocomplete) {\n if (daAutocomplete.hasOwnProperty(id)) {\n daAutocomplete[id].setBounds(circle.getBounds());\n }\n }\n });\n }\n}\nvar daRequestPending = false;\nvar isAndroid = /android/i.test(navigator.userAgent.toLowerCase());\nvar daWhichButton = null;\nvar daSocket = null;\nvar daChatHistory = [];\nvar daCheckinCode = null;\nvar daCheckingIn = 0;\nvar daShowingHelp = 0;\nvar daIframeEmbed;\nif (window.location !== window.parent.location) {\n daIframeEmbed = true;\n} else {\n daIframeEmbed = false;\n}\nvar daChatPartnersAvailable = 0;\nvar daPhoneAvailable = false;\nvar daInitialized = false;\nvar daConfirmed = false;\nvar daNoConnectionCount = 0;\nvar daObserverChangesInterval = null;\nvar daNotYetScrolled = true;\nvar daInformedChanged = false;\nvar daShowingSpinner = false;\nvar daSpinnerTimeout = null;\nvar daSubmitter = null;\nvar daGAConfigured = false;\nvar daShowIfInProcess = false;\nvar daFieldsToSkip = [\n \"_checkboxes\",\n \"_empties\",\n \"_ml_info\",\n \"_back_one\",\n \"_files\",\n \"_files_inline\",\n \"_question_name\",\n \"_the_image\",\n \"_save_as\",\n \"_success\",\n \"_datatypes\",\n \"_event\",\n \"_visible\",\n \"_tracker\",\n \"_track_location\",\n \"_varnames\",\n \"_next_action\",\n \"_next_action_to_set\",\n \"ajax\",\n \"json\",\n \"informed\",\n \"csrf_token\",\n \"_action\",\n \"_order_changes\",\n \"_collect\",\n \"_list_collect_list\",\n \"_null_question\",\n];\nvar daVarLookup = Object();\nvar daVarLookupRev = Object();\nvar daVarLookupMulti = Object();\nvar daVarLookupRevMulti = Object();\nvar daVarLookupSelect = Object();\nvar daVarLookupCheckbox = Object();\nvar daVarLookupOption = Object();\nvar daTargetDiv;\nvar daComboBoxes = Object();\nvar daGlobalEval = eval;\nvar daFetchAcceptIncoming = false;\nvar daFetchAjaxTimeout = null;\nvar daFetchAjaxTimeoutRunning = null;\nvar daFetchAjaxTimeoutFetchAfter = null;\nvar daAddressAcceptIncoming = false;\nvar daAddressAjaxTimeout = null;\nvar daAddressAjaxTimeoutRunning = null;\nvar daAddressAjaxTimeoutCallAfter = null;\nvar daShowHideHappened = false;\nvar daCheckinInterval = null;\nvar daInitialCheckinTimeout = null;\nvar daReloader = null;\nvar daDisable = null;\nvar daAutoColorScheme = true;\nvar daCurrentColorScheme;\nvar daUrlChangeColorScheme;\nvar daDesiredColorScheme;\nvar daAutoColorScheme = true;\nvar daThicknessScalingFactor;\nvar daJsEmbed;\nvar daAllowGoingBack;\nvar daSteps;\nvar daIsUser;\nvar daUserId;\nvar daChatStatus;\nvar daChatAvailable;\nvar daChatMode;\nvar daSendChanges;\nvar daBeingControlled;\nvar daInformed;\nvar daUsingGA;\nvar daUsingSegment;\nvar daDoAction;\nvar daQuestionID;\nvar daCsrf;\nvar daComboboxButtonLabel;\nvar daInterviewUrl;\nvar daLocationBar;\nvar daPostURL;\nvar daYamlFilename;\nvar daNotificationContainer;\nvar daNotificationMessage;\nvar daMessageLog;\nvar daImageToPreLoad;\nvar daGetVariablesUrl;\nvar daLiveHelpMessage;\nvar daLiveHelpMessagePhone;\nvar daNewChatMessage;\nvar daLiveHelpAvailableMessage;\nvar daScreenBeingControlled;\nvar daScreenNoLongerBeingControlled;\nvar daPathRoot;\nvar daCheckinSeconds;\nvar daChatRoles;\nvar daChatPartnerRoles;\nvar daAllButtonClasses;\nvar daButtonStyle;\nvar daShouldForceFullScreen;\nvar daPageSep;\nvar daAreYouSure;\nvar daOtherUser;\nvar daOtherUsers;\nvar daOperator;\nvar daOperators;\nvar daCheckinUrl;\nvar daCheckoutUrl;\nvar daCurrencyDecimalPlaces;\nvar daShouldDebugReadabilityHelp;\nvar daShouldDebugReadabilityQuestion;\nvar daEmailAddressRequired;\nvar daNeedCompleteEmail;\nvar daDefaultPopoverTrigger;\nvar daToggleWord;\nvar daCheckinUrlWithInterview;\nvar daReloadAfterSeconds;\nvar daCustomItems;\nvar daTrackingEnabled;\n\nfunction dagoogleapicallback() {}\nfunction daForceFullScreen(data) {\n if (data.steps > 1 && window != top) {\n top.location.href = location.href;\n }\n}\nObject.defineProperty(String.prototype, \"daSprintf\", {\n value: function () {\n var args = Array.from(arguments),\n i = 0;\n function defaultNumber(iValue) {\n return iValue != undefined && !isNaN(iValue) ? iValue : \"0\";\n }\n function defaultString(iValue) {\n return iValue == undefined ? \"\" : \"\" + iValue;\n }\n return this.replace(\n /%%|%([+\\-])?([^1-9])?(\\d+)?(\\.\\d+)?([deEfhHioQqs])/g,\n function (match, sign, filler, scale, precision, type) {\n var strOut, space, value;\n var asNumber = false;\n if (match == \"%%\") return \"%\";\n if (i >= args.length) return match;\n value = args[i];\n while (Array.isArray(value)) {\n args.splice(i, 1);\n for (var j = i; value.length > 0; j++)\n args.splice(j, 0, value.shift());\n value = args[i];\n }\n i++;\n if (filler == undefined) filler = \" \"; // default\n if (scale == undefined && !isNaN(filler)) {\n scale = filler;\n filler = \" \";\n }\n if (sign == undefined) sign = \"sqQ\".indexOf(type) >= 0 ? \"+\" : \"-\"; // default\n if (scale == undefined) scale = 0; // default\n if (precision == undefined) precision = \".0\"; // default\n scale = parseInt(scale);\n precision = parseInt(precision.substr(1));\n switch (type) {\n case \"d\":\n case \"i\":\n // decimal integer\n asNumber = true;\n strOut = parseInt(defaultNumber(value));\n if (precision > 0) strOut += \".\" + \"0\".repeat(precision);\n break;\n case \"e\":\n case \"E\":\n // float in exponential notation\n asNumber = true;\n strOut = parseFloat(defaultNumber(value));\n if (precision == 0) strOut = strOut.toExponential();\n else strOut = strOut.toExponential(precision);\n if (type == \"E\") strOut = strOut.replace(\"e\", \"E\");\n break;\n case \"f\":\n // decimal float\n asNumber = true;\n strOut = parseFloat(defaultNumber(value));\n if (precision != 0) strOut = strOut.toFixed(precision);\n break;\n case \"o\":\n case \"h\":\n case \"H\":\n // Octal or Hexagesimal integer notation\n strOut =\n \"\\\\\" +\n (type == \"o\" ? \"0\" : type) +\n parseInt(defaultNumber(value)).toString(type == \"o\" ? 8 : 16);\n break;\n case \"q\":\n // single quoted string\n strOut = \"'\" + defaultString(value) + \"'\";\n break;\n case \"Q\":\n // double quoted string\n strOut = '\"' + defaultString(value) + '\"';\n break;\n default:\n // string\n strOut = defaultString(value);\n break;\n }\n if (typeof strOut != \"string\") strOut = \"\" + strOut;\n if ((space = strOut.length) < scale) {\n if (asNumber) {\n if (sign == \"-\") {\n if (strOut.indexOf(\"-\") < 0)\n strOut = filler.repeat(scale - space) + strOut;\n else\n strOut =\n \"-\" + filler.repeat(scale - space) + strOut.replace(\"-\", \"\");\n } else {\n if (strOut.indexOf(\"-\") < 0)\n strOut = \"+\" + filler.repeat(scale - space - 1) + strOut;\n else\n strOut =\n \"-\" + filler.repeat(scale - space) + strOut.replace(\"-\", \"\");\n }\n } else {\n if (sign == \"-\") strOut = filler.repeat(scale - space) + strOut;\n else strOut = strOut + filler.repeat(scale - space);\n }\n } else if (asNumber && sign == \"+\" && strOut.indexOf(\"-\") < 0)\n strOut = \"+\" + strOut;\n return strOut;\n },\n );\n },\n});\nObject.defineProperty(window, \"daSprintf\", {\n value: function (str, ...rest) {\n if (typeof str == \"string\")\n return String.prototype.daSprintf.apply(str, rest);\n return \"\";\n },\n});\nfunction daGoToAnchor(target) {\n if (daJsEmbed) {\n scrollTarget = $(target).first().position().top - 60;\n } else {\n scrollTarget = $(target).first().offset().top - 60;\n }\n if (scrollTarget != null) {\n if (daJsEmbed) {\n $(daTargetDiv).animate(\n {\n scrollTop: scrollTarget,\n },\n 500,\n );\n } else {\n $(\"html, body\").animate(\n {\n scrollTop: scrollTarget,\n },\n 500,\n );\n }\n }\n}\nfunction atou(b64) {\n return decodeURIComponent(escape(atob(b64)));\n}\nfunction utoa(data) {\n return btoa(unescape(encodeURIComponent(data)));\n}\nfunction dabtoa(str) {\n return window.utoa(str).replace(/[\\n=]/g, \"\");\n}\nfunction daatob(str) {\n return atou(str);\n}\nfunction hideTablist() {\n var anyTabs =\n $(\"#daChatAvailable\").is(\":visible\") ||\n $(\"daPhoneAvailable\").is(\":visible\") ||\n $(\"#dahelptoggle\").is(\":visible\");\n if (anyTabs) {\n $(\"#nav-bar-tab-list\").removeClass(\"dainvisible\");\n $(\"#daquestionlabel\").parent().removeClass(\"dainvisible\");\n } else {\n $(\"#nav-bar-tab-list\").addClass(\"dainvisible\");\n $(\"#daquestionlabel\").parent().addClass(\"dainvisible\");\n }\n}\nfunction getFields() {\n var allFields = [];\n for (var rawFieldName in daVarLookup) {\n if (daVarLookup.hasOwnProperty(rawFieldName)) {\n var fieldName = atou(rawFieldName);\n if (allFields.indexOf(fieldName) == -1) {\n allFields.push(fieldName);\n }\n }\n }\n return allFields;\n}\nvar daGetFields = getFields;\nfunction daAppendIfExists(fieldName, theArray) {\n var elem = $(\"[name='\" + fieldName + \"']\");\n if (elem.length > 0) {\n for (var i = 0; i < theArray.length; ++i) {\n if (theArray[i] == elem[0]) {\n return;\n }\n }\n theArray.push(elem[0]);\n }\n}\nfunction getField(fieldName, notInDiv) {\n if (daVarLookupCheckbox[fieldName]) {\n var n = daVarLookupCheckbox[fieldName].length;\n for (var i = 0; i < n; ++i) {\n var elem = daVarLookupCheckbox[fieldName][i].checkboxes[0].elem;\n if (!$(elem).prop(\"disabled\")) {\n var showifParents = $(elem).parents(\".dajsshowif,.dashowif\");\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, elem)) {\n continue;\n }\n return daVarLookupCheckbox[fieldName][i].elem;\n }\n }\n }\n }\n if (daVarLookupSelect[fieldName]) {\n var n = daVarLookupSelect[fieldName].length;\n for (var i = 0; i < n; ++i) {\n var elem = daVarLookupSelect[fieldName][i].select;\n if (!$(elem).prop(\"disabled\")) {\n var showifParents = $(elem).parents(\".dajsshowif,.dashowif\");\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, elem)) {\n continue;\n }\n return elem;\n }\n }\n }\n }\n var fieldNameEscaped = dabtoa(fieldName);\n var possibleElements = [];\n daAppendIfExists(fieldNameEscaped, possibleElements);\n if (daVarLookupMulti.hasOwnProperty(fieldNameEscaped)) {\n for (var i = 0; i < daVarLookupMulti[fieldNameEscaped].length; ++i) {\n daAppendIfExists(daVarLookupMulti[fieldNameEscaped][i], possibleElements);\n }\n }\n var returnVal = null;\n for (var i = 0; i < possibleElements.length; ++i) {\n if (\n !$(possibleElements[i]).prop(\"disabled\") ||\n $(possibleElements[i]).parents(\".file-input.is-locked\").length > 0\n ) {\n var showifParents = $(possibleElements[i]).parents(\n \".dajsshowif,.dashowif\",\n );\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, possibleElements[i])) {\n continue;\n }\n returnVal = possibleElements[i];\n }\n }\n }\n if (\n $(returnVal).hasClass(\"da-to-labelauty\") &&\n $(returnVal).parents(\"div.da-field-group\").length > 0\n ) {\n var fieldSet = $(returnVal).parents(\"div.da-field-group\")[0];\n if (\n !$(fieldSet).hasClass(\"da-field-checkbox\") &&\n !$(fieldSet).hasClass(\"da-field-checkboxes\")\n ) {\n return fieldSet;\n }\n }\n return returnVal;\n}\nvar daGetField = getField;\nfunction setChoices(fieldName, choices) {\n var elem = daGetField(fieldName);\n if (elem == null) {\n console.log(\"setChoices: reference to non-existent field \" + fieldName);\n return;\n }\n var isCombobox =\n $(elem).attr(\"type\") == \"hidden\" &&\n $(elem).parents(\".combobox-container\").length > 0;\n if (isCombobox) {\n var comboInput = $(elem)\n .parents(\".combobox-container\")\n .first()\n .find(\"input.combobox\")\n .first();\n var comboObject = daComboBoxes[$(comboInput).attr(\"id\")];\n var oldComboVal = comboObject.$target.val();\n elem = comboObject.$source;\n }\n if ($(elem).prop(\"tagName\") != \"SELECT\") {\n console.log(\"setField: field \" + fieldName + \" is not a dropdown field\");\n return;\n }\n var oldVal = $(elem).val();\n $(elem)\n .find(\"option[value!='']\")\n .each(function () {\n $(this).remove();\n });\n var n = choices.length;\n for (var i = 0; i < n; i++) {\n var opt = $(\"',\n );\n $('').appendTo(toggler);\n $(\n '' + daToggleWord + \"\",\n ).appendTo(toggler);\n } else {\n toggler = $(\n '',\n );\n $('').appendTo(toggler);\n $(\n '' + daToggleWord + \"\",\n ).appendTo(toggler);\n }\n toggler.appendTo(prev);\n toggler.on(\"click\", function (e) {\n var oThis = this;\n $(this)\n .find(\"svg\")\n .each(function () {\n if ($(this).attr(\"data-icon\") == \"caret-down\") {\n $(this).removeClass(\"fa-caret-down\");\n $(this).addClass(\"fa-caret-right\");\n $(this).attr(\"data-icon\", \"caret-right\");\n $(box).hide();\n $(oThis).attr(\"aria-pressed\", \"false\");\n $(box).toggleClass(\"danotshowing\");\n } else if ($(this).attr(\"data-icon\") == \"caret-right\") {\n $(this).removeClass(\"fa-caret-right\");\n $(this).addClass(\"fa-caret-down\");\n $(this).attr(\"data-icon\", \"caret-down\");\n $(box).show();\n $(oThis).attr(\"aria-pressed\", \"true\");\n $(box).toggleClass(\"danotshowing\");\n }\n });\n e.stopPropagation();\n e.preventDefault();\n return false;\n });\n }\n });\n $(\"body\").focus();\n if (!daJsEmbed && !isAndroid) {\n setTimeout(function () {\n var firstInput = $(\"#daform .da-field-container\")\n .not(\".da-field-container-note\")\n .first()\n .find(\"input, textarea, select\")\n .filter(\":visible\")\n .first();\n if (firstInput.length > 0 && $(firstInput).visible()) {\n $(firstInput).focus();\n var inputType = $(firstInput).attr(\"type\");\n if (\n $(firstInput).prop(\"tagName\") != \"SELECT\" &&\n inputType != \"checkbox\" &&\n inputType != \"radio\" &&\n inputType != \"hidden\" &&\n inputType != \"submit\" &&\n inputType != \"file\" &&\n inputType != \"range\" &&\n inputType != \"number\" &&\n inputType != \"date\" &&\n inputType != \"time\"\n ) {\n var strLength = $(firstInput).val().length * 2;\n if (strLength > 0) {\n try {\n $(firstInput)[0].setSelectionRange(strLength, strLength);\n } catch (err) {\n console.log(err.message);\n }\n }\n }\n } else {\n var questionTitle = $(\"#daMainQuestion, #dasigtitle\")\n .filter(\":visible\")\n .first();\n if (questionTitle.length > 0 && $(questionTitle).visible()) {\n $(questionTitle).attr(\"tabindex\", \"-1\").focus();\n } else {\n var firstButton = $(\"#danavbar-collapse .nav-link\")\n .filter(\":visible\")\n .first();\n if (firstButton.length > 0 && $(firstButton).visible()) {\n $(firstButton).focus();\n }\n }\n }\n }, 15);\n }\n }\n $(\"input.dauncheckspecificothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n var theIds = $.parseJSON(atou($(this).data(\"unchecklist\")));\n var n = theIds.length;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).prop(\"checked\", false);\n $(elem).trigger(\"change\");\n }\n }\n });\n $(\"input.dauncheckspecificothers\").each(function () {\n var theIds = $.parseJSON(atou($(this).data(\"unchecklist\")));\n var n = theIds.length;\n var oThis = this;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(oThis).prop(\"checked\", false);\n $(oThis).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dauncheckothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckable,input.dacheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dacheckspecificothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n var theIds = $.parseJSON(atou($(this).data(\"checklist\")));\n var n = theIds.length;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).prop(\"checked\", true);\n $(elem).trigger(\"change\");\n }\n }\n });\n $(\"input.dacheckspecificothers\").each(function () {\n var theIds = $.parseJSON(atou($(this).data(\"checklist\")));\n var n = theIds.length;\n var oThis = this;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).on(\"change\", function () {\n if (!$(this).is(\":checked\")) {\n $(oThis).prop(\"checked\", false);\n $(oThis).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dacheckothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckable\").each(function () {\n if (!$(this).is(\":checked\")) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n });\n $(\"input.dauncheckothers\").each(function () {\n if (!$(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dauncheckable\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n } else {\n $(\"input.dacheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n var navMain = $(\"#danavbar-collapse\");\n navMain.on(\"click\", \"a\", null, function () {\n if (!$(this).hasClass(\"dropdown-toggle\")) {\n navMain.collapse(\"hide\");\n }\n });\n $(\"button[data-bs-target='#dahelp']\").on(\"shown.bs.tab\", function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n } else {\n window.scrollTo(0, 1);\n }\n $(\"#dahelptoggle\").removeClass(\"daactivetext\");\n $(\"#dahelptoggle\").blur();\n });\n $(\"#dasourcetoggle\").on(\"click\", function () {\n $(this).parent().toggleClass(\"active\");\n $(this).blur();\n });\n $(\"#dabackToQuestion\").click(function (event) {\n $(\"#daquestionlabel\").tab(\"show\");\n });\n daVarLookup = Object();\n daVarLookupRev = Object();\n daVarLookupMulti = Object();\n daVarLookupRevMulti = Object();\n daVarLookupOption = Object();\n if ($(\"input[name='_varnames']\").length) {\n the_hash = $.parseJSON(atou($(\"input[name='_varnames']\").val()));\n for (var key in the_hash) {\n if (the_hash.hasOwnProperty(key)) {\n daVarLookup[the_hash[key]] = key;\n daVarLookupRev[key] = the_hash[key];\n if (!daVarLookupMulti.hasOwnProperty(the_hash[key])) {\n daVarLookupMulti[the_hash[key]] = [];\n }\n daVarLookupMulti[the_hash[key]].push(key);\n if (!daVarLookupRevMulti.hasOwnProperty(key)) {\n daVarLookupRevMulti[key] = [];\n }\n daVarLookupRevMulti[key].push(the_hash[key]);\n }\n }\n }\n if ($(\"input[name='_checkboxes']\").length) {\n var patt = new RegExp(/\\[B['\"][^\\]]*['\"]\\]$/);\n var pattObj = new RegExp(/\\[O['\"][^\\]]*['\"]\\]$/);\n var pattRaw = new RegExp(/\\[R['\"][^\\]]*['\"]\\]$/);\n the_hash = $.parseJSON(atou($(\"input[name='_checkboxes']\").val()));\n for (var key in the_hash) {\n if (the_hash.hasOwnProperty(key)) {\n var checkboxName = atou(key);\n var baseName = checkboxName;\n if (patt.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[B?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[B?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(checkboxName);\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"['\" + convertedName + \"']\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameThree = utoa(\n baseName + '[\"' + convertedName + '\"]',\n ).replace(/[\\n=]/g, \"\");\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookup[daNameThree] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameThree)) {\n daVarLookupMulti[daNameThree] = [];\n }\n daVarLookupMulti[daNameThree].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n } else if (pattObj.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[O?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[O?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(atou(checkboxName));\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"['\" + convertedName + \"']\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameThree = utoa(\n baseName + '[\"' + convertedName + '\"]',\n ).replace(/[\\n=]/g, \"\");\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookup[daNameThree] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameThree)) {\n daVarLookupMulti[daNameThree] = [];\n }\n daVarLookupMulti[daNameThree].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n } else if (pattRaw.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[R?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[R?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(checkboxName);\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"[\" + convertedName + \"]\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n }\n }\n }\n }\n daShowIfInProcess = true;\n var daTriggerQueries = [];\n var daInputsSeen = {};\n function daOnlyUnique(value, index, self) {\n return self.indexOf(value) === index;\n }\n $(\".dajsshowif\").each(function () {\n var showIfDiv = this;\n var jsInfo = JSON.parse(atou($(this).data(\"jsshowif\")));\n var showIfSign = jsInfo[\"sign\"];\n var showIfMode = jsInfo[\"mode\"];\n var jsExpression = jsInfo[\"expression\"];\n jsInfo[\"vars\"].forEach(function (infoItem, i) {\n var showIfVars = [];\n var initShowIfVar = utoa(infoItem).replace(/[\\n=]/g, \"\");\n var initShowIfVarEscaped = initShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var elem = $(\"[name='\" + initShowIfVarEscaped + \"']\");\n if (elem.length > 0) {\n showIfVars.push(initShowIfVar);\n }\n if (daVarLookupMulti.hasOwnProperty(initShowIfVar)) {\n for (var j = 0; j < daVarLookupMulti[initShowIfVar].length; j++) {\n var altShowIfVar = daVarLookupMulti[initShowIfVar][j];\n var altShowIfVarEscaped = altShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var altElem = $(\"[name='\" + altShowIfVarEscaped + \"']\");\n if (altElem.length > 0 && !$.contains(this, altElem[0])) {\n showIfVars.push(altShowIfVar);\n }\n }\n }\n if (showIfVars.length == 0) {\n console.log(\"ERROR: reference to non-existent field \" + infoItem);\n }\n showIfVars.forEach(function (showIfVar) {\n var showIfVarEscaped = showIfVar.replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n var varToUse = infoItem;\n var showHideDiv = function (speed) {\n var elem = daGetField(varToUse);\n if (\n elem != null &&\n !$(elem)\n .parents(\".da-form-group\")\n .first()\n .is($(this).parents(\".da-form-group\").first())\n ) {\n return;\n }\n var resultt = eval(jsExpression);\n if (resultt) {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n }\n } else {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n }\n var leader = false;\n if (!daShowIfInProcess) {\n daShowIfInProcess = true;\n daInputsSeen = {};\n leader = true;\n }\n $(showIfDiv)\n .find(\":input\")\n .not(\"[type='file']\")\n .each(function () {\n if (!daInputsSeen.hasOwnProperty($(this).attr(\"id\"))) {\n $(this).trigger(\"change\");\n }\n daInputsSeen[$(this).attr(\"id\")] = true;\n });\n if (leader) {\n daShowIfInProcess = false;\n }\n };\n var showHideDivImmediate = function () {\n showHideDiv.apply(this, [null]);\n };\n var showHideDivFast = function () {\n showHideDiv.apply(this, [\"fast\"]);\n };\n daTriggerQueries.push(\"#\" + showIfVarEscaped);\n daTriggerQueries.push(\n \"input[type='radio'][name='\" + showIfVarEscaped + \"']\",\n );\n daTriggerQueries.push(\n \"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\",\n );\n $(\"#\" + showIfVarEscaped).change(showHideDivFast);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input.dafile[name='\" + showIfVarEscaped + \"']\").on(\n \"filecleared\",\n showHideDivFast,\n );\n $(\"#\" + showIfVarEscaped).on(\"daManualTrigger\", showHideDivImmediate);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n });\n });\n });\n $(\".dashowif\").each(function () {\n var showIfVars = [];\n var showIfSign = $(this).data(\"showif-sign\");\n var showIfMode = parseInt($(this).data(\"showif-mode\"));\n var initShowIfVar = $(this).data(\"showif-var\");\n var varName = atou(initShowIfVar);\n var elem = [];\n if (varName.endsWith(\"[nota]\") || varName.endsWith(\"[aota]\")) {\n var signifier = varName.endsWith(\"[nota]\") ? \"nota\" : \"aota\";\n var cbVarName = varName.replace(/\\[[na]ota\\]$/, \"\");\n $(\"div.da-field-group.da-field-checkboxes\").each(function () {\n var thisVarName = atou($(this).data(\"varname\"));\n if (thisVarName == cbVarName) {\n elem = $(this).find(\"input.da\" + signifier + \"-checkbox\");\n initShowIfVar = $(elem).attr(\"name\");\n }\n });\n } else {\n var initShowIfVarEscaped = initShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n elem = $(\"[name='\" + initShowIfVarEscaped + \"']\");\n }\n if (elem.length > 0) {\n showIfVars.push(initShowIfVar);\n }\n if (daVarLookupMulti.hasOwnProperty(initShowIfVar)) {\n var n = daVarLookupMulti[initShowIfVar].length;\n for (var i = 0; i < n; i++) {\n var altShowIfVar = daVarLookupMulti[initShowIfVar][i];\n var altShowIfVarEscaped = altShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var altElem = $(\"[name='\" + altShowIfVarEscaped + \"']\");\n if (altElem.length > 0 && !$.contains(this, altElem[0])) {\n showIfVars.push(altShowIfVar);\n }\n }\n }\n var showIfVal = $(this).data(\"showif-val\");\n var saveAs = $(this).data(\"saveas\");\n var showIfDiv = this;\n showIfVars.forEach(function (showIfVar) {\n var showIfVarEscaped = showIfVar.replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n var showHideDiv = function (speed) {\n var elem = daGetField(varName, showIfDiv);\n if (\n elem != null &&\n !$(elem)\n .parents(\".da-form-group\")\n .first()\n .is($(this).parents(\".da-form-group\").first())\n ) {\n return;\n }\n var theVal;\n var showifParents = $(this).parents(\".dashowif\");\n if (\n showifParents.length !== 0 &&\n !($(showifParents[0]).data(\"isVisible\") == \"1\")\n ) {\n theVal = \"\";\n //console.log(\"Setting theVal to blank.\");\n } else if ($(this).attr(\"type\") == \"checkbox\") {\n theVal = $(\"input[name='\" + showIfVarEscaped + \"']:checked\").val();\n if (typeof theVal == \"undefined\") {\n //console.log('manually setting checkbox value to False');\n theVal = \"False\";\n }\n } else if ($(this).attr(\"type\") == \"radio\") {\n theVal = $(\"input[name='\" + showIfVarEscaped + \"']:checked\").val();\n if (typeof theVal == \"undefined\") {\n theVal = \"\";\n } else if (\n theVal != \"\" &&\n $(\"input[name='\" + showIfVarEscaped + \"']:checked\").hasClass(\n \"daobject\",\n )\n ) {\n try {\n theVal = atou(theVal);\n } catch (e) {}\n }\n } else {\n theVal = $(this).val();\n if (theVal != \"\" && $(this).hasClass(\"daobject\")) {\n try {\n theVal = atou(theVal);\n } catch (e) {}\n }\n }\n // console.log(\"There was a trigger on \" + $(this).attr('id') + \". This handler was installed based on varName \" + varName + \", showIfVar \" + atou(showIfVar) + \". This handler was installed for the benefit of the .dashowif div encompassing the field for \" + atou(saveAs) + \". The comparison value is \" + String(showIfVal) + \" and the current value of the element on the screen is \" + String(theVal) + \".\");\n if (daShowIfCompare(theVal, showIfVal)) {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n var firstChild = $(showIfDiv).children()[0];\n if (\n !$(firstChild).hasClass(\"dacollectextra\") ||\n $(firstChild).is(\":visible\")\n ) {\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv).find(\"input, textarea, select\").prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n }\n } else {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv).find(\"input, textarea, select\").prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n var firstChild = $(showIfDiv).children()[0];\n if (\n !$(firstChild).hasClass(\"dacollectextra\") ||\n $(firstChild).is(\":visible\")\n ) {\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n }\n }\n var leader = false;\n if (!daShowIfInProcess) {\n daShowIfInProcess = true;\n daInputsSeen = {};\n leader = true;\n }\n $(showIfDiv)\n .find(\":input\")\n .not(\"[type='file']\")\n .each(function () {\n if (!daInputsSeen.hasOwnProperty($(this).attr(\"id\"))) {\n $(this).trigger(\"change\");\n }\n daInputsSeen[$(this).attr(\"id\")] = true;\n });\n if (leader) {\n daShowIfInProcess = false;\n }\n };\n var showHideDivImmediate = function () {\n showHideDiv.apply(this, [null]);\n };\n var showHideDivFast = function () {\n showHideDiv.apply(this, [\"fast\"]);\n };\n daTriggerQueries.push(\"#\" + showIfVarEscaped);\n daTriggerQueries.push(\n \"input[type='radio'][name='\" + showIfVarEscaped + \"']\",\n );\n daTriggerQueries.push(\n \"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\",\n );\n $(\"#\" + showIfVarEscaped).change(showHideDivFast);\n $(\"#\" + showIfVarEscaped).on(\"daManualTrigger\", showHideDivImmediate);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input.dafile[name='\" + showIfVarEscaped + \"']\").on(\n \"filecleared\",\n showHideDivFast,\n );\n });\n });\n function daTriggerAllShowHides() {\n var daUniqueTriggerQueries = daTriggerQueries.filter(daOnlyUnique);\n var daFirstTime = true;\n var daTries = 0;\n while ((daFirstTime || daShowHideHappened) && ++daTries < 100) {\n daShowHideHappened = false;\n daFirstTime = false;\n var n = daUniqueTriggerQueries.length;\n for (var i = 0; i < n; ++i) {\n $(daUniqueTriggerQueries[i]).trigger(\"daManualTrigger\");\n }\n }\n if (daTries >= 100) {\n console.log(\"Too many contradictory 'show if' conditions\");\n }\n }\n if (daTriggerQueries.length > 0) {\n daTriggerAllShowHides();\n }\n $(\".danavlink\").last().addClass(\"thelast\");\n $(\".danavlink\").each(function () {\n if ($(this).hasClass(\"btn\") && !$(this).hasClass(\"danotavailableyet\")) {\n var the_a = $(this);\n var the_delay = 1000 + 250 * parseInt($(this).data(\"index\"));\n setTimeout(function () {\n $(the_a).removeClass(daButtonStyle + \"secondary\");\n if ($(the_a).hasClass(\"active\")) {\n $(the_a).addClass(daButtonStyle + \"success\");\n } else {\n $(the_a).addClass(daButtonStyle + \"warning\");\n }\n }, the_delay);\n }\n });\n daShowIfInProcess = false;\n if (!daObserverMode) {\n $(\"#daSend\").click(daSender);\n if (daChatAvailable == \"unavailable\") {\n daChatStatus = \"off\";\n }\n if (daChatAvailable == \"observeonly\") {\n daChatStatus = \"observeonly\";\n }\n if (\n (daChatStatus == \"off\" || daChatStatus == \"observeonly\") &&\n daChatAvailable == \"available\"\n ) {\n daChatStatus = \"waiting\";\n }\n daDisplayChat();\n if (daBeingControlled) {\n daShowControl(\"fast\");\n }\n if (daChatStatus == \"ready\" || daBeingControlled) {\n daInitializeSocket();\n }\n if (daInitialized == false && daCheckinSeconds > 0) {\n // why was this set to always retrieve the chat log?\n setTimeout(function () {\n //console.log(\"daInitialize call to chat_log in checkin\");\n $.ajax({\n type: \"POST\",\n url: daCheckinUrlWithInterview,\n beforeSend: addCsrfHeader,\n xhrFields: {\n withCredentials: true,\n },\n data: $.param({ action: \"chat_log\", ajax: \"1\", csrf_token: daCsrf }),\n success: daChatLogCallback,\n dataType: \"json\",\n });\n }, 200);\n }\n if (daInitialized == true) {\n //console.log(\"Publishing from memory\");\n $(\"#daCorrespondence\").html(\"\");\n for (var i = 0; i < daChatHistory.length; i++) {\n daPublishMessage(daChatHistory[i]);\n }\n }\n if (daChatStatus != \"off\") {\n daSendChanges = true;\n } else {\n if (daDoAction == null) {\n daSendChanges = false;\n } else {\n daSendChanges = true;\n }\n }\n }\n if (daSendChanges || daObserverMode) {\n $(\"#daform\").each(function () {\n $(this).find(\":input\").change(daOnChange);\n });\n }\n daInitialized = true;\n daShowingHelp = 0;\n daSubmitter = null;\n $(\"#daflash .alert-success\").each(function () {\n var oThis = this;\n setTimeout(function () {\n $(oThis).hide(300, function () {\n $(self).remove();\n });\n }, 3000);\n });\n if (doScroll && !daObserverMode) {\n setTimeout(function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n if (daSteps > 1) {\n $(daTargetDiv)[0].scrollIntoView();\n }\n } else {\n window.scrollTo(0, 1);\n }\n }, 20);\n }\n if (daShowingSpinner && !daWaitPage) {\n daHideSpinner();\n }\n if (!daObserverMode) {\n if (daCheckinInterval != null) {\n clearInterval(daCheckinInterval);\n }\n if (daCheckinSeconds > 0 && !daWaitPage) {\n daInitialCheckinTimeout = setTimeout(daInitialCheckin, 100);\n daCheckinInterval = setInterval(daCheckin, daCheckinSeconds);\n }\n daShowNotifications();\n if (daUsingGA) {\n daPageview();\n }\n if (daUsingSegment) {\n daSegmentEvent();\n }\n hideTablist();\n }\n}\nfunction daUpdateHeight() {\n $(\".dagooglemap\").each(function () {\n var size = $(this).width();\n $(this).css(\"height\", size);\n });\n}\nfunction daConfigureJqueryFuncs() {\n $.validator.setDefaults({\n ignore: \".danovalidation\",\n highlight: function (element) {\n $(element).closest(\".da-form-group\").addClass(\"da-group-has-error\");\n $(element).addClass(\"is-invalid\");\n },\n unhighlight: function (element) {\n $(element).closest(\".da-form-group\").removeClass(\"da-group-has-error\");\n $(element).removeClass(\"is-invalid\");\n },\n errorElement: \"span\",\n errorClass: \"da-has-error invalid-feedback\",\n errorPlacement: function (error, element) {\n $(error).addClass(\"invalid-feedback\");\n var elementName = $(element).attr(\"name\");\n var idOfErrorSpan = $(element).attr(\"id\") + \"-error\";\n $(\"#\" + idOfErrorSpan).remove();\n $(error).attr(\"id\", idOfErrorSpan);\n $(element).attr(\"aria-invalid\", \"true\");\n $(element).attr(\"aria-errormessage\", idOfErrorSpan);\n var lastInGroup = $.map(\n daValidationRules[\"groups\"],\n function (thefields, thename) {\n var fieldsArr;\n if (thefields.indexOf(elementName) >= 0) {\n fieldsArr = thefields.split(\" \");\n return fieldsArr[fieldsArr.length - 1];\n } else {\n return null;\n }\n },\n )[0];\n if (element.hasClass(\"dainput-embedded\")) {\n error.insertAfter(element);\n } else if (element.hasClass(\"dafile-embedded\")) {\n error.insertAfter(element);\n } else if (element.hasClass(\"daradio-embedded\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dacheckbox-embedded\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dauncheckable\") && lastInGroup) {\n $(\"input[name='\" + lastInGroup + \"']\")\n .parent()\n .append(error);\n } else if (element.parent().hasClass(\"combobox-container\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dafile\")) {\n var fileContainer = $(element).parents(\".file-input\").first();\n if (fileContainer.length > 0) {\n $(fileContainer).append(error);\n } else {\n error.insertAfter(element.parent());\n }\n } else if (element.parent(\".input-group\").length) {\n error.insertAfter(element.parent());\n } else if (element.hasClass(\"da-active-invisible\")) {\n var choice_with_help = $(element).parents(\".dachoicewithhelp\").first();\n if (choice_with_help.length > 0) {\n $(choice_with_help).parent().append(error);\n } else {\n element.parent().append(error);\n }\n } else if (element.hasClass(\"danon-nota-checkbox\")) {\n element.parents(\"div.da-field-group\").append(error);\n } else {\n error.insertAfter(element);\n }\n },\n });\n $.validator.addMethod(\"datetime\", function (a, b) {\n return true;\n });\n $.validator.addMethod(\"ajaxrequired\", function (value, element, params) {\n var realElement = $(\"#\" + $(element).attr(\"name\") + \"combobox\");\n var realValue = $(realElement).val();\n if (!$(realElement).parent().is(\":visible\")) {\n return true;\n }\n if (realValue == null || realValue.replace(/\\s/g, \"\") == \"\") {\n return false;\n }\n return true;\n });\n $.validator.addMethod(\"checkone\", function (value, element, params) {\n var number_needed = params[0];\n var css_query = params[1];\n if ($(css_query).length >= number_needed) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"checkatleast\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length >= params[1]) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"checkatmost\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length > params[1]) {\n return false;\n } else {\n return true;\n }\n });\n $.validator.addMethod(\"checkexactly\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length != params[1]) {\n return false;\n } else {\n return true;\n }\n });\n $.validator.addMethod(\"selectexactly\", function (value, element, params) {\n if ($(element).find(\"option:selected\").length == params[0]) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"mindate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var comparator = new Date(params);\n if (date >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxdate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var comparator = new Date(params);\n if (date <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxdate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var before_comparator = new Date(params[0]);\n var after_comparator = new Date(params[1]);\n if (date >= before_comparator && date <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"mintime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var comparator = new Date(\"1970-01-01T\" + params + \"Z\");\n if (time >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxtime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var comparator = new Date(\"1970-01-01T\" + params + \"Z\");\n if (time <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxtime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var before_comparator = new Date(\"1970-01-01T\" + params[0] + \"Z\");\n var after_comparator = new Date(\"1970-01-01T\" + params[1] + \"Z\");\n if (time >= before_comparator && time <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"mindatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var comparator = new Date(params + \"Z\");\n if (datetime >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxdatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var comparator = new Date(params + \"Z\");\n if (datetime <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxdatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var before_comparator = new Date(params[0] + \"Z\");\n var after_comparator = new Date(params[1] + \"Z\");\n if (datetime >= before_comparator && datetime <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxuploadsize\", function (value, element, param) {\n try {\n var limit = parseInt(param) - 2000;\n if (limit <= 0) {\n return true;\n }\n var maxImageSize;\n if ($(element).data(\"maximagesize\")) {\n maxImageSize =\n parseInt($(element).data(\"maximagesize\")) *\n parseInt($(element).data(\"maximagesize\")) *\n 2;\n } else {\n maxImageSize = 0;\n }\n if ($(element).attr(\"type\") === \"file\") {\n if (element.files && element.files.length) {\n var totalSize = 0;\n for (i = 0; i < element.files.length; i++) {\n if (\n maxImageSize > 0 &&\n element.files[i].size > 0.2 * maxImageSize &&\n element.files[i].type.match(/image.*/) &&\n !(element.files[i].type.indexOf(\"image/svg\") == 0)\n ) {\n totalSize += maxImageSize;\n } else {\n totalSize += element.files[i].size;\n }\n }\n if (totalSize > limit) {\n return false;\n }\n }\n return true;\n }\n } catch (e) {}\n return false;\n });\n}\nvar dataLayer = (window.dataLayer = window.dataLayer || []);\nfunction gtag() {\n dataLayer.push(arguments);\n}\nfunction daPageview() {\n var idToUse = daQuestionID[\"id\"];\n if (daQuestionID[\"ga\"] != undefined && daQuestionID[\"ga\"] != null) {\n idToUse = daQuestionID[\"ga\"];\n }\n if (idToUse != null) {\n idToUse = idToUse.replace(/[^A-Za-z0-9]+/g, \"_\");\n if (!daGAConfigured) {\n var opts = { send_page_view: false };\n if (daSecureCookies) {\n opts[\"cookie_flags\"] = \"SameSite=None;Secure\";\n }\n for (var i = 0; i < daGaIds.length; i++) {\n gtag(\"config\", daGaIds[i], opts);\n daGAConfigured = true;\n }\n }\n gtag(\n \"set\",\n \"page_path\",\n daInterviewPackage + \"/\" + daInterviewFilename + \"/\" + idToUse,\n );\n gtag(\"event\", \"page_view\", {\n page_path: daInterviewPackage + \"/\" + daInterviewFilename + \"/\" + idToUse,\n });\n }\n}\nfunction daStopPushChanges() {\n if (daObserverChangesInterval != null) {\n clearInterval(daObserverChangesInterval);\n }\n}\nfunction daResetPushChanges() {\n if (daObserverChangesInterval != null) {\n clearInterval(daObserverChangesInterval);\n }\n daObserverChangesInterval = setInterval(daPushChanges, 6000);\n}\nfunction daReadyFunction() {\n daInitialize(1);\n //console.log(\"ready: replaceState \" + daSteps);\n if (!daJsEmbed && !daIframeEmbed) {\n history.replaceState(\n { steps: daSteps },\n \"\",\n daLocationBar + daPageSep + daSteps,\n );\n }\n var daReloadAfter = daReloadAfterSeconds;\n if (daReloadAfter > 0) {\n daReloader = setTimeout(function () {\n daRefreshSubmit();\n }, daReloadAfter);\n }\n if (daUsingGA && !daObserverMode) {\n gtag(\"js\", new Date());\n }\n window.onpopstate = function (event) {\n if (\n event.state != null &&\n event.state.steps < daSteps &&\n daAllowGoingBack\n ) {\n $(\"#dabackbutton\").submit();\n }\n };\n $(window).bind(\"unload\", function () {\n if (!daObserverMode) {\n daStopCheckingIn();\n }\n if (daSocket != null && daSocket.connected) {\n //console.log('Terminating interview socket because window unloaded');\n daSocket.emit(\"terminate\");\n }\n });\n var daDefaultAllowList = bootstrap.Tooltip.Default.allowList;\n daDefaultAllowList[\"*\"].push(\"style\");\n daDefaultAllowList[\"a\"].push(\"style\");\n daDefaultAllowList[\"img\"].push(\"style\");\n if (daJsEmbed) {\n $.ajax({\n type: \"POST\",\n url: daPostURL,\n beforeSend: addCsrfHeader,\n xhrFields: {\n withCredentials: true,\n },\n data: \"csrf_token=\" + daCsrf + \"&ajax=1\",\n success: function (data) {\n setTimeout(function () {\n daProcessAjax(data, $(\"#daform\"), 0);\n }, 0);\n },\n error: function (xhr, status, error) {\n setTimeout(function () {\n daProcessAjaxError(xhr, status, error);\n }, 0);\n },\n });\n }\n if (daObserverMode) {\n if (\n location.protocol === \"http:\" ||\n document.location.protocol === \"http:\"\n ) {\n daSocket = io.connect(\"http://\" + document.domain + \"/observer\", {\n path: daRootUrl + \"/ws/socket.io\",\n query: \"i=\" + daYamlFilename,\n });\n }\n if (\n location.protocol === \"https:\" ||\n document.location.protocol === \"https:\"\n ) {\n daSocket = io.connect(\"https://\" + document.domain + \"/observer\", {\n path: daRootUrl + \"/ws/socket.io\",\n query: \"i=\" + daYamlFilename,\n });\n }\n if (typeof daSocket !== \"undefined\") {\n daSocket.on(\"connect\", function () {\n //console.log(\"Connected!\");\n daSocket.emit(\"observe\", {\n uid: daUid,\n i: daYamlFilename,\n userid: daUserObserved,\n });\n daConnected = true;\n });\n daSocket.on(\"terminate\", function () {\n //console.log(\"Terminating socket\");\n daSocket.disconnect();\n });\n daSocket.on(\"disconnect\", function () {\n //console.log(\"Disconnected socket\");\n //daSocket = null;\n });\n daSocket.on(\"stopcontrolling\", function (data) {\n window.parent.daStopControlling(data.key);\n });\n daSocket.on(\"start_being_controlled\", function (data) {\n //console.log(\"Got start_being_controlled\");\n daConfirmed = true;\n daPushChanges();\n window.parent.daGotConfirmation(data.key);\n });\n daSocket.on(\"abortcontrolling\", function (data) {\n //console.log(\"Got abortcontrolling\");\n //daSendChanges = false;\n //daConfirmed = false;\n //daStopPushChanges();\n window.parent.daAbortControlling(data.key);\n });\n daSocket.on(\"noconnection\", function (data) {\n //console.log(\"warning: no connection\");\n if (daNoConnectionCount++ > 2) {\n //console.log(\"error: no connection\");\n window.parent.daStopControlling(data.key);\n }\n });\n daSocket.on(\"newpage\", function (incoming) {\n //console.log(\"Got newpage\")\n var data = incoming.obj;\n $(daTargetDiv).html(data.body);\n $(daTargetDiv).parent().removeClass();\n $(daTargetDiv).parent().addClass(data.bodyclass);\n daInitialize(1);\n for (var i = 0; i < data.extra_scripts.length; i++) {\n daEvalExtraScript(data.extra_scripts[i]);\n }\n for (var i = 0; i < data.extra_css.length; i++) {\n $(\"head\").append(data.extra_css[i]);\n }\n document.title = data.browser_title;\n if ($(\"html\").attr(\"lang\") != data.lang) {\n $(\"html\").attr(\"lang\", data.lang);\n }\n daPushChanges();\n });\n daSocket.on(\"pushchanges\", function (data) {\n //console.log(\"Got pushchanges: \" + JSON.stringify(data));\n var valArray = Object();\n var values = data.parameters;\n for (var i = 0; i < values.length; i++) {\n valArray[values[i].name] = values[i].value;\n }\n $(\"#daform\").each(function () {\n $(this)\n .find(\":input\")\n .each(function () {\n var type = $(this).attr(\"type\");\n var id = $(this).attr(\"id\");\n var name = $(this).attr(\"name\");\n if (type == \"checkbox\") {\n if (name in valArray) {\n if (valArray[name] == \"True\") {\n if ($(this).prop(\"checked\") != true) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n } else if (type == \"radio\") {\n if (name in valArray) {\n if (valArray[name] == $(this).val()) {\n if ($(this).prop(\"checked\") != true) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n }\n } else if ($(this).data().hasOwnProperty(\"sliderMax\")) {\n $(this).slider(\"setValue\", parseInt(valArray[name]));\n } else {\n if (name in valArray) {\n $(this).val(valArray[name]);\n }\n }\n });\n });\n });\n }\n daObserverChangesInterval = setInterval(daPushChanges, daCheckinSeconds);\n }\n $(document).trigger(\"daPageLoad\");\n}\n\nfunction daSetPosition(position) {\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n latitude: position.coords.latitude,\n longitude: position.coords.longitude,\n });\n}\n\nfunction daAddListenersFor(elementId) {\n $('[name=\"' + elementId + '\"]').change(function () {\n if ($(this).attr(\"type\") == \"checkbox\" || $(this).attr(\"type\") == \"radio\") {\n theVal = $('[name=\"' + elementId + '\"]:checked').val();\n } else {\n theVal = $(this).val();\n }\n var n = 0;\n if ($(this).data(\"disableothers\")) {\n var id_list = JSON.parse(\n decodeURIComponent(escape(atob($(this).data(\"disableothers\")))),\n );\n n = id_list.length;\n }\n if (n) {\n for (var i = 0; i < n; ++i) {\n var theElementId = id_list[i].replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n if (theVal == null || theVal == \"\") {\n daDisableIfNotHidden(\n \"#daform [name='\" + theElementId + \"']:not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform [id='\" + theElementId + \"']:not([type=hidden])\",\n false,\n );\n } else {\n daDisableIfNotHidden(\n \"#daform [name='\" + theElementId + \"']:not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform [id='\" + theElementId + \"']:not([type=hidden])\",\n true,\n );\n }\n }\n } else {\n if (theVal == null || theVal == \"\") {\n daDisableIfNotHidden(\n \"#daform input:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform select:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform textarea:not([name='\" + elementId + \"']):not([type=hidden])\",\n false,\n );\n } else {\n daDisableIfNotHidden(\n \"#daform input:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform select:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform textarea:not([name='\" + elementId + \"']):not([type=hidden])\",\n true,\n );\n }\n }\n });\n $(\"[data-disableothers]\").trigger(\"change\");\n}\n\nfunction daShowError(error) {\n switch (error.code) {\n case error.PERMISSION_DENIED:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"User denied the request for Geolocation\",\n });\n console.log(\"User denied the request for Geolocation.\");\n break;\n case error.POSITION_UNAVAILABLE:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"Location information is unavailable\",\n });\n console.log(\"Location information is unavailable.\");\n break;\n case error.TIMEOUT:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"The request to get user location timed out\",\n });\n console.log(\"The request to get user location timed out.\");\n break;\n case error.UNKNOWN_ERROR:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"An unknown error occurred\",\n });\n console.log(\"An unknown error occurred.\");\n break;\n }\n}\n"],"names":["$","document","addEventListener","jQuery","noConflict","daJsEmbed","daTargetDiv","daPreloadImage","daImageToPreLoad","daAutoColorScheme","window","matchMedia","matches","daDesiredColorScheme","daCurrentColorScheme","documentElement","setAttribute","ajax","type","url","daUrlChangeColorScheme","xhrFields","withCredentials","data","success","scheme","error","xhr","status","console","log","dataType","ready","daReadyFunction","daObserverMode","daUpdateHeight","resize","daConfigureJqueryFuncs","i","daInitialExtraScripts","length","daEvalExtraScript","daCustomItems","daGlobalEval","js","e","datatype","stack","daColor","daWindowWidth","daTheWidth","daAspectRatio","daTheBorders","daSignaturePad","daWaitPage","daInitializeSignature","penColor","defaultImage","daNewCanvas","on","daResizeCanvas","click","preventDefault","isEmpty","getElementById","value","removeClass","setTimeout","addClass","attr","daSaveCanvas","width","dataURL","toDataURL","daSpinnerTimeout","daShowSpinner","daPost","da_success","da_the_image","da_ajax","cwidth","contentwidth","outerWidth","cheight","otherHeights","outerHeight","height","canvas","html","daThicknessScalingFactor","SignaturePad","querySelector","fromDataURL","ratio","xOffset","yOffset","minWidth","maxWidth","scrollTo","daSteps","scrollIntoView","params","key","hasOwnProperty","hiddenField","submit","isCanvasSupported","elem","createElement","getContext","daAutocomplete","Object","daWaitForGoogle","waitForPlaces","Promise","let","attempts","maxAttempts","interval","setInterval","found","google","maps","undefined","Error","places","clearInterval","resolve","daInitAutocomplete","info","id","opts","suggestions","async","daInitAutocompleteOld","await","Autocomplete","event","addListener","daFillInAddressFor","daFillInAddressOld","daInitMap","daMapInfo","googleLoaded","importLibrary","timePeriod","map_info_length","the_map","bounds","LatLngBounds","daAddMap","center","latitude","longitude","marker_length","markers","show_marker","j","new_marker","daAddMarker","extend","LatLng","position","lat","lng","map","fitBounds","map_num","center_lat","center_lon","Map","zoom","mapTypeId","MapTypeId","ROADMAP","mapId","infowindow","InfoWindow","marker_info","AdvancedMarkerElement","PinElement","marker","content","icon","element","setContent","open","daFillInAddress","origId","place","daVarLookupRev","baseVarname","atob","replace","re","RegExp","componentTrans","administrative_area_level_1","administrative_area_level_2","alternatives","fieldsToClear","idForPart","each","the_id","this","field_name","indexOf","m","exec","component","savedValues","toChange","addressComponents","addressType","types","val","push","the_address","theZipCode","location","fieldName","altList","fieldsToGet","fields","pythonVar","jsVar","underscoreToCamel","Array","isArray","transformedObject","JSON","parse","stringify","entries","forEach","jsSubVar","pythonSubVar","camelToUnderscore","jsonIfObject","trigger","base_varname","componentForm","locality","sublocality","administrative_area_level_3","country","postal_code","fields_to_fill","id_for_part","getPlace","street_number","route","address_components","adr_address","business_status","formatted_address","formatted_phone_number","geometry","international_phone_number","name","place_id","price_level","rating","utc_offset_minutes","vicinity","website","daGeolocate","navigator","geolocation","getCurrentPosition","coords","circle","Circle","radius","accuracy","setBounds","getBounds","daRequestPending","isAndroid","test","userAgent","toLowerCase","daWhichButton","daSocket","daChatHistory","daCheckinCode","daCheckingIn","daShowingHelp","daIframeEmbed","parent","daChatPartnersAvailable","daPhoneAvailable","daInitialized","daConfirmed","daNoConnectionCount","daObserverChangesInterval","daNotYetScrolled","daInformedChanged","daShowingSpinner","daSubmitter","daGAConfigured","daShowIfInProcess","daFieldsToSkip","daVarLookup","daVarLookupMulti","daVarLookupRevMulti","daVarLookupSelect","daVarLookupCheckbox","daVarLookupOption","daComboBoxes","eval","daFetchAcceptIncoming","daFetchAjaxTimeout","daFetchAjaxTimeoutRunning","daFetchAjaxTimeoutFetchAfter","daAddressAcceptIncoming","daAddressAjaxTimeout","daAddressAjaxTimeoutRunning","daAddressAjaxTimeoutCallAfter","daShowHideHappened","daCheckinInterval","daInitialCheckinTimeout","daReloader","daDisable","daAllowGoingBack","daIsUser","daUserId","daChatStatus","daChatAvailable","daChatMode","daSendChanges","daBeingControlled","daInformed","daUsingGA","daUsingSegment","daDoAction","daQuestionID","daCsrf","daComboboxButtonLabel","daInterviewUrl","daLocationBar","daPostURL","daYamlFilename","daNotificationContainer","daNotificationMessage","daMessageLog","daGetVariablesUrl","daLiveHelpMessage","daLiveHelpMessagePhone","daNewChatMessage","daLiveHelpAvailableMessage","daScreenBeingControlled","daScreenNoLongerBeingControlled","daPathRoot","daCheckinSeconds","daChatRoles","daChatPartnerRoles","daAllButtonClasses","daButtonStyle","daShouldForceFullScreen","daPageSep","daAreYouSure","daOtherUser","daOtherUsers","daOperator","daOperators","daCheckinUrl","daCheckoutUrl","daCurrencyDecimalPlaces","daShouldDebugReadabilityHelp","daShouldDebugReadabilityQuestion","daEmailAddressRequired","daNeedCompleteEmail","daDefaultPopoverTrigger","daToggleWord","daCheckinUrlWithInterview","daReloadAfterSeconds","daTrackingEnabled","dagoogleapicallback","daForceFullScreen","steps","top","href","defineProperty","String","prototype","args","from","arguments","defaultNumber","iValue","isNaN","defaultString","match","sign","filler","scale","precision","strOut","space","asNumber","splice","shift","parseInt","substr","repeat","parseFloat","toExponential","toFixed","toString","str","rest","daSprintf","apply","daGoToAnchor","target","scrollTarget","first","offset","animate","scrollTop","atou","b64","decodeURIComponent","escape","utoa","btoa","unescape","encodeURIComponent","dabtoa","daatob","hideTablist","anyTabs","is","getFields","allFields","rawFieldName","daGetFields","daAppendIfExists","theArray","getField","notInDiv","n","checkboxes","prop","showifParents","parents","contains","select","fieldNameEscaped","possibleElements","returnVal","hasClass","fieldSet","daGetField","setChoices","choices","isCombobox","comboInput","find","comboObject","oldComboVal","$target","$source","oldVal","remove","opt","text","append","refresh","clearTarget","daSetField","daSetChoices","setField","theValue","wasSet","manualSelect","theVal","newVal","oldValue","option","changed","thisVal","cbSelected","selectedVals","da_val","daFormAsJSON","isInitial","formData","serializeArray","inArray","isChangedElem","img","Image","src","daShowHelpTab","tab","addCsrfHeader","settings","setRequestHeader","flash","message","priority","clear","empty","newElement","hide","da_flash","url_action","action","JSON_stringify","da_url_action","action_call","callback","forgetPrior","readOnly","_action","_arguments","beforeSend","param","_readonly","csrf_token","daProcessAjaxError","da_action_call","url_action_call","action_perform","daProcessAjax","da_action_perform","url_action_perform","action_perform_with_next","next_data","_next_action_to_set","da_action_perform_with_next","url_action_perform_with_next","get_interview_variables","da_get_interview_variables","daInformAbout","subject","chatMessage","waitPeriod","popover","placement","container","title","removeAttr","daPublishMessage","newDiv","is_self","daScrollChat","chatScroller","scrollHeight","daScrollChatFast","daSender","emit","focus","daShowControl","mode","css","appendTo","slideDown","show","daHideControl","slideUp","daInitializeSocket","connected","connect","protocol","io","domain","path","query","daDisplayChat","daPushChanges","arg","messages","disconnect","daTurnOnChat","numpartners","daCloseChat","incoming","obj","valArray","values","parameters","slider","clicked","daUnfakeHtmlResponse","daTurnOnControl","daResetPushChanges","uid","daUid","userid","daUserObserved","daTurnOffControl","daStopPushChanges","daInjectTrim","handler","tagName","trim","call","daInvalidHandler","form","validator","errors","numberOfInvalids","errorList","daValidator","daValidationRules","daValidationHandler","visibleElements","seen","filter","theName","off","daOnChange","tableOrder","tableOrderChanges","tableName","tableChanged","collectToDelete","lastOk","last","keys","join","do_iframe_upload","inline_succeeded","filesToRead","filesRead","newFileList","nullFileList","fileArray","file_list","inline_file_list","namesWithImages","the_file_input","the_max_size","the_image_type","hasImages","files","the_file","originalFileList","concat","fileInfoList","file_input","max_size","image_type","image_mime_type","this_has_images","a_file","tempFunc","has_images","reader","FileReader","thisFileInfo","size","onload","readerEvent","convertedName","convertedType","pos","lastIndexOf","image","imageEvent","drawImage","daResumeUploadSubmission","result","readAsDataURL","iframe","bind","parseJSON","contents","f","daShowErrorScreen","contentWindow","body","innerHTML","serialize","daSetupValidation","rules","submitHandler","invalidHandler","onfocusout","defaults","validate","showErrors","daRecordLocation","daSetPosition","daShowError","timeout","maximumAge","daSignatureSubmit","stopPropagation","s","json","c","charCodeAt","slice","disabled","oThis","daCheckin","daConnected","responseType","theHtml","responseText","daDivs","children","otherScripts","startsWith","daErrorScript","errorScriptDiv","daScripts","scriptElement","appendChild","reload","daShowNotifications","daAddScriptToHead","head","getElementsByTagName","script","defer","which","tag","activeElement","not","blur","daAddListenersFor","tooltip","enabled","color","default","clearTimeout","daRefreshSubmit","sleep","doScroll","actionURL","question_data","daQuestionData","bodyclass","do_action","livehelp","availability","roles","partner_roles","history","state","pushState","browser_title","replaceState","allow_going_back","id_dict","message_log","daInitialize","extra_scripts","scrollToTarget","extra_css","lang","reload_after","daHideSpinner","input","daEmbeddedJs","daEmbeddedAction","confirm","actionData","theURL","daReviewAction","daRingChat","daChatLogCallback","daResetCheckinCode","Math","random","daCheckinCallback","checkin_code","commands","command","extra","assignments","possible_assignment","assignment","oldDaChatStatus","phone","statusChanged","chat_status","num_peers","help_available","observerControl","daCheckoutCallback","daInitialCheckin","datastring","chatstatus","chatmode","checkinCode","raw_parameters","daCheckout","daStopCheckingIn","newSpan","newI","daObserverSubmitter","theAction","embeddedJs","embeddedAction","linkNum","theId","skey","daAdjustInputWidth","leftBracket","rightBracket","daIgnoreAllButTab","code","keyCode","daDisableIfNotHidden","showIfParent","disable","enable","daShowIfCompare","showIfVal","rationalizeListCollect","finalNum","num","firstNum","seenAddAnother","current","daFetchAjax","cb","doShow","wordStart","shown","wordstart","upperWordStart","toUpperCase","emptyItem","notYetSelected","selectedValue","item","keyList","sort","$element","lookup","split","word","index","charAt","camelStr","fileinput","theme","language","allowedPreviewTypes","row","prev","insertBefore","next","insertAfter","valid","visible","isObject","varname","theSelect","cbList","theType","variable","cleanNum","replaceAll","selects","querySelectorAll","labelauty","class","label","anyChanged","firstEncountered","existing_val","combobox","buttonLabel","inputBox","daInputBox","clearIfNoMatch","functionalButton","showButton","matcher","lookupWhileTyping","thisId","Place","AutocompleteSessionToken","AutocompleteSuggestion","token","priorQuery","priorResults","request","region","sessionToken","$container","selected","placePrediction","toPlace","fetchFields","includedPrimaryTypes","fetchAutocompleteSuggestions","results","sugMap","suggestion","addressText","every","options","items","reduce","revMap","process","_attachment_email_address","minlength","required","email","errorClass","daPopoverTriggerList","daPopoverTrigger","daPopoverList","daPopoverTriggerEl","bootstrap","Popover","informed","theCode","the_key","box","toggler","toggleClass","firstInput","inputType","strLength","setSelectionRange","err","questionTitle","firstButton","theIds","navMain","collapse","the_hash","patt","pattObj","pattRaw","checkboxName","baseName","bracketPart","transBaseName","daNameOne","daNameTwo","daNameThree","daNameBase","daTriggerQueries","daInputsSeen","daOnlyUnique","self","showIfDiv","jsInfo","showIfSign","showIfMode","jsExpression","infoItem","showIfVars","initShowIfVar","initShowIfVarEscaped","altShowIfVar","altShowIfVarEscaped","altElem","showIfVar","showIfVarEscaped","varToUse","showHideDiv","speed","resultt","leader","showHideDivImmediate","showHideDivFast","change","varName","endsWith","signifier","cbVarName","thisVarName","saveAs","firstChild","daTriggerAllShowHides","daUniqueTriggerQueries","daFirstTime","daTries","the_a","the_delay","daPageview","daSegmentEvent","setDefaults","ignore","highlight","closest","unhighlight","errorElement","errorPlacement","elementName","idOfErrorSpan","lastInGroup","thefields","thename","fieldsArr","fileContainer","choice_with_help","addMethod","a","b","realElement","realValue","number_needed","css_query","date","Date","comparator","before_comparator","after_comparator","time","datetime","limit","maxImageSize","totalSize","dataLayer","gtag","idToUse","send_page_view","daSecureCookies","daGaIds","daInterviewPackage","daInterviewFilename","page_path","daReloadAfter","onpopstate","daDefaultAllowList","Tooltip","Default","allowList","daRootUrl","daStopControlling","daGotConfirmation","daAbortControlling","elementId","id_list","theElementId","PERMISSION_DENIED","POSITION_UNAVAILABLE","TIMEOUT","UNKNOWN_ERROR"],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["docassemble_webapp/docassemble/webapp/static/app/app.js"],"sourcesContent":["var $;\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n if (typeof $ == \"undefined\") {\n $ = jQuery.noConflict();\n }\n if (daJsEmbed) {\n daTargetDiv = \"#\" + daJsEmbed;\n } else {\n daTargetDiv = \"#dabody\";\n }\n daPreloadImage(daImageToPreLoad);\n if (daAutoColorScheme) {\n if (window.matchMedia(\"(prefers-color-scheme: dark)\").matches) {\n daDesiredColorScheme = 1;\n } else {\n daDesiredColorScheme = 0;\n }\n if (daCurrentColorScheme != daDesiredColorScheme) {\n document.documentElement.setAttribute(\n \"data-bs-theme\",\n daDesiredColorScheme ? \"dark\" : \"light\",\n );\n $.ajax({\n type: \"PATCH\",\n url: daUrlChangeColorScheme,\n xhrFields: {\n withCredentials: true,\n },\n data: \"scheme=\" + daDesiredColorScheme,\n success: function (data) {\n daCurrentColorScheme = data.scheme;\n },\n error: function (xhr, status, error) {\n console.log(\"Unable to change desired color scheme.\");\n },\n dataType: \"json\",\n });\n }\n }\n $(document).ready(daReadyFunction);\n if (!daObserverMode) {\n $(window).ready(daUpdateHeight);\n $(window).resize(daUpdateHeight);\n }\n daConfigureJqueryFuncs();\n for (var i = 0; i < daInitialExtraScripts.length; i++) {\n daEvalExtraScript(daInitialExtraScripts[i]);\n }\n for (var i = 0; i < daCustomItems.length; i++) {\n try {\n daGlobalEval(daCustomItems[i].js);\n } catch (e) {\n console.error(\n \"Error with JavaScript code of CustomDataType \" +\n daCustomItems[i].datatype, e.stack\n );\n }\n }\n});\n\nvar daColor = \"#000\";\nvar daWindowWidth;\nvar daTheWidth;\nvar daAspectRatio;\nvar daTheBorders;\nvar daSignaturePad;\nvar daWaitPage = false;\n\nfunction daInitializeSignature(penColor, defaultImage) {\n daColor = penColor;\n daAspectRatio = 0.4;\n daTheBorders = 30;\n daNewCanvas(defaultImage);\n\n $(window).on(\"resize\", function () {\n daResizeCanvas();\n });\n $(window).on(\"orientationchange\", function () {\n daResizeCanvas();\n });\n $(\".dasigclear\").click(function (e) {\n e.preventDefault();\n daNewCanvas();\n return false;\n });\n $(\".dasigsave\").click(function (e) {\n e.preventDefault();\n if (\n daSignaturePad.isEmpty() &&\n document.getElementById(\"da_sig_required\").value == \"1\"\n ) {\n $(\"#daerrormess\").removeClass(\"dasignotshowing\");\n setTimeout(function () {\n $(\"#daerrormess\").addClass(\"dasignotshowing\");\n }, 3000);\n } else {\n $(\".dasigclear\").attr(\"disabled\", true);\n $(\".dasigsave\").attr(\"disabled\", true);\n daSaveCanvas();\n }\n return false;\n });\n}\n\n// function to setup a new canvas for drawing\n\nfunction daResizeCanvas() {\n if ($(window).width() != daWindowWidth) {\n daWindowWidth = $(window).width();\n setTimeout(function () {\n daNewCanvas();\n }, 200);\n }\n return;\n}\n\nfunction daSaveCanvas() {\n var dataURL = daSignaturePad.toDataURL();\n //console.log(dataURL)\n daSpinnerTimeout = setTimeout(daShowSpinner, 1000);\n daPost({ da_success: 1, da_the_image: dataURL, da_ajax: 1 });\n}\n\nfunction daNewCanvas(defaultImage = null) {\n //console.log(\"running daNewCanvas\");\n daWindowWidth = $(window).width();\n var cwidth = $(window).width() - daTheBorders;\n var contentwidth = $(\"#dasigpage\").outerWidth(true);\n if (cwidth > contentwidth) {\n cwidth = contentwidth;\n }\n var cheight = cwidth * daAspectRatio;\n var otherHeights =\n $(\"#dasigheader\").outerHeight(true) +\n $(\"#dasigtoppart\").outerHeight(true) +\n $(\"#dasigmidpart\").outerHeight(true) +\n $(\"#dasigbottompart\").outerHeight(true);\n if (cheight > $(window).height() - otherHeights) {\n cheight = $(window).height() - otherHeights;\n }\n if (cheight > 275 || cheight < 30) {\n cheight = 275;\n }\n $(\"#dasigcontent\").height(cheight);\n var canvas =\n '';\n $(\"#dasigcontent\").html(canvas);\n daTheWidth = (daThicknessScalingFactor * cwidth) / 100.0;\n if (daTheWidth < 1) {\n daTheWidth = 1;\n }\n daSignaturePad = new SignaturePad(document.querySelector(\"#dasigcanvas\"));\n if (defaultImage != null) {\n daSignaturePad.fromDataURL(defaultImage, {\n ratio: 1,\n width: cwidth,\n height: cheight,\n xOffset: 0,\n yOffset: 0,\n });\n }\n daSignaturePad.minWidth = 0.5 * daThicknessScalingFactor;\n daSignaturePad.maxWidth = 2.5 * daThicknessScalingFactor;\n daSignaturePad.penColor = daColor;\n setTimeout(function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n if (daSteps > 1) {\n $(daTargetDiv)[0].scrollIntoView();\n }\n } else {\n window.scrollTo(0, 1);\n }\n }, 10);\n}\n\nfunction daPost(params) {\n for (var key in params) {\n if (params.hasOwnProperty(key)) {\n var hiddenField = document.getElementById(key);\n if (hiddenField != null) {\n hiddenField.setAttribute(\"value\", params[key]);\n } else {\n console.log(\"Key does not exist: \" + key);\n return;\n }\n }\n }\n $(\"#dasigform\").submit();\n return;\n}\n\nfunction isCanvasSupported() {\n var elem = document.createElement(\"canvas\");\n return !!(elem.getContext && elem.getContext(\"2d\"));\n}\n\nvar daAutocomplete = Object();\n\nfunction daWaitForGoogle(waitForPlaces) {\n return new Promise((resolve) => {\n let attempts = 0;\n const maxAttempts = 50;\n const interval = setInterval(() => {\n var found = false;\n try {\n if (google.maps === undefined) {\n throw new Error(\"google maps not defined\");\n }\n if (waitForPlaces) {\n if (google.maps.places === undefined) {\n throw new Error(\"places not defined\");\n }\n }\n found = true;\n } catch (e) {}\n if (found || attempts >= maxAttempts) {\n clearInterval(interval);\n resolve(found);\n }\n attempts++;\n }, 100);\n });\n}\n\nfunction daInitAutocomplete(info) {\n daAutocomplete = Object();\n for (var i = 0; i < info.length; ++i) {\n daAutocomplete[info[i][0]] = {\n id: info[i][0],\n opts: info[i][1],\n suggestions: {},\n };\n }\n}\n\nasync function daInitAutocompleteOld(info) {\n await daWaitForGoogle(true);\n for (var i = 0; i < info.length; ++i) {\n var id = info[i][0];\n var opts = info[i][1];\n daAutocomplete[id] = new google.maps.places.Autocomplete(\n document.getElementById(id),\n opts,\n );\n google.maps.event.addListener(\n daAutocomplete[id],\n \"place_changed\",\n daFillInAddressFor(id),\n );\n }\n}\n\nfunction daFillInAddressFor(id) {\n return function () {\n daFillInAddressOld(id);\n };\n}\n\nasync function daInitMap(daMapInfo) {\n var googleLoaded = await daWaitForGoogle(false);\n if (!googleLoaded) {\n console.log(\"Could not load Google Maps library\");\n return;\n }\n await google.maps.importLibrary(\"core\");\n var timePeriod = 0;\n maps = [];\n var map_info_length = daMapInfo.length;\n for (var i = 0; i < map_info_length; i++) {\n the_map = daMapInfo[i];\n var bounds = new google.maps.LatLngBounds();\n maps[i] = daAddMap(i, the_map.center.latitude, the_map.center.longitude);\n marker_length = the_map.markers.length;\n if (marker_length == 1) {\n show_marker = true;\n } else {\n show_marker = false;\n }\n for (var j = 0; j < marker_length; j++) {\n var new_marker = await daAddMarker(\n maps[i],\n the_map.markers[j],\n show_marker,\n );\n bounds.extend(\n new google.maps.LatLng(\n new_marker.position.lat,\n new_marker.position.lng,\n ),\n );\n }\n if (marker_length > 1) {\n maps[i].map.fitBounds(bounds);\n }\n }\n}\n\nfunction daAddMap(map_num, center_lat, center_lon) {\n var map = new google.maps.Map(document.getElementById(\"map\" + map_num), {\n zoom: 11,\n center: new google.maps.LatLng(center_lat, center_lon),\n mapTypeId: google.maps.MapTypeId.ROADMAP,\n mapId: \"map\" + map_num + \"element\",\n });\n var infowindow = new google.maps.InfoWindow();\n return { map: map, infowindow: infowindow };\n}\n\nasync function daAddMarker(map, marker_info, show_marker) {\n const { AdvancedMarkerElement, PinElement } =\n await google.maps.importLibrary(\"marker\");\n var marker;\n var content;\n if (marker_info.icon) {\n content = new PinElement(marker_info.icon);\n } else {\n content = new PinElement();\n }\n marker = new AdvancedMarkerElement({\n position: {\n lat: marker_info.latitude,\n lng: marker_info.longitude,\n },\n map: map.map,\n content: content.element,\n });\n if (marker_info.info) {\n google.maps.event.addListener(\n marker,\n \"click\",\n (function (marker, info) {\n return function () {\n map.infowindow.setContent(info);\n map.infowindow.open(map.map, marker);\n };\n })(marker, marker_info.info),\n );\n }\n if (show_marker) {\n map.infowindow.setContent(marker_info.info);\n map.infowindow.open(map.map, marker);\n }\n return marker;\n}\n\nfunction daFillInAddress(origId, place) {\n var id;\n if (daVarLookupRev[origId]) {\n id = daVarLookupRev[origId];\n } else {\n id = origId;\n }\n var baseVarname = atob(id).replace(/.[a-zA-Z0-9_]+$/, \"\");\n baseVarname = baseVarname.replace(/[\\[\\]]/g, \".\");\n var re = new RegExp(\"^\" + baseVarname + \".(.*)\");\n var componentTrans = {\n administrative_area_level_1: [\"state\", \"shortText\"],\n administrative_area_level_2: [\"county\", \"longText\"],\n };\n var alternatives = [\n [\n \"city\",\n [\n \"locality\",\n \"sublocality_level_1\",\n \"neighborhood\",\n \"administrative_area_level_3\",\n \"colloquial_area\",\n ],\n ],\n [\n \"sublocality\",\n [\n \"sublocality_level_1\",\n \"sublocality_level_2\",\n \"sublocality_level_3\",\n \"sublocality_level_4\",\n \"sublocality_level_5\",\n ],\n ],\n ];\n var fieldsToClear = [\n \"address\",\n \"administrative_area_level_1\",\n \"administrative_area_level_2\",\n \"administrative_area_level_3\",\n \"administrative_area_level_4\",\n \"administrative_area_level_5\",\n \"administrative_area_level_6\",\n \"administrative_area_level_7\",\n \"adr_format_address\",\n \"airport\",\n \"bus_station\",\n \"business_status\",\n \"city\",\n \"colloquial_area\",\n \"compound_code\",\n \"country\",\n \"county\",\n \"directions_uri\",\n \"display_name\",\n \"display_name_language_code\",\n \"establishment\",\n \"floor\",\n \"formatted_address\",\n \"global_code\",\n \"has_wheelchair_accessible_entrance\",\n \"has_wheelchair_accessible_parking\",\n \"has_wheelchair_accessible_restroom\",\n \"has_wheelchair_accessible_seating\",\n \"id\",\n \"international_phone_number\",\n \"intersection\",\n \"landmark\",\n \"latitude\",\n \"locality\",\n \"location\",\n \"longitude\",\n \"national_phone_number\",\n \"natural_feature\",\n \"neighborhood\",\n \"park\",\n \"parking\",\n \"photos_uri\",\n \"place_uri \",\n \"plus_code\",\n \"point_of_interest\",\n \"political\",\n \"post_box\",\n \"postal_code\",\n \"postal_town\",\n \"premise\",\n \"price_level\",\n \"primary_type\",\n \"primary_type_display_name\",\n \"primary_type_display_name_language_code\",\n \"rating\",\n \"reviews_uri\",\n \"room\",\n \"route\",\n \"state\",\n \"street_number\",\n \"sublocality\",\n \"subpremise\",\n \"train_station\",\n \"transit_station\",\n \"types\",\n \"utc_offset_minutes\",\n \"write_a_review_uri\",\n \"zip\",\n ];\n var idForPart = {};\n $(\"input, select\").each(function () {\n var the_id = $(this).attr(\"id\");\n if (typeof the_id !== typeof undefined && the_id !== false) {\n try {\n var field_name = atob($(this).attr(\"id\"));\n if (field_name.indexOf(\"_field_\") == 0) {\n field_name = atob(daVarLookupRev[$(this).attr(\"id\")]);\n }\n var m = re.exec(field_name);\n if (m.length > 0) {\n idForPart[m[1]] = $(this).attr(\"id\");\n }\n } catch (e) {}\n }\n });\n for (var component in fieldsToClear) {\n if (\n typeof idForPart[component] != \"undefined\" &&\n document.getElementById(idForPart[component]) != null\n ) {\n document.getElementById(idForPart[component]).value = \"\";\n }\n }\n var savedValues = {};\n var toChange = [];\n for (var i = 0; i < place.addressComponents.length; i++) {\n var addressType = place.addressComponents[i].types[0];\n if (addressType == \"street_number\" || addressType == \"country\") {\n savedValues[addressType] = place.addressComponents[i][\"shortText\"];\n } else {\n savedValues[addressType] = place.addressComponents[i][\"longText\"];\n }\n if (\n componentTrans[addressType] &&\n idForPart[componentTrans[addressType][0]] &&\n typeof idForPart[componentTrans[addressType][0]] != \"undefined\" &&\n document.getElementById(idForPart[componentTrans[addressType][0]]) != null\n ) {\n var val = place.addressComponents[i][componentTrans[addressType][1]];\n if (typeof val != \"undefined\") {\n document.getElementById(\n idForPart[componentTrans[addressType][0]],\n ).value = val;\n toChange.push(\"#\" + idForPart[componentTrans[addressType][0]]);\n }\n }\n if (\n idForPart[addressType] &&\n typeof idForPart[addressType] != \"undefined\" &&\n document.getElementById(idForPart[addressType]) != null\n ) {\n var val = savedValues[addressType];\n if (typeof val != \"undefined\") {\n document.getElementById(idForPart[addressType]).value = val;\n toChange.push(\"#\" + idForPart[addressType]);\n }\n }\n }\n if (\n typeof idForPart[\"address\"] != \"undefined\" &&\n document.getElementById(idForPart[\"address\"]) != null\n ) {\n var the_address = \"\";\n if (typeof savedValues[\"street_number\"] != \"undefined\") {\n the_address += savedValues[\"street_number\"] + \" \";\n }\n if (typeof savedValues[\"route\"] != \"undefined\") {\n the_address += savedValues[\"route\"];\n }\n document.getElementById(idForPart[\"address\"]).value = the_address;\n toChange.push(\"#\" + idForPart[\"address\"]);\n }\n if (\n typeof idForPart[\"zip\"] != \"undefined\" &&\n document.getElementById(idForPart[\"zip\"]) != null &&\n typeof savedValues[\"postal_code\"] != \"undefined\" &&\n savedValues[\"postal_code\"] != \"\"\n ) {\n var theZipCode = savedValues[\"postal_code\"];\n if (\n typeof savedValues[\"postal_code_suffix\"] != \"undefined\" &&\n savedValues[\"postal_code_suffix\"] != \"\"\n ) {\n theZipCode += \"-\" + savedValues[\"postal_code_suffix\"];\n }\n document.getElementById(idForPart[\"zip\"]).value = theZipCode;\n toChange.push(\"#\" + idForPart[\"zip\"]);\n }\n if (place.location) {\n if (\n typeof idForPart[\"latitude\"] != \"undefined\" &&\n document.getElementById(idForPart[\"latitude\"]) != null\n ) {\n document.getElementById(idForPart[\"latitude\"]).value =\n place.location.lat();\n toChange.push(\"#\" + idForPart[\"latitude\"]);\n }\n if (\n typeof idForPart[\"longitude\"] != \"undefined\" &&\n document.getElementById(idForPart[\"longitude\"]) != null\n ) {\n document.getElementById(idForPart[\"longitude\"]).value =\n place.location.lng();\n toChange.push(\"#\" + idForPart[\"longitude\"]);\n }\n }\n for (var i = 0; i < alternatives.length; i++) {\n const [fieldName, altList] = alternatives[i];\n if (\n typeof idForPart[fieldName] != \"undefined\" &&\n document.getElementById(idForPart[fieldName]) != null &&\n document.getElementById(idForPart[fieldName]).value == \"\"\n ) {\n }\n for (var j = 0; j < altList.length; j++) {\n if (typeof savedValues[altList[j]] != \"undefined\") {\n document.getElementById(idForPart[fieldName]).value =\n savedValues[altList[j]];\n toChange.push(\"#\" + idForPart[fieldName]);\n break;\n }\n }\n }\n var fieldsToGet = daAutocomplete[origId].opts.fields || [];\n for (var i = 0; i < fieldsToGet.length; i++) {\n var pythonVar = fieldsToGet[i];\n if (pythonVar == \"address_components\" || pythonVar == \"location\") {\n continue;\n }\n var jsVar = underscoreToCamel(pythonVar);\n if (\n place[jsVar] != null &&\n typeof place[jsVar] === \"object\" &&\n !Array.isArray(place[jsVar])\n ) {\n var transformedObject = JSON.parse(JSON.stringify(place[jsVar]));\n Object.entries(transformedObject).forEach(([jsSubVar, value]) => {\n var pythonSubVar = camelToUnderscore(jsSubVar);\n if (\n value != null &&\n typeof idForPart[pythonSubVar] != \"undefined\" &&\n document.getElementById(idForPart[pythonSubVar]) != null\n ) {\n document.getElementById(idForPart[pythonSubVar]).value =\n jsonIfObject(value);\n toChange.push(\"#\" + idForPart[pythonSubVar]);\n }\n });\n } else if (\n place[jsVar] &&\n typeof idForPart[pythonVar] != \"undefined\" &&\n document.getElementById(idForPart[pythonVar]) != null\n ) {\n document.getElementById(idForPart[pythonVar]).value = jsonIfObject(\n place[jsVar],\n );\n toChange.push(\"#\" + idForPart[pythonVar]);\n }\n }\n for (var i = 0; i < toChange.length; i++) {\n $(toChange[i]).trigger(\"change\");\n }\n}\n\nfunction daFillInAddressOld(origId) {\n var id;\n if (daVarLookupRev[origId]) {\n id = daVarLookupRev[origId];\n } else {\n id = origId;\n }\n var base_varname = atob(id).replace(/.[a-zA-Z0-9_]+$/, \"\");\n base_varname = base_varname.replace(/[\\[\\]]/g, \".\");\n var re = new RegExp(\"^\" + base_varname + \".(.*)\");\n var componentForm = {\n locality: \"long_name\",\n sublocality: \"long_name\",\n administrative_area_level_3: \"long_name\",\n administrative_area_level_2: \"long_name\",\n administrative_area_level_1: \"short_name\",\n country: \"short_name\",\n postal_code: \"short_name\",\n };\n var componentTrans = {\n locality: \"city\",\n administrative_area_level_2: \"county\",\n administrative_area_level_1: \"state\",\n country: \"country\",\n postal_code: \"zip\",\n };\n\n var fields_to_fill = [\n \"address\",\n \"city\",\n \"county\",\n \"state\",\n \"zip\",\n \"neighborhood\",\n \"sublocality\",\n \"administrative_area_level_3\",\n \"postal_code\",\n ];\n var id_for_part = {};\n $(\"input, select\").each(function () {\n var the_id = $(this).attr(\"id\");\n if (typeof the_id !== typeof undefined && the_id !== false) {\n try {\n var field_name = atob($(this).attr(\"id\"));\n if (field_name.indexOf(\"_field_\") == 0) {\n field_name = atob(daVarLookupRev[$(this).attr(\"id\")]);\n }\n var m = re.exec(field_name);\n if (m.length > 0) {\n id_for_part[m[1]] = $(this).attr(\"id\");\n }\n } catch (e) {}\n }\n });\n place = daAutocomplete[origId].getPlace();\n if (\n typeof id_for_part[\"address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"address\"]) != null\n ) {\n document.getElementById(id_for_part[\"address\"]).value = \"\";\n }\n\n for (var component in fields_to_fill) {\n if (\n typeof id_for_part[component] != \"undefined\" &&\n document.getElementById(id_for_part[component]) != null\n ) {\n document.getElementById(id_for_part[component]).value = \"\";\n }\n }\n\n var street_number;\n var route;\n var savedValues = {};\n var toChange = [];\n for (var i = 0; i < place.address_components.length; i++) {\n var addressType = place.address_components[i].types[0];\n savedValues[addressType] = place.address_components[i][\"long_name\"];\n if (addressType == \"street_number\") {\n street_number = place.address_components[i][\"short_name\"];\n }\n if (addressType == \"route\") {\n route = place.address_components[i][\"long_name\"];\n }\n if (\n componentForm[addressType] &&\n id_for_part[componentTrans[addressType]] &&\n typeof id_for_part[componentTrans[addressType]] != \"undefined\" &&\n document.getElementById(id_for_part[componentTrans[addressType]]) != null\n ) {\n var val = place.address_components[i][componentForm[addressType]];\n if (typeof val != \"undefined\") {\n document.getElementById(\n id_for_part[componentTrans[addressType]],\n ).value = val;\n toChange.push(\"#\" + id_for_part[componentTrans[addressType]]);\n }\n if (componentTrans[addressType] != addressType) {\n val = place.address_components[i][\"long_name\"];\n if (\n typeof val != \"undefined\" &&\n typeof id_for_part[addressType] != \"undefined\" &&\n document.getElementById(id_for_part[addressType]) != null\n ) {\n document.getElementById(id_for_part[addressType]).value = val;\n toChange.push(\"#\" + id_for_part[addressType]);\n }\n }\n } else if (\n id_for_part[addressType] &&\n typeof id_for_part[addressType] != \"undefined\" &&\n document.getElementById(id_for_part[addressType]) != null\n ) {\n var val = place.address_components[i][\"long_name\"];\n if (typeof val != \"undefined\") {\n document.getElementById(id_for_part[addressType]).value = val;\n toChange.push(\"#\" + id_for_part[addressType]);\n }\n }\n }\n if (\n typeof id_for_part[\"address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"address\"]) != null\n ) {\n var the_address = \"\";\n if (typeof street_number != \"undefined\") {\n the_address += street_number + \" \";\n }\n if (typeof route != \"undefined\") {\n the_address += route;\n }\n document.getElementById(id_for_part[\"address\"]).value = the_address;\n toChange.push(\"#\" + id_for_part[\"address\"]);\n }\n if (\n typeof id_for_part[\"city\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"city\"]) != null\n ) {\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_1\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"sublocality_level_1\"];\n }\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"neighborhood\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"neighborhood\"];\n }\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"administrative_area_level_3\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"administrative_area_level_3\"];\n }\n }\n if (\n typeof id_for_part[\"sublocality\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"sublocality\"]) != null\n ) {\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_1\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_1\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_2\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_2\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_3\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_3\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_4\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_4\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_5\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_5\"];\n }\n }\n if (\n place.adr_address &&\n typeof id_for_part[\"adr_address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"adr_address\"]) != null\n ) {\n document.getElementById(id_for_part[\"adr_address\"]).value =\n place.adr_address;\n }\n if (\n place.business_status &&\n typeof id_for_part[\"business_status\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"business_status\"]) != null\n ) {\n document.getElementById(id_for_part[\"business_status\"]).value =\n place.business_status;\n }\n if (\n place.formatted_address &&\n typeof id_for_part[\"formatted_address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"formatted_address\"]) != null\n ) {\n document.getElementById(id_for_part[\"formatted_address\"]).value =\n place.formatted_address;\n }\n if (\n place.formatted_phone_number &&\n typeof id_for_part[\"formatted_phone_number\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"formatted_phone_number\"]) != null\n ) {\n document.getElementById(id_for_part[\"formatted_phone_number\"]).value =\n place.formatted_phone_number;\n }\n if (place.geometry && place.geometry.location) {\n if (\n typeof id_for_part[\"latitude\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"latitude\"]) != null\n ) {\n document.getElementById(id_for_part[\"latitude\"]).value =\n place.geometry.location.lat();\n }\n if (\n typeof id_for_part[\"longitude\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"longitude\"]) != null\n ) {\n document.getElementById(id_for_part[\"longitude\"]).value =\n place.geometry.location.lng();\n }\n }\n if (\n place.icon &&\n typeof id_for_part[\"icon\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"icon\"]) != null\n ) {\n document.getElementById(id_for_part[\"icon\"]).value = place.icon;\n }\n if (\n place.international_phone_number &&\n typeof id_for_part[\"international_phone_number\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"international_phone_number\"]) != null\n ) {\n document.getElementById(id_for_part[\"international_phone_number\"]).value =\n place.international_phone_number;\n }\n if (\n place.name &&\n typeof id_for_part[\"name\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"name\"]) != null\n ) {\n document.getElementById(id_for_part[\"name\"]).value = place.name;\n }\n if (\n place.place_id &&\n typeof id_for_part[\"place_id\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"place_id\"]) != null\n ) {\n document.getElementById(id_for_part[\"place_id\"]).value = place.place_id;\n }\n if (\n place.price_level &&\n typeof id_for_part[\"price_level\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"price_level\"]) != null\n ) {\n document.getElementById(id_for_part[\"price_level\"]).value =\n place.price_level;\n }\n if (\n place.rating &&\n typeof id_for_part[\"rating\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"rating\"]) != null\n ) {\n document.getElementById(id_for_part[\"rating\"]).value = place.rating;\n }\n if (\n place.url &&\n typeof id_for_part[\"url\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"url\"]) != null\n ) {\n document.getElementById(id_for_part[\"url\"]).value = place.url;\n }\n if (\n place.utc_offset_minutes &&\n typeof id_for_part[\"utc_offset_minutes\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"utc_offset_minutes\"]) != null\n ) {\n document.getElementById(id_for_part[\"utc_offset_minutes\"]).value =\n place.utc_offset_minutes;\n }\n if (\n place.vicinity &&\n typeof id_for_part[\"vicinity\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"vicinity\"]) != null\n ) {\n document.getElementById(id_for_part[\"vicinity\"]).value = place.vicinity;\n }\n if (\n place.website &&\n typeof id_for_part[\"website\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"website\"]) != null\n ) {\n document.getElementById(id_for_part[\"website\"]).value = place.website;\n }\n for (var i = 0; i < toChange.length; i++) {\n $(toChange[i]).trigger(\"change\");\n }\n}\n\nfunction daGeolocate() {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(function (position) {\n var geolocation = {\n lat: position.coords.latitude,\n lng: position.coords.longitude,\n };\n var circle = new google.maps.Circle({\n center: geolocation,\n radius: position.coords.accuracy,\n });\n for (var id in daAutocomplete) {\n if (daAutocomplete.hasOwnProperty(id)) {\n daAutocomplete[id].setBounds(circle.getBounds());\n }\n }\n });\n }\n}\nvar daRequestPending = false;\nvar isAndroid = /android/i.test(navigator.userAgent.toLowerCase());\nvar daWhichButton = null;\nvar daSocket = null;\nvar daChatHistory = [];\nvar daCheckinCode = null;\nvar daCheckingIn = 0;\nvar daShowingHelp = 0;\nvar daIframeEmbed;\nif (window.location !== window.parent.location) {\n daIframeEmbed = true;\n} else {\n daIframeEmbed = false;\n}\nvar daChatPartnersAvailable = 0;\nvar daPhoneAvailable = false;\nvar daInitialized = false;\nvar daConfirmed = false;\nvar daNoConnectionCount = 0;\nvar daObserverChangesInterval = null;\nvar daNotYetScrolled = true;\nvar daInformedChanged = false;\nvar daShowingSpinner = false;\nvar daSpinnerTimeout = null;\nvar daSubmitter = null;\nvar daGAConfigured = false;\nvar daShowIfInProcess = false;\nvar daFieldsToSkip = [\n \"_checkboxes\",\n \"_empties\",\n \"_ml_info\",\n \"_back_one\",\n \"_files\",\n \"_files_inline\",\n \"_question_name\",\n \"_the_image\",\n \"_save_as\",\n \"_success\",\n \"_datatypes\",\n \"_event\",\n \"_visible\",\n \"_tracker\",\n \"_track_location\",\n \"_varnames\",\n \"_next_action\",\n \"_next_action_to_set\",\n \"ajax\",\n \"json\",\n \"informed\",\n \"csrf_token\",\n \"_action\",\n \"_order_changes\",\n \"_collect\",\n \"_list_collect_list\",\n \"_null_question\",\n];\nvar daVarLookup = Object();\nvar daVarLookupRev = Object();\nvar daVarLookupMulti = Object();\nvar daVarLookupRevMulti = Object();\nvar daVarLookupSelect = Object();\nvar daVarLookupCheckbox = Object();\nvar daVarLookupOption = Object();\nvar daTargetDiv;\nvar daComboBoxes = Object();\nvar daGlobalEval = eval;\nvar daFetchAcceptIncoming = false;\nvar daFetchAjaxTimeout = null;\nvar daFetchAjaxTimeoutRunning = null;\nvar daFetchAjaxTimeoutFetchAfter = null;\nvar daAddressAcceptIncoming = false;\nvar daAddressAjaxTimeout = null;\nvar daAddressAjaxTimeoutRunning = null;\nvar daAddressAjaxTimeoutCallAfter = null;\nvar daShowHideHappened = false;\nvar daCheckinInterval = null;\nvar daInitialCheckinTimeout = null;\nvar daReloader = null;\nvar daDisable = null;\nvar daAutoColorScheme = true;\nvar daCurrentColorScheme;\nvar daUrlChangeColorScheme;\nvar daDesiredColorScheme;\nvar daAutoColorScheme = true;\nvar daThicknessScalingFactor;\nvar daJsEmbed;\nvar daAllowGoingBack;\nvar daSteps;\nvar daIsUser;\nvar daUserId;\nvar daChatStatus;\nvar daChatAvailable;\nvar daChatMode;\nvar daSendChanges;\nvar daBeingControlled;\nvar daInformed;\nvar daUsingGA;\nvar daUsingSegment;\nvar daDoAction;\nvar daQuestionID;\nvar daCsrf;\nvar daComboboxButtonLabel;\nvar daInterviewUrl;\nvar daLocationBar;\nvar daPostURL;\nvar daYamlFilename;\nvar daNotificationContainer;\nvar daNotificationMessage;\nvar daMessageLog;\nvar daPendingAnnouncement = false;\nvar daImageToPreLoad;\nvar daGetVariablesUrl;\nvar daLiveHelpMessage;\nvar daLiveHelpMessagePhone;\nvar daNewChatMessage;\nvar daLiveHelpAvailableMessage;\nvar daScreenBeingControlled;\nvar daScreenNoLongerBeingControlled;\nvar daPathRoot;\nvar daCheckinSeconds;\nvar daChatRoles;\nvar daChatPartnerRoles;\nvar daAllButtonClasses;\nvar daButtonStyle;\nvar daShouldForceFullScreen;\nvar daPageSep;\nvar daAreYouSure;\nvar daOtherUser;\nvar daOtherUsers;\nvar daOperator;\nvar daOperators;\nvar daCheckinUrl;\nvar daCheckoutUrl;\nvar daCurrencyDecimalPlaces;\nvar daShouldDebugReadabilityHelp;\nvar daShouldDebugReadabilityQuestion;\nvar daEmailAddressRequired;\nvar daNeedCompleteEmail;\nvar daDefaultPopoverTrigger;\nvar daToggleWord;\nvar daCheckinUrlWithInterview;\nvar daReloadAfterSeconds;\nvar daCustomItems;\nvar daTrackingEnabled;\n\nfunction dagoogleapicallback() {}\nfunction daForceFullScreen(data) {\n if (data.steps > 1 && window != top) {\n top.location.href = location.href;\n }\n}\nObject.defineProperty(String.prototype, \"daSprintf\", {\n value: function () {\n var args = Array.from(arguments),\n i = 0;\n function defaultNumber(iValue) {\n return iValue != undefined && !isNaN(iValue) ? iValue : \"0\";\n }\n function defaultString(iValue) {\n return iValue == undefined ? \"\" : \"\" + iValue;\n }\n return this.replace(\n /%%|%([+\\-])?([^1-9])?(\\d+)?(\\.\\d+)?([deEfhHioQqs])/g,\n function (match, sign, filler, scale, precision, type) {\n var strOut, space, value;\n var asNumber = false;\n if (match == \"%%\") return \"%\";\n if (i >= args.length) return match;\n value = args[i];\n while (Array.isArray(value)) {\n args.splice(i, 1);\n for (var j = i; value.length > 0; j++)\n args.splice(j, 0, value.shift());\n value = args[i];\n }\n i++;\n if (filler == undefined) filler = \" \"; // default\n if (scale == undefined && !isNaN(filler)) {\n scale = filler;\n filler = \" \";\n }\n if (sign == undefined) sign = \"sqQ\".indexOf(type) >= 0 ? \"+\" : \"-\"; // default\n if (scale == undefined) scale = 0; // default\n if (precision == undefined) precision = \".0\"; // default\n scale = parseInt(scale);\n precision = parseInt(precision.substr(1));\n switch (type) {\n case \"d\":\n case \"i\":\n // decimal integer\n asNumber = true;\n strOut = parseInt(defaultNumber(value));\n if (precision > 0) strOut += \".\" + \"0\".repeat(precision);\n break;\n case \"e\":\n case \"E\":\n // float in exponential notation\n asNumber = true;\n strOut = parseFloat(defaultNumber(value));\n if (precision == 0) strOut = strOut.toExponential();\n else strOut = strOut.toExponential(precision);\n if (type == \"E\") strOut = strOut.replace(\"e\", \"E\");\n break;\n case \"f\":\n // decimal float\n asNumber = true;\n strOut = parseFloat(defaultNumber(value));\n if (precision != 0) strOut = strOut.toFixed(precision);\n break;\n case \"o\":\n case \"h\":\n case \"H\":\n // Octal or Hexagesimal integer notation\n strOut =\n \"\\\\\" +\n (type == \"o\" ? \"0\" : type) +\n parseInt(defaultNumber(value)).toString(type == \"o\" ? 8 : 16);\n break;\n case \"q\":\n // single quoted string\n strOut = \"'\" + defaultString(value) + \"'\";\n break;\n case \"Q\":\n // double quoted string\n strOut = '\"' + defaultString(value) + '\"';\n break;\n default:\n // string\n strOut = defaultString(value);\n break;\n }\n if (typeof strOut != \"string\") strOut = \"\" + strOut;\n if ((space = strOut.length) < scale) {\n if (asNumber) {\n if (sign == \"-\") {\n if (strOut.indexOf(\"-\") < 0)\n strOut = filler.repeat(scale - space) + strOut;\n else\n strOut =\n \"-\" + filler.repeat(scale - space) + strOut.replace(\"-\", \"\");\n } else {\n if (strOut.indexOf(\"-\") < 0)\n strOut = \"+\" + filler.repeat(scale - space - 1) + strOut;\n else\n strOut =\n \"-\" + filler.repeat(scale - space) + strOut.replace(\"-\", \"\");\n }\n } else {\n if (sign == \"-\") strOut = filler.repeat(scale - space) + strOut;\n else strOut = strOut + filler.repeat(scale - space);\n }\n } else if (asNumber && sign == \"+\" && strOut.indexOf(\"-\") < 0)\n strOut = \"+\" + strOut;\n return strOut;\n },\n );\n },\n});\nObject.defineProperty(window, \"daSprintf\", {\n value: function (str, ...rest) {\n if (typeof str == \"string\")\n return String.prototype.daSprintf.apply(str, rest);\n return \"\";\n },\n});\nfunction daGoToAnchor(target) {\n if (daJsEmbed) {\n scrollTarget = $(target).first().position().top - 60;\n } else {\n scrollTarget = $(target).first().offset().top - 60;\n }\n if (scrollTarget != null) {\n if (daJsEmbed) {\n $(daTargetDiv).animate(\n {\n scrollTop: scrollTarget,\n },\n 500,\n );\n } else {\n $(\"html, body\").animate(\n {\n scrollTop: scrollTarget,\n },\n 500,\n );\n }\n }\n}\nfunction atou(b64) {\n return decodeURIComponent(escape(atob(b64)));\n}\nfunction utoa(data) {\n return btoa(unescape(encodeURIComponent(data)));\n}\nfunction dabtoa(str) {\n return window.utoa(str).replace(/[\\n=]/g, \"\");\n}\nfunction daatob(str) {\n return atou(str);\n}\nfunction hideTablist() {\n var anyTabs =\n $(\"#daChatAvailable\").is(\":visible\") ||\n $(\"daPhoneAvailable\").is(\":visible\") ||\n $(\"#dahelptoggle\").is(\":visible\");\n if (anyTabs) {\n $(\"#nav-bar-tab-list\").removeClass(\"dainvisible\");\n $(\"#daquestionlabel\").parent().removeClass(\"dainvisible\");\n } else {\n $(\"#nav-bar-tab-list\").addClass(\"dainvisible\");\n $(\"#daquestionlabel\").parent().addClass(\"dainvisible\");\n }\n}\nfunction getFields() {\n var allFields = [];\n for (var rawFieldName in daVarLookup) {\n if (daVarLookup.hasOwnProperty(rawFieldName)) {\n var fieldName = atou(rawFieldName);\n if (allFields.indexOf(fieldName) == -1) {\n allFields.push(fieldName);\n }\n }\n }\n return allFields;\n}\nvar daGetFields = getFields;\nfunction daAppendIfExists(fieldName, theArray) {\n var elem = $(\"[name='\" + fieldName + \"']\");\n if (elem.length > 0) {\n for (var i = 0; i < theArray.length; ++i) {\n if (theArray[i] == elem[0]) {\n return;\n }\n }\n theArray.push(elem[0]);\n }\n}\nfunction getField(fieldName, notInDiv) {\n if (daVarLookupCheckbox[fieldName]) {\n var n = daVarLookupCheckbox[fieldName].length;\n for (var i = 0; i < n; ++i) {\n var elem = daVarLookupCheckbox[fieldName][i].checkboxes[0].elem;\n if (!$(elem).prop(\"disabled\")) {\n var showifParents = $(elem).parents(\".dajsshowif,.dashowif\");\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, elem)) {\n continue;\n }\n return daVarLookupCheckbox[fieldName][i].elem;\n }\n }\n }\n }\n if (daVarLookupSelect[fieldName]) {\n var n = daVarLookupSelect[fieldName].length;\n for (var i = 0; i < n; ++i) {\n var elem = daVarLookupSelect[fieldName][i].select;\n if (!$(elem).prop(\"disabled\")) {\n var showifParents = $(elem).parents(\".dajsshowif,.dashowif\");\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, elem)) {\n continue;\n }\n return elem;\n }\n }\n }\n }\n var fieldNameEscaped = dabtoa(fieldName);\n var possibleElements = [];\n daAppendIfExists(fieldNameEscaped, possibleElements);\n if (daVarLookupMulti.hasOwnProperty(fieldNameEscaped)) {\n for (var i = 0; i < daVarLookupMulti[fieldNameEscaped].length; ++i) {\n daAppendIfExists(daVarLookupMulti[fieldNameEscaped][i], possibleElements);\n }\n }\n var returnVal = null;\n for (var i = 0; i < possibleElements.length; ++i) {\n if (\n !$(possibleElements[i]).prop(\"disabled\") ||\n $(possibleElements[i]).parents(\".file-input.is-locked\").length > 0\n ) {\n var showifParents = $(possibleElements[i]).parents(\n \".dajsshowif,.dashowif\",\n );\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, possibleElements[i])) {\n continue;\n }\n returnVal = possibleElements[i];\n }\n }\n }\n if (\n $(returnVal).hasClass(\"da-to-labelauty\") &&\n $(returnVal).parents(\"div.da-field-group\").length > 0\n ) {\n var fieldSet = $(returnVal).parents(\"div.da-field-group\")[0];\n if (\n !$(fieldSet).hasClass(\"da-field-checkbox\") &&\n !$(fieldSet).hasClass(\"da-field-checkboxes\")\n ) {\n return fieldSet;\n }\n }\n return returnVal;\n}\nvar daGetField = getField;\nfunction setChoices(fieldName, choices) {\n var elem = daGetField(fieldName);\n if (elem == null) {\n console.log(\"setChoices: reference to non-existent field \" + fieldName);\n return;\n }\n var isCombobox =\n $(elem).attr(\"type\") == \"hidden\" &&\n $(elem).parents(\".combobox-container\").length > 0;\n if (isCombobox) {\n var comboInput = $(elem)\n .parents(\".combobox-container\")\n .first()\n .find(\"input.combobox\")\n .first();\n var comboObject = daComboBoxes[$(comboInput).attr(\"id\")];\n var oldComboVal = comboObject.$target.val();\n elem = comboObject.$source;\n }\n if ($(elem).prop(\"tagName\") != \"SELECT\") {\n console.log(\"setField: field \" + fieldName + \" is not a dropdown field\");\n return;\n }\n var oldVal = $(elem).val();\n $(elem)\n .find(\"option[value!='']\")\n .each(function () {\n $(this).remove();\n });\n var n = choices.length;\n for (var i = 0; i < n; i++) {\n var opt = $(\"',\n );\n $('').appendTo(toggler);\n $(\n '' + daToggleWord + \"\",\n ).appendTo(toggler);\n } else {\n toggler = $(\n '',\n );\n $('').appendTo(toggler);\n $(\n '' + daToggleWord + \"\",\n ).appendTo(toggler);\n }\n toggler.appendTo(prev);\n toggler.on(\"click\", function (e) {\n var oThis = this;\n $(this)\n .find(\"svg\")\n .each(function () {\n if ($(this).attr(\"data-icon\") == \"caret-down\") {\n $(this).removeClass(\"fa-caret-down\");\n $(this).addClass(\"fa-caret-right\");\n $(this).attr(\"data-icon\", \"caret-right\");\n $(box).hide();\n $(oThis).attr(\"aria-pressed\", \"false\");\n $(box).toggleClass(\"danotshowing\");\n } else if ($(this).attr(\"data-icon\") == \"caret-right\") {\n $(this).removeClass(\"fa-caret-right\");\n $(this).addClass(\"fa-caret-down\");\n $(this).attr(\"data-icon\", \"caret-down\");\n $(box).show();\n $(oThis).attr(\"aria-pressed\", \"true\");\n $(box).toggleClass(\"danotshowing\");\n }\n });\n e.stopPropagation();\n e.preventDefault();\n return false;\n });\n }\n });\n $(\"body\").focus();\n if (!daJsEmbed && !isAndroid) {\n setTimeout(function () {\n var firstInput = $(\"#daform .da-field-container\")\n .not(\".da-field-container-note\")\n .first()\n .find(\"input, textarea, select\")\n .filter(\":visible\")\n .first();\n if (firstInput.length > 0 && $(firstInput).visible()) {\n $(firstInput).focus();\n var inputType = $(firstInput).attr(\"type\");\n if (\n $(firstInput).prop(\"tagName\") != \"SELECT\" &&\n inputType != \"checkbox\" &&\n inputType != \"radio\" &&\n inputType != \"hidden\" &&\n inputType != \"submit\" &&\n inputType != \"file\" &&\n inputType != \"range\" &&\n inputType != \"number\" &&\n inputType != \"date\" &&\n inputType != \"time\"\n ) {\n var strLength = $(firstInput).val().length * 2;\n if (strLength > 0) {\n try {\n $(firstInput)[0].setSelectionRange(strLength, strLength);\n } catch (err) {\n console.log(err.message);\n }\n }\n }\n } else if (daPendingAnnouncement) {\n daPendingAnnouncement = false;\n setTimeout(function () {\n var questionTitle = $(\"#daMainQuestion, #dasigtitle\")\n .filter(\":visible\")\n .first();\n if (questionTitle.length > 0 && $(questionTitle).visible()) {\n $(questionTitle).attr(\"tabindex\", \"-1\").focus();\n }\n }, 700);\n } else {\n var questionTitle = $(\"#daMainQuestion, #dasigtitle\")\n .filter(\":visible\")\n .first();\n if (questionTitle.length > 0 && $(questionTitle).visible()) {\n $(questionTitle).attr(\"tabindex\", \"-1\").focus();\n } else {\n var firstButton = $(\"#danavbar-collapse .nav-link\")\n .filter(\":visible\")\n .first();\n if (firstButton.length > 0 && $(firstButton).visible()) {\n $(firstButton).focus();\n }\n }\n }\n }, 15);\n }\n }\n $(\"input.dauncheckspecificothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n var theIds = $.parseJSON(atou($(this).data(\"unchecklist\")));\n var n = theIds.length;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).prop(\"checked\", false);\n $(elem).trigger(\"change\");\n }\n }\n });\n $(\"input.dauncheckspecificothers\").each(function () {\n var theIds = $.parseJSON(atou($(this).data(\"unchecklist\")));\n var n = theIds.length;\n var oThis = this;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(oThis).prop(\"checked\", false);\n $(oThis).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dauncheckothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckable,input.dacheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dacheckspecificothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n var theIds = $.parseJSON(atou($(this).data(\"checklist\")));\n var n = theIds.length;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).prop(\"checked\", true);\n $(elem).trigger(\"change\");\n }\n }\n });\n $(\"input.dacheckspecificothers\").each(function () {\n var theIds = $.parseJSON(atou($(this).data(\"checklist\")));\n var n = theIds.length;\n var oThis = this;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).on(\"change\", function () {\n if (!$(this).is(\":checked\")) {\n $(oThis).prop(\"checked\", false);\n $(oThis).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dacheckothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckable\").each(function () {\n if (!$(this).is(\":checked\")) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n });\n $(\"input.dauncheckothers\").each(function () {\n if (!$(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dauncheckable\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n } else {\n $(\"input.dacheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n var navMain = $(\"#danavbar-collapse\");\n navMain.on(\"click\", \"a\", null, function () {\n if (!$(this).hasClass(\"dropdown-toggle\")) {\n navMain.collapse(\"hide\");\n }\n });\n $(\"button[data-bs-target='#dahelp']\").on(\"shown.bs.tab\", function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n } else {\n window.scrollTo(0, 1);\n }\n $(\"#dahelptoggle\").removeClass(\"daactivetext\");\n $(\"#dahelptoggle\").blur();\n });\n $(\"#dasourcetoggle\").on(\"click\", function () {\n $(this).parent().toggleClass(\"active\");\n $(this).blur();\n });\n $(\"#dabackToQuestion\").click(function (event) {\n $(\"#daquestionlabel\").tab(\"show\");\n });\n daVarLookup = Object();\n daVarLookupRev = Object();\n daVarLookupMulti = Object();\n daVarLookupRevMulti = Object();\n daVarLookupOption = Object();\n if ($(\"input[name='_varnames']\").length) {\n the_hash = $.parseJSON(atou($(\"input[name='_varnames']\").val()));\n for (var key in the_hash) {\n if (the_hash.hasOwnProperty(key)) {\n daVarLookup[the_hash[key]] = key;\n daVarLookupRev[key] = the_hash[key];\n if (!daVarLookupMulti.hasOwnProperty(the_hash[key])) {\n daVarLookupMulti[the_hash[key]] = [];\n }\n daVarLookupMulti[the_hash[key]].push(key);\n if (!daVarLookupRevMulti.hasOwnProperty(key)) {\n daVarLookupRevMulti[key] = [];\n }\n daVarLookupRevMulti[key].push(the_hash[key]);\n }\n }\n }\n if ($(\"input[name='_checkboxes']\").length) {\n var patt = new RegExp(/\\[B['\"][^\\]]*['\"]\\]$/);\n var pattObj = new RegExp(/\\[O['\"][^\\]]*['\"]\\]$/);\n var pattRaw = new RegExp(/\\[R['\"][^\\]]*['\"]\\]$/);\n the_hash = $.parseJSON(atou($(\"input[name='_checkboxes']\").val()));\n for (var key in the_hash) {\n if (the_hash.hasOwnProperty(key)) {\n var checkboxName = atou(key);\n var baseName = checkboxName;\n if (patt.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[B?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[B?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(checkboxName);\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"['\" + convertedName + \"']\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameThree = utoa(\n baseName + '[\"' + convertedName + '\"]',\n ).replace(/[\\n=]/g, \"\");\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookup[daNameThree] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameThree)) {\n daVarLookupMulti[daNameThree] = [];\n }\n daVarLookupMulti[daNameThree].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n } else if (pattObj.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[O?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[O?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(atou(checkboxName));\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"['\" + convertedName + \"']\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameThree = utoa(\n baseName + '[\"' + convertedName + '\"]',\n ).replace(/[\\n=]/g, \"\");\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookup[daNameThree] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameThree)) {\n daVarLookupMulti[daNameThree] = [];\n }\n daVarLookupMulti[daNameThree].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n } else if (pattRaw.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[R?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[R?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(checkboxName);\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"[\" + convertedName + \"]\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n }\n }\n }\n }\n daShowIfInProcess = true;\n var daTriggerQueries = [];\n var daInputsSeen = {};\n function daOnlyUnique(value, index, self) {\n return self.indexOf(value) === index;\n }\n $(\".dajsshowif\").each(function () {\n var showIfDiv = this;\n var jsInfo = JSON.parse(atou($(this).data(\"jsshowif\")));\n var showIfSign = jsInfo[\"sign\"];\n var showIfMode = jsInfo[\"mode\"];\n var jsExpression = jsInfo[\"expression\"];\n jsInfo[\"vars\"].forEach(function (infoItem, i) {\n var showIfVars = [];\n var initShowIfVar = utoa(infoItem).replace(/[\\n=]/g, \"\");\n var initShowIfVarEscaped = initShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var elem = $(\"[name='\" + initShowIfVarEscaped + \"']\");\n if (elem.length > 0) {\n showIfVars.push(initShowIfVar);\n }\n if (daVarLookupMulti.hasOwnProperty(initShowIfVar)) {\n for (var j = 0; j < daVarLookupMulti[initShowIfVar].length; j++) {\n var altShowIfVar = daVarLookupMulti[initShowIfVar][j];\n var altShowIfVarEscaped = altShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var altElem = $(\"[name='\" + altShowIfVarEscaped + \"']\");\n if (altElem.length > 0 && !$.contains(this, altElem[0])) {\n showIfVars.push(altShowIfVar);\n }\n }\n }\n if (showIfVars.length == 0) {\n console.log(\"ERROR: reference to non-existent field \" + infoItem);\n }\n showIfVars.forEach(function (showIfVar) {\n var showIfVarEscaped = showIfVar.replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n var varToUse = infoItem;\n var showHideDiv = function (speed) {\n var elem = daGetField(varToUse);\n if (\n elem != null &&\n !$(elem)\n .parents(\".da-form-group\")\n .first()\n .is($(this).parents(\".da-form-group\").first())\n ) {\n return;\n }\n var resultt = eval(jsExpression);\n if (resultt) {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n }\n } else {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n }\n var leader = false;\n if (!daShowIfInProcess) {\n daShowIfInProcess = true;\n daInputsSeen = {};\n leader = true;\n }\n $(showIfDiv)\n .find(\":input\")\n .not(\"[type='file']\")\n .each(function () {\n if (!daInputsSeen.hasOwnProperty($(this).attr(\"id\"))) {\n $(this).trigger(\"change\");\n }\n daInputsSeen[$(this).attr(\"id\")] = true;\n });\n if (leader) {\n daShowIfInProcess = false;\n }\n };\n var showHideDivImmediate = function () {\n showHideDiv.apply(this, [null]);\n };\n var showHideDivFast = function () {\n showHideDiv.apply(this, [\"fast\"]);\n };\n daTriggerQueries.push(\"#\" + showIfVarEscaped);\n daTriggerQueries.push(\n \"input[type='radio'][name='\" + showIfVarEscaped + \"']\",\n );\n daTriggerQueries.push(\n \"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\",\n );\n $(\"#\" + showIfVarEscaped).change(showHideDivFast);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input.dafile[name='\" + showIfVarEscaped + \"']\").on(\n \"filecleared\",\n showHideDivFast,\n );\n $(\"#\" + showIfVarEscaped).on(\"daManualTrigger\", showHideDivImmediate);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n });\n });\n });\n $(\".dashowif\").each(function () {\n var showIfVars = [];\n var showIfSign = $(this).data(\"showif-sign\");\n var showIfMode = parseInt($(this).data(\"showif-mode\"));\n var initShowIfVar = $(this).data(\"showif-var\");\n var varName = atou(initShowIfVar);\n var elem = [];\n if (varName.endsWith(\"[nota]\") || varName.endsWith(\"[aota]\")) {\n var signifier = varName.endsWith(\"[nota]\") ? \"nota\" : \"aota\";\n var cbVarName = varName.replace(/\\[[na]ota\\]$/, \"\");\n $(\"div.da-field-group.da-field-checkboxes\").each(function () {\n var thisVarName = atou($(this).data(\"varname\"));\n if (thisVarName == cbVarName) {\n elem = $(this).find(\"input.da\" + signifier + \"-checkbox\");\n initShowIfVar = $(elem).attr(\"name\");\n }\n });\n } else {\n var initShowIfVarEscaped = initShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n elem = $(\"[name='\" + initShowIfVarEscaped + \"']\");\n }\n if (elem.length > 0) {\n showIfVars.push(initShowIfVar);\n }\n if (daVarLookupMulti.hasOwnProperty(initShowIfVar)) {\n var n = daVarLookupMulti[initShowIfVar].length;\n for (var i = 0; i < n; i++) {\n var altShowIfVar = daVarLookupMulti[initShowIfVar][i];\n var altShowIfVarEscaped = altShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var altElem = $(\"[name='\" + altShowIfVarEscaped + \"']\");\n if (altElem.length > 0 && !$.contains(this, altElem[0])) {\n showIfVars.push(altShowIfVar);\n }\n }\n }\n var showIfVal = $(this).data(\"showif-val\");\n var saveAs = $(this).data(\"saveas\");\n var showIfDiv = this;\n showIfVars.forEach(function (showIfVar) {\n var showIfVarEscaped = showIfVar.replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n var showHideDiv = function (speed) {\n var elem = daGetField(varName, showIfDiv);\n if (\n elem != null &&\n !$(elem)\n .parents(\".da-form-group\")\n .first()\n .is($(this).parents(\".da-form-group\").first())\n ) {\n return;\n }\n var theVal;\n var showifParents = $(this).parents(\".dashowif\");\n if (\n showifParents.length !== 0 &&\n !($(showifParents[0]).data(\"isVisible\") == \"1\")\n ) {\n theVal = \"\";\n //console.log(\"Setting theVal to blank.\");\n } else if ($(this).attr(\"type\") == \"checkbox\") {\n theVal = $(\"input[name='\" + showIfVarEscaped + \"']:checked\").val();\n if (typeof theVal == \"undefined\") {\n //console.log('manually setting checkbox value to False');\n theVal = \"False\";\n }\n } else if ($(this).attr(\"type\") == \"radio\") {\n theVal = $(\"input[name='\" + showIfVarEscaped + \"']:checked\").val();\n if (typeof theVal == \"undefined\") {\n theVal = \"\";\n } else if (\n theVal != \"\" &&\n $(\"input[name='\" + showIfVarEscaped + \"']:checked\").hasClass(\n \"daobject\",\n )\n ) {\n try {\n theVal = atou(theVal);\n } catch (e) {}\n }\n } else {\n theVal = $(this).val();\n if (theVal != \"\" && $(this).hasClass(\"daobject\")) {\n try {\n theVal = atou(theVal);\n } catch (e) {}\n }\n }\n // console.log(\"There was a trigger on \" + $(this).attr('id') + \". This handler was installed based on varName \" + varName + \", showIfVar \" + atou(showIfVar) + \". This handler was installed for the benefit of the .dashowif div encompassing the field for \" + atou(saveAs) + \". The comparison value is \" + String(showIfVal) + \" and the current value of the element on the screen is \" + String(theVal) + \".\");\n if (daShowIfCompare(theVal, showIfVal)) {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n var firstChild = $(showIfDiv).children()[0];\n if (\n !$(firstChild).hasClass(\"dacollectextra\") ||\n $(firstChild).is(\":visible\")\n ) {\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv).find(\"input, textarea, select\").prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n }\n } else {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv).find(\"input, textarea, select\").prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n var firstChild = $(showIfDiv).children()[0];\n if (\n !$(firstChild).hasClass(\"dacollectextra\") ||\n $(firstChild).is(\":visible\")\n ) {\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n }\n }\n var leader = false;\n if (!daShowIfInProcess) {\n daShowIfInProcess = true;\n daInputsSeen = {};\n leader = true;\n }\n $(showIfDiv)\n .find(\":input\")\n .not(\"[type='file']\")\n .each(function () {\n if (!daInputsSeen.hasOwnProperty($(this).attr(\"id\"))) {\n $(this).trigger(\"change\");\n }\n daInputsSeen[$(this).attr(\"id\")] = true;\n });\n if (leader) {\n daShowIfInProcess = false;\n }\n };\n var showHideDivImmediate = function () {\n showHideDiv.apply(this, [null]);\n };\n var showHideDivFast = function () {\n showHideDiv.apply(this, [\"fast\"]);\n };\n daTriggerQueries.push(\"#\" + showIfVarEscaped);\n daTriggerQueries.push(\n \"input[type='radio'][name='\" + showIfVarEscaped + \"']\",\n );\n daTriggerQueries.push(\n \"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\",\n );\n $(\"#\" + showIfVarEscaped).change(showHideDivFast);\n $(\"#\" + showIfVarEscaped).on(\"daManualTrigger\", showHideDivImmediate);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input.dafile[name='\" + showIfVarEscaped + \"']\").on(\n \"filecleared\",\n showHideDivFast,\n );\n });\n });\n function daTriggerAllShowHides() {\n var daUniqueTriggerQueries = daTriggerQueries.filter(daOnlyUnique);\n var daFirstTime = true;\n var daTries = 0;\n while ((daFirstTime || daShowHideHappened) && ++daTries < 100) {\n daShowHideHappened = false;\n daFirstTime = false;\n var n = daUniqueTriggerQueries.length;\n for (var i = 0; i < n; ++i) {\n $(daUniqueTriggerQueries[i]).trigger(\"daManualTrigger\");\n }\n }\n if (daTries >= 100) {\n console.log(\"Too many contradictory 'show if' conditions\");\n }\n }\n if (daTriggerQueries.length > 0) {\n daTriggerAllShowHides();\n }\n $(\".danavlink\").last().addClass(\"thelast\");\n $(\".danavlink\").each(function () {\n if ($(this).hasClass(\"btn\") && !$(this).hasClass(\"danotavailableyet\")) {\n var the_a = $(this);\n var the_delay = 1000 + 250 * parseInt($(this).data(\"index\"));\n setTimeout(function () {\n $(the_a).removeClass(daButtonStyle + \"secondary\");\n if ($(the_a).hasClass(\"active\")) {\n $(the_a).addClass(daButtonStyle + \"success\");\n } else {\n $(the_a).addClass(daButtonStyle + \"warning\");\n }\n }, the_delay);\n }\n });\n daShowIfInProcess = false;\n if (!daObserverMode) {\n $(\"#daSend\").click(daSender);\n if (daChatAvailable == \"unavailable\") {\n daChatStatus = \"off\";\n }\n if (daChatAvailable == \"observeonly\") {\n daChatStatus = \"observeonly\";\n }\n if (\n (daChatStatus == \"off\" || daChatStatus == \"observeonly\") &&\n daChatAvailable == \"available\"\n ) {\n daChatStatus = \"waiting\";\n }\n daDisplayChat();\n if (daBeingControlled) {\n daShowControl(\"fast\");\n }\n if (daChatStatus == \"ready\" || daBeingControlled) {\n daInitializeSocket();\n }\n if (daInitialized == false && daCheckinSeconds > 0) {\n // why was this set to always retrieve the chat log?\n setTimeout(function () {\n //console.log(\"daInitialize call to chat_log in checkin\");\n $.ajax({\n type: \"POST\",\n url: daCheckinUrlWithInterview,\n beforeSend: addCsrfHeader,\n xhrFields: {\n withCredentials: true,\n },\n data: $.param({ action: \"chat_log\", ajax: \"1\", csrf_token: daCsrf }),\n success: daChatLogCallback,\n dataType: \"json\",\n });\n }, 200);\n }\n if (daInitialized == true) {\n //console.log(\"Publishing from memory\");\n $(\"#daCorrespondence\").html(\"\");\n for (var i = 0; i < daChatHistory.length; i++) {\n daPublishMessage(daChatHistory[i]);\n }\n }\n if (daChatStatus != \"off\") {\n daSendChanges = true;\n } else {\n if (daDoAction == null) {\n daSendChanges = false;\n } else {\n daSendChanges = true;\n }\n }\n }\n if (daSendChanges || daObserverMode) {\n $(\"#daform\").each(function () {\n $(this).find(\":input\").change(daOnChange);\n });\n }\n daInitialized = true;\n daShowingHelp = 0;\n daSubmitter = null;\n $(\"#daflash .alert-success\").each(function () {\n var oThis = this;\n setTimeout(function () {\n $(oThis).hide(300, function () {\n $(self).remove();\n });\n }, 3000);\n });\n if (doScroll && !daObserverMode) {\n setTimeout(function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n if (daSteps > 1) {\n $(daTargetDiv)[0].scrollIntoView();\n }\n } else {\n window.scrollTo(0, 1);\n }\n }, 20);\n }\n if (daShowingSpinner && !daWaitPage) {\n daHideSpinner();\n }\n if (!daObserverMode) {\n if (daCheckinInterval != null) {\n clearInterval(daCheckinInterval);\n }\n if (daCheckinSeconds > 0 && !daWaitPage) {\n daInitialCheckinTimeout = setTimeout(daInitialCheckin, 100);\n daCheckinInterval = setInterval(daCheckin, daCheckinSeconds);\n }\n daShowNotifications();\n if (daUsingGA) {\n daPageview();\n }\n if (daUsingSegment) {\n daSegmentEvent();\n }\n hideTablist();\n }\n}\nfunction daUpdateHeight() {\n $(\".dagooglemap\").each(function () {\n var size = $(this).width();\n $(this).css(\"height\", size);\n });\n}\nfunction daConfigureJqueryFuncs() {\n $.validator.setDefaults({\n ignore: \".danovalidation\",\n highlight: function (element) {\n $(element).closest(\".da-form-group\").addClass(\"da-group-has-error\");\n $(element).addClass(\"is-invalid\");\n },\n unhighlight: function (element) {\n $(element).closest(\".da-form-group\").removeClass(\"da-group-has-error\");\n $(element).removeClass(\"is-invalid\");\n },\n errorElement: \"span\",\n errorClass: \"da-has-error invalid-feedback\",\n errorPlacement: function (error, element) {\n $(error).addClass(\"invalid-feedback\");\n var elementName = $(element).attr(\"name\");\n var idOfErrorSpan = $(element).attr(\"id\") + \"-error\";\n $(\"#\" + idOfErrorSpan).remove();\n $(error).attr(\"id\", idOfErrorSpan);\n $(element).attr(\"aria-invalid\", \"true\");\n $(element).attr(\"aria-errormessage\", idOfErrorSpan);\n var lastInGroup = $.map(\n daValidationRules[\"groups\"],\n function (thefields, thename) {\n var fieldsArr;\n if (thefields.indexOf(elementName) >= 0) {\n fieldsArr = thefields.split(\" \");\n return fieldsArr[fieldsArr.length - 1];\n } else {\n return null;\n }\n },\n )[0];\n if (element.hasClass(\"dainput-embedded\")) {\n error.insertAfter(element);\n } else if (element.hasClass(\"dafile-embedded\")) {\n error.insertAfter(element);\n } else if (element.hasClass(\"daradio-embedded\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dacheckbox-embedded\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dauncheckable\") && lastInGroup) {\n $(\"input[name='\" + lastInGroup + \"']\")\n .parent()\n .append(error);\n } else if (element.parent().hasClass(\"combobox-container\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dafile\")) {\n var fileContainer = $(element).parents(\".file-input\").first();\n if (fileContainer.length > 0) {\n $(fileContainer).append(error);\n } else {\n error.insertAfter(element.parent());\n }\n } else if (element.parent(\".input-group\").length) {\n error.insertAfter(element.parent());\n } else if (element.hasClass(\"da-active-invisible\")) {\n var choice_with_help = $(element).parents(\".dachoicewithhelp\").first();\n if (choice_with_help.length > 0) {\n $(choice_with_help).parent().append(error);\n } else {\n element.parent().append(error);\n }\n } else if (element.hasClass(\"danon-nota-checkbox\")) {\n element.parents(\"div.da-field-group\").append(error);\n } else {\n error.insertAfter(element);\n }\n },\n });\n $.validator.addMethod(\"datetime\", function (a, b) {\n return true;\n });\n $.validator.addMethod(\"ajaxrequired\", function (value, element, params) {\n var realElement = $(\"#\" + $(element).attr(\"name\") + \"combobox\");\n var realValue = $(realElement).val();\n if (!$(realElement).parent().is(\":visible\")) {\n return true;\n }\n if (realValue == null || realValue.replace(/\\s/g, \"\") == \"\") {\n return false;\n }\n return true;\n });\n $.validator.addMethod(\"checkone\", function (value, element, params) {\n var number_needed = params[0];\n var css_query = params[1];\n if ($(css_query).length >= number_needed) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"checkatleast\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length >= params[1]) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"checkatmost\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length > params[1]) {\n return false;\n } else {\n return true;\n }\n });\n $.validator.addMethod(\"checkexactly\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length != params[1]) {\n return false;\n } else {\n return true;\n }\n });\n $.validator.addMethod(\"selectexactly\", function (value, element, params) {\n if ($(element).find(\"option:selected\").length == params[0]) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"mindate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var comparator = new Date(params);\n if (date >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxdate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var comparator = new Date(params);\n if (date <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxdate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var before_comparator = new Date(params[0]);\n var after_comparator = new Date(params[1]);\n if (date >= before_comparator && date <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"mintime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var comparator = new Date(\"1970-01-01T\" + params + \"Z\");\n if (time >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxtime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var comparator = new Date(\"1970-01-01T\" + params + \"Z\");\n if (time <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxtime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var before_comparator = new Date(\"1970-01-01T\" + params[0] + \"Z\");\n var after_comparator = new Date(\"1970-01-01T\" + params[1] + \"Z\");\n if (time >= before_comparator && time <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"mindatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var comparator = new Date(params + \"Z\");\n if (datetime >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxdatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var comparator = new Date(params + \"Z\");\n if (datetime <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxdatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var before_comparator = new Date(params[0] + \"Z\");\n var after_comparator = new Date(params[1] + \"Z\");\n if (datetime >= before_comparator && datetime <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxuploadsize\", function (value, element, param) {\n try {\n var limit = parseInt(param) - 2000;\n if (limit <= 0) {\n return true;\n }\n var maxImageSize;\n if ($(element).data(\"maximagesize\")) {\n maxImageSize =\n parseInt($(element).data(\"maximagesize\")) *\n parseInt($(element).data(\"maximagesize\")) *\n 2;\n } else {\n maxImageSize = 0;\n }\n if ($(element).attr(\"type\") === \"file\") {\n if (element.files && element.files.length) {\n var totalSize = 0;\n for (i = 0; i < element.files.length; i++) {\n if (\n maxImageSize > 0 &&\n element.files[i].size > 0.2 * maxImageSize &&\n element.files[i].type.match(/image.*/) &&\n !(element.files[i].type.indexOf(\"image/svg\") == 0)\n ) {\n totalSize += maxImageSize;\n } else {\n totalSize += element.files[i].size;\n }\n }\n if (totalSize > limit) {\n return false;\n }\n }\n return true;\n }\n } catch (e) {}\n return false;\n });\n}\nvar dataLayer = (window.dataLayer = window.dataLayer || []);\nfunction gtag() {\n dataLayer.push(arguments);\n}\nfunction daPageview() {\n var idToUse = daQuestionID[\"id\"];\n if (daQuestionID[\"ga\"] != undefined && daQuestionID[\"ga\"] != null) {\n idToUse = daQuestionID[\"ga\"];\n }\n if (idToUse != null) {\n idToUse = idToUse.replace(/[^A-Za-z0-9]+/g, \"_\");\n if (!daGAConfigured) {\n var opts = { send_page_view: false };\n if (daSecureCookies) {\n opts[\"cookie_flags\"] = \"SameSite=None;Secure\";\n }\n for (var i = 0; i < daGaIds.length; i++) {\n gtag(\"config\", daGaIds[i], opts);\n daGAConfigured = true;\n }\n }\n gtag(\n \"set\",\n \"page_path\",\n daInterviewPackage + \"/\" + daInterviewFilename + \"/\" + idToUse,\n );\n gtag(\"event\", \"page_view\", {\n page_path: daInterviewPackage + \"/\" + daInterviewFilename + \"/\" + idToUse,\n });\n }\n}\nfunction daStopPushChanges() {\n if (daObserverChangesInterval != null) {\n clearInterval(daObserverChangesInterval);\n }\n}\nfunction daResetPushChanges() {\n if (daObserverChangesInterval != null) {\n clearInterval(daObserverChangesInterval);\n }\n daObserverChangesInterval = setInterval(daPushChanges, 6000);\n}\nfunction daReadyFunction() {\n daInitialize(1);\n //console.log(\"ready: replaceState \" + daSteps);\n if (!daJsEmbed && !daIframeEmbed) {\n history.replaceState(\n { steps: daSteps },\n \"\",\n daLocationBar + daPageSep + daSteps,\n );\n }\n var daReloadAfter = daReloadAfterSeconds;\n if (daReloadAfter > 0) {\n daReloader = setTimeout(function () {\n daRefreshSubmit();\n }, daReloadAfter);\n }\n if (daUsingGA && !daObserverMode) {\n gtag(\"js\", new Date());\n }\n window.onpopstate = function (event) {\n if (\n event.state != null &&\n event.state.steps < daSteps &&\n daAllowGoingBack\n ) {\n $(\"#dabackbutton\").submit();\n }\n };\n $(window).bind(\"unload\", function () {\n if (!daObserverMode) {\n daStopCheckingIn();\n }\n if (daSocket != null && daSocket.connected) {\n //console.log('Terminating interview socket because window unloaded');\n daSocket.emit(\"terminate\");\n }\n });\n var daDefaultAllowList = bootstrap.Tooltip.Default.allowList;\n daDefaultAllowList[\"*\"].push(\"style\");\n daDefaultAllowList[\"a\"].push(\"style\");\n daDefaultAllowList[\"img\"].push(\"style\");\n if (daJsEmbed) {\n $.ajax({\n type: \"POST\",\n url: daPostURL,\n beforeSend: addCsrfHeader,\n xhrFields: {\n withCredentials: true,\n },\n data: \"csrf_token=\" + daCsrf + \"&ajax=1\",\n success: function (data) {\n setTimeout(function () {\n daProcessAjax(data, $(\"#daform\"), 0);\n }, 0);\n },\n error: function (xhr, status, error) {\n setTimeout(function () {\n daProcessAjaxError(xhr, status, error);\n }, 0);\n },\n });\n }\n if (daObserverMode) {\n if (\n location.protocol === \"http:\" ||\n document.location.protocol === \"http:\"\n ) {\n daSocket = io.connect(\"http://\" + document.domain + \"/observer\", {\n path: daRootUrl + \"/ws/socket.io\",\n query: \"i=\" + daYamlFilename,\n });\n }\n if (\n location.protocol === \"https:\" ||\n document.location.protocol === \"https:\"\n ) {\n daSocket = io.connect(\"https://\" + document.domain + \"/observer\", {\n path: daRootUrl + \"/ws/socket.io\",\n query: \"i=\" + daYamlFilename,\n });\n }\n if (typeof daSocket !== \"undefined\") {\n daSocket.on(\"connect\", function () {\n //console.log(\"Connected!\");\n daSocket.emit(\"observe\", {\n uid: daUid,\n i: daYamlFilename,\n userid: daUserObserved,\n });\n daConnected = true;\n });\n daSocket.on(\"terminate\", function () {\n //console.log(\"Terminating socket\");\n daSocket.disconnect();\n });\n daSocket.on(\"disconnect\", function () {\n //console.log(\"Disconnected socket\");\n //daSocket = null;\n });\n daSocket.on(\"stopcontrolling\", function (data) {\n window.parent.daStopControlling(data.key);\n });\n daSocket.on(\"start_being_controlled\", function (data) {\n //console.log(\"Got start_being_controlled\");\n daConfirmed = true;\n daPushChanges();\n window.parent.daGotConfirmation(data.key);\n });\n daSocket.on(\"abortcontrolling\", function (data) {\n //console.log(\"Got abortcontrolling\");\n //daSendChanges = false;\n //daConfirmed = false;\n //daStopPushChanges();\n window.parent.daAbortControlling(data.key);\n });\n daSocket.on(\"noconnection\", function (data) {\n //console.log(\"warning: no connection\");\n if (daNoConnectionCount++ > 2) {\n //console.log(\"error: no connection\");\n window.parent.daStopControlling(data.key);\n }\n });\n daSocket.on(\"newpage\", function (incoming) {\n //console.log(\"Got newpage\")\n var data = incoming.obj;\n $(daTargetDiv).html(data.body);\n if (data.message_log) {\n var srMessages = data.message_log.filter(function(m) {\n return m.priority === 'info' || m.priority === 'success' || m.priority === 'warning' || m.priority === 'danger';\n });\n if (srMessages.length > 0) {\n $(\"#daSrAnnouncement\").text(srMessages.map(function(m) { return m.message; }).join(' '));\n daPendingAnnouncement = true;\n }\n }\n $(daTargetDiv).parent().removeClass();\n $(daTargetDiv).parent().addClass(data.bodyclass);\n daInitialize(1);\n for (var i = 0; i < data.extra_scripts.length; i++) {\n daEvalExtraScript(data.extra_scripts[i]);\n }\n for (var i = 0; i < data.extra_css.length; i++) {\n $(\"head\").append(data.extra_css[i]);\n }\n document.title = data.browser_title;\n if ($(\"html\").attr(\"lang\") != data.lang) {\n $(\"html\").attr(\"lang\", data.lang);\n }\n daPushChanges();\n });\n daSocket.on(\"pushchanges\", function (data) {\n //console.log(\"Got pushchanges: \" + JSON.stringify(data));\n var valArray = Object();\n var values = data.parameters;\n for (var i = 0; i < values.length; i++) {\n valArray[values[i].name] = values[i].value;\n }\n $(\"#daform\").each(function () {\n $(this)\n .find(\":input\")\n .each(function () {\n var type = $(this).attr(\"type\");\n var id = $(this).attr(\"id\");\n var name = $(this).attr(\"name\");\n if (type == \"checkbox\") {\n if (name in valArray) {\n if (valArray[name] == \"True\") {\n if ($(this).prop(\"checked\") != true) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n } else if (type == \"radio\") {\n if (name in valArray) {\n if (valArray[name] == $(this).val()) {\n if ($(this).prop(\"checked\") != true) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n }\n } else if ($(this).data().hasOwnProperty(\"sliderMax\")) {\n $(this).slider(\"setValue\", parseInt(valArray[name]));\n } else {\n if (name in valArray) {\n $(this).val(valArray[name]);\n }\n }\n });\n });\n });\n }\n daObserverChangesInterval = setInterval(daPushChanges, daCheckinSeconds);\n }\n $(document).trigger(\"daPageLoad\");\n}\n\nfunction daSetPosition(position) {\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n latitude: position.coords.latitude,\n longitude: position.coords.longitude,\n });\n}\n\nfunction daAddListenersFor(elementId) {\n $('[name=\"' + elementId + '\"]').change(function () {\n if ($(this).attr(\"type\") == \"checkbox\" || $(this).attr(\"type\") == \"radio\") {\n theVal = $('[name=\"' + elementId + '\"]:checked').val();\n } else {\n theVal = $(this).val();\n }\n var n = 0;\n if ($(this).data(\"disableothers\")) {\n var id_list = JSON.parse(\n decodeURIComponent(escape(atob($(this).data(\"disableothers\")))),\n );\n n = id_list.length;\n }\n if (n) {\n for (var i = 0; i < n; ++i) {\n var theElementId = id_list[i].replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n if (theVal == null || theVal == \"\") {\n daDisableIfNotHidden(\n \"#daform [name='\" + theElementId + \"']:not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform [id='\" + theElementId + \"']:not([type=hidden])\",\n false,\n );\n } else {\n daDisableIfNotHidden(\n \"#daform [name='\" + theElementId + \"']:not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform [id='\" + theElementId + \"']:not([type=hidden])\",\n true,\n );\n }\n }\n } else {\n if (theVal == null || theVal == \"\") {\n daDisableIfNotHidden(\n \"#daform input:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform select:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform textarea:not([name='\" + elementId + \"']):not([type=hidden])\",\n false,\n );\n } else {\n daDisableIfNotHidden(\n \"#daform input:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform select:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform textarea:not([name='\" + elementId + \"']):not([type=hidden])\",\n true,\n );\n }\n }\n });\n $(\"[data-disableothers]\").trigger(\"change\");\n}\n\nfunction daShowError(error) {\n switch (error.code) {\n case error.PERMISSION_DENIED:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"User denied the request for Geolocation\",\n });\n console.log(\"User denied the request for Geolocation.\");\n break;\n case error.POSITION_UNAVAILABLE:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"Location information is unavailable\",\n });\n console.log(\"Location information is unavailable.\");\n break;\n case error.TIMEOUT:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"The request to get user location timed out\",\n });\n console.log(\"The request to get user location timed out.\");\n break;\n case error.UNKNOWN_ERROR:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"An unknown error occurred\",\n });\n console.log(\"An unknown error occurred.\");\n break;\n }\n}\n"],"names":["$","document","addEventListener","jQuery","noConflict","daJsEmbed","daTargetDiv","daPreloadImage","daImageToPreLoad","daAutoColorScheme","window","matchMedia","matches","daDesiredColorScheme","daCurrentColorScheme","documentElement","setAttribute","ajax","type","url","daUrlChangeColorScheme","xhrFields","withCredentials","data","success","scheme","error","xhr","status","console","log","dataType","ready","daReadyFunction","daObserverMode","daUpdateHeight","resize","daConfigureJqueryFuncs","i","daInitialExtraScripts","length","daEvalExtraScript","daCustomItems","daGlobalEval","js","e","datatype","stack","daColor","daWindowWidth","daTheWidth","daAspectRatio","daTheBorders","daSignaturePad","daWaitPage","daInitializeSignature","penColor","defaultImage","daNewCanvas","on","daResizeCanvas","click","preventDefault","isEmpty","getElementById","value","removeClass","setTimeout","addClass","attr","daSaveCanvas","width","dataURL","toDataURL","daSpinnerTimeout","daShowSpinner","daPost","da_success","da_the_image","da_ajax","cwidth","contentwidth","outerWidth","cheight","otherHeights","outerHeight","height","canvas","html","daThicknessScalingFactor","SignaturePad","querySelector","fromDataURL","ratio","xOffset","yOffset","minWidth","maxWidth","scrollTo","daSteps","scrollIntoView","params","key","hasOwnProperty","hiddenField","submit","isCanvasSupported","elem","createElement","getContext","daAutocomplete","Object","daWaitForGoogle","waitForPlaces","Promise","let","attempts","maxAttempts","interval","setInterval","found","google","maps","undefined","Error","places","clearInterval","resolve","daInitAutocomplete","info","id","opts","suggestions","async","daInitAutocompleteOld","await","Autocomplete","event","addListener","daFillInAddressFor","daFillInAddressOld","daInitMap","daMapInfo","googleLoaded","importLibrary","timePeriod","map_info_length","the_map","bounds","LatLngBounds","daAddMap","center","latitude","longitude","marker_length","markers","show_marker","j","new_marker","daAddMarker","extend","LatLng","position","lat","lng","map","fitBounds","map_num","center_lat","center_lon","Map","zoom","mapTypeId","MapTypeId","ROADMAP","mapId","infowindow","InfoWindow","marker_info","AdvancedMarkerElement","PinElement","marker","content","icon","element","setContent","open","daFillInAddress","origId","place","daVarLookupRev","baseVarname","atob","replace","re","RegExp","componentTrans","administrative_area_level_1","administrative_area_level_2","alternatives","fieldsToClear","idForPart","each","the_id","this","field_name","indexOf","m","exec","component","savedValues","toChange","addressComponents","addressType","types","val","push","the_address","theZipCode","location","fieldName","altList","fieldsToGet","fields","pythonVar","jsVar","underscoreToCamel","Array","isArray","transformedObject","JSON","parse","stringify","entries","forEach","jsSubVar","pythonSubVar","camelToUnderscore","jsonIfObject","trigger","base_varname","componentForm","locality","sublocality","administrative_area_level_3","country","postal_code","fields_to_fill","id_for_part","getPlace","street_number","route","address_components","adr_address","business_status","formatted_address","formatted_phone_number","geometry","international_phone_number","name","place_id","price_level","rating","utc_offset_minutes","vicinity","website","daGeolocate","navigator","geolocation","getCurrentPosition","coords","circle","Circle","radius","accuracy","setBounds","getBounds","daRequestPending","isAndroid","test","userAgent","toLowerCase","daWhichButton","daSocket","daChatHistory","daCheckinCode","daCheckingIn","daShowingHelp","daIframeEmbed","parent","daChatPartnersAvailable","daPhoneAvailable","daInitialized","daConfirmed","daNoConnectionCount","daObserverChangesInterval","daNotYetScrolled","daInformedChanged","daShowingSpinner","daSubmitter","daGAConfigured","daShowIfInProcess","daFieldsToSkip","daVarLookup","daVarLookupMulti","daVarLookupRevMulti","daVarLookupSelect","daVarLookupCheckbox","daVarLookupOption","daComboBoxes","eval","daFetchAcceptIncoming","daFetchAjaxTimeout","daFetchAjaxTimeoutRunning","daFetchAjaxTimeoutFetchAfter","daAddressAcceptIncoming","daAddressAjaxTimeout","daAddressAjaxTimeoutRunning","daAddressAjaxTimeoutCallAfter","daShowHideHappened","daCheckinInterval","daInitialCheckinTimeout","daReloader","daDisable","daAllowGoingBack","daIsUser","daUserId","daChatStatus","daChatAvailable","daChatMode","daSendChanges","daBeingControlled","daInformed","daUsingGA","daUsingSegment","daDoAction","daQuestionID","daCsrf","daComboboxButtonLabel","daInterviewUrl","daLocationBar","daPostURL","daYamlFilename","daNotificationContainer","daNotificationMessage","daMessageLog","daPendingAnnouncement","daGetVariablesUrl","daLiveHelpMessage","daLiveHelpMessagePhone","daNewChatMessage","daLiveHelpAvailableMessage","daScreenBeingControlled","daScreenNoLongerBeingControlled","daPathRoot","daCheckinSeconds","daChatRoles","daChatPartnerRoles","daAllButtonClasses","daButtonStyle","daShouldForceFullScreen","daPageSep","daAreYouSure","daOtherUser","daOtherUsers","daOperator","daOperators","daCheckinUrl","daCheckoutUrl","daCurrencyDecimalPlaces","daShouldDebugReadabilityHelp","daShouldDebugReadabilityQuestion","daEmailAddressRequired","daNeedCompleteEmail","daDefaultPopoverTrigger","daToggleWord","daCheckinUrlWithInterview","daReloadAfterSeconds","daTrackingEnabled","dagoogleapicallback","daForceFullScreen","steps","top","href","defineProperty","String","prototype","args","from","arguments","defaultNumber","iValue","isNaN","defaultString","match","sign","filler","scale","precision","strOut","space","asNumber","splice","shift","parseInt","substr","repeat","parseFloat","toExponential","toFixed","toString","str","rest","daSprintf","apply","daGoToAnchor","target","scrollTarget","first","offset","animate","scrollTop","atou","b64","decodeURIComponent","escape","utoa","btoa","unescape","encodeURIComponent","dabtoa","daatob","hideTablist","anyTabs","is","getFields","allFields","rawFieldName","daGetFields","daAppendIfExists","theArray","getField","notInDiv","n","checkboxes","prop","showifParents","parents","contains","select","fieldNameEscaped","possibleElements","returnVal","hasClass","fieldSet","daGetField","setChoices","choices","isCombobox","comboInput","find","comboObject","oldComboVal","$target","$source","oldVal","remove","opt","text","append","refresh","clearTarget","daSetField","daSetChoices","setField","theValue","wasSet","manualSelect","theVal","newVal","oldValue","option","changed","thisVal","cbSelected","selectedVals","da_val","daFormAsJSON","isInitial","formData","serializeArray","inArray","isChangedElem","img","Image","src","daShowHelpTab","tab","addCsrfHeader","settings","setRequestHeader","flash","message","priority","clear","empty","newElement","hide","da_flash","url_action","action","JSON_stringify","da_url_action","action_call","callback","forgetPrior","readOnly","_action","_arguments","beforeSend","param","_readonly","csrf_token","daProcessAjaxError","da_action_call","url_action_call","action_perform","daProcessAjax","da_action_perform","url_action_perform","action_perform_with_next","next_data","_next_action_to_set","da_action_perform_with_next","url_action_perform_with_next","get_interview_variables","da_get_interview_variables","daInformAbout","subject","chatMessage","waitPeriod","popover","placement","container","title","removeAttr","daPublishMessage","newDiv","is_self","daScrollChat","chatScroller","scrollHeight","daScrollChatFast","daSender","emit","focus","daShowControl","mode","css","appendTo","slideDown","show","daHideControl","slideUp","daInitializeSocket","connected","connect","protocol","io","domain","path","query","daDisplayChat","daPushChanges","arg","messages","disconnect","daTurnOnChat","numpartners","daCloseChat","incoming","obj","valArray","values","parameters","slider","clicked","daUnfakeHtmlResponse","daTurnOnControl","daResetPushChanges","uid","daUid","userid","daUserObserved","daTurnOffControl","daStopPushChanges","daInjectTrim","handler","tagName","trim","call","daInvalidHandler","form","validator","errors","numberOfInvalids","errorList","daValidator","daValidationRules","daValidationHandler","visibleElements","seen","filter","theName","off","daOnChange","tableOrder","tableOrderChanges","tableName","tableChanged","collectToDelete","lastOk","last","keys","join","do_iframe_upload","inline_succeeded","filesToRead","filesRead","newFileList","nullFileList","fileArray","file_list","inline_file_list","namesWithImages","the_file_input","the_max_size","the_image_type","hasImages","files","the_file","originalFileList","concat","fileInfoList","file_input","max_size","image_type","image_mime_type","this_has_images","a_file","tempFunc","has_images","reader","FileReader","thisFileInfo","size","onload","readerEvent","convertedName","convertedType","pos","lastIndexOf","image","imageEvent","drawImage","daResumeUploadSubmission","result","readAsDataURL","iframe","bind","parseJSON","contents","f","daShowErrorScreen","contentWindow","body","innerHTML","serialize","daSetupValidation","rules","submitHandler","invalidHandler","onfocusout","defaults","validate","showErrors","daRecordLocation","daSetPosition","daShowError","timeout","maximumAge","daSignatureSubmit","stopPropagation","s","json","c","charCodeAt","slice","disabled","oThis","daCheckin","daConnected","responseType","theHtml","responseText","daDivs","children","otherScripts","startsWith","daErrorScript","errorScriptDiv","daScripts","scriptElement","appendChild","reload","daShowNotifications","daAddScriptToHead","head","getElementsByTagName","script","defer","which","tag","activeElement","not","blur","daAddListenersFor","tooltip","enabled","color","default","clearTimeout","daRefreshSubmit","sleep","doScroll","actionURL","question_data","daQuestionData","message_log","srMessages","bodyclass","do_action","livehelp","availability","roles","partner_roles","history","state","pushState","browser_title","replaceState","allow_going_back","id_dict","daInitialize","extra_scripts","scrollToTarget","extra_css","lang","reload_after","daHideSpinner","input","daEmbeddedJs","daEmbeddedAction","confirm","actionData","theURL","daReviewAction","daRingChat","daChatLogCallback","daResetCheckinCode","Math","random","daCheckinCallback","checkin_code","commands","command","extra","assignments","possible_assignment","assignment","oldDaChatStatus","phone","statusChanged","chat_status","num_peers","help_available","observerControl","daCheckoutCallback","daInitialCheckin","datastring","chatstatus","chatmode","checkinCode","raw_parameters","daCheckout","daStopCheckingIn","newSpan","newI","daObserverSubmitter","theAction","embeddedJs","embeddedAction","linkNum","theId","skey","daAdjustInputWidth","leftBracket","rightBracket","daIgnoreAllButTab","code","keyCode","daDisableIfNotHidden","showIfParent","disable","enable","daShowIfCompare","showIfVal","rationalizeListCollect","finalNum","num","firstNum","seenAddAnother","current","daFetchAjax","cb","doShow","wordStart","shown","wordstart","upperWordStart","toUpperCase","emptyItem","notYetSelected","selectedValue","item","keyList","sort","$element","lookup","split","word","index","charAt","camelStr","fileinput","theme","language","allowedPreviewTypes","row","prev","insertBefore","next","insertAfter","valid","visible","isObject","varname","theSelect","cbList","theType","variable","cleanNum","replaceAll","selects","querySelectorAll","labelauty","class","label","anyChanged","firstEncountered","existing_val","combobox","buttonLabel","inputBox","daInputBox","clearIfNoMatch","functionalButton","showButton","matcher","lookupWhileTyping","thisId","Place","AutocompleteSessionToken","AutocompleteSuggestion","token","priorQuery","priorResults","request","region","sessionToken","$container","selected","placePrediction","toPlace","fetchFields","includedPrimaryTypes","fetchAutocompleteSuggestions","results","sugMap","suggestion","addressText","every","options","items","reduce","revMap","process","_attachment_email_address","minlength","required","email","errorClass","daPopoverTriggerList","daPopoverTrigger","daPopoverList","daPopoverTriggerEl","bootstrap","Popover","informed","theCode","the_key","box","toggler","toggleClass","firstInput","inputType","strLength","setSelectionRange","err","questionTitle","firstButton","theIds","navMain","collapse","the_hash","patt","pattObj","pattRaw","checkboxName","baseName","bracketPart","transBaseName","daNameOne","daNameTwo","daNameThree","daNameBase","daTriggerQueries","daInputsSeen","daOnlyUnique","self","showIfDiv","jsInfo","showIfSign","showIfMode","jsExpression","infoItem","showIfVars","initShowIfVar","initShowIfVarEscaped","altShowIfVar","altShowIfVarEscaped","altElem","showIfVar","showIfVarEscaped","varToUse","showHideDiv","speed","resultt","leader","showHideDivImmediate","showHideDivFast","change","varName","endsWith","signifier","cbVarName","thisVarName","saveAs","firstChild","daTriggerAllShowHides","daUniqueTriggerQueries","daFirstTime","daTries","the_a","the_delay","daPageview","daSegmentEvent","setDefaults","ignore","highlight","closest","unhighlight","errorElement","errorPlacement","elementName","idOfErrorSpan","lastInGroup","thefields","thename","fieldsArr","fileContainer","choice_with_help","addMethod","a","b","realElement","realValue","number_needed","css_query","date","Date","comparator","before_comparator","after_comparator","time","datetime","limit","maxImageSize","totalSize","dataLayer","gtag","idToUse","send_page_view","daSecureCookies","daGaIds","daInterviewPackage","daInterviewFilename","page_path","daReloadAfter","onpopstate","daDefaultAllowList","Tooltip","Default","allowList","daRootUrl","daStopControlling","daGotConfirmation","daAbortControlling","elementId","id_list","theElementId","PERMISSION_DENIED","POSITION_UNAVAILABLE","TIMEOUT","UNKNOWN_ERROR"],"mappings":"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"} \ No newline at end of file From ff0b14a9cab1951885a56a48fe458591884ba2fa Mon Sep 17 00:00:00 2001 From: rajeswari1301 Date: Wed, 22 Jul 2026 09:42:34 -0500 Subject: [PATCH 3/4] Move aria-live server/JS changes to a follow-up branch --- .../docassemble/webapp/server.py | 9 +--- .../docassemble/webapp/static/app/app.js | 43 +++---------------- .../docassemble/webapp/static/app/app.min.js | 2 +- .../webapp/static/app/app.min.js.map | 2 +- 4 files changed, 8 insertions(+), 48 deletions(-) diff --git a/docassemble_webapp/docassemble/webapp/server.py b/docassemble_webapp/docassemble/webapp/server.py index 0ebae2cc4..d0af81150 100644 --- a/docassemble_webapp/docassemble/webapp/server.py +++ b/docassemble_webapp/docassemble/webapp/server.py @@ -9264,13 +9264,6 @@ def index(action_argument=None, refer=None): the_nav_bar = '' interview_status.using_navigation = False content = as_html(interview_status, debug_mode, url_for('index', **index_params), validation_rules, the_field_errors, the_progress_bar, steps - user_dict['_internal']['steps_offset']) - sr_announcements = docassemble.base.functions.this_thread.internal.pop('sr_announcements', []) - if sr_announcements and 'btn-darevisit' in content: - content = content.replace( - '
', - ', ' + ' '.join(noquote(text) for text in sr_announcements) + '
', - 1 - ) if debug_mode: readability = {} for question_type in ('question', 'help'): @@ -9349,7 +9342,7 @@ def index(action_argument=None, refer=None): scripts += additional_css(interview_status, js_only=True) else: start_output += global_css + additional_css(interview_status) - start_output += '\n ' + interview_status.tabtitle + '\n \n \n
\n
\n' + start_output += '\n ' + interview_status.tabtitle + '\n \n \n
\n' if interview.options.get('hide navbar', False): output = make_navbar(interview_status, (steps - user_dict['_internal']['steps_offset']), interview.consolidated_metadata.get('show login', SHOW_LOGIN), user_dict['_internal']['livehelp'], debug_mode, index_params, extra_class='dainvisible') else: diff --git a/docassemble_webapp/docassemble/webapp/static/app/app.js b/docassemble_webapp/docassemble/webapp/static/app/app.js index a8897ce14..276955f16 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/app.js +++ b/docassemble_webapp/docassemble/webapp/static/app/app.js @@ -1074,7 +1074,6 @@ var daYamlFilename; var daNotificationContainer; var daNotificationMessage; var daMessageLog; -var daPendingAnnouncement = false; var daImageToPreLoad; var daGetVariablesUrl; var daLiveHelpMessage; @@ -3141,15 +3140,6 @@ function daProcessAjax(data, form, doScroll, actionURL) { window.scrollTo(0, 1); } $(daTargetDiv).html(data.body); - if (data.message_log) { - var srMessages = data.message_log.filter(function(m) { - return m.priority === 'info' || m.priority === 'success' || m.priority === 'warning' || m.priority === 'danger'; - }); - if (srMessages.length > 0) { - $("#daSrAnnouncement").text(srMessages.map(function(m) { return m.message; }).join(' ')); - daPendingAnnouncement = true; - } - } $(daTargetDiv).parent().removeClass(); $(daTargetDiv).parent().addClass(data.bodyclass); $("meta[name=viewport]").attr( @@ -5069,29 +5059,15 @@ function daInitialize(doScroll) { } } } - } else if (daPendingAnnouncement) { - daPendingAnnouncement = false; - setTimeout(function () { - var questionTitle = $("#daMainQuestion, #dasigtitle") - .filter(":visible") - .first(); - if (questionTitle.length > 0 && $(questionTitle).visible()) { - $(questionTitle).attr("tabindex", "-1").focus(); - } - }, 700); } else { - var questionTitle = $("#daMainQuestion, #dasigtitle") + var firstButton = $("#danavbar-collapse .nav-link") .filter(":visible") .first(); - if (questionTitle.length > 0 && $(questionTitle).visible()) { - $(questionTitle).attr("tabindex", "-1").focus(); - } else { - var firstButton = $("#danavbar-collapse .nav-link") - .filter(":visible") - .first(); - if (firstButton.length > 0 && $(firstButton).visible()) { + if (firstButton.length > 0 && $(firstButton).visible()) { + setTimeout(function () { $(firstButton).focus(); - } + $(firstButton).blur(); + }, 0); } } }, 15); @@ -6531,15 +6507,6 @@ function daReadyFunction() { //console.log("Got newpage") var data = incoming.obj; $(daTargetDiv).html(data.body); - if (data.message_log) { - var srMessages = data.message_log.filter(function(m) { - return m.priority === 'info' || m.priority === 'success' || m.priority === 'warning' || m.priority === 'danger'; - }); - if (srMessages.length > 0) { - $("#daSrAnnouncement").text(srMessages.map(function(m) { return m.message; }).join(' ')); - daPendingAnnouncement = true; - } - } $(daTargetDiv).parent().removeClass(); $(daTargetDiv).parent().addClass(data.bodyclass); daInitialize(1); diff --git a/docassemble_webapp/docassemble/webapp/static/app/app.min.js b/docassemble_webapp/docassemble/webapp/static/app/app.min.js index c69831c45..438cb1e1f 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/app.min.js +++ b/docassemble_webapp/docassemble/webapp/static/app/app.min.js @@ -1,2 +1,2 @@ -var $;document.addEventListener("DOMContentLoaded",function(){if(typeof $=="undefined"){$=jQuery.noConflict()}if(daJsEmbed){daTargetDiv="#"+daJsEmbed}else{daTargetDiv="#dabody"}daPreloadImage(daImageToPreLoad);if(daAutoColorScheme){if(window.matchMedia("(prefers-color-scheme: dark)").matches){daDesiredColorScheme=1}else{daDesiredColorScheme=0}if(daCurrentColorScheme!=daDesiredColorScheme){document.documentElement.setAttribute("data-bs-theme",daDesiredColorScheme?"dark":"light");$.ajax({type:"PATCH",url:daUrlChangeColorScheme,xhrFields:{withCredentials:true},data:"scheme="+daDesiredColorScheme,success:function(data){daCurrentColorScheme=data.scheme},error:function(xhr,status,error){console.log("Unable to change desired color scheme.")},dataType:"json"})}}$(document).ready(daReadyFunction);if(!daObserverMode){$(window).ready(daUpdateHeight);$(window).resize(daUpdateHeight)}daConfigureJqueryFuncs();for(var i=0;icontentwidth){cwidth=contentwidth}var cheight=cwidth*daAspectRatio;var otherHeights=$("#dasigheader").outerHeight(true)+$("#dasigtoppart").outerHeight(true)+$("#dasigmidpart").outerHeight(true)+$("#dasigbottompart").outerHeight(true);if(cheight>$(window).height()-otherHeights){cheight=$(window).height()-otherHeights}if(cheight>275||cheight<30){cheight=275}$("#dasigcontent").height(cheight);var canvas='';$("#dasigcontent").html(canvas);daTheWidth=daThicknessScalingFactor*cwidth/100;if(daTheWidth<1){daTheWidth=1}daSignaturePad=new SignaturePad(document.querySelector("#dasigcanvas"));if(defaultImage!=null){daSignaturePad.fromDataURL(defaultImage,{ratio:1,width:cwidth,height:cheight,xOffset:0,yOffset:0})}daSignaturePad.minWidth=.5*daThicknessScalingFactor;daSignaturePad.maxWidth=2.5*daThicknessScalingFactor;daSignaturePad.penColor=daColor;setTimeout(function(){if(daJsEmbed){$(daTargetDiv)[0].scrollTo(0,1);if(daSteps>1){$(daTargetDiv)[0].scrollIntoView()}}else{window.scrollTo(0,1)}},10)}function daPost(params){for(var key in params){if(params.hasOwnProperty(key)){var hiddenField=document.getElementById(key);if(hiddenField!=null){hiddenField.setAttribute("value",params[key])}else{console.log("Key does not exist: "+key);return}}}$("#dasigform").submit();return}function isCanvasSupported(){var elem=document.createElement("canvas");return!!(elem.getContext&&elem.getContext("2d"))}var daAutocomplete=Object();function daWaitForGoogle(waitForPlaces){return new Promise(resolve=>{let attempts=0;const maxAttempts=50;const interval=setInterval(()=>{var found=false;try{if(google.maps===undefined){throw new Error("google maps not defined")}if(waitForPlaces){if(google.maps.places===undefined){throw new Error("places not defined")}}found=true}catch(e){}if(found||attempts>=maxAttempts){clearInterval(interval);resolve(found)}attempts++},100)})}function daInitAutocomplete(info){daAutocomplete=Object();for(var i=0;i1){maps[i].map.fitBounds(bounds)}}}function daAddMap(map_num,center_lat,center_lon){var map=new google.maps.Map(document.getElementById("map"+map_num),{zoom:11,center:new google.maps.LatLng(center_lat,center_lon),mapTypeId:google.maps.MapTypeId.ROADMAP,mapId:"map"+map_num+"element"});var infowindow=new google.maps.InfoWindow;return{map:map,infowindow:infowindow}}async function daAddMarker(map,marker_info,show_marker){const{AdvancedMarkerElement,PinElement}=await google.maps.importLibrary("marker");var marker;var content;if(marker_info.icon){content=new PinElement(marker_info.icon)}else{content=new PinElement}marker=new AdvancedMarkerElement({position:{lat:marker_info.latitude,lng:marker_info.longitude},map:map.map,content:content.element});if(marker_info.info){google.maps.event.addListener(marker,"click",function(marker,info){return function(){map.infowindow.setContent(info);map.infowindow.open(map.map,marker)}}(marker,marker_info.info))}if(show_marker){map.infowindow.setContent(marker_info.info);map.infowindow.open(map.map,marker)}return marker}function daFillInAddress(origId,place){var id;if(daVarLookupRev[origId]){id=daVarLookupRev[origId]}else{id=origId}var baseVarname=atob(id).replace(/.[a-zA-Z0-9_]+$/,"");baseVarname=baseVarname.replace(/[\[\]]/g,".");var re=new RegExp("^"+baseVarname+".(.*)");var componentTrans={administrative_area_level_1:["state","shortText"],administrative_area_level_2:["county","longText"]};var alternatives=[["city",["locality","sublocality_level_1","neighborhood","administrative_area_level_3","colloquial_area"]],["sublocality",["sublocality_level_1","sublocality_level_2","sublocality_level_3","sublocality_level_4","sublocality_level_5"]]];var fieldsToClear=["address","administrative_area_level_1","administrative_area_level_2","administrative_area_level_3","administrative_area_level_4","administrative_area_level_5","administrative_area_level_6","administrative_area_level_7","adr_format_address","airport","bus_station","business_status","city","colloquial_area","compound_code","country","county","directions_uri","display_name","display_name_language_code","establishment","floor","formatted_address","global_code","has_wheelchair_accessible_entrance","has_wheelchair_accessible_parking","has_wheelchair_accessible_restroom","has_wheelchair_accessible_seating","id","international_phone_number","intersection","landmark","latitude","locality","location","longitude","national_phone_number","natural_feature","neighborhood","park","parking","photos_uri","place_uri ","plus_code","point_of_interest","political","post_box","postal_code","postal_town","premise","price_level","primary_type","primary_type_display_name","primary_type_display_name_language_code","rating","reviews_uri","room","route","state","street_number","sublocality","subpremise","train_station","transit_station","types","utc_offset_minutes","write_a_review_uri","zip"];var idForPart={};$("input, select").each(function(){var the_id=$(this).attr("id");if(typeof the_id!==typeof undefined&&the_id!==false){try{var field_name=atob($(this).attr("id"));if(field_name.indexOf("_field_")==0){field_name=atob(daVarLookupRev[$(this).attr("id")])}var m=re.exec(field_name);if(m.length>0){idForPart[m[1]]=$(this).attr("id")}}catch(e){}}});for(var component in fieldsToClear){if(typeof idForPart[component]!="undefined"&&document.getElementById(idForPart[component])!=null){document.getElementById(idForPart[component]).value=""}}var savedValues={};var toChange=[];for(var i=0;i{var pythonSubVar=camelToUnderscore(jsSubVar);if(value!=null&&typeof idForPart[pythonSubVar]!="undefined"&&document.getElementById(idForPart[pythonSubVar])!=null){document.getElementById(idForPart[pythonSubVar]).value=jsonIfObject(value);toChange.push("#"+idForPart[pythonSubVar])}})}else if(place[jsVar]&&typeof idForPart[pythonVar]!="undefined"&&document.getElementById(idForPart[pythonVar])!=null){document.getElementById(idForPart[pythonVar]).value=jsonIfObject(place[jsVar]);toChange.push("#"+idForPart[pythonVar])}}for(var i=0;i0){id_for_part[m[1]]=$(this).attr("id")}}catch(e){}}});place=daAutocomplete[origId].getPlace();if(typeof id_for_part["address"]!="undefined"&&document.getElementById(id_for_part["address"])!=null){document.getElementById(id_for_part["address"]).value=""}for(var component in fields_to_fill){if(typeof id_for_part[component]!="undefined"&&document.getElementById(id_for_part[component])!=null){document.getElementById(id_for_part[component]).value=""}}var street_number;var route;var savedValues={};var toChange=[];for(var i=0;i1&&window!=top){top.location.href=location.href}}Object.defineProperty(String.prototype,"daSprintf",{value:function(){var args=Array.from(arguments),i=0;function defaultNumber(iValue){return iValue!=undefined&&!isNaN(iValue)?iValue:"0"}function defaultString(iValue){return iValue==undefined?"":""+iValue}return this.replace(/%%|%([+\-])?([^1-9])?(\d+)?(\.\d+)?([deEfhHioQqs])/g,function(match,sign,filler,scale,precision,type){var strOut,space,value;var asNumber=false;if(match=="%%")return"%";if(i>=args.length)return match;value=args[i];while(Array.isArray(value)){args.splice(i,1);for(var j=i;value.length>0;j++)args.splice(j,0,value.shift());value=args[i]}i++;if(filler==undefined)filler=" ";if(scale==undefined&&!isNaN(filler)){scale=filler;filler=" "}if(sign==undefined)sign="sqQ".indexOf(type)>=0?"+":"-";if(scale==undefined)scale=0;if(precision==undefined)precision=".0";scale=parseInt(scale);precision=parseInt(precision.substr(1));switch(type){case"d":case"i":asNumber=true;strOut=parseInt(defaultNumber(value));if(precision>0)strOut+="."+"0".repeat(precision);break;case"e":case"E":asNumber=true;strOut=parseFloat(defaultNumber(value));if(precision==0)strOut=strOut.toExponential();else strOut=strOut.toExponential(precision);if(type=="E")strOut=strOut.replace("e","E");break;case"f":asNumber=true;strOut=parseFloat(defaultNumber(value));if(precision!=0)strOut=strOut.toFixed(precision);break;case"o":case"h":case"H":strOut="\\"+(type=="o"?"0":type)+parseInt(defaultNumber(value)).toString(type=="o"?8:16);break;case"q":strOut="'"+defaultString(value)+"'";break;case"Q":strOut='"'+defaultString(value)+'"';break;default:strOut=defaultString(value);break}if(typeof strOut!="string")strOut=""+strOut;if((space=strOut.length)0){for(var i=0;i0){var showifParents=$(possibleElements[i]).parents(".dajsshowif,.dashowif");if(showifParents.length==0||$(showifParents[0]).data("isVisible")=="1"){if(notInDiv&&$.contains(notInDiv,possibleElements[i])){continue}returnVal=possibleElements[i]}}}if($(returnVal).hasClass("da-to-labelauty")&&$(returnVal).parents("div.da-field-group").length>0){var fieldSet=$(returnVal).parents("div.da-field-group")[0];if(!$(fieldSet).hasClass("da-field-checkbox")&&!$(fieldSet).hasClass("da-field-checkboxes")){return fieldSet}}return returnVal}var daGetField=getField;function setChoices(fieldName,choices){var elem=daGetField(fieldName);if(elem==null){console.log("setChoices: reference to non-existent field "+fieldName);return}var isCombobox=$(elem).attr("type")=="hidden"&&$(elem).parents(".combobox-container").length>0;if(isCombobox){var comboInput=$(elem).parents(".combobox-container").first().find("input.combobox").first();var comboObject=daComboBoxes[$(comboInput).attr("id")];var oldComboVal=comboObject.$target.val();elem=comboObject.$source}if($(elem).prop("tagName")!="SELECT"){console.log("setField: field "+fieldName+" is not a dropdown field");return}var oldVal=$(elem).val();$(elem).find("option[value!='']").each(function(){$(this).remove()});var n=choices.length;for(var i=0;i");opt.val(choices[i][0]);opt.text(choices[i][1]);if(oldVal==choices[i][0]){opt.attr("selected","selected")}$(elem).append(opt)}if(isCombobox){comboObject.refresh();comboObject.clearTarget();if(oldComboVal!=""){daSetField(fieldName,oldComboVal)}}}var daSetChoices=setChoices;function setField(fieldName,theValue){var elem=daGetField(fieldName);if(elem==null){console.log("setField: reference to non-existent field "+fieldName);return}if($(elem).prop("tagName")=="DIV"&&$(elem).hasClass("da-field-group")&&$(elem).hasClass("da-field-radio")){elem=$(elem).find("input")[0]}if($(elem).attr("type")=="checkbox"){if(theValue){if($(elem).prop("checked")!=true){$(elem).click()}}else{if($(elem).prop("checked")!=false){$(elem).click()}}}else if($(elem).attr("type")=="radio"){var fieldNameEscaped=$(elem).attr("name").replace(/(:|\.|\[|\]|,|=)/g,"\\$1");var wasSet=false;if(theValue===true){theValue="True"}if(theValue===false){theValue="False"}$("input[name='"+fieldNameEscaped+"']").each(function(){if($(this).val()==theValue){if($(this).prop("checked")!=true){$(this).prop("checked",true);$(this).trigger("change")}wasSet=true;return false}});if(!wasSet){console.log("setField: could not set radio button "+fieldName+" to "+theValue)}}else if($(elem).attr("type")=="hidden"){if($(elem).val()!=theValue){if($(elem).parents(".combobox-container").length>0){var comboInput=$(elem).parents(".combobox-container").first().find("input.combobox").first();daComboBoxes[$(comboInput).attr("id")].manualSelect(theValue)}else{$(elem).val(theValue);$(elem).trigger("change")}}}else if($(elem).prop("tagName")=="DIV"&&$(elem).hasClass("da-field-group")&&$(elem).hasClass("da-field-checkboxes")){if(!Array.isArray(theValue)){throw new Error("setField: value must be an array")}var n=theValue.length;$(elem).find("input").each(function(){if($(this).hasClass("danota-checkbox")){$(this).prop("checked",n==0);$(this).trigger("change");return}if($(this).hasClass("daaota-checkbox")){$(this).prop("checked",false);$(this).trigger("change");return}if($(this).attr("name").substr(0,7)==="_ignore"){return}var theVal=atou($(this).data("cbvalue"));if($(elem).hasClass("daobject")){theVal=atou(theVal)}var oldVal=$(this).prop("checked")==true;var newVal=false;for(var i=0;i0){if(daJsEmbed){scrollTarget=$(validator.errorList[0].element).parents(".da-form-group").first().position().top-60}else{scrollTarget=$(validator.errorList[0].element).parents(".da-form-group").first().offset().top-60}}if(scrollTarget!=null){if(daJsEmbed){$(daTargetDiv).animate({scrollTop:scrollTarget},1e3)}else{$("html, body").animate({scrollTop:scrollTarget},1e3)}}}var daValidator;var daValidationRules={};function daValidationHandler(form){if(daObserverMode){return}var visibleElements=[];var seen=Object();$(form).find("input, select, textarea").filter(":not(:disabled)").each(function(){if($(this).attr("name")&&$(this).attr("type")!="hidden"&&($(this).hasClass("da-active-invisible")&&$(this).parent().is(":visible")||$(this).is(":visible"))){var theName=$(this).attr("name");if(!seen.hasOwnProperty(theName)){visibleElements.push(theName);seen[theName]=1}}});$(form).find("input[name='_visible']").val(utoa(JSON_stringify(visibleElements)));$(form).each(function(){$(this).find(":input").off("change",daOnChange)});$("meta[name=viewport]").attr("content","width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0");if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}daDisable=setTimeout(function(){$(form).find('input[type="submit"]').prop("disabled",true);$(form).find('button[type="submit"]').prop("disabled",true)},1);if(daWhichButton!=null){$(".da-field-buttons .btn-da").each(function(){if(this!=daWhichButton){$(this).removeClass(daAllButtonClasses);$(this).addClass(daButtonStyle+"light")}});if($(daWhichButton).hasClass(daButtonStyle+"success")){$(daWhichButton).removeClass(daButtonStyle+"success");$(daWhichButton).addClass(daButtonStyle+"primary")}else{$(daWhichButton).removeClass(daButtonStyle+"primary "+daButtonStyle+"info "+daButtonStyle+"warning "+daButtonStyle+"danger "+daButtonStyle+"success "+daButtonStyle+"light");$(daWhichButton).addClass(daButtonStyle+"secondary")}}var tableOrder={};var tableOrderChanges={};$("a.datableup").each(function(){var tableName=$(this).data("tablename");if(!tableOrder.hasOwnProperty(tableName)){tableOrder[tableName]=[]}tableOrder[tableName].push(parseInt($(this).data("tableitem")))});var tableChanged=false;for(var tableName in tableOrder){if(tableOrder.hasOwnProperty(tableName)){var n=tableOrder[tableName].length;for(var i=0;i").attr({type:"hidden",name:"_order_changes",value:JSON.stringify(tableOrderChanges)}).appendTo($(form))}var collectToDelete=[];$(".dacollectunremove:visible").each(function(){collectToDelete.push(parseInt($(this).parent().parent().data("collectnum")))});var lastOk=parseInt($(".dacollectremove:visible, .dacollectremoveexisting:visible").last().parent().parent().data("collectnum"));$(".dacollectremove, .dacollectremoveexisting").each(function(){if(parseInt($(this).parent().parent().data("collectnum"))>lastOk){collectToDelete.push(parseInt($(this).parent().parent().data("collectnum")))}});if(collectToDelete.length>0){$("").attr({type:"hidden",name:"_collect_delete",value:JSON.stringify(collectToDelete)}).appendTo($(form))}$("select.damultiselect:not(:disabled)").each(function(){var showifParents=$(this).parents(".dajsshowif,.dashowif");if(showifParents.length==0||$(showifParents[0]).data("isVisible")=="1"){$(this).find("option").each(function(){$("").attr({type:"hidden",name:$(this).val(),value:$(this).prop("selected")?"True":"False"}).appendTo($(form))})}$(this).prop("disabled",true)});daWhichButton=null;if(daSubmitter!=null&&daSubmitter.name&&$('input[name="'+daSubmitter.name+'"]').length==0){$("").attr({type:"hidden",name:daSubmitter.name,value:daSubmitter.value}).appendTo($(form))}if(daInformedChanged){$("").attr({type:"hidden",name:"informed",value:Object.keys(daInformed).join(",")}).appendTo($(form))}$("").attr({type:"hidden",name:"ajax",value:"1"}).appendTo($(form));daSpinnerTimeout=setTimeout(daShowSpinner,1e3);var do_iframe_upload=false;inline_succeeded=false;if($('input[name="_files"]').length>0){var filesToRead=0;var filesRead=0;var newFileList=Array();var nullFileList=Array();var fileArray={keys:Array(),values:Object()};var file_list=JSON.parse(atou($('input[name="_files"]').val()));var inline_file_list=Array();var namesWithImages=Object();for(var i=0;i0){for(var j=0;j0){newFileList.push(file_list[i])}else{nullFileList.push(file_list[i])}namesWithImages[file_list[i]]=hasImages}if(inline_file_list.length>0){var originalFileList=atou($('input[name="_files"]').val());if(newFileList.length==0&&nullFileList.length==0){$('input[name="_files"]').remove()}else{$('input[name="_files"]').val(utoa(JSON_stringify(newFileList.concat(nullFileList))))}for(var i=0;iheight){if(width>max_size){height*=max_size/width;width=max_size}}else{if(height>max_size){width*=max_size/height;height=max_size}}canvas.width=width;canvas.height=height;canvas.getContext("2d").drawImage(image,0,0,width,height);thisFileInfo["content"]=canvas.toDataURL(convertedType);filesRead++;if(filesRead>=filesToRead){daResumeUploadSubmission(form,fileArray,inline_file_list,newFileList,daSubmitter)}};image.src=reader.result}else{thisFileInfo["content"]=reader.result;filesRead++;if(filesRead>=filesToRead){daResumeUploadSubmission(form,fileArray,inline_file_list,newFileList,daSubmitter)}}};reader.readAsDataURL(the_file)};tempFunc(a_file,max_size,this_has_images);inline_succeeded=true}}}if(newFileList.length==0){}else{do_iframe_upload=true}}if(inline_succeeded){return false}if(do_iframe_upload){$("#dauploadiframe").remove();var iframe=$('');$(daTargetDiv).append(iframe);$(form).attr("target","dauploadiframe");iframe.bind("load",function(){setTimeout(function(){try{daProcessAjax($.parseJSON(daUnfakeHtmlResponse($("#dauploadiframe").contents().text())),form,1)}catch(e){try{daProcessAjax($.parseJSON($("#dauploadiframe").contents().text()),form,1)}catch(f){daShowErrorScreen(document.getElementById("dauploadiframe").contentWindow.document.body.innerHTML,f)}}},0)});form.submit()}else{daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$(form).serialize(),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,form,1)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)}})}return false}function daSetupValidation(rules,messages){daValidationRules=rules;daValidationRules.submitHandler=daValidationHandler;daValidationRules.invalidHandler=daInvalidHandler;daValidationRules.onfocusout=daInjectTrim($.validator.defaults.onfocusout);if($("#daform").length>0){daValidator=$("#daform").validate(daValidationRules);if(Object.keys(messages).length>0){daValidator.showErrors(messages)}}}function daRecordLocation(){if(document.getElementById("da_track_location")==null){return}if(navigator.geolocation){document.getElementById("da_track_location").value=JSON.stringify({error:"getCurrentPosition was still running"});navigator.geolocation.getCurrentPosition(daSetPosition,daShowError,{timeout:1e3,maximumAge:36e5})}else{document.getElementById("da_track_location").value=JSON.stringify({error:"navigator.geolocation not available in browser"})}}function daSignatureSubmit(event){$(this).find("input[name='ajax']").val(1);daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$(this).serialize(),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,$(this),1)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)}});event.preventDefault();event.stopPropagation();return false}function JSON_stringify(s){var json=JSON.stringify(s);return json.replace(/[\u007f-\uffff]/g,function(c){return"\\u"+("0000"+c.charCodeAt(0).toString(16)).slice(-4)})}function daResumeUploadSubmission(form,fileArray,inline_file_list,newFileList,daSubmitter){if(daSubmitter!=null&&daSubmitter.name&&$(form).find('input[name="'+daSubmitter.name+'"]').length==0){$("").attr({type:"hidden",name:daSubmitter.name,value:daSubmitter.value}).appendTo($(form))}$("").attr({type:"hidden",name:"_files_inline",value:utoa(JSON_stringify(fileArray))}).appendTo($(form));for(var i=0;i0){$("#dauploadiframe").remove();var iframe=$('');$(daTargetDiv).append(iframe);$(form).attr("target","dauploadiframe");iframe.bind("load",function(){setTimeout(function(){daProcessAjax($.parseJSON($("#dauploadiframe").contents().text()),form,1)},0)});form.submit()}else{daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$(form).serialize(),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,form,1)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)}})}}function daOnChange(){if(daObserverMode){return}if(daCheckinSeconds==0||daShowIfInProcess){return true}if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}var oThis=this;daCheckin(oThis);daCheckinInterval=setInterval(daCheckin,daCheckinSeconds);return true}function daPushChanges(){if(daObserverMode){if(daObserverChangesInterval!=null){clearInterval(daObserverChangesInterval)}if(!daSendChanges||!daConnected){return}daObserverChangesInterval=setInterval(daPushChanges,daCheckinSeconds);daSocket.emit("observerChanges",{uid:daUid,i:daYamlFilename,userid:daUserObserved,parameters:JSON.stringify($("#daform").serializeArray())});return}if(daCheckinSeconds==0||daShowIfInProcess){return true}if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}daCheckin(null);daCheckinInterval=setInterval(daCheckin,daCheckinSeconds);return true}function daProcessAjaxError(xhr,status,error){daRequestPending=false;if(xhr.responseType==undefined||xhr.responseType==""||xhr.responseType=="text"){var theHtml=xhr.responseText;if(theHtml==undefined){$(daTargetDiv).html("error")}else{var newDiv=document.createElement("div");$(newDiv).html(theHtml);var daDivs=$(newDiv).children("div");if(daDivs.length>0){$(daTargetDiv).empty();for(var i=0;i0){for(var i=0;i0){for(var i=0;i0){$("#daSrAnnouncement").text(srMessages.map(function(m){return m.message}).join(" "));daPendingAnnouncement=true}}$(daTargetDiv).parent().removeClass();$(daTargetDiv).parent().addClass(data.bodyclass);$("meta[name=viewport]").attr("content","width=device-width, initial-scale=1");daDoAction=data.do_action;daChatAvailable=data.livehelp.availability;daChatMode=data.livehelp.mode;daChatRoles=data.livehelp.roles;daChatPartnerRoles=data.livehelp.partner_roles;daSteps=data.steps;if(!daJsEmbed&&!daIframeEmbed){if(history.state!=null&&daSteps>history.state.steps){history.pushState({steps:daSteps},data.browser_title+" - page "+daSteps,daLocationBar+daPageSep+daSteps)}else{history.replaceState({steps:daSteps},"",daLocationBar+daPageSep+daSteps)}}daAllowGoingBack=data.allow_going_back;daQuestionID=data.id_dict;daMessageLog=data.message_log;daInitialize(doScroll);for(var i=0;i0){daReloader=setTimeout(function(){daRefreshSubmit()},data.reload_after)}daUpdateHeight()}else if(data.action=="redirect"){if(daSpinnerTimeout!=null){clearTimeout(daSpinnerTimeout);daSpinnerTimeout=null}if(daShowingSpinner){daHideSpinner()}window.location=data.url}else if(data.action=="refresh"){daRefreshSubmit()}else if(data.action=="reload"){location.reload(true)}else if(data.action=="resubmit"){if(form==null){window.location=actionURL}$("input[name='ajax']").remove();if(daSubmitter!=null&&daSubmitter.name&&$('input[name="'+daSubmitter.name+'"]').length==0){var input=$("").attr("type","hidden").attr("name",daSubmitter.name).val(daSubmitter.value);$(form).append($(input))}form.submit()}else if(data.action=="wait"){if(daSpinnerTimeout==null&&!daShowingSpinner){daShowSpinner()}setTimeout(daRefreshSubmit,(data.sleep||4)*1e3)}}function daEmbeddedJs(e){var data=decodeURIComponent($(this).data("js"));daGlobalEval(data);e.preventDefault();return false}function daEmbeddedAction(e){if(daRequestPending){e.preventDefault();$(this).blur();return false}if($(this).hasClass("daremovebutton")){if(confirm(daAreYouSure)){return true}e.preventDefault();$(this).blur();return false}var actionData=decodeURIComponent($(this).data("embaction"));var theURL=$(this).attr("href");daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$.param({_action:actionData,csrf_token:daCsrf,ajax:1}),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,null,1,theURL)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)},dataType:"json"});daSpinnerTimeout=setTimeout(daShowSpinner,1e3);e.preventDefault();return false}function daReviewAction(e){if(daRequestPending){e.preventDefault();$(this).blur();return false}var info=$.parseJSON(atou($(this).data("action")));da_action_perform(info["action"],info["arguments"]);e.preventDefault();return false}function daRingChat(){daChatStatus="ringing";daPushChanges()}function daTurnOnChat(){$("#daChatOnButton").addClass("dainvisible");$("#daChatBox").removeClass("dainvisible");$("#daCorrespondence").html("");for(var i=0;i0){$("#daChatBox").removeClass("dainvisible")}}else{$("#daChatBox").removeClass("dainvisible")}}if(daChatStatus=="waiting"){if(daChatHistory.length>0){$("#daChatAvailable a i").removeClass("da-chat-active");$("#daChatAvailable a i").addClass("da-chat-inactive");$("#daChatAvailable").removeClass("dainvisible")}else{$("#daChatAvailable a i").removeClass("da-chat-active");$("#daChatAvailable a i").removeClass("da-chat-inactive");$("#daChatAvailable").addClass("dainvisible")}$("#daChatOnButton").addClass("dainvisible");$("#daChatOffButton").addClass("dainvisible");$("#daMessage").prop("disabled",true);$("#daSend").prop("disabled",true)}if(daChatStatus=="standby"||daChatStatus=="ready"){$("#daChatAvailable").removeClass("dainvisible");$("#daChatAvailable a i").removeClass("da-chat-inactive");$("#daChatAvailable a i").addClass("da-chat-active");$("#daChatOnButton").removeClass("dainvisible");$("#daChatOffButton").addClass("dainvisible");$("#daMessage").prop("disabled",true);$("#daSend").prop("disabled",true);daInformAbout("chat")}if(daChatStatus=="on"){$("#daChatAvailable").removeClass("dainvisible");$("#daChatAvailable a i").removeClass("da-chat-inactive");$("#daChatAvailable a i").addClass("da-chat-active");$("#daChatOnButton").addClass("dainvisible");$("#daChatOffButton").removeClass("dainvisible");$("#daMessage").prop("disabled",false);if(daShowingHelp){$("#daMessage").focus()}$("#daSend").prop("disabled",false);daInformAbout("chat")}hideTablist()}function daChatLogCallback(data){if(data.action&&data.action=="reload"){location.reload(true)}if(data.success){$("#daCorrespondence").html("");daChatHistory=[];var messages=data.messages;for(var i=0;i0){for(var i=0;i'+data.num_peers+" "+daOtherUser+"")}else{$("#dapeerMessage").html(''+data.num_peers+" "+daOtherUsers+"")}$("#dapeerMessage").removeClass("dainvisible")}else{$("#dapeerMessage").addClass("dainvisible")}if(daChatMode=="peerhelp"||daChatMode=="help"){if(data.help_available==1){$("#dapeerHelpMessage").html(''+data.help_available+" "+daOperator+"")}else{$("#dapeerHelpMessage").html(''+data.help_available+" "+daOperators+"")}$("#dapeerHelpMessage").removeClass("dainvisible")}else{$("#dapeerHelpMessage").addClass("dainvisible")}if(daBeingControlled){if(!data.observerControl){daBeingControlled=false;daHideControl();if(daChatStatus!="on"){if(daSocket!=null&&daSocket.connected){daSocket.emit("terminate")}}}}else{if(data.observerControl){daBeingControlled=true;daInitializeSocket()}}}hideTablist()}function daCheckoutCallback(data){}function daInitialCheckin(){daCheckin("initial")}function daCheckin(elem){var elem=typeof elem==="undefined"?null:elem;daCheckingIn+=1;if(elem===null&&daCheckingIn>1){return}var datastring;if(daChatStatus!="off"&&$("#daform").length>0&&!daBeingControlled){if(daDoAction!=null){datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,parameters:daFormAsJSON(elem),raw_parameters:JSON.stringify($("#daform").serializeArray()),do_action:daDoAction,ajax:"1"})}else{datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,parameters:daFormAsJSON(elem),raw_parameters:JSON.stringify($("#daform").serializeArray()),ajax:"1"})}}else{if(daDoAction!=null){datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,do_action:daDoAction,parameters:daFormAsJSON(elem),ajax:"1"})}else{datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,ajax:"1"})}}$.ajax({type:"POST",url:daCheckinUrl,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:datastring,success:daCheckinCallback,dataType:"json"});return true}function daCheckout(){$.ajax({type:"POST",url:daCheckoutUrl,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:"csrf_token="+daCsrf+"&ajax=1&action=checkout",success:daCheckoutCallback,dataType:"json"});return true}function daStopCheckingIn(){daCheckout();if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}}function daShowSpinner(){if($("#daquestion").length>0){$('
').appendTo(daTargetDiv)}else{var newSpan=document.createElement("span");var newI=document.createElement("i");$(newI).addClass("fa-solid fa-spinner fa-spin");$(newI).appendTo(newSpan);$(newSpan).attr("id","daSpinner");$(newSpan).addClass("da-sig-spinner da-top-for-navbar");$(newSpan).appendTo("#dasigtoppart")}daShowingSpinner=true}function daHideSpinner(){$("#daSpinner").remove();daShowingSpinner=false;daSpinnerTimeout=null}function daObserverSubmitter(event){if(!daSendChanges||!daConnected){event.preventDefault();return false}var theAction=null;if($(this).hasClass("da-review-action")){theAction=$(this).data("action")}var embeddedJs=$(this).data("js");var embeddedAction=$(this).data("embaction");var linkNum=$(this).data("linknum");var theId=$(this).attr("id");if(theId=="dapagetitle"){theId="daquestionlabel"}var theName=$(this).attr("name");var theValue=$(this).val();var skey;if(linkNum){skey='a[data-linknum="'+linkNum+'"]'}else if(embeddedAction){skey='a[data-embaction="'+embeddedAction.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")+'"]'}else if(theAction){skey='a[data-action="'+theAction.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")+'"]'}else if(theId){skey="#"+theId.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")}else if(theName){skey="#"+$(this).parents("form").attr("id")+" "+$(this).prop("tagName").toLowerCase()+'[name="'+theName.replace(/(:|\.|\[|\]|,|=|\/)/g,"\\$1")+'"]';if(typeof theValue!=="undefined"){skey+='[value="'+theValue+'"]'}}else{skey="#"+$(this).parents("form").attr("id")+" "+$(this).prop("tagName").toLowerCase()+'[type="submit"]'}if(daObserverChangesInterval!=null&&embeddedJs==null&&theId!="dabackToQuestion"&&theId!="dahelptoggle"&&theId!="daquestionlabel"){clearInterval(daObserverChangesInterval)}daSocket.emit("observerChanges",{uid:daUid,i:daYamlFilename,userid:daUserObserved,clicked:skey,parameters:JSON.stringify($("#daform").serializeArray())});if(embeddedJs!=null){daGlobalEval(decodeURIComponent(embeddedJs))}if(theId!="dabackToQuestion"&&theId!="dahelptoggle"&&theId!="daquestionlabel"){event.preventDefault();return false}}function daAdjustInputWidth(e){var contents=$(this).val();var leftBracket=new RegExp("<","g");var rightBracket=new RegExp(">","g");contents=contents.replace(/&/g,"&").replace(leftBracket,"<").replace(rightBracket,">").replace(/ /g," ");$('').html(contents).appendTo("#daquestion");$("#dawidth").css("min-width",$(this).css("min-width"));$("#dawidth").css("background-color",$(daTargetDiv).css("background-color"));$("#dawidth").css("color",$(daTargetDiv).css("background-color"));$(this).width($("#dawidth").width()+16);setTimeout(function(){$("#dawidth").remove()},0)}function daShowNotifications(){var n=daMessageLog.length;for(var i=0;ifirstNum){if($('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]:visible').length>0){if(!$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').find(".dacollectadd").hasClass("dainvisible")&&$('div.dacollectextraheader[data-collectnum="'+n+'"]').find(".dacollectremove").hasClass("dainvisible")){$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').hide()}}}var n=parseInt(finalNum);var seenAddAnother=false;while(n-- >firstNum){if($('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]:visible').length>0){if(!$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').find(".dacollectadd").hasClass("dainvisible")){seenAddAnother=true}var current=$('div.dacollectextraheader[data-collectnum="'+n+'"]');if(seenAddAnother&&!$(current).find(".dacollectadd").hasClass("dainvisible")){$(current).find(".dacollectadd").addClass("dainvisible");$(current).find(".dacollectunremove").removeClass("dainvisible")}}}}function daFetchAjax(elem,cb,doShow){var wordStart=$(elem).val();if(wordStart.length");emptyItem.val("");emptyItem.text("");cb.$source.append(emptyItem);var notYetSelected=true;var selectedValue=null;if(Array.isArray(data)){for(var i=0;i=2){var item=$("
');$('').appendTo(toggler);$(''+daToggleWord+"").appendTo(toggler)}else{toggler=$('');$('').appendTo(toggler);$(''+daToggleWord+"").appendTo(toggler)}toggler.appendTo(prev);toggler.on("click",function(e){var oThis=this;$(this).find("svg").each(function(){if($(this).attr("data-icon")=="caret-down"){$(this).removeClass("fa-caret-down");$(this).addClass("fa-caret-right");$(this).attr("data-icon","caret-right");$(box).hide();$(oThis).attr("aria-pressed","false");$(box).toggleClass("danotshowing")}else if($(this).attr("data-icon")=="caret-right"){$(this).removeClass("fa-caret-right");$(this).addClass("fa-caret-down");$(this).attr("data-icon","caret-down");$(box).show();$(oThis).attr("aria-pressed","true");$(box).toggleClass("danotshowing")}});e.stopPropagation();e.preventDefault();return false})}});$("body").focus();if(!daJsEmbed&&!isAndroid){setTimeout(function(){var firstInput=$("#daform .da-field-container").not(".da-field-container-note").first().find("input, textarea, select").filter(":visible").first();if(firstInput.length>0&&$(firstInput).visible()){$(firstInput).focus();var inputType=$(firstInput).attr("type");if($(firstInput).prop("tagName")!="SELECT"&&inputType!="checkbox"&&inputType!="radio"&&inputType!="hidden"&&inputType!="submit"&&inputType!="file"&&inputType!="range"&&inputType!="number"&&inputType!="date"&&inputType!="time"){var strLength=$(firstInput).val().length*2;if(strLength>0){try{$(firstInput)[0].setSelectionRange(strLength,strLength)}catch(err){console.log(err.message)}}}}else if(daPendingAnnouncement){daPendingAnnouncement=false;setTimeout(function(){var questionTitle=$("#daMainQuestion, #dasigtitle").filter(":visible").first();if(questionTitle.length>0&&$(questionTitle).visible()){$(questionTitle).attr("tabindex","-1").focus()}},700)}else{var questionTitle=$("#daMainQuestion, #dasigtitle").filter(":visible").first();if(questionTitle.length>0&&$(questionTitle).visible()){$(questionTitle).attr("tabindex","-1").focus()}else{var firstButton=$("#danavbar-collapse .nav-link").filter(":visible").first();if(firstButton.length>0&&$(firstButton).visible()){$(firstButton).focus()}}}},15)}}$("input.dauncheckspecificothers").on("change",function(){if($(this).is(":checked")){var theIds=$.parseJSON(atou($(this).data("unchecklist")));var n=theIds.length;for(var i=0;i0){showIfVars.push(initShowIfVar)}if(daVarLookupMulti.hasOwnProperty(initShowIfVar)){for(var j=0;j0&&!$.contains(this,altElem[0])){showIfVars.push(altShowIfVar)}}}if(showIfVars.length==0){console.log("ERROR: reference to non-existent field "+infoItem)}showIfVars.forEach(function(showIfVar){var showIfVarEscaped=showIfVar.replace(/(:|\.|\[|\]|,|=)/g,"\\$1");var varToUse=infoItem;var showHideDiv=function(speed){var elem=daGetField(varToUse);if(elem!=null&&!$(elem).parents(".da-form-group").first().is($(this).parents(".da-form-group").first())){return}var resultt=eval(jsExpression);if(resultt){if(showIfSign){if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}else{if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}}else{if(showIfSign){if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",true)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}else{if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}}var leader=false;if(!daShowIfInProcess){daShowIfInProcess=true;daInputsSeen={};leader=true}$(showIfDiv).find(":input").not("[type='file']").each(function(){if(!daInputsSeen.hasOwnProperty($(this).attr("id"))){$(this).trigger("change")}daInputsSeen[$(this).attr("id")]=true});if(leader){daShowIfInProcess=false}};var showHideDivImmediate=function(){showHideDiv.apply(this,[null])};var showHideDivFast=function(){showHideDiv.apply(this,["fast"])};daTriggerQueries.push("#"+showIfVarEscaped);daTriggerQueries.push("input[type='radio'][name='"+showIfVarEscaped+"']");daTriggerQueries.push("input[type='checkbox'][name='"+showIfVarEscaped+"']");$("#"+showIfVarEscaped).change(showHideDivFast);$("input[type='radio'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input.dafile[name='"+showIfVarEscaped+"']").on("filecleared",showHideDivFast);$("#"+showIfVarEscaped).on("daManualTrigger",showHideDivImmediate);$("input[type='radio'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate)})})});$(".dashowif").each(function(){var showIfVars=[];var showIfSign=$(this).data("showif-sign");var showIfMode=parseInt($(this).data("showif-mode"));var initShowIfVar=$(this).data("showif-var");var varName=atou(initShowIfVar);var elem=[];if(varName.endsWith("[nota]")||varName.endsWith("[aota]")){var signifier=varName.endsWith("[nota]")?"nota":"aota";var cbVarName=varName.replace(/\[[na]ota\]$/,"");$("div.da-field-group.da-field-checkboxes").each(function(){var thisVarName=atou($(this).data("varname"));if(thisVarName==cbVarName){elem=$(this).find("input.da"+signifier+"-checkbox");initShowIfVar=$(elem).attr("name")}})}else{var initShowIfVarEscaped=initShowIfVar.replace(/(:|\.|\[|\]|,|=)/g,"\\$1");elem=$("[name='"+initShowIfVarEscaped+"']")}if(elem.length>0){showIfVars.push(initShowIfVar)}if(daVarLookupMulti.hasOwnProperty(initShowIfVar)){var n=daVarLookupMulti[initShowIfVar].length;for(var i=0;i0&&!$.contains(this,altElem[0])){showIfVars.push(altShowIfVar)}}}var showIfVal=$(this).data("showif-val");var saveAs=$(this).data("saveas");var showIfDiv=this;showIfVars.forEach(function(showIfVar){var showIfVarEscaped=showIfVar.replace(/(:|\.|\[|\]|,|=)/g,"\\$1");var showHideDiv=function(speed){var elem=daGetField(varName,showIfDiv);if(elem!=null&&!$(elem).parents(".da-form-group").first().is($(this).parents(".da-form-group").first())){return}var theVal;var showifParents=$(this).parents(".dashowif");if(showifParents.length!==0&&!($(showifParents[0]).data("isVisible")=="1")){theVal=""}else if($(this).attr("type")=="checkbox"){theVal=$("input[name='"+showIfVarEscaped+"']:checked").val();if(typeof theVal=="undefined"){theVal="False"}}else if($(this).attr("type")=="radio"){theVal=$("input[name='"+showIfVarEscaped+"']:checked").val();if(typeof theVal=="undefined"){theVal=""}else if(theVal!=""&&$("input[name='"+showIfVarEscaped+"']:checked").hasClass("daobject")){try{theVal=atou(theVal)}catch(e){}}}else{theVal=$(this).val();if(theVal!=""&&$(this).hasClass("daobject")){try{theVal=atou(theVal)}catch(e){}}}if(daShowIfCompare(theVal,showIfVal)){if(showIfSign){if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");var firstChild=$(showIfDiv).children()[0];if(!$(firstChild).hasClass("dacollectextra")||$(firstChild).is(":visible")){$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}}else{if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",true)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}}else{if(showIfSign){if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",true)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}else{if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");var firstChild=$(showIfDiv).children()[0];if(!$(firstChild).hasClass("dacollectextra")||$(firstChild).is(":visible")){$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}}}var leader=false;if(!daShowIfInProcess){daShowIfInProcess=true;daInputsSeen={};leader=true}$(showIfDiv).find(":input").not("[type='file']").each(function(){if(!daInputsSeen.hasOwnProperty($(this).attr("id"))){$(this).trigger("change")}daInputsSeen[$(this).attr("id")]=true});if(leader){daShowIfInProcess=false}};var showHideDivImmediate=function(){showHideDiv.apply(this,[null])};var showHideDivFast=function(){showHideDiv.apply(this,["fast"])};daTriggerQueries.push("#"+showIfVarEscaped);daTriggerQueries.push("input[type='radio'][name='"+showIfVarEscaped+"']");daTriggerQueries.push("input[type='checkbox'][name='"+showIfVarEscaped+"']");$("#"+showIfVarEscaped).change(showHideDivFast);$("#"+showIfVarEscaped).on("daManualTrigger",showHideDivImmediate);$("input[type='radio'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input[type='radio'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate);$("input.dafile[name='"+showIfVarEscaped+"']").on("filecleared",showHideDivFast)})});function daTriggerAllShowHides(){var daUniqueTriggerQueries=daTriggerQueries.filter(daOnlyUnique);var daFirstTime=true;var daTries=0;while((daFirstTime||daShowHideHappened)&&++daTries<100){daShowHideHappened=false;daFirstTime=false;var n=daUniqueTriggerQueries.length;for(var i=0;i=100){console.log("Too many contradictory 'show if' conditions")}}if(daTriggerQueries.length>0){daTriggerAllShowHides()}$(".danavlink").last().addClass("thelast");$(".danavlink").each(function(){if($(this).hasClass("btn")&&!$(this).hasClass("danotavailableyet")){var the_a=$(this);var the_delay=1e3+250*parseInt($(this).data("index"));setTimeout(function(){$(the_a).removeClass(daButtonStyle+"secondary");if($(the_a).hasClass("active")){$(the_a).addClass(daButtonStyle+"success")}else{$(the_a).addClass(daButtonStyle+"warning")}},the_delay)}});daShowIfInProcess=false;if(!daObserverMode){$("#daSend").click(daSender);if(daChatAvailable=="unavailable"){daChatStatus="off"}if(daChatAvailable=="observeonly"){daChatStatus="observeonly"}if((daChatStatus=="off"||daChatStatus=="observeonly")&&daChatAvailable=="available"){daChatStatus="waiting"}daDisplayChat();if(daBeingControlled){daShowControl("fast")}if(daChatStatus=="ready"||daBeingControlled){daInitializeSocket()}if(daInitialized==false&&daCheckinSeconds>0){setTimeout(function(){$.ajax({type:"POST",url:daCheckinUrlWithInterview,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:$.param({action:"chat_log",ajax:"1",csrf_token:daCsrf}),success:daChatLogCallback,dataType:"json"})},200)}if(daInitialized==true){$("#daCorrespondence").html("");for(var i=0;i1){$(daTargetDiv)[0].scrollIntoView()}}else{window.scrollTo(0,1)}},20)}if(daShowingSpinner&&!daWaitPage){daHideSpinner()}if(!daObserverMode){if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}if(daCheckinSeconds>0&&!daWaitPage){daInitialCheckinTimeout=setTimeout(daInitialCheckin,100);daCheckinInterval=setInterval(daCheckin,daCheckinSeconds)}daShowNotifications();if(daUsingGA){daPageview()}if(daUsingSegment){daSegmentEvent()}hideTablist()}}function daUpdateHeight(){$(".dagooglemap").each(function(){var size=$(this).width();$(this).css("height",size)})}function daConfigureJqueryFuncs(){$.validator.setDefaults({ignore:".danovalidation",highlight:function(element){$(element).closest(".da-form-group").addClass("da-group-has-error");$(element).addClass("is-invalid")},unhighlight:function(element){$(element).closest(".da-form-group").removeClass("da-group-has-error");$(element).removeClass("is-invalid")},errorElement:"span",errorClass:"da-has-error invalid-feedback",errorPlacement:function(error,element){$(error).addClass("invalid-feedback");var elementName=$(element).attr("name");var idOfErrorSpan=$(element).attr("id")+"-error";$("#"+idOfErrorSpan).remove();$(error).attr("id",idOfErrorSpan);$(element).attr("aria-invalid","true");$(element).attr("aria-errormessage",idOfErrorSpan);var lastInGroup=$.map(daValidationRules["groups"],function(thefields,thename){var fieldsArr;if(thefields.indexOf(elementName)>=0){fieldsArr=thefields.split(" ");return fieldsArr[fieldsArr.length-1]}else{return null}})[0];if(element.hasClass("dainput-embedded")){error.insertAfter(element)}else if(element.hasClass("dafile-embedded")){error.insertAfter(element)}else if(element.hasClass("daradio-embedded")){element.parent().append(error)}else if(element.hasClass("dacheckbox-embedded")){element.parent().append(error)}else if(element.hasClass("dauncheckable")&&lastInGroup){$("input[name='"+lastInGroup+"']").parent().append(error)}else if(element.parent().hasClass("combobox-container")){element.parent().append(error)}else if(element.hasClass("dafile")){var fileContainer=$(element).parents(".file-input").first();if(fileContainer.length>0){$(fileContainer).append(error)}else{error.insertAfter(element.parent())}}else if(element.parent(".input-group").length){error.insertAfter(element.parent())}else if(element.hasClass("da-active-invisible")){var choice_with_help=$(element).parents(".dachoicewithhelp").first();if(choice_with_help.length>0){$(choice_with_help).parent().append(error)}else{element.parent().append(error)}}else if(element.hasClass("danon-nota-checkbox")){element.parents("div.da-field-group").append(error)}else{error.insertAfter(element)}}});$.validator.addMethod("datetime",function(a,b){return true});$.validator.addMethod("ajaxrequired",function(value,element,params){var realElement=$("#"+$(element).attr("name")+"combobox");var realValue=$(realElement).val();if(!$(realElement).parent().is(":visible")){return true}if(realValue==null||realValue.replace(/\s/g,"")==""){return false}return true});$.validator.addMethod("checkone",function(value,element,params){var number_needed=params[0];var css_query=params[1];if($(css_query).length>=number_needed){return true}else{return false}});$.validator.addMethod("checkatleast",function(value,element,params){if($(element).attr("name")!="_ignore"+params[0]){return true}if($(".dafield"+params[0]+":checked").length>=params[1]){return true}else{return false}});$.validator.addMethod("checkatmost",function(value,element,params){if($(element).attr("name")!="_ignore"+params[0]){return true}if($(".dafield"+params[0]+":checked").length>params[1]){return false}else{return true}});$.validator.addMethod("checkexactly",function(value,element,params){if($(element).attr("name")!="_ignore"+params[0]){return true}if($(".dafield"+params[0]+":checked").length!=params[1]){return false}else{return true}});$.validator.addMethod("selectexactly",function(value,element,params){if($(element).find("option:selected").length==params[0]){return true}else{return false}});$.validator.addMethod("mindate",function(value,element,params){if(value==null||value==""){return true}try{var date=new Date(value);var comparator=new Date(params);if(date>=comparator){return true}}catch(e){}return false});$.validator.addMethod("maxdate",function(value,element,params){if(value==null||value==""){return true}try{var date=new Date(value);var comparator=new Date(params);if(date<=comparator){return true}}catch(e){}return false});$.validator.addMethod("minmaxdate",function(value,element,params){if(value==null||value==""){return true}try{var date=new Date(value);var before_comparator=new Date(params[0]);var after_comparator=new Date(params[1]);if(date>=before_comparator&&date<=after_comparator){return true}}catch(e){}return false});$.validator.addMethod("mintime",function(value,element,params){if(value==null||value==""){return true}try{var time=new Date("1970-01-01T"+value+"Z");var comparator=new Date("1970-01-01T"+params+"Z");if(time>=comparator){return true}}catch(e){}return false});$.validator.addMethod("maxtime",function(value,element,params){if(value==null||value==""){return true}try{var time=new Date("1970-01-01T"+value+"Z");var comparator=new Date("1970-01-01T"+params+"Z");if(time<=comparator){return true}}catch(e){}return false});$.validator.addMethod("minmaxtime",function(value,element,params){if(value==null||value==""){return true}try{var time=new Date("1970-01-01T"+value+"Z");var before_comparator=new Date("1970-01-01T"+params[0]+"Z");var after_comparator=new Date("1970-01-01T"+params[1]+"Z");if(time>=before_comparator&&time<=after_comparator){return true}}catch(e){}return false});$.validator.addMethod("mindatetime",function(value,element,params){if(value==null||value==""){return true}try{var datetime=new Date(value+"Z");var comparator=new Date(params+"Z");if(datetime>=comparator){return true}}catch(e){}return false});$.validator.addMethod("maxdatetime",function(value,element,params){if(value==null||value==""){return true}try{var datetime=new Date(value+"Z");var comparator=new Date(params+"Z");if(datetime<=comparator){return true}}catch(e){}return false});$.validator.addMethod("minmaxdatetime",function(value,element,params){if(value==null||value==""){return true}try{var datetime=new Date(value+"Z");var before_comparator=new Date(params[0]+"Z");var after_comparator=new Date(params[1]+"Z");if(datetime>=before_comparator&&datetime<=after_comparator){return true}}catch(e){}return false});$.validator.addMethod("maxuploadsize",function(value,element,param){try{var limit=parseInt(param)-2e3;if(limit<=0){return true}var maxImageSize;if($(element).data("maximagesize")){maxImageSize=parseInt($(element).data("maximagesize"))*parseInt($(element).data("maximagesize"))*2}else{maxImageSize=0}if($(element).attr("type")==="file"){if(element.files&&element.files.length){var totalSize=0;for(i=0;i0&&element.files[i].size>.2*maxImageSize&&element.files[i].type.match(/image.*/)&&!(element.files[i].type.indexOf("image/svg")==0)){totalSize+=maxImageSize}else{totalSize+=element.files[i].size}}if(totalSize>limit){return false}}return true}}catch(e){}return false})}var dataLayer=window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}function daPageview(){var idToUse=daQuestionID["id"];if(daQuestionID["ga"]!=undefined&&daQuestionID["ga"]!=null){idToUse=daQuestionID["ga"]}if(idToUse!=null){idToUse=idToUse.replace(/[^A-Za-z0-9]+/g,"_");if(!daGAConfigured){var opts={send_page_view:false};if(daSecureCookies){opts["cookie_flags"]="SameSite=None;Secure"}for(var i=0;i0){daReloader=setTimeout(function(){daRefreshSubmit()},daReloadAfter)}if(daUsingGA&&!daObserverMode){gtag("js",new Date)}window.onpopstate=function(event){if(event.state!=null&&event.state.steps2){window.parent.daStopControlling(data.key)}});daSocket.on("newpage",function(incoming){var data=incoming.obj;$(daTargetDiv).html(data.body);if(data.message_log){var srMessages=data.message_log.filter(function(m){return m.priority==="info"||m.priority==="success"||m.priority==="warning"||m.priority==="danger"});if(srMessages.length>0){$("#daSrAnnouncement").text(srMessages.map(function(m){return m.message}).join(" "));daPendingAnnouncement=true}}$(daTargetDiv).parent().removeClass();$(daTargetDiv).parent().addClass(data.bodyclass);daInitialize(1);for(var i=0;icontentwidth){cwidth=contentwidth}var cheight=cwidth*daAspectRatio;var otherHeights=$("#dasigheader").outerHeight(true)+$("#dasigtoppart").outerHeight(true)+$("#dasigmidpart").outerHeight(true)+$("#dasigbottompart").outerHeight(true);if(cheight>$(window).height()-otherHeights){cheight=$(window).height()-otherHeights}if(cheight>275||cheight<30){cheight=275}$("#dasigcontent").height(cheight);var canvas='';$("#dasigcontent").html(canvas);daTheWidth=daThicknessScalingFactor*cwidth/100;if(daTheWidth<1){daTheWidth=1}daSignaturePad=new SignaturePad(document.querySelector("#dasigcanvas"));if(defaultImage!=null){daSignaturePad.fromDataURL(defaultImage,{ratio:1,width:cwidth,height:cheight,xOffset:0,yOffset:0})}daSignaturePad.minWidth=.5*daThicknessScalingFactor;daSignaturePad.maxWidth=2.5*daThicknessScalingFactor;daSignaturePad.penColor=daColor;setTimeout(function(){if(daJsEmbed){$(daTargetDiv)[0].scrollTo(0,1);if(daSteps>1){$(daTargetDiv)[0].scrollIntoView()}}else{window.scrollTo(0,1)}},10)}function daPost(params){for(var key in params){if(params.hasOwnProperty(key)){var hiddenField=document.getElementById(key);if(hiddenField!=null){hiddenField.setAttribute("value",params[key])}else{console.log("Key does not exist: "+key);return}}}$("#dasigform").submit();return}function isCanvasSupported(){var elem=document.createElement("canvas");return!!(elem.getContext&&elem.getContext("2d"))}var daAutocomplete=Object();function daWaitForGoogle(waitForPlaces){return new Promise(resolve=>{let attempts=0;const maxAttempts=50;const interval=setInterval(()=>{var found=false;try{if(google.maps===undefined){throw new Error("google maps not defined")}if(waitForPlaces){if(google.maps.places===undefined){throw new Error("places not defined")}}found=true}catch(e){}if(found||attempts>=maxAttempts){clearInterval(interval);resolve(found)}attempts++},100)})}function daInitAutocomplete(info){daAutocomplete=Object();for(var i=0;i1){maps[i].map.fitBounds(bounds)}}}function daAddMap(map_num,center_lat,center_lon){var map=new google.maps.Map(document.getElementById("map"+map_num),{zoom:11,center:new google.maps.LatLng(center_lat,center_lon),mapTypeId:google.maps.MapTypeId.ROADMAP,mapId:"map"+map_num+"element"});var infowindow=new google.maps.InfoWindow;return{map:map,infowindow:infowindow}}async function daAddMarker(map,marker_info,show_marker){const{AdvancedMarkerElement,PinElement}=await google.maps.importLibrary("marker");var marker;var content;if(marker_info.icon){content=new PinElement(marker_info.icon)}else{content=new PinElement}marker=new AdvancedMarkerElement({position:{lat:marker_info.latitude,lng:marker_info.longitude},map:map.map,content:content.element});if(marker_info.info){google.maps.event.addListener(marker,"click",function(marker,info){return function(){map.infowindow.setContent(info);map.infowindow.open(map.map,marker)}}(marker,marker_info.info))}if(show_marker){map.infowindow.setContent(marker_info.info);map.infowindow.open(map.map,marker)}return marker}function daFillInAddress(origId,place){var id;if(daVarLookupRev[origId]){id=daVarLookupRev[origId]}else{id=origId}var baseVarname=atob(id).replace(/.[a-zA-Z0-9_]+$/,"");baseVarname=baseVarname.replace(/[\[\]]/g,".");var re=new RegExp("^"+baseVarname+".(.*)");var componentTrans={administrative_area_level_1:["state","shortText"],administrative_area_level_2:["county","longText"]};var alternatives=[["city",["locality","sublocality_level_1","neighborhood","administrative_area_level_3","colloquial_area"]],["sublocality",["sublocality_level_1","sublocality_level_2","sublocality_level_3","sublocality_level_4","sublocality_level_5"]]];var fieldsToClear=["address","administrative_area_level_1","administrative_area_level_2","administrative_area_level_3","administrative_area_level_4","administrative_area_level_5","administrative_area_level_6","administrative_area_level_7","adr_format_address","airport","bus_station","business_status","city","colloquial_area","compound_code","country","county","directions_uri","display_name","display_name_language_code","establishment","floor","formatted_address","global_code","has_wheelchair_accessible_entrance","has_wheelchair_accessible_parking","has_wheelchair_accessible_restroom","has_wheelchair_accessible_seating","id","international_phone_number","intersection","landmark","latitude","locality","location","longitude","national_phone_number","natural_feature","neighborhood","park","parking","photos_uri","place_uri ","plus_code","point_of_interest","political","post_box","postal_code","postal_town","premise","price_level","primary_type","primary_type_display_name","primary_type_display_name_language_code","rating","reviews_uri","room","route","state","street_number","sublocality","subpremise","train_station","transit_station","types","utc_offset_minutes","write_a_review_uri","zip"];var idForPart={};$("input, select").each(function(){var the_id=$(this).attr("id");if(typeof the_id!==typeof undefined&&the_id!==false){try{var field_name=atob($(this).attr("id"));if(field_name.indexOf("_field_")==0){field_name=atob(daVarLookupRev[$(this).attr("id")])}var m=re.exec(field_name);if(m.length>0){idForPart[m[1]]=$(this).attr("id")}}catch(e){}}});for(var component in fieldsToClear){if(typeof idForPart[component]!="undefined"&&document.getElementById(idForPart[component])!=null){document.getElementById(idForPart[component]).value=""}}var savedValues={};var toChange=[];for(var i=0;i{var pythonSubVar=camelToUnderscore(jsSubVar);if(value!=null&&typeof idForPart[pythonSubVar]!="undefined"&&document.getElementById(idForPart[pythonSubVar])!=null){document.getElementById(idForPart[pythonSubVar]).value=jsonIfObject(value);toChange.push("#"+idForPart[pythonSubVar])}})}else if(place[jsVar]&&typeof idForPart[pythonVar]!="undefined"&&document.getElementById(idForPart[pythonVar])!=null){document.getElementById(idForPart[pythonVar]).value=jsonIfObject(place[jsVar]);toChange.push("#"+idForPart[pythonVar])}}for(var i=0;i0){id_for_part[m[1]]=$(this).attr("id")}}catch(e){}}});place=daAutocomplete[origId].getPlace();if(typeof id_for_part["address"]!="undefined"&&document.getElementById(id_for_part["address"])!=null){document.getElementById(id_for_part["address"]).value=""}for(var component in fields_to_fill){if(typeof id_for_part[component]!="undefined"&&document.getElementById(id_for_part[component])!=null){document.getElementById(id_for_part[component]).value=""}}var street_number;var route;var savedValues={};var toChange=[];for(var i=0;i1&&window!=top){top.location.href=location.href}}Object.defineProperty(String.prototype,"daSprintf",{value:function(){var args=Array.from(arguments),i=0;function defaultNumber(iValue){return iValue!=undefined&&!isNaN(iValue)?iValue:"0"}function defaultString(iValue){return iValue==undefined?"":""+iValue}return this.replace(/%%|%([+\-])?([^1-9])?(\d+)?(\.\d+)?([deEfhHioQqs])/g,function(match,sign,filler,scale,precision,type){var strOut,space,value;var asNumber=false;if(match=="%%")return"%";if(i>=args.length)return match;value=args[i];while(Array.isArray(value)){args.splice(i,1);for(var j=i;value.length>0;j++)args.splice(j,0,value.shift());value=args[i]}i++;if(filler==undefined)filler=" ";if(scale==undefined&&!isNaN(filler)){scale=filler;filler=" "}if(sign==undefined)sign="sqQ".indexOf(type)>=0?"+":"-";if(scale==undefined)scale=0;if(precision==undefined)precision=".0";scale=parseInt(scale);precision=parseInt(precision.substr(1));switch(type){case"d":case"i":asNumber=true;strOut=parseInt(defaultNumber(value));if(precision>0)strOut+="."+"0".repeat(precision);break;case"e":case"E":asNumber=true;strOut=parseFloat(defaultNumber(value));if(precision==0)strOut=strOut.toExponential();else strOut=strOut.toExponential(precision);if(type=="E")strOut=strOut.replace("e","E");break;case"f":asNumber=true;strOut=parseFloat(defaultNumber(value));if(precision!=0)strOut=strOut.toFixed(precision);break;case"o":case"h":case"H":strOut="\\"+(type=="o"?"0":type)+parseInt(defaultNumber(value)).toString(type=="o"?8:16);break;case"q":strOut="'"+defaultString(value)+"'";break;case"Q":strOut='"'+defaultString(value)+'"';break;default:strOut=defaultString(value);break}if(typeof strOut!="string")strOut=""+strOut;if((space=strOut.length)0){for(var i=0;i0){var showifParents=$(possibleElements[i]).parents(".dajsshowif,.dashowif");if(showifParents.length==0||$(showifParents[0]).data("isVisible")=="1"){if(notInDiv&&$.contains(notInDiv,possibleElements[i])){continue}returnVal=possibleElements[i]}}}if($(returnVal).hasClass("da-to-labelauty")&&$(returnVal).parents("div.da-field-group").length>0){var fieldSet=$(returnVal).parents("div.da-field-group")[0];if(!$(fieldSet).hasClass("da-field-checkbox")&&!$(fieldSet).hasClass("da-field-checkboxes")){return fieldSet}}return returnVal}var daGetField=getField;function setChoices(fieldName,choices){var elem=daGetField(fieldName);if(elem==null){console.log("setChoices: reference to non-existent field "+fieldName);return}var isCombobox=$(elem).attr("type")=="hidden"&&$(elem).parents(".combobox-container").length>0;if(isCombobox){var comboInput=$(elem).parents(".combobox-container").first().find("input.combobox").first();var comboObject=daComboBoxes[$(comboInput).attr("id")];var oldComboVal=comboObject.$target.val();elem=comboObject.$source}if($(elem).prop("tagName")!="SELECT"){console.log("setField: field "+fieldName+" is not a dropdown field");return}var oldVal=$(elem).val();$(elem).find("option[value!='']").each(function(){$(this).remove()});var n=choices.length;for(var i=0;i");opt.val(choices[i][0]);opt.text(choices[i][1]);if(oldVal==choices[i][0]){opt.attr("selected","selected")}$(elem).append(opt)}if(isCombobox){comboObject.refresh();comboObject.clearTarget();if(oldComboVal!=""){daSetField(fieldName,oldComboVal)}}}var daSetChoices=setChoices;function setField(fieldName,theValue){var elem=daGetField(fieldName);if(elem==null){console.log("setField: reference to non-existent field "+fieldName);return}if($(elem).prop("tagName")=="DIV"&&$(elem).hasClass("da-field-group")&&$(elem).hasClass("da-field-radio")){elem=$(elem).find("input")[0]}if($(elem).attr("type")=="checkbox"){if(theValue){if($(elem).prop("checked")!=true){$(elem).click()}}else{if($(elem).prop("checked")!=false){$(elem).click()}}}else if($(elem).attr("type")=="radio"){var fieldNameEscaped=$(elem).attr("name").replace(/(:|\.|\[|\]|,|=)/g,"\\$1");var wasSet=false;if(theValue===true){theValue="True"}if(theValue===false){theValue="False"}$("input[name='"+fieldNameEscaped+"']").each(function(){if($(this).val()==theValue){if($(this).prop("checked")!=true){$(this).prop("checked",true);$(this).trigger("change")}wasSet=true;return false}});if(!wasSet){console.log("setField: could not set radio button "+fieldName+" to "+theValue)}}else if($(elem).attr("type")=="hidden"){if($(elem).val()!=theValue){if($(elem).parents(".combobox-container").length>0){var comboInput=$(elem).parents(".combobox-container").first().find("input.combobox").first();daComboBoxes[$(comboInput).attr("id")].manualSelect(theValue)}else{$(elem).val(theValue);$(elem).trigger("change")}}}else if($(elem).prop("tagName")=="DIV"&&$(elem).hasClass("da-field-group")&&$(elem).hasClass("da-field-checkboxes")){if(!Array.isArray(theValue)){throw new Error("setField: value must be an array")}var n=theValue.length;$(elem).find("input").each(function(){if($(this).hasClass("danota-checkbox")){$(this).prop("checked",n==0);$(this).trigger("change");return}if($(this).hasClass("daaota-checkbox")){$(this).prop("checked",false);$(this).trigger("change");return}if($(this).attr("name").substr(0,7)==="_ignore"){return}var theVal=atou($(this).data("cbvalue"));if($(elem).hasClass("daobject")){theVal=atou(theVal)}var oldVal=$(this).prop("checked")==true;var newVal=false;for(var i=0;i0){if(daJsEmbed){scrollTarget=$(validator.errorList[0].element).parents(".da-form-group").first().position().top-60}else{scrollTarget=$(validator.errorList[0].element).parents(".da-form-group").first().offset().top-60}}if(scrollTarget!=null){if(daJsEmbed){$(daTargetDiv).animate({scrollTop:scrollTarget},1e3)}else{$("html, body").animate({scrollTop:scrollTarget},1e3)}}}var daValidator;var daValidationRules={};function daValidationHandler(form){if(daObserverMode){return}var visibleElements=[];var seen=Object();$(form).find("input, select, textarea").filter(":not(:disabled)").each(function(){if($(this).attr("name")&&$(this).attr("type")!="hidden"&&($(this).hasClass("da-active-invisible")&&$(this).parent().is(":visible")||$(this).is(":visible"))){var theName=$(this).attr("name");if(!seen.hasOwnProperty(theName)){visibleElements.push(theName);seen[theName]=1}}});$(form).find("input[name='_visible']").val(utoa(JSON_stringify(visibleElements)));$(form).each(function(){$(this).find(":input").off("change",daOnChange)});$("meta[name=viewport]").attr("content","width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0");if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}daDisable=setTimeout(function(){$(form).find('input[type="submit"]').prop("disabled",true);$(form).find('button[type="submit"]').prop("disabled",true)},1);if(daWhichButton!=null){$(".da-field-buttons .btn-da").each(function(){if(this!=daWhichButton){$(this).removeClass(daAllButtonClasses);$(this).addClass(daButtonStyle+"light")}});if($(daWhichButton).hasClass(daButtonStyle+"success")){$(daWhichButton).removeClass(daButtonStyle+"success");$(daWhichButton).addClass(daButtonStyle+"primary")}else{$(daWhichButton).removeClass(daButtonStyle+"primary "+daButtonStyle+"info "+daButtonStyle+"warning "+daButtonStyle+"danger "+daButtonStyle+"success "+daButtonStyle+"light");$(daWhichButton).addClass(daButtonStyle+"secondary")}}var tableOrder={};var tableOrderChanges={};$("a.datableup").each(function(){var tableName=$(this).data("tablename");if(!tableOrder.hasOwnProperty(tableName)){tableOrder[tableName]=[]}tableOrder[tableName].push(parseInt($(this).data("tableitem")))});var tableChanged=false;for(var tableName in tableOrder){if(tableOrder.hasOwnProperty(tableName)){var n=tableOrder[tableName].length;for(var i=0;i").attr({type:"hidden",name:"_order_changes",value:JSON.stringify(tableOrderChanges)}).appendTo($(form))}var collectToDelete=[];$(".dacollectunremove:visible").each(function(){collectToDelete.push(parseInt($(this).parent().parent().data("collectnum")))});var lastOk=parseInt($(".dacollectremove:visible, .dacollectremoveexisting:visible").last().parent().parent().data("collectnum"));$(".dacollectremove, .dacollectremoveexisting").each(function(){if(parseInt($(this).parent().parent().data("collectnum"))>lastOk){collectToDelete.push(parseInt($(this).parent().parent().data("collectnum")))}});if(collectToDelete.length>0){$("").attr({type:"hidden",name:"_collect_delete",value:JSON.stringify(collectToDelete)}).appendTo($(form))}$("select.damultiselect:not(:disabled)").each(function(){var showifParents=$(this).parents(".dajsshowif,.dashowif");if(showifParents.length==0||$(showifParents[0]).data("isVisible")=="1"){$(this).find("option").each(function(){$("").attr({type:"hidden",name:$(this).val(),value:$(this).prop("selected")?"True":"False"}).appendTo($(form))})}$(this).prop("disabled",true)});daWhichButton=null;if(daSubmitter!=null&&daSubmitter.name&&$('input[name="'+daSubmitter.name+'"]').length==0){$("").attr({type:"hidden",name:daSubmitter.name,value:daSubmitter.value}).appendTo($(form))}if(daInformedChanged){$("").attr({type:"hidden",name:"informed",value:Object.keys(daInformed).join(",")}).appendTo($(form))}$("").attr({type:"hidden",name:"ajax",value:"1"}).appendTo($(form));daSpinnerTimeout=setTimeout(daShowSpinner,1e3);var do_iframe_upload=false;inline_succeeded=false;if($('input[name="_files"]').length>0){var filesToRead=0;var filesRead=0;var newFileList=Array();var nullFileList=Array();var fileArray={keys:Array(),values:Object()};var file_list=JSON.parse(atou($('input[name="_files"]').val()));var inline_file_list=Array();var namesWithImages=Object();for(var i=0;i0){for(var j=0;j0){newFileList.push(file_list[i])}else{nullFileList.push(file_list[i])}namesWithImages[file_list[i]]=hasImages}if(inline_file_list.length>0){var originalFileList=atou($('input[name="_files"]').val());if(newFileList.length==0&&nullFileList.length==0){$('input[name="_files"]').remove()}else{$('input[name="_files"]').val(utoa(JSON_stringify(newFileList.concat(nullFileList))))}for(var i=0;iheight){if(width>max_size){height*=max_size/width;width=max_size}}else{if(height>max_size){width*=max_size/height;height=max_size}}canvas.width=width;canvas.height=height;canvas.getContext("2d").drawImage(image,0,0,width,height);thisFileInfo["content"]=canvas.toDataURL(convertedType);filesRead++;if(filesRead>=filesToRead){daResumeUploadSubmission(form,fileArray,inline_file_list,newFileList,daSubmitter)}};image.src=reader.result}else{thisFileInfo["content"]=reader.result;filesRead++;if(filesRead>=filesToRead){daResumeUploadSubmission(form,fileArray,inline_file_list,newFileList,daSubmitter)}}};reader.readAsDataURL(the_file)};tempFunc(a_file,max_size,this_has_images);inline_succeeded=true}}}if(newFileList.length==0){}else{do_iframe_upload=true}}if(inline_succeeded){return false}if(do_iframe_upload){$("#dauploadiframe").remove();var iframe=$('');$(daTargetDiv).append(iframe);$(form).attr("target","dauploadiframe");iframe.bind("load",function(){setTimeout(function(){try{daProcessAjax($.parseJSON(daUnfakeHtmlResponse($("#dauploadiframe").contents().text())),form,1)}catch(e){try{daProcessAjax($.parseJSON($("#dauploadiframe").contents().text()),form,1)}catch(f){daShowErrorScreen(document.getElementById("dauploadiframe").contentWindow.document.body.innerHTML,f)}}},0)});form.submit()}else{daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$(form).serialize(),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,form,1)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)}})}return false}function daSetupValidation(rules,messages){daValidationRules=rules;daValidationRules.submitHandler=daValidationHandler;daValidationRules.invalidHandler=daInvalidHandler;daValidationRules.onfocusout=daInjectTrim($.validator.defaults.onfocusout);if($("#daform").length>0){daValidator=$("#daform").validate(daValidationRules);if(Object.keys(messages).length>0){daValidator.showErrors(messages)}}}function daRecordLocation(){if(document.getElementById("da_track_location")==null){return}if(navigator.geolocation){document.getElementById("da_track_location").value=JSON.stringify({error:"getCurrentPosition was still running"});navigator.geolocation.getCurrentPosition(daSetPosition,daShowError,{timeout:1e3,maximumAge:36e5})}else{document.getElementById("da_track_location").value=JSON.stringify({error:"navigator.geolocation not available in browser"})}}function daSignatureSubmit(event){$(this).find("input[name='ajax']").val(1);daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$(this).serialize(),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,$(this),1)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)}});event.preventDefault();event.stopPropagation();return false}function JSON_stringify(s){var json=JSON.stringify(s);return json.replace(/[\u007f-\uffff]/g,function(c){return"\\u"+("0000"+c.charCodeAt(0).toString(16)).slice(-4)})}function daResumeUploadSubmission(form,fileArray,inline_file_list,newFileList,daSubmitter){if(daSubmitter!=null&&daSubmitter.name&&$(form).find('input[name="'+daSubmitter.name+'"]').length==0){$("").attr({type:"hidden",name:daSubmitter.name,value:daSubmitter.value}).appendTo($(form))}$("").attr({type:"hidden",name:"_files_inline",value:utoa(JSON_stringify(fileArray))}).appendTo($(form));for(var i=0;i0){$("#dauploadiframe").remove();var iframe=$('');$(daTargetDiv).append(iframe);$(form).attr("target","dauploadiframe");iframe.bind("load",function(){setTimeout(function(){daProcessAjax($.parseJSON($("#dauploadiframe").contents().text()),form,1)},0)});form.submit()}else{daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$(form).serialize(),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,form,1)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)}})}}function daOnChange(){if(daObserverMode){return}if(daCheckinSeconds==0||daShowIfInProcess){return true}if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}var oThis=this;daCheckin(oThis);daCheckinInterval=setInterval(daCheckin,daCheckinSeconds);return true}function daPushChanges(){if(daObserverMode){if(daObserverChangesInterval!=null){clearInterval(daObserverChangesInterval)}if(!daSendChanges||!daConnected){return}daObserverChangesInterval=setInterval(daPushChanges,daCheckinSeconds);daSocket.emit("observerChanges",{uid:daUid,i:daYamlFilename,userid:daUserObserved,parameters:JSON.stringify($("#daform").serializeArray())});return}if(daCheckinSeconds==0||daShowIfInProcess){return true}if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}daCheckin(null);daCheckinInterval=setInterval(daCheckin,daCheckinSeconds);return true}function daProcessAjaxError(xhr,status,error){daRequestPending=false;if(xhr.responseType==undefined||xhr.responseType==""||xhr.responseType=="text"){var theHtml=xhr.responseText;if(theHtml==undefined){$(daTargetDiv).html("error")}else{var newDiv=document.createElement("div");$(newDiv).html(theHtml);var daDivs=$(newDiv).children("div");if(daDivs.length>0){$(daTargetDiv).empty();for(var i=0;i0){for(var i=0;i0){for(var i=0;ihistory.state.steps){history.pushState({steps:daSteps},data.browser_title+" - page "+daSteps,daLocationBar+daPageSep+daSteps)}else{history.replaceState({steps:daSteps},"",daLocationBar+daPageSep+daSteps)}}daAllowGoingBack=data.allow_going_back;daQuestionID=data.id_dict;daMessageLog=data.message_log;daInitialize(doScroll);for(var i=0;i0){daReloader=setTimeout(function(){daRefreshSubmit()},data.reload_after)}daUpdateHeight()}else if(data.action=="redirect"){if(daSpinnerTimeout!=null){clearTimeout(daSpinnerTimeout);daSpinnerTimeout=null}if(daShowingSpinner){daHideSpinner()}window.location=data.url}else if(data.action=="refresh"){daRefreshSubmit()}else if(data.action=="reload"){location.reload(true)}else if(data.action=="resubmit"){if(form==null){window.location=actionURL}$("input[name='ajax']").remove();if(daSubmitter!=null&&daSubmitter.name&&$('input[name="'+daSubmitter.name+'"]').length==0){var input=$("").attr("type","hidden").attr("name",daSubmitter.name).val(daSubmitter.value);$(form).append($(input))}form.submit()}else if(data.action=="wait"){if(daSpinnerTimeout==null&&!daShowingSpinner){daShowSpinner()}setTimeout(daRefreshSubmit,(data.sleep||4)*1e3)}}function daEmbeddedJs(e){var data=decodeURIComponent($(this).data("js"));daGlobalEval(data);e.preventDefault();return false}function daEmbeddedAction(e){if(daRequestPending){e.preventDefault();$(this).blur();return false}if($(this).hasClass("daremovebutton")){if(confirm(daAreYouSure)){return true}e.preventDefault();$(this).blur();return false}var actionData=decodeURIComponent($(this).data("embaction"));var theURL=$(this).attr("href");daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$.param({_action:actionData,csrf_token:daCsrf,ajax:1}),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,null,1,theURL)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)},dataType:"json"});daSpinnerTimeout=setTimeout(daShowSpinner,1e3);e.preventDefault();return false}function daReviewAction(e){if(daRequestPending){e.preventDefault();$(this).blur();return false}var info=$.parseJSON(atou($(this).data("action")));da_action_perform(info["action"],info["arguments"]);e.preventDefault();return false}function daRingChat(){daChatStatus="ringing";daPushChanges()}function daTurnOnChat(){$("#daChatOnButton").addClass("dainvisible");$("#daChatBox").removeClass("dainvisible");$("#daCorrespondence").html("");for(var i=0;i0){$("#daChatBox").removeClass("dainvisible")}}else{$("#daChatBox").removeClass("dainvisible")}}if(daChatStatus=="waiting"){if(daChatHistory.length>0){$("#daChatAvailable a i").removeClass("da-chat-active");$("#daChatAvailable a i").addClass("da-chat-inactive");$("#daChatAvailable").removeClass("dainvisible")}else{$("#daChatAvailable a i").removeClass("da-chat-active");$("#daChatAvailable a i").removeClass("da-chat-inactive");$("#daChatAvailable").addClass("dainvisible")}$("#daChatOnButton").addClass("dainvisible");$("#daChatOffButton").addClass("dainvisible");$("#daMessage").prop("disabled",true);$("#daSend").prop("disabled",true)}if(daChatStatus=="standby"||daChatStatus=="ready"){$("#daChatAvailable").removeClass("dainvisible");$("#daChatAvailable a i").removeClass("da-chat-inactive");$("#daChatAvailable a i").addClass("da-chat-active");$("#daChatOnButton").removeClass("dainvisible");$("#daChatOffButton").addClass("dainvisible");$("#daMessage").prop("disabled",true);$("#daSend").prop("disabled",true);daInformAbout("chat")}if(daChatStatus=="on"){$("#daChatAvailable").removeClass("dainvisible");$("#daChatAvailable a i").removeClass("da-chat-inactive");$("#daChatAvailable a i").addClass("da-chat-active");$("#daChatOnButton").addClass("dainvisible");$("#daChatOffButton").removeClass("dainvisible");$("#daMessage").prop("disabled",false);if(daShowingHelp){$("#daMessage").focus()}$("#daSend").prop("disabled",false);daInformAbout("chat")}hideTablist()}function daChatLogCallback(data){if(data.action&&data.action=="reload"){location.reload(true)}if(data.success){$("#daCorrespondence").html("");daChatHistory=[];var messages=data.messages;for(var i=0;i0){for(var i=0;i'+data.num_peers+" "+daOtherUser+"")}else{$("#dapeerMessage").html(''+data.num_peers+" "+daOtherUsers+"")}$("#dapeerMessage").removeClass("dainvisible")}else{$("#dapeerMessage").addClass("dainvisible")}if(daChatMode=="peerhelp"||daChatMode=="help"){if(data.help_available==1){$("#dapeerHelpMessage").html(''+data.help_available+" "+daOperator+"")}else{$("#dapeerHelpMessage").html(''+data.help_available+" "+daOperators+"")}$("#dapeerHelpMessage").removeClass("dainvisible")}else{$("#dapeerHelpMessage").addClass("dainvisible")}if(daBeingControlled){if(!data.observerControl){daBeingControlled=false;daHideControl();if(daChatStatus!="on"){if(daSocket!=null&&daSocket.connected){daSocket.emit("terminate")}}}}else{if(data.observerControl){daBeingControlled=true;daInitializeSocket()}}}hideTablist()}function daCheckoutCallback(data){}function daInitialCheckin(){daCheckin("initial")}function daCheckin(elem){var elem=typeof elem==="undefined"?null:elem;daCheckingIn+=1;if(elem===null&&daCheckingIn>1){return}var datastring;if(daChatStatus!="off"&&$("#daform").length>0&&!daBeingControlled){if(daDoAction!=null){datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,parameters:daFormAsJSON(elem),raw_parameters:JSON.stringify($("#daform").serializeArray()),do_action:daDoAction,ajax:"1"})}else{datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,parameters:daFormAsJSON(elem),raw_parameters:JSON.stringify($("#daform").serializeArray()),ajax:"1"})}}else{if(daDoAction!=null){datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,do_action:daDoAction,parameters:daFormAsJSON(elem),ajax:"1"})}else{datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,ajax:"1"})}}$.ajax({type:"POST",url:daCheckinUrl,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:datastring,success:daCheckinCallback,dataType:"json"});return true}function daCheckout(){$.ajax({type:"POST",url:daCheckoutUrl,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:"csrf_token="+daCsrf+"&ajax=1&action=checkout",success:daCheckoutCallback,dataType:"json"});return true}function daStopCheckingIn(){daCheckout();if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}}function daShowSpinner(){if($("#daquestion").length>0){$('
').appendTo(daTargetDiv)}else{var newSpan=document.createElement("span");var newI=document.createElement("i");$(newI).addClass("fa-solid fa-spinner fa-spin");$(newI).appendTo(newSpan);$(newSpan).attr("id","daSpinner");$(newSpan).addClass("da-sig-spinner da-top-for-navbar");$(newSpan).appendTo("#dasigtoppart")}daShowingSpinner=true}function daHideSpinner(){$("#daSpinner").remove();daShowingSpinner=false;daSpinnerTimeout=null}function daObserverSubmitter(event){if(!daSendChanges||!daConnected){event.preventDefault();return false}var theAction=null;if($(this).hasClass("da-review-action")){theAction=$(this).data("action")}var embeddedJs=$(this).data("js");var embeddedAction=$(this).data("embaction");var linkNum=$(this).data("linknum");var theId=$(this).attr("id");if(theId=="dapagetitle"){theId="daquestionlabel"}var theName=$(this).attr("name");var theValue=$(this).val();var skey;if(linkNum){skey='a[data-linknum="'+linkNum+'"]'}else if(embeddedAction){skey='a[data-embaction="'+embeddedAction.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")+'"]'}else if(theAction){skey='a[data-action="'+theAction.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")+'"]'}else if(theId){skey="#"+theId.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")}else if(theName){skey="#"+$(this).parents("form").attr("id")+" "+$(this).prop("tagName").toLowerCase()+'[name="'+theName.replace(/(:|\.|\[|\]|,|=|\/)/g,"\\$1")+'"]';if(typeof theValue!=="undefined"){skey+='[value="'+theValue+'"]'}}else{skey="#"+$(this).parents("form").attr("id")+" "+$(this).prop("tagName").toLowerCase()+'[type="submit"]'}if(daObserverChangesInterval!=null&&embeddedJs==null&&theId!="dabackToQuestion"&&theId!="dahelptoggle"&&theId!="daquestionlabel"){clearInterval(daObserverChangesInterval)}daSocket.emit("observerChanges",{uid:daUid,i:daYamlFilename,userid:daUserObserved,clicked:skey,parameters:JSON.stringify($("#daform").serializeArray())});if(embeddedJs!=null){daGlobalEval(decodeURIComponent(embeddedJs))}if(theId!="dabackToQuestion"&&theId!="dahelptoggle"&&theId!="daquestionlabel"){event.preventDefault();return false}}function daAdjustInputWidth(e){var contents=$(this).val();var leftBracket=new RegExp("<","g");var rightBracket=new RegExp(">","g");contents=contents.replace(/&/g,"&").replace(leftBracket,"<").replace(rightBracket,">").replace(/ /g," ");$('').html(contents).appendTo("#daquestion");$("#dawidth").css("min-width",$(this).css("min-width"));$("#dawidth").css("background-color",$(daTargetDiv).css("background-color"));$("#dawidth").css("color",$(daTargetDiv).css("background-color"));$(this).width($("#dawidth").width()+16);setTimeout(function(){$("#dawidth").remove()},0)}function daShowNotifications(){var n=daMessageLog.length;for(var i=0;ifirstNum){if($('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]:visible').length>0){if(!$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').find(".dacollectadd").hasClass("dainvisible")&&$('div.dacollectextraheader[data-collectnum="'+n+'"]').find(".dacollectremove").hasClass("dainvisible")){$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').hide()}}}var n=parseInt(finalNum);var seenAddAnother=false;while(n-- >firstNum){if($('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]:visible').length>0){if(!$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').find(".dacollectadd").hasClass("dainvisible")){seenAddAnother=true}var current=$('div.dacollectextraheader[data-collectnum="'+n+'"]');if(seenAddAnother&&!$(current).find(".dacollectadd").hasClass("dainvisible")){$(current).find(".dacollectadd").addClass("dainvisible");$(current).find(".dacollectunremove").removeClass("dainvisible")}}}}function daFetchAjax(elem,cb,doShow){var wordStart=$(elem).val();if(wordStart.length");emptyItem.val("");emptyItem.text("");cb.$source.append(emptyItem);var notYetSelected=true;var selectedValue=null;if(Array.isArray(data)){for(var i=0;i=2){var item=$("
');$('').appendTo(toggler);$(''+daToggleWord+"").appendTo(toggler)}else{toggler=$('');$('').appendTo(toggler);$(''+daToggleWord+"").appendTo(toggler)}toggler.appendTo(prev);toggler.on("click",function(e){var oThis=this;$(this).find("svg").each(function(){if($(this).attr("data-icon")=="caret-down"){$(this).removeClass("fa-caret-down");$(this).addClass("fa-caret-right");$(this).attr("data-icon","caret-right");$(box).hide();$(oThis).attr("aria-pressed","false");$(box).toggleClass("danotshowing")}else if($(this).attr("data-icon")=="caret-right"){$(this).removeClass("fa-caret-right");$(this).addClass("fa-caret-down");$(this).attr("data-icon","caret-down");$(box).show();$(oThis).attr("aria-pressed","true");$(box).toggleClass("danotshowing")}});e.stopPropagation();e.preventDefault();return false})}});$("body").focus();if(!daJsEmbed&&!isAndroid){setTimeout(function(){var firstInput=$("#daform .da-field-container").not(".da-field-container-note").first().find("input, textarea, select").filter(":visible").first();if(firstInput.length>0&&$(firstInput).visible()){$(firstInput).focus();var inputType=$(firstInput).attr("type");if($(firstInput).prop("tagName")!="SELECT"&&inputType!="checkbox"&&inputType!="radio"&&inputType!="hidden"&&inputType!="submit"&&inputType!="file"&&inputType!="range"&&inputType!="number"&&inputType!="date"&&inputType!="time"){var strLength=$(firstInput).val().length*2;if(strLength>0){try{$(firstInput)[0].setSelectionRange(strLength,strLength)}catch(err){console.log(err.message)}}}}else{var firstButton=$("#danavbar-collapse .nav-link").filter(":visible").first();if(firstButton.length>0&&$(firstButton).visible()){setTimeout(function(){$(firstButton).focus();$(firstButton).blur()},0)}}},15)}}$("input.dauncheckspecificothers").on("change",function(){if($(this).is(":checked")){var theIds=$.parseJSON(atou($(this).data("unchecklist")));var n=theIds.length;for(var i=0;i0){showIfVars.push(initShowIfVar)}if(daVarLookupMulti.hasOwnProperty(initShowIfVar)){for(var j=0;j0&&!$.contains(this,altElem[0])){showIfVars.push(altShowIfVar)}}}if(showIfVars.length==0){console.log("ERROR: reference to non-existent field "+infoItem)}showIfVars.forEach(function(showIfVar){var showIfVarEscaped=showIfVar.replace(/(:|\.|\[|\]|,|=)/g,"\\$1");var varToUse=infoItem;var showHideDiv=function(speed){var elem=daGetField(varToUse);if(elem!=null&&!$(elem).parents(".da-form-group").first().is($(this).parents(".da-form-group").first())){return}var resultt=eval(jsExpression);if(resultt){if(showIfSign){if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}else{if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}}else{if(showIfSign){if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",true)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}else{if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}}var leader=false;if(!daShowIfInProcess){daShowIfInProcess=true;daInputsSeen={};leader=true}$(showIfDiv).find(":input").not("[type='file']").each(function(){if(!daInputsSeen.hasOwnProperty($(this).attr("id"))){$(this).trigger("change")}daInputsSeen[$(this).attr("id")]=true});if(leader){daShowIfInProcess=false}};var showHideDivImmediate=function(){showHideDiv.apply(this,[null])};var showHideDivFast=function(){showHideDiv.apply(this,["fast"])};daTriggerQueries.push("#"+showIfVarEscaped);daTriggerQueries.push("input[type='radio'][name='"+showIfVarEscaped+"']");daTriggerQueries.push("input[type='checkbox'][name='"+showIfVarEscaped+"']");$("#"+showIfVarEscaped).change(showHideDivFast);$("input[type='radio'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input.dafile[name='"+showIfVarEscaped+"']").on("filecleared",showHideDivFast);$("#"+showIfVarEscaped).on("daManualTrigger",showHideDivImmediate);$("input[type='radio'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate)})})});$(".dashowif").each(function(){var showIfVars=[];var showIfSign=$(this).data("showif-sign");var showIfMode=parseInt($(this).data("showif-mode"));var initShowIfVar=$(this).data("showif-var");var varName=atou(initShowIfVar);var elem=[];if(varName.endsWith("[nota]")||varName.endsWith("[aota]")){var signifier=varName.endsWith("[nota]")?"nota":"aota";var cbVarName=varName.replace(/\[[na]ota\]$/,"");$("div.da-field-group.da-field-checkboxes").each(function(){var thisVarName=atou($(this).data("varname"));if(thisVarName==cbVarName){elem=$(this).find("input.da"+signifier+"-checkbox");initShowIfVar=$(elem).attr("name")}})}else{var initShowIfVarEscaped=initShowIfVar.replace(/(:|\.|\[|\]|,|=)/g,"\\$1");elem=$("[name='"+initShowIfVarEscaped+"']")}if(elem.length>0){showIfVars.push(initShowIfVar)}if(daVarLookupMulti.hasOwnProperty(initShowIfVar)){var n=daVarLookupMulti[initShowIfVar].length;for(var i=0;i0&&!$.contains(this,altElem[0])){showIfVars.push(altShowIfVar)}}}var showIfVal=$(this).data("showif-val");var saveAs=$(this).data("saveas");var showIfDiv=this;showIfVars.forEach(function(showIfVar){var showIfVarEscaped=showIfVar.replace(/(:|\.|\[|\]|,|=)/g,"\\$1");var showHideDiv=function(speed){var elem=daGetField(varName,showIfDiv);if(elem!=null&&!$(elem).parents(".da-form-group").first().is($(this).parents(".da-form-group").first())){return}var theVal;var showifParents=$(this).parents(".dashowif");if(showifParents.length!==0&&!($(showifParents[0]).data("isVisible")=="1")){theVal=""}else if($(this).attr("type")=="checkbox"){theVal=$("input[name='"+showIfVarEscaped+"']:checked").val();if(typeof theVal=="undefined"){theVal="False"}}else if($(this).attr("type")=="radio"){theVal=$("input[name='"+showIfVarEscaped+"']:checked").val();if(typeof theVal=="undefined"){theVal=""}else if(theVal!=""&&$("input[name='"+showIfVarEscaped+"']:checked").hasClass("daobject")){try{theVal=atou(theVal)}catch(e){}}}else{theVal=$(this).val();if(theVal!=""&&$(this).hasClass("daobject")){try{theVal=atou(theVal)}catch(e){}}}if(daShowIfCompare(theVal,showIfVal)){if(showIfSign){if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");var firstChild=$(showIfDiv).children()[0];if(!$(firstChild).hasClass("dacollectextra")||$(firstChild).is(":visible")){$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}}else{if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",true)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}}else{if(showIfSign){if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",true)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}else{if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");var firstChild=$(showIfDiv).children()[0];if(!$(firstChild).hasClass("dacollectextra")||$(firstChild).is(":visible")){$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}}}var leader=false;if(!daShowIfInProcess){daShowIfInProcess=true;daInputsSeen={};leader=true}$(showIfDiv).find(":input").not("[type='file']").each(function(){if(!daInputsSeen.hasOwnProperty($(this).attr("id"))){$(this).trigger("change")}daInputsSeen[$(this).attr("id")]=true});if(leader){daShowIfInProcess=false}};var showHideDivImmediate=function(){showHideDiv.apply(this,[null])};var showHideDivFast=function(){showHideDiv.apply(this,["fast"])};daTriggerQueries.push("#"+showIfVarEscaped);daTriggerQueries.push("input[type='radio'][name='"+showIfVarEscaped+"']");daTriggerQueries.push("input[type='checkbox'][name='"+showIfVarEscaped+"']");$("#"+showIfVarEscaped).change(showHideDivFast);$("#"+showIfVarEscaped).on("daManualTrigger",showHideDivImmediate);$("input[type='radio'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input[type='radio'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate);$("input.dafile[name='"+showIfVarEscaped+"']").on("filecleared",showHideDivFast)})});function daTriggerAllShowHides(){var daUniqueTriggerQueries=daTriggerQueries.filter(daOnlyUnique);var daFirstTime=true;var daTries=0;while((daFirstTime||daShowHideHappened)&&++daTries<100){daShowHideHappened=false;daFirstTime=false;var n=daUniqueTriggerQueries.length;for(var i=0;i=100){console.log("Too many contradictory 'show if' conditions")}}if(daTriggerQueries.length>0){daTriggerAllShowHides()}$(".danavlink").last().addClass("thelast");$(".danavlink").each(function(){if($(this).hasClass("btn")&&!$(this).hasClass("danotavailableyet")){var the_a=$(this);var the_delay=1e3+250*parseInt($(this).data("index"));setTimeout(function(){$(the_a).removeClass(daButtonStyle+"secondary");if($(the_a).hasClass("active")){$(the_a).addClass(daButtonStyle+"success")}else{$(the_a).addClass(daButtonStyle+"warning")}},the_delay)}});daShowIfInProcess=false;if(!daObserverMode){$("#daSend").click(daSender);if(daChatAvailable=="unavailable"){daChatStatus="off"}if(daChatAvailable=="observeonly"){daChatStatus="observeonly"}if((daChatStatus=="off"||daChatStatus=="observeonly")&&daChatAvailable=="available"){daChatStatus="waiting"}daDisplayChat();if(daBeingControlled){daShowControl("fast")}if(daChatStatus=="ready"||daBeingControlled){daInitializeSocket()}if(daInitialized==false&&daCheckinSeconds>0){setTimeout(function(){$.ajax({type:"POST",url:daCheckinUrlWithInterview,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:$.param({action:"chat_log",ajax:"1",csrf_token:daCsrf}),success:daChatLogCallback,dataType:"json"})},200)}if(daInitialized==true){$("#daCorrespondence").html("");for(var i=0;i1){$(daTargetDiv)[0].scrollIntoView()}}else{window.scrollTo(0,1)}},20)}if(daShowingSpinner&&!daWaitPage){daHideSpinner()}if(!daObserverMode){if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}if(daCheckinSeconds>0&&!daWaitPage){daInitialCheckinTimeout=setTimeout(daInitialCheckin,100);daCheckinInterval=setInterval(daCheckin,daCheckinSeconds)}daShowNotifications();if(daUsingGA){daPageview()}if(daUsingSegment){daSegmentEvent()}hideTablist()}}function daUpdateHeight(){$(".dagooglemap").each(function(){var size=$(this).width();$(this).css("height",size)})}function daConfigureJqueryFuncs(){$.validator.setDefaults({ignore:".danovalidation",highlight:function(element){$(element).closest(".da-form-group").addClass("da-group-has-error");$(element).addClass("is-invalid")},unhighlight:function(element){$(element).closest(".da-form-group").removeClass("da-group-has-error");$(element).removeClass("is-invalid")},errorElement:"span",errorClass:"da-has-error invalid-feedback",errorPlacement:function(error,element){$(error).addClass("invalid-feedback");var elementName=$(element).attr("name");var idOfErrorSpan=$(element).attr("id")+"-error";$("#"+idOfErrorSpan).remove();$(error).attr("id",idOfErrorSpan);$(element).attr("aria-invalid","true");$(element).attr("aria-errormessage",idOfErrorSpan);var lastInGroup=$.map(daValidationRules["groups"],function(thefields,thename){var fieldsArr;if(thefields.indexOf(elementName)>=0){fieldsArr=thefields.split(" ");return fieldsArr[fieldsArr.length-1]}else{return null}})[0];if(element.hasClass("dainput-embedded")){error.insertAfter(element)}else if(element.hasClass("dafile-embedded")){error.insertAfter(element)}else if(element.hasClass("daradio-embedded")){element.parent().append(error)}else if(element.hasClass("dacheckbox-embedded")){element.parent().append(error)}else if(element.hasClass("dauncheckable")&&lastInGroup){$("input[name='"+lastInGroup+"']").parent().append(error)}else if(element.parent().hasClass("combobox-container")){element.parent().append(error)}else if(element.hasClass("dafile")){var fileContainer=$(element).parents(".file-input").first();if(fileContainer.length>0){$(fileContainer).append(error)}else{error.insertAfter(element.parent())}}else if(element.parent(".input-group").length){error.insertAfter(element.parent())}else if(element.hasClass("da-active-invisible")){var choice_with_help=$(element).parents(".dachoicewithhelp").first();if(choice_with_help.length>0){$(choice_with_help).parent().append(error)}else{element.parent().append(error)}}else if(element.hasClass("danon-nota-checkbox")){element.parents("div.da-field-group").append(error)}else{error.insertAfter(element)}}});$.validator.addMethod("datetime",function(a,b){return true});$.validator.addMethod("ajaxrequired",function(value,element,params){var realElement=$("#"+$(element).attr("name")+"combobox");var realValue=$(realElement).val();if(!$(realElement).parent().is(":visible")){return true}if(realValue==null||realValue.replace(/\s/g,"")==""){return false}return true});$.validator.addMethod("checkone",function(value,element,params){var number_needed=params[0];var css_query=params[1];if($(css_query).length>=number_needed){return true}else{return false}});$.validator.addMethod("checkatleast",function(value,element,params){if($(element).attr("name")!="_ignore"+params[0]){return true}if($(".dafield"+params[0]+":checked").length>=params[1]){return true}else{return false}});$.validator.addMethod("checkatmost",function(value,element,params){if($(element).attr("name")!="_ignore"+params[0]){return true}if($(".dafield"+params[0]+":checked").length>params[1]){return false}else{return true}});$.validator.addMethod("checkexactly",function(value,element,params){if($(element).attr("name")!="_ignore"+params[0]){return true}if($(".dafield"+params[0]+":checked").length!=params[1]){return false}else{return true}});$.validator.addMethod("selectexactly",function(value,element,params){if($(element).find("option:selected").length==params[0]){return true}else{return false}});$.validator.addMethod("mindate",function(value,element,params){if(value==null||value==""){return true}try{var date=new Date(value);var comparator=new Date(params);if(date>=comparator){return true}}catch(e){}return false});$.validator.addMethod("maxdate",function(value,element,params){if(value==null||value==""){return true}try{var date=new Date(value);var comparator=new Date(params);if(date<=comparator){return true}}catch(e){}return false});$.validator.addMethod("minmaxdate",function(value,element,params){if(value==null||value==""){return true}try{var date=new Date(value);var before_comparator=new Date(params[0]);var after_comparator=new Date(params[1]);if(date>=before_comparator&&date<=after_comparator){return true}}catch(e){}return false});$.validator.addMethod("mintime",function(value,element,params){if(value==null||value==""){return true}try{var time=new Date("1970-01-01T"+value+"Z");var comparator=new Date("1970-01-01T"+params+"Z");if(time>=comparator){return true}}catch(e){}return false});$.validator.addMethod("maxtime",function(value,element,params){if(value==null||value==""){return true}try{var time=new Date("1970-01-01T"+value+"Z");var comparator=new Date("1970-01-01T"+params+"Z");if(time<=comparator){return true}}catch(e){}return false});$.validator.addMethod("minmaxtime",function(value,element,params){if(value==null||value==""){return true}try{var time=new Date("1970-01-01T"+value+"Z");var before_comparator=new Date("1970-01-01T"+params[0]+"Z");var after_comparator=new Date("1970-01-01T"+params[1]+"Z");if(time>=before_comparator&&time<=after_comparator){return true}}catch(e){}return false});$.validator.addMethod("mindatetime",function(value,element,params){if(value==null||value==""){return true}try{var datetime=new Date(value+"Z");var comparator=new Date(params+"Z");if(datetime>=comparator){return true}}catch(e){}return false});$.validator.addMethod("maxdatetime",function(value,element,params){if(value==null||value==""){return true}try{var datetime=new Date(value+"Z");var comparator=new Date(params+"Z");if(datetime<=comparator){return true}}catch(e){}return false});$.validator.addMethod("minmaxdatetime",function(value,element,params){if(value==null||value==""){return true}try{var datetime=new Date(value+"Z");var before_comparator=new Date(params[0]+"Z");var after_comparator=new Date(params[1]+"Z");if(datetime>=before_comparator&&datetime<=after_comparator){return true}}catch(e){}return false});$.validator.addMethod("maxuploadsize",function(value,element,param){try{var limit=parseInt(param)-2e3;if(limit<=0){return true}var maxImageSize;if($(element).data("maximagesize")){maxImageSize=parseInt($(element).data("maximagesize"))*parseInt($(element).data("maximagesize"))*2}else{maxImageSize=0}if($(element).attr("type")==="file"){if(element.files&&element.files.length){var totalSize=0;for(i=0;i0&&element.files[i].size>.2*maxImageSize&&element.files[i].type.match(/image.*/)&&!(element.files[i].type.indexOf("image/svg")==0)){totalSize+=maxImageSize}else{totalSize+=element.files[i].size}}if(totalSize>limit){return false}}return true}}catch(e){}return false})}var dataLayer=window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}function daPageview(){var idToUse=daQuestionID["id"];if(daQuestionID["ga"]!=undefined&&daQuestionID["ga"]!=null){idToUse=daQuestionID["ga"]}if(idToUse!=null){idToUse=idToUse.replace(/[^A-Za-z0-9]+/g,"_");if(!daGAConfigured){var opts={send_page_view:false};if(daSecureCookies){opts["cookie_flags"]="SameSite=None;Secure"}for(var i=0;i0){daReloader=setTimeout(function(){daRefreshSubmit()},daReloadAfter)}if(daUsingGA&&!daObserverMode){gtag("js",new Date)}window.onpopstate=function(event){if(event.state!=null&&event.state.steps2){window.parent.daStopControlling(data.key)}});daSocket.on("newpage",function(incoming){var data=incoming.obj;$(daTargetDiv).html(data.body);$(daTargetDiv).parent().removeClass();$(daTargetDiv).parent().addClass(data.bodyclass);daInitialize(1);for(var i=0;i contentwidth) {\n cwidth = contentwidth;\n }\n var cheight = cwidth * daAspectRatio;\n var otherHeights =\n $(\"#dasigheader\").outerHeight(true) +\n $(\"#dasigtoppart\").outerHeight(true) +\n $(\"#dasigmidpart\").outerHeight(true) +\n $(\"#dasigbottompart\").outerHeight(true);\n if (cheight > $(window).height() - otherHeights) {\n cheight = $(window).height() - otherHeights;\n }\n if (cheight > 275 || cheight < 30) {\n cheight = 275;\n }\n $(\"#dasigcontent\").height(cheight);\n var canvas =\n '';\n $(\"#dasigcontent\").html(canvas);\n daTheWidth = (daThicknessScalingFactor * cwidth) / 100.0;\n if (daTheWidth < 1) {\n daTheWidth = 1;\n }\n daSignaturePad = new SignaturePad(document.querySelector(\"#dasigcanvas\"));\n if (defaultImage != null) {\n daSignaturePad.fromDataURL(defaultImage, {\n ratio: 1,\n width: cwidth,\n height: cheight,\n xOffset: 0,\n yOffset: 0,\n });\n }\n daSignaturePad.minWidth = 0.5 * daThicknessScalingFactor;\n daSignaturePad.maxWidth = 2.5 * daThicknessScalingFactor;\n daSignaturePad.penColor = daColor;\n setTimeout(function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n if (daSteps > 1) {\n $(daTargetDiv)[0].scrollIntoView();\n }\n } else {\n window.scrollTo(0, 1);\n }\n }, 10);\n}\n\nfunction daPost(params) {\n for (var key in params) {\n if (params.hasOwnProperty(key)) {\n var hiddenField = document.getElementById(key);\n if (hiddenField != null) {\n hiddenField.setAttribute(\"value\", params[key]);\n } else {\n console.log(\"Key does not exist: \" + key);\n return;\n }\n }\n }\n $(\"#dasigform\").submit();\n return;\n}\n\nfunction isCanvasSupported() {\n var elem = document.createElement(\"canvas\");\n return !!(elem.getContext && elem.getContext(\"2d\"));\n}\n\nvar daAutocomplete = Object();\n\nfunction daWaitForGoogle(waitForPlaces) {\n return new Promise((resolve) => {\n let attempts = 0;\n const maxAttempts = 50;\n const interval = setInterval(() => {\n var found = false;\n try {\n if (google.maps === undefined) {\n throw new Error(\"google maps not defined\");\n }\n if (waitForPlaces) {\n if (google.maps.places === undefined) {\n throw new Error(\"places not defined\");\n }\n }\n found = true;\n } catch (e) {}\n if (found || attempts >= maxAttempts) {\n clearInterval(interval);\n resolve(found);\n }\n attempts++;\n }, 100);\n });\n}\n\nfunction daInitAutocomplete(info) {\n daAutocomplete = Object();\n for (var i = 0; i < info.length; ++i) {\n daAutocomplete[info[i][0]] = {\n id: info[i][0],\n opts: info[i][1],\n suggestions: {},\n };\n }\n}\n\nasync function daInitAutocompleteOld(info) {\n await daWaitForGoogle(true);\n for (var i = 0; i < info.length; ++i) {\n var id = info[i][0];\n var opts = info[i][1];\n daAutocomplete[id] = new google.maps.places.Autocomplete(\n document.getElementById(id),\n opts,\n );\n google.maps.event.addListener(\n daAutocomplete[id],\n \"place_changed\",\n daFillInAddressFor(id),\n );\n }\n}\n\nfunction daFillInAddressFor(id) {\n return function () {\n daFillInAddressOld(id);\n };\n}\n\nasync function daInitMap(daMapInfo) {\n var googleLoaded = await daWaitForGoogle(false);\n if (!googleLoaded) {\n console.log(\"Could not load Google Maps library\");\n return;\n }\n await google.maps.importLibrary(\"core\");\n var timePeriod = 0;\n maps = [];\n var map_info_length = daMapInfo.length;\n for (var i = 0; i < map_info_length; i++) {\n the_map = daMapInfo[i];\n var bounds = new google.maps.LatLngBounds();\n maps[i] = daAddMap(i, the_map.center.latitude, the_map.center.longitude);\n marker_length = the_map.markers.length;\n if (marker_length == 1) {\n show_marker = true;\n } else {\n show_marker = false;\n }\n for (var j = 0; j < marker_length; j++) {\n var new_marker = await daAddMarker(\n maps[i],\n the_map.markers[j],\n show_marker,\n );\n bounds.extend(\n new google.maps.LatLng(\n new_marker.position.lat,\n new_marker.position.lng,\n ),\n );\n }\n if (marker_length > 1) {\n maps[i].map.fitBounds(bounds);\n }\n }\n}\n\nfunction daAddMap(map_num, center_lat, center_lon) {\n var map = new google.maps.Map(document.getElementById(\"map\" + map_num), {\n zoom: 11,\n center: new google.maps.LatLng(center_lat, center_lon),\n mapTypeId: google.maps.MapTypeId.ROADMAP,\n mapId: \"map\" + map_num + \"element\",\n });\n var infowindow = new google.maps.InfoWindow();\n return { map: map, infowindow: infowindow };\n}\n\nasync function daAddMarker(map, marker_info, show_marker) {\n const { AdvancedMarkerElement, PinElement } =\n await google.maps.importLibrary(\"marker\");\n var marker;\n var content;\n if (marker_info.icon) {\n content = new PinElement(marker_info.icon);\n } else {\n content = new PinElement();\n }\n marker = new AdvancedMarkerElement({\n position: {\n lat: marker_info.latitude,\n lng: marker_info.longitude,\n },\n map: map.map,\n content: content.element,\n });\n if (marker_info.info) {\n google.maps.event.addListener(\n marker,\n \"click\",\n (function (marker, info) {\n return function () {\n map.infowindow.setContent(info);\n map.infowindow.open(map.map, marker);\n };\n })(marker, marker_info.info),\n );\n }\n if (show_marker) {\n map.infowindow.setContent(marker_info.info);\n map.infowindow.open(map.map, marker);\n }\n return marker;\n}\n\nfunction daFillInAddress(origId, place) {\n var id;\n if (daVarLookupRev[origId]) {\n id = daVarLookupRev[origId];\n } else {\n id = origId;\n }\n var baseVarname = atob(id).replace(/.[a-zA-Z0-9_]+$/, \"\");\n baseVarname = baseVarname.replace(/[\\[\\]]/g, \".\");\n var re = new RegExp(\"^\" + baseVarname + \".(.*)\");\n var componentTrans = {\n administrative_area_level_1: [\"state\", \"shortText\"],\n administrative_area_level_2: [\"county\", \"longText\"],\n };\n var alternatives = [\n [\n \"city\",\n [\n \"locality\",\n \"sublocality_level_1\",\n \"neighborhood\",\n \"administrative_area_level_3\",\n \"colloquial_area\",\n ],\n ],\n [\n \"sublocality\",\n [\n \"sublocality_level_1\",\n \"sublocality_level_2\",\n \"sublocality_level_3\",\n \"sublocality_level_4\",\n \"sublocality_level_5\",\n ],\n ],\n ];\n var fieldsToClear = [\n \"address\",\n \"administrative_area_level_1\",\n \"administrative_area_level_2\",\n \"administrative_area_level_3\",\n \"administrative_area_level_4\",\n \"administrative_area_level_5\",\n \"administrative_area_level_6\",\n \"administrative_area_level_7\",\n \"adr_format_address\",\n \"airport\",\n \"bus_station\",\n \"business_status\",\n \"city\",\n \"colloquial_area\",\n \"compound_code\",\n \"country\",\n \"county\",\n \"directions_uri\",\n \"display_name\",\n \"display_name_language_code\",\n \"establishment\",\n \"floor\",\n \"formatted_address\",\n \"global_code\",\n \"has_wheelchair_accessible_entrance\",\n \"has_wheelchair_accessible_parking\",\n \"has_wheelchair_accessible_restroom\",\n \"has_wheelchair_accessible_seating\",\n \"id\",\n \"international_phone_number\",\n \"intersection\",\n \"landmark\",\n \"latitude\",\n \"locality\",\n \"location\",\n \"longitude\",\n \"national_phone_number\",\n \"natural_feature\",\n \"neighborhood\",\n \"park\",\n \"parking\",\n \"photos_uri\",\n \"place_uri \",\n \"plus_code\",\n \"point_of_interest\",\n \"political\",\n \"post_box\",\n \"postal_code\",\n \"postal_town\",\n \"premise\",\n \"price_level\",\n \"primary_type\",\n \"primary_type_display_name\",\n \"primary_type_display_name_language_code\",\n \"rating\",\n \"reviews_uri\",\n \"room\",\n \"route\",\n \"state\",\n \"street_number\",\n \"sublocality\",\n \"subpremise\",\n \"train_station\",\n \"transit_station\",\n \"types\",\n \"utc_offset_minutes\",\n \"write_a_review_uri\",\n \"zip\",\n ];\n var idForPart = {};\n $(\"input, select\").each(function () {\n var the_id = $(this).attr(\"id\");\n if (typeof the_id !== typeof undefined && the_id !== false) {\n try {\n var field_name = atob($(this).attr(\"id\"));\n if (field_name.indexOf(\"_field_\") == 0) {\n field_name = atob(daVarLookupRev[$(this).attr(\"id\")]);\n }\n var m = re.exec(field_name);\n if (m.length > 0) {\n idForPart[m[1]] = $(this).attr(\"id\");\n }\n } catch (e) {}\n }\n });\n for (var component in fieldsToClear) {\n if (\n typeof idForPart[component] != \"undefined\" &&\n document.getElementById(idForPart[component]) != null\n ) {\n document.getElementById(idForPart[component]).value = \"\";\n }\n }\n var savedValues = {};\n var toChange = [];\n for (var i = 0; i < place.addressComponents.length; i++) {\n var addressType = place.addressComponents[i].types[0];\n if (addressType == \"street_number\" || addressType == \"country\") {\n savedValues[addressType] = place.addressComponents[i][\"shortText\"];\n } else {\n savedValues[addressType] = place.addressComponents[i][\"longText\"];\n }\n if (\n componentTrans[addressType] &&\n idForPart[componentTrans[addressType][0]] &&\n typeof idForPart[componentTrans[addressType][0]] != \"undefined\" &&\n document.getElementById(idForPart[componentTrans[addressType][0]]) != null\n ) {\n var val = place.addressComponents[i][componentTrans[addressType][1]];\n if (typeof val != \"undefined\") {\n document.getElementById(\n idForPart[componentTrans[addressType][0]],\n ).value = val;\n toChange.push(\"#\" + idForPart[componentTrans[addressType][0]]);\n }\n }\n if (\n idForPart[addressType] &&\n typeof idForPart[addressType] != \"undefined\" &&\n document.getElementById(idForPart[addressType]) != null\n ) {\n var val = savedValues[addressType];\n if (typeof val != \"undefined\") {\n document.getElementById(idForPart[addressType]).value = val;\n toChange.push(\"#\" + idForPart[addressType]);\n }\n }\n }\n if (\n typeof idForPart[\"address\"] != \"undefined\" &&\n document.getElementById(idForPart[\"address\"]) != null\n ) {\n var the_address = \"\";\n if (typeof savedValues[\"street_number\"] != \"undefined\") {\n the_address += savedValues[\"street_number\"] + \" \";\n }\n if (typeof savedValues[\"route\"] != \"undefined\") {\n the_address += savedValues[\"route\"];\n }\n document.getElementById(idForPart[\"address\"]).value = the_address;\n toChange.push(\"#\" + idForPart[\"address\"]);\n }\n if (\n typeof idForPart[\"zip\"] != \"undefined\" &&\n document.getElementById(idForPart[\"zip\"]) != null &&\n typeof savedValues[\"postal_code\"] != \"undefined\" &&\n savedValues[\"postal_code\"] != \"\"\n ) {\n var theZipCode = savedValues[\"postal_code\"];\n if (\n typeof savedValues[\"postal_code_suffix\"] != \"undefined\" &&\n savedValues[\"postal_code_suffix\"] != \"\"\n ) {\n theZipCode += \"-\" + savedValues[\"postal_code_suffix\"];\n }\n document.getElementById(idForPart[\"zip\"]).value = theZipCode;\n toChange.push(\"#\" + idForPart[\"zip\"]);\n }\n if (place.location) {\n if (\n typeof idForPart[\"latitude\"] != \"undefined\" &&\n document.getElementById(idForPart[\"latitude\"]) != null\n ) {\n document.getElementById(idForPart[\"latitude\"]).value =\n place.location.lat();\n toChange.push(\"#\" + idForPart[\"latitude\"]);\n }\n if (\n typeof idForPart[\"longitude\"] != \"undefined\" &&\n document.getElementById(idForPart[\"longitude\"]) != null\n ) {\n document.getElementById(idForPart[\"longitude\"]).value =\n place.location.lng();\n toChange.push(\"#\" + idForPart[\"longitude\"]);\n }\n }\n for (var i = 0; i < alternatives.length; i++) {\n const [fieldName, altList] = alternatives[i];\n if (\n typeof idForPart[fieldName] != \"undefined\" &&\n document.getElementById(idForPart[fieldName]) != null &&\n document.getElementById(idForPart[fieldName]).value == \"\"\n ) {\n }\n for (var j = 0; j < altList.length; j++) {\n if (typeof savedValues[altList[j]] != \"undefined\") {\n document.getElementById(idForPart[fieldName]).value =\n savedValues[altList[j]];\n toChange.push(\"#\" + idForPart[fieldName]);\n break;\n }\n }\n }\n var fieldsToGet = daAutocomplete[origId].opts.fields || [];\n for (var i = 0; i < fieldsToGet.length; i++) {\n var pythonVar = fieldsToGet[i];\n if (pythonVar == \"address_components\" || pythonVar == \"location\") {\n continue;\n }\n var jsVar = underscoreToCamel(pythonVar);\n if (\n place[jsVar] != null &&\n typeof place[jsVar] === \"object\" &&\n !Array.isArray(place[jsVar])\n ) {\n var transformedObject = JSON.parse(JSON.stringify(place[jsVar]));\n Object.entries(transformedObject).forEach(([jsSubVar, value]) => {\n var pythonSubVar = camelToUnderscore(jsSubVar);\n if (\n value != null &&\n typeof idForPart[pythonSubVar] != \"undefined\" &&\n document.getElementById(idForPart[pythonSubVar]) != null\n ) {\n document.getElementById(idForPart[pythonSubVar]).value =\n jsonIfObject(value);\n toChange.push(\"#\" + idForPart[pythonSubVar]);\n }\n });\n } else if (\n place[jsVar] &&\n typeof idForPart[pythonVar] != \"undefined\" &&\n document.getElementById(idForPart[pythonVar]) != null\n ) {\n document.getElementById(idForPart[pythonVar]).value = jsonIfObject(\n place[jsVar],\n );\n toChange.push(\"#\" + idForPart[pythonVar]);\n }\n }\n for (var i = 0; i < toChange.length; i++) {\n $(toChange[i]).trigger(\"change\");\n }\n}\n\nfunction daFillInAddressOld(origId) {\n var id;\n if (daVarLookupRev[origId]) {\n id = daVarLookupRev[origId];\n } else {\n id = origId;\n }\n var base_varname = atob(id).replace(/.[a-zA-Z0-9_]+$/, \"\");\n base_varname = base_varname.replace(/[\\[\\]]/g, \".\");\n var re = new RegExp(\"^\" + base_varname + \".(.*)\");\n var componentForm = {\n locality: \"long_name\",\n sublocality: \"long_name\",\n administrative_area_level_3: \"long_name\",\n administrative_area_level_2: \"long_name\",\n administrative_area_level_1: \"short_name\",\n country: \"short_name\",\n postal_code: \"short_name\",\n };\n var componentTrans = {\n locality: \"city\",\n administrative_area_level_2: \"county\",\n administrative_area_level_1: \"state\",\n country: \"country\",\n postal_code: \"zip\",\n };\n\n var fields_to_fill = [\n \"address\",\n \"city\",\n \"county\",\n \"state\",\n \"zip\",\n \"neighborhood\",\n \"sublocality\",\n \"administrative_area_level_3\",\n \"postal_code\",\n ];\n var id_for_part = {};\n $(\"input, select\").each(function () {\n var the_id = $(this).attr(\"id\");\n if (typeof the_id !== typeof undefined && the_id !== false) {\n try {\n var field_name = atob($(this).attr(\"id\"));\n if (field_name.indexOf(\"_field_\") == 0) {\n field_name = atob(daVarLookupRev[$(this).attr(\"id\")]);\n }\n var m = re.exec(field_name);\n if (m.length > 0) {\n id_for_part[m[1]] = $(this).attr(\"id\");\n }\n } catch (e) {}\n }\n });\n place = daAutocomplete[origId].getPlace();\n if (\n typeof id_for_part[\"address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"address\"]) != null\n ) {\n document.getElementById(id_for_part[\"address\"]).value = \"\";\n }\n\n for (var component in fields_to_fill) {\n if (\n typeof id_for_part[component] != \"undefined\" &&\n document.getElementById(id_for_part[component]) != null\n ) {\n document.getElementById(id_for_part[component]).value = \"\";\n }\n }\n\n var street_number;\n var route;\n var savedValues = {};\n var toChange = [];\n for (var i = 0; i < place.address_components.length; i++) {\n var addressType = place.address_components[i].types[0];\n savedValues[addressType] = place.address_components[i][\"long_name\"];\n if (addressType == \"street_number\") {\n street_number = place.address_components[i][\"short_name\"];\n }\n if (addressType == \"route\") {\n route = place.address_components[i][\"long_name\"];\n }\n if (\n componentForm[addressType] &&\n id_for_part[componentTrans[addressType]] &&\n typeof id_for_part[componentTrans[addressType]] != \"undefined\" &&\n document.getElementById(id_for_part[componentTrans[addressType]]) != null\n ) {\n var val = place.address_components[i][componentForm[addressType]];\n if (typeof val != \"undefined\") {\n document.getElementById(\n id_for_part[componentTrans[addressType]],\n ).value = val;\n toChange.push(\"#\" + id_for_part[componentTrans[addressType]]);\n }\n if (componentTrans[addressType] != addressType) {\n val = place.address_components[i][\"long_name\"];\n if (\n typeof val != \"undefined\" &&\n typeof id_for_part[addressType] != \"undefined\" &&\n document.getElementById(id_for_part[addressType]) != null\n ) {\n document.getElementById(id_for_part[addressType]).value = val;\n toChange.push(\"#\" + id_for_part[addressType]);\n }\n }\n } else if (\n id_for_part[addressType] &&\n typeof id_for_part[addressType] != \"undefined\" &&\n document.getElementById(id_for_part[addressType]) != null\n ) {\n var val = place.address_components[i][\"long_name\"];\n if (typeof val != \"undefined\") {\n document.getElementById(id_for_part[addressType]).value = val;\n toChange.push(\"#\" + id_for_part[addressType]);\n }\n }\n }\n if (\n typeof id_for_part[\"address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"address\"]) != null\n ) {\n var the_address = \"\";\n if (typeof street_number != \"undefined\") {\n the_address += street_number + \" \";\n }\n if (typeof route != \"undefined\") {\n the_address += route;\n }\n document.getElementById(id_for_part[\"address\"]).value = the_address;\n toChange.push(\"#\" + id_for_part[\"address\"]);\n }\n if (\n typeof id_for_part[\"city\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"city\"]) != null\n ) {\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_1\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"sublocality_level_1\"];\n }\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"neighborhood\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"neighborhood\"];\n }\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"administrative_area_level_3\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"administrative_area_level_3\"];\n }\n }\n if (\n typeof id_for_part[\"sublocality\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"sublocality\"]) != null\n ) {\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_1\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_1\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_2\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_2\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_3\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_3\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_4\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_4\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_5\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_5\"];\n }\n }\n if (\n place.adr_address &&\n typeof id_for_part[\"adr_address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"adr_address\"]) != null\n ) {\n document.getElementById(id_for_part[\"adr_address\"]).value =\n place.adr_address;\n }\n if (\n place.business_status &&\n typeof id_for_part[\"business_status\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"business_status\"]) != null\n ) {\n document.getElementById(id_for_part[\"business_status\"]).value =\n place.business_status;\n }\n if (\n place.formatted_address &&\n typeof id_for_part[\"formatted_address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"formatted_address\"]) != null\n ) {\n document.getElementById(id_for_part[\"formatted_address\"]).value =\n place.formatted_address;\n }\n if (\n place.formatted_phone_number &&\n typeof id_for_part[\"formatted_phone_number\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"formatted_phone_number\"]) != null\n ) {\n document.getElementById(id_for_part[\"formatted_phone_number\"]).value =\n place.formatted_phone_number;\n }\n if (place.geometry && place.geometry.location) {\n if (\n typeof id_for_part[\"latitude\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"latitude\"]) != null\n ) {\n document.getElementById(id_for_part[\"latitude\"]).value =\n place.geometry.location.lat();\n }\n if (\n typeof id_for_part[\"longitude\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"longitude\"]) != null\n ) {\n document.getElementById(id_for_part[\"longitude\"]).value =\n place.geometry.location.lng();\n }\n }\n if (\n place.icon &&\n typeof id_for_part[\"icon\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"icon\"]) != null\n ) {\n document.getElementById(id_for_part[\"icon\"]).value = place.icon;\n }\n if (\n place.international_phone_number &&\n typeof id_for_part[\"international_phone_number\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"international_phone_number\"]) != null\n ) {\n document.getElementById(id_for_part[\"international_phone_number\"]).value =\n place.international_phone_number;\n }\n if (\n place.name &&\n typeof id_for_part[\"name\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"name\"]) != null\n ) {\n document.getElementById(id_for_part[\"name\"]).value = place.name;\n }\n if (\n place.place_id &&\n typeof id_for_part[\"place_id\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"place_id\"]) != null\n ) {\n document.getElementById(id_for_part[\"place_id\"]).value = place.place_id;\n }\n if (\n place.price_level &&\n typeof id_for_part[\"price_level\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"price_level\"]) != null\n ) {\n document.getElementById(id_for_part[\"price_level\"]).value =\n place.price_level;\n }\n if (\n place.rating &&\n typeof id_for_part[\"rating\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"rating\"]) != null\n ) {\n document.getElementById(id_for_part[\"rating\"]).value = place.rating;\n }\n if (\n place.url &&\n typeof id_for_part[\"url\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"url\"]) != null\n ) {\n document.getElementById(id_for_part[\"url\"]).value = place.url;\n }\n if (\n place.utc_offset_minutes &&\n typeof id_for_part[\"utc_offset_minutes\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"utc_offset_minutes\"]) != null\n ) {\n document.getElementById(id_for_part[\"utc_offset_minutes\"]).value =\n place.utc_offset_minutes;\n }\n if (\n place.vicinity &&\n typeof id_for_part[\"vicinity\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"vicinity\"]) != null\n ) {\n document.getElementById(id_for_part[\"vicinity\"]).value = place.vicinity;\n }\n if (\n place.website &&\n typeof id_for_part[\"website\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"website\"]) != null\n ) {\n document.getElementById(id_for_part[\"website\"]).value = place.website;\n }\n for (var i = 0; i < toChange.length; i++) {\n $(toChange[i]).trigger(\"change\");\n }\n}\n\nfunction daGeolocate() {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(function (position) {\n var geolocation = {\n lat: position.coords.latitude,\n lng: position.coords.longitude,\n };\n var circle = new google.maps.Circle({\n center: geolocation,\n radius: position.coords.accuracy,\n });\n for (var id in daAutocomplete) {\n if (daAutocomplete.hasOwnProperty(id)) {\n daAutocomplete[id].setBounds(circle.getBounds());\n }\n }\n });\n }\n}\nvar daRequestPending = false;\nvar isAndroid = /android/i.test(navigator.userAgent.toLowerCase());\nvar daWhichButton = null;\nvar daSocket = null;\nvar daChatHistory = [];\nvar daCheckinCode = null;\nvar daCheckingIn = 0;\nvar daShowingHelp = 0;\nvar daIframeEmbed;\nif (window.location !== window.parent.location) {\n daIframeEmbed = true;\n} else {\n daIframeEmbed = false;\n}\nvar daChatPartnersAvailable = 0;\nvar daPhoneAvailable = false;\nvar daInitialized = false;\nvar daConfirmed = false;\nvar daNoConnectionCount = 0;\nvar daObserverChangesInterval = null;\nvar daNotYetScrolled = true;\nvar daInformedChanged = false;\nvar daShowingSpinner = false;\nvar daSpinnerTimeout = null;\nvar daSubmitter = null;\nvar daGAConfigured = false;\nvar daShowIfInProcess = false;\nvar daFieldsToSkip = [\n \"_checkboxes\",\n \"_empties\",\n \"_ml_info\",\n \"_back_one\",\n \"_files\",\n \"_files_inline\",\n \"_question_name\",\n \"_the_image\",\n \"_save_as\",\n \"_success\",\n \"_datatypes\",\n \"_event\",\n \"_visible\",\n \"_tracker\",\n \"_track_location\",\n \"_varnames\",\n \"_next_action\",\n \"_next_action_to_set\",\n \"ajax\",\n \"json\",\n \"informed\",\n \"csrf_token\",\n \"_action\",\n \"_order_changes\",\n \"_collect\",\n \"_list_collect_list\",\n \"_null_question\",\n];\nvar daVarLookup = Object();\nvar daVarLookupRev = Object();\nvar daVarLookupMulti = Object();\nvar daVarLookupRevMulti = Object();\nvar daVarLookupSelect = Object();\nvar daVarLookupCheckbox = Object();\nvar daVarLookupOption = Object();\nvar daTargetDiv;\nvar daComboBoxes = Object();\nvar daGlobalEval = eval;\nvar daFetchAcceptIncoming = false;\nvar daFetchAjaxTimeout = null;\nvar daFetchAjaxTimeoutRunning = null;\nvar daFetchAjaxTimeoutFetchAfter = null;\nvar daAddressAcceptIncoming = false;\nvar daAddressAjaxTimeout = null;\nvar daAddressAjaxTimeoutRunning = null;\nvar daAddressAjaxTimeoutCallAfter = null;\nvar daShowHideHappened = false;\nvar daCheckinInterval = null;\nvar daInitialCheckinTimeout = null;\nvar daReloader = null;\nvar daDisable = null;\nvar daAutoColorScheme = true;\nvar daCurrentColorScheme;\nvar daUrlChangeColorScheme;\nvar daDesiredColorScheme;\nvar daAutoColorScheme = true;\nvar daThicknessScalingFactor;\nvar daJsEmbed;\nvar daAllowGoingBack;\nvar daSteps;\nvar daIsUser;\nvar daUserId;\nvar daChatStatus;\nvar daChatAvailable;\nvar daChatMode;\nvar daSendChanges;\nvar daBeingControlled;\nvar daInformed;\nvar daUsingGA;\nvar daUsingSegment;\nvar daDoAction;\nvar daQuestionID;\nvar daCsrf;\nvar daComboboxButtonLabel;\nvar daInterviewUrl;\nvar daLocationBar;\nvar daPostURL;\nvar daYamlFilename;\nvar daNotificationContainer;\nvar daNotificationMessage;\nvar daMessageLog;\nvar daPendingAnnouncement = false;\nvar daImageToPreLoad;\nvar daGetVariablesUrl;\nvar daLiveHelpMessage;\nvar daLiveHelpMessagePhone;\nvar daNewChatMessage;\nvar daLiveHelpAvailableMessage;\nvar daScreenBeingControlled;\nvar daScreenNoLongerBeingControlled;\nvar daPathRoot;\nvar daCheckinSeconds;\nvar daChatRoles;\nvar daChatPartnerRoles;\nvar daAllButtonClasses;\nvar daButtonStyle;\nvar daShouldForceFullScreen;\nvar daPageSep;\nvar daAreYouSure;\nvar daOtherUser;\nvar daOtherUsers;\nvar daOperator;\nvar daOperators;\nvar daCheckinUrl;\nvar daCheckoutUrl;\nvar daCurrencyDecimalPlaces;\nvar daShouldDebugReadabilityHelp;\nvar daShouldDebugReadabilityQuestion;\nvar daEmailAddressRequired;\nvar daNeedCompleteEmail;\nvar daDefaultPopoverTrigger;\nvar daToggleWord;\nvar daCheckinUrlWithInterview;\nvar daReloadAfterSeconds;\nvar daCustomItems;\nvar daTrackingEnabled;\n\nfunction dagoogleapicallback() {}\nfunction daForceFullScreen(data) {\n if (data.steps > 1 && window != top) {\n top.location.href = location.href;\n }\n}\nObject.defineProperty(String.prototype, \"daSprintf\", {\n value: function () {\n var args = Array.from(arguments),\n i = 0;\n function defaultNumber(iValue) {\n return iValue != undefined && !isNaN(iValue) ? iValue : \"0\";\n }\n function defaultString(iValue) {\n return iValue == undefined ? \"\" : \"\" + iValue;\n }\n return this.replace(\n /%%|%([+\\-])?([^1-9])?(\\d+)?(\\.\\d+)?([deEfhHioQqs])/g,\n function (match, sign, filler, scale, precision, type) {\n var strOut, space, value;\n var asNumber = false;\n if (match == \"%%\") return \"%\";\n if (i >= args.length) return match;\n value = args[i];\n while (Array.isArray(value)) {\n args.splice(i, 1);\n for (var j = i; value.length > 0; j++)\n args.splice(j, 0, value.shift());\n value = args[i];\n }\n i++;\n if (filler == undefined) filler = \" \"; // default\n if (scale == undefined && !isNaN(filler)) {\n scale = filler;\n filler = \" \";\n }\n if (sign == undefined) sign = \"sqQ\".indexOf(type) >= 0 ? \"+\" : \"-\"; // default\n if (scale == undefined) scale = 0; // default\n if (precision == undefined) precision = \".0\"; // default\n scale = parseInt(scale);\n precision = parseInt(precision.substr(1));\n switch (type) {\n case \"d\":\n case \"i\":\n // decimal integer\n asNumber = true;\n strOut = parseInt(defaultNumber(value));\n if (precision > 0) strOut += \".\" + \"0\".repeat(precision);\n break;\n case \"e\":\n case \"E\":\n // float in exponential notation\n asNumber = true;\n strOut = parseFloat(defaultNumber(value));\n if (precision == 0) strOut = strOut.toExponential();\n else strOut = strOut.toExponential(precision);\n if (type == \"E\") strOut = strOut.replace(\"e\", \"E\");\n break;\n case \"f\":\n // decimal float\n asNumber = true;\n strOut = parseFloat(defaultNumber(value));\n if (precision != 0) strOut = strOut.toFixed(precision);\n break;\n case \"o\":\n case \"h\":\n case \"H\":\n // Octal or Hexagesimal integer notation\n strOut =\n \"\\\\\" +\n (type == \"o\" ? \"0\" : type) +\n parseInt(defaultNumber(value)).toString(type == \"o\" ? 8 : 16);\n break;\n case \"q\":\n // single quoted string\n strOut = \"'\" + defaultString(value) + \"'\";\n break;\n case \"Q\":\n // double quoted string\n strOut = '\"' + defaultString(value) + '\"';\n break;\n default:\n // string\n strOut = defaultString(value);\n break;\n }\n if (typeof strOut != \"string\") strOut = \"\" + strOut;\n if ((space = strOut.length) < scale) {\n if (asNumber) {\n if (sign == \"-\") {\n if (strOut.indexOf(\"-\") < 0)\n strOut = filler.repeat(scale - space) + strOut;\n else\n strOut =\n \"-\" + filler.repeat(scale - space) + strOut.replace(\"-\", \"\");\n } else {\n if (strOut.indexOf(\"-\") < 0)\n strOut = \"+\" + filler.repeat(scale - space - 1) + strOut;\n else\n strOut =\n \"-\" + filler.repeat(scale - space) + strOut.replace(\"-\", \"\");\n }\n } else {\n if (sign == \"-\") strOut = filler.repeat(scale - space) + strOut;\n else strOut = strOut + filler.repeat(scale - space);\n }\n } else if (asNumber && sign == \"+\" && strOut.indexOf(\"-\") < 0)\n strOut = \"+\" + strOut;\n return strOut;\n },\n );\n },\n});\nObject.defineProperty(window, \"daSprintf\", {\n value: function (str, ...rest) {\n if (typeof str == \"string\")\n return String.prototype.daSprintf.apply(str, rest);\n return \"\";\n },\n});\nfunction daGoToAnchor(target) {\n if (daJsEmbed) {\n scrollTarget = $(target).first().position().top - 60;\n } else {\n scrollTarget = $(target).first().offset().top - 60;\n }\n if (scrollTarget != null) {\n if (daJsEmbed) {\n $(daTargetDiv).animate(\n {\n scrollTop: scrollTarget,\n },\n 500,\n );\n } else {\n $(\"html, body\").animate(\n {\n scrollTop: scrollTarget,\n },\n 500,\n );\n }\n }\n}\nfunction atou(b64) {\n return decodeURIComponent(escape(atob(b64)));\n}\nfunction utoa(data) {\n return btoa(unescape(encodeURIComponent(data)));\n}\nfunction dabtoa(str) {\n return window.utoa(str).replace(/[\\n=]/g, \"\");\n}\nfunction daatob(str) {\n return atou(str);\n}\nfunction hideTablist() {\n var anyTabs =\n $(\"#daChatAvailable\").is(\":visible\") ||\n $(\"daPhoneAvailable\").is(\":visible\") ||\n $(\"#dahelptoggle\").is(\":visible\");\n if (anyTabs) {\n $(\"#nav-bar-tab-list\").removeClass(\"dainvisible\");\n $(\"#daquestionlabel\").parent().removeClass(\"dainvisible\");\n } else {\n $(\"#nav-bar-tab-list\").addClass(\"dainvisible\");\n $(\"#daquestionlabel\").parent().addClass(\"dainvisible\");\n }\n}\nfunction getFields() {\n var allFields = [];\n for (var rawFieldName in daVarLookup) {\n if (daVarLookup.hasOwnProperty(rawFieldName)) {\n var fieldName = atou(rawFieldName);\n if (allFields.indexOf(fieldName) == -1) {\n allFields.push(fieldName);\n }\n }\n }\n return allFields;\n}\nvar daGetFields = getFields;\nfunction daAppendIfExists(fieldName, theArray) {\n var elem = $(\"[name='\" + fieldName + \"']\");\n if (elem.length > 0) {\n for (var i = 0; i < theArray.length; ++i) {\n if (theArray[i] == elem[0]) {\n return;\n }\n }\n theArray.push(elem[0]);\n }\n}\nfunction getField(fieldName, notInDiv) {\n if (daVarLookupCheckbox[fieldName]) {\n var n = daVarLookupCheckbox[fieldName].length;\n for (var i = 0; i < n; ++i) {\n var elem = daVarLookupCheckbox[fieldName][i].checkboxes[0].elem;\n if (!$(elem).prop(\"disabled\")) {\n var showifParents = $(elem).parents(\".dajsshowif,.dashowif\");\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, elem)) {\n continue;\n }\n return daVarLookupCheckbox[fieldName][i].elem;\n }\n }\n }\n }\n if (daVarLookupSelect[fieldName]) {\n var n = daVarLookupSelect[fieldName].length;\n for (var i = 0; i < n; ++i) {\n var elem = daVarLookupSelect[fieldName][i].select;\n if (!$(elem).prop(\"disabled\")) {\n var showifParents = $(elem).parents(\".dajsshowif,.dashowif\");\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, elem)) {\n continue;\n }\n return elem;\n }\n }\n }\n }\n var fieldNameEscaped = dabtoa(fieldName);\n var possibleElements = [];\n daAppendIfExists(fieldNameEscaped, possibleElements);\n if (daVarLookupMulti.hasOwnProperty(fieldNameEscaped)) {\n for (var i = 0; i < daVarLookupMulti[fieldNameEscaped].length; ++i) {\n daAppendIfExists(daVarLookupMulti[fieldNameEscaped][i], possibleElements);\n }\n }\n var returnVal = null;\n for (var i = 0; i < possibleElements.length; ++i) {\n if (\n !$(possibleElements[i]).prop(\"disabled\") ||\n $(possibleElements[i]).parents(\".file-input.is-locked\").length > 0\n ) {\n var showifParents = $(possibleElements[i]).parents(\n \".dajsshowif,.dashowif\",\n );\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, possibleElements[i])) {\n continue;\n }\n returnVal = possibleElements[i];\n }\n }\n }\n if (\n $(returnVal).hasClass(\"da-to-labelauty\") &&\n $(returnVal).parents(\"div.da-field-group\").length > 0\n ) {\n var fieldSet = $(returnVal).parents(\"div.da-field-group\")[0];\n if (\n !$(fieldSet).hasClass(\"da-field-checkbox\") &&\n !$(fieldSet).hasClass(\"da-field-checkboxes\")\n ) {\n return fieldSet;\n }\n }\n return returnVal;\n}\nvar daGetField = getField;\nfunction setChoices(fieldName, choices) {\n var elem = daGetField(fieldName);\n if (elem == null) {\n console.log(\"setChoices: reference to non-existent field \" + fieldName);\n return;\n }\n var isCombobox =\n $(elem).attr(\"type\") == \"hidden\" &&\n $(elem).parents(\".combobox-container\").length > 0;\n if (isCombobox) {\n var comboInput = $(elem)\n .parents(\".combobox-container\")\n .first()\n .find(\"input.combobox\")\n .first();\n var comboObject = daComboBoxes[$(comboInput).attr(\"id\")];\n var oldComboVal = comboObject.$target.val();\n elem = comboObject.$source;\n }\n if ($(elem).prop(\"tagName\") != \"SELECT\") {\n console.log(\"setField: field \" + fieldName + \" is not a dropdown field\");\n return;\n }\n var oldVal = $(elem).val();\n $(elem)\n .find(\"option[value!='']\")\n .each(function () {\n $(this).remove();\n });\n var n = choices.length;\n for (var i = 0; i < n; i++) {\n var opt = $(\"',\n );\n $('').appendTo(toggler);\n $(\n '' + daToggleWord + \"\",\n ).appendTo(toggler);\n } else {\n toggler = $(\n '',\n );\n $('').appendTo(toggler);\n $(\n '' + daToggleWord + \"\",\n ).appendTo(toggler);\n }\n toggler.appendTo(prev);\n toggler.on(\"click\", function (e) {\n var oThis = this;\n $(this)\n .find(\"svg\")\n .each(function () {\n if ($(this).attr(\"data-icon\") == \"caret-down\") {\n $(this).removeClass(\"fa-caret-down\");\n $(this).addClass(\"fa-caret-right\");\n $(this).attr(\"data-icon\", \"caret-right\");\n $(box).hide();\n $(oThis).attr(\"aria-pressed\", \"false\");\n $(box).toggleClass(\"danotshowing\");\n } else if ($(this).attr(\"data-icon\") == \"caret-right\") {\n $(this).removeClass(\"fa-caret-right\");\n $(this).addClass(\"fa-caret-down\");\n $(this).attr(\"data-icon\", \"caret-down\");\n $(box).show();\n $(oThis).attr(\"aria-pressed\", \"true\");\n $(box).toggleClass(\"danotshowing\");\n }\n });\n e.stopPropagation();\n e.preventDefault();\n return false;\n });\n }\n });\n $(\"body\").focus();\n if (!daJsEmbed && !isAndroid) {\n setTimeout(function () {\n var firstInput = $(\"#daform .da-field-container\")\n .not(\".da-field-container-note\")\n .first()\n .find(\"input, textarea, select\")\n .filter(\":visible\")\n .first();\n if (firstInput.length > 0 && $(firstInput).visible()) {\n $(firstInput).focus();\n var inputType = $(firstInput).attr(\"type\");\n if (\n $(firstInput).prop(\"tagName\") != \"SELECT\" &&\n inputType != \"checkbox\" &&\n inputType != \"radio\" &&\n inputType != \"hidden\" &&\n inputType != \"submit\" &&\n inputType != \"file\" &&\n inputType != \"range\" &&\n inputType != \"number\" &&\n inputType != \"date\" &&\n inputType != \"time\"\n ) {\n var strLength = $(firstInput).val().length * 2;\n if (strLength > 0) {\n try {\n $(firstInput)[0].setSelectionRange(strLength, strLength);\n } catch (err) {\n console.log(err.message);\n }\n }\n }\n } else if (daPendingAnnouncement) {\n daPendingAnnouncement = false;\n setTimeout(function () {\n var questionTitle = $(\"#daMainQuestion, #dasigtitle\")\n .filter(\":visible\")\n .first();\n if (questionTitle.length > 0 && $(questionTitle).visible()) {\n $(questionTitle).attr(\"tabindex\", \"-1\").focus();\n }\n }, 700);\n } else {\n var questionTitle = $(\"#daMainQuestion, #dasigtitle\")\n .filter(\":visible\")\n .first();\n if (questionTitle.length > 0 && $(questionTitle).visible()) {\n $(questionTitle).attr(\"tabindex\", \"-1\").focus();\n } else {\n var firstButton = $(\"#danavbar-collapse .nav-link\")\n .filter(\":visible\")\n .first();\n if (firstButton.length > 0 && $(firstButton).visible()) {\n $(firstButton).focus();\n }\n }\n }\n }, 15);\n }\n }\n $(\"input.dauncheckspecificothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n var theIds = $.parseJSON(atou($(this).data(\"unchecklist\")));\n var n = theIds.length;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).prop(\"checked\", false);\n $(elem).trigger(\"change\");\n }\n }\n });\n $(\"input.dauncheckspecificothers\").each(function () {\n var theIds = $.parseJSON(atou($(this).data(\"unchecklist\")));\n var n = theIds.length;\n var oThis = this;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(oThis).prop(\"checked\", false);\n $(oThis).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dauncheckothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckable,input.dacheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dacheckspecificothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n var theIds = $.parseJSON(atou($(this).data(\"checklist\")));\n var n = theIds.length;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).prop(\"checked\", true);\n $(elem).trigger(\"change\");\n }\n }\n });\n $(\"input.dacheckspecificothers\").each(function () {\n var theIds = $.parseJSON(atou($(this).data(\"checklist\")));\n var n = theIds.length;\n var oThis = this;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).on(\"change\", function () {\n if (!$(this).is(\":checked\")) {\n $(oThis).prop(\"checked\", false);\n $(oThis).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dacheckothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckable\").each(function () {\n if (!$(this).is(\":checked\")) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n });\n $(\"input.dauncheckothers\").each(function () {\n if (!$(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dauncheckable\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n } else {\n $(\"input.dacheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n var navMain = $(\"#danavbar-collapse\");\n navMain.on(\"click\", \"a\", null, function () {\n if (!$(this).hasClass(\"dropdown-toggle\")) {\n navMain.collapse(\"hide\");\n }\n });\n $(\"button[data-bs-target='#dahelp']\").on(\"shown.bs.tab\", function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n } else {\n window.scrollTo(0, 1);\n }\n $(\"#dahelptoggle\").removeClass(\"daactivetext\");\n $(\"#dahelptoggle\").blur();\n });\n $(\"#dasourcetoggle\").on(\"click\", function () {\n $(this).parent().toggleClass(\"active\");\n $(this).blur();\n });\n $(\"#dabackToQuestion\").click(function (event) {\n $(\"#daquestionlabel\").tab(\"show\");\n });\n daVarLookup = Object();\n daVarLookupRev = Object();\n daVarLookupMulti = Object();\n daVarLookupRevMulti = Object();\n daVarLookupOption = Object();\n if ($(\"input[name='_varnames']\").length) {\n the_hash = $.parseJSON(atou($(\"input[name='_varnames']\").val()));\n for (var key in the_hash) {\n if (the_hash.hasOwnProperty(key)) {\n daVarLookup[the_hash[key]] = key;\n daVarLookupRev[key] = the_hash[key];\n if (!daVarLookupMulti.hasOwnProperty(the_hash[key])) {\n daVarLookupMulti[the_hash[key]] = [];\n }\n daVarLookupMulti[the_hash[key]].push(key);\n if (!daVarLookupRevMulti.hasOwnProperty(key)) {\n daVarLookupRevMulti[key] = [];\n }\n daVarLookupRevMulti[key].push(the_hash[key]);\n }\n }\n }\n if ($(\"input[name='_checkboxes']\").length) {\n var patt = new RegExp(/\\[B['\"][^\\]]*['\"]\\]$/);\n var pattObj = new RegExp(/\\[O['\"][^\\]]*['\"]\\]$/);\n var pattRaw = new RegExp(/\\[R['\"][^\\]]*['\"]\\]$/);\n the_hash = $.parseJSON(atou($(\"input[name='_checkboxes']\").val()));\n for (var key in the_hash) {\n if (the_hash.hasOwnProperty(key)) {\n var checkboxName = atou(key);\n var baseName = checkboxName;\n if (patt.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[B?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[B?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(checkboxName);\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"['\" + convertedName + \"']\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameThree = utoa(\n baseName + '[\"' + convertedName + '\"]',\n ).replace(/[\\n=]/g, \"\");\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookup[daNameThree] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameThree)) {\n daVarLookupMulti[daNameThree] = [];\n }\n daVarLookupMulti[daNameThree].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n } else if (pattObj.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[O?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[O?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(atou(checkboxName));\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"['\" + convertedName + \"']\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameThree = utoa(\n baseName + '[\"' + convertedName + '\"]',\n ).replace(/[\\n=]/g, \"\");\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookup[daNameThree] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameThree)) {\n daVarLookupMulti[daNameThree] = [];\n }\n daVarLookupMulti[daNameThree].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n } else if (pattRaw.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[R?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[R?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(checkboxName);\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"[\" + convertedName + \"]\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n }\n }\n }\n }\n daShowIfInProcess = true;\n var daTriggerQueries = [];\n var daInputsSeen = {};\n function daOnlyUnique(value, index, self) {\n return self.indexOf(value) === index;\n }\n $(\".dajsshowif\").each(function () {\n var showIfDiv = this;\n var jsInfo = JSON.parse(atou($(this).data(\"jsshowif\")));\n var showIfSign = jsInfo[\"sign\"];\n var showIfMode = jsInfo[\"mode\"];\n var jsExpression = jsInfo[\"expression\"];\n jsInfo[\"vars\"].forEach(function (infoItem, i) {\n var showIfVars = [];\n var initShowIfVar = utoa(infoItem).replace(/[\\n=]/g, \"\");\n var initShowIfVarEscaped = initShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var elem = $(\"[name='\" + initShowIfVarEscaped + \"']\");\n if (elem.length > 0) {\n showIfVars.push(initShowIfVar);\n }\n if (daVarLookupMulti.hasOwnProperty(initShowIfVar)) {\n for (var j = 0; j < daVarLookupMulti[initShowIfVar].length; j++) {\n var altShowIfVar = daVarLookupMulti[initShowIfVar][j];\n var altShowIfVarEscaped = altShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var altElem = $(\"[name='\" + altShowIfVarEscaped + \"']\");\n if (altElem.length > 0 && !$.contains(this, altElem[0])) {\n showIfVars.push(altShowIfVar);\n }\n }\n }\n if (showIfVars.length == 0) {\n console.log(\"ERROR: reference to non-existent field \" + infoItem);\n }\n showIfVars.forEach(function (showIfVar) {\n var showIfVarEscaped = showIfVar.replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n var varToUse = infoItem;\n var showHideDiv = function (speed) {\n var elem = daGetField(varToUse);\n if (\n elem != null &&\n !$(elem)\n .parents(\".da-form-group\")\n .first()\n .is($(this).parents(\".da-form-group\").first())\n ) {\n return;\n }\n var resultt = eval(jsExpression);\n if (resultt) {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n }\n } else {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n }\n var leader = false;\n if (!daShowIfInProcess) {\n daShowIfInProcess = true;\n daInputsSeen = {};\n leader = true;\n }\n $(showIfDiv)\n .find(\":input\")\n .not(\"[type='file']\")\n .each(function () {\n if (!daInputsSeen.hasOwnProperty($(this).attr(\"id\"))) {\n $(this).trigger(\"change\");\n }\n daInputsSeen[$(this).attr(\"id\")] = true;\n });\n if (leader) {\n daShowIfInProcess = false;\n }\n };\n var showHideDivImmediate = function () {\n showHideDiv.apply(this, [null]);\n };\n var showHideDivFast = function () {\n showHideDiv.apply(this, [\"fast\"]);\n };\n daTriggerQueries.push(\"#\" + showIfVarEscaped);\n daTriggerQueries.push(\n \"input[type='radio'][name='\" + showIfVarEscaped + \"']\",\n );\n daTriggerQueries.push(\n \"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\",\n );\n $(\"#\" + showIfVarEscaped).change(showHideDivFast);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input.dafile[name='\" + showIfVarEscaped + \"']\").on(\n \"filecleared\",\n showHideDivFast,\n );\n $(\"#\" + showIfVarEscaped).on(\"daManualTrigger\", showHideDivImmediate);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n });\n });\n });\n $(\".dashowif\").each(function () {\n var showIfVars = [];\n var showIfSign = $(this).data(\"showif-sign\");\n var showIfMode = parseInt($(this).data(\"showif-mode\"));\n var initShowIfVar = $(this).data(\"showif-var\");\n var varName = atou(initShowIfVar);\n var elem = [];\n if (varName.endsWith(\"[nota]\") || varName.endsWith(\"[aota]\")) {\n var signifier = varName.endsWith(\"[nota]\") ? \"nota\" : \"aota\";\n var cbVarName = varName.replace(/\\[[na]ota\\]$/, \"\");\n $(\"div.da-field-group.da-field-checkboxes\").each(function () {\n var thisVarName = atou($(this).data(\"varname\"));\n if (thisVarName == cbVarName) {\n elem = $(this).find(\"input.da\" + signifier + \"-checkbox\");\n initShowIfVar = $(elem).attr(\"name\");\n }\n });\n } else {\n var initShowIfVarEscaped = initShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n elem = $(\"[name='\" + initShowIfVarEscaped + \"']\");\n }\n if (elem.length > 0) {\n showIfVars.push(initShowIfVar);\n }\n if (daVarLookupMulti.hasOwnProperty(initShowIfVar)) {\n var n = daVarLookupMulti[initShowIfVar].length;\n for (var i = 0; i < n; i++) {\n var altShowIfVar = daVarLookupMulti[initShowIfVar][i];\n var altShowIfVarEscaped = altShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var altElem = $(\"[name='\" + altShowIfVarEscaped + \"']\");\n if (altElem.length > 0 && !$.contains(this, altElem[0])) {\n showIfVars.push(altShowIfVar);\n }\n }\n }\n var showIfVal = $(this).data(\"showif-val\");\n var saveAs = $(this).data(\"saveas\");\n var showIfDiv = this;\n showIfVars.forEach(function (showIfVar) {\n var showIfVarEscaped = showIfVar.replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n var showHideDiv = function (speed) {\n var elem = daGetField(varName, showIfDiv);\n if (\n elem != null &&\n !$(elem)\n .parents(\".da-form-group\")\n .first()\n .is($(this).parents(\".da-form-group\").first())\n ) {\n return;\n }\n var theVal;\n var showifParents = $(this).parents(\".dashowif\");\n if (\n showifParents.length !== 0 &&\n !($(showifParents[0]).data(\"isVisible\") == \"1\")\n ) {\n theVal = \"\";\n //console.log(\"Setting theVal to blank.\");\n } else if ($(this).attr(\"type\") == \"checkbox\") {\n theVal = $(\"input[name='\" + showIfVarEscaped + \"']:checked\").val();\n if (typeof theVal == \"undefined\") {\n //console.log('manually setting checkbox value to False');\n theVal = \"False\";\n }\n } else if ($(this).attr(\"type\") == \"radio\") {\n theVal = $(\"input[name='\" + showIfVarEscaped + \"']:checked\").val();\n if (typeof theVal == \"undefined\") {\n theVal = \"\";\n } else if (\n theVal != \"\" &&\n $(\"input[name='\" + showIfVarEscaped + \"']:checked\").hasClass(\n \"daobject\",\n )\n ) {\n try {\n theVal = atou(theVal);\n } catch (e) {}\n }\n } else {\n theVal = $(this).val();\n if (theVal != \"\" && $(this).hasClass(\"daobject\")) {\n try {\n theVal = atou(theVal);\n } catch (e) {}\n }\n }\n // console.log(\"There was a trigger on \" + $(this).attr('id') + \". This handler was installed based on varName \" + varName + \", showIfVar \" + atou(showIfVar) + \". This handler was installed for the benefit of the .dashowif div encompassing the field for \" + atou(saveAs) + \". The comparison value is \" + String(showIfVal) + \" and the current value of the element on the screen is \" + String(theVal) + \".\");\n if (daShowIfCompare(theVal, showIfVal)) {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n var firstChild = $(showIfDiv).children()[0];\n if (\n !$(firstChild).hasClass(\"dacollectextra\") ||\n $(firstChild).is(\":visible\")\n ) {\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv).find(\"input, textarea, select\").prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n }\n } else {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv).find(\"input, textarea, select\").prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n var firstChild = $(showIfDiv).children()[0];\n if (\n !$(firstChild).hasClass(\"dacollectextra\") ||\n $(firstChild).is(\":visible\")\n ) {\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n }\n }\n var leader = false;\n if (!daShowIfInProcess) {\n daShowIfInProcess = true;\n daInputsSeen = {};\n leader = true;\n }\n $(showIfDiv)\n .find(\":input\")\n .not(\"[type='file']\")\n .each(function () {\n if (!daInputsSeen.hasOwnProperty($(this).attr(\"id\"))) {\n $(this).trigger(\"change\");\n }\n daInputsSeen[$(this).attr(\"id\")] = true;\n });\n if (leader) {\n daShowIfInProcess = false;\n }\n };\n var showHideDivImmediate = function () {\n showHideDiv.apply(this, [null]);\n };\n var showHideDivFast = function () {\n showHideDiv.apply(this, [\"fast\"]);\n };\n daTriggerQueries.push(\"#\" + showIfVarEscaped);\n daTriggerQueries.push(\n \"input[type='radio'][name='\" + showIfVarEscaped + \"']\",\n );\n daTriggerQueries.push(\n \"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\",\n );\n $(\"#\" + showIfVarEscaped).change(showHideDivFast);\n $(\"#\" + showIfVarEscaped).on(\"daManualTrigger\", showHideDivImmediate);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input.dafile[name='\" + showIfVarEscaped + \"']\").on(\n \"filecleared\",\n showHideDivFast,\n );\n });\n });\n function daTriggerAllShowHides() {\n var daUniqueTriggerQueries = daTriggerQueries.filter(daOnlyUnique);\n var daFirstTime = true;\n var daTries = 0;\n while ((daFirstTime || daShowHideHappened) && ++daTries < 100) {\n daShowHideHappened = false;\n daFirstTime = false;\n var n = daUniqueTriggerQueries.length;\n for (var i = 0; i < n; ++i) {\n $(daUniqueTriggerQueries[i]).trigger(\"daManualTrigger\");\n }\n }\n if (daTries >= 100) {\n console.log(\"Too many contradictory 'show if' conditions\");\n }\n }\n if (daTriggerQueries.length > 0) {\n daTriggerAllShowHides();\n }\n $(\".danavlink\").last().addClass(\"thelast\");\n $(\".danavlink\").each(function () {\n if ($(this).hasClass(\"btn\") && !$(this).hasClass(\"danotavailableyet\")) {\n var the_a = $(this);\n var the_delay = 1000 + 250 * parseInt($(this).data(\"index\"));\n setTimeout(function () {\n $(the_a).removeClass(daButtonStyle + \"secondary\");\n if ($(the_a).hasClass(\"active\")) {\n $(the_a).addClass(daButtonStyle + \"success\");\n } else {\n $(the_a).addClass(daButtonStyle + \"warning\");\n }\n }, the_delay);\n }\n });\n daShowIfInProcess = false;\n if (!daObserverMode) {\n $(\"#daSend\").click(daSender);\n if (daChatAvailable == \"unavailable\") {\n daChatStatus = \"off\";\n }\n if (daChatAvailable == \"observeonly\") {\n daChatStatus = \"observeonly\";\n }\n if (\n (daChatStatus == \"off\" || daChatStatus == \"observeonly\") &&\n daChatAvailable == \"available\"\n ) {\n daChatStatus = \"waiting\";\n }\n daDisplayChat();\n if (daBeingControlled) {\n daShowControl(\"fast\");\n }\n if (daChatStatus == \"ready\" || daBeingControlled) {\n daInitializeSocket();\n }\n if (daInitialized == false && daCheckinSeconds > 0) {\n // why was this set to always retrieve the chat log?\n setTimeout(function () {\n //console.log(\"daInitialize call to chat_log in checkin\");\n $.ajax({\n type: \"POST\",\n url: daCheckinUrlWithInterview,\n beforeSend: addCsrfHeader,\n xhrFields: {\n withCredentials: true,\n },\n data: $.param({ action: \"chat_log\", ajax: \"1\", csrf_token: daCsrf }),\n success: daChatLogCallback,\n dataType: \"json\",\n });\n }, 200);\n }\n if (daInitialized == true) {\n //console.log(\"Publishing from memory\");\n $(\"#daCorrespondence\").html(\"\");\n for (var i = 0; i < daChatHistory.length; i++) {\n daPublishMessage(daChatHistory[i]);\n }\n }\n if (daChatStatus != \"off\") {\n daSendChanges = true;\n } else {\n if (daDoAction == null) {\n daSendChanges = false;\n } else {\n daSendChanges = true;\n }\n }\n }\n if (daSendChanges || daObserverMode) {\n $(\"#daform\").each(function () {\n $(this).find(\":input\").change(daOnChange);\n });\n }\n daInitialized = true;\n daShowingHelp = 0;\n daSubmitter = null;\n $(\"#daflash .alert-success\").each(function () {\n var oThis = this;\n setTimeout(function () {\n $(oThis).hide(300, function () {\n $(self).remove();\n });\n }, 3000);\n });\n if (doScroll && !daObserverMode) {\n setTimeout(function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n if (daSteps > 1) {\n $(daTargetDiv)[0].scrollIntoView();\n }\n } else {\n window.scrollTo(0, 1);\n }\n }, 20);\n }\n if (daShowingSpinner && !daWaitPage) {\n daHideSpinner();\n }\n if (!daObserverMode) {\n if (daCheckinInterval != null) {\n clearInterval(daCheckinInterval);\n }\n if (daCheckinSeconds > 0 && !daWaitPage) {\n daInitialCheckinTimeout = setTimeout(daInitialCheckin, 100);\n daCheckinInterval = setInterval(daCheckin, daCheckinSeconds);\n }\n daShowNotifications();\n if (daUsingGA) {\n daPageview();\n }\n if (daUsingSegment) {\n daSegmentEvent();\n }\n hideTablist();\n }\n}\nfunction daUpdateHeight() {\n $(\".dagooglemap\").each(function () {\n var size = $(this).width();\n $(this).css(\"height\", size);\n });\n}\nfunction daConfigureJqueryFuncs() {\n $.validator.setDefaults({\n ignore: \".danovalidation\",\n highlight: function (element) {\n $(element).closest(\".da-form-group\").addClass(\"da-group-has-error\");\n $(element).addClass(\"is-invalid\");\n },\n unhighlight: function (element) {\n $(element).closest(\".da-form-group\").removeClass(\"da-group-has-error\");\n $(element).removeClass(\"is-invalid\");\n },\n errorElement: \"span\",\n errorClass: \"da-has-error invalid-feedback\",\n errorPlacement: function (error, element) {\n $(error).addClass(\"invalid-feedback\");\n var elementName = $(element).attr(\"name\");\n var idOfErrorSpan = $(element).attr(\"id\") + \"-error\";\n $(\"#\" + idOfErrorSpan).remove();\n $(error).attr(\"id\", idOfErrorSpan);\n $(element).attr(\"aria-invalid\", \"true\");\n $(element).attr(\"aria-errormessage\", idOfErrorSpan);\n var lastInGroup = $.map(\n daValidationRules[\"groups\"],\n function (thefields, thename) {\n var fieldsArr;\n if (thefields.indexOf(elementName) >= 0) {\n fieldsArr = thefields.split(\" \");\n return fieldsArr[fieldsArr.length - 1];\n } else {\n return null;\n }\n },\n )[0];\n if (element.hasClass(\"dainput-embedded\")) {\n error.insertAfter(element);\n } else if (element.hasClass(\"dafile-embedded\")) {\n error.insertAfter(element);\n } else if (element.hasClass(\"daradio-embedded\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dacheckbox-embedded\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dauncheckable\") && lastInGroup) {\n $(\"input[name='\" + lastInGroup + \"']\")\n .parent()\n .append(error);\n } else if (element.parent().hasClass(\"combobox-container\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dafile\")) {\n var fileContainer = $(element).parents(\".file-input\").first();\n if (fileContainer.length > 0) {\n $(fileContainer).append(error);\n } else {\n error.insertAfter(element.parent());\n }\n } else if (element.parent(\".input-group\").length) {\n error.insertAfter(element.parent());\n } else if (element.hasClass(\"da-active-invisible\")) {\n var choice_with_help = $(element).parents(\".dachoicewithhelp\").first();\n if (choice_with_help.length > 0) {\n $(choice_with_help).parent().append(error);\n } else {\n element.parent().append(error);\n }\n } else if (element.hasClass(\"danon-nota-checkbox\")) {\n element.parents(\"div.da-field-group\").append(error);\n } else {\n error.insertAfter(element);\n }\n },\n });\n $.validator.addMethod(\"datetime\", function (a, b) {\n return true;\n });\n $.validator.addMethod(\"ajaxrequired\", function (value, element, params) {\n var realElement = $(\"#\" + $(element).attr(\"name\") + \"combobox\");\n var realValue = $(realElement).val();\n if (!$(realElement).parent().is(\":visible\")) {\n return true;\n }\n if (realValue == null || realValue.replace(/\\s/g, \"\") == \"\") {\n return false;\n }\n return true;\n });\n $.validator.addMethod(\"checkone\", function (value, element, params) {\n var number_needed = params[0];\n var css_query = params[1];\n if ($(css_query).length >= number_needed) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"checkatleast\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length >= params[1]) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"checkatmost\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length > params[1]) {\n return false;\n } else {\n return true;\n }\n });\n $.validator.addMethod(\"checkexactly\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length != params[1]) {\n return false;\n } else {\n return true;\n }\n });\n $.validator.addMethod(\"selectexactly\", function (value, element, params) {\n if ($(element).find(\"option:selected\").length == params[0]) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"mindate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var comparator = new Date(params);\n if (date >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxdate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var comparator = new Date(params);\n if (date <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxdate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var before_comparator = new Date(params[0]);\n var after_comparator = new Date(params[1]);\n if (date >= before_comparator && date <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"mintime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var comparator = new Date(\"1970-01-01T\" + params + \"Z\");\n if (time >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxtime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var comparator = new Date(\"1970-01-01T\" + params + \"Z\");\n if (time <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxtime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var before_comparator = new Date(\"1970-01-01T\" + params[0] + \"Z\");\n var after_comparator = new Date(\"1970-01-01T\" + params[1] + \"Z\");\n if (time >= before_comparator && time <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"mindatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var comparator = new Date(params + \"Z\");\n if (datetime >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxdatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var comparator = new Date(params + \"Z\");\n if (datetime <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxdatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var before_comparator = new Date(params[0] + \"Z\");\n var after_comparator = new Date(params[1] + \"Z\");\n if (datetime >= before_comparator && datetime <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxuploadsize\", function (value, element, param) {\n try {\n var limit = parseInt(param) - 2000;\n if (limit <= 0) {\n return true;\n }\n var maxImageSize;\n if ($(element).data(\"maximagesize\")) {\n maxImageSize =\n parseInt($(element).data(\"maximagesize\")) *\n parseInt($(element).data(\"maximagesize\")) *\n 2;\n } else {\n maxImageSize = 0;\n }\n if ($(element).attr(\"type\") === \"file\") {\n if (element.files && element.files.length) {\n var totalSize = 0;\n for (i = 0; i < element.files.length; i++) {\n if (\n maxImageSize > 0 &&\n element.files[i].size > 0.2 * maxImageSize &&\n element.files[i].type.match(/image.*/) &&\n !(element.files[i].type.indexOf(\"image/svg\") == 0)\n ) {\n totalSize += maxImageSize;\n } else {\n totalSize += element.files[i].size;\n }\n }\n if (totalSize > limit) {\n return false;\n }\n }\n return true;\n }\n } catch (e) {}\n return false;\n });\n}\nvar dataLayer = (window.dataLayer = window.dataLayer || []);\nfunction gtag() {\n dataLayer.push(arguments);\n}\nfunction daPageview() {\n var idToUse = daQuestionID[\"id\"];\n if (daQuestionID[\"ga\"] != undefined && daQuestionID[\"ga\"] != null) {\n idToUse = daQuestionID[\"ga\"];\n }\n if (idToUse != null) {\n idToUse = idToUse.replace(/[^A-Za-z0-9]+/g, \"_\");\n if (!daGAConfigured) {\n var opts = { send_page_view: false };\n if (daSecureCookies) {\n opts[\"cookie_flags\"] = \"SameSite=None;Secure\";\n }\n for (var i = 0; i < daGaIds.length; i++) {\n gtag(\"config\", daGaIds[i], opts);\n daGAConfigured = true;\n }\n }\n gtag(\n \"set\",\n \"page_path\",\n daInterviewPackage + \"/\" + daInterviewFilename + \"/\" + idToUse,\n );\n gtag(\"event\", \"page_view\", {\n page_path: daInterviewPackage + \"/\" + daInterviewFilename + \"/\" + idToUse,\n });\n }\n}\nfunction daStopPushChanges() {\n if (daObserverChangesInterval != null) {\n clearInterval(daObserverChangesInterval);\n }\n}\nfunction daResetPushChanges() {\n if (daObserverChangesInterval != null) {\n clearInterval(daObserverChangesInterval);\n }\n daObserverChangesInterval = setInterval(daPushChanges, 6000);\n}\nfunction daReadyFunction() {\n daInitialize(1);\n //console.log(\"ready: replaceState \" + daSteps);\n if (!daJsEmbed && !daIframeEmbed) {\n history.replaceState(\n { steps: daSteps },\n \"\",\n daLocationBar + daPageSep + daSteps,\n );\n }\n var daReloadAfter = daReloadAfterSeconds;\n if (daReloadAfter > 0) {\n daReloader = setTimeout(function () {\n daRefreshSubmit();\n }, daReloadAfter);\n }\n if (daUsingGA && !daObserverMode) {\n gtag(\"js\", new Date());\n }\n window.onpopstate = function (event) {\n if (\n event.state != null &&\n event.state.steps < daSteps &&\n daAllowGoingBack\n ) {\n $(\"#dabackbutton\").submit();\n }\n };\n $(window).bind(\"unload\", function () {\n if (!daObserverMode) {\n daStopCheckingIn();\n }\n if (daSocket != null && daSocket.connected) {\n //console.log('Terminating interview socket because window unloaded');\n daSocket.emit(\"terminate\");\n }\n });\n var daDefaultAllowList = bootstrap.Tooltip.Default.allowList;\n daDefaultAllowList[\"*\"].push(\"style\");\n daDefaultAllowList[\"a\"].push(\"style\");\n daDefaultAllowList[\"img\"].push(\"style\");\n if (daJsEmbed) {\n $.ajax({\n type: \"POST\",\n url: daPostURL,\n beforeSend: addCsrfHeader,\n xhrFields: {\n withCredentials: true,\n },\n data: \"csrf_token=\" + daCsrf + \"&ajax=1\",\n success: function (data) {\n setTimeout(function () {\n daProcessAjax(data, $(\"#daform\"), 0);\n }, 0);\n },\n error: function (xhr, status, error) {\n setTimeout(function () {\n daProcessAjaxError(xhr, status, error);\n }, 0);\n },\n });\n }\n if (daObserverMode) {\n if (\n location.protocol === \"http:\" ||\n document.location.protocol === \"http:\"\n ) {\n daSocket = io.connect(\"http://\" + document.domain + \"/observer\", {\n path: daRootUrl + \"/ws/socket.io\",\n query: \"i=\" + daYamlFilename,\n });\n }\n if (\n location.protocol === \"https:\" ||\n document.location.protocol === \"https:\"\n ) {\n daSocket = io.connect(\"https://\" + document.domain + \"/observer\", {\n path: daRootUrl + \"/ws/socket.io\",\n query: \"i=\" + daYamlFilename,\n });\n }\n if (typeof daSocket !== \"undefined\") {\n daSocket.on(\"connect\", function () {\n //console.log(\"Connected!\");\n daSocket.emit(\"observe\", {\n uid: daUid,\n i: daYamlFilename,\n userid: daUserObserved,\n });\n daConnected = true;\n });\n daSocket.on(\"terminate\", function () {\n //console.log(\"Terminating socket\");\n daSocket.disconnect();\n });\n daSocket.on(\"disconnect\", function () {\n //console.log(\"Disconnected socket\");\n //daSocket = null;\n });\n daSocket.on(\"stopcontrolling\", function (data) {\n window.parent.daStopControlling(data.key);\n });\n daSocket.on(\"start_being_controlled\", function (data) {\n //console.log(\"Got start_being_controlled\");\n daConfirmed = true;\n daPushChanges();\n window.parent.daGotConfirmation(data.key);\n });\n daSocket.on(\"abortcontrolling\", function (data) {\n //console.log(\"Got abortcontrolling\");\n //daSendChanges = false;\n //daConfirmed = false;\n //daStopPushChanges();\n window.parent.daAbortControlling(data.key);\n });\n daSocket.on(\"noconnection\", function (data) {\n //console.log(\"warning: no connection\");\n if (daNoConnectionCount++ > 2) {\n //console.log(\"error: no connection\");\n window.parent.daStopControlling(data.key);\n }\n });\n daSocket.on(\"newpage\", function (incoming) {\n //console.log(\"Got newpage\")\n var data = incoming.obj;\n $(daTargetDiv).html(data.body);\n if (data.message_log) {\n var srMessages = data.message_log.filter(function(m) {\n return m.priority === 'info' || m.priority === 'success' || m.priority === 'warning' || m.priority === 'danger';\n });\n if (srMessages.length > 0) {\n $(\"#daSrAnnouncement\").text(srMessages.map(function(m) { return m.message; }).join(' '));\n daPendingAnnouncement = true;\n }\n }\n $(daTargetDiv).parent().removeClass();\n $(daTargetDiv).parent().addClass(data.bodyclass);\n daInitialize(1);\n for (var i = 0; i < data.extra_scripts.length; i++) {\n daEvalExtraScript(data.extra_scripts[i]);\n }\n for (var i = 0; i < data.extra_css.length; i++) {\n $(\"head\").append(data.extra_css[i]);\n }\n document.title = data.browser_title;\n if ($(\"html\").attr(\"lang\") != data.lang) {\n $(\"html\").attr(\"lang\", data.lang);\n }\n daPushChanges();\n });\n daSocket.on(\"pushchanges\", function (data) {\n //console.log(\"Got pushchanges: \" + JSON.stringify(data));\n var valArray = Object();\n var values = data.parameters;\n for (var i = 0; i < values.length; i++) {\n valArray[values[i].name] = values[i].value;\n }\n $(\"#daform\").each(function () {\n $(this)\n .find(\":input\")\n .each(function () {\n var type = $(this).attr(\"type\");\n var id = $(this).attr(\"id\");\n var name = $(this).attr(\"name\");\n if (type == \"checkbox\") {\n if (name in valArray) {\n if (valArray[name] == \"True\") {\n if ($(this).prop(\"checked\") != true) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n } else if (type == \"radio\") {\n if (name in valArray) {\n if (valArray[name] == $(this).val()) {\n if ($(this).prop(\"checked\") != true) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n }\n } else if ($(this).data().hasOwnProperty(\"sliderMax\")) {\n $(this).slider(\"setValue\", parseInt(valArray[name]));\n } else {\n if (name in valArray) {\n $(this).val(valArray[name]);\n }\n }\n });\n });\n });\n }\n daObserverChangesInterval = setInterval(daPushChanges, daCheckinSeconds);\n }\n $(document).trigger(\"daPageLoad\");\n}\n\nfunction daSetPosition(position) {\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n latitude: position.coords.latitude,\n longitude: position.coords.longitude,\n });\n}\n\nfunction daAddListenersFor(elementId) {\n $('[name=\"' + elementId + '\"]').change(function () {\n if ($(this).attr(\"type\") == \"checkbox\" || $(this).attr(\"type\") == \"radio\") {\n theVal = $('[name=\"' + elementId + '\"]:checked').val();\n } else {\n theVal = $(this).val();\n }\n var n = 0;\n if ($(this).data(\"disableothers\")) {\n var id_list = JSON.parse(\n decodeURIComponent(escape(atob($(this).data(\"disableothers\")))),\n );\n n = id_list.length;\n }\n if (n) {\n for (var i = 0; i < n; ++i) {\n var theElementId = id_list[i].replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n if (theVal == null || theVal == \"\") {\n daDisableIfNotHidden(\n \"#daform [name='\" + theElementId + \"']:not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform [id='\" + theElementId + \"']:not([type=hidden])\",\n false,\n );\n } else {\n daDisableIfNotHidden(\n \"#daform [name='\" + theElementId + \"']:not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform [id='\" + theElementId + \"']:not([type=hidden])\",\n true,\n );\n }\n }\n } else {\n if (theVal == null || theVal == \"\") {\n daDisableIfNotHidden(\n \"#daform input:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform select:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform textarea:not([name='\" + elementId + \"']):not([type=hidden])\",\n false,\n );\n } else {\n daDisableIfNotHidden(\n \"#daform input:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform select:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform textarea:not([name='\" + elementId + \"']):not([type=hidden])\",\n true,\n );\n }\n }\n });\n $(\"[data-disableothers]\").trigger(\"change\");\n}\n\nfunction daShowError(error) {\n switch (error.code) {\n case error.PERMISSION_DENIED:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"User denied the request for Geolocation\",\n });\n console.log(\"User denied the request for Geolocation.\");\n break;\n case error.POSITION_UNAVAILABLE:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"Location information is unavailable\",\n });\n console.log(\"Location information is unavailable.\");\n break;\n case error.TIMEOUT:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"The request to get user location timed out\",\n });\n console.log(\"The request to get user location timed out.\");\n break;\n case error.UNKNOWN_ERROR:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"An unknown error occurred\",\n });\n console.log(\"An unknown error occurred.\");\n break;\n }\n}\n"],"names":["$","document","addEventListener","jQuery","noConflict","daJsEmbed","daTargetDiv","daPreloadImage","daImageToPreLoad","daAutoColorScheme","window","matchMedia","matches","daDesiredColorScheme","daCurrentColorScheme","documentElement","setAttribute","ajax","type","url","daUrlChangeColorScheme","xhrFields","withCredentials","data","success","scheme","error","xhr","status","console","log","dataType","ready","daReadyFunction","daObserverMode","daUpdateHeight","resize","daConfigureJqueryFuncs","i","daInitialExtraScripts","length","daEvalExtraScript","daCustomItems","daGlobalEval","js","e","datatype","stack","daColor","daWindowWidth","daTheWidth","daAspectRatio","daTheBorders","daSignaturePad","daWaitPage","daInitializeSignature","penColor","defaultImage","daNewCanvas","on","daResizeCanvas","click","preventDefault","isEmpty","getElementById","value","removeClass","setTimeout","addClass","attr","daSaveCanvas","width","dataURL","toDataURL","daSpinnerTimeout","daShowSpinner","daPost","da_success","da_the_image","da_ajax","cwidth","contentwidth","outerWidth","cheight","otherHeights","outerHeight","height","canvas","html","daThicknessScalingFactor","SignaturePad","querySelector","fromDataURL","ratio","xOffset","yOffset","minWidth","maxWidth","scrollTo","daSteps","scrollIntoView","params","key","hasOwnProperty","hiddenField","submit","isCanvasSupported","elem","createElement","getContext","daAutocomplete","Object","daWaitForGoogle","waitForPlaces","Promise","let","attempts","maxAttempts","interval","setInterval","found","google","maps","undefined","Error","places","clearInterval","resolve","daInitAutocomplete","info","id","opts","suggestions","async","daInitAutocompleteOld","await","Autocomplete","event","addListener","daFillInAddressFor","daFillInAddressOld","daInitMap","daMapInfo","googleLoaded","importLibrary","timePeriod","map_info_length","the_map","bounds","LatLngBounds","daAddMap","center","latitude","longitude","marker_length","markers","show_marker","j","new_marker","daAddMarker","extend","LatLng","position","lat","lng","map","fitBounds","map_num","center_lat","center_lon","Map","zoom","mapTypeId","MapTypeId","ROADMAP","mapId","infowindow","InfoWindow","marker_info","AdvancedMarkerElement","PinElement","marker","content","icon","element","setContent","open","daFillInAddress","origId","place","daVarLookupRev","baseVarname","atob","replace","re","RegExp","componentTrans","administrative_area_level_1","administrative_area_level_2","alternatives","fieldsToClear","idForPart","each","the_id","this","field_name","indexOf","m","exec","component","savedValues","toChange","addressComponents","addressType","types","val","push","the_address","theZipCode","location","fieldName","altList","fieldsToGet","fields","pythonVar","jsVar","underscoreToCamel","Array","isArray","transformedObject","JSON","parse","stringify","entries","forEach","jsSubVar","pythonSubVar","camelToUnderscore","jsonIfObject","trigger","base_varname","componentForm","locality","sublocality","administrative_area_level_3","country","postal_code","fields_to_fill","id_for_part","getPlace","street_number","route","address_components","adr_address","business_status","formatted_address","formatted_phone_number","geometry","international_phone_number","name","place_id","price_level","rating","utc_offset_minutes","vicinity","website","daGeolocate","navigator","geolocation","getCurrentPosition","coords","circle","Circle","radius","accuracy","setBounds","getBounds","daRequestPending","isAndroid","test","userAgent","toLowerCase","daWhichButton","daSocket","daChatHistory","daCheckinCode","daCheckingIn","daShowingHelp","daIframeEmbed","parent","daChatPartnersAvailable","daPhoneAvailable","daInitialized","daConfirmed","daNoConnectionCount","daObserverChangesInterval","daNotYetScrolled","daInformedChanged","daShowingSpinner","daSubmitter","daGAConfigured","daShowIfInProcess","daFieldsToSkip","daVarLookup","daVarLookupMulti","daVarLookupRevMulti","daVarLookupSelect","daVarLookupCheckbox","daVarLookupOption","daComboBoxes","eval","daFetchAcceptIncoming","daFetchAjaxTimeout","daFetchAjaxTimeoutRunning","daFetchAjaxTimeoutFetchAfter","daAddressAcceptIncoming","daAddressAjaxTimeout","daAddressAjaxTimeoutRunning","daAddressAjaxTimeoutCallAfter","daShowHideHappened","daCheckinInterval","daInitialCheckinTimeout","daReloader","daDisable","daAllowGoingBack","daIsUser","daUserId","daChatStatus","daChatAvailable","daChatMode","daSendChanges","daBeingControlled","daInformed","daUsingGA","daUsingSegment","daDoAction","daQuestionID","daCsrf","daComboboxButtonLabel","daInterviewUrl","daLocationBar","daPostURL","daYamlFilename","daNotificationContainer","daNotificationMessage","daMessageLog","daPendingAnnouncement","daGetVariablesUrl","daLiveHelpMessage","daLiveHelpMessagePhone","daNewChatMessage","daLiveHelpAvailableMessage","daScreenBeingControlled","daScreenNoLongerBeingControlled","daPathRoot","daCheckinSeconds","daChatRoles","daChatPartnerRoles","daAllButtonClasses","daButtonStyle","daShouldForceFullScreen","daPageSep","daAreYouSure","daOtherUser","daOtherUsers","daOperator","daOperators","daCheckinUrl","daCheckoutUrl","daCurrencyDecimalPlaces","daShouldDebugReadabilityHelp","daShouldDebugReadabilityQuestion","daEmailAddressRequired","daNeedCompleteEmail","daDefaultPopoverTrigger","daToggleWord","daCheckinUrlWithInterview","daReloadAfterSeconds","daTrackingEnabled","dagoogleapicallback","daForceFullScreen","steps","top","href","defineProperty","String","prototype","args","from","arguments","defaultNumber","iValue","isNaN","defaultString","match","sign","filler","scale","precision","strOut","space","asNumber","splice","shift","parseInt","substr","repeat","parseFloat","toExponential","toFixed","toString","str","rest","daSprintf","apply","daGoToAnchor","target","scrollTarget","first","offset","animate","scrollTop","atou","b64","decodeURIComponent","escape","utoa","btoa","unescape","encodeURIComponent","dabtoa","daatob","hideTablist","anyTabs","is","getFields","allFields","rawFieldName","daGetFields","daAppendIfExists","theArray","getField","notInDiv","n","checkboxes","prop","showifParents","parents","contains","select","fieldNameEscaped","possibleElements","returnVal","hasClass","fieldSet","daGetField","setChoices","choices","isCombobox","comboInput","find","comboObject","oldComboVal","$target","$source","oldVal","remove","opt","text","append","refresh","clearTarget","daSetField","daSetChoices","setField","theValue","wasSet","manualSelect","theVal","newVal","oldValue","option","changed","thisVal","cbSelected","selectedVals","da_val","daFormAsJSON","isInitial","formData","serializeArray","inArray","isChangedElem","img","Image","src","daShowHelpTab","tab","addCsrfHeader","settings","setRequestHeader","flash","message","priority","clear","empty","newElement","hide","da_flash","url_action","action","JSON_stringify","da_url_action","action_call","callback","forgetPrior","readOnly","_action","_arguments","beforeSend","param","_readonly","csrf_token","daProcessAjaxError","da_action_call","url_action_call","action_perform","daProcessAjax","da_action_perform","url_action_perform","action_perform_with_next","next_data","_next_action_to_set","da_action_perform_with_next","url_action_perform_with_next","get_interview_variables","da_get_interview_variables","daInformAbout","subject","chatMessage","waitPeriod","popover","placement","container","title","removeAttr","daPublishMessage","newDiv","is_self","daScrollChat","chatScroller","scrollHeight","daScrollChatFast","daSender","emit","focus","daShowControl","mode","css","appendTo","slideDown","show","daHideControl","slideUp","daInitializeSocket","connected","connect","protocol","io","domain","path","query","daDisplayChat","daPushChanges","arg","messages","disconnect","daTurnOnChat","numpartners","daCloseChat","incoming","obj","valArray","values","parameters","slider","clicked","daUnfakeHtmlResponse","daTurnOnControl","daResetPushChanges","uid","daUid","userid","daUserObserved","daTurnOffControl","daStopPushChanges","daInjectTrim","handler","tagName","trim","call","daInvalidHandler","form","validator","errors","numberOfInvalids","errorList","daValidator","daValidationRules","daValidationHandler","visibleElements","seen","filter","theName","off","daOnChange","tableOrder","tableOrderChanges","tableName","tableChanged","collectToDelete","lastOk","last","keys","join","do_iframe_upload","inline_succeeded","filesToRead","filesRead","newFileList","nullFileList","fileArray","file_list","inline_file_list","namesWithImages","the_file_input","the_max_size","the_image_type","hasImages","files","the_file","originalFileList","concat","fileInfoList","file_input","max_size","image_type","image_mime_type","this_has_images","a_file","tempFunc","has_images","reader","FileReader","thisFileInfo","size","onload","readerEvent","convertedName","convertedType","pos","lastIndexOf","image","imageEvent","drawImage","daResumeUploadSubmission","result","readAsDataURL","iframe","bind","parseJSON","contents","f","daShowErrorScreen","contentWindow","body","innerHTML","serialize","daSetupValidation","rules","submitHandler","invalidHandler","onfocusout","defaults","validate","showErrors","daRecordLocation","daSetPosition","daShowError","timeout","maximumAge","daSignatureSubmit","stopPropagation","s","json","c","charCodeAt","slice","disabled","oThis","daCheckin","daConnected","responseType","theHtml","responseText","daDivs","children","otherScripts","startsWith","daErrorScript","errorScriptDiv","daScripts","scriptElement","appendChild","reload","daShowNotifications","daAddScriptToHead","head","getElementsByTagName","script","defer","which","tag","activeElement","not","blur","daAddListenersFor","tooltip","enabled","color","default","clearTimeout","daRefreshSubmit","sleep","doScroll","actionURL","question_data","daQuestionData","message_log","srMessages","bodyclass","do_action","livehelp","availability","roles","partner_roles","history","state","pushState","browser_title","replaceState","allow_going_back","id_dict","daInitialize","extra_scripts","scrollToTarget","extra_css","lang","reload_after","daHideSpinner","input","daEmbeddedJs","daEmbeddedAction","confirm","actionData","theURL","daReviewAction","daRingChat","daChatLogCallback","daResetCheckinCode","Math","random","daCheckinCallback","checkin_code","commands","command","extra","assignments","possible_assignment","assignment","oldDaChatStatus","phone","statusChanged","chat_status","num_peers","help_available","observerControl","daCheckoutCallback","daInitialCheckin","datastring","chatstatus","chatmode","checkinCode","raw_parameters","daCheckout","daStopCheckingIn","newSpan","newI","daObserverSubmitter","theAction","embeddedJs","embeddedAction","linkNum","theId","skey","daAdjustInputWidth","leftBracket","rightBracket","daIgnoreAllButTab","code","keyCode","daDisableIfNotHidden","showIfParent","disable","enable","daShowIfCompare","showIfVal","rationalizeListCollect","finalNum","num","firstNum","seenAddAnother","current","daFetchAjax","cb","doShow","wordStart","shown","wordstart","upperWordStart","toUpperCase","emptyItem","notYetSelected","selectedValue","item","keyList","sort","$element","lookup","split","word","index","charAt","camelStr","fileinput","theme","language","allowedPreviewTypes","row","prev","insertBefore","next","insertAfter","valid","visible","isObject","varname","theSelect","cbList","theType","variable","cleanNum","replaceAll","selects","querySelectorAll","labelauty","class","label","anyChanged","firstEncountered","existing_val","combobox","buttonLabel","inputBox","daInputBox","clearIfNoMatch","functionalButton","showButton","matcher","lookupWhileTyping","thisId","Place","AutocompleteSessionToken","AutocompleteSuggestion","token","priorQuery","priorResults","request","region","sessionToken","$container","selected","placePrediction","toPlace","fetchFields","includedPrimaryTypes","fetchAutocompleteSuggestions","results","sugMap","suggestion","addressText","every","options","items","reduce","revMap","process","_attachment_email_address","minlength","required","email","errorClass","daPopoverTriggerList","daPopoverTrigger","daPopoverList","daPopoverTriggerEl","bootstrap","Popover","informed","theCode","the_key","box","toggler","toggleClass","firstInput","inputType","strLength","setSelectionRange","err","questionTitle","firstButton","theIds","navMain","collapse","the_hash","patt","pattObj","pattRaw","checkboxName","baseName","bracketPart","transBaseName","daNameOne","daNameTwo","daNameThree","daNameBase","daTriggerQueries","daInputsSeen","daOnlyUnique","self","showIfDiv","jsInfo","showIfSign","showIfMode","jsExpression","infoItem","showIfVars","initShowIfVar","initShowIfVarEscaped","altShowIfVar","altShowIfVarEscaped","altElem","showIfVar","showIfVarEscaped","varToUse","showHideDiv","speed","resultt","leader","showHideDivImmediate","showHideDivFast","change","varName","endsWith","signifier","cbVarName","thisVarName","saveAs","firstChild","daTriggerAllShowHides","daUniqueTriggerQueries","daFirstTime","daTries","the_a","the_delay","daPageview","daSegmentEvent","setDefaults","ignore","highlight","closest","unhighlight","errorElement","errorPlacement","elementName","idOfErrorSpan","lastInGroup","thefields","thename","fieldsArr","fileContainer","choice_with_help","addMethod","a","b","realElement","realValue","number_needed","css_query","date","Date","comparator","before_comparator","after_comparator","time","datetime","limit","maxImageSize","totalSize","dataLayer","gtag","idToUse","send_page_view","daSecureCookies","daGaIds","daInterviewPackage","daInterviewFilename","page_path","daReloadAfter","onpopstate","daDefaultAllowList","Tooltip","Default","allowList","daRootUrl","daStopControlling","daGotConfirmation","daAbortControlling","elementId","id_list","theElementId","PERMISSION_DENIED","POSITION_UNAVAILABLE","TIMEOUT","UNKNOWN_ERROR"],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["docassemble_webapp/docassemble/webapp/static/app/app.js"],"sourcesContent":["var $;\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n if (typeof $ == \"undefined\") {\n $ = jQuery.noConflict();\n }\n if (daJsEmbed) {\n daTargetDiv = \"#\" + daJsEmbed;\n } else {\n daTargetDiv = \"#dabody\";\n }\n daPreloadImage(daImageToPreLoad);\n if (daAutoColorScheme) {\n if (window.matchMedia(\"(prefers-color-scheme: dark)\").matches) {\n daDesiredColorScheme = 1;\n } else {\n daDesiredColorScheme = 0;\n }\n if (daCurrentColorScheme != daDesiredColorScheme) {\n document.documentElement.setAttribute(\n \"data-bs-theme\",\n daDesiredColorScheme ? \"dark\" : \"light\",\n );\n $.ajax({\n type: \"PATCH\",\n url: daUrlChangeColorScheme,\n xhrFields: {\n withCredentials: true,\n },\n data: \"scheme=\" + daDesiredColorScheme,\n success: function (data) {\n daCurrentColorScheme = data.scheme;\n },\n error: function (xhr, status, error) {\n console.log(\"Unable to change desired color scheme.\");\n },\n dataType: \"json\",\n });\n }\n }\n $(document).ready(daReadyFunction);\n if (!daObserverMode) {\n $(window).ready(daUpdateHeight);\n $(window).resize(daUpdateHeight);\n }\n daConfigureJqueryFuncs();\n for (var i = 0; i < daInitialExtraScripts.length; i++) {\n daEvalExtraScript(daInitialExtraScripts[i]);\n }\n for (var i = 0; i < daCustomItems.length; i++) {\n try {\n daGlobalEval(daCustomItems[i].js);\n } catch (e) {\n console.error(\n \"Error with JavaScript code of CustomDataType \" +\n daCustomItems[i].datatype, e.stack\n );\n }\n }\n});\n\nvar daColor = \"#000\";\nvar daWindowWidth;\nvar daTheWidth;\nvar daAspectRatio;\nvar daTheBorders;\nvar daSignaturePad;\nvar daWaitPage = false;\n\nfunction daInitializeSignature(penColor, defaultImage) {\n daColor = penColor;\n daAspectRatio = 0.4;\n daTheBorders = 30;\n daNewCanvas(defaultImage);\n\n $(window).on(\"resize\", function () {\n daResizeCanvas();\n });\n $(window).on(\"orientationchange\", function () {\n daResizeCanvas();\n });\n $(\".dasigclear\").click(function (e) {\n e.preventDefault();\n daNewCanvas();\n return false;\n });\n $(\".dasigsave\").click(function (e) {\n e.preventDefault();\n if (\n daSignaturePad.isEmpty() &&\n document.getElementById(\"da_sig_required\").value == \"1\"\n ) {\n $(\"#daerrormess\").removeClass(\"dasignotshowing\");\n setTimeout(function () {\n $(\"#daerrormess\").addClass(\"dasignotshowing\");\n }, 3000);\n } else {\n $(\".dasigclear\").attr(\"disabled\", true);\n $(\".dasigsave\").attr(\"disabled\", true);\n daSaveCanvas();\n }\n return false;\n });\n}\n\n// function to setup a new canvas for drawing\n\nfunction daResizeCanvas() {\n if ($(window).width() != daWindowWidth) {\n daWindowWidth = $(window).width();\n setTimeout(function () {\n daNewCanvas();\n }, 200);\n }\n return;\n}\n\nfunction daSaveCanvas() {\n var dataURL = daSignaturePad.toDataURL();\n //console.log(dataURL)\n daSpinnerTimeout = setTimeout(daShowSpinner, 1000);\n daPost({ da_success: 1, da_the_image: dataURL, da_ajax: 1 });\n}\n\nfunction daNewCanvas(defaultImage = null) {\n //console.log(\"running daNewCanvas\");\n daWindowWidth = $(window).width();\n var cwidth = $(window).width() - daTheBorders;\n var contentwidth = $(\"#dasigpage\").outerWidth(true);\n if (cwidth > contentwidth) {\n cwidth = contentwidth;\n }\n var cheight = cwidth * daAspectRatio;\n var otherHeights =\n $(\"#dasigheader\").outerHeight(true) +\n $(\"#dasigtoppart\").outerHeight(true) +\n $(\"#dasigmidpart\").outerHeight(true) +\n $(\"#dasigbottompart\").outerHeight(true);\n if (cheight > $(window).height() - otherHeights) {\n cheight = $(window).height() - otherHeights;\n }\n if (cheight > 275 || cheight < 30) {\n cheight = 275;\n }\n $(\"#dasigcontent\").height(cheight);\n var canvas =\n '';\n $(\"#dasigcontent\").html(canvas);\n daTheWidth = (daThicknessScalingFactor * cwidth) / 100.0;\n if (daTheWidth < 1) {\n daTheWidth = 1;\n }\n daSignaturePad = new SignaturePad(document.querySelector(\"#dasigcanvas\"));\n if (defaultImage != null) {\n daSignaturePad.fromDataURL(defaultImage, {\n ratio: 1,\n width: cwidth,\n height: cheight,\n xOffset: 0,\n yOffset: 0,\n });\n }\n daSignaturePad.minWidth = 0.5 * daThicknessScalingFactor;\n daSignaturePad.maxWidth = 2.5 * daThicknessScalingFactor;\n daSignaturePad.penColor = daColor;\n setTimeout(function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n if (daSteps > 1) {\n $(daTargetDiv)[0].scrollIntoView();\n }\n } else {\n window.scrollTo(0, 1);\n }\n }, 10);\n}\n\nfunction daPost(params) {\n for (var key in params) {\n if (params.hasOwnProperty(key)) {\n var hiddenField = document.getElementById(key);\n if (hiddenField != null) {\n hiddenField.setAttribute(\"value\", params[key]);\n } else {\n console.log(\"Key does not exist: \" + key);\n return;\n }\n }\n }\n $(\"#dasigform\").submit();\n return;\n}\n\nfunction isCanvasSupported() {\n var elem = document.createElement(\"canvas\");\n return !!(elem.getContext && elem.getContext(\"2d\"));\n}\n\nvar daAutocomplete = Object();\n\nfunction daWaitForGoogle(waitForPlaces) {\n return new Promise((resolve) => {\n let attempts = 0;\n const maxAttempts = 50;\n const interval = setInterval(() => {\n var found = false;\n try {\n if (google.maps === undefined) {\n throw new Error(\"google maps not defined\");\n }\n if (waitForPlaces) {\n if (google.maps.places === undefined) {\n throw new Error(\"places not defined\");\n }\n }\n found = true;\n } catch (e) {}\n if (found || attempts >= maxAttempts) {\n clearInterval(interval);\n resolve(found);\n }\n attempts++;\n }, 100);\n });\n}\n\nfunction daInitAutocomplete(info) {\n daAutocomplete = Object();\n for (var i = 0; i < info.length; ++i) {\n daAutocomplete[info[i][0]] = {\n id: info[i][0],\n opts: info[i][1],\n suggestions: {},\n };\n }\n}\n\nasync function daInitAutocompleteOld(info) {\n await daWaitForGoogle(true);\n for (var i = 0; i < info.length; ++i) {\n var id = info[i][0];\n var opts = info[i][1];\n daAutocomplete[id] = new google.maps.places.Autocomplete(\n document.getElementById(id),\n opts,\n );\n google.maps.event.addListener(\n daAutocomplete[id],\n \"place_changed\",\n daFillInAddressFor(id),\n );\n }\n}\n\nfunction daFillInAddressFor(id) {\n return function () {\n daFillInAddressOld(id);\n };\n}\n\nasync function daInitMap(daMapInfo) {\n var googleLoaded = await daWaitForGoogle(false);\n if (!googleLoaded) {\n console.log(\"Could not load Google Maps library\");\n return;\n }\n await google.maps.importLibrary(\"core\");\n var timePeriod = 0;\n maps = [];\n var map_info_length = daMapInfo.length;\n for (var i = 0; i < map_info_length; i++) {\n the_map = daMapInfo[i];\n var bounds = new google.maps.LatLngBounds();\n maps[i] = daAddMap(i, the_map.center.latitude, the_map.center.longitude);\n marker_length = the_map.markers.length;\n if (marker_length == 1) {\n show_marker = true;\n } else {\n show_marker = false;\n }\n for (var j = 0; j < marker_length; j++) {\n var new_marker = await daAddMarker(\n maps[i],\n the_map.markers[j],\n show_marker,\n );\n bounds.extend(\n new google.maps.LatLng(\n new_marker.position.lat,\n new_marker.position.lng,\n ),\n );\n }\n if (marker_length > 1) {\n maps[i].map.fitBounds(bounds);\n }\n }\n}\n\nfunction daAddMap(map_num, center_lat, center_lon) {\n var map = new google.maps.Map(document.getElementById(\"map\" + map_num), {\n zoom: 11,\n center: new google.maps.LatLng(center_lat, center_lon),\n mapTypeId: google.maps.MapTypeId.ROADMAP,\n mapId: \"map\" + map_num + \"element\",\n });\n var infowindow = new google.maps.InfoWindow();\n return { map: map, infowindow: infowindow };\n}\n\nasync function daAddMarker(map, marker_info, show_marker) {\n const { AdvancedMarkerElement, PinElement } =\n await google.maps.importLibrary(\"marker\");\n var marker;\n var content;\n if (marker_info.icon) {\n content = new PinElement(marker_info.icon);\n } else {\n content = new PinElement();\n }\n marker = new AdvancedMarkerElement({\n position: {\n lat: marker_info.latitude,\n lng: marker_info.longitude,\n },\n map: map.map,\n content: content.element,\n });\n if (marker_info.info) {\n google.maps.event.addListener(\n marker,\n \"click\",\n (function (marker, info) {\n return function () {\n map.infowindow.setContent(info);\n map.infowindow.open(map.map, marker);\n };\n })(marker, marker_info.info),\n );\n }\n if (show_marker) {\n map.infowindow.setContent(marker_info.info);\n map.infowindow.open(map.map, marker);\n }\n return marker;\n}\n\nfunction daFillInAddress(origId, place) {\n var id;\n if (daVarLookupRev[origId]) {\n id = daVarLookupRev[origId];\n } else {\n id = origId;\n }\n var baseVarname = atob(id).replace(/.[a-zA-Z0-9_]+$/, \"\");\n baseVarname = baseVarname.replace(/[\\[\\]]/g, \".\");\n var re = new RegExp(\"^\" + baseVarname + \".(.*)\");\n var componentTrans = {\n administrative_area_level_1: [\"state\", \"shortText\"],\n administrative_area_level_2: [\"county\", \"longText\"],\n };\n var alternatives = [\n [\n \"city\",\n [\n \"locality\",\n \"sublocality_level_1\",\n \"neighborhood\",\n \"administrative_area_level_3\",\n \"colloquial_area\",\n ],\n ],\n [\n \"sublocality\",\n [\n \"sublocality_level_1\",\n \"sublocality_level_2\",\n \"sublocality_level_3\",\n \"sublocality_level_4\",\n \"sublocality_level_5\",\n ],\n ],\n ];\n var fieldsToClear = [\n \"address\",\n \"administrative_area_level_1\",\n \"administrative_area_level_2\",\n \"administrative_area_level_3\",\n \"administrative_area_level_4\",\n \"administrative_area_level_5\",\n \"administrative_area_level_6\",\n \"administrative_area_level_7\",\n \"adr_format_address\",\n \"airport\",\n \"bus_station\",\n \"business_status\",\n \"city\",\n \"colloquial_area\",\n \"compound_code\",\n \"country\",\n \"county\",\n \"directions_uri\",\n \"display_name\",\n \"display_name_language_code\",\n \"establishment\",\n \"floor\",\n \"formatted_address\",\n \"global_code\",\n \"has_wheelchair_accessible_entrance\",\n \"has_wheelchair_accessible_parking\",\n \"has_wheelchair_accessible_restroom\",\n \"has_wheelchair_accessible_seating\",\n \"id\",\n \"international_phone_number\",\n \"intersection\",\n \"landmark\",\n \"latitude\",\n \"locality\",\n \"location\",\n \"longitude\",\n \"national_phone_number\",\n \"natural_feature\",\n \"neighborhood\",\n \"park\",\n \"parking\",\n \"photos_uri\",\n \"place_uri \",\n \"plus_code\",\n \"point_of_interest\",\n \"political\",\n \"post_box\",\n \"postal_code\",\n \"postal_town\",\n \"premise\",\n \"price_level\",\n \"primary_type\",\n \"primary_type_display_name\",\n \"primary_type_display_name_language_code\",\n \"rating\",\n \"reviews_uri\",\n \"room\",\n \"route\",\n \"state\",\n \"street_number\",\n \"sublocality\",\n \"subpremise\",\n \"train_station\",\n \"transit_station\",\n \"types\",\n \"utc_offset_minutes\",\n \"write_a_review_uri\",\n \"zip\",\n ];\n var idForPart = {};\n $(\"input, select\").each(function () {\n var the_id = $(this).attr(\"id\");\n if (typeof the_id !== typeof undefined && the_id !== false) {\n try {\n var field_name = atob($(this).attr(\"id\"));\n if (field_name.indexOf(\"_field_\") == 0) {\n field_name = atob(daVarLookupRev[$(this).attr(\"id\")]);\n }\n var m = re.exec(field_name);\n if (m.length > 0) {\n idForPart[m[1]] = $(this).attr(\"id\");\n }\n } catch (e) {}\n }\n });\n for (var component in fieldsToClear) {\n if (\n typeof idForPart[component] != \"undefined\" &&\n document.getElementById(idForPart[component]) != null\n ) {\n document.getElementById(idForPart[component]).value = \"\";\n }\n }\n var savedValues = {};\n var toChange = [];\n for (var i = 0; i < place.addressComponents.length; i++) {\n var addressType = place.addressComponents[i].types[0];\n if (addressType == \"street_number\" || addressType == \"country\") {\n savedValues[addressType] = place.addressComponents[i][\"shortText\"];\n } else {\n savedValues[addressType] = place.addressComponents[i][\"longText\"];\n }\n if (\n componentTrans[addressType] &&\n idForPart[componentTrans[addressType][0]] &&\n typeof idForPart[componentTrans[addressType][0]] != \"undefined\" &&\n document.getElementById(idForPart[componentTrans[addressType][0]]) != null\n ) {\n var val = place.addressComponents[i][componentTrans[addressType][1]];\n if (typeof val != \"undefined\") {\n document.getElementById(\n idForPart[componentTrans[addressType][0]],\n ).value = val;\n toChange.push(\"#\" + idForPart[componentTrans[addressType][0]]);\n }\n }\n if (\n idForPart[addressType] &&\n typeof idForPart[addressType] != \"undefined\" &&\n document.getElementById(idForPart[addressType]) != null\n ) {\n var val = savedValues[addressType];\n if (typeof val != \"undefined\") {\n document.getElementById(idForPart[addressType]).value = val;\n toChange.push(\"#\" + idForPart[addressType]);\n }\n }\n }\n if (\n typeof idForPart[\"address\"] != \"undefined\" &&\n document.getElementById(idForPart[\"address\"]) != null\n ) {\n var the_address = \"\";\n if (typeof savedValues[\"street_number\"] != \"undefined\") {\n the_address += savedValues[\"street_number\"] + \" \";\n }\n if (typeof savedValues[\"route\"] != \"undefined\") {\n the_address += savedValues[\"route\"];\n }\n document.getElementById(idForPart[\"address\"]).value = the_address;\n toChange.push(\"#\" + idForPart[\"address\"]);\n }\n if (\n typeof idForPart[\"zip\"] != \"undefined\" &&\n document.getElementById(idForPart[\"zip\"]) != null &&\n typeof savedValues[\"postal_code\"] != \"undefined\" &&\n savedValues[\"postal_code\"] != \"\"\n ) {\n var theZipCode = savedValues[\"postal_code\"];\n if (\n typeof savedValues[\"postal_code_suffix\"] != \"undefined\" &&\n savedValues[\"postal_code_suffix\"] != \"\"\n ) {\n theZipCode += \"-\" + savedValues[\"postal_code_suffix\"];\n }\n document.getElementById(idForPart[\"zip\"]).value = theZipCode;\n toChange.push(\"#\" + idForPart[\"zip\"]);\n }\n if (place.location) {\n if (\n typeof idForPart[\"latitude\"] != \"undefined\" &&\n document.getElementById(idForPart[\"latitude\"]) != null\n ) {\n document.getElementById(idForPart[\"latitude\"]).value =\n place.location.lat();\n toChange.push(\"#\" + idForPart[\"latitude\"]);\n }\n if (\n typeof idForPart[\"longitude\"] != \"undefined\" &&\n document.getElementById(idForPart[\"longitude\"]) != null\n ) {\n document.getElementById(idForPart[\"longitude\"]).value =\n place.location.lng();\n toChange.push(\"#\" + idForPart[\"longitude\"]);\n }\n }\n for (var i = 0; i < alternatives.length; i++) {\n const [fieldName, altList] = alternatives[i];\n if (\n typeof idForPart[fieldName] != \"undefined\" &&\n document.getElementById(idForPart[fieldName]) != null &&\n document.getElementById(idForPart[fieldName]).value == \"\"\n ) {\n }\n for (var j = 0; j < altList.length; j++) {\n if (typeof savedValues[altList[j]] != \"undefined\") {\n document.getElementById(idForPart[fieldName]).value =\n savedValues[altList[j]];\n toChange.push(\"#\" + idForPart[fieldName]);\n break;\n }\n }\n }\n var fieldsToGet = daAutocomplete[origId].opts.fields || [];\n for (var i = 0; i < fieldsToGet.length; i++) {\n var pythonVar = fieldsToGet[i];\n if (pythonVar == \"address_components\" || pythonVar == \"location\") {\n continue;\n }\n var jsVar = underscoreToCamel(pythonVar);\n if (\n place[jsVar] != null &&\n typeof place[jsVar] === \"object\" &&\n !Array.isArray(place[jsVar])\n ) {\n var transformedObject = JSON.parse(JSON.stringify(place[jsVar]));\n Object.entries(transformedObject).forEach(([jsSubVar, value]) => {\n var pythonSubVar = camelToUnderscore(jsSubVar);\n if (\n value != null &&\n typeof idForPart[pythonSubVar] != \"undefined\" &&\n document.getElementById(idForPart[pythonSubVar]) != null\n ) {\n document.getElementById(idForPart[pythonSubVar]).value =\n jsonIfObject(value);\n toChange.push(\"#\" + idForPart[pythonSubVar]);\n }\n });\n } else if (\n place[jsVar] &&\n typeof idForPart[pythonVar] != \"undefined\" &&\n document.getElementById(idForPart[pythonVar]) != null\n ) {\n document.getElementById(idForPart[pythonVar]).value = jsonIfObject(\n place[jsVar],\n );\n toChange.push(\"#\" + idForPart[pythonVar]);\n }\n }\n for (var i = 0; i < toChange.length; i++) {\n $(toChange[i]).trigger(\"change\");\n }\n}\n\nfunction daFillInAddressOld(origId) {\n var id;\n if (daVarLookupRev[origId]) {\n id = daVarLookupRev[origId];\n } else {\n id = origId;\n }\n var base_varname = atob(id).replace(/.[a-zA-Z0-9_]+$/, \"\");\n base_varname = base_varname.replace(/[\\[\\]]/g, \".\");\n var re = new RegExp(\"^\" + base_varname + \".(.*)\");\n var componentForm = {\n locality: \"long_name\",\n sublocality: \"long_name\",\n administrative_area_level_3: \"long_name\",\n administrative_area_level_2: \"long_name\",\n administrative_area_level_1: \"short_name\",\n country: \"short_name\",\n postal_code: \"short_name\",\n };\n var componentTrans = {\n locality: \"city\",\n administrative_area_level_2: \"county\",\n administrative_area_level_1: \"state\",\n country: \"country\",\n postal_code: \"zip\",\n };\n\n var fields_to_fill = [\n \"address\",\n \"city\",\n \"county\",\n \"state\",\n \"zip\",\n \"neighborhood\",\n \"sublocality\",\n \"administrative_area_level_3\",\n \"postal_code\",\n ];\n var id_for_part = {};\n $(\"input, select\").each(function () {\n var the_id = $(this).attr(\"id\");\n if (typeof the_id !== typeof undefined && the_id !== false) {\n try {\n var field_name = atob($(this).attr(\"id\"));\n if (field_name.indexOf(\"_field_\") == 0) {\n field_name = atob(daVarLookupRev[$(this).attr(\"id\")]);\n }\n var m = re.exec(field_name);\n if (m.length > 0) {\n id_for_part[m[1]] = $(this).attr(\"id\");\n }\n } catch (e) {}\n }\n });\n place = daAutocomplete[origId].getPlace();\n if (\n typeof id_for_part[\"address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"address\"]) != null\n ) {\n document.getElementById(id_for_part[\"address\"]).value = \"\";\n }\n\n for (var component in fields_to_fill) {\n if (\n typeof id_for_part[component] != \"undefined\" &&\n document.getElementById(id_for_part[component]) != null\n ) {\n document.getElementById(id_for_part[component]).value = \"\";\n }\n }\n\n var street_number;\n var route;\n var savedValues = {};\n var toChange = [];\n for (var i = 0; i < place.address_components.length; i++) {\n var addressType = place.address_components[i].types[0];\n savedValues[addressType] = place.address_components[i][\"long_name\"];\n if (addressType == \"street_number\") {\n street_number = place.address_components[i][\"short_name\"];\n }\n if (addressType == \"route\") {\n route = place.address_components[i][\"long_name\"];\n }\n if (\n componentForm[addressType] &&\n id_for_part[componentTrans[addressType]] &&\n typeof id_for_part[componentTrans[addressType]] != \"undefined\" &&\n document.getElementById(id_for_part[componentTrans[addressType]]) != null\n ) {\n var val = place.address_components[i][componentForm[addressType]];\n if (typeof val != \"undefined\") {\n document.getElementById(\n id_for_part[componentTrans[addressType]],\n ).value = val;\n toChange.push(\"#\" + id_for_part[componentTrans[addressType]]);\n }\n if (componentTrans[addressType] != addressType) {\n val = place.address_components[i][\"long_name\"];\n if (\n typeof val != \"undefined\" &&\n typeof id_for_part[addressType] != \"undefined\" &&\n document.getElementById(id_for_part[addressType]) != null\n ) {\n document.getElementById(id_for_part[addressType]).value = val;\n toChange.push(\"#\" + id_for_part[addressType]);\n }\n }\n } else if (\n id_for_part[addressType] &&\n typeof id_for_part[addressType] != \"undefined\" &&\n document.getElementById(id_for_part[addressType]) != null\n ) {\n var val = place.address_components[i][\"long_name\"];\n if (typeof val != \"undefined\") {\n document.getElementById(id_for_part[addressType]).value = val;\n toChange.push(\"#\" + id_for_part[addressType]);\n }\n }\n }\n if (\n typeof id_for_part[\"address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"address\"]) != null\n ) {\n var the_address = \"\";\n if (typeof street_number != \"undefined\") {\n the_address += street_number + \" \";\n }\n if (typeof route != \"undefined\") {\n the_address += route;\n }\n document.getElementById(id_for_part[\"address\"]).value = the_address;\n toChange.push(\"#\" + id_for_part[\"address\"]);\n }\n if (\n typeof id_for_part[\"city\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"city\"]) != null\n ) {\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_1\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"sublocality_level_1\"];\n }\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"neighborhood\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"neighborhood\"];\n }\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"administrative_area_level_3\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"administrative_area_level_3\"];\n }\n }\n if (\n typeof id_for_part[\"sublocality\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"sublocality\"]) != null\n ) {\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_1\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_1\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_2\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_2\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_3\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_3\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_4\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_4\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_5\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_5\"];\n }\n }\n if (\n place.adr_address &&\n typeof id_for_part[\"adr_address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"adr_address\"]) != null\n ) {\n document.getElementById(id_for_part[\"adr_address\"]).value =\n place.adr_address;\n }\n if (\n place.business_status &&\n typeof id_for_part[\"business_status\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"business_status\"]) != null\n ) {\n document.getElementById(id_for_part[\"business_status\"]).value =\n place.business_status;\n }\n if (\n place.formatted_address &&\n typeof id_for_part[\"formatted_address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"formatted_address\"]) != null\n ) {\n document.getElementById(id_for_part[\"formatted_address\"]).value =\n place.formatted_address;\n }\n if (\n place.formatted_phone_number &&\n typeof id_for_part[\"formatted_phone_number\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"formatted_phone_number\"]) != null\n ) {\n document.getElementById(id_for_part[\"formatted_phone_number\"]).value =\n place.formatted_phone_number;\n }\n if (place.geometry && place.geometry.location) {\n if (\n typeof id_for_part[\"latitude\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"latitude\"]) != null\n ) {\n document.getElementById(id_for_part[\"latitude\"]).value =\n place.geometry.location.lat();\n }\n if (\n typeof id_for_part[\"longitude\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"longitude\"]) != null\n ) {\n document.getElementById(id_for_part[\"longitude\"]).value =\n place.geometry.location.lng();\n }\n }\n if (\n place.icon &&\n typeof id_for_part[\"icon\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"icon\"]) != null\n ) {\n document.getElementById(id_for_part[\"icon\"]).value = place.icon;\n }\n if (\n place.international_phone_number &&\n typeof id_for_part[\"international_phone_number\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"international_phone_number\"]) != null\n ) {\n document.getElementById(id_for_part[\"international_phone_number\"]).value =\n place.international_phone_number;\n }\n if (\n place.name &&\n typeof id_for_part[\"name\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"name\"]) != null\n ) {\n document.getElementById(id_for_part[\"name\"]).value = place.name;\n }\n if (\n place.place_id &&\n typeof id_for_part[\"place_id\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"place_id\"]) != null\n ) {\n document.getElementById(id_for_part[\"place_id\"]).value = place.place_id;\n }\n if (\n place.price_level &&\n typeof id_for_part[\"price_level\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"price_level\"]) != null\n ) {\n document.getElementById(id_for_part[\"price_level\"]).value =\n place.price_level;\n }\n if (\n place.rating &&\n typeof id_for_part[\"rating\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"rating\"]) != null\n ) {\n document.getElementById(id_for_part[\"rating\"]).value = place.rating;\n }\n if (\n place.url &&\n typeof id_for_part[\"url\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"url\"]) != null\n ) {\n document.getElementById(id_for_part[\"url\"]).value = place.url;\n }\n if (\n place.utc_offset_minutes &&\n typeof id_for_part[\"utc_offset_minutes\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"utc_offset_minutes\"]) != null\n ) {\n document.getElementById(id_for_part[\"utc_offset_minutes\"]).value =\n place.utc_offset_minutes;\n }\n if (\n place.vicinity &&\n typeof id_for_part[\"vicinity\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"vicinity\"]) != null\n ) {\n document.getElementById(id_for_part[\"vicinity\"]).value = place.vicinity;\n }\n if (\n place.website &&\n typeof id_for_part[\"website\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"website\"]) != null\n ) {\n document.getElementById(id_for_part[\"website\"]).value = place.website;\n }\n for (var i = 0; i < toChange.length; i++) {\n $(toChange[i]).trigger(\"change\");\n }\n}\n\nfunction daGeolocate() {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(function (position) {\n var geolocation = {\n lat: position.coords.latitude,\n lng: position.coords.longitude,\n };\n var circle = new google.maps.Circle({\n center: geolocation,\n radius: position.coords.accuracy,\n });\n for (var id in daAutocomplete) {\n if (daAutocomplete.hasOwnProperty(id)) {\n daAutocomplete[id].setBounds(circle.getBounds());\n }\n }\n });\n }\n}\nvar daRequestPending = false;\nvar isAndroid = /android/i.test(navigator.userAgent.toLowerCase());\nvar daWhichButton = null;\nvar daSocket = null;\nvar daChatHistory = [];\nvar daCheckinCode = null;\nvar daCheckingIn = 0;\nvar daShowingHelp = 0;\nvar daIframeEmbed;\nif (window.location !== window.parent.location) {\n daIframeEmbed = true;\n} else {\n daIframeEmbed = false;\n}\nvar daChatPartnersAvailable = 0;\nvar daPhoneAvailable = false;\nvar daInitialized = false;\nvar daConfirmed = false;\nvar daNoConnectionCount = 0;\nvar daObserverChangesInterval = null;\nvar daNotYetScrolled = true;\nvar daInformedChanged = false;\nvar daShowingSpinner = false;\nvar daSpinnerTimeout = null;\nvar daSubmitter = null;\nvar daGAConfigured = false;\nvar daShowIfInProcess = false;\nvar daFieldsToSkip = [\n \"_checkboxes\",\n \"_empties\",\n \"_ml_info\",\n \"_back_one\",\n \"_files\",\n \"_files_inline\",\n \"_question_name\",\n \"_the_image\",\n \"_save_as\",\n \"_success\",\n \"_datatypes\",\n \"_event\",\n \"_visible\",\n \"_tracker\",\n \"_track_location\",\n \"_varnames\",\n \"_next_action\",\n \"_next_action_to_set\",\n \"ajax\",\n \"json\",\n \"informed\",\n \"csrf_token\",\n \"_action\",\n \"_order_changes\",\n \"_collect\",\n \"_list_collect_list\",\n \"_null_question\",\n];\nvar daVarLookup = Object();\nvar daVarLookupRev = Object();\nvar daVarLookupMulti = Object();\nvar daVarLookupRevMulti = Object();\nvar daVarLookupSelect = Object();\nvar daVarLookupCheckbox = Object();\nvar daVarLookupOption = Object();\nvar daTargetDiv;\nvar daComboBoxes = Object();\nvar daGlobalEval = eval;\nvar daFetchAcceptIncoming = false;\nvar daFetchAjaxTimeout = null;\nvar daFetchAjaxTimeoutRunning = null;\nvar daFetchAjaxTimeoutFetchAfter = null;\nvar daAddressAcceptIncoming = false;\nvar daAddressAjaxTimeout = null;\nvar daAddressAjaxTimeoutRunning = null;\nvar daAddressAjaxTimeoutCallAfter = null;\nvar daShowHideHappened = false;\nvar daCheckinInterval = null;\nvar daInitialCheckinTimeout = null;\nvar daReloader = null;\nvar daDisable = null;\nvar daAutoColorScheme = true;\nvar daCurrentColorScheme;\nvar daUrlChangeColorScheme;\nvar daDesiredColorScheme;\nvar daAutoColorScheme = true;\nvar daThicknessScalingFactor;\nvar daJsEmbed;\nvar daAllowGoingBack;\nvar daSteps;\nvar daIsUser;\nvar daUserId;\nvar daChatStatus;\nvar daChatAvailable;\nvar daChatMode;\nvar daSendChanges;\nvar daBeingControlled;\nvar daInformed;\nvar daUsingGA;\nvar daUsingSegment;\nvar daDoAction;\nvar daQuestionID;\nvar daCsrf;\nvar daComboboxButtonLabel;\nvar daInterviewUrl;\nvar daLocationBar;\nvar daPostURL;\nvar daYamlFilename;\nvar daNotificationContainer;\nvar daNotificationMessage;\nvar daMessageLog;\nvar daImageToPreLoad;\nvar daGetVariablesUrl;\nvar daLiveHelpMessage;\nvar daLiveHelpMessagePhone;\nvar daNewChatMessage;\nvar daLiveHelpAvailableMessage;\nvar daScreenBeingControlled;\nvar daScreenNoLongerBeingControlled;\nvar daPathRoot;\nvar daCheckinSeconds;\nvar daChatRoles;\nvar daChatPartnerRoles;\nvar daAllButtonClasses;\nvar daButtonStyle;\nvar daShouldForceFullScreen;\nvar daPageSep;\nvar daAreYouSure;\nvar daOtherUser;\nvar daOtherUsers;\nvar daOperator;\nvar daOperators;\nvar daCheckinUrl;\nvar daCheckoutUrl;\nvar daCurrencyDecimalPlaces;\nvar daShouldDebugReadabilityHelp;\nvar daShouldDebugReadabilityQuestion;\nvar daEmailAddressRequired;\nvar daNeedCompleteEmail;\nvar daDefaultPopoverTrigger;\nvar daToggleWord;\nvar daCheckinUrlWithInterview;\nvar daReloadAfterSeconds;\nvar daCustomItems;\nvar daTrackingEnabled;\n\nfunction dagoogleapicallback() {}\nfunction daForceFullScreen(data) {\n if (data.steps > 1 && window != top) {\n top.location.href = location.href;\n }\n}\nObject.defineProperty(String.prototype, \"daSprintf\", {\n value: function () {\n var args = Array.from(arguments),\n i = 0;\n function defaultNumber(iValue) {\n return iValue != undefined && !isNaN(iValue) ? iValue : \"0\";\n }\n function defaultString(iValue) {\n return iValue == undefined ? \"\" : \"\" + iValue;\n }\n return this.replace(\n /%%|%([+\\-])?([^1-9])?(\\d+)?(\\.\\d+)?([deEfhHioQqs])/g,\n function (match, sign, filler, scale, precision, type) {\n var strOut, space, value;\n var asNumber = false;\n if (match == \"%%\") return \"%\";\n if (i >= args.length) return match;\n value = args[i];\n while (Array.isArray(value)) {\n args.splice(i, 1);\n for (var j = i; value.length > 0; j++)\n args.splice(j, 0, value.shift());\n value = args[i];\n }\n i++;\n if (filler == undefined) filler = \" \"; // default\n if (scale == undefined && !isNaN(filler)) {\n scale = filler;\n filler = \" \";\n }\n if (sign == undefined) sign = \"sqQ\".indexOf(type) >= 0 ? \"+\" : \"-\"; // default\n if (scale == undefined) scale = 0; // default\n if (precision == undefined) precision = \".0\"; // default\n scale = parseInt(scale);\n precision = parseInt(precision.substr(1));\n switch (type) {\n case \"d\":\n case \"i\":\n // decimal integer\n asNumber = true;\n strOut = parseInt(defaultNumber(value));\n if (precision > 0) strOut += \".\" + \"0\".repeat(precision);\n break;\n case \"e\":\n case \"E\":\n // float in exponential notation\n asNumber = true;\n strOut = parseFloat(defaultNumber(value));\n if (precision == 0) strOut = strOut.toExponential();\n else strOut = strOut.toExponential(precision);\n if (type == \"E\") strOut = strOut.replace(\"e\", \"E\");\n break;\n case \"f\":\n // decimal float\n asNumber = true;\n strOut = parseFloat(defaultNumber(value));\n if (precision != 0) strOut = strOut.toFixed(precision);\n break;\n case \"o\":\n case \"h\":\n case \"H\":\n // Octal or Hexagesimal integer notation\n strOut =\n \"\\\\\" +\n (type == \"o\" ? \"0\" : type) +\n parseInt(defaultNumber(value)).toString(type == \"o\" ? 8 : 16);\n break;\n case \"q\":\n // single quoted string\n strOut = \"'\" + defaultString(value) + \"'\";\n break;\n case \"Q\":\n // double quoted string\n strOut = '\"' + defaultString(value) + '\"';\n break;\n default:\n // string\n strOut = defaultString(value);\n break;\n }\n if (typeof strOut != \"string\") strOut = \"\" + strOut;\n if ((space = strOut.length) < scale) {\n if (asNumber) {\n if (sign == \"-\") {\n if (strOut.indexOf(\"-\") < 0)\n strOut = filler.repeat(scale - space) + strOut;\n else\n strOut =\n \"-\" + filler.repeat(scale - space) + strOut.replace(\"-\", \"\");\n } else {\n if (strOut.indexOf(\"-\") < 0)\n strOut = \"+\" + filler.repeat(scale - space - 1) + strOut;\n else\n strOut =\n \"-\" + filler.repeat(scale - space) + strOut.replace(\"-\", \"\");\n }\n } else {\n if (sign == \"-\") strOut = filler.repeat(scale - space) + strOut;\n else strOut = strOut + filler.repeat(scale - space);\n }\n } else if (asNumber && sign == \"+\" && strOut.indexOf(\"-\") < 0)\n strOut = \"+\" + strOut;\n return strOut;\n },\n );\n },\n});\nObject.defineProperty(window, \"daSprintf\", {\n value: function (str, ...rest) {\n if (typeof str == \"string\")\n return String.prototype.daSprintf.apply(str, rest);\n return \"\";\n },\n});\nfunction daGoToAnchor(target) {\n if (daJsEmbed) {\n scrollTarget = $(target).first().position().top - 60;\n } else {\n scrollTarget = $(target).first().offset().top - 60;\n }\n if (scrollTarget != null) {\n if (daJsEmbed) {\n $(daTargetDiv).animate(\n {\n scrollTop: scrollTarget,\n },\n 500,\n );\n } else {\n $(\"html, body\").animate(\n {\n scrollTop: scrollTarget,\n },\n 500,\n );\n }\n }\n}\nfunction atou(b64) {\n return decodeURIComponent(escape(atob(b64)));\n}\nfunction utoa(data) {\n return btoa(unescape(encodeURIComponent(data)));\n}\nfunction dabtoa(str) {\n return window.utoa(str).replace(/[\\n=]/g, \"\");\n}\nfunction daatob(str) {\n return atou(str);\n}\nfunction hideTablist() {\n var anyTabs =\n $(\"#daChatAvailable\").is(\":visible\") ||\n $(\"daPhoneAvailable\").is(\":visible\") ||\n $(\"#dahelptoggle\").is(\":visible\");\n if (anyTabs) {\n $(\"#nav-bar-tab-list\").removeClass(\"dainvisible\");\n $(\"#daquestionlabel\").parent().removeClass(\"dainvisible\");\n } else {\n $(\"#nav-bar-tab-list\").addClass(\"dainvisible\");\n $(\"#daquestionlabel\").parent().addClass(\"dainvisible\");\n }\n}\nfunction getFields() {\n var allFields = [];\n for (var rawFieldName in daVarLookup) {\n if (daVarLookup.hasOwnProperty(rawFieldName)) {\n var fieldName = atou(rawFieldName);\n if (allFields.indexOf(fieldName) == -1) {\n allFields.push(fieldName);\n }\n }\n }\n return allFields;\n}\nvar daGetFields = getFields;\nfunction daAppendIfExists(fieldName, theArray) {\n var elem = $(\"[name='\" + fieldName + \"']\");\n if (elem.length > 0) {\n for (var i = 0; i < theArray.length; ++i) {\n if (theArray[i] == elem[0]) {\n return;\n }\n }\n theArray.push(elem[0]);\n }\n}\nfunction getField(fieldName, notInDiv) {\n if (daVarLookupCheckbox[fieldName]) {\n var n = daVarLookupCheckbox[fieldName].length;\n for (var i = 0; i < n; ++i) {\n var elem = daVarLookupCheckbox[fieldName][i].checkboxes[0].elem;\n if (!$(elem).prop(\"disabled\")) {\n var showifParents = $(elem).parents(\".dajsshowif,.dashowif\");\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, elem)) {\n continue;\n }\n return daVarLookupCheckbox[fieldName][i].elem;\n }\n }\n }\n }\n if (daVarLookupSelect[fieldName]) {\n var n = daVarLookupSelect[fieldName].length;\n for (var i = 0; i < n; ++i) {\n var elem = daVarLookupSelect[fieldName][i].select;\n if (!$(elem).prop(\"disabled\")) {\n var showifParents = $(elem).parents(\".dajsshowif,.dashowif\");\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, elem)) {\n continue;\n }\n return elem;\n }\n }\n }\n }\n var fieldNameEscaped = dabtoa(fieldName);\n var possibleElements = [];\n daAppendIfExists(fieldNameEscaped, possibleElements);\n if (daVarLookupMulti.hasOwnProperty(fieldNameEscaped)) {\n for (var i = 0; i < daVarLookupMulti[fieldNameEscaped].length; ++i) {\n daAppendIfExists(daVarLookupMulti[fieldNameEscaped][i], possibleElements);\n }\n }\n var returnVal = null;\n for (var i = 0; i < possibleElements.length; ++i) {\n if (\n !$(possibleElements[i]).prop(\"disabled\") ||\n $(possibleElements[i]).parents(\".file-input.is-locked\").length > 0\n ) {\n var showifParents = $(possibleElements[i]).parents(\n \".dajsshowif,.dashowif\",\n );\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, possibleElements[i])) {\n continue;\n }\n returnVal = possibleElements[i];\n }\n }\n }\n if (\n $(returnVal).hasClass(\"da-to-labelauty\") &&\n $(returnVal).parents(\"div.da-field-group\").length > 0\n ) {\n var fieldSet = $(returnVal).parents(\"div.da-field-group\")[0];\n if (\n !$(fieldSet).hasClass(\"da-field-checkbox\") &&\n !$(fieldSet).hasClass(\"da-field-checkboxes\")\n ) {\n return fieldSet;\n }\n }\n return returnVal;\n}\nvar daGetField = getField;\nfunction setChoices(fieldName, choices) {\n var elem = daGetField(fieldName);\n if (elem == null) {\n console.log(\"setChoices: reference to non-existent field \" + fieldName);\n return;\n }\n var isCombobox =\n $(elem).attr(\"type\") == \"hidden\" &&\n $(elem).parents(\".combobox-container\").length > 0;\n if (isCombobox) {\n var comboInput = $(elem)\n .parents(\".combobox-container\")\n .first()\n .find(\"input.combobox\")\n .first();\n var comboObject = daComboBoxes[$(comboInput).attr(\"id\")];\n var oldComboVal = comboObject.$target.val();\n elem = comboObject.$source;\n }\n if ($(elem).prop(\"tagName\") != \"SELECT\") {\n console.log(\"setField: field \" + fieldName + \" is not a dropdown field\");\n return;\n }\n var oldVal = $(elem).val();\n $(elem)\n .find(\"option[value!='']\")\n .each(function () {\n $(this).remove();\n });\n var n = choices.length;\n for (var i = 0; i < n; i++) {\n var opt = $(\"',\n );\n $('').appendTo(toggler);\n $(\n '' + daToggleWord + \"\",\n ).appendTo(toggler);\n } else {\n toggler = $(\n '',\n );\n $('').appendTo(toggler);\n $(\n '' + daToggleWord + \"\",\n ).appendTo(toggler);\n }\n toggler.appendTo(prev);\n toggler.on(\"click\", function (e) {\n var oThis = this;\n $(this)\n .find(\"svg\")\n .each(function () {\n if ($(this).attr(\"data-icon\") == \"caret-down\") {\n $(this).removeClass(\"fa-caret-down\");\n $(this).addClass(\"fa-caret-right\");\n $(this).attr(\"data-icon\", \"caret-right\");\n $(box).hide();\n $(oThis).attr(\"aria-pressed\", \"false\");\n $(box).toggleClass(\"danotshowing\");\n } else if ($(this).attr(\"data-icon\") == \"caret-right\") {\n $(this).removeClass(\"fa-caret-right\");\n $(this).addClass(\"fa-caret-down\");\n $(this).attr(\"data-icon\", \"caret-down\");\n $(box).show();\n $(oThis).attr(\"aria-pressed\", \"true\");\n $(box).toggleClass(\"danotshowing\");\n }\n });\n e.stopPropagation();\n e.preventDefault();\n return false;\n });\n }\n });\n $(\"body\").focus();\n if (!daJsEmbed && !isAndroid) {\n setTimeout(function () {\n var firstInput = $(\"#daform .da-field-container\")\n .not(\".da-field-container-note\")\n .first()\n .find(\"input, textarea, select\")\n .filter(\":visible\")\n .first();\n if (firstInput.length > 0 && $(firstInput).visible()) {\n $(firstInput).focus();\n var inputType = $(firstInput).attr(\"type\");\n if (\n $(firstInput).prop(\"tagName\") != \"SELECT\" &&\n inputType != \"checkbox\" &&\n inputType != \"radio\" &&\n inputType != \"hidden\" &&\n inputType != \"submit\" &&\n inputType != \"file\" &&\n inputType != \"range\" &&\n inputType != \"number\" &&\n inputType != \"date\" &&\n inputType != \"time\"\n ) {\n var strLength = $(firstInput).val().length * 2;\n if (strLength > 0) {\n try {\n $(firstInput)[0].setSelectionRange(strLength, strLength);\n } catch (err) {\n console.log(err.message);\n }\n }\n }\n } else {\n var firstButton = $(\"#danavbar-collapse .nav-link\")\n .filter(\":visible\")\n .first();\n if (firstButton.length > 0 && $(firstButton).visible()) {\n setTimeout(function () {\n $(firstButton).focus();\n $(firstButton).blur();\n }, 0);\n }\n }\n }, 15);\n }\n }\n $(\"input.dauncheckspecificothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n var theIds = $.parseJSON(atou($(this).data(\"unchecklist\")));\n var n = theIds.length;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).prop(\"checked\", false);\n $(elem).trigger(\"change\");\n }\n }\n });\n $(\"input.dauncheckspecificothers\").each(function () {\n var theIds = $.parseJSON(atou($(this).data(\"unchecklist\")));\n var n = theIds.length;\n var oThis = this;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(oThis).prop(\"checked\", false);\n $(oThis).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dauncheckothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckable,input.dacheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dacheckspecificothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n var theIds = $.parseJSON(atou($(this).data(\"checklist\")));\n var n = theIds.length;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).prop(\"checked\", true);\n $(elem).trigger(\"change\");\n }\n }\n });\n $(\"input.dacheckspecificothers\").each(function () {\n var theIds = $.parseJSON(atou($(this).data(\"checklist\")));\n var n = theIds.length;\n var oThis = this;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).on(\"change\", function () {\n if (!$(this).is(\":checked\")) {\n $(oThis).prop(\"checked\", false);\n $(oThis).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dacheckothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckable\").each(function () {\n if (!$(this).is(\":checked\")) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n });\n $(\"input.dauncheckothers\").each(function () {\n if (!$(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dauncheckable\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n } else {\n $(\"input.dacheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n var navMain = $(\"#danavbar-collapse\");\n navMain.on(\"click\", \"a\", null, function () {\n if (!$(this).hasClass(\"dropdown-toggle\")) {\n navMain.collapse(\"hide\");\n }\n });\n $(\"button[data-bs-target='#dahelp']\").on(\"shown.bs.tab\", function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n } else {\n window.scrollTo(0, 1);\n }\n $(\"#dahelptoggle\").removeClass(\"daactivetext\");\n $(\"#dahelptoggle\").blur();\n });\n $(\"#dasourcetoggle\").on(\"click\", function () {\n $(this).parent().toggleClass(\"active\");\n $(this).blur();\n });\n $(\"#dabackToQuestion\").click(function (event) {\n $(\"#daquestionlabel\").tab(\"show\");\n });\n daVarLookup = Object();\n daVarLookupRev = Object();\n daVarLookupMulti = Object();\n daVarLookupRevMulti = Object();\n daVarLookupOption = Object();\n if ($(\"input[name='_varnames']\").length) {\n the_hash = $.parseJSON(atou($(\"input[name='_varnames']\").val()));\n for (var key in the_hash) {\n if (the_hash.hasOwnProperty(key)) {\n daVarLookup[the_hash[key]] = key;\n daVarLookupRev[key] = the_hash[key];\n if (!daVarLookupMulti.hasOwnProperty(the_hash[key])) {\n daVarLookupMulti[the_hash[key]] = [];\n }\n daVarLookupMulti[the_hash[key]].push(key);\n if (!daVarLookupRevMulti.hasOwnProperty(key)) {\n daVarLookupRevMulti[key] = [];\n }\n daVarLookupRevMulti[key].push(the_hash[key]);\n }\n }\n }\n if ($(\"input[name='_checkboxes']\").length) {\n var patt = new RegExp(/\\[B['\"][^\\]]*['\"]\\]$/);\n var pattObj = new RegExp(/\\[O['\"][^\\]]*['\"]\\]$/);\n var pattRaw = new RegExp(/\\[R['\"][^\\]]*['\"]\\]$/);\n the_hash = $.parseJSON(atou($(\"input[name='_checkboxes']\").val()));\n for (var key in the_hash) {\n if (the_hash.hasOwnProperty(key)) {\n var checkboxName = atou(key);\n var baseName = checkboxName;\n if (patt.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[B?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[B?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(checkboxName);\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"['\" + convertedName + \"']\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameThree = utoa(\n baseName + '[\"' + convertedName + '\"]',\n ).replace(/[\\n=]/g, \"\");\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookup[daNameThree] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameThree)) {\n daVarLookupMulti[daNameThree] = [];\n }\n daVarLookupMulti[daNameThree].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n } else if (pattObj.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[O?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[O?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(atou(checkboxName));\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"['\" + convertedName + \"']\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameThree = utoa(\n baseName + '[\"' + convertedName + '\"]',\n ).replace(/[\\n=]/g, \"\");\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookup[daNameThree] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameThree)) {\n daVarLookupMulti[daNameThree] = [];\n }\n daVarLookupMulti[daNameThree].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n } else if (pattRaw.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[R?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[R?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(checkboxName);\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"[\" + convertedName + \"]\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n }\n }\n }\n }\n daShowIfInProcess = true;\n var daTriggerQueries = [];\n var daInputsSeen = {};\n function daOnlyUnique(value, index, self) {\n return self.indexOf(value) === index;\n }\n $(\".dajsshowif\").each(function () {\n var showIfDiv = this;\n var jsInfo = JSON.parse(atou($(this).data(\"jsshowif\")));\n var showIfSign = jsInfo[\"sign\"];\n var showIfMode = jsInfo[\"mode\"];\n var jsExpression = jsInfo[\"expression\"];\n jsInfo[\"vars\"].forEach(function (infoItem, i) {\n var showIfVars = [];\n var initShowIfVar = utoa(infoItem).replace(/[\\n=]/g, \"\");\n var initShowIfVarEscaped = initShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var elem = $(\"[name='\" + initShowIfVarEscaped + \"']\");\n if (elem.length > 0) {\n showIfVars.push(initShowIfVar);\n }\n if (daVarLookupMulti.hasOwnProperty(initShowIfVar)) {\n for (var j = 0; j < daVarLookupMulti[initShowIfVar].length; j++) {\n var altShowIfVar = daVarLookupMulti[initShowIfVar][j];\n var altShowIfVarEscaped = altShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var altElem = $(\"[name='\" + altShowIfVarEscaped + \"']\");\n if (altElem.length > 0 && !$.contains(this, altElem[0])) {\n showIfVars.push(altShowIfVar);\n }\n }\n }\n if (showIfVars.length == 0) {\n console.log(\"ERROR: reference to non-existent field \" + infoItem);\n }\n showIfVars.forEach(function (showIfVar) {\n var showIfVarEscaped = showIfVar.replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n var varToUse = infoItem;\n var showHideDiv = function (speed) {\n var elem = daGetField(varToUse);\n if (\n elem != null &&\n !$(elem)\n .parents(\".da-form-group\")\n .first()\n .is($(this).parents(\".da-form-group\").first())\n ) {\n return;\n }\n var resultt = eval(jsExpression);\n if (resultt) {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n }\n } else {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n }\n var leader = false;\n if (!daShowIfInProcess) {\n daShowIfInProcess = true;\n daInputsSeen = {};\n leader = true;\n }\n $(showIfDiv)\n .find(\":input\")\n .not(\"[type='file']\")\n .each(function () {\n if (!daInputsSeen.hasOwnProperty($(this).attr(\"id\"))) {\n $(this).trigger(\"change\");\n }\n daInputsSeen[$(this).attr(\"id\")] = true;\n });\n if (leader) {\n daShowIfInProcess = false;\n }\n };\n var showHideDivImmediate = function () {\n showHideDiv.apply(this, [null]);\n };\n var showHideDivFast = function () {\n showHideDiv.apply(this, [\"fast\"]);\n };\n daTriggerQueries.push(\"#\" + showIfVarEscaped);\n daTriggerQueries.push(\n \"input[type='radio'][name='\" + showIfVarEscaped + \"']\",\n );\n daTriggerQueries.push(\n \"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\",\n );\n $(\"#\" + showIfVarEscaped).change(showHideDivFast);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input.dafile[name='\" + showIfVarEscaped + \"']\").on(\n \"filecleared\",\n showHideDivFast,\n );\n $(\"#\" + showIfVarEscaped).on(\"daManualTrigger\", showHideDivImmediate);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n });\n });\n });\n $(\".dashowif\").each(function () {\n var showIfVars = [];\n var showIfSign = $(this).data(\"showif-sign\");\n var showIfMode = parseInt($(this).data(\"showif-mode\"));\n var initShowIfVar = $(this).data(\"showif-var\");\n var varName = atou(initShowIfVar);\n var elem = [];\n if (varName.endsWith(\"[nota]\") || varName.endsWith(\"[aota]\")) {\n var signifier = varName.endsWith(\"[nota]\") ? \"nota\" : \"aota\";\n var cbVarName = varName.replace(/\\[[na]ota\\]$/, \"\");\n $(\"div.da-field-group.da-field-checkboxes\").each(function () {\n var thisVarName = atou($(this).data(\"varname\"));\n if (thisVarName == cbVarName) {\n elem = $(this).find(\"input.da\" + signifier + \"-checkbox\");\n initShowIfVar = $(elem).attr(\"name\");\n }\n });\n } else {\n var initShowIfVarEscaped = initShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n elem = $(\"[name='\" + initShowIfVarEscaped + \"']\");\n }\n if (elem.length > 0) {\n showIfVars.push(initShowIfVar);\n }\n if (daVarLookupMulti.hasOwnProperty(initShowIfVar)) {\n var n = daVarLookupMulti[initShowIfVar].length;\n for (var i = 0; i < n; i++) {\n var altShowIfVar = daVarLookupMulti[initShowIfVar][i];\n var altShowIfVarEscaped = altShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var altElem = $(\"[name='\" + altShowIfVarEscaped + \"']\");\n if (altElem.length > 0 && !$.contains(this, altElem[0])) {\n showIfVars.push(altShowIfVar);\n }\n }\n }\n var showIfVal = $(this).data(\"showif-val\");\n var saveAs = $(this).data(\"saveas\");\n var showIfDiv = this;\n showIfVars.forEach(function (showIfVar) {\n var showIfVarEscaped = showIfVar.replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n var showHideDiv = function (speed) {\n var elem = daGetField(varName, showIfDiv);\n if (\n elem != null &&\n !$(elem)\n .parents(\".da-form-group\")\n .first()\n .is($(this).parents(\".da-form-group\").first())\n ) {\n return;\n }\n var theVal;\n var showifParents = $(this).parents(\".dashowif\");\n if (\n showifParents.length !== 0 &&\n !($(showifParents[0]).data(\"isVisible\") == \"1\")\n ) {\n theVal = \"\";\n //console.log(\"Setting theVal to blank.\");\n } else if ($(this).attr(\"type\") == \"checkbox\") {\n theVal = $(\"input[name='\" + showIfVarEscaped + \"']:checked\").val();\n if (typeof theVal == \"undefined\") {\n //console.log('manually setting checkbox value to False');\n theVal = \"False\";\n }\n } else if ($(this).attr(\"type\") == \"radio\") {\n theVal = $(\"input[name='\" + showIfVarEscaped + \"']:checked\").val();\n if (typeof theVal == \"undefined\") {\n theVal = \"\";\n } else if (\n theVal != \"\" &&\n $(\"input[name='\" + showIfVarEscaped + \"']:checked\").hasClass(\n \"daobject\",\n )\n ) {\n try {\n theVal = atou(theVal);\n } catch (e) {}\n }\n } else {\n theVal = $(this).val();\n if (theVal != \"\" && $(this).hasClass(\"daobject\")) {\n try {\n theVal = atou(theVal);\n } catch (e) {}\n }\n }\n // console.log(\"There was a trigger on \" + $(this).attr('id') + \". This handler was installed based on varName \" + varName + \", showIfVar \" + atou(showIfVar) + \". This handler was installed for the benefit of the .dashowif div encompassing the field for \" + atou(saveAs) + \". The comparison value is \" + String(showIfVal) + \" and the current value of the element on the screen is \" + String(theVal) + \".\");\n if (daShowIfCompare(theVal, showIfVal)) {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n var firstChild = $(showIfDiv).children()[0];\n if (\n !$(firstChild).hasClass(\"dacollectextra\") ||\n $(firstChild).is(\":visible\")\n ) {\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv).find(\"input, textarea, select\").prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n }\n } else {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv).find(\"input, textarea, select\").prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n var firstChild = $(showIfDiv).children()[0];\n if (\n !$(firstChild).hasClass(\"dacollectextra\") ||\n $(firstChild).is(\":visible\")\n ) {\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n }\n }\n var leader = false;\n if (!daShowIfInProcess) {\n daShowIfInProcess = true;\n daInputsSeen = {};\n leader = true;\n }\n $(showIfDiv)\n .find(\":input\")\n .not(\"[type='file']\")\n .each(function () {\n if (!daInputsSeen.hasOwnProperty($(this).attr(\"id\"))) {\n $(this).trigger(\"change\");\n }\n daInputsSeen[$(this).attr(\"id\")] = true;\n });\n if (leader) {\n daShowIfInProcess = false;\n }\n };\n var showHideDivImmediate = function () {\n showHideDiv.apply(this, [null]);\n };\n var showHideDivFast = function () {\n showHideDiv.apply(this, [\"fast\"]);\n };\n daTriggerQueries.push(\"#\" + showIfVarEscaped);\n daTriggerQueries.push(\n \"input[type='radio'][name='\" + showIfVarEscaped + \"']\",\n );\n daTriggerQueries.push(\n \"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\",\n );\n $(\"#\" + showIfVarEscaped).change(showHideDivFast);\n $(\"#\" + showIfVarEscaped).on(\"daManualTrigger\", showHideDivImmediate);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input.dafile[name='\" + showIfVarEscaped + \"']\").on(\n \"filecleared\",\n showHideDivFast,\n );\n });\n });\n function daTriggerAllShowHides() {\n var daUniqueTriggerQueries = daTriggerQueries.filter(daOnlyUnique);\n var daFirstTime = true;\n var daTries = 0;\n while ((daFirstTime || daShowHideHappened) && ++daTries < 100) {\n daShowHideHappened = false;\n daFirstTime = false;\n var n = daUniqueTriggerQueries.length;\n for (var i = 0; i < n; ++i) {\n $(daUniqueTriggerQueries[i]).trigger(\"daManualTrigger\");\n }\n }\n if (daTries >= 100) {\n console.log(\"Too many contradictory 'show if' conditions\");\n }\n }\n if (daTriggerQueries.length > 0) {\n daTriggerAllShowHides();\n }\n $(\".danavlink\").last().addClass(\"thelast\");\n $(\".danavlink\").each(function () {\n if ($(this).hasClass(\"btn\") && !$(this).hasClass(\"danotavailableyet\")) {\n var the_a = $(this);\n var the_delay = 1000 + 250 * parseInt($(this).data(\"index\"));\n setTimeout(function () {\n $(the_a).removeClass(daButtonStyle + \"secondary\");\n if ($(the_a).hasClass(\"active\")) {\n $(the_a).addClass(daButtonStyle + \"success\");\n } else {\n $(the_a).addClass(daButtonStyle + \"warning\");\n }\n }, the_delay);\n }\n });\n daShowIfInProcess = false;\n if (!daObserverMode) {\n $(\"#daSend\").click(daSender);\n if (daChatAvailable == \"unavailable\") {\n daChatStatus = \"off\";\n }\n if (daChatAvailable == \"observeonly\") {\n daChatStatus = \"observeonly\";\n }\n if (\n (daChatStatus == \"off\" || daChatStatus == \"observeonly\") &&\n daChatAvailable == \"available\"\n ) {\n daChatStatus = \"waiting\";\n }\n daDisplayChat();\n if (daBeingControlled) {\n daShowControl(\"fast\");\n }\n if (daChatStatus == \"ready\" || daBeingControlled) {\n daInitializeSocket();\n }\n if (daInitialized == false && daCheckinSeconds > 0) {\n // why was this set to always retrieve the chat log?\n setTimeout(function () {\n //console.log(\"daInitialize call to chat_log in checkin\");\n $.ajax({\n type: \"POST\",\n url: daCheckinUrlWithInterview,\n beforeSend: addCsrfHeader,\n xhrFields: {\n withCredentials: true,\n },\n data: $.param({ action: \"chat_log\", ajax: \"1\", csrf_token: daCsrf }),\n success: daChatLogCallback,\n dataType: \"json\",\n });\n }, 200);\n }\n if (daInitialized == true) {\n //console.log(\"Publishing from memory\");\n $(\"#daCorrespondence\").html(\"\");\n for (var i = 0; i < daChatHistory.length; i++) {\n daPublishMessage(daChatHistory[i]);\n }\n }\n if (daChatStatus != \"off\") {\n daSendChanges = true;\n } else {\n if (daDoAction == null) {\n daSendChanges = false;\n } else {\n daSendChanges = true;\n }\n }\n }\n if (daSendChanges || daObserverMode) {\n $(\"#daform\").each(function () {\n $(this).find(\":input\").change(daOnChange);\n });\n }\n daInitialized = true;\n daShowingHelp = 0;\n daSubmitter = null;\n $(\"#daflash .alert-success\").each(function () {\n var oThis = this;\n setTimeout(function () {\n $(oThis).hide(300, function () {\n $(self).remove();\n });\n }, 3000);\n });\n if (doScroll && !daObserverMode) {\n setTimeout(function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n if (daSteps > 1) {\n $(daTargetDiv)[0].scrollIntoView();\n }\n } else {\n window.scrollTo(0, 1);\n }\n }, 20);\n }\n if (daShowingSpinner && !daWaitPage) {\n daHideSpinner();\n }\n if (!daObserverMode) {\n if (daCheckinInterval != null) {\n clearInterval(daCheckinInterval);\n }\n if (daCheckinSeconds > 0 && !daWaitPage) {\n daInitialCheckinTimeout = setTimeout(daInitialCheckin, 100);\n daCheckinInterval = setInterval(daCheckin, daCheckinSeconds);\n }\n daShowNotifications();\n if (daUsingGA) {\n daPageview();\n }\n if (daUsingSegment) {\n daSegmentEvent();\n }\n hideTablist();\n }\n}\nfunction daUpdateHeight() {\n $(\".dagooglemap\").each(function () {\n var size = $(this).width();\n $(this).css(\"height\", size);\n });\n}\nfunction daConfigureJqueryFuncs() {\n $.validator.setDefaults({\n ignore: \".danovalidation\",\n highlight: function (element) {\n $(element).closest(\".da-form-group\").addClass(\"da-group-has-error\");\n $(element).addClass(\"is-invalid\");\n },\n unhighlight: function (element) {\n $(element).closest(\".da-form-group\").removeClass(\"da-group-has-error\");\n $(element).removeClass(\"is-invalid\");\n },\n errorElement: \"span\",\n errorClass: \"da-has-error invalid-feedback\",\n errorPlacement: function (error, element) {\n $(error).addClass(\"invalid-feedback\");\n var elementName = $(element).attr(\"name\");\n var idOfErrorSpan = $(element).attr(\"id\") + \"-error\";\n $(\"#\" + idOfErrorSpan).remove();\n $(error).attr(\"id\", idOfErrorSpan);\n $(element).attr(\"aria-invalid\", \"true\");\n $(element).attr(\"aria-errormessage\", idOfErrorSpan);\n var lastInGroup = $.map(\n daValidationRules[\"groups\"],\n function (thefields, thename) {\n var fieldsArr;\n if (thefields.indexOf(elementName) >= 0) {\n fieldsArr = thefields.split(\" \");\n return fieldsArr[fieldsArr.length - 1];\n } else {\n return null;\n }\n },\n )[0];\n if (element.hasClass(\"dainput-embedded\")) {\n error.insertAfter(element);\n } else if (element.hasClass(\"dafile-embedded\")) {\n error.insertAfter(element);\n } else if (element.hasClass(\"daradio-embedded\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dacheckbox-embedded\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dauncheckable\") && lastInGroup) {\n $(\"input[name='\" + lastInGroup + \"']\")\n .parent()\n .append(error);\n } else if (element.parent().hasClass(\"combobox-container\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dafile\")) {\n var fileContainer = $(element).parents(\".file-input\").first();\n if (fileContainer.length > 0) {\n $(fileContainer).append(error);\n } else {\n error.insertAfter(element.parent());\n }\n } else if (element.parent(\".input-group\").length) {\n error.insertAfter(element.parent());\n } else if (element.hasClass(\"da-active-invisible\")) {\n var choice_with_help = $(element).parents(\".dachoicewithhelp\").first();\n if (choice_with_help.length > 0) {\n $(choice_with_help).parent().append(error);\n } else {\n element.parent().append(error);\n }\n } else if (element.hasClass(\"danon-nota-checkbox\")) {\n element.parents(\"div.da-field-group\").append(error);\n } else {\n error.insertAfter(element);\n }\n },\n });\n $.validator.addMethod(\"datetime\", function (a, b) {\n return true;\n });\n $.validator.addMethod(\"ajaxrequired\", function (value, element, params) {\n var realElement = $(\"#\" + $(element).attr(\"name\") + \"combobox\");\n var realValue = $(realElement).val();\n if (!$(realElement).parent().is(\":visible\")) {\n return true;\n }\n if (realValue == null || realValue.replace(/\\s/g, \"\") == \"\") {\n return false;\n }\n return true;\n });\n $.validator.addMethod(\"checkone\", function (value, element, params) {\n var number_needed = params[0];\n var css_query = params[1];\n if ($(css_query).length >= number_needed) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"checkatleast\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length >= params[1]) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"checkatmost\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length > params[1]) {\n return false;\n } else {\n return true;\n }\n });\n $.validator.addMethod(\"checkexactly\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length != params[1]) {\n return false;\n } else {\n return true;\n }\n });\n $.validator.addMethod(\"selectexactly\", function (value, element, params) {\n if ($(element).find(\"option:selected\").length == params[0]) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"mindate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var comparator = new Date(params);\n if (date >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxdate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var comparator = new Date(params);\n if (date <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxdate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var before_comparator = new Date(params[0]);\n var after_comparator = new Date(params[1]);\n if (date >= before_comparator && date <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"mintime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var comparator = new Date(\"1970-01-01T\" + params + \"Z\");\n if (time >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxtime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var comparator = new Date(\"1970-01-01T\" + params + \"Z\");\n if (time <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxtime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var before_comparator = new Date(\"1970-01-01T\" + params[0] + \"Z\");\n var after_comparator = new Date(\"1970-01-01T\" + params[1] + \"Z\");\n if (time >= before_comparator && time <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"mindatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var comparator = new Date(params + \"Z\");\n if (datetime >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxdatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var comparator = new Date(params + \"Z\");\n if (datetime <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxdatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var before_comparator = new Date(params[0] + \"Z\");\n var after_comparator = new Date(params[1] + \"Z\");\n if (datetime >= before_comparator && datetime <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxuploadsize\", function (value, element, param) {\n try {\n var limit = parseInt(param) - 2000;\n if (limit <= 0) {\n return true;\n }\n var maxImageSize;\n if ($(element).data(\"maximagesize\")) {\n maxImageSize =\n parseInt($(element).data(\"maximagesize\")) *\n parseInt($(element).data(\"maximagesize\")) *\n 2;\n } else {\n maxImageSize = 0;\n }\n if ($(element).attr(\"type\") === \"file\") {\n if (element.files && element.files.length) {\n var totalSize = 0;\n for (i = 0; i < element.files.length; i++) {\n if (\n maxImageSize > 0 &&\n element.files[i].size > 0.2 * maxImageSize &&\n element.files[i].type.match(/image.*/) &&\n !(element.files[i].type.indexOf(\"image/svg\") == 0)\n ) {\n totalSize += maxImageSize;\n } else {\n totalSize += element.files[i].size;\n }\n }\n if (totalSize > limit) {\n return false;\n }\n }\n return true;\n }\n } catch (e) {}\n return false;\n });\n}\nvar dataLayer = (window.dataLayer = window.dataLayer || []);\nfunction gtag() {\n dataLayer.push(arguments);\n}\nfunction daPageview() {\n var idToUse = daQuestionID[\"id\"];\n if (daQuestionID[\"ga\"] != undefined && daQuestionID[\"ga\"] != null) {\n idToUse = daQuestionID[\"ga\"];\n }\n if (idToUse != null) {\n idToUse = idToUse.replace(/[^A-Za-z0-9]+/g, \"_\");\n if (!daGAConfigured) {\n var opts = { send_page_view: false };\n if (daSecureCookies) {\n opts[\"cookie_flags\"] = \"SameSite=None;Secure\";\n }\n for (var i = 0; i < daGaIds.length; i++) {\n gtag(\"config\", daGaIds[i], opts);\n daGAConfigured = true;\n }\n }\n gtag(\n \"set\",\n \"page_path\",\n daInterviewPackage + \"/\" + daInterviewFilename + \"/\" + idToUse,\n );\n gtag(\"event\", \"page_view\", {\n page_path: daInterviewPackage + \"/\" + daInterviewFilename + \"/\" + idToUse,\n });\n }\n}\nfunction daStopPushChanges() {\n if (daObserverChangesInterval != null) {\n clearInterval(daObserverChangesInterval);\n }\n}\nfunction daResetPushChanges() {\n if (daObserverChangesInterval != null) {\n clearInterval(daObserverChangesInterval);\n }\n daObserverChangesInterval = setInterval(daPushChanges, 6000);\n}\nfunction daReadyFunction() {\n daInitialize(1);\n //console.log(\"ready: replaceState \" + daSteps);\n if (!daJsEmbed && !daIframeEmbed) {\n history.replaceState(\n { steps: daSteps },\n \"\",\n daLocationBar + daPageSep + daSteps,\n );\n }\n var daReloadAfter = daReloadAfterSeconds;\n if (daReloadAfter > 0) {\n daReloader = setTimeout(function () {\n daRefreshSubmit();\n }, daReloadAfter);\n }\n if (daUsingGA && !daObserverMode) {\n gtag(\"js\", new Date());\n }\n window.onpopstate = function (event) {\n if (\n event.state != null &&\n event.state.steps < daSteps &&\n daAllowGoingBack\n ) {\n $(\"#dabackbutton\").submit();\n }\n };\n $(window).bind(\"unload\", function () {\n if (!daObserverMode) {\n daStopCheckingIn();\n }\n if (daSocket != null && daSocket.connected) {\n //console.log('Terminating interview socket because window unloaded');\n daSocket.emit(\"terminate\");\n }\n });\n var daDefaultAllowList = bootstrap.Tooltip.Default.allowList;\n daDefaultAllowList[\"*\"].push(\"style\");\n daDefaultAllowList[\"a\"].push(\"style\");\n daDefaultAllowList[\"img\"].push(\"style\");\n if (daJsEmbed) {\n $.ajax({\n type: \"POST\",\n url: daPostURL,\n beforeSend: addCsrfHeader,\n xhrFields: {\n withCredentials: true,\n },\n data: \"csrf_token=\" + daCsrf + \"&ajax=1\",\n success: function (data) {\n setTimeout(function () {\n daProcessAjax(data, $(\"#daform\"), 0);\n }, 0);\n },\n error: function (xhr, status, error) {\n setTimeout(function () {\n daProcessAjaxError(xhr, status, error);\n }, 0);\n },\n });\n }\n if (daObserverMode) {\n if (\n location.protocol === \"http:\" ||\n document.location.protocol === \"http:\"\n ) {\n daSocket = io.connect(\"http://\" + document.domain + \"/observer\", {\n path: daRootUrl + \"/ws/socket.io\",\n query: \"i=\" + daYamlFilename,\n });\n }\n if (\n location.protocol === \"https:\" ||\n document.location.protocol === \"https:\"\n ) {\n daSocket = io.connect(\"https://\" + document.domain + \"/observer\", {\n path: daRootUrl + \"/ws/socket.io\",\n query: \"i=\" + daYamlFilename,\n });\n }\n if (typeof daSocket !== \"undefined\") {\n daSocket.on(\"connect\", function () {\n //console.log(\"Connected!\");\n daSocket.emit(\"observe\", {\n uid: daUid,\n i: daYamlFilename,\n userid: daUserObserved,\n });\n daConnected = true;\n });\n daSocket.on(\"terminate\", function () {\n //console.log(\"Terminating socket\");\n daSocket.disconnect();\n });\n daSocket.on(\"disconnect\", function () {\n //console.log(\"Disconnected socket\");\n //daSocket = null;\n });\n daSocket.on(\"stopcontrolling\", function (data) {\n window.parent.daStopControlling(data.key);\n });\n daSocket.on(\"start_being_controlled\", function (data) {\n //console.log(\"Got start_being_controlled\");\n daConfirmed = true;\n daPushChanges();\n window.parent.daGotConfirmation(data.key);\n });\n daSocket.on(\"abortcontrolling\", function (data) {\n //console.log(\"Got abortcontrolling\");\n //daSendChanges = false;\n //daConfirmed = false;\n //daStopPushChanges();\n window.parent.daAbortControlling(data.key);\n });\n daSocket.on(\"noconnection\", function (data) {\n //console.log(\"warning: no connection\");\n if (daNoConnectionCount++ > 2) {\n //console.log(\"error: no connection\");\n window.parent.daStopControlling(data.key);\n }\n });\n daSocket.on(\"newpage\", function (incoming) {\n //console.log(\"Got newpage\")\n var data = incoming.obj;\n $(daTargetDiv).html(data.body);\n $(daTargetDiv).parent().removeClass();\n $(daTargetDiv).parent().addClass(data.bodyclass);\n daInitialize(1);\n for (var i = 0; i < data.extra_scripts.length; i++) {\n daEvalExtraScript(data.extra_scripts[i]);\n }\n for (var i = 0; i < data.extra_css.length; i++) {\n $(\"head\").append(data.extra_css[i]);\n }\n document.title = data.browser_title;\n if ($(\"html\").attr(\"lang\") != data.lang) {\n $(\"html\").attr(\"lang\", data.lang);\n }\n daPushChanges();\n });\n daSocket.on(\"pushchanges\", function (data) {\n //console.log(\"Got pushchanges: \" + JSON.stringify(data));\n var valArray = Object();\n var values = data.parameters;\n for (var i = 0; i < values.length; i++) {\n valArray[values[i].name] = values[i].value;\n }\n $(\"#daform\").each(function () {\n $(this)\n .find(\":input\")\n .each(function () {\n var type = $(this).attr(\"type\");\n var id = $(this).attr(\"id\");\n var name = $(this).attr(\"name\");\n if (type == \"checkbox\") {\n if (name in valArray) {\n if (valArray[name] == \"True\") {\n if ($(this).prop(\"checked\") != true) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n } else if (type == \"radio\") {\n if (name in valArray) {\n if (valArray[name] == $(this).val()) {\n if ($(this).prop(\"checked\") != true) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n }\n } else if ($(this).data().hasOwnProperty(\"sliderMax\")) {\n $(this).slider(\"setValue\", parseInt(valArray[name]));\n } else {\n if (name in valArray) {\n $(this).val(valArray[name]);\n }\n }\n });\n });\n });\n }\n daObserverChangesInterval = setInterval(daPushChanges, daCheckinSeconds);\n }\n $(document).trigger(\"daPageLoad\");\n}\n\nfunction daSetPosition(position) {\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n latitude: position.coords.latitude,\n longitude: position.coords.longitude,\n });\n}\n\nfunction daAddListenersFor(elementId) {\n $('[name=\"' + elementId + '\"]').change(function () {\n if ($(this).attr(\"type\") == \"checkbox\" || $(this).attr(\"type\") == \"radio\") {\n theVal = $('[name=\"' + elementId + '\"]:checked').val();\n } else {\n theVal = $(this).val();\n }\n var n = 0;\n if ($(this).data(\"disableothers\")) {\n var id_list = JSON.parse(\n decodeURIComponent(escape(atob($(this).data(\"disableothers\")))),\n );\n n = id_list.length;\n }\n if (n) {\n for (var i = 0; i < n; ++i) {\n var theElementId = id_list[i].replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n if (theVal == null || theVal == \"\") {\n daDisableIfNotHidden(\n \"#daform [name='\" + theElementId + \"']:not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform [id='\" + theElementId + \"']:not([type=hidden])\",\n false,\n );\n } else {\n daDisableIfNotHidden(\n \"#daform [name='\" + theElementId + \"']:not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform [id='\" + theElementId + \"']:not([type=hidden])\",\n true,\n );\n }\n }\n } else {\n if (theVal == null || theVal == \"\") {\n daDisableIfNotHidden(\n \"#daform input:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform select:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform textarea:not([name='\" + elementId + \"']):not([type=hidden])\",\n false,\n );\n } else {\n daDisableIfNotHidden(\n \"#daform input:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform select:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform textarea:not([name='\" + elementId + \"']):not([type=hidden])\",\n true,\n );\n }\n }\n });\n $(\"[data-disableothers]\").trigger(\"change\");\n}\n\nfunction daShowError(error) {\n switch (error.code) {\n case error.PERMISSION_DENIED:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"User denied the request for Geolocation\",\n });\n console.log(\"User denied the request for Geolocation.\");\n break;\n case error.POSITION_UNAVAILABLE:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"Location information is unavailable\",\n });\n console.log(\"Location information is unavailable.\");\n break;\n case error.TIMEOUT:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"The request to get user location timed out\",\n });\n console.log(\"The request to get user location timed out.\");\n break;\n case error.UNKNOWN_ERROR:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"An unknown error occurred\",\n });\n console.log(\"An unknown error occurred.\");\n break;\n }\n}\n"],"names":["$","document","addEventListener","jQuery","noConflict","daJsEmbed","daTargetDiv","daPreloadImage","daImageToPreLoad","daAutoColorScheme","window","matchMedia","matches","daDesiredColorScheme","daCurrentColorScheme","documentElement","setAttribute","ajax","type","url","daUrlChangeColorScheme","xhrFields","withCredentials","data","success","scheme","error","xhr","status","console","log","dataType","ready","daReadyFunction","daObserverMode","daUpdateHeight","resize","daConfigureJqueryFuncs","i","daInitialExtraScripts","length","daEvalExtraScript","daCustomItems","daGlobalEval","js","e","datatype","stack","daColor","daWindowWidth","daTheWidth","daAspectRatio","daTheBorders","daSignaturePad","daWaitPage","daInitializeSignature","penColor","defaultImage","daNewCanvas","on","daResizeCanvas","click","preventDefault","isEmpty","getElementById","value","removeClass","setTimeout","addClass","attr","daSaveCanvas","width","dataURL","toDataURL","daSpinnerTimeout","daShowSpinner","daPost","da_success","da_the_image","da_ajax","cwidth","contentwidth","outerWidth","cheight","otherHeights","outerHeight","height","canvas","html","daThicknessScalingFactor","SignaturePad","querySelector","fromDataURL","ratio","xOffset","yOffset","minWidth","maxWidth","scrollTo","daSteps","scrollIntoView","params","key","hasOwnProperty","hiddenField","submit","isCanvasSupported","elem","createElement","getContext","daAutocomplete","Object","daWaitForGoogle","waitForPlaces","Promise","let","attempts","maxAttempts","interval","setInterval","found","google","maps","undefined","Error","places","clearInterval","resolve","daInitAutocomplete","info","id","opts","suggestions","async","daInitAutocompleteOld","await","Autocomplete","event","addListener","daFillInAddressFor","daFillInAddressOld","daInitMap","daMapInfo","googleLoaded","importLibrary","timePeriod","map_info_length","the_map","bounds","LatLngBounds","daAddMap","center","latitude","longitude","marker_length","markers","show_marker","j","new_marker","daAddMarker","extend","LatLng","position","lat","lng","map","fitBounds","map_num","center_lat","center_lon","Map","zoom","mapTypeId","MapTypeId","ROADMAP","mapId","infowindow","InfoWindow","marker_info","AdvancedMarkerElement","PinElement","marker","content","icon","element","setContent","open","daFillInAddress","origId","place","daVarLookupRev","baseVarname","atob","replace","re","RegExp","componentTrans","administrative_area_level_1","administrative_area_level_2","alternatives","fieldsToClear","idForPart","each","the_id","this","field_name","indexOf","m","exec","component","savedValues","toChange","addressComponents","addressType","types","val","push","the_address","theZipCode","location","fieldName","altList","fieldsToGet","fields","pythonVar","jsVar","underscoreToCamel","Array","isArray","transformedObject","JSON","parse","stringify","entries","forEach","jsSubVar","pythonSubVar","camelToUnderscore","jsonIfObject","trigger","base_varname","componentForm","locality","sublocality","administrative_area_level_3","country","postal_code","fields_to_fill","id_for_part","getPlace","street_number","route","address_components","adr_address","business_status","formatted_address","formatted_phone_number","geometry","international_phone_number","name","place_id","price_level","rating","utc_offset_minutes","vicinity","website","daGeolocate","navigator","geolocation","getCurrentPosition","coords","circle","Circle","radius","accuracy","setBounds","getBounds","daRequestPending","isAndroid","test","userAgent","toLowerCase","daWhichButton","daSocket","daChatHistory","daCheckinCode","daCheckingIn","daShowingHelp","daIframeEmbed","parent","daChatPartnersAvailable","daPhoneAvailable","daInitialized","daConfirmed","daNoConnectionCount","daObserverChangesInterval","daNotYetScrolled","daInformedChanged","daShowingSpinner","daSubmitter","daGAConfigured","daShowIfInProcess","daFieldsToSkip","daVarLookup","daVarLookupMulti","daVarLookupRevMulti","daVarLookupSelect","daVarLookupCheckbox","daVarLookupOption","daComboBoxes","eval","daFetchAcceptIncoming","daFetchAjaxTimeout","daFetchAjaxTimeoutRunning","daFetchAjaxTimeoutFetchAfter","daAddressAcceptIncoming","daAddressAjaxTimeout","daAddressAjaxTimeoutRunning","daAddressAjaxTimeoutCallAfter","daShowHideHappened","daCheckinInterval","daInitialCheckinTimeout","daReloader","daDisable","daAllowGoingBack","daIsUser","daUserId","daChatStatus","daChatAvailable","daChatMode","daSendChanges","daBeingControlled","daInformed","daUsingGA","daUsingSegment","daDoAction","daQuestionID","daCsrf","daComboboxButtonLabel","daInterviewUrl","daLocationBar","daPostURL","daYamlFilename","daNotificationContainer","daNotificationMessage","daMessageLog","daGetVariablesUrl","daLiveHelpMessage","daLiveHelpMessagePhone","daNewChatMessage","daLiveHelpAvailableMessage","daScreenBeingControlled","daScreenNoLongerBeingControlled","daPathRoot","daCheckinSeconds","daChatRoles","daChatPartnerRoles","daAllButtonClasses","daButtonStyle","daShouldForceFullScreen","daPageSep","daAreYouSure","daOtherUser","daOtherUsers","daOperator","daOperators","daCheckinUrl","daCheckoutUrl","daCurrencyDecimalPlaces","daShouldDebugReadabilityHelp","daShouldDebugReadabilityQuestion","daEmailAddressRequired","daNeedCompleteEmail","daDefaultPopoverTrigger","daToggleWord","daCheckinUrlWithInterview","daReloadAfterSeconds","daTrackingEnabled","dagoogleapicallback","daForceFullScreen","steps","top","href","defineProperty","String","prototype","args","from","arguments","defaultNumber","iValue","isNaN","defaultString","match","sign","filler","scale","precision","strOut","space","asNumber","splice","shift","parseInt","substr","repeat","parseFloat","toExponential","toFixed","toString","str","rest","daSprintf","apply","daGoToAnchor","target","scrollTarget","first","offset","animate","scrollTop","atou","b64","decodeURIComponent","escape","utoa","btoa","unescape","encodeURIComponent","dabtoa","daatob","hideTablist","anyTabs","is","getFields","allFields","rawFieldName","daGetFields","daAppendIfExists","theArray","getField","notInDiv","n","checkboxes","prop","showifParents","parents","contains","select","fieldNameEscaped","possibleElements","returnVal","hasClass","fieldSet","daGetField","setChoices","choices","isCombobox","comboInput","find","comboObject","oldComboVal","$target","$source","oldVal","remove","opt","text","append","refresh","clearTarget","daSetField","daSetChoices","setField","theValue","wasSet","manualSelect","theVal","newVal","oldValue","option","changed","thisVal","cbSelected","selectedVals","da_val","daFormAsJSON","isInitial","formData","serializeArray","inArray","isChangedElem","img","Image","src","daShowHelpTab","tab","addCsrfHeader","settings","setRequestHeader","flash","message","priority","clear","empty","newElement","hide","da_flash","url_action","action","JSON_stringify","da_url_action","action_call","callback","forgetPrior","readOnly","_action","_arguments","beforeSend","param","_readonly","csrf_token","daProcessAjaxError","da_action_call","url_action_call","action_perform","daProcessAjax","da_action_perform","url_action_perform","action_perform_with_next","next_data","_next_action_to_set","da_action_perform_with_next","url_action_perform_with_next","get_interview_variables","da_get_interview_variables","daInformAbout","subject","chatMessage","waitPeriod","popover","placement","container","title","removeAttr","daPublishMessage","newDiv","is_self","daScrollChat","chatScroller","scrollHeight","daScrollChatFast","daSender","emit","focus","daShowControl","mode","css","appendTo","slideDown","show","daHideControl","slideUp","daInitializeSocket","connected","connect","protocol","io","domain","path","query","daDisplayChat","daPushChanges","arg","messages","disconnect","daTurnOnChat","numpartners","daCloseChat","incoming","obj","valArray","values","parameters","slider","clicked","daUnfakeHtmlResponse","daTurnOnControl","daResetPushChanges","uid","daUid","userid","daUserObserved","daTurnOffControl","daStopPushChanges","daInjectTrim","handler","tagName","trim","call","daInvalidHandler","form","validator","errors","numberOfInvalids","errorList","daValidator","daValidationRules","daValidationHandler","visibleElements","seen","filter","theName","off","daOnChange","tableOrder","tableOrderChanges","tableName","tableChanged","collectToDelete","lastOk","last","keys","join","do_iframe_upload","inline_succeeded","filesToRead","filesRead","newFileList","nullFileList","fileArray","file_list","inline_file_list","namesWithImages","the_file_input","the_max_size","the_image_type","hasImages","files","the_file","originalFileList","concat","fileInfoList","file_input","max_size","image_type","image_mime_type","this_has_images","a_file","tempFunc","has_images","reader","FileReader","thisFileInfo","size","onload","readerEvent","convertedName","convertedType","pos","lastIndexOf","image","imageEvent","drawImage","daResumeUploadSubmission","result","readAsDataURL","iframe","bind","parseJSON","contents","f","daShowErrorScreen","contentWindow","body","innerHTML","serialize","daSetupValidation","rules","submitHandler","invalidHandler","onfocusout","defaults","validate","showErrors","daRecordLocation","daSetPosition","daShowError","timeout","maximumAge","daSignatureSubmit","stopPropagation","s","json","c","charCodeAt","slice","disabled","oThis","daCheckin","daConnected","responseType","theHtml","responseText","daDivs","children","otherScripts","startsWith","daErrorScript","errorScriptDiv","daScripts","scriptElement","appendChild","reload","daShowNotifications","daAddScriptToHead","head","getElementsByTagName","script","defer","which","tag","activeElement","not","blur","daAddListenersFor","tooltip","enabled","color","default","clearTimeout","daRefreshSubmit","sleep","doScroll","actionURL","question_data","daQuestionData","bodyclass","do_action","livehelp","availability","roles","partner_roles","history","state","pushState","browser_title","replaceState","allow_going_back","id_dict","message_log","daInitialize","extra_scripts","scrollToTarget","extra_css","lang","reload_after","daHideSpinner","input","daEmbeddedJs","daEmbeddedAction","confirm","actionData","theURL","daReviewAction","daRingChat","daChatLogCallback","daResetCheckinCode","Math","random","daCheckinCallback","checkin_code","commands","command","extra","assignments","possible_assignment","assignment","oldDaChatStatus","phone","statusChanged","chat_status","num_peers","help_available","observerControl","daCheckoutCallback","daInitialCheckin","datastring","chatstatus","chatmode","checkinCode","raw_parameters","daCheckout","daStopCheckingIn","newSpan","newI","daObserverSubmitter","theAction","embeddedJs","embeddedAction","linkNum","theId","skey","daAdjustInputWidth","leftBracket","rightBracket","daIgnoreAllButTab","code","keyCode","daDisableIfNotHidden","showIfParent","disable","enable","daShowIfCompare","showIfVal","rationalizeListCollect","finalNum","num","firstNum","seenAddAnother","current","daFetchAjax","cb","doShow","wordStart","shown","wordstart","upperWordStart","toUpperCase","emptyItem","notYetSelected","selectedValue","item","keyList","sort","$element","lookup","split","word","index","charAt","camelStr","fileinput","theme","language","allowedPreviewTypes","row","prev","insertBefore","next","insertAfter","valid","visible","isObject","varname","theSelect","cbList","theType","variable","cleanNum","replaceAll","selects","querySelectorAll","labelauty","class","label","anyChanged","firstEncountered","existing_val","combobox","buttonLabel","inputBox","daInputBox","clearIfNoMatch","functionalButton","showButton","matcher","lookupWhileTyping","thisId","Place","AutocompleteSessionToken","AutocompleteSuggestion","token","priorQuery","priorResults","request","region","sessionToken","$container","selected","placePrediction","toPlace","fetchFields","includedPrimaryTypes","fetchAutocompleteSuggestions","results","sugMap","suggestion","addressText","every","options","items","reduce","revMap","process","_attachment_email_address","minlength","required","email","errorClass","daPopoverTriggerList","daPopoverTrigger","daPopoverList","daPopoverTriggerEl","bootstrap","Popover","informed","theCode","the_key","box","toggler","toggleClass","firstInput","inputType","strLength","setSelectionRange","err","firstButton","theIds","navMain","collapse","the_hash","patt","pattObj","pattRaw","checkboxName","baseName","bracketPart","transBaseName","daNameOne","daNameTwo","daNameThree","daNameBase","daTriggerQueries","daInputsSeen","daOnlyUnique","self","showIfDiv","jsInfo","showIfSign","showIfMode","jsExpression","infoItem","showIfVars","initShowIfVar","initShowIfVarEscaped","altShowIfVar","altShowIfVarEscaped","altElem","showIfVar","showIfVarEscaped","varToUse","showHideDiv","speed","resultt","leader","showHideDivImmediate","showHideDivFast","change","varName","endsWith","signifier","cbVarName","thisVarName","saveAs","firstChild","daTriggerAllShowHides","daUniqueTriggerQueries","daFirstTime","daTries","the_a","the_delay","daPageview","daSegmentEvent","setDefaults","ignore","highlight","closest","unhighlight","errorElement","errorPlacement","elementName","idOfErrorSpan","lastInGroup","thefields","thename","fieldsArr","fileContainer","choice_with_help","addMethod","a","b","realElement","realValue","number_needed","css_query","date","Date","comparator","before_comparator","after_comparator","time","datetime","limit","maxImageSize","totalSize","dataLayer","gtag","idToUse","send_page_view","daSecureCookies","daGaIds","daInterviewPackage","daInterviewFilename","page_path","daReloadAfter","onpopstate","daDefaultAllowList","Tooltip","Default","allowList","daRootUrl","daStopControlling","daGotConfirmation","daAbortControlling","elementId","id_list","theElementId","PERMISSION_DENIED","POSITION_UNAVAILABLE","TIMEOUT","UNKNOWN_ERROR"],"mappings":"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"} \ No newline at end of file From d66018824b4743db2ad99f94ff085e93e52ed0b9 Mon Sep 17 00:00:00 2001 From: rajeswari1301 Date: Wed, 22 Jul 2026 15:50:55 -0500 Subject: [PATCH 4/4] Fix incorrect revert that accidentally undid unrelated app.js changes --- .../docassemble/webapp/static/app/app.js | 14 +++++++++----- .../docassemble/webapp/static/app/app.min.js | 2 +- .../docassemble/webapp/static/app/app.min.js.map | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/docassemble_webapp/docassemble/webapp/static/app/app.js b/docassemble_webapp/docassemble/webapp/static/app/app.js index 276955f16..39bf2f3be 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/app.js +++ b/docassemble_webapp/docassemble/webapp/static/app/app.js @@ -5060,14 +5060,18 @@ function daInitialize(doScroll) { } } } else { - var firstButton = $("#danavbar-collapse .nav-link") + var questionTitle = $("#daMainQuestion, #dasigtitle") .filter(":visible") .first(); - if (firstButton.length > 0 && $(firstButton).visible()) { - setTimeout(function () { + if (questionTitle.length > 0 && $(questionTitle).visible()) { + $(questionTitle).attr("tabindex", "-1").focus(); + } else { + var firstButton = $("#danavbar-collapse .nav-link") + .filter(":visible") + .first(); + if (firstButton.length > 0 && $(firstButton).visible()) { $(firstButton).focus(); - $(firstButton).blur(); - }, 0); + } } } }, 15); diff --git a/docassemble_webapp/docassemble/webapp/static/app/app.min.js b/docassemble_webapp/docassemble/webapp/static/app/app.min.js index 438cb1e1f..fece8372c 100644 --- a/docassemble_webapp/docassemble/webapp/static/app/app.min.js +++ b/docassemble_webapp/docassemble/webapp/static/app/app.min.js @@ -1,2 +1,2 @@ -var $;document.addEventListener("DOMContentLoaded",function(){if(typeof $=="undefined"){$=jQuery.noConflict()}if(daJsEmbed){daTargetDiv="#"+daJsEmbed}else{daTargetDiv="#dabody"}daPreloadImage(daImageToPreLoad);if(daAutoColorScheme){if(window.matchMedia("(prefers-color-scheme: dark)").matches){daDesiredColorScheme=1}else{daDesiredColorScheme=0}if(daCurrentColorScheme!=daDesiredColorScheme){document.documentElement.setAttribute("data-bs-theme",daDesiredColorScheme?"dark":"light");$.ajax({type:"PATCH",url:daUrlChangeColorScheme,xhrFields:{withCredentials:true},data:"scheme="+daDesiredColorScheme,success:function(data){daCurrentColorScheme=data.scheme},error:function(xhr,status,error){console.log("Unable to change desired color scheme.")},dataType:"json"})}}$(document).ready(daReadyFunction);if(!daObserverMode){$(window).ready(daUpdateHeight);$(window).resize(daUpdateHeight)}daConfigureJqueryFuncs();for(var i=0;icontentwidth){cwidth=contentwidth}var cheight=cwidth*daAspectRatio;var otherHeights=$("#dasigheader").outerHeight(true)+$("#dasigtoppart").outerHeight(true)+$("#dasigmidpart").outerHeight(true)+$("#dasigbottompart").outerHeight(true);if(cheight>$(window).height()-otherHeights){cheight=$(window).height()-otherHeights}if(cheight>275||cheight<30){cheight=275}$("#dasigcontent").height(cheight);var canvas='';$("#dasigcontent").html(canvas);daTheWidth=daThicknessScalingFactor*cwidth/100;if(daTheWidth<1){daTheWidth=1}daSignaturePad=new SignaturePad(document.querySelector("#dasigcanvas"));if(defaultImage!=null){daSignaturePad.fromDataURL(defaultImage,{ratio:1,width:cwidth,height:cheight,xOffset:0,yOffset:0})}daSignaturePad.minWidth=.5*daThicknessScalingFactor;daSignaturePad.maxWidth=2.5*daThicknessScalingFactor;daSignaturePad.penColor=daColor;setTimeout(function(){if(daJsEmbed){$(daTargetDiv)[0].scrollTo(0,1);if(daSteps>1){$(daTargetDiv)[0].scrollIntoView()}}else{window.scrollTo(0,1)}},10)}function daPost(params){for(var key in params){if(params.hasOwnProperty(key)){var hiddenField=document.getElementById(key);if(hiddenField!=null){hiddenField.setAttribute("value",params[key])}else{console.log("Key does not exist: "+key);return}}}$("#dasigform").submit();return}function isCanvasSupported(){var elem=document.createElement("canvas");return!!(elem.getContext&&elem.getContext("2d"))}var daAutocomplete=Object();function daWaitForGoogle(waitForPlaces){return new Promise(resolve=>{let attempts=0;const maxAttempts=50;const interval=setInterval(()=>{var found=false;try{if(google.maps===undefined){throw new Error("google maps not defined")}if(waitForPlaces){if(google.maps.places===undefined){throw new Error("places not defined")}}found=true}catch(e){}if(found||attempts>=maxAttempts){clearInterval(interval);resolve(found)}attempts++},100)})}function daInitAutocomplete(info){daAutocomplete=Object();for(var i=0;i1){maps[i].map.fitBounds(bounds)}}}function daAddMap(map_num,center_lat,center_lon){var map=new google.maps.Map(document.getElementById("map"+map_num),{zoom:11,center:new google.maps.LatLng(center_lat,center_lon),mapTypeId:google.maps.MapTypeId.ROADMAP,mapId:"map"+map_num+"element"});var infowindow=new google.maps.InfoWindow;return{map:map,infowindow:infowindow}}async function daAddMarker(map,marker_info,show_marker){const{AdvancedMarkerElement,PinElement}=await google.maps.importLibrary("marker");var marker;var content;if(marker_info.icon){content=new PinElement(marker_info.icon)}else{content=new PinElement}marker=new AdvancedMarkerElement({position:{lat:marker_info.latitude,lng:marker_info.longitude},map:map.map,content:content.element});if(marker_info.info){google.maps.event.addListener(marker,"click",function(marker,info){return function(){map.infowindow.setContent(info);map.infowindow.open(map.map,marker)}}(marker,marker_info.info))}if(show_marker){map.infowindow.setContent(marker_info.info);map.infowindow.open(map.map,marker)}return marker}function daFillInAddress(origId,place){var id;if(daVarLookupRev[origId]){id=daVarLookupRev[origId]}else{id=origId}var baseVarname=atob(id).replace(/.[a-zA-Z0-9_]+$/,"");baseVarname=baseVarname.replace(/[\[\]]/g,".");var re=new RegExp("^"+baseVarname+".(.*)");var componentTrans={administrative_area_level_1:["state","shortText"],administrative_area_level_2:["county","longText"]};var alternatives=[["city",["locality","sublocality_level_1","neighborhood","administrative_area_level_3","colloquial_area"]],["sublocality",["sublocality_level_1","sublocality_level_2","sublocality_level_3","sublocality_level_4","sublocality_level_5"]]];var fieldsToClear=["address","administrative_area_level_1","administrative_area_level_2","administrative_area_level_3","administrative_area_level_4","administrative_area_level_5","administrative_area_level_6","administrative_area_level_7","adr_format_address","airport","bus_station","business_status","city","colloquial_area","compound_code","country","county","directions_uri","display_name","display_name_language_code","establishment","floor","formatted_address","global_code","has_wheelchair_accessible_entrance","has_wheelchair_accessible_parking","has_wheelchair_accessible_restroom","has_wheelchair_accessible_seating","id","international_phone_number","intersection","landmark","latitude","locality","location","longitude","national_phone_number","natural_feature","neighborhood","park","parking","photos_uri","place_uri ","plus_code","point_of_interest","political","post_box","postal_code","postal_town","premise","price_level","primary_type","primary_type_display_name","primary_type_display_name_language_code","rating","reviews_uri","room","route","state","street_number","sublocality","subpremise","train_station","transit_station","types","utc_offset_minutes","write_a_review_uri","zip"];var idForPart={};$("input, select").each(function(){var the_id=$(this).attr("id");if(typeof the_id!==typeof undefined&&the_id!==false){try{var field_name=atob($(this).attr("id"));if(field_name.indexOf("_field_")==0){field_name=atob(daVarLookupRev[$(this).attr("id")])}var m=re.exec(field_name);if(m.length>0){idForPart[m[1]]=$(this).attr("id")}}catch(e){}}});for(var component in fieldsToClear){if(typeof idForPart[component]!="undefined"&&document.getElementById(idForPart[component])!=null){document.getElementById(idForPart[component]).value=""}}var savedValues={};var toChange=[];for(var i=0;i{var pythonSubVar=camelToUnderscore(jsSubVar);if(value!=null&&typeof idForPart[pythonSubVar]!="undefined"&&document.getElementById(idForPart[pythonSubVar])!=null){document.getElementById(idForPart[pythonSubVar]).value=jsonIfObject(value);toChange.push("#"+idForPart[pythonSubVar])}})}else if(place[jsVar]&&typeof idForPart[pythonVar]!="undefined"&&document.getElementById(idForPart[pythonVar])!=null){document.getElementById(idForPart[pythonVar]).value=jsonIfObject(place[jsVar]);toChange.push("#"+idForPart[pythonVar])}}for(var i=0;i0){id_for_part[m[1]]=$(this).attr("id")}}catch(e){}}});place=daAutocomplete[origId].getPlace();if(typeof id_for_part["address"]!="undefined"&&document.getElementById(id_for_part["address"])!=null){document.getElementById(id_for_part["address"]).value=""}for(var component in fields_to_fill){if(typeof id_for_part[component]!="undefined"&&document.getElementById(id_for_part[component])!=null){document.getElementById(id_for_part[component]).value=""}}var street_number;var route;var savedValues={};var toChange=[];for(var i=0;i1&&window!=top){top.location.href=location.href}}Object.defineProperty(String.prototype,"daSprintf",{value:function(){var args=Array.from(arguments),i=0;function defaultNumber(iValue){return iValue!=undefined&&!isNaN(iValue)?iValue:"0"}function defaultString(iValue){return iValue==undefined?"":""+iValue}return this.replace(/%%|%([+\-])?([^1-9])?(\d+)?(\.\d+)?([deEfhHioQqs])/g,function(match,sign,filler,scale,precision,type){var strOut,space,value;var asNumber=false;if(match=="%%")return"%";if(i>=args.length)return match;value=args[i];while(Array.isArray(value)){args.splice(i,1);for(var j=i;value.length>0;j++)args.splice(j,0,value.shift());value=args[i]}i++;if(filler==undefined)filler=" ";if(scale==undefined&&!isNaN(filler)){scale=filler;filler=" "}if(sign==undefined)sign="sqQ".indexOf(type)>=0?"+":"-";if(scale==undefined)scale=0;if(precision==undefined)precision=".0";scale=parseInt(scale);precision=parseInt(precision.substr(1));switch(type){case"d":case"i":asNumber=true;strOut=parseInt(defaultNumber(value));if(precision>0)strOut+="."+"0".repeat(precision);break;case"e":case"E":asNumber=true;strOut=parseFloat(defaultNumber(value));if(precision==0)strOut=strOut.toExponential();else strOut=strOut.toExponential(precision);if(type=="E")strOut=strOut.replace("e","E");break;case"f":asNumber=true;strOut=parseFloat(defaultNumber(value));if(precision!=0)strOut=strOut.toFixed(precision);break;case"o":case"h":case"H":strOut="\\"+(type=="o"?"0":type)+parseInt(defaultNumber(value)).toString(type=="o"?8:16);break;case"q":strOut="'"+defaultString(value)+"'";break;case"Q":strOut='"'+defaultString(value)+'"';break;default:strOut=defaultString(value);break}if(typeof strOut!="string")strOut=""+strOut;if((space=strOut.length)0){for(var i=0;i0){var showifParents=$(possibleElements[i]).parents(".dajsshowif,.dashowif");if(showifParents.length==0||$(showifParents[0]).data("isVisible")=="1"){if(notInDiv&&$.contains(notInDiv,possibleElements[i])){continue}returnVal=possibleElements[i]}}}if($(returnVal).hasClass("da-to-labelauty")&&$(returnVal).parents("div.da-field-group").length>0){var fieldSet=$(returnVal).parents("div.da-field-group")[0];if(!$(fieldSet).hasClass("da-field-checkbox")&&!$(fieldSet).hasClass("da-field-checkboxes")){return fieldSet}}return returnVal}var daGetField=getField;function setChoices(fieldName,choices){var elem=daGetField(fieldName);if(elem==null){console.log("setChoices: reference to non-existent field "+fieldName);return}var isCombobox=$(elem).attr("type")=="hidden"&&$(elem).parents(".combobox-container").length>0;if(isCombobox){var comboInput=$(elem).parents(".combobox-container").first().find("input.combobox").first();var comboObject=daComboBoxes[$(comboInput).attr("id")];var oldComboVal=comboObject.$target.val();elem=comboObject.$source}if($(elem).prop("tagName")!="SELECT"){console.log("setField: field "+fieldName+" is not a dropdown field");return}var oldVal=$(elem).val();$(elem).find("option[value!='']").each(function(){$(this).remove()});var n=choices.length;for(var i=0;i");opt.val(choices[i][0]);opt.text(choices[i][1]);if(oldVal==choices[i][0]){opt.attr("selected","selected")}$(elem).append(opt)}if(isCombobox){comboObject.refresh();comboObject.clearTarget();if(oldComboVal!=""){daSetField(fieldName,oldComboVal)}}}var daSetChoices=setChoices;function setField(fieldName,theValue){var elem=daGetField(fieldName);if(elem==null){console.log("setField: reference to non-existent field "+fieldName);return}if($(elem).prop("tagName")=="DIV"&&$(elem).hasClass("da-field-group")&&$(elem).hasClass("da-field-radio")){elem=$(elem).find("input")[0]}if($(elem).attr("type")=="checkbox"){if(theValue){if($(elem).prop("checked")!=true){$(elem).click()}}else{if($(elem).prop("checked")!=false){$(elem).click()}}}else if($(elem).attr("type")=="radio"){var fieldNameEscaped=$(elem).attr("name").replace(/(:|\.|\[|\]|,|=)/g,"\\$1");var wasSet=false;if(theValue===true){theValue="True"}if(theValue===false){theValue="False"}$("input[name='"+fieldNameEscaped+"']").each(function(){if($(this).val()==theValue){if($(this).prop("checked")!=true){$(this).prop("checked",true);$(this).trigger("change")}wasSet=true;return false}});if(!wasSet){console.log("setField: could not set radio button "+fieldName+" to "+theValue)}}else if($(elem).attr("type")=="hidden"){if($(elem).val()!=theValue){if($(elem).parents(".combobox-container").length>0){var comboInput=$(elem).parents(".combobox-container").first().find("input.combobox").first();daComboBoxes[$(comboInput).attr("id")].manualSelect(theValue)}else{$(elem).val(theValue);$(elem).trigger("change")}}}else if($(elem).prop("tagName")=="DIV"&&$(elem).hasClass("da-field-group")&&$(elem).hasClass("da-field-checkboxes")){if(!Array.isArray(theValue)){throw new Error("setField: value must be an array")}var n=theValue.length;$(elem).find("input").each(function(){if($(this).hasClass("danota-checkbox")){$(this).prop("checked",n==0);$(this).trigger("change");return}if($(this).hasClass("daaota-checkbox")){$(this).prop("checked",false);$(this).trigger("change");return}if($(this).attr("name").substr(0,7)==="_ignore"){return}var theVal=atou($(this).data("cbvalue"));if($(elem).hasClass("daobject")){theVal=atou(theVal)}var oldVal=$(this).prop("checked")==true;var newVal=false;for(var i=0;i0){if(daJsEmbed){scrollTarget=$(validator.errorList[0].element).parents(".da-form-group").first().position().top-60}else{scrollTarget=$(validator.errorList[0].element).parents(".da-form-group").first().offset().top-60}}if(scrollTarget!=null){if(daJsEmbed){$(daTargetDiv).animate({scrollTop:scrollTarget},1e3)}else{$("html, body").animate({scrollTop:scrollTarget},1e3)}}}var daValidator;var daValidationRules={};function daValidationHandler(form){if(daObserverMode){return}var visibleElements=[];var seen=Object();$(form).find("input, select, textarea").filter(":not(:disabled)").each(function(){if($(this).attr("name")&&$(this).attr("type")!="hidden"&&($(this).hasClass("da-active-invisible")&&$(this).parent().is(":visible")||$(this).is(":visible"))){var theName=$(this).attr("name");if(!seen.hasOwnProperty(theName)){visibleElements.push(theName);seen[theName]=1}}});$(form).find("input[name='_visible']").val(utoa(JSON_stringify(visibleElements)));$(form).each(function(){$(this).find(":input").off("change",daOnChange)});$("meta[name=viewport]").attr("content","width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0");if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}daDisable=setTimeout(function(){$(form).find('input[type="submit"]').prop("disabled",true);$(form).find('button[type="submit"]').prop("disabled",true)},1);if(daWhichButton!=null){$(".da-field-buttons .btn-da").each(function(){if(this!=daWhichButton){$(this).removeClass(daAllButtonClasses);$(this).addClass(daButtonStyle+"light")}});if($(daWhichButton).hasClass(daButtonStyle+"success")){$(daWhichButton).removeClass(daButtonStyle+"success");$(daWhichButton).addClass(daButtonStyle+"primary")}else{$(daWhichButton).removeClass(daButtonStyle+"primary "+daButtonStyle+"info "+daButtonStyle+"warning "+daButtonStyle+"danger "+daButtonStyle+"success "+daButtonStyle+"light");$(daWhichButton).addClass(daButtonStyle+"secondary")}}var tableOrder={};var tableOrderChanges={};$("a.datableup").each(function(){var tableName=$(this).data("tablename");if(!tableOrder.hasOwnProperty(tableName)){tableOrder[tableName]=[]}tableOrder[tableName].push(parseInt($(this).data("tableitem")))});var tableChanged=false;for(var tableName in tableOrder){if(tableOrder.hasOwnProperty(tableName)){var n=tableOrder[tableName].length;for(var i=0;i").attr({type:"hidden",name:"_order_changes",value:JSON.stringify(tableOrderChanges)}).appendTo($(form))}var collectToDelete=[];$(".dacollectunremove:visible").each(function(){collectToDelete.push(parseInt($(this).parent().parent().data("collectnum")))});var lastOk=parseInt($(".dacollectremove:visible, .dacollectremoveexisting:visible").last().parent().parent().data("collectnum"));$(".dacollectremove, .dacollectremoveexisting").each(function(){if(parseInt($(this).parent().parent().data("collectnum"))>lastOk){collectToDelete.push(parseInt($(this).parent().parent().data("collectnum")))}});if(collectToDelete.length>0){$("").attr({type:"hidden",name:"_collect_delete",value:JSON.stringify(collectToDelete)}).appendTo($(form))}$("select.damultiselect:not(:disabled)").each(function(){var showifParents=$(this).parents(".dajsshowif,.dashowif");if(showifParents.length==0||$(showifParents[0]).data("isVisible")=="1"){$(this).find("option").each(function(){$("").attr({type:"hidden",name:$(this).val(),value:$(this).prop("selected")?"True":"False"}).appendTo($(form))})}$(this).prop("disabled",true)});daWhichButton=null;if(daSubmitter!=null&&daSubmitter.name&&$('input[name="'+daSubmitter.name+'"]').length==0){$("").attr({type:"hidden",name:daSubmitter.name,value:daSubmitter.value}).appendTo($(form))}if(daInformedChanged){$("").attr({type:"hidden",name:"informed",value:Object.keys(daInformed).join(",")}).appendTo($(form))}$("").attr({type:"hidden",name:"ajax",value:"1"}).appendTo($(form));daSpinnerTimeout=setTimeout(daShowSpinner,1e3);var do_iframe_upload=false;inline_succeeded=false;if($('input[name="_files"]').length>0){var filesToRead=0;var filesRead=0;var newFileList=Array();var nullFileList=Array();var fileArray={keys:Array(),values:Object()};var file_list=JSON.parse(atou($('input[name="_files"]').val()));var inline_file_list=Array();var namesWithImages=Object();for(var i=0;i0){for(var j=0;j0){newFileList.push(file_list[i])}else{nullFileList.push(file_list[i])}namesWithImages[file_list[i]]=hasImages}if(inline_file_list.length>0){var originalFileList=atou($('input[name="_files"]').val());if(newFileList.length==0&&nullFileList.length==0){$('input[name="_files"]').remove()}else{$('input[name="_files"]').val(utoa(JSON_stringify(newFileList.concat(nullFileList))))}for(var i=0;iheight){if(width>max_size){height*=max_size/width;width=max_size}}else{if(height>max_size){width*=max_size/height;height=max_size}}canvas.width=width;canvas.height=height;canvas.getContext("2d").drawImage(image,0,0,width,height);thisFileInfo["content"]=canvas.toDataURL(convertedType);filesRead++;if(filesRead>=filesToRead){daResumeUploadSubmission(form,fileArray,inline_file_list,newFileList,daSubmitter)}};image.src=reader.result}else{thisFileInfo["content"]=reader.result;filesRead++;if(filesRead>=filesToRead){daResumeUploadSubmission(form,fileArray,inline_file_list,newFileList,daSubmitter)}}};reader.readAsDataURL(the_file)};tempFunc(a_file,max_size,this_has_images);inline_succeeded=true}}}if(newFileList.length==0){}else{do_iframe_upload=true}}if(inline_succeeded){return false}if(do_iframe_upload){$("#dauploadiframe").remove();var iframe=$('');$(daTargetDiv).append(iframe);$(form).attr("target","dauploadiframe");iframe.bind("load",function(){setTimeout(function(){try{daProcessAjax($.parseJSON(daUnfakeHtmlResponse($("#dauploadiframe").contents().text())),form,1)}catch(e){try{daProcessAjax($.parseJSON($("#dauploadiframe").contents().text()),form,1)}catch(f){daShowErrorScreen(document.getElementById("dauploadiframe").contentWindow.document.body.innerHTML,f)}}},0)});form.submit()}else{daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$(form).serialize(),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,form,1)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)}})}return false}function daSetupValidation(rules,messages){daValidationRules=rules;daValidationRules.submitHandler=daValidationHandler;daValidationRules.invalidHandler=daInvalidHandler;daValidationRules.onfocusout=daInjectTrim($.validator.defaults.onfocusout);if($("#daform").length>0){daValidator=$("#daform").validate(daValidationRules);if(Object.keys(messages).length>0){daValidator.showErrors(messages)}}}function daRecordLocation(){if(document.getElementById("da_track_location")==null){return}if(navigator.geolocation){document.getElementById("da_track_location").value=JSON.stringify({error:"getCurrentPosition was still running"});navigator.geolocation.getCurrentPosition(daSetPosition,daShowError,{timeout:1e3,maximumAge:36e5})}else{document.getElementById("da_track_location").value=JSON.stringify({error:"navigator.geolocation not available in browser"})}}function daSignatureSubmit(event){$(this).find("input[name='ajax']").val(1);daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$(this).serialize(),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,$(this),1)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)}});event.preventDefault();event.stopPropagation();return false}function JSON_stringify(s){var json=JSON.stringify(s);return json.replace(/[\u007f-\uffff]/g,function(c){return"\\u"+("0000"+c.charCodeAt(0).toString(16)).slice(-4)})}function daResumeUploadSubmission(form,fileArray,inline_file_list,newFileList,daSubmitter){if(daSubmitter!=null&&daSubmitter.name&&$(form).find('input[name="'+daSubmitter.name+'"]').length==0){$("").attr({type:"hidden",name:daSubmitter.name,value:daSubmitter.value}).appendTo($(form))}$("").attr({type:"hidden",name:"_files_inline",value:utoa(JSON_stringify(fileArray))}).appendTo($(form));for(var i=0;i0){$("#dauploadiframe").remove();var iframe=$('');$(daTargetDiv).append(iframe);$(form).attr("target","dauploadiframe");iframe.bind("load",function(){setTimeout(function(){daProcessAjax($.parseJSON($("#dauploadiframe").contents().text()),form,1)},0)});form.submit()}else{daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$(form).serialize(),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,form,1)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)}})}}function daOnChange(){if(daObserverMode){return}if(daCheckinSeconds==0||daShowIfInProcess){return true}if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}var oThis=this;daCheckin(oThis);daCheckinInterval=setInterval(daCheckin,daCheckinSeconds);return true}function daPushChanges(){if(daObserverMode){if(daObserverChangesInterval!=null){clearInterval(daObserverChangesInterval)}if(!daSendChanges||!daConnected){return}daObserverChangesInterval=setInterval(daPushChanges,daCheckinSeconds);daSocket.emit("observerChanges",{uid:daUid,i:daYamlFilename,userid:daUserObserved,parameters:JSON.stringify($("#daform").serializeArray())});return}if(daCheckinSeconds==0||daShowIfInProcess){return true}if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}daCheckin(null);daCheckinInterval=setInterval(daCheckin,daCheckinSeconds);return true}function daProcessAjaxError(xhr,status,error){daRequestPending=false;if(xhr.responseType==undefined||xhr.responseType==""||xhr.responseType=="text"){var theHtml=xhr.responseText;if(theHtml==undefined){$(daTargetDiv).html("error")}else{var newDiv=document.createElement("div");$(newDiv).html(theHtml);var daDivs=$(newDiv).children("div");if(daDivs.length>0){$(daTargetDiv).empty();for(var i=0;i0){for(var i=0;i0){for(var i=0;ihistory.state.steps){history.pushState({steps:daSteps},data.browser_title+" - page "+daSteps,daLocationBar+daPageSep+daSteps)}else{history.replaceState({steps:daSteps},"",daLocationBar+daPageSep+daSteps)}}daAllowGoingBack=data.allow_going_back;daQuestionID=data.id_dict;daMessageLog=data.message_log;daInitialize(doScroll);for(var i=0;i0){daReloader=setTimeout(function(){daRefreshSubmit()},data.reload_after)}daUpdateHeight()}else if(data.action=="redirect"){if(daSpinnerTimeout!=null){clearTimeout(daSpinnerTimeout);daSpinnerTimeout=null}if(daShowingSpinner){daHideSpinner()}window.location=data.url}else if(data.action=="refresh"){daRefreshSubmit()}else if(data.action=="reload"){location.reload(true)}else if(data.action=="resubmit"){if(form==null){window.location=actionURL}$("input[name='ajax']").remove();if(daSubmitter!=null&&daSubmitter.name&&$('input[name="'+daSubmitter.name+'"]').length==0){var input=$("").attr("type","hidden").attr("name",daSubmitter.name).val(daSubmitter.value);$(form).append($(input))}form.submit()}else if(data.action=="wait"){if(daSpinnerTimeout==null&&!daShowingSpinner){daShowSpinner()}setTimeout(daRefreshSubmit,(data.sleep||4)*1e3)}}function daEmbeddedJs(e){var data=decodeURIComponent($(this).data("js"));daGlobalEval(data);e.preventDefault();return false}function daEmbeddedAction(e){if(daRequestPending){e.preventDefault();$(this).blur();return false}if($(this).hasClass("daremovebutton")){if(confirm(daAreYouSure)){return true}e.preventDefault();$(this).blur();return false}var actionData=decodeURIComponent($(this).data("embaction"));var theURL=$(this).attr("href");daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$.param({_action:actionData,csrf_token:daCsrf,ajax:1}),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,null,1,theURL)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)},dataType:"json"});daSpinnerTimeout=setTimeout(daShowSpinner,1e3);e.preventDefault();return false}function daReviewAction(e){if(daRequestPending){e.preventDefault();$(this).blur();return false}var info=$.parseJSON(atou($(this).data("action")));da_action_perform(info["action"],info["arguments"]);e.preventDefault();return false}function daRingChat(){daChatStatus="ringing";daPushChanges()}function daTurnOnChat(){$("#daChatOnButton").addClass("dainvisible");$("#daChatBox").removeClass("dainvisible");$("#daCorrespondence").html("");for(var i=0;i0){$("#daChatBox").removeClass("dainvisible")}}else{$("#daChatBox").removeClass("dainvisible")}}if(daChatStatus=="waiting"){if(daChatHistory.length>0){$("#daChatAvailable a i").removeClass("da-chat-active");$("#daChatAvailable a i").addClass("da-chat-inactive");$("#daChatAvailable").removeClass("dainvisible")}else{$("#daChatAvailable a i").removeClass("da-chat-active");$("#daChatAvailable a i").removeClass("da-chat-inactive");$("#daChatAvailable").addClass("dainvisible")}$("#daChatOnButton").addClass("dainvisible");$("#daChatOffButton").addClass("dainvisible");$("#daMessage").prop("disabled",true);$("#daSend").prop("disabled",true)}if(daChatStatus=="standby"||daChatStatus=="ready"){$("#daChatAvailable").removeClass("dainvisible");$("#daChatAvailable a i").removeClass("da-chat-inactive");$("#daChatAvailable a i").addClass("da-chat-active");$("#daChatOnButton").removeClass("dainvisible");$("#daChatOffButton").addClass("dainvisible");$("#daMessage").prop("disabled",true);$("#daSend").prop("disabled",true);daInformAbout("chat")}if(daChatStatus=="on"){$("#daChatAvailable").removeClass("dainvisible");$("#daChatAvailable a i").removeClass("da-chat-inactive");$("#daChatAvailable a i").addClass("da-chat-active");$("#daChatOnButton").addClass("dainvisible");$("#daChatOffButton").removeClass("dainvisible");$("#daMessage").prop("disabled",false);if(daShowingHelp){$("#daMessage").focus()}$("#daSend").prop("disabled",false);daInformAbout("chat")}hideTablist()}function daChatLogCallback(data){if(data.action&&data.action=="reload"){location.reload(true)}if(data.success){$("#daCorrespondence").html("");daChatHistory=[];var messages=data.messages;for(var i=0;i0){for(var i=0;i'+data.num_peers+" "+daOtherUser+"")}else{$("#dapeerMessage").html(''+data.num_peers+" "+daOtherUsers+"")}$("#dapeerMessage").removeClass("dainvisible")}else{$("#dapeerMessage").addClass("dainvisible")}if(daChatMode=="peerhelp"||daChatMode=="help"){if(data.help_available==1){$("#dapeerHelpMessage").html(''+data.help_available+" "+daOperator+"")}else{$("#dapeerHelpMessage").html(''+data.help_available+" "+daOperators+"")}$("#dapeerHelpMessage").removeClass("dainvisible")}else{$("#dapeerHelpMessage").addClass("dainvisible")}if(daBeingControlled){if(!data.observerControl){daBeingControlled=false;daHideControl();if(daChatStatus!="on"){if(daSocket!=null&&daSocket.connected){daSocket.emit("terminate")}}}}else{if(data.observerControl){daBeingControlled=true;daInitializeSocket()}}}hideTablist()}function daCheckoutCallback(data){}function daInitialCheckin(){daCheckin("initial")}function daCheckin(elem){var elem=typeof elem==="undefined"?null:elem;daCheckingIn+=1;if(elem===null&&daCheckingIn>1){return}var datastring;if(daChatStatus!="off"&&$("#daform").length>0&&!daBeingControlled){if(daDoAction!=null){datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,parameters:daFormAsJSON(elem),raw_parameters:JSON.stringify($("#daform").serializeArray()),do_action:daDoAction,ajax:"1"})}else{datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,parameters:daFormAsJSON(elem),raw_parameters:JSON.stringify($("#daform").serializeArray()),ajax:"1"})}}else{if(daDoAction!=null){datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,do_action:daDoAction,parameters:daFormAsJSON(elem),ajax:"1"})}else{datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,ajax:"1"})}}$.ajax({type:"POST",url:daCheckinUrl,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:datastring,success:daCheckinCallback,dataType:"json"});return true}function daCheckout(){$.ajax({type:"POST",url:daCheckoutUrl,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:"csrf_token="+daCsrf+"&ajax=1&action=checkout",success:daCheckoutCallback,dataType:"json"});return true}function daStopCheckingIn(){daCheckout();if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}}function daShowSpinner(){if($("#daquestion").length>0){$('
').appendTo(daTargetDiv)}else{var newSpan=document.createElement("span");var newI=document.createElement("i");$(newI).addClass("fa-solid fa-spinner fa-spin");$(newI).appendTo(newSpan);$(newSpan).attr("id","daSpinner");$(newSpan).addClass("da-sig-spinner da-top-for-navbar");$(newSpan).appendTo("#dasigtoppart")}daShowingSpinner=true}function daHideSpinner(){$("#daSpinner").remove();daShowingSpinner=false;daSpinnerTimeout=null}function daObserverSubmitter(event){if(!daSendChanges||!daConnected){event.preventDefault();return false}var theAction=null;if($(this).hasClass("da-review-action")){theAction=$(this).data("action")}var embeddedJs=$(this).data("js");var embeddedAction=$(this).data("embaction");var linkNum=$(this).data("linknum");var theId=$(this).attr("id");if(theId=="dapagetitle"){theId="daquestionlabel"}var theName=$(this).attr("name");var theValue=$(this).val();var skey;if(linkNum){skey='a[data-linknum="'+linkNum+'"]'}else if(embeddedAction){skey='a[data-embaction="'+embeddedAction.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")+'"]'}else if(theAction){skey='a[data-action="'+theAction.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")+'"]'}else if(theId){skey="#"+theId.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")}else if(theName){skey="#"+$(this).parents("form").attr("id")+" "+$(this).prop("tagName").toLowerCase()+'[name="'+theName.replace(/(:|\.|\[|\]|,|=|\/)/g,"\\$1")+'"]';if(typeof theValue!=="undefined"){skey+='[value="'+theValue+'"]'}}else{skey="#"+$(this).parents("form").attr("id")+" "+$(this).prop("tagName").toLowerCase()+'[type="submit"]'}if(daObserverChangesInterval!=null&&embeddedJs==null&&theId!="dabackToQuestion"&&theId!="dahelptoggle"&&theId!="daquestionlabel"){clearInterval(daObserverChangesInterval)}daSocket.emit("observerChanges",{uid:daUid,i:daYamlFilename,userid:daUserObserved,clicked:skey,parameters:JSON.stringify($("#daform").serializeArray())});if(embeddedJs!=null){daGlobalEval(decodeURIComponent(embeddedJs))}if(theId!="dabackToQuestion"&&theId!="dahelptoggle"&&theId!="daquestionlabel"){event.preventDefault();return false}}function daAdjustInputWidth(e){var contents=$(this).val();var leftBracket=new RegExp("<","g");var rightBracket=new RegExp(">","g");contents=contents.replace(/&/g,"&").replace(leftBracket,"<").replace(rightBracket,">").replace(/ /g," ");$('').html(contents).appendTo("#daquestion");$("#dawidth").css("min-width",$(this).css("min-width"));$("#dawidth").css("background-color",$(daTargetDiv).css("background-color"));$("#dawidth").css("color",$(daTargetDiv).css("background-color"));$(this).width($("#dawidth").width()+16);setTimeout(function(){$("#dawidth").remove()},0)}function daShowNotifications(){var n=daMessageLog.length;for(var i=0;ifirstNum){if($('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]:visible').length>0){if(!$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').find(".dacollectadd").hasClass("dainvisible")&&$('div.dacollectextraheader[data-collectnum="'+n+'"]').find(".dacollectremove").hasClass("dainvisible")){$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').hide()}}}var n=parseInt(finalNum);var seenAddAnother=false;while(n-- >firstNum){if($('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]:visible').length>0){if(!$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').find(".dacollectadd").hasClass("dainvisible")){seenAddAnother=true}var current=$('div.dacollectextraheader[data-collectnum="'+n+'"]');if(seenAddAnother&&!$(current).find(".dacollectadd").hasClass("dainvisible")){$(current).find(".dacollectadd").addClass("dainvisible");$(current).find(".dacollectunremove").removeClass("dainvisible")}}}}function daFetchAjax(elem,cb,doShow){var wordStart=$(elem).val();if(wordStart.length");emptyItem.val("");emptyItem.text("");cb.$source.append(emptyItem);var notYetSelected=true;var selectedValue=null;if(Array.isArray(data)){for(var i=0;i=2){var item=$("
');$('').appendTo(toggler);$(''+daToggleWord+"").appendTo(toggler)}else{toggler=$('');$('').appendTo(toggler);$(''+daToggleWord+"").appendTo(toggler)}toggler.appendTo(prev);toggler.on("click",function(e){var oThis=this;$(this).find("svg").each(function(){if($(this).attr("data-icon")=="caret-down"){$(this).removeClass("fa-caret-down");$(this).addClass("fa-caret-right");$(this).attr("data-icon","caret-right");$(box).hide();$(oThis).attr("aria-pressed","false");$(box).toggleClass("danotshowing")}else if($(this).attr("data-icon")=="caret-right"){$(this).removeClass("fa-caret-right");$(this).addClass("fa-caret-down");$(this).attr("data-icon","caret-down");$(box).show();$(oThis).attr("aria-pressed","true");$(box).toggleClass("danotshowing")}});e.stopPropagation();e.preventDefault();return false})}});$("body").focus();if(!daJsEmbed&&!isAndroid){setTimeout(function(){var firstInput=$("#daform .da-field-container").not(".da-field-container-note").first().find("input, textarea, select").filter(":visible").first();if(firstInput.length>0&&$(firstInput).visible()){$(firstInput).focus();var inputType=$(firstInput).attr("type");if($(firstInput).prop("tagName")!="SELECT"&&inputType!="checkbox"&&inputType!="radio"&&inputType!="hidden"&&inputType!="submit"&&inputType!="file"&&inputType!="range"&&inputType!="number"&&inputType!="date"&&inputType!="time"){var strLength=$(firstInput).val().length*2;if(strLength>0){try{$(firstInput)[0].setSelectionRange(strLength,strLength)}catch(err){console.log(err.message)}}}}else{var firstButton=$("#danavbar-collapse .nav-link").filter(":visible").first();if(firstButton.length>0&&$(firstButton).visible()){setTimeout(function(){$(firstButton).focus();$(firstButton).blur()},0)}}},15)}}$("input.dauncheckspecificothers").on("change",function(){if($(this).is(":checked")){var theIds=$.parseJSON(atou($(this).data("unchecklist")));var n=theIds.length;for(var i=0;i0){showIfVars.push(initShowIfVar)}if(daVarLookupMulti.hasOwnProperty(initShowIfVar)){for(var j=0;j0&&!$.contains(this,altElem[0])){showIfVars.push(altShowIfVar)}}}if(showIfVars.length==0){console.log("ERROR: reference to non-existent field "+infoItem)}showIfVars.forEach(function(showIfVar){var showIfVarEscaped=showIfVar.replace(/(:|\.|\[|\]|,|=)/g,"\\$1");var varToUse=infoItem;var showHideDiv=function(speed){var elem=daGetField(varToUse);if(elem!=null&&!$(elem).parents(".da-form-group").first().is($(this).parents(".da-form-group").first())){return}var resultt=eval(jsExpression);if(resultt){if(showIfSign){if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}else{if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}}else{if(showIfSign){if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",true)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}else{if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}}var leader=false;if(!daShowIfInProcess){daShowIfInProcess=true;daInputsSeen={};leader=true}$(showIfDiv).find(":input").not("[type='file']").each(function(){if(!daInputsSeen.hasOwnProperty($(this).attr("id"))){$(this).trigger("change")}daInputsSeen[$(this).attr("id")]=true});if(leader){daShowIfInProcess=false}};var showHideDivImmediate=function(){showHideDiv.apply(this,[null])};var showHideDivFast=function(){showHideDiv.apply(this,["fast"])};daTriggerQueries.push("#"+showIfVarEscaped);daTriggerQueries.push("input[type='radio'][name='"+showIfVarEscaped+"']");daTriggerQueries.push("input[type='checkbox'][name='"+showIfVarEscaped+"']");$("#"+showIfVarEscaped).change(showHideDivFast);$("input[type='radio'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input.dafile[name='"+showIfVarEscaped+"']").on("filecleared",showHideDivFast);$("#"+showIfVarEscaped).on("daManualTrigger",showHideDivImmediate);$("input[type='radio'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate)})})});$(".dashowif").each(function(){var showIfVars=[];var showIfSign=$(this).data("showif-sign");var showIfMode=parseInt($(this).data("showif-mode"));var initShowIfVar=$(this).data("showif-var");var varName=atou(initShowIfVar);var elem=[];if(varName.endsWith("[nota]")||varName.endsWith("[aota]")){var signifier=varName.endsWith("[nota]")?"nota":"aota";var cbVarName=varName.replace(/\[[na]ota\]$/,"");$("div.da-field-group.da-field-checkboxes").each(function(){var thisVarName=atou($(this).data("varname"));if(thisVarName==cbVarName){elem=$(this).find("input.da"+signifier+"-checkbox");initShowIfVar=$(elem).attr("name")}})}else{var initShowIfVarEscaped=initShowIfVar.replace(/(:|\.|\[|\]|,|=)/g,"\\$1");elem=$("[name='"+initShowIfVarEscaped+"']")}if(elem.length>0){showIfVars.push(initShowIfVar)}if(daVarLookupMulti.hasOwnProperty(initShowIfVar)){var n=daVarLookupMulti[initShowIfVar].length;for(var i=0;i0&&!$.contains(this,altElem[0])){showIfVars.push(altShowIfVar)}}}var showIfVal=$(this).data("showif-val");var saveAs=$(this).data("saveas");var showIfDiv=this;showIfVars.forEach(function(showIfVar){var showIfVarEscaped=showIfVar.replace(/(:|\.|\[|\]|,|=)/g,"\\$1");var showHideDiv=function(speed){var elem=daGetField(varName,showIfDiv);if(elem!=null&&!$(elem).parents(".da-form-group").first().is($(this).parents(".da-form-group").first())){return}var theVal;var showifParents=$(this).parents(".dashowif");if(showifParents.length!==0&&!($(showifParents[0]).data("isVisible")=="1")){theVal=""}else if($(this).attr("type")=="checkbox"){theVal=$("input[name='"+showIfVarEscaped+"']:checked").val();if(typeof theVal=="undefined"){theVal="False"}}else if($(this).attr("type")=="radio"){theVal=$("input[name='"+showIfVarEscaped+"']:checked").val();if(typeof theVal=="undefined"){theVal=""}else if(theVal!=""&&$("input[name='"+showIfVarEscaped+"']:checked").hasClass("daobject")){try{theVal=atou(theVal)}catch(e){}}}else{theVal=$(this).val();if(theVal!=""&&$(this).hasClass("daobject")){try{theVal=atou(theVal)}catch(e){}}}if(daShowIfCompare(theVal,showIfVal)){if(showIfSign){if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");var firstChild=$(showIfDiv).children()[0];if(!$(firstChild).hasClass("dacollectextra")||$(firstChild).is(":visible")){$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}}else{if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",true)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}}else{if(showIfSign){if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",true)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}else{if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");var firstChild=$(showIfDiv).children()[0];if(!$(firstChild).hasClass("dacollectextra")||$(firstChild).is(":visible")){$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}}}var leader=false;if(!daShowIfInProcess){daShowIfInProcess=true;daInputsSeen={};leader=true}$(showIfDiv).find(":input").not("[type='file']").each(function(){if(!daInputsSeen.hasOwnProperty($(this).attr("id"))){$(this).trigger("change")}daInputsSeen[$(this).attr("id")]=true});if(leader){daShowIfInProcess=false}};var showHideDivImmediate=function(){showHideDiv.apply(this,[null])};var showHideDivFast=function(){showHideDiv.apply(this,["fast"])};daTriggerQueries.push("#"+showIfVarEscaped);daTriggerQueries.push("input[type='radio'][name='"+showIfVarEscaped+"']");daTriggerQueries.push("input[type='checkbox'][name='"+showIfVarEscaped+"']");$("#"+showIfVarEscaped).change(showHideDivFast);$("#"+showIfVarEscaped).on("daManualTrigger",showHideDivImmediate);$("input[type='radio'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input[type='radio'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate);$("input.dafile[name='"+showIfVarEscaped+"']").on("filecleared",showHideDivFast)})});function daTriggerAllShowHides(){var daUniqueTriggerQueries=daTriggerQueries.filter(daOnlyUnique);var daFirstTime=true;var daTries=0;while((daFirstTime||daShowHideHappened)&&++daTries<100){daShowHideHappened=false;daFirstTime=false;var n=daUniqueTriggerQueries.length;for(var i=0;i=100){console.log("Too many contradictory 'show if' conditions")}}if(daTriggerQueries.length>0){daTriggerAllShowHides()}$(".danavlink").last().addClass("thelast");$(".danavlink").each(function(){if($(this).hasClass("btn")&&!$(this).hasClass("danotavailableyet")){var the_a=$(this);var the_delay=1e3+250*parseInt($(this).data("index"));setTimeout(function(){$(the_a).removeClass(daButtonStyle+"secondary");if($(the_a).hasClass("active")){$(the_a).addClass(daButtonStyle+"success")}else{$(the_a).addClass(daButtonStyle+"warning")}},the_delay)}});daShowIfInProcess=false;if(!daObserverMode){$("#daSend").click(daSender);if(daChatAvailable=="unavailable"){daChatStatus="off"}if(daChatAvailable=="observeonly"){daChatStatus="observeonly"}if((daChatStatus=="off"||daChatStatus=="observeonly")&&daChatAvailable=="available"){daChatStatus="waiting"}daDisplayChat();if(daBeingControlled){daShowControl("fast")}if(daChatStatus=="ready"||daBeingControlled){daInitializeSocket()}if(daInitialized==false&&daCheckinSeconds>0){setTimeout(function(){$.ajax({type:"POST",url:daCheckinUrlWithInterview,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:$.param({action:"chat_log",ajax:"1",csrf_token:daCsrf}),success:daChatLogCallback,dataType:"json"})},200)}if(daInitialized==true){$("#daCorrespondence").html("");for(var i=0;i1){$(daTargetDiv)[0].scrollIntoView()}}else{window.scrollTo(0,1)}},20)}if(daShowingSpinner&&!daWaitPage){daHideSpinner()}if(!daObserverMode){if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}if(daCheckinSeconds>0&&!daWaitPage){daInitialCheckinTimeout=setTimeout(daInitialCheckin,100);daCheckinInterval=setInterval(daCheckin,daCheckinSeconds)}daShowNotifications();if(daUsingGA){daPageview()}if(daUsingSegment){daSegmentEvent()}hideTablist()}}function daUpdateHeight(){$(".dagooglemap").each(function(){var size=$(this).width();$(this).css("height",size)})}function daConfigureJqueryFuncs(){$.validator.setDefaults({ignore:".danovalidation",highlight:function(element){$(element).closest(".da-form-group").addClass("da-group-has-error");$(element).addClass("is-invalid")},unhighlight:function(element){$(element).closest(".da-form-group").removeClass("da-group-has-error");$(element).removeClass("is-invalid")},errorElement:"span",errorClass:"da-has-error invalid-feedback",errorPlacement:function(error,element){$(error).addClass("invalid-feedback");var elementName=$(element).attr("name");var idOfErrorSpan=$(element).attr("id")+"-error";$("#"+idOfErrorSpan).remove();$(error).attr("id",idOfErrorSpan);$(element).attr("aria-invalid","true");$(element).attr("aria-errormessage",idOfErrorSpan);var lastInGroup=$.map(daValidationRules["groups"],function(thefields,thename){var fieldsArr;if(thefields.indexOf(elementName)>=0){fieldsArr=thefields.split(" ");return fieldsArr[fieldsArr.length-1]}else{return null}})[0];if(element.hasClass("dainput-embedded")){error.insertAfter(element)}else if(element.hasClass("dafile-embedded")){error.insertAfter(element)}else if(element.hasClass("daradio-embedded")){element.parent().append(error)}else if(element.hasClass("dacheckbox-embedded")){element.parent().append(error)}else if(element.hasClass("dauncheckable")&&lastInGroup){$("input[name='"+lastInGroup+"']").parent().append(error)}else if(element.parent().hasClass("combobox-container")){element.parent().append(error)}else if(element.hasClass("dafile")){var fileContainer=$(element).parents(".file-input").first();if(fileContainer.length>0){$(fileContainer).append(error)}else{error.insertAfter(element.parent())}}else if(element.parent(".input-group").length){error.insertAfter(element.parent())}else if(element.hasClass("da-active-invisible")){var choice_with_help=$(element).parents(".dachoicewithhelp").first();if(choice_with_help.length>0){$(choice_with_help).parent().append(error)}else{element.parent().append(error)}}else if(element.hasClass("danon-nota-checkbox")){element.parents("div.da-field-group").append(error)}else{error.insertAfter(element)}}});$.validator.addMethod("datetime",function(a,b){return true});$.validator.addMethod("ajaxrequired",function(value,element,params){var realElement=$("#"+$(element).attr("name")+"combobox");var realValue=$(realElement).val();if(!$(realElement).parent().is(":visible")){return true}if(realValue==null||realValue.replace(/\s/g,"")==""){return false}return true});$.validator.addMethod("checkone",function(value,element,params){var number_needed=params[0];var css_query=params[1];if($(css_query).length>=number_needed){return true}else{return false}});$.validator.addMethod("checkatleast",function(value,element,params){if($(element).attr("name")!="_ignore"+params[0]){return true}if($(".dafield"+params[0]+":checked").length>=params[1]){return true}else{return false}});$.validator.addMethod("checkatmost",function(value,element,params){if($(element).attr("name")!="_ignore"+params[0]){return true}if($(".dafield"+params[0]+":checked").length>params[1]){return false}else{return true}});$.validator.addMethod("checkexactly",function(value,element,params){if($(element).attr("name")!="_ignore"+params[0]){return true}if($(".dafield"+params[0]+":checked").length!=params[1]){return false}else{return true}});$.validator.addMethod("selectexactly",function(value,element,params){if($(element).find("option:selected").length==params[0]){return true}else{return false}});$.validator.addMethod("mindate",function(value,element,params){if(value==null||value==""){return true}try{var date=new Date(value);var comparator=new Date(params);if(date>=comparator){return true}}catch(e){}return false});$.validator.addMethod("maxdate",function(value,element,params){if(value==null||value==""){return true}try{var date=new Date(value);var comparator=new Date(params);if(date<=comparator){return true}}catch(e){}return false});$.validator.addMethod("minmaxdate",function(value,element,params){if(value==null||value==""){return true}try{var date=new Date(value);var before_comparator=new Date(params[0]);var after_comparator=new Date(params[1]);if(date>=before_comparator&&date<=after_comparator){return true}}catch(e){}return false});$.validator.addMethod("mintime",function(value,element,params){if(value==null||value==""){return true}try{var time=new Date("1970-01-01T"+value+"Z");var comparator=new Date("1970-01-01T"+params+"Z");if(time>=comparator){return true}}catch(e){}return false});$.validator.addMethod("maxtime",function(value,element,params){if(value==null||value==""){return true}try{var time=new Date("1970-01-01T"+value+"Z");var comparator=new Date("1970-01-01T"+params+"Z");if(time<=comparator){return true}}catch(e){}return false});$.validator.addMethod("minmaxtime",function(value,element,params){if(value==null||value==""){return true}try{var time=new Date("1970-01-01T"+value+"Z");var before_comparator=new Date("1970-01-01T"+params[0]+"Z");var after_comparator=new Date("1970-01-01T"+params[1]+"Z");if(time>=before_comparator&&time<=after_comparator){return true}}catch(e){}return false});$.validator.addMethod("mindatetime",function(value,element,params){if(value==null||value==""){return true}try{var datetime=new Date(value+"Z");var comparator=new Date(params+"Z");if(datetime>=comparator){return true}}catch(e){}return false});$.validator.addMethod("maxdatetime",function(value,element,params){if(value==null||value==""){return true}try{var datetime=new Date(value+"Z");var comparator=new Date(params+"Z");if(datetime<=comparator){return true}}catch(e){}return false});$.validator.addMethod("minmaxdatetime",function(value,element,params){if(value==null||value==""){return true}try{var datetime=new Date(value+"Z");var before_comparator=new Date(params[0]+"Z");var after_comparator=new Date(params[1]+"Z");if(datetime>=before_comparator&&datetime<=after_comparator){return true}}catch(e){}return false});$.validator.addMethod("maxuploadsize",function(value,element,param){try{var limit=parseInt(param)-2e3;if(limit<=0){return true}var maxImageSize;if($(element).data("maximagesize")){maxImageSize=parseInt($(element).data("maximagesize"))*parseInt($(element).data("maximagesize"))*2}else{maxImageSize=0}if($(element).attr("type")==="file"){if(element.files&&element.files.length){var totalSize=0;for(i=0;i0&&element.files[i].size>.2*maxImageSize&&element.files[i].type.match(/image.*/)&&!(element.files[i].type.indexOf("image/svg")==0)){totalSize+=maxImageSize}else{totalSize+=element.files[i].size}}if(totalSize>limit){return false}}return true}}catch(e){}return false})}var dataLayer=window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}function daPageview(){var idToUse=daQuestionID["id"];if(daQuestionID["ga"]!=undefined&&daQuestionID["ga"]!=null){idToUse=daQuestionID["ga"]}if(idToUse!=null){idToUse=idToUse.replace(/[^A-Za-z0-9]+/g,"_");if(!daGAConfigured){var opts={send_page_view:false};if(daSecureCookies){opts["cookie_flags"]="SameSite=None;Secure"}for(var i=0;i0){daReloader=setTimeout(function(){daRefreshSubmit()},daReloadAfter)}if(daUsingGA&&!daObserverMode){gtag("js",new Date)}window.onpopstate=function(event){if(event.state!=null&&event.state.steps2){window.parent.daStopControlling(data.key)}});daSocket.on("newpage",function(incoming){var data=incoming.obj;$(daTargetDiv).html(data.body);$(daTargetDiv).parent().removeClass();$(daTargetDiv).parent().addClass(data.bodyclass);daInitialize(1);for(var i=0;icontentwidth){cwidth=contentwidth}var cheight=cwidth*daAspectRatio;var otherHeights=$("#dasigheader").outerHeight(true)+$("#dasigtoppart").outerHeight(true)+$("#dasigmidpart").outerHeight(true)+$("#dasigbottompart").outerHeight(true);if(cheight>$(window).height()-otherHeights){cheight=$(window).height()-otherHeights}if(cheight>275||cheight<30){cheight=275}$("#dasigcontent").height(cheight);var canvas='';$("#dasigcontent").html(canvas);daTheWidth=daThicknessScalingFactor*cwidth/100;if(daTheWidth<1){daTheWidth=1}daSignaturePad=new SignaturePad(document.querySelector("#dasigcanvas"));if(defaultImage!=null){daSignaturePad.fromDataURL(defaultImage,{ratio:1,width:cwidth,height:cheight,xOffset:0,yOffset:0})}daSignaturePad.minWidth=.5*daThicknessScalingFactor;daSignaturePad.maxWidth=2.5*daThicknessScalingFactor;daSignaturePad.penColor=daColor;setTimeout(function(){if(daJsEmbed){$(daTargetDiv)[0].scrollTo(0,1);if(daSteps>1){$(daTargetDiv)[0].scrollIntoView()}}else{window.scrollTo(0,1)}},10)}function daPost(params){for(var key in params){if(params.hasOwnProperty(key)){var hiddenField=document.getElementById(key);if(hiddenField!=null){hiddenField.setAttribute("value",params[key])}else{console.log("Key does not exist: "+key);return}}}$("#dasigform").submit();return}function isCanvasSupported(){var elem=document.createElement("canvas");return!!(elem.getContext&&elem.getContext("2d"))}var daAutocomplete=Object();function daWaitForGoogle(waitForPlaces){return new Promise(resolve=>{let attempts=0;const maxAttempts=50;const interval=setInterval(()=>{var found=false;try{if(google.maps===undefined){throw new Error("google maps not defined")}if(waitForPlaces){if(google.maps.places===undefined){throw new Error("places not defined")}}found=true}catch(e){}if(found||attempts>=maxAttempts){clearInterval(interval);resolve(found)}attempts++},100)})}function daInitAutocomplete(info){daAutocomplete=Object();for(var i=0;i1){maps[i].map.fitBounds(bounds)}}}function daAddMap(map_num,center_lat,center_lon){var map=new google.maps.Map(document.getElementById("map"+map_num),{zoom:11,center:new google.maps.LatLng(center_lat,center_lon),mapTypeId:google.maps.MapTypeId.ROADMAP,mapId:"map"+map_num+"element"});var infowindow=new google.maps.InfoWindow;return{map:map,infowindow:infowindow}}async function daAddMarker(map,marker_info,show_marker){const{AdvancedMarkerElement,PinElement}=await google.maps.importLibrary("marker");var marker;var content;if(marker_info.icon){content=new PinElement(marker_info.icon)}else{content=new PinElement}marker=new AdvancedMarkerElement({position:{lat:marker_info.latitude,lng:marker_info.longitude},map:map.map,content:content.element});if(marker_info.info){google.maps.event.addListener(marker,"click",function(marker,info){return function(){map.infowindow.setContent(info);map.infowindow.open(map.map,marker)}}(marker,marker_info.info))}if(show_marker){map.infowindow.setContent(marker_info.info);map.infowindow.open(map.map,marker)}return marker}function daFillInAddress(origId,place){var id;if(daVarLookupRev[origId]){id=daVarLookupRev[origId]}else{id=origId}var baseVarname=atob(id).replace(/.[a-zA-Z0-9_]+$/,"");baseVarname=baseVarname.replace(/[\[\]]/g,".");var re=new RegExp("^"+baseVarname+".(.*)");var componentTrans={administrative_area_level_1:["state","shortText"],administrative_area_level_2:["county","longText"]};var alternatives=[["city",["locality","sublocality_level_1","neighborhood","administrative_area_level_3","colloquial_area"]],["sublocality",["sublocality_level_1","sublocality_level_2","sublocality_level_3","sublocality_level_4","sublocality_level_5"]]];var fieldsToClear=["address","administrative_area_level_1","administrative_area_level_2","administrative_area_level_3","administrative_area_level_4","administrative_area_level_5","administrative_area_level_6","administrative_area_level_7","adr_format_address","airport","bus_station","business_status","city","colloquial_area","compound_code","country","county","directions_uri","display_name","display_name_language_code","establishment","floor","formatted_address","global_code","has_wheelchair_accessible_entrance","has_wheelchair_accessible_parking","has_wheelchair_accessible_restroom","has_wheelchair_accessible_seating","id","international_phone_number","intersection","landmark","latitude","locality","location","longitude","national_phone_number","natural_feature","neighborhood","park","parking","photos_uri","place_uri ","plus_code","point_of_interest","political","post_box","postal_code","postal_town","premise","price_level","primary_type","primary_type_display_name","primary_type_display_name_language_code","rating","reviews_uri","room","route","state","street_number","sublocality","subpremise","train_station","transit_station","types","utc_offset_minutes","write_a_review_uri","zip"];var idForPart={};$("input, select").each(function(){var the_id=$(this).attr("id");if(typeof the_id!==typeof undefined&&the_id!==false){try{var field_name=atob($(this).attr("id"));if(field_name.indexOf("_field_")==0){field_name=atob(daVarLookupRev[$(this).attr("id")])}var m=re.exec(field_name);if(m.length>0){idForPart[m[1]]=$(this).attr("id")}}catch(e){}}});for(var component in fieldsToClear){if(typeof idForPart[component]!="undefined"&&document.getElementById(idForPart[component])!=null){document.getElementById(idForPart[component]).value=""}}var savedValues={};var toChange=[];for(var i=0;i{var pythonSubVar=camelToUnderscore(jsSubVar);if(value!=null&&typeof idForPart[pythonSubVar]!="undefined"&&document.getElementById(idForPart[pythonSubVar])!=null){document.getElementById(idForPart[pythonSubVar]).value=jsonIfObject(value);toChange.push("#"+idForPart[pythonSubVar])}})}else if(place[jsVar]&&typeof idForPart[pythonVar]!="undefined"&&document.getElementById(idForPart[pythonVar])!=null){document.getElementById(idForPart[pythonVar]).value=jsonIfObject(place[jsVar]);toChange.push("#"+idForPart[pythonVar])}}for(var i=0;i0){id_for_part[m[1]]=$(this).attr("id")}}catch(e){}}});place=daAutocomplete[origId].getPlace();if(typeof id_for_part["address"]!="undefined"&&document.getElementById(id_for_part["address"])!=null){document.getElementById(id_for_part["address"]).value=""}for(var component in fields_to_fill){if(typeof id_for_part[component]!="undefined"&&document.getElementById(id_for_part[component])!=null){document.getElementById(id_for_part[component]).value=""}}var street_number;var route;var savedValues={};var toChange=[];for(var i=0;i1&&window!=top){top.location.href=location.href}}Object.defineProperty(String.prototype,"daSprintf",{value:function(){var args=Array.from(arguments),i=0;function defaultNumber(iValue){return iValue!=undefined&&!isNaN(iValue)?iValue:"0"}function defaultString(iValue){return iValue==undefined?"":""+iValue}return this.replace(/%%|%([+\-])?([^1-9])?(\d+)?(\.\d+)?([deEfhHioQqs])/g,function(match,sign,filler,scale,precision,type){var strOut,space,value;var asNumber=false;if(match=="%%")return"%";if(i>=args.length)return match;value=args[i];while(Array.isArray(value)){args.splice(i,1);for(var j=i;value.length>0;j++)args.splice(j,0,value.shift());value=args[i]}i++;if(filler==undefined)filler=" ";if(scale==undefined&&!isNaN(filler)){scale=filler;filler=" "}if(sign==undefined)sign="sqQ".indexOf(type)>=0?"+":"-";if(scale==undefined)scale=0;if(precision==undefined)precision=".0";scale=parseInt(scale);precision=parseInt(precision.substr(1));switch(type){case"d":case"i":asNumber=true;strOut=parseInt(defaultNumber(value));if(precision>0)strOut+="."+"0".repeat(precision);break;case"e":case"E":asNumber=true;strOut=parseFloat(defaultNumber(value));if(precision==0)strOut=strOut.toExponential();else strOut=strOut.toExponential(precision);if(type=="E")strOut=strOut.replace("e","E");break;case"f":asNumber=true;strOut=parseFloat(defaultNumber(value));if(precision!=0)strOut=strOut.toFixed(precision);break;case"o":case"h":case"H":strOut="\\"+(type=="o"?"0":type)+parseInt(defaultNumber(value)).toString(type=="o"?8:16);break;case"q":strOut="'"+defaultString(value)+"'";break;case"Q":strOut='"'+defaultString(value)+'"';break;default:strOut=defaultString(value);break}if(typeof strOut!="string")strOut=""+strOut;if((space=strOut.length)0){for(var i=0;i0){var showifParents=$(possibleElements[i]).parents(".dajsshowif,.dashowif");if(showifParents.length==0||$(showifParents[0]).data("isVisible")=="1"){if(notInDiv&&$.contains(notInDiv,possibleElements[i])){continue}returnVal=possibleElements[i]}}}if($(returnVal).hasClass("da-to-labelauty")&&$(returnVal).parents("div.da-field-group").length>0){var fieldSet=$(returnVal).parents("div.da-field-group")[0];if(!$(fieldSet).hasClass("da-field-checkbox")&&!$(fieldSet).hasClass("da-field-checkboxes")){return fieldSet}}return returnVal}var daGetField=getField;function setChoices(fieldName,choices){var elem=daGetField(fieldName);if(elem==null){console.log("setChoices: reference to non-existent field "+fieldName);return}var isCombobox=$(elem).attr("type")=="hidden"&&$(elem).parents(".combobox-container").length>0;if(isCombobox){var comboInput=$(elem).parents(".combobox-container").first().find("input.combobox").first();var comboObject=daComboBoxes[$(comboInput).attr("id")];var oldComboVal=comboObject.$target.val();elem=comboObject.$source}if($(elem).prop("tagName")!="SELECT"){console.log("setField: field "+fieldName+" is not a dropdown field");return}var oldVal=$(elem).val();$(elem).find("option[value!='']").each(function(){$(this).remove()});var n=choices.length;for(var i=0;i");opt.val(choices[i][0]);opt.text(choices[i][1]);if(oldVal==choices[i][0]){opt.attr("selected","selected")}$(elem).append(opt)}if(isCombobox){comboObject.refresh();comboObject.clearTarget();if(oldComboVal!=""){daSetField(fieldName,oldComboVal)}}}var daSetChoices=setChoices;function setField(fieldName,theValue){var elem=daGetField(fieldName);if(elem==null){console.log("setField: reference to non-existent field "+fieldName);return}if($(elem).prop("tagName")=="DIV"&&$(elem).hasClass("da-field-group")&&$(elem).hasClass("da-field-radio")){elem=$(elem).find("input")[0]}if($(elem).attr("type")=="checkbox"){if(theValue){if($(elem).prop("checked")!=true){$(elem).click()}}else{if($(elem).prop("checked")!=false){$(elem).click()}}}else if($(elem).attr("type")=="radio"){var fieldNameEscaped=$(elem).attr("name").replace(/(:|\.|\[|\]|,|=)/g,"\\$1");var wasSet=false;if(theValue===true){theValue="True"}if(theValue===false){theValue="False"}$("input[name='"+fieldNameEscaped+"']").each(function(){if($(this).val()==theValue){if($(this).prop("checked")!=true){$(this).prop("checked",true);$(this).trigger("change")}wasSet=true;return false}});if(!wasSet){console.log("setField: could not set radio button "+fieldName+" to "+theValue)}}else if($(elem).attr("type")=="hidden"){if($(elem).val()!=theValue){if($(elem).parents(".combobox-container").length>0){var comboInput=$(elem).parents(".combobox-container").first().find("input.combobox").first();daComboBoxes[$(comboInput).attr("id")].manualSelect(theValue)}else{$(elem).val(theValue);$(elem).trigger("change")}}}else if($(elem).prop("tagName")=="DIV"&&$(elem).hasClass("da-field-group")&&$(elem).hasClass("da-field-checkboxes")){if(!Array.isArray(theValue)){throw new Error("setField: value must be an array")}var n=theValue.length;$(elem).find("input").each(function(){if($(this).hasClass("danota-checkbox")){$(this).prop("checked",n==0);$(this).trigger("change");return}if($(this).hasClass("daaota-checkbox")){$(this).prop("checked",false);$(this).trigger("change");return}if($(this).attr("name").substr(0,7)==="_ignore"){return}var theVal=atou($(this).data("cbvalue"));if($(elem).hasClass("daobject")){theVal=atou(theVal)}var oldVal=$(this).prop("checked")==true;var newVal=false;for(var i=0;i0){if(daJsEmbed){scrollTarget=$(validator.errorList[0].element).parents(".da-form-group").first().position().top-60}else{scrollTarget=$(validator.errorList[0].element).parents(".da-form-group").first().offset().top-60}}if(scrollTarget!=null){if(daJsEmbed){$(daTargetDiv).animate({scrollTop:scrollTarget},1e3)}else{$("html, body").animate({scrollTop:scrollTarget},1e3)}}}var daValidator;var daValidationRules={};function daValidationHandler(form){if(daObserverMode){return}var visibleElements=[];var seen=Object();$(form).find("input, select, textarea").filter(":not(:disabled)").each(function(){if($(this).attr("name")&&$(this).attr("type")!="hidden"&&($(this).hasClass("da-active-invisible")&&$(this).parent().is(":visible")||$(this).is(":visible"))){var theName=$(this).attr("name");if(!seen.hasOwnProperty(theName)){visibleElements.push(theName);seen[theName]=1}}});$(form).find("input[name='_visible']").val(utoa(JSON_stringify(visibleElements)));$(form).each(function(){$(this).find(":input").off("change",daOnChange)});$("meta[name=viewport]").attr("content","width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0");if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}daDisable=setTimeout(function(){$(form).find('input[type="submit"]').prop("disabled",true);$(form).find('button[type="submit"]').prop("disabled",true)},1);if(daWhichButton!=null){$(".da-field-buttons .btn-da").each(function(){if(this!=daWhichButton){$(this).removeClass(daAllButtonClasses);$(this).addClass(daButtonStyle+"light")}});if($(daWhichButton).hasClass(daButtonStyle+"success")){$(daWhichButton).removeClass(daButtonStyle+"success");$(daWhichButton).addClass(daButtonStyle+"primary")}else{$(daWhichButton).removeClass(daButtonStyle+"primary "+daButtonStyle+"info "+daButtonStyle+"warning "+daButtonStyle+"danger "+daButtonStyle+"success "+daButtonStyle+"light");$(daWhichButton).addClass(daButtonStyle+"secondary")}}var tableOrder={};var tableOrderChanges={};$("a.datableup").each(function(){var tableName=$(this).data("tablename");if(!tableOrder.hasOwnProperty(tableName)){tableOrder[tableName]=[]}tableOrder[tableName].push(parseInt($(this).data("tableitem")))});var tableChanged=false;for(var tableName in tableOrder){if(tableOrder.hasOwnProperty(tableName)){var n=tableOrder[tableName].length;for(var i=0;i").attr({type:"hidden",name:"_order_changes",value:JSON.stringify(tableOrderChanges)}).appendTo($(form))}var collectToDelete=[];$(".dacollectunremove:visible").each(function(){collectToDelete.push(parseInt($(this).parent().parent().data("collectnum")))});var lastOk=parseInt($(".dacollectremove:visible, .dacollectremoveexisting:visible").last().parent().parent().data("collectnum"));$(".dacollectremove, .dacollectremoveexisting").each(function(){if(parseInt($(this).parent().parent().data("collectnum"))>lastOk){collectToDelete.push(parseInt($(this).parent().parent().data("collectnum")))}});if(collectToDelete.length>0){$("").attr({type:"hidden",name:"_collect_delete",value:JSON.stringify(collectToDelete)}).appendTo($(form))}$("select.damultiselect:not(:disabled)").each(function(){var showifParents=$(this).parents(".dajsshowif,.dashowif");if(showifParents.length==0||$(showifParents[0]).data("isVisible")=="1"){$(this).find("option").each(function(){$("").attr({type:"hidden",name:$(this).val(),value:$(this).prop("selected")?"True":"False"}).appendTo($(form))})}$(this).prop("disabled",true)});daWhichButton=null;if(daSubmitter!=null&&daSubmitter.name&&$('input[name="'+daSubmitter.name+'"]').length==0){$("").attr({type:"hidden",name:daSubmitter.name,value:daSubmitter.value}).appendTo($(form))}if(daInformedChanged){$("").attr({type:"hidden",name:"informed",value:Object.keys(daInformed).join(",")}).appendTo($(form))}$("").attr({type:"hidden",name:"ajax",value:"1"}).appendTo($(form));daSpinnerTimeout=setTimeout(daShowSpinner,1e3);var do_iframe_upload=false;inline_succeeded=false;if($('input[name="_files"]').length>0){var filesToRead=0;var filesRead=0;var newFileList=Array();var nullFileList=Array();var fileArray={keys:Array(),values:Object()};var file_list=JSON.parse(atou($('input[name="_files"]').val()));var inline_file_list=Array();var namesWithImages=Object();for(var i=0;i0){for(var j=0;j0){newFileList.push(file_list[i])}else{nullFileList.push(file_list[i])}namesWithImages[file_list[i]]=hasImages}if(inline_file_list.length>0){var originalFileList=atou($('input[name="_files"]').val());if(newFileList.length==0&&nullFileList.length==0){$('input[name="_files"]').remove()}else{$('input[name="_files"]').val(utoa(JSON_stringify(newFileList.concat(nullFileList))))}for(var i=0;iheight){if(width>max_size){height*=max_size/width;width=max_size}}else{if(height>max_size){width*=max_size/height;height=max_size}}canvas.width=width;canvas.height=height;canvas.getContext("2d").drawImage(image,0,0,width,height);thisFileInfo["content"]=canvas.toDataURL(convertedType);filesRead++;if(filesRead>=filesToRead){daResumeUploadSubmission(form,fileArray,inline_file_list,newFileList,daSubmitter)}};image.src=reader.result}else{thisFileInfo["content"]=reader.result;filesRead++;if(filesRead>=filesToRead){daResumeUploadSubmission(form,fileArray,inline_file_list,newFileList,daSubmitter)}}};reader.readAsDataURL(the_file)};tempFunc(a_file,max_size,this_has_images);inline_succeeded=true}}}if(newFileList.length==0){}else{do_iframe_upload=true}}if(inline_succeeded){return false}if(do_iframe_upload){$("#dauploadiframe").remove();var iframe=$('');$(daTargetDiv).append(iframe);$(form).attr("target","dauploadiframe");iframe.bind("load",function(){setTimeout(function(){try{daProcessAjax($.parseJSON(daUnfakeHtmlResponse($("#dauploadiframe").contents().text())),form,1)}catch(e){try{daProcessAjax($.parseJSON($("#dauploadiframe").contents().text()),form,1)}catch(f){daShowErrorScreen(document.getElementById("dauploadiframe").contentWindow.document.body.innerHTML,f)}}},0)});form.submit()}else{daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$(form).serialize(),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,form,1)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)}})}return false}function daSetupValidation(rules,messages){daValidationRules=rules;daValidationRules.submitHandler=daValidationHandler;daValidationRules.invalidHandler=daInvalidHandler;daValidationRules.onfocusout=daInjectTrim($.validator.defaults.onfocusout);if($("#daform").length>0){daValidator=$("#daform").validate(daValidationRules);if(Object.keys(messages).length>0){daValidator.showErrors(messages)}}}function daRecordLocation(){if(document.getElementById("da_track_location")==null){return}if(navigator.geolocation){document.getElementById("da_track_location").value=JSON.stringify({error:"getCurrentPosition was still running"});navigator.geolocation.getCurrentPosition(daSetPosition,daShowError,{timeout:1e3,maximumAge:36e5})}else{document.getElementById("da_track_location").value=JSON.stringify({error:"navigator.geolocation not available in browser"})}}function daSignatureSubmit(event){$(this).find("input[name='ajax']").val(1);daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$(this).serialize(),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,$(this),1)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)}});event.preventDefault();event.stopPropagation();return false}function JSON_stringify(s){var json=JSON.stringify(s);return json.replace(/[\u007f-\uffff]/g,function(c){return"\\u"+("0000"+c.charCodeAt(0).toString(16)).slice(-4)})}function daResumeUploadSubmission(form,fileArray,inline_file_list,newFileList,daSubmitter){if(daSubmitter!=null&&daSubmitter.name&&$(form).find('input[name="'+daSubmitter.name+'"]').length==0){$("").attr({type:"hidden",name:daSubmitter.name,value:daSubmitter.value}).appendTo($(form))}$("").attr({type:"hidden",name:"_files_inline",value:utoa(JSON_stringify(fileArray))}).appendTo($(form));for(var i=0;i0){$("#dauploadiframe").remove();var iframe=$('');$(daTargetDiv).append(iframe);$(form).attr("target","dauploadiframe");iframe.bind("load",function(){setTimeout(function(){daProcessAjax($.parseJSON($("#dauploadiframe").contents().text()),form,1)},0)});form.submit()}else{daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$(form).serialize(),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,form,1)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)}})}}function daOnChange(){if(daObserverMode){return}if(daCheckinSeconds==0||daShowIfInProcess){return true}if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}var oThis=this;daCheckin(oThis);daCheckinInterval=setInterval(daCheckin,daCheckinSeconds);return true}function daPushChanges(){if(daObserverMode){if(daObserverChangesInterval!=null){clearInterval(daObserverChangesInterval)}if(!daSendChanges||!daConnected){return}daObserverChangesInterval=setInterval(daPushChanges,daCheckinSeconds);daSocket.emit("observerChanges",{uid:daUid,i:daYamlFilename,userid:daUserObserved,parameters:JSON.stringify($("#daform").serializeArray())});return}if(daCheckinSeconds==0||daShowIfInProcess){return true}if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}daCheckin(null);daCheckinInterval=setInterval(daCheckin,daCheckinSeconds);return true}function daProcessAjaxError(xhr,status,error){daRequestPending=false;if(xhr.responseType==undefined||xhr.responseType==""||xhr.responseType=="text"){var theHtml=xhr.responseText;if(theHtml==undefined){$(daTargetDiv).html("error")}else{var newDiv=document.createElement("div");$(newDiv).html(theHtml);var daDivs=$(newDiv).children("div");if(daDivs.length>0){$(daTargetDiv).empty();for(var i=0;i0){for(var i=0;i0){for(var i=0;ihistory.state.steps){history.pushState({steps:daSteps},data.browser_title+" - page "+daSteps,daLocationBar+daPageSep+daSteps)}else{history.replaceState({steps:daSteps},"",daLocationBar+daPageSep+daSteps)}}daAllowGoingBack=data.allow_going_back;daQuestionID=data.id_dict;daMessageLog=data.message_log;daInitialize(doScroll);for(var i=0;i0){daReloader=setTimeout(function(){daRefreshSubmit()},data.reload_after)}daUpdateHeight()}else if(data.action=="redirect"){if(daSpinnerTimeout!=null){clearTimeout(daSpinnerTimeout);daSpinnerTimeout=null}if(daShowingSpinner){daHideSpinner()}window.location=data.url}else if(data.action=="refresh"){daRefreshSubmit()}else if(data.action=="reload"){location.reload(true)}else if(data.action=="resubmit"){if(form==null){window.location=actionURL}$("input[name='ajax']").remove();if(daSubmitter!=null&&daSubmitter.name&&$('input[name="'+daSubmitter.name+'"]').length==0){var input=$("").attr("type","hidden").attr("name",daSubmitter.name).val(daSubmitter.value);$(form).append($(input))}form.submit()}else if(data.action=="wait"){if(daSpinnerTimeout==null&&!daShowingSpinner){daShowSpinner()}setTimeout(daRefreshSubmit,(data.sleep||4)*1e3)}}function daEmbeddedJs(e){var data=decodeURIComponent($(this).data("js"));daGlobalEval(data);e.preventDefault();return false}function daEmbeddedAction(e){if(daRequestPending){e.preventDefault();$(this).blur();return false}if($(this).hasClass("daremovebutton")){if(confirm(daAreYouSure)){return true}e.preventDefault();$(this).blur();return false}var actionData=decodeURIComponent($(this).data("embaction"));var theURL=$(this).attr("href");daRequestPending=true;$.ajax({type:"POST",url:daInterviewUrl,data:$.param({_action:actionData,csrf_token:daCsrf,ajax:1}),beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},success:function(data){setTimeout(function(){daProcessAjax(data,null,1,theURL)},0)},error:function(xhr,status,error){setTimeout(function(){daProcessAjaxError(xhr,status,error)},0)},dataType:"json"});daSpinnerTimeout=setTimeout(daShowSpinner,1e3);e.preventDefault();return false}function daReviewAction(e){if(daRequestPending){e.preventDefault();$(this).blur();return false}var info=$.parseJSON(atou($(this).data("action")));da_action_perform(info["action"],info["arguments"]);e.preventDefault();return false}function daRingChat(){daChatStatus="ringing";daPushChanges()}function daTurnOnChat(){$("#daChatOnButton").addClass("dainvisible");$("#daChatBox").removeClass("dainvisible");$("#daCorrespondence").html("");for(var i=0;i0){$("#daChatBox").removeClass("dainvisible")}}else{$("#daChatBox").removeClass("dainvisible")}}if(daChatStatus=="waiting"){if(daChatHistory.length>0){$("#daChatAvailable a i").removeClass("da-chat-active");$("#daChatAvailable a i").addClass("da-chat-inactive");$("#daChatAvailable").removeClass("dainvisible")}else{$("#daChatAvailable a i").removeClass("da-chat-active");$("#daChatAvailable a i").removeClass("da-chat-inactive");$("#daChatAvailable").addClass("dainvisible")}$("#daChatOnButton").addClass("dainvisible");$("#daChatOffButton").addClass("dainvisible");$("#daMessage").prop("disabled",true);$("#daSend").prop("disabled",true)}if(daChatStatus=="standby"||daChatStatus=="ready"){$("#daChatAvailable").removeClass("dainvisible");$("#daChatAvailable a i").removeClass("da-chat-inactive");$("#daChatAvailable a i").addClass("da-chat-active");$("#daChatOnButton").removeClass("dainvisible");$("#daChatOffButton").addClass("dainvisible");$("#daMessage").prop("disabled",true);$("#daSend").prop("disabled",true);daInformAbout("chat")}if(daChatStatus=="on"){$("#daChatAvailable").removeClass("dainvisible");$("#daChatAvailable a i").removeClass("da-chat-inactive");$("#daChatAvailable a i").addClass("da-chat-active");$("#daChatOnButton").addClass("dainvisible");$("#daChatOffButton").removeClass("dainvisible");$("#daMessage").prop("disabled",false);if(daShowingHelp){$("#daMessage").focus()}$("#daSend").prop("disabled",false);daInformAbout("chat")}hideTablist()}function daChatLogCallback(data){if(data.action&&data.action=="reload"){location.reload(true)}if(data.success){$("#daCorrespondence").html("");daChatHistory=[];var messages=data.messages;for(var i=0;i0){for(var i=0;i'+data.num_peers+" "+daOtherUser+"")}else{$("#dapeerMessage").html(''+data.num_peers+" "+daOtherUsers+"")}$("#dapeerMessage").removeClass("dainvisible")}else{$("#dapeerMessage").addClass("dainvisible")}if(daChatMode=="peerhelp"||daChatMode=="help"){if(data.help_available==1){$("#dapeerHelpMessage").html(''+data.help_available+" "+daOperator+"")}else{$("#dapeerHelpMessage").html(''+data.help_available+" "+daOperators+"")}$("#dapeerHelpMessage").removeClass("dainvisible")}else{$("#dapeerHelpMessage").addClass("dainvisible")}if(daBeingControlled){if(!data.observerControl){daBeingControlled=false;daHideControl();if(daChatStatus!="on"){if(daSocket!=null&&daSocket.connected){daSocket.emit("terminate")}}}}else{if(data.observerControl){daBeingControlled=true;daInitializeSocket()}}}hideTablist()}function daCheckoutCallback(data){}function daInitialCheckin(){daCheckin("initial")}function daCheckin(elem){var elem=typeof elem==="undefined"?null:elem;daCheckingIn+=1;if(elem===null&&daCheckingIn>1){return}var datastring;if(daChatStatus!="off"&&$("#daform").length>0&&!daBeingControlled){if(daDoAction!=null){datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,parameters:daFormAsJSON(elem),raw_parameters:JSON.stringify($("#daform").serializeArray()),do_action:daDoAction,ajax:"1"})}else{datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,parameters:daFormAsJSON(elem),raw_parameters:JSON.stringify($("#daform").serializeArray()),ajax:"1"})}}else{if(daDoAction!=null){datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,do_action:daDoAction,parameters:daFormAsJSON(elem),ajax:"1"})}else{datastring=$.param({action:"checkin",chatstatus:daChatStatus,chatmode:daChatMode,csrf_token:daCsrf,checkinCode:daCheckinCode,ajax:"1"})}}$.ajax({type:"POST",url:daCheckinUrl,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:datastring,success:daCheckinCallback,dataType:"json"});return true}function daCheckout(){$.ajax({type:"POST",url:daCheckoutUrl,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:"csrf_token="+daCsrf+"&ajax=1&action=checkout",success:daCheckoutCallback,dataType:"json"});return true}function daStopCheckingIn(){daCheckout();if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}}function daShowSpinner(){if($("#daquestion").length>0){$('
').appendTo(daTargetDiv)}else{var newSpan=document.createElement("span");var newI=document.createElement("i");$(newI).addClass("fa-solid fa-spinner fa-spin");$(newI).appendTo(newSpan);$(newSpan).attr("id","daSpinner");$(newSpan).addClass("da-sig-spinner da-top-for-navbar");$(newSpan).appendTo("#dasigtoppart")}daShowingSpinner=true}function daHideSpinner(){$("#daSpinner").remove();daShowingSpinner=false;daSpinnerTimeout=null}function daObserverSubmitter(event){if(!daSendChanges||!daConnected){event.preventDefault();return false}var theAction=null;if($(this).hasClass("da-review-action")){theAction=$(this).data("action")}var embeddedJs=$(this).data("js");var embeddedAction=$(this).data("embaction");var linkNum=$(this).data("linknum");var theId=$(this).attr("id");if(theId=="dapagetitle"){theId="daquestionlabel"}var theName=$(this).attr("name");var theValue=$(this).val();var skey;if(linkNum){skey='a[data-linknum="'+linkNum+'"]'}else if(embeddedAction){skey='a[data-embaction="'+embeddedAction.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")+'"]'}else if(theAction){skey='a[data-action="'+theAction.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")+'"]'}else if(theId){skey="#"+theId.replace(/(:|\.|\[|\]|,|=|\/|\")/g,"\\$1")}else if(theName){skey="#"+$(this).parents("form").attr("id")+" "+$(this).prop("tagName").toLowerCase()+'[name="'+theName.replace(/(:|\.|\[|\]|,|=|\/)/g,"\\$1")+'"]';if(typeof theValue!=="undefined"){skey+='[value="'+theValue+'"]'}}else{skey="#"+$(this).parents("form").attr("id")+" "+$(this).prop("tagName").toLowerCase()+'[type="submit"]'}if(daObserverChangesInterval!=null&&embeddedJs==null&&theId!="dabackToQuestion"&&theId!="dahelptoggle"&&theId!="daquestionlabel"){clearInterval(daObserverChangesInterval)}daSocket.emit("observerChanges",{uid:daUid,i:daYamlFilename,userid:daUserObserved,clicked:skey,parameters:JSON.stringify($("#daform").serializeArray())});if(embeddedJs!=null){daGlobalEval(decodeURIComponent(embeddedJs))}if(theId!="dabackToQuestion"&&theId!="dahelptoggle"&&theId!="daquestionlabel"){event.preventDefault();return false}}function daAdjustInputWidth(e){var contents=$(this).val();var leftBracket=new RegExp("<","g");var rightBracket=new RegExp(">","g");contents=contents.replace(/&/g,"&").replace(leftBracket,"<").replace(rightBracket,">").replace(/ /g," ");$('').html(contents).appendTo("#daquestion");$("#dawidth").css("min-width",$(this).css("min-width"));$("#dawidth").css("background-color",$(daTargetDiv).css("background-color"));$("#dawidth").css("color",$(daTargetDiv).css("background-color"));$(this).width($("#dawidth").width()+16);setTimeout(function(){$("#dawidth").remove()},0)}function daShowNotifications(){var n=daMessageLog.length;for(var i=0;ifirstNum){if($('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]:visible').length>0){if(!$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').find(".dacollectadd").hasClass("dainvisible")&&$('div.dacollectextraheader[data-collectnum="'+n+'"]').find(".dacollectremove").hasClass("dainvisible")){$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').hide()}}}var n=parseInt(finalNum);var seenAddAnother=false;while(n-- >firstNum){if($('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]:visible').length>0){if(!$('div.dacollectextraheader[data-collectnum="'+(n+1)+'"]').find(".dacollectadd").hasClass("dainvisible")){seenAddAnother=true}var current=$('div.dacollectextraheader[data-collectnum="'+n+'"]');if(seenAddAnother&&!$(current).find(".dacollectadd").hasClass("dainvisible")){$(current).find(".dacollectadd").addClass("dainvisible");$(current).find(".dacollectunremove").removeClass("dainvisible")}}}}function daFetchAjax(elem,cb,doShow){var wordStart=$(elem).val();if(wordStart.length");emptyItem.val("");emptyItem.text("");cb.$source.append(emptyItem);var notYetSelected=true;var selectedValue=null;if(Array.isArray(data)){for(var i=0;i=2){var item=$("
');$('').appendTo(toggler);$(''+daToggleWord+"").appendTo(toggler)}else{toggler=$('');$('').appendTo(toggler);$(''+daToggleWord+"").appendTo(toggler)}toggler.appendTo(prev);toggler.on("click",function(e){var oThis=this;$(this).find("svg").each(function(){if($(this).attr("data-icon")=="caret-down"){$(this).removeClass("fa-caret-down");$(this).addClass("fa-caret-right");$(this).attr("data-icon","caret-right");$(box).hide();$(oThis).attr("aria-pressed","false");$(box).toggleClass("danotshowing")}else if($(this).attr("data-icon")=="caret-right"){$(this).removeClass("fa-caret-right");$(this).addClass("fa-caret-down");$(this).attr("data-icon","caret-down");$(box).show();$(oThis).attr("aria-pressed","true");$(box).toggleClass("danotshowing")}});e.stopPropagation();e.preventDefault();return false})}});$("body").focus();if(!daJsEmbed&&!isAndroid){setTimeout(function(){var firstInput=$("#daform .da-field-container").not(".da-field-container-note").first().find("input, textarea, select").filter(":visible").first();if(firstInput.length>0&&$(firstInput).visible()){$(firstInput).focus();var inputType=$(firstInput).attr("type");if($(firstInput).prop("tagName")!="SELECT"&&inputType!="checkbox"&&inputType!="radio"&&inputType!="hidden"&&inputType!="submit"&&inputType!="file"&&inputType!="range"&&inputType!="number"&&inputType!="date"&&inputType!="time"){var strLength=$(firstInput).val().length*2;if(strLength>0){try{$(firstInput)[0].setSelectionRange(strLength,strLength)}catch(err){console.log(err.message)}}}}else{var questionTitle=$("#daMainQuestion, #dasigtitle").filter(":visible").first();if(questionTitle.length>0&&$(questionTitle).visible()){$(questionTitle).attr("tabindex","-1").focus()}else{var firstButton=$("#danavbar-collapse .nav-link").filter(":visible").first();if(firstButton.length>0&&$(firstButton).visible()){$(firstButton).focus()}}}},15)}}$("input.dauncheckspecificothers").on("change",function(){if($(this).is(":checked")){var theIds=$.parseJSON(atou($(this).data("unchecklist")));var n=theIds.length;for(var i=0;i0){showIfVars.push(initShowIfVar)}if(daVarLookupMulti.hasOwnProperty(initShowIfVar)){for(var j=0;j0&&!$.contains(this,altElem[0])){showIfVars.push(altShowIfVar)}}}if(showIfVars.length==0){console.log("ERROR: reference to non-existent field "+infoItem)}showIfVars.forEach(function(showIfVar){var showIfVarEscaped=showIfVar.replace(/(:|\.|\[|\]|,|=)/g,"\\$1");var varToUse=infoItem;var showHideDiv=function(speed){var elem=daGetField(varToUse);if(elem!=null&&!$(elem).parents(".da-form-group").first().is($(this).parents(".da-form-group").first())){return}var resultt=eval(jsExpression);if(resultt){if(showIfSign){if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}else{if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}}else{if(showIfSign){if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",true)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}else{if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}}var leader=false;if(!daShowIfInProcess){daShowIfInProcess=true;daInputsSeen={};leader=true}$(showIfDiv).find(":input").not("[type='file']").each(function(){if(!daInputsSeen.hasOwnProperty($(this).attr("id"))){$(this).trigger("change")}daInputsSeen[$(this).attr("id")]=true});if(leader){daShowIfInProcess=false}};var showHideDivImmediate=function(){showHideDiv.apply(this,[null])};var showHideDivFast=function(){showHideDiv.apply(this,["fast"])};daTriggerQueries.push("#"+showIfVarEscaped);daTriggerQueries.push("input[type='radio'][name='"+showIfVarEscaped+"']");daTriggerQueries.push("input[type='checkbox'][name='"+showIfVarEscaped+"']");$("#"+showIfVarEscaped).change(showHideDivFast);$("input[type='radio'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input.dafile[name='"+showIfVarEscaped+"']").on("filecleared",showHideDivFast);$("#"+showIfVarEscaped).on("daManualTrigger",showHideDivImmediate);$("input[type='radio'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate)})})});$(".dashowif").each(function(){var showIfVars=[];var showIfSign=$(this).data("showif-sign");var showIfMode=parseInt($(this).data("showif-mode"));var initShowIfVar=$(this).data("showif-var");var varName=atou(initShowIfVar);var elem=[];if(varName.endsWith("[nota]")||varName.endsWith("[aota]")){var signifier=varName.endsWith("[nota]")?"nota":"aota";var cbVarName=varName.replace(/\[[na]ota\]$/,"");$("div.da-field-group.da-field-checkboxes").each(function(){var thisVarName=atou($(this).data("varname"));if(thisVarName==cbVarName){elem=$(this).find("input.da"+signifier+"-checkbox");initShowIfVar=$(elem).attr("name")}})}else{var initShowIfVarEscaped=initShowIfVar.replace(/(:|\.|\[|\]|,|=)/g,"\\$1");elem=$("[name='"+initShowIfVarEscaped+"']")}if(elem.length>0){showIfVars.push(initShowIfVar)}if(daVarLookupMulti.hasOwnProperty(initShowIfVar)){var n=daVarLookupMulti[initShowIfVar].length;for(var i=0;i0&&!$.contains(this,altElem[0])){showIfVars.push(altShowIfVar)}}}var showIfVal=$(this).data("showif-val");var saveAs=$(this).data("saveas");var showIfDiv=this;showIfVars.forEach(function(showIfVar){var showIfVarEscaped=showIfVar.replace(/(:|\.|\[|\]|,|=)/g,"\\$1");var showHideDiv=function(speed){var elem=daGetField(varName,showIfDiv);if(elem!=null&&!$(elem).parents(".da-form-group").first().is($(this).parents(".da-form-group").first())){return}var theVal;var showifParents=$(this).parents(".dashowif");if(showifParents.length!==0&&!($(showifParents[0]).data("isVisible")=="1")){theVal=""}else if($(this).attr("type")=="checkbox"){theVal=$("input[name='"+showIfVarEscaped+"']:checked").val();if(typeof theVal=="undefined"){theVal="False"}}else if($(this).attr("type")=="radio"){theVal=$("input[name='"+showIfVarEscaped+"']:checked").val();if(typeof theVal=="undefined"){theVal=""}else if(theVal!=""&&$("input[name='"+showIfVarEscaped+"']:checked").hasClass("daobject")){try{theVal=atou(theVal)}catch(e){}}}else{theVal=$(this).val();if(theVal!=""&&$(this).hasClass("daobject")){try{theVal=atou(theVal)}catch(e){}}}if(daShowIfCompare(theVal,showIfVal)){if(showIfSign){if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");var firstChild=$(showIfDiv).children()[0];if(!$(firstChild).hasClass("dacollectextra")||$(firstChild).is(":visible")){$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}}else{if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",true)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}}else{if(showIfSign){if($(showIfDiv).data("isVisible")!="0"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).hide(speed)}$(showIfDiv).data("isVisible","0");$(showIfDiv).find("input, textarea, select").prop("disabled",true);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].disable()}else{$(this).prop("disabled",true)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("disable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").disable()})}else{if($(showIfDiv).data("isVisible")!="1"){daShowHideHappened=true}if(showIfMode==0){$(showIfDiv).show(speed)}$(showIfDiv).data("isVisible","1");var firstChild=$(showIfDiv).children()[0];if(!$(firstChild).hasClass("dacollectextra")||$(firstChild).is(":visible")){$(showIfDiv).find("input, textarea, select").prop("disabled",false);$(showIfDiv).find("input.combobox").each(function(){if(daComboBoxes[$(this).attr("id")]){daComboBoxes[$(this).attr("id")].enable()}else{$(this).prop("disabled",false)}});$(showIfDiv).find("input.daslider").each(function(){$(this).slider("enable")});$(showIfDiv).find("input.dafile").each(function(){$(this).data("fileinput").enable()})}}}var leader=false;if(!daShowIfInProcess){daShowIfInProcess=true;daInputsSeen={};leader=true}$(showIfDiv).find(":input").not("[type='file']").each(function(){if(!daInputsSeen.hasOwnProperty($(this).attr("id"))){$(this).trigger("change")}daInputsSeen[$(this).attr("id")]=true});if(leader){daShowIfInProcess=false}};var showHideDivImmediate=function(){showHideDiv.apply(this,[null])};var showHideDivFast=function(){showHideDiv.apply(this,["fast"])};daTriggerQueries.push("#"+showIfVarEscaped);daTriggerQueries.push("input[type='radio'][name='"+showIfVarEscaped+"']");daTriggerQueries.push("input[type='checkbox'][name='"+showIfVarEscaped+"']");$("#"+showIfVarEscaped).change(showHideDivFast);$("#"+showIfVarEscaped).on("daManualTrigger",showHideDivImmediate);$("input[type='radio'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input[type='radio'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").change(showHideDivFast);$("input[type='checkbox'][name='"+showIfVarEscaped+"']").on("daManualTrigger",showHideDivImmediate);$("input.dafile[name='"+showIfVarEscaped+"']").on("filecleared",showHideDivFast)})});function daTriggerAllShowHides(){var daUniqueTriggerQueries=daTriggerQueries.filter(daOnlyUnique);var daFirstTime=true;var daTries=0;while((daFirstTime||daShowHideHappened)&&++daTries<100){daShowHideHappened=false;daFirstTime=false;var n=daUniqueTriggerQueries.length;for(var i=0;i=100){console.log("Too many contradictory 'show if' conditions")}}if(daTriggerQueries.length>0){daTriggerAllShowHides()}$(".danavlink").last().addClass("thelast");$(".danavlink").each(function(){if($(this).hasClass("btn")&&!$(this).hasClass("danotavailableyet")){var the_a=$(this);var the_delay=1e3+250*parseInt($(this).data("index"));setTimeout(function(){$(the_a).removeClass(daButtonStyle+"secondary");if($(the_a).hasClass("active")){$(the_a).addClass(daButtonStyle+"success")}else{$(the_a).addClass(daButtonStyle+"warning")}},the_delay)}});daShowIfInProcess=false;if(!daObserverMode){$("#daSend").click(daSender);if(daChatAvailable=="unavailable"){daChatStatus="off"}if(daChatAvailable=="observeonly"){daChatStatus="observeonly"}if((daChatStatus=="off"||daChatStatus=="observeonly")&&daChatAvailable=="available"){daChatStatus="waiting"}daDisplayChat();if(daBeingControlled){daShowControl("fast")}if(daChatStatus=="ready"||daBeingControlled){daInitializeSocket()}if(daInitialized==false&&daCheckinSeconds>0){setTimeout(function(){$.ajax({type:"POST",url:daCheckinUrlWithInterview,beforeSend:addCsrfHeader,xhrFields:{withCredentials:true},data:$.param({action:"chat_log",ajax:"1",csrf_token:daCsrf}),success:daChatLogCallback,dataType:"json"})},200)}if(daInitialized==true){$("#daCorrespondence").html("");for(var i=0;i1){$(daTargetDiv)[0].scrollIntoView()}}else{window.scrollTo(0,1)}},20)}if(daShowingSpinner&&!daWaitPage){daHideSpinner()}if(!daObserverMode){if(daCheckinInterval!=null){clearInterval(daCheckinInterval)}if(daCheckinSeconds>0&&!daWaitPage){daInitialCheckinTimeout=setTimeout(daInitialCheckin,100);daCheckinInterval=setInterval(daCheckin,daCheckinSeconds)}daShowNotifications();if(daUsingGA){daPageview()}if(daUsingSegment){daSegmentEvent()}hideTablist()}}function daUpdateHeight(){$(".dagooglemap").each(function(){var size=$(this).width();$(this).css("height",size)})}function daConfigureJqueryFuncs(){$.validator.setDefaults({ignore:".danovalidation",highlight:function(element){$(element).closest(".da-form-group").addClass("da-group-has-error");$(element).addClass("is-invalid")},unhighlight:function(element){$(element).closest(".da-form-group").removeClass("da-group-has-error");$(element).removeClass("is-invalid")},errorElement:"span",errorClass:"da-has-error invalid-feedback",errorPlacement:function(error,element){$(error).addClass("invalid-feedback");var elementName=$(element).attr("name");var idOfErrorSpan=$(element).attr("id")+"-error";$("#"+idOfErrorSpan).remove();$(error).attr("id",idOfErrorSpan);$(element).attr("aria-invalid","true");$(element).attr("aria-errormessage",idOfErrorSpan);var lastInGroup=$.map(daValidationRules["groups"],function(thefields,thename){var fieldsArr;if(thefields.indexOf(elementName)>=0){fieldsArr=thefields.split(" ");return fieldsArr[fieldsArr.length-1]}else{return null}})[0];if(element.hasClass("dainput-embedded")){error.insertAfter(element)}else if(element.hasClass("dafile-embedded")){error.insertAfter(element)}else if(element.hasClass("daradio-embedded")){element.parent().append(error)}else if(element.hasClass("dacheckbox-embedded")){element.parent().append(error)}else if(element.hasClass("dauncheckable")&&lastInGroup){$("input[name='"+lastInGroup+"']").parent().append(error)}else if(element.parent().hasClass("combobox-container")){element.parent().append(error)}else if(element.hasClass("dafile")){var fileContainer=$(element).parents(".file-input").first();if(fileContainer.length>0){$(fileContainer).append(error)}else{error.insertAfter(element.parent())}}else if(element.parent(".input-group").length){error.insertAfter(element.parent())}else if(element.hasClass("da-active-invisible")){var choice_with_help=$(element).parents(".dachoicewithhelp").first();if(choice_with_help.length>0){$(choice_with_help).parent().append(error)}else{element.parent().append(error)}}else if(element.hasClass("danon-nota-checkbox")){element.parents("div.da-field-group").append(error)}else{error.insertAfter(element)}}});$.validator.addMethod("datetime",function(a,b){return true});$.validator.addMethod("ajaxrequired",function(value,element,params){var realElement=$("#"+$(element).attr("name")+"combobox");var realValue=$(realElement).val();if(!$(realElement).parent().is(":visible")){return true}if(realValue==null||realValue.replace(/\s/g,"")==""){return false}return true});$.validator.addMethod("checkone",function(value,element,params){var number_needed=params[0];var css_query=params[1];if($(css_query).length>=number_needed){return true}else{return false}});$.validator.addMethod("checkatleast",function(value,element,params){if($(element).attr("name")!="_ignore"+params[0]){return true}if($(".dafield"+params[0]+":checked").length>=params[1]){return true}else{return false}});$.validator.addMethod("checkatmost",function(value,element,params){if($(element).attr("name")!="_ignore"+params[0]){return true}if($(".dafield"+params[0]+":checked").length>params[1]){return false}else{return true}});$.validator.addMethod("checkexactly",function(value,element,params){if($(element).attr("name")!="_ignore"+params[0]){return true}if($(".dafield"+params[0]+":checked").length!=params[1]){return false}else{return true}});$.validator.addMethod("selectexactly",function(value,element,params){if($(element).find("option:selected").length==params[0]){return true}else{return false}});$.validator.addMethod("mindate",function(value,element,params){if(value==null||value==""){return true}try{var date=new Date(value);var comparator=new Date(params);if(date>=comparator){return true}}catch(e){}return false});$.validator.addMethod("maxdate",function(value,element,params){if(value==null||value==""){return true}try{var date=new Date(value);var comparator=new Date(params);if(date<=comparator){return true}}catch(e){}return false});$.validator.addMethod("minmaxdate",function(value,element,params){if(value==null||value==""){return true}try{var date=new Date(value);var before_comparator=new Date(params[0]);var after_comparator=new Date(params[1]);if(date>=before_comparator&&date<=after_comparator){return true}}catch(e){}return false});$.validator.addMethod("mintime",function(value,element,params){if(value==null||value==""){return true}try{var time=new Date("1970-01-01T"+value+"Z");var comparator=new Date("1970-01-01T"+params+"Z");if(time>=comparator){return true}}catch(e){}return false});$.validator.addMethod("maxtime",function(value,element,params){if(value==null||value==""){return true}try{var time=new Date("1970-01-01T"+value+"Z");var comparator=new Date("1970-01-01T"+params+"Z");if(time<=comparator){return true}}catch(e){}return false});$.validator.addMethod("minmaxtime",function(value,element,params){if(value==null||value==""){return true}try{var time=new Date("1970-01-01T"+value+"Z");var before_comparator=new Date("1970-01-01T"+params[0]+"Z");var after_comparator=new Date("1970-01-01T"+params[1]+"Z");if(time>=before_comparator&&time<=after_comparator){return true}}catch(e){}return false});$.validator.addMethod("mindatetime",function(value,element,params){if(value==null||value==""){return true}try{var datetime=new Date(value+"Z");var comparator=new Date(params+"Z");if(datetime>=comparator){return true}}catch(e){}return false});$.validator.addMethod("maxdatetime",function(value,element,params){if(value==null||value==""){return true}try{var datetime=new Date(value+"Z");var comparator=new Date(params+"Z");if(datetime<=comparator){return true}}catch(e){}return false});$.validator.addMethod("minmaxdatetime",function(value,element,params){if(value==null||value==""){return true}try{var datetime=new Date(value+"Z");var before_comparator=new Date(params[0]+"Z");var after_comparator=new Date(params[1]+"Z");if(datetime>=before_comparator&&datetime<=after_comparator){return true}}catch(e){}return false});$.validator.addMethod("maxuploadsize",function(value,element,param){try{var limit=parseInt(param)-2e3;if(limit<=0){return true}var maxImageSize;if($(element).data("maximagesize")){maxImageSize=parseInt($(element).data("maximagesize"))*parseInt($(element).data("maximagesize"))*2}else{maxImageSize=0}if($(element).attr("type")==="file"){if(element.files&&element.files.length){var totalSize=0;for(i=0;i0&&element.files[i].size>.2*maxImageSize&&element.files[i].type.match(/image.*/)&&!(element.files[i].type.indexOf("image/svg")==0)){totalSize+=maxImageSize}else{totalSize+=element.files[i].size}}if(totalSize>limit){return false}}return true}}catch(e){}return false})}var dataLayer=window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}function daPageview(){var idToUse=daQuestionID["id"];if(daQuestionID["ga"]!=undefined&&daQuestionID["ga"]!=null){idToUse=daQuestionID["ga"]}if(idToUse!=null){idToUse=idToUse.replace(/[^A-Za-z0-9]+/g,"_");if(!daGAConfigured){var opts={send_page_view:false};if(daSecureCookies){opts["cookie_flags"]="SameSite=None;Secure"}for(var i=0;i0){daReloader=setTimeout(function(){daRefreshSubmit()},daReloadAfter)}if(daUsingGA&&!daObserverMode){gtag("js",new Date)}window.onpopstate=function(event){if(event.state!=null&&event.state.steps2){window.parent.daStopControlling(data.key)}});daSocket.on("newpage",function(incoming){var data=incoming.obj;$(daTargetDiv).html(data.body);$(daTargetDiv).parent().removeClass();$(daTargetDiv).parent().addClass(data.bodyclass);daInitialize(1);for(var i=0;i contentwidth) {\n cwidth = contentwidth;\n }\n var cheight = cwidth * daAspectRatio;\n var otherHeights =\n $(\"#dasigheader\").outerHeight(true) +\n $(\"#dasigtoppart\").outerHeight(true) +\n $(\"#dasigmidpart\").outerHeight(true) +\n $(\"#dasigbottompart\").outerHeight(true);\n if (cheight > $(window).height() - otherHeights) {\n cheight = $(window).height() - otherHeights;\n }\n if (cheight > 275 || cheight < 30) {\n cheight = 275;\n }\n $(\"#dasigcontent\").height(cheight);\n var canvas =\n '';\n $(\"#dasigcontent\").html(canvas);\n daTheWidth = (daThicknessScalingFactor * cwidth) / 100.0;\n if (daTheWidth < 1) {\n daTheWidth = 1;\n }\n daSignaturePad = new SignaturePad(document.querySelector(\"#dasigcanvas\"));\n if (defaultImage != null) {\n daSignaturePad.fromDataURL(defaultImage, {\n ratio: 1,\n width: cwidth,\n height: cheight,\n xOffset: 0,\n yOffset: 0,\n });\n }\n daSignaturePad.minWidth = 0.5 * daThicknessScalingFactor;\n daSignaturePad.maxWidth = 2.5 * daThicknessScalingFactor;\n daSignaturePad.penColor = daColor;\n setTimeout(function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n if (daSteps > 1) {\n $(daTargetDiv)[0].scrollIntoView();\n }\n } else {\n window.scrollTo(0, 1);\n }\n }, 10);\n}\n\nfunction daPost(params) {\n for (var key in params) {\n if (params.hasOwnProperty(key)) {\n var hiddenField = document.getElementById(key);\n if (hiddenField != null) {\n hiddenField.setAttribute(\"value\", params[key]);\n } else {\n console.log(\"Key does not exist: \" + key);\n return;\n }\n }\n }\n $(\"#dasigform\").submit();\n return;\n}\n\nfunction isCanvasSupported() {\n var elem = document.createElement(\"canvas\");\n return !!(elem.getContext && elem.getContext(\"2d\"));\n}\n\nvar daAutocomplete = Object();\n\nfunction daWaitForGoogle(waitForPlaces) {\n return new Promise((resolve) => {\n let attempts = 0;\n const maxAttempts = 50;\n const interval = setInterval(() => {\n var found = false;\n try {\n if (google.maps === undefined) {\n throw new Error(\"google maps not defined\");\n }\n if (waitForPlaces) {\n if (google.maps.places === undefined) {\n throw new Error(\"places not defined\");\n }\n }\n found = true;\n } catch (e) {}\n if (found || attempts >= maxAttempts) {\n clearInterval(interval);\n resolve(found);\n }\n attempts++;\n }, 100);\n });\n}\n\nfunction daInitAutocomplete(info) {\n daAutocomplete = Object();\n for (var i = 0; i < info.length; ++i) {\n daAutocomplete[info[i][0]] = {\n id: info[i][0],\n opts: info[i][1],\n suggestions: {},\n };\n }\n}\n\nasync function daInitAutocompleteOld(info) {\n await daWaitForGoogle(true);\n for (var i = 0; i < info.length; ++i) {\n var id = info[i][0];\n var opts = info[i][1];\n daAutocomplete[id] = new google.maps.places.Autocomplete(\n document.getElementById(id),\n opts,\n );\n google.maps.event.addListener(\n daAutocomplete[id],\n \"place_changed\",\n daFillInAddressFor(id),\n );\n }\n}\n\nfunction daFillInAddressFor(id) {\n return function () {\n daFillInAddressOld(id);\n };\n}\n\nasync function daInitMap(daMapInfo) {\n var googleLoaded = await daWaitForGoogle(false);\n if (!googleLoaded) {\n console.log(\"Could not load Google Maps library\");\n return;\n }\n await google.maps.importLibrary(\"core\");\n var timePeriod = 0;\n maps = [];\n var map_info_length = daMapInfo.length;\n for (var i = 0; i < map_info_length; i++) {\n the_map = daMapInfo[i];\n var bounds = new google.maps.LatLngBounds();\n maps[i] = daAddMap(i, the_map.center.latitude, the_map.center.longitude);\n marker_length = the_map.markers.length;\n if (marker_length == 1) {\n show_marker = true;\n } else {\n show_marker = false;\n }\n for (var j = 0; j < marker_length; j++) {\n var new_marker = await daAddMarker(\n maps[i],\n the_map.markers[j],\n show_marker,\n );\n bounds.extend(\n new google.maps.LatLng(\n new_marker.position.lat,\n new_marker.position.lng,\n ),\n );\n }\n if (marker_length > 1) {\n maps[i].map.fitBounds(bounds);\n }\n }\n}\n\nfunction daAddMap(map_num, center_lat, center_lon) {\n var map = new google.maps.Map(document.getElementById(\"map\" + map_num), {\n zoom: 11,\n center: new google.maps.LatLng(center_lat, center_lon),\n mapTypeId: google.maps.MapTypeId.ROADMAP,\n mapId: \"map\" + map_num + \"element\",\n });\n var infowindow = new google.maps.InfoWindow();\n return { map: map, infowindow: infowindow };\n}\n\nasync function daAddMarker(map, marker_info, show_marker) {\n const { AdvancedMarkerElement, PinElement } =\n await google.maps.importLibrary(\"marker\");\n var marker;\n var content;\n if (marker_info.icon) {\n content = new PinElement(marker_info.icon);\n } else {\n content = new PinElement();\n }\n marker = new AdvancedMarkerElement({\n position: {\n lat: marker_info.latitude,\n lng: marker_info.longitude,\n },\n map: map.map,\n content: content.element,\n });\n if (marker_info.info) {\n google.maps.event.addListener(\n marker,\n \"click\",\n (function (marker, info) {\n return function () {\n map.infowindow.setContent(info);\n map.infowindow.open(map.map, marker);\n };\n })(marker, marker_info.info),\n );\n }\n if (show_marker) {\n map.infowindow.setContent(marker_info.info);\n map.infowindow.open(map.map, marker);\n }\n return marker;\n}\n\nfunction daFillInAddress(origId, place) {\n var id;\n if (daVarLookupRev[origId]) {\n id = daVarLookupRev[origId];\n } else {\n id = origId;\n }\n var baseVarname = atob(id).replace(/.[a-zA-Z0-9_]+$/, \"\");\n baseVarname = baseVarname.replace(/[\\[\\]]/g, \".\");\n var re = new RegExp(\"^\" + baseVarname + \".(.*)\");\n var componentTrans = {\n administrative_area_level_1: [\"state\", \"shortText\"],\n administrative_area_level_2: [\"county\", \"longText\"],\n };\n var alternatives = [\n [\n \"city\",\n [\n \"locality\",\n \"sublocality_level_1\",\n \"neighborhood\",\n \"administrative_area_level_3\",\n \"colloquial_area\",\n ],\n ],\n [\n \"sublocality\",\n [\n \"sublocality_level_1\",\n \"sublocality_level_2\",\n \"sublocality_level_3\",\n \"sublocality_level_4\",\n \"sublocality_level_5\",\n ],\n ],\n ];\n var fieldsToClear = [\n \"address\",\n \"administrative_area_level_1\",\n \"administrative_area_level_2\",\n \"administrative_area_level_3\",\n \"administrative_area_level_4\",\n \"administrative_area_level_5\",\n \"administrative_area_level_6\",\n \"administrative_area_level_7\",\n \"adr_format_address\",\n \"airport\",\n \"bus_station\",\n \"business_status\",\n \"city\",\n \"colloquial_area\",\n \"compound_code\",\n \"country\",\n \"county\",\n \"directions_uri\",\n \"display_name\",\n \"display_name_language_code\",\n \"establishment\",\n \"floor\",\n \"formatted_address\",\n \"global_code\",\n \"has_wheelchair_accessible_entrance\",\n \"has_wheelchair_accessible_parking\",\n \"has_wheelchair_accessible_restroom\",\n \"has_wheelchair_accessible_seating\",\n \"id\",\n \"international_phone_number\",\n \"intersection\",\n \"landmark\",\n \"latitude\",\n \"locality\",\n \"location\",\n \"longitude\",\n \"national_phone_number\",\n \"natural_feature\",\n \"neighborhood\",\n \"park\",\n \"parking\",\n \"photos_uri\",\n \"place_uri \",\n \"plus_code\",\n \"point_of_interest\",\n \"political\",\n \"post_box\",\n \"postal_code\",\n \"postal_town\",\n \"premise\",\n \"price_level\",\n \"primary_type\",\n \"primary_type_display_name\",\n \"primary_type_display_name_language_code\",\n \"rating\",\n \"reviews_uri\",\n \"room\",\n \"route\",\n \"state\",\n \"street_number\",\n \"sublocality\",\n \"subpremise\",\n \"train_station\",\n \"transit_station\",\n \"types\",\n \"utc_offset_minutes\",\n \"write_a_review_uri\",\n \"zip\",\n ];\n var idForPart = {};\n $(\"input, select\").each(function () {\n var the_id = $(this).attr(\"id\");\n if (typeof the_id !== typeof undefined && the_id !== false) {\n try {\n var field_name = atob($(this).attr(\"id\"));\n if (field_name.indexOf(\"_field_\") == 0) {\n field_name = atob(daVarLookupRev[$(this).attr(\"id\")]);\n }\n var m = re.exec(field_name);\n if (m.length > 0) {\n idForPart[m[1]] = $(this).attr(\"id\");\n }\n } catch (e) {}\n }\n });\n for (var component in fieldsToClear) {\n if (\n typeof idForPart[component] != \"undefined\" &&\n document.getElementById(idForPart[component]) != null\n ) {\n document.getElementById(idForPart[component]).value = \"\";\n }\n }\n var savedValues = {};\n var toChange = [];\n for (var i = 0; i < place.addressComponents.length; i++) {\n var addressType = place.addressComponents[i].types[0];\n if (addressType == \"street_number\" || addressType == \"country\") {\n savedValues[addressType] = place.addressComponents[i][\"shortText\"];\n } else {\n savedValues[addressType] = place.addressComponents[i][\"longText\"];\n }\n if (\n componentTrans[addressType] &&\n idForPart[componentTrans[addressType][0]] &&\n typeof idForPart[componentTrans[addressType][0]] != \"undefined\" &&\n document.getElementById(idForPart[componentTrans[addressType][0]]) != null\n ) {\n var val = place.addressComponents[i][componentTrans[addressType][1]];\n if (typeof val != \"undefined\") {\n document.getElementById(\n idForPart[componentTrans[addressType][0]],\n ).value = val;\n toChange.push(\"#\" + idForPart[componentTrans[addressType][0]]);\n }\n }\n if (\n idForPart[addressType] &&\n typeof idForPart[addressType] != \"undefined\" &&\n document.getElementById(idForPart[addressType]) != null\n ) {\n var val = savedValues[addressType];\n if (typeof val != \"undefined\") {\n document.getElementById(idForPart[addressType]).value = val;\n toChange.push(\"#\" + idForPart[addressType]);\n }\n }\n }\n if (\n typeof idForPart[\"address\"] != \"undefined\" &&\n document.getElementById(idForPart[\"address\"]) != null\n ) {\n var the_address = \"\";\n if (typeof savedValues[\"street_number\"] != \"undefined\") {\n the_address += savedValues[\"street_number\"] + \" \";\n }\n if (typeof savedValues[\"route\"] != \"undefined\") {\n the_address += savedValues[\"route\"];\n }\n document.getElementById(idForPart[\"address\"]).value = the_address;\n toChange.push(\"#\" + idForPart[\"address\"]);\n }\n if (\n typeof idForPart[\"zip\"] != \"undefined\" &&\n document.getElementById(idForPart[\"zip\"]) != null &&\n typeof savedValues[\"postal_code\"] != \"undefined\" &&\n savedValues[\"postal_code\"] != \"\"\n ) {\n var theZipCode = savedValues[\"postal_code\"];\n if (\n typeof savedValues[\"postal_code_suffix\"] != \"undefined\" &&\n savedValues[\"postal_code_suffix\"] != \"\"\n ) {\n theZipCode += \"-\" + savedValues[\"postal_code_suffix\"];\n }\n document.getElementById(idForPart[\"zip\"]).value = theZipCode;\n toChange.push(\"#\" + idForPart[\"zip\"]);\n }\n if (place.location) {\n if (\n typeof idForPart[\"latitude\"] != \"undefined\" &&\n document.getElementById(idForPart[\"latitude\"]) != null\n ) {\n document.getElementById(idForPart[\"latitude\"]).value =\n place.location.lat();\n toChange.push(\"#\" + idForPart[\"latitude\"]);\n }\n if (\n typeof idForPart[\"longitude\"] != \"undefined\" &&\n document.getElementById(idForPart[\"longitude\"]) != null\n ) {\n document.getElementById(idForPart[\"longitude\"]).value =\n place.location.lng();\n toChange.push(\"#\" + idForPart[\"longitude\"]);\n }\n }\n for (var i = 0; i < alternatives.length; i++) {\n const [fieldName, altList] = alternatives[i];\n if (\n typeof idForPart[fieldName] != \"undefined\" &&\n document.getElementById(idForPart[fieldName]) != null &&\n document.getElementById(idForPart[fieldName]).value == \"\"\n ) {\n }\n for (var j = 0; j < altList.length; j++) {\n if (typeof savedValues[altList[j]] != \"undefined\") {\n document.getElementById(idForPart[fieldName]).value =\n savedValues[altList[j]];\n toChange.push(\"#\" + idForPart[fieldName]);\n break;\n }\n }\n }\n var fieldsToGet = daAutocomplete[origId].opts.fields || [];\n for (var i = 0; i < fieldsToGet.length; i++) {\n var pythonVar = fieldsToGet[i];\n if (pythonVar == \"address_components\" || pythonVar == \"location\") {\n continue;\n }\n var jsVar = underscoreToCamel(pythonVar);\n if (\n place[jsVar] != null &&\n typeof place[jsVar] === \"object\" &&\n !Array.isArray(place[jsVar])\n ) {\n var transformedObject = JSON.parse(JSON.stringify(place[jsVar]));\n Object.entries(transformedObject).forEach(([jsSubVar, value]) => {\n var pythonSubVar = camelToUnderscore(jsSubVar);\n if (\n value != null &&\n typeof idForPart[pythonSubVar] != \"undefined\" &&\n document.getElementById(idForPart[pythonSubVar]) != null\n ) {\n document.getElementById(idForPart[pythonSubVar]).value =\n jsonIfObject(value);\n toChange.push(\"#\" + idForPart[pythonSubVar]);\n }\n });\n } else if (\n place[jsVar] &&\n typeof idForPart[pythonVar] != \"undefined\" &&\n document.getElementById(idForPart[pythonVar]) != null\n ) {\n document.getElementById(idForPart[pythonVar]).value = jsonIfObject(\n place[jsVar],\n );\n toChange.push(\"#\" + idForPart[pythonVar]);\n }\n }\n for (var i = 0; i < toChange.length; i++) {\n $(toChange[i]).trigger(\"change\");\n }\n}\n\nfunction daFillInAddressOld(origId) {\n var id;\n if (daVarLookupRev[origId]) {\n id = daVarLookupRev[origId];\n } else {\n id = origId;\n }\n var base_varname = atob(id).replace(/.[a-zA-Z0-9_]+$/, \"\");\n base_varname = base_varname.replace(/[\\[\\]]/g, \".\");\n var re = new RegExp(\"^\" + base_varname + \".(.*)\");\n var componentForm = {\n locality: \"long_name\",\n sublocality: \"long_name\",\n administrative_area_level_3: \"long_name\",\n administrative_area_level_2: \"long_name\",\n administrative_area_level_1: \"short_name\",\n country: \"short_name\",\n postal_code: \"short_name\",\n };\n var componentTrans = {\n locality: \"city\",\n administrative_area_level_2: \"county\",\n administrative_area_level_1: \"state\",\n country: \"country\",\n postal_code: \"zip\",\n };\n\n var fields_to_fill = [\n \"address\",\n \"city\",\n \"county\",\n \"state\",\n \"zip\",\n \"neighborhood\",\n \"sublocality\",\n \"administrative_area_level_3\",\n \"postal_code\",\n ];\n var id_for_part = {};\n $(\"input, select\").each(function () {\n var the_id = $(this).attr(\"id\");\n if (typeof the_id !== typeof undefined && the_id !== false) {\n try {\n var field_name = atob($(this).attr(\"id\"));\n if (field_name.indexOf(\"_field_\") == 0) {\n field_name = atob(daVarLookupRev[$(this).attr(\"id\")]);\n }\n var m = re.exec(field_name);\n if (m.length > 0) {\n id_for_part[m[1]] = $(this).attr(\"id\");\n }\n } catch (e) {}\n }\n });\n place = daAutocomplete[origId].getPlace();\n if (\n typeof id_for_part[\"address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"address\"]) != null\n ) {\n document.getElementById(id_for_part[\"address\"]).value = \"\";\n }\n\n for (var component in fields_to_fill) {\n if (\n typeof id_for_part[component] != \"undefined\" &&\n document.getElementById(id_for_part[component]) != null\n ) {\n document.getElementById(id_for_part[component]).value = \"\";\n }\n }\n\n var street_number;\n var route;\n var savedValues = {};\n var toChange = [];\n for (var i = 0; i < place.address_components.length; i++) {\n var addressType = place.address_components[i].types[0];\n savedValues[addressType] = place.address_components[i][\"long_name\"];\n if (addressType == \"street_number\") {\n street_number = place.address_components[i][\"short_name\"];\n }\n if (addressType == \"route\") {\n route = place.address_components[i][\"long_name\"];\n }\n if (\n componentForm[addressType] &&\n id_for_part[componentTrans[addressType]] &&\n typeof id_for_part[componentTrans[addressType]] != \"undefined\" &&\n document.getElementById(id_for_part[componentTrans[addressType]]) != null\n ) {\n var val = place.address_components[i][componentForm[addressType]];\n if (typeof val != \"undefined\") {\n document.getElementById(\n id_for_part[componentTrans[addressType]],\n ).value = val;\n toChange.push(\"#\" + id_for_part[componentTrans[addressType]]);\n }\n if (componentTrans[addressType] != addressType) {\n val = place.address_components[i][\"long_name\"];\n if (\n typeof val != \"undefined\" &&\n typeof id_for_part[addressType] != \"undefined\" &&\n document.getElementById(id_for_part[addressType]) != null\n ) {\n document.getElementById(id_for_part[addressType]).value = val;\n toChange.push(\"#\" + id_for_part[addressType]);\n }\n }\n } else if (\n id_for_part[addressType] &&\n typeof id_for_part[addressType] != \"undefined\" &&\n document.getElementById(id_for_part[addressType]) != null\n ) {\n var val = place.address_components[i][\"long_name\"];\n if (typeof val != \"undefined\") {\n document.getElementById(id_for_part[addressType]).value = val;\n toChange.push(\"#\" + id_for_part[addressType]);\n }\n }\n }\n if (\n typeof id_for_part[\"address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"address\"]) != null\n ) {\n var the_address = \"\";\n if (typeof street_number != \"undefined\") {\n the_address += street_number + \" \";\n }\n if (typeof route != \"undefined\") {\n the_address += route;\n }\n document.getElementById(id_for_part[\"address\"]).value = the_address;\n toChange.push(\"#\" + id_for_part[\"address\"]);\n }\n if (\n typeof id_for_part[\"city\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"city\"]) != null\n ) {\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_1\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"sublocality_level_1\"];\n }\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"neighborhood\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"neighborhood\"];\n }\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"administrative_area_level_3\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"administrative_area_level_3\"];\n }\n }\n if (\n typeof id_for_part[\"sublocality\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"sublocality\"]) != null\n ) {\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_1\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_1\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_2\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_2\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_3\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_3\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_4\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_4\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_5\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_5\"];\n }\n }\n if (\n place.adr_address &&\n typeof id_for_part[\"adr_address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"adr_address\"]) != null\n ) {\n document.getElementById(id_for_part[\"adr_address\"]).value =\n place.adr_address;\n }\n if (\n place.business_status &&\n typeof id_for_part[\"business_status\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"business_status\"]) != null\n ) {\n document.getElementById(id_for_part[\"business_status\"]).value =\n place.business_status;\n }\n if (\n place.formatted_address &&\n typeof id_for_part[\"formatted_address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"formatted_address\"]) != null\n ) {\n document.getElementById(id_for_part[\"formatted_address\"]).value =\n place.formatted_address;\n }\n if (\n place.formatted_phone_number &&\n typeof id_for_part[\"formatted_phone_number\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"formatted_phone_number\"]) != null\n ) {\n document.getElementById(id_for_part[\"formatted_phone_number\"]).value =\n place.formatted_phone_number;\n }\n if (place.geometry && place.geometry.location) {\n if (\n typeof id_for_part[\"latitude\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"latitude\"]) != null\n ) {\n document.getElementById(id_for_part[\"latitude\"]).value =\n place.geometry.location.lat();\n }\n if (\n typeof id_for_part[\"longitude\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"longitude\"]) != null\n ) {\n document.getElementById(id_for_part[\"longitude\"]).value =\n place.geometry.location.lng();\n }\n }\n if (\n place.icon &&\n typeof id_for_part[\"icon\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"icon\"]) != null\n ) {\n document.getElementById(id_for_part[\"icon\"]).value = place.icon;\n }\n if (\n place.international_phone_number &&\n typeof id_for_part[\"international_phone_number\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"international_phone_number\"]) != null\n ) {\n document.getElementById(id_for_part[\"international_phone_number\"]).value =\n place.international_phone_number;\n }\n if (\n place.name &&\n typeof id_for_part[\"name\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"name\"]) != null\n ) {\n document.getElementById(id_for_part[\"name\"]).value = place.name;\n }\n if (\n place.place_id &&\n typeof id_for_part[\"place_id\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"place_id\"]) != null\n ) {\n document.getElementById(id_for_part[\"place_id\"]).value = place.place_id;\n }\n if (\n place.price_level &&\n typeof id_for_part[\"price_level\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"price_level\"]) != null\n ) {\n document.getElementById(id_for_part[\"price_level\"]).value =\n place.price_level;\n }\n if (\n place.rating &&\n typeof id_for_part[\"rating\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"rating\"]) != null\n ) {\n document.getElementById(id_for_part[\"rating\"]).value = place.rating;\n }\n if (\n place.url &&\n typeof id_for_part[\"url\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"url\"]) != null\n ) {\n document.getElementById(id_for_part[\"url\"]).value = place.url;\n }\n if (\n place.utc_offset_minutes &&\n typeof id_for_part[\"utc_offset_minutes\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"utc_offset_minutes\"]) != null\n ) {\n document.getElementById(id_for_part[\"utc_offset_minutes\"]).value =\n place.utc_offset_minutes;\n }\n if (\n place.vicinity &&\n typeof id_for_part[\"vicinity\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"vicinity\"]) != null\n ) {\n document.getElementById(id_for_part[\"vicinity\"]).value = place.vicinity;\n }\n if (\n place.website &&\n typeof id_for_part[\"website\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"website\"]) != null\n ) {\n document.getElementById(id_for_part[\"website\"]).value = place.website;\n }\n for (var i = 0; i < toChange.length; i++) {\n $(toChange[i]).trigger(\"change\");\n }\n}\n\nfunction daGeolocate() {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(function (position) {\n var geolocation = {\n lat: position.coords.latitude,\n lng: position.coords.longitude,\n };\n var circle = new google.maps.Circle({\n center: geolocation,\n radius: position.coords.accuracy,\n });\n for (var id in daAutocomplete) {\n if (daAutocomplete.hasOwnProperty(id)) {\n daAutocomplete[id].setBounds(circle.getBounds());\n }\n }\n });\n }\n}\nvar daRequestPending = false;\nvar isAndroid = /android/i.test(navigator.userAgent.toLowerCase());\nvar daWhichButton = null;\nvar daSocket = null;\nvar daChatHistory = [];\nvar daCheckinCode = null;\nvar daCheckingIn = 0;\nvar daShowingHelp = 0;\nvar daIframeEmbed;\nif (window.location !== window.parent.location) {\n daIframeEmbed = true;\n} else {\n daIframeEmbed = false;\n}\nvar daChatPartnersAvailable = 0;\nvar daPhoneAvailable = false;\nvar daInitialized = false;\nvar daConfirmed = false;\nvar daNoConnectionCount = 0;\nvar daObserverChangesInterval = null;\nvar daNotYetScrolled = true;\nvar daInformedChanged = false;\nvar daShowingSpinner = false;\nvar daSpinnerTimeout = null;\nvar daSubmitter = null;\nvar daGAConfigured = false;\nvar daShowIfInProcess = false;\nvar daFieldsToSkip = [\n \"_checkboxes\",\n \"_empties\",\n \"_ml_info\",\n \"_back_one\",\n \"_files\",\n \"_files_inline\",\n \"_question_name\",\n \"_the_image\",\n \"_save_as\",\n \"_success\",\n \"_datatypes\",\n \"_event\",\n \"_visible\",\n \"_tracker\",\n \"_track_location\",\n \"_varnames\",\n \"_next_action\",\n \"_next_action_to_set\",\n \"ajax\",\n \"json\",\n \"informed\",\n \"csrf_token\",\n \"_action\",\n \"_order_changes\",\n \"_collect\",\n \"_list_collect_list\",\n \"_null_question\",\n];\nvar daVarLookup = Object();\nvar daVarLookupRev = Object();\nvar daVarLookupMulti = Object();\nvar daVarLookupRevMulti = Object();\nvar daVarLookupSelect = Object();\nvar daVarLookupCheckbox = Object();\nvar daVarLookupOption = Object();\nvar daTargetDiv;\nvar daComboBoxes = Object();\nvar daGlobalEval = eval;\nvar daFetchAcceptIncoming = false;\nvar daFetchAjaxTimeout = null;\nvar daFetchAjaxTimeoutRunning = null;\nvar daFetchAjaxTimeoutFetchAfter = null;\nvar daAddressAcceptIncoming = false;\nvar daAddressAjaxTimeout = null;\nvar daAddressAjaxTimeoutRunning = null;\nvar daAddressAjaxTimeoutCallAfter = null;\nvar daShowHideHappened = false;\nvar daCheckinInterval = null;\nvar daInitialCheckinTimeout = null;\nvar daReloader = null;\nvar daDisable = null;\nvar daAutoColorScheme = true;\nvar daCurrentColorScheme;\nvar daUrlChangeColorScheme;\nvar daDesiredColorScheme;\nvar daAutoColorScheme = true;\nvar daThicknessScalingFactor;\nvar daJsEmbed;\nvar daAllowGoingBack;\nvar daSteps;\nvar daIsUser;\nvar daUserId;\nvar daChatStatus;\nvar daChatAvailable;\nvar daChatMode;\nvar daSendChanges;\nvar daBeingControlled;\nvar daInformed;\nvar daUsingGA;\nvar daUsingSegment;\nvar daDoAction;\nvar daQuestionID;\nvar daCsrf;\nvar daComboboxButtonLabel;\nvar daInterviewUrl;\nvar daLocationBar;\nvar daPostURL;\nvar daYamlFilename;\nvar daNotificationContainer;\nvar daNotificationMessage;\nvar daMessageLog;\nvar daImageToPreLoad;\nvar daGetVariablesUrl;\nvar daLiveHelpMessage;\nvar daLiveHelpMessagePhone;\nvar daNewChatMessage;\nvar daLiveHelpAvailableMessage;\nvar daScreenBeingControlled;\nvar daScreenNoLongerBeingControlled;\nvar daPathRoot;\nvar daCheckinSeconds;\nvar daChatRoles;\nvar daChatPartnerRoles;\nvar daAllButtonClasses;\nvar daButtonStyle;\nvar daShouldForceFullScreen;\nvar daPageSep;\nvar daAreYouSure;\nvar daOtherUser;\nvar daOtherUsers;\nvar daOperator;\nvar daOperators;\nvar daCheckinUrl;\nvar daCheckoutUrl;\nvar daCurrencyDecimalPlaces;\nvar daShouldDebugReadabilityHelp;\nvar daShouldDebugReadabilityQuestion;\nvar daEmailAddressRequired;\nvar daNeedCompleteEmail;\nvar daDefaultPopoverTrigger;\nvar daToggleWord;\nvar daCheckinUrlWithInterview;\nvar daReloadAfterSeconds;\nvar daCustomItems;\nvar daTrackingEnabled;\n\nfunction dagoogleapicallback() {}\nfunction daForceFullScreen(data) {\n if (data.steps > 1 && window != top) {\n top.location.href = location.href;\n }\n}\nObject.defineProperty(String.prototype, \"daSprintf\", {\n value: function () {\n var args = Array.from(arguments),\n i = 0;\n function defaultNumber(iValue) {\n return iValue != undefined && !isNaN(iValue) ? iValue : \"0\";\n }\n function defaultString(iValue) {\n return iValue == undefined ? \"\" : \"\" + iValue;\n }\n return this.replace(\n /%%|%([+\\-])?([^1-9])?(\\d+)?(\\.\\d+)?([deEfhHioQqs])/g,\n function (match, sign, filler, scale, precision, type) {\n var strOut, space, value;\n var asNumber = false;\n if (match == \"%%\") return \"%\";\n if (i >= args.length) return match;\n value = args[i];\n while (Array.isArray(value)) {\n args.splice(i, 1);\n for (var j = i; value.length > 0; j++)\n args.splice(j, 0, value.shift());\n value = args[i];\n }\n i++;\n if (filler == undefined) filler = \" \"; // default\n if (scale == undefined && !isNaN(filler)) {\n scale = filler;\n filler = \" \";\n }\n if (sign == undefined) sign = \"sqQ\".indexOf(type) >= 0 ? \"+\" : \"-\"; // default\n if (scale == undefined) scale = 0; // default\n if (precision == undefined) precision = \".0\"; // default\n scale = parseInt(scale);\n precision = parseInt(precision.substr(1));\n switch (type) {\n case \"d\":\n case \"i\":\n // decimal integer\n asNumber = true;\n strOut = parseInt(defaultNumber(value));\n if (precision > 0) strOut += \".\" + \"0\".repeat(precision);\n break;\n case \"e\":\n case \"E\":\n // float in exponential notation\n asNumber = true;\n strOut = parseFloat(defaultNumber(value));\n if (precision == 0) strOut = strOut.toExponential();\n else strOut = strOut.toExponential(precision);\n if (type == \"E\") strOut = strOut.replace(\"e\", \"E\");\n break;\n case \"f\":\n // decimal float\n asNumber = true;\n strOut = parseFloat(defaultNumber(value));\n if (precision != 0) strOut = strOut.toFixed(precision);\n break;\n case \"o\":\n case \"h\":\n case \"H\":\n // Octal or Hexagesimal integer notation\n strOut =\n \"\\\\\" +\n (type == \"o\" ? \"0\" : type) +\n parseInt(defaultNumber(value)).toString(type == \"o\" ? 8 : 16);\n break;\n case \"q\":\n // single quoted string\n strOut = \"'\" + defaultString(value) + \"'\";\n break;\n case \"Q\":\n // double quoted string\n strOut = '\"' + defaultString(value) + '\"';\n break;\n default:\n // string\n strOut = defaultString(value);\n break;\n }\n if (typeof strOut != \"string\") strOut = \"\" + strOut;\n if ((space = strOut.length) < scale) {\n if (asNumber) {\n if (sign == \"-\") {\n if (strOut.indexOf(\"-\") < 0)\n strOut = filler.repeat(scale - space) + strOut;\n else\n strOut =\n \"-\" + filler.repeat(scale - space) + strOut.replace(\"-\", \"\");\n } else {\n if (strOut.indexOf(\"-\") < 0)\n strOut = \"+\" + filler.repeat(scale - space - 1) + strOut;\n else\n strOut =\n \"-\" + filler.repeat(scale - space) + strOut.replace(\"-\", \"\");\n }\n } else {\n if (sign == \"-\") strOut = filler.repeat(scale - space) + strOut;\n else strOut = strOut + filler.repeat(scale - space);\n }\n } else if (asNumber && sign == \"+\" && strOut.indexOf(\"-\") < 0)\n strOut = \"+\" + strOut;\n return strOut;\n },\n );\n },\n});\nObject.defineProperty(window, \"daSprintf\", {\n value: function (str, ...rest) {\n if (typeof str == \"string\")\n return String.prototype.daSprintf.apply(str, rest);\n return \"\";\n },\n});\nfunction daGoToAnchor(target) {\n if (daJsEmbed) {\n scrollTarget = $(target).first().position().top - 60;\n } else {\n scrollTarget = $(target).first().offset().top - 60;\n }\n if (scrollTarget != null) {\n if (daJsEmbed) {\n $(daTargetDiv).animate(\n {\n scrollTop: scrollTarget,\n },\n 500,\n );\n } else {\n $(\"html, body\").animate(\n {\n scrollTop: scrollTarget,\n },\n 500,\n );\n }\n }\n}\nfunction atou(b64) {\n return decodeURIComponent(escape(atob(b64)));\n}\nfunction utoa(data) {\n return btoa(unescape(encodeURIComponent(data)));\n}\nfunction dabtoa(str) {\n return window.utoa(str).replace(/[\\n=]/g, \"\");\n}\nfunction daatob(str) {\n return atou(str);\n}\nfunction hideTablist() {\n var anyTabs =\n $(\"#daChatAvailable\").is(\":visible\") ||\n $(\"daPhoneAvailable\").is(\":visible\") ||\n $(\"#dahelptoggle\").is(\":visible\");\n if (anyTabs) {\n $(\"#nav-bar-tab-list\").removeClass(\"dainvisible\");\n $(\"#daquestionlabel\").parent().removeClass(\"dainvisible\");\n } else {\n $(\"#nav-bar-tab-list\").addClass(\"dainvisible\");\n $(\"#daquestionlabel\").parent().addClass(\"dainvisible\");\n }\n}\nfunction getFields() {\n var allFields = [];\n for (var rawFieldName in daVarLookup) {\n if (daVarLookup.hasOwnProperty(rawFieldName)) {\n var fieldName = atou(rawFieldName);\n if (allFields.indexOf(fieldName) == -1) {\n allFields.push(fieldName);\n }\n }\n }\n return allFields;\n}\nvar daGetFields = getFields;\nfunction daAppendIfExists(fieldName, theArray) {\n var elem = $(\"[name='\" + fieldName + \"']\");\n if (elem.length > 0) {\n for (var i = 0; i < theArray.length; ++i) {\n if (theArray[i] == elem[0]) {\n return;\n }\n }\n theArray.push(elem[0]);\n }\n}\nfunction getField(fieldName, notInDiv) {\n if (daVarLookupCheckbox[fieldName]) {\n var n = daVarLookupCheckbox[fieldName].length;\n for (var i = 0; i < n; ++i) {\n var elem = daVarLookupCheckbox[fieldName][i].checkboxes[0].elem;\n if (!$(elem).prop(\"disabled\")) {\n var showifParents = $(elem).parents(\".dajsshowif,.dashowif\");\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, elem)) {\n continue;\n }\n return daVarLookupCheckbox[fieldName][i].elem;\n }\n }\n }\n }\n if (daVarLookupSelect[fieldName]) {\n var n = daVarLookupSelect[fieldName].length;\n for (var i = 0; i < n; ++i) {\n var elem = daVarLookupSelect[fieldName][i].select;\n if (!$(elem).prop(\"disabled\")) {\n var showifParents = $(elem).parents(\".dajsshowif,.dashowif\");\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, elem)) {\n continue;\n }\n return elem;\n }\n }\n }\n }\n var fieldNameEscaped = dabtoa(fieldName);\n var possibleElements = [];\n daAppendIfExists(fieldNameEscaped, possibleElements);\n if (daVarLookupMulti.hasOwnProperty(fieldNameEscaped)) {\n for (var i = 0; i < daVarLookupMulti[fieldNameEscaped].length; ++i) {\n daAppendIfExists(daVarLookupMulti[fieldNameEscaped][i], possibleElements);\n }\n }\n var returnVal = null;\n for (var i = 0; i < possibleElements.length; ++i) {\n if (\n !$(possibleElements[i]).prop(\"disabled\") ||\n $(possibleElements[i]).parents(\".file-input.is-locked\").length > 0\n ) {\n var showifParents = $(possibleElements[i]).parents(\n \".dajsshowif,.dashowif\",\n );\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, possibleElements[i])) {\n continue;\n }\n returnVal = possibleElements[i];\n }\n }\n }\n if (\n $(returnVal).hasClass(\"da-to-labelauty\") &&\n $(returnVal).parents(\"div.da-field-group\").length > 0\n ) {\n var fieldSet = $(returnVal).parents(\"div.da-field-group\")[0];\n if (\n !$(fieldSet).hasClass(\"da-field-checkbox\") &&\n !$(fieldSet).hasClass(\"da-field-checkboxes\")\n ) {\n return fieldSet;\n }\n }\n return returnVal;\n}\nvar daGetField = getField;\nfunction setChoices(fieldName, choices) {\n var elem = daGetField(fieldName);\n if (elem == null) {\n console.log(\"setChoices: reference to non-existent field \" + fieldName);\n return;\n }\n var isCombobox =\n $(elem).attr(\"type\") == \"hidden\" &&\n $(elem).parents(\".combobox-container\").length > 0;\n if (isCombobox) {\n var comboInput = $(elem)\n .parents(\".combobox-container\")\n .first()\n .find(\"input.combobox\")\n .first();\n var comboObject = daComboBoxes[$(comboInput).attr(\"id\")];\n var oldComboVal = comboObject.$target.val();\n elem = comboObject.$source;\n }\n if ($(elem).prop(\"tagName\") != \"SELECT\") {\n console.log(\"setField: field \" + fieldName + \" is not a dropdown field\");\n return;\n }\n var oldVal = $(elem).val();\n $(elem)\n .find(\"option[value!='']\")\n .each(function () {\n $(this).remove();\n });\n var n = choices.length;\n for (var i = 0; i < n; i++) {\n var opt = $(\"',\n );\n $('').appendTo(toggler);\n $(\n '' + daToggleWord + \"\",\n ).appendTo(toggler);\n } else {\n toggler = $(\n '',\n );\n $('').appendTo(toggler);\n $(\n '' + daToggleWord + \"\",\n ).appendTo(toggler);\n }\n toggler.appendTo(prev);\n toggler.on(\"click\", function (e) {\n var oThis = this;\n $(this)\n .find(\"svg\")\n .each(function () {\n if ($(this).attr(\"data-icon\") == \"caret-down\") {\n $(this).removeClass(\"fa-caret-down\");\n $(this).addClass(\"fa-caret-right\");\n $(this).attr(\"data-icon\", \"caret-right\");\n $(box).hide();\n $(oThis).attr(\"aria-pressed\", \"false\");\n $(box).toggleClass(\"danotshowing\");\n } else if ($(this).attr(\"data-icon\") == \"caret-right\") {\n $(this).removeClass(\"fa-caret-right\");\n $(this).addClass(\"fa-caret-down\");\n $(this).attr(\"data-icon\", \"caret-down\");\n $(box).show();\n $(oThis).attr(\"aria-pressed\", \"true\");\n $(box).toggleClass(\"danotshowing\");\n }\n });\n e.stopPropagation();\n e.preventDefault();\n return false;\n });\n }\n });\n $(\"body\").focus();\n if (!daJsEmbed && !isAndroid) {\n setTimeout(function () {\n var firstInput = $(\"#daform .da-field-container\")\n .not(\".da-field-container-note\")\n .first()\n .find(\"input, textarea, select\")\n .filter(\":visible\")\n .first();\n if (firstInput.length > 0 && $(firstInput).visible()) {\n $(firstInput).focus();\n var inputType = $(firstInput).attr(\"type\");\n if (\n $(firstInput).prop(\"tagName\") != \"SELECT\" &&\n inputType != \"checkbox\" &&\n inputType != \"radio\" &&\n inputType != \"hidden\" &&\n inputType != \"submit\" &&\n inputType != \"file\" &&\n inputType != \"range\" &&\n inputType != \"number\" &&\n inputType != \"date\" &&\n inputType != \"time\"\n ) {\n var strLength = $(firstInput).val().length * 2;\n if (strLength > 0) {\n try {\n $(firstInput)[0].setSelectionRange(strLength, strLength);\n } catch (err) {\n console.log(err.message);\n }\n }\n }\n } else {\n var firstButton = $(\"#danavbar-collapse .nav-link\")\n .filter(\":visible\")\n .first();\n if (firstButton.length > 0 && $(firstButton).visible()) {\n setTimeout(function () {\n $(firstButton).focus();\n $(firstButton).blur();\n }, 0);\n }\n }\n }, 15);\n }\n }\n $(\"input.dauncheckspecificothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n var theIds = $.parseJSON(atou($(this).data(\"unchecklist\")));\n var n = theIds.length;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).prop(\"checked\", false);\n $(elem).trigger(\"change\");\n }\n }\n });\n $(\"input.dauncheckspecificothers\").each(function () {\n var theIds = $.parseJSON(atou($(this).data(\"unchecklist\")));\n var n = theIds.length;\n var oThis = this;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(oThis).prop(\"checked\", false);\n $(oThis).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dauncheckothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckable,input.dacheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dacheckspecificothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n var theIds = $.parseJSON(atou($(this).data(\"checklist\")));\n var n = theIds.length;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).prop(\"checked\", true);\n $(elem).trigger(\"change\");\n }\n }\n });\n $(\"input.dacheckspecificothers\").each(function () {\n var theIds = $.parseJSON(atou($(this).data(\"checklist\")));\n var n = theIds.length;\n var oThis = this;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).on(\"change\", function () {\n if (!$(this).is(\":checked\")) {\n $(oThis).prop(\"checked\", false);\n $(oThis).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dacheckothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckable\").each(function () {\n if (!$(this).is(\":checked\")) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n });\n $(\"input.dauncheckothers\").each(function () {\n if (!$(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dauncheckable\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n } else {\n $(\"input.dacheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n var navMain = $(\"#danavbar-collapse\");\n navMain.on(\"click\", \"a\", null, function () {\n if (!$(this).hasClass(\"dropdown-toggle\")) {\n navMain.collapse(\"hide\");\n }\n });\n $(\"button[data-bs-target='#dahelp']\").on(\"shown.bs.tab\", function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n } else {\n window.scrollTo(0, 1);\n }\n $(\"#dahelptoggle\").removeClass(\"daactivetext\");\n $(\"#dahelptoggle\").blur();\n });\n $(\"#dasourcetoggle\").on(\"click\", function () {\n $(this).parent().toggleClass(\"active\");\n $(this).blur();\n });\n $(\"#dabackToQuestion\").click(function (event) {\n $(\"#daquestionlabel\").tab(\"show\");\n });\n daVarLookup = Object();\n daVarLookupRev = Object();\n daVarLookupMulti = Object();\n daVarLookupRevMulti = Object();\n daVarLookupOption = Object();\n if ($(\"input[name='_varnames']\").length) {\n the_hash = $.parseJSON(atou($(\"input[name='_varnames']\").val()));\n for (var key in the_hash) {\n if (the_hash.hasOwnProperty(key)) {\n daVarLookup[the_hash[key]] = key;\n daVarLookupRev[key] = the_hash[key];\n if (!daVarLookupMulti.hasOwnProperty(the_hash[key])) {\n daVarLookupMulti[the_hash[key]] = [];\n }\n daVarLookupMulti[the_hash[key]].push(key);\n if (!daVarLookupRevMulti.hasOwnProperty(key)) {\n daVarLookupRevMulti[key] = [];\n }\n daVarLookupRevMulti[key].push(the_hash[key]);\n }\n }\n }\n if ($(\"input[name='_checkboxes']\").length) {\n var patt = new RegExp(/\\[B['\"][^\\]]*['\"]\\]$/);\n var pattObj = new RegExp(/\\[O['\"][^\\]]*['\"]\\]$/);\n var pattRaw = new RegExp(/\\[R['\"][^\\]]*['\"]\\]$/);\n the_hash = $.parseJSON(atou($(\"input[name='_checkboxes']\").val()));\n for (var key in the_hash) {\n if (the_hash.hasOwnProperty(key)) {\n var checkboxName = atou(key);\n var baseName = checkboxName;\n if (patt.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[B?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[B?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(checkboxName);\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"['\" + convertedName + \"']\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameThree = utoa(\n baseName + '[\"' + convertedName + '\"]',\n ).replace(/[\\n=]/g, \"\");\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookup[daNameThree] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameThree)) {\n daVarLookupMulti[daNameThree] = [];\n }\n daVarLookupMulti[daNameThree].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n } else if (pattObj.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[O?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[O?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(atou(checkboxName));\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"['\" + convertedName + \"']\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameThree = utoa(\n baseName + '[\"' + convertedName + '\"]',\n ).replace(/[\\n=]/g, \"\");\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookup[daNameThree] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameThree)) {\n daVarLookupMulti[daNameThree] = [];\n }\n daVarLookupMulti[daNameThree].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n } else if (pattRaw.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[R?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[R?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(checkboxName);\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"[\" + convertedName + \"]\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n }\n }\n }\n }\n daShowIfInProcess = true;\n var daTriggerQueries = [];\n var daInputsSeen = {};\n function daOnlyUnique(value, index, self) {\n return self.indexOf(value) === index;\n }\n $(\".dajsshowif\").each(function () {\n var showIfDiv = this;\n var jsInfo = JSON.parse(atou($(this).data(\"jsshowif\")));\n var showIfSign = jsInfo[\"sign\"];\n var showIfMode = jsInfo[\"mode\"];\n var jsExpression = jsInfo[\"expression\"];\n jsInfo[\"vars\"].forEach(function (infoItem, i) {\n var showIfVars = [];\n var initShowIfVar = utoa(infoItem).replace(/[\\n=]/g, \"\");\n var initShowIfVarEscaped = initShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var elem = $(\"[name='\" + initShowIfVarEscaped + \"']\");\n if (elem.length > 0) {\n showIfVars.push(initShowIfVar);\n }\n if (daVarLookupMulti.hasOwnProperty(initShowIfVar)) {\n for (var j = 0; j < daVarLookupMulti[initShowIfVar].length; j++) {\n var altShowIfVar = daVarLookupMulti[initShowIfVar][j];\n var altShowIfVarEscaped = altShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var altElem = $(\"[name='\" + altShowIfVarEscaped + \"']\");\n if (altElem.length > 0 && !$.contains(this, altElem[0])) {\n showIfVars.push(altShowIfVar);\n }\n }\n }\n if (showIfVars.length == 0) {\n console.log(\"ERROR: reference to non-existent field \" + infoItem);\n }\n showIfVars.forEach(function (showIfVar) {\n var showIfVarEscaped = showIfVar.replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n var varToUse = infoItem;\n var showHideDiv = function (speed) {\n var elem = daGetField(varToUse);\n if (\n elem != null &&\n !$(elem)\n .parents(\".da-form-group\")\n .first()\n .is($(this).parents(\".da-form-group\").first())\n ) {\n return;\n }\n var resultt = eval(jsExpression);\n if (resultt) {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n }\n } else {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n }\n var leader = false;\n if (!daShowIfInProcess) {\n daShowIfInProcess = true;\n daInputsSeen = {};\n leader = true;\n }\n $(showIfDiv)\n .find(\":input\")\n .not(\"[type='file']\")\n .each(function () {\n if (!daInputsSeen.hasOwnProperty($(this).attr(\"id\"))) {\n $(this).trigger(\"change\");\n }\n daInputsSeen[$(this).attr(\"id\")] = true;\n });\n if (leader) {\n daShowIfInProcess = false;\n }\n };\n var showHideDivImmediate = function () {\n showHideDiv.apply(this, [null]);\n };\n var showHideDivFast = function () {\n showHideDiv.apply(this, [\"fast\"]);\n };\n daTriggerQueries.push(\"#\" + showIfVarEscaped);\n daTriggerQueries.push(\n \"input[type='radio'][name='\" + showIfVarEscaped + \"']\",\n );\n daTriggerQueries.push(\n \"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\",\n );\n $(\"#\" + showIfVarEscaped).change(showHideDivFast);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input.dafile[name='\" + showIfVarEscaped + \"']\").on(\n \"filecleared\",\n showHideDivFast,\n );\n $(\"#\" + showIfVarEscaped).on(\"daManualTrigger\", showHideDivImmediate);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n });\n });\n });\n $(\".dashowif\").each(function () {\n var showIfVars = [];\n var showIfSign = $(this).data(\"showif-sign\");\n var showIfMode = parseInt($(this).data(\"showif-mode\"));\n var initShowIfVar = $(this).data(\"showif-var\");\n var varName = atou(initShowIfVar);\n var elem = [];\n if (varName.endsWith(\"[nota]\") || varName.endsWith(\"[aota]\")) {\n var signifier = varName.endsWith(\"[nota]\") ? \"nota\" : \"aota\";\n var cbVarName = varName.replace(/\\[[na]ota\\]$/, \"\");\n $(\"div.da-field-group.da-field-checkboxes\").each(function () {\n var thisVarName = atou($(this).data(\"varname\"));\n if (thisVarName == cbVarName) {\n elem = $(this).find(\"input.da\" + signifier + \"-checkbox\");\n initShowIfVar = $(elem).attr(\"name\");\n }\n });\n } else {\n var initShowIfVarEscaped = initShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n elem = $(\"[name='\" + initShowIfVarEscaped + \"']\");\n }\n if (elem.length > 0) {\n showIfVars.push(initShowIfVar);\n }\n if (daVarLookupMulti.hasOwnProperty(initShowIfVar)) {\n var n = daVarLookupMulti[initShowIfVar].length;\n for (var i = 0; i < n; i++) {\n var altShowIfVar = daVarLookupMulti[initShowIfVar][i];\n var altShowIfVarEscaped = altShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var altElem = $(\"[name='\" + altShowIfVarEscaped + \"']\");\n if (altElem.length > 0 && !$.contains(this, altElem[0])) {\n showIfVars.push(altShowIfVar);\n }\n }\n }\n var showIfVal = $(this).data(\"showif-val\");\n var saveAs = $(this).data(\"saveas\");\n var showIfDiv = this;\n showIfVars.forEach(function (showIfVar) {\n var showIfVarEscaped = showIfVar.replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n var showHideDiv = function (speed) {\n var elem = daGetField(varName, showIfDiv);\n if (\n elem != null &&\n !$(elem)\n .parents(\".da-form-group\")\n .first()\n .is($(this).parents(\".da-form-group\").first())\n ) {\n return;\n }\n var theVal;\n var showifParents = $(this).parents(\".dashowif\");\n if (\n showifParents.length !== 0 &&\n !($(showifParents[0]).data(\"isVisible\") == \"1\")\n ) {\n theVal = \"\";\n //console.log(\"Setting theVal to blank.\");\n } else if ($(this).attr(\"type\") == \"checkbox\") {\n theVal = $(\"input[name='\" + showIfVarEscaped + \"']:checked\").val();\n if (typeof theVal == \"undefined\") {\n //console.log('manually setting checkbox value to False');\n theVal = \"False\";\n }\n } else if ($(this).attr(\"type\") == \"radio\") {\n theVal = $(\"input[name='\" + showIfVarEscaped + \"']:checked\").val();\n if (typeof theVal == \"undefined\") {\n theVal = \"\";\n } else if (\n theVal != \"\" &&\n $(\"input[name='\" + showIfVarEscaped + \"']:checked\").hasClass(\n \"daobject\",\n )\n ) {\n try {\n theVal = atou(theVal);\n } catch (e) {}\n }\n } else {\n theVal = $(this).val();\n if (theVal != \"\" && $(this).hasClass(\"daobject\")) {\n try {\n theVal = atou(theVal);\n } catch (e) {}\n }\n }\n // console.log(\"There was a trigger on \" + $(this).attr('id') + \". This handler was installed based on varName \" + varName + \", showIfVar \" + atou(showIfVar) + \". This handler was installed for the benefit of the .dashowif div encompassing the field for \" + atou(saveAs) + \". The comparison value is \" + String(showIfVal) + \" and the current value of the element on the screen is \" + String(theVal) + \".\");\n if (daShowIfCompare(theVal, showIfVal)) {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n var firstChild = $(showIfDiv).children()[0];\n if (\n !$(firstChild).hasClass(\"dacollectextra\") ||\n $(firstChild).is(\":visible\")\n ) {\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv).find(\"input, textarea, select\").prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n }\n } else {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv).find(\"input, textarea, select\").prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n var firstChild = $(showIfDiv).children()[0];\n if (\n !$(firstChild).hasClass(\"dacollectextra\") ||\n $(firstChild).is(\":visible\")\n ) {\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n }\n }\n var leader = false;\n if (!daShowIfInProcess) {\n daShowIfInProcess = true;\n daInputsSeen = {};\n leader = true;\n }\n $(showIfDiv)\n .find(\":input\")\n .not(\"[type='file']\")\n .each(function () {\n if (!daInputsSeen.hasOwnProperty($(this).attr(\"id\"))) {\n $(this).trigger(\"change\");\n }\n daInputsSeen[$(this).attr(\"id\")] = true;\n });\n if (leader) {\n daShowIfInProcess = false;\n }\n };\n var showHideDivImmediate = function () {\n showHideDiv.apply(this, [null]);\n };\n var showHideDivFast = function () {\n showHideDiv.apply(this, [\"fast\"]);\n };\n daTriggerQueries.push(\"#\" + showIfVarEscaped);\n daTriggerQueries.push(\n \"input[type='radio'][name='\" + showIfVarEscaped + \"']\",\n );\n daTriggerQueries.push(\n \"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\",\n );\n $(\"#\" + showIfVarEscaped).change(showHideDivFast);\n $(\"#\" + showIfVarEscaped).on(\"daManualTrigger\", showHideDivImmediate);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input.dafile[name='\" + showIfVarEscaped + \"']\").on(\n \"filecleared\",\n showHideDivFast,\n );\n });\n });\n function daTriggerAllShowHides() {\n var daUniqueTriggerQueries = daTriggerQueries.filter(daOnlyUnique);\n var daFirstTime = true;\n var daTries = 0;\n while ((daFirstTime || daShowHideHappened) && ++daTries < 100) {\n daShowHideHappened = false;\n daFirstTime = false;\n var n = daUniqueTriggerQueries.length;\n for (var i = 0; i < n; ++i) {\n $(daUniqueTriggerQueries[i]).trigger(\"daManualTrigger\");\n }\n }\n if (daTries >= 100) {\n console.log(\"Too many contradictory 'show if' conditions\");\n }\n }\n if (daTriggerQueries.length > 0) {\n daTriggerAllShowHides();\n }\n $(\".danavlink\").last().addClass(\"thelast\");\n $(\".danavlink\").each(function () {\n if ($(this).hasClass(\"btn\") && !$(this).hasClass(\"danotavailableyet\")) {\n var the_a = $(this);\n var the_delay = 1000 + 250 * parseInt($(this).data(\"index\"));\n setTimeout(function () {\n $(the_a).removeClass(daButtonStyle + \"secondary\");\n if ($(the_a).hasClass(\"active\")) {\n $(the_a).addClass(daButtonStyle + \"success\");\n } else {\n $(the_a).addClass(daButtonStyle + \"warning\");\n }\n }, the_delay);\n }\n });\n daShowIfInProcess = false;\n if (!daObserverMode) {\n $(\"#daSend\").click(daSender);\n if (daChatAvailable == \"unavailable\") {\n daChatStatus = \"off\";\n }\n if (daChatAvailable == \"observeonly\") {\n daChatStatus = \"observeonly\";\n }\n if (\n (daChatStatus == \"off\" || daChatStatus == \"observeonly\") &&\n daChatAvailable == \"available\"\n ) {\n daChatStatus = \"waiting\";\n }\n daDisplayChat();\n if (daBeingControlled) {\n daShowControl(\"fast\");\n }\n if (daChatStatus == \"ready\" || daBeingControlled) {\n daInitializeSocket();\n }\n if (daInitialized == false && daCheckinSeconds > 0) {\n // why was this set to always retrieve the chat log?\n setTimeout(function () {\n //console.log(\"daInitialize call to chat_log in checkin\");\n $.ajax({\n type: \"POST\",\n url: daCheckinUrlWithInterview,\n beforeSend: addCsrfHeader,\n xhrFields: {\n withCredentials: true,\n },\n data: $.param({ action: \"chat_log\", ajax: \"1\", csrf_token: daCsrf }),\n success: daChatLogCallback,\n dataType: \"json\",\n });\n }, 200);\n }\n if (daInitialized == true) {\n //console.log(\"Publishing from memory\");\n $(\"#daCorrespondence\").html(\"\");\n for (var i = 0; i < daChatHistory.length; i++) {\n daPublishMessage(daChatHistory[i]);\n }\n }\n if (daChatStatus != \"off\") {\n daSendChanges = true;\n } else {\n if (daDoAction == null) {\n daSendChanges = false;\n } else {\n daSendChanges = true;\n }\n }\n }\n if (daSendChanges || daObserverMode) {\n $(\"#daform\").each(function () {\n $(this).find(\":input\").change(daOnChange);\n });\n }\n daInitialized = true;\n daShowingHelp = 0;\n daSubmitter = null;\n $(\"#daflash .alert-success\").each(function () {\n var oThis = this;\n setTimeout(function () {\n $(oThis).hide(300, function () {\n $(self).remove();\n });\n }, 3000);\n });\n if (doScroll && !daObserverMode) {\n setTimeout(function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n if (daSteps > 1) {\n $(daTargetDiv)[0].scrollIntoView();\n }\n } else {\n window.scrollTo(0, 1);\n }\n }, 20);\n }\n if (daShowingSpinner && !daWaitPage) {\n daHideSpinner();\n }\n if (!daObserverMode) {\n if (daCheckinInterval != null) {\n clearInterval(daCheckinInterval);\n }\n if (daCheckinSeconds > 0 && !daWaitPage) {\n daInitialCheckinTimeout = setTimeout(daInitialCheckin, 100);\n daCheckinInterval = setInterval(daCheckin, daCheckinSeconds);\n }\n daShowNotifications();\n if (daUsingGA) {\n daPageview();\n }\n if (daUsingSegment) {\n daSegmentEvent();\n }\n hideTablist();\n }\n}\nfunction daUpdateHeight() {\n $(\".dagooglemap\").each(function () {\n var size = $(this).width();\n $(this).css(\"height\", size);\n });\n}\nfunction daConfigureJqueryFuncs() {\n $.validator.setDefaults({\n ignore: \".danovalidation\",\n highlight: function (element) {\n $(element).closest(\".da-form-group\").addClass(\"da-group-has-error\");\n $(element).addClass(\"is-invalid\");\n },\n unhighlight: function (element) {\n $(element).closest(\".da-form-group\").removeClass(\"da-group-has-error\");\n $(element).removeClass(\"is-invalid\");\n },\n errorElement: \"span\",\n errorClass: \"da-has-error invalid-feedback\",\n errorPlacement: function (error, element) {\n $(error).addClass(\"invalid-feedback\");\n var elementName = $(element).attr(\"name\");\n var idOfErrorSpan = $(element).attr(\"id\") + \"-error\";\n $(\"#\" + idOfErrorSpan).remove();\n $(error).attr(\"id\", idOfErrorSpan);\n $(element).attr(\"aria-invalid\", \"true\");\n $(element).attr(\"aria-errormessage\", idOfErrorSpan);\n var lastInGroup = $.map(\n daValidationRules[\"groups\"],\n function (thefields, thename) {\n var fieldsArr;\n if (thefields.indexOf(elementName) >= 0) {\n fieldsArr = thefields.split(\" \");\n return fieldsArr[fieldsArr.length - 1];\n } else {\n return null;\n }\n },\n )[0];\n if (element.hasClass(\"dainput-embedded\")) {\n error.insertAfter(element);\n } else if (element.hasClass(\"dafile-embedded\")) {\n error.insertAfter(element);\n } else if (element.hasClass(\"daradio-embedded\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dacheckbox-embedded\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dauncheckable\") && lastInGroup) {\n $(\"input[name='\" + lastInGroup + \"']\")\n .parent()\n .append(error);\n } else if (element.parent().hasClass(\"combobox-container\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dafile\")) {\n var fileContainer = $(element).parents(\".file-input\").first();\n if (fileContainer.length > 0) {\n $(fileContainer).append(error);\n } else {\n error.insertAfter(element.parent());\n }\n } else if (element.parent(\".input-group\").length) {\n error.insertAfter(element.parent());\n } else if (element.hasClass(\"da-active-invisible\")) {\n var choice_with_help = $(element).parents(\".dachoicewithhelp\").first();\n if (choice_with_help.length > 0) {\n $(choice_with_help).parent().append(error);\n } else {\n element.parent().append(error);\n }\n } else if (element.hasClass(\"danon-nota-checkbox\")) {\n element.parents(\"div.da-field-group\").append(error);\n } else {\n error.insertAfter(element);\n }\n },\n });\n $.validator.addMethod(\"datetime\", function (a, b) {\n return true;\n });\n $.validator.addMethod(\"ajaxrequired\", function (value, element, params) {\n var realElement = $(\"#\" + $(element).attr(\"name\") + \"combobox\");\n var realValue = $(realElement).val();\n if (!$(realElement).parent().is(\":visible\")) {\n return true;\n }\n if (realValue == null || realValue.replace(/\\s/g, \"\") == \"\") {\n return false;\n }\n return true;\n });\n $.validator.addMethod(\"checkone\", function (value, element, params) {\n var number_needed = params[0];\n var css_query = params[1];\n if ($(css_query).length >= number_needed) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"checkatleast\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length >= params[1]) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"checkatmost\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length > params[1]) {\n return false;\n } else {\n return true;\n }\n });\n $.validator.addMethod(\"checkexactly\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length != params[1]) {\n return false;\n } else {\n return true;\n }\n });\n $.validator.addMethod(\"selectexactly\", function (value, element, params) {\n if ($(element).find(\"option:selected\").length == params[0]) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"mindate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var comparator = new Date(params);\n if (date >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxdate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var comparator = new Date(params);\n if (date <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxdate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var before_comparator = new Date(params[0]);\n var after_comparator = new Date(params[1]);\n if (date >= before_comparator && date <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"mintime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var comparator = new Date(\"1970-01-01T\" + params + \"Z\");\n if (time >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxtime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var comparator = new Date(\"1970-01-01T\" + params + \"Z\");\n if (time <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxtime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var before_comparator = new Date(\"1970-01-01T\" + params[0] + \"Z\");\n var after_comparator = new Date(\"1970-01-01T\" + params[1] + \"Z\");\n if (time >= before_comparator && time <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"mindatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var comparator = new Date(params + \"Z\");\n if (datetime >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxdatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var comparator = new Date(params + \"Z\");\n if (datetime <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxdatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var before_comparator = new Date(params[0] + \"Z\");\n var after_comparator = new Date(params[1] + \"Z\");\n if (datetime >= before_comparator && datetime <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxuploadsize\", function (value, element, param) {\n try {\n var limit = parseInt(param) - 2000;\n if (limit <= 0) {\n return true;\n }\n var maxImageSize;\n if ($(element).data(\"maximagesize\")) {\n maxImageSize =\n parseInt($(element).data(\"maximagesize\")) *\n parseInt($(element).data(\"maximagesize\")) *\n 2;\n } else {\n maxImageSize = 0;\n }\n if ($(element).attr(\"type\") === \"file\") {\n if (element.files && element.files.length) {\n var totalSize = 0;\n for (i = 0; i < element.files.length; i++) {\n if (\n maxImageSize > 0 &&\n element.files[i].size > 0.2 * maxImageSize &&\n element.files[i].type.match(/image.*/) &&\n !(element.files[i].type.indexOf(\"image/svg\") == 0)\n ) {\n totalSize += maxImageSize;\n } else {\n totalSize += element.files[i].size;\n }\n }\n if (totalSize > limit) {\n return false;\n }\n }\n return true;\n }\n } catch (e) {}\n return false;\n });\n}\nvar dataLayer = (window.dataLayer = window.dataLayer || []);\nfunction gtag() {\n dataLayer.push(arguments);\n}\nfunction daPageview() {\n var idToUse = daQuestionID[\"id\"];\n if (daQuestionID[\"ga\"] != undefined && daQuestionID[\"ga\"] != null) {\n idToUse = daQuestionID[\"ga\"];\n }\n if (idToUse != null) {\n idToUse = idToUse.replace(/[^A-Za-z0-9]+/g, \"_\");\n if (!daGAConfigured) {\n var opts = { send_page_view: false };\n if (daSecureCookies) {\n opts[\"cookie_flags\"] = \"SameSite=None;Secure\";\n }\n for (var i = 0; i < daGaIds.length; i++) {\n gtag(\"config\", daGaIds[i], opts);\n daGAConfigured = true;\n }\n }\n gtag(\n \"set\",\n \"page_path\",\n daInterviewPackage + \"/\" + daInterviewFilename + \"/\" + idToUse,\n );\n gtag(\"event\", \"page_view\", {\n page_path: daInterviewPackage + \"/\" + daInterviewFilename + \"/\" + idToUse,\n });\n }\n}\nfunction daStopPushChanges() {\n if (daObserverChangesInterval != null) {\n clearInterval(daObserverChangesInterval);\n }\n}\nfunction daResetPushChanges() {\n if (daObserverChangesInterval != null) {\n clearInterval(daObserverChangesInterval);\n }\n daObserverChangesInterval = setInterval(daPushChanges, 6000);\n}\nfunction daReadyFunction() {\n daInitialize(1);\n //console.log(\"ready: replaceState \" + daSteps);\n if (!daJsEmbed && !daIframeEmbed) {\n history.replaceState(\n { steps: daSteps },\n \"\",\n daLocationBar + daPageSep + daSteps,\n );\n }\n var daReloadAfter = daReloadAfterSeconds;\n if (daReloadAfter > 0) {\n daReloader = setTimeout(function () {\n daRefreshSubmit();\n }, daReloadAfter);\n }\n if (daUsingGA && !daObserverMode) {\n gtag(\"js\", new Date());\n }\n window.onpopstate = function (event) {\n if (\n event.state != null &&\n event.state.steps < daSteps &&\n daAllowGoingBack\n ) {\n $(\"#dabackbutton\").submit();\n }\n };\n $(window).bind(\"unload\", function () {\n if (!daObserverMode) {\n daStopCheckingIn();\n }\n if (daSocket != null && daSocket.connected) {\n //console.log('Terminating interview socket because window unloaded');\n daSocket.emit(\"terminate\");\n }\n });\n var daDefaultAllowList = bootstrap.Tooltip.Default.allowList;\n daDefaultAllowList[\"*\"].push(\"style\");\n daDefaultAllowList[\"a\"].push(\"style\");\n daDefaultAllowList[\"img\"].push(\"style\");\n if (daJsEmbed) {\n $.ajax({\n type: \"POST\",\n url: daPostURL,\n beforeSend: addCsrfHeader,\n xhrFields: {\n withCredentials: true,\n },\n data: \"csrf_token=\" + daCsrf + \"&ajax=1\",\n success: function (data) {\n setTimeout(function () {\n daProcessAjax(data, $(\"#daform\"), 0);\n }, 0);\n },\n error: function (xhr, status, error) {\n setTimeout(function () {\n daProcessAjaxError(xhr, status, error);\n }, 0);\n },\n });\n }\n if (daObserverMode) {\n if (\n location.protocol === \"http:\" ||\n document.location.protocol === \"http:\"\n ) {\n daSocket = io.connect(\"http://\" + document.domain + \"/observer\", {\n path: daRootUrl + \"/ws/socket.io\",\n query: \"i=\" + daYamlFilename,\n });\n }\n if (\n location.protocol === \"https:\" ||\n document.location.protocol === \"https:\"\n ) {\n daSocket = io.connect(\"https://\" + document.domain + \"/observer\", {\n path: daRootUrl + \"/ws/socket.io\",\n query: \"i=\" + daYamlFilename,\n });\n }\n if (typeof daSocket !== \"undefined\") {\n daSocket.on(\"connect\", function () {\n //console.log(\"Connected!\");\n daSocket.emit(\"observe\", {\n uid: daUid,\n i: daYamlFilename,\n userid: daUserObserved,\n });\n daConnected = true;\n });\n daSocket.on(\"terminate\", function () {\n //console.log(\"Terminating socket\");\n daSocket.disconnect();\n });\n daSocket.on(\"disconnect\", function () {\n //console.log(\"Disconnected socket\");\n //daSocket = null;\n });\n daSocket.on(\"stopcontrolling\", function (data) {\n window.parent.daStopControlling(data.key);\n });\n daSocket.on(\"start_being_controlled\", function (data) {\n //console.log(\"Got start_being_controlled\");\n daConfirmed = true;\n daPushChanges();\n window.parent.daGotConfirmation(data.key);\n });\n daSocket.on(\"abortcontrolling\", function (data) {\n //console.log(\"Got abortcontrolling\");\n //daSendChanges = false;\n //daConfirmed = false;\n //daStopPushChanges();\n window.parent.daAbortControlling(data.key);\n });\n daSocket.on(\"noconnection\", function (data) {\n //console.log(\"warning: no connection\");\n if (daNoConnectionCount++ > 2) {\n //console.log(\"error: no connection\");\n window.parent.daStopControlling(data.key);\n }\n });\n daSocket.on(\"newpage\", function (incoming) {\n //console.log(\"Got newpage\")\n var data = incoming.obj;\n $(daTargetDiv).html(data.body);\n $(daTargetDiv).parent().removeClass();\n $(daTargetDiv).parent().addClass(data.bodyclass);\n daInitialize(1);\n for (var i = 0; i < data.extra_scripts.length; i++) {\n daEvalExtraScript(data.extra_scripts[i]);\n }\n for (var i = 0; i < data.extra_css.length; i++) {\n $(\"head\").append(data.extra_css[i]);\n }\n document.title = data.browser_title;\n if ($(\"html\").attr(\"lang\") != data.lang) {\n $(\"html\").attr(\"lang\", data.lang);\n }\n daPushChanges();\n });\n daSocket.on(\"pushchanges\", function (data) {\n //console.log(\"Got pushchanges: \" + JSON.stringify(data));\n var valArray = Object();\n var values = data.parameters;\n for (var i = 0; i < values.length; i++) {\n valArray[values[i].name] = values[i].value;\n }\n $(\"#daform\").each(function () {\n $(this)\n .find(\":input\")\n .each(function () {\n var type = $(this).attr(\"type\");\n var id = $(this).attr(\"id\");\n var name = $(this).attr(\"name\");\n if (type == \"checkbox\") {\n if (name in valArray) {\n if (valArray[name] == \"True\") {\n if ($(this).prop(\"checked\") != true) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n } else if (type == \"radio\") {\n if (name in valArray) {\n if (valArray[name] == $(this).val()) {\n if ($(this).prop(\"checked\") != true) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n }\n } else if ($(this).data().hasOwnProperty(\"sliderMax\")) {\n $(this).slider(\"setValue\", parseInt(valArray[name]));\n } else {\n if (name in valArray) {\n $(this).val(valArray[name]);\n }\n }\n });\n });\n });\n }\n daObserverChangesInterval = setInterval(daPushChanges, daCheckinSeconds);\n }\n $(document).trigger(\"daPageLoad\");\n}\n\nfunction daSetPosition(position) {\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n latitude: position.coords.latitude,\n longitude: position.coords.longitude,\n });\n}\n\nfunction daAddListenersFor(elementId) {\n $('[name=\"' + elementId + '\"]').change(function () {\n if ($(this).attr(\"type\") == \"checkbox\" || $(this).attr(\"type\") == \"radio\") {\n theVal = $('[name=\"' + elementId + '\"]:checked').val();\n } else {\n theVal = $(this).val();\n }\n var n = 0;\n if ($(this).data(\"disableothers\")) {\n var id_list = JSON.parse(\n decodeURIComponent(escape(atob($(this).data(\"disableothers\")))),\n );\n n = id_list.length;\n }\n if (n) {\n for (var i = 0; i < n; ++i) {\n var theElementId = id_list[i].replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n if (theVal == null || theVal == \"\") {\n daDisableIfNotHidden(\n \"#daform [name='\" + theElementId + \"']:not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform [id='\" + theElementId + \"']:not([type=hidden])\",\n false,\n );\n } else {\n daDisableIfNotHidden(\n \"#daform [name='\" + theElementId + \"']:not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform [id='\" + theElementId + \"']:not([type=hidden])\",\n true,\n );\n }\n }\n } else {\n if (theVal == null || theVal == \"\") {\n daDisableIfNotHidden(\n \"#daform input:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform select:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform textarea:not([name='\" + elementId + \"']):not([type=hidden])\",\n false,\n );\n } else {\n daDisableIfNotHidden(\n \"#daform input:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform select:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform textarea:not([name='\" + elementId + \"']):not([type=hidden])\",\n true,\n );\n }\n }\n });\n $(\"[data-disableothers]\").trigger(\"change\");\n}\n\nfunction daShowError(error) {\n switch (error.code) {\n case error.PERMISSION_DENIED:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"User denied the request for Geolocation\",\n });\n console.log(\"User denied the request for Geolocation.\");\n break;\n case error.POSITION_UNAVAILABLE:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"Location information is unavailable\",\n });\n console.log(\"Location information is unavailable.\");\n break;\n case error.TIMEOUT:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"The request to get user location timed out\",\n });\n console.log(\"The request to get user location timed out.\");\n break;\n case error.UNKNOWN_ERROR:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"An unknown error occurred\",\n });\n console.log(\"An unknown error occurred.\");\n break;\n }\n}\n"],"names":["$","document","addEventListener","jQuery","noConflict","daJsEmbed","daTargetDiv","daPreloadImage","daImageToPreLoad","daAutoColorScheme","window","matchMedia","matches","daDesiredColorScheme","daCurrentColorScheme","documentElement","setAttribute","ajax","type","url","daUrlChangeColorScheme","xhrFields","withCredentials","data","success","scheme","error","xhr","status","console","log","dataType","ready","daReadyFunction","daObserverMode","daUpdateHeight","resize","daConfigureJqueryFuncs","i","daInitialExtraScripts","length","daEvalExtraScript","daCustomItems","daGlobalEval","js","e","datatype","stack","daColor","daWindowWidth","daTheWidth","daAspectRatio","daTheBorders","daSignaturePad","daWaitPage","daInitializeSignature","penColor","defaultImage","daNewCanvas","on","daResizeCanvas","click","preventDefault","isEmpty","getElementById","value","removeClass","setTimeout","addClass","attr","daSaveCanvas","width","dataURL","toDataURL","daSpinnerTimeout","daShowSpinner","daPost","da_success","da_the_image","da_ajax","cwidth","contentwidth","outerWidth","cheight","otherHeights","outerHeight","height","canvas","html","daThicknessScalingFactor","SignaturePad","querySelector","fromDataURL","ratio","xOffset","yOffset","minWidth","maxWidth","scrollTo","daSteps","scrollIntoView","params","key","hasOwnProperty","hiddenField","submit","isCanvasSupported","elem","createElement","getContext","daAutocomplete","Object","daWaitForGoogle","waitForPlaces","Promise","let","attempts","maxAttempts","interval","setInterval","found","google","maps","undefined","Error","places","clearInterval","resolve","daInitAutocomplete","info","id","opts","suggestions","async","daInitAutocompleteOld","await","Autocomplete","event","addListener","daFillInAddressFor","daFillInAddressOld","daInitMap","daMapInfo","googleLoaded","importLibrary","timePeriod","map_info_length","the_map","bounds","LatLngBounds","daAddMap","center","latitude","longitude","marker_length","markers","show_marker","j","new_marker","daAddMarker","extend","LatLng","position","lat","lng","map","fitBounds","map_num","center_lat","center_lon","Map","zoom","mapTypeId","MapTypeId","ROADMAP","mapId","infowindow","InfoWindow","marker_info","AdvancedMarkerElement","PinElement","marker","content","icon","element","setContent","open","daFillInAddress","origId","place","daVarLookupRev","baseVarname","atob","replace","re","RegExp","componentTrans","administrative_area_level_1","administrative_area_level_2","alternatives","fieldsToClear","idForPart","each","the_id","this","field_name","indexOf","m","exec","component","savedValues","toChange","addressComponents","addressType","types","val","push","the_address","theZipCode","location","fieldName","altList","fieldsToGet","fields","pythonVar","jsVar","underscoreToCamel","Array","isArray","transformedObject","JSON","parse","stringify","entries","forEach","jsSubVar","pythonSubVar","camelToUnderscore","jsonIfObject","trigger","base_varname","componentForm","locality","sublocality","administrative_area_level_3","country","postal_code","fields_to_fill","id_for_part","getPlace","street_number","route","address_components","adr_address","business_status","formatted_address","formatted_phone_number","geometry","international_phone_number","name","place_id","price_level","rating","utc_offset_minutes","vicinity","website","daGeolocate","navigator","geolocation","getCurrentPosition","coords","circle","Circle","radius","accuracy","setBounds","getBounds","daRequestPending","isAndroid","test","userAgent","toLowerCase","daWhichButton","daSocket","daChatHistory","daCheckinCode","daCheckingIn","daShowingHelp","daIframeEmbed","parent","daChatPartnersAvailable","daPhoneAvailable","daInitialized","daConfirmed","daNoConnectionCount","daObserverChangesInterval","daNotYetScrolled","daInformedChanged","daShowingSpinner","daSubmitter","daGAConfigured","daShowIfInProcess","daFieldsToSkip","daVarLookup","daVarLookupMulti","daVarLookupRevMulti","daVarLookupSelect","daVarLookupCheckbox","daVarLookupOption","daComboBoxes","eval","daFetchAcceptIncoming","daFetchAjaxTimeout","daFetchAjaxTimeoutRunning","daFetchAjaxTimeoutFetchAfter","daAddressAcceptIncoming","daAddressAjaxTimeout","daAddressAjaxTimeoutRunning","daAddressAjaxTimeoutCallAfter","daShowHideHappened","daCheckinInterval","daInitialCheckinTimeout","daReloader","daDisable","daAllowGoingBack","daIsUser","daUserId","daChatStatus","daChatAvailable","daChatMode","daSendChanges","daBeingControlled","daInformed","daUsingGA","daUsingSegment","daDoAction","daQuestionID","daCsrf","daComboboxButtonLabel","daInterviewUrl","daLocationBar","daPostURL","daYamlFilename","daNotificationContainer","daNotificationMessage","daMessageLog","daGetVariablesUrl","daLiveHelpMessage","daLiveHelpMessagePhone","daNewChatMessage","daLiveHelpAvailableMessage","daScreenBeingControlled","daScreenNoLongerBeingControlled","daPathRoot","daCheckinSeconds","daChatRoles","daChatPartnerRoles","daAllButtonClasses","daButtonStyle","daShouldForceFullScreen","daPageSep","daAreYouSure","daOtherUser","daOtherUsers","daOperator","daOperators","daCheckinUrl","daCheckoutUrl","daCurrencyDecimalPlaces","daShouldDebugReadabilityHelp","daShouldDebugReadabilityQuestion","daEmailAddressRequired","daNeedCompleteEmail","daDefaultPopoverTrigger","daToggleWord","daCheckinUrlWithInterview","daReloadAfterSeconds","daTrackingEnabled","dagoogleapicallback","daForceFullScreen","steps","top","href","defineProperty","String","prototype","args","from","arguments","defaultNumber","iValue","isNaN","defaultString","match","sign","filler","scale","precision","strOut","space","asNumber","splice","shift","parseInt","substr","repeat","parseFloat","toExponential","toFixed","toString","str","rest","daSprintf","apply","daGoToAnchor","target","scrollTarget","first","offset","animate","scrollTop","atou","b64","decodeURIComponent","escape","utoa","btoa","unescape","encodeURIComponent","dabtoa","daatob","hideTablist","anyTabs","is","getFields","allFields","rawFieldName","daGetFields","daAppendIfExists","theArray","getField","notInDiv","n","checkboxes","prop","showifParents","parents","contains","select","fieldNameEscaped","possibleElements","returnVal","hasClass","fieldSet","daGetField","setChoices","choices","isCombobox","comboInput","find","comboObject","oldComboVal","$target","$source","oldVal","remove","opt","text","append","refresh","clearTarget","daSetField","daSetChoices","setField","theValue","wasSet","manualSelect","theVal","newVal","oldValue","option","changed","thisVal","cbSelected","selectedVals","da_val","daFormAsJSON","isInitial","formData","serializeArray","inArray","isChangedElem","img","Image","src","daShowHelpTab","tab","addCsrfHeader","settings","setRequestHeader","flash","message","priority","clear","empty","newElement","hide","da_flash","url_action","action","JSON_stringify","da_url_action","action_call","callback","forgetPrior","readOnly","_action","_arguments","beforeSend","param","_readonly","csrf_token","daProcessAjaxError","da_action_call","url_action_call","action_perform","daProcessAjax","da_action_perform","url_action_perform","action_perform_with_next","next_data","_next_action_to_set","da_action_perform_with_next","url_action_perform_with_next","get_interview_variables","da_get_interview_variables","daInformAbout","subject","chatMessage","waitPeriod","popover","placement","container","title","removeAttr","daPublishMessage","newDiv","is_self","daScrollChat","chatScroller","scrollHeight","daScrollChatFast","daSender","emit","focus","daShowControl","mode","css","appendTo","slideDown","show","daHideControl","slideUp","daInitializeSocket","connected","connect","protocol","io","domain","path","query","daDisplayChat","daPushChanges","arg","messages","disconnect","daTurnOnChat","numpartners","daCloseChat","incoming","obj","valArray","values","parameters","slider","clicked","daUnfakeHtmlResponse","daTurnOnControl","daResetPushChanges","uid","daUid","userid","daUserObserved","daTurnOffControl","daStopPushChanges","daInjectTrim","handler","tagName","trim","call","daInvalidHandler","form","validator","errors","numberOfInvalids","errorList","daValidator","daValidationRules","daValidationHandler","visibleElements","seen","filter","theName","off","daOnChange","tableOrder","tableOrderChanges","tableName","tableChanged","collectToDelete","lastOk","last","keys","join","do_iframe_upload","inline_succeeded","filesToRead","filesRead","newFileList","nullFileList","fileArray","file_list","inline_file_list","namesWithImages","the_file_input","the_max_size","the_image_type","hasImages","files","the_file","originalFileList","concat","fileInfoList","file_input","max_size","image_type","image_mime_type","this_has_images","a_file","tempFunc","has_images","reader","FileReader","thisFileInfo","size","onload","readerEvent","convertedName","convertedType","pos","lastIndexOf","image","imageEvent","drawImage","daResumeUploadSubmission","result","readAsDataURL","iframe","bind","parseJSON","contents","f","daShowErrorScreen","contentWindow","body","innerHTML","serialize","daSetupValidation","rules","submitHandler","invalidHandler","onfocusout","defaults","validate","showErrors","daRecordLocation","daSetPosition","daShowError","timeout","maximumAge","daSignatureSubmit","stopPropagation","s","json","c","charCodeAt","slice","disabled","oThis","daCheckin","daConnected","responseType","theHtml","responseText","daDivs","children","otherScripts","startsWith","daErrorScript","errorScriptDiv","daScripts","scriptElement","appendChild","reload","daShowNotifications","daAddScriptToHead","head","getElementsByTagName","script","defer","which","tag","activeElement","not","blur","daAddListenersFor","tooltip","enabled","color","default","clearTimeout","daRefreshSubmit","sleep","doScroll","actionURL","question_data","daQuestionData","bodyclass","do_action","livehelp","availability","roles","partner_roles","history","state","pushState","browser_title","replaceState","allow_going_back","id_dict","message_log","daInitialize","extra_scripts","scrollToTarget","extra_css","lang","reload_after","daHideSpinner","input","daEmbeddedJs","daEmbeddedAction","confirm","actionData","theURL","daReviewAction","daRingChat","daChatLogCallback","daResetCheckinCode","Math","random","daCheckinCallback","checkin_code","commands","command","extra","assignments","possible_assignment","assignment","oldDaChatStatus","phone","statusChanged","chat_status","num_peers","help_available","observerControl","daCheckoutCallback","daInitialCheckin","datastring","chatstatus","chatmode","checkinCode","raw_parameters","daCheckout","daStopCheckingIn","newSpan","newI","daObserverSubmitter","theAction","embeddedJs","embeddedAction","linkNum","theId","skey","daAdjustInputWidth","leftBracket","rightBracket","daIgnoreAllButTab","code","keyCode","daDisableIfNotHidden","showIfParent","disable","enable","daShowIfCompare","showIfVal","rationalizeListCollect","finalNum","num","firstNum","seenAddAnother","current","daFetchAjax","cb","doShow","wordStart","shown","wordstart","upperWordStart","toUpperCase","emptyItem","notYetSelected","selectedValue","item","keyList","sort","$element","lookup","split","word","index","charAt","camelStr","fileinput","theme","language","allowedPreviewTypes","row","prev","insertBefore","next","insertAfter","valid","visible","isObject","varname","theSelect","cbList","theType","variable","cleanNum","replaceAll","selects","querySelectorAll","labelauty","class","label","anyChanged","firstEncountered","existing_val","combobox","buttonLabel","inputBox","daInputBox","clearIfNoMatch","functionalButton","showButton","matcher","lookupWhileTyping","thisId","Place","AutocompleteSessionToken","AutocompleteSuggestion","token","priorQuery","priorResults","request","region","sessionToken","$container","selected","placePrediction","toPlace","fetchFields","includedPrimaryTypes","fetchAutocompleteSuggestions","results","sugMap","suggestion","addressText","every","options","items","reduce","revMap","process","_attachment_email_address","minlength","required","email","errorClass","daPopoverTriggerList","daPopoverTrigger","daPopoverList","daPopoverTriggerEl","bootstrap","Popover","informed","theCode","the_key","box","toggler","toggleClass","firstInput","inputType","strLength","setSelectionRange","err","firstButton","theIds","navMain","collapse","the_hash","patt","pattObj","pattRaw","checkboxName","baseName","bracketPart","transBaseName","daNameOne","daNameTwo","daNameThree","daNameBase","daTriggerQueries","daInputsSeen","daOnlyUnique","self","showIfDiv","jsInfo","showIfSign","showIfMode","jsExpression","infoItem","showIfVars","initShowIfVar","initShowIfVarEscaped","altShowIfVar","altShowIfVarEscaped","altElem","showIfVar","showIfVarEscaped","varToUse","showHideDiv","speed","resultt","leader","showHideDivImmediate","showHideDivFast","change","varName","endsWith","signifier","cbVarName","thisVarName","saveAs","firstChild","daTriggerAllShowHides","daUniqueTriggerQueries","daFirstTime","daTries","the_a","the_delay","daPageview","daSegmentEvent","setDefaults","ignore","highlight","closest","unhighlight","errorElement","errorPlacement","elementName","idOfErrorSpan","lastInGroup","thefields","thename","fieldsArr","fileContainer","choice_with_help","addMethod","a","b","realElement","realValue","number_needed","css_query","date","Date","comparator","before_comparator","after_comparator","time","datetime","limit","maxImageSize","totalSize","dataLayer","gtag","idToUse","send_page_view","daSecureCookies","daGaIds","daInterviewPackage","daInterviewFilename","page_path","daReloadAfter","onpopstate","daDefaultAllowList","Tooltip","Default","allowList","daRootUrl","daStopControlling","daGotConfirmation","daAbortControlling","elementId","id_list","theElementId","PERMISSION_DENIED","POSITION_UNAVAILABLE","TIMEOUT","UNKNOWN_ERROR"],"mappings":"AAAA,IAAIA,EAEJC,SAASC,iBAAiB,mBAAoB,WAC5C,GAAI,OAAOF,GAAK,YAAa,CAC3BA,EAAIG,OAAOC,WAAW,CACxB,CACA,GAAIC,UAAW,CACbC,YAAc,IAAMD,SACtB,KAAO,CACLC,YAAc,SAChB,CACAC,eAAeC,gBAAgB,EAC/B,GAAIC,kBAAmB,CACrB,GAAIC,OAAOC,WAAW,8BAA8B,EAAEC,QAAS,CAC7DC,qBAAuB,CACzB,KAAO,CACLA,qBAAuB,CACzB,CACA,GAAIC,sBAAwBD,qBAAsB,CAChDZ,SAASc,gBAAgBC,aACvB,gBACAH,qBAAuB,OAAS,OAClC,EACAb,EAAEiB,KAAK,CACLC,KAAM,QACNC,IAAKC,uBACLC,UAAW,CACTC,gBAAiB,IACnB,EACAC,KAAM,UAAYV,qBAClBW,QAAS,SAAUD,MACjBT,qBAAuBS,KAAKE,MAC9B,EACAC,MAAO,SAAUC,IAAKC,OAAQF,OAC5BG,QAAQC,IAAI,wCAAwC,CACtD,EACAC,SAAU,MACZ,CAAC,CACH,CACF,CACA/B,EAAEC,QAAQ,EAAE+B,MAAMC,eAAe,EACjC,GAAI,CAACC,eAAgB,CACnBlC,EAAEU,MAAM,EAAEsB,MAAMG,cAAc,EAC9BnC,EAAEU,MAAM,EAAE0B,OAAOD,cAAc,CACjC,CACAE,uBAAuB,EACvB,IAAK,IAAIC,EAAI,EAAGA,EAAIC,sBAAsBC,OAAQF,CAAC,GAAI,CACrDG,kBAAkBF,sBAAsBD,EAAE,CAC5C,CACA,IAAK,IAAIA,EAAI,EAAGA,EAAII,cAAcF,OAAQF,CAAC,GAAI,CAC7C,IACEK,aAAaD,cAAcJ,GAAGM,EAAE,CAMlC,CALE,MAAOC,GACPhB,QAAQH,MACN,gDACEgB,cAAcJ,GAAGQ,SAAUD,EAAEE,KACjC,CACF,CACF,CACF,CAAC,EAED,IAAIC,QAAU,OACd,IAAIC,cACJ,IAAIC,WACJ,IAAIC,cACJ,IAAIC,aACJ,IAAIC,eACJ,IAAIC,WAAa,MAEjB,SAASC,sBAAsBC,SAAUC,cACvCT,QAAUQ,SACVL,cAAgB,GAChBC,aAAe,GACfM,YAAYD,YAAY,EAExBzD,EAAEU,MAAM,EAAEiD,GAAG,SAAU,WACrBC,eAAe,CACjB,CAAC,EACD5D,EAAEU,MAAM,EAAEiD,GAAG,oBAAqB,WAChCC,eAAe,CACjB,CAAC,EACD5D,EAAE,aAAa,EAAE6D,MAAM,SAAUhB,GAC/BA,EAAEiB,eAAe,EACjBJ,YAAY,EACZ,OAAO,KACT,CAAC,EACD1D,EAAE,YAAY,EAAE6D,MAAM,SAAUhB,GAC9BA,EAAEiB,eAAe,EACjB,GACET,eAAeU,QAAQ,GACvB9D,SAAS+D,eAAe,iBAAiB,EAAEC,OAAS,IACpD,CACAjE,EAAE,cAAc,EAAEkE,YAAY,iBAAiB,EAC/CC,WAAW,WACTnE,EAAE,cAAc,EAAEoE,SAAS,iBAAiB,CAC9C,EAAG,GAAI,CACT,KAAO,CACLpE,EAAE,aAAa,EAAEqE,KAAK,WAAY,IAAI,EACtCrE,EAAE,YAAY,EAAEqE,KAAK,WAAY,IAAI,EACrCC,aAAa,CACf,CACA,OAAO,KACT,CAAC,CACH,CAIA,SAASV,iBACP,GAAI5D,EAAEU,MAAM,EAAE6D,MAAM,GAAKtB,cAAe,CACtCA,cAAgBjD,EAAEU,MAAM,EAAE6D,MAAM,EAChCJ,WAAW,WACTT,YAAY,CACd,EAAG,GAAG,CACR,CACA,MACF,CAEA,SAASY,eACP,IAAIE,QAAUnB,eAAeoB,UAAU,EAEvCC,iBAAmBP,WAAWQ,cAAe,GAAI,EACjDC,OAAO,CAAEC,WAAY,EAAGC,aAAcN,QAASO,QAAS,CAAE,CAAC,CAC7D,CAEA,SAASrB,YAAYD,aAAe,MAElCR,cAAgBjD,EAAEU,MAAM,EAAE6D,MAAM,EAChC,IAAIS,OAAShF,EAAEU,MAAM,EAAE6D,MAAM,EAAInB,aACjC,IAAI6B,aAAejF,EAAE,YAAY,EAAEkF,WAAW,IAAI,EAClD,GAAIF,OAASC,aAAc,CACzBD,OAASC,YACX,CACA,IAAIE,QAAUH,OAAS7B,cACvB,IAAIiC,aACFpF,EAAE,cAAc,EAAEqF,YAAY,IAAI,EAClCrF,EAAE,eAAe,EAAEqF,YAAY,IAAI,EACnCrF,EAAE,eAAe,EAAEqF,YAAY,IAAI,EACnCrF,EAAE,kBAAkB,EAAEqF,YAAY,IAAI,EACxC,GAAIF,QAAUnF,EAAEU,MAAM,EAAE4E,OAAO,EAAIF,aAAc,CAC/CD,QAAUnF,EAAEU,MAAM,EAAE4E,OAAO,EAAIF,YACjC,CACA,GAAID,QAAU,KAAOA,QAAU,GAAI,CACjCA,QAAU,GACZ,CACAnF,EAAE,eAAe,EAAEsF,OAAOH,OAAO,EACjC,IAAII,OACF,wDACAP,OACA,eACAG,QACA,gBACFnF,EAAE,eAAe,EAAEwF,KAAKD,MAAM,EAC9BrC,WAAcuC,yBAA2BT,OAAU,IACnD,GAAI9B,WAAa,EAAG,CAClBA,WAAa,CACf,CACAG,eAAiB,IAAIqC,aAAazF,SAAS0F,cAAc,cAAc,CAAC,EACxE,GAAIlC,cAAgB,KAAM,CACxBJ,eAAeuC,YAAYnC,aAAc,CACvCoC,MAAO,EACPtB,MAAOS,OACPM,OAAQH,QACRW,QAAS,EACTC,QAAS,CACX,CAAC,CACH,CACA1C,eAAe2C,SAAW,GAAMP,yBAChCpC,eAAe4C,SAAW,IAAMR,yBAChCpC,eAAeG,SAAWR,QAC1BmB,WAAW,WACT,GAAI9D,UAAW,CACbL,EAAEM,WAAW,EAAE,GAAG4F,SAAS,EAAG,CAAC,EAC/B,GAAIC,QAAU,EAAG,CACfnG,EAAEM,WAAW,EAAE,GAAG8F,eAAe,CACnC,CACF,KAAO,CACL1F,OAAOwF,SAAS,EAAG,CAAC,CACtB,CACF,EAAG,EAAE,CACP,CAEA,SAAStB,OAAOyB,QACd,IAAK,IAAIC,OAAOD,OAAQ,CACtB,GAAIA,OAAOE,eAAeD,GAAG,EAAG,CAC9B,IAAIE,YAAcvG,SAAS+D,eAAesC,GAAG,EAC7C,GAAIE,aAAe,KAAM,CACvBA,YAAYxF,aAAa,QAASqF,OAAOC,IAAI,CAC/C,KAAO,CACLzE,QAAQC,IAAI,uBAAyBwE,GAAG,EACxC,MACF,CACF,CACF,CACAtG,EAAE,YAAY,EAAEyG,OAAO,EACvB,MACF,CAEA,SAASC,oBACP,IAAIC,KAAO1G,SAAS2G,cAAc,QAAQ,EAC1C,MAAO,CAAC,EAAED,KAAKE,YAAcF,KAAKE,WAAW,IAAI,EACnD,CAEA,IAAIC,eAAiBC,OAAO,EAE5B,SAASC,gBAAgBC,eACvB,OAAO,IAAIC,QAAQ,UACjBC,IAAIC,SAAW,EACf,MAAMC,YAAc,GACpB,MAAMC,SAAWC,YAAY,KAC3B,IAAIC,MAAQ,MACZ,IACE,GAAIC,OAAOC,OAASC,UAAW,CAC7B,MAAM,IAAIC,MAAM,yBAAyB,CAC3C,CACA,GAAIX,cAAe,CACjB,GAAIQ,OAAOC,KAAKG,SAAWF,UAAW,CACpC,MAAM,IAAIC,MAAM,oBAAoB,CACtC,CACF,CACAJ,MAAQ,IACG,CAAX,MAAO3E,IACT,GAAI2E,OAASJ,UAAYC,YAAa,CACpCS,cAAcR,QAAQ,EACtBS,QAAQP,KAAK,CACf,CACAJ,QAAQ,EACV,EAAG,GAAG,CACR,CAAC,CACH,CAEA,SAASY,mBAAmBC,MAC1BnB,eAAiBC,OAAO,EACxB,IAAK,IAAIzE,EAAI,EAAGA,EAAI2F,KAAKzF,OAAQ,EAAEF,EAAG,CACpCwE,eAAemB,KAAK3F,GAAG,IAAM,CAC3B4F,GAAID,KAAK3F,GAAG,GACZ6F,KAAMF,KAAK3F,GAAG,GACd8F,YAAa,EACf,CACF,CACF,CAEAC,eAAeC,sBAAsBL,MACnCM,MAAMvB,gBAAgB,IAAI,EAC1B,IAAK,IAAI1E,EAAI,EAAGA,EAAI2F,KAAKzF,OAAQ,EAAEF,EAAG,CACpC,IAAI4F,GAAKD,KAAK3F,GAAG,GACjB,IAAI6F,KAAOF,KAAK3F,GAAG,GACnBwE,eAAeoB,IAAM,IAAIT,OAAOC,KAAKG,OAAOW,aAC1CvI,SAAS+D,eAAekE,EAAE,EAC1BC,IACF,EACAV,OAAOC,KAAKe,MAAMC,YAChB5B,eAAeoB,IACf,gBACAS,mBAAmBT,EAAE,CACvB,CACF,CACF,CAEA,SAASS,mBAAmBT,IAC1B,OAAO,WACLU,mBAAmBV,EAAE,CACvB,CACF,CAEAG,eAAeQ,UAAUC,WACvB,IAAIC,aAAeR,MAAMvB,gBAAgB,KAAK,EAC9C,GAAI,CAAC+B,aAAc,CACjBlH,QAAQC,IAAI,oCAAoC,EAChD,MACF,CACAyG,MAAMd,OAAOC,KAAKsB,cAAc,MAAM,EACtC,IAAIC,WAAa,EACjBvB,KAAO,GACP,IAAIwB,gBAAkBJ,UAAUtG,OAChC,IAAK,IAAIF,EAAI,EAAGA,EAAI4G,gBAAiB5G,CAAC,GAAI,CACxC6G,QAAUL,UAAUxG,GACpB,IAAI8G,OAAS,IAAI3B,OAAOC,KAAK2B,aAC7B3B,KAAKpF,GAAKgH,SAAShH,EAAG6G,QAAQI,OAAOC,SAAUL,QAAQI,OAAOE,SAAS,EACvEC,cAAgBP,QAAQQ,QAAQnH,OAChC,GAAIkH,eAAiB,EAAG,CACtBE,YAAc,IAChB,KAAO,CACLA,YAAc,KAChB,CACA,IAAK,IAAIC,EAAI,EAAGA,EAAIH,cAAeG,CAAC,GAAI,CACtC,IAAIC,WAAavB,MAAMwB,YACrBrC,KAAKpF,GACL6G,QAAQQ,QAAQE,GAChBD,WACF,EACAR,OAAOY,OACL,IAAIvC,OAAOC,KAAKuC,OACdH,WAAWI,SAASC,IACpBL,WAAWI,SAASE,GACtB,CACF,CACF,CACA,GAAIV,cAAgB,EAAG,CACrBhC,KAAKpF,GAAG+H,IAAIC,UAAUlB,MAAM,CAC9B,CACF,CACF,CAEA,SAASE,SAASiB,QAASC,WAAYC,YACrC,IAAIJ,IAAM,IAAI5C,OAAOC,KAAKgD,IAAIzK,SAAS+D,eAAe,MAAQuG,OAAO,EAAG,CACtEI,KAAM,GACNpB,OAAQ,IAAI9B,OAAOC,KAAKuC,OAAOO,WAAYC,UAAU,EACrDG,UAAWnD,OAAOC,KAAKmD,UAAUC,QACjCC,MAAO,MAAQR,QAAU,SAC3B,CAAC,EACD,IAAIS,WAAa,IAAIvD,OAAOC,KAAKuD,WACjC,MAAO,CAAEZ,IAAKA,IAAKW,WAAYA,UAAW,CAC5C,CAEA3C,eAAe0B,YAAYM,IAAKa,YAAatB,aAC3C,KAAM,CAAEuB,sBAAuBC,UAAW,EACxC7C,MAAMd,OAAOC,KAAKsB,cAAc,QAAQ,EAC1C,IAAIqC,OACJ,IAAIC,QACJ,GAAIJ,YAAYK,KAAM,CACpBD,QAAU,IAAIF,WAAWF,YAAYK,IAAI,CAC3C,KAAO,CACLD,QAAU,IAAIF,UAChB,CACAC,OAAS,IAAIF,sBAAsB,CACjCjB,SAAU,CACRC,IAAKe,YAAY1B,SACjBY,IAAKc,YAAYzB,SACnB,EACAY,IAAKA,IAAIA,IACTiB,QAASA,QAAQE,OACnB,CAAC,EACD,GAAIN,YAAYjD,KAAM,CACpBR,OAAOC,KAAKe,MAAMC,YAChB2C,OACA,QACA,SAAWA,OAAQpD,MACjB,OAAO,WACLoC,IAAIW,WAAWS,WAAWxD,IAAI,EAC9BoC,IAAIW,WAAWU,KAAKrB,IAAIA,IAAKgB,MAAM,CACrC,CACD,EAAEA,OAAQH,YAAYjD,IAAI,CAC7B,CACF,CACA,GAAI2B,YAAa,CACfS,IAAIW,WAAWS,WAAWP,YAAYjD,IAAI,EAC1CoC,IAAIW,WAAWU,KAAKrB,IAAIA,IAAKgB,MAAM,CACrC,CACA,OAAOA,MACT,CAEA,SAASM,gBAAgBC,OAAQC,OAC/B,IAAI3D,GACJ,GAAI4D,eAAeF,QAAS,CAC1B1D,GAAK4D,eAAeF,OACtB,KAAO,CACL1D,GAAK0D,MACP,CACA,IAAIG,YAAcC,KAAK9D,EAAE,EAAE+D,QAAQ,kBAAmB,EAAE,EACxDF,YAAcA,YAAYE,QAAQ,UAAW,GAAG,EAChD,IAAIC,GAAK,IAAIC,OAAO,IAAMJ,YAAc,OAAO,EAC/C,IAAIK,eAAiB,CACnBC,4BAA6B,CAAC,QAAS,aACvCC,4BAA6B,CAAC,SAAU,WAC1C,EACA,IAAIC,aAAe,CACjB,CACE,OACA,CACE,WACA,sBACA,eACA,8BACA,oBAGJ,CACE,cACA,CACE,sBACA,sBACA,sBACA,sBACA,yBAIN,IAAIC,cAAgB,CAClB,UACA,8BACA,8BACA,8BACA,8BACA,8BACA,8BACA,8BACA,qBACA,UACA,cACA,kBACA,OACA,kBACA,gBACA,UACA,SACA,iBACA,eACA,6BACA,gBACA,QACA,oBACA,cACA,qCACA,oCACA,qCACA,oCACA,KACA,6BACA,eACA,WACA,WACA,WACA,WACA,YACA,wBACA,kBACA,eACA,OACA,UACA,aACA,aACA,YACA,oBACA,YACA,WACA,cACA,cACA,UACA,cACA,eACA,4BACA,0CACA,SACA,cACA,OACA,QACA,QACA,gBACA,cACA,aACA,gBACA,kBACA,QACA,qBACA,qBACA,OAEF,IAAIC,UAAY,GAChBzM,EAAE,eAAe,EAAE0M,KAAK,WACtB,IAAIC,OAAS3M,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,EAC9B,GAAI,OAAOsI,SAAW,OAAOhF,WAAagF,SAAW,MAAO,CAC1D,IACE,IAAIE,WAAab,KAAKhM,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,CAAC,EACxC,GAAIwI,WAAWC,QAAQ,SAAS,GAAK,EAAG,CACtCD,WAAab,KAAKF,eAAe9L,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,EAAE,CACtD,CACA,IAAI0I,EAAIb,GAAGc,KAAKH,UAAU,EAC1B,GAAIE,EAAEvK,OAAS,EAAG,CAChBiK,UAAUM,EAAE,IAAM/M,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,CACrC,CACW,CAAX,MAAOxB,IACX,CACF,CAAC,EACD,IAAK,IAAIoK,aAAaT,cAAe,CACnC,GACE,OAAOC,UAAUQ,YAAc,aAC/BhN,SAAS+D,eAAeyI,UAAUQ,UAAU,GAAK,KACjD,CACAhN,SAAS+D,eAAeyI,UAAUQ,UAAU,EAAEhJ,MAAQ,EACxD,CACF,CACA,IAAIiJ,YAAc,GAClB,IAAIC,SAAW,GACf,IAAK,IAAI7K,EAAI,EAAGA,EAAIuJ,MAAMuB,kBAAkB5K,OAAQF,CAAC,GAAI,CACvD,IAAI+K,YAAcxB,MAAMuB,kBAAkB9K,GAAGgL,MAAM,GACnD,GAAID,aAAe,iBAAmBA,aAAe,UAAW,CAC9DH,YAAYG,aAAexB,MAAMuB,kBAAkB9K,GAAG,YACxD,KAAO,CACL4K,YAAYG,aAAexB,MAAMuB,kBAAkB9K,GAAG,WACxD,CACA,GACE8J,eAAeiB,cACfZ,UAAUL,eAAeiB,aAAa,KACtC,OAAOZ,UAAUL,eAAeiB,aAAa,KAAO,aACpDpN,SAAS+D,eAAeyI,UAAUL,eAAeiB,aAAa,GAAG,GAAK,KACtE,CACA,IAAIE,IAAM1B,MAAMuB,kBAAkB9K,GAAG8J,eAAeiB,aAAa,IACjE,GAAI,OAAOE,KAAO,YAAa,CAC7BtN,SAAS+D,eACPyI,UAAUL,eAAeiB,aAAa,GACxC,EAAEpJ,MAAQsJ,IACVJ,SAASK,KAAK,IAAMf,UAAUL,eAAeiB,aAAa,GAAG,CAC/D,CACF,CACA,GACEZ,UAAUY,cACV,OAAOZ,UAAUY,cAAgB,aACjCpN,SAAS+D,eAAeyI,UAAUY,YAAY,GAAK,KACnD,CACA,IAAIE,IAAML,YAAYG,aACtB,GAAI,OAAOE,KAAO,YAAa,CAC7BtN,SAAS+D,eAAeyI,UAAUY,YAAY,EAAEpJ,MAAQsJ,IACxDJ,SAASK,KAAK,IAAMf,UAAUY,YAAY,CAC5C,CACF,CACF,CACA,GACE,OAAOZ,UAAU,YAAc,aAC/BxM,SAAS+D,eAAeyI,UAAU,UAAU,GAAK,KACjD,CACA,IAAIgB,YAAc,GAClB,GAAI,OAAOP,YAAY,kBAAoB,YAAa,CACtDO,aAAeP,YAAY,iBAAmB,GAChD,CACA,GAAI,OAAOA,YAAY,UAAY,YAAa,CAC9CO,aAAeP,YAAY,QAC7B,CACAjN,SAAS+D,eAAeyI,UAAU,UAAU,EAAExI,MAAQwJ,YACtDN,SAASK,KAAK,IAAMf,UAAU,UAAU,CAC1C,CACA,GACE,OAAOA,UAAU,QAAU,aAC3BxM,SAAS+D,eAAeyI,UAAU,MAAM,GAAK,MAC7C,OAAOS,YAAY,gBAAkB,aACrCA,YAAY,gBAAkB,GAC9B,CACA,IAAIQ,WAAaR,YAAY,eAC7B,GACE,OAAOA,YAAY,uBAAyB,aAC5CA,YAAY,uBAAyB,GACrC,CACAQ,YAAc,IAAMR,YAAY,qBAClC,CACAjN,SAAS+D,eAAeyI,UAAU,MAAM,EAAExI,MAAQyJ,WAClDP,SAASK,KAAK,IAAMf,UAAU,MAAM,CACtC,CACA,GAAIZ,MAAM8B,SAAU,CAClB,GACE,OAAOlB,UAAU,aAAe,aAChCxM,SAAS+D,eAAeyI,UAAU,WAAW,GAAK,KAClD,CACAxM,SAAS+D,eAAeyI,UAAU,WAAW,EAAExI,MAC7C4H,MAAM8B,SAASxD,IAAI,EACrBgD,SAASK,KAAK,IAAMf,UAAU,WAAW,CAC3C,CACA,GACE,OAAOA,UAAU,cAAgB,aACjCxM,SAAS+D,eAAeyI,UAAU,YAAY,GAAK,KACnD,CACAxM,SAAS+D,eAAeyI,UAAU,YAAY,EAAExI,MAC9C4H,MAAM8B,SAASvD,IAAI,EACrB+C,SAASK,KAAK,IAAMf,UAAU,YAAY,CAC5C,CACF,CACA,IAAK,IAAInK,EAAI,EAAGA,EAAIiK,aAAa/J,OAAQF,CAAC,GAAI,CAC5C,KAAM,CAACsL,UAAWC,SAAWtB,aAAajK,GAC1C,GACE,OAAOmK,UAAUmB,YAAc,aAC/B3N,SAAS+D,eAAeyI,UAAUmB,UAAU,GAAK,MACjD3N,SAAS+D,eAAeyI,UAAUmB,UAAU,EAAE3J,OAAS,GACvD,EAEF,IAAK,IAAI4F,EAAI,EAAGA,EAAIgE,QAAQrL,OAAQqH,CAAC,GAAI,CACvC,GAAI,OAAOqD,YAAYW,QAAQhE,KAAO,YAAa,CACjD5J,SAAS+D,eAAeyI,UAAUmB,UAAU,EAAE3J,MAC5CiJ,YAAYW,QAAQhE,IACtBsD,SAASK,KAAK,IAAMf,UAAUmB,UAAU,EACxC,KACF,CACF,CACF,CACA,IAAIE,YAAchH,eAAe8E,QAAQzD,KAAK4F,QAAU,GACxD,IAAK,IAAIzL,EAAI,EAAGA,EAAIwL,YAAYtL,OAAQF,CAAC,GAAI,CAC3C,IAAI0L,UAAYF,YAAYxL,GAC5B,GAAI0L,WAAa,sBAAwBA,WAAa,WAAY,CAChE,QACF,CACA,IAAIC,MAAQC,kBAAkBF,SAAS,EACvC,GACEnC,MAAMoC,QAAU,MAChB,OAAOpC,MAAMoC,SAAW,UACxB,CAACE,MAAMC,QAAQvC,MAAMoC,MAAM,EAC3B,CACA,IAAII,kBAAoBC,KAAKC,MAAMD,KAAKE,UAAU3C,MAAMoC,MAAM,CAAC,EAC/DlH,OAAO0H,QAAQJ,iBAAiB,EAAEK,QAAQ,CAAA,CAAEC,SAAU1K,UACpD,IAAI2K,aAAeC,kBAAkBF,QAAQ,EAC7C,GACE1K,OAAS,MACT,OAAOwI,UAAUmC,eAAiB,aAClC3O,SAAS+D,eAAeyI,UAAUmC,aAAa,GAAK,KACpD,CACA3O,SAAS+D,eAAeyI,UAAUmC,aAAa,EAAE3K,MAC/C6K,aAAa7K,KAAK,EACpBkJ,SAASK,KAAK,IAAMf,UAAUmC,aAAa,CAC7C,CACF,CAAC,CACH,MAAO,GACL/C,MAAMoC,QACN,OAAOxB,UAAUuB,YAAc,aAC/B/N,SAAS+D,eAAeyI,UAAUuB,UAAU,GAAK,KACjD,CACA/N,SAAS+D,eAAeyI,UAAUuB,UAAU,EAAE/J,MAAQ6K,aACpDjD,MAAMoC,MACR,EACAd,SAASK,KAAK,IAAMf,UAAUuB,UAAU,CAC1C,CACF,CACA,IAAK,IAAI1L,EAAI,EAAGA,EAAI6K,SAAS3K,OAAQF,CAAC,GAAI,CACxCtC,EAAEmN,SAAS7K,EAAE,EAAEyM,QAAQ,QAAQ,CACjC,CACF,CAEA,SAASnG,mBAAmBgD,QAC1B,IAAI1D,GACJ,GAAI4D,eAAeF,QAAS,CAC1B1D,GAAK4D,eAAeF,OACtB,KAAO,CACL1D,GAAK0D,MACP,CACA,IAAIoD,aAAehD,KAAK9D,EAAE,EAAE+D,QAAQ,kBAAmB,EAAE,EACzD+C,aAAeA,aAAa/C,QAAQ,UAAW,GAAG,EAClD,IAAIC,GAAK,IAAIC,OAAO,IAAM6C,aAAe,OAAO,EAChD,IAAIC,cAAgB,CAClBC,SAAU,YACVC,YAAa,YACbC,4BAA6B,YAC7B9C,4BAA6B,YAC7BD,4BAA6B,aAC7BgD,QAAS,aACTC,YAAa,YACf,EACA,IAAIlD,eAAiB,CACnB8C,SAAU,OACV5C,4BAA6B,SAC7BD,4BAA6B,QAC7BgD,QAAS,UACTC,YAAa,KACf,EAEA,IAAIC,eAAiB,CACnB,UACA,OACA,SACA,QACA,MACA,eACA,cACA,8BACA,eAEF,IAAIC,YAAc,GAClBxP,EAAE,eAAe,EAAE0M,KAAK,WACtB,IAAIC,OAAS3M,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,EAC9B,GAAI,OAAOsI,SAAW,OAAOhF,WAAagF,SAAW,MAAO,CAC1D,IACE,IAAIE,WAAab,KAAKhM,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,CAAC,EACxC,GAAIwI,WAAWC,QAAQ,SAAS,GAAK,EAAG,CACtCD,WAAab,KAAKF,eAAe9L,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,EAAE,CACtD,CACA,IAAI0I,EAAIb,GAAGc,KAAKH,UAAU,EAC1B,GAAIE,EAAEvK,OAAS,EAAG,CAChBgN,YAAYzC,EAAE,IAAM/M,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,CACvC,CACW,CAAX,MAAOxB,IACX,CACF,CAAC,EACDgJ,MAAQ/E,eAAe8E,QAAQ6D,SAAS,EACxC,GACE,OAAOD,YAAY,YAAc,aACjCvP,SAAS+D,eAAewL,YAAY,UAAU,GAAK,KACnD,CACAvP,SAAS+D,eAAewL,YAAY,UAAU,EAAEvL,MAAQ,EAC1D,CAEA,IAAK,IAAIgJ,aAAasC,eAAgB,CACpC,GACE,OAAOC,YAAYvC,YAAc,aACjChN,SAAS+D,eAAewL,YAAYvC,UAAU,GAAK,KACnD,CACAhN,SAAS+D,eAAewL,YAAYvC,UAAU,EAAEhJ,MAAQ,EAC1D,CACF,CAEA,IAAIyL,cACJ,IAAIC,MACJ,IAAIzC,YAAc,GAClB,IAAIC,SAAW,GACf,IAAK,IAAI7K,EAAI,EAAGA,EAAIuJ,MAAM+D,mBAAmBpN,OAAQF,CAAC,GAAI,CACxD,IAAI+K,YAAcxB,MAAM+D,mBAAmBtN,GAAGgL,MAAM,GACpDJ,YAAYG,aAAexB,MAAM+D,mBAAmBtN,GAAG,aACvD,GAAI+K,aAAe,gBAAiB,CAClCqC,cAAgB7D,MAAM+D,mBAAmBtN,GAAG,aAC9C,CACA,GAAI+K,aAAe,QAAS,CAC1BsC,MAAQ9D,MAAM+D,mBAAmBtN,GAAG,YACtC,CACA,GACE2M,cAAc5B,cACdmC,YAAYpD,eAAeiB,eAC3B,OAAOmC,YAAYpD,eAAeiB,eAAiB,aACnDpN,SAAS+D,eAAewL,YAAYpD,eAAeiB,aAAa,GAAK,KACrE,CACA,IAAIE,IAAM1B,MAAM+D,mBAAmBtN,GAAG2M,cAAc5B,cACpD,GAAI,OAAOE,KAAO,YAAa,CAC7BtN,SAAS+D,eACPwL,YAAYpD,eAAeiB,aAC7B,EAAEpJ,MAAQsJ,IACVJ,SAASK,KAAK,IAAMgC,YAAYpD,eAAeiB,aAAa,CAC9D,CACA,GAAIjB,eAAeiB,cAAgBA,YAAa,CAC9CE,IAAM1B,MAAM+D,mBAAmBtN,GAAG,aAClC,GACE,OAAOiL,KAAO,aACd,OAAOiC,YAAYnC,cAAgB,aACnCpN,SAAS+D,eAAewL,YAAYnC,YAAY,GAAK,KACrD,CACApN,SAAS+D,eAAewL,YAAYnC,YAAY,EAAEpJ,MAAQsJ,IAC1DJ,SAASK,KAAK,IAAMgC,YAAYnC,YAAY,CAC9C,CACF,CACF,MAAO,GACLmC,YAAYnC,cACZ,OAAOmC,YAAYnC,cAAgB,aACnCpN,SAAS+D,eAAewL,YAAYnC,YAAY,GAAK,KACrD,CACA,IAAIE,IAAM1B,MAAM+D,mBAAmBtN,GAAG,aACtC,GAAI,OAAOiL,KAAO,YAAa,CAC7BtN,SAAS+D,eAAewL,YAAYnC,YAAY,EAAEpJ,MAAQsJ,IAC1DJ,SAASK,KAAK,IAAMgC,YAAYnC,YAAY,CAC9C,CACF,CACF,CACA,GACE,OAAOmC,YAAY,YAAc,aACjCvP,SAAS+D,eAAewL,YAAY,UAAU,GAAK,KACnD,CACA,IAAI/B,YAAc,GAClB,GAAI,OAAOiC,eAAiB,YAAa,CACvCjC,aAAeiC,cAAgB,GACjC,CACA,GAAI,OAAOC,OAAS,YAAa,CAC/BlC,aAAekC,KACjB,CACA1P,SAAS+D,eAAewL,YAAY,UAAU,EAAEvL,MAAQwJ,YACxDN,SAASK,KAAK,IAAMgC,YAAY,UAAU,CAC5C,CACA,GACE,OAAOA,YAAY,SAAW,aAC9BvP,SAAS+D,eAAewL,YAAY,OAAO,GAAK,KAChD,CACA,GACEvP,SAAS+D,eAAewL,YAAY,OAAO,EAAEvL,OAAS,IACtD,OAAOiJ,YAAY,wBAA0B,YAC7C,CACAjN,SAAS+D,eAAewL,YAAY,OAAO,EAAEvL,MAC3CiJ,YAAY,sBAChB,CACA,GACEjN,SAAS+D,eAAewL,YAAY,OAAO,EAAEvL,OAAS,IACtD,OAAOiJ,YAAY,iBAAmB,YACtC,CACAjN,SAAS+D,eAAewL,YAAY,OAAO,EAAEvL,MAC3CiJ,YAAY,eAChB,CACA,GACEjN,SAAS+D,eAAewL,YAAY,OAAO,EAAEvL,OAAS,IACtD,OAAOiJ,YAAY,gCAAkC,YACrD,CACAjN,SAAS+D,eAAewL,YAAY,OAAO,EAAEvL,MAC3CiJ,YAAY,8BAChB,CACF,CACA,GACE,OAAOsC,YAAY,gBAAkB,aACrCvP,SAAS+D,eAAewL,YAAY,cAAc,GAAK,KACvD,CACA,GACEvP,SAAS+D,eAAewL,YAAY,cAAc,EAAEvL,OAAS,IAC7D,OAAOiJ,YAAY,wBAA0B,YAC7C,CACAjN,SAAS+D,eAAewL,YAAY,cAAc,EAAEvL,MAClDiJ,YAAY,sBAChB,CACA,GACEjN,SAAS+D,eAAewL,YAAY,cAAc,EAAEvL,OAAS,IAC7D,OAAOiJ,YAAY,wBAA0B,YAC7C,CACAjN,SAAS+D,eAAewL,YAAY,cAAc,EAAEvL,MAClDiJ,YAAY,sBAChB,CACA,GACEjN,SAAS+D,eAAewL,YAAY,cAAc,EAAEvL,OAAS,IAC7D,OAAOiJ,YAAY,wBAA0B,YAC7C,CACAjN,SAAS+D,eAAewL,YAAY,cAAc,EAAEvL,MAClDiJ,YAAY,sBAChB,CACA,GACEjN,SAAS+D,eAAewL,YAAY,cAAc,EAAEvL,OAAS,IAC7D,OAAOiJ,YAAY,wBAA0B,YAC7C,CACAjN,SAAS+D,eAAewL,YAAY,cAAc,EAAEvL,MAClDiJ,YAAY,sBAChB,CACA,GACEjN,SAAS+D,eAAewL,YAAY,cAAc,EAAEvL,OAAS,IAC7D,OAAOiJ,YAAY,wBAA0B,YAC7C,CACAjN,SAAS+D,eAAewL,YAAY,cAAc,EAAEvL,MAClDiJ,YAAY,sBAChB,CACF,CACA,GACErB,MAAMgE,aACN,OAAOL,YAAY,gBAAkB,aACrCvP,SAAS+D,eAAewL,YAAY,cAAc,GAAK,KACvD,CACAvP,SAAS+D,eAAewL,YAAY,cAAc,EAAEvL,MAClD4H,MAAMgE,WACV,CACA,GACEhE,MAAMiE,iBACN,OAAON,YAAY,oBAAsB,aACzCvP,SAAS+D,eAAewL,YAAY,kBAAkB,GAAK,KAC3D,CACAvP,SAAS+D,eAAewL,YAAY,kBAAkB,EAAEvL,MACtD4H,MAAMiE,eACV,CACA,GACEjE,MAAMkE,mBACN,OAAOP,YAAY,sBAAwB,aAC3CvP,SAAS+D,eAAewL,YAAY,oBAAoB,GAAK,KAC7D,CACAvP,SAAS+D,eAAewL,YAAY,oBAAoB,EAAEvL,MACxD4H,MAAMkE,iBACV,CACA,GACElE,MAAMmE,wBACN,OAAOR,YAAY,2BAA6B,aAChDvP,SAAS+D,eAAewL,YAAY,yBAAyB,GAAK,KAClE,CACAvP,SAAS+D,eAAewL,YAAY,yBAAyB,EAAEvL,MAC7D4H,MAAMmE,sBACV,CACA,GAAInE,MAAMoE,UAAYpE,MAAMoE,SAAStC,SAAU,CAC7C,GACE,OAAO6B,YAAY,aAAe,aAClCvP,SAAS+D,eAAewL,YAAY,WAAW,GAAK,KACpD,CACAvP,SAAS+D,eAAewL,YAAY,WAAW,EAAEvL,MAC/C4H,MAAMoE,SAAStC,SAASxD,IAAI,CAChC,CACA,GACE,OAAOqF,YAAY,cAAgB,aACnCvP,SAAS+D,eAAewL,YAAY,YAAY,GAAK,KACrD,CACAvP,SAAS+D,eAAewL,YAAY,YAAY,EAAEvL,MAChD4H,MAAMoE,SAAStC,SAASvD,IAAI,CAChC,CACF,CACA,GACEyB,MAAMN,MACN,OAAOiE,YAAY,SAAW,aAC9BvP,SAAS+D,eAAewL,YAAY,OAAO,GAAK,KAChD,CACAvP,SAAS+D,eAAewL,YAAY,OAAO,EAAEvL,MAAQ4H,MAAMN,IAC7D,CACA,GACEM,MAAMqE,4BACN,OAAOV,YAAY,+BAAiC,aACpDvP,SAAS+D,eAAewL,YAAY,6BAA6B,GAAK,KACtE,CACAvP,SAAS+D,eAAewL,YAAY,6BAA6B,EAAEvL,MACjE4H,MAAMqE,0BACV,CACA,GACErE,MAAMsE,MACN,OAAOX,YAAY,SAAW,aAC9BvP,SAAS+D,eAAewL,YAAY,OAAO,GAAK,KAChD,CACAvP,SAAS+D,eAAewL,YAAY,OAAO,EAAEvL,MAAQ4H,MAAMsE,IAC7D,CACA,GACEtE,MAAMuE,UACN,OAAOZ,YAAY,aAAe,aAClCvP,SAAS+D,eAAewL,YAAY,WAAW,GAAK,KACpD,CACAvP,SAAS+D,eAAewL,YAAY,WAAW,EAAEvL,MAAQ4H,MAAMuE,QACjE,CACA,GACEvE,MAAMwE,aACN,OAAOb,YAAY,gBAAkB,aACrCvP,SAAS+D,eAAewL,YAAY,cAAc,GAAK,KACvD,CACAvP,SAAS+D,eAAewL,YAAY,cAAc,EAAEvL,MAClD4H,MAAMwE,WACV,CACA,GACExE,MAAMyE,QACN,OAAOd,YAAY,WAAa,aAChCvP,SAAS+D,eAAewL,YAAY,SAAS,GAAK,KAClD,CACAvP,SAAS+D,eAAewL,YAAY,SAAS,EAAEvL,MAAQ4H,MAAMyE,MAC/D,CACA,GACEzE,MAAM1K,KACN,OAAOqO,YAAY,QAAU,aAC7BvP,SAAS+D,eAAewL,YAAY,MAAM,GAAK,KAC/C,CACAvP,SAAS+D,eAAewL,YAAY,MAAM,EAAEvL,MAAQ4H,MAAM1K,GAC5D,CACA,GACE0K,MAAM0E,oBACN,OAAOf,YAAY,uBAAyB,aAC5CvP,SAAS+D,eAAewL,YAAY,qBAAqB,GAAK,KAC9D,CACAvP,SAAS+D,eAAewL,YAAY,qBAAqB,EAAEvL,MACzD4H,MAAM0E,kBACV,CACA,GACE1E,MAAM2E,UACN,OAAOhB,YAAY,aAAe,aAClCvP,SAAS+D,eAAewL,YAAY,WAAW,GAAK,KACpD,CACAvP,SAAS+D,eAAewL,YAAY,WAAW,EAAEvL,MAAQ4H,MAAM2E,QACjE,CACA,GACE3E,MAAM4E,SACN,OAAOjB,YAAY,YAAc,aACjCvP,SAAS+D,eAAewL,YAAY,UAAU,GAAK,KACnD,CACAvP,SAAS+D,eAAewL,YAAY,UAAU,EAAEvL,MAAQ4H,MAAM4E,OAChE,CACA,IAAK,IAAInO,EAAI,EAAGA,EAAI6K,SAAS3K,OAAQF,CAAC,GAAI,CACxCtC,EAAEmN,SAAS7K,EAAE,EAAEyM,QAAQ,QAAQ,CACjC,CACF,CAEA,SAAS2B,cACP,GAAIC,UAAUC,YAAa,CACzBD,UAAUC,YAAYC,mBAAmB,SAAU3G,UACjD,IAAI0G,YAAc,CAChBzG,IAAKD,SAAS4G,OAAOtH,SACrBY,IAAKF,SAAS4G,OAAOrH,SACvB,EACA,IAAIsH,OAAS,IAAItJ,OAAOC,KAAKsJ,OAAO,CAClCzH,OAAQqH,YACRK,OAAQ/G,SAAS4G,OAAOI,QAC1B,CAAC,EACD,IAAK,IAAIhJ,MAAMpB,eAAgB,CAC7B,GAAIA,eAAeP,eAAe2B,EAAE,EAAG,CACrCpB,eAAeoB,IAAIiJ,UAAUJ,OAAOK,UAAU,CAAC,CACjD,CACF,CACF,CAAC,CACH,CACF,CACA,IAAIC,iBAAmB,MACvB,IAAIC,UAAY,WAAWC,KAAKZ,UAAUa,UAAUC,YAAY,CAAC,EACjE,IAAIC,cAAgB,KACpB,IAAIC,SAAW,KACf,IAAIC,cAAgB,GACpB,IAAIC,cAAgB,KACpB,IAAIC,aAAe,EACnB,IAAIC,cAAgB,EACpB,IAAIC,cACJ,GAAItR,OAAOiN,WAAajN,OAAOuR,OAAOtE,SAAU,CAC9CqE,cAAgB,IAClB,KAAO,CACLA,cAAgB,KAClB,CACA,IAAIE,wBAA0B,EAC9B,IAAIC,iBAAmB,MACvB,IAAIC,cAAgB,MACpB,IAAIC,YAAc,MAClB,IAAIC,oBAAsB,EAC1B,IAAIC,0BAA4B,KAChC,IAAIC,iBAAmB,KACvB,IAAIC,kBAAoB,MACxB,IAAIC,iBAAmB,MACvB,IAAIhO,iBAAmB,KACvB,IAAIiO,YAAc,KAClB,IAAIC,eAAiB,MACrB,IAAIC,kBAAoB,MACxB,IAAIC,eAAiB,CACnB,cACA,WACA,WACA,YACA,SACA,gBACA,iBACA,aACA,WACA,WACA,aACA,SACA,WACA,WACA,kBACA,YACA,eACA,sBACA,OACA,OACA,WACA,aACA,UACA,iBACA,WACA,qBACA,kBAEF,IAAIC,YAAchM,OAAO,EACzB,IAAI+E,eAAiB/E,OAAO,EAC5B,IAAIiM,iBAAmBjM,OAAO,EAC9B,IAAIkM,oBAAsBlM,OAAO,EACjC,IAAImM,kBAAoBnM,OAAO,EAC/B,IAAIoM,oBAAsBpM,OAAO,EACjC,IAAIqM,kBAAoBrM,OAAO,EAC/B,IAAIzG,YACJ,IAAI+S,aAAetM,OAAO,EAC1B,IAAIpE,aAAe2Q,KACnB,IAAIC,sBAAwB,MAC5B,IAAIC,mBAAqB,KACzB,IAAIC,0BAA4B,KAChC,IAAIC,6BAA+B,KACnC,IAAIC,wBAA0B,MAC9B,IAAIC,qBAAuB,KAC3B,IAAIC,4BAA8B,KAClC,IAAIC,8BAAgC,KACpC,IAAIC,mBAAqB,MACzB,IAAIC,kBAAoB,KACxB,IAAIC,wBAA0B,KAC9B,IAAIC,WAAa,KACjB,IAAIC,UAAY,KAChB,IAAI1T,kBAAoB,KACxB,IAAIK,qBACJ,IAAIM,uBACJ,IAAIP,qBACJ,IAAIJ,kBAAoB,KACxB,IAAIgF,yBACJ,IAAIpF,UACJ,IAAI+T,iBACJ,IAAIjO,QACJ,IAAIkO,SACJ,IAAIC,SACJ,IAAIC,aACJ,IAAIC,gBACJ,IAAIC,WACJ,IAAIC,cACJ,IAAIC,kBACJ,IAAIC,WACJ,IAAIC,UACJ,IAAIC,eACJ,IAAIC,WACJ,IAAIC,aACJ,IAAIC,OACJ,IAAIC,sBACJ,IAAIC,eACJ,IAAIC,cACJ,IAAIC,UACJ,IAAIC,eACJ,IAAIC,wBACJ,IAAIC,sBACJ,IAAIC,aACJ,IAAIjV,iBACJ,IAAIkV,kBACJ,IAAIC,kBACJ,IAAIC,uBACJ,IAAIC,iBACJ,IAAIC,2BACJ,IAAIC,wBACJ,IAAIC,gCACJ,IAAIC,WACJ,IAAIC,iBACJ,IAAIC,YACJ,IAAIC,mBACJ,IAAIC,mBACJ,IAAIC,cACJ,IAAIC,wBACJ,IAAIC,UACJ,IAAIC,aACJ,IAAIC,YACJ,IAAIC,aACJ,IAAIC,WACJ,IAAIC,YACJ,IAAIC,aACJ,IAAIC,cACJ,IAAIC,wBACJ,IAAIC,6BACJ,IAAIC,iCACJ,IAAIC,uBACJ,IAAIC,oBACJ,IAAIC,wBACJ,IAAIC,aACJ,IAAIC,0BACJ,IAAIC,qBACJ,IAAI9U,cACJ,IAAI+U,kBAEJ,SAASC,uBACT,SAASC,kBAAkBpW,MACzB,GAAIA,KAAKqW,MAAQ,GAAKlX,QAAUmX,IAAK,CACnCA,IAAIlK,SAASmK,KAAOnK,SAASmK,IAC/B,CACF,CACA/Q,OAAOgR,eAAeC,OAAOC,UAAW,YAAa,CACnDhU,MAAO,WACL,IAAIiU,KAAO/J,MAAMgK,KAAKC,SAAS,EAC7B9V,EAAI,EACN,SAAS+V,cAAcC,QACrB,OAAOA,QAAU3Q,WAAa,CAAC4Q,MAAMD,MAAM,EAAIA,OAAS,GAC1D,CACA,SAASE,cAAcF,QACrB,OAAOA,QAAU3Q,UAAY,GAAK,GAAK2Q,MACzC,CACA,OAAO1L,KAAKX,QACV,sDACA,SAAUwM,MAAOC,KAAMC,OAAQC,MAAOC,UAAW3X,MAC/C,IAAI4X,OAAQC,MAAO9U,MACnB,IAAI+U,SAAW,MACf,GAAIP,OAAS,KAAM,MAAO,IAC1B,GAAInW,GAAK4V,KAAK1V,OAAQ,OAAOiW,MAC7BxU,MAAQiU,KAAK5V,GACb,MAAO6L,MAAMC,QAAQnK,KAAK,EAAG,CAC3BiU,KAAKe,OAAO3W,EAAG,CAAC,EAChB,IAAK,IAAIuH,EAAIvH,EAAG2B,MAAMzB,OAAS,EAAGqH,CAAC,GACjCqO,KAAKe,OAAOpP,EAAG,EAAG5F,MAAMiV,MAAM,CAAC,EACjCjV,MAAQiU,KAAK5V,EACf,CACAA,CAAC,GACD,GAAIqW,QAAUhR,UAAWgR,OAAS,IAClC,GAAIC,OAASjR,WAAa,CAAC4Q,MAAMI,MAAM,EAAG,CACxCC,MAAQD,OACRA,OAAS,GACX,CACA,GAAID,MAAQ/Q,UAAW+Q,KAAO,MAAM5L,QAAQ5L,IAAI,GAAK,EAAI,IAAM,IAC/D,GAAI0X,OAASjR,UAAWiR,MAAQ,EAChC,GAAIC,WAAalR,UAAWkR,UAAY,KACxCD,MAAQO,SAASP,KAAK,EACtBC,UAAYM,SAASN,UAAUO,OAAO,CAAC,CAAC,EACxC,OAAQlY,MACN,IAAK,IACL,IAAK,IAEH8X,SAAW,KACXF,OAASK,SAASd,cAAcpU,KAAK,CAAC,EACtC,GAAI4U,UAAY,EAAGC,QAAU,IAAM,IAAIO,OAAOR,SAAS,EACvD,MACF,IAAK,IACL,IAAK,IAEHG,SAAW,KACXF,OAASQ,WAAWjB,cAAcpU,KAAK,CAAC,EACxC,GAAI4U,WAAa,EAAGC,OAASA,OAAOS,cAAc,OAC7CT,OAASA,OAAOS,cAAcV,SAAS,EAC5C,GAAI3X,MAAQ,IAAK4X,OAASA,OAAO7M,QAAQ,IAAK,GAAG,EACjD,MACF,IAAK,IAEH+M,SAAW,KACXF,OAASQ,WAAWjB,cAAcpU,KAAK,CAAC,EACxC,GAAI4U,WAAa,EAAGC,OAASA,OAAOU,QAAQX,SAAS,EACrD,MACF,IAAK,IACL,IAAK,IACL,IAAK,IAEHC,OACE,MACC5X,MAAQ,IAAM,IAAMA,MACrBiY,SAASd,cAAcpU,KAAK,CAAC,EAAEwV,SAASvY,MAAQ,IAAM,EAAI,EAAE,EAC9D,MACF,IAAK,IAEH4X,OAAS,IAAMN,cAAcvU,KAAK,EAAI,IACtC,MACF,IAAK,IAEH6U,OAAS,IAAMN,cAAcvU,KAAK,EAAI,IACtC,MACF,QAEE6U,OAASN,cAAcvU,KAAK,EAC5B,KACJ,CACA,GAAI,OAAO6U,QAAU,SAAUA,OAAS,GAAKA,OAC7C,IAAKC,MAAQD,OAAOtW,QAAUoW,MAAO,CACnC,GAAII,SAAU,CACZ,GAAIN,MAAQ,IAAK,CACf,GAAII,OAAOhM,QAAQ,GAAG,EAAI,EACxBgM,OAASH,OAAOU,OAAOT,MAAQG,KAAK,EAAID,YAExCA,OACE,IAAMH,OAAOU,OAAOT,MAAQG,KAAK,EAAID,OAAO7M,QAAQ,IAAK,EAAE,CACjE,KAAO,CACL,GAAI6M,OAAOhM,QAAQ,GAAG,EAAI,EACxBgM,OAAS,IAAMH,OAAOU,OAAOT,MAAQG,MAAQ,CAAC,EAAID,YAElDA,OACE,IAAMH,OAAOU,OAAOT,MAAQG,KAAK,EAAID,OAAO7M,QAAQ,IAAK,EAAE,CACjE,CACF,KAAO,CACL,GAAIyM,MAAQ,IAAKI,OAASH,OAAOU,OAAOT,MAAQG,KAAK,EAAID,YACpDA,OAASA,OAASH,OAAOU,OAAOT,MAAQG,KAAK,CACpD,CACF,MAAO,GAAIC,UAAYN,MAAQ,KAAOI,OAAOhM,QAAQ,GAAG,EAAI,EAC1DgM,OAAS,IAAMA,OACjB,OAAOA,MACT,CACF,CACF,CACF,CAAC,EACD/R,OAAOgR,eAAerX,OAAQ,YAAa,CACzCuD,MAAO,SAAUyV,OAAQC,MACvB,GAAI,OAAOD,KAAO,SAChB,OAAO1B,OAAOC,UAAU2B,UAAUC,MAAMH,IAAKC,IAAI,EACnD,MAAO,EACT,CACF,CAAC,EACD,SAASG,aAAaC,QACpB,GAAI1Z,UAAW,CACb2Z,aAAeha,EAAE+Z,MAAM,EAAEE,MAAM,EAAE/P,SAAS,EAAE2N,IAAM,EACpD,KAAO,CACLmC,aAAeha,EAAE+Z,MAAM,EAAEE,MAAM,EAAEC,OAAO,EAAErC,IAAM,EAClD,CACA,GAAImC,cAAgB,KAAM,CACxB,GAAI3Z,UAAW,CACbL,EAAEM,WAAW,EAAE6Z,QACb,CACEC,UAAWJ,YACb,EACA,GACF,CACF,KAAO,CACLha,EAAE,YAAY,EAAEma,QACd,CACEC,UAAWJ,YACb,EACA,GACF,CACF,CACF,CACF,CACA,SAASK,KAAKC,KACZ,OAAOC,mBAAmBC,OAAOxO,KAAKsO,GAAG,CAAC,CAAC,CAC7C,CACA,SAASG,KAAKlZ,MACZ,OAAOmZ,KAAKC,SAASC,mBAAmBrZ,IAAI,CAAC,CAAC,CAChD,CACA,SAASsZ,OAAOnB,KACd,OAAOhZ,OAAO+Z,KAAKf,GAAG,EAAEzN,QAAQ,SAAU,EAAE,CAC9C,CACA,SAAS6O,OAAOpB,KACd,OAAOW,KAAKX,GAAG,CACjB,CACA,SAASqB,cACP,IAAIC,QACFhb,EAAE,kBAAkB,EAAEib,GAAG,UAAU,GACnCjb,EAAE,kBAAkB,EAAEib,GAAG,UAAU,GACnCjb,EAAE,eAAe,EAAEib,GAAG,UAAU,EAClC,GAAID,QAAS,CACXhb,EAAE,mBAAmB,EAAEkE,YAAY,aAAa,EAChDlE,EAAE,kBAAkB,EAAEiS,OAAO,EAAE/N,YAAY,aAAa,CAC1D,KAAO,CACLlE,EAAE,mBAAmB,EAAEoE,SAAS,aAAa,EAC7CpE,EAAE,kBAAkB,EAAEiS,OAAO,EAAE7N,SAAS,aAAa,CACvD,CACF,CACA,SAAS8W,YACP,IAAIC,UAAY,GAChB,IAAK,IAAIC,gBAAgBrI,YAAa,CACpC,GAAIA,YAAYxM,eAAe6U,YAAY,EAAG,CAC5C,IAAIxN,UAAYyM,KAAKe,YAAY,EACjC,GAAID,UAAUrO,QAAQc,SAAS,GAAK,CAAC,EAAG,CACtCuN,UAAU3N,KAAKI,SAAS,CAC1B,CACF,CACF,CACA,OAAOuN,SACT,CACA,IAAIE,YAAcH,UAClB,SAASI,iBAAiB1N,UAAW2N,UACnC,IAAI5U,KAAO3G,EAAE,UAAY4N,UAAY,IAAI,EACzC,GAAIjH,KAAKnE,OAAS,EAAG,CACnB,IAAK,IAAIF,EAAI,EAAGA,EAAIiZ,SAAS/Y,OAAQ,EAAEF,EAAG,CACxC,GAAIiZ,SAASjZ,IAAMqE,KAAK,GAAI,CAC1B,MACF,CACF,CACA4U,SAAS/N,KAAK7G,KAAK,EAAE,CACvB,CACF,CACA,SAAS6U,SAAS5N,UAAW6N,UAC3B,GAAItI,oBAAoBvF,WAAY,CAClC,IAAI8N,EAAIvI,oBAAoBvF,WAAWpL,OACvC,IAAK,IAAIF,EAAI,EAAGA,EAAIoZ,EAAG,EAAEpZ,EAAG,CAC1B,IAAIqE,KAAOwM,oBAAoBvF,WAAWtL,GAAGqZ,WAAW,GAAGhV,KAC3D,GAAI,CAAC3G,EAAE2G,IAAI,EAAEiV,KAAK,UAAU,EAAG,CAC7B,IAAIC,cAAgB7b,EAAE2G,IAAI,EAAEmV,QAAQ,uBAAuB,EAC3D,GACED,cAAcrZ,QAAU,GACxBxC,EAAE6b,cAAc,EAAE,EAAEta,KAAK,WAAW,GAAK,IACzC,CACA,GAAIka,UAAYzb,EAAE+b,SAASN,SAAU9U,IAAI,EAAG,CAC1C,QACF,CACA,OAAOwM,oBAAoBvF,WAAWtL,GAAGqE,IAC3C,CACF,CACF,CACF,CACA,GAAIuM,kBAAkBtF,WAAY,CAChC,IAAI8N,EAAIxI,kBAAkBtF,WAAWpL,OACrC,IAAK,IAAIF,EAAI,EAAGA,EAAIoZ,EAAG,EAAEpZ,EAAG,CAC1B,IAAIqE,KAAOuM,kBAAkBtF,WAAWtL,GAAG0Z,OAC3C,GAAI,CAAChc,EAAE2G,IAAI,EAAEiV,KAAK,UAAU,EAAG,CAC7B,IAAIC,cAAgB7b,EAAE2G,IAAI,EAAEmV,QAAQ,uBAAuB,EAC3D,GACED,cAAcrZ,QAAU,GACxBxC,EAAE6b,cAAc,EAAE,EAAEta,KAAK,WAAW,GAAK,IACzC,CACA,GAAIka,UAAYzb,EAAE+b,SAASN,SAAU9U,IAAI,EAAG,CAC1C,QACF,CACA,OAAOA,IACT,CACF,CACF,CACF,CACA,IAAIsV,iBAAmBpB,OAAOjN,SAAS,EACvC,IAAIsO,iBAAmB,GACvBZ,iBAAiBW,iBAAkBC,gBAAgB,EACnD,GAAIlJ,iBAAiBzM,eAAe0V,gBAAgB,EAAG,CACrD,IAAK,IAAI3Z,EAAI,EAAGA,EAAI0Q,iBAAiBiJ,kBAAkBzZ,OAAQ,EAAEF,EAAG,CAClEgZ,iBAAiBtI,iBAAiBiJ,kBAAkB3Z,GAAI4Z,gBAAgB,CAC1E,CACF,CACA,IAAIC,UAAY,KAChB,IAAK,IAAI7Z,EAAI,EAAGA,EAAI4Z,iBAAiB1Z,OAAQ,EAAEF,EAAG,CAChD,GACE,CAACtC,EAAEkc,iBAAiB5Z,EAAE,EAAEsZ,KAAK,UAAU,GACvC5b,EAAEkc,iBAAiB5Z,EAAE,EAAEwZ,QAAQ,uBAAuB,EAAEtZ,OAAS,EACjE,CACA,IAAIqZ,cAAgB7b,EAAEkc,iBAAiB5Z,EAAE,EAAEwZ,QACzC,uBACF,EACA,GACED,cAAcrZ,QAAU,GACxBxC,EAAE6b,cAAc,EAAE,EAAEta,KAAK,WAAW,GAAK,IACzC,CACA,GAAIka,UAAYzb,EAAE+b,SAASN,SAAUS,iBAAiB5Z,EAAE,EAAG,CACzD,QACF,CACA6Z,UAAYD,iBAAiB5Z,EAC/B,CACF,CACF,CACA,GACEtC,EAAEmc,SAAS,EAAEC,SAAS,iBAAiB,GACvCpc,EAAEmc,SAAS,EAAEL,QAAQ,oBAAoB,EAAEtZ,OAAS,EACpD,CACA,IAAI6Z,SAAWrc,EAAEmc,SAAS,EAAEL,QAAQ,oBAAoB,EAAE,GAC1D,GACE,CAAC9b,EAAEqc,QAAQ,EAAED,SAAS,mBAAmB,GACzC,CAACpc,EAAEqc,QAAQ,EAAED,SAAS,qBAAqB,EAC3C,CACA,OAAOC,QACT,CACF,CACA,OAAOF,SACT,CACA,IAAIG,WAAad,SACjB,SAASe,WAAW3O,UAAW4O,SAC7B,IAAI7V,KAAO2V,WAAW1O,SAAS,EAC/B,GAAIjH,MAAQ,KAAM,CAChB9E,QAAQC,IAAI,+CAAiD8L,SAAS,EACtE,MACF,CACA,IAAI6O,WACFzc,EAAE2G,IAAI,EAAEtC,KAAK,MAAM,GAAK,UACxBrE,EAAE2G,IAAI,EAAEmV,QAAQ,qBAAqB,EAAEtZ,OAAS,EAClD,GAAIia,WAAY,CACd,IAAIC,WAAa1c,EAAE2G,IAAI,EACpBmV,QAAQ,qBAAqB,EAC7B7B,MAAM,EACN0C,KAAK,gBAAgB,EACrB1C,MAAM,EACT,IAAI2C,YAAcvJ,aAAarT,EAAE0c,UAAU,EAAErY,KAAK,IAAI,GACtD,IAAIwY,YAAcD,YAAYE,QAAQvP,IAAI,EAC1C5G,KAAOiW,YAAYG,OACrB,CACA,GAAI/c,EAAE2G,IAAI,EAAEiV,KAAK,SAAS,GAAK,SAAU,CACvC/Z,QAAQC,IAAI,mBAAqB8L,UAAY,0BAA0B,EACvE,MACF,CACA,IAAIoP,OAAShd,EAAE2G,IAAI,EAAE4G,IAAI,EACzBvN,EAAE2G,IAAI,EACHgW,KAAK,mBAAmB,EACxBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAEqQ,OAAO,CACjB,CAAC,EACH,IAAIvB,EAAIc,QAAQha,OAChB,IAAK,IAAIF,EAAI,EAAGA,EAAIoZ,EAAGpZ,CAAC,GAAI,CAC1B,IAAI4a,IAAMld,EAAE,UAAU,EACtBkd,IAAI3P,IAAIiP,QAAQla,GAAG,EAAE,EACrB4a,IAAIC,KAAKX,QAAQla,GAAG,EAAE,EACtB,GAAI0a,QAAUR,QAAQla,GAAG,GAAI,CAC3B4a,IAAI7Y,KAAK,WAAY,UAAU,CACjC,CACArE,EAAE2G,IAAI,EAAEyW,OAAOF,GAAG,CACpB,CACA,GAAIT,WAAY,CACdG,YAAYS,QAAQ,EACpBT,YAAYU,YAAY,EACxB,GAAIT,aAAe,GAAI,CACrBU,WAAW3P,UAAWiP,WAAW,CACnC,CACF,CACF,CACA,IAAIW,aAAejB,WACnB,SAASkB,SAAS7P,UAAW8P,UAC3B,IAAI/W,KAAO2V,WAAW1O,SAAS,EAC/B,GAAIjH,MAAQ,KAAM,CAChB9E,QAAQC,IAAI,6CAA+C8L,SAAS,EACpE,MACF,CACA,GACE5N,EAAE2G,IAAI,EAAEiV,KAAK,SAAS,GAAK,OAC3B5b,EAAE2G,IAAI,EAAEyV,SAAS,gBAAgB,GACjCpc,EAAE2G,IAAI,EAAEyV,SAAS,gBAAgB,EACjC,CACAzV,KAAO3G,EAAE2G,IAAI,EAAEgW,KAAK,OAAO,EAAE,EAC/B,CACA,GAAI3c,EAAE2G,IAAI,EAAEtC,KAAK,MAAM,GAAK,WAAY,CACtC,GAAIqZ,SAAU,CACZ,GAAI1d,EAAE2G,IAAI,EAAEiV,KAAK,SAAS,GAAK,KAAM,CACnC5b,EAAE2G,IAAI,EAAE9C,MAAM,CAChB,CACF,KAAO,CACL,GAAI7D,EAAE2G,IAAI,EAAEiV,KAAK,SAAS,GAAK,MAAO,CACpC5b,EAAE2G,IAAI,EAAE9C,MAAM,CAChB,CACF,CACF,MAAO,GAAI7D,EAAE2G,IAAI,EAAEtC,KAAK,MAAM,GAAK,QAAS,CAC1C,IAAI4X,iBAAmBjc,EAAE2G,IAAI,EAC1BtC,KAAK,MAAM,EACX4H,QAAQ,oBAAqB,MAAM,EACtC,IAAI0R,OAAS,MACb,GAAID,WAAa,KAAM,CACrBA,SAAW,MACb,CACA,GAAIA,WAAa,MAAO,CACtBA,SAAW,OACb,CACA1d,EAAE,eAAiBic,iBAAmB,IAAI,EAAEvP,KAAK,WAC/C,GAAI1M,EAAE4M,IAAI,EAAEW,IAAI,GAAKmQ,SAAU,CAC7B,GAAI1d,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,GAAK,KAAM,CACnC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,IAAI,EAC5B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACA4O,OAAS,KACT,OAAO,KACT,CACF,CAAC,EACD,GAAI,CAACA,OAAQ,CACX9b,QAAQC,IACN,wCAA0C8L,UAAY,OAAS8P,QACjE,CACF,CACF,MAAO,GAAI1d,EAAE2G,IAAI,EAAEtC,KAAK,MAAM,GAAK,SAAU,CAC3C,GAAIrE,EAAE2G,IAAI,EAAE4G,IAAI,GAAKmQ,SAAU,CAC7B,GAAI1d,EAAE2G,IAAI,EAAEmV,QAAQ,qBAAqB,EAAEtZ,OAAS,EAAG,CACrD,IAAIka,WAAa1c,EAAE2G,IAAI,EACpBmV,QAAQ,qBAAqB,EAC7B7B,MAAM,EACN0C,KAAK,gBAAgB,EACrB1C,MAAM,EACT5G,aAAarT,EAAE0c,UAAU,EAAErY,KAAK,IAAI,GAAGuZ,aAAaF,QAAQ,CAC9D,KAAO,CACL1d,EAAE2G,IAAI,EAAE4G,IAAImQ,QAAQ,EACpB1d,EAAE2G,IAAI,EAAEoI,QAAQ,QAAQ,CAC1B,CACF,CACF,MAAO,GACL/O,EAAE2G,IAAI,EAAEiV,KAAK,SAAS,GAAK,OAC3B5b,EAAE2G,IAAI,EAAEyV,SAAS,gBAAgB,GACjCpc,EAAE2G,IAAI,EAAEyV,SAAS,qBAAqB,EACtC,CACA,GAAI,CAACjO,MAAMC,QAAQsP,QAAQ,EAAG,CAC5B,MAAM,IAAI9V,MAAM,kCAAkC,CACpD,CACA,IAAI8T,EAAIgC,SAASlb,OACjBxC,EAAE2G,IAAI,EACHgW,KAAK,OAAO,EACZjQ,KAAK,WACJ,GAAI1M,EAAE4M,IAAI,EAAEwP,SAAS,iBAAiB,EAAG,CACvCpc,EAAE4M,IAAI,EAAEgP,KAAK,UAAWF,GAAK,CAAC,EAC9B1b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,EACxB,MACF,CACA,GAAI/O,EAAE4M,IAAI,EAAEwP,SAAS,iBAAiB,EAAG,CACvCpc,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,EACxB,MACF,CACA,GAAI/O,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,EAAE+U,OAAO,EAAG,CAAC,IAAM,UAAW,CACnD,MACF,CACA,IAAIyE,OAASxD,KAAKra,EAAE4M,IAAI,EAAErL,KAAK,SAAS,CAAC,EACzC,GAAIvB,EAAE2G,IAAI,EAAEyV,SAAS,UAAU,EAAG,CAChCyB,OAASxD,KAAKwD,MAAM,CACtB,CACA,IAAIb,OAAShd,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,GAAK,KACxC,IAAIkC,OAAS,MACb,IAAK,IAAIxb,EAAI,EAAGA,EAAIoZ,EAAG,EAAEpZ,EAAG,CAC1B,GAAIob,SAASpb,IAAMub,OAAQ,CACzBC,OAAS,IACX,CACF,CACA,GAAId,QAAUc,OAAQ,CACpB9d,EAAE4M,IAAI,EAAE/I,MAAM,CAChB,CACF,CAAC,CACL,MAAO,GACL7D,EAAE2G,IAAI,EAAEiV,KAAK,SAAS,GAAK,UAC3B5b,EAAE2G,IAAI,EAAEyV,SAAS,eAAe,EAChC,CACA,GAAIlJ,kBAAkBtF,WAAY,CAChC,IAAI8N,EAAIxI,kBAAkBtF,WAAWpL,OACrC,IAAK,IAAIF,EAAI,EAAGA,EAAIoZ,EAAG,EAAEpZ,EAAG,CAC1B,GAAI4Q,kBAAkBtF,WAAWtL,GAAG0Z,SAAWrV,KAAM,CACnD,IAAIoX,SACF/d,EAAEkT,kBAAkBtF,WAAWtL,GAAG0b,MAAM,EAAEpC,KAAK,UAAU,GAAK,KAChE,GAAImC,UAAYL,SAAU,CACxB1d,EAAEkT,kBAAkBtF,WAAWtL,GAAG0b,MAAM,EAAEpC,KACxC,WACA8B,QACF,EACA1d,EAAE2G,IAAI,EAAEoI,QAAQ,QAAQ,CAC1B,CACF,CACF,CACF,KAAO,CACL,GAAI,CAACZ,MAAMC,QAAQsP,QAAQ,EAAG,CAC5B,MAAM,IAAI9V,MAAM,kCAAkC,CACpD,CACA,IAAI8T,EAAIgC,SAASlb,OACjB,IAAIyb,QAAU,MACdje,EAAE2G,IAAI,EACHgW,KAAK,QAAQ,EACbjQ,KAAK,WACJ,IAAIwR,QAAU9K,kBAAkBpT,EAAE4M,IAAI,EAAEW,IAAI,GAC5C,IAAIyP,OAAShd,EAAE4M,IAAI,EAAEgP,KAAK,UAAU,GAAK,KACzC,IAAIkC,OAAS,MACb,IAAK,IAAIxb,EAAI,EAAGA,EAAIoZ,EAAG,EAAEpZ,EAAG,CAC1B,GAAI4b,SAAWR,SAASpb,GAAI,CAC1Bwb,OAAS,IACX,CACF,CACA,GAAIA,SAAWd,OAAQ,CACrBiB,QAAU,KACVje,EAAE4M,IAAI,EAAEgP,KAAK,WAAYkC,MAAM,CACjC,CACF,CAAC,EACH,GAAIG,QAAS,CACXje,EAAE2G,IAAI,EAAEoI,QAAQ,QAAQ,CAC1B,CACF,CACF,KAAO,CACL,GAAI/O,EAAE2G,IAAI,EAAE4G,IAAI,GAAKmQ,SAAU,CAC7B1d,EAAE2G,IAAI,EAAE4G,IAAImQ,QAAQ,EACpB1d,EAAE2G,IAAI,EAAEoI,QAAQ,QAAQ,CAC1B,CACF,CACF,CACA,IAAIwO,WAAaE,SACjB,SAASlQ,IAAIK,WACX,IAAIjH,KAAO2V,WAAW1O,SAAS,EAC/B,GAAIjH,MAAQ,KAAM,CAChB,OAAO,IACT,CACA,GACE3G,EAAE2G,IAAI,EAAEiV,KAAK,SAAS,GAAK,OAC3B5b,EAAE2G,IAAI,EAAEyV,SAAS,gBAAgB,GACjCpc,EAAE2G,IAAI,EAAEyV,SAAS,gBAAgB,EACjC,CACAzV,KAAO3G,EAAE2G,IAAI,EAAEgW,KAAK,OAAO,EAAE,EAC/B,CACA,GAAI3c,EAAE2G,IAAI,EAAEtC,KAAK,MAAM,GAAK,WAAY,CACtC,GAAIrE,EAAE2G,IAAI,EAAEiV,KAAK,SAAS,EAAG,CAC3BiC,OAAS,IACX,KAAO,CACLA,OAAS,KACX,CACF,MAAO,GAAI7d,EAAE2G,IAAI,EAAEtC,KAAK,MAAM,GAAK,QAAS,CAC1C,IAAI4X,iBAAmBjc,EAAE2G,IAAI,EAC1BtC,KAAK,MAAM,EACX4H,QAAQ,oBAAqB,MAAM,EACtC4R,OAAS7d,EAAE,eAAiBic,iBAAmB,YAAY,EAAE1O,IAAI,EACjE,GAAI,OAAOsQ,QAAU,YAAa,CAChCA,OAAS,IACX,KAAO,CACL,GAAI7d,EAAE2G,IAAI,EAAEyV,SAAS,UAAU,EAAG,CAChCyB,OAASxD,KAAKwD,MAAM,CACtB,MAAO,GAAIA,QAAU,OAAQ,CAC3BA,OAAS,IACX,MAAO,GAAIA,QAAU,QAAS,CAC5BA,OAAS,KACX,CACF,CACF,MAAO,GACL7d,EAAE2G,IAAI,EAAEiV,KAAK,SAAS,GAAK,OAC3B5b,EAAE2G,IAAI,EAAEyV,SAAS,gBAAgB,GACjCpc,EAAE2G,IAAI,EAAEyV,SAAS,qBAAqB,EACtC,CACA,IAAI+B,WAAa,GACjBne,EAAE2G,IAAI,EACHgW,KAAK,OAAO,EACZjQ,KAAK,WACJ,GAAI1M,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,EAAE+U,OAAO,EAAG,CAAC,IAAM,UAAW,CACnD,MACF,CACA,IAAIyE,OAASxD,KAAKra,EAAE4M,IAAI,EAAErL,KAAK,SAAS,CAAC,EACzC,GAAIvB,EAAE2G,IAAI,EAAEyV,SAAS,UAAU,EAAG,CAChCyB,OAASxD,KAAKwD,MAAM,CACtB,CACA,GAAI7d,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,EAAG,CAC3BuC,WAAW3Q,KAAKqQ,MAAM,CACxB,CACF,CAAC,EACH,OAAOM,UACT,MAAO,GACLne,EAAE2G,IAAI,EAAEiV,KAAK,SAAS,GAAK,UAC3B5b,EAAE2G,IAAI,EAAEyV,SAAS,eAAe,EAChC,CACA,GAAIlJ,kBAAkBtF,WAAY,CAChC,IAAI8N,EAAIxI,kBAAkBtF,WAAWpL,OACrC,IAAK,IAAIF,EAAI,EAAGA,EAAIoZ,EAAG,EAAEpZ,EAAG,CAC1B,GAAI4Q,kBAAkBtF,WAAWtL,GAAG0Z,SAAWrV,KAAM,CACnD,OAAO3G,EAAEkT,kBAAkBtF,WAAWtL,GAAG0b,MAAM,EAAEpC,KAAK,UAAU,CAClE,CACF,CACF,KAAO,CACL,IAAIwC,aAAe,GACnBpe,EAAE2G,IAAI,EACHgW,KAAK,QAAQ,EACbjQ,KAAK,WACJ,GAAI1M,EAAE4M,IAAI,EAAEgP,KAAK,UAAU,EAAG,CAC5B,GAAIxI,kBAAkBpT,EAAE4M,IAAI,EAAEW,IAAI,GAAI,CACpC6Q,aAAa5Q,KAAK4F,kBAAkBpT,EAAE4M,IAAI,EAAEW,IAAI,EAAE,CACpD,CACF,CACF,CAAC,EACH,OAAO6Q,YACT,CACF,MAAO,GACLpe,EAAE2G,IAAI,EAAEiV,KAAK,SAAS,GAAK,UAC3B5b,EAAE2G,IAAI,EAAEyV,SAAS,UAAU,EAC3B,CACAyB,OAASxD,KAAKra,EAAE2G,IAAI,EAAE4G,IAAI,CAAC,CAC7B,KAAO,CACLsQ,OAAS7d,EAAE2G,IAAI,EAAE4G,IAAI,CACvB,CACA,OAAOsQ,MACT,CACA,IAAIQ,OAAS9Q,IACb,SAAS+Q,aAAa3X,MACpB,IAAI4X,UAAY,MAChB,IAAIC,SAAWxe,EAAE,SAAS,EAAEye,eAAe,EAC3C,IAAIld,KAAOwF,OAAO,EAClB,GAAIJ,MAAQ,UAAW,CACrBA,KAAO,KACPpF,KAAK,YAAc,IACrB,KAAO,CACLA,KAAK,YAAc,KACrB,CACA,GAAIoF,OAAS,MAAQ3G,EAAE2G,IAAI,EAAEyV,SAAS,UAAU,EAAG,CACjDzV,KAAO3G,EAAE2G,IAAI,EAAEsL,OAAO,EAAE0K,KAAK,sBAAsB,CACrD,CACApb,KAAK,YAAc,KACnB,IAAIma,EAAI8C,SAAShc,OACjB,IAAK,IAAIF,EAAI,EAAGA,EAAIoZ,EAAG,EAAEpZ,EAAG,CAC1B,IAAIgE,IAAMkY,SAASlc,GAAG,QACtB,IAAIiL,IAAMiR,SAASlc,GAAG,SACtB,GAAItC,EAAE0e,QAAQpY,IAAKwM,cAAc,GAAK,CAAC,GAAKxM,IAAIwG,QAAQ,SAAS,GAAK,EAAG,CACvE,QACF,CACA,IAAI6R,cAAgB,MACpB,GAAIhY,OAAS,MAAQL,KAAOtG,EAAE2G,IAAI,EAAEtC,KAAK,MAAM,EAAG,CAChDsa,cAAgB,IAClB,CACA,GAAI,OAAO7S,eAAexF,MAAQ,YAAa,CAC7C/E,KAAK8Y,KAAKvO,eAAexF,IAAI,GAAKiH,IAClC,GAAIoR,cAAe,CACjBpd,KAAK,YAAc8Y,KAAKvO,eAAexF,IAAI,CAC7C,CACF,KAAO,CACL/E,KAAK8Y,KAAK/T,GAAG,GAAKiH,IAClB,GAAIoR,cAAe,CACjBpd,KAAK,YAAc8Y,KAAK/T,GAAG,CAC7B,CACF,CACF,CACA,OAAOgI,KAAKE,UAAUjN,IAAI,CAC5B,CACA,SAAShB,eAAeY,KACtB,IAAIyd,IAAM,IAAIC,MACdD,IAAIE,IAAM3d,GACZ,CACA,SAAS4d,gBACP/e,EAAE,eAAe,EAAEgf,IAAI,MAAM,CAC/B,CACA,SAASC,cAActd,IAAKud,UAC1B,GAAI7e,WAAa,CAAC,8BAA8BkR,KAAK2N,SAAShe,IAAI,EAAG,CACnES,IAAIwd,iBAAiB,cAAelK,MAAM,CAC5C,CACF,CACA,SAASmK,MAAMC,QAASC,SAAUC,OAChC,GAAID,UAAY,KAAM,CACpBA,SAAW,MACb,CACA,GAAI,CAACtf,EAAE,UAAU,EAAEwC,OAAQ,CACzBxC,EAAEM,WAAW,EAAE8c,OAAOxD,UAAUrE,wBAAyB,EAAE,CAAC,CAC9D,CACA,GAAIgK,MAAO,CACTvf,EAAE,UAAU,EAAEwf,MAAM,CACtB,CACA,GAAIH,SAAW,KAAM,CACnB,IAAII,WAAazf,EAAE4Z,UAAUpE,sBAAuB8J,SAAUD,OAAO,CAAC,EACtErf,EAAE,UAAU,EAAEod,OAAOqC,UAAU,EAC/B,GAAIH,UAAY,UAAW,CACzBnb,WAAW,WACTsb,WAAWC,KAAK,IAAK,WACnB1f,EAAE4M,IAAI,EAAEqQ,OAAO,CACjB,CAAC,CACH,EAAG,GAAI,CACT,CACF,CACF,CACA,IAAI0C,SAAWP,MACf,SAASQ,WAAWC,OAAQ3H,MAC1B,GAAIA,MAAQ,KAAM,CAChBA,KAAO,EACT,CACA3W,KAAO,CAAEse,OAAQA,OAAQzH,UAAWF,IAAK,EACzC,IAAI/W,IACJ,GAAId,UAAW,CACbc,IACEkU,UAAY,WAAauF,mBAAmBH,KAAKqF,eAAeve,IAAI,CAAC,CAAC,CAC1E,KAAO,CACL,GAAI6T,cAActI,QAAQ,GAAG,IAAM,CAAC,EAAG,CACrC3L,IACEiU,cACA,WACAwF,mBAAmBH,KAAKqF,eAAeve,IAAI,CAAC,CAAC,CACjD,KAAO,CACLJ,IACEiU,cACA,WACAwF,mBAAmBH,KAAKqF,eAAeve,IAAI,CAAC,CAAC,CACjD,CACF,CACA,OAAOJ,GACT,CACA,IAAI4e,cAAgBH,WACpB,SAASI,YACPH,OACA3H,KACA+H,SACAC,YAAc,MACdC,SAAW,OAEX,GAAIjI,MAAQ,KAAM,CAChBA,KAAO,EACT,CACA,GAAIgI,YAAa,CACfhI,KAAO,CAAEkI,QAASP,OAAQQ,WAAYnI,IAAK,EAC3C2H,OAAS,qBACX,CACA,GAAII,UAAY,KAAM,CACpBA,SAAW,YACb,CACA,IAAI1e,KAAO,CAAEse,OAAQA,OAAQzH,UAAWF,IAAK,EAC7C,IAAI/W,IACJ,GAAId,UAAW,CACbc,IAAMkU,SACR,KAAO,CACLlU,IAAMgU,cACR,CACA,OAAOnV,EAAEiB,KAAK,CACZC,KAAM,OACNC,IAAKA,IACLmf,WAAYrB,cACZ5d,UAAW,CACTC,gBAAiB,IACnB,EACAC,KAAMvB,EAAEugB,MAAM,CACZH,QAAS3F,KAAKqF,eAAeve,IAAI,CAAC,EAClCif,UAAWL,SAAW,IAAM,IAC5BM,WAAYxL,MACd,CAAC,EACDzT,QAASye,SACTve,MAAO,SAAUC,IAAKC,OAAQF,OAC5ByC,WAAW,WACTuc,mBAAmB/e,IAAKC,OAAQF,KAAK,CACvC,EAAG,CAAC,CACN,CACF,CAAC,CACH,CACA,IAAIif,eAAiBX,YACrB,IAAIY,gBAAkBZ,YACtB,SAASa,eAAehB,OAAQ3H,KAAMgI,YAAc,OAClD,GAAIhI,MAAQ,KAAM,CAChBA,KAAO,EACT,CACA,GAAIgI,YAAa,CACfhI,KAAO,CAAEkI,QAASP,OAAQQ,WAAYnI,IAAK,EAC3C2H,OAAS,qBACX,CACA,IAAIte,KAAO,CAAEse,OAAQA,OAAQzH,UAAWF,IAAK,EAC7CxT,iBAAmBP,WAAWQ,cAAe,GAAI,EACjD0M,iBAAmB,KACnB,OAAOrR,EAAEiB,KAAK,CACZC,KAAM,OACNC,IAAKgU,eACLmL,WAAYrB,cACZ5d,UAAW,CACTC,gBAAiB,IACnB,EACAC,KAAMvB,EAAEugB,MAAM,CACZH,QAAS3F,KAAKqF,eAAeve,IAAI,CAAC,EAClCkf,WAAYxL,OACZhU,KAAM,CACR,CAAC,EACDO,QAAS,SAAUD,MACjB4C,WAAW,WACT2c,cAAcvf,KAAMvB,EAAE,SAAS,EAAG,CAAC,CACrC,EAAG,CAAC,CACN,EACA0B,MAAO,SAAUC,IAAKC,OAAQF,OAC5ByC,WAAW,WACTuc,mBAAmB/e,IAAKC,OAAQF,KAAK,CACvC,EAAG,CAAC,CACN,EACAK,SAAU,MACZ,CAAC,CACH,CACA,IAAIgf,kBAAoBF,eACxB,IAAIG,mBAAqBH,eACzB,SAASI,yBACPpB,OACA3H,KACAgJ,UACAhB,YAAc,OAGd,GAAIhI,MAAQ,KAAM,CAChBA,KAAO,EACT,CACA,GAAIgI,YAAa,CACfhI,KAAO,CAAEkI,QAASP,OAAQQ,WAAYnI,IAAK,EAC3C2H,OAAS,qBACX,CACA,IAAIte,KAAO,CAAEse,OAAQA,OAAQzH,UAAWF,IAAK,EAC7CxT,iBAAmBP,WAAWQ,cAAe,GAAI,EACjD0M,iBAAmB,KACnB,OAAOrR,EAAEiB,KAAK,CACZC,KAAM,OACNC,IAAKgU,eACLmL,WAAYrB,cACZ5d,UAAW,CACTC,gBAAiB,IACnB,EACAC,KAAMvB,EAAEugB,MAAM,CACZH,QAAS3F,KAAKqF,eAAeve,IAAI,CAAC,EAClC4f,oBAAqB1G,KAAKqF,eAAeoB,SAAS,CAAC,EACnDT,WAAYxL,OACZhU,KAAM,CACR,CAAC,EACDO,QAAS,SAAUD,MACjB4C,WAAW,WACT2c,cAAcvf,KAAMvB,EAAE,SAAS,EAAG,CAAC,CACrC,EAAG,CAAC,CACN,EACA0B,MAAO,SAAUC,IAAKC,OAAQF,OAC5ByC,WAAW,WACTuc,mBAAmB/e,IAAKC,OAAQF,KAAK,CACvC,EAAG,CAAC,CACN,EACAK,SAAU,MACZ,CAAC,CACH,CACA,IAAIqf,4BAA8BH,yBAClC,IAAII,6BAA+BJ,yBACnC,SAASK,wBAAwBrB,UAC/B,GAAIA,UAAY,KAAM,CACpBA,SAAW,YACb,CACA,OAAOjgB,EAAEiB,KAAK,CACZC,KAAM,MACNC,IAAKuU,kBACLlU,QAASye,SACTK,WAAYrB,cACZ5d,UAAW,CACTC,gBAAiB,IACnB,EACAI,MAAO,SAAUC,IAAKC,OAAQF,OAC5ByC,WAAW,WACTuc,mBAAmB/e,IAAKC,OAAQF,KAAK,CACvC,EAAG,CAAC,CACN,CACF,CAAC,CACH,CACA,IAAI6f,2BAA6BD,wBACjC,SAASE,cAAcC,QAASC,aAC9B,GAAID,WAAW7M,YAAe6M,SAAW,eAAiB,CAACpN,SAAW,CACpE,MACF,CACA,GAAItC,eAAiB0P,SAAW,cAAe,CAC7C7M,WAAW6M,SAAW,EACtBhP,kBAAoB,KACpB,MACF,CACA,GAAIV,eAAiB0P,SAAW,cAAe,CAC7C,MACF,CACA,IAAI1H,OACJ,IAAIsF,QACJ,IAAIsC,WAAa,IACjB,GAAIF,SAAW,OAAQ,CACrB1H,OAAS,qBACTsF,QAAU1J,iBACZ,MAAO,GAAI8L,SAAW,cAAe,CACnC1H,OAAS,qBACTsF,QAAUqC,WACZ,MAAO,GAAID,SAAW,QAAS,CAC7B1H,OAAS,sBACTsF,QAAUzJ,sBACZ,KAAO,CACL,MACF,CACA,GAAI6L,SAAW,cAAe,CAC5B7M,WAAW6M,SAAW,EACtBhP,kBAAoB,IACtB,CACA,GAAIgP,SAAW,cAAe,CAC5BzhB,EAAE+Z,MAAM,EAAE6H,QAAQ,CAChBtW,QAAS+T,QACTwC,UAAW,SACX9S,QAAS,SACT+S,UAAW,OACXC,MAAOlM,gBACT,CAAC,CACH,KAAO,CACL7V,EAAE+Z,MAAM,EAAE6H,QAAQ,CAChBtW,QAAS+T,QACTwC,UAAW,SACX9S,QAAS,SACT+S,UAAW,OACXC,MAAOjM,0BACT,CAAC,CACH,CACA9V,EAAE+Z,MAAM,EAAE6H,QAAQ,MAAM,EACxBzd,WAAW,WACTnE,EAAE+Z,MAAM,EAAE6H,QAAQ,SAAS,EAC3B5hB,EAAE+Z,MAAM,EAAEiI,WAAW,OAAO,CAC9B,EAAGL,UAAU,CACf,CAOA,SAASM,iBAAiB1gB,MACxB,IAAI2gB,OAASjiB,SAAS2G,cAAc,IAAI,EACxC5G,EAAEkiB,MAAM,EAAE9d,SAAS,iBAAiB,EACpC,GAAI7C,KAAK4gB,QAAS,CAChBniB,EAAEkiB,MAAM,EAAE9d,SAAS,qCAAqC,CAC1D,KAAO,CACLpE,EAAEkiB,MAAM,EAAE9d,SAAS,sCAAsC,CAC3D,CAOApE,EAAEkiB,MAAM,EAAE1c,KAAKjE,KAAK8d,OAAO,EAC3Brf,EAAE,mBAAmB,EAAEod,OAAO8E,MAAM,CACtC,CACA,SAASE,eACP,IAAIC,aAAeriB,EAAE,mBAAmB,EACxC,GAAIqiB,aAAa7f,OAAQ,CACvB,IAAI8C,OAAS+c,aAAa,GAAGC,aAE7B,GAAIhd,QAAU,EAAG,CACfkN,iBAAmB,KACnB,MACF,CACA6P,aAAalI,QAAQ,CAAEC,UAAW9U,MAAO,EAAG,GAAG,CACjD,KAAO,CACLzD,QAAQC,IAAI,qBAAqB,CACnC,CACF,CACA,SAASygB,mBACP,IAAIF,aAAeriB,EAAE,mBAAmB,EACxC,GAAIqiB,aAAa7f,OAAQ,CACvB,IAAI8C,OAAS+c,aAAa,GAAGC,aAC7B,GAAIhd,QAAU,EAAG,CACfkN,iBAAmB,KACnB,MACF,CAEA6P,aAAajI,UAAU9U,MAAM,CAC/B,KAAO,CACLzD,QAAQC,IAAI,yBAAyB,CACvC,CACF,CACA,SAAS0gB,WAEP,GAAIxiB,EAAE,YAAY,EAAEuN,IAAI,EAAE/K,OAAQ,CAChCmP,SAAS8Q,KAAK,cAAe,CAC3BlhB,KAAMvB,EAAE,YAAY,EAAEuN,IAAI,EAC1BjL,EAAGgT,cACL,CAAC,EACDtV,EAAE,YAAY,EAAEuN,IAAI,EAAE,EACtBvN,EAAE,YAAY,EAAE0iB,MAAM,CACxB,CACA,OAAO,KACT,CACA,SAASC,cAAcC,MAErB,GAAI5iB,EAAE,MAAM,EAAEoc,SAAS,cAAc,EAAG,CACtC,MACF,CACApc,EAAE,6CAA6C,EAAE4b,KAAK,WAAY,IAAI,EACtE5b,EAAE,MAAM,EAAEoE,SAAS,cAAc,EACjC,IAAI8d,OAASjiB,SAAS2G,cAAc,KAAK,EACzC5G,EAAEkiB,MAAM,EAAE9d,SACR,iEACF,EACApE,EAAEkiB,MAAM,EAAE1c,KAAKuQ,uBAAuB,EACtC/V,EAAEkiB,MAAM,EAAE7d,KAAK,KAAM,gBAAgB,EACrCrE,EAAEkiB,MAAM,EAAEW,IAAI,UAAW,MAAM,EAC/B7iB,EAAEkiB,MAAM,EAAEY,SAAS9iB,EAAEM,WAAW,CAAC,EACjC,GAAIsiB,MAAQ,WAAY,CACtB5iB,EAAEkiB,MAAM,EAAEa,UAAU,CACtB,KAAO,CACL/iB,EAAEkiB,MAAM,EAAEc,KAAK,CACjB,CACF,CACA,SAASC,gBAEP,GAAI,CAACjjB,EAAE,MAAM,EAAEoc,SAAS,cAAc,EAAG,CACvC,MACF,CACApc,EAAE,6CAA6C,EAAE4b,KAAK,WAAY,KAAK,EACvE5b,EAAE,MAAM,EAAEkE,YAAY,cAAc,EACpClE,EAAE,iBAAiB,EAAEwF,KAAKwQ,+BAA+B,EACzD7R,WAAW,WACTnE,EAAE,iBAAiB,EAAEkjB,QAAQ,IAAK,WAChCljB,EAAE,iBAAiB,EAAEid,OAAO,CAC9B,CAAC,CACH,EAAG,GAAI,CACT,CACA,SAASkG,qBACP,GAAIxR,UAAY,KAAM,CACpB,GAAIA,SAASyR,UAAW,CAEtB,GAAI7O,cAAgB,QAAS,CAC3B5C,SAAS8Q,KAAK,eAAgB,CAAEngB,EAAGgT,cAAe,CAAC,CACrD,CACA,GAAIX,kBAAmB,CACrBgO,cAAc,UAAU,EACxBhR,SAAS8Q,KAAK,yBAA0B,CAAEngB,EAAGgT,cAAe,CAAC,CAC/D,CACF,KAAO,CAEL3D,SAAS0R,QAAQ,CACnB,CACA,MACF,CACA,GAAI1V,SAAS2V,WAAa,SAAWrjB,SAAS0N,SAAS2V,WAAa,QAAS,CAC3E3R,SAAW4R,GAAGF,QAAQ,UAAYpjB,SAASujB,OAAS,eAAgB,CAClEC,KAAMxN,WAAa,eACnByN,MAAO,KAAOpO,cAChB,CAAC,CACH,CACA,GACE3H,SAAS2V,WAAa,UACtBrjB,SAAS0N,SAAS2V,WAAa,SAC/B,CACA3R,SAAW4R,GAAGF,QAAQ,WAAapjB,SAASujB,OAAS,eAAgB,CACnEC,KAAMxN,WAAa,eACnByN,MAAO,KAAOpO,cAChB,CAAC,CACH,CAEA,GAAI3D,UAAY,KAAM,CACpBA,SAAShO,GAAG,UAAW,WACrB,GAAIgO,UAAY,KAAM,CACpB9P,QAAQC,IAAI,uBAAuB,EACnC,MACF,CAEA,GAAIyS,cAAgB,QAAS,CAC3BA,aAAe,KACfoP,cAAc,EACdC,cAAc,EAGdjS,SAAS8Q,KAAK,WAAY,CAAEngB,EAAGgT,cAAe,CAAC,CACjD,CACA,GAAIX,kBAAmB,CACrBgO,cAAc,UAAU,EACxBhR,SAAS8Q,KAAK,yBAA0B,CAAEngB,EAAGgT,cAAe,CAAC,CAC/D,CACF,CAAC,EACD3D,SAAShO,GAAG,WAAY,SAAUkgB,KAEhC7jB,EAAE,mBAAmB,EAAEwF,KAAK,EAAE,EAC9BoM,cAAgB,GAChB,IAAIkS,SAAWD,IAAItiB,KACnB,IAAK,IAAIe,EAAI,EAAGA,EAAIwhB,SAASthB,OAAQ,EAAEF,EAAG,CACxCsP,cAAcpE,KAAKsW,SAASxhB,EAAE,EAC9B2f,iBAAiB6B,SAASxhB,EAAE,CAC9B,CACAigB,iBAAiB,CACnB,CAAC,EACD5Q,SAAShO,GAAG,YAAa,SAAUpC,OAGlC,EACDoQ,SAAShO,GAAG,YAAa,WAEvBgO,SAASoS,WAAW,CACtB,CAAC,EACDpS,SAAShO,GAAG,kBAAmB,WAC7BgR,kBAAoB,KACpBgO,cAAc,UAAU,CAC1B,CAAC,EACDhR,SAAShO,GAAG,iBAAkB,WAC5BgR,kBAAoB,MAEpBsO,cAAc,EACd,GAAI1O,cAAgB,KAAM,CACxB,GAAI5C,UAAY,MAAQA,SAASyR,UAAW,CAE1CzR,SAAS8Q,KAAK,WAAW,CAC3B,CACF,CACF,CAAC,EACD9Q,SAAShO,GAAG,aAAc,YAKzB,EACDgO,SAAShO,GAAG,cAAe,WAEzB4Q,aAAe,KACfoP,cAAc,EACdC,cAAc,EACdI,aAAa,EAEbrS,SAAS8Q,KAAK,WAAY,CAAEngB,EAAGgT,cAAe,CAAC,CACjD,CAAC,EACD3D,SAAShO,GAAG,YAAa,SAAUkgB,KAEjC7jB,EAAE,eAAe,EAAEwF,KAAKqe,IAAItiB,IAAI,CAClC,CAAC,EACDoQ,SAAShO,GAAG,YAAa,SAAUkgB,KAEjC,GAAIA,IAAII,aAAe,EAAG,CACxBC,YAAY,CACd,CACF,CAAC,EACDvS,SAAShO,GAAG,cAAe,SAAUkgB,KAEnCjS,cAAcpE,KAAKqW,IAAItiB,IAAI,EAC3B0gB,iBAAiB4B,IAAItiB,IAAI,EACzB6gB,aAAa,EACbZ,cAAc,cAAeqC,IAAItiB,KAAK8d,OAAO,CAC/C,CAAC,EACD1N,SAAShO,GAAG,UAAW,SAAUwgB,UAE/B,IAAI5iB,KAAO4iB,SAASC,IACpBtD,cAAcvf,KAAMvB,EAAE,SAAS,EAAG,CAAC,CACrC,CAAC,EACD2R,SAAShO,GAAG,oBAAqB,SAAUpC,MAEzC,IAAI8iB,SAAWtd,OAAO,EACtB,IAAIud,OAAShW,KAAKC,MAAMhN,KAAKgjB,UAAU,EACvC,IAAK,IAAIjiB,EAAI,EAAGA,EAAIgiB,OAAO9hB,OAAQF,CAAC,GAAI,CACtC+hB,SAASC,OAAOhiB,GAAG6N,MAAQmU,OAAOhiB,GAAG2B,KACvC,CAEAjE,EAAE,SAAS,EAAE0M,KAAK,WAChB1M,EAAE4M,IAAI,EACH+P,KAAK,QAAQ,EACbjQ,KAAK,WACJ,IAAIxL,KAAOlB,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,EAC9B,IAAI6D,GAAKlI,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,EAC1B,IAAI8L,KAAOnQ,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,EAC9B,GAAInD,MAAQ,WAAY,CACtB,GAAIiP,QAAQkU,SAAU,CACpB,GAAIA,SAASlU,OAAS,OAAQ,CAC5B,GAAInQ,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,GAAK,KAAM,CACnC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,IAAI,EAC5B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,KAAO,CACL,GAAI/O,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,GAAK,MAAO,CACpC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,CACF,KAAO,CACL,GAAI/O,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,GAAK,MAAO,CACpC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,CACF,MAAO,GAAI7N,MAAQ,QAAS,CAC1B,GAAIiP,QAAQkU,SAAU,CACpB,GAAIA,SAASlU,OAASnQ,EAAE4M,IAAI,EAAEW,IAAI,EAAG,CACnC,GAAIvN,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,GAAK,KAAM,CACnC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,IAAI,EAC5B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,KAAO,CACL,GAAI/O,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,GAAK,MAAO,CACpC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,CACF,CACF,MAAO,GAAI/O,EAAE4M,IAAI,EAAErL,KAAK,EAAEgF,eAAe,WAAW,EAAG,CACrDvG,EAAE4M,IAAI,EAAE4X,OAAO,WAAYrL,SAASkL,SAASlU,KAAK,CAAC,CACrD,KAAO,CACL,GAAIA,QAAQkU,SAAU,CACpBrkB,EAAE4M,IAAI,EAAEW,IAAI8W,SAASlU,KAAK,CAC5B,CACF,CACF,CAAC,CACL,CAAC,EACD,GAAI5O,KAAKkjB,QAAS,CAEhBzkB,EAAEuB,KAAKkjB,OAAO,EAAE7I,KAAK,WAAY,KAAK,EACtC5b,EAAEuB,KAAKkjB,OAAO,EAAErgB,SAAS,mBAAmB,EAC5C,GACEpE,EAAEuB,KAAKkjB,OAAO,EAAE7I,KAAK,SAAS,GAAK,KACnC,OAAO5b,EAAEuB,KAAKkjB,OAAO,EAAEpgB,KAAK,MAAM,GAAK,cACtCrE,EAAEuB,KAAKkjB,OAAO,EAAEpgB,KAAK,MAAM,EAAEyI,QAAQ,YAAY,GAAK,GACrD9M,EAAEuB,KAAKkjB,OAAO,EAAEpgB,KAAK,MAAM,EAAEyI,QAAQ,GAAG,GAAK,GAC/C,CACA3I,WAAW,WACTnE,EAAEuB,KAAKkjB,OAAO,EAAEvgB,YAAY,mBAAmB,CACjD,EAAG,IAAI,CACT,CACAC,WAAW,WAETnE,EAAEuB,KAAKkjB,OAAO,EAAE5gB,MAAM,CAExB,EAAG,GAAG,CACR,CACF,CAAC,CACH,CACF,CACA,SAAS6gB,qBAAqBvH,MAC5BA,KAAOA,KAAK/D,OAAO+D,KAAKrQ,QAAQ,uBAAuB,EAAI,EAAE,EAC7DqQ,KAAOA,KAAK/D,OAAO,EAAG+D,KAAKrQ,QAAQ,qBAAqB,CAAC,EAAEb,QAAQ,MAAO,EAAE,EAC5EkR,KAAO9C,KAAK8C,IAAI,EAChB,OAAOA,IACT,CACAzc,OAAOikB,gBAAkB,WAEvBjQ,cAAgB,KAChBpC,oBAAsB,EACtBsS,mBAAmB,EACnBjT,SAAS8Q,KAAK,uBAAwB,CACpCoC,IAAKC,MACLxiB,EAAGgT,eACHyP,OAAQC,cACV,CAAC,CACH,EACAtkB,OAAOukB,iBAAmB,WAExB,GAAI,CAACvQ,cAAe,CAElB,MACF,CACAA,cAAgB,MAChBrC,YAAc,MACd6S,kBAAkB,EAClBvT,SAAS8Q,KAAK,sBAAuB,CACnCoC,IAAKC,MACLxiB,EAAGgT,eACHyP,OAAQC,cACV,CAAC,EACD,MACF,EACA,SAASG,aAAaC,SACpB,OAAO,SAAU5Z,QAAS/C,OACxB,GACE+C,QAAQ6Z,UAAY,YACnB7Z,QAAQ6Z,UAAY,SACnB7Z,QAAQtK,OAAS,YACjBsK,QAAQtK,OAAS,QACjBsK,QAAQtK,OAAS,YACjBsK,QAAQtK,OAAS,OACnB,CACAiD,WAAW,WACTqH,QAAQvH,MAAQjE,EAAEslB,KAAK9Z,QAAQvH,KAAK,CACtC,EAAG,EAAE,CACP,CACA,OAAOmhB,QAAQG,KAAK3Y,KAAMpB,QAAS/C,KAAK,CAC1C,CACF,CACA,SAAS+c,iBAAiBC,KAAMC,WAC9B,IAAIC,OAASD,UAAUE,iBAAiB,EACxC,IAAI5L,aAAe,KACnB,GACE2L,QACA3lB,EAAE0lB,UAAUG,UAAU,GAAGra,OAAO,EAAEsQ,QAAQ,gBAAgB,EAAEtZ,OAAS,EACrE,CACA,GAAInC,UAAW,CACb2Z,aACEha,EAAE0lB,UAAUG,UAAU,GAAGra,OAAO,EAC7BsQ,QAAQ,gBAAgB,EACxB7B,MAAM,EACN/P,SAAS,EAAE2N,IAAM,EACxB,KAAO,CACLmC,aACEha,EAAE0lB,UAAUG,UAAU,GAAGra,OAAO,EAC7BsQ,QAAQ,gBAAgB,EACxB7B,MAAM,EACNC,OAAO,EAAErC,IAAM,EACtB,CACF,CACA,GAAImC,cAAgB,KAAM,CACxB,GAAI3Z,UAAW,CACbL,EAAEM,WAAW,EAAE6Z,QACb,CACEC,UAAWJ,YACb,EACA,GACF,CACF,KAAO,CACLha,EAAE,YAAY,EAAEma,QACd,CACEC,UAAWJ,YACb,EACA,GACF,CACF,CACF,CACF,CACA,IAAI8L,YACJ,IAAIC,kBAAoB,GACxB,SAASC,oBAAoBP,MAC3B,GAAIvjB,eAAgB,CAClB,MACF,CAGA,IAAI+jB,gBAAkB,GACtB,IAAIC,KAAOnf,OAAO,EAClB/G,EAAEylB,IAAI,EACH9I,KAAK,yBAAyB,EAC9BwJ,OAAO,iBAAiB,EACxBzZ,KAAK,WAEJ,GACE1M,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,GACnBrE,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,GAAK,WACtBrE,EAAE4M,IAAI,EAAEwP,SAAS,qBAAqB,GACtCpc,EAAE4M,IAAI,EAAEqF,OAAO,EAAEgJ,GAAG,UAAU,GAC9Bjb,EAAE4M,IAAI,EAAEqO,GAAG,UAAU,GACvB,CACA,IAAImL,QAAUpmB,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,EAEjC,GAAI,CAAC6hB,KAAK3f,eAAe6f,OAAO,EAAG,CACjCH,gBAAgBzY,KAAK4Y,OAAO,EAC5BF,KAAKE,SAAW,CAClB,CACF,CACF,CAAC,EACHpmB,EAAEylB,IAAI,EACH9I,KAAK,wBAAwB,EAC7BpP,IAAIkN,KAAKqF,eAAemG,eAAe,CAAC,CAAC,EAC5CjmB,EAAEylB,IAAI,EAAE/Y,KAAK,WACX1M,EAAE4M,IAAI,EAAE+P,KAAK,QAAQ,EAAE0J,IAAI,SAAUC,UAAU,CACjD,CAAC,EACDtmB,EAAE,qBAAqB,EAAEqE,KACvB,UACA,6EACF,EACA,GAAI2P,mBAAqB,KAAM,CAC7BlM,cAAckM,iBAAiB,CACjC,CACAG,UAAYhQ,WAAW,WACrBnE,EAAEylB,IAAI,EAAE9I,KAAK,sBAAsB,EAAEf,KAAK,WAAY,IAAI,EAC1D5b,EAAEylB,IAAI,EAAE9I,KAAK,uBAAuB,EAAEf,KAAK,WAAY,IAAI,CAC7D,EAAG,CAAC,EACJ,GAAIlK,eAAiB,KAAM,CACzB1R,EAAE,2BAA2B,EAAE0M,KAAK,WAClC,GAAIE,MAAQ8E,cAAe,CACzB1R,EAAE4M,IAAI,EAAE1I,YAAYmS,kBAAkB,EACtCrW,EAAE4M,IAAI,EAAExI,SAASkS,cAAgB,OAAO,CAC1C,CACF,CAAC,EACD,GAAItW,EAAE0R,aAAa,EAAE0K,SAAS9F,cAAgB,SAAS,EAAG,CACxDtW,EAAE0R,aAAa,EAAExN,YAAYoS,cAAgB,SAAS,EACtDtW,EAAE0R,aAAa,EAAEtN,SAASkS,cAAgB,SAAS,CACrD,KAAO,CACLtW,EAAE0R,aAAa,EAAExN,YACfoS,cACE,WACAA,cACA,QACAA,cACA,WACAA,cACA,UACAA,cACA,WACAA,cACA,OACJ,EACAtW,EAAE0R,aAAa,EAAEtN,SAASkS,cAAgB,WAAW,CACvD,CACF,CACA,IAAIiQ,WAAa,GACjB,IAAIC,kBAAoB,GACxBxmB,EAAE,aAAa,EAAE0M,KAAK,WACpB,IAAI+Z,UAAYzmB,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EACxC,GAAI,CAACglB,WAAWhgB,eAAekgB,SAAS,EAAG,CACzCF,WAAWE,WAAa,EAC1B,CACAF,WAAWE,WAAWjZ,KAAK2L,SAASnZ,EAAE4M,IAAI,EAAErL,KAAK,WAAW,CAAC,CAAC,CAChE,CAAC,EACD,IAAImlB,aAAe,MACnB,IAAK,IAAID,aAAaF,WAAY,CAChC,GAAIA,WAAWhgB,eAAekgB,SAAS,EAAG,CACxC,IAAI/K,EAAI6K,WAAWE,WAAWjkB,OAC9B,IAAK,IAAIF,EAAI,EAAGA,EAAIoZ,EAAG,EAAEpZ,EAAG,CAC1B,GAAIA,GAAKikB,WAAWE,WAAWnkB,GAAI,CACjCokB,aAAe,KACf,GAAI,CAACF,kBAAkBjgB,eAAekgB,SAAS,EAAG,CAChDD,kBAAkBC,WAAa,EACjC,CACAD,kBAAkBC,WAAWjZ,KAAK,CAAC+Y,WAAWE,WAAWnkB,GAAIA,EAAE,CACjE,CACF,CACF,CACF,CACA,GAAIokB,aAAc,CAChB1mB,EAAE,SAAS,EACRqE,KAAK,CACJnD,KAAM,SACNiP,KAAM,iBACNlM,MAAOqK,KAAKE,UAAUgY,iBAAiB,CACzC,CAAC,EACA1D,SAAS9iB,EAAEylB,IAAI,CAAC,CACrB,CACA,IAAIkB,gBAAkB,GACtB3mB,EAAE,4BAA4B,EAAE0M,KAAK,WACnCia,gBAAgBnZ,KACd2L,SAASnZ,EAAE4M,IAAI,EAAEqF,OAAO,EAAEA,OAAO,EAAE1Q,KAAK,YAAY,CAAC,CACvD,CACF,CAAC,EACD,IAAIqlB,OAASzN,SACXnZ,EAAE,4DAA4D,EAC3D6mB,KAAK,EACL5U,OAAO,EACPA,OAAO,EACP1Q,KAAK,YAAY,CACtB,EACAvB,EAAE,4CAA4C,EAAE0M,KAAK,WACnD,GAAIyM,SAASnZ,EAAE4M,IAAI,EAAEqF,OAAO,EAAEA,OAAO,EAAE1Q,KAAK,YAAY,CAAC,EAAIqlB,OAAQ,CACnED,gBAAgBnZ,KACd2L,SAASnZ,EAAE4M,IAAI,EAAEqF,OAAO,EAAEA,OAAO,EAAE1Q,KAAK,YAAY,CAAC,CACvD,CACF,CACF,CAAC,EACD,GAAIolB,gBAAgBnkB,OAAS,EAAG,CAC9BxC,EAAE,SAAS,EACRqE,KAAK,CACJnD,KAAM,SACNiP,KAAM,kBACNlM,MAAOqK,KAAKE,UAAUmY,eAAe,CACvC,CAAC,EACA7D,SAAS9iB,EAAEylB,IAAI,CAAC,CACrB,CACAzlB,EAAE,qCAAqC,EAAE0M,KAAK,WAC5C,IAAImP,cAAgB7b,EAAE4M,IAAI,EAAEkP,QAAQ,uBAAuB,EAC3D,GACED,cAAcrZ,QAAU,GACxBxC,EAAE6b,cAAc,EAAE,EAAEta,KAAK,WAAW,GAAK,IACzC,CACAvB,EAAE4M,IAAI,EACH+P,KAAK,QAAQ,EACbjQ,KAAK,WACJ1M,EAAE,SAAS,EACRqE,KAAK,CACJnD,KAAM,SACNiP,KAAMnQ,EAAE4M,IAAI,EAAEW,IAAI,EAClBtJ,MAAOjE,EAAE4M,IAAI,EAAEgP,KAAK,UAAU,EAAI,OAAS,OAC7C,CAAC,EACAkH,SAAS9iB,EAAEylB,IAAI,CAAC,CACrB,CAAC,CACL,CACAzlB,EAAE4M,IAAI,EAAEgP,KAAK,WAAY,IAAI,CAC/B,CAAC,EACDlK,cAAgB,KAChB,GACEiB,aAAe,MACfA,YAAYxC,MACZnQ,EAAE,eAAiB2S,YAAYxC,KAAO,IAAI,EAAE3N,QAAU,EACtD,CACAxC,EAAE,SAAS,EACRqE,KAAK,CACJnD,KAAM,SACNiP,KAAMwC,YAAYxC,KAClBlM,MAAO0O,YAAY1O,KACrB,CAAC,EACA6e,SAAS9iB,EAAEylB,IAAI,CAAC,CACrB,CACA,GAAIhT,kBAAmB,CACrBzS,EAAE,SAAS,EACRqE,KAAK,CACJnD,KAAM,SACNiP,KAAM,WACNlM,MAAO8C,OAAO+f,KAAKlS,UAAU,EAAEmS,KAAK,GAAG,CACzC,CAAC,EACAjE,SAAS9iB,EAAEylB,IAAI,CAAC,CACrB,CACAzlB,EAAE,SAAS,EACRqE,KAAK,CACJnD,KAAM,SACNiP,KAAM,OACNlM,MAAO,GACT,CAAC,EACA6e,SAAS9iB,EAAEylB,IAAI,CAAC,EACnB/gB,iBAAmBP,WAAWQ,cAAe,GAAI,EACjD,IAAIqiB,iBAAmB,MACvBC,iBAAmB,MACnB,GAAIjnB,EAAE,sBAAsB,EAAEwC,OAAS,EAAG,CACxC,IAAI0kB,YAAc,EAClB,IAAIC,UAAY,EAChB,IAAIC,YAAcjZ,MAAM,EACxB,IAAIkZ,aAAelZ,MAAM,EACzB,IAAImZ,UAAY,CAAER,KAAM3Y,MAAM,EAAGmW,OAAQvd,OAAO,CAAE,EAClD,IAAIwgB,UAAYjZ,KAAKC,MAAM8L,KAAKra,EAAE,sBAAsB,EAAEuN,IAAI,CAAC,CAAC,EAChE,IAAIia,iBAAmBrZ,MAAM,EAC7B,IAAIsZ,gBAAkB1gB,OAAO,EAC7B,IAAK,IAAIzE,EAAI,EAAGA,EAAIilB,UAAU/kB,OAAQF,CAAC,GAAI,CACzC,IAAIolB,eAAiB1nB,EACnB,IAAMunB,UAAUjlB,GAAG2J,QAAQ,0BAA2B,MAAM,CAC9D,EAAE,GACF,IAAI0b,aAAe3nB,EAAE0nB,cAAc,EAAEnmB,KAAK,cAAc,EACxD,IAAIqmB,eAAiB5nB,EAAE0nB,cAAc,EAAEnmB,KAAK,WAAW,EACvD,IAAIsmB,UAAY,MAChB,GACE,OAAOF,cAAgB,aACvB,OAAOC,gBAAkB,YACzB,CACA,IAAK,IAAI/d,EAAI,EAAGA,EAAI6d,eAAeI,MAAMtlB,OAAQqH,CAAC,GAAI,CACpD,IAAIke,SAAWL,eAAeI,MAAMje,GACpC,GAAIke,SAAS7mB,KAAKuX,MAAM,SAAS,EAAG,CAClCoP,UAAY,IACd,CACF,CACF,CACA,GAAIA,WAAcxnB,WAAaqnB,eAAeI,MAAMtlB,OAAS,EAAI,CAC/D,IAAK,IAAIqH,EAAI,EAAGA,EAAI6d,eAAeI,MAAMtlB,OAAQqH,CAAC,GAAI,CACpD,IAAIke,SAAWL,eAAeI,MAAMje,GACpCqd,WAAW,EACb,CACAM,iBAAiBha,KAAK+Z,UAAUjlB,EAAE,CACpC,MAAO,GAAIolB,eAAeI,MAAMtlB,OAAS,EAAG,CAC1C4kB,YAAY5Z,KAAK+Z,UAAUjlB,EAAE,CAC/B,KAAO,CACL+kB,aAAa7Z,KAAK+Z,UAAUjlB,EAAE,CAChC,CACAmlB,gBAAgBF,UAAUjlB,IAAMulB,SAClC,CACA,GAAIL,iBAAiBhlB,OAAS,EAAG,CAC/B,IAAIwlB,iBAAmB3N,KAAKra,EAAE,sBAAsB,EAAEuN,IAAI,CAAC,EAC3D,GAAI6Z,YAAY5kB,QAAU,GAAK6kB,aAAa7kB,QAAU,EAAG,CACvDxC,EAAE,sBAAsB,EAAEid,OAAO,CACnC,KAAO,CACLjd,EAAE,sBAAsB,EAAEuN,IACxBkN,KAAKqF,eAAesH,YAAYa,OAAOZ,YAAY,CAAC,CAAC,CACvD,CACF,CACA,IAAK,IAAI/kB,EAAI,EAAGA,EAAIklB,iBAAiBhlB,OAAQF,CAAC,GAAI,CAChDglB,UAAUR,KAAKtZ,KAAKga,iBAAiBllB,EAAE,EACvCglB,UAAUhD,OAAOkD,iBAAiBllB,IAAM6L,MAAM,EAC9C,IAAI+Z,aAAeZ,UAAUhD,OAAOkD,iBAAiBllB,IACrD,IAAI6lB,WAAanoB,EACf,IAAMwnB,iBAAiBllB,GAAG2J,QAAQ,0BAA2B,MAAM,CACrE,EAAE,GACF,IAAImc,SACJ,IAAIC,WACJ,IAAIC,gBACJ,IAAIC,gBAAkB,MACtB,GAAId,gBAAgBD,iBAAiBllB,IAAK,CACxCimB,gBAAkB,KAClBH,SAAWjP,SAASnZ,EAAEmoB,UAAU,EAAE5mB,KAAK,cAAc,CAAC,EACtD8mB,WAAaroB,EAAEmoB,UAAU,EAAE5mB,KAAK,WAAW,EAC3C+mB,gBAAkB,KAClB,GAAID,WAAY,CACd,GAAIA,YAAc,MAAO,CACvBC,gBAAkB,WACpB,MAAO,GAAID,YAAc,MAAO,CAC9BC,gBAAkB,WACpB,KAAO,CACLA,gBAAkB,aAClBD,WAAa,KACf,CACF,CACF,CACA,IAAK,IAAIxe,EAAI,EAAGA,EAAIse,WAAWL,MAAMtlB,OAAQqH,CAAC,GAAI,CAChD,IAAI2e,OAASL,WAAWL,MAAMje,GAC9B,IAAI4e,SAAW,SAAUV,SAAUK,SAAUM,YAC3C,IAAIC,OAAS,IAAIC,WACjB,IAAIC,aAAe,CACjB1Y,KAAM4X,SAAS5X,KACf2Y,KAAMf,SAASe,KACf5nB,KAAM6mB,SAAS7mB,IACjB,EACAgnB,aAAa1a,KAAKqb,YAAY,EAC9BF,OAAOI,OAAS,SAAUC,aACxB,GACEN,YACAX,SAAS7mB,KAAKuX,MAAM,SAAS,GAC7B,EAAEsP,SAAS7mB,KAAK4L,QAAQ,WAAW,GAAK,GACxC,CACA,IAAImc,cAAgBlB,SAAS5X,KAC7B,IAAI+Y,cAAgBnB,SAAS7mB,KAC7B,GAAImnB,WAAY,CACd,IAAIc,IAAMpB,SAAS5X,KAAKiZ,YAAY,GAAG,EACvCH,cACElB,SAAS5X,KAAKiJ,OACZ,EACA+P,IAAM,EAAIpB,SAAS5X,KAAK3N,OAAS2mB,GACnC,EACA,IACAd,WACFa,cAAgBZ,gBAChBO,aAAa1Y,KAAO8Y,cACpBJ,aAAa3nB,KAAOgoB,aACtB,CACA,IAAIG,MAAQ,IAAIxK,MAChBwK,MAAMN,OAAS,SAAUO,YACvB,IAAI/jB,OAAStF,SAAS2G,cAAc,QAAQ,EAC1CrC,MAAQ8kB,MAAM9kB,MACde,OAAS+jB,MAAM/jB,OACjB,GAAIf,MAAQe,OAAQ,CAClB,GAAIf,MAAQ6jB,SAAU,CACpB9iB,QAAU8iB,SAAW7jB,MACrBA,MAAQ6jB,QACV,CACF,KAAO,CACL,GAAI9iB,OAAS8iB,SAAU,CACrB7jB,OAAS6jB,SAAW9iB,OACpBA,OAAS8iB,QACX,CACF,CACA7iB,OAAOhB,MAAQA,MACfgB,OAAOD,OAASA,OAChBC,OAAOsB,WAAW,IAAI,EAAE0iB,UAAUF,MAAO,EAAG,EAAG9kB,MAAOe,MAAM,EAC5DujB,aAAa,WAAatjB,OAAOd,UAAUykB,aAAa,EACxD/B,SAAS,GACT,GAAIA,WAAaD,YAAa,CAC5BsC,yBACE/D,KACA6B,UACAE,iBACAJ,YACAzU,WACF,CACF,CACF,EACA0W,MAAMvK,IAAM6J,OAAOc,MACrB,KAAO,CACLZ,aAAa,WAAaF,OAAOc,OACjCtC,SAAS,GACT,GAAIA,WAAaD,YAAa,CAC5BsC,yBACE/D,KACA6B,UACAE,iBACAJ,YACAzU,WACF,CACF,CACF,CACF,EACAgW,OAAOe,cAAc3B,QAAQ,CAC/B,EACAU,SAASD,OAAQJ,SAAUG,eAAe,EAC1CtB,iBAAmB,IACrB,CACF,CACF,CACA,GAAIG,YAAY5kB,QAAU,EAAG,MAEtB,CACLwkB,iBAAmB,IACrB,CACF,CACA,GAAIC,iBAAkB,CACpB,OAAO,KACT,CACA,GAAID,iBAAkB,CACpBhnB,EAAE,iBAAiB,EAAEid,OAAO,EAC5B,IAAI0M,OAAS3pB,EACX,mFACF,EACAA,EAAEM,WAAW,EAAE8c,OAAOuM,MAAM,EAC5B3pB,EAAEylB,IAAI,EAAEphB,KAAK,SAAU,gBAAgB,EACvCslB,OAAOC,KAAK,OAAQ,WAClBzlB,WAAW,WACT,IACE2c,cACE9gB,EAAE6pB,UACAnF,qBAAqB1kB,EAAE,iBAAiB,EAAE8pB,SAAS,EAAE3M,KAAK,CAAC,CAC7D,EACAsI,KACA,CACF,CAeF,CAdE,MAAO5iB,GACP,IACEie,cACE9gB,EAAE6pB,UAAU7pB,EAAE,iBAAiB,EAAE8pB,SAAS,EAAE3M,KAAK,CAAC,EAClDsI,KACA,CACF,CAOF,CANE,MAAOsE,GACPC,kBACE/pB,SAAS+D,eAAe,gBAAgB,EAAEimB,cAAchqB,SACrDiqB,KAAKC,UACRJ,CACF,CACF,CACF,CACF,EAAG,CAAC,CACN,CAAC,EACDtE,KAAKhf,OAAO,CACd,KAAO,CACL4K,iBAAmB,KACnBrR,EAAEiB,KAAK,CACLC,KAAM,OACNC,IAAKgU,eACL5T,KAAMvB,EAAEylB,IAAI,EAAE2E,UAAU,EACxB9J,WAAYrB,cACZ5d,UAAW,CACTC,gBAAiB,IACnB,EACAE,QAAS,SAAUD,MACjB4C,WAAW,WACT2c,cAAcvf,KAAMkkB,KAAM,CAAC,CAC7B,EAAG,CAAC,CACN,EACA/jB,MAAO,SAAUC,IAAKC,OAAQF,OAC5ByC,WAAW,WACTuc,mBAAmB/e,IAAKC,OAAQF,KAAK,CACvC,EAAG,CAAC,CACN,CACF,CAAC,CACH,CACA,OAAO,KACT,CACA,SAAS2oB,kBAAkBC,MAAOxG,UAChCiC,kBAAoBuE,MACpBvE,kBAAkBwE,cAAgBvE,oBAClCD,kBAAkByE,eAAiBhF,iBACnCO,kBAAkB0E,WAAatF,aAAanlB,EAAE0lB,UAAUgF,SAASD,UAAU,EAC3E,GAAIzqB,EAAE,SAAS,EAAEwC,OAAS,EAAG,CAC3BsjB,YAAc9lB,EAAE,SAAS,EAAE2qB,SAAS5E,iBAAiB,EACrD,GAAIhf,OAAO+f,KAAKhD,QAAQ,EAAEthB,OAAS,EAAG,CACpCsjB,YAAY8E,WAAW9G,QAAQ,CACjC,CACF,CACF,CACA,SAAS+G,mBACP,GAAI5qB,SAAS+D,eAAe,mBAAmB,GAAK,KAAM,CACxD,MACF,CACA,GAAI2M,UAAUC,YAAa,CACzB3Q,SAAS+D,eAAe,mBAAmB,EAAEC,MAAQqK,KAAKE,UAAU,CAClE9M,MAAO,sCACT,CAAC,EACDiP,UAAUC,YAAYC,mBAAmBia,cAAeC,YAAa,CACnEC,QAAS,IACTC,WAAY,IACd,CAAC,CACH,KAAO,CACLhrB,SAAS+D,eAAe,mBAAmB,EAAEC,MAAQqK,KAAKE,UAAU,CAClE9M,MAAO,gDACT,CAAC,CACH,CACF,CACA,SAASwpB,kBAAkBziB,OACzBzI,EAAE4M,IAAI,EAAE+P,KAAK,oBAAoB,EAAEpP,IAAI,CAAC,EACxC8D,iBAAmB,KACnBrR,EAAEiB,KAAK,CACLC,KAAM,OACNC,IAAKgU,eACL5T,KAAMvB,EAAE4M,IAAI,EAAEwd,UAAU,EACxB9J,WAAYrB,cACZ5d,UAAW,CACTC,gBAAiB,IACnB,EACAE,QAAS,SAAUD,MACjB4C,WAAW,WACT2c,cAAcvf,KAAMvB,EAAE4M,IAAI,EAAG,CAAC,CAChC,EAAG,CAAC,CACN,EACAlL,MAAO,SAAUC,IAAKC,OAAQF,OAC5ByC,WAAW,WACTuc,mBAAmB/e,IAAKC,OAAQF,KAAK,CACvC,EAAG,CAAC,CACN,CACF,CAAC,EACD+G,MAAM3E,eAAe,EACrB2E,MAAM0iB,gBAAgB,EACtB,OAAO,KACT,CACA,SAASrL,eAAesL,GACtB,IAAIC,KAAO/c,KAAKE,UAAU4c,CAAC,EAC3B,OAAOC,KAAKpf,QAAQ,mBAAoB,SAAUqf,GAChD,MAAO,OAAS,OAASA,EAAEC,WAAW,CAAC,EAAE9R,SAAS,EAAE,GAAG+R,MAAM,CAAC,CAAC,CACjE,CAAC,CACH,CACA,SAAShC,yBACP/D,KACA6B,UACAE,iBACAJ,YACAzU,aAEA,GACEA,aAAe,MACfA,YAAYxC,MACZnQ,EAAEylB,IAAI,EAAE9I,KAAK,eAAiBhK,YAAYxC,KAAO,IAAI,EAAE3N,QAAU,EACjE,CACAxC,EAAE,SAAS,EACRqE,KAAK,CACJnD,KAAM,SACNiP,KAAMwC,YAAYxC,KAClBlM,MAAO0O,YAAY1O,KACrB,CAAC,EACA6e,SAAS9iB,EAAEylB,IAAI,CAAC,CACrB,CACAzlB,EAAE,SAAS,EACRqE,KAAK,CACJnD,KAAM,SACNiP,KAAM,gBACNlM,MAAOwW,KAAKqF,eAAewH,SAAS,CAAC,CACvC,CAAC,EACAxE,SAAS9iB,EAAEylB,IAAI,CAAC,EACnB,IAAK,IAAInjB,EAAI,EAAGA,EAAIklB,iBAAiBhlB,OAAQ,EAAEF,EAAG,CAChDrC,SAAS+D,eAAewjB,iBAAiBllB,EAAE,EAAEmpB,SAAW,IAC1D,CACA,GAAIrE,YAAY5kB,OAAS,EAAG,CAC1BxC,EAAE,iBAAiB,EAAEid,OAAO,EAC5B,IAAI0M,OAAS3pB,EACX,mFACF,EACAA,EAAEM,WAAW,EAAE8c,OAAOuM,MAAM,EAC5B3pB,EAAEylB,IAAI,EAAEphB,KAAK,SAAU,gBAAgB,EACvCslB,OAAOC,KAAK,OAAQ,WAClBzlB,WAAW,WACT2c,cACE9gB,EAAE6pB,UAAU7pB,EAAE,iBAAiB,EAAE8pB,SAAS,EAAE3M,KAAK,CAAC,EAClDsI,KACA,CACF,CACF,EAAG,CAAC,CACN,CAAC,EACDA,KAAKhf,OAAO,CACd,KAAO,CACL4K,iBAAmB,KACnBrR,EAAEiB,KAAK,CACLC,KAAM,OACNC,IAAKgU,eACL5T,KAAMvB,EAAEylB,IAAI,EAAE2E,UAAU,EACxB9J,WAAYrB,cACZ5d,UAAW,CACTC,gBAAiB,IACnB,EACAE,QAAS,SAAUD,MACjB4C,WAAW,WACT2c,cAAcvf,KAAMkkB,KAAM,CAAC,CAC7B,EAAG,CAAC,CACN,EACA/jB,MAAO,SAAUC,IAAKC,OAAQF,OAC5ByC,WAAW,WACTuc,mBAAmB/e,IAAKC,OAAQF,KAAK,CACvC,EAAG,CAAC,CACN,CACF,CAAC,CACH,CACF,CACA,SAAS4kB,aACP,GAAIpkB,eAAgB,CAClB,MACF,CACA,GAAIgU,kBAAoB,GAAKrD,kBAAmB,CAC9C,OAAO,IACT,CACA,GAAImB,mBAAqB,KAAM,CAC7BlM,cAAckM,iBAAiB,CACjC,CACA,IAAI0X,MAAQ9e,KACZ+e,UAAUD,KAAK,EACf1X,kBAAoBzM,YAAYokB,UAAWzV,gBAAgB,EAC3D,OAAO,IACT,CACA,SAAS0N,gBAEP,GAAI1hB,eAAgB,CAClB,GAAIqQ,2BAA6B,KAAM,CACrCzK,cAAcyK,yBAAyB,CACzC,CACA,GAAI,CAACmC,eAAiB,CAACkX,YAAa,CAClC,MACF,CACArZ,0BAA4BhL,YAAYqc,cAAe1N,gBAAgB,EACvEvE,SAAS8Q,KAAK,kBAAmB,CAC/BoC,IAAKC,MACLxiB,EAAGgT,eACHyP,OAAQC,eACRT,WAAYjW,KAAKE,UAAUxO,EAAE,SAAS,EAAEye,eAAe,CAAC,CAC1D,CAAC,EACD,MACF,CACA,GAAIvI,kBAAoB,GAAKrD,kBAAmB,CAC9C,OAAO,IACT,CACA,GAAImB,mBAAqB,KAAM,CAC7BlM,cAAckM,iBAAiB,CACjC,CACA2X,UAAU,IAAI,EACd3X,kBAAoBzM,YAAYokB,UAAWzV,gBAAgB,EAC3D,OAAO,IACT,CACA,SAASwK,mBAAmB/e,IAAKC,OAAQF,OACvC2P,iBAAmB,MACnB,GACE1P,IAAIkqB,cAAgBlkB,WACpBhG,IAAIkqB,cAAgB,IACpBlqB,IAAIkqB,cAAgB,OACpB,CACA,IAAIC,QAAUnqB,IAAIoqB,aAClB,GAAID,SAAWnkB,UAAW,CACxB3H,EAAEM,WAAW,EAAEkF,KAAK,OAAO,CAC7B,KAAO,CACL,IAAI0c,OAASjiB,SAAS2G,cAAc,KAAK,EACzC5G,EAAEkiB,MAAM,EAAE1c,KAAKsmB,OAAO,EACtB,IAAIE,OAAShsB,EAAEkiB,MAAM,EAAE+J,SAAS,KAAK,EACrC,GAAID,OAAOxpB,OAAS,EAAG,CACrBxC,EAAEM,WAAW,EAAEkf,MAAM,EACrB,IAAK,IAAIld,EAAI,EAAGA,EAAI0pB,OAAOxpB,OAAQF,CAAC,GAAI,CACtCtC,EAAEM,WAAW,EAAE8c,OAAO4O,OAAO1pB,EAAE,CACjC,CACA,IAAI4pB,aAAelsB,EAAEkiB,MAAM,EAAE+J,SAAS,QAAQ,EAC9C,GAAIC,aAAa1pB,OAAS,EAAG,CAC3B,IAAK,IAAIF,EAAI,EAAGA,EAAI4pB,aAAa1pB,OAAQF,CAAC,GAAI,CAC5C,IAAIwpB,QAAU9rB,EAAEksB,aAAa5pB,EAAE,EAAEkD,KAAK,EACtC,GAAIsmB,QAAQK,WAAW,eAAe,EAAG,CACvC7Y,KAAKwY,OAAO,CACd,CACF,CACF,CACA,GAAIM,cAAe,CACjB,IAAIC,eAAiBpsB,SAAS2G,cAAc,KAAK,EACjD5G,EAAEqsB,cAAc,EAAE7mB,KAAK4mB,aAAa,EACpC,IAAIE,UAAYtsB,EAAEqsB,cAAc,EAAE1P,KAAK,QAAQ,EAC/C,GAAI2P,UAAU9pB,OAAS,EAAG,CACxB,IAAK,IAAIF,EAAI,EAAGA,EAAIgqB,UAAU9pB,OAAQF,CAAC,GAAI,CACzC,IAAIwpB,QAAU9rB,EAAEssB,UAAUhqB,EAAE,EAAEkD,KAAK,EACnC,GAAIsmB,QAAS,CACXxY,KAAKwY,OAAO,CACd,KAAO,CACL,IAAIS,cAAgBtsB,SAAS2G,cAAc,QAAQ,EACnD2lB,cAAczN,IAAM9e,EAAEssB,UAAUhqB,EAAE,EAAE+B,KAAK,KAAK,EAC9CpE,SAASiqB,KAAKsC,YAAYD,aAAa,CACzC,CACF,CACF,CACF,CACAvsB,EAAE,WAAW,EAAE2D,GAAG,QAAS,SAAUd,GACnC8K,SAAS8e,OAAO,EAChB5pB,EAAEiB,eAAe,EACjB,OAAO,KACT,CAAC,EACD4oB,oBAAoB,EACpB1sB,EAAEC,QAAQ,EAAE8O,QAAQ,aAAa,CACnC,KAAO,CACL/O,EAAEM,WAAW,EAAEkF,KAAKsmB,OAAO,CAC7B,CACF,CACA,GAAIzrB,UAAW,CACbL,EAAEM,WAAW,EAAE,GAAG4F,SAAS,EAAG,CAAC,CACjC,KAAO,CACLxF,OAAOwF,SAAS,EAAG,CAAC,CACtB,CACF,KAAO,CACLrE,QAAQC,IAAI,2CAA2C,CACzD,CACF,CACA,SAAS6qB,kBAAkB7N,KACzB,IAAI8N,KAAO3sB,SAAS4sB,qBAAqB,MAAM,EAAE,GACjD,IAAIC,OAAS7sB,SAAS2G,cAAc,QAAQ,EAC5CkmB,OAAOhO,IAAMA,IACbgO,OAAOzkB,MAAQ,KACfykB,OAAOC,MAAQ,KACfH,KAAKJ,YAAYM,MAAM,CACzB,CACA9sB,EAAEC,QAAQ,EAAE0D,GAAG,UAAW,SAAUd,GAClC,GAAIA,EAAEmqB,OAAS,GAAI,CACjB,GAAIjb,eAAiB,EAAG,CACtB,IAAIkb,IAAMjtB,EAAEC,SAASitB,aAAa,EAAEtR,KAAK,SAAS,EAClD,GACEqR,KAAO,SACPA,KAAO,YACPA,KAAO,KACPA,KAAO,SACPA,KAAO,SACP,CACApqB,EAAEiB,eAAe,EACjBjB,EAAEsoB,gBAAgB,EAClB,GACEnrB,EAAE,kCAAkC,EAAEmtB,IAAI,cAAc,EAAE3qB,QAAU,EACpE,CACAxC,EAAE,kCAAkC,EAAEmtB,IAAI,cAAc,EAAEtpB,MAAM,CAClE,CACA,OAAO,KACT,CACF,CACA,GAAI7D,EAAEC,SAASitB,aAAa,EAAE9Q,SAAS,UAAU,EAAG,CAClDvZ,EAAEiB,eAAe,EACjBjB,EAAEsoB,gBAAgB,EAClBnrB,EAAEC,SAASitB,aAAa,EAAEvQ,KAAK,OAAO,EAAE9Y,MAAM,EAC9C,OAAO,KACT,CACF,CACF,CAAC,EACD,SAASmmB,kBAAkBzoB,KAAMG,OAC/BG,QAAQC,IAAI,sBAAwBJ,KAAK,EACzC,GAAI,kBAAmBzB,SAAU,CAC/BA,SAASitB,cAAcE,KAAK,CAC9B,CACAptB,EAAEM,WAAW,EAAEkF,KAAKjE,IAAI,CAC1B,CACA,SAASkB,kBAAkBwF,MACzB,OAAQA,KAAK/G,MACX,IAAK,SACHyB,aAAasF,KAAK6kB,MAAM,EACxB,MACF,IAAK,YACHO,kBAAkBplB,KAAKuD,OAAO,EAC9B,MACF,IAAK,kBACHiM,kBAAoB,KACpB,MACF,IAAK,eACHzP,mBAAmBC,KAAKA,IAAI,EAC5B,MACF,IAAK,mBACHK,sBAAsBL,KAAKA,IAAI,EAC/B,MACF,IAAK,MACHY,UAAUZ,KAAKP,IAAI,EACnB,MACF,IAAK,aACH2iB,kBAAkBpiB,KAAKqiB,MAAOriB,KAAK6b,QAAQ,EAC3C,MACF,IAAK,SACH9jB,EAAE,IAAMiI,KAAKC,EAAE,EAAEsc,OAAO,CAAE8I,QAAS,SAAUC,QAAStlB,KAAKslB,OAAQ,CAAC,EACpE,MACF,IAAK,YACHhqB,sBAAsB0E,KAAKulB,MAAOvlB,KAAKwlB,OAAO,EAC9C,MACF,IAAK,OACHnqB,WAAa,KACb,GAAI2Q,yBAA2B,KAAM,CACnCyZ,aAAazZ,uBAAuB,CACtC,CACA,GAAID,mBAAqB,KAAM,CAC7BlM,cAAckM,iBAAiB,CACjC,CACA,GAAItP,kBAAoB,MAAQ,CAACgO,iBAAkB,CACjD/N,cAAc,CAChB,CACAR,WAAWwpB,iBAAkB1lB,KAAK2lB,OAAS,GAAK,GAAI,EACpD,KACJ,CACF,CACA,SAAS9M,cAAcvf,KAAMkkB,KAAMoI,SAAUC,WAC3Czc,iBAAmB,MACnBoB,kBAAoB,MACpB,GAAI0B,WAAa,KAAM,CACrBuZ,aAAavZ,SAAS,CACxB,CACAc,OAAS1T,KAAKkf,WACd,GAAIlf,KAAKwsB,cAAe,CACtBC,eAAiBzsB,KAAKwsB,aACxB,CACA,GAAIxsB,KAAKse,QAAU,OAAQ,CACzBvc,WAAa,MACb,GAAIiT,wBAAyB,CAC3BoB,kBAAkBpW,IAAI,CACxB,CACA,GAAI,kBAAmBtB,SAAU,CAC/BA,SAASitB,cAAcE,KAAK,CAC9B,CACAptB,EAAEM,WAAW,EAAEkF,KAAK,EAAE,EACtB,GAAInF,UAAW,CACbL,EAAEM,WAAW,EAAE,GAAG4F,SAAS,EAAG,CAAC,CACjC,KAAO,CACLxF,OAAOwF,SAAS,EAAG,CAAC,CACtB,CACAlG,EAAEM,WAAW,EAAEkF,KAAKjE,KAAK2oB,IAAI,EAC7BlqB,EAAEM,WAAW,EAAE2R,OAAO,EAAE/N,YAAY,EACpClE,EAAEM,WAAW,EAAE2R,OAAO,EAAE7N,SAAS7C,KAAK0sB,SAAS,EAC/CjuB,EAAE,qBAAqB,EAAEqE,KACvB,UACA,qCACF,EACA0Q,WAAaxT,KAAK2sB,UAElB1Z,gBAAkBjT,KAAK4sB,SAASC,aAChC3Z,WAAalT,KAAK4sB,SAASvL,KAC3BzM,YAAc5U,KAAK4sB,SAASE,MAC5BjY,mBAAqB7U,KAAK4sB,SAASG,cACnCnoB,QAAU5E,KAAKqW,MAEf,GAAI,CAACvX,WAAa,CAAC2R,cAAe,CAChC,GAAIuc,QAAQC,OAAS,MAAQroB,QAAUooB,QAAQC,MAAM5W,MAAO,CAC1D2W,QAAQE,UACN,CAAE7W,MAAOzR,OAAQ,EACjB5E,KAAKmtB,cAAgB,WAAavoB,QAClCiP,cAAgBoB,UAAYrQ,OAC9B,CACF,KAAO,CACLooB,QAAQI,aACN,CAAE/W,MAAOzR,OAAQ,EACjB,GACAiP,cAAgBoB,UAAYrQ,OAC9B,CACF,CACF,CACAiO,iBAAmB7S,KAAKqtB,iBACxB5Z,aAAezT,KAAKstB,QACpBpZ,aAAelU,KAAKutB,YACpBC,aAAalB,QAAQ,EAKrB,IAAK,IAAIvrB,EAAI,EAAGA,EAAIf,KAAKytB,cAAcxsB,OAAQF,CAAC,GAAI,CAQlDG,kBAAkBlB,KAAKytB,cAAc1sB,EAAE,CACzC,CACAtC,EAAE,qBAAqB,EAAE0M,KAAK,WAC5B,GAAI1M,EAAE4M,IAAI,EAAEqO,GAAG,UAAU,EAAG,CAC1B,GAAI5a,UAAW,CACb,IAAI4uB,eAAiBjvB,EAAE4M,IAAI,EAAE1C,SAAS,EAAE2N,IAAM,GAC9C1T,WAAW,WACTnE,EAAEM,WAAW,EAAE6Z,QAAQ,CAAEC,UAAW6U,cAAe,EAAG,GAAI,CAC5D,EAAG,GAAG,CACR,KAAO,CACL,IAAIA,eAAiBjvB,EAAE4M,IAAI,EAAEsN,OAAO,EAAErC,IAAM,GAC5C1T,WAAW,WACTnE,EAAEM,WAAW,EACV2R,OAAO,EACPA,OAAO,EACPkI,QAAQ,CAAEC,UAAW6U,cAAe,EAAG,GAAI,CAChD,EAAG,GAAG,CACR,CACA,OAAO,KACT,CACF,CAAC,EACD,IAAK,IAAI3sB,EAAI,EAAGA,EAAIf,KAAK2tB,UAAU1sB,OAAQF,CAAC,GAAI,CAC9CtC,EAAE,MAAM,EAAEod,OAAO7b,KAAK2tB,UAAU5sB,EAAE,CACpC,CACArC,SAAS8hB,MAAQxgB,KAAKmtB,cACtB,GAAI1uB,EAAE,MAAM,EAAEqE,KAAK,MAAM,GAAK9C,KAAK4tB,KAAM,CACvCnvB,EAAE,MAAM,EAAEqE,KAAK,OAAQ9C,KAAK4tB,IAAI,CAClC,CACA,GAAI1X,kBAAmB,CACrBoT,iBAAiB,CACnB,CACA7qB,EAAEC,QAAQ,EAAE8O,QAAQ,YAAY,EAChC,GAAImF,YAAc,KAAM,CACtBwZ,aAAaxZ,UAAU,CACzB,CACA,GAAI3S,KAAK6tB,cAAgB,MAAQ7tB,KAAK6tB,aAAe,EAAG,CAEtDlb,WAAa/P,WAAW,WACtBwpB,gBAAgB,CAClB,EAAGpsB,KAAK6tB,YAAY,CACtB,CACAjtB,eAAe,CACjB,MAAO,GAAIZ,KAAKse,QAAU,WAAY,CACpC,GAAInb,kBAAoB,KAAM,CAC5BgpB,aAAahpB,gBAAgB,EAC7BA,iBAAmB,IACrB,CACA,GAAIgO,iBAAkB,CACpB2c,cAAc,CAChB,CACA3uB,OAAOiN,SAAWpM,KAAKJ,GACzB,MAAO,GAAII,KAAKse,QAAU,UAAW,CACnC8N,gBAAgB,CAClB,MAAO,GAAIpsB,KAAKse,QAAU,SAAU,CAClClS,SAAS8e,OAAO,IAAI,CACtB,MAAO,GAAIlrB,KAAKse,QAAU,WAAY,CACpC,GAAI4F,MAAQ,KAAM,CAChB/kB,OAAOiN,SAAWmgB,SACpB,CACA9tB,EAAE,oBAAoB,EAAEid,OAAO,EAC/B,GACEtK,aAAe,MACfA,YAAYxC,MACZnQ,EAAE,eAAiB2S,YAAYxC,KAAO,IAAI,EAAE3N,QAAU,EACtD,CACA,IAAI8sB,MAAQtvB,EAAE,SAAS,EACpBqE,KAAK,OAAQ,QAAQ,EACrBA,KAAK,OAAQsO,YAAYxC,IAAI,EAC7B5C,IAAIoF,YAAY1O,KAAK,EACxBjE,EAAEylB,IAAI,EAAErI,OAAOpd,EAAEsvB,KAAK,CAAC,CACzB,CACA7J,KAAKhf,OAAO,CACd,MAAO,GAAIlF,KAAKse,QAAU,OAAQ,CAChC,GAAInb,kBAAoB,MAAQ,CAACgO,iBAAkB,CACjD/N,cAAc,CAChB,CACAR,WAAWwpB,iBAAkBpsB,KAAKqsB,OAAS,GAAK,GAAI,CACtD,CACF,CACA,SAAS2B,aAAa1sB,GAEpB,IAAItB,KAAOgZ,mBAAmBva,EAAE4M,IAAI,EAAErL,KAAK,IAAI,CAAC,EAChDoB,aAAapB,IAAI,EACjBsB,EAAEiB,eAAe,EACjB,OAAO,KACT,CACA,SAAS0rB,iBAAiB3sB,GACxB,GAAIwO,iBAAkB,CACpBxO,EAAEiB,eAAe,EACjB9D,EAAE4M,IAAI,EAAEwgB,KAAK,EACb,OAAO,KACT,CACA,GAAIptB,EAAE4M,IAAI,EAAEwP,SAAS,gBAAgB,EAAG,CACtC,GAAIqT,QAAQhZ,YAAY,EAAG,CACzB,OAAO,IACT,CACA5T,EAAEiB,eAAe,EACjB9D,EAAE4M,IAAI,EAAEwgB,KAAK,EACb,OAAO,KACT,CACA,IAAIsC,WAAanV,mBAAmBva,EAAE4M,IAAI,EAAErL,KAAK,WAAW,CAAC,EAC7D,IAAIouB,OAAS3vB,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,EAChCgN,iBAAmB,KACnBrR,EAAEiB,KAAK,CACLC,KAAM,OACNC,IAAKgU,eACL5T,KAAMvB,EAAEugB,MAAM,CAAEH,QAASsP,WAAYjP,WAAYxL,OAAQhU,KAAM,CAAE,CAAC,EAClEqf,WAAYrB,cACZ5d,UAAW,CACTC,gBAAiB,IACnB,EACAE,QAAS,SAAUD,MACjB4C,WAAW,WACT2c,cAAcvf,KAAM,KAAM,EAAGouB,MAAM,CACrC,EAAG,CAAC,CACN,EACAjuB,MAAO,SAAUC,IAAKC,OAAQF,OAC5ByC,WAAW,WACTuc,mBAAmB/e,IAAKC,OAAQF,KAAK,CACvC,EAAG,CAAC,CACN,EACAK,SAAU,MACZ,CAAC,EACD2C,iBAAmBP,WAAWQ,cAAe,GAAI,EACjD9B,EAAEiB,eAAe,EACjB,OAAO,KACT,CACA,SAAS8rB,eAAe/sB,GACtB,GAAIwO,iBAAkB,CACpBxO,EAAEiB,eAAe,EACjB9D,EAAE4M,IAAI,EAAEwgB,KAAK,EACb,OAAO,KACT,CAEA,IAAInlB,KAAOjI,EAAE6pB,UAAUxP,KAAKra,EAAE4M,IAAI,EAAErL,KAAK,QAAQ,CAAC,CAAC,EACnDwf,kBAAkB9Y,KAAK,UAAWA,KAAK,YAAY,EACnDpF,EAAEiB,eAAe,EACjB,OAAO,KACT,CACA,SAAS+rB,aACPtb,aAAe,UACfqP,cAAc,CAChB,CACA,SAASI,eAEPhkB,EAAE,iBAAiB,EAAEoE,SAAS,aAAa,EAC3CpE,EAAE,YAAY,EAAEkE,YAAY,aAAa,EACzClE,EAAE,mBAAmB,EAAEwF,KAAK,EAAE,EAC9B,IAAK,IAAIlD,EAAI,EAAGA,EAAIsP,cAAcpP,OAAQF,CAAC,GAAI,CAC7C2f,iBAAiBrQ,cAActP,EAAE,CACnC,CACAigB,iBAAiB,EACjBviB,EAAE,YAAY,EAAE4b,KAAK,WAAY,KAAK,EACtC,GAAI7J,cAAe,CACjB/R,EAAE,YAAY,EAAE0iB,MAAM,CACxB,CACF,CACA,SAASwB,cAEP3P,aAAe,SACfqP,cAAc,EACd,GAAIjS,UAAY,MAAQA,SAASyR,UAAW,CAC1CzR,SAASoS,WAAW,CACtB,CACF,CASA,SAASJ,gBACP,GAAIpP,cAAgB,OAASA,cAAgB,cAAe,CAC1DvU,EAAE,YAAY,EAAEoE,SAAS,aAAa,EACtCpE,EAAE,kBAAkB,EAAEoE,SAAS,aAAa,EAC5CpE,EAAE,iBAAiB,EAAEoE,SAAS,aAAa,CAC7C,KAAO,CACL,GAAImQ,cAAgB,UAAW,CAC7B,GAAIrC,wBAA0B,EAAG,CAC/BlS,EAAE,YAAY,EAAEkE,YAAY,aAAa,CAC3C,CACF,KAAO,CACLlE,EAAE,YAAY,EAAEkE,YAAY,aAAa,CAC3C,CACF,CACA,GAAIqQ,cAAgB,UAAW,CAE7B,GAAI3C,cAAcpP,OAAS,EAAG,CAC5BxC,EAAE,sBAAsB,EAAEkE,YAAY,gBAAgB,EACtDlE,EAAE,sBAAsB,EAAEoE,SAAS,kBAAkB,EACrDpE,EAAE,kBAAkB,EAAEkE,YAAY,aAAa,CACjD,KAAO,CACLlE,EAAE,sBAAsB,EAAEkE,YAAY,gBAAgB,EACtDlE,EAAE,sBAAsB,EAAEkE,YAAY,kBAAkB,EACxDlE,EAAE,kBAAkB,EAAEoE,SAAS,aAAa,CAC9C,CACApE,EAAE,iBAAiB,EAAEoE,SAAS,aAAa,EAC3CpE,EAAE,kBAAkB,EAAEoE,SAAS,aAAa,EAC5CpE,EAAE,YAAY,EAAE4b,KAAK,WAAY,IAAI,EACrC5b,EAAE,SAAS,EAAE4b,KAAK,WAAY,IAAI,CACpC,CACA,GAAIrH,cAAgB,WAAaA,cAAgB,QAAS,CAExDvU,EAAE,kBAAkB,EAAEkE,YAAY,aAAa,EAC/ClE,EAAE,sBAAsB,EAAEkE,YAAY,kBAAkB,EACxDlE,EAAE,sBAAsB,EAAEoE,SAAS,gBAAgB,EACnDpE,EAAE,iBAAiB,EAAEkE,YAAY,aAAa,EAC9ClE,EAAE,kBAAkB,EAAEoE,SAAS,aAAa,EAC5CpE,EAAE,YAAY,EAAE4b,KAAK,WAAY,IAAI,EACrC5b,EAAE,SAAS,EAAE4b,KAAK,WAAY,IAAI,EAClC4F,cAAc,MAAM,CACtB,CACA,GAAIjN,cAAgB,KAAM,CACxBvU,EAAE,kBAAkB,EAAEkE,YAAY,aAAa,EAC/ClE,EAAE,sBAAsB,EAAEkE,YAAY,kBAAkB,EACxDlE,EAAE,sBAAsB,EAAEoE,SAAS,gBAAgB,EACnDpE,EAAE,iBAAiB,EAAEoE,SAAS,aAAa,EAC3CpE,EAAE,kBAAkB,EAAEkE,YAAY,aAAa,EAC/ClE,EAAE,YAAY,EAAE4b,KAAK,WAAY,KAAK,EACtC,GAAI7J,cAAe,CACjB/R,EAAE,YAAY,EAAE0iB,MAAM,CACxB,CACA1iB,EAAE,SAAS,EAAE4b,KAAK,WAAY,KAAK,EACnC4F,cAAc,MAAM,CACtB,CACAzG,YAAY,CACd,CACA,SAAS+U,kBAAkBvuB,MACzB,GAAIA,KAAKse,QAAUte,KAAKse,QAAU,SAAU,CAC1ClS,SAAS8e,OAAO,IAAI,CACtB,CAEA,GAAIlrB,KAAKC,QAAS,CAChBxB,EAAE,mBAAmB,EAAEwF,KAAK,EAAE,EAC9BoM,cAAgB,GAChB,IAAIkS,SAAWviB,KAAKuiB,SACpB,IAAK,IAAIxhB,EAAI,EAAGA,EAAIwhB,SAASthB,OAAQ,EAAEF,EAAG,CACxCsP,cAAcpE,KAAKsW,SAASxhB,EAAE,EAC9B2f,iBAAiB6B,SAASxhB,EAAE,CAC9B,CACAqhB,cAAc,EACdpB,iBAAiB,CACnB,CACF,CACA,SAASoL,kBACPtc,iBAAmB,KACnBrR,EAAEiB,KAAK,CACLC,KAAM,OACNC,IAAKgU,eACL5T,KAAM,cAAgB0T,OAAS,UAC/BqL,WAAYrB,cACZ5d,UAAW,CACTC,gBAAiB,IACnB,EACAE,QAAS,SAAUD,MACjB4C,WAAW,WACT2c,cAAcvf,KAAMvB,EAAE,SAAS,EAAG,CAAC,CACrC,EAAG,CAAC,CACN,EACA0B,MAAO,SAAUC,IAAKC,OAAQF,OAC5ByC,WAAW,WACTuc,mBAAmB/e,IAAKC,OAAQF,KAAK,CACvC,EAAG,CAAC,CACN,CACF,CAAC,CACH,CACA,SAASquB,qBACPle,cAAgBme,KAAKC,OAAO,CAC9B,CACA,SAASC,kBAAkB3uB,MACzB,GAAIA,KAAKse,QAAUte,KAAKse,QAAU,SAAU,CAC1ClS,SAAS8e,OAAO,IAAI,CACtB,CACA3a,aAAe,EAEf,GAAIvQ,KAAK4uB,cAAgBte,cAAe,CACtChQ,QAAQC,IAAI,gDAAgD,EAC5D,MACF,CACA,GAAIP,KAAKC,QAAS,CAChB,GAAID,KAAK6uB,SAAS5tB,OAAS,EAAG,CAC5B,IAAK,IAAIF,EAAI,EAAGA,EAAIf,KAAK6uB,SAAS5tB,OAAQ,EAAEF,EAAG,CAC7C,IAAI+tB,QAAU9uB,KAAK6uB,SAAS9tB,GAC5B,GAAI+tB,QAAQC,OAAS,QAAS,CAC5B,GAAI,CAACtwB,EAAE,UAAU,EAAEwC,OAAQ,CACzBxC,EAAEM,WAAW,EAAE8c,OAAOxD,UAAUrE,wBAAyB,EAAE,CAAC,CAC9D,CACAvV,EAAE,UAAU,EAAEod,OACZxD,UAAUpE,sBAAuB,OAAQ6a,QAAQpsB,KAAK,CACxD,CAEF,MAAO,GAAIosB,QAAQC,OAAS,UAAW,CACrC3C,gBAAgB,CAClB,MAAO,GAAI0C,QAAQC,OAAS,aAAc,CAExC3tB,aAAa0tB,QAAQpsB,KAAK,CAC5B,MAAO,GAAIosB,QAAQC,OAAS,SAAU,CACpC,IAAK,IAAIhqB,OAAO+pB,QAAQpsB,MAAO,CAC7B,GAAIosB,QAAQpsB,MAAMsC,eAAeD,GAAG,EAAG,CACrC,GACE,OAAO+pB,QAAQpsB,MAAMqC,OAAS,UAC9B+pB,QAAQpsB,MAAMqC,OAAS,KACvB,CACA,GAAI+pB,QAAQpsB,MAAMqC,KAAKC,eAAe,SAAS,EAAG,CAChDiX,aAAalX,IAAK+pB,QAAQpsB,MAAMqC,KAAK,UAAU,CACjD,CACA,GAAI+pB,QAAQpsB,MAAMqC,KAAKC,eAAe,OAAO,EAAG,CAC9CgX,WAAWjX,IAAK+pB,QAAQpsB,MAAMqC,KAAK,QAAQ,CAC7C,CACF,KAAO,CACLiX,WAAWjX,IAAK+pB,QAAQpsB,MAAMqC,IAAI,CACpC,CACF,CACF,CACF,MAAO,GAAI+pB,QAAQC,OAAS,qBAAsB,CAChD,IAAIC,YAAcpiB,MAAM,EACxB,GACEkiB,QAAQpsB,MAAMsC,eAAe,QAAQ,GACrC8pB,QAAQpsB,MAAMsC,eAAe,SAAS,EACtC,CACAgqB,YAAY/iB,KAAK,CACfuM,OAAQsW,QAAQpsB,MAAM8V,OACtBzO,QAAS+kB,QAAQpsB,MAAMqH,OACzB,CAAC,CACH,CACA,GAAI6C,MAAMC,QAAQiiB,QAAQpsB,KAAK,EAAG,CAChC,IAAK3B,EAAI,EAAGA,EAAI+tB,QAAQpsB,MAAMzB,OAAQ,EAAEF,EAAG,CACzC,IAAIkuB,oBAAsBH,QAAQpsB,MAAM3B,GACxC,GACEkuB,oBAAoBjqB,eAAe,QAAQ,GAC3CiqB,oBAAoBjqB,eAAe,SAAS,EAC5C,CACAgqB,YAAY/iB,KAAK,CACfuM,OAAQyW,oBAAoBzW,OAC5BzO,QAASklB,oBAAoBllB,OAC/B,CAAC,CACH,CACF,CACF,CACA,IAAKhJ,EAAI,EAAGA,EAAIiuB,YAAY/tB,OAAQ,EAAEF,EAAG,CACvC,IAAImuB,WAAaF,YAAYjuB,GAC7BtC,EAAE,YAAcywB,WAAW1W,OAAO9N,QAAQ,iBAAiB,CAAC,EAAE2P,KAC5D,YACA6U,WAAWnlB,OACb,CACF,CAEAtL,EAAEC,QAAQ,EAAE8O,QAAQ,YAAa,CAACshB,QAAQxQ,OAAQwQ,QAAQpsB,MAAM,CAClE,CACF,CAMF,CACAysB,gBAAkBnc,aAElB,GAAIhT,KAAKovB,OAAS,KAAM,CACtB3wB,EAAE,iBAAiB,EAAEoE,SAAS,aAAa,EAC3CpE,EAAE,mBAAmB,EAAEwF,KAAK,EAAE,EAC9BxF,EAAE,mBAAmB,EAAEoE,SAAS,aAAa,EAC7C+N,iBAAmB,KACrB,KAAO,CACLnS,EAAE,iBAAiB,EAAEkE,YAAY,aAAa,EAC9ClE,EAAE,mBAAmB,EAAEwF,KAAKjE,KAAKovB,KAAK,EACtC3wB,EAAE,mBAAmB,EAAEkE,YAAY,aAAa,EAChDiO,iBAAmB,KACnBqP,cAAc,OAAO,CACvB,CACA,IAAIoP,cACJ,GAAIrc,cAAgBhT,KAAKsvB,YAAa,CACpCD,cAAgB,KAClB,KAAO,CACLA,cAAgB,IAClB,CACA,GAAIA,cAAe,CACjBrc,aAAehT,KAAKsvB,YACpBlN,cAAc,EACd,GAAIpP,cAAgB,QAAS,CAE3B4O,mBAAmB,CACrB,CACF,CACAjR,wBAA0B,EAC1B,GAAIuC,YAAc,QAAUA,YAAc,WAAY,CACpDvC,yBAA2B3Q,KAAKuvB,UAChC,GAAIvvB,KAAKuvB,WAAa,EAAG,CACvB9wB,EAAE,gBAAgB,EAAEwF,KAClB,+BACEjE,KAAKuvB,UACL,IACApa,YACA,SACJ,CACF,KAAO,CACL1W,EAAE,gBAAgB,EAAEwF,KAClB,+BACEjE,KAAKuvB,UACL,IACAna,aACA,SACJ,CACF,CACA3W,EAAE,gBAAgB,EAAEkE,YAAY,aAAa,CAC/C,KAAO,CACLlE,EAAE,gBAAgB,EAAEoE,SAAS,aAAa,CAC5C,CACA,GAAIqQ,YAAc,YAAcA,YAAc,OAAQ,CACpD,GAAIlT,KAAKwvB,gBAAkB,EAAG,CAC5B/wB,EAAE,oBAAoB,EAAEwF,KACtB,kCACEjE,KAAKwvB,eACL,IACAna,WACA,SACJ,CACF,KAAO,CACL5W,EAAE,oBAAoB,EAAEwF,KACtB,kCACEjE,KAAKwvB,eACL,IACAla,YACA,SACJ,CACF,CACA7W,EAAE,oBAAoB,EAAEkE,YAAY,aAAa,CACnD,KAAO,CACLlE,EAAE,oBAAoB,EAAEoE,SAAS,aAAa,CAChD,CACA,GAAIuQ,kBAAmB,CACrB,GAAI,CAACpT,KAAKyvB,gBAAiB,CACzBrc,kBAAoB,MAEpBsO,cAAc,EACd,GAAI1O,cAAgB,KAAM,CACxB,GAAI5C,UAAY,MAAQA,SAASyR,UAAW,CAE1CzR,SAAS8Q,KAAK,WAAW,CAC3B,CACF,CACF,CACF,KAAO,CACL,GAAIlhB,KAAKyvB,gBAAiB,CACxBrc,kBAAoB,KACpBwO,mBAAmB,CACrB,CACF,CACF,CACApI,YAAY,CACd,CACA,SAASkW,mBAAmB1vB,OAC5B,SAAS2vB,mBACPvF,UAAU,SAAS,CACrB,CACA,SAASA,UAAUhlB,MAEjB,IAAIA,KAAO,OAAOA,OAAS,YAAc,KAAOA,KAChDmL,cAAgB,EAEhB,GAAInL,OAAS,MAAQmL,aAAe,EAAG,CAErC,MACF,CACA,IAAIqf,WACJ,GAAI5c,cAAgB,OAASvU,EAAE,SAAS,EAAEwC,OAAS,GAAK,CAACmS,kBAAmB,CAC1E,GAAII,YAAc,KAAM,CACtBoc,WAAanxB,EAAEugB,MAAM,CACnBV,OAAQ,UACRuR,WAAY7c,aACZ8c,SAAU5c,WACVgM,WAAYxL,OACZqc,YAAazf,cACb0S,WAAYjG,aAAa3X,IAAI,EAC7B4qB,eAAgBjjB,KAAKE,UAAUxO,EAAE,SAAS,EAAEye,eAAe,CAAC,EAC5DyP,UAAWnZ,WACX9T,KAAM,GACR,CAAC,CACH,KAAO,CACLkwB,WAAanxB,EAAEugB,MAAM,CACnBV,OAAQ,UACRuR,WAAY7c,aACZ8c,SAAU5c,WACVgM,WAAYxL,OACZqc,YAAazf,cACb0S,WAAYjG,aAAa3X,IAAI,EAC7B4qB,eAAgBjjB,KAAKE,UAAUxO,EAAE,SAAS,EAAEye,eAAe,CAAC,EAC5Dxd,KAAM,GACR,CAAC,CACH,CACF,KAAO,CACL,GAAI8T,YAAc,KAAM,CACtBoc,WAAanxB,EAAEugB,MAAM,CACnBV,OAAQ,UACRuR,WAAY7c,aACZ8c,SAAU5c,WACVgM,WAAYxL,OACZqc,YAAazf,cACbqc,UAAWnZ,WACXwP,WAAYjG,aAAa3X,IAAI,EAC7B1F,KAAM,GACR,CAAC,CACH,KAAO,CACLkwB,WAAanxB,EAAEugB,MAAM,CACnBV,OAAQ,UACRuR,WAAY7c,aACZ8c,SAAU5c,WACVgM,WAAYxL,OACZqc,YAAazf,cACb5Q,KAAM,GACR,CAAC,CACH,CACF,CAEAjB,EAAEiB,KAAK,CACLC,KAAM,OACNC,IAAK2V,aACLwJ,WAAYrB,cACZ5d,UAAW,CACTC,gBAAiB,IACnB,EACAC,KAAM4vB,WACN3vB,QAAS0uB,kBACTnuB,SAAU,MACZ,CAAC,EACD,OAAO,IACT,CACA,SAASyvB,aACPxxB,EAAEiB,KAAK,CACLC,KAAM,OACNC,IAAK4V,cACLuJ,WAAYrB,cACZ5d,UAAW,CACTC,gBAAiB,IACnB,EACAC,KAAM,cAAgB0T,OAAS,0BAC/BzT,QAASyvB,mBACTlvB,SAAU,MACZ,CAAC,EACD,OAAO,IACT,CACA,SAAS0vB,mBACPD,WAAW,EACX,GAAIxd,mBAAqB,KAAM,CAC7BlM,cAAckM,iBAAiB,CACjC,CACF,CACA,SAASrP,gBACP,GAAI3E,EAAE,aAAa,EAAEwC,OAAS,EAAG,CAC/BxC,EACE,6OACF,EAAE8iB,SAASxiB,WAAW,CACxB,KAAO,CACL,IAAIoxB,QAAUzxB,SAAS2G,cAAc,MAAM,EAC3C,IAAI+qB,KAAO1xB,SAAS2G,cAAc,GAAG,EACrC5G,EAAE2xB,IAAI,EAAEvtB,SAAS,6BAA6B,EAC9CpE,EAAE2xB,IAAI,EAAE7O,SAAS4O,OAAO,EACxB1xB,EAAE0xB,OAAO,EAAErtB,KAAK,KAAM,WAAW,EACjCrE,EAAE0xB,OAAO,EAAEttB,SAAS,kCAAkC,EACtDpE,EAAE0xB,OAAO,EAAE5O,SAAS,eAAe,CACrC,CACApQ,iBAAmB,IACrB,CACA,SAAS2c,gBACPrvB,EAAE,YAAY,EAAEid,OAAO,EACvBvK,iBAAmB,MACnBhO,iBAAmB,IACrB,CACA,SAASktB,oBAAoBnpB,OAC3B,GAAI,CAACiM,eAAiB,CAACkX,YAAa,CAClCnjB,MAAM3E,eAAe,EACrB,OAAO,KACT,CACA,IAAI+tB,UAAY,KAChB,GAAI7xB,EAAE4M,IAAI,EAAEwP,SAAS,kBAAkB,EAAG,CACxCyV,UAAY7xB,EAAE4M,IAAI,EAAErL,KAAK,QAAQ,CACnC,CACA,IAAIuwB,WAAa9xB,EAAE4M,IAAI,EAAErL,KAAK,IAAI,EAClC,IAAIwwB,eAAiB/xB,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAC7C,IAAIywB,QAAUhyB,EAAE4M,IAAI,EAAErL,KAAK,SAAS,EACpC,IAAI0wB,MAAQjyB,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,EAC7B,GAAI4tB,OAAS,cAAe,CAC1BA,MAAQ,iBACV,CACA,IAAI7L,QAAUpmB,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,EACjC,IAAIqZ,SAAW1d,EAAE4M,IAAI,EAAEW,IAAI,EAC3B,IAAI2kB,KACJ,GAAIF,QAAS,CACXE,KAAO,mBAAqBF,QAAU,IACxC,MAAO,GAAID,eAAgB,CACzBG,KACE,qBACAH,eAAe9lB,QAAQ,0BAA2B,MAAM,EACxD,IACJ,MAAO,GAAI4lB,UAAW,CACpBK,KACE,kBACAL,UAAU5lB,QAAQ,0BAA2B,MAAM,EACnD,IACJ,MAAO,GAAIgmB,MAAO,CAChBC,KAAO,IAAMD,MAAMhmB,QAAQ,0BAA2B,MAAM,CAC9D,MAAO,GAAIma,QAAS,CAClB8L,KACE,IACAlyB,EAAE4M,IAAI,EAAEkP,QAAQ,MAAM,EAAEzX,KAAK,IAAI,EACjC,IACArE,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,EAAEnK,YAAY,EACpC,UACA2U,QAAQna,QAAQ,uBAAwB,MAAM,EAC9C,KACF,GAAI,OAAOyR,WAAa,YAAa,CACnCwU,MAAQ,WAAaxU,SAAW,IAClC,CACF,KAAO,CACLwU,KACE,IACAlyB,EAAE4M,IAAI,EAAEkP,QAAQ,MAAM,EAAEzX,KAAK,IAAI,EACjC,IACArE,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,EAAEnK,YAAY,EACpC,iBACJ,CAEA,GACEc,2BAA6B,MAC7Buf,YAAc,MACdG,OAAS,oBACTA,OAAS,gBACTA,OAAS,kBACT,CACAnqB,cAAcyK,yBAAyB,CACzC,CACAZ,SAAS8Q,KAAK,kBAAmB,CAC/BoC,IAAKC,MACLxiB,EAAGgT,eACHyP,OAAQC,eACRP,QAASyN,KACT3N,WAAYjW,KAAKE,UAAUxO,EAAE,SAAS,EAAEye,eAAe,CAAC,CAC1D,CAAC,EACD,GAAIqT,YAAc,KAAM,CAEtBnvB,aAAa4X,mBAAmBuX,UAAU,CAAC,CAC7C,CACA,GACEG,OAAS,oBACTA,OAAS,gBACTA,OAAS,kBACT,CACAxpB,MAAM3E,eAAe,EACrB,OAAO,KACT,CACF,CACA,SAASquB,mBAAmBtvB,GAC1B,IAAIinB,SAAW9pB,EAAE4M,IAAI,EAAEW,IAAI,EAC3B,IAAI6kB,YAAc,IAAIjmB,OAAO,IAAK,GAAG,EACrC,IAAIkmB,aAAe,IAAIlmB,OAAO,IAAK,GAAG,EACtC2d,SAAWA,SACR7d,QAAQ,KAAM,OAAO,EACrBA,QAAQmmB,YAAa,MAAM,EAC3BnmB,QAAQomB,aAAc,MAAM,EAC5BpmB,QAAQ,KAAM,QAAQ,EACzBjM,EAAE,8CAA8C,EAC7CwF,KAAKskB,QAAQ,EACbhH,SAAS,aAAa,EACzB9iB,EAAE,UAAU,EAAE6iB,IAAI,YAAa7iB,EAAE4M,IAAI,EAAEiW,IAAI,WAAW,CAAC,EACvD7iB,EAAE,UAAU,EAAE6iB,IAAI,mBAAoB7iB,EAAEM,WAAW,EAAEuiB,IAAI,kBAAkB,CAAC,EAC5E7iB,EAAE,UAAU,EAAE6iB,IAAI,QAAS7iB,EAAEM,WAAW,EAAEuiB,IAAI,kBAAkB,CAAC,EACjE7iB,EAAE4M,IAAI,EAAErI,MAAMvE,EAAE,UAAU,EAAEuE,MAAM,EAAI,EAAE,EACxCJ,WAAW,WACTnE,EAAE,UAAU,EAAEid,OAAO,CACvB,EAAG,CAAC,CACN,CACA,SAASyP,sBACP,IAAIhR,EAAIjG,aAAajT,OACrB,IAAK,IAAIF,EAAI,EAAGA,EAAIoZ,EAAGpZ,CAAC,GAAI,CAC1B,IAAI+c,QAAU5J,aAAanT,GAC3B,GAAI+c,QAAQC,UAAY,UAAW,CACjCzd,QAAQC,IAAIud,QAAQA,OAAO,CAC7B,MAAO,GAAIA,QAAQC,UAAY,aAAc,CAC3C3c,aAAa0c,QAAQA,OAAO,CAC9B,MAAO,GACLA,QAAQC,UAAY,WACpBD,QAAQC,UAAY,WACpBD,QAAQC,UAAY,UACpBD,QAAQC,UAAY,aACpBD,QAAQC,UAAY,YACpBD,QAAQC,UAAY,QACpBD,QAAQC,UAAY,QACpBD,QAAQC,UAAY,SACpBD,QAAQC,UAAY,UACpB,CACAK,SAASN,QAAQA,QAASA,QAAQC,QAAQ,CAC5C,KAAO,CACLK,SAASN,QAAQA,QAAS,MAAM,CAClC,CACF,CACF,CACA,SAASiT,kBAAkB7pB,OACzBA,MAAQA,OAAS/H,OAAO+H,MACxB,IAAI8pB,KAAO9pB,MAAM+pB,QACjB,GAAID,MAAQ,EAAG,CACb,GAAIA,MAAQ,GAAI,CACdvyB,EAAEyI,MAAMsR,MAAM,EACX+B,QAAQ,oBAAoB,EAC5Ba,KAAK,cAAc,EACnB9Y,MAAM,CACX,CACA4E,MAAM3E,eAAe,EACrB,OAAO,KACT,CACF,CACA,SAAS2uB,qBAAqB/O,MAAOzf,OACnCjE,EAAE0jB,KAAK,EAAEhX,KAAK,WACZ,IAAIgmB,aAAe1yB,EAAE4M,IAAI,EAAEkP,QAAQ,wBAAwB,EAC3D,GACE,EACE4W,aAAalwB,SACZxC,EAAE0yB,aAAa,EAAE,EAAEnxB,KAAK,WAAW,GAAK,KACvC,CAACvB,EAAE0yB,aAAa,EAAE,EAAEzX,GAAG,UAAU,IAErC,CACA,GACEjb,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,GAAK,SAC3B5b,EAAE4M,IAAI,EAAEwP,SAAS,UAAU,GAC3B/I,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAC9B,CACA,GAAIJ,MAAO,CACToP,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAGsuB,QAAQ,CAC3C,KAAO,CACLtf,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAGuuB,OAAO,CAC1C,CACF,MAAO,GAAI5yB,EAAE4M,IAAI,EAAEwP,SAAS,QAAQ,EAAG,CACrC,GAAInY,MAAO,CACTjE,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAAEoxB,QAAQ,CACpC,KAAO,CACL3yB,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAAEqxB,OAAO,CACnC,CACF,MAAO,GAAI5yB,EAAE4M,IAAI,EAAEwP,SAAS,UAAU,EAAG,CACvC,GAAInY,MAAO,CACTjE,EAAE4M,IAAI,EAAE4X,OAAO,SAAS,CAC1B,KAAO,CACLxkB,EAAE4M,IAAI,EAAE4X,OAAO,QAAQ,CACzB,CACF,KAAO,CACLxkB,EAAE4M,IAAI,EAAEgP,KAAK,WAAY3X,KAAK,CAChC,CACA,GAAIA,MAAO,CACTjE,EAAE4M,IAAI,EAAEkP,QAAQ,gBAAgB,EAAE1X,SAAS,aAAa,CAC1D,KAAO,CACLpE,EAAE4M,IAAI,EAAEkP,QAAQ,gBAAgB,EAAE5X,YAAY,aAAa,CAC7D,CACF,CACF,CAAC,CACH,CACA,SAAS2uB,gBAAgBhV,OAAQiV,WAC/B,GAAI,OAAOjV,QAAU,UAAYA,OAAOpF,MAAM,cAAc,EAAG,CAC7DoF,OAASvE,WAAWuE,MAAM,CAC5B,MAAO,GAAI,OAAOA,QAAU,UAAYA,OAAOpF,MAAM,SAAS,EAAG,CAC/DoF,OAAS1E,SAAS0E,MAAM,CAC1B,CACA,GAAI,OAAOiV,WAAa,UAAYA,UAAUra,MAAM,cAAc,EAAG,CACnEqa,UAAYxZ,WAAWwZ,SAAS,CAClC,MAAO,GAAI,OAAOA,WAAa,UAAYA,UAAUra,MAAM,SAAS,EAAG,CACrEqa,UAAY3Z,SAAS2Z,SAAS,CAChC,CACA,GAAI,OAAOjV,QAAU,UAAY,OAAOiV,WAAa,SAAU,CAC7D,GACE9a,OAAO8a,SAAS,GAAK,SACpB9a,OAAO6F,MAAM,GAAK,IAAMA,SAAW,MACpC,CACA,OAAO,IACT,CACA,OAAO7F,OAAO6F,MAAM,GAAK7F,OAAO8a,SAAS,CAC3C,CACA,OAAOjV,QAAUiV,SACnB,CACA,SAASC,yBACP,IAAIC,SAAWhzB,EAAE,uBAAuB,EAAE6mB,KAAK,EAAEtlB,KAAK,YAAY,EAClE,IAAI0xB,IAAMjzB,EAAE,+BAA+B,EAAE6mB,KAAK,EAAEtlB,KAAK,YAAY,EACrE,GAAI4X,SAAS8Z,GAAG,EAAI9Z,SAAS6Z,QAAQ,EAAG,CACtC,GACEhzB,EAAE,6CAA+CizB,IAAM,IAAI,EACxDtW,KAAK,eAAe,EACpBP,SAAS,aAAa,EACzB,CACApc,EAAE,8CAAgDizB,IAAM,GAAK,IAAI,EAAEjQ,KACjE,MACF,CACF,CACF,CACA,IAAItH,EAAIvC,SAAS6Z,QAAQ,EACzB,IAAIE,SAAW/Z,SACbnZ,EAAE,uBAAuB,EAAEia,MAAM,EAAE1Y,KAAK,YAAY,CACtD,EACA,MAAOma,CAAC,IAAKwX,SAAU,CACrB,GACElzB,EAAE,8CAAgD0b,EAAI,GAAK,YAAY,EACpElZ,OAAS,EACZ,CACA,GACE,CAACxC,EAAE,8CAAgD0b,EAAI,GAAK,IAAI,EAC7DiB,KAAK,eAAe,EACpBP,SAAS,aAAa,GACzBpc,EAAE,6CAA+C0b,EAAI,IAAI,EACtDiB,KAAK,kBAAkB,EACvBP,SAAS,aAAa,EACzB,CACApc,EAAE,8CAAgD0b,EAAI,GAAK,IAAI,EAAEgE,KAAK,CACxE,CACF,CACF,CACA,IAAIhE,EAAIvC,SAAS6Z,QAAQ,EACzB,IAAIG,eAAiB,MACrB,MAAOzX,CAAC,IAAKwX,SAAU,CACrB,GACElzB,EAAE,8CAAgD0b,EAAI,GAAK,YAAY,EACpElZ,OAAS,EACZ,CACA,GACE,CAACxC,EAAE,8CAAgD0b,EAAI,GAAK,IAAI,EAC7DiB,KAAK,eAAe,EACpBP,SAAS,aAAa,EACzB,CACA+W,eAAiB,IACnB,CACA,IAAIC,QAAUpzB,EAAE,6CAA+C0b,EAAI,IAAI,EACvE,GACEyX,gBACA,CAACnzB,EAAEozB,OAAO,EAAEzW,KAAK,eAAe,EAAEP,SAAS,aAAa,EACxD,CACApc,EAAEozB,OAAO,EAAEzW,KAAK,eAAe,EAAEvY,SAAS,aAAa,EACvDpE,EAAEozB,OAAO,EAAEzW,KAAK,oBAAoB,EAAEzY,YAAY,aAAa,CACjE,CACF,CACF,CACF,CACA,SAASmvB,YAAY1sB,KAAM2sB,GAAIC,QAC7B,IAAIC,UAAYxzB,EAAE2G,IAAI,EAAE4G,IAAI,EAC5B,GAAIimB,UAAUhxB,OAAS2W,SAASma,GAAGvW,QAAQxb,KAAK,MAAM,CAAC,EAAG,CACxD,GAAI+xB,GAAGG,MAAO,CACZH,GAAG5T,KAAK,CACV,CACA,MACF,CACA,GAAIlM,oBAAsB,MAAQC,0BAA2B,CAC3DC,6BAA+B,KAC/B,MACF,CACA,GAAI6f,OAAQ,CACV/f,mBAAqBrP,WAAW,WAC9BsP,0BAA4B,MAC5B,GAAIC,6BAA8B,CAChC2f,YAAY1sB,KAAM2sB,GAAIC,MAAM,EAC5B7f,6BAA+B,KACjC,CACF,EAAG,GAAI,EACPD,0BAA4B,KAC5BC,6BAA+B,KACjC,CACAiN,eACE2S,GAAGvW,QAAQxb,KAAK,QAAQ,EACxB,CAAEmyB,UAAWF,SAAU,EACvB,SAAUjyB,MACRiyB,UAAYxzB,EAAE2G,IAAI,EAAE4G,IAAI,EACxB,GAAI,OAAOhM,MAAQ,SAAU,CAC3B,IAAIoyB,eAAiBH,UAAUI,YAAY,EAC3CN,GAAGvW,QAAQyC,MAAM,EACjB,IAAIqU,UAAY7zB,EAAE,UAAU,EAC5B6zB,UAAUtmB,IAAI,EAAE,EAChBsmB,UAAU1W,KAAK,EAAE,EACjBmW,GAAGvW,QAAQK,OAAOyW,SAAS,EAC3B,IAAIC,eAAiB,KACrB,IAAIC,cAAgB,KACpB,GAAI5lB,MAAMC,QAAQ7M,IAAI,EAAG,CACvB,IAAK,IAAIe,EAAI,EAAGA,EAAIf,KAAKiB,OAAQ,EAAEF,EAAG,CACpC,GAAI6L,MAAMC,QAAQ7M,KAAKe,EAAE,EAAG,CAC1B,GAAIf,KAAKe,GAAGE,QAAU,EAAG,CACvB,IAAIwxB,KAAOh0B,EAAE,UAAU,EACvB,GACE8zB,iBACEP,QAAUhyB,KAAKe,GAAG,GAAGmX,SAAS,GAAK+Z,WACnCjyB,KAAKe,GAAG,GAAGmX,SAAS,GAAK+Z,WAC3B,CACAQ,KAAKpY,KAAK,WAAY,IAAI,EAC1BkY,eAAiB,MACjBC,cAAgBxyB,KAAKe,GAAG,EAC1B,CACA0xB,KAAK7W,KAAK5b,KAAKe,GAAG,EAAE,EACpB0xB,KAAKzmB,IAAIhM,KAAKe,GAAG,EAAE,EACnBgxB,GAAGvW,QAAQK,OAAO4W,IAAI,CACxB,MAAO,GAAIzyB,KAAKe,GAAGE,QAAU,EAAG,CAC9B,IAAIwxB,KAAOh0B,EAAE,UAAU,EACvB,GACE8zB,iBACEP,QAAUhyB,KAAKe,GAAG,GAAGmX,SAAS,GAAK+Z,WACnCjyB,KAAKe,GAAG,GAAGmX,SAAS,GAAK+Z,WAC3B,CACAQ,KAAKpY,KAAK,WAAY,IAAI,EAC1BkY,eAAiB,MACjBC,cAAgBxyB,KAAKe,GAAG,EAC1B,CACA0xB,KAAK7W,KAAK5b,KAAKe,GAAG,EAAE,EACpB0xB,KAAKzmB,IAAIhM,KAAKe,GAAG,EAAE,EACnBgxB,GAAGvW,QAAQK,OAAO4W,IAAI,CACxB,CACF,MAAO,GAAI,OAAOzyB,KAAKe,IAAM,SAAU,CACrC,IAAK,IAAIgE,OAAO/E,KAAKe,GAAI,CACvB,GAAIf,KAAKe,GAAGiE,eAAeD,GAAG,EAAG,CAC/B,IAAI0tB,KAAOh0B,EAAE,UAAU,EACvB,GACE8zB,iBACEP,QAAUjtB,IAAImT,SAAS,GAAK+Z,WAC5BltB,IAAImT,SAAS,GAAK+Z,WACpB,CACAQ,KAAKpY,KAAK,WAAY,IAAI,EAC1BkY,eAAiB,MACjBC,cAAgBxyB,KAAKe,GAAGgE,IAC1B,CACA0tB,KAAK7W,KAAK5b,KAAKe,GAAGgE,IAAI,EACtB0tB,KAAKzmB,IAAIjH,GAAG,EACZgtB,GAAGvW,QAAQK,OAAO4W,IAAI,CACxB,CACF,CACF,KAAO,CACL,IAAIA,KAAOh0B,EAAE,UAAU,EACvB,GACE8zB,iBACEP,QACAhyB,KAAKe,GAAGmX,SAAS,EAAEma,YAAY,GAAKD,gBACpCpyB,KAAKe,GAAGmX,SAAS,GAAK+Z,WACxB,CACAQ,KAAKpY,KAAK,WAAY,IAAI,EAC1BkY,eAAiB,MACjBC,cAAgBxyB,KAAKe,EACvB,CACA0xB,KAAK7W,KAAK5b,KAAKe,EAAE,EACjB0xB,KAAKzmB,IAAIhM,KAAKe,EAAE,EAChBgxB,GAAGvW,QAAQK,OAAO4W,IAAI,CACxB,CACF,CACF,MAAO,GAAI,OAAOzyB,MAAQ,SAAU,CAClC,IAAI0yB,QAAU9lB,MAAM,EACpB,IAAK,IAAI7H,OAAO/E,KAAM,CACpB,GAAIA,KAAKgF,eAAeD,GAAG,EAAG,CAC5B2tB,QAAQzmB,KAAKlH,GAAG,CAClB,CACF,CACA2tB,QAAUA,QAAQC,KAAK,EACvB,IAAK,IAAI5xB,EAAI,EAAGA,EAAI2xB,QAAQzxB,OAAQ,EAAEF,EAAG,CACvC,IAAI0xB,KAAOh0B,EAAE,UAAU,EACvB,GACE8zB,iBACEP,QACAU,QAAQ3xB,GAAGmX,SAAS,EAAEma,YAAY,GAAKD,gBACvCM,QAAQ3xB,GAAGmX,SAAS,GAAK+Z,WAC3B,CACAQ,KAAKpY,KAAK,WAAY,IAAI,EAC1BkY,eAAiB,MACjBC,cAAgBxyB,KAAK0yB,QAAQ3xB,GAC/B,CACA0xB,KAAK7W,KAAK5b,KAAK0yB,QAAQ3xB,GAAG,EAC1B0xB,KAAKzmB,IAAI0mB,QAAQ3xB,EAAE,EACnBgxB,GAAGvW,QAAQK,OAAO4W,IAAI,CACxB,CACF,CACA,GAAIT,OAAQ,CACVD,GAAGjW,QAAQ,EACXiW,GAAGhW,YAAY,EACfgW,GAAGxW,QAAQvP,IAAI+lB,GAAGa,SAAS5mB,IAAI,CAAC,EAChC+lB,GAAGc,OAAO,CACZ,KAAO,CACL,GAAI,CAACN,eAAgB,CACnBR,GAAGa,SAAS5mB,IAAIwmB,aAAa,CAC/B,CACF,CACF,CACF,CACF,CACF,CAEA,SAASjlB,aAAa7K,OACpB,GAAI,OAAOA,QAAU,UAAY,OAAOA,QAAU,UAAW,CAC3D,OAAOqK,KAAKE,UAAUvK,KAAK,CAC7B,CACA,OAAOA,KACT,CAEA,SAASiK,kBAAkBwL,KACzB,OAAOA,IACJ2a,MAAM,GAAG,EACThqB,IAAI,CAACiqB,KAAMC,SACV,GAAIA,QAAU,EAAG,OAAOD,KACxB,OAAOA,KAAKE,OAAO,CAAC,EAAEZ,YAAY,EAAIU,KAAK9I,MAAM,CAAC,CACpD,CAAC,EACAzE,KAAK,EAAE,EACP9a,QAAQ,OAAQ,KAAK,CAC1B,CAEA,SAAS4C,kBAAkB4lB,UACzB,OAAOA,SACJxoB,QAAQ,OAAQ,KAAK,EACrBA,QAAQ,WAAY,KAAK,EACzBwF,YAAY,EACZxF,QAAQ,KAAM,EAAE,CACrB,CAEA,SAAS8iB,aAAalB,UACpB,GAAI,CAAC3rB,eAAgB,CACnB6tB,mBAAmB,CACrB,CACA1c,aAAetM,OAAO,EACtBmM,kBAAoBnM,OAAO,EAC3BoM,oBAAsBpM,OAAO,EAC7B,GAAIrC,kBAAoB,KAAM,CAC5BgpB,aAAahpB,gBAAgB,EAC7BA,iBAAmB,IACrB,CACA,GAAIgO,kBAAoB,CAACpP,WAAY,CACnC+rB,cAAc,CAChB,CACA,GAAIntB,eAAgB,CAClBlC,EACE,sLACF,EAAE6D,MAAM+tB,mBAAmB,CAC7B,CACApf,iBAAmB,KAKnBxS,EAAE,cAAc,EAAE00B,UAAU,CAC1BC,MAAO,MACPC,SAAU30B,SAASc,gBAAgBouB,KACnC0F,oBAAqB,CAAC,QACxB,CAAC,EACD70B,EAAE,yBAAyB,EAAE6D,MAAM,SAAUhB,GAC3CA,EAAEiB,eAAe,EACjB9D,EAAE4M,IAAI,EAAEwgB,KAAK,EACb,IAAI0H,IAAM90B,EAAE4M,IAAI,EAAEkP,QAAQ,IAAI,EAAE7B,MAAM,EACtC,GAAIja,EAAE4M,IAAI,EAAEqO,GAAG,YAAY,EAAG,CAC5B,IAAI8Z,KAAOD,IAAIC,KAAK,EACpB,GAAIA,KAAKvyB,QAAU,EAAG,CACpB,OAAO,KACT,CACAsyB,IAAI1wB,SAAS,oBAAoB,EACjCD,WAAW,WACT2wB,IAAIE,aAAaD,IAAI,CACvB,EAAG,GAAG,CACR,KAAO,CACL,IAAIE,KAAOH,IAAIG,KAAK,EACpB,GAAIA,KAAKzyB,QAAU,EAAG,CACpB,OAAO,KACT,CACAsyB,IAAI1wB,SAAS,oBAAoB,EACjCD,WAAW,WACT2wB,IAAII,YAAYJ,IAAIG,KAAK,CAAC,CAC5B,EAAG,GAAG,CACR,CACA9wB,WAAW,WACT2wB,IAAI5wB,YAAY,oBAAoB,CACtC,EAAG,GAAI,EACP,OAAO,KACT,CAAC,EACDlE,EAAE,iBAAiB,EAAE2c,KAAK,yBAAyB,EAAEf,KAAK,WAAY,IAAI,EAC1E5b,EAAE,iBAAiB,EAChB2c,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ,GAAI2G,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAI,CACpCgP,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAGsuB,QAAQ,CAC3C,KAAO,CACL3yB,EAAE4M,IAAI,EAAEgP,KAAK,WAAY,IAAI,CAC/B,CACF,CAAC,EACH5b,EAAE,iBAAiB,EAChB2c,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAE4X,OAAO,SAAS,CAC1B,CAAC,EACHxkB,EAAE,iBAAiB,EAChB2c,KAAK,cAAc,EACnBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAAEoxB,QAAQ,CACpC,CAAC,EACH3yB,EAAE,mBAAmB,EAAE2D,GAAG,QAAS,WACjC3D,EAAE,SAAS,EACRqE,KAAK,CACJnD,KAAM,SACNiP,KAAM,WACNlM,MAAOjE,EAAE4M,IAAI,EAAEW,IAAI,CACrB,CAAC,EACAuV,SAAS9iB,EAAE,SAAS,CAAC,EACxBA,EAAE,SAAS,EAAEyG,OAAO,EACpBgC,MAAM3E,eAAe,EACrB,OAAO,KACT,CAAC,EACD9D,EAAE,eAAe,EAAE2D,GAAG,QAAS,SAAUd,GACvCA,EAAEiB,eAAe,EACjB,GAAI9D,EAAE,SAAS,EAAEm1B,MAAM,EAAG,CACxB,IAAIlC,IAAMjzB,EAAE4M,IAAI,EAAEqF,OAAO,EAAEA,OAAO,EAAE1Q,KAAK,YAAY,EACrDvB,EAAE,qBAAuBizB,IAAM,IAAI,EAAEjQ,KAAK,MAAM,EAChDhjB,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,yBAAyB,EAC9BjQ,KAAK,WACJ,IAAImP,cAAgB7b,EAAE4M,IAAI,EAAEkP,QAAQ,uBAAuB,EAC3D,GAAID,cAAcrZ,QAAU,GAAKxC,EAAE6b,cAAc,EAAE,EAAEZ,GAAG,UAAU,EAAG,CACnEjb,EAAE4M,IAAI,EAAEgP,KAAK,WAAY,KAAK,CAChC,CACF,CAAC,EACH5b,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ,IAAImP,cAAgB7b,EAAE4M,IAAI,EAAEkP,QAAQ,uBAAuB,EAC3D,GAAID,cAAcrZ,QAAU,GAAKxC,EAAE6b,cAAc,EAAE,EAAEZ,GAAG,UAAU,EAAG,CACnE,GAAI5H,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAI,CACpCgP,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAGuuB,OAAO,CAC1C,KAAO,CACL5yB,EAAE4M,IAAI,EAAEgP,KAAK,WAAY,KAAK,CAChC,CACF,CACF,CAAC,EACH5b,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ,IAAImP,cAAgB7b,EAAE4M,IAAI,EAAEkP,QAAQ,uBAAuB,EAC3D,GAAID,cAAcrZ,QAAU,GAAKxC,EAAE6b,cAAc,EAAE,EAAEZ,GAAG,UAAU,EAAG,CACnEjb,EAAE4M,IAAI,EAAE4X,OAAO,QAAQ,CACzB,CACF,CAAC,EACHxkB,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,cAAc,EACnBjQ,KAAK,WACJ,IAAImP,cAAgB7b,EAAE4M,IAAI,EAAEkP,QAAQ,uBAAuB,EAC3D,GAAID,cAAcrZ,QAAU,GAAKxC,EAAE6b,cAAc,EAAE,EAAEZ,GAAG,UAAU,EAAG,CACnEjb,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAAEqxB,OAAO,CACnC,CACF,CAAC,EACH5yB,EAAE4M,IAAI,EACHqF,OAAO,EACP0K,KAAK,wBAAwB,EAC7BzY,YAAY,aAAa,EAC5BlE,EAAE4M,IAAI,EAAEqF,OAAO,EAAE0K,KAAK,mBAAmB,EAAEzY,YAAY,aAAa,EACpElE,EAAE4M,IAAI,EAAExI,SAAS,aAAa,EAC9BpE,EAAE,kBAAkB,EAAEkE,YAAY,aAAa,EAC/C6uB,uBAAuB,EACvB,IAAIpsB,KAAO3G,EAAE,qBAAuBizB,IAAM,IAAI,EAC3CtW,KAAK,yBAAyB,EAC9B1C,MAAM,EACT,GAAIja,EAAE2G,IAAI,EAAEyuB,QAAQ,EAAG,CACrBp1B,EAAE2G,IAAI,EAAE+b,MAAM,CAChB,CACF,CACA,OAAO,KACT,CAAC,EACD1iB,EAAE,YAAY,EAAE2D,GAAG,SAAUunB,iBAAiB,EAC9ClrB,EAAE,kBAAkB,EAAE2D,GAAG,QAAS,SAAUd,GAC1CA,EAAEiB,eAAe,EACjB,IAAImvB,IAAMjzB,EAAE4M,IAAI,EAAEqF,OAAO,EAAEA,OAAO,EAAE1Q,KAAK,YAAY,EACrDvB,EACE,qBACEizB,IACA,wEACJ,EAAEvT,KAAK,MAAM,EACb1f,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,yBAAyB,EAC9Bf,KAAK,WAAY,IAAI,EACxB5b,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ,GAAI2G,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAI,CACpCgP,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAGsuB,QAAQ,CAC3C,KAAO,CACL3yB,EAAE4M,IAAI,EAAEgP,KAAK,WAAY,IAAI,CAC/B,CACF,CAAC,EACH5b,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAE4X,OAAO,SAAS,CAC1B,CAAC,EACHxkB,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,cAAc,EACnBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAAEoxB,QAAQ,CACpC,CAAC,EACH3yB,EAAE4M,IAAI,EAAEqF,OAAO,EAAE0K,KAAK,qBAAqB,EAAEzY,YAAY,aAAa,EACtElE,EAAE4M,IAAI,EAAEqF,OAAO,EAAE0K,KAAK,mBAAmB,EAAEvY,SAAS,aAAa,EACjEpE,EAAE4M,IAAI,EAAExI,SAAS,aAAa,EAC9B2uB,uBAAuB,EACvB,OAAO,KACT,CAAC,EACD/yB,EAAE,0BAA0B,EAAE2D,GAAG,QAAS,SAAUd,GAClDA,EAAEiB,eAAe,EACjB,IAAImvB,IAAMjzB,EAAE4M,IAAI,EAAEqF,OAAO,EAAEA,OAAO,EAAE1Q,KAAK,YAAY,EACrDvB,EACE,qBACEizB,IACA,wEACJ,EAAEvT,KAAK,MAAM,EACb1f,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,yBAAyB,EAC9Bf,KAAK,WAAY,IAAI,EACxB5b,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ,GAAI2G,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAI,CACpCgP,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAGsuB,QAAQ,CAC3C,KAAO,CACL3yB,EAAE4M,IAAI,EAAEgP,KAAK,WAAY,IAAI,CAC/B,CACF,CAAC,EACH5b,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAE4X,OAAO,SAAS,CAC1B,CAAC,EACHxkB,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,cAAc,EACnBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAAEoxB,QAAQ,CACpC,CAAC,EACH3yB,EAAE4M,IAAI,EACHqF,OAAO,EACP0K,KAAK,0BAA0B,EAC/BzY,YAAY,aAAa,EAC5BlE,EAAE4M,IAAI,EAAEqF,OAAO,EAAE0K,KAAK,uBAAuB,EAAEzY,YAAY,aAAa,EACxElE,EAAE4M,IAAI,EAAExI,SAAS,aAAa,EAC9B2uB,uBAAuB,EACvB,OAAO,KACT,CAAC,EACD/yB,EAAE,oBAAoB,EAAE2D,GAAG,QAAS,SAAUd,GAC5CA,EAAEiB,eAAe,EACjB,IAAImvB,IAAMjzB,EAAE4M,IAAI,EAAEqF,OAAO,EAAEA,OAAO,EAAE1Q,KAAK,YAAY,EACrDvB,EAAE,qBAAuBizB,IAAM,IAAI,EAAEjQ,KAAK,MAAM,EAChDhjB,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,yBAAyB,EAC9Bf,KAAK,WAAY,KAAK,EACzB5b,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ,GAAI2G,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAI,CACpCgP,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAGuuB,OAAO,CAC1C,KAAO,CACL5yB,EAAE4M,IAAI,EAAEgP,KAAK,WAAY,KAAK,CAChC,CACF,CAAC,EACH5b,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAE4X,OAAO,QAAQ,CACzB,CAAC,EACHxkB,EAAE,qBAAuBizB,IAAM,IAAI,EAChCtW,KAAK,cAAc,EACnBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAAEqxB,OAAO,CACnC,CAAC,EACH5yB,EAAE4M,IAAI,EACHqF,OAAO,EACP0K,KAAK,gCAAgC,EACrCzY,YAAY,aAAa,EAC5BlE,EAAE4M,IAAI,EAAEqF,OAAO,EAAE0K,KAAK,wBAAwB,EAAEzY,YAAY,aAAa,EACzElE,EAAE4M,IAAI,EAAEqF,OAAO,EAAE0K,KAAK,mBAAmB,EAAEzY,YAAY,aAAa,EACpElE,EAAE4M,IAAI,EAAEqF,OAAO,EAAE0K,KAAK,uBAAuB,EAAEvY,SAAS,aAAa,EACrEpE,EAAE4M,IAAI,EAAExI,SAAS,aAAa,EAC9B2uB,uBAAuB,EACvB,OAAO,KACT,CAAC,EAWD/yB,EAAE,sBAAsB,EAAE0M,KAAK,WAC7B,IAAI2oB,SAAWr1B,EAAE4M,IAAI,EAAEwP,SAAS,UAAU,EAC1C,IAAIkZ,QAAUjb,KAAKra,EAAE4M,IAAI,EAAErL,KAAK,SAAS,CAAC,EAC1C,IAAIg0B,UAAY3oB,KAChB5M,EAAE4M,IAAI,EACH+P,KAAK,QAAQ,EACbjQ,KAAK,WACJ,IAAImR,OAASxD,KAAKra,EAAE4M,IAAI,EAAErL,KAAK,SAAS,CAAC,EACzC,GAAI8zB,SAAU,CACZxX,OAASxD,KAAKwD,MAAM,CACtB,CACA,IAAIvX,IAAMgvB,QAAU,KAAOzX,OAAS,KACpC,GAAI,CAAC3K,kBAAkB5M,KAAM,CAC3B4M,kBAAkB5M,KAAO,EAC3B,CACA4M,kBAAkB5M,KAAKkH,KAAK,CAC1BwO,OAAQuZ,UACRvX,OAAQpR,KACR3I,MAAO4Z,MACT,CAAC,EACDvX,IAAMgvB,QAAU,KAAOzX,OAAS,KAChC,GAAI,CAAC3K,kBAAkB5M,KAAM,CAC3B4M,kBAAkB5M,KAAO,EAC3B,CACA4M,kBAAkB5M,KAAKkH,KAAK,CAC1BwO,OAAQuZ,UACRvX,OAAQpR,KACR3I,MAAO4Z,MACT,CAAC,CACH,CAAC,CACL,CAAC,EACD7d,EAAE,wCAAwC,EAAE0M,KAAK,WAC/C,IAAI2oB,SAAWr1B,EAAE4M,IAAI,EAAEwP,SAAS,UAAU,EAC1C,IAAIkZ,QAAUjb,KAAKra,EAAE4M,IAAI,EAAErL,KAAK,SAAS,CAAC,EAC1C,IAAIi0B,OAAS,GACb,GAAI,CAACriB,oBAAoBmiB,SAAU,CACjCniB,oBAAoBmiB,SAAW,EACjC,CACAt1B,EAAE4M,IAAI,EACH+P,KAAK,OAAO,EACZjQ,KAAK,WACJ,GAAI1M,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,EAAE+U,OAAO,EAAG,CAAC,IAAM,UAAW,CACnD,MACF,CACA,IAAIyE,OAASxD,KAAKra,EAAE4M,IAAI,EAAErL,KAAK,SAAS,CAAC,EACzC,IAAIk0B,QAAUz1B,EAAE4M,IAAI,EAAErL,KAAK,QAAQ,EACnC,IAAI+E,IACJ,GAAImvB,SAAW,IAAK,CAClBnvB,IAAMgvB,QAAU,IAAMzX,OAAS,GACjC,KAAO,CACLvX,IAAMgvB,QAAU,KAAOzX,OAAS,IAClC,CACA2X,OAAOhoB,KAAK,CACVkoB,SAAUpvB,IACVrC,MAAO4Z,OACP3c,KAAMu0B,QACN9uB,KAAMiG,IACR,CAAC,CACH,CAAC,EACHuG,oBAAoBmiB,SAAS9nB,KAAK,CAChC7G,KAAMiG,KACN+O,WAAY6Z,OACZH,SAAUA,QACZ,CAAC,EACDr1B,EAAE4M,IAAI,EACH+P,KAAK,uBAAuB,EAC5BjQ,KAAK,WACJ,GAAI,CAACyG,oBAAoBmiB,QAAU,UAAW,CAC5CniB,oBAAoBmiB,QAAU,UAAY,EAC5C,CACAniB,oBAAoBmiB,QAAU,UAAU9nB,KAAK,CAC3C7G,KAAMiG,KACN+O,WAAY,CAAC,CAAE+Z,SAAUJ,QAAU,SAAUp0B,KAAM,IAAKyF,KAAMiG,IAAK,GACnEyoB,SAAUA,QACZ,CAAC,CACH,CAAC,EACHr1B,EAAE4M,IAAI,EACH+P,KAAK,uBAAuB,EAC5BjQ,KAAK,WACJ,GAAI,CAACyG,oBAAoBmiB,QAAU,UAAW,CAC5CniB,oBAAoBmiB,QAAU,UAAY,EAC5C,CACAniB,oBAAoBmiB,QAAU,UAAU9nB,KAAK,CAC3C7G,KAAMiG,KACN+O,WAAY,CAAC,CAAE+Z,SAAUJ,QAAU,SAAUp0B,KAAM,IAAKyF,KAAMiG,IAAK,GACnEyoB,SAAUA,QACZ,CAAC,CACH,CAAC,CACL,CAAC,EACDr1B,EAAE,aAAa,EAAE0M,KAAK,WACpB,IAAImR,OAAS7d,EAAE4M,IAAI,EAAEW,IAAI,EAAEkM,SAAS,EACpC,GAAIoE,OAAO/Q,QAAQ,GAAG,GAAK,EAAG,CAC5B+Q,OAASA,OAAO5R,QAAQ,IAAK,EAAE,EAC/B,IAAIgnB,IAAM3Z,WAAWuE,MAAM,EAC3B,IAAI8X,SAAW1C,IAAIzZ,QAAQxC,uBAAuB,EAAEyC,SAAS,EAC7D,GAAIkc,UAAY,MAAO,CACrB31B,EAAE4M,IAAI,EAAEW,IAAIooB,QAAQ,CACtB,CACF,CACF,CAAC,EACD31B,EAAE,aAAa,EAAE2D,GAAG,SAAU,WAC5B,IAAIka,OAAS7d,EAAE4M,IAAI,EAAEW,IAAI,EAAEkM,SAAS,EACpC,GAAIoE,OAAO/Q,QAAQ,GAAG,GAAK,EAAG,CAC5B+Q,OAASA,OAAO+X,WAAW,aAAc,EAAE,EAC3C,IAAI3C,IAAM3Z,WAAWuE,MAAM,EAC3B,IAAI8X,SAAW1C,IAAIzZ,QAAQxC,uBAAuB,EAAEyC,SAAS,EAC7D,GAAIkc,UAAY,MAAO,CACrB31B,EAAE4M,IAAI,EAAEW,IAAIooB,QAAQ,CACtB,KAAO,CACL31B,EAAE4M,IAAI,EAAEW,IAAIsQ,MAAM,CACpB,CACF,KAAO,CACL7d,EAAE4M,IAAI,EAAEW,IAAIsQ,OAAO+X,WAAW,cAAe,EAAE,CAAC,CAClD,CACF,CAAC,EACD51B,EAAE,YAAY,EAAE2D,GAAG,SAAU,WAC3B,IAAIka,OAAS7d,EAAE4M,IAAI,EAAEW,IAAI,EAAEkM,SAAS,EACpCzZ,EAAE4M,IAAI,EAAEW,IAAIsQ,OAAO+X,WAAW,aAAc,EAAE,CAAC,CACjD,CAAC,EAED,GAAIjlB,UAAUa,UAAUiH,MAAM,4BAA4B,EAAG,CAC3D,IAAIod,QAAU51B,SAAS61B,iBAAiB,QAAQ,EAChD,IAAK,IAAIxzB,EAAI,EAAGA,EAAIuzB,QAAQrzB,OAAQF,CAAC,GAAI,CACvCuzB,QAAQvzB,GAAGkqB,YAAYvsB,SAAS2G,cAAc,UAAU,CAAC,CAC3D,CACF,CACA5G,EAAE,kBAAkB,EAAE+1B,UAAU,CAC9BC,MAAO,2CACT,CAAC,EACDh2B,EAAE,uBAAuB,EAAE+1B,UAAU,CAAEE,MAAO,KAAM,CAAC,EACrDj2B,EAAE,2CAA2C,EAAE+O,QAAQ,QAAQ,EAC/D/O,EAAE,gDAAgD,EAAE+O,QAAQ,QAAQ,EACpE/O,EAAE,QAAQ,EAAE2D,GAAG,QAAS,WACtB+N,cAAgB9E,KAChB,OAAO,IACT,CAAC,EACD5M,EAAE,WAAW,EAAE2D,GAAG,oBAAqB,SAAUd,GAC/C,GAAIxC,UAAW,CACb,IAAI2Z,aAAeha,EAAE,WAAW,EAAEia,MAAM,EAAE/P,SAAS,EAAE2N,IAAM,GAC3D7X,EAAEM,WAAW,EAAE6Z,QACb,CACEC,UAAWJ,YACb,EACA,GACF,CACF,KAAO,CACL,IAAIA,aAAeha,EAAE,WAAW,EAAEia,MAAM,EAAEC,OAAO,EAAErC,IAAM,GACzD7X,EAAE,YAAY,EAAEma,QACd,CACEC,UAAWJ,YACb,EACA,GACF,CACF,CACF,CAAC,EACDha,EAAE,kCAAkC,EAAE2D,GAAG,eAAgB,SAAUd,GACjEkP,cAAgB,EAChB,GAAIS,iBAAkB,CACpB+P,iBAAiB,EACjB/P,iBAAmB,KACrB,CACA,GAAIyE,6BAA8B,CAChCjX,EAAE,qBAAqB,EAAEgjB,KAAK,EAC9BhjB,EAAE,yBAAyB,EAAE0f,KAAK,CACpC,CACF,CAAC,EACD1f,EAAE,sCAAsC,EAAE2D,GAAG,eAAgB,SAAUd,GACrEkP,cAAgB,EAChB,GAAImF,iCAAkC,CACpClX,EAAE,qBAAqB,EAAE0f,KAAK,EAC9B1f,EAAE,yBAAyB,EAAEgjB,KAAK,CACpC,CACF,CAAC,EACDhjB,EAAE,uBAAuB,EAAE6D,MAAM,WAC/B,IAAIqyB,WAAa,MACjB,IAAIC,iBAAmB,KACvBn2B,EAAE4M,IAAI,EACHkP,QAAQ,oBAAoB,EAC5Ba,KAAK,2BAA2B,EAChCjQ,KAAK,WACJ,GAAIypB,mBAAqB,KAAM,CAC7BA,iBAAmBvpB,IACrB,CACA,IAAIwpB,aAAep2B,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,EACzC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,IAAI,EAC5B,GAAIwa,cAAgB,KAAM,CACxBp2B,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,EACxBmnB,WAAa,IACf,CACF,CAAC,EACH,GAAIC,mBAAqB,MAAQD,aAAe,MAAO,CACrDl2B,EAAEm2B,gBAAgB,EAAEpnB,QAAQ,QAAQ,CACtC,CACA/O,EAAE4M,IAAI,EACHkP,QAAQ,oBAAoB,EAC5Ba,KAAK,uBAAuB,EAC5BjQ,KAAK,WACJ,IAAI0pB,aAAep2B,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,EACzC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B,GAAIwa,cAAgB,MAAO,CACzBp2B,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,CAAC,CACL,CAAC,EACD/O,EAAE,uBAAuB,EAAE6D,MAAM,WAC/B,IAAIqyB,WAAa,MACjB,IAAIC,iBAAmB,KACvBn2B,EAAE4M,IAAI,EACHkP,QAAQ,oBAAoB,EAC5Ba,KAAK,2BAA2B,EAChCjQ,KAAK,WACJ,GAAIypB,mBAAqB,KAAM,CAC7BA,iBAAmBvpB,IACrB,CACA,IAAIwpB,aAAep2B,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,EACzC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B,GAAIwa,cAAgB,MAAO,CACzBp2B,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,EACxBmnB,WAAa,IACf,CACF,CAAC,EACH,GAAIC,mBAAqB,MAAQD,aAAe,MAAO,CACrDl2B,EAAEm2B,gBAAgB,EAAEpnB,QAAQ,QAAQ,CACtC,CACA/O,EAAE4M,IAAI,EACHkP,QAAQ,oBAAoB,EAC5Ba,KAAK,uBAAuB,EAC5BjQ,KAAK,WACJ,IAAI0pB,aAAep2B,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,EACzC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B,GAAIwa,cAAgB,MAAO,CACzBp2B,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,CAAC,CACL,CAAC,EACD/O,EAAE,2BAA2B,EAAE6D,MAAM,WACnC7D,EAAE4M,IAAI,EACHkP,QAAQ,oBAAoB,EAC5Ba,KAAK,uBAAuB,EAC5BjQ,KAAK,WACJ,IAAI0pB,aAAep2B,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,EACzC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B,GAAIwa,cAAgB,MAAO,CACzBp2B,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,CAAC,EACH,GAAI,CAAC/O,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,EAAG,CAC5B5b,EAAE4M,IAAI,EACHkP,QAAQ,oBAAoB,EAC5Ba,KAAK,uBAAuB,EAC5BjQ,KAAK,WACJ,IAAI0pB,aAAep2B,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,EACzC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B,GAAIwa,cAAgB,MAAO,CACzBp2B,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,CAAC,CACL,CACF,CAAC,EACD/O,EAAE,iBAAiB,EAAEq2B,SAAS,CAC5BC,YAAaphB,sBACbqhB,SAAUC,UACZ,CAAC,EACDx2B,EAAE,yBAAyB,EAAEq2B,SAAS,CACpCI,eAAgB,KAChBH,YAAaphB,sBACbwhB,iBAAkB,MAClBH,SAAUC,UACZ,CAAC,EACDx2B,EAAE,2BAA2B,EAAEq2B,SAAS,CACtCI,eAAgB,MAChBE,WAAY,MACZJ,SAAUC,WACVI,QAAS,SAAU5C,MACjB,OAAO,IACT,EACA6C,kBAAmB,KACrB,CAAC,EACD72B,EAAE,wBAAwB,EAAE0M,KAAK,WAC/B,IAAI4mB,GAAKjgB,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GACvCgvB,YAAYzmB,KAAM0mB,GAAI,KAAK,EAC3BtzB,EAAE4M,IAAI,EAAEjJ,GAAG,QAAS,SAAUd,GAC5B,OAAQA,EAAE2vB,SACR,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACH,MACJ,CACAa,YAAYzmB,KAAM0mB,GAAI,IAAI,EAC1B/f,sBAAwB,KACxB1Q,EAAEiB,eAAe,EACjB,OAAO,KACT,CAAC,CACH,CAAC,EACD9D,EAAE0M,KAAK2G,aAAchL,eAAgByuB,OAAQxD,IAC3C,GAAI,CAAC1mB,KAAKunB,SAAS/X,SAAS,qBAAqB,EAAG,CAClD,MACF,CACA,GAAIkX,GAAGxW,QAAQvP,IAAI,EAAG,CACpB+lB,GAAGa,SAAS5mB,IAAI+lB,GAAGxW,QAAQvP,IAAI,CAAC,CAClC,CACAhF,MAAMvB,gBAAgB,KAAK,EAC3B,KAAM,CAAE+vB,MAAOC,yBAA0BC,sBAAuB,EAC9D1uB,MAAMd,OAAOC,KAAKsB,cAAc,QAAQ,EAC1C,MAAMkuB,MAAQ,IAAIF,yBAClB,IAAIrwB,KAAO2sB,GAAGa,SACd,IAAIgD,WAAa,GACjB,IAAIC,aAAe,GACnBjwB,IAAIkwB,QAAU,CACZzC,SAAU,QACV0C,OAAQ,KACRC,aAAcL,KAChB,EACA5D,GAAGxW,QAAQnZ,GAAG,SAAU0E,MAAOxF,IAC7B,GAAI,CAACiE,eAAegwB,QAAQ1uB,YAAYkrB,GAAGxW,QAAQvP,IAAI,GAAI,CACzD,MACF,CACA,IAAIsQ,OAASyV,GAAGxW,QAAQvP,IAAI,EAC5B+lB,GAAGkE,WAAWtzB,YAAY,mBAAmB,EAC7CovB,GAAGmE,SAAW,MACdtwB,IAAI0E,MACF/E,eAAegwB,QAAQ1uB,YAAYyV,QAAQ6Z,gBAAgBC,QAAQ,EACrEpvB,MAAMsD,MAAM+rB,YAAY,CACtB7pB,QACEjH,eAAegwB,QAAQ3uB,KAAK4F,QAAU,CAAC,sBACvC1D,IAAI6D,iBAAiB,CACzB,CAAC,EAEDvC,gBAAgBmrB,OAAQjrB,KAAK,CAC/B,CAAC,EACDlF,KAAKhD,GAAG,QAAS0E,MAAOxF,IACtB,OAAQA,EAAE2vB,SACR,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACH,MACJ,CACA6E,QAAQ/H,MAAQ3oB,KAAK4G,IAAI,EACzB8pB,QAAQQ,qBAAuB/wB,eAAegwB,QAAQ3uB,KAAKmF,OAAS,CAClE,kBAEF,GAAI+pB,QAAQ/H,MAAM9sB,OAAS,GAAK60B,QAAQ/H,OAAS6H,WAAY,CAC3DA,WAAaE,QAAQ/H,MACrB,KAAM,CAAElnB,WAAY,EAClBG,MAAM0uB,uBAAuBa,6BAA6BT,OAAO,EACnE,IAAIU,QAAU,GACd,IAAIC,OAAS,GACb,IAAK7wB,IAAI8wB,cAAc7vB,YAAa,CAClC,MAAMsvB,gBAAkBO,WAAWP,gBACnC,MAAMQ,YAAcR,gBAAgBva,KAAK1D,SAAS,EAClDse,QAAQvqB,KAAK0qB,WAAW,EACxBF,OAAOE,aAAeD,UACxB,CACA,GACE,EACEF,QAAQv1B,SAAW40B,aAAa50B,QAChCu1B,QAAQI,MAAM,CAACl0B,MAAOswB,QAAUtwB,QAAUmzB,aAAa7C,MAAM,GAE/D,CACAztB,eAAegwB,QAAQ1uB,YAAc4vB,OACrC1E,GAAG8E,QAAQC,MAAQN,QAAQv1B,OAC3B8wB,GAAGjpB,IAAM0tB,QAAQO,OAAO,CAAClU,IAAK9d,OAAQ,CAAG,GAAG8d,KAAM9d,KAAMA,GAAK,GAAG,EAAE,EAClEgtB,GAAGiF,OAASjF,GAAGjpB,IACf+sB,aAAeW,OACjB,CACAzE,GAAGkF,QAAQT,OAAO,CACpB,CACAl1B,EAAEiB,eAAe,EACjB,OAAO,KACT,CAAC,CACH,CAAC,EACD9D,EAAE,cAAc,EAAE2qB,SAAS,CACzBJ,cAAevE,oBACfsE,MAAO,CACLmO,0BAA2B,CAAEC,UAAW,EAAGC,SAAU,KAAMC,MAAO,IAAK,CACzE,EACA9U,SAAU,CACR2U,0BAA2B,CACzBE,SAAUxhB,uBACVyhB,MAAOxhB,mBACT,CACF,EACAyhB,WAAY,+BACd,CAAC,EACD74B,EAAE,mBAAmB,EAAE6D,MAAM2rB,gBAAgB,EAC7CxvB,EAAE,YAAY,EAAE6D,MAAM0rB,YAAY,EAClCvvB,EAAE,oBAAoB,EAAE6D,MAAM+rB,cAAc,EAC5C5vB,EAAE,wBAAwB,EAAE2D,GAAG,QAASwuB,kBAAkB,EAC1DnyB,EAAE,wBAAwB,EAAE0M,KAAKylB,kBAAkB,EACnD,IAAI2G,qBAAuB,GAAGtN,MAAMjG,KAClCtlB,SAAS61B,iBAAiB,4BAA4B,CACxD,EACA,IAAIiD,iBAAmB1hB,wBACvB,IAAI2hB,cAAgBF,qBAAqBzuB,IAAI,SAAU4uB,oBACrD,OAAO,IAAIC,UAAUC,QAAQF,mBAAoB,CAC/ClqB,QAASgqB,iBACTvzB,KAAM,IACR,CAAC,CACH,CAAC,EACD,GAAIuzB,kBAAoB,QAAS,CAC/B/4B,EACE,uEACF,EAAE2D,GAAG,QAAS,SAAU8E,OACtBA,MAAM3E,eAAe,EACrB2E,MAAM0iB,gBAAgB,EACtBnrB,EAAE4M,IAAI,EAAE8V,MAAM,EACd,OAAO,KACT,CAAC,CACH,CACA,GAAI,CAACxgB,eAAgB,CACnB,GAAIiQ,iBAAkB,CACpBnS,EAAE,mBAAmB,EAAEkE,YAAY,aAAa,CAClD,CACAlE,EAAE,uBAAuB,EAAE2D,GAAG,QAAS,SAAU8E,OAC/CA,MAAM3E,eAAe,EACrB9D,EAAE,eAAe,EAAEyG,OAAO,EAC1B,OAAO,KACT,CAAC,EACDzG,EAAE,eAAe,EAAE2D,GAAG,SAAU,SAAU8E,OACxC,GAAIsJ,cAAe,CACjBtJ,MAAM3E,eAAe,EACrB9D,EAAE,kBAAkB,EAAEgf,IAAI,MAAM,EAChC,OAAO,KACT,CACAhf,EAAE,eAAe,EAAEoE,SAAS,mBAAmB,EAC/C,IAAIg1B,SAAW,GACf,GAAI3mB,kBAAmB,CACrB2mB,SAAW,aAAeryB,OAAO+f,KAAKlS,UAAU,EAAEmS,KAAK,GAAG,CAC5D,CACA,IAAI5lB,IACJ,GAAId,UAAW,CACbc,IAAMkU,SACR,KAAO,CACLlU,IAAMnB,EAAE,eAAe,EAAEqE,KAAK,QAAQ,CACxC,CACAgN,iBAAmB,KACnBrR,EAAEiB,KAAK,CACLC,KAAM,OACNC,IAAKA,IACLmf,WAAYrB,cACZ5d,UAAW,CACTC,gBAAiB,IACnB,EACAC,KAAMvB,EAAE,eAAe,EAAEoqB,UAAU,EAAI,UAAYgP,SACnD53B,QAAS,SAAUD,MACjB4C,WAAW,WACT2c,cAAcvf,KAAMtB,SAAS+D,eAAe,YAAY,EAAG,CAAC,CAC9D,EAAG,CAAC,CACN,EACAtC,MAAO,SAAUC,IAAKC,OAAQF,OAC5ByC,WAAW,WACTuc,mBAAmB/e,IAAKC,OAAQF,KAAK,CACvC,EAAG,CAAC,CACN,CACF,CAAC,EACDgD,iBAAmBP,WAAWQ,cAAe,GAAI,EACjD8D,MAAM3E,eAAe,CACvB,CAAC,EACD9D,EAAE,iBAAiB,EAAE6D,MAAMgsB,UAAU,EACrC7vB,EAAE,kBAAkB,EAAE6D,MAAMqgB,WAAW,EACvClkB,EAAE,YAAY,EAAE4pB,KAAK,yBAA0B,SAAU/mB,GACvD,IAAIw2B,QAAUx2B,EAAEmqB,OAASnqB,EAAE2vB,QAC3B,GAAI6G,SAAW,GAAI,CACjB7W,SAAS,EACT3f,EAAEiB,eAAe,CACnB,CACF,CAAC,EACD9D,EAAE,+BAA+B,EAAE6D,MAAM,WACvC8O,YAAc/F,KACd3M,SAASitB,cAAcE,KAAK,EAC5B,OAAO,IACT,CAAC,EACDptB,EAAE,8BAA8B,EAAE6D,MAAM,WACtC8O,YAAc/F,KACd3M,SAASitB,cAAcE,KAAK,EAC5B,OAAO,IACT,CAAC,EACDptB,EAAE,oCAAoC,EAAE6D,MAAM,WAC5C8O,YAAc/F,KACd,OAAO,IACT,CAAC,EACD5M,EAAE,uCAAuC,EAAE6D,MAAM,WAC/C8O,YAAc/F,KACd,OAAO,IACT,CAAC,EACD5M,EAAE,2BAA2B,EAAE6D,MAAM,SAAUhB,GAC7C,GAAIwO,iBAAkB,CACpBxO,EAAEiB,eAAe,EACjB9D,EAAE4M,IAAI,EAAEwgB,KAAK,EACb,OAAO,KACT,CACA,IAAIkM,QAAUt5B,EAAE4M,IAAI,EAAErL,KAAK,KAAK,EAChCwf,kBAAkB,sBAAuB,CAAEX,QAASkZ,OAAQ,CAAC,EAC7Dz2B,EAAEiB,eAAe,EACjB,OAAO,KACT,CAAC,EACD9D,EAAE,8BAA8B,EAAE0M,KAAK,WACrC,IAAI6sB,IAAM3sB,KACV,IAAImoB,KAAO/0B,EAAE4M,IAAI,EAAEmoB,KAAK,EACxB,GAAIA,MAAQ,CAACA,KAAK3Y,SAAS,QAAQ,EAAG,CACpC,IAAIod,QACJ,GAAIx5B,EAAEu5B,GAAG,EAAEnd,SAAS,cAAc,EAAG,CACnCod,QAAUx5B,EACR,iEACF,EACAA,EAAE,qCAAqC,EAAE8iB,SAAS0W,OAAO,EACzDx5B,EACE,iCAAmCsX,aAAe,SACpD,EAAEwL,SAAS0W,OAAO,CACpB,KAAO,CACLA,QAAUx5B,EACR,gEACF,EACAA,EAAE,oCAAoC,EAAE8iB,SAAS0W,OAAO,EACxDx5B,EACE,iCAAmCsX,aAAe,SACpD,EAAEwL,SAAS0W,OAAO,CACpB,CACAA,QAAQ1W,SAASiS,IAAI,EACrByE,QAAQ71B,GAAG,QAAS,SAAUd,GAC5B,IAAI6oB,MAAQ9e,KACZ5M,EAAE4M,IAAI,EACH+P,KAAK,KAAK,EACVjQ,KAAK,WACJ,GAAI1M,EAAE4M,IAAI,EAAEvI,KAAK,WAAW,GAAK,aAAc,CAC7CrE,EAAE4M,IAAI,EAAE1I,YAAY,eAAe,EACnClE,EAAE4M,IAAI,EAAExI,SAAS,gBAAgB,EACjCpE,EAAE4M,IAAI,EAAEvI,KAAK,YAAa,aAAa,EACvCrE,EAAEu5B,GAAG,EAAE7Z,KAAK,EACZ1f,EAAE0rB,KAAK,EAAErnB,KAAK,eAAgB,OAAO,EACrCrE,EAAEu5B,GAAG,EAAEE,YAAY,cAAc,CACnC,MAAO,GAAIz5B,EAAE4M,IAAI,EAAEvI,KAAK,WAAW,GAAK,cAAe,CACrDrE,EAAE4M,IAAI,EAAE1I,YAAY,gBAAgB,EACpClE,EAAE4M,IAAI,EAAExI,SAAS,eAAe,EAChCpE,EAAE4M,IAAI,EAAEvI,KAAK,YAAa,YAAY,EACtCrE,EAAEu5B,GAAG,EAAEvW,KAAK,EACZhjB,EAAE0rB,KAAK,EAAErnB,KAAK,eAAgB,MAAM,EACpCrE,EAAEu5B,GAAG,EAAEE,YAAY,cAAc,CACnC,CACF,CAAC,EACH52B,EAAEsoB,gBAAgB,EAClBtoB,EAAEiB,eAAe,EACjB,OAAO,KACT,CAAC,CACH,CACF,CAAC,EACD9D,EAAE,MAAM,EAAE0iB,MAAM,EAChB,GAAI,CAACriB,WAAa,CAACiR,UAAW,CAC5BnN,WAAW,WACT,IAAIu1B,WAAa15B,EAAE,6BAA6B,EAC7CmtB,IAAI,0BAA0B,EAC9BlT,MAAM,EACN0C,KAAK,yBAAyB,EAC9BwJ,OAAO,UAAU,EACjBlM,MAAM,EACT,GAAIyf,WAAWl3B,OAAS,GAAKxC,EAAE05B,UAAU,EAAEtE,QAAQ,EAAG,CACpDp1B,EAAE05B,UAAU,EAAEhX,MAAM,EACpB,IAAIiX,UAAY35B,EAAE05B,UAAU,EAAEr1B,KAAK,MAAM,EACzC,GACErE,EAAE05B,UAAU,EAAE9d,KAAK,SAAS,GAAK,UACjC+d,WAAa,YACbA,WAAa,SACbA,WAAa,UACbA,WAAa,UACbA,WAAa,QACbA,WAAa,SACbA,WAAa,UACbA,WAAa,QACbA,WAAa,OACb,CACA,IAAIC,UAAY55B,EAAE05B,UAAU,EAAEnsB,IAAI,EAAE/K,OAAS,EAC7C,GAAIo3B,UAAY,EAAG,CACjB,IACE55B,EAAE05B,UAAU,EAAE,GAAGG,kBAAkBD,UAAWA,SAAS,CAGzD,CAFE,MAAOE,KACPj4B,QAAQC,IAAIg4B,IAAIza,OAAO,CACzB,CACF,CACF,CACF,KAAO,CACL,IAAI0a,YAAc/5B,EAAE,8BAA8B,EAC/CmmB,OAAO,UAAU,EACjBlM,MAAM,EACT,GAAI8f,YAAYv3B,OAAS,GAAKxC,EAAE+5B,WAAW,EAAE3E,QAAQ,EAAG,CACtDjxB,WAAW,WACTnE,EAAE+5B,WAAW,EAAErX,MAAM,EACrB1iB,EAAE+5B,WAAW,EAAE3M,KAAK,CACtB,EAAG,CAAC,CACN,CACF,CACF,EAAG,EAAE,CACP,CACF,CACAptB,EAAE,+BAA+B,EAAE2D,GAAG,SAAU,WAC9C,GAAI3D,EAAE4M,IAAI,EAAEqO,GAAG,UAAU,EAAG,CAC1B,IAAI+e,OAASh6B,EAAE6pB,UAAUxP,KAAKra,EAAE4M,IAAI,EAAErL,KAAK,aAAa,CAAC,CAAC,EAC1D,IAAIma,EAAIse,OAAOx3B,OACf,IAAK,IAAIF,EAAI,EAAGA,EAAIoZ,EAAG,EAAEpZ,EAAG,CAC1B,IAAIqE,KAAO1G,SAAS+D,eAAeg2B,OAAO13B,EAAE,EAC5CtC,EAAE2G,IAAI,EAAEiV,KAAK,UAAW,KAAK,EAC7B5b,EAAE2G,IAAI,EAAEoI,QAAQ,QAAQ,CAC1B,CACF,CACF,CAAC,EACD/O,EAAE,+BAA+B,EAAE0M,KAAK,WACtC,IAAIstB,OAASh6B,EAAE6pB,UAAUxP,KAAKra,EAAE4M,IAAI,EAAErL,KAAK,aAAa,CAAC,CAAC,EAC1D,IAAIma,EAAIse,OAAOx3B,OACf,IAAIkpB,MAAQ9e,KACZ,IAAK,IAAItK,EAAI,EAAGA,EAAIoZ,EAAG,EAAEpZ,EAAG,CAC1B,IAAIqE,KAAO1G,SAAS+D,eAAeg2B,OAAO13B,EAAE,EAC5CtC,EAAE2G,IAAI,EAAEhD,GAAG,SAAU,WACnB,GAAI3D,EAAE4M,IAAI,EAAEqO,GAAG,UAAU,EAAG,CAC1Bjb,EAAE0rB,KAAK,EAAE9P,KAAK,UAAW,KAAK,EAC9B5b,EAAE0rB,KAAK,EAAE3c,QAAQ,QAAQ,CAC3B,CACF,CAAC,CACH,CACF,CAAC,EACD/O,EAAE,uBAAuB,EAAE2D,GAAG,SAAU,WACtC,GAAI3D,EAAE4M,IAAI,EAAEqO,GAAG,UAAU,EAAG,CAC1Bjb,EAAE,yCAAyC,EAAE0M,KAAK,WAChD,GAAI1M,EAAE4M,IAAI,EAAEqO,GAAG,UAAU,EAAG,CAC1Bjb,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,CAAC,CACH,CACF,CAAC,EACD/O,EAAE,6BAA6B,EAAE2D,GAAG,SAAU,WAC5C,GAAI3D,EAAE4M,IAAI,EAAEqO,GAAG,UAAU,EAAG,CAC1B,IAAI+e,OAASh6B,EAAE6pB,UAAUxP,KAAKra,EAAE4M,IAAI,EAAErL,KAAK,WAAW,CAAC,CAAC,EACxD,IAAIma,EAAIse,OAAOx3B,OACf,IAAK,IAAIF,EAAI,EAAGA,EAAIoZ,EAAG,EAAEpZ,EAAG,CAC1B,IAAIqE,KAAO1G,SAAS+D,eAAeg2B,OAAO13B,EAAE,EAC5CtC,EAAE2G,IAAI,EAAEiV,KAAK,UAAW,IAAI,EAC5B5b,EAAE2G,IAAI,EAAEoI,QAAQ,QAAQ,CAC1B,CACF,CACF,CAAC,EACD/O,EAAE,6BAA6B,EAAE0M,KAAK,WACpC,IAAIstB,OAASh6B,EAAE6pB,UAAUxP,KAAKra,EAAE4M,IAAI,EAAErL,KAAK,WAAW,CAAC,CAAC,EACxD,IAAIma,EAAIse,OAAOx3B,OACf,IAAIkpB,MAAQ9e,KACZ,IAAK,IAAItK,EAAI,EAAGA,EAAIoZ,EAAG,EAAEpZ,EAAG,CAC1B,IAAIqE,KAAO1G,SAAS+D,eAAeg2B,OAAO13B,EAAE,EAC5CtC,EAAE2G,IAAI,EAAEhD,GAAG,SAAU,WACnB,GAAI,CAAC3D,EAAE4M,IAAI,EAAEqO,GAAG,UAAU,EAAG,CAC3Bjb,EAAE0rB,KAAK,EAAE9P,KAAK,UAAW,KAAK,EAC9B5b,EAAE0rB,KAAK,EAAE3c,QAAQ,QAAQ,CAC3B,CACF,CAAC,CACH,CACF,CAAC,EACD/O,EAAE,qBAAqB,EAAE2D,GAAG,SAAU,WACpC,GAAI3D,EAAE4M,IAAI,EAAEqO,GAAG,UAAU,EAAG,CAC1Bjb,EAAE,qBAAqB,EAAE0M,KAAK,WAC5B,GAAI,CAAC1M,EAAE4M,IAAI,EAAEqO,GAAG,UAAU,EAAG,CAC3Bjb,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,IAAI,EAC5B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,CAAC,EACD/O,EAAE,uBAAuB,EAAE0M,KAAK,WAC9B,GAAI,CAAC1M,EAAE4M,IAAI,EAAEqO,GAAG,UAAU,EAAG,CAC3Bjb,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,CAAC,CACH,CACF,CAAC,EACD/O,EAAE,qBAAqB,EAAE2D,GAAG,SAAU,WACpC,GAAI3D,EAAE4M,IAAI,EAAEqO,GAAG,UAAU,EAAG,CAC1Bjb,EAAE,uBAAuB,EAAE0M,KAAK,WAC9B,GAAI1M,EAAE4M,IAAI,EAAEqO,GAAG,UAAU,EAAG,CAC1Bjb,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,CAAC,CACH,KAAO,CACL/O,EAAE,qBAAqB,EAAE0M,KAAK,WAC5B,GAAI1M,EAAE4M,IAAI,EAAEqO,GAAG,UAAU,EAAG,CAC1Bjb,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,CAAC,CACH,CACF,CAAC,EACD,IAAIkrB,QAAUj6B,EAAE,oBAAoB,EACpCi6B,QAAQt2B,GAAG,QAAS,IAAK,KAAM,WAC7B,GAAI,CAAC3D,EAAE4M,IAAI,EAAEwP,SAAS,iBAAiB,EAAG,CACxC6d,QAAQC,SAAS,MAAM,CACzB,CACF,CAAC,EACDl6B,EAAE,kCAAkC,EAAE2D,GAAG,eAAgB,WACvD,GAAItD,UAAW,CACbL,EAAEM,WAAW,EAAE,GAAG4F,SAAS,EAAG,CAAC,CACjC,KAAO,CACLxF,OAAOwF,SAAS,EAAG,CAAC,CACtB,CACAlG,EAAE,eAAe,EAAEkE,YAAY,cAAc,EAC7ClE,EAAE,eAAe,EAAEotB,KAAK,CAC1B,CAAC,EACDptB,EAAE,iBAAiB,EAAE2D,GAAG,QAAS,WAC/B3D,EAAE4M,IAAI,EAAEqF,OAAO,EAAEwnB,YAAY,QAAQ,EACrCz5B,EAAE4M,IAAI,EAAEwgB,KAAK,CACf,CAAC,EACDptB,EAAE,mBAAmB,EAAE6D,MAAM,SAAU4E,OACrCzI,EAAE,kBAAkB,EAAEgf,IAAI,MAAM,CAClC,CAAC,EACDjM,YAAchM,OAAO,EACrB+E,eAAiB/E,OAAO,EACxBiM,iBAAmBjM,OAAO,EAC1BkM,oBAAsBlM,OAAO,EAC7BqM,kBAAoBrM,OAAO,EAC3B,GAAI/G,EAAE,yBAAyB,EAAEwC,OAAQ,CACvC23B,SAAWn6B,EAAE6pB,UAAUxP,KAAKra,EAAE,yBAAyB,EAAEuN,IAAI,CAAC,CAAC,EAC/D,IAAK,IAAIjH,OAAO6zB,SAAU,CACxB,GAAIA,SAAS5zB,eAAeD,GAAG,EAAG,CAChCyM,YAAYonB,SAAS7zB,MAAQA,IAC7BwF,eAAexF,KAAO6zB,SAAS7zB,KAC/B,GAAI,CAAC0M,iBAAiBzM,eAAe4zB,SAAS7zB,IAAI,EAAG,CACnD0M,iBAAiBmnB,SAAS7zB,MAAQ,EACpC,CACA0M,iBAAiBmnB,SAAS7zB,MAAMkH,KAAKlH,GAAG,EACxC,GAAI,CAAC2M,oBAAoB1M,eAAeD,GAAG,EAAG,CAC5C2M,oBAAoB3M,KAAO,EAC7B,CACA2M,oBAAoB3M,KAAKkH,KAAK2sB,SAAS7zB,IAAI,CAC7C,CACF,CACF,CACA,GAAItG,EAAE,2BAA2B,EAAEwC,OAAQ,CACzC,IAAI43B,KAAO,IAAIjuB,OAAO,sBAAsB,EAC5C,IAAIkuB,QAAU,IAAIluB,OAAO,sBAAsB,EAC/C,IAAImuB,QAAU,IAAInuB,OAAO,sBAAsB,EAC/CguB,SAAWn6B,EAAE6pB,UAAUxP,KAAKra,EAAE,2BAA2B,EAAEuN,IAAI,CAAC,CAAC,EACjE,IAAK,IAAIjH,OAAO6zB,SAAU,CACxB,GAAIA,SAAS5zB,eAAeD,GAAG,EAAG,CAChC,IAAIi0B,aAAelgB,KAAK/T,GAAG,EAC3B,IAAIk0B,SAAWD,aACf,GAAIH,KAAK7oB,KAAKipB,QAAQ,EAAG,CACvBC,YAAcF,aAAatuB,QACzB,6BACA,IACF,EACAsuB,aAAeA,aAAatuB,QAC1B,6BACA,IACF,EACAuuB,SAAWA,SAASvuB,QAAQ,YAAa,IAAI,EAC7C,IAAIyuB,cAAgBF,SACpB,GACEx6B,EAAE,UAAYsG,IAAM,IAAI,EAAE9D,QAAU,GACpC,OAAOuQ,YAAY0H,KAAKigB,aAAa,EAAEzuB,QAAQ,SAAU,EAAE,IACzD,YACF,CACAyuB,cAAgBrgB,KACdtH,YAAY0H,KAAKigB,aAAa,EAAEzuB,QAAQ,SAAU,EAAE,EACtD,CACF,CACA,IAAIgd,cACJ,IACEA,cAAgB5O,KAAKkgB,YAAY,CAGnC,CAFE,MAAO13B,GACP,QACF,CACA,IAAI83B,UAAYlgB,KAAKigB,cAAgBD,WAAW,EAAExuB,QAChD,SACA,EACF,EACA,IAAI2uB,UAAYngB,KAAK+f,SAAW,KAAOvR,cAAgB,IAAI,EAAEhd,QAC3D,SACA,EACF,EACA,IAAI4uB,YAAcpgB,KAChB+f,SAAW,KAAOvR,cAAgB,IACpC,EAAEhd,QAAQ,SAAU,EAAE,EACtB,IAAI6uB,WAAargB,KAAK+f,QAAQ,EAAEvuB,QAAQ,SAAU,EAAE,EACpDH,eAAe6uB,WAAaC,UAC5B7nB,YAAY6nB,WAAaD,UACzB5nB,YAAY8nB,aAAeF,UAC3BvnB,kBAAkB9M,KAAO2iB,cACzB,GAAI,CAAChW,oBAAoB1M,eAAeo0B,SAAS,EAAG,CAClD1nB,oBAAoB0nB,WAAa,EACnC,CACA1nB,oBAAoB0nB,WAAWntB,KAAKotB,SAAS,EAC7C,GAAI,CAAC5nB,iBAAiBzM,eAAeq0B,SAAS,EAAG,CAC/C5nB,iBAAiB4nB,WAAa,EAChC,CACA5nB,iBAAiB4nB,WAAWptB,KAAKmtB,SAAS,EAC1C,GAAI,CAAC3nB,iBAAiBzM,eAAes0B,WAAW,EAAG,CACjD7nB,iBAAiB6nB,aAAe,EAClC,CACA7nB,iBAAiB6nB,aAAartB,KAAKmtB,SAAS,EAC5C,GAAI,CAAC3nB,iBAAiBzM,eAAeu0B,UAAU,EAAG,CAChD9nB,iBAAiB8nB,YAAc,EACjC,CACA9nB,iBAAiB8nB,YAAYttB,KAAKmtB,SAAS,CAC7C,MAAO,GAAIN,QAAQ9oB,KAAKipB,QAAQ,EAAG,CACjCC,YAAcF,aAAatuB,QACzB,6BACA,IACF,EACAsuB,aAAeA,aAAatuB,QAC1B,6BACA,IACF,EACAuuB,SAAWA,SAASvuB,QAAQ,YAAa,IAAI,EAC7C,IAAIyuB,cAAgBF,SACpB,GACEx6B,EAAE,UAAYsG,IAAM,IAAI,EAAE9D,QAAU,GACpC,OAAOuQ,YAAY0H,KAAKigB,aAAa,EAAEzuB,QAAQ,SAAU,EAAE,IACzD,YACF,CACAyuB,cAAgBrgB,KACdtH,YAAY0H,KAAKigB,aAAa,EAAEzuB,QAAQ,SAAU,EAAE,EACtD,CACF,CACA,IAAIgd,cACJ,IACEA,cAAgB5O,KAAKA,KAAKkgB,YAAY,CAAC,CAGzC,CAFE,MAAO13B,GACP,QACF,CACA,IAAI83B,UAAYlgB,KAAKigB,cAAgBD,WAAW,EAAExuB,QAChD,SACA,EACF,EACA,IAAI2uB,UAAYngB,KAAK+f,SAAW,KAAOvR,cAAgB,IAAI,EAAEhd,QAC3D,SACA,EACF,EACA,IAAI4uB,YAAcpgB,KAChB+f,SAAW,KAAOvR,cAAgB,IACpC,EAAEhd,QAAQ,SAAU,EAAE,EACtB,IAAI6uB,WAAargB,KAAK+f,QAAQ,EAAEvuB,QAAQ,SAAU,EAAE,EACpDH,eAAe6uB,WAAaC,UAC5B7nB,YAAY6nB,WAAaD,UACzB5nB,YAAY8nB,aAAeF,UAC3BvnB,kBAAkB9M,KAAO2iB,cACzB,GAAI,CAAChW,oBAAoB1M,eAAeo0B,SAAS,EAAG,CAClD1nB,oBAAoB0nB,WAAa,EACnC,CACA1nB,oBAAoB0nB,WAAWntB,KAAKotB,SAAS,EAC7C,GAAI,CAAC5nB,iBAAiBzM,eAAeq0B,SAAS,EAAG,CAC/C5nB,iBAAiB4nB,WAAa,EAChC,CACA5nB,iBAAiB4nB,WAAWptB,KAAKmtB,SAAS,EAC1C,GAAI,CAAC3nB,iBAAiBzM,eAAes0B,WAAW,EAAG,CACjD7nB,iBAAiB6nB,aAAe,EAClC,CACA7nB,iBAAiB6nB,aAAartB,KAAKmtB,SAAS,EAC5C,GAAI,CAAC3nB,iBAAiBzM,eAAeu0B,UAAU,EAAG,CAChD9nB,iBAAiB8nB,YAAc,EACjC,CACA9nB,iBAAiB8nB,YAAYttB,KAAKmtB,SAAS,CAC7C,MAAO,GAAIL,QAAQ/oB,KAAKipB,QAAQ,EAAG,CACjCC,YAAcF,aAAatuB,QACzB,6BACA,IACF,EACAsuB,aAAeA,aAAatuB,QAC1B,6BACA,IACF,EACAuuB,SAAWA,SAASvuB,QAAQ,YAAa,IAAI,EAC7C,IAAIyuB,cAAgBF,SACpB,GACEx6B,EAAE,UAAYsG,IAAM,IAAI,EAAE9D,QAAU,GACpC,OAAOuQ,YAAY0H,KAAKigB,aAAa,EAAEzuB,QAAQ,SAAU,EAAE,IACzD,YACF,CACAyuB,cAAgBrgB,KACdtH,YAAY0H,KAAKigB,aAAa,EAAEzuB,QAAQ,SAAU,EAAE,EACtD,CACF,CACA,IAAIgd,cACJ,IACEA,cAAgB5O,KAAKkgB,YAAY,CAGnC,CAFE,MAAO13B,GACP,QACF,CACA,IAAI83B,UAAYlgB,KAAKigB,cAAgBD,WAAW,EAAExuB,QAChD,SACA,EACF,EACA,IAAI2uB,UAAYngB,KAAK+f,SAAW,IAAMvR,cAAgB,GAAG,EAAEhd,QACzD,SACA,EACF,EACA,IAAI6uB,WAAargB,KAAK+f,QAAQ,EAAEvuB,QAAQ,SAAU,EAAE,EACpDH,eAAe6uB,WAAaC,UAC5B7nB,YAAY6nB,WAAaD,UACzBvnB,kBAAkB9M,KAAO2iB,cACzB,GAAI,CAAChW,oBAAoB1M,eAAeo0B,SAAS,EAAG,CAClD1nB,oBAAoB0nB,WAAa,EACnC,CACA1nB,oBAAoB0nB,WAAWntB,KAAKotB,SAAS,EAC7C,GAAI,CAAC5nB,iBAAiBzM,eAAeq0B,SAAS,EAAG,CAC/C5nB,iBAAiB4nB,WAAa,EAChC,CACA5nB,iBAAiB4nB,WAAWptB,KAAKmtB,SAAS,EAC1C,GAAI,CAAC3nB,iBAAiBzM,eAAeu0B,UAAU,EAAG,CAChD9nB,iBAAiB8nB,YAAc,EACjC,CACA9nB,iBAAiB8nB,YAAYttB,KAAKmtB,SAAS,CAC7C,CACF,CACF,CACF,CACA9nB,kBAAoB,KACpB,IAAIkoB,iBAAmB,GACvB,IAAIC,aAAe,GACnB,SAASC,aAAah3B,MAAOswB,MAAO2G,MAClC,OAAOA,KAAKpuB,QAAQ7I,KAAK,IAAMswB,KACjC,CACAv0B,EAAE,aAAa,EAAE0M,KAAK,WACpB,IAAIyuB,UAAYvuB,KAChB,IAAIwuB,OAAS9sB,KAAKC,MAAM8L,KAAKra,EAAE4M,IAAI,EAAErL,KAAK,UAAU,CAAC,CAAC,EACtD,IAAI85B,WAAaD,OAAO,QACxB,IAAIE,WAAaF,OAAO,QACxB,IAAIG,aAAeH,OAAO,cAC1BA,OAAO,QAAQ1sB,QAAQ,SAAU8sB,SAAUl5B,GACzC,IAAIm5B,WAAa,GACjB,IAAIC,cAAgBjhB,KAAK+gB,QAAQ,EAAEvvB,QAAQ,SAAU,EAAE,EACvD,IAAI0vB,qBAAuBD,cAAczvB,QACvC,oBACA,MACF,EACA,IAAItF,KAAO3G,EAAE,UAAY27B,qBAAuB,IAAI,EACpD,GAAIh1B,KAAKnE,OAAS,EAAG,CACnBi5B,WAAWjuB,KAAKkuB,aAAa,CAC/B,CACA,GAAI1oB,iBAAiBzM,eAAem1B,aAAa,EAAG,CAClD,IAAK,IAAI7xB,EAAI,EAAGA,EAAImJ,iBAAiB0oB,eAAel5B,OAAQqH,CAAC,GAAI,CAC/D,IAAI+xB,aAAe5oB,iBAAiB0oB,eAAe7xB,GACnD,IAAIgyB,oBAAsBD,aAAa3vB,QACrC,oBACA,MACF,EACA,IAAI6vB,QAAU97B,EAAE,UAAY67B,oBAAsB,IAAI,EACtD,GAAIC,QAAQt5B,OAAS,GAAK,CAACxC,EAAE+b,SAASnP,KAAMkvB,QAAQ,EAAE,EAAG,CACvDL,WAAWjuB,KAAKouB,YAAY,CAC9B,CACF,CACF,CACA,GAAIH,WAAWj5B,QAAU,EAAG,CAC1BX,QAAQC,IAAI,0CAA4C05B,QAAQ,CAClE,CACAC,WAAW/sB,QAAQ,SAAUqtB,WAC3B,IAAIC,iBAAmBD,UAAU9vB,QAAQ,oBAAqB,MAAM,EACpE,IAAIgwB,SAAWT,SACf,IAAIU,YAAc,SAAUC,OAC1B,IAAIx1B,KAAO2V,WAAW2f,QAAQ,EAC9B,GACEt1B,MAAQ,MACR,CAAC3G,EAAE2G,IAAI,EACJmV,QAAQ,gBAAgB,EACxB7B,MAAM,EACNgB,GAAGjb,EAAE4M,IAAI,EAAEkP,QAAQ,gBAAgB,EAAE7B,MAAM,CAAC,EAC/C,CACA,MACF,CACA,IAAImiB,QAAU9oB,KAAKioB,YAAY,EAC/B,GAAIa,QAAS,CACX,GAAIf,WAAY,CACd,GAAIr7B,EAAEm7B,SAAS,EAAE55B,KAAK,WAAW,GAAK,IAAK,CACzCwS,mBAAqB,IACvB,CACA,GAAIunB,YAAc,EAAG,CACnBt7B,EAAEm7B,SAAS,EAAEnY,KAAKmZ,KAAK,CACzB,CACAn8B,EAAEm7B,SAAS,EAAE55B,KAAK,YAAa,GAAG,EAClCvB,EAAEm7B,SAAS,EACRxe,KAAK,yBAAyB,EAC9Bf,KAAK,WAAY,KAAK,EACzB5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ,GAAI2G,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAI,CACpCgP,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAGuuB,OAAO,CAC1C,KAAO,CACL5yB,EAAE4M,IAAI,EAAEgP,KAAK,WAAY,KAAK,CAChC,CACF,CAAC,EACH5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAE4X,OAAO,QAAQ,CACzB,CAAC,EACHxkB,EAAEm7B,SAAS,EACRxe,KAAK,cAAc,EACnBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAAEqxB,OAAO,CACnC,CAAC,CACL,KAAO,CACL,GAAI5yB,EAAEm7B,SAAS,EAAE55B,KAAK,WAAW,GAAK,IAAK,CACzCwS,mBAAqB,IACvB,CACA,GAAIunB,YAAc,EAAG,CACnBt7B,EAAEm7B,SAAS,EAAEzb,KAAKyc,KAAK,CACzB,CACAn8B,EAAEm7B,SAAS,EAAE55B,KAAK,YAAa,GAAG,EAClCvB,EAAEm7B,SAAS,EACRxe,KAAK,yBAAyB,EAC9Bf,KAAK,WAAY,IAAI,EACxB5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ,GAAI2G,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAI,CACpCgP,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAGsuB,QAAQ,CAC3C,KAAO,CACL3yB,EAAE4M,IAAI,EAAEgP,KAAK,WAAY,KAAK,CAChC,CACF,CAAC,EACH5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAE4X,OAAO,SAAS,CAC1B,CAAC,EACHxkB,EAAEm7B,SAAS,EACRxe,KAAK,cAAc,EACnBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAAEoxB,QAAQ,CACpC,CAAC,CACL,CACF,KAAO,CACL,GAAI0I,WAAY,CACd,GAAIr7B,EAAEm7B,SAAS,EAAE55B,KAAK,WAAW,GAAK,IAAK,CACzCwS,mBAAqB,IACvB,CACA,GAAIunB,YAAc,EAAG,CACnBt7B,EAAEm7B,SAAS,EAAEzb,KAAKyc,KAAK,CACzB,CACAn8B,EAAEm7B,SAAS,EAAE55B,KAAK,YAAa,GAAG,EAClCvB,EAAEm7B,SAAS,EACRxe,KAAK,yBAAyB,EAC9Bf,KAAK,WAAY,IAAI,EACxB5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ,GAAI2G,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAI,CACpCgP,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAGsuB,QAAQ,CAC3C,KAAO,CACL3yB,EAAE4M,IAAI,EAAEgP,KAAK,WAAY,IAAI,CAC/B,CACF,CAAC,EACH5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAE4X,OAAO,SAAS,CAC1B,CAAC,EACHxkB,EAAEm7B,SAAS,EACRxe,KAAK,cAAc,EACnBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAAEoxB,QAAQ,CACpC,CAAC,CACL,KAAO,CACL,GAAI3yB,EAAEm7B,SAAS,EAAE55B,KAAK,WAAW,GAAK,IAAK,CACzCwS,mBAAqB,IACvB,CACA,GAAIunB,YAAc,EAAG,CACnBt7B,EAAEm7B,SAAS,EAAEnY,KAAKmZ,KAAK,CACzB,CACAn8B,EAAEm7B,SAAS,EAAE55B,KAAK,YAAa,GAAG,EAClCvB,EAAEm7B,SAAS,EACRxe,KAAK,yBAAyB,EAC9Bf,KAAK,WAAY,KAAK,EACzB5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ,GAAI2G,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAI,CACpCgP,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAGuuB,OAAO,CAC1C,KAAO,CACL5yB,EAAE4M,IAAI,EAAEgP,KAAK,WAAY,KAAK,CAChC,CACF,CAAC,EACH5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAE4X,OAAO,QAAQ,CACzB,CAAC,EACHxkB,EAAEm7B,SAAS,EACRxe,KAAK,cAAc,EACnBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAAEqxB,OAAO,CACnC,CAAC,CACL,CACF,CACA,IAAIyJ,OAAS,MACb,GAAI,CAACxpB,kBAAmB,CACtBA,kBAAoB,KACpBmoB,aAAe,GACfqB,OAAS,IACX,CACAr8B,EAAEm7B,SAAS,EACRxe,KAAK,QAAQ,EACbwQ,IAAI,eAAe,EACnBzgB,KAAK,WACJ,GAAI,CAACsuB,aAAaz0B,eAAevG,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,CAAC,EAAG,CACpDrE,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACAisB,aAAah7B,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAK,IACrC,CAAC,EACH,GAAIg4B,OAAQ,CACVxpB,kBAAoB,KACtB,CACF,EACA,IAAIypB,qBAAuB,WACzBJ,YAAYriB,MAAMjN,KAAM,CAAC,KAAK,CAChC,EACA,IAAI2vB,gBAAkB,WACpBL,YAAYriB,MAAMjN,KAAM,CAAC,OAAO,CAClC,EACAmuB,iBAAiBvtB,KAAK,IAAMwuB,gBAAgB,EAC5CjB,iBAAiBvtB,KACf,6BAA+BwuB,iBAAmB,IACpD,EACAjB,iBAAiBvtB,KACf,gCAAkCwuB,iBAAmB,IACvD,EACAh8B,EAAE,IAAMg8B,gBAAgB,EAAEQ,OAAOD,eAAe,EAChDv8B,EAAE,6BAA+Bg8B,iBAAmB,IAAI,EAAEQ,OACxDD,eACF,EACAv8B,EAAE,gCAAkCg8B,iBAAmB,IAAI,EAAEQ,OAC3DD,eACF,EACAv8B,EAAE,sBAAwBg8B,iBAAmB,IAAI,EAAEr4B,GACjD,cACA44B,eACF,EACAv8B,EAAE,IAAMg8B,gBAAgB,EAAEr4B,GAAG,kBAAmB24B,oBAAoB,EACpEt8B,EAAE,6BAA+Bg8B,iBAAmB,IAAI,EAAEr4B,GACxD,kBACA24B,oBACF,EACAt8B,EAAE,gCAAkCg8B,iBAAmB,IAAI,EAAEr4B,GAC3D,kBACA24B,oBACF,CACF,CAAC,CACH,CAAC,CACH,CAAC,EACDt8B,EAAE,WAAW,EAAE0M,KAAK,WAClB,IAAI+uB,WAAa,GACjB,IAAIJ,WAAar7B,EAAE4M,IAAI,EAAErL,KAAK,aAAa,EAC3C,IAAI+5B,WAAaniB,SAASnZ,EAAE4M,IAAI,EAAErL,KAAK,aAAa,CAAC,EACrD,IAAIm6B,cAAgB17B,EAAE4M,IAAI,EAAErL,KAAK,YAAY,EAC7C,IAAIk7B,QAAUpiB,KAAKqhB,aAAa,EAChC,IAAI/0B,KAAO,GACX,GAAI81B,QAAQC,SAAS,QAAQ,GAAKD,QAAQC,SAAS,QAAQ,EAAG,CAC5D,IAAIC,UAAYF,QAAQC,SAAS,QAAQ,EAAI,OAAS,OACtD,IAAIE,UAAYH,QAAQxwB,QAAQ,eAAgB,EAAE,EAClDjM,EAAE,wCAAwC,EAAE0M,KAAK,WAC/C,IAAImwB,YAAcxiB,KAAKra,EAAE4M,IAAI,EAAErL,KAAK,SAAS,CAAC,EAC9C,GAAIs7B,aAAeD,UAAW,CAC5Bj2B,KAAO3G,EAAE4M,IAAI,EAAE+P,KAAK,WAAaggB,UAAY,WAAW,EACxDjB,cAAgB17B,EAAE2G,IAAI,EAAEtC,KAAK,MAAM,CACrC,CACF,CAAC,CACH,KAAO,CACL,IAAIs3B,qBAAuBD,cAAczvB,QACvC,oBACA,MACF,EACAtF,KAAO3G,EAAE,UAAY27B,qBAAuB,IAAI,CAClD,CACA,GAAIh1B,KAAKnE,OAAS,EAAG,CACnBi5B,WAAWjuB,KAAKkuB,aAAa,CAC/B,CACA,GAAI1oB,iBAAiBzM,eAAem1B,aAAa,EAAG,CAClD,IAAIhgB,EAAI1I,iBAAiB0oB,eAAel5B,OACxC,IAAK,IAAIF,EAAI,EAAGA,EAAIoZ,EAAGpZ,CAAC,GAAI,CAC1B,IAAIs5B,aAAe5oB,iBAAiB0oB,eAAep5B,GACnD,IAAIu5B,oBAAsBD,aAAa3vB,QACrC,oBACA,MACF,EACA,IAAI6vB,QAAU97B,EAAE,UAAY67B,oBAAsB,IAAI,EACtD,GAAIC,QAAQt5B,OAAS,GAAK,CAACxC,EAAE+b,SAASnP,KAAMkvB,QAAQ,EAAE,EAAG,CACvDL,WAAWjuB,KAAKouB,YAAY,CAC9B,CACF,CACF,CACA,IAAI9I,UAAY9yB,EAAE4M,IAAI,EAAErL,KAAK,YAAY,EACzC,IAAIu7B,OAAS98B,EAAE4M,IAAI,EAAErL,KAAK,QAAQ,EAClC,IAAI45B,UAAYvuB,KAChB6uB,WAAW/sB,QAAQ,SAAUqtB,WAC3B,IAAIC,iBAAmBD,UAAU9vB,QAAQ,oBAAqB,MAAM,EACpE,IAAIiwB,YAAc,SAAUC,OAC1B,IAAIx1B,KAAO2V,WAAWmgB,QAAStB,SAAS,EACxC,GACEx0B,MAAQ,MACR,CAAC3G,EAAE2G,IAAI,EACJmV,QAAQ,gBAAgB,EACxB7B,MAAM,EACNgB,GAAGjb,EAAE4M,IAAI,EAAEkP,QAAQ,gBAAgB,EAAE7B,MAAM,CAAC,EAC/C,CACA,MACF,CACA,IAAI4D,OACJ,IAAIhC,cAAgB7b,EAAE4M,IAAI,EAAEkP,QAAQ,WAAW,EAC/C,GACED,cAAcrZ,SAAW,GACzB,EAAExC,EAAE6b,cAAc,EAAE,EAAEta,KAAK,WAAW,GAAK,KAC3C,CACAsc,OAAS,EAEX,MAAO,GAAI7d,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,GAAK,WAAY,CAC7CwZ,OAAS7d,EAAE,eAAiBg8B,iBAAmB,YAAY,EAAEzuB,IAAI,EACjE,GAAI,OAAOsQ,QAAU,YAAa,CAEhCA,OAAS,OACX,CACF,MAAO,GAAI7d,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,GAAK,QAAS,CAC1CwZ,OAAS7d,EAAE,eAAiBg8B,iBAAmB,YAAY,EAAEzuB,IAAI,EACjE,GAAI,OAAOsQ,QAAU,YAAa,CAChCA,OAAS,EACX,MAAO,GACLA,QAAU,IACV7d,EAAE,eAAiBg8B,iBAAmB,YAAY,EAAE5f,SAClD,UACF,EACA,CACA,IACEyB,OAASxD,KAAKwD,MAAM,CACT,CAAX,MAAOhb,IACX,CACF,KAAO,CACLgb,OAAS7d,EAAE4M,IAAI,EAAEW,IAAI,EACrB,GAAIsQ,QAAU,IAAM7d,EAAE4M,IAAI,EAAEwP,SAAS,UAAU,EAAG,CAChD,IACEyB,OAASxD,KAAKwD,MAAM,CACT,CAAX,MAAOhb,IACX,CACF,CAEA,GAAIgwB,gBAAgBhV,OAAQiV,SAAS,EAAG,CACtC,GAAIuI,WAAY,CACd,GAAIr7B,EAAEm7B,SAAS,EAAE55B,KAAK,WAAW,GAAK,IAAK,CACzCwS,mBAAqB,IACvB,CACA,GAAIunB,YAAc,EAAG,CACnBt7B,EAAEm7B,SAAS,EAAEnY,KAAKmZ,KAAK,CACzB,CACAn8B,EAAEm7B,SAAS,EAAE55B,KAAK,YAAa,GAAG,EAClC,IAAIw7B,WAAa/8B,EAAEm7B,SAAS,EAAElP,SAAS,EAAE,GACzC,GACE,CAACjsB,EAAE+8B,UAAU,EAAE3gB,SAAS,gBAAgB,GACxCpc,EAAE+8B,UAAU,EAAE9hB,GAAG,UAAU,EAC3B,CACAjb,EAAEm7B,SAAS,EACRxe,KAAK,yBAAyB,EAC9Bf,KAAK,WAAY,KAAK,EACzB5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ,GAAI2G,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAI,CACpCgP,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAGuuB,OAAO,CAC1C,KAAO,CACL5yB,EAAE4M,IAAI,EAAEgP,KAAK,WAAY,KAAK,CAChC,CACF,CAAC,EACH5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAE4X,OAAO,QAAQ,CACzB,CAAC,EACHxkB,EAAEm7B,SAAS,EACRxe,KAAK,cAAc,EACnBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAAEqxB,OAAO,CACnC,CAAC,CACL,CACF,KAAO,CACL,GAAI5yB,EAAEm7B,SAAS,EAAE55B,KAAK,WAAW,GAAK,IAAK,CACzCwS,mBAAqB,IACvB,CACA,GAAIunB,YAAc,EAAG,CACnBt7B,EAAEm7B,SAAS,EAAEzb,KAAKyc,KAAK,CACzB,CACAn8B,EAAEm7B,SAAS,EAAE55B,KAAK,YAAa,GAAG,EAClCvB,EAAEm7B,SAAS,EAAExe,KAAK,yBAAyB,EAAEf,KAAK,WAAY,IAAI,EAClE5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ,GAAI2G,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAI,CACpCgP,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAGsuB,QAAQ,CAC3C,KAAO,CACL3yB,EAAE4M,IAAI,EAAEgP,KAAK,WAAY,IAAI,CAC/B,CACF,CAAC,EACH5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAE4X,OAAO,SAAS,CAC1B,CAAC,EACHxkB,EAAEm7B,SAAS,EACRxe,KAAK,cAAc,EACnBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAAEoxB,QAAQ,CACpC,CAAC,CACL,CACF,KAAO,CACL,GAAI0I,WAAY,CACd,GAAIr7B,EAAEm7B,SAAS,EAAE55B,KAAK,WAAW,GAAK,IAAK,CACzCwS,mBAAqB,IACvB,CACA,GAAIunB,YAAc,EAAG,CACnBt7B,EAAEm7B,SAAS,EAAEzb,KAAKyc,KAAK,CACzB,CACAn8B,EAAEm7B,SAAS,EAAE55B,KAAK,YAAa,GAAG,EAClCvB,EAAEm7B,SAAS,EAAExe,KAAK,yBAAyB,EAAEf,KAAK,WAAY,IAAI,EAClE5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ,GAAI2G,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAI,CACpCgP,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAGsuB,QAAQ,CAC3C,KAAO,CACL3yB,EAAE4M,IAAI,EAAEgP,KAAK,WAAY,IAAI,CAC/B,CACF,CAAC,EACH5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAE4X,OAAO,SAAS,CAC1B,CAAC,EACHxkB,EAAEm7B,SAAS,EACRxe,KAAK,cAAc,EACnBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAAEoxB,QAAQ,CACpC,CAAC,CACL,KAAO,CACL,GAAI3yB,EAAEm7B,SAAS,EAAE55B,KAAK,WAAW,GAAK,IAAK,CACzCwS,mBAAqB,IACvB,CACA,GAAIunB,YAAc,EAAG,CACnBt7B,EAAEm7B,SAAS,EAAEnY,KAAKmZ,KAAK,CACzB,CACAn8B,EAAEm7B,SAAS,EAAE55B,KAAK,YAAa,GAAG,EAClC,IAAIw7B,WAAa/8B,EAAEm7B,SAAS,EAAElP,SAAS,EAAE,GACzC,GACE,CAACjsB,EAAE+8B,UAAU,EAAE3gB,SAAS,gBAAgB,GACxCpc,EAAE+8B,UAAU,EAAE9hB,GAAG,UAAU,EAC3B,CACAjb,EAAEm7B,SAAS,EACRxe,KAAK,yBAAyB,EAC9Bf,KAAK,WAAY,KAAK,EACzB5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ,GAAI2G,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAI,CACpCgP,aAAarT,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAGuuB,OAAO,CAC1C,KAAO,CACL5yB,EAAE4M,IAAI,EAAEgP,KAAK,WAAY,KAAK,CAChC,CACF,CAAC,EACH5b,EAAEm7B,SAAS,EACRxe,KAAK,gBAAgB,EACrBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAE4X,OAAO,QAAQ,CACzB,CAAC,EACHxkB,EAAEm7B,SAAS,EACRxe,KAAK,cAAc,EACnBjQ,KAAK,WACJ1M,EAAE4M,IAAI,EAAErL,KAAK,WAAW,EAAEqxB,OAAO,CACnC,CAAC,CACL,CACF,CACF,CACA,IAAIyJ,OAAS,MACb,GAAI,CAACxpB,kBAAmB,CACtBA,kBAAoB,KACpBmoB,aAAe,GACfqB,OAAS,IACX,CACAr8B,EAAEm7B,SAAS,EACRxe,KAAK,QAAQ,EACbwQ,IAAI,eAAe,EACnBzgB,KAAK,WACJ,GAAI,CAACsuB,aAAaz0B,eAAevG,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,CAAC,EAAG,CACpDrE,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACAisB,aAAah7B,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,GAAK,IACrC,CAAC,EACH,GAAIg4B,OAAQ,CACVxpB,kBAAoB,KACtB,CACF,EACA,IAAIypB,qBAAuB,WACzBJ,YAAYriB,MAAMjN,KAAM,CAAC,KAAK,CAChC,EACA,IAAI2vB,gBAAkB,WACpBL,YAAYriB,MAAMjN,KAAM,CAAC,OAAO,CAClC,EACAmuB,iBAAiBvtB,KAAK,IAAMwuB,gBAAgB,EAC5CjB,iBAAiBvtB,KACf,6BAA+BwuB,iBAAmB,IACpD,EACAjB,iBAAiBvtB,KACf,gCAAkCwuB,iBAAmB,IACvD,EACAh8B,EAAE,IAAMg8B,gBAAgB,EAAEQ,OAAOD,eAAe,EAChDv8B,EAAE,IAAMg8B,gBAAgB,EAAEr4B,GAAG,kBAAmB24B,oBAAoB,EACpEt8B,EAAE,6BAA+Bg8B,iBAAmB,IAAI,EAAEQ,OACxDD,eACF,EACAv8B,EAAE,6BAA+Bg8B,iBAAmB,IAAI,EAAEr4B,GACxD,kBACA24B,oBACF,EACAt8B,EAAE,gCAAkCg8B,iBAAmB,IAAI,EAAEQ,OAC3DD,eACF,EACAv8B,EAAE,gCAAkCg8B,iBAAmB,IAAI,EAAEr4B,GAC3D,kBACA24B,oBACF,EACAt8B,EAAE,sBAAwBg8B,iBAAmB,IAAI,EAAEr4B,GACjD,cACA44B,eACF,CACF,CAAC,CACH,CAAC,EACD,SAASS,wBACP,IAAIC,uBAAyBlC,iBAAiB5U,OAAO8U,YAAY,EACjE,IAAIiC,YAAc,KAClB,IAAIC,QAAU,EACd,OAAQD,aAAenpB,qBAAuB,EAAEopB,QAAU,IAAK,CAC7DppB,mBAAqB,MACrBmpB,YAAc,MACd,IAAIxhB,EAAIuhB,uBAAuBz6B,OAC/B,IAAK,IAAIF,EAAI,EAAGA,EAAIoZ,EAAG,EAAEpZ,EAAG,CAC1BtC,EAAEi9B,uBAAuB36B,EAAE,EAAEyM,QAAQ,iBAAiB,CACxD,CACF,CACA,GAAIouB,SAAW,IAAK,CAClBt7B,QAAQC,IAAI,6CAA6C,CAC3D,CACF,CACA,GAAIi5B,iBAAiBv4B,OAAS,EAAG,CAC/Bw6B,sBAAsB,CACxB,CACAh9B,EAAE,YAAY,EAAE6mB,KAAK,EAAEziB,SAAS,SAAS,EACzCpE,EAAE,YAAY,EAAE0M,KAAK,WACnB,GAAI1M,EAAE4M,IAAI,EAAEwP,SAAS,KAAK,GAAK,CAACpc,EAAE4M,IAAI,EAAEwP,SAAS,mBAAmB,EAAG,CACrE,IAAIghB,MAAQp9B,EAAE4M,IAAI,EAClB,IAAIywB,UAAY,IAAO,IAAMlkB,SAASnZ,EAAE4M,IAAI,EAAErL,KAAK,OAAO,CAAC,EAC3D4C,WAAW,WACTnE,EAAEo9B,KAAK,EAAEl5B,YAAYoS,cAAgB,WAAW,EAChD,GAAItW,EAAEo9B,KAAK,EAAEhhB,SAAS,QAAQ,EAAG,CAC/Bpc,EAAEo9B,KAAK,EAAEh5B,SAASkS,cAAgB,SAAS,CAC7C,KAAO,CACLtW,EAAEo9B,KAAK,EAAEh5B,SAASkS,cAAgB,SAAS,CAC7C,CACF,EAAG+mB,SAAS,CACd,CACF,CAAC,EACDxqB,kBAAoB,MACpB,GAAI,CAAC3Q,eAAgB,CACnBlC,EAAE,SAAS,EAAE6D,MAAM2e,QAAQ,EAC3B,GAAIhO,iBAAmB,cAAe,CACpCD,aAAe,KACjB,CACA,GAAIC,iBAAmB,cAAe,CACpCD,aAAe,aACjB,CACA,IACGA,cAAgB,OAASA,cAAgB,gBAC1CC,iBAAmB,YACnB,CACAD,aAAe,SACjB,CACAoP,cAAc,EACd,GAAIhP,kBAAmB,CACrBgO,cAAc,MAAM,CACtB,CACA,GAAIpO,cAAgB,SAAWI,kBAAmB,CAChDwO,mBAAmB,CACrB,CACA,GAAI/Q,eAAiB,OAAS8D,iBAAmB,EAAG,CAElD/R,WAAW,WAETnE,EAAEiB,KAAK,CACLC,KAAM,OACNC,IAAKoW,0BACL+I,WAAYrB,cACZ5d,UAAW,CACTC,gBAAiB,IACnB,EACAC,KAAMvB,EAAEugB,MAAM,CAAEV,OAAQ,WAAY5e,KAAM,IAAKwf,WAAYxL,MAAO,CAAC,EACnEzT,QAASsuB,kBACT/tB,SAAU,MACZ,CAAC,CACH,EAAG,GAAG,CACR,CACA,GAAIqQ,eAAiB,KAAM,CAEzBpS,EAAE,mBAAmB,EAAEwF,KAAK,EAAE,EAC9B,IAAK,IAAIlD,EAAI,EAAGA,EAAIsP,cAAcpP,OAAQF,CAAC,GAAI,CAC7C2f,iBAAiBrQ,cAActP,EAAE,CACnC,CACF,CACA,GAAIiS,cAAgB,MAAO,CACzBG,cAAgB,IAClB,KAAO,CACL,GAAIK,YAAc,KAAM,CACtBL,cAAgB,KAClB,KAAO,CACLA,cAAgB,IAClB,CACF,CACF,CACA,GAAIA,eAAiBxS,eAAgB,CACnClC,EAAE,SAAS,EAAE0M,KAAK,WAChB1M,EAAE4M,IAAI,EAAE+P,KAAK,QAAQ,EAAE6f,OAAOlW,UAAU,CAC1C,CAAC,CACH,CACAlU,cAAgB,KAChBL,cAAgB,EAChBY,YAAc,KACd3S,EAAE,yBAAyB,EAAE0M,KAAK,WAChC,IAAIgf,MAAQ9e,KACZzI,WAAW,WACTnE,EAAE0rB,KAAK,EAAEhM,KAAK,IAAK,WACjB1f,EAAEk7B,IAAI,EAAEje,OAAO,CACjB,CAAC,CACH,EAAG,GAAI,CACT,CAAC,EACD,GAAI4Q,UAAY,CAAC3rB,eAAgB,CAC/BiC,WAAW,WACT,GAAI9D,UAAW,CACbL,EAAEM,WAAW,EAAE,GAAG4F,SAAS,EAAG,CAAC,EAC/B,GAAIC,QAAU,EAAG,CACfnG,EAAEM,WAAW,EAAE,GAAG8F,eAAe,CACnC,CACF,KAAO,CACL1F,OAAOwF,SAAS,EAAG,CAAC,CACtB,CACF,EAAG,EAAE,CACP,CACA,GAAIwM,kBAAoB,CAACpP,WAAY,CACnC+rB,cAAc,CAChB,CACA,GAAI,CAACntB,eAAgB,CACnB,GAAI8R,mBAAqB,KAAM,CAC7BlM,cAAckM,iBAAiB,CACjC,CACA,GAAIkC,iBAAmB,GAAK,CAAC5S,WAAY,CACvC2Q,wBAA0B9P,WAAW+sB,iBAAkB,GAAG,EAC1Dld,kBAAoBzM,YAAYokB,UAAWzV,gBAAgB,CAC7D,CACAwW,oBAAoB,EACpB,GAAI7X,UAAW,CACbyoB,WAAW,CACb,CACA,GAAIxoB,eAAgB,CAClByoB,eAAe,CACjB,CACAxiB,YAAY,CACd,CACF,CACA,SAAS5Y,iBACPnC,EAAE,cAAc,EAAE0M,KAAK,WACrB,IAAIoc,KAAO9oB,EAAE4M,IAAI,EAAErI,MAAM,EACzBvE,EAAE4M,IAAI,EAAEiW,IAAI,SAAUiG,IAAI,CAC5B,CAAC,CACH,CACA,SAASzmB,yBACPrC,EAAE0lB,UAAU8X,YAAY,CACtBC,OAAQ,kBACRC,UAAW,SAAUlyB,SACnBxL,EAAEwL,OAAO,EAAEmyB,QAAQ,gBAAgB,EAAEv5B,SAAS,oBAAoB,EAClEpE,EAAEwL,OAAO,EAAEpH,SAAS,YAAY,CAClC,EACAw5B,YAAa,SAAUpyB,SACrBxL,EAAEwL,OAAO,EAAEmyB,QAAQ,gBAAgB,EAAEz5B,YAAY,oBAAoB,EACrElE,EAAEwL,OAAO,EAAEtH,YAAY,YAAY,CACrC,EACA25B,aAAc,OACdhF,WAAY,gCACZiF,eAAgB,SAAUp8B,MAAO8J,SAC/BxL,EAAE0B,KAAK,EAAE0C,SAAS,kBAAkB,EACpC,IAAI25B,YAAc/9B,EAAEwL,OAAO,EAAEnH,KAAK,MAAM,EACxC,IAAI25B,cAAgBh+B,EAAEwL,OAAO,EAAEnH,KAAK,IAAI,EAAI,SAC5CrE,EAAE,IAAMg+B,aAAa,EAAE/gB,OAAO,EAC9Bjd,EAAE0B,KAAK,EAAE2C,KAAK,KAAM25B,aAAa,EACjCh+B,EAAEwL,OAAO,EAAEnH,KAAK,eAAgB,MAAM,EACtCrE,EAAEwL,OAAO,EAAEnH,KAAK,oBAAqB25B,aAAa,EAClD,IAAIC,YAAcj+B,EAAEqK,IAClB0b,kBAAkB,UAClB,SAAUmY,UAAWC,SACnB,IAAIC,UACJ,GAAIF,UAAUpxB,QAAQixB,WAAW,GAAK,EAAG,CACvCK,UAAYF,UAAU7J,MAAM,GAAG,EAC/B,OAAO+J,UAAUA,UAAU57B,OAAS,EACtC,KAAO,CACL,OAAO,IACT,CACF,CACF,EAAE,GACF,GAAIgJ,QAAQ4Q,SAAS,kBAAkB,EAAG,CACxC1a,MAAMwzB,YAAY1pB,OAAO,CAC3B,MAAO,GAAIA,QAAQ4Q,SAAS,iBAAiB,EAAG,CAC9C1a,MAAMwzB,YAAY1pB,OAAO,CAC3B,MAAO,GAAIA,QAAQ4Q,SAAS,kBAAkB,EAAG,CAC/C5Q,QAAQyG,OAAO,EAAEmL,OAAO1b,KAAK,CAC/B,MAAO,GAAI8J,QAAQ4Q,SAAS,qBAAqB,EAAG,CAClD5Q,QAAQyG,OAAO,EAAEmL,OAAO1b,KAAK,CAC/B,MAAO,GAAI8J,QAAQ4Q,SAAS,eAAe,GAAK6hB,YAAa,CAC3Dj+B,EAAE,eAAiBi+B,YAAc,IAAI,EAClChsB,OAAO,EACPmL,OAAO1b,KAAK,CACjB,MAAO,GAAI8J,QAAQyG,OAAO,EAAEmK,SAAS,oBAAoB,EAAG,CAC1D5Q,QAAQyG,OAAO,EAAEmL,OAAO1b,KAAK,CAC/B,MAAO,GAAI8J,QAAQ4Q,SAAS,QAAQ,EAAG,CACrC,IAAIiiB,cAAgBr+B,EAAEwL,OAAO,EAAEsQ,QAAQ,aAAa,EAAE7B,MAAM,EAC5D,GAAIokB,cAAc77B,OAAS,EAAG,CAC5BxC,EAAEq+B,aAAa,EAAEjhB,OAAO1b,KAAK,CAC/B,KAAO,CACLA,MAAMwzB,YAAY1pB,QAAQyG,OAAO,CAAC,CACpC,CACF,MAAO,GAAIzG,QAAQyG,OAAO,cAAc,EAAEzP,OAAQ,CAChDd,MAAMwzB,YAAY1pB,QAAQyG,OAAO,CAAC,CACpC,MAAO,GAAIzG,QAAQ4Q,SAAS,qBAAqB,EAAG,CAClD,IAAIkiB,iBAAmBt+B,EAAEwL,OAAO,EAAEsQ,QAAQ,mBAAmB,EAAE7B,MAAM,EACrE,GAAIqkB,iBAAiB97B,OAAS,EAAG,CAC/BxC,EAAEs+B,gBAAgB,EAAErsB,OAAO,EAAEmL,OAAO1b,KAAK,CAC3C,KAAO,CACL8J,QAAQyG,OAAO,EAAEmL,OAAO1b,KAAK,CAC/B,CACF,MAAO,GAAI8J,QAAQ4Q,SAAS,qBAAqB,EAAG,CAClD5Q,QAAQsQ,QAAQ,oBAAoB,EAAEsB,OAAO1b,KAAK,CACpD,KAAO,CACLA,MAAMwzB,YAAY1pB,OAAO,CAC3B,CACF,CACF,CAAC,EACDxL,EAAE0lB,UAAU6Y,UAAU,WAAY,SAAUC,EAAGC,GAC7C,OAAO,IACT,CAAC,EACDz+B,EAAE0lB,UAAU6Y,UAAU,eAAgB,SAAUt6B,MAAOuH,QAASnF,QAC9D,IAAIq4B,YAAc1+B,EAAE,IAAMA,EAAEwL,OAAO,EAAEnH,KAAK,MAAM,EAAI,UAAU,EAC9D,IAAIs6B,UAAY3+B,EAAE0+B,WAAW,EAAEnxB,IAAI,EACnC,GAAI,CAACvN,EAAE0+B,WAAW,EAAEzsB,OAAO,EAAEgJ,GAAG,UAAU,EAAG,CAC3C,OAAO,IACT,CACA,GAAI0jB,WAAa,MAAQA,UAAU1yB,QAAQ,MAAO,EAAE,GAAK,GAAI,CAC3D,OAAO,KACT,CACA,OAAO,IACT,CAAC,EACDjM,EAAE0lB,UAAU6Y,UAAU,WAAY,SAAUt6B,MAAOuH,QAASnF,QAC1D,IAAIu4B,cAAgBv4B,OAAO,GAC3B,IAAIw4B,UAAYx4B,OAAO,GACvB,GAAIrG,EAAE6+B,SAAS,EAAEr8B,QAAUo8B,cAAe,CACxC,OAAO,IACT,KAAO,CACL,OAAO,KACT,CACF,CAAC,EACD5+B,EAAE0lB,UAAU6Y,UAAU,eAAgB,SAAUt6B,MAAOuH,QAASnF,QAC9D,GAAIrG,EAAEwL,OAAO,EAAEnH,KAAK,MAAM,GAAK,UAAYgC,OAAO,GAAI,CACpD,OAAO,IACT,CACA,GAAIrG,EAAE,WAAaqG,OAAO,GAAK,UAAU,EAAE7D,QAAU6D,OAAO,GAAI,CAC9D,OAAO,IACT,KAAO,CACL,OAAO,KACT,CACF,CAAC,EACDrG,EAAE0lB,UAAU6Y,UAAU,cAAe,SAAUt6B,MAAOuH,QAASnF,QAC7D,GAAIrG,EAAEwL,OAAO,EAAEnH,KAAK,MAAM,GAAK,UAAYgC,OAAO,GAAI,CACpD,OAAO,IACT,CACA,GAAIrG,EAAE,WAAaqG,OAAO,GAAK,UAAU,EAAE7D,OAAS6D,OAAO,GAAI,CAC7D,OAAO,KACT,KAAO,CACL,OAAO,IACT,CACF,CAAC,EACDrG,EAAE0lB,UAAU6Y,UAAU,eAAgB,SAAUt6B,MAAOuH,QAASnF,QAC9D,GAAIrG,EAAEwL,OAAO,EAAEnH,KAAK,MAAM,GAAK,UAAYgC,OAAO,GAAI,CACpD,OAAO,IACT,CACA,GAAIrG,EAAE,WAAaqG,OAAO,GAAK,UAAU,EAAE7D,QAAU6D,OAAO,GAAI,CAC9D,OAAO,KACT,KAAO,CACL,OAAO,IACT,CACF,CAAC,EACDrG,EAAE0lB,UAAU6Y,UAAU,gBAAiB,SAAUt6B,MAAOuH,QAASnF,QAC/D,GAAIrG,EAAEwL,OAAO,EAAEmR,KAAK,iBAAiB,EAAEna,QAAU6D,OAAO,GAAI,CAC1D,OAAO,IACT,KAAO,CACL,OAAO,KACT,CACF,CAAC,EACDrG,EAAE0lB,UAAU6Y,UAAU,UAAW,SAAUt6B,MAAOuH,QAASnF,QACzD,GAAIpC,OAAS,MAAQA,OAAS,GAAI,CAChC,OAAO,IACT,CACA,IACE,IAAI66B,KAAO,IAAIC,KAAK96B,KAAK,EACzB,IAAI+6B,WAAa,IAAID,KAAK14B,MAAM,EAChC,GAAIy4B,MAAQE,WAAY,CACtB,OAAO,IACT,CACW,CAAX,MAAOn8B,IACT,OAAO,KACT,CAAC,EACD7C,EAAE0lB,UAAU6Y,UAAU,UAAW,SAAUt6B,MAAOuH,QAASnF,QACzD,GAAIpC,OAAS,MAAQA,OAAS,GAAI,CAChC,OAAO,IACT,CACA,IACE,IAAI66B,KAAO,IAAIC,KAAK96B,KAAK,EACzB,IAAI+6B,WAAa,IAAID,KAAK14B,MAAM,EAChC,GAAIy4B,MAAQE,WAAY,CACtB,OAAO,IACT,CACW,CAAX,MAAOn8B,IACT,OAAO,KACT,CAAC,EACD7C,EAAE0lB,UAAU6Y,UAAU,aAAc,SAAUt6B,MAAOuH,QAASnF,QAC5D,GAAIpC,OAAS,MAAQA,OAAS,GAAI,CAChC,OAAO,IACT,CACA,IACE,IAAI66B,KAAO,IAAIC,KAAK96B,KAAK,EACzB,IAAIg7B,kBAAoB,IAAIF,KAAK14B,OAAO,EAAE,EAC1C,IAAI64B,iBAAmB,IAAIH,KAAK14B,OAAO,EAAE,EACzC,GAAIy4B,MAAQG,mBAAqBH,MAAQI,iBAAkB,CACzD,OAAO,IACT,CACW,CAAX,MAAOr8B,IACT,OAAO,KACT,CAAC,EACD7C,EAAE0lB,UAAU6Y,UAAU,UAAW,SAAUt6B,MAAOuH,QAASnF,QACzD,GAAIpC,OAAS,MAAQA,OAAS,GAAI,CAChC,OAAO,IACT,CACA,IACE,IAAIk7B,KAAO,IAAIJ,KAAK,cAAgB96B,MAAQ,GAAG,EAC/C,IAAI+6B,WAAa,IAAID,KAAK,cAAgB14B,OAAS,GAAG,EACtD,GAAI84B,MAAQH,WAAY,CACtB,OAAO,IACT,CACW,CAAX,MAAOn8B,IACT,OAAO,KACT,CAAC,EACD7C,EAAE0lB,UAAU6Y,UAAU,UAAW,SAAUt6B,MAAOuH,QAASnF,QACzD,GAAIpC,OAAS,MAAQA,OAAS,GAAI,CAChC,OAAO,IACT,CACA,IACE,IAAIk7B,KAAO,IAAIJ,KAAK,cAAgB96B,MAAQ,GAAG,EAC/C,IAAI+6B,WAAa,IAAID,KAAK,cAAgB14B,OAAS,GAAG,EACtD,GAAI84B,MAAQH,WAAY,CACtB,OAAO,IACT,CACW,CAAX,MAAOn8B,IACT,OAAO,KACT,CAAC,EACD7C,EAAE0lB,UAAU6Y,UAAU,aAAc,SAAUt6B,MAAOuH,QAASnF,QAC5D,GAAIpC,OAAS,MAAQA,OAAS,GAAI,CAChC,OAAO,IACT,CACA,IACE,IAAIk7B,KAAO,IAAIJ,KAAK,cAAgB96B,MAAQ,GAAG,EAC/C,IAAIg7B,kBAAoB,IAAIF,KAAK,cAAgB14B,OAAO,GAAK,GAAG,EAChE,IAAI64B,iBAAmB,IAAIH,KAAK,cAAgB14B,OAAO,GAAK,GAAG,EAC/D,GAAI84B,MAAQF,mBAAqBE,MAAQD,iBAAkB,CACzD,OAAO,IACT,CACW,CAAX,MAAOr8B,IACT,OAAO,KACT,CAAC,EACD7C,EAAE0lB,UAAU6Y,UAAU,cAAe,SAAUt6B,MAAOuH,QAASnF,QAC7D,GAAIpC,OAAS,MAAQA,OAAS,GAAI,CAChC,OAAO,IACT,CACA,IACE,IAAIm7B,SAAW,IAAIL,KAAK96B,MAAQ,GAAG,EACnC,IAAI+6B,WAAa,IAAID,KAAK14B,OAAS,GAAG,EACtC,GAAI+4B,UAAYJ,WAAY,CAC1B,OAAO,IACT,CACW,CAAX,MAAOn8B,IACT,OAAO,KACT,CAAC,EACD7C,EAAE0lB,UAAU6Y,UAAU,cAAe,SAAUt6B,MAAOuH,QAASnF,QAC7D,GAAIpC,OAAS,MAAQA,OAAS,GAAI,CAChC,OAAO,IACT,CACA,IACE,IAAIm7B,SAAW,IAAIL,KAAK96B,MAAQ,GAAG,EACnC,IAAI+6B,WAAa,IAAID,KAAK14B,OAAS,GAAG,EACtC,GAAI+4B,UAAYJ,WAAY,CAC1B,OAAO,IACT,CACW,CAAX,MAAOn8B,IACT,OAAO,KACT,CAAC,EACD7C,EAAE0lB,UAAU6Y,UAAU,iBAAkB,SAAUt6B,MAAOuH,QAASnF,QAChE,GAAIpC,OAAS,MAAQA,OAAS,GAAI,CAChC,OAAO,IACT,CACA,IACE,IAAIm7B,SAAW,IAAIL,KAAK96B,MAAQ,GAAG,EACnC,IAAIg7B,kBAAoB,IAAIF,KAAK14B,OAAO,GAAK,GAAG,EAChD,IAAI64B,iBAAmB,IAAIH,KAAK14B,OAAO,GAAK,GAAG,EAC/C,GAAI+4B,UAAYH,mBAAqBG,UAAYF,iBAAkB,CACjE,OAAO,IACT,CACW,CAAX,MAAOr8B,IACT,OAAO,KACT,CAAC,EACD7C,EAAE0lB,UAAU6Y,UAAU,gBAAiB,SAAUt6B,MAAOuH,QAAS+U,OAC/D,IACE,IAAI8e,MAAQlmB,SAASoH,KAAK,EAAI,IAC9B,GAAI8e,OAAS,EAAG,CACd,OAAO,IACT,CACA,IAAIC,aACJ,GAAIt/B,EAAEwL,OAAO,EAAEjK,KAAK,cAAc,EAAG,CACnC+9B,aACEnmB,SAASnZ,EAAEwL,OAAO,EAAEjK,KAAK,cAAc,CAAC,EACxC4X,SAASnZ,EAAEwL,OAAO,EAAEjK,KAAK,cAAc,CAAC,EACxC,CACJ,KAAO,CACL+9B,aAAe,CACjB,CACA,GAAIt/B,EAAEwL,OAAO,EAAEnH,KAAK,MAAM,IAAM,OAAQ,CACtC,GAAImH,QAAQsc,OAAStc,QAAQsc,MAAMtlB,OAAQ,CACzC,IAAI+8B,UAAY,EAChB,IAAKj9B,EAAI,EAAGA,EAAIkJ,QAAQsc,MAAMtlB,OAAQF,CAAC,GAAI,CACzC,GACEg9B,aAAe,GACf9zB,QAAQsc,MAAMxlB,GAAGwmB,KAAO,GAAMwW,cAC9B9zB,QAAQsc,MAAMxlB,GAAGpB,KAAKuX,MAAM,SAAS,GACrC,EAAEjN,QAAQsc,MAAMxlB,GAAGpB,KAAK4L,QAAQ,WAAW,GAAK,GAChD,CACAyyB,WAAaD,YACf,KAAO,CACLC,WAAa/zB,QAAQsc,MAAMxlB,GAAGwmB,IAChC,CACF,CACA,GAAIyW,UAAYF,MAAO,CACrB,OAAO,KACT,CACF,CACA,OAAO,IACT,CACW,CAAX,MAAOx8B,IACT,OAAO,KACT,CAAC,CACH,CACA,IAAI28B,UAAa9+B,OAAO8+B,UAAY9+B,OAAO8+B,WAAa,GACxD,SAASC,OACPD,UAAUhyB,KAAK4K,SAAS,CAC1B,CACA,SAASklB,aACP,IAAIoC,QAAU1qB,aAAa,MAC3B,GAAIA,aAAa,OAASrN,WAAaqN,aAAa,OAAS,KAAM,CACjE0qB,QAAU1qB,aAAa,KACzB,CACA,GAAI0qB,SAAW,KAAM,CACnBA,QAAUA,QAAQzzB,QAAQ,iBAAkB,GAAG,EAC/C,GAAI,CAAC2G,eAAgB,CACnB,IAAIzK,KAAO,CAAEw3B,eAAgB,KAAM,EACnC,GAAIC,gBAAiB,CACnBz3B,KAAK,gBAAkB,sBACzB,CACA,IAAK,IAAI7F,EAAI,EAAGA,EAAIu9B,QAAQr9B,OAAQF,CAAC,GAAI,CACvCm9B,KAAK,SAAUI,QAAQv9B,GAAI6F,IAAI,EAC/ByK,eAAiB,IACnB,CACF,CACA6sB,KACE,MACA,YACAK,mBAAqB,IAAMC,oBAAsB,IAAML,OACzD,EACAD,KAAK,QAAS,YAAa,CACzBO,UAAWF,mBAAqB,IAAMC,oBAAsB,IAAML,OACpE,CAAC,CACH,CACF,CACA,SAASxa,oBACP,GAAI3S,2BAA6B,KAAM,CACrCzK,cAAcyK,yBAAyB,CACzC,CACF,CACA,SAASqS,qBACP,GAAIrS,2BAA6B,KAAM,CACrCzK,cAAcyK,yBAAyB,CACzC,CACAA,0BAA4BhL,YAAYqc,cAAe,GAAI,CAC7D,CACA,SAAS3hB,kBACP8sB,aAAa,CAAC,EAEd,GAAI,CAAC1uB,WAAa,CAAC2R,cAAe,CAChCuc,QAAQI,aACN,CAAE/W,MAAOzR,OAAQ,EACjB,GACAiP,cAAgBoB,UAAYrQ,OAC9B,CACF,CACA,IAAI85B,cAAgBzoB,qBACpB,GAAIyoB,cAAgB,EAAG,CACrB/rB,WAAa/P,WAAW,WACtBwpB,gBAAgB,CAClB,EAAGsS,aAAa,CAClB,CACA,GAAIprB,WAAa,CAAC3S,eAAgB,CAChCu9B,KAAK,KAAM,IAAIV,IAAM,CACvB,CACAr+B,OAAOw/B,WAAa,SAAUz3B,OAC5B,GACEA,MAAM+lB,OAAS,MACf/lB,MAAM+lB,MAAM5W,MAAQzR,SACpBiO,iBACA,CACApU,EAAE,eAAe,EAAEyG,OAAO,CAC5B,CACF,EACAzG,EAAEU,MAAM,EAAEkpB,KAAK,SAAU,WACvB,GAAI,CAAC1nB,eAAgB,CACnBuvB,iBAAiB,CACnB,CACA,GAAI9f,UAAY,MAAQA,SAASyR,UAAW,CAE1CzR,SAAS8Q,KAAK,WAAW,CAC3B,CACF,CAAC,EACD,IAAI0d,mBAAqBjH,UAAUkH,QAAQC,QAAQC,UACnDH,mBAAmB,KAAK3yB,KAAK,OAAO,EACpC2yB,mBAAmB,KAAK3yB,KAAK,OAAO,EACpC2yB,mBAAmB,OAAO3yB,KAAK,OAAO,EACtC,GAAInN,UAAW,CACbL,EAAEiB,KAAK,CACLC,KAAM,OACNC,IAAKkU,UACLiL,WAAYrB,cACZ5d,UAAW,CACTC,gBAAiB,IACnB,EACAC,KAAM,cAAgB0T,OAAS,UAC/BzT,QAAS,SAAUD,MACjB4C,WAAW,WACT2c,cAAcvf,KAAMvB,EAAE,SAAS,EAAG,CAAC,CACrC,EAAG,CAAC,CACN,EACA0B,MAAO,SAAUC,IAAKC,OAAQF,OAC5ByC,WAAW,WACTuc,mBAAmB/e,IAAKC,OAAQF,KAAK,CACvC,EAAG,CAAC,CACN,CACF,CAAC,CACH,CACA,GAAIQ,eAAgB,CAClB,GACEyL,SAAS2V,WAAa,SACtBrjB,SAAS0N,SAAS2V,WAAa,QAC/B,CACA3R,SAAW4R,GAAGF,QAAQ,UAAYpjB,SAASujB,OAAS,YAAa,CAC/DC,KAAM8c,UAAY,gBAClB7c,MAAO,KAAOpO,cAChB,CAAC,CACH,CACA,GACE3H,SAAS2V,WAAa,UACtBrjB,SAAS0N,SAAS2V,WAAa,SAC/B,CACA3R,SAAW4R,GAAGF,QAAQ,WAAapjB,SAASujB,OAAS,YAAa,CAChEC,KAAM8c,UAAY,gBAClB7c,MAAO,KAAOpO,cAChB,CAAC,CACH,CACA,GAAI,OAAO3D,WAAa,YAAa,CACnCA,SAAShO,GAAG,UAAW,WAErBgO,SAAS8Q,KAAK,UAAW,CACvBoC,IAAKC,MACLxiB,EAAGgT,eACHyP,OAAQC,cACV,CAAC,EACD4G,YAAc,IAChB,CAAC,EACDja,SAAShO,GAAG,YAAa,WAEvBgO,SAASoS,WAAW,CACtB,CAAC,EACDpS,SAAShO,GAAG,aAAc,YAGzB,EACDgO,SAAShO,GAAG,kBAAmB,SAAUpC,MACvCb,OAAOuR,OAAOuuB,kBAAkBj/B,KAAK+E,GAAG,CAC1C,CAAC,EACDqL,SAAShO,GAAG,yBAA0B,SAAUpC,MAE9C8Q,YAAc,KACduR,cAAc,EACdljB,OAAOuR,OAAOwuB,kBAAkBl/B,KAAK+E,GAAG,CAC1C,CAAC,EACDqL,SAAShO,GAAG,mBAAoB,SAAUpC,MAKxCb,OAAOuR,OAAOyuB,mBAAmBn/B,KAAK+E,GAAG,CAC3C,CAAC,EACDqL,SAAShO,GAAG,eAAgB,SAAUpC,MAEpC,GAAI+Q,mBAAmB,GAAK,EAAG,CAE7B5R,OAAOuR,OAAOuuB,kBAAkBj/B,KAAK+E,GAAG,CAC1C,CACF,CAAC,EACDqL,SAAShO,GAAG,UAAW,SAAUwgB,UAE/B,IAAI5iB,KAAO4iB,SAASC,IACpBpkB,EAAEM,WAAW,EAAEkF,KAAKjE,KAAK2oB,IAAI,EAC7BlqB,EAAEM,WAAW,EAAE2R,OAAO,EAAE/N,YAAY,EACpClE,EAAEM,WAAW,EAAE2R,OAAO,EAAE7N,SAAS7C,KAAK0sB,SAAS,EAC/Cc,aAAa,CAAC,EACd,IAAK,IAAIzsB,EAAI,EAAGA,EAAIf,KAAKytB,cAAcxsB,OAAQF,CAAC,GAAI,CAClDG,kBAAkBlB,KAAKytB,cAAc1sB,EAAE,CACzC,CACA,IAAK,IAAIA,EAAI,EAAGA,EAAIf,KAAK2tB,UAAU1sB,OAAQF,CAAC,GAAI,CAC9CtC,EAAE,MAAM,EAAEod,OAAO7b,KAAK2tB,UAAU5sB,EAAE,CACpC,CACArC,SAAS8hB,MAAQxgB,KAAKmtB,cACtB,GAAI1uB,EAAE,MAAM,EAAEqE,KAAK,MAAM,GAAK9C,KAAK4tB,KAAM,CACvCnvB,EAAE,MAAM,EAAEqE,KAAK,OAAQ9C,KAAK4tB,IAAI,CAClC,CACAvL,cAAc,CAChB,CAAC,EACDjS,SAAShO,GAAG,cAAe,SAAUpC,MAEnC,IAAI8iB,SAAWtd,OAAO,EACtB,IAAIud,OAAS/iB,KAAKgjB,WAClB,IAAK,IAAIjiB,EAAI,EAAGA,EAAIgiB,OAAO9hB,OAAQF,CAAC,GAAI,CACtC+hB,SAASC,OAAOhiB,GAAG6N,MAAQmU,OAAOhiB,GAAG2B,KACvC,CACAjE,EAAE,SAAS,EAAE0M,KAAK,WAChB1M,EAAE4M,IAAI,EACH+P,KAAK,QAAQ,EACbjQ,KAAK,WACJ,IAAIxL,KAAOlB,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,EAC9B,IAAI6D,GAAKlI,EAAE4M,IAAI,EAAEvI,KAAK,IAAI,EAC1B,IAAI8L,KAAOnQ,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,EAC9B,GAAInD,MAAQ,WAAY,CACtB,GAAIiP,QAAQkU,SAAU,CACpB,GAAIA,SAASlU,OAAS,OAAQ,CAC5B,GAAInQ,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,GAAK,KAAM,CACnC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,IAAI,EAC5B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,KAAO,CACL,GAAI/O,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,GAAK,MAAO,CACpC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,CACF,KAAO,CACL,GAAI/O,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,GAAK,MAAO,CACpC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,CACF,MAAO,GAAI7N,MAAQ,QAAS,CAC1B,GAAIiP,QAAQkU,SAAU,CACpB,GAAIA,SAASlU,OAASnQ,EAAE4M,IAAI,EAAEW,IAAI,EAAG,CACnC,GAAIvN,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,GAAK,KAAM,CACnC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,IAAI,EAC5B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,KAAO,CACL,GAAI/O,EAAE4M,IAAI,EAAEgP,KAAK,SAAS,GAAK,MAAO,CACpC5b,EAAE4M,IAAI,EAAEgP,KAAK,UAAW,KAAK,EAC7B5b,EAAE4M,IAAI,EAAEmC,QAAQ,QAAQ,CAC1B,CACF,CACF,CACF,MAAO,GAAI/O,EAAE4M,IAAI,EAAErL,KAAK,EAAEgF,eAAe,WAAW,EAAG,CACrDvG,EAAE4M,IAAI,EAAE4X,OAAO,WAAYrL,SAASkL,SAASlU,KAAK,CAAC,CACrD,KAAO,CACL,GAAIA,QAAQkU,SAAU,CACpBrkB,EAAE4M,IAAI,EAAEW,IAAI8W,SAASlU,KAAK,CAC5B,CACF,CACF,CAAC,CACL,CAAC,CACH,CAAC,CACH,CACAoC,0BAA4BhL,YAAYqc,cAAe1N,gBAAgB,CACzE,CACAlW,EAAEC,QAAQ,EAAE8O,QAAQ,YAAY,CAClC,CAEA,SAAS+b,cAAc5gB,UACrBjK,SAAS+D,eAAe,mBAAmB,EAAEC,MAAQqK,KAAKE,UAAU,CAClEhF,SAAUU,SAAS4G,OAAOtH,SAC1BC,UAAWS,SAAS4G,OAAOrH,SAC7B,CAAC,CACH,CAEA,SAAS4jB,kBAAkBsT,WACzB3gC,EAAE,UAAY2gC,UAAY,IAAI,EAAEnE,OAAO,WACrC,GAAIx8B,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,GAAK,YAAcrE,EAAE4M,IAAI,EAAEvI,KAAK,MAAM,GAAK,QAAS,CACzEwZ,OAAS7d,EAAE,UAAY2gC,UAAY,YAAY,EAAEpzB,IAAI,CACvD,KAAO,CACLsQ,OAAS7d,EAAE4M,IAAI,EAAEW,IAAI,CACvB,CACA,IAAImO,EAAI,EACR,GAAI1b,EAAE4M,IAAI,EAAErL,KAAK,eAAe,EAAG,CACjC,IAAIq/B,QAAUtyB,KAAKC,MACjBgM,mBAAmBC,OAAOxO,KAAKhM,EAAE4M,IAAI,EAAErL,KAAK,eAAe,CAAC,CAAC,CAAC,CAChE,EACAma,EAAIklB,QAAQp+B,MACd,CACA,GAAIkZ,EAAG,CACL,IAAK,IAAIpZ,EAAI,EAAGA,EAAIoZ,EAAG,EAAEpZ,EAAG,CAC1B,IAAIu+B,aAAeD,QAAQt+B,GAAG2J,QAAQ,oBAAqB,MAAM,EACjE,GAAI4R,QAAU,MAAQA,QAAU,GAAI,CAClC4U,qBACE,kBAAoBoO,aAAe,wBACnC,KACF,EACApO,qBACE,gBAAkBoO,aAAe,wBACjC,KACF,CACF,KAAO,CACLpO,qBACE,kBAAoBoO,aAAe,wBACnC,IACF,EACApO,qBACE,gBAAkBoO,aAAe,wBACjC,IACF,CACF,CACF,CACF,KAAO,CACL,GAAIhjB,QAAU,MAAQA,QAAU,GAAI,CAClC4U,qBACE,4BACEkO,UACA,iBACAA,UACA,yBACF,KACF,EACAlO,qBACE,6BACEkO,UACA,iBACAA,UACA,yBACF,KACF,EACAlO,qBACE,+BAAiCkO,UAAY,yBAC7C,KACF,CACF,KAAO,CACLlO,qBACE,4BACEkO,UACA,iBACAA,UACA,yBACF,IACF,EACAlO,qBACE,6BACEkO,UACA,iBACAA,UACA,yBACF,IACF,EACAlO,qBACE,+BAAiCkO,UAAY,yBAC7C,IACF,CACF,CACF,CACF,CAAC,EACD3gC,EAAE,sBAAsB,EAAE+O,QAAQ,QAAQ,CAC5C,CAEA,SAASgc,YAAYrpB,OACnB,OAAQA,MAAM6wB,MACZ,KAAK7wB,MAAMo/B,kBACT7gC,SAAS+D,eAAe,mBAAmB,EAAEC,MAAQqK,KAAKE,UAAU,CAClE9M,MAAO,yCACT,CAAC,EACDG,QAAQC,IAAI,0CAA0C,EACtD,MACF,KAAKJ,MAAMq/B,qBACT9gC,SAAS+D,eAAe,mBAAmB,EAAEC,MAAQqK,KAAKE,UAAU,CAClE9M,MAAO,qCACT,CAAC,EACDG,QAAQC,IAAI,sCAAsC,EAClD,MACF,KAAKJ,MAAMs/B,QACT/gC,SAAS+D,eAAe,mBAAmB,EAAEC,MAAQqK,KAAKE,UAAU,CAClE9M,MAAO,4CACT,CAAC,EACDG,QAAQC,IAAI,6CAA6C,EACzD,MACF,KAAKJ,MAAMu/B,cACThhC,SAAS+D,eAAe,mBAAmB,EAAEC,MAAQqK,KAAKE,UAAU,CAClE9M,MAAO,2BACT,CAAC,EACDG,QAAQC,IAAI,4BAA4B,EACxC,KACJ,CACF"} \ No newline at end of file +{"version":3,"sources":["docassemble_webapp/docassemble/webapp/static/app/app.js"],"sourcesContent":["var $;\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n if (typeof $ == \"undefined\") {\n $ = jQuery.noConflict();\n }\n if (daJsEmbed) {\n daTargetDiv = \"#\" + daJsEmbed;\n } else {\n daTargetDiv = \"#dabody\";\n }\n daPreloadImage(daImageToPreLoad);\n if (daAutoColorScheme) {\n if (window.matchMedia(\"(prefers-color-scheme: dark)\").matches) {\n daDesiredColorScheme = 1;\n } else {\n daDesiredColorScheme = 0;\n }\n if (daCurrentColorScheme != daDesiredColorScheme) {\n document.documentElement.setAttribute(\n \"data-bs-theme\",\n daDesiredColorScheme ? \"dark\" : \"light\",\n );\n $.ajax({\n type: \"PATCH\",\n url: daUrlChangeColorScheme,\n xhrFields: {\n withCredentials: true,\n },\n data: \"scheme=\" + daDesiredColorScheme,\n success: function (data) {\n daCurrentColorScheme = data.scheme;\n },\n error: function (xhr, status, error) {\n console.log(\"Unable to change desired color scheme.\");\n },\n dataType: \"json\",\n });\n }\n }\n $(document).ready(daReadyFunction);\n if (!daObserverMode) {\n $(window).ready(daUpdateHeight);\n $(window).resize(daUpdateHeight);\n }\n daConfigureJqueryFuncs();\n for (var i = 0; i < daInitialExtraScripts.length; i++) {\n daEvalExtraScript(daInitialExtraScripts[i]);\n }\n for (var i = 0; i < daCustomItems.length; i++) {\n try {\n daGlobalEval(daCustomItems[i].js);\n } catch (e) {\n console.error(\n \"Error with JavaScript code of CustomDataType \" +\n daCustomItems[i].datatype, e.stack\n );\n }\n }\n});\n\nvar daColor = \"#000\";\nvar daWindowWidth;\nvar daTheWidth;\nvar daAspectRatio;\nvar daTheBorders;\nvar daSignaturePad;\nvar daWaitPage = false;\n\nfunction daInitializeSignature(penColor, defaultImage) {\n daColor = penColor;\n daAspectRatio = 0.4;\n daTheBorders = 30;\n daNewCanvas(defaultImage);\n\n $(window).on(\"resize\", function () {\n daResizeCanvas();\n });\n $(window).on(\"orientationchange\", function () {\n daResizeCanvas();\n });\n $(\".dasigclear\").click(function (e) {\n e.preventDefault();\n daNewCanvas();\n return false;\n });\n $(\".dasigsave\").click(function (e) {\n e.preventDefault();\n if (\n daSignaturePad.isEmpty() &&\n document.getElementById(\"da_sig_required\").value == \"1\"\n ) {\n $(\"#daerrormess\").removeClass(\"dasignotshowing\");\n setTimeout(function () {\n $(\"#daerrormess\").addClass(\"dasignotshowing\");\n }, 3000);\n } else {\n $(\".dasigclear\").attr(\"disabled\", true);\n $(\".dasigsave\").attr(\"disabled\", true);\n daSaveCanvas();\n }\n return false;\n });\n}\n\n// function to setup a new canvas for drawing\n\nfunction daResizeCanvas() {\n if ($(window).width() != daWindowWidth) {\n daWindowWidth = $(window).width();\n setTimeout(function () {\n daNewCanvas();\n }, 200);\n }\n return;\n}\n\nfunction daSaveCanvas() {\n var dataURL = daSignaturePad.toDataURL();\n //console.log(dataURL)\n daSpinnerTimeout = setTimeout(daShowSpinner, 1000);\n daPost({ da_success: 1, da_the_image: dataURL, da_ajax: 1 });\n}\n\nfunction daNewCanvas(defaultImage = null) {\n //console.log(\"running daNewCanvas\");\n daWindowWidth = $(window).width();\n var cwidth = $(window).width() - daTheBorders;\n var contentwidth = $(\"#dasigpage\").outerWidth(true);\n if (cwidth > contentwidth) {\n cwidth = contentwidth;\n }\n var cheight = cwidth * daAspectRatio;\n var otherHeights =\n $(\"#dasigheader\").outerHeight(true) +\n $(\"#dasigtoppart\").outerHeight(true) +\n $(\"#dasigmidpart\").outerHeight(true) +\n $(\"#dasigbottompart\").outerHeight(true);\n if (cheight > $(window).height() - otherHeights) {\n cheight = $(window).height() - otherHeights;\n }\n if (cheight > 275 || cheight < 30) {\n cheight = 275;\n }\n $(\"#dasigcontent\").height(cheight);\n var canvas =\n '';\n $(\"#dasigcontent\").html(canvas);\n daTheWidth = (daThicknessScalingFactor * cwidth) / 100.0;\n if (daTheWidth < 1) {\n daTheWidth = 1;\n }\n daSignaturePad = new SignaturePad(document.querySelector(\"#dasigcanvas\"));\n if (defaultImage != null) {\n daSignaturePad.fromDataURL(defaultImage, {\n ratio: 1,\n width: cwidth,\n height: cheight,\n xOffset: 0,\n yOffset: 0,\n });\n }\n daSignaturePad.minWidth = 0.5 * daThicknessScalingFactor;\n daSignaturePad.maxWidth = 2.5 * daThicknessScalingFactor;\n daSignaturePad.penColor = daColor;\n setTimeout(function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n if (daSteps > 1) {\n $(daTargetDiv)[0].scrollIntoView();\n }\n } else {\n window.scrollTo(0, 1);\n }\n }, 10);\n}\n\nfunction daPost(params) {\n for (var key in params) {\n if (params.hasOwnProperty(key)) {\n var hiddenField = document.getElementById(key);\n if (hiddenField != null) {\n hiddenField.setAttribute(\"value\", params[key]);\n } else {\n console.log(\"Key does not exist: \" + key);\n return;\n }\n }\n }\n $(\"#dasigform\").submit();\n return;\n}\n\nfunction isCanvasSupported() {\n var elem = document.createElement(\"canvas\");\n return !!(elem.getContext && elem.getContext(\"2d\"));\n}\n\nvar daAutocomplete = Object();\n\nfunction daWaitForGoogle(waitForPlaces) {\n return new Promise((resolve) => {\n let attempts = 0;\n const maxAttempts = 50;\n const interval = setInterval(() => {\n var found = false;\n try {\n if (google.maps === undefined) {\n throw new Error(\"google maps not defined\");\n }\n if (waitForPlaces) {\n if (google.maps.places === undefined) {\n throw new Error(\"places not defined\");\n }\n }\n found = true;\n } catch (e) {}\n if (found || attempts >= maxAttempts) {\n clearInterval(interval);\n resolve(found);\n }\n attempts++;\n }, 100);\n });\n}\n\nfunction daInitAutocomplete(info) {\n daAutocomplete = Object();\n for (var i = 0; i < info.length; ++i) {\n daAutocomplete[info[i][0]] = {\n id: info[i][0],\n opts: info[i][1],\n suggestions: {},\n };\n }\n}\n\nasync function daInitAutocompleteOld(info) {\n await daWaitForGoogle(true);\n for (var i = 0; i < info.length; ++i) {\n var id = info[i][0];\n var opts = info[i][1];\n daAutocomplete[id] = new google.maps.places.Autocomplete(\n document.getElementById(id),\n opts,\n );\n google.maps.event.addListener(\n daAutocomplete[id],\n \"place_changed\",\n daFillInAddressFor(id),\n );\n }\n}\n\nfunction daFillInAddressFor(id) {\n return function () {\n daFillInAddressOld(id);\n };\n}\n\nasync function daInitMap(daMapInfo) {\n var googleLoaded = await daWaitForGoogle(false);\n if (!googleLoaded) {\n console.log(\"Could not load Google Maps library\");\n return;\n }\n await google.maps.importLibrary(\"core\");\n var timePeriod = 0;\n maps = [];\n var map_info_length = daMapInfo.length;\n for (var i = 0; i < map_info_length; i++) {\n the_map = daMapInfo[i];\n var bounds = new google.maps.LatLngBounds();\n maps[i] = daAddMap(i, the_map.center.latitude, the_map.center.longitude);\n marker_length = the_map.markers.length;\n if (marker_length == 1) {\n show_marker = true;\n } else {\n show_marker = false;\n }\n for (var j = 0; j < marker_length; j++) {\n var new_marker = await daAddMarker(\n maps[i],\n the_map.markers[j],\n show_marker,\n );\n bounds.extend(\n new google.maps.LatLng(\n new_marker.position.lat,\n new_marker.position.lng,\n ),\n );\n }\n if (marker_length > 1) {\n maps[i].map.fitBounds(bounds);\n }\n }\n}\n\nfunction daAddMap(map_num, center_lat, center_lon) {\n var map = new google.maps.Map(document.getElementById(\"map\" + map_num), {\n zoom: 11,\n center: new google.maps.LatLng(center_lat, center_lon),\n mapTypeId: google.maps.MapTypeId.ROADMAP,\n mapId: \"map\" + map_num + \"element\",\n });\n var infowindow = new google.maps.InfoWindow();\n return { map: map, infowindow: infowindow };\n}\n\nasync function daAddMarker(map, marker_info, show_marker) {\n const { AdvancedMarkerElement, PinElement } =\n await google.maps.importLibrary(\"marker\");\n var marker;\n var content;\n if (marker_info.icon) {\n content = new PinElement(marker_info.icon);\n } else {\n content = new PinElement();\n }\n marker = new AdvancedMarkerElement({\n position: {\n lat: marker_info.latitude,\n lng: marker_info.longitude,\n },\n map: map.map,\n content: content.element,\n });\n if (marker_info.info) {\n google.maps.event.addListener(\n marker,\n \"click\",\n (function (marker, info) {\n return function () {\n map.infowindow.setContent(info);\n map.infowindow.open(map.map, marker);\n };\n })(marker, marker_info.info),\n );\n }\n if (show_marker) {\n map.infowindow.setContent(marker_info.info);\n map.infowindow.open(map.map, marker);\n }\n return marker;\n}\n\nfunction daFillInAddress(origId, place) {\n var id;\n if (daVarLookupRev[origId]) {\n id = daVarLookupRev[origId];\n } else {\n id = origId;\n }\n var baseVarname = atob(id).replace(/.[a-zA-Z0-9_]+$/, \"\");\n baseVarname = baseVarname.replace(/[\\[\\]]/g, \".\");\n var re = new RegExp(\"^\" + baseVarname + \".(.*)\");\n var componentTrans = {\n administrative_area_level_1: [\"state\", \"shortText\"],\n administrative_area_level_2: [\"county\", \"longText\"],\n };\n var alternatives = [\n [\n \"city\",\n [\n \"locality\",\n \"sublocality_level_1\",\n \"neighborhood\",\n \"administrative_area_level_3\",\n \"colloquial_area\",\n ],\n ],\n [\n \"sublocality\",\n [\n \"sublocality_level_1\",\n \"sublocality_level_2\",\n \"sublocality_level_3\",\n \"sublocality_level_4\",\n \"sublocality_level_5\",\n ],\n ],\n ];\n var fieldsToClear = [\n \"address\",\n \"administrative_area_level_1\",\n \"administrative_area_level_2\",\n \"administrative_area_level_3\",\n \"administrative_area_level_4\",\n \"administrative_area_level_5\",\n \"administrative_area_level_6\",\n \"administrative_area_level_7\",\n \"adr_format_address\",\n \"airport\",\n \"bus_station\",\n \"business_status\",\n \"city\",\n \"colloquial_area\",\n \"compound_code\",\n \"country\",\n \"county\",\n \"directions_uri\",\n \"display_name\",\n \"display_name_language_code\",\n \"establishment\",\n \"floor\",\n \"formatted_address\",\n \"global_code\",\n \"has_wheelchair_accessible_entrance\",\n \"has_wheelchair_accessible_parking\",\n \"has_wheelchair_accessible_restroom\",\n \"has_wheelchair_accessible_seating\",\n \"id\",\n \"international_phone_number\",\n \"intersection\",\n \"landmark\",\n \"latitude\",\n \"locality\",\n \"location\",\n \"longitude\",\n \"national_phone_number\",\n \"natural_feature\",\n \"neighborhood\",\n \"park\",\n \"parking\",\n \"photos_uri\",\n \"place_uri \",\n \"plus_code\",\n \"point_of_interest\",\n \"political\",\n \"post_box\",\n \"postal_code\",\n \"postal_town\",\n \"premise\",\n \"price_level\",\n \"primary_type\",\n \"primary_type_display_name\",\n \"primary_type_display_name_language_code\",\n \"rating\",\n \"reviews_uri\",\n \"room\",\n \"route\",\n \"state\",\n \"street_number\",\n \"sublocality\",\n \"subpremise\",\n \"train_station\",\n \"transit_station\",\n \"types\",\n \"utc_offset_minutes\",\n \"write_a_review_uri\",\n \"zip\",\n ];\n var idForPart = {};\n $(\"input, select\").each(function () {\n var the_id = $(this).attr(\"id\");\n if (typeof the_id !== typeof undefined && the_id !== false) {\n try {\n var field_name = atob($(this).attr(\"id\"));\n if (field_name.indexOf(\"_field_\") == 0) {\n field_name = atob(daVarLookupRev[$(this).attr(\"id\")]);\n }\n var m = re.exec(field_name);\n if (m.length > 0) {\n idForPart[m[1]] = $(this).attr(\"id\");\n }\n } catch (e) {}\n }\n });\n for (var component in fieldsToClear) {\n if (\n typeof idForPart[component] != \"undefined\" &&\n document.getElementById(idForPart[component]) != null\n ) {\n document.getElementById(idForPart[component]).value = \"\";\n }\n }\n var savedValues = {};\n var toChange = [];\n for (var i = 0; i < place.addressComponents.length; i++) {\n var addressType = place.addressComponents[i].types[0];\n if (addressType == \"street_number\" || addressType == \"country\") {\n savedValues[addressType] = place.addressComponents[i][\"shortText\"];\n } else {\n savedValues[addressType] = place.addressComponents[i][\"longText\"];\n }\n if (\n componentTrans[addressType] &&\n idForPart[componentTrans[addressType][0]] &&\n typeof idForPart[componentTrans[addressType][0]] != \"undefined\" &&\n document.getElementById(idForPart[componentTrans[addressType][0]]) != null\n ) {\n var val = place.addressComponents[i][componentTrans[addressType][1]];\n if (typeof val != \"undefined\") {\n document.getElementById(\n idForPart[componentTrans[addressType][0]],\n ).value = val;\n toChange.push(\"#\" + idForPart[componentTrans[addressType][0]]);\n }\n }\n if (\n idForPart[addressType] &&\n typeof idForPart[addressType] != \"undefined\" &&\n document.getElementById(idForPart[addressType]) != null\n ) {\n var val = savedValues[addressType];\n if (typeof val != \"undefined\") {\n document.getElementById(idForPart[addressType]).value = val;\n toChange.push(\"#\" + idForPart[addressType]);\n }\n }\n }\n if (\n typeof idForPart[\"address\"] != \"undefined\" &&\n document.getElementById(idForPart[\"address\"]) != null\n ) {\n var the_address = \"\";\n if (typeof savedValues[\"street_number\"] != \"undefined\") {\n the_address += savedValues[\"street_number\"] + \" \";\n }\n if (typeof savedValues[\"route\"] != \"undefined\") {\n the_address += savedValues[\"route\"];\n }\n document.getElementById(idForPart[\"address\"]).value = the_address;\n toChange.push(\"#\" + idForPart[\"address\"]);\n }\n if (\n typeof idForPart[\"zip\"] != \"undefined\" &&\n document.getElementById(idForPart[\"zip\"]) != null &&\n typeof savedValues[\"postal_code\"] != \"undefined\" &&\n savedValues[\"postal_code\"] != \"\"\n ) {\n var theZipCode = savedValues[\"postal_code\"];\n if (\n typeof savedValues[\"postal_code_suffix\"] != \"undefined\" &&\n savedValues[\"postal_code_suffix\"] != \"\"\n ) {\n theZipCode += \"-\" + savedValues[\"postal_code_suffix\"];\n }\n document.getElementById(idForPart[\"zip\"]).value = theZipCode;\n toChange.push(\"#\" + idForPart[\"zip\"]);\n }\n if (place.location) {\n if (\n typeof idForPart[\"latitude\"] != \"undefined\" &&\n document.getElementById(idForPart[\"latitude\"]) != null\n ) {\n document.getElementById(idForPart[\"latitude\"]).value =\n place.location.lat();\n toChange.push(\"#\" + idForPart[\"latitude\"]);\n }\n if (\n typeof idForPart[\"longitude\"] != \"undefined\" &&\n document.getElementById(idForPart[\"longitude\"]) != null\n ) {\n document.getElementById(idForPart[\"longitude\"]).value =\n place.location.lng();\n toChange.push(\"#\" + idForPart[\"longitude\"]);\n }\n }\n for (var i = 0; i < alternatives.length; i++) {\n const [fieldName, altList] = alternatives[i];\n if (\n typeof idForPart[fieldName] != \"undefined\" &&\n document.getElementById(idForPart[fieldName]) != null &&\n document.getElementById(idForPart[fieldName]).value == \"\"\n ) {\n }\n for (var j = 0; j < altList.length; j++) {\n if (typeof savedValues[altList[j]] != \"undefined\") {\n document.getElementById(idForPart[fieldName]).value =\n savedValues[altList[j]];\n toChange.push(\"#\" + idForPart[fieldName]);\n break;\n }\n }\n }\n var fieldsToGet = daAutocomplete[origId].opts.fields || [];\n for (var i = 0; i < fieldsToGet.length; i++) {\n var pythonVar = fieldsToGet[i];\n if (pythonVar == \"address_components\" || pythonVar == \"location\") {\n continue;\n }\n var jsVar = underscoreToCamel(pythonVar);\n if (\n place[jsVar] != null &&\n typeof place[jsVar] === \"object\" &&\n !Array.isArray(place[jsVar])\n ) {\n var transformedObject = JSON.parse(JSON.stringify(place[jsVar]));\n Object.entries(transformedObject).forEach(([jsSubVar, value]) => {\n var pythonSubVar = camelToUnderscore(jsSubVar);\n if (\n value != null &&\n typeof idForPart[pythonSubVar] != \"undefined\" &&\n document.getElementById(idForPart[pythonSubVar]) != null\n ) {\n document.getElementById(idForPart[pythonSubVar]).value =\n jsonIfObject(value);\n toChange.push(\"#\" + idForPart[pythonSubVar]);\n }\n });\n } else if (\n place[jsVar] &&\n typeof idForPart[pythonVar] != \"undefined\" &&\n document.getElementById(idForPart[pythonVar]) != null\n ) {\n document.getElementById(idForPart[pythonVar]).value = jsonIfObject(\n place[jsVar],\n );\n toChange.push(\"#\" + idForPart[pythonVar]);\n }\n }\n for (var i = 0; i < toChange.length; i++) {\n $(toChange[i]).trigger(\"change\");\n }\n}\n\nfunction daFillInAddressOld(origId) {\n var id;\n if (daVarLookupRev[origId]) {\n id = daVarLookupRev[origId];\n } else {\n id = origId;\n }\n var base_varname = atob(id).replace(/.[a-zA-Z0-9_]+$/, \"\");\n base_varname = base_varname.replace(/[\\[\\]]/g, \".\");\n var re = new RegExp(\"^\" + base_varname + \".(.*)\");\n var componentForm = {\n locality: \"long_name\",\n sublocality: \"long_name\",\n administrative_area_level_3: \"long_name\",\n administrative_area_level_2: \"long_name\",\n administrative_area_level_1: \"short_name\",\n country: \"short_name\",\n postal_code: \"short_name\",\n };\n var componentTrans = {\n locality: \"city\",\n administrative_area_level_2: \"county\",\n administrative_area_level_1: \"state\",\n country: \"country\",\n postal_code: \"zip\",\n };\n\n var fields_to_fill = [\n \"address\",\n \"city\",\n \"county\",\n \"state\",\n \"zip\",\n \"neighborhood\",\n \"sublocality\",\n \"administrative_area_level_3\",\n \"postal_code\",\n ];\n var id_for_part = {};\n $(\"input, select\").each(function () {\n var the_id = $(this).attr(\"id\");\n if (typeof the_id !== typeof undefined && the_id !== false) {\n try {\n var field_name = atob($(this).attr(\"id\"));\n if (field_name.indexOf(\"_field_\") == 0) {\n field_name = atob(daVarLookupRev[$(this).attr(\"id\")]);\n }\n var m = re.exec(field_name);\n if (m.length > 0) {\n id_for_part[m[1]] = $(this).attr(\"id\");\n }\n } catch (e) {}\n }\n });\n place = daAutocomplete[origId].getPlace();\n if (\n typeof id_for_part[\"address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"address\"]) != null\n ) {\n document.getElementById(id_for_part[\"address\"]).value = \"\";\n }\n\n for (var component in fields_to_fill) {\n if (\n typeof id_for_part[component] != \"undefined\" &&\n document.getElementById(id_for_part[component]) != null\n ) {\n document.getElementById(id_for_part[component]).value = \"\";\n }\n }\n\n var street_number;\n var route;\n var savedValues = {};\n var toChange = [];\n for (var i = 0; i < place.address_components.length; i++) {\n var addressType = place.address_components[i].types[0];\n savedValues[addressType] = place.address_components[i][\"long_name\"];\n if (addressType == \"street_number\") {\n street_number = place.address_components[i][\"short_name\"];\n }\n if (addressType == \"route\") {\n route = place.address_components[i][\"long_name\"];\n }\n if (\n componentForm[addressType] &&\n id_for_part[componentTrans[addressType]] &&\n typeof id_for_part[componentTrans[addressType]] != \"undefined\" &&\n document.getElementById(id_for_part[componentTrans[addressType]]) != null\n ) {\n var val = place.address_components[i][componentForm[addressType]];\n if (typeof val != \"undefined\") {\n document.getElementById(\n id_for_part[componentTrans[addressType]],\n ).value = val;\n toChange.push(\"#\" + id_for_part[componentTrans[addressType]]);\n }\n if (componentTrans[addressType] != addressType) {\n val = place.address_components[i][\"long_name\"];\n if (\n typeof val != \"undefined\" &&\n typeof id_for_part[addressType] != \"undefined\" &&\n document.getElementById(id_for_part[addressType]) != null\n ) {\n document.getElementById(id_for_part[addressType]).value = val;\n toChange.push(\"#\" + id_for_part[addressType]);\n }\n }\n } else if (\n id_for_part[addressType] &&\n typeof id_for_part[addressType] != \"undefined\" &&\n document.getElementById(id_for_part[addressType]) != null\n ) {\n var val = place.address_components[i][\"long_name\"];\n if (typeof val != \"undefined\") {\n document.getElementById(id_for_part[addressType]).value = val;\n toChange.push(\"#\" + id_for_part[addressType]);\n }\n }\n }\n if (\n typeof id_for_part[\"address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"address\"]) != null\n ) {\n var the_address = \"\";\n if (typeof street_number != \"undefined\") {\n the_address += street_number + \" \";\n }\n if (typeof route != \"undefined\") {\n the_address += route;\n }\n document.getElementById(id_for_part[\"address\"]).value = the_address;\n toChange.push(\"#\" + id_for_part[\"address\"]);\n }\n if (\n typeof id_for_part[\"city\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"city\"]) != null\n ) {\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_1\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"sublocality_level_1\"];\n }\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"neighborhood\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"neighborhood\"];\n }\n if (\n document.getElementById(id_for_part[\"city\"]).value == \"\" &&\n typeof savedValues[\"administrative_area_level_3\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"city\"]).value =\n savedValues[\"administrative_area_level_3\"];\n }\n }\n if (\n typeof id_for_part[\"sublocality\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"sublocality\"]) != null\n ) {\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_1\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_1\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_2\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_2\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_3\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_3\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_4\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_4\"];\n }\n if (\n document.getElementById(id_for_part[\"sublocality\"]).value == \"\" &&\n typeof savedValues[\"sublocality_level_5\"] != \"undefined\"\n ) {\n document.getElementById(id_for_part[\"sublocality\"]).value =\n savedValues[\"sublocality_level_5\"];\n }\n }\n if (\n place.adr_address &&\n typeof id_for_part[\"adr_address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"adr_address\"]) != null\n ) {\n document.getElementById(id_for_part[\"adr_address\"]).value =\n place.adr_address;\n }\n if (\n place.business_status &&\n typeof id_for_part[\"business_status\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"business_status\"]) != null\n ) {\n document.getElementById(id_for_part[\"business_status\"]).value =\n place.business_status;\n }\n if (\n place.formatted_address &&\n typeof id_for_part[\"formatted_address\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"formatted_address\"]) != null\n ) {\n document.getElementById(id_for_part[\"formatted_address\"]).value =\n place.formatted_address;\n }\n if (\n place.formatted_phone_number &&\n typeof id_for_part[\"formatted_phone_number\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"formatted_phone_number\"]) != null\n ) {\n document.getElementById(id_for_part[\"formatted_phone_number\"]).value =\n place.formatted_phone_number;\n }\n if (place.geometry && place.geometry.location) {\n if (\n typeof id_for_part[\"latitude\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"latitude\"]) != null\n ) {\n document.getElementById(id_for_part[\"latitude\"]).value =\n place.geometry.location.lat();\n }\n if (\n typeof id_for_part[\"longitude\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"longitude\"]) != null\n ) {\n document.getElementById(id_for_part[\"longitude\"]).value =\n place.geometry.location.lng();\n }\n }\n if (\n place.icon &&\n typeof id_for_part[\"icon\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"icon\"]) != null\n ) {\n document.getElementById(id_for_part[\"icon\"]).value = place.icon;\n }\n if (\n place.international_phone_number &&\n typeof id_for_part[\"international_phone_number\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"international_phone_number\"]) != null\n ) {\n document.getElementById(id_for_part[\"international_phone_number\"]).value =\n place.international_phone_number;\n }\n if (\n place.name &&\n typeof id_for_part[\"name\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"name\"]) != null\n ) {\n document.getElementById(id_for_part[\"name\"]).value = place.name;\n }\n if (\n place.place_id &&\n typeof id_for_part[\"place_id\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"place_id\"]) != null\n ) {\n document.getElementById(id_for_part[\"place_id\"]).value = place.place_id;\n }\n if (\n place.price_level &&\n typeof id_for_part[\"price_level\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"price_level\"]) != null\n ) {\n document.getElementById(id_for_part[\"price_level\"]).value =\n place.price_level;\n }\n if (\n place.rating &&\n typeof id_for_part[\"rating\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"rating\"]) != null\n ) {\n document.getElementById(id_for_part[\"rating\"]).value = place.rating;\n }\n if (\n place.url &&\n typeof id_for_part[\"url\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"url\"]) != null\n ) {\n document.getElementById(id_for_part[\"url\"]).value = place.url;\n }\n if (\n place.utc_offset_minutes &&\n typeof id_for_part[\"utc_offset_minutes\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"utc_offset_minutes\"]) != null\n ) {\n document.getElementById(id_for_part[\"utc_offset_minutes\"]).value =\n place.utc_offset_minutes;\n }\n if (\n place.vicinity &&\n typeof id_for_part[\"vicinity\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"vicinity\"]) != null\n ) {\n document.getElementById(id_for_part[\"vicinity\"]).value = place.vicinity;\n }\n if (\n place.website &&\n typeof id_for_part[\"website\"] != \"undefined\" &&\n document.getElementById(id_for_part[\"website\"]) != null\n ) {\n document.getElementById(id_for_part[\"website\"]).value = place.website;\n }\n for (var i = 0; i < toChange.length; i++) {\n $(toChange[i]).trigger(\"change\");\n }\n}\n\nfunction daGeolocate() {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(function (position) {\n var geolocation = {\n lat: position.coords.latitude,\n lng: position.coords.longitude,\n };\n var circle = new google.maps.Circle({\n center: geolocation,\n radius: position.coords.accuracy,\n });\n for (var id in daAutocomplete) {\n if (daAutocomplete.hasOwnProperty(id)) {\n daAutocomplete[id].setBounds(circle.getBounds());\n }\n }\n });\n }\n}\nvar daRequestPending = false;\nvar isAndroid = /android/i.test(navigator.userAgent.toLowerCase());\nvar daWhichButton = null;\nvar daSocket = null;\nvar daChatHistory = [];\nvar daCheckinCode = null;\nvar daCheckingIn = 0;\nvar daShowingHelp = 0;\nvar daIframeEmbed;\nif (window.location !== window.parent.location) {\n daIframeEmbed = true;\n} else {\n daIframeEmbed = false;\n}\nvar daChatPartnersAvailable = 0;\nvar daPhoneAvailable = false;\nvar daInitialized = false;\nvar daConfirmed = false;\nvar daNoConnectionCount = 0;\nvar daObserverChangesInterval = null;\nvar daNotYetScrolled = true;\nvar daInformedChanged = false;\nvar daShowingSpinner = false;\nvar daSpinnerTimeout = null;\nvar daSubmitter = null;\nvar daGAConfigured = false;\nvar daShowIfInProcess = false;\nvar daFieldsToSkip = [\n \"_checkboxes\",\n \"_empties\",\n \"_ml_info\",\n \"_back_one\",\n \"_files\",\n \"_files_inline\",\n \"_question_name\",\n \"_the_image\",\n \"_save_as\",\n \"_success\",\n \"_datatypes\",\n \"_event\",\n \"_visible\",\n \"_tracker\",\n \"_track_location\",\n \"_varnames\",\n \"_next_action\",\n \"_next_action_to_set\",\n \"ajax\",\n \"json\",\n \"informed\",\n \"csrf_token\",\n \"_action\",\n \"_order_changes\",\n \"_collect\",\n \"_list_collect_list\",\n \"_null_question\",\n];\nvar daVarLookup = Object();\nvar daVarLookupRev = Object();\nvar daVarLookupMulti = Object();\nvar daVarLookupRevMulti = Object();\nvar daVarLookupSelect = Object();\nvar daVarLookupCheckbox = Object();\nvar daVarLookupOption = Object();\nvar daTargetDiv;\nvar daComboBoxes = Object();\nvar daGlobalEval = eval;\nvar daFetchAcceptIncoming = false;\nvar daFetchAjaxTimeout = null;\nvar daFetchAjaxTimeoutRunning = null;\nvar daFetchAjaxTimeoutFetchAfter = null;\nvar daAddressAcceptIncoming = false;\nvar daAddressAjaxTimeout = null;\nvar daAddressAjaxTimeoutRunning = null;\nvar daAddressAjaxTimeoutCallAfter = null;\nvar daShowHideHappened = false;\nvar daCheckinInterval = null;\nvar daInitialCheckinTimeout = null;\nvar daReloader = null;\nvar daDisable = null;\nvar daAutoColorScheme = true;\nvar daCurrentColorScheme;\nvar daUrlChangeColorScheme;\nvar daDesiredColorScheme;\nvar daAutoColorScheme = true;\nvar daThicknessScalingFactor;\nvar daJsEmbed;\nvar daAllowGoingBack;\nvar daSteps;\nvar daIsUser;\nvar daUserId;\nvar daChatStatus;\nvar daChatAvailable;\nvar daChatMode;\nvar daSendChanges;\nvar daBeingControlled;\nvar daInformed;\nvar daUsingGA;\nvar daUsingSegment;\nvar daDoAction;\nvar daQuestionID;\nvar daCsrf;\nvar daComboboxButtonLabel;\nvar daInterviewUrl;\nvar daLocationBar;\nvar daPostURL;\nvar daYamlFilename;\nvar daNotificationContainer;\nvar daNotificationMessage;\nvar daMessageLog;\nvar daImageToPreLoad;\nvar daGetVariablesUrl;\nvar daLiveHelpMessage;\nvar daLiveHelpMessagePhone;\nvar daNewChatMessage;\nvar daLiveHelpAvailableMessage;\nvar daScreenBeingControlled;\nvar daScreenNoLongerBeingControlled;\nvar daPathRoot;\nvar daCheckinSeconds;\nvar daChatRoles;\nvar daChatPartnerRoles;\nvar daAllButtonClasses;\nvar daButtonStyle;\nvar daShouldForceFullScreen;\nvar daPageSep;\nvar daAreYouSure;\nvar daOtherUser;\nvar daOtherUsers;\nvar daOperator;\nvar daOperators;\nvar daCheckinUrl;\nvar daCheckoutUrl;\nvar daCurrencyDecimalPlaces;\nvar daShouldDebugReadabilityHelp;\nvar daShouldDebugReadabilityQuestion;\nvar daEmailAddressRequired;\nvar daNeedCompleteEmail;\nvar daDefaultPopoverTrigger;\nvar daToggleWord;\nvar daCheckinUrlWithInterview;\nvar daReloadAfterSeconds;\nvar daCustomItems;\nvar daTrackingEnabled;\n\nfunction dagoogleapicallback() {}\nfunction daForceFullScreen(data) {\n if (data.steps > 1 && window != top) {\n top.location.href = location.href;\n }\n}\nObject.defineProperty(String.prototype, \"daSprintf\", {\n value: function () {\n var args = Array.from(arguments),\n i = 0;\n function defaultNumber(iValue) {\n return iValue != undefined && !isNaN(iValue) ? iValue : \"0\";\n }\n function defaultString(iValue) {\n return iValue == undefined ? \"\" : \"\" + iValue;\n }\n return this.replace(\n /%%|%([+\\-])?([^1-9])?(\\d+)?(\\.\\d+)?([deEfhHioQqs])/g,\n function (match, sign, filler, scale, precision, type) {\n var strOut, space, value;\n var asNumber = false;\n if (match == \"%%\") return \"%\";\n if (i >= args.length) return match;\n value = args[i];\n while (Array.isArray(value)) {\n args.splice(i, 1);\n for (var j = i; value.length > 0; j++)\n args.splice(j, 0, value.shift());\n value = args[i];\n }\n i++;\n if (filler == undefined) filler = \" \"; // default\n if (scale == undefined && !isNaN(filler)) {\n scale = filler;\n filler = \" \";\n }\n if (sign == undefined) sign = \"sqQ\".indexOf(type) >= 0 ? \"+\" : \"-\"; // default\n if (scale == undefined) scale = 0; // default\n if (precision == undefined) precision = \".0\"; // default\n scale = parseInt(scale);\n precision = parseInt(precision.substr(1));\n switch (type) {\n case \"d\":\n case \"i\":\n // decimal integer\n asNumber = true;\n strOut = parseInt(defaultNumber(value));\n if (precision > 0) strOut += \".\" + \"0\".repeat(precision);\n break;\n case \"e\":\n case \"E\":\n // float in exponential notation\n asNumber = true;\n strOut = parseFloat(defaultNumber(value));\n if (precision == 0) strOut = strOut.toExponential();\n else strOut = strOut.toExponential(precision);\n if (type == \"E\") strOut = strOut.replace(\"e\", \"E\");\n break;\n case \"f\":\n // decimal float\n asNumber = true;\n strOut = parseFloat(defaultNumber(value));\n if (precision != 0) strOut = strOut.toFixed(precision);\n break;\n case \"o\":\n case \"h\":\n case \"H\":\n // Octal or Hexagesimal integer notation\n strOut =\n \"\\\\\" +\n (type == \"o\" ? \"0\" : type) +\n parseInt(defaultNumber(value)).toString(type == \"o\" ? 8 : 16);\n break;\n case \"q\":\n // single quoted string\n strOut = \"'\" + defaultString(value) + \"'\";\n break;\n case \"Q\":\n // double quoted string\n strOut = '\"' + defaultString(value) + '\"';\n break;\n default:\n // string\n strOut = defaultString(value);\n break;\n }\n if (typeof strOut != \"string\") strOut = \"\" + strOut;\n if ((space = strOut.length) < scale) {\n if (asNumber) {\n if (sign == \"-\") {\n if (strOut.indexOf(\"-\") < 0)\n strOut = filler.repeat(scale - space) + strOut;\n else\n strOut =\n \"-\" + filler.repeat(scale - space) + strOut.replace(\"-\", \"\");\n } else {\n if (strOut.indexOf(\"-\") < 0)\n strOut = \"+\" + filler.repeat(scale - space - 1) + strOut;\n else\n strOut =\n \"-\" + filler.repeat(scale - space) + strOut.replace(\"-\", \"\");\n }\n } else {\n if (sign == \"-\") strOut = filler.repeat(scale - space) + strOut;\n else strOut = strOut + filler.repeat(scale - space);\n }\n } else if (asNumber && sign == \"+\" && strOut.indexOf(\"-\") < 0)\n strOut = \"+\" + strOut;\n return strOut;\n },\n );\n },\n});\nObject.defineProperty(window, \"daSprintf\", {\n value: function (str, ...rest) {\n if (typeof str == \"string\")\n return String.prototype.daSprintf.apply(str, rest);\n return \"\";\n },\n});\nfunction daGoToAnchor(target) {\n if (daJsEmbed) {\n scrollTarget = $(target).first().position().top - 60;\n } else {\n scrollTarget = $(target).first().offset().top - 60;\n }\n if (scrollTarget != null) {\n if (daJsEmbed) {\n $(daTargetDiv).animate(\n {\n scrollTop: scrollTarget,\n },\n 500,\n );\n } else {\n $(\"html, body\").animate(\n {\n scrollTop: scrollTarget,\n },\n 500,\n );\n }\n }\n}\nfunction atou(b64) {\n return decodeURIComponent(escape(atob(b64)));\n}\nfunction utoa(data) {\n return btoa(unescape(encodeURIComponent(data)));\n}\nfunction dabtoa(str) {\n return window.utoa(str).replace(/[\\n=]/g, \"\");\n}\nfunction daatob(str) {\n return atou(str);\n}\nfunction hideTablist() {\n var anyTabs =\n $(\"#daChatAvailable\").is(\":visible\") ||\n $(\"daPhoneAvailable\").is(\":visible\") ||\n $(\"#dahelptoggle\").is(\":visible\");\n if (anyTabs) {\n $(\"#nav-bar-tab-list\").removeClass(\"dainvisible\");\n $(\"#daquestionlabel\").parent().removeClass(\"dainvisible\");\n } else {\n $(\"#nav-bar-tab-list\").addClass(\"dainvisible\");\n $(\"#daquestionlabel\").parent().addClass(\"dainvisible\");\n }\n}\nfunction getFields() {\n var allFields = [];\n for (var rawFieldName in daVarLookup) {\n if (daVarLookup.hasOwnProperty(rawFieldName)) {\n var fieldName = atou(rawFieldName);\n if (allFields.indexOf(fieldName) == -1) {\n allFields.push(fieldName);\n }\n }\n }\n return allFields;\n}\nvar daGetFields = getFields;\nfunction daAppendIfExists(fieldName, theArray) {\n var elem = $(\"[name='\" + fieldName + \"']\");\n if (elem.length > 0) {\n for (var i = 0; i < theArray.length; ++i) {\n if (theArray[i] == elem[0]) {\n return;\n }\n }\n theArray.push(elem[0]);\n }\n}\nfunction getField(fieldName, notInDiv) {\n if (daVarLookupCheckbox[fieldName]) {\n var n = daVarLookupCheckbox[fieldName].length;\n for (var i = 0; i < n; ++i) {\n var elem = daVarLookupCheckbox[fieldName][i].checkboxes[0].elem;\n if (!$(elem).prop(\"disabled\")) {\n var showifParents = $(elem).parents(\".dajsshowif,.dashowif\");\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, elem)) {\n continue;\n }\n return daVarLookupCheckbox[fieldName][i].elem;\n }\n }\n }\n }\n if (daVarLookupSelect[fieldName]) {\n var n = daVarLookupSelect[fieldName].length;\n for (var i = 0; i < n; ++i) {\n var elem = daVarLookupSelect[fieldName][i].select;\n if (!$(elem).prop(\"disabled\")) {\n var showifParents = $(elem).parents(\".dajsshowif,.dashowif\");\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, elem)) {\n continue;\n }\n return elem;\n }\n }\n }\n }\n var fieldNameEscaped = dabtoa(fieldName);\n var possibleElements = [];\n daAppendIfExists(fieldNameEscaped, possibleElements);\n if (daVarLookupMulti.hasOwnProperty(fieldNameEscaped)) {\n for (var i = 0; i < daVarLookupMulti[fieldNameEscaped].length; ++i) {\n daAppendIfExists(daVarLookupMulti[fieldNameEscaped][i], possibleElements);\n }\n }\n var returnVal = null;\n for (var i = 0; i < possibleElements.length; ++i) {\n if (\n !$(possibleElements[i]).prop(\"disabled\") ||\n $(possibleElements[i]).parents(\".file-input.is-locked\").length > 0\n ) {\n var showifParents = $(possibleElements[i]).parents(\n \".dajsshowif,.dashowif\",\n );\n if (\n showifParents.length == 0 ||\n $(showifParents[0]).data(\"isVisible\") == \"1\"\n ) {\n if (notInDiv && $.contains(notInDiv, possibleElements[i])) {\n continue;\n }\n returnVal = possibleElements[i];\n }\n }\n }\n if (\n $(returnVal).hasClass(\"da-to-labelauty\") &&\n $(returnVal).parents(\"div.da-field-group\").length > 0\n ) {\n var fieldSet = $(returnVal).parents(\"div.da-field-group\")[0];\n if (\n !$(fieldSet).hasClass(\"da-field-checkbox\") &&\n !$(fieldSet).hasClass(\"da-field-checkboxes\")\n ) {\n return fieldSet;\n }\n }\n return returnVal;\n}\nvar daGetField = getField;\nfunction setChoices(fieldName, choices) {\n var elem = daGetField(fieldName);\n if (elem == null) {\n console.log(\"setChoices: reference to non-existent field \" + fieldName);\n return;\n }\n var isCombobox =\n $(elem).attr(\"type\") == \"hidden\" &&\n $(elem).parents(\".combobox-container\").length > 0;\n if (isCombobox) {\n var comboInput = $(elem)\n .parents(\".combobox-container\")\n .first()\n .find(\"input.combobox\")\n .first();\n var comboObject = daComboBoxes[$(comboInput).attr(\"id\")];\n var oldComboVal = comboObject.$target.val();\n elem = comboObject.$source;\n }\n if ($(elem).prop(\"tagName\") != \"SELECT\") {\n console.log(\"setField: field \" + fieldName + \" is not a dropdown field\");\n return;\n }\n var oldVal = $(elem).val();\n $(elem)\n .find(\"option[value!='']\")\n .each(function () {\n $(this).remove();\n });\n var n = choices.length;\n for (var i = 0; i < n; i++) {\n var opt = $(\"',\n );\n $('').appendTo(toggler);\n $(\n '' + daToggleWord + \"\",\n ).appendTo(toggler);\n } else {\n toggler = $(\n '',\n );\n $('').appendTo(toggler);\n $(\n '' + daToggleWord + \"\",\n ).appendTo(toggler);\n }\n toggler.appendTo(prev);\n toggler.on(\"click\", function (e) {\n var oThis = this;\n $(this)\n .find(\"svg\")\n .each(function () {\n if ($(this).attr(\"data-icon\") == \"caret-down\") {\n $(this).removeClass(\"fa-caret-down\");\n $(this).addClass(\"fa-caret-right\");\n $(this).attr(\"data-icon\", \"caret-right\");\n $(box).hide();\n $(oThis).attr(\"aria-pressed\", \"false\");\n $(box).toggleClass(\"danotshowing\");\n } else if ($(this).attr(\"data-icon\") == \"caret-right\") {\n $(this).removeClass(\"fa-caret-right\");\n $(this).addClass(\"fa-caret-down\");\n $(this).attr(\"data-icon\", \"caret-down\");\n $(box).show();\n $(oThis).attr(\"aria-pressed\", \"true\");\n $(box).toggleClass(\"danotshowing\");\n }\n });\n e.stopPropagation();\n e.preventDefault();\n return false;\n });\n }\n });\n $(\"body\").focus();\n if (!daJsEmbed && !isAndroid) {\n setTimeout(function () {\n var firstInput = $(\"#daform .da-field-container\")\n .not(\".da-field-container-note\")\n .first()\n .find(\"input, textarea, select\")\n .filter(\":visible\")\n .first();\n if (firstInput.length > 0 && $(firstInput).visible()) {\n $(firstInput).focus();\n var inputType = $(firstInput).attr(\"type\");\n if (\n $(firstInput).prop(\"tagName\") != \"SELECT\" &&\n inputType != \"checkbox\" &&\n inputType != \"radio\" &&\n inputType != \"hidden\" &&\n inputType != \"submit\" &&\n inputType != \"file\" &&\n inputType != \"range\" &&\n inputType != \"number\" &&\n inputType != \"date\" &&\n inputType != \"time\"\n ) {\n var strLength = $(firstInput).val().length * 2;\n if (strLength > 0) {\n try {\n $(firstInput)[0].setSelectionRange(strLength, strLength);\n } catch (err) {\n console.log(err.message);\n }\n }\n }\n } else {\n var questionTitle = $(\"#daMainQuestion, #dasigtitle\")\n .filter(\":visible\")\n .first();\n if (questionTitle.length > 0 && $(questionTitle).visible()) {\n $(questionTitle).attr(\"tabindex\", \"-1\").focus();\n } else {\n var firstButton = $(\"#danavbar-collapse .nav-link\")\n .filter(\":visible\")\n .first();\n if (firstButton.length > 0 && $(firstButton).visible()) {\n $(firstButton).focus();\n }\n }\n }\n }, 15);\n }\n }\n $(\"input.dauncheckspecificothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n var theIds = $.parseJSON(atou($(this).data(\"unchecklist\")));\n var n = theIds.length;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).prop(\"checked\", false);\n $(elem).trigger(\"change\");\n }\n }\n });\n $(\"input.dauncheckspecificothers\").each(function () {\n var theIds = $.parseJSON(atou($(this).data(\"unchecklist\")));\n var n = theIds.length;\n var oThis = this;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(oThis).prop(\"checked\", false);\n $(oThis).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dauncheckothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckable,input.dacheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dacheckspecificothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n var theIds = $.parseJSON(atou($(this).data(\"checklist\")));\n var n = theIds.length;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).prop(\"checked\", true);\n $(elem).trigger(\"change\");\n }\n }\n });\n $(\"input.dacheckspecificothers\").each(function () {\n var theIds = $.parseJSON(atou($(this).data(\"checklist\")));\n var n = theIds.length;\n var oThis = this;\n for (var i = 0; i < n; ++i) {\n var elem = document.getElementById(theIds[i]);\n $(elem).on(\"change\", function () {\n if (!$(this).is(\":checked\")) {\n $(oThis).prop(\"checked\", false);\n $(oThis).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dacheckothers\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckable\").each(function () {\n if (!$(this).is(\":checked\")) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n });\n $(\"input.dauncheckothers\").each(function () {\n if (!$(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n $(\"input.dauncheckable\").on(\"change\", function () {\n if ($(this).is(\":checked\")) {\n $(\"input.dauncheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n } else {\n $(\"input.dacheckothers\").each(function () {\n if ($(this).is(\":checked\")) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n });\n }\n });\n var navMain = $(\"#danavbar-collapse\");\n navMain.on(\"click\", \"a\", null, function () {\n if (!$(this).hasClass(\"dropdown-toggle\")) {\n navMain.collapse(\"hide\");\n }\n });\n $(\"button[data-bs-target='#dahelp']\").on(\"shown.bs.tab\", function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n } else {\n window.scrollTo(0, 1);\n }\n $(\"#dahelptoggle\").removeClass(\"daactivetext\");\n $(\"#dahelptoggle\").blur();\n });\n $(\"#dasourcetoggle\").on(\"click\", function () {\n $(this).parent().toggleClass(\"active\");\n $(this).blur();\n });\n $(\"#dabackToQuestion\").click(function (event) {\n $(\"#daquestionlabel\").tab(\"show\");\n });\n daVarLookup = Object();\n daVarLookupRev = Object();\n daVarLookupMulti = Object();\n daVarLookupRevMulti = Object();\n daVarLookupOption = Object();\n if ($(\"input[name='_varnames']\").length) {\n the_hash = $.parseJSON(atou($(\"input[name='_varnames']\").val()));\n for (var key in the_hash) {\n if (the_hash.hasOwnProperty(key)) {\n daVarLookup[the_hash[key]] = key;\n daVarLookupRev[key] = the_hash[key];\n if (!daVarLookupMulti.hasOwnProperty(the_hash[key])) {\n daVarLookupMulti[the_hash[key]] = [];\n }\n daVarLookupMulti[the_hash[key]].push(key);\n if (!daVarLookupRevMulti.hasOwnProperty(key)) {\n daVarLookupRevMulti[key] = [];\n }\n daVarLookupRevMulti[key].push(the_hash[key]);\n }\n }\n }\n if ($(\"input[name='_checkboxes']\").length) {\n var patt = new RegExp(/\\[B['\"][^\\]]*['\"]\\]$/);\n var pattObj = new RegExp(/\\[O['\"][^\\]]*['\"]\\]$/);\n var pattRaw = new RegExp(/\\[R['\"][^\\]]*['\"]\\]$/);\n the_hash = $.parseJSON(atou($(\"input[name='_checkboxes']\").val()));\n for (var key in the_hash) {\n if (the_hash.hasOwnProperty(key)) {\n var checkboxName = atou(key);\n var baseName = checkboxName;\n if (patt.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[B?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[B?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(checkboxName);\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"['\" + convertedName + \"']\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameThree = utoa(\n baseName + '[\"' + convertedName + '\"]',\n ).replace(/[\\n=]/g, \"\");\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookup[daNameThree] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameThree)) {\n daVarLookupMulti[daNameThree] = [];\n }\n daVarLookupMulti[daNameThree].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n } else if (pattObj.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[O?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[O?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(atou(checkboxName));\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"['\" + convertedName + \"']\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameThree = utoa(\n baseName + '[\"' + convertedName + '\"]',\n ).replace(/[\\n=]/g, \"\");\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookup[daNameThree] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameThree)) {\n daVarLookupMulti[daNameThree] = [];\n }\n daVarLookupMulti[daNameThree].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n } else if (pattRaw.test(baseName)) {\n bracketPart = checkboxName.replace(\n /^.*(\\[R?['\"][^\\]]*['\"]\\])$/,\n \"$1\",\n );\n checkboxName = checkboxName.replace(\n /^.*\\[R?['\"]([^\\]]*)['\"]\\]$/,\n \"$1\",\n );\n baseName = baseName.replace(/^(.*)\\[.*/, \"$1\");\n var transBaseName = baseName;\n if (\n $(\"[name='\" + key + \"']\").length == 0 &&\n typeof daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")] !=\n \"undefined\"\n ) {\n transBaseName = atou(\n daVarLookup[utoa(transBaseName).replace(/[\\n=]/g, \"\")],\n );\n }\n var convertedName;\n try {\n convertedName = atou(checkboxName);\n } catch (e) {\n continue;\n }\n var daNameOne = utoa(transBaseName + bracketPart).replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameTwo = utoa(baseName + \"[\" + convertedName + \"]\").replace(\n /[\\n=]/g,\n \"\",\n );\n var daNameBase = utoa(baseName).replace(/[\\n=]/g, \"\");\n daVarLookupRev[daNameOne] = daNameTwo;\n daVarLookup[daNameTwo] = daNameOne;\n daVarLookupOption[key] = convertedName;\n if (!daVarLookupRevMulti.hasOwnProperty(daNameOne)) {\n daVarLookupRevMulti[daNameOne] = [];\n }\n daVarLookupRevMulti[daNameOne].push(daNameTwo);\n if (!daVarLookupMulti.hasOwnProperty(daNameTwo)) {\n daVarLookupMulti[daNameTwo] = [];\n }\n daVarLookupMulti[daNameTwo].push(daNameOne);\n if (!daVarLookupMulti.hasOwnProperty(daNameBase)) {\n daVarLookupMulti[daNameBase] = [];\n }\n daVarLookupMulti[daNameBase].push(daNameOne);\n }\n }\n }\n }\n daShowIfInProcess = true;\n var daTriggerQueries = [];\n var daInputsSeen = {};\n function daOnlyUnique(value, index, self) {\n return self.indexOf(value) === index;\n }\n $(\".dajsshowif\").each(function () {\n var showIfDiv = this;\n var jsInfo = JSON.parse(atou($(this).data(\"jsshowif\")));\n var showIfSign = jsInfo[\"sign\"];\n var showIfMode = jsInfo[\"mode\"];\n var jsExpression = jsInfo[\"expression\"];\n jsInfo[\"vars\"].forEach(function (infoItem, i) {\n var showIfVars = [];\n var initShowIfVar = utoa(infoItem).replace(/[\\n=]/g, \"\");\n var initShowIfVarEscaped = initShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var elem = $(\"[name='\" + initShowIfVarEscaped + \"']\");\n if (elem.length > 0) {\n showIfVars.push(initShowIfVar);\n }\n if (daVarLookupMulti.hasOwnProperty(initShowIfVar)) {\n for (var j = 0; j < daVarLookupMulti[initShowIfVar].length; j++) {\n var altShowIfVar = daVarLookupMulti[initShowIfVar][j];\n var altShowIfVarEscaped = altShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var altElem = $(\"[name='\" + altShowIfVarEscaped + \"']\");\n if (altElem.length > 0 && !$.contains(this, altElem[0])) {\n showIfVars.push(altShowIfVar);\n }\n }\n }\n if (showIfVars.length == 0) {\n console.log(\"ERROR: reference to non-existent field \" + infoItem);\n }\n showIfVars.forEach(function (showIfVar) {\n var showIfVarEscaped = showIfVar.replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n var varToUse = infoItem;\n var showHideDiv = function (speed) {\n var elem = daGetField(varToUse);\n if (\n elem != null &&\n !$(elem)\n .parents(\".da-form-group\")\n .first()\n .is($(this).parents(\".da-form-group\").first())\n ) {\n return;\n }\n var resultt = eval(jsExpression);\n if (resultt) {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n }\n } else {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n }\n var leader = false;\n if (!daShowIfInProcess) {\n daShowIfInProcess = true;\n daInputsSeen = {};\n leader = true;\n }\n $(showIfDiv)\n .find(\":input\")\n .not(\"[type='file']\")\n .each(function () {\n if (!daInputsSeen.hasOwnProperty($(this).attr(\"id\"))) {\n $(this).trigger(\"change\");\n }\n daInputsSeen[$(this).attr(\"id\")] = true;\n });\n if (leader) {\n daShowIfInProcess = false;\n }\n };\n var showHideDivImmediate = function () {\n showHideDiv.apply(this, [null]);\n };\n var showHideDivFast = function () {\n showHideDiv.apply(this, [\"fast\"]);\n };\n daTriggerQueries.push(\"#\" + showIfVarEscaped);\n daTriggerQueries.push(\n \"input[type='radio'][name='\" + showIfVarEscaped + \"']\",\n );\n daTriggerQueries.push(\n \"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\",\n );\n $(\"#\" + showIfVarEscaped).change(showHideDivFast);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input.dafile[name='\" + showIfVarEscaped + \"']\").on(\n \"filecleared\",\n showHideDivFast,\n );\n $(\"#\" + showIfVarEscaped).on(\"daManualTrigger\", showHideDivImmediate);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n });\n });\n });\n $(\".dashowif\").each(function () {\n var showIfVars = [];\n var showIfSign = $(this).data(\"showif-sign\");\n var showIfMode = parseInt($(this).data(\"showif-mode\"));\n var initShowIfVar = $(this).data(\"showif-var\");\n var varName = atou(initShowIfVar);\n var elem = [];\n if (varName.endsWith(\"[nota]\") || varName.endsWith(\"[aota]\")) {\n var signifier = varName.endsWith(\"[nota]\") ? \"nota\" : \"aota\";\n var cbVarName = varName.replace(/\\[[na]ota\\]$/, \"\");\n $(\"div.da-field-group.da-field-checkboxes\").each(function () {\n var thisVarName = atou($(this).data(\"varname\"));\n if (thisVarName == cbVarName) {\n elem = $(this).find(\"input.da\" + signifier + \"-checkbox\");\n initShowIfVar = $(elem).attr(\"name\");\n }\n });\n } else {\n var initShowIfVarEscaped = initShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n elem = $(\"[name='\" + initShowIfVarEscaped + \"']\");\n }\n if (elem.length > 0) {\n showIfVars.push(initShowIfVar);\n }\n if (daVarLookupMulti.hasOwnProperty(initShowIfVar)) {\n var n = daVarLookupMulti[initShowIfVar].length;\n for (var i = 0; i < n; i++) {\n var altShowIfVar = daVarLookupMulti[initShowIfVar][i];\n var altShowIfVarEscaped = altShowIfVar.replace(\n /(:|\\.|\\[|\\]|,|=)/g,\n \"\\\\$1\",\n );\n var altElem = $(\"[name='\" + altShowIfVarEscaped + \"']\");\n if (altElem.length > 0 && !$.contains(this, altElem[0])) {\n showIfVars.push(altShowIfVar);\n }\n }\n }\n var showIfVal = $(this).data(\"showif-val\");\n var saveAs = $(this).data(\"saveas\");\n var showIfDiv = this;\n showIfVars.forEach(function (showIfVar) {\n var showIfVarEscaped = showIfVar.replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n var showHideDiv = function (speed) {\n var elem = daGetField(varName, showIfDiv);\n if (\n elem != null &&\n !$(elem)\n .parents(\".da-form-group\")\n .first()\n .is($(this).parents(\".da-form-group\").first())\n ) {\n return;\n }\n var theVal;\n var showifParents = $(this).parents(\".dashowif\");\n if (\n showifParents.length !== 0 &&\n !($(showifParents[0]).data(\"isVisible\") == \"1\")\n ) {\n theVal = \"\";\n //console.log(\"Setting theVal to blank.\");\n } else if ($(this).attr(\"type\") == \"checkbox\") {\n theVal = $(\"input[name='\" + showIfVarEscaped + \"']:checked\").val();\n if (typeof theVal == \"undefined\") {\n //console.log('manually setting checkbox value to False');\n theVal = \"False\";\n }\n } else if ($(this).attr(\"type\") == \"radio\") {\n theVal = $(\"input[name='\" + showIfVarEscaped + \"']:checked\").val();\n if (typeof theVal == \"undefined\") {\n theVal = \"\";\n } else if (\n theVal != \"\" &&\n $(\"input[name='\" + showIfVarEscaped + \"']:checked\").hasClass(\n \"daobject\",\n )\n ) {\n try {\n theVal = atou(theVal);\n } catch (e) {}\n }\n } else {\n theVal = $(this).val();\n if (theVal != \"\" && $(this).hasClass(\"daobject\")) {\n try {\n theVal = atou(theVal);\n } catch (e) {}\n }\n }\n // console.log(\"There was a trigger on \" + $(this).attr('id') + \". This handler was installed based on varName \" + varName + \", showIfVar \" + atou(showIfVar) + \". This handler was installed for the benefit of the .dashowif div encompassing the field for \" + atou(saveAs) + \". The comparison value is \" + String(showIfVal) + \" and the current value of the element on the screen is \" + String(theVal) + \".\");\n if (daShowIfCompare(theVal, showIfVal)) {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n var firstChild = $(showIfDiv).children()[0];\n if (\n !$(firstChild).hasClass(\"dacollectextra\") ||\n $(firstChild).is(\":visible\")\n ) {\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv).find(\"input, textarea, select\").prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n }\n } else {\n if (showIfSign) {\n if ($(showIfDiv).data(\"isVisible\") != \"0\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).hide(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"0\");\n $(showIfDiv).find(\"input, textarea, select\").prop(\"disabled\", true);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].disable();\n } else {\n $(this).prop(\"disabled\", true);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"disable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").disable();\n });\n } else {\n if ($(showIfDiv).data(\"isVisible\") != \"1\") {\n daShowHideHappened = true;\n }\n if (showIfMode == 0) {\n $(showIfDiv).show(speed);\n }\n $(showIfDiv).data(\"isVisible\", \"1\");\n var firstChild = $(showIfDiv).children()[0];\n if (\n !$(firstChild).hasClass(\"dacollectextra\") ||\n $(firstChild).is(\":visible\")\n ) {\n $(showIfDiv)\n .find(\"input, textarea, select\")\n .prop(\"disabled\", false);\n $(showIfDiv)\n .find(\"input.combobox\")\n .each(function () {\n if (daComboBoxes[$(this).attr(\"id\")]) {\n daComboBoxes[$(this).attr(\"id\")].enable();\n } else {\n $(this).prop(\"disabled\", false);\n }\n });\n $(showIfDiv)\n .find(\"input.daslider\")\n .each(function () {\n $(this).slider(\"enable\");\n });\n $(showIfDiv)\n .find(\"input.dafile\")\n .each(function () {\n $(this).data(\"fileinput\").enable();\n });\n }\n }\n }\n var leader = false;\n if (!daShowIfInProcess) {\n daShowIfInProcess = true;\n daInputsSeen = {};\n leader = true;\n }\n $(showIfDiv)\n .find(\":input\")\n .not(\"[type='file']\")\n .each(function () {\n if (!daInputsSeen.hasOwnProperty($(this).attr(\"id\"))) {\n $(this).trigger(\"change\");\n }\n daInputsSeen[$(this).attr(\"id\")] = true;\n });\n if (leader) {\n daShowIfInProcess = false;\n }\n };\n var showHideDivImmediate = function () {\n showHideDiv.apply(this, [null]);\n };\n var showHideDivFast = function () {\n showHideDiv.apply(this, [\"fast\"]);\n };\n daTriggerQueries.push(\"#\" + showIfVarEscaped);\n daTriggerQueries.push(\n \"input[type='radio'][name='\" + showIfVarEscaped + \"']\",\n );\n daTriggerQueries.push(\n \"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\",\n );\n $(\"#\" + showIfVarEscaped).change(showHideDivFast);\n $(\"#\" + showIfVarEscaped).on(\"daManualTrigger\", showHideDivImmediate);\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='radio'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").change(\n showHideDivFast,\n );\n $(\"input[type='checkbox'][name='\" + showIfVarEscaped + \"']\").on(\n \"daManualTrigger\",\n showHideDivImmediate,\n );\n $(\"input.dafile[name='\" + showIfVarEscaped + \"']\").on(\n \"filecleared\",\n showHideDivFast,\n );\n });\n });\n function daTriggerAllShowHides() {\n var daUniqueTriggerQueries = daTriggerQueries.filter(daOnlyUnique);\n var daFirstTime = true;\n var daTries = 0;\n while ((daFirstTime || daShowHideHappened) && ++daTries < 100) {\n daShowHideHappened = false;\n daFirstTime = false;\n var n = daUniqueTriggerQueries.length;\n for (var i = 0; i < n; ++i) {\n $(daUniqueTriggerQueries[i]).trigger(\"daManualTrigger\");\n }\n }\n if (daTries >= 100) {\n console.log(\"Too many contradictory 'show if' conditions\");\n }\n }\n if (daTriggerQueries.length > 0) {\n daTriggerAllShowHides();\n }\n $(\".danavlink\").last().addClass(\"thelast\");\n $(\".danavlink\").each(function () {\n if ($(this).hasClass(\"btn\") && !$(this).hasClass(\"danotavailableyet\")) {\n var the_a = $(this);\n var the_delay = 1000 + 250 * parseInt($(this).data(\"index\"));\n setTimeout(function () {\n $(the_a).removeClass(daButtonStyle + \"secondary\");\n if ($(the_a).hasClass(\"active\")) {\n $(the_a).addClass(daButtonStyle + \"success\");\n } else {\n $(the_a).addClass(daButtonStyle + \"warning\");\n }\n }, the_delay);\n }\n });\n daShowIfInProcess = false;\n if (!daObserverMode) {\n $(\"#daSend\").click(daSender);\n if (daChatAvailable == \"unavailable\") {\n daChatStatus = \"off\";\n }\n if (daChatAvailable == \"observeonly\") {\n daChatStatus = \"observeonly\";\n }\n if (\n (daChatStatus == \"off\" || daChatStatus == \"observeonly\") &&\n daChatAvailable == \"available\"\n ) {\n daChatStatus = \"waiting\";\n }\n daDisplayChat();\n if (daBeingControlled) {\n daShowControl(\"fast\");\n }\n if (daChatStatus == \"ready\" || daBeingControlled) {\n daInitializeSocket();\n }\n if (daInitialized == false && daCheckinSeconds > 0) {\n // why was this set to always retrieve the chat log?\n setTimeout(function () {\n //console.log(\"daInitialize call to chat_log in checkin\");\n $.ajax({\n type: \"POST\",\n url: daCheckinUrlWithInterview,\n beforeSend: addCsrfHeader,\n xhrFields: {\n withCredentials: true,\n },\n data: $.param({ action: \"chat_log\", ajax: \"1\", csrf_token: daCsrf }),\n success: daChatLogCallback,\n dataType: \"json\",\n });\n }, 200);\n }\n if (daInitialized == true) {\n //console.log(\"Publishing from memory\");\n $(\"#daCorrespondence\").html(\"\");\n for (var i = 0; i < daChatHistory.length; i++) {\n daPublishMessage(daChatHistory[i]);\n }\n }\n if (daChatStatus != \"off\") {\n daSendChanges = true;\n } else {\n if (daDoAction == null) {\n daSendChanges = false;\n } else {\n daSendChanges = true;\n }\n }\n }\n if (daSendChanges || daObserverMode) {\n $(\"#daform\").each(function () {\n $(this).find(\":input\").change(daOnChange);\n });\n }\n daInitialized = true;\n daShowingHelp = 0;\n daSubmitter = null;\n $(\"#daflash .alert-success\").each(function () {\n var oThis = this;\n setTimeout(function () {\n $(oThis).hide(300, function () {\n $(self).remove();\n });\n }, 3000);\n });\n if (doScroll && !daObserverMode) {\n setTimeout(function () {\n if (daJsEmbed) {\n $(daTargetDiv)[0].scrollTo(0, 1);\n if (daSteps > 1) {\n $(daTargetDiv)[0].scrollIntoView();\n }\n } else {\n window.scrollTo(0, 1);\n }\n }, 20);\n }\n if (daShowingSpinner && !daWaitPage) {\n daHideSpinner();\n }\n if (!daObserverMode) {\n if (daCheckinInterval != null) {\n clearInterval(daCheckinInterval);\n }\n if (daCheckinSeconds > 0 && !daWaitPage) {\n daInitialCheckinTimeout = setTimeout(daInitialCheckin, 100);\n daCheckinInterval = setInterval(daCheckin, daCheckinSeconds);\n }\n daShowNotifications();\n if (daUsingGA) {\n daPageview();\n }\n if (daUsingSegment) {\n daSegmentEvent();\n }\n hideTablist();\n }\n}\nfunction daUpdateHeight() {\n $(\".dagooglemap\").each(function () {\n var size = $(this).width();\n $(this).css(\"height\", size);\n });\n}\nfunction daConfigureJqueryFuncs() {\n $.validator.setDefaults({\n ignore: \".danovalidation\",\n highlight: function (element) {\n $(element).closest(\".da-form-group\").addClass(\"da-group-has-error\");\n $(element).addClass(\"is-invalid\");\n },\n unhighlight: function (element) {\n $(element).closest(\".da-form-group\").removeClass(\"da-group-has-error\");\n $(element).removeClass(\"is-invalid\");\n },\n errorElement: \"span\",\n errorClass: \"da-has-error invalid-feedback\",\n errorPlacement: function (error, element) {\n $(error).addClass(\"invalid-feedback\");\n var elementName = $(element).attr(\"name\");\n var idOfErrorSpan = $(element).attr(\"id\") + \"-error\";\n $(\"#\" + idOfErrorSpan).remove();\n $(error).attr(\"id\", idOfErrorSpan);\n $(element).attr(\"aria-invalid\", \"true\");\n $(element).attr(\"aria-errormessage\", idOfErrorSpan);\n var lastInGroup = $.map(\n daValidationRules[\"groups\"],\n function (thefields, thename) {\n var fieldsArr;\n if (thefields.indexOf(elementName) >= 0) {\n fieldsArr = thefields.split(\" \");\n return fieldsArr[fieldsArr.length - 1];\n } else {\n return null;\n }\n },\n )[0];\n if (element.hasClass(\"dainput-embedded\")) {\n error.insertAfter(element);\n } else if (element.hasClass(\"dafile-embedded\")) {\n error.insertAfter(element);\n } else if (element.hasClass(\"daradio-embedded\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dacheckbox-embedded\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dauncheckable\") && lastInGroup) {\n $(\"input[name='\" + lastInGroup + \"']\")\n .parent()\n .append(error);\n } else if (element.parent().hasClass(\"combobox-container\")) {\n element.parent().append(error);\n } else if (element.hasClass(\"dafile\")) {\n var fileContainer = $(element).parents(\".file-input\").first();\n if (fileContainer.length > 0) {\n $(fileContainer).append(error);\n } else {\n error.insertAfter(element.parent());\n }\n } else if (element.parent(\".input-group\").length) {\n error.insertAfter(element.parent());\n } else if (element.hasClass(\"da-active-invisible\")) {\n var choice_with_help = $(element).parents(\".dachoicewithhelp\").first();\n if (choice_with_help.length > 0) {\n $(choice_with_help).parent().append(error);\n } else {\n element.parent().append(error);\n }\n } else if (element.hasClass(\"danon-nota-checkbox\")) {\n element.parents(\"div.da-field-group\").append(error);\n } else {\n error.insertAfter(element);\n }\n },\n });\n $.validator.addMethod(\"datetime\", function (a, b) {\n return true;\n });\n $.validator.addMethod(\"ajaxrequired\", function (value, element, params) {\n var realElement = $(\"#\" + $(element).attr(\"name\") + \"combobox\");\n var realValue = $(realElement).val();\n if (!$(realElement).parent().is(\":visible\")) {\n return true;\n }\n if (realValue == null || realValue.replace(/\\s/g, \"\") == \"\") {\n return false;\n }\n return true;\n });\n $.validator.addMethod(\"checkone\", function (value, element, params) {\n var number_needed = params[0];\n var css_query = params[1];\n if ($(css_query).length >= number_needed) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"checkatleast\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length >= params[1]) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"checkatmost\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length > params[1]) {\n return false;\n } else {\n return true;\n }\n });\n $.validator.addMethod(\"checkexactly\", function (value, element, params) {\n if ($(element).attr(\"name\") != \"_ignore\" + params[0]) {\n return true;\n }\n if ($(\".dafield\" + params[0] + \":checked\").length != params[1]) {\n return false;\n } else {\n return true;\n }\n });\n $.validator.addMethod(\"selectexactly\", function (value, element, params) {\n if ($(element).find(\"option:selected\").length == params[0]) {\n return true;\n } else {\n return false;\n }\n });\n $.validator.addMethod(\"mindate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var comparator = new Date(params);\n if (date >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxdate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var comparator = new Date(params);\n if (date <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxdate\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var date = new Date(value);\n var before_comparator = new Date(params[0]);\n var after_comparator = new Date(params[1]);\n if (date >= before_comparator && date <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"mintime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var comparator = new Date(\"1970-01-01T\" + params + \"Z\");\n if (time >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxtime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var comparator = new Date(\"1970-01-01T\" + params + \"Z\");\n if (time <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxtime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var time = new Date(\"1970-01-01T\" + value + \"Z\");\n var before_comparator = new Date(\"1970-01-01T\" + params[0] + \"Z\");\n var after_comparator = new Date(\"1970-01-01T\" + params[1] + \"Z\");\n if (time >= before_comparator && time <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"mindatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var comparator = new Date(params + \"Z\");\n if (datetime >= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxdatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var comparator = new Date(params + \"Z\");\n if (datetime <= comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"minmaxdatetime\", function (value, element, params) {\n if (value == null || value == \"\") {\n return true;\n }\n try {\n var datetime = new Date(value + \"Z\");\n var before_comparator = new Date(params[0] + \"Z\");\n var after_comparator = new Date(params[1] + \"Z\");\n if (datetime >= before_comparator && datetime <= after_comparator) {\n return true;\n }\n } catch (e) {}\n return false;\n });\n $.validator.addMethod(\"maxuploadsize\", function (value, element, param) {\n try {\n var limit = parseInt(param) - 2000;\n if (limit <= 0) {\n return true;\n }\n var maxImageSize;\n if ($(element).data(\"maximagesize\")) {\n maxImageSize =\n parseInt($(element).data(\"maximagesize\")) *\n parseInt($(element).data(\"maximagesize\")) *\n 2;\n } else {\n maxImageSize = 0;\n }\n if ($(element).attr(\"type\") === \"file\") {\n if (element.files && element.files.length) {\n var totalSize = 0;\n for (i = 0; i < element.files.length; i++) {\n if (\n maxImageSize > 0 &&\n element.files[i].size > 0.2 * maxImageSize &&\n element.files[i].type.match(/image.*/) &&\n !(element.files[i].type.indexOf(\"image/svg\") == 0)\n ) {\n totalSize += maxImageSize;\n } else {\n totalSize += element.files[i].size;\n }\n }\n if (totalSize > limit) {\n return false;\n }\n }\n return true;\n }\n } catch (e) {}\n return false;\n });\n}\nvar dataLayer = (window.dataLayer = window.dataLayer || []);\nfunction gtag() {\n dataLayer.push(arguments);\n}\nfunction daPageview() {\n var idToUse = daQuestionID[\"id\"];\n if (daQuestionID[\"ga\"] != undefined && daQuestionID[\"ga\"] != null) {\n idToUse = daQuestionID[\"ga\"];\n }\n if (idToUse != null) {\n idToUse = idToUse.replace(/[^A-Za-z0-9]+/g, \"_\");\n if (!daGAConfigured) {\n var opts = { send_page_view: false };\n if (daSecureCookies) {\n opts[\"cookie_flags\"] = \"SameSite=None;Secure\";\n }\n for (var i = 0; i < daGaIds.length; i++) {\n gtag(\"config\", daGaIds[i], opts);\n daGAConfigured = true;\n }\n }\n gtag(\n \"set\",\n \"page_path\",\n daInterviewPackage + \"/\" + daInterviewFilename + \"/\" + idToUse,\n );\n gtag(\"event\", \"page_view\", {\n page_path: daInterviewPackage + \"/\" + daInterviewFilename + \"/\" + idToUse,\n });\n }\n}\nfunction daStopPushChanges() {\n if (daObserverChangesInterval != null) {\n clearInterval(daObserverChangesInterval);\n }\n}\nfunction daResetPushChanges() {\n if (daObserverChangesInterval != null) {\n clearInterval(daObserverChangesInterval);\n }\n daObserverChangesInterval = setInterval(daPushChanges, 6000);\n}\nfunction daReadyFunction() {\n daInitialize(1);\n //console.log(\"ready: replaceState \" + daSteps);\n if (!daJsEmbed && !daIframeEmbed) {\n history.replaceState(\n { steps: daSteps },\n \"\",\n daLocationBar + daPageSep + daSteps,\n );\n }\n var daReloadAfter = daReloadAfterSeconds;\n if (daReloadAfter > 0) {\n daReloader = setTimeout(function () {\n daRefreshSubmit();\n }, daReloadAfter);\n }\n if (daUsingGA && !daObserverMode) {\n gtag(\"js\", new Date());\n }\n window.onpopstate = function (event) {\n if (\n event.state != null &&\n event.state.steps < daSteps &&\n daAllowGoingBack\n ) {\n $(\"#dabackbutton\").submit();\n }\n };\n $(window).bind(\"unload\", function () {\n if (!daObserverMode) {\n daStopCheckingIn();\n }\n if (daSocket != null && daSocket.connected) {\n //console.log('Terminating interview socket because window unloaded');\n daSocket.emit(\"terminate\");\n }\n });\n var daDefaultAllowList = bootstrap.Tooltip.Default.allowList;\n daDefaultAllowList[\"*\"].push(\"style\");\n daDefaultAllowList[\"a\"].push(\"style\");\n daDefaultAllowList[\"img\"].push(\"style\");\n if (daJsEmbed) {\n $.ajax({\n type: \"POST\",\n url: daPostURL,\n beforeSend: addCsrfHeader,\n xhrFields: {\n withCredentials: true,\n },\n data: \"csrf_token=\" + daCsrf + \"&ajax=1\",\n success: function (data) {\n setTimeout(function () {\n daProcessAjax(data, $(\"#daform\"), 0);\n }, 0);\n },\n error: function (xhr, status, error) {\n setTimeout(function () {\n daProcessAjaxError(xhr, status, error);\n }, 0);\n },\n });\n }\n if (daObserverMode) {\n if (\n location.protocol === \"http:\" ||\n document.location.protocol === \"http:\"\n ) {\n daSocket = io.connect(\"http://\" + document.domain + \"/observer\", {\n path: daRootUrl + \"/ws/socket.io\",\n query: \"i=\" + daYamlFilename,\n });\n }\n if (\n location.protocol === \"https:\" ||\n document.location.protocol === \"https:\"\n ) {\n daSocket = io.connect(\"https://\" + document.domain + \"/observer\", {\n path: daRootUrl + \"/ws/socket.io\",\n query: \"i=\" + daYamlFilename,\n });\n }\n if (typeof daSocket !== \"undefined\") {\n daSocket.on(\"connect\", function () {\n //console.log(\"Connected!\");\n daSocket.emit(\"observe\", {\n uid: daUid,\n i: daYamlFilename,\n userid: daUserObserved,\n });\n daConnected = true;\n });\n daSocket.on(\"terminate\", function () {\n //console.log(\"Terminating socket\");\n daSocket.disconnect();\n });\n daSocket.on(\"disconnect\", function () {\n //console.log(\"Disconnected socket\");\n //daSocket = null;\n });\n daSocket.on(\"stopcontrolling\", function (data) {\n window.parent.daStopControlling(data.key);\n });\n daSocket.on(\"start_being_controlled\", function (data) {\n //console.log(\"Got start_being_controlled\");\n daConfirmed = true;\n daPushChanges();\n window.parent.daGotConfirmation(data.key);\n });\n daSocket.on(\"abortcontrolling\", function (data) {\n //console.log(\"Got abortcontrolling\");\n //daSendChanges = false;\n //daConfirmed = false;\n //daStopPushChanges();\n window.parent.daAbortControlling(data.key);\n });\n daSocket.on(\"noconnection\", function (data) {\n //console.log(\"warning: no connection\");\n if (daNoConnectionCount++ > 2) {\n //console.log(\"error: no connection\");\n window.parent.daStopControlling(data.key);\n }\n });\n daSocket.on(\"newpage\", function (incoming) {\n //console.log(\"Got newpage\")\n var data = incoming.obj;\n $(daTargetDiv).html(data.body);\n $(daTargetDiv).parent().removeClass();\n $(daTargetDiv).parent().addClass(data.bodyclass);\n daInitialize(1);\n for (var i = 0; i < data.extra_scripts.length; i++) {\n daEvalExtraScript(data.extra_scripts[i]);\n }\n for (var i = 0; i < data.extra_css.length; i++) {\n $(\"head\").append(data.extra_css[i]);\n }\n document.title = data.browser_title;\n if ($(\"html\").attr(\"lang\") != data.lang) {\n $(\"html\").attr(\"lang\", data.lang);\n }\n daPushChanges();\n });\n daSocket.on(\"pushchanges\", function (data) {\n //console.log(\"Got pushchanges: \" + JSON.stringify(data));\n var valArray = Object();\n var values = data.parameters;\n for (var i = 0; i < values.length; i++) {\n valArray[values[i].name] = values[i].value;\n }\n $(\"#daform\").each(function () {\n $(this)\n .find(\":input\")\n .each(function () {\n var type = $(this).attr(\"type\");\n var id = $(this).attr(\"id\");\n var name = $(this).attr(\"name\");\n if (type == \"checkbox\") {\n if (name in valArray) {\n if (valArray[name] == \"True\") {\n if ($(this).prop(\"checked\") != true) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n } else if (type == \"radio\") {\n if (name in valArray) {\n if (valArray[name] == $(this).val()) {\n if ($(this).prop(\"checked\") != true) {\n $(this).prop(\"checked\", true);\n $(this).trigger(\"change\");\n }\n } else {\n if ($(this).prop(\"checked\") != false) {\n $(this).prop(\"checked\", false);\n $(this).trigger(\"change\");\n }\n }\n }\n } else if ($(this).data().hasOwnProperty(\"sliderMax\")) {\n $(this).slider(\"setValue\", parseInt(valArray[name]));\n } else {\n if (name in valArray) {\n $(this).val(valArray[name]);\n }\n }\n });\n });\n });\n }\n daObserverChangesInterval = setInterval(daPushChanges, daCheckinSeconds);\n }\n $(document).trigger(\"daPageLoad\");\n}\n\nfunction daSetPosition(position) {\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n latitude: position.coords.latitude,\n longitude: position.coords.longitude,\n });\n}\n\nfunction daAddListenersFor(elementId) {\n $('[name=\"' + elementId + '\"]').change(function () {\n if ($(this).attr(\"type\") == \"checkbox\" || $(this).attr(\"type\") == \"radio\") {\n theVal = $('[name=\"' + elementId + '\"]:checked').val();\n } else {\n theVal = $(this).val();\n }\n var n = 0;\n if ($(this).data(\"disableothers\")) {\n var id_list = JSON.parse(\n decodeURIComponent(escape(atob($(this).data(\"disableothers\")))),\n );\n n = id_list.length;\n }\n if (n) {\n for (var i = 0; i < n; ++i) {\n var theElementId = id_list[i].replace(/(:|\\.|\\[|\\]|,|=)/g, \"\\\\$1\");\n if (theVal == null || theVal == \"\") {\n daDisableIfNotHidden(\n \"#daform [name='\" + theElementId + \"']:not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform [id='\" + theElementId + \"']:not([type=hidden])\",\n false,\n );\n } else {\n daDisableIfNotHidden(\n \"#daform [name='\" + theElementId + \"']:not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform [id='\" + theElementId + \"']:not([type=hidden])\",\n true,\n );\n }\n }\n } else {\n if (theVal == null || theVal == \"\") {\n daDisableIfNotHidden(\n \"#daform input:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform select:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n false,\n );\n daDisableIfNotHidden(\n \"#daform textarea:not([name='\" + elementId + \"']):not([type=hidden])\",\n false,\n );\n } else {\n daDisableIfNotHidden(\n \"#daform input:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform select:not([name='\" +\n elementId +\n \"']):not([id^='\" +\n elementId +\n \"']):not([type=hidden])\",\n true,\n );\n daDisableIfNotHidden(\n \"#daform textarea:not([name='\" + elementId + \"']):not([type=hidden])\",\n true,\n );\n }\n }\n });\n $(\"[data-disableothers]\").trigger(\"change\");\n}\n\nfunction daShowError(error) {\n switch (error.code) {\n case error.PERMISSION_DENIED:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"User denied the request for Geolocation\",\n });\n console.log(\"User denied the request for Geolocation.\");\n break;\n case error.POSITION_UNAVAILABLE:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"Location information is unavailable\",\n });\n console.log(\"Location information is unavailable.\");\n break;\n case error.TIMEOUT:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"The request to get user location timed out\",\n });\n console.log(\"The request to get user location timed out.\");\n break;\n case error.UNKNOWN_ERROR:\n document.getElementById(\"da_track_location\").value = JSON.stringify({\n error: \"An unknown error occurred\",\n });\n console.log(\"An unknown error occurred.\");\n break;\n }\n}\n"],"names":["$","document","addEventListener","jQuery","noConflict","daJsEmbed","daTargetDiv","daPreloadImage","daImageToPreLoad","daAutoColorScheme","window","matchMedia","matches","daDesiredColorScheme","daCurrentColorScheme","documentElement","setAttribute","ajax","type","url","daUrlChangeColorScheme","xhrFields","withCredentials","data","success","scheme","error","xhr","status","console","log","dataType","ready","daReadyFunction","daObserverMode","daUpdateHeight","resize","daConfigureJqueryFuncs","i","daInitialExtraScripts","length","daEvalExtraScript","daCustomItems","daGlobalEval","js","e","datatype","stack","daColor","daWindowWidth","daTheWidth","daAspectRatio","daTheBorders","daSignaturePad","daWaitPage","daInitializeSignature","penColor","defaultImage","daNewCanvas","on","daResizeCanvas","click","preventDefault","isEmpty","getElementById","value","removeClass","setTimeout","addClass","attr","daSaveCanvas","width","dataURL","toDataURL","daSpinnerTimeout","daShowSpinner","daPost","da_success","da_the_image","da_ajax","cwidth","contentwidth","outerWidth","cheight","otherHeights","outerHeight","height","canvas","html","daThicknessScalingFactor","SignaturePad","querySelector","fromDataURL","ratio","xOffset","yOffset","minWidth","maxWidth","scrollTo","daSteps","scrollIntoView","params","key","hasOwnProperty","hiddenField","submit","isCanvasSupported","elem","createElement","getContext","daAutocomplete","Object","daWaitForGoogle","waitForPlaces","Promise","let","attempts","maxAttempts","interval","setInterval","found","google","maps","undefined","Error","places","clearInterval","resolve","daInitAutocomplete","info","id","opts","suggestions","async","daInitAutocompleteOld","await","Autocomplete","event","addListener","daFillInAddressFor","daFillInAddressOld","daInitMap","daMapInfo","googleLoaded","importLibrary","timePeriod","map_info_length","the_map","bounds","LatLngBounds","daAddMap","center","latitude","longitude","marker_length","markers","show_marker","j","new_marker","daAddMarker","extend","LatLng","position","lat","lng","map","fitBounds","map_num","center_lat","center_lon","Map","zoom","mapTypeId","MapTypeId","ROADMAP","mapId","infowindow","InfoWindow","marker_info","AdvancedMarkerElement","PinElement","marker","content","icon","element","setContent","open","daFillInAddress","origId","place","daVarLookupRev","baseVarname","atob","replace","re","RegExp","componentTrans","administrative_area_level_1","administrative_area_level_2","alternatives","fieldsToClear","idForPart","each","the_id","this","field_name","indexOf","m","exec","component","savedValues","toChange","addressComponents","addressType","types","val","push","the_address","theZipCode","location","fieldName","altList","fieldsToGet","fields","pythonVar","jsVar","underscoreToCamel","Array","isArray","transformedObject","JSON","parse","stringify","entries","forEach","jsSubVar","pythonSubVar","camelToUnderscore","jsonIfObject","trigger","base_varname","componentForm","locality","sublocality","administrative_area_level_3","country","postal_code","fields_to_fill","id_for_part","getPlace","street_number","route","address_components","adr_address","business_status","formatted_address","formatted_phone_number","geometry","international_phone_number","name","place_id","price_level","rating","utc_offset_minutes","vicinity","website","daGeolocate","navigator","geolocation","getCurrentPosition","coords","circle","Circle","radius","accuracy","setBounds","getBounds","daRequestPending","isAndroid","test","userAgent","toLowerCase","daWhichButton","daSocket","daChatHistory","daCheckinCode","daCheckingIn","daShowingHelp","daIframeEmbed","parent","daChatPartnersAvailable","daPhoneAvailable","daInitialized","daConfirmed","daNoConnectionCount","daObserverChangesInterval","daNotYetScrolled","daInformedChanged","daShowingSpinner","daSubmitter","daGAConfigured","daShowIfInProcess","daFieldsToSkip","daVarLookup","daVarLookupMulti","daVarLookupRevMulti","daVarLookupSelect","daVarLookupCheckbox","daVarLookupOption","daComboBoxes","eval","daFetchAcceptIncoming","daFetchAjaxTimeout","daFetchAjaxTimeoutRunning","daFetchAjaxTimeoutFetchAfter","daAddressAcceptIncoming","daAddressAjaxTimeout","daAddressAjaxTimeoutRunning","daAddressAjaxTimeoutCallAfter","daShowHideHappened","daCheckinInterval","daInitialCheckinTimeout","daReloader","daDisable","daAllowGoingBack","daIsUser","daUserId","daChatStatus","daChatAvailable","daChatMode","daSendChanges","daBeingControlled","daInformed","daUsingGA","daUsingSegment","daDoAction","daQuestionID","daCsrf","daComboboxButtonLabel","daInterviewUrl","daLocationBar","daPostURL","daYamlFilename","daNotificationContainer","daNotificationMessage","daMessageLog","daGetVariablesUrl","daLiveHelpMessage","daLiveHelpMessagePhone","daNewChatMessage","daLiveHelpAvailableMessage","daScreenBeingControlled","daScreenNoLongerBeingControlled","daPathRoot","daCheckinSeconds","daChatRoles","daChatPartnerRoles","daAllButtonClasses","daButtonStyle","daShouldForceFullScreen","daPageSep","daAreYouSure","daOtherUser","daOtherUsers","daOperator","daOperators","daCheckinUrl","daCheckoutUrl","daCurrencyDecimalPlaces","daShouldDebugReadabilityHelp","daShouldDebugReadabilityQuestion","daEmailAddressRequired","daNeedCompleteEmail","daDefaultPopoverTrigger","daToggleWord","daCheckinUrlWithInterview","daReloadAfterSeconds","daTrackingEnabled","dagoogleapicallback","daForceFullScreen","steps","top","href","defineProperty","String","prototype","args","from","arguments","defaultNumber","iValue","isNaN","defaultString","match","sign","filler","scale","precision","strOut","space","asNumber","splice","shift","parseInt","substr","repeat","parseFloat","toExponential","toFixed","toString","str","rest","daSprintf","apply","daGoToAnchor","target","scrollTarget","first","offset","animate","scrollTop","atou","b64","decodeURIComponent","escape","utoa","btoa","unescape","encodeURIComponent","dabtoa","daatob","hideTablist","anyTabs","is","getFields","allFields","rawFieldName","daGetFields","daAppendIfExists","theArray","getField","notInDiv","n","checkboxes","prop","showifParents","parents","contains","select","fieldNameEscaped","possibleElements","returnVal","hasClass","fieldSet","daGetField","setChoices","choices","isCombobox","comboInput","find","comboObject","oldComboVal","$target","$source","oldVal","remove","opt","text","append","refresh","clearTarget","daSetField","daSetChoices","setField","theValue","wasSet","manualSelect","theVal","newVal","oldValue","option","changed","thisVal","cbSelected","selectedVals","da_val","daFormAsJSON","isInitial","formData","serializeArray","inArray","isChangedElem","img","Image","src","daShowHelpTab","tab","addCsrfHeader","settings","setRequestHeader","flash","message","priority","clear","empty","newElement","hide","da_flash","url_action","action","JSON_stringify","da_url_action","action_call","callback","forgetPrior","readOnly","_action","_arguments","beforeSend","param","_readonly","csrf_token","daProcessAjaxError","da_action_call","url_action_call","action_perform","daProcessAjax","da_action_perform","url_action_perform","action_perform_with_next","next_data","_next_action_to_set","da_action_perform_with_next","url_action_perform_with_next","get_interview_variables","da_get_interview_variables","daInformAbout","subject","chatMessage","waitPeriod","popover","placement","container","title","removeAttr","daPublishMessage","newDiv","is_self","daScrollChat","chatScroller","scrollHeight","daScrollChatFast","daSender","emit","focus","daShowControl","mode","css","appendTo","slideDown","show","daHideControl","slideUp","daInitializeSocket","connected","connect","protocol","io","domain","path","query","daDisplayChat","daPushChanges","arg","messages","disconnect","daTurnOnChat","numpartners","daCloseChat","incoming","obj","valArray","values","parameters","slider","clicked","daUnfakeHtmlResponse","daTurnOnControl","daResetPushChanges","uid","daUid","userid","daUserObserved","daTurnOffControl","daStopPushChanges","daInjectTrim","handler","tagName","trim","call","daInvalidHandler","form","validator","errors","numberOfInvalids","errorList","daValidator","daValidationRules","daValidationHandler","visibleElements","seen","filter","theName","off","daOnChange","tableOrder","tableOrderChanges","tableName","tableChanged","collectToDelete","lastOk","last","keys","join","do_iframe_upload","inline_succeeded","filesToRead","filesRead","newFileList","nullFileList","fileArray","file_list","inline_file_list","namesWithImages","the_file_input","the_max_size","the_image_type","hasImages","files","the_file","originalFileList","concat","fileInfoList","file_input","max_size","image_type","image_mime_type","this_has_images","a_file","tempFunc","has_images","reader","FileReader","thisFileInfo","size","onload","readerEvent","convertedName","convertedType","pos","lastIndexOf","image","imageEvent","drawImage","daResumeUploadSubmission","result","readAsDataURL","iframe","bind","parseJSON","contents","f","daShowErrorScreen","contentWindow","body","innerHTML","serialize","daSetupValidation","rules","submitHandler","invalidHandler","onfocusout","defaults","validate","showErrors","daRecordLocation","daSetPosition","daShowError","timeout","maximumAge","daSignatureSubmit","stopPropagation","s","json","c","charCodeAt","slice","disabled","oThis","daCheckin","daConnected","responseType","theHtml","responseText","daDivs","children","otherScripts","startsWith","daErrorScript","errorScriptDiv","daScripts","scriptElement","appendChild","reload","daShowNotifications","daAddScriptToHead","head","getElementsByTagName","script","defer","which","tag","activeElement","not","blur","daAddListenersFor","tooltip","enabled","color","default","clearTimeout","daRefreshSubmit","sleep","doScroll","actionURL","question_data","daQuestionData","bodyclass","do_action","livehelp","availability","roles","partner_roles","history","state","pushState","browser_title","replaceState","allow_going_back","id_dict","message_log","daInitialize","extra_scripts","scrollToTarget","extra_css","lang","reload_after","daHideSpinner","input","daEmbeddedJs","daEmbeddedAction","confirm","actionData","theURL","daReviewAction","daRingChat","daChatLogCallback","daResetCheckinCode","Math","random","daCheckinCallback","checkin_code","commands","command","extra","assignments","possible_assignment","assignment","oldDaChatStatus","phone","statusChanged","chat_status","num_peers","help_available","observerControl","daCheckoutCallback","daInitialCheckin","datastring","chatstatus","chatmode","checkinCode","raw_parameters","daCheckout","daStopCheckingIn","newSpan","newI","daObserverSubmitter","theAction","embeddedJs","embeddedAction","linkNum","theId","skey","daAdjustInputWidth","leftBracket","rightBracket","daIgnoreAllButTab","code","keyCode","daDisableIfNotHidden","showIfParent","disable","enable","daShowIfCompare","showIfVal","rationalizeListCollect","finalNum","num","firstNum","seenAddAnother","current","daFetchAjax","cb","doShow","wordStart","shown","wordstart","upperWordStart","toUpperCase","emptyItem","notYetSelected","selectedValue","item","keyList","sort","$element","lookup","split","word","index","charAt","camelStr","fileinput","theme","language","allowedPreviewTypes","row","prev","insertBefore","next","insertAfter","valid","visible","isObject","varname","theSelect","cbList","theType","variable","cleanNum","replaceAll","selects","querySelectorAll","labelauty","class","label","anyChanged","firstEncountered","existing_val","combobox","buttonLabel","inputBox","daInputBox","clearIfNoMatch","functionalButton","showButton","matcher","lookupWhileTyping","thisId","Place","AutocompleteSessionToken","AutocompleteSuggestion","token","priorQuery","priorResults","request","region","sessionToken","$container","selected","placePrediction","toPlace","fetchFields","includedPrimaryTypes","fetchAutocompleteSuggestions","results","sugMap","suggestion","addressText","every","options","items","reduce","revMap","process","_attachment_email_address","minlength","required","email","errorClass","daPopoverTriggerList","daPopoverTrigger","daPopoverList","daPopoverTriggerEl","bootstrap","Popover","informed","theCode","the_key","box","toggler","toggleClass","firstInput","inputType","strLength","setSelectionRange","err","questionTitle","firstButton","theIds","navMain","collapse","the_hash","patt","pattObj","pattRaw","checkboxName","baseName","bracketPart","transBaseName","daNameOne","daNameTwo","daNameThree","daNameBase","daTriggerQueries","daInputsSeen","daOnlyUnique","self","showIfDiv","jsInfo","showIfSign","showIfMode","jsExpression","infoItem","showIfVars","initShowIfVar","initShowIfVarEscaped","altShowIfVar","altShowIfVarEscaped","altElem","showIfVar","showIfVarEscaped","varToUse","showHideDiv","speed","resultt","leader","showHideDivImmediate","showHideDivFast","change","varName","endsWith","signifier","cbVarName","thisVarName","saveAs","firstChild","daTriggerAllShowHides","daUniqueTriggerQueries","daFirstTime","daTries","the_a","the_delay","daPageview","daSegmentEvent","setDefaults","ignore","highlight","closest","unhighlight","errorElement","errorPlacement","elementName","idOfErrorSpan","lastInGroup","thefields","thename","fieldsArr","fileContainer","choice_with_help","addMethod","a","b","realElement","realValue","number_needed","css_query","date","Date","comparator","before_comparator","after_comparator","time","datetime","limit","maxImageSize","totalSize","dataLayer","gtag","idToUse","send_page_view","daSecureCookies","daGaIds","daInterviewPackage","daInterviewFilename","page_path","daReloadAfter","onpopstate","daDefaultAllowList","Tooltip","Default","allowList","daRootUrl","daStopControlling","daGotConfirmation","daAbortControlling","elementId","id_list","theElementId","PERMISSION_DENIED","POSITION_UNAVAILABLE","TIMEOUT","UNKNOWN_ERROR"],"mappings":"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"} \ No newline at end of file