1<!DOCTYPE html>
2<script type='module' src='/vue-3/assets/main-CHBhrBmt.js?v=1790246824' rel='preload'></script>
2 <link type='text/css' rel='stylesheet' href='/vue-3/assets/style-Dw9pVUs4.css?v=1790246824'>
3<script> 4 if(localStorage.getItem('version') !== '1790246824'){ 5 localStorage.removeItem('data') 6 localStorage.removeItem('s3PathsData') 7 localStorage.removeItem('bookingStatusesData') 8 localStorage.setItem('version','1790246824') 9 } 10</script>
vendor: 1 bytes, line 10
10
11<script type="text/javascript"> 12 var config = {}; 13</script>
13 14<!--comment-->
15<script> 16 var hasTwilio = ''; 17 var getContractorInfoForMapUrl = "https://admin.octopuspro.com/default/get-contractor-info-for-map"; 18</script>
18 19<html> 20<head> 21
21<script src='/dist/js/manifest.js?v=1790246824'></script>
21 22
22<script src='/dist/js/vendor.js?v=1790246824'></script>
22 23
23<script src='/dist/js/main.js?v=1790246824'></script>
23 24 25 <!--
25<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyC7vd6jFUCUbMyfDtWOJlb4n9y2rZU5hhw&libraries=places"></script>
25--> 26 27 <!-- Adding Initial Scale --> 28 <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1"> 29 30 31 32 <link type="text/css" rel="stylesheet" media="screen" href="/css/bootstrap.min.css?v=1790246824"/> 33 <link type="text/css" rel="stylesheet" media="screen" href="/css/style-updated9.css?v=286?v=1790246824"/> 34 <link type="text/css" rel="stylesheet" media="screen" href="/css/custom_css.min.css?v=1790246824"/> 35 <link type="text/css" rel="stylesheet" media="screen" href="/css/Scroll-menu.css?v=1790246824"/> 36 <link type="text/css" rel="stylesheet" media="screen" href="/css/fontello.min.css?v=1790246824"/> 37 <link type="text/css" rel="stylesheet" media="screen" href="/css/animate.min.css?v=1790246824"/> 38 <link type="text/css" rel="stylesheet" media="screen" href="/css/basic.min.css?v=1790246824"/> 39 <link type="text/css" rel="stylesheet" media="screen" href="/css/switchery.css?v=1790246824"/> 40 <link type="text/css" rel="stylesheet" media="screen" href="/css/firebaseui.css?v=1790246824"/> 41 <link type="text/css" rel="stylesheet" media="screen" href="/css/dropzone.min.css?v=1790246824"/> 42 <link type="text/css" rel="stylesheet" media="screen" href="/css/summernote.css?v=1790246824"/> 43 <link type="text/css" rel="stylesheet" media="screen" href="/css/login_updated.css?v=115?v=1790246824"/> 44 <link type="text/css" rel="stylesheet" media="screen" href="/css/SimpleSliderCustom.css?v=1790246824"/> 45 <link type="text/css" rel="stylesheet" media="screen" href="/css/activity-log.min.css?v=1790246824"/> 46 <link type="text/css" rel="stylesheet" media="screen" href="/css/filtersCss.css?v=102?v=1790246824"/> 47 <link type="text/css" rel="stylesheet" media="screen" href="/css/bootstrap-timepicker.css?v=1790246824"/> 48 <link type="text/css" rel="stylesheet" media="screen" href="/css/responsive-table-updated3.css?v=5?v=1790246824"/> 49 <link type="text/css" rel="stylesheet" media="screen" href="/css/datepicker3.min.css?v=1790246824"/> 50 <link type="text/css" rel="stylesheet" media="screen" href="/css/bootstrap-datetimepicker.min.css?v=1790246824"/> 51 <link type="text/css" rel="stylesheet" media="screen" href="/css/bootstrap-colorpicker.min.css?v=1790246824"/> 52 <link type="text/css" rel="stylesheet" media="screen" href="/css/bootstrap-clockpicker.min.css?v=1790246824"/> 53 <link type="text/css" rel="stylesheet" media="screen" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"/> 54 <link type="text/css" rel="stylesheet" media="screen" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap-select.min.css"/> 55 <link type="text/css" rel="stylesheet" media="screen" href="https://cdn.datatables.net/v/dt/dt-1.13.4/b-2.3.6/b-colvis-2.3.6/b-html5-2.3.6/b-print-2.3.6/r-2.4.1/datatables.min.css"/> 56 <link type="text/css" rel="stylesheet" media="screen" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css"/> 57
57<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js?v=1790246824" type="text/javascript"></script>
57 58
58<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery-migrate.min.js?v=1790246824" type="text/javascript"></script>
58 59
59<script src="https://cdn.jsdelivr.net/npm/[email protected]/jquery-ui.min.js?v=1790246824" type="text/javascript"></script>
59 60
60<script src="/js/inspinia.js?v=1790246824" type="text/javascript"></script>
60 61
61<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js?v=1790246824" type="text/javascript"></script>
61 62
62<script src="https://cdn.jsdelivr.net/npm/[email protected]/min/moment.min.js?v=1790246824" type="text/javascript"></script>
62 63
63<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap-select.min.js?v=1790246824" type="text/javascript"></script>
63 64
64<script src="/js/switchery.min.js?v=1790246824" type="text/javascript"></script>
64 65
65<script src="/js/classie.js?v=1790246824" type="text/javascript"></script>
65 66
66<script src="/js/bootstrap-tabdrop.js?v=1790246824" type="text/javascript"></script>
66 67
67<script src="/js/jquery.form.min.js?v=1790246824" type="text/javascript"></script>
67 68
68<script src="/js/notify_updated.min.js?v=1790246824" type="text/javascript"></script>
68 69
69<script src="/js/jquery.bootstrap-touchspin-updated2.js?v=1790246824" type="text/javascript"></script>
69 70
70<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.validate.min.js?v=1790246824" type="text/javascript"></script>
70 71
71<script src="/plugins/dropzone/dropzone.min.js?v=1790246824" type="text/javascript"></script>
71 72
72<script src="/js/summernote.min.js?v=1790246824" type="text/javascript"></script>
72 73
73<script src="/js/firebase.js?v=1790246824" type="text/javascript"></script>
73 74
74<script src="/js/firebaseui.js?v=1790246824" type="text/javascript"></script>
74 75
75<script src="/js/signature_pad.min.js?v=1790246824" type="text/javascript"></script>
75 76
76<script src="/js/jquery.tablesorter.js?v=1790246824" type="text/javascript"></script>
76 77
77<script src="/js/jquery.format-1.3.min.js?v=1790246824" type="text/javascript"></script>
77 78
78<script src="/js/nav-dropdown.js?v=1790246824" type="text/javascript"></script>
78 79
79<script src="/js/bootstrap-datetimepicker.min.js?v=1790246824" type="text/javascript"></script>
79 80
80<script src="/js/bootstrap-colorpicker.min.js?v=1790246824" type="text/javascript"></script>
80 81
81<script src="/js/bootstrap-modal-popover.js?v=1790246824" type="text/javascript"></script>
81 82
82<script src="/js/popover.js?v=1790246824" type="text/javascript"></script>
82 83
83<script src="/js/bootstrap-clockpicker.min.js?v=1790246824" type="text/javascript"></script>
83 84
84<script src="/js/bootstrap-datepicker_1.js?v=1790246824" type="text/javascript"></script>
84 85
85<script src="/js/ajax/AjaxManager.js?v=1790246824" type="text/javascript"></script>
85 86
86<script src="/js/filters.js?v=1790246824" type="text/javascript"></script>
86 87
87<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js?v=1790246824" type="text/javascript"></script>
87 88
88<script src="https://cdn.datatables.net/v/dt/dt-1.13.4/b-2.3.6/b-colvis-2.3.6/b-html5-2.3.6/b-print-2.3.6/r-2.4.1/datatables.min.js" type="text/javascript"></script>
88 89 90 91 92
92<script> 93 const GOOGLE_API_KEY = 'AIzaSyAPqtzqpQ7hTnssEESLhM1twGHR_qhwIOc'; 94 95 </script>
95 96 97 98 99 100 <link REL="SHORTCUT ICON" 101 HREF="https://admin.octopuspro.com/pic/favicon_octologo.png?v=1790246824"/> 102 103 104 105 106 107 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
107<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1589263453",accountID:"1169474",trustKey:"1169474",xpid:"VQcBWFJUDBABUVJVBgMOV1QA",licenseKey:"1c7ac89166",applicationID:"1537129101",browserID:"1589263453"};;/*! For license information please see nr-loader-spa-1.322.0.min.js.LICENSE.txt */ 108(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
108e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
108const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>A,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
108if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(w=w>0?Math.min(w,e):e),t&&(R=R>0?Math.max(R,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w>0?Math.min(e,w):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R>0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
108o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
108(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
108;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.322.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,s,a)=>
108{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-SARROoir04gFygxlr/+mTI+PyMeFL+epi1vnUA2G5mTQ7s3G44ItQBJKbOaIMdIE5OBzuaKhb4k5JYta0NICxg==",249:"sha512-6DKQo5WP7YlpzX6l9UfYkgGLGK2oITdoaYTcZtgl5Foa22NY63lED/0z1hBBLeD7qZCz/YdlY19/r8drlol1tg==",212:"sha512-CYxuvSpDx6ErqWJwAvpoHn54eY37YdMcFao/axOumlw3BsSL7yioOeB2LWViY/Njs818sQG10dSglUhYCMfLPw==",238:"sha512-mvbMILWa3ohYst+u6TLfNrmtY2swUIB3rbJFN/uzt3W62KhgvUVwB81UEZ1R0/it5bfrQ5EVz864pi/CAmucNQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
108ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
108{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,P.sB)(t=>{e(t,"DOMContentLoaded")}),(0,P.GG)(t=>{e(t,"load")}),(0,P.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,S.p)("docHidden",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,S.p)("winPagehide",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,_.t)()){"string"==typeof e&&(e=new Error(e)),(0,S.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
108null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,S.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,_.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=["entry","scripts","all"],Re=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Ae={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invali
108dTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||w.f.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Re.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)&&u(r.name)||d(()=>Ae.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Ae.duplicateName(r),n===r.id&&t!==r.name&&Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Ae.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
108imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,S.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,S.p)("ierr",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,S.p)("err",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,S.p)("err",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,_e.I)(e,"nr@id",function(){return ke++})}function Le(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+"before-start",[e],n),n[R.P]&&n[R.P].dt&&(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
108return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,ye.ZF)(),a=(0,ye.el)(),o=Date.now(),c={spanId:s,traceId:a,timestamp:o};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,a),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,o,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,a,o,r,n,i)),c}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
108!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Le(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Le(e.response):"text"===r||""===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,S.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(478).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||R.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,S.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
108if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)("bst",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(478).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o="function"==typeof i;return(0,S.p)(q.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?"":"no-")+"fn-start",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],s),t}finally{r.emit("fn-end",[(0,_.t)()],s)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=>{(0,J.sp)(e,e=>{c(e)},!0,this.removeOnAbort?.signal)}
108);const s=()=>(0,S.p)("newURL",[(0,_.t)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",s),n.on("replaceState-end",s),(0,J.sp)(wt.OV,e=>{c(e),(0,S.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=>{a||(a=!0,requestAnimationFrame(()=>{(0,S.p)("newDom",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=>{"loading"!==document.readyState&&((0,S.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>r.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=>{const e=(0,_.t)();St.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
108class n extends WebSocket{static name=Tt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,_.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,S.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,S.p)("spv",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,S.p)("spv",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,S.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
108h(e=>{const t=(0,C.s)(e=>{(0,S.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,S.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get("logger")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>Lt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:"spa"})})()})();</script>
108 109<meta name="description" content="Login - OctopusPro - Octopuspro" ><title>Login - OctopusPro</title> 110 111 <!--By moataz to check if company has twilio account or not --> 112 <!-- --> 113 <!-- BOOK SETTINGS STYLE LEVEL STARTS @AUTHOR AMR--> 114 <!-- <link type="text/css" rel="stylesheet"--> 115 <!-- BOOK SETTINGS STYLE LEVEL ENDS @AUTHOR AMR--> 116 117 118 119 <!-- INITIALIZE LANGUAGE SCRIPT START @AUTHOR AMR --> 120
120<script type="text/javascript"> 121 /** 122 * Global JS constants injected by the PHP layout. 123 * 124 * LANG â The active locale code from Zend's translator (e.g. 'en', 'ar', 'fr'). 125 * Used by octopus-translate.js to decide which translation file to load 126 * and by trans.js for the existing translation system. 127 * 128 * COMPANY_ID â The currently authenticated company's numeric ID, cast to int for safety. 129 * Used by octopus-translate.js to apply the feature gate (only runs for 130 * companies that have the translation feature enabled). 131 * 132 * LARAVEL_BASE â The base URL of the Laravel API (e.g. 'https://api.example.com'). 133 * Trailing slash is stripped to avoid double-slash issues when 134 * building endpoint URLs like `${LARAVEL_BASE}/api/v2/locales`. 135 */ 136 const LANG = 'en'; 137 const COMPANY_ID = 0; 138 </script>
138 139 <!-- INITIALIZE LANGUAGE SCRIPT FINISH @AUTHOR AMR --> 140 141 142 143</head> 144<style> 145 .h-fit-content{ 146 height: fit-content !important; 147 } 148 .inline.no-padding{ 149 width: 100%; 150 margin-bottom: 15px; 151 } 152 .input-group-btn .fa-minus,.input-group-btn .fa-plus{ 153 font-size: 14px !important; 154 padding-top: 5px; 155 } 156.font-s-32{ 157 158 font-size: 32px !important; 159} 160 div > #button:focus{ 161 border-color: #2e4051 !important; 162 } 163 #authenticate_email:focus{ 164 border-color: #2e4051 !important; 165 } 166 #custom_popupi .btn-primary:focus { 167 border-color: #2e4051 !important; 168 } 169 .width_100{ 170 width: 100%; 171 margin-bottom : 15px !important; 172 } 173 174.digit, 175.dig { 176 float: left; 177 padding: 10px 30px; 178 font-size: 2rem; 179 cursor: pointer; 180} 181 182.sub { 183 font-size: 0.8rem; 184 color: grey; 185} 186 187.pad-container { 188 display: none; 189 background-color: white; 190 width: 255px; 191 padding: 18px; 192 margin: auto; 193 text-align: center; 194 box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); 195} 196 197.pad-container #output { 198 border: 1px solid lightgray; 199 padding: 5px !important; 200 min-height: 32px; 201} 202 203.pad-container .row { 204 margin-left: 0px; 205} 206 207.toggle-pad { 208 cursor: pointer; 209} 210 211#call { 212 display: inline-block; 213 background-color: #66bb6a; 214 padding: 4px 30px; 215 margin: 10px; 216 color: white; 217 border-radius: 4px; 218 float: left; 219 cursor: pointer; 220} 221 222.botrow { 223 margin: 0 auto; 224 width: 280px; 225 clear: both; 226 text-align: center; 227 font-family: 'Exo'; 228} 229 230.back-button { 231 padding: 4px !important; 232 font-size: 25px !important; 233 cursor: pointer !important; 234 margin-top: 0px !important; 235 margin-left: 0px !important; 236} 237 238 239.digit:active, 240.dig:active { 241 background-color: #e6e6e6; 242} 243 244#call:hover { 245 background-color: #81c784; 246} 247 248.dig { 249 float: left; 250 padding: 10px 20px; 251 margin: 10px; 252 width: 30px; 253 cursor: pointer; 254} 255 256 #newTwilioModal .modal-content,#newTwilioModal2 .modal-content { 257 background-color: #222222 !important;; 258 text-align: center; 259 padding-top: 40px; 260 /*width:420px !important;*/ 261 } 262 263 #newTwilioModal .modal-footer , #newTwilioModal2 .modal-footer { 264 background-color: #fefefe !important; 265 text-align: center; 266 } 267 268 #newTwilioModal .btn-circle ,#newTwilioModal2 .btn-circle{ 269 width: 50px; 270 height: 50px; 271 text-align: center; 272 font-size: 22px; 273 line-height: 1.42857; 274 border-radius: 50%; 275 outline: none; 276 } 277 278 #newTwilioModal .user-info, #newTwilioModal2 .user-info{ 279 padding-bottom: 20px !important; 280 } 281 #newTwilioModal .btn-call:hover ,#newTwilioModal .green-btn-call, 282 #newTwilioModal2 .btn-call:hover ,#newTwilioModal .green-btn-call{ 283 color: white; 284 background-color: forestgreen !important; 285 } 286 287 #newTwilioModal #content_modal_popup_twilio , 288 #newTwilioModal2 #content_modal_popup_twilio { 289 width: 50%; 290 margin: 0 auto; 291 } 292 293 #newTwilioModal .btn-user-avatar, 294 #newTwilioModal2 .btn-user-avatar { 295 296 width:180px; 297 height:180px; 298 font-size: 88px; 299 background-color: #494949 !important; 300 border-color: #494949; 301 color: white; 302 } 303 304 #newTwilioModal .modal-header .close 305 , #newTwilioModal2 .modal-header .close{ 306 margin-top: -37px; 307 color: white; 308 font-size: 25px; 309 margin-right: 10px; 310 311 } 312 #newTwilioModal .modal-header 313 ,#newTwilioModal2 .modal-header{ 314 border:none !important; 315 } 316 #newTwilioModal #warning, 317 #newTwilioModal2 #warning{ 318 padding: 10px 0px; 319 text-align: center; 320 color: red; 321 } 322 323 #newTwilioModal .callee-name, 324 #newTwilioModal2 .callee-name{ 325 padding: 21px 0px; 326 font-size: 18px; 327 color: whitesmoke; 328 } 329 330 #newTwilioModal .modal-body{ 331 max-height: calc(100vh - 212px); 332 overflow-y: auto; 333 } 334 #newTwilioModal #call-time , 335 #newTwilioModal2 #call-time{ 336 color:white; 337 } 338 #newTwilioModal .callee-number , 339 #newTwilioModal2 .callee-number{ 340 color: white; 341 font-size: 20px; 342 343 padding-bottom: 32px; 344 } 345 346 .dismissbtn{ 347 background-color: transparent; 348 border-color: white; 349 } 350</style> 351<!--/*popups style*/--> 352<link rel="stylesheet" href="https://admin.octopuspro.com/css/popups-style.css?v=3?v=1790246824"> 353<style> 354 .updated_date{ 355 float: right; 356 font-size: 10px; 357 } 358 @media (max-width: 720px){ 359 #search_form { 360 width: 100%!important; 361 }} 362 363 @media only screen and (max-width: 991px) { 364 .updated_date{ 365 float: none; 366 } 367 #tidio-chat-iframe { 368 display: none; 369 } 370 } 371 372 373 @media only screen and (max-width: 500px) { 374 .label-margin 375 { 376 margin-top:5px; 377 } 378 } 379 #tidio-chat div iframe { 380 left: 200px !important; 381 right: initial !important; 382 } 383 384 .settings-items .nav-second-level li a { 385 padding: 14px 10px 7px 10px; 386 padding-left: 40px; 387 } 388 389 .settings-items > .nav > li > a { 390 padding: 14px 10px 2px 10px; 391 } 392 393 .settings-items .nav-third-level li a { 394 padding: 7px 20px 2px 25px; 395 padding-left: 50px; 396 } 397 398 .nav > li > a { 399 color: #ffffff; 400 } 401 402 .nav-second-level > li > a { 403 color: #a7b1c2; 404 } 405 406 .nav-third-level > li > a { 407 color: #a7b1c2; 408 padding-left: 45px; 409 } 410 411 412 .collapse.in{ 413 414 height: auto !important; 415 416 } 417 418 .nav_parent_top_menu { 419 background: #fff; 420 } 421 422 423 .custom-search-container { 424 position: relative; 425 } 426 .custom-search-container input { text-indent: 22px;} 427 .custom-search-container .fa-search { 428 position: absolute; 429 top: 10px; 430 left: 10px; 431 z-index: 1 432 } 433 434 .blue-label-btn { 435 background-color: #03A9F4; 436 border-color: #03A9F4; 437 font-size: 12px; 438 color: white; 439 } 440 .blue-label-btn:hover{ 441 background-color: #0790ce; 442 border-color: #0790ce; 443 color: white; 444 } 445 div#address_Modal_admin { 446 z-index: 1071; 447 } 448 #top-menu{ 449 padding: 10px 30px !important; 450 } 451 @media (max-width: 768px) { 452 453 body.mini-navbar .navbar-static-side { 454 width: 65% ; 455 display: block; 456 } 457 /*.yes{*/ 458 /* width: 50%;*/ 459 /* display: block;*/ 460 /*}*/ 461 .nav_parent_top_menu { 462 background: #fff; 463 position: relative; 464 z-index: 1010; 465 } 466 /*body.mini-navbar .nav-header{*/ 467 /* padding-top: 63px;*/ 468 /*}*/ 469 body.mini-navbar .profile-element, body.mini-navbar .nav-label, body.mini-navbar .navbar-default .nav li a span { 470 display: block; 471 } 472 #complo , #myaccount-image , .logo-element{ 473 display: none; 474 } 475 476 .nav>li { 477 position: relative; 478 display: block; 479 } 480 .nav > li > a { 481 color: #a7b1c2; 482 font-weight: 600; 483 /*padding: 14px 20px 14px 25px;*/ 484 485 } 486 .nav > li > a i { 487 margin-right: 6px; 488 float: left; 489 } 490 .nav > li a .nav-label{ 491 font-size: 13px; 492 } 493 .dis_none_in_mob{ 494 display: none !important; 495 } 496 .flex_elemnt{ 497 display: flex; 498 align-items: center; 499 justify-content: center; 500 } 501 .trans_top{ 502 transform: translateY(-16px); 503 }
504 body:not(.fixed-sidebar).mini-navbar .nav li:hover .nav-second-level{ 505 position: relative; 506 left:0 507 } 508 body:not(.fixed-sidebar).mini-navbar .nav li:active .nav-second-level{ 509 display: block; 510 position: relative; 511 left: 0; 512 } 513 body:not(.fixed-sidebar).mini-navbar .nav li:active ,.nav-second-level, .mini-navbar .nav li:focus > .nav-second-level{ 514 position: relative; 515 left: 0; 516 } 517 /*.nav li .nav-second-level{*/ 518 /* display: none !important;*/ 519 /*}*/ 520 /*.nav li.active .nav-second-level{ 521 display: block !important; 522 }*/ 523 /*.work_toggels{*/ 524 /* display: block;*/ 525 /* position: relative;*/ 526 /* left: 0;*/ 527 /*}*/ 528 .mini-navbar .nav-second-level{ 529 position: relative; 530 } 531 /*body.mini-navbar #page-wrapper{*/ 532 /* background: none;*/ 533 /*}*/ 534 .body-small.mini-navbar .navbar-static-side{ 535 /*top: 63px;*/ 536 /*padding-bottom: 200px !important;*/ 537 } 538 body.mini-navbar #page-wrapper { 539 margin:0 !important; 540 } 541 .settings-items .nav-third-level li a{ 542 padding-left: 20px ; 543 } 544 .n_padding_left_mob{ 545 padding-left: 25px !important; 546 } 547 .mini-navbar .nav-second-level li a{ 548 padding: 10px 10px 10px 20px; 549 } 550 .mini-navbar li.active .nav-second-level{ 551 left: 0; 552 } 553 .nav-second-level li > ul { 554 padding-left: 15px; 555 } 556 .edit_padd_in_mob{ 557 padding-left: 25px !important; 558 } 559 .hiddin_in_mob{ 560 display: none !important; 561 } 562 .padding_bot_500{ 563 padding-bottom:500px; 564 } 565 /*.label-primary, .badge-primary{*/ 566 /* transform: translate(10px , -16px) !important;*/ 567 /*}*/ 568 .unique_box_number .pull-right{ 569 transform: translate(0px , -16px) !important; 570 } 571 #top-menu{ 572 padding: 10px 25px !important; 573 /*padding-left: 10px !important;*/ 574 ; 575 } 576 } 577 .home-profile{ 578 display: flex; 579 flex-direction: column; 580 flex-wrap: wrap; 581 align-content: center; 582 } 583 .uniq_flex{ 584 display: flex; 585 justify-content: space-evenly; 586 align-items: flex-end; 587 } 588 .hiddin_in_mob{ 589 display: none !important; 590 } 591 .width_of_icon_search{ 592 background: #0e9aef !important; 593 border-color: #0e9aef !important; 594 595 } 596 .width_of_icon_search:hover{ 597 background: #0e9aef; 598 border-color: #0e9aef; 599 } 600 .width_of_icon_search:active{ 601 602 background: #0e9aef; 603 border-color: #0e9aef; 604 } 605 .width_of_icon_search:focus{ 606 607 background: #0e9aef; 608 border-color: #0e9aef; 609 } 610 @media (max-width: 350px) { 611 body.mini-navbar .navbar-static-side { 612 width: 62% ; 613 display: block; 614 } 615 body.mini-navbar .navbar-static-side { 616 width: 65% ; 617 display: block; 618 } 619 } 620 621 .cancel_style{ 622 color: #2f4050!important; 623 background-color: #fff!important; 624 border-color: #2f4050!important; 625 } 626 .min_width_btn{ 627 min-width: 120px; 628 } 629 630 .toggle-pad img{ 631 height: 35px; 632 width: 35px; 633 margin-left: -10px; 634 margin-top: -5px; 635 } 636 637 @media (max-width: 350px) { 638 .add_15margin__un_350{ 639 margin-left: -15px; 640 margin-right: -15px; 641 } 642 } 643</style> 644
645<script> 646 $(".sidebar-collapse ul li a").on("click", function() { 647 $("body.mini-navbar .navbar-static-side").addClass("yes"); 648 }) 649 650 function showEmbedText() { 651 popupi_alert('Set this workerâs default pay rules', ` 652 <ul style="margin:0 0 12px 20px; padding:0; list-style-position:inside; list-style-type:disc; font-size:14px; line-height:1.5;"> 653 <li style="margin-bottom:4px;"> 654 <strong>Default Pay Model:</strong> How this service normally rewards fieldworkers. Choose <b>Commission</b> (percent or flat per service line) or <strong>Hourly</strong> (time-based). 655 </li> 656 <li style="margin-bottom:4px;"> 657 <strong>If Commission â</strong> <strong>Base Commission</strong> is the normal share of each service line (pre-tax). <strong>Bonus Commission</strong> is an optional bonus rate you can activate on a booking or service line for special cases. 658 </li> 659 <li style="margin-bottom:4px;"> 660 <strong>If Hourly â</strong> enter the regular <strong>Hourly Rate</strong>, an <strong>Over-Time Rate</strong> for premium hours, and an optional <strong>First-Hour Rate</strong> (call-out fee that replaces the first hour). 661 </li> 662 <li style="margin-bottom:4px;"> 663 These defaults auto-fill new jobs unless you override them at the <strong>Worker à Service</strong> level in this profile or via a one-off <strong>booking override</strong>. 664 </li> 665 <li style="margin-bottom:4px;"> 666 All shares are calculated on the pre-tax amount and each service lineâs totals canât exceed <b>100 %.</b> 667 </li> 668 669 <a href="https://help.octopuspro.com/fieldworker-commission-pay-rates" target="_blank" style="text-decoration:none; font-size:14px; line-height:1.5;"> 670 <strong>Learn More â</strong> 671 </a> 672 673</ul> 674 675`); 676 $('.modal-footer').hide(); 677 } 678 679 680</script>
680 681<!--check if 'hide_menu' received from bootstrap file equals true,render custom css to hide menu--> 682 683 684<!-- START CUSTOM CSS FOR MOBIE WEB VIEW @AUTHOR Yosor test--> 685<link rel="stylesheet" href="" id="web_view_link"> 686<!-- END CUSTOM CSS FOR MOBIE WEB VIEW @AUTHOR AMR--> 687<body class="pace-done " id='bodyhight' onload="loadhight()"> 688 689<!-- Browser compatibility warning banner â shown only on non-Chrome / non-Safari browsers --> 690<div id="browser-warning-banner" style="display:none;position:relative;background:#fff3cd;border-bottom:2px solid #ffc107;color:#856404;padding:10px 16px;font-size:14px;line-height:1.5;box-sizing:border-box;align-items:center;justify-content:space-between;"> 691 <span> 692 <i class="fa fa-exclamation-circle" style="margin-right:8px;"></i> 693 For the best experience and full feature support, please use <strong>Google Chrome</strong> or <strong>Safari</strong>. 694 Your current browser may not display all features correctly. 695 </span> 696 <button onclick="document.getElementById('browser-warning-banner').style.display='none';" style="background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:#856404;padding:0 4px;margin-left:16px;float:right;" aria-label="Dismiss">×</button> 697</div>
698<script> 699 (function () { 700 var ua = navigator.userAgent; 701 var vendor = navigator.vendor || ''; 702 703 var isEdge = /Edg\//.test(ua) || /Edge\//.test(ua); 704 705 var isChrome = 706 /Chrome\//.test(ua) && 707 !/OPR\//.test(ua) && 708 !isEdge; 709 710 var isSafari = 711 /^Apple/.test(vendor) || 712 (/Safari\//.test(ua) && !/Chrome\//.test(ua)); 713 714 if (!isChrome && !isSafari) { 715 var banner = document.getElementById('browser-warning-banner'); 716 if (banner) banner.style.display = 'flex'; 717 } 718 })(); 719</script>
719 720<!-- END browser compatibility warning banner --> 721 722<div id="vue-3"></div> 723<div id="wrapper"> 724 <!-- check if user login --> 725 726 727 728 <div class="no-margin-b"> 729 <style> 730 .alert_box{ 731 position: absolute; 732 top: 0; 733 right: 0; 734 z-index: 999999; 735 width: 100%; 736 text-align: center; 737 left: 0; 738 margin: 0 !important; 739 } 740 .alert_box .alert{ 741 display: inline-block; 742 margin: 0; 743 padding: 10px 20px; 744 border-radius: 0; 745 font-size: 14px; 746 font-weight: 400; 747 line-height: 20px; 748 color: #fff; 749 text-align: left; 750 background-color: #f0ad4e; 751 border-color: #eea236; 752 box-shadow: 0 1px 1px rgba(0,0,0,0.05); 753 margin-top: 5px; 754 width: 100%; 755 } 756 .alert_box .alert-success{ 757 background-color: #5cb85c; 758 border-color: #4cae4c; 759 } 760 .alert_box .alert-danger{ 761 background-color: #d9534f; 762 border-color: #d43f3a; 763 } 764</style> 765<div class="alert_box"> 766 </div> 767
768<script> 769 // $(document).ready(function(){ 770 // setTimeout(function(){ 771 // $(".alert").fadeOut('slow'); 772 // }, 8000); // 8 seconds delay 773 // }); 774</script>
774 775 776<div id="exhaustedAttempsMsg"></div> 777 <section> 778 <div class="col-lg-offset-4 col-lg-4 col-sm-offset-2 col-sm-8 col-xs-offset-1 col-xs-10"> 779 <div class="contBig"> 780 <div class="outbiglogo" > 781 <div class="inbiglogo"> 782 </div> 783 </div> 784 <div class="headnewaccount"> 785 Welcome back! 786 </div> 787 788 789 790 <form id="form" class="form-horizontal" method="POST" 791 action="https://admin.octopuspro.com/checkUserInMulticompanies" > 792 793 794 795 <div class="cont-input"> 796 <input type="email" required class="inputstyle" name="email" placeholder="Email Address" onchange="return trim(this)" /> 797 </div> 798 <div class="cont-input"> 799 <input type="password" required class="inputstyle" name="password" placeholder="Password" /> 800 </div> 801 <div class="content"> 802 <div class="row"> 803 804 </div> 805 </div> 806 <div> 807 <div class="center-check"> 808 <label> 809 <input type="checkbox" value="remember-me" name="keep_sign" style="float:left"> keep me signed in 810 </label> 811 </div> 812 813 814 </div> 815 <div class="clearfix"></div> 816 817 <div class="btncont col-sm-offset-3 col-sm-6"> 818 <input type="submit" class="btn" value="Login" id="subNewAccount" > 819 </div> 820 821<div class="clearfix"></div> 822 <div class="center-check"> 823 <a href="https://admin.octopuspro.com/forget/password" class="a_pass"> 824 Forgot your Password? 825 </a> 826 </div> 827 828 </form> 829 </div> 830 <div class="sec-center white-text"> 831 Don't have a login? <a href="/signup" class="white-text">Try Octopuspro for free </a> 832 </div> 833 <hr/> 834 <div class="sec-center" > 835 <a style="margin-left: 10px;" href="https://www.octopuspro.com/terms/" class="white-text">Terms of use</a> 836 <a style="margin-left: 10px;" href="https://www.octopuspro.com/privacy-policy/" class="white-text">Privacy policy</a> 837 <a style="margin-left: 10px;" href="https://www.octopuspro.com/offer-details/" class="white-text">Offer details</a> 838 </div> 839 <!-- 840 <div class="sec-center"> 841 Customer? <a href="https://admin.octopuspro.com/login-customer">Click here </a> 842 </div> 843--> 844 </div> 845 846 </section> 847 848 <style> 849 .center-check{ 850 text-align: center; 851 852 } 853 854 .cen-text{ 855 margin: 20px; 856 text-align: center; 857 line-height: 23px; 858 font-size: 17px; 859 } 860 861 .white-text { 862 color: white !important; 863 } 864 865 866 body{ 867 background: #fff url(https://admin.octopuspro.com/bd.jpg) no-repeat center center fixed; 868 -webkit-background-size: cover; 869 -moz-background-size: cover; 870 -o-background-size: cover; 871 font-weight: 400; 872 font-size: 15px; 873 color: #1d3c41; 874 } 875 876 ul{ 877 list-style-type:none; 878 margin-left:2px; 879 padding-left:0; 880 } 881 .errors li{ 882 color:#f00; 883 } 884 885 .alert_box{ 886 margin-right:10px; 887 margin-left:10px; 888 } 889 .btncont input[type=button], input[type=reset], input[type=submit]{ 890 background: url(https://admin.octopuspro.com/btn.jpg) repeat-x; 891 color:#fff; 892 /* width:100%; */ 893 margin:10px 0px; 894 895 } 896 897 input[type=submit] { 898 background: url(https://admin.octopuspro.com/btn.jpg) repeat-x; 899 color: #fff; 900 width: 100%; 901 margin: 15px 0px; 902} 903 904 .btncont input:hover{ 905 background: #33c2ff; 906 color:#fff; 907 908 } 909 910 .cont-input{ 911 margin:10px; 912 } 913 .inputstyle{ 914 text-align:center ; 915 background:#f1f1f1; 916 width:100%; 917 border:none; 918 padding:5px; 919 font-size:17px; 920 } 921 922 .contBig{ 923 background: #fff ; 924 /*vertical-align: middle;*/ 925 border-radius:18px; 926 /* position: absolute;*/ 927 // overflow: hidden; 928 min-height: 420px; 929 margin:120px auto 5px; 930 } 931 932 .outbiglogo{ 933 position:relative; 934 } 935 936 .inbiglogo{ 937 background :url(https://admin.octopuspro.com/octbiglogo.png) no-repeat; 938 height:172px; 939 width:230px; 940 position: absolute; 941 top:49px; 942 bottom: 0; 943 left: 0; 944 right: 0; 945 margin: auto; 946 } 947 948 .headnewaccount{ 949 padding-top:130px ; 950 text-align:center; 951 font-size:21px; 952 color:#0091d7; 953 } 954 .sec-center{ 955 text-align: center; 956 color : #79D7F3; 957 } 958 </style> 959 960 961
962<script> 963$(document).ready(function () { 964 }); 965function trim (el) { 966 el.value = el.value. 967 replace (/(^\s*)|(\s*$)/gi, ""). 968 replace (/[ ]{2,}/gi," "). 969 replace (/\n +/,"\n"); 970 return; 971} 972 973localStorage.removeItem('data') 974localStorage.removeItem('s3PathsData') 975localStorage.removeItem('bookingStatusesData') 976console.log("Session Deleted") 977 978function resendVerificationEmail(email = '', companyId = '') { 979 var email = email || ""; 980 var companyId = companyId || ""; 981 982 // Show loader 983 var button = document.querySelector('input#resend-verification'); 984 button.value = "Sending..."; 985 button.disabled = true; 986 987 $.ajax({ 988 url: '/sendReverifyUserAccount', 989 type: 'POST', 990 data: { 991 email: email, 992 companyId: companyId 993 }, 994 success: function(response) { 995 // The server now returns a generic message for both existing and non-existing 996 // emails to prevent enumeration. Treat any successful 200 response as 997 // an acknowledgement and show the generic verification message. 998 document.getElementById('verificationMessage').style.display = 'block'; 999 // Hide loader 1000 button.value = "Resend Verification Email"; 1001 button.disabled = false; 1002 }, 1003 error: function() { 1004 // Hide loader on error 1005 button.value = "Resend Verification Email"; 1006 button.disabled = false; 1007 } 1008 }); 1009} 1010</script>
1010 1011 1012 1013 1014 1015 1016 </div> 1017 </div> 1018</div> 1019<div id="ajax_loader" class="hidden" style="position: fixed;display: none;width: 100%;height: 100%;top: 0;left: 0; 1020 right: 0;bottom: 0;background-color: rgba(0,0,0,0.5);z-index: 9999;"> 1021 <img src="/pic/loading-img.gif" class="img-responsive" style="position: relative;top:45%;left:47%;"/> 1022</div> 1023<div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" 1024 aria-hidden="true" data-backdrop="static"> 1025 <div class="modal-dialog"> 1026 <div class="modal-content"> 1027 <div id="content_modal_popup3"> 1028 </div> 1029 </div> 1030 </div> 1031</div> 1032 1033<div id="vue-3-modals"></div> 1034 1035<div class="modal fade model_height_js" id="popupi" role="dialog" aria-labelledby="exampleModalLabel" 1036 data-backdrop="static" style="overflow-y: auto"> 1037 <div class="modal-dialog modal-md aya"> 1038 <div class="modal-content"> 1039 1040 <div class="modal-header"> 1041 <button type="button" class="close custom-m-top-0" data-dismiss="modal" aria-label="Close"> 1042 <span aria-hidden="true">×</span> 1043 </button> 1044 <h4 class="modal-title link-block font-s-32 remove-padd-mobile padd-left-0" style="align-items: center" id="modal_title"></h4> 1045 1046 1047 </div> 1048 1049 <div class="modal-body edit_padd_contractor_pop"> 1050 <div id="content_modal_popup" class="aya"> 1051 </div> 1052 </div> 1053 <div class="modal-footer add_new_style Activate_Member_Cancel_button" style="display:none;"></div> 1054 1055 </div> 1056 </div> 1057</div> 1058 1059 1060 1061<div class="modal fade model_height_js" id="popupi_additional" role="dialog" aria-labelledby="exampleModalLabel" 1062 data-backdrop="static" style="overflow-y: auto"> 1063 <div class="modal-dialog "> 1064 <div class="modal-content"> 1065 1066 <div class="modal-header"> 1067 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 1068 <span aria-hidden="true">×</span> 1069 </button> 1070 <h4 class="modal-title link-block d-flex font-s-32 remove-padd-mobile" style="align-items: center" id="modal_title"></h4> 1071 1072 1073 </div> 1074 1075 <div class="modal-body edit_padd_contractor_pop"> 1076 <div id="content_modal_popup_additional" class="p-bottom-60-mob"> 1077 </div> 1078 </div> 1079 <div class="modal-footer add_new_style Activate_Member_Cancel_button" style="display:none;"></div> 1080 1081 </div> 1082 </div> 1083</div> 1084 1085<div class="modal" id="confirmModal" style="display: none; z-index: 1050;"> 1086 <div class="modal-dialog" style="overflow: hidden"> 1087 <div class="modal-content"> 1088 <div class="modal-body" id="confirmMessage"> 1089 </div> 1090 <div class="modal-footer custom-design-new d-flex justify-content-between"> 1091 <button type="button" class="btn cancel_style min_width_btn new-cancle-btn" id="confirmCancel">Cancel</button> 1092 <button type="button" class="btn btn-primary width_of_icon_search min_width_btn new-save-btn" id="confirmOk">Continue 1093 </button> 1094 </div> 1095 </div> 1096 </div> 1097</div> 1098 1099 1100<div class="modal" id="confirmTwilioCall" style="display: none; z-index: 1050;"> 1101 <div class="modal-dialog"> 1102 <div class="modal-content"> 1103 <div class="modal-body" id="confirmMessage"> 1104 </div> 1105 <div class="modal-footer"> 1106 <button type="button" class="btn cancel_style min_width_btn" id="confirmCancel">Cancel</button> 1107 <button type="button" class="btn btn-primary width_of_icon_search min_width_btn" id="confirmOk">Continue</button> 1108 </div> 1109 </div> 1110 </div> 1111</div> 1112 1113<div id="payment-invoice-popup-div"></div> 1114 1115<!-- 1116 Shared modal shells used across the application for dynamically loaded popup content. 1117 The placeholder picker, preview dialogs, and secondary stacked previews all reuse 1118 these containers so feature-specific views only need to load their body content. 1119--> 1120<div class="modal fade" id="popupi_stack" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" 1121 data-backdrop="static"> 1122 <div class="modal-dialog"> 1123 <div class="modal-content"> 1124 1125 <div class="modal-header"> 1126 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
1127 <span aria-hidden="true">×</span> 1128 </button> 1129 <h4 class="modal-title" id="modal_title"></h4> 1130 </div> 1131 1132 <div class="modal-body"> 1133 <div id="content_modal_popup" class="p-bottom-60-mob"> 1134 </div> 1135 </div> 1136 <div class="modal-footer" style="display:none;"></div> 1137 1138 </div> 1139 </div> 1140</div> 1141<!-- Global confirmation modal used by shared confirmation flows across the app. --> 1142<div class="modal fade" id="confirmation_popup_id" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" 1143 data-backdrop="static"> 1144 <div class="modal-dialog"> 1145 <div class="modal-content"> 1146 <div class="modal-header"> 1147 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 1148 <span aria-hidden="true">×</span> 1149 </button> 1150 <h4 class="modal-title" id="modal_title"></h4> 1151 </div> 1152 1153 <div class="modal-body"> 1154 <div id="content_modal_popup"> 1155 </div> 1156 </div> 1157 <div class="modal-footer" style="display:none;"></div> 1158 1159 </div> 1160 </div> 1161</div> 1162<div class="modal fade" id="fn_nearest" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" 1163 data-backdrop="static"> 1164 <div class="modal-dialog"> 1165 <div class="modal-content"> 1166 1167 <div class="modal-header"> 1168 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 1169 <span aria-hidden="true">×</span> 1170 </button> 1171 <h4 class="modal-title" id="modal_title2"></h4> 1172 </div> 1173 1174 <div class="modal-body"> 1175 <div id="content_modal_popup2" class="p-bottom-60-mob"> 1176 </div> 1177 1178 </div> 1179 1180 </div> 1181 </div> 1182</div> 1183 1184<div id="createNewButtonModal" class="popover modalPopover"> 1185 <div class="arrow "></div> 1186 <div class="popover-content"> 1187 <p> 1188 <h3>Tap here to make a new booking</h3></p> 1189 1190 <div style="border-top: 1px solid #e5e5e5;"><a id="gotNewBooking" class="btn btn-primary">Ok, Got it</a></div> 1191 1192 </div> 1193</div> 1194 1195<div class="modal fade" id="newTwilioModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" data-backdrop="static" > 1196 <div class="modal-dialog"> 1197 <div class="modal-content" id="newTwilioContent"> 1198 1199 </div> 1200 </div> 1201</div> 1202<div class="modal fade" id="callChooseModal" tabindex="-1" role="dialog" aria-labelledby="callChooseModal" aria-hidden="true" 1203 style="top:25% !important;z-index: 9999;"> 1204 <div class="modal-dialog" role="document"> 1205 <div class="modal-content"> 1206 1207 <div class="modal-header"> 1208 <h5 class="modal-title" id="exampleModalLabel">How would you like to call?</h5> 1209 <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="margin-top:-20px !important;"> 1210 <span aria-hidden="true">×</span> 1211 </button> 1212 </div> 1213 <div class="modal-body"> 1214 <div class="row text-center "> 1215 1216 <a class="call-method-btn btn btn-default" 1217 id="call-regular-method" data-toggle="modal" data-target="#twilioModal" 1218 style="padding:16px 39px !important; margin-right:7px;"> 1219 <span class="fa fa-phone " style="font-size:16px !important"></span> 1220 Regular call 1221 </a> 1222 1223 <a href="javascript:void(0)" class="call-method-btn btn btn-primary " 1224 id="call-twilio-method" 1225 style="padding:16px 39px !important;"> 1226 <i style="padding-right: 5px; font-size:16px !important" class="fa fa-phone" style="font-size:16px"></i> 1227 Twilio call 1228 </a> 1229 1230 </div> 1231 </div> 1232 </div> 1233 </div> 1234</div> 1235 1236 1237<div id="sideMenuModal" class="popover modalPopover"> 1238 <div class="arrow "></div> 1239 <div class="popover-content"> 1240 <p> 1241 <h3>Your side menu give you quick access to all the features</h3></p> 1242 1243 <div style="border-top: 1px solid #e5e5e5;"><a id="gotSideMenu" class="btn btn-primary">Ok, Got it</a></div> 1244 <input type="hidden" id="content_modal_popup_redirect_url" /> 1245 </div> 1246</div> 1247 1248<div id="panelfirstpage" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" 1249 data-backdrop="static"> 1250 <div class="modal-dialog"> 1251 <div class="modal-content"> 1252 <div class="modal-header"> 1253 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 1254 <h4 class="modal-title">complete steps</h4> 1255 </div> 1256 <div class="modal-body"> 1257 <p>Please complete the following steps to setup your account.</p> 1258 </div> 1259 <div class="modal-footer"> 1260 <a type="button" class="btn btn-danger" id="okpanelfirst">OK</a> 1261 <a type="button" class="btn btn-default" data-dismiss="modal" id="cancelpanelfirst">Cancel</a> 1262 1263 </div> 1264 </div><!-- /.modal-content --> 1265 </div><!-- /.modal-dialog --> 1266</div> 1267 1268 1269<div id="confirm" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" 1270 data-backdrop="static"> 1271 <div class="modal-dialog modal-md"> 1272 <div class="modal-content"> 1273 <div class="modal-header"> 1274 <button type="button" class="close modal-close-btn" data-dismiss="modal" aria-label="Close">
1275 <span aria-hidden="true">×</span> 1276 </button> 1277 <h4 class="modal-title" id="confirmModalTitle">Confirmation Message</h4> 1278 </div> 1279 <div class="modal-body"> 1280 <p>Are you sure you want to continue?</p> 1281 </div> 1282 <div class="modal-footer"> 1283 <a type="button" class="btn width_of_icon_search btn-confirm-popup float-right" id="okBtn">OK</a> 1284 <a type="button" class="btn btn-cancel-popup float-left" data-dismiss="modal" id="cancelBtn">Cancel</a> 1285 1286<!-- <a type="button" class="btn width_of_icon_search btn-confirm-popup" id="okBtn">OK</a>--> 1287<!-- <a type="button" class="btn btn-default" data-dismiss="modal" id="cancelBtn">Cancel</a>--> 1288 1289 </div> 1290 </div><!-- /.modal-content --> 1291 </div><!-- /.modal-dialog --> 1292</div> 1293 1294 1295 1296 <div class="company_list_mobile" style="display: none;height: 0"> 1297 1298 <div class="company-list-overlay"></div> 1299 1300 <div class="dropdown btn-group company_list_drop_down_mobile"> 1301 <button type="button" data-toggle="dropdown" class="btn btn-danger dropdown-toggle"> 1302 <i class="fa fa-building"></i></button> 1303 <ul class="dropdown-menu companies_list scrollable-menu" role="menu" 1304 aria-labelledby="dropdownMenu1"> 1305 1306 <li role="presentation"> 1307 <a role="menuitem" tabindex="-1" 1308 href="https://admin.octopuspro.com/myOctopusPro"> 1309 <img style="width:40px; margin-left: -10px;" 1310 src="https://admin.octopuspro.com/pic/octlogo.png?v=1790246824"/> 1311 My OctopusPro 1312 </a> 1313 </li> 1314 1315 1316 <li class="divider"></li> 1317 1318 1319 </ul> 1320 </div> 1321 1322 </div> 1323 1324<div class="modal fade" id="twilioModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" data-backdrop="static" style="z-index: 9999;"> 1325 <div class="modal-dialog"> 1326 <div class="modal-content"> 1327 1328 <div class="modal-header"> 1329 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 1330 <span aria-hidden="true">×</span> 1331 </button> 1332 <h4 class="modal-title" id="modal_title_twilio"></h4> 1333 </div> 1334 1335 <div class="modal-body"> 1336 <div id="content_modal_popup_twilio" > 1337 </div> 1338 </div> 1339 <div class="modal-footer" style="display:none;"></div> 1340 1341 </div> 1342 </div> 1343</div> 1344 1345<div class="modal fade" id="newTwilioModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" data-backdrop="static" style="z-index:9999"> 1346 <div id="directTwilioLoadFunction"></div> 1347 1348 <div class="modal-dialog"> 1349 <div class="modal-content" > 1350 1351 <div class="modal-header"> 1352 <button type="button" class="close" onclick="closetwilioDialog()"> 1353 <span aria-hidden="true">×</span> 1354 </button> 1355 </div> 1356 <div class="modal-body"> 1357 1358 1359 <div id="content_modal_popup_twilio"> 1360 <div class="user-info-numbers-area"> 1361 <div class="numbers-area"> 1362 1363 1364 <select id="calling_number_option" class="form-control" onchange="changeTwilioNumber(this)"> 1365 1366 </select> 1367 <br/> 1368 <div> 1369 <input autocomplete="odgfdgff" type="text" name="number" id="number" class="form-control" style="display:none " 1370 onkeyup="return isNumberKey(event)"/> 1371 <!-- <input type="text" class="form-control" id="manualNumberInput" onkeypress="allowNumbersOnly(this),changeNumber(this)" style="display: none"/>--> 1372 </div> 1373 1374 1375 <div id="warning"></div> 1376 </div> 1377 <div class="user-info"> 1378 <div> 1379 1380 <label class="callee-name"> 1381 1382 </label> 1383 <p class="callee-number"> 1384 </p> 1385 </div> 1386 <div> 1387 <button type="button" class="btn btn-default btn-circle btn-xl btn-user-avatar" disabled> 1388 <i class="fa fa-user" aria-hidden="true"></i> 1389 </button> 1390 1391 </div> 1392 <div> 1393 <h2 id="call-time" style="display: none"> 1394 <time>00:00:00</time> 1395 </h2> 1396 </div> 1397 1398 1399 </div> 1400 </div> 1401 </div> 1402 1403 <div class="pad-container"> 1404 1405 <div id="output"></div> 1406 1407 <div class="row"> 1408 <div class="digit">1</div> 1409 <div class="digit">2</div> 1410 <div class="digit">3</div> 1411 </div> 1412 <div class="row"> 1413 <div class="digit">4</div> 1414 <div class="digit">5</div> 1415 <div class="digit">6</div> 1416 </div> 1417 <div class="row"> 1418 <div class="digit">7</div> 1419 <div class="digit">8</div> 1420 <div class="digit">9</div> 1421 </div> 1422 <div class="row"> 1423 <div class="digit">*</div> 1424 <div class="digit">0</div> 1425 <div class="digit">#</div> 1426 </div> 1427 1428 1429 </div> 1430 1431 </div> 1432 <div class="modal-footer"> 1433 <div class="row">
1434 <span id="log"></span> 1435 </div> 1436 <div class="row"> 1437 <!-- <button type="button" class="btn btn-default btn-circle btn-lg">--> 1438 <!-- <i class="fa fa-microphone"></i>--> 1439 <!-- </button>--> 1440 1441 <button disabled type="button" class="btn btn-default btn-circle btn-lg toggle-pad"> 1442 <img src="/dialpad.svg"> 1443 </button> 1444 <button type="button" class="btn btn-default btn-circle btn-lg btn-mute" style="display: none;"> 1445 <i class="fa fa-microphone-slash" style="font-size: 22px !important;"></i> 1446 </button> 1447 1448 <button type="button" class="btn btn-default btn-circle btn-lg btn-call" id="start"> 1449 <i class="fa fa-phone" style="font-size: 22px !important;"></i> 1450 </button> 1451 <button type="button" class="btn btn-danger btn-circle btn-lg " id="stop" style="display: none;"> 1452 <i class="fa fa-phone" style="font-size: 22px !important;rotate:135deg !important;"></i> 1453 </button> 1454 <button type="button" class="btn btn-default btn-circle btn-lg" id="manualNumber" onclick="toggleTwilioInput()"> 1455 <i class="fa fa-edit"></i> 1456 </button> 1457 1458 </div> 1459 1460 </div> 1461 </div> 1462 </div> 1463 1464</div> 1465 1466 1467<div class="modal fade" id="callModal" tabindex="-1" role="dialog" 1468 aria-labelledby="exampleModalLabe5" 1469 data-backdrop="static" style="z-index: 9999;"> 1470 <div class="modal-dialog"> 1471 <div class="modal-content"> 1472 <div class="modal-header"> 1473 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 1474 <span aria-hidden="true">×</span> 1475 </button> 1476 <h4 class="modal-title" > Calling 1477 <span class="callee-name"></span> 1478 </h4> 1479 </div> 1480 1481 <div class="modal-body"> 1482 <div > 1483 </div> 1484 </div> 1485 </div> 1486 </div> 1487</div> 1488 1489<!-- START MOBILE WEB VIEW SCRIPT @AUTHOR AMR -->
1490<script id="mobile-web-view-script" type="text/javascript" src="https://admin.octopuspro.com//js/mobile_web_view/company_list.js?v=1790246824" 1491 data-style="https://admin.octopuspro.com//css/mobile_web/mobile_web_view.css?v=1790246824"></script>
1491 1492<!-- END MOBILE WEB VIEW SCRIPT @AUTHOR AMR --> 1493
1494<script type="text/javascript"> 1495 (function() { 1496 'use strict'; 1497 1498 var csrfToken = 'cca21db33e26830fec60d375c4fc8763770705ee9b1b06b5520a8265980521f1'; 1499 1500 $.ajaxPrefilter(function(options, originalOptions, jqXHR) { 1501 if (!options.type || options.type.toUpperCase() !== 'POST') { 1502 return; 1503 } 1504 1505 // Detect JSON requests (front-end APIs etc.) 1506 var contentType = options.contentType || originalOptions.contentType || ''; 1507 var isJson = contentType.indexOf('application/json') !== -1; 1508 1509 // Detect FormData 1510 var isFormData = (typeof FormData !== 'undefined') && 1511 (originalOptions.data instanceof FormData); 1512 1513 // --- 1) JSON requests: DO NOT touch body, send CSRF as header --- 1514 if (isJson) { 1515 options.headers = options.headers || {}; 1516 if (!options.headers['X-CSRF-Token']) { 1517 options.headers['X-CSRF-Token'] = csrfToken; 1518 } 1519 // very important: don't change options.data / processData here 1520 return; 1521 } 1522 1523 // --- 2) FormData: append field safely, keep processData/contentType false --- 1524 if (isFormData) { 1525 if (!originalOptions.data.has('csrf_token')) { 1526 originalOptions.data.append('csrf_token', csrfToken); 1527 } 1528 options.data = originalOptions.data; 1529 options.processData = false; 1530 options.contentType = false;
1531 return; 1532 } 1533 1534 // --- 3) Normal form-encoded POSTs (x-www-form-urlencoded) --- 1535 if (!options.data) { 1536 // just token 1537 options.data = 'csrf_token=' + encodeURIComponent(csrfToken); 1538 } else if (typeof options.data === 'string') { 1539 // query-string style 1540 if (options.data.indexOf('csrf_token=') === -1) { 1541 options.data += (options.data ? '&' : '') + 1542 'csrf_token=' + encodeURIComponent(csrfToken); 1543 } 1544 } else if (typeof options.data === 'object') { 1545 // simple JS object (will be $.param'ed) 1546 if (!options.data.csrf_token) { 1547 options.data.csrf_token = csrfToken; 1548 } 1549 } 1550 1551 if (options.processData === undefined) { 1552 options.processData = true; // let jQuery build query string 1553 } 1554 }); 1555 1556 // Forms: still fine to inject hidden input 1557 $(document).on("submit", 'form', function(e) { 1558 var form = $(e.target); 1559 1560 if (form.attr('method') && 1561 form.attr('method').toUpperCase() === 'POST' 1562 ) { 1563 if (form.find('input[name="csrf_token"]').length === 0) { 1564 form.append( 1565 '<input type="hidden" name="csrf_token" value="' + csrfToken + '" />' 1566 ); 1567 } 1568 } 1569 }); 1570 1571 window.getCsrfToken = function() { 1572 return csrfToken; 1573 }; 1574 1575 // Security fix: allow controlled CSRF token rotation from server responses 1576 // to prevent forced reload loops when token expires during active sessions. 1577 window.setCsrfToken = function(newToken) { 1578 if (!newToken || typeof newToken !== 'string') return; 1579 csrfToken = newToken; 1580 window.csrf_token = newToken; 1581 var csrfInputs = document.getElementsByName('csrf_token'); 1582 for (var i = 0; i < csrfInputs.length; i++) { 1583 csrfInputs[i].value = newToken; 1584 } 1585 }; 1586 })(); 1587 /** 1588 * Global CSRF failure coordinator (mirrors nuxt/utils/v1/csrf/csrfGuard.ts) 1589 * 1590 * Handles all three backend CSRF error codes: 1591 * ERR_CSRF_TOKEN_EXPIRED â hotswap new token from response body (no reload) 1592 * ERR_CSRF_TOKEN_INVALID â page reload (up to MAX_CSRF_REFRESHES), then logout 1593 * ERR_CSRF_TOKEN_MISSING â same as INVALID 1594 * 1595 * Module-level singleton: state resets automatically on each full page load. 1596 */ 1597 (function () { 1598 'use strict'; 1599 1600 var _csrfHandlingInProgress = false; 1601 var CSRF_REFRESH_COUNT_KEY = 'csrf_refresh_count'; 1602 var MAX_CSRF_REFRESHES = 3; 1603 1604 1605 1606 // ââ Internal: hotswap an expired token from the response body into the 1607 // global csrf token holder. Returns true when successful â the next 1608 // request will use the fresh token with no page reload required. 1609 function tryHotswapExpiredToken(data) { 1610 if (!data || !data.csrf_token) return false; 1611 try { 1612 if (typeof window.setCsrfToken === 'function') { 1613 window.setCsrfToken(data.csrf_token); 1614 return true; 1615 } 1616 } catch (e) { /* ignore */ } 1617 return false; 1618 } 1619 1620 // ââ Public: dispatch a CSRF failure response payload. 1621 function handleCsrfFailure(data) { 1622 if (_csrfHandlingInProgress) return; 1623 if (!data || typeof data !== 'object') return; 1624 var code = data.code; 1625 if ( 1626 code !== 'ERR_CSRF_TOKEN_EXPIRED' && 1627 code !== 'ERR_CSRF_TOKEN_INVALID' && 1628 code !== 'ERR_CSRF_TOKEN_MISSING' 1629 ) { 1630 return; 1631 } 1632 1633 // Claim the guard BEFORE any branch so concurrent requests that 1634 // both receive the same failure don't each show a toast. 1635 _csrfHandlingInProgress = true; 1636 1637 // ââ Expired: hotswap the new token the backend included in the body ââ 1638 if (code === 'ERR_CSRF_TOKEN_EXPIRED') { 1639 var hotswapped = tryHotswapExpiredToken(data); 1640 if (hotswapped) { 1641 try { sessionStorage.removeItem(CSRF_REFRESH_COUNT_KEY); } catch (e) { /* ignore */ } 1642 console.warn('[CSRF] Token expired â hotswapped from response body. Please retry.'); 1643 $.notify('Your session token was refreshed. Please retry your last action.','error'); 1644 broadcastCsrfEvent('token_refresh', data.csrf_token); 1645 setTimeout(function () { _csrfHandlingInProgress = false; }, 0); 1646 return; 1647 } 1648 // Hotswap failed â fall through to reload path 1649 } 1650 1651 // ââ Invalid / Missing / Expired-without-hotswap â reload or logout ââ 1652 console.warn('[CSRF] Token invalid/missing â triggering recovery.', code); 1653 1654 var refreshCount = 0; 1655 try { 1656 refreshCount = parseInt(sessionStorage.getItem(CSRF_REFRESH_COUNT_KEY) || '0', 10) || 0; 1657 } catch (e) { /* ignore */ } 1658 1659 if (refreshCount >= MAX_CSRF_REFRESHES) { 1660 try { sessionStorage.removeItem(CSRF_REFRESH_COUNT_KEY); } catch (e) { /* ignore */ } 1661 $.notify('Your session could not be restored after multiple attempts. Please log in again.','error'); 1662 broadcastCsrfEvent('logout'); 1663 setTimeout(function () { window.location.href = '/logout'; }, 1500); 1664 } else { 1665 try { sessionStorage.setItem(CSRF_REFRESH_COUNT_KEY, Str
1665ing(refreshCount + 1)); } catch (e) { /* ignore */ } 1666 $.notify('Your temporary session has expired. We have refreshed the page to get you back on track. Please try your action again.','error'); 1667 broadcastCsrfEvent('reload'); 1668 setTimeout(function () { window.location.reload(); }, 500); 1669 } 1670 } 1671 1672 // ââ BroadcastChannel: sync CSRF events across all open tabs ââ 1673 var CSRF_BROADCAST_CHANNEL = 'octopus_csrf_sync'; 1674 1675 function broadcastCsrfEvent(action, csrfToken) { 1676 try { 1677 if (typeof BroadcastChannel === 'undefined') return; 1678 var ch = new BroadcastChannel(CSRF_BROADCAST_CHANNEL); 1679 ch.postMessage({ action: action, csrf_token: csrfToken || null }); 1680 ch.close(); 1681 } catch (e) { /* ignore */ } 1682 } 1683 1684 // Listen for events broadcast by OTHER tabs 1685 if (typeof BroadcastChannel !== 'undefined') { 1686 (function () { 1687 var _syncChannel = new BroadcastChannel(CSRF_BROADCAST_CHANNEL); 1688 _syncChannel.addEventListener('message', function (event) { 1689 var action = event.data && event.data.action; 1690 var newToken = event.data && event.data.csrf_token; 1691 if (action === 'token_refresh' && newToken) { 1692 if (typeof window.setCsrfToken === 'function') { 1693 window.setCsrfToken(newToken); 1694 } 1695 console.info('[CSRF] Token refreshed from another tab via BroadcastChannel.'); 1696 } else if (action === 'reload') { 1697 window.location.reload(); 1698 } else if (action === 'logout') { 1699 window.location.href = '/logout'; 1700 } 1701 }); 1702 })(); 1703 } 1704 1705 // Expose for tests / manual invocation 1706 window.handleCsrfFailure = handleCsrfFailure; 1707 window.resetCsrfGuard = function () { _csrfHandlingInProgress = false; }; 1708 1709 // ð Global CSRF failure handler â inspect every ajax response. 1710 $(document).ajaxComplete(function (event, xhr, settings) { 1711 if (_csrfHandlingInProgress) return; 1712 1713 // Performance optimization: 1714 // Avoid JSON.parse on every successful JSON response. Most responses 1715 // are not CSRF errors â fast-path bail out via substring check. 1716 var response = xhr.responseJSON; 1717 if (!response) { 1718 var responseText = xhr.responseText; 1719 if (typeof responseText !== 'string' || 1720 (responseText.indexOf('ERR_CSRF_TOKEN_INVALID') === -1 && 1721 responseText.indexOf('ERR_CSRF_TOKEN_EXPIRED') === -1 && 1722 responseText.indexOf('ERR_CSRF_TOKEN_MISSING') === -1) 1723 ) { 1724 return; 1725 } 1726 try { 1727 response = JSON.parse(responseText); 1728 } catch (e) { 1729 return; 1730 } 1731 } 1732 1733 handleCsrfFailure(response); 1734 }); 1735 1736 })(); 1737 1738</script>
1738 1739 1740 1741
1742<script> 1743 1744 $(document).ready(function () { 1745 // 1) Keep track of which icon's popover is open 1746 let currentPopover = null; 1747 1748 // 2) Single handler for clicking on any .spopover 1749 $(document).on('click', '.spopover', function(e) { 1750 e.stopPropagation(); 1751 const $icon = $(this); 1752 1753 // a) If you clicked the already-open one â hide it & clear state 1754 if (currentPopover && currentPopover.is($icon)) { 1755 $icon.popover('hide'); 1756 currentPopover = null; 1757 return; 1758 } 1759 1760 // b) Otherwise, hide any other thatâs open 1761 if (currentPopover) { 1762 currentPopover.popover('hide'); 1763 } 1764 1765 // c) Initialize this popover once 1766 if (!$icon.data('bs.popover')) { 1767 $icon.popover({ 1768 trigger: 'manual', 1769 html: true, 1770 container:'body', 1771 placement:'bottom', 1772 title: () => $icon.data('title') + ' <span class="close">×</span>', 1773 content: () => $icon.data('content') 1774 }); 1775 } 1776 1777 // d) Show this one and mark it as current 1778 $icon.popover('show'); 1779 currentPopover = $icon; 1780 }); 1781 1782 // 3) Click or tap **outside** any popover/icon â hide the open one 1783 $(document).on('click touchstart', function(e) { 1784 if (!$(e.target).closest('.popover, .spopover').length && currentPopover) { 1785 currentPopover.popover('hide'); 1786 currentPopover = null; 1787 } 1788 }); 1789 1790 // 4) Click the âÃâ inside the popover header â hide & clear state 1791 $(document).on('click', '.popover .close', function() { 1792 const $icon = $(this).closest('.popover').prev('.spopover'); 1793 $icon.popover('hide'); 1794 if (currentPopover && currentPopover.is($icon)) { 1795 currentPopover = null; 1796 } 1797 }); 1798 1799 if($.hasOwnProperty('notify')){ 1800 $.notify.defaults({position: "left bottom"}); 1801 } 1802 1803 $(".only-integer").on("keypress keyup blur",function (event) { 1804 $(this).val($(this).val().replace(/[^0-9\.]/g,'')); 1805 if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) { 1806 event.preventDefault(); 1807 } 1808 }); 1809 $(".only-decimal").on("keypress keyup blur",function (event) { 1810 $(this).val($(this).val().replace(/[^\d].+/, "")); 1811 if ((event.which < 48 || event.which > 57)) { 1812 event.preventDefault(); 1813 } 1814 }); 1815 $(".nav-header").removeClass("active"); 1816 1817 1818 $("#cambtn").click(function () { 1819 $("#company_upload_pic").click(); 1820 }); 1821 1822 1823 $('#company_upload_pic').change(function () { 1824 1825 if ($('#company_upload_pic').get(0).length != 0) { 1826 1827 $("#loader_view").css('display', 'block'); 1828 $("#imgcompany").ajaxForm( 1829 { 1830 target: '#previewPicComapny', 1831 success: function (data) { 1832 $("#loader_view").css('display', 'none'); 1833 $(".logo-element").html('<span>' + data + '</span>'); 1834 } 1835 }).submit(); 1836 1837 } 1838 }); 1839 1840 1841 }); 1842 1843 1844 var fullUrl = window.location.href; 1845 //console.log("fullUrl = " + fullUrl + " length = $("a[href='/"' + fullUrl + '"']")" + $("a[href='/" + fullUrl + "']").length); 1846 //$("a[href='/" + fullUrl + "']").css('color','white'); 1847 var urlType = window.location.href.split('?')[0].split("/"); 1848 if (urlType[3] == 'item-attachment' && urlType[4] == 'booking') { 1849 urlType[3] = 'booking'; 1850 urlType[4] = 'undefined'; 1851 } 1852 $("li.active").has("ul").removeClass('active'); 1853 // 1854 if (urlType[3] == 'settings' || urlType[3] == 'contractor' || urlType[3] == 'reports' || urlType[3] == 'item-attachment' && urlType[4] == 'service') { 1855 if (typeof (urlType[4]) != 'undefined') { 1856 var settingsType = urlType[4].split("-"); 1857 if (urlType[4] == 'custom-field-value') { 1858 $("li").has("ul li a[href*='/service']").parents('li').addClass("active"); 1859 $("li").has("ul li a[href*='/service']").closest('ul').css("height", "auto"); 1860 1861 $("li ul li a[href*='/" + urlType[3] + "/" + urlType[4] + "']").css('color', 'white'); 1862 } else if (urlType[3] == 'contractor') { 1863 $("li").has("ul li a[href*='/contractor-']").parents('li').addClass("active"); 1864 $("li").has("ul li a[href*='/contractor-']").closest('ul').css("height", "auto"); 1865 1866 $("li ul li a[href*='/" + urlType[3] + "/" + urlType[4] + "']").css('color', 'white'); 1867 } else if (urlType[3] == 'fieldworkers') { 1868 $("li").has("ul li a[href*='/fieldworker-']").parents('li').addClass("active"); 1869 $("li").has("ul li a[href*='/fieldworker-']").closest('ul').css("height", "auto"); 1870 1871 $("li ul li a[href*='/" + urlType[3] + "/" + urlType[4] + "']").css('color', 'white'); 1872 } 1873 else if (settingsType[0] != 'booking') { 1874 $("li").has("ul li a[href*='/" + urlType[3] + "/" + settingsType[0] + "']").parents('li').addClass("active"); 1875 $("li").has("ul li a[href*='/" + urlType[3] + "/" + settingsType[0] + "']").closest('ul').css("height", "auto"); 1876 1877 if (urlType[4] == 'booking_summary') { 1878 $("li ul li a[href*='/" + urlType[3] + "/" + urlType[4] + "?']").css('color', 'white'); 1879 } 1880 else { 1881 $("li ul li a[href*='/" + urlType[3] + "/" + urlType[4] + "']").css('color', 'white'); 1882 } 1883 1884 } 1885 } 1886 } else { 1887 $("li").has("ul li a[href*='/" + urlType[2] + '/' + urlType[3] + "']").parents('li').addClass("active"); 1888 } 1889 1890 //when viewing the system from mobile view, the left menu is collapsed, so there is no point getting the menu item counts (until someone clicks on one of the menu items) but no point getting it if it's collapsed 1891 // if($(window).width() > 768){ 1892 // getCounts(urlType[3]); 1893 // } 1894 1895 $(".settings-parts").on('click', function () { 1896 /*$(this).closest('ul').siblings().children(".settings-parts").removeClass('active'); 1897 $(this).closest('ul').siblings().children(".settings-parts").find('ul').css('height', '0px'); 1898 $(this).closest('ul').siblings().children(".settings-parts").find('ul').removeClass('in');*/ 1899 $(this).siblings(".settings-parts").removeClass('active'); 1900 $(this).siblings(".settings-parts").children("ul").css('height', '0px'); 1901 $(this).siblings(".settings-parts").children("ul").removeClass('in'); 1902 $(this).find('ul').css('height', 'auto');
1903 //$(this).siblings('.progress-show').children('.currTime').text('111111'); 1904 /*$(this).removeClass('settings-parts'); 1905 $(".settings-parts").removeClass('active'); 1906 $(".settings-parts").closest().css('height','0px'); 1907 $(this).addClass('settings-parts');*/ 1908 /*var elems = $(this).closest('ul').siblings().children(".settings-parts"); 1909 1910 for(var elem in elems){ 1911 console.log(elem); 1912 } 1913 $(this).closest().siblings().children(".settings-parts").removeClass('active')*/ 1914 //console.log("siblings = " + $(".settings-parts").siblings(".settings-parts").removeClass('active')); 1915 //$(".settings-parts").siblings(".settings-parts").removeClass('active') 1916 //$(".settings-parts").siblings().removeClass('active'); 1917 }); 1918 1919 function getCounts(urlType) { 1920 if (urlType == 'recently-updated' || urlType == 'awaitingAccept-booking' || urlType == 'unapproved-booking' || urlType == 'awaitingUpdate-booking') { 1921 urlType = 'booking'; 1922 } 1923 1924 if (urlType == 'refund' || urlType == 'payment') { 1925 urlType = 'invoices'; 1926 } 1927 1928 $.ajax({ 1929 type: "GET", 1930 dataType: "JSON", 1931 url: "https://admin.octopuspro.com/ajax/getItemCounts", 1932 data: {'type': urlType}, 1933 success: function (result) { 1934 $.each(result, function (key, data) { 1935 if ($('#' + key).find('span.label').length > 0) { 1936 $('#' + key).find('span.label').remove(); 1937 } 1938 $('#' + key).append('<span class="label label-' + data.color + ' pull-right" style="display:inline-block">' + data.count + '</span>'); 1939 }); 1940 if (urlType == 'booking') { 1941 getCounts('booking1'); 1942 } 1943 1944 } 1945 }); 1946 1947 1948 } 1949 1950 $(document).on('#side-menu li','click',function () { 1951 var $type = $(this).attr('data-target'); 1952 if (typeof $type !== typeof undefined && $type !== false) { 1953 if (!($(this).find('span.label').length > 0)) { 1954 getCounts($type); 1955 1956 } 1957 } 1958 }); 1959 1960 1961 $('#side-menu li').hover(function () { 1962 if ($('body').hasClass('mini-navbar')) { 1963 var $type = $(this).attr('data-target'); 1964 if (typeof $type !== typeof undefined && $type !== false) { 1965 if (!($(this).find('span.label').length > 0)) { 1966 getCounts($type); 1967 1968 } 1969 } 1970 } 1971 1972 }); 1973 1974 1975 1976 $("#spacelogo").hover( 1977 function () { 1978 // $("#cambtn").css( 'display' , 'block' ); 1979 $("#cambtn").fadeIn(500); 1980 }, function () { 1981 // $("#cambtn").css( 'display' , 'none' ); 1982 $("#cambtn").fadeOut(500); 1983 } 1984 ); 1985 1986 1987 $("#gotNewBooking").on('click', function () { 1988 $('#createNewButtonModal').modalPopover('hide'); 1989 $("#first-create-new").attr('data-toggle', 'dropdown'); 1990 $("#first-create-new").removeAttr('href'); 1991 $("#first-create-new").removeAttr('data-placement'); 1992 $("#first-create-new").html('New <span class="caret"></span>'); 1993 }); 1994 /*$("#gotViewDemo").on('click', function(){ 1995 $('#viewDemoModal').modalPopover('hide'); 1996 $("#viewDemo").removeAttr('href'); 1997 $("#viewDemo").removeAttr('data-placement'); 1998 $("#viewDemo").removeAttr('data-toggle'); 1999 });*/ 2000 $("#gotSideMenu").on('click', function () { 2001 $('#sideMenuModal').modalPopover('hide'); 2002 $("#inquiriesListItem").attr('data-target', 'inquiry'); 2003 $("#inquiriesListItem").removeAttr('href'); 2004 $("#inquiriesListItem").removeAttr('data-placement'); 2005 $("#inquiriesListItem").removeAttr('data-toggle'); 2006 }); 2007 2008 $("#settings-item").on('click', function () { 2009 if (!$(this).hasClass('active')) { 2010 $(".settings-parts").removeClass('active'); 2011 $(".settings-parts").find('ul').css('height', '0px'); 2012 $(".settings-parts").find('ul').removeClass('in'); 2013 } 2014 }); 2015 $("#reports-item").on('click', function () { 2016 if (!$(this).hasClass('active')) { 2017 $(".settings-parts").removeClass('active'); 2018 $(".settings-parts").find('ul').css('height', '0px'); 2019 $(".settings-parts").find('ul').removeClass('in'); 2020 } 2021 }); 2022 $(document).on("click", "#cat-button", function () { 2023 $("#form-cat").submit(); 2024 }); 2025 2026 2027 $(function(){ 2028 $('#nav ul li') 2029 .css({cursor: "pointer"}) 2030 .on('click', function(){ 2031 $(this).find('ul').toggle(); 2032 }) 2033 }) 2034 /** 2035 * hide and show the nav-bar 2036 * @author Amr 2037 */ 2038 function toggleNavBar(){ 2039 var navBar = $('#bodyhight'); 2040 if(navBar.hasClass('mini-navbar')){ 2041 navBar.removeClass('mini-navbar'); 2042 return; 2043 } 2044 2045 console.error('Side bar ', $('.vue-sidebar').innerText) 2046 2047 $('html,body').animate({ scrollTop: 0 }, 'slow'); 2048 navBar.addClass('mini-navbar'); 2049 2050 } 2051 2052 2053 function openSendInternalMessagePopup(){ 2054 $("#GLOBAL_MESSAGE_MODAL").modal('show'); 2055 } 2056 2057 2058 2059 var changeTheDirectionOfArrow = (function(){ 2060 2061 2062 var menu = null; 2063 2064 const ARROW_CLASS = 'arrow' 2065 2066 const RIGHT_ANGLE = 'fa-angle-right' 2067 2068 function __readDom(){ 2069 menu = $('#side-menu') 2070 } 2071 2072 function changeDirection(){ 2073 var listItem = menu.find('li') 2074 $.each(listItem , function(){ 2075 var arrow = __getArrow($(this)); 2076 __updateArrow(arrow); 2077 }) 2078 } 2079 2080 function __getArrow(item){ 2081 return item.find('span.fa.arrow'); 2082 } 2083 2084 function __updateArrow(item){ 2085 item.removeClass(ARROW_CLASS) 2086 item.addClass(RIGHT_ANGLE) 2087 item.css({float : "right"}) 2088 } 2089 2090 __readDom(); 2091 return { 2092 changeDirection : changeDirection 2093 } 2094 2095 })() 2096 2097 $(function(){ 2098 changeTheDirectionOfArrow.changeDirection(); 2099 }) 2100 2101 2102 var count = 0; 2103 2104 $(".digit").on('click', function() { 2105 var num = ($(this).clone().children().remove().end().text()); 2106 if (count < 11) { 2107 $("#output").append('<span>' + num.trim() + '</span>'); 2108 count++ 2109 } 2110 }); 2111 2112 2113 $(document).ready(function(){ 2114 var collapsedMenu = $('ul#side-menu').find('.collapse.in'); 2115 $.each($('body').find('ul.nav.nav-second-level.for-dashboard.collapse.in'), function(){ 2116 $(this).removeClass('in'); 2117 }) 2118 }) 2119 2120 2121 // hide tooltips if data-toggle = tooltip is exict only added by Ezzat 2122 $('.modal').on('shown.bs.modal', function (e) { 2123 if ($(this).attr('data-toggle') === 'tooltip'){ 2124 $(e.target).tooltip('hide'); 2125 } 2126 $(".pad-container").hide(); 2127 $(".user-info-numbers-area").show(); 2128 $('.toggle-pad').attr('disabled',true); 2129 $("#output").html(''); 2130 }); 2131</script>
2131 2132 2133 2134<input type="hidden" id="current_element"/> 2135<input type="hidden" id="ViewHelperVersion" value="1790246824"/> 2136<input type="hidden" id="country_code" value=""/> 2137
2138<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"1c7ac89166","applicationID":"1537129101","transactionName":"ZVMGYEACWUVXURdZC1wZJVdGClhYGVYGVgVHWhAbWw1TU04dCl4AV04=","queueTime":0,"applicationTime":234,"atts":"SRQFFggYSks=","errorBeacon":"bam.nr-data.net","agent":""}</script>
2138<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"84b52bd1c32e47f29ca58a54f1d5b59e","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 2138
2138
2139<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a401436f4ecfeaf4',t:'MTc5MDI0NzM5NQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
2139</body>
2140<script type="text/javascript" src="https://media.twiliocdn.com/sdk/js/client/releases/1.7.7/twilio.min.js"></script>
vendor: 1 bytes, line 2140
2140
2141<script>
vendor: 363 bytes, lines 2141-2147
2141 2142 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 2143 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 2144 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 2145 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 2146 2147 ga('create', '
2147UA-92690224-1
vendor: 41 bytes, lines 2147-2149
2147', 'auto'); 2148 ga('send', 'pageview'); 2149
2150</script>
vendor: 1 bytes, line 2150
2150
2151<script type="text/javascript" src="https://admin.octopuspro.com/js/common/confirmation_popup.js?v=1790246824"></script>
2151 2152<!-- S3 uploader -->
2153<script src="https://admin.octopuspro.com/js/s3_uploader.js?v=1790246824" type="text/javascript"></script>
vendor: 1 bytes, line 2153
2153
2154<script rel="" src="https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js"></script>
2154 2155 2156 2157<!-- S3 upload Files --> 2158<!--
2158<script src="--><!--?v=--><!--" type="text/javascript"></script>
2158-->
2159<script src="https://admin.octopuspro.com/js/js_updated16.js?v=1790246824" type="text/javascript"></script>
2159 2160<!--Aws Uploader --> 2161<!--
2161<script rel="preload" src="https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js"></script>
2161--> 2162<!-- LOAD TRANSLATIONS OBJECT START @AUTHOR AMR --> 2163
2164<script src="https://admin.octopuspro.com/js/_trans/languages/en.js" 2165 type="text/javascript"></script>
2165 2166<!-- LOAD TRANSLATIONS OBJECT END @AUTHOR AMR 2 -->
2167<script src="https://admin.octopuspro.com/js/_trans/trans.js" 2168 type="text/javascript"></script>
2168 2169
2169<script src="https://code.iconify.design/1/1.0.7/iconify.min.js"></script>
2169 2170
2171<script src="/js/octopus-translate.js" type="text/javascript"></script>
2171 2172
2173<script rel="preload" id="tinymceScript" src="/js/tinymce_8.4.0/tinymce.min.js"></script>
vendor: 1 bytes, line 2173
2173
2174<script> 2175 tinymce.init({ 2176 license_key: 'gpl', 2177 selector: '.mceEditor', // change this value according to your HTML 2178 plugin: 'a_tinymce_plugin', 2179 a_plugin_option: true, 2180 a_configuration_option: 400, 2181 setup: function(editor) { 2182 editor.on('change', function(e) { 2183 editor.save(); 2184 window.onbeforeunload = null; 2185 }); 2186 } 2187 }); 2188</script>
2188 2189 2190</html>
2191<script> 2192<!-- -->// 2193// $(window).on('load', function() { 2194// 2195// loadScript("/dist/js/manifest.js?v=//"); 2196// loadScript("/dist/js/vendor.js?v=//"); 2197// loadScript("/dist/js/main.js?v=//"); 2198// 2199// 2200// }); 2201 function loadScript(src,isModule = false) { 2202 return new Promise(function (resolve, reject) { 2203 if ($("script[src='" + src + "']").length === 0) { 2204 var script = document.createElement('script'); 2205 script.onload = function () { 2206 resolve(); 2207 }; 2208 script.onerror = function () { 2209 reject(); 2210 }; 2211 script.src = src; 2212 if(isModule){ 2213 script.type = 'module'; 2214 } 2215 document.body.appendChild(script); 2216 } else { 2217 resolve(); 2218 } 2219 }); 2220 } 2221 2222 $("#send_verification_email").on("click", function() { 2223 $.ajax({ 2224 type: "POST", 2225 2226 url: "https://admin.octopuspro.com/settings/send-verification-ses-custom-email", 2227 success: function (data) { 2228 location.reload(); 2229 } 2230 }); 2231 }) 2232 2233 2234 $( "#page-wrapper" ).on("click", function() { 2235 // $(".nav li").removeClass("active"); 2236 }) 2237 $(document).ready(function () { 2238 $('#search-btn ').click(function () { 2239 if ($(this).next().is(':visible')) { 2240 $(this).next().hide(); 2241 } else { 2242 $(this).next().show(); 2243 $(this).next().find('input[type=text]').focus(); 2244 } 2245 }); 2246 }); 2247 2248 $(function(){ 2249 $('.jq-toast-wrap .jq-toast-heading').hide(); 2250 2251 2252 let customerPortalActiveLinkHrefs = $('.customer-portal-active-link li a'); 2253 const currentUrl = window.location.href; 2254 customerPortalActiveLinkHrefs.each( function (){ 2255 if( $(this).attr('href') !== currentUrl){ 2256 $(this).attr('style', 'color: #a7b1c2 !important'); 2257 } 2258 }); 2259 2260 // Twilio.Device.on('incoming', (call) => { 2261 // $(".pad-container").show(); 2262 // call.on('disconnect', (call) => { 2263 // $(".pad-container").hide(); 2264 // }); 2265 // }); 2266 2267 // $('.btn-call').on("click",function(){ 2268 // $(".pad-container").toggle(); 2269 // $(".user-info-numbers-area").toggle(); 2270 // $('.toggle-pad').removeAttr('disabled'); 2271 // }); 2272 2273 2274 $('.toggle-pad').on("click",function(){ 2275 $(".pad-container").toggle(); 2276 $(".user-info-numbers-area").toggle(); 2277 }); 2278 2279 $('.pad-container .digit').on('click',function(){ 2280 var connection = Twilio.Device.activeConnection(); 2281 if(connection) { 2282 connection.sendDigits($(this).text()); 2283 } 2284 }) 2285 2286 2287 }); 2288 2289</script>
2289 2290 2291<style> 2292 .custom-design-new{ 2293 padding: 15px 30px 15px 30px; 2294 } 2295 .custom-design-new:before 2296 { 2297 content: unset; 2298 } 2299 @media (max-width: 991px) { 2300 .custom-design-new { 2301 padding: 10px !important; 2302 } 2303 } 2304 .custom-design-new:after 2305 { 2306 content: unset; 2307 } 2308 2309 .new-save-btn { 2310 border-radius: 8px !important; 2311 padding: 12px 16px !important; 2312 font-family: 'Roboto', serif !important; 2313 font-style: normal !important; 2314 font-weight: 500 !important; 2315 font-size: 16px !important; 2316 line-height: 16px !important; 2317 text-align: center !important; 2318 color: #ffffff !important; 2319 background: #2e4051 !important; 2320 } 2321 .new-cancel-btn { 2322 background-color: white !important; 2323 color: black !important; 2324 border-color: black !important; 2325 border-radius: 8px !important; 2326 padding: 12px 16px !important; 2327 font-family: 'Roboto', serif !important; 2328 font-style: normal !important; 2329 font-weight: 500 !important; 2330 font-size: 16px !important; 2331 line-height: 16px !important; 2332 text-align: center !important; 2333 } 2334 .justify-content-between{ 2335 justify-content: space-between; 2336 } 2337 .d-flex{display: flex} 2338 .align-center{ 2339 align-items: center; 2340 } 2341 .position-relative{ 2342 position: relative; 2343 font-family: 'Roboto', sans-serif; 2344 2345 } 2346 .custom-style{ 2347 position: absolute !important; 2348 top:10px !important; 2349 right:10px !important; 2350 margin-right:0 !important; 2351 } 2352 #address_Modal_admin .gm-style-iw{ 2353 display: flex !important; 2354 max-height: 40px!important; 2355 align-items: center; 2356 flex-direction: row-reverse; 2357 padding-left: 0.07% !important; 2358 } 2359 @media (max-width: 768px) {
2360 .modal-body.edit_padd_contractor_pop .p-bottom-60-mob { 2361 padding: 12px !important; 2362 } 2363 } 2364</style> 2365<div class="modal fade" id="address_Modal_admin" role="dialog" data-backdrop="static" > 2366 <div class="modal-dialog"> 2367 2368 <form id="address_form" class="form-horizontal" method="get" onsubmit="fillPlace(0,null,0,1);" autocomplete="odgfdgff" > 2369 <!-- Modal content--> 2370 <div class="modal-content h-fit-content" > 2371 <div class="modal-header"> 2372 <button type="button" class="close close_map" data-dismiss="modal">×</button> 2373 <h4 class="modal-title" id="addressModalTitle" style="text-align: center;font-weight: bold;"> Please confirm location by dragging the marker on the map </h4> 2374 </div> 2375 <div style="padding-bottom: 0px;" class="modal-body"> 2376 <div class="alert-address alert-danger welcome-alert" role="alert" style="display: none;margin-bottom: 5px;"></div> 2377 <div id="customerResult"></div> 2378 <div class="row p-bottom-24 p-right-8 p-left-8 " id="modal_components" > 2379 <div class="form-group"> 2380 <div class="col-md-12"> 2381 <div class="inline col-md-12 col-xs-12 no-padding"> 2382 <input autocomplete="odgfdgff" class=" Location_details_input text_input form-control change-google-location" placeholder="Tag e.g. Home" name="marker_label[]" type="text" value="" id="marker_label"/> 2383 </div> 2384 </div> 2385 </div> 2386 <div class="form-group"> 2387 <div class="col-md-12"> 2388 2389 <div class="inline col-md-2 col-xs-6 ipad_locations_inputs_style "> 2390 2391 2392 <input autocomplete="odgfdgff" class=" Location_details_input text_input form-control change-google-location" auto_fill="subpremise" placeholder="Unit / Lot No." name="unit_lot_number[]" type="text" value="" id="unit_lot_number"/> 2393 2394 </div> 2395 2396 <div class="inline col-md-5 col-xs-6 ipad_locations_inputs_style "> 2397 2398 2399 <input class=" Location_details_input text_input form-control change-google-location update_address_from_component" real-val="" placeholder="Address line 1" auto_fill="street_number" name="street_number[]" type="text" value="" id="street_number" autocomplete="odgfdgff" /> 2400 </div> 2401 2402 <div class="inline col-md-5 col-xs-12 "> 2403 2404 <input class=" Location_details_input text_input form-control change-google-location update_address_from_component" name="street_address[]" auto_fill="route" real-val="" placeholder="Address line 2" type="text" value="" id="street_address" autocomplete="odgfdgff" /> 2405 2406 </div> 2407 2408 </div> 2409 </div> 2410 2411 2412 <div class="form-group "> 2413 2414 <div class="col-md-12 "> 2415 2416 <div class="inline col-md-4 col-xs-6 ipad_locations_inputs_style"> 2417 <input class=" Location_details_input text_input form-control change-google-location update_address_from_component" name="suburb[]" placeholder="Suburb / Locality" auto_fill="locality" real-val="" type="text" value="" id="suburb" autocomplete="odgfdgff" /><!--required--> 2418 </div> 2419 2420 <div class="inline col-md-4 col-xs-6 "> 2421 <input class=" Location_details_input text_input form-control change-google-location update_address_from_component" name="postcode[]" auto_fill="postal_code" real-val="" placeholder="Postal / Zip code" type="text" value="" id="postcode" autocomplete="odgfdgff" /> 2422 </div> 2423 2424 <div class="inline col-md-4 col-xs-6 ipad_locations_inputs_style"> 2425 <input class=" Location_details_input text_input form-control change-google-location update_address_from_component" name="country[]" auto_fill="
2425country" placeholder="country" type="hidden" value="" id="country" autocomplete="odgfdgff" /> 2426 <input class=" Location_details_input text_input form-control change-google-location update_address_from_component" name="time_zone[]" auto_fill="time_zone" placeholder="time_zone" type="hidden" value="" id="time_zone" autocomplete="off" /> 2427 </div> 2428 <div class="inline col-md-4 col-xs-12 " id="display_state"> 2429 <input class=" Location_details_input text_input form-control change-google-location update_address_from_component" name="state[]" placeholder="State" auto_fill="state" type="text" value="" autocomplete="odgfdgff" /><!--required--> 2430 </div> 2431 </div> 2432 2433 </div> 2434 2435 2436<div class="col-xs-12 "> 2437 <label for="autocomplete" style="font-family: 'Roboto';font-style: normal;font-weight: 600;font-size: 16px;line-height: 24px;color: #2E4051;" class="Url_label_vue"> Url</label> 2438 2439 <input class="text_input form-control auto p-all-15 Location_details_input" id="autocomplete" link-to-address ="1" 2440 placeholder="Link to address" autocomplete="odgfdgff" name="fullAddress[]" type="text" value=""/> 2441</div> 2442 </div> 2443 2444 <div class="row" style="padding: 0px"> 2445 <div class="col-md-12 modal_body_map" style="padding: 7px"> 2446 <div class="location-map 22" id="location-map-admin"> 2447 <div id="map_canvas" style="height: 400px;"></div> 2448 </div> 2449 </div> 2450 </div> 2451 2452 </div> 2453 <div class="form-group col-md-12 parent-lat-lon-alignment"> 2454 <div class="col-md-12 lat-lon-alignment"> 2455 <div class="inline col-md-4 col-xs-6 p-left-0"> 2456 <input autocomplete="odgfdgff" style=" color: #000000; background-color: #ffffffd9; " class=" Location_details_input text_input form-control change-google-location" onchange="autocompleteByLatLon('' , undefined , $(event.target).attr('id'))" name="lat[]" auto_fill="lat" required placeholder="Latitude" type="text" value="" id="lat" /><!--required--> 2457 </div> 2458 2459 <div class="inline col-md-4 col-xs-6 padding-left-no-right"> 2460 <input autocomplete="odgfdgff" style=" color: #000000; background-color: #ffffffd9; " class=" Location_details_input text_input form-control change-google-location" onchange="autocompleteByLatLon('' , undefined , $(event.target).attr('id'))" name="lon[]" auto_fill="lng" required placeholder="Longitude" type="text" value="" id="lon" /> 2461 </div> 2462 </div> 2463 </div> 2464 2465 <div class="modal-footer h-fit-content" > 2466 <div id="button_container" class="h-fit-content"> 2467 <button type="submit" class="width_of_icon_search float-right btn-confirm-popup" > Save changes </button> 2468 <button class="close_map btn-cancel-popup change-p-y float-left" data-dismiss="modal" > Cancel </button> 2469 </div> 2470 2471 </div> 2472 </div> 2473 </div> 2474 </form> 2475 </div> 2476<style> 2477 .ts-dropdown, .ts-dropdown.form-control, .ts-dropdown.form-select{ 2478 background-color: #ffffff !important; 2479 } 2480 .change-p-y{ 2481 padding: 12px 26px !important; 2482 } 2483 .padd-left-0{ 2484 padding-left: 0 !important; 2485 } 2486 2487</style>
2488<script> 2489 $(document).ready(function () { 2490 2491 document.body.addEventListener('click', function (event) { 2492 if (event.target.closest('a[data-target="#create_edit_customer_popup"]')) { 2493 event.preventDefault(); 2494 // Get the value of data-target attribute 2495 var dataTarget = this.getAttribute('data-target'); 2496 VueEventBus.$emit('openModalCustomer'); 2497 // Do something with the data-target value 2498 console.log('Data Target:', dataTarget); 2499 } 2500 }); 2501 2502 }); 2503 2504 2505</script>
2505 2506 2507 2508<div class="vue3-component" id="modals"></div>
2509<script src="https://admin.octopuspro.com/js/disable-autocomplete.js?v=1790246824" type="text/javascript"></script>
2509 2510<style> 2511 2512 2513 /* Address-update styling is scoped so other shared confirm usages stay unchanged. */ 2514 #confirm.address-update-confirm .modal-dialog { 2515 width: 840px; 2516 max-width: calc(100% - 32px); 2517 margin: 20px auto; 2518 } 2519 #confirm.address-update-confirm .modal-content { 2520 border: 0; 2521 border-radius: 4px; 2522 box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25); 2523 overflow: hidden; 2524 } 2525 #confirm.address-update-confirm .modal-header { 2526 position: relative; 2527 padding: 22px 16px 20px; 2528 border-bottom: 1px solid #e5e5e5; 2529 } 2530 #confirm.address-update-confirm .modal-title { 2531 margin: 0; 2532 padding-right: 30px; 2533 font-size: 31px; 2534 font-weight: 700; 2535 line-height: 1.2; 2536 color: #34495e; 2537 } 2538 #confirm.address-update-confirm .modal-body { 2539 padding: 28px 16px 26px !important; 2540 } 2541 #confirm.address-update-confirm .modal-body p, 2542 #confirm.address-update-confirm .confirm-message-text { 2543 margin: 0; 2544 font-size: 16px; 2545 line-height: 1.6; 2546 color: #6d737a; 2547 } 2548 #confirm.address-update-confirm .modal-footer { 2549 display: flex; 2550 justify-content: space-between; 2551 align-items: center; 2552 gap: 12px; 2553 padding: 0 16px 20px; 2554 border-top: 0 !important; 2555 } 2556 #confirm.address-update-confirm .modal-footer::before, 2557 #confirm.address-update-confirm .modal-footer::after { 2558 display: none; 2559 } 2560 #confirm.address-update-confirm .modal-footer .col-lg-3, 2561 #confirm.address-update-confirm .modal-footer .col-md-4, 2562 #confirm.address-update-confirm .modal-footer .col-xs-5 { 2563 float: none; 2564 width: auto; 2565 padding: 0; 2566 } 2567 #confirm.address-update-confirm .modal-close-btn { 2568 position: absolute; 2569 top: 16px; 2570 right: 16px; 2571 width: auto; 2572 height: auto; 2573 padding: 0; 2574 border: 0; 2575 background: transparent; 2576 color: #cfcfcf; 2577 font-size: 32px; 2578 font-weight: 400; 2579 line-height: 1; 2580 opacity: 1; 2581 text-shadow: none; 2582 transition: color 0.2s ease; 2583 } 2584 #confirm.address-update-confirm .modal-close-btn:hover, 2585 #confirm.address-update-confirm .modal-close-btn:focus { 2586 background: transparent; 2587 color: #98a2ad; 2588 outline: none; 2589 } 2590 #confirm.address-update-confirm .confirm-modern-btn { 2591 display: inline-flex; 2592 justify-content: center; 2593 align-items: center; 2594 min-width: 132px; 2595 height: 42px; 2596 padding: 0 22px; 2597 border-radius: 8px; 2598 border: 1px solid transparent; 2599 font-size: 15px; 2600 font-weight: 600; 2601 text-decoration: none; 2602 box-shadow: none; 2603 transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; 2604 } 2605 #confirm.address-update-confirm .confirm-modern-btn:hover, 2606 #confirm.address-update-confirm .confirm-modern-btn:focus { 2607 text-decoration: none; 2608 outline: none; 2609 } 2610 #confirm.address-update-confirm .confirm-modern-btn-secondary { 2611 background: #ffffff; 2612 border-color: #d4d9de; 2613 color: #4f5965; 2614 } 2615 #confirm.address-update-confirm .confirm-modern-btn-secondary:hover, 2616 #confirm.address-update-confirm .confirm-modern-btn-secondary:focus { 2617 background: #f8fafb; 2618 border-color: #c8d0d8; 2619 color: #34495e; 2620 } 2621 #confirm.address-update-confirm .confirm-modern-btn-primary { 2622 background: #34495e; 2623 border-color: #34495e; 2624 color: #ffffff; 2625 } 2626 #confirm.address-update-confirm .confirm-modern-btn-primary:hover, 2627 #confirm.address-update-confirm .confirm-modern-btn-primary:focus { 2628 background: #2c3e50; 2629 border-color: #2c3e50; 2630 color: #ffffff; 2631 } 2632 .modal-backdrop.in.address-update-backdrop { 2633 opacity: .55; 2634 background: #666666; 2635 } 2636 @media only screen and (max-width: 767px) { 2637 #confirm.address-update-confirm .modal-dialog { 2638 width: auto; 2639 max-width: none; 2640 margin: 18px 14px; 2641 }
2642 #confirm.address-update-confirm .modal-header { 2643 padding: 18px 14px 16px; 2644 } 2645 #confirm.address-update-confirm .modal-title { 2646 font-size: 24px; 2647 padding-right: 24px; 2648 } 2649 #confirm.address-update-confirm .modal-body { 2650 padding: 22px 14px 20px !important; 2651 } 2652 #confirm.address-update-confirm .modal-footer { 2653 padding: 0 14px 16px; 2654 flex-direction: column-reverse; 2655 align-items: stretch; 2656 } 2657 #confirm.address-update-confirm .confirm-modern-btn { 2658 width: 100%; 2659 min-width: 0; 2660 } 2661 #confirm.address-update-confirm .modal-close-btn { 2662 top: 12px; 2663 right: 12px; 2664 } 2665 } 2666 .custom-m-top-0{ 2667 margin-top: 0px !important; 2668 } 2669 .modal-header{ 2670 padding: 16px 20px !important; 2671 } 2672 #confirm .modal-dialog.modal-md{width: 65% !important;} 2673 #popupi .modal-dialog.modal-md{width: 65% !important;} 2674 @media (max-width: 1440px) { 2675 #confirm .modal-dialog.modal-md{width: 80% !important;} 2676 #popupi .modal-dialog.modal-md{width: 80% !important;} 2677 } 2678 @media (max-width: 768px) { 2679 #confirm .modal-dialog.modal-md{width: auto !important;} 2680 #popupi .modal-dialog.modal-md{width: auto !important;} 2681 } 2682</style>
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.