1!function(globalContext){globalContext.Tekla=globalContext.Tekla||{},globalContext.Tekla.AskForConsent=[],globalContext.Tekla.CookieConsent=function(){const scripts=new Array,getStorageKey=key=>`cookieConsent${key}`;function initScripts(){const now=new Date;if(!function validateAskForConsent(askFor){if(!Array.isArray(askFor))return showError("AskForConsent is not an array.",askFor),!1;const noName=askFor.filter((a=>!a.name));noName.length>0&&showError("Names missing from AskForConsent.",noName);const duplicates=askFor.filter((a=>askFor.some((aa=>aa!==a&&aa.name===a.name))));if(duplicates.length>0)return showError("Duplicate name in AskForConsent.",duplicates.map((s=>s.name))),!1;const invalidScripts=askFor.filter((a=>!function validateScript(script){return(script.consent||script.consents)&&(script.consent&&validateConsent(script.consent)||Array.isArray(script.consents)&&script.consents.every((a=>validateConsent(a))))}(a)));if(invalidScripts.length>0)return showError("Invalid items in AskForConsent.",invalidScripts),!1;if(askFor.reduce(((dupl,curr)=>(dupl.push(...curr.consents.filter((c=>curr.consents.some((cc=>cc!==c&&cc.name===c.name))))),dupl)),duplicates),duplicates.length>0)return showError("Duplicate name in AskForConsent consents.",duplicates.map((s=>s.name))),!1;return!0}(globalContext.Tekla.AskForConsent))return!1;for(const script of globalContext.Tekla.AskForConsent){script.consent&&(script.consents=[script.consent]);const stored=localStorage.getItem(getStorageKey(script.name));if(stored){const parsed=parseStored(stored);if(parsed)for(const c of script.consents){const parsedConsent=parsed.consents.find((a=>a.name===c.name));parsedConsent&&(c.consentGiven=parsedConsent.consentGiven,parsedConsent.expireDate>now&&(c.expires=parsedConsent.expireDate))}else console.error("Can't parse consents from storage",parsed),localStorage.removeItem(getStorageKey(script.name))}scripts.push(script)}}function parseStored(consent){try{const parsed=JSON.parse(consent);if(Array.isArray(parsed.consents)&&parsed.consents.every((c=>"boolean"==typeof c.consentGiven&&(c=>{const parsedDate=Date.parse(c.expires);return!!parsedDate&&(c.expireDate=parsedDate,!0)})(c))))return parsed}catch(e){console.error("Can't parse stored cookie consent.",e,e.consent)}return null}function validateConsent(consent){return consent.name&&consent.label&&consent.setConsent instanceof Function}function apply(){for(const script of scripts){for(const c of script.consents)c.setConsent(c.consentGiven);script.apply(script.consents.some((c=>c.consentGiven)))}}function initDialog(mandatoryLabel){const dlg=document.querySelector(".cookie-notification");dlg.querySelector(".cookie-notification-ok").addEventListener("click",(()=>{apply(),function store(){const now=new Date;for(const script of scripts){for(const c of script.consents)c.expires=new Date(now.getFullYear()+1,now.getMonth(),now.getDate()),c.consentGiven=!!c.consentGiven;localStorage.setItem(getStorageKey(script.name),JSON.stringify(script,["name","consents","consentGiven","expires"]))}}(),dlg.style.display="none"}));const div=dlg.querySelector(".give-consent"),getToggle=globalContext.Tekla.Helpers.getToggleWithLabel,mandatory=getToggle("mandatoryCookies",mandatoryLabel,!0);mandatory.querySelector("input").setAttribute("disabled",!0),div.append(mandatory);for(let script of scripts)for(const c of script.consents){const check=getToggle(c.name,c.label,c.consentGiven);check.addEventListener("click",(e=>{c.consentGiven=e.target.checked})),div.append(check)}return dlg}function showError(message,obj){alert(`${message} ${JSON.stringify(obj)}`)}return{init:function(opts){initScripts();const dialog=initDialog(opts.mandatoryLabel);scripts.some((s=>s.consents.some((c=>!c.expires))))&&(dialog.style.display="block"),document.querySelectorAll(".show-cookie-dialog").forEach((el=>{el.addEventListener("click",(()=>{dialog.style.display="block"}))})),apply()}}}()}(window); 2(function($,globalContext){"use strict";var globalDefaults={texts:{confirmunsavedchanges:"Changes in unsaved sections will be lost. Are you sure you want to continue?",requiredfield:"Field is required"}};globalContext.Tekla=globalContext.Tekla||{},globalContext.Tekla.Helpers||(globalContext.Tekla.Helpers=function(){var o=null;function initGlobalOptions(options){o=$.extend(!0,{},globalDefaults,options||{})}function ajaxFormInit(options){function prepareAjax(element){var confirmMessage=element.data("ajax-confirm");if(!confirmMessage||confirm(confirmMessage)){var insertionMode=element.data("ajax-insertionmode")||"replace",target=element.data("ajax-update"),noscroll=!0===element.data("ajax-noscroll"),loaderContainer=null;if(!(!0===element.data("ajax-noloadingindicator"))){var $target=$(target);if("replace"===insertionMode)setLoadingIndicatorTo($target,noscroll);else{switch(loaderContainer=$("<div></div>"),insertionMode){case"insertafter":loaderContainer.insertAfter($target);break;case"insertbefore":loaderContainer.insertBefore($target)}setLoadingIndicatorTo(loaderContainer,noscroll)}}return{insertionMode:insertionMode,loaderContainer:loaderContainer,target:target,noscroll:noscroll,successCb:element.data("ajax-success"),successEvent:element.data("ajax-successevent"),successEventSelector:element.data("ajax-successeventselector")}}return null}function handleAjaxSuccess(ajaxContext,result){var $target=$(ajaxContext.target);ajaxContext.noscroll||scrollToTop($target);var $result=$(result);switch($.cluetip&&$target.find(".cluetip-initialized").cluetip("destroy"),ajaxContext.insertionMode){case"insertafter":$result.insertAfter($target);break;case"insertbefore":$result.insertBefore($target);break;default:$target.replaceWith($result)}ajaxContext.loaderContainer&&ajaxContext.loaderContainer.remove(),"function"==typeof options.onAjaxSuccess&&options.onAjaxSuccess($result),ajaxContext.successCb&&""!==ajaxContext.successCb&&eval(ajaxContext.successCb),ajaxContext.successEvent?ajaxContext.successEventSelector?$(ajaxContext.successEventSelector).trigger(ajaxContext.successEvent):$result.trigger(ajaxContext.successEvent):$result.find(".ajax-refresh").trigger("tekla:ajax-refresh")}function handleAjaxFail(ajaxContext){var $target=$(ajaxContext.target);ajaxContext.noscroll||scrollToTop($target);var $result=$("<span>FAILED</span>");switch($.cluetip&&$target.find(".cluetip-initialized").cluetip("destroy"),ajaxContext.insertionMode){case"insertafter":$result.insertAfter($target);break;case"insertbefore":$result.insertBefore($target);break;default:$target.replaceWith($result)}ajaxContext.loaderContainer&&ajaxContext.loaderContainer.remove()}$("body").on("click","a.ajax-get,a.ajax-post",(function(){var $this=$(this);if(protectModificationsConfirm($this.data("ajax-update"))&&!$this.hasClass("disabled")){var ajaxContext=prepareAjax($this);ajaxContext&&$.ajax({url:$this.attr("href"),type:$this.hasClass("ajax-p
2ost")?"POST":"GET"}).done((function(result){handleAjaxSuccess(ajaxContext,result)})).fail((function(){handleAjaxFail(ajaxContext)}))}return!1})),$("body").on("submit","form.ajax-form",(function(){var $this=$(this),ajaxContext=prepareAjax($this);if(ajaxContext){var validationInfo=$this.data("unobtrusiveValidation");validationInfo&&validationInfo.validate&&!validationInfo.validate()||$.ajax({url:this.action,type:this.method,data:$this.serialize()}).done((function(result){handleAjaxSuccess(ajaxContext,result)})).fail((function(){handleAjaxFail(ajaxContext)}))}return!1})),$("body").on("submit","form[data-submit=single]",(function(){return $(this).find("input[type=submit]").addClass("disabled").prop("disabled",!0),!0}))}function setLoadingIndicatorTo(element,noscroll){var indicatorContainer=element.find(".loading-indicator-container");indicatorContainer.length>0&&(element=indicatorContainer.first());var height=element.height();height||(height=32);var classSuffix=height<96?"":"-big";$('<div class="loading-indicator-container" style="position:relative;width:100%;height:'+height+'px"><div class="animation-loading'+classSuffix+'-container"><span class="animation-loading'+classSuffix+'"></span></div></div>').hide().appendTo(element);var complete=function(){setTimeout((function(){element.find(".loading-indicator-container").show().siblings().hide()}),500)};noscroll?complete():scrollToTop(element,complete)}function scrollToTop(element,complete){if(element&&element.length&&!element.is("#tabs-container")){var targetOffsetTop=element.offset().top;try{if(!element.is(":visible"))return void(complete&&complete())}catch(e){}var windowOffsetTop=$(window).scrollTop();targetOffsetTop<windowOffsetTop||targetOffsetTop>windowOffsetTop+window.innerHeight?$("html:not(:animated), body:not(:animated)").animate({scrollTop:targetOffsetTop},250,complete):complete&&complete()}else $("html:not(:animated), body:not(:animated)").animate({scrollTop:0},250,complete)}function initEnableContainers(){$(".enable-container").each((function(){var $container=$(this);$("#"+$container.attr("data-enablefield")).change((function(){var $this=$(this),enableArray=null,enableValue=$container.attr("data-enablevalue");if(enableValue&&enableValue.length>0){enableArray=[];for(var splitted=enableValue.split(","),i=0;i<splitted.length;i++)enableArray.push(splitted[i])}var enabled=enableArray&&$.inArray($this.is(":checkbox")?$this.is(":checked")?"true":"false":$this.val(),enableArray)>=0,speed=!$this.hasClass("change-initialized")||$container.hasClass("enable-container-no-animation")?0:250;$container.find("input").prop("disabled",!enabled),enabled?$container.show(speed):$container.hide(speed)})).change().addClass("change-initialized")}))}function initTruncatedLists(){$(".truncated-list:not(.truncated-list-inited)").each((function(){var $this=$(this);$this.addClass("truncated-list-inited");var count=$this.data("truncated-size")||5,text=$this.data("truncated-showall-text")||"Show all {0}",children=$this.children();if(children.length>count){var hidden=children.length-count;children.slice(-hidden).hide();var showall=$('<a href="#">'+text.replace("{0}",hidden)+"</a>").click((function(ev){$this.children().show(200),$(this).remove(),ev.preventDefault()}));$this.append(showall)}}))}function createDynamicTab(tabContainer,content,options){var numTabs=$(tabContainer).find("ul:first li").length+1,id=$(content).attr("id")||""+(new Date).getTime(),newTab=$('<div id="dynTab_'+id+'"></div>'),title=$(content).data("tab-title")||(options?options.tabtitle:""),tab=$('<li><a href="#dynTab_'+id+'">'+title+'</a><a style="margin-top:6px; margin-right:2px; cursor:pointer;" class="icon icon-delete" href="#"></a></li>');tab.find("a.icon-delete").click((function(ev){ev.preventDefault(),tab.remove(),$(content).remove(),$(tabContainer).tabs("refresh"),$(tabContainer).tabs("option","active",numTabs)})),$(tabContainer).find("ul:first").append(tab),$(tabContainer).append(newTab),newTab.append($(content)),$(tabContainer).tabs("refresh"),$(tabContainer).tabs("option","active",numTabs-1)}function protectedModificationsExist(element){function protectedCheck(searchString){var foundModificationItems,search=searchString,type=typeof element;return"object"===type?foundModificationItems=element.find(searchString):("string"===type&&(search=$(element).find(search)),foundModificationItems=$(search)),foundModificationItems.filter((function(){return"none"!==$(this).css("display")})).length>0}return function protectedItemsCheck(){return protectedCheck('[data-protect-modifications="item"]')}()||function protectedEnabledItemsCheck(){return protectedCheck('[data-protect-modifications="enabled-check-item"]:enabled')}()}function protectModificationsConfirm(element){return!protectedModificationsExist(element)||window.confirm(o.texts.confirmunsavedchanges)}function getGlobalTexts(){return o.texts}function storageAvailable(type){try{var storage=window[type],x="__storage_test__";return storage.setItem(x,x),storage.removeItem(x),!0}catch(e){return!1}}function toggleSectionVisibility(buttonId,divName){$("."+divName).toggle();var button=$("#"+buttonId);"none"!==$("."+divName).css("display")?(button.attr("aria-expanded",!0),button.removeClass("icon-expand"),button.addClass("icon-collapse")):(button.attr("aria-expanded",!1),button.addClass("icon-expand"),button.removeClass("icon-collapse"))}function isValidIdentityCode(value,identitycodemask){return!value||value===identitycodemask||/^[0-9]{6}[ABCDEFYXWVU+\-][0-9]{3}[A-Z0-9]$/i.test(value)&&"0123456789ABCDEFHJKLMNPRSTUVWXY".charAt(parseInt(value.substring(0,6)+""+value.substring(7,10),10)%31)===value.toUpperCase().charAt(10)}function getAntiforgeryToken(){return $("meta[name=AntiForgeryToken]").attr("content")}function getToggleWithLabel(id,labelText,initChecked){const label=document.createElement("label");label.classList.add("toggle-with-label"),label.innerHTML=labelText;const checkbox=document.createElement("input");return checkbox.setAttribute("type","checkbox"),checkbox.setAttribute("id",id),label.setAttribute("for",id),label.append(checkbox),initChecked&&(checkbox.setAttribute("checked",!0),label.classList.add("checked")),checkbox.addEventListener("click",(function(){label.classList.toggle("checked")})),label}
2function init(){$(window).bind("beforeunload",(function(){if(protectedModificationsExist())return o.texts.confirmunsavedchanges}));var token=null;$(document).ajaxSend((function(event,xhr){null===token&&(token=getAntiforgeryToken()||""),token&&xhr.setRequestHeader("AntiForgeryToken",token)})),$(document).on("click","a.js-form-submit",(function(event){event.preventDefault(),$(this).parent("form").submit()})),$((function(){$("body").on("dblclick",".dblclick-container",(function(){function clearSelection(){window.getSelection?window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().removeAllRanges():document.selection&&document.selection.empty&&document.selection.empty()}var $this=$(this),handled=!1;if(!$this.find(".dblclick-forbidden").is(":visible")){var $clickHandler=$this.find("a.dblclick-handler");$clickHandler.length>0?(clearSelection(),$clickHandler.click(),handled=!0):$this.find("a.dblclick-location").first().each((function(){clearSelection(),window.location=$(this).attr("href"),handled=!0}))}return!handled}))})),$((function(){$("[data-js-supported=hide]").addClass("hidden"),$("[data-js-supported=display]").removeClass("hidden"),$("[data-js-supported=remove]").remove(),$(".js-support").each((function(){var $this=$(this);switch($this.data("js-support")){case"change-form-action":$this.attr("action",$this.data("js-form-action"));break;case"display":$this.removeClass("js-support-hidden");break;case"hide":$this.hide();break;case"change-value":$this.val($this.data("js-value"))}}))})),$(document).on("click",'[type="submit"][data-formaction]',(function(){var $this=$(this),formAction=$this.data("formaction");$this.closest("form").attr("action",formAction)})).on("click",'[type="submit"][data-formsubmit]',(function(ev){ev.preventDefault();var formSelector=$(this).data("formsubmit");$(formSelector).submit()})),$((function(){($("body").hasClass("new")||$("body").hasClass("logon-page"))&&$(document).on("mouseenter",".required .field-validation-valid",(function(){if(o&&o.texts){var text=o.texts.requiredfield;text&&$(this).tooltip({items:".field-validation-valid",content:function(){return text}}).tooltip("open")}}))}))}return{initGlobalOptions:initGlobalOptions,ajaxFormInit:ajaxFormInit,setLoadingIndicatorTo:setLoadingIndicatorTo,scrollToTop:scrollToTop,initEnableContainers:initEnableContainers,initTruncatedLists:initTruncatedLists,createDynamicTab:createDynamicTab,protectedModificationsExist:protectedModificationsExist,protectModificationsConfirm:protectModificationsConfirm,getGlobalTexts:getGlobalTexts,storageAvailable:storageAvailable,init:init,toggleSectionVisibility:toggleSectionVisibility,isValidIdentityCode:isValidIdentityCode,getAntiforgeryToken:getAntiforgeryToken,getToggleWithLabel:getToggleWithLabel}}()),globalContext.Tekla.Helpers.init()})(jQuery,window); 3!function($,globalContext){"use strict";globalContext.Tekla=globalContext.Tekla||{},globalContext.Tekla.LanguageSelector=function(){var current;function focusLink(listItem){if(listItem&&0!==listItem.length){var link=listItem.find("a");link.length>0&&(link[0].focus(),current=listItem)}}return{init:function init(){var showLanguagesBtn=$("button.language-selector");showLanguagesBtn.attr("aria-expanded","false");var languageList=$("ul.language-selector");showLanguagesBtn.click((function(){languageList.toggle();var isLanguageListVisible=languageList.is(":visible");showLanguagesBtn.attr("aria-expanded",isLanguageListVisible?"true":"false"),isLanguageListVisible&&focusLink(current=languageList.find("li").first())})),showLanguagesBtn.keydown((function(e){9===e.keyCode&&languageList.hide()})),languageList.keydown((function(e){switch(e.keyCode){case 38:e.preventDefault(),focusLink(current.prev());break;case 40:e.preventDefault(),focusLink(current.next());break;case 9:e.preventDefault(),showLanguagesBtn[0].focus();break;case 27:e.preventDefault(),languageList.hide(),showLanguagesBtn[0].focus();break;case 32:e.preventDefault(),function openCurrent(){if(current&&0!==current.length){var link=current.find("a");link.length>0&&(window.location.href=link[0].href)}}()}}))}}}()}(jQuery,window); 4
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.