1<!DOCTYPE html>
2<script type='module' src='/vue-3/assets/main--PahQucp.js?v=1790862941' rel='preload'></script>
2 <link type='text/css' rel='stylesheet' href='/vue-3/assets/style-B59C2bZq.css?v=1790862941'>
3<script> 4 if(localStorage.getItem('version') !== '1790862941'){ 5 localStorage.removeItem('data') 6 localStorage.removeItem('s3PathsData') 7 localStorage.removeItem('bookingStatusesData') 8 localStorage.setItem('version','1790862941') 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<script src="/js/platform-guard-challenge.js?v=1790862941&h=4"></script>
21 22
22<script src='/dist/js/manifest.js?v=1790862941'></script>
22 23
23<script src='/dist/js/vendor.js?v=1790862941'></script>
23 24
24<script src='/dist/js/main.js?v=1790862941'></script>
24 25 26 <!--
26<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyC7vd6jFUCUbMyfDtWOJlb4n9y2rZU5hhw&libraries=places"></script>
26--> 27 28 <!-- Adding Initial Scale --> 29 <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1"> 30 31 32 33 <link type="text/css" rel="stylesheet" media="screen" href="/css/bootstrap.min.css?v=1790862941"/> 34 <link type="text/css" rel="stylesheet" media="screen" href="/css/style-updated9.css?v=286?v=1790862941"/> 35 <link type="text/css" rel="stylesheet" media="screen" href="/css/custom_css.min.css?v=1790862941"/> 36 <link type="text/css" rel="stylesheet" media="screen" href="/css/Scroll-menu.css?v=1790862941"/> 37 <link type="text/css" rel="stylesheet" media="screen" href="/css/fontello.min.css?v=1790862941"/> 38 <link type="text/css" rel="stylesheet" media="screen" href="/css/animate.min.css?v=1790862941"/> 39 <link type="text/css" rel="stylesheet" media="screen" href="/css/basic.min.css?v=1790862941"/> 40 <link type="text/css" rel="stylesheet" media="screen" href="/css/switchery.css?v=1790862941"/> 41 <link type="text/css" rel="stylesheet" media="screen" href="/css/firebaseui.css?v=1790862941"/> 42 <link type="text/css" rel="stylesheet" media="screen" href="/css/dropzone.min.css?v=1790862941"/> 43 <link type="text/css" rel="stylesheet" media="screen" href="/css/summernote.css?v=1790862941"/> 44 <link type="text/css" rel="stylesheet" media="screen" href="/css/login_updated.css?v=115?v=1790862941"/> 45 <link type="text/css" rel="stylesheet" media="screen" href="/css/SimpleSliderCustom.css?v=1790862941"/> 46 <link type="text/css" rel="stylesheet" media="screen" href="/css/activity-log.min.css?v=1790862941"/> 47 <link type="text/css" rel="stylesheet" media="screen" href="/css/filtersCss.css?v=102?v=1790862941"/> 48 <link type="text/css" rel="stylesheet" media="screen" href="/css/bootstrap-timepicker.css?v=1790862941"/> 49 <link type="text/css" rel="stylesheet" media="screen" href="/css/responsive-table-updated3.css?v=5?v=1790862941"/> 50 <link type="text/css" rel="stylesheet" media="screen" href="/css/datepicker3.min.css?v=1790862941"/> 51 <link type="text/css" rel="stylesheet" media="screen" href="/css/bootstrap-datetimepicker.min.css?v=1790862941"/> 52 <link type="text/css" rel="stylesheet" media="screen" href="/css/bootstrap-colorpicker.min.css?v=1790862941"/> 53 <link type="text/css" rel="stylesheet" media="screen" href="/css/bootstrap-clockpicker.min.css?v=1790862941"/> 54 <link type="text/css" rel="stylesheet" media="screen" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"/> 55 <link type="text/css" rel="stylesheet" media="screen" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap-select.min.css"/> 56 <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"/> 57 <link type="text/css" rel="stylesheet" media="screen" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css"/> 58
58<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js?v=1790862941" type="text/javascript"></script>
58 59
59<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery-migrate.min.js?v=1790862941" type="text/javascript"></script>
59 60
60<script src="https://cdn.jsdelivr.net/npm/[email protected]/jquery-ui.min.js?v=1790862941" type="text/javascript"></script>
60 61
61<script src="/js/inspinia.js?v=1790862941" type="text/javascript"></script>
61 62
62<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js?v=1790862941" type="text/javascript"></script>
62 63
63<script src="https://cdn.jsdelivr.net/npm/[email protected]/min/moment.min.js?v=1790862941" type="text/javascript"></script>
63 64
64<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap-select.min.js?v=1790862941" type="text/javascript"></script>
64 65
65<script src="/js/switchery.min.js?v=1790862941" type="text/javascript"></script>
65 66
66<script src="/js/classie.js?v=1790862941" type="text/javascript"></script>
66 67
67<script src="/js/bootstrap-tabdrop.js?v=1790862941" type="text/javascript"></script>
67 68
68<script src="/js/jquery.form.min.js?v=1790862941" type="text/javascript"></script>
68 69
69<script src="/js/notify_updated.min.js?v=1790862941" type="text/javascript"></script>
69 70
70<script src="/js/jquery.bootstrap-touchspin-updated2.js?v=1790862941" type="text/javascript"></script>
70 71
71<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.validate.min.js?v=1790862941" type="text/javascript"></script>
71 72
72<script src="/plugins/dropzone/dropzone.min.js?v=1790862941" type="text/javascript"></script>
72 73
73<script src="/js/summernote.min.js?v=1790862941" type="text/javascript"></script>
73 74
74<script src="/js/firebase.js?v=1790862941" type="text/javascript"></script>
74 75
75<script src="/js/firebaseui.js?v=1790862941" type="text/javascript"></script>
75 76
76<script src="/js/signature_pad.min.js?v=1790862941" type="text/javascript"></script>
76 77
77<script src="/js/jquery.tablesorter.js?v=1790862941" type="text/javascript"></script>
77 78
78<script src="/js/jquery.format-1.3.min.js?v=1790862941" type="text/javascript"></script>
78 79
79<script src="/js/nav-dropdown.js?v=1790862941" type="text/javascript"></script>
79 80
80<script src="/js/bootstrap-datetimepicker.min.js?v=1790862941" type="text/javascript"></script>
80 81
81<script src="/js/bootstrap-colorpicker.min.js?v=1790862941" type="text/javascript"></script>
81 82
82<script src="/js/bootstrap-modal-popover.js?v=1790862941" type="text/javascript"></script>
82 83
83<script src="/js/popover.js?v=1790862941" type="text/javascript"></script>
83 84
84<script src="/js/bootstrap-clockpicker.min.js?v=1790862941" type="text/javascript"></script>
84 85
85<script src="/js/bootstrap-datepicker_1.js?v=1790862941" type="text/javascript"></script>
85 86
86<script src="/js/ajax/AjaxManager.js?v=1790862941" type="text/javascript"></script>
86 87
87<script src="/js/filters.js?v=1790862941" type="text/javascript"></script>
87 88
88<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js?v=1790862941" type="text/javascript"></script>
88 89
89<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>
89 90 91 92 93
93<script> 94 const GOOGLE_API_KEY = 'AIzaSyAPqtzqpQ7hTnssEESLhM1twGHR_qhwIOc'; 95 96 </script>
96 97 98 99 100 101 <link REL="SHORTCUT ICON" 102 HREF="https://admin.octopuspro.com/pic/favicon_octologo.png?v=1790862941"/> 103 104 105 106 107 108 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
108<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 */ 109(()=>{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};
109e.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;
109const 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);
109if(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$:()=>
109o,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])}
109(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}
109;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)=>
109{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
109ine_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()=>
109{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)=>
109null==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
109dTimingMethod(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
109imeToRegister: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})})}
109return 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"
109!==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);
109if(!(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)}
109);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)})});
109class 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
109h(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>
109 110<meta name="description" content="Login - OctopusPro - Octopuspro" ><title>Login - OctopusPro</title> 111 112 <!--By moataz to check if company has twilio account or not --> 113 <!-- --> 114 <!-- BOOK SETTINGS STYLE LEVEL STARTS @AUTHOR AMR--> 115 <!-- <link type="text/css" rel="stylesheet"--> 116 <!-- BOOK SETTINGS STYLE LEVEL ENDS @AUTHOR AMR--> 117 118 119 120 <!-- INITIALIZE LANGUAGE SCRIPT START @AUTHOR AMR --> 121
121<script type="text/javascript"> 122 /** 123 * Global JS constants injected by the PHP layout. 124 * 125 * LANG â The active locale code from Zend's translator (e.g. 'en', 'ar', 'fr'). 126 * Used by octopus-translate.js to decide which translation file to load 127 * and by trans.js for the existing translation system. 128 * 129 * COMPANY_ID â The currently authenticated company's numeric ID, cast to int for safety. 130 * Used by octopus-translate.js to apply the feature gate (only runs for 131 * companies that have the translation feature enabled). 132 * 133 * LARAVEL_BASE â The base URL of the Laravel API (e.g. 'https://api.example.com'). 134 * Trailing slash is stripped to avoid double-slash issues when 135 * building endpoint URLs like `${LARAVEL_BASE}/api/v2/locales`. 136 */ 137 const LANG = 'en'; 138 const COMPANY_ID = 0; 139 </script>
139 140 <!-- INITIALIZE LANGUAGE SCRIPT FINISH @AUTHOR AMR --> 141 142 143 144</head> 145<style> 146 .h-fit-content{ 147 height: fit-content !important; 148 } 149 .inline.no-padding{ 150 width: 100%; 151 margin-bottom: 15px; 152 } 153 .input-group-btn .fa-minus,.input-group-btn .fa-plus{ 154 font-size: 14px !important; 155 padding-top: 5px; 156 } 157.font-s-32{ 158 159 font-size: 32px !important; 160} 161 div > #button:focus{ 162 border-color: #2e4051 !important; 163 } 164 #authenticate_email:focus{ 165 border-color: #2e4051 !important; 166 } 167 #custom_popupi .btn-primary:focus { 168 border-color: #2e4051 !important; 169 } 170 .width_100{ 171 width: 100%; 172 margin-bottom : 15px !important; 173 } 174 175.digit, 176.dig { 177 float: left; 178 padding: 10px 30px; 179 font-size: 2rem; 180 cursor: pointer; 181} 182 183.sub { 184 font-size: 0.8rem; 185 color: grey; 186} 187 188.pad-container { 189 display: none; 190 background-color: white; 191 width: 255px; 192 padding: 18px; 193 margin: auto; 194 text-align: center; 195 box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); 196} 197 198.pad-container #output { 199 border: 1px solid lightgray; 200 padding: 5px !important; 201 min-height: 32px; 202} 203 204.pad-container .row { 205 margin-left: 0px; 206} 207 208.toggle-pad { 209 cursor: pointer; 210} 211 212#call { 213 display: inline-block; 214 background-color: #66bb6a; 215 padding: 4px 30px; 216 margin: 10px; 217 color: white; 218 border-radius: 4px; 219 float: left; 220 cursor: pointer; 221} 222 223.botrow { 224 margin: 0 auto; 225 width: 280px; 226 clear: both; 227 text-align: center; 228 font-family: 'Exo'; 229} 230 231.back-button { 232 padding: 4px !important; 233 font-size: 25px !important; 234 cursor: pointer !important; 235 margin-top: 0px !important; 236 margin-left: 0px !important; 237} 238 239 240.digit:active, 241.dig:active { 242 background-color: #e6e6e6; 243} 244 245#call:hover { 246 background-color: #81c784; 247} 248 249.dig { 250 float: left; 251 padding: 10px 20px; 252 margin: 10px; 253 width: 30px; 254 cursor: pointer; 255} 256 257 #newTwilioModal .modal-content,#newTwilioModal2 .modal-content { 258 background-color: #222222 !important;; 259 text-align: center; 260 padding-top: 40px; 261 /*width:420px !important;*/ 262 } 263 264 #newTwilioModal .modal-footer , #newTwilioModal2 .modal-footer { 265 background-color: #fefefe !important; 266 text-align: center; 267 } 268 269 #newTwilioModal .btn-circle ,#newTwilioModal2 .btn-circle{ 270 width: 50px; 271 height: 50px; 272 text-align: center; 273 font-size: 22px; 274 line-height: 1.42857; 275 border-radius: 50%; 276 outline: none; 277 } 278 279 #newTwilioModal .user-info, #newTwilioModal2 .user-info{ 280 padding-bottom: 20px !important; 281 } 282 #newTwilioModal .btn-call:hover ,#newTwilioModal .green-btn-call, 283 #newTwilioModal2 .btn-call:hover ,#newTwilioModal .green-btn-call{ 284 color: white; 285 background-color: forestgreen !important; 286 } 287 288 #newTwilioModal #content_modal_popup_twilio , 289 #newTwilioModal2 #content_modal_popup_twilio { 290 width: 50%; 291 margin: 0 auto; 292 } 293 294 #newTwilioModal .btn-user-avatar, 295 #newTwilioModal2 .btn-user-avatar { 296 297 width:180px; 298 height:180px; 299 font-size: 88px; 300 background-color: #494949 !important; 301 border-color: #494949; 302 color: white; 303 } 304 305 #newTwilioModal .modal-header .close 306 , #newTwilioModal2 .modal-header .close{ 307 margin-top: -37px; 308 color: white; 309 font-size: 25px; 310 margin-right: 10px; 311 312 } 313 #newTwilioModal .modal-header 314 ,#newTwilioModal2 .modal-header{ 315 border:none !important; 316 } 317 #newTwilioModal #warning, 318 #newTwilioModal2 #warning{ 319 padding: 10px 0px; 320 text-align: center; 321 color: red; 322 } 323 324 #newTwilioModal .callee-name, 325 #newTwilioModal2 .callee-name{ 326 padding: 21px 0px; 327 font-size: 18px; 328 color: whitesmoke; 329 } 330 331 #newTwilioModal .modal-body{ 332 max-height: calc(100vh - 212px); 333 overflow-y: auto; 334 } 335 #newTwilioModal #call-time , 336 #newTwilioModal2 #call-time{ 337 color:white; 338 } 339 #newTwilioModal .callee-number , 340 #newTwilioModal2 .callee-number{ 341 color: white; 342 font-size: 20px; 343 344 padding-bottom: 32px; 345 } 346 347 .dismissbtn{ 348 background-color: transparent; 349 border-color: white; 350 } 351</style> 352<!--/*popups style*/--> 353<link rel="stylesheet" href="https://admin.octopuspro.com/css/popups-style.css?v=3?v=1790862941"> 354<style> 355 .updated_date{ 356 float: right; 357 font-size: 10px; 358 } 359 @media (max-width: 720px){ 360 #search_form { 361 width: 100%!important; 362 }} 363 364 @media only screen and (max-width: 991px) { 365 .updated_date{ 366 float: none; 367 } 368 #tidio-chat-iframe { 369 display: none; 370 } 371 } 372 373 374 @media only screen and (max-width: 500px) { 375 .label-margin 376 { 377 margin-top:5px; 378 } 379 } 380 #tidio-chat div iframe { 381 left: 200px !important; 382 right: initial !important; 383 } 384 385 .settings-items .nav-second-level li a { 386 padding: 14px 10px 7px 10px; 387 padding-left: 40px; 388 } 389 390 .settings-items > .nav > li > a { 391 padding: 14px 10px 2px 10px; 392 } 393 394 .settings-items .nav-third-level li a { 395 padding: 7px 20px 2px 25px; 396 padding-left: 50px; 397 } 398 399 .nav > li > a { 400 color: #ffffff; 401 } 402 403 .nav-second-level > li > a { 404 color: #a7b1c2; 405 } 406 407 .nav-third-level > li > a { 408 color: #a7b1c2; 409 padding-left: 45px; 410 } 411 412 413 .collapse.in{ 414 415 height: auto !important; 416 417 } 418 419 .nav_parent_top_menu { 420 background: #fff; 421 } 422 423 424 .custom-search-container { 425 position: relative; 426 } 427 .custom-search-container input { text-indent: 22px;} 428 .custom-search-container .fa-search { 429 position: absolute; 430 top: 10px; 431 left: 10px; 432 z-index: 1 433 } 434 435 .blue-label-btn { 436 background-color: #03A9F4; 437 border-color: #03A9F4; 438 font-size: 12px; 439 color: white; 440 } 441 .blue-label-btn:hover{ 442 background-color: #0790ce; 443 border-color: #0790ce; 444 color: white; 445 } 446 div#address_Modal_admin { 447 z-index: 1071; 448 } 449 #top-menu{ 450 padding: 10px 30px !important; 451 } 452 @media (max-width: 768px) { 453 454 body.mini-navbar .navbar-static-side { 455 width: 65% ; 456 display: block; 457 } 458 /*.yes{*/ 459 /* width: 50%;*/ 460 /* display: block;*/ 461 /*}*/ 462 .nav_parent_top_menu { 463 background: #fff; 464 position: relative; 465 z-index: 1010; 466 } 467 /*body.mini-navbar .nav-header{*/ 468 /* padding-top: 63px;*/ 469 /*}*/ 470 body.mini-navbar .profile-element, body.mini-navbar .nav-label, body.mini-navbar .navbar-default .nav li a span { 471 display: block; 472 } 473 #complo , #myaccount-image , .logo-element{ 474 display: none; 475 } 476 477 .nav>li { 478 position: relative; 479 display: block; 480 } 481 .nav > li > a { 482 color: #a7b1c2; 483 font-weight: 600; 484 /*padding: 14px 20px 14px 25px;*/ 485 486 } 487 .nav > li > a i { 488 margin-right: 6px; 489 float: left; 490 } 491 .nav > li a .nav-label{ 492 font-size: 13px; 493 } 494 .dis_none_in_mob{ 495 display: none !important; 496 } 497 .flex_elemnt{ 498 display: flex; 499 align-items: center; 500 justify-content: center; 501 } 502 .trans_top{ 503 transform: translateY(-16px); 504 }
505 body:not(.fixed-sidebar).mini-navbar .nav li:hover .nav-second-level{ 506 position: relative; 507 left:0 508 } 509 body:not(.fixed-sidebar).mini-navbar .nav li:active .nav-second-level{ 510 display: block; 511 position: relative; 512 left: 0; 513 } 514 body:not(.fixed-sidebar).mini-navbar .nav li:active ,.nav-second-level, .mini-navbar .nav li:focus > .nav-second-level{ 515 position: relative; 516 left: 0; 517 } 518 /*.nav li .nav-second-level{*/ 519 /* display: none !important;*/ 520 /*}*/ 521 /*.nav li.active .nav-second-level{ 522 display: block !important; 523 }*/ 524 /*.work_toggels{*/ 525 /* display: block;*/ 526 /* position: relative;*/ 527 /* left: 0;*/ 528 /*}*/ 529 .mini-navbar .nav-second-level{ 530 position: relative; 531 } 532 /*body.mini-navbar #page-wrapper{*/ 533 /* background: none;*/ 534 /*}*/ 535 .body-small.mini-navbar .navbar-static-side{ 536 /*top: 63px;*/ 537 /*padding-bottom: 200px !important;*/ 538 } 539 body.mini-navbar #page-wrapper { 540 margin:0 !important; 541 } 542 .settings-items .nav-third-level li a{ 543 padding-left: 20px ; 544 } 545 .n_padding_left_mob{ 546 padding-left: 25px !important; 547 } 548 .mini-navbar .nav-second-level li a{ 549 padding: 10px 10px 10px 20px; 550 } 551 .mini-navbar li.active .nav-second-level{ 552 left: 0; 553 } 554 .nav-second-level li > ul { 555 padding-left: 15px; 556 } 557 .edit_padd_in_mob{ 558 padding-left: 25px !important; 559 } 560 .hiddin_in_mob{ 561 display: none !important; 562 } 563 .padding_bot_500{ 564 padding-bottom:500px; 565 } 566 /*.label-primary, .badge-primary{*/ 567 /* transform: translate(10px , -16px) !important;*/ 568 /*}*/ 569 .unique_box_number .pull-right{ 570 transform: translate(0px , -16px) !important; 571 } 572 #top-menu{ 573 padding: 10px 25px !important; 574 /*padding-left: 10px !important;*/ 575 ; 576 } 577 } 578 .home-profile{ 579 display: flex; 580 flex-direction: column; 581 flex-wrap: wrap; 582 align-content: center; 583 } 584 .uniq_flex{ 585 display: flex; 586 justify-content: space-evenly; 587 align-items: flex-end; 588 } 589 .hiddin_in_mob{ 590 display: none !important; 591 } 592 .width_of_icon_search{ 593 background: #0e9aef !important; 594 border-color: #0e9aef !important; 595 596 } 597 .width_of_icon_search:hover{ 598 background: #0e9aef; 599 border-color: #0e9aef; 600 } 601 .width_of_icon_search:active{ 602 603 background: #0e9aef; 604 border-color: #0e9aef; 605 } 606 .width_of_icon_search:focus{ 607 608 background: #0e9aef; 609 border-color: #0e9aef; 610 } 611 @media (max-width: 350px) { 612 body.mini-navbar .navbar-static-side { 613 width: 62% ; 614 display: block; 615 } 616 body.mini-navbar .navbar-static-side { 617 width: 65% ; 618 display: block; 619 } 620 } 621 622 .cancel_style{ 623 color: #2f4050!important; 624 background-color: #fff!important; 625 border-color: #2f4050!important; 626 } 627 .min_width_btn{ 628 min-width: 120px; 629 } 630 631 .toggle-pad img{ 632 height: 35px; 633 width: 35px; 634 margin-left: -10px; 635 margin-top: -5px; 636 } 637 638 @media (max-width: 350px) { 639 .add_15margin__un_350{ 640 margin-left: -15px; 641 margin-right: -15px; 642 } 643 } 644</style> 645
646<script> 647 $(".sidebar-collapse ul li a").on("click", function() { 648 $("body.mini-navbar .navbar-static-side").addClass("yes"); 649 }) 650 651 function showEmbedText() { 652 popupi_alert('Set this workerâs default pay rules', ` 653 <ul style="margin:0 0 12px 20px; padding:0; list-style-position:inside; list-style-type:disc; font-size:14px; line-height:1.5;"> 654 <li style="margin-bottom:4px;"> 655 <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). 656 </li> 657 <li style="margin-bottom:4px;"> 658 <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. 659 </li> 660 <li style="margin-bottom:4px;"> 661 <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). 662 </li> 663 <li style="margin-bottom:4px;"> 664 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>. 665 </li> 666 <li style="margin-bottom:4px;"> 667 All shares are calculated on the pre-tax amount and each service lineâs totals canât exceed <b>100 %.</b> 668 </li> 669 670 <a href="https://help.octopuspro.com/fieldworker-commission-pay-rates" target="_blank" style="text-decoration:none; font-size:14px; line-height:1.5;"> 671 <strong>Learn More â</strong> 672 </a> 673 674</ul> 675 676`); 677 $('.modal-footer').hide(); 678 } 679 680 681</script>
681 682<!--check if 'hide_menu' received from bootstrap file equals true,render custom css to hide menu--> 683 684 685<!-- START CUSTOM CSS FOR MOBIE WEB VIEW @AUTHOR Yosor test--> 686<link rel="stylesheet" href="" id="web_view_link"> 687<!-- END CUSTOM CSS FOR MOBIE WEB VIEW @AUTHOR AMR--> 688<body class="pace-done " id='bodyhight' onload="loadhight()"> 689 690<!-- Browser compatibility warning banner â shown only on non-Chrome / non-Safari browsers --> 691<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;"> 692 <span> 693 <i class="fa fa-exclamation-circle" style="margin-right:8px;"></i> 694 For the best experience and full feature support, please use <strong>Google Chrome</strong> or <strong>Safari</strong>. 695 Your current browser may not display all features correctly. 696 </span> 697 <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> 698</div>
699<script> 700 (function () { 701 var ua = navigator.userAgent; 702 var vendor = navigator.vendor || ''; 703 704 var isEdge = /Edg\//.test(ua) || /Edge\//.test(ua); 705 706 var isChrome = 707 /Chrome\//.test(ua) && 708 !/OPR\//.test(ua) && 709 !isEdge; 710 711 var isSafari = 712 /^Apple/.test(vendor) || 713 (/Safari\//.test(ua) && !/Chrome\//.test(ua)); 714 715 if (!isChrome && !isSafari) { 716 var banner = document.getElementById('browser-warning-banner'); 717 if (banner) banner.style.display = 'flex'; 718 } 719 })(); 720</script>
720 721<!-- END browser compatibility warning banner --> 722 723<div id="vue-3"></div> 724<div id="wrapper"> 725 <!-- check if user login --> 726 727 728 729 <div class="no-margin-b"> 730 <style> 731 .alert_box{ 732 position: absolute; 733 top: 0; 734 right: 0; 735 z-index: 999999; 736 width: 100%; 737 text-align: center; 738 left: 0; 739 margin: 0 !important; 740 } 741 .alert_box .alert{ 742 display: inline-block; 743 margin: 0; 744 padding: 10px 20px; 745 border-radius: 0; 746 font-size: 14px; 747 font-weight: 400; 748 line-height: 20px; 749 color: #fff; 750 text-align: left; 751 background-color: #f0ad4e; 752 border-color: #eea236; 753 box-shadow: 0 1px 1px rgba(0,0,0,0.05); 754 margin-top: 5px; 755 width: 100%; 756 } 757 .alert_box .alert-success{ 758 background-color: #5cb85c; 759 border-color: #4cae4c; 760 } 761 .alert_box .alert-danger{ 762 background-color: #d9534f; 763 border-color: #d43f3a; 764 } 765</style> 766<div class="alert_box"> 767 </div> 768
769<script> 770 // $(document).ready(function(){ 771 // setTimeout(function(){ 772 // $(".alert").fadeOut('slow'); 773 // }, 8000); // 8 seconds delay 774 // }); 775</script>
775 776 777<div id="exhaustedAttempsMsg"></div> 778 <section> 779 <div class="col-lg-offset-4 col-lg-4 col-sm-offset-2 col-sm-8 col-xs-offset-1 col-xs-10"> 780 <div class="contBig"> 781 <div class="outbiglogo" > 782 <div class="inbiglogo"> 783 </div> 784 </div> 785 <div class="headnewaccount"> 786 Welcome back! 787 </div> 788 789 790 791 <form id="form" class="form-horizontal" method="POST" 792 action="https://admin.octopuspro.com/checkUserInMulticompanies" > 793 794 795 796 <div class="cont-input"> 797 <input type="email" required class="inputstyle" name="email" placeholder="Email Address" onchange="return trim(this)" /> 798 </div> 799 <div class="cont-input"> 800 <input type="password" required class="inputstyle" name="password" placeholder="Password" /> 801 </div> 802 <div class="content"> 803 <div class="row"> 804 805 </div> 806 </div> 807 <div> 808 <div class="center-check"> 809 <label> 810 <input type="checkbox" value="remember-me" name="keep_sign" style="float:left"> keep me signed in 811 </label> 812 </div> 813 814 815 </div> 816 <div class="clearfix"></div> 817 818 <div class="btncont col-sm-offset-3 col-sm-6"> 819 <input type="submit" class="btn" value="Login" id="subNewAccount" > 820 </div> 821 822<div class="clearfix"></div> 823 <div class="center-check"> 824 <a href="https://admin.octopuspro.com/forget/password" class="a_pass"> 825 Forgot your Password? 826 </a> 827 </div> 828 829 </form> 830 </div> 831 <div class="sec-center white-text"> 832 Don't have a login? <a href="/signup" class="white-text">Try Octopuspro for free </a> 833 </div> 834 <hr/> 835 <div class="sec-center" > 836 <a style="margin-left: 10px;" href="https://www.octopuspro.com/terms/" class="white-text">Terms of use</a> 837 <a style="margin-left: 10px;" href="https://www.octopuspro.com/privacy-policy/" class="white-text">Privacy policy</a> 838 <a style="margin-left: 10px;" href="https://www.octopuspro.com/offer-details/" class="white-text">Offer details</a> 839 </div> 840 <!-- 841 <div class="sec-center"> 842 Customer? <a href="https://admin.octopuspro.com/login-customer">Click here </a> 843 </div> 844--> 845 </div> 846 847 </section> 848 849 <style> 850 .center-check{ 851 text-align: center; 852 853 } 854 855 .cen-text{ 856 margin: 20px; 857 text-align: center; 858 line-height: 23px; 859 font-size: 17px; 860 } 861 862 .white-text { 863 color: white !important; 864 } 865 866 867 body{ 868 background: #fff url(https://admin.octopuspro.com/bd.jpg) no-repeat center center fixed; 869 -webkit-background-size: cover; 870 -moz-background-size: cover; 871 -o-background-size: cover; 872 font-weight: 400; 873 font-size: 15px; 874 color: #1d3c41; 875 } 876 877 ul{ 878 list-style-type:none; 879 margin-left:2px; 880 padding-left:0; 881 } 882 .errors li{ 883 color:#f00; 884 } 885 886 .alert_box{ 887 margin-right:10px; 888 margin-left:10px; 889 } 890 .btncont input[type=button], input[type=reset], input[type=submit]{ 891 background: url(https://admin.octopuspro.com/btn.jpg) repeat-x; 892 color:#fff; 893 /* width:100%; */ 894 margin:10px 0px; 895 896 } 897 898 input[type=submit] { 899 background: url(https://admin.octopuspro.com/btn.jpg) repeat-x; 900 color: #fff; 901 width: 100%; 902 margin: 15px 0px; 903} 904 905 .btncont input:hover{ 906 background: #33c2ff; 907 color:#fff; 908 909 } 910 911 .cont-input{ 912 margin:10px; 913 } 914 .inputstyle{ 915 text-align:center ; 916 background:#f1f1f1; 917 width:100%; 918 border:none; 919 padding:5px; 920 font-size:17px; 921 } 922 923 .contBig{ 924 background: #fff ; 925 /*vertical-align: middle;*/ 926 border-radius:18px; 927 /* position: absolute;*/ 928 // overflow: hidden; 929 min-height: 420px; 930 margin:120px auto 5px; 931 } 932 933 .outbiglogo{ 934 position:relative; 935 } 936 937 .inbiglogo{ 938 background :url(https://admin.octopuspro.com/octbiglogo.png) no-repeat; 939 height:172px; 940 width:230px; 941 position: absolute; 942 top:49px; 943 bottom: 0; 944 left: 0; 945 right: 0; 946 margin: auto; 947 } 948 949 .headnewaccount{ 950 padding-top:130px ; 951 text-align:center; 952 font-size:21px; 953 color:#0091d7; 954 } 955 .sec-center{ 956 text-align: center; 957 color : #79D7F3; 958 } 959 </style> 960 961 962
963<script> 964$(document).ready(function () { 965 }); 966function trim (el) { 967 el.value = el.value. 968 replace (/(^\s*)|(\s*$)/gi, ""). 969 replace (/[ ]{2,}/gi," "). 970 replace (/\n +/,"\n"); 971 return; 972} 973 974localStorage.removeItem('data') 975localStorage.removeItem('s3PathsData') 976localStorage.removeItem('bookingStatusesData') 977console.log("Session Deleted") 978 979function resendVerificationEmail(email = '', companyId = '') { 980 var email = email || ""; 981 var companyId = companyId || ""; 982 983 // Show loader 984 var button = document.querySelector('input#resend-verification'); 985 button.value = "Sending..."; 986 button.disabled = true; 987 988 $.ajax({ 989 url: '/sendReverifyUserAccount', 990 type: 'POST', 991 data: { 992 email: email, 993 companyId: companyId 994 }, 995 success: function(response) { 996 // The server now returns a generic message for both existing and non-existing 997 // emails to prevent enumeration. Treat any successful 200 response as 998 // an acknowledgement and show the generic verification message. 999 document.getElementById('verificationMessage').style.display = 'block'; 1000 // Hide loader 1001 button.value = "Resend Verification Email"; 1002 button.disabled = false; 1003 }, 1004 error: function() { 1005 // Hide loader on error 1006 button.value = "Resend Verification Email"; 1007 button.disabled = false; 1008 } 1009 }); 1010} 1011</script>
1011 1012 1013 1014 1015 1016 1017 </div> 1018 </div> 1019</div> 1020<div id="ajax_loader" class="hidden" style="position: fixed;display: none;width: 100%;height: 100%;top: 0;left: 0; 1021 right: 0;bottom: 0;background-color: rgba(0,0,0,0.5);z-index: 9999;"> 1022 <img src="/pic/loading-img.gif" class="img-responsive" style="position: relative;top:45%;left:47%;"/> 1023</div> 1024<div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" 1025 aria-hidden="true" data-backdrop="static"> 1026 <div class="modal-dialog"> 1027 <div class="modal-content"> 1028 <div id="content_modal_popup3"> 1029 </div> 1030 </div> 1031 </div> 1032</div> 1033 1034<div id="vue-3-modals"></div> 1035 1036<div class="modal fade model_height_js" id="popupi" role="dialog" aria-labelledby="exampleModalLabel" 1037 data-backdrop="static" style="overflow-y: auto"> 1038 <div class="modal-dialog modal-md aya"> 1039 <div class="modal-content"> 1040 1041 <div class="modal-header"> 1042 <button type="button" class="close custom-m-top-0" data-dismiss="modal" aria-label="Close"> 1043 <span aria-hidden="true">×</span> 1044 </button> 1045 <h4 class="modal-title link-block font-s-32 remove-padd-mobile padd-left-0" style="align-items: center" id="modal_title"></h4> 1046 1047 1048 </div> 1049 1050 <div class="modal-body edit_padd_contractor_pop"> 1051 <div id="content_modal_popup" class="aya"> 1052 </div> 1053 </div> 1054 <div class="modal-footer add_new_style Activate_Member_Cancel_button" style="display:none;"></div> 1055 1056 </div> 1057 </div> 1058</div> 1059 1060 1061 1062<div class="modal fade model_height_js" id="popupi_additional" role="dialog" aria-labelledby="exampleModalLabel" 1063 data-backdrop="static" style="overflow-y: auto"> 1064 <div class="modal-dialog "> 1065 <div class="modal-content"> 1066 1067 <div class="modal-header"> 1068 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 1069 <span aria-hidden="true">×</span> 1070 </button> 1071 <h4 class="modal-title link-block d-flex font-s-32 remove-padd-mobile" style="align-items: center" id="modal_title"></h4> 1072 1073 1074 </div> 1075 1076 <div class="modal-body edit_padd_contractor_pop"> 1077 <div id="content_modal_popup_additional" class="p-bottom-60-mob"> 1078 </div> 1079 </div> 1080 <div class="modal-footer add_new_style Activate_Member_Cancel_button" style="display:none;"></div> 1081 1082 </div> 1083 </div> 1084</div> 1085 1086<div class="modal" id="confirmModal" style="display: none; z-index: 1050;"> 1087 <div class="modal-dialog" style="overflow: hidden"> 1088 <div class="modal-content"> 1089 <div class="modal-body" id="confirmMessage"> 1090 </div> 1091 <div class="modal-footer custom-design-new d-flex justify-content-between"> 1092 <button type="button" class="btn cancel_style min_width_btn new-cancle-btn" id="confirmCancel">Cancel</button> 1093 <button type="button" class="btn btn-primary width_of_icon_search min_width_btn new-save-btn" id="confirmOk">Continue 1094 </button> 1095 </div> 1096 </div> 1097 </div> 1098</div> 1099 1100 1101<div class="modal" id="confirmTwilioCall" style="display: none; z-index: 1050;"> 1102 <div class="modal-dialog"> 1103 <div class="modal-content"> 1104 <div class="modal-body" id="confirmMessage"> 1105 </div> 1106 <div class="modal-footer"> 1107 <button type="button" class="btn cancel_style min_width_btn" id="confirmCancel">Cancel</button> 1108 <button type="button" class="btn btn-primary width_of_icon_search min_width_btn" id="confirmOk">Continue</button> 1109 </div> 1110 </div> 1111 </div> 1112</div> 1113 1114<div id="payment-invoice-popup-div"></div> 1115 1116<!-- 1117 Shared modal shells used across the application for dynamically loaded popup content. 1118 The placeholder picker, preview dialogs, and secondary stacked previews all reuse 1119 these containers so feature-specific views only need to load their body content. 1120--> 1121<div class="modal fade" id="popupi_stack" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" 1122 data-backdrop="static"> 1123 <div class="modal-dialog"> 1124 <div class="modal-content"> 1125 1126 <div class="modal-header"> 1127 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
1128 <span aria-hidden="true">×</span> 1129 </button> 1130 <h4 class="modal-title" id="modal_title"></h4> 1131 </div> 1132 1133 <div class="modal-body"> 1134 <div id="content_modal_popup" class="p-bottom-60-mob"> 1135 </div> 1136 </div> 1137 <div class="modal-footer" style="display:none;"></div> 1138 1139 </div> 1140 </div> 1141</div> 1142<!-- Global confirmation modal used by shared confirmation flows across the app. --> 1143<div class="modal fade" id="confirmation_popup_id" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" 1144 data-backdrop="static"> 1145 <div class="modal-dialog"> 1146 <div class="modal-content"> 1147 <div class="modal-header"> 1148 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 1149 <span aria-hidden="true">×</span> 1150 </button> 1151 <h4 class="modal-title" id="modal_title"></h4> 1152 </div> 1153 1154 <div class="modal-body"> 1155 <div id="content_modal_popup"> 1156 </div> 1157 </div> 1158 <div class="modal-footer" style="display:none;"></div> 1159 1160 </div> 1161 </div> 1162</div> 1163<div class="modal fade" id="fn_nearest" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" 1164 data-backdrop="static"> 1165 <div class="modal-dialog"> 1166 <div class="modal-content"> 1167 1168 <div class="modal-header"> 1169 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 1170 <span aria-hidden="true">×</span> 1171 </button> 1172 <h4 class="modal-title" id="modal_title2"></h4> 1173 </div> 1174 1175 <div class="modal-body"> 1176 <div id="content_modal_popup2" class="p-bottom-60-mob"> 1177 </div> 1178 1179 </div> 1180 1181 </div> 1182 </div> 1183</div> 1184 1185<div id="createNewButtonModal" class="popover modalPopover"> 1186 <div class="arrow "></div> 1187 <div class="popover-content"> 1188 <p> 1189 <h3>Tap here to make a new booking</h3></p> 1190 1191 <div style="border-top: 1px solid #e5e5e5;"><a id="gotNewBooking" class="btn btn-primary">Ok, Got it</a></div> 1192 1193 </div> 1194</div> 1195 1196<div class="modal fade" id="newTwilioModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" data-backdrop="static" > 1197 <div class="modal-dialog"> 1198 <div class="modal-content" id="newTwilioContent"> 1199 1200 </div> 1201 </div> 1202</div> 1203<div class="modal fade" id="callChooseModal" tabindex="-1" role="dialog" aria-labelledby="callChooseModal" aria-hidden="true" 1204 style="top:25% !important;z-index: 9999;"> 1205 <div class="modal-dialog" role="document"> 1206 <div class="modal-content"> 1207 1208 <div class="modal-header"> 1209 <h5 class="modal-title" id="exampleModalLabel">How would you like to call?</h5> 1210 <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="margin-top:-20px !important;"> 1211 <span aria-hidden="true">×</span> 1212 </button> 1213 </div> 1214 <div class="modal-body"> 1215 <div class="row text-center "> 1216 1217 <a class="call-method-btn btn btn-default" 1218 id="call-regular-method" data-toggle="modal" data-target="#twilioModal" 1219 style="padding:16px 39px !important; margin-right:7px;"> 1220 <span class="fa fa-phone " style="font-size:16px !important"></span> 1221 Regular call 1222 </a> 1223 1224 <a href="javascript:void(0)" class="call-method-btn btn btn-primary " 1225 id="call-twilio-method" 1226 style="padding:16px 39px !important;"> 1227 <i style="padding-right: 5px; font-size:16px !important" class="fa fa-phone" style="font-size:16px"></i> 1228 Twilio call 1229 </a> 1230 1231 </div> 1232 </div> 1233 </div> 1234 </div> 1235</div> 1236 1237 1238<div id="sideMenuModal" class="popover modalPopover"> 1239 <div class="arrow "></div> 1240 <div class="popover-content"> 1241 <p> 1242 <h3>Your side menu give you quick access to all the features</h3></p> 1243 1244 <div style="border-top: 1px solid #e5e5e5;"><a id="gotSideMenu" class="btn btn-primary">Ok, Got it</a></div> 1245 <input type="hidden" id="content_modal_popup_redirect_url" /> 1246 </div> 1247</div> 1248 1249<div id="panelfirstpage" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" 1250 data-backdrop="static"> 1251 <div class="modal-dialog"> 1252 <div class="modal-content"> 1253 <div class="modal-header"> 1254 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 1255 <h4 class="modal-title">complete steps</h4> 1256 </div> 1257 <div class="modal-body"> 1258 <p>Please complete the following steps to setup your account.</p> 1259 </div> 1260 <div class="modal-footer"> 1261 <a type="button" class="btn btn-danger" id="okpanelfirst">OK</a> 1262 <a type="button" class="btn btn-default" data-dismiss="modal" id="cancelpanelfirst">Cancel</a> 1263 1264 </div> 1265 </div><!-- /.modal-content --> 1266 </div><!-- /.modal-dialog --> 1267</div> 1268 1269 1270<div id="confirm" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" 1271 data-backdrop="static"> 1272 <div class="modal-dialog modal-md"> 1273 <div class="modal-content"> 1274 <div class="modal-header"> 1275 <button type="button" class="close modal-close-btn" data-dismiss="modal" aria-label="Close">
1276 <span aria-hidden="true">×</span> 1277 </button> 1278 <h4 class="modal-title" id="confirmModalTitle">Confirmation Message</h4> 1279 </div> 1280 <div class="modal-body"> 1281 <p>Are you sure you want to continue?</p> 1282 </div> 1283 <div class="modal-footer"> 1284 <a type="button" class="btn width_of_icon_search btn-confirm-popup float-right" id="okBtn">OK</a> 1285 <a type="button" class="btn btn-cancel-popup float-left" data-dismiss="modal" id="cancelBtn">Cancel</a> 1286 1287<!-- <a type="button" class="btn width_of_icon_search btn-confirm-popup" id="okBtn">OK</a>--> 1288<!-- <a type="button" class="btn btn-default" data-dismiss="modal" id="cancelBtn">Cancel</a>--> 1289 1290 </div> 1291 </div><!-- /.modal-content --> 1292 </div><!-- /.modal-dialog --> 1293</div> 1294 1295 1296 1297 <div class="company_list_mobile" style="display: none;height: 0"> 1298 1299 <div class="company-list-overlay"></div> 1300 1301 <div class="dropdown btn-group company_list_drop_down_mobile"> 1302 <button type="button" data-toggle="dropdown" class="btn btn-danger dropdown-toggle"> 1303 <i class="fa fa-building"></i></button> 1304 <ul class="dropdown-menu companies_list scrollable-menu" role="menu" 1305 aria-labelledby="dropdownMenu1"> 1306 1307 <li role="presentation"> 1308 <a role="menuitem" tabindex="-1" 1309 href="https://admin.octopuspro.com/myOctopusPro"> 1310 <img style="width:40px; margin-left: -10px;" 1311 src="https://admin.octopuspro.com/pic/octlogo.png?v=1790862941"/> 1312 My OctopusPro 1313 </a> 1314 </li> 1315 1316 1317 <li class="divider"></li> 1318 1319 1320 </ul> 1321 </div> 1322 1323 </div> 1324 1325<div class="modal fade" id="twilioModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" data-backdrop="static" style="z-index: 9999;"> 1326 <div class="modal-dialog"> 1327 <div class="modal-content"> 1328 1329 <div class="modal-header"> 1330 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 1331 <span aria-hidden="true">×</span> 1332 </button> 1333 <h4 class="modal-title" id="modal_title_twilio"></h4> 1334 </div> 1335 1336 <div class="modal-body"> 1337 <div id="content_modal_popup_twilio" > 1338 </div> 1339 </div> 1340 <div class="modal-footer" style="display:none;"></div> 1341 1342 </div> 1343 </div> 1344</div> 1345 1346<div class="modal fade" id="newTwilioModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" data-backdrop="static" style="z-index:9999"> 1347 <div id="directTwilioLoadFunction"></div> 1348 1349 <div class="modal-dialog"> 1350 <div class="modal-content" > 1351 1352 <div class="modal-header"> 1353 <button type="button" class="close" onclick="closetwilioDialog()"> 1354 <span aria-hidden="true">×</span> 1355 </button> 1356 </div> 1357 <div class="modal-body"> 1358 1359 1360 <div id="content_modal_popup_twilio"> 1361 <div class="user-info-numbers-area"> 1362 <div class="numbers-area"> 1363 1364 1365 <select id="calling_number_option" class="form-control" onchange="changeTwilioNumber(this)"> 1366 1367 </select> 1368 <br/> 1369 <div> 1370 <input autocomplete="odgfdgff" type="text" name="number" id="number" class="form-control" style="display:none " 1371 onkeyup="return isNumberKey(event)"/> 1372 <!-- <input type="text" class="form-control" id="manualNumberInput" onkeypress="allowNumbersOnly(this),changeNumber(this)" style="display: none"/>--> 1373 </div> 1374 1375 1376 <div id="warning"></div> 1377 </div> 1378 <div class="user-info"> 1379 <div> 1380 1381 <label class="callee-name"> 1382 1383 </label> 1384 <p class="callee-number"> 1385 </p> 1386 </div> 1387 <div> 1388 <button type="button" class="btn btn-default btn-circle btn-xl btn-user-avatar" disabled> 1389 <i class="fa fa-user" aria-hidden="true"></i> 1390 </button> 1391 1392 </div> 1393 <div> 1394 <h2 id="call-time" style="display: none"> 1395 <time>00:00:00</time> 1396 </h2> 1397 </div> 1398 1399 1400 </div> 1401 </div> 1402 </div> 1403 1404 <div class="pad-container"> 1405 1406 <div id="output"></div> 1407 1408 <div class="row"> 1409 <div class="digit">1</div> 1410 <div class="digit">2</div> 1411 <div class="digit">3</div> 1412 </div> 1413 <div class="row"> 1414 <div class="digit">4</div> 1415 <div class="digit">5</div> 1416 <div class="digit">6</div> 1417 </div> 1418 <div class="row"> 1419 <div class="digit">7</div> 1420 <div class="digit">8</div> 1421 <div class="digit">9</div> 1422 </div> 1423 <div class="row"> 1424 <div class="digit">*</div> 1425 <div class="digit">0</div> 1426 <div class="digit">#</div> 1427 </div> 1428 1429 1430 </div> 1431 1432 </div> 1433 <div class="modal-footer"> 1434 <div class="row">
1435 <span id="log"></span> 1436 </div> 1437 <div class="row"> 1438 <!-- <button type="button" class="btn btn-default btn-circle btn-lg">--> 1439 <!-- <i class="fa fa-microphone"></i>--> 1440 <!-- </button>--> 1441 1442 <button disabled type="button" class="btn btn-default btn-circle btn-lg toggle-pad"> 1443 <img src="/dialpad.svg"> 1444 </button> 1445 <button type="button" class="btn btn-default btn-circle btn-lg btn-mute" style="display: none;"> 1446 <i class="fa fa-microphone-slash" style="font-size: 22px !important;"></i> 1447 </button> 1448 1449 <button type="button" class="btn btn-default btn-circle btn-lg btn-call" id="start"> 1450 <i class="fa fa-phone" style="font-size: 22px !important;"></i> 1451 </button> 1452 <button type="button" class="btn btn-danger btn-circle btn-lg " id="stop" style="display: none;"> 1453 <i class="fa fa-phone" style="font-size: 22px !important;rotate:135deg !important;"></i> 1454 </button> 1455 <button type="button" class="btn btn-default btn-circle btn-lg" id="manualNumber" onclick="toggleTwilioInput()"> 1456 <i class="fa fa-edit"></i> 1457 </button> 1458 1459 </div> 1460 1461 </div> 1462 </div> 1463 </div> 1464 1465</div> 1466 1467 1468<div class="modal fade" id="callModal" tabindex="-1" role="dialog" 1469 aria-labelledby="exampleModalLabe5" 1470 data-backdrop="static" style="z-index: 9999;"> 1471 <div class="modal-dialog"> 1472 <div class="modal-content"> 1473 <div class="modal-header"> 1474 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 1475 <span aria-hidden="true">×</span> 1476 </button> 1477 <h4 class="modal-title" > Calling 1478 <span class="callee-name"></span> 1479 </h4> 1480 </div> 1481 1482 <div class="modal-body"> 1483 <div > 1484 </div> 1485 </div> 1486 </div> 1487 </div> 1488</div> 1489 1490<!-- START MOBILE WEB VIEW SCRIPT @AUTHOR AMR -->
1491<script id="mobile-web-view-script" type="text/javascript" src="https://admin.octopuspro.com//js/mobile_web_view/company_list.js?v=1790862941" 1492 data-style="https://admin.octopuspro.com//css/mobile_web/mobile_web_view.css?v=1790862941"></script>
1492 1493<!-- END MOBILE WEB VIEW SCRIPT @AUTHOR AMR --> 1494
1495<script type="text/javascript"> 1496 (function() { 1497 'use strict'; 1498 1499 var csrfToken = 'c5717776693726232a55195a19cec5088411677b90b1782744ede79984fa9b00'; 1500 1501 $.ajaxPrefilter(function(options, originalOptions, jqXHR) { 1502 if (!options.type || options.type.toUpperCase() !== 'POST') { 1503 return; 1504 } 1505 1506 // Detect JSON requests (front-end APIs etc.) 1507 var contentType = options.contentType || originalOptions.contentType || ''; 1508 var isJson = contentType.indexOf('application/json') !== -1; 1509 1510 // Detect FormData 1511 var isFormData = (typeof FormData !== 'undefined') && 1512 (originalOptions.data instanceof FormData); 1513 1514 // --- 1) JSON requests: DO NOT touch body, send CSRF as header --- 1515 if (isJson) { 1516 options.headers = options.headers || {}; 1517 if (!options.headers['X-CSRF-Token']) { 1518 options.headers['X-CSRF-Token'] = csrfToken; 1519 } 1520 // very important: don't change options.data / processData here 1521 return; 1522 } 1523 1524 // --- 2) FormData: append field safely, keep processData/contentType false --- 1525 if (isFormData) { 1526 if (!originalOptions.data.has('csrf_token')) { 1527 originalOptions.data.append('csrf_token', csrfToken); 1528 } 1529 options.data = originalOptions.data; 1530 options.processData = false; 1531 options.contentType = false;
1532 return; 1533 } 1534 1535 // --- 3) Normal form-encoded POSTs (x-www-form-urlencoded) --- 1536 if (!options.data) { 1537 // just token 1538 options.data = 'csrf_token=' + encodeURIComponent(csrfToken); 1539 } else if (typeof options.data === 'string') { 1540 // query-string style 1541 if (options.data.indexOf('csrf_token=') === -1) { 1542 options.data += (options.data ? '&' : '') + 1543 'csrf_token=' + encodeURIComponent(csrfToken); 1544 } 1545 } else if (typeof options.data === 'object') { 1546 // simple JS object (will be $.param'ed) 1547 if (!options.data.csrf_token) { 1548 options.data.csrf_token = csrfToken; 1549 } 1550 } 1551 1552 if (options.processData === undefined) { 1553 options.processData = true; // let jQuery build query string 1554 } 1555 }); 1556 1557 // Forms: still fine to inject hidden input 1558 $(document).on("submit", 'form', function(e) { 1559 var form = $(e.target); 1560 1561 if (form.attr('method') && 1562 form.attr('method').toUpperCase() === 'POST' 1563 ) { 1564 if (form.find('input[name="csrf_token"]').length === 0) { 1565 form.append( 1566 '<input type="hidden" name="csrf_token" value="' + csrfToken + '" />' 1567 ); 1568 } 1569 } 1570 }); 1571 1572 window.getCsrfToken = function() { 1573 return csrfToken; 1574 }; 1575 1576 // Security fix: allow controlled CSRF token rotation from server responses 1577 // to prevent forced reload loops when token expires during active sessions. 1578 window.setCsrfToken = function(newToken) { 1579 if (!newToken || typeof newToken !== 'string') return; 1580 csrfToken = newToken; 1581 window.csrf_token = newToken; 1582 var csrfInputs = document.getElementsByName('csrf_token'); 1583 for (var i = 0; i < csrfInputs.length; i++) { 1584 csrfInputs[i].value = newToken; 1585 } 1586 }; 1587 })(); 1588 /** 1589 * Global CSRF failure coordinator (mirrors nuxt/utils/v1/csrf/csrfGuard.ts) 1590 * 1591 * Handles all three backend CSRF error codes: 1592 * ERR_CSRF_TOKEN_EXPIRED â hotswap new token from response body (no reload) 1593 * ERR_CSRF_TOKEN_INVALID â page reload (up to MAX_CSRF_REFRESHES), then logout 1594 * ERR_CSRF_TOKEN_MISSING â same as INVALID 1595 * 1596 * Module-level singleton: state resets automatically on each full page load. 1597 */ 1598 (function () { 1599 'use strict'; 1600 1601 var _csrfHandlingInProgress = false; 1602 var CSRF_REFRESH_COUNT_KEY = 'csrf_refresh_count'; 1603 var MAX_CSRF_REFRESHES = 3; 1604 1605 1606 1607 // ââ Internal: hotswap an expired token from the response body into the 1608 // global csrf token holder. Returns true when successful â the next 1609 // request will use the fresh token with no page reload required. 1610 function tryHotswapExpiredToken(data) { 1611 if (!data || !data.csrf_token) return false; 1612 try { 1613 if (typeof window.setCsrfToken === 'function') { 1614 window.setCsrfToken(data.csrf_token); 1615 return true; 1616 } 1617 } catch (e) { /* ignore */ } 1618 return false; 1619 } 1620 1621 // ââ Public: dispatch a CSRF failure response payload. 1622 function handleCsrfFailure(data) { 1623 if (_csrfHandlingInProgress) return; 1624 if (!data || typeof data !== 'object') return; 1625 var code = data.code; 1626 if ( 1627 code !== 'ERR_CSRF_TOKEN_EXPIRED' && 1628 code !== 'ERR_CSRF_TOKEN_INVALID' && 1629 code !== 'ERR_CSRF_TOKEN_MISSING' 1630 ) { 1631 return; 1632 } 1633 1634 // Claim the guard BEFORE any branch so concurrent requests that 1635 // both receive the same failure don't each show a toast. 1636 _csrfHandlingInProgress = true; 1637 1638 // ââ Expired: hotswap the new token the backend included in the body ââ 1639 if (code === 'ERR_CSRF_TOKEN_EXPIRED') { 1640 var hotswapped = tryHotswapExpiredToken(data); 1641 if (hotswapped) { 1642 try { sessionStorage.removeItem(CSRF_REFRESH_COUNT_KEY); } catch (e) { /* ignore */ } 1643 console.warn('[CSRF] Token expired â hotswapped from response body. Please retry.'); 1644 $.notify('Your session token was refreshed. Please retry your last action.','error'); 1645 broadcastCsrfEvent('token_refresh', data.csrf_token); 1646 setTimeout(function () { _csrfHandlingInProgress = false; }, 0); 1647 return; 1648 } 1649 // Hotswap failed â fall through to reload path 1650 } 1651 1652 // ââ Invalid / Missing / Expired-without-hotswap â reload or logout ââ 1653 console.warn('[CSRF] Token invalid/missing â triggering recovery.', code); 1654 1655 var refreshCount = 0; 1656 try { 1657 refreshCount = parseInt(sessionStorage.getItem(CSRF_REFRESH_COUNT_KEY) || '0', 10) || 0; 1658 } catch (e) { /* ignore */ } 1659 1660 if (refreshCount >= MAX_CSRF_REFRESHES) { 1661 try { sessionStorage.removeItem(CSRF_REFRESH_COUNT_KEY); } catch (e) { /* ignore */ } 1662 $.notify('Your session could not be restored after multiple attempts. Please log in again.','error'); 1663 broadcastCsrfEvent('logout'); 1664 setTimeout(function () { window.location.href = '/logout'; }, 1500); 1665 } else { 1666 try { sessionStorage.setItem(CSRF_REFRESH_COUNT_KEY, Str
1666ing(refreshCount + 1)); } catch (e) { /* ignore */ } 1667 $.notify('Your temporary session has expired. We have refreshed the page to get you back on track. Please try your action again.','error'); 1668 broadcastCsrfEvent('reload'); 1669 setTimeout(function () { window.location.reload(); }, 500); 1670 } 1671 } 1672 1673 // ââ BroadcastChannel: sync CSRF events across all open tabs ââ 1674 var CSRF_BROADCAST_CHANNEL = 'octopus_csrf_sync'; 1675 1676 function broadcastCsrfEvent(action, csrfToken) { 1677 try { 1678 if (typeof BroadcastChannel === 'undefined') return; 1679 var ch = new BroadcastChannel(CSRF_BROADCAST_CHANNEL); 1680 ch.postMessage({ action: action, csrf_token: csrfToken || null }); 1681 ch.close(); 1682 } catch (e) { /* ignore */ } 1683 } 1684 1685 // Listen for events broadcast by OTHER tabs 1686 if (typeof BroadcastChannel !== 'undefined') { 1687 (function () { 1688 var _syncChannel = new BroadcastChannel(CSRF_BROADCAST_CHANNEL); 1689 _syncChannel.addEventListener('message', function (event) { 1690 var action = event.data && event.data.action; 1691 var newToken = event.data && event.data.csrf_token; 1692 if (action === 'token_refresh' && newToken) { 1693 if (typeof window.setCsrfToken === 'function') { 1694 window.setCsrfToken(newToken); 1695 } 1696 console.info('[CSRF] Token refreshed from another tab via BroadcastChannel.'); 1697 } else if (action === 'reload') { 1698 window.location.reload(); 1699 } else if (action === 'logout') { 1700 window.location.href = '/logout'; 1701 } 1702 }); 1703 })(); 1704 } 1705 1706 // Expose for tests / manual invocation 1707 window.handleCsrfFailure = handleCsrfFailure; 1708 window.resetCsrfGuard = function () { _csrfHandlingInProgress = false; }; 1709 1710 // ð Global CSRF failure handler â inspect every ajax response. 1711 $(document).ajaxComplete(function (event, xhr, settings) { 1712 if (_csrfHandlingInProgress) return; 1713 1714 // Performance optimization: 1715 // Avoid JSON.parse on every successful JSON response. Most responses 1716 // are not CSRF errors â fast-path bail out via substring check. 1717 var response = xhr.responseJSON; 1718 if (!response) { 1719 var responseText = xhr.responseText; 1720 if (typeof responseText !== 'string' || 1721 (responseText.indexOf('ERR_CSRF_TOKEN_INVALID') === -1 && 1722 responseText.indexOf('ERR_CSRF_TOKEN_EXPIRED') === -1 && 1723 responseText.indexOf('ERR_CSRF_TOKEN_MISSING') === -1) 1724 ) { 1725 return; 1726 } 1727 try { 1728 response = JSON.parse(responseText); 1729 } catch (e) { 1730 return; 1731 } 1732 } 1733 1734 handleCsrfFailure(response); 1735 }); 1736 1737 })(); 1738 1739</script>
1739 1740 1741 1742
1743<script> 1744 1745 $(document).ready(function () { 1746 // 1) Keep track of which icon's popover is open 1747 let currentPopover = null; 1748 1749 // 2) Single handler for clicking on any .spopover 1750 $(document).on('click', '.spopover', function(e) { 1751 e.stopPropagation(); 1752 const $icon = $(this); 1753 1754 // a) If you clicked the already-open one â hide it & clear state 1755 if (currentPopover && currentPopover.is($icon)) { 1756 $icon.popover('hide'); 1757 currentPopover = null; 1758 return; 1759 } 1760 1761 // b) Otherwise, hide any other thatâs open 1762 if (currentPopover) { 1763 currentPopover.popover('hide'); 1764 } 1765 1766 // c) Initialize this popover once 1767 if (!$icon.data('bs.popover')) { 1768 $icon.popover({ 1769 trigger: 'manual', 1770 html: true, 1771 container:'body', 1772 placement:'bottom', 1773 title: () => $icon.data('title') + ' <span class="close">×</span>', 1774 content: () => $icon.data('content') 1775 }); 1776 } 1777 1778 // d) Show this one and mark it as current 1779 $icon.popover('show'); 1780 currentPopover = $icon; 1781 }); 1782 1783 // 3) Click or tap **outside** any popover/icon â hide the open one 1784 $(document).on('click touchstart', function(e) { 1785 if (!$(e.target).closest('.popover, .spopover').length && currentPopover) { 1786 currentPopover.popover('hide'); 1787 currentPopover = null; 1788 } 1789 }); 1790 1791 // 4) Click the âÃâ inside the popover header â hide & clear state 1792 $(document).on('click', '.popover .close', function() { 1793 const $icon = $(this).closest('.popover').prev('.spopover'); 1794 $icon.popover('hide'); 1795 if (currentPopover && currentPopover.is($icon)) { 1796 currentPopover = null; 1797 } 1798 }); 1799 1800 if($.hasOwnProperty('notify')){ 1801 $.notify.defaults({position: "left bottom"}); 1802 } 1803 1804 $(".only-integer").on("keypress keyup blur",function (event) { 1805 $(this).val($(this).val().replace(/[^0-9\.]/g,'')); 1806 if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) { 1807 event.preventDefault(); 1808 } 1809 }); 1810 $(".only-decimal").on("keypress keyup blur",function (event) { 1811 $(this).val($(this).val().replace(/[^\d].+/, "")); 1812 if ((event.which < 48 || event.which > 57)) { 1813 event.preventDefault(); 1814 } 1815 }); 1816 $(".nav-header").removeClass("active"); 1817 1818 1819 $("#cambtn").click(function () { 1820 $("#company_upload_pic").click(); 1821 }); 1822 1823 1824 $('#company_upload_pic').change(function () { 1825 1826 if ($('#company_upload_pic').get(0).length != 0) { 1827 1828 $("#loader_view").css('display', 'block'); 1829 $("#imgcompany").ajaxForm( 1830 { 1831 target: '#previewPicComapny', 1832 success: function (data) { 1833 $("#loader_view").css('display', 'none'); 1834 $(".logo-element").html('<span>' + data + '</span>'); 1835 } 1836 }).submit(); 1837 1838 } 1839 }); 1840 1841 1842 }); 1843 1844 1845 var fullUrl = window.location.href; 1846 //console.log("fullUrl = " + fullUrl + " length = $("a[href='/"' + fullUrl + '"']")" + $("a[href='/" + fullUrl + "']").length); 1847 //$("a[href='/" + fullUrl + "']").css('color','white'); 1848 var urlType = window.location.href.split('?')[0].split("/"); 1849 if (urlType[3] == 'item-attachment' && urlType[4] == 'booking') { 1850 urlType[3] = 'booking'; 1851 urlType[4] = 'undefined'; 1852 } 1853 $("li.active").has("ul").removeClass('active'); 1854 // 1855 if (urlType[3] == 'settings' || urlType[3] == 'contractor' || urlType[3] == 'reports' || urlType[3] == 'item-attachment' && urlType[4] == 'service') { 1856 if (typeof (urlType[4]) != 'undefined') { 1857 var settingsType = urlType[4].split("-"); 1858 if (urlType[4] == 'custom-field-value') { 1859 $("li").has("ul li a[href*='/service']").parents('li').addClass("active"); 1860 $("li").has("ul li a[href*='/service']").closest('ul').css("height", "auto"); 1861 1862 $("li ul li a[href*='/" + urlType[3] + "/" + urlType[4] + "']").css('color', 'white'); 1863 } else if (urlType[3] == 'contractor') { 1864 $("li").has("ul li a[href*='/contractor-']").parents('li').addClass("active"); 1865 $("li").has("ul li a[href*='/contractor-']").closest('ul').css("height", "auto"); 1866 1867 $("li ul li a[href*='/" + urlType[3] + "/" + urlType[4] + "']").css('color', 'white'); 1868 } else if (urlType[3] == 'fieldworkers') { 1869 $("li").has("ul li a[href*='/fieldworker-']").parents('li').addClass("active"); 1870 $("li").has("ul li a[href*='/fieldworker-']").closest('ul').css("height", "auto"); 1871 1872 $("li ul li a[href*='/" + urlType[3] + "/" + urlType[4] + "']").css('color', 'white'); 1873 } 1874 else if (settingsType[0] != 'booking') { 1875 $("li").has("ul li a[href*='/" + urlType[3] + "/" + settingsType[0] + "']").parents('li').addClass("active"); 1876 $("li").has("ul li a[href*='/" + urlType[3] + "/" + settingsType[0] + "']").closest('ul').css("height", "auto"); 1877 1878 if (urlType[4] == 'booking_summary') { 1879 $("li ul li a[href*='/" + urlType[3] + "/" + urlType[4] + "?']").css('color', 'white'); 1880 } 1881 else { 1882 $("li ul li a[href*='/" + urlType[3] + "/" + urlType[4] + "']").css('color', 'white'); 1883 } 1884 1885 } 1886 } 1887 } else { 1888 $("li").has("ul li a[href*='/" + urlType[2] + '/' + urlType[3] + "']").parents('li').addClass("active"); 1889 } 1890 1891 //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 1892 // if($(window).width() > 768){ 1893 // getCounts(urlType[3]); 1894 // } 1895 1896 $(".settings-parts").on('click', function () { 1897 /*$(this).closest('ul').siblings().children(".settings-parts").removeClass('active'); 1898 $(this).closest('ul').siblings().children(".settings-parts").find('ul').css('height', '0px'); 1899 $(this).closest('ul').siblings().children(".settings-parts").find('ul').removeClass('in');*/ 1900 $(this).siblings(".settings-parts").removeClass('active'); 1901 $(this).siblings(".settings-parts").children("ul").css('height', '0px'); 1902 $(this).siblings(".settings-parts").children("ul").removeClass('in'); 1903 $(this).find('ul').css('height', 'auto');
1904 //$(this).siblings('.progress-show').children('.currTime').text('111111'); 1905 /*$(this).removeClass('settings-parts'); 1906 $(".settings-parts").removeClass('active'); 1907 $(".settings-parts").closest().css('height','0px'); 1908 $(this).addClass('settings-parts');*/ 1909 /*var elems = $(this).closest('ul').siblings().children(".settings-parts"); 1910 1911 for(var elem in elems){ 1912 console.log(elem); 1913 } 1914 $(this).closest().siblings().children(".settings-parts").removeClass('active')*/ 1915 //console.log("siblings = " + $(".settings-parts").siblings(".settings-parts").removeClass('active')); 1916 //$(".settings-parts").siblings(".settings-parts").removeClass('active') 1917 //$(".settings-parts").siblings().removeClass('active'); 1918 }); 1919 1920 function getCounts(urlType) { 1921 if (urlType == 'recently-updated' || urlType == 'awaitingAccept-booking' || urlType == 'unapproved-booking' || urlType == 'awaitingUpdate-booking') { 1922 urlType = 'booking'; 1923 } 1924 1925 if (urlType == 'refund' || urlType == 'payment') { 1926 urlType = 'invoices'; 1927 } 1928 1929 $.ajax({ 1930 type: "GET", 1931 dataType: "JSON", 1932 url: "https://admin.octopuspro.com/ajax/getItemCounts", 1933 data: {'type': urlType}, 1934 success: function (result) { 1935 $.each(result, function (key, data) { 1936 if ($('#' + key).find('span.label').length > 0) { 1937 $('#' + key).find('span.label').remove(); 1938 } 1939 $('#' + key).append('<span class="label label-' + data.color + ' pull-right" style="display:inline-block">' + data.count + '</span>'); 1940 }); 1941 if (urlType == 'booking') { 1942 getCounts('booking1'); 1943 } 1944 1945 } 1946 }); 1947 1948 1949 } 1950 1951 $(document).on('#side-menu li','click',function () { 1952 var $type = $(this).attr('data-target'); 1953 if (typeof $type !== typeof undefined && $type !== false) { 1954 if (!($(this).find('span.label').length > 0)) { 1955 getCounts($type); 1956 1957 } 1958 } 1959 }); 1960 1961 1962 $('#side-menu li').hover(function () { 1963 if ($('body').hasClass('mini-navbar')) { 1964 var $type = $(this).attr('data-target'); 1965 if (typeof $type !== typeof undefined && $type !== false) { 1966 if (!($(this).find('span.label').length > 0)) { 1967 getCounts($type); 1968 1969 } 1970 } 1971 } 1972 1973 }); 1974 1975 1976 1977 $("#spacelogo").hover( 1978 function () { 1979 // $("#cambtn").css( 'display' , 'block' ); 1980 $("#cambtn").fadeIn(500); 1981 }, function () { 1982 // $("#cambtn").css( 'display' , 'none' ); 1983 $("#cambtn").fadeOut(500); 1984 } 1985 ); 1986 1987 1988 $("#gotNewBooking").on('click', function () { 1989 $('#createNewButtonModal').modalPopover('hide'); 1990 $("#first-create-new").attr('data-toggle', 'dropdown'); 1991 $("#first-create-new").removeAttr('href'); 1992 $("#first-create-new").removeAttr('data-placement'); 1993 $("#first-create-new").html('New <span class="caret"></span>'); 1994 }); 1995 /*$("#gotViewDemo").on('click', function(){ 1996 $('#viewDemoModal').modalPopover('hide'); 1997 $("#viewDemo").removeAttr('href'); 1998 $("#viewDemo").removeAttr('data-placement'); 1999 $("#viewDemo").removeAttr('data-toggle'); 2000 });*/ 2001 $("#gotSideMenu").on('click', function () { 2002 $('#sideMenuModal').modalPopover('hide'); 2003 $("#inquiriesListItem").attr('data-target', 'inquiry'); 2004 $("#inquiriesListItem").removeAttr('href'); 2005 $("#inquiriesListItem").removeAttr('data-placement'); 2006 $("#inquiriesListItem").removeAttr('data-toggle'); 2007 }); 2008 2009 $("#settings-item").on('click', function () { 2010 if (!$(this).hasClass('active')) { 2011 $(".settings-parts").removeClass('active'); 2012 $(".settings-parts").find('ul').css('height', '0px'); 2013 $(".settings-parts").find('ul').removeClass('in'); 2014 } 2015 }); 2016 $("#reports-item").on('click', function () { 2017 if (!$(this).hasClass('active')) { 2018 $(".settings-parts").removeClass('active'); 2019 $(".settings-parts").find('ul').css('height', '0px'); 2020 $(".settings-parts").find('ul').removeClass('in'); 2021 } 2022 }); 2023 $(document).on("click", "#cat-button", function () { 2024 $("#form-cat").submit(); 2025 }); 2026 2027 2028 $(function(){ 2029 $('#nav ul li') 2030 .css({cursor: "pointer"}) 2031 .on('click', function(){ 2032 $(this).find('ul').toggle(); 2033 }) 2034 }) 2035 /** 2036 * hide and show the nav-bar 2037 * @author Amr 2038 */ 2039 function toggleNavBar(){ 2040 var navBar = $('#bodyhight'); 2041 if(navBar.hasClass('mini-navbar')){ 2042 navBar.removeClass('mini-navbar'); 2043 return; 2044 } 2045 2046 console.error('Side bar ', $('.vue-sidebar').innerText) 2047 2048 $('html,body').animate({ scrollTop: 0 }, 'slow'); 2049 navBar.addClass('mini-navbar'); 2050 2051 } 2052 2053 2054 function openSendInternalMessagePopup(){ 2055 $("#GLOBAL_MESSAGE_MODAL").modal('show'); 2056 } 2057 2058 2059 2060 var changeTheDirectionOfArrow = (function(){ 2061 2062 2063 var menu = null; 2064 2065 const ARROW_CLASS = 'arrow' 2066 2067 const RIGHT_ANGLE = 'fa-angle-right' 2068 2069 function __readDom(){ 2070 menu = $('#side-menu') 2071 } 2072 2073 function changeDirection(){ 2074 var listItem = menu.find('li') 2075 $.each(listItem , function(){ 2076 var arrow = __getArrow($(this)); 2077 __updateArrow(arrow); 2078 }) 2079 } 2080 2081 function __getArrow(item){ 2082 return item.find('span.fa.arrow'); 2083 } 2084 2085 function __updateArrow(item){ 2086 item.removeClass(ARROW_CLASS) 2087 item.addClass(RIGHT_ANGLE) 2088 item.css({float : "right"}) 2089 } 2090 2091 __readDom(); 2092 return { 2093 changeDirection : changeDirection 2094 } 2095 2096 })() 2097 2098 $(function(){ 2099 changeTheDirectionOfArrow.changeDirection(); 2100 }) 2101 2102 2103 var count = 0; 2104 2105 $(".digit").on('click', function() { 2106 var num = ($(this).clone().children().remove().end().text()); 2107 if (count < 11) { 2108 $("#output").append('<span>' + num.trim() + '</span>'); 2109 count++ 2110 } 2111 }); 2112 2113 2114 $(document).ready(function(){ 2115 var collapsedMenu = $('ul#side-menu').find('.collapse.in'); 2116 $.each($('body').find('ul.nav.nav-second-level.for-dashboard.collapse.in'), function(){ 2117 $(this).removeClass('in'); 2118 }) 2119 }) 2120 2121 2122 // hide tooltips if data-toggle = tooltip is exict only added by Ezzat 2123 $('.modal').on('shown.bs.modal', function (e) { 2124 if ($(this).attr('data-toggle') === 'tooltip'){ 2125 $(e.target).tooltip('hide'); 2126 } 2127 $(".pad-container").hide(); 2128 $(".user-info-numbers-area").show(); 2129 $('.toggle-pad').attr('disabled',true); 2130 $("#output").html(''); 2131 }); 2132</script>
2132 2133 2134 2135<input type="hidden" id="current_element"/> 2136<input type="hidden" id="ViewHelperVersion" value="1790862941"/> 2137<input type="hidden" id="country_code" value=""/> 2138
2139<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"1c7ac89166","applicationID":"1537129101","transactionName":"ZVMGYEACWUVXURdZC1wZJVdGClhYGVYGVgVHWhAbWw1TU04dCl4AV04=","queueTime":0,"applicationTime":224,"atts":"SRQFFggYSks=","errorBeacon":"bam.nr-data.net","agent":""}</script>
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:'a43c16679b0c1bd1',t:'MTc5MDg2NDIxMQ=='};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<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>
2139 2140</body>
2141<script type="text/javascript" src="https://media.twiliocdn.com/sdk/js/client/releases/1.7.7/twilio.min.js"></script>
vendor: 1 bytes, line 2141
2141
2142<script>
vendor: 363 bytes, lines 2142-2148
2142 2143 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 2144 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 2145 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 2146 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 2147 2148 ga('create', '
2148UA-92690224-1
vendor: 41 bytes, lines 2148-2150
2148', 'auto'); 2149 ga('send', 'pageview'); 2150
2151</script>
vendor: 1 bytes, line 2151
2151
2152<script type="text/javascript" src="https://admin.octopuspro.com/js/common/confirmation_popup.js?v=1790862941"></script>
2152 2153<!-- S3 uploader -->
2154<script src="https://admin.octopuspro.com/js/s3_uploader.js?v=1790862941" type="text/javascript"></script>
vendor: 1 bytes, line 2154
2154
2155<script rel="" src="https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js"></script>
2155 2156 2157 2158<!-- S3 upload Files --> 2159<!--
2159<script src="--><!--?v=--><!--" type="text/javascript"></script>
2159-->
2160<script src="https://admin.octopuspro.com/js/js_updated16.js?v=1790862941" type="text/javascript"></script>
2160 2161<!--Aws Uploader --> 2162<!--
2162<script rel="preload" src="https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js"></script>
2162--> 2163<!-- LOAD TRANSLATIONS OBJECT START @AUTHOR AMR --> 2164
2165<script src="https://admin.octopuspro.com/js/_trans/languages/en.js" 2166 type="text/javascript"></script>
2166 2167<!-- LOAD TRANSLATIONS OBJECT END @AUTHOR AMR 2 -->
2168<script src="https://admin.octopuspro.com/js/_trans/trans.js" 2169 type="text/javascript"></script>
2169 2170
2170<script src="https://code.iconify.design/1/1.0.7/iconify.min.js"></script>
2170 2171
2172<script src="/js/octopus-translate.js" type="text/javascript"></script>
2172 2173
2174<script rel="preload" id="tinymceScript" src="/js/tinymce_8.4.0/tinymce.min.js"></script>
vendor: 1 bytes, line 2174
2174
2175<script> 2176 tinymce.init({ 2177 license_key: 'gpl', 2178 selector: '.mceEditor', // change this value according to your HTML 2179 plugin: 'a_tinymce_plugin', 2180 a_plugin_option: true, 2181 a_configuration_option: 400, 2182 setup: function(editor) { 2183 editor.on('change', function(e) { 2184 editor.save(); 2185 window.onbeforeunload = null; 2186 }); 2187 } 2188 }); 2189</script>
2189 2190 2191</html>
2192<script> 2193<!-- -->// 2194// $(window).on('load', function() { 2195// 2196// loadScript("/dist/js/manifest.js?v=//"); 2197// loadScript("/dist/js/vendor.js?v=//"); 2198// loadScript("/dist/js/main.js?v=//"); 2199// 2200// 2201// }); 2202 function loadScript(src,isModule = false) { 2203 return new Promise(function (resolve, reject) { 2204 if ($("script[src='" + src + "']").length === 0) { 2205 var script = document.createElement('script'); 2206 script.onload = function () { 2207 resolve(); 2208 }; 2209 script.onerror = function () { 2210 reject(); 2211 }; 2212 script.src = src; 2213 if(isModule){ 2214 script.type = 'module'; 2215 } 2216 document.body.appendChild(script); 2217 } else { 2218 resolve(); 2219 } 2220 }); 2221 } 2222 2223 $("#send_verification_email").on("click", function() { 2224 $.ajax({ 2225 type: "POST", 2226 2227 url: "https://admin.octopuspro.com/settings/send-verification-ses-custom-email", 2228 success: function (data) { 2229 location.reload(); 2230 } 2231 }); 2232 }) 2233 2234 2235 $( "#page-wrapper" ).on("click", function() { 2236 // $(".nav li").removeClass("active"); 2237 }) 2238 $(document).ready(function () { 2239 $('#search-btn ').click(function () { 2240 if ($(this).next().is(':visible')) { 2241 $(this).next().hide(); 2242 } else { 2243 $(this).next().show(); 2244 $(this).next().find('input[type=text]').focus(); 2245 } 2246 }); 2247 }); 2248 2249 $(function(){ 2250 $('.jq-toast-wrap .jq-toast-heading').hide(); 2251 2252 2253 let customerPortalActiveLinkHrefs = $('.customer-portal-active-link li a'); 2254 const currentUrl = window.location.href; 2255 customerPortalActiveLinkHrefs.each( function (){ 2256 if( $(this).attr('href') !== currentUrl){ 2257 $(this).attr('style', 'color: #a7b1c2 !important'); 2258 } 2259 }); 2260 2261 // Twilio.Device.on('incoming', (call) => { 2262 // $(".pad-container").show(); 2263 // call.on('disconnect', (call) => { 2264 // $(".pad-container").hide(); 2265 // }); 2266 // }); 2267 2268 // $('.btn-call').on("click",function(){ 2269 // $(".pad-container").toggle(); 2270 // $(".user-info-numbers-area").toggle(); 2271 // $('.toggle-pad').removeAttr('disabled'); 2272 // }); 2273 2274 2275 $('.toggle-pad').on("click",function(){ 2276 $(".pad-container").toggle(); 2277 $(".user-info-numbers-area").toggle(); 2278 }); 2279 2280 $('.pad-container .digit').on('click',function(){ 2281 var connection = Twilio.Device.activeConnection(); 2282 if(connection) { 2283 connection.sendDigits($(this).text()); 2284 } 2285 }) 2286 2287 2288 }); 2289 2290</script>
2290 2291 2292<style> 2293 .custom-design-new{ 2294 padding: 15px 30px 15px 30px; 2295 } 2296 .custom-design-new:before 2297 { 2298 content: unset; 2299 } 2300 @media (max-width: 991px) { 2301 .custom-design-new { 2302 padding: 10px !important; 2303 } 2304 } 2305 .custom-design-new:after 2306 { 2307 content: unset; 2308 } 2309 2310 .new-save-btn { 2311 border-radius: 8px !important; 2312 padding: 12px 16px !important; 2313 font-family: 'Roboto', serif !important; 2314 font-style: normal !important; 2315 font-weight: 500 !important; 2316 font-size: 16px !important; 2317 line-height: 16px !important; 2318 text-align: center !important; 2319 color: #ffffff !important; 2320 background: #2e4051 !important; 2321 } 2322 .new-cancel-btn { 2323 background-color: white !important; 2324 color: black !important; 2325 border-color: black !important; 2326 border-radius: 8px !important; 2327 padding: 12px 16px !important; 2328 font-family: 'Roboto', serif !important; 2329 font-style: normal !important; 2330 font-weight: 500 !important; 2331 font-size: 16px !important; 2332 line-height: 16px !important; 2333 text-align: center !important; 2334 } 2335 .justify-content-between{ 2336 justify-content: space-between; 2337 } 2338 .d-flex{display: flex} 2339 .align-center{ 2340 align-items: center; 2341 } 2342 .position-relative{ 2343 position: relative; 2344 font-family: 'Roboto', sans-serif; 2345 2346 } 2347 .custom-style{ 2348 position: absolute !important; 2349 top:10px !important; 2350 right:10px !important; 2351 margin-right:0 !important; 2352 } 2353 #address_Modal_admin .gm-style-iw{ 2354 display: flex !important; 2355 max-height: 40px!important; 2356 align-items: center; 2357 flex-direction: row-reverse; 2358 padding-left: 0.07% !important; 2359 } 2360 @media (max-width: 768px) {
2361 .modal-body.edit_padd_contractor_pop .p-bottom-60-mob { 2362 padding: 12px !important; 2363 } 2364 } 2365</style> 2366<div class="modal fade" id="address_Modal_admin" role="dialog" data-backdrop="static" > 2367 <div class="modal-dialog"> 2368 2369 <form id="address_form" class="form-horizontal" method="get" onsubmit="fillPlace(0,null,0,1);" autocomplete="odgfdgff" > 2370 <!-- Modal content--> 2371 <div class="modal-content h-fit-content" > 2372 <div class="modal-header"> 2373 <button type="button" class="close close_map" data-dismiss="modal">×</button> 2374 <h4 class="modal-title" id="addressModalTitle" style="text-align: center;font-weight: bold;"> Please confirm location by dragging the marker on the map </h4> 2375 </div> 2376 <div style="padding-bottom: 0px;" class="modal-body"> 2377 <div class="alert-address alert-danger welcome-alert" role="alert" style="display: none;margin-bottom: 5px;"></div> 2378 <div id="customerResult"></div> 2379 <div class="row p-bottom-24 p-right-8 p-left-8 " id="modal_components" > 2380 <div class="form-group"> 2381 <div class="col-md-12"> 2382 <div class="inline col-md-12 col-xs-12 no-padding"> 2383 <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"/> 2384 </div> 2385 </div> 2386 </div> 2387 <div class="form-group"> 2388 <div class="col-md-12"> 2389 2390 <div class="inline col-md-2 col-xs-6 ipad_locations_inputs_style "> 2391 2392 2393 <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"/> 2394 2395 </div> 2396 2397 <div class="inline col-md-5 col-xs-6 ipad_locations_inputs_style "> 2398 2399 2400 <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" /> 2401 </div> 2402 2403 <div class="inline col-md-5 col-xs-12 "> 2404 2405 <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" /> 2406 2407 </div> 2408 2409 </div> 2410 </div> 2411 2412 2413 <div class="form-group "> 2414 2415 <div class="col-md-12 "> 2416 2417 <div class="inline col-md-4 col-xs-6 ipad_locations_inputs_style"> 2418 <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--> 2419 </div> 2420 2421 <div class="inline col-md-4 col-xs-6 "> 2422 <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" /> 2423 </div> 2424 2425 <div class="inline col-md-4 col-xs-6 ipad_locations_inputs_style"> 2426 <input class=" Location_details_input text_input form-control change-google-location update_address_from_component" name="country[]" auto_fill="
2426country" placeholder="country" type="hidden" value="" id="country" autocomplete="odgfdgff" /> 2427 <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" /> 2428 </div> 2429 <div class="inline col-md-4 col-xs-12 " id="display_state"> 2430 <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--> 2431 </div> 2432 </div> 2433 2434 </div> 2435 2436 2437<div class="col-xs-12 "> 2438 <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> 2439 2440 <input class="text_input form-control auto p-all-15 Location_details_input" id="autocomplete" link-to-address ="1" 2441 placeholder="Link to address" autocomplete="odgfdgff" name="fullAddress[]" type="text" value=""/> 2442</div> 2443 </div> 2444 2445 <div class="row" style="padding: 0px"> 2446 <div class="col-md-12 modal_body_map" style="padding: 7px"> 2447 <div class="location-map 22" id="location-map-admin"> 2448 <div id="map_canvas" style="height: 400px;"></div> 2449 </div> 2450 </div> 2451 </div> 2452 2453 </div> 2454 <div class="form-group col-md-12 parent-lat-lon-alignment"> 2455 <div class="col-md-12 lat-lon-alignment"> 2456 <div class="inline col-md-4 col-xs-6 p-left-0"> 2457 <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--> 2458 </div> 2459 2460 <div class="inline col-md-4 col-xs-6 padding-left-no-right"> 2461 <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" /> 2462 </div> 2463 </div> 2464 </div> 2465 2466 <div class="modal-footer h-fit-content" > 2467 <div id="button_container" class="h-fit-content"> 2468 <button type="submit" class="width_of_icon_search float-right btn-confirm-popup" > Save changes </button> 2469 <button class="close_map btn-cancel-popup change-p-y float-left" data-dismiss="modal" > Cancel </button> 2470 </div> 2471 2472 </div> 2473 </div> 2474 </div> 2475 </form> 2476 </div> 2477<style> 2478 .ts-dropdown, .ts-dropdown.form-control, .ts-dropdown.form-select{ 2479 background-color: #ffffff !important; 2480 } 2481 .change-p-y{ 2482 padding: 12px 26px !important; 2483 } 2484 .padd-left-0{ 2485 padding-left: 0 !important; 2486 } 2487 2488</style>
2489<script> 2490 $(document).ready(function () { 2491 2492 document.body.addEventListener('click', function (event) { 2493 if (event.target.closest('a[data-target="#create_edit_customer_popup"]')) { 2494 event.preventDefault(); 2495 // Get the value of data-target attribute 2496 var dataTarget = this.getAttribute('data-target'); 2497 VueEventBus.$emit('openModalCustomer'); 2498 // Do something with the data-target value 2499 console.log('Data Target:', dataTarget); 2500 } 2501 }); 2502 2503 }); 2504 2505 2506</script>
2506 2507 2508 2509<div class="vue3-component" id="modals"></div>
2510<script src="https://admin.octopuspro.com/js/disable-autocomplete.js?v=1790862941" type="text/javascript"></script>
2510 2511<style> 2512 2513 2514 /* Address-update styling is scoped so other shared confirm usages stay unchanged. */ 2515 #confirm.address-update-confirm .modal-dialog { 2516 width: 840px; 2517 max-width: calc(100% - 32px); 2518 margin: 20px auto; 2519 } 2520 #confirm.address-update-confirm .modal-content { 2521 border: 0; 2522 border-radius: 4px; 2523 box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25); 2524 overflow: hidden; 2525 } 2526 #confirm.address-update-confirm .modal-header { 2527 position: relative; 2528 padding: 22px 16px 20px; 2529 border-bottom: 1px solid #e5e5e5; 2530 } 2531 #confirm.address-update-confirm .modal-title { 2532 margin: 0; 2533 padding-right: 30px; 2534 font-size: 31px; 2535 font-weight: 700; 2536 line-height: 1.2; 2537 color: #34495e; 2538 } 2539 #confirm.address-update-confirm .modal-body { 2540 padding: 28px 16px 26px !important; 2541 } 2542 #confirm.address-update-confirm .modal-body p, 2543 #confirm.address-update-confirm .confirm-message-text { 2544 margin: 0; 2545 font-size: 16px; 2546 line-height: 1.6; 2547 color: #6d737a; 2548 } 2549 #confirm.address-update-confirm .modal-footer { 2550 display: flex; 2551 justify-content: space-between; 2552 align-items: center; 2553 gap: 12px; 2554 padding: 0 16px 20px; 2555 border-top: 0 !important; 2556 } 2557 #confirm.address-update-confirm .modal-footer::before, 2558 #confirm.address-update-confirm .modal-footer::after { 2559 display: none; 2560 } 2561 #confirm.address-update-confirm .modal-footer .col-lg-3, 2562 #confirm.address-update-confirm .modal-footer .col-md-4, 2563 #confirm.address-update-confirm .modal-footer .col-xs-5 { 2564 float: none; 2565 width: auto; 2566 padding: 0; 2567 } 2568 #confirm.address-update-confirm .modal-close-btn { 2569 position: absolute; 2570 top: 16px; 2571 right: 16px; 2572 width: auto; 2573 height: auto; 2574 padding: 0; 2575 border: 0; 2576 background: transparent; 2577 color: #cfcfcf; 2578 font-size: 32px; 2579 font-weight: 400; 2580 line-height: 1; 2581 opacity: 1; 2582 text-shadow: none; 2583 transition: color 0.2s ease; 2584 } 2585 #confirm.address-update-confirm .modal-close-btn:hover, 2586 #confirm.address-update-confirm .modal-close-btn:focus { 2587 background: transparent; 2588 color: #98a2ad; 2589 outline: none; 2590 } 2591 #confirm.address-update-confirm .confirm-modern-btn { 2592 display: inline-flex; 2593 justify-content: center; 2594 align-items: center; 2595 min-width: 132px; 2596 height: 42px; 2597 padding: 0 22px; 2598 border-radius: 8px; 2599 border: 1px solid transparent; 2600 font-size: 15px; 2601 font-weight: 600; 2602 text-decoration: none; 2603 box-shadow: none; 2604 transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; 2605 } 2606 #confirm.address-update-confirm .confirm-modern-btn:hover, 2607 #confirm.address-update-confirm .confirm-modern-btn:focus { 2608 text-decoration: none; 2609 outline: none; 2610 } 2611 #confirm.address-update-confirm .confirm-modern-btn-secondary { 2612 background: #ffffff; 2613 border-color: #d4d9de; 2614 color: #4f5965; 2615 } 2616 #confirm.address-update-confirm .confirm-modern-btn-secondary:hover, 2617 #confirm.address-update-confirm .confirm-modern-btn-secondary:focus { 2618 background: #f8fafb; 2619 border-color: #c8d0d8; 2620 color: #34495e; 2621 } 2622 #confirm.address-update-confirm .confirm-modern-btn-primary { 2623 background: #34495e; 2624 border-color: #34495e; 2625 color: #ffffff; 2626 } 2627 #confirm.address-update-confirm .confirm-modern-btn-primary:hover, 2628 #confirm.address-update-confirm .confirm-modern-btn-primary:focus { 2629 background: #2c3e50; 2630 border-color: #2c3e50; 2631 color: #ffffff; 2632 } 2633 .modal-backdrop.in.address-update-backdrop { 2634 opacity: .55; 2635 background: #666666; 2636 } 2637 @media only screen and (max-width: 767px) { 2638 #confirm.address-update-confirm .modal-dialog { 2639 width: auto; 2640 max-width: none; 2641 margin: 18px 14px; 2642 }
2643 #confirm.address-update-confirm .modal-header { 2644 padding: 18px 14px 16px; 2645 } 2646 #confirm.address-update-confirm .modal-title { 2647 font-size: 24px; 2648 padding-right: 24px; 2649 } 2650 #confirm.address-update-confirm .modal-body { 2651 padding: 22px 14px 20px !important; 2652 } 2653 #confirm.address-update-confirm .modal-footer { 2654 padding: 0 14px 16px; 2655 flex-direction: column-reverse; 2656 align-items: stretch; 2657 } 2658 #confirm.address-update-confirm .confirm-modern-btn { 2659 width: 100%; 2660 min-width: 0; 2661 } 2662 #confirm.address-update-confirm .modal-close-btn { 2663 top: 12px; 2664 right: 12px; 2665 } 2666 } 2667 .custom-m-top-0{ 2668 margin-top: 0px !important; 2669 } 2670 .modal-header{ 2671 padding: 16px 20px !important; 2672 } 2673 #confirm .modal-dialog.modal-md{width: 65% !important;} 2674 #popupi .modal-dialog.modal-md{width: 65% !important;} 2675 @media (max-width: 1440px) { 2676 #confirm .modal-dialog.modal-md{width: 80% !important;} 2677 #popupi .modal-dialog.modal-md{width: 80% !important;} 2678 } 2679 @media (max-width: 768px) { 2680 #confirm .modal-dialog.modal-md{width: auto !important;} 2681 #popupi .modal-dialog.modal-md{width: auto !important;} 2682 } 2683</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.