PageSourceSearch

https://www.freecams2.com/privacy/

html freecams2.com collected 2026-10-10 02:12:34 UTC 182,227 bytes, 2,073 lines download raw bytes

1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
3
4
5<html xmlns="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/html" lang="en">
6
7<head>
8  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
9  
9<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"6f524845d1","applicationID":"24279235","transactionName":"MwYEbUdYXxJQWhULDApMIExbWkUIXldOBgkFDQFWG09YBEZKTwUGCgYUUFYXUwBCXFs2BgkTClhBXGcIVE5PBQYQ","queueTime":0,"applicationTime":37,"agent":"","atts":"H0ETGw9CExRCXBM9CgBBXAkZG1QPVUwSBxFKCgIbDwkdQ0RKBBANBQ4DGw8bbj5QVw4MPDtBShtGUFYPREk+BgIQBkQDBRUTIndmMwMaRllEWAEBA1AIXVFWAVEBAwEHWBwuY31DTkEnJTl7Wk0TWwAVQyElOyEJTX9qE1tXWA0RBkhBJX9qe14VdEEVEAJGWURfVFVCBB1fAA4QAUFKG0dcUA1uUBFAWUZSXggbCwBUHw9UTFVXQUobVFdeD25fDQMEF0FcG3R3fi8dcS4xN0ZPRFtQSkU+VkwEERA7ChYbDxsAWQAXU1NWSlVTFwMKE00TWwQRFzsEE1xGSm4GVFZDWEExMEQVF1tUEkVmBhcGFxA5XlBWbhNUXggNDUZZRHB5Gx1DWEk+AQwRDRJLTBsLQ2RqQ05BDRM5WlpMXxVDQD4BDAoFD11QV1IEEwNDW1pGT0RQRWZfBEVODhAIRllEGxkbWBFuVhMFAgoKHFhBUF4PEwNDJgIQAgVYWEkTTRNQET0KFxNEAxd9UBVQWgAPE0ZPRFBFZlASXxtbUFJWUVUBGRtYEW5YEgw8CxEBGw8bdQBFWAIDDhRDKlBYUEUEVRtNQAoUPAVWW1dUAkVQDgw8EBoWXBcDEyJeSxENEQUXAxsZG1gRbkwSBxE7Fx9JUBsLQ1lWEhYKCgREFRdLVBBEXBIWPBQCElEXAxNOQUsIFAIHGkkbGRtGDW5RDhEXRllETkJOHwdDXAQBAgkQVBdWVlxDHRsWDjwNB0QDAA0DUggVQxEKEAY5UFEbC1cdGxILFwE8AlZYWFgPEwNDBBEBBgVYWEoDT1JbTBUPSgAJVBcVExNUSBQHEBA8DlZGTRNbE04WFU0CEQNcVlhcEgMXAg0ORk9EW0dWRhJUSz4LB0ZZRFsGCgRQU1gCT1oBVV8UAQkBURxYB1pQSVJTCgQMAgJUCgcDWkZPREtQX1QTVEtDWEFGT0RLUEhEBEJNPg8GEAsJXRcDEyZ0bUNOQRQaElFaV24XVEsSCwwKQVwbBhcAUxMVQwYJBQ0BVmpPVBNCUA4MQV5BUxcHFwBZExVDDBE7FQNLRlBeDxMDQ1NQSlVICBcVExRQZgUHFQ0AA2ZXS1APVRtbQDAUCgJcRxsdQ0RYPgYGEgoFXGpfUAxYVRhAWUYwFlBRXENDHRsUAzwABhBQVlxuDF5dBA5BXkEiXEZSRQ5BG01AFgU8AlxDUFIEbk0YEgZGWURdUEpaFV5JQ05BEQI5VkZmVwBcUA0bQV5BKU1dXENDHRsUAzwLEDlPUEtCCF5XQ1hBRk9ETFRmUxNeThIHETsFB1RcVUhDCxsxAwQBMAlMR1pUMlRYEwELJgwSGxkbRABuWxMNFBcGFGZDXEMSWFYPQFlGUkgJFxUTFFBmEhYRDQ0BGw8bfA5LUA0OAktWSAkVeEERXVw2BwEvChIWAAoGTwIPQUooLDcrdRkZXQhaXEElBgcICQIVWl4MQVgVCwEIBl0ZZVhWBGJWFBAAATADWEdaWSNeTU5TTVRYRhJdTUURQgNOTRMFBANKWkxDAlRKBAMRBwtIWlpUHgNeTUhCIAwRCVRQFgBTCRdRTFNKU0ZqVF9QE1gWVFFUSlBQGxkbVghFZgINDgkKEhsPGwIFVVoCV1dVAF5cAgoFAgVbAABaAVdQCgIMVQAHCVVUVQUCAFtTDglDHRsGCxc7FwdeFwMTFwMPT1NTSltICxcVExNUTwgRCgsNRAMXClUFUlpUVlIHWwMOBg1SVVNYA1sGUFVVDgBdUFcBDVdUAgUFBF8CARNNE1sNDQAPPAhWW2ZUEkJcDxYKBQ85WlpWWghUSkNYBQUPFVwZG1MNXloKPQ0LDTlcRkpUD0VQAA48BwwJUlxcQj5eTwQQEQ0HAlxbGwsHUFUSB09GChVmUE9eDUdcPhELCxQIGw9fUA1CXE1ADwUNAWZdXFAFVEtDWEEBDUtMRhVUDxMVQxICFgILShcDExpMG01AAgcXD09QZkUOVl4NBxBGWUR6XU1DEld0EjETBQ5Kc1t2RxNdQDQrThJSSmlQS1wgQko1DQwITzZWWUBWDV5NTTQCFxdUFwQVYgReehIWDikGElgZdFMNYksCCiYSDApPUBRHUx16CRYRFwVKa1hrXA1CTSwAD0ghB11wVF4LWBUsDzMFGjZYTFZEFR1JDBQTSC4EVWZLUgl0Tw4OFQFPJ19TUF0IUE0EJhoKAgtQVmleEkVbAAEIF08lUUFLQgdzWAUFBkgzE0tHegMiHWwiLyoJExRPWFdFEh1YEwAKEAYUFXhUYQBIfw4QAAFPIElmS1IJcFcODE8oDQFWdlFFNV9KN043CwgyUEV/XRVDSk1AHhk="};
10(window.NREUM||(NREUM={})).init={proxy: {assets: "nwr.static.mmcdn.com", beacon: "nwr.mmcdn.com"}, privacy:{cookies_enabled:true},ajax:{deny_list:["bam-cell.nr-data.net","bam.nr-data.net","live.mmcdn.com","realtime.pa.highwebmedia.com","static-assets.highwebmedia.com","stream.highwebmedia.com","stream.mmcdn.com","www.google-analytics.com","conviva.com","*"],capture_payloads:"none"},api:{register:{duplicate_data_to_container:false,enabled:true}},feature_flags:["ajax_metrics_deny_list"],browser_consent_mode:{enabled:false},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"24506750",accountID:"1418997",trustKey:"1418997",xpid:"VQIGWV9aDxACUFNVDgMEUw==",licenseKey:"6f524845d1",applicationID:"24279235",browserID:"24506750"};;/*! For license information please see nr-loader-spa-1.323.0.min.js.LICENSE.txt */
11(()=>{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.323.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=Bo
11olean("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};e.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});
11class 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;
11const 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);
11if(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$:()=>
11o,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])}
11(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}
11;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.323.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.323.0.PROD:";r.l=(n,i,s,a)=>
11{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-ORjtmy+nQMgxbu0os8+oTRa5sPzbinyuWSvpZrrstVLIaHofRRlfODdH+oUmkIgeQpM+vPf3vG/4RzvCsFVh1A==",249:"sha512-o7+K6xC0z3TqynjVxpd+jgiSgqy8rrPeRcUSqt5J0Rqg5Su5CycLMYfpwiM3WBCHiNDrG5aZoXJQ6HRc335XYQ==",212:"sha512-kRvBt1IYQDBnClTEWNaE8sDFqbXXM3Vdyf972Uf4MFbJxl7u3KmdO+jdB1H4achPEoT9YtNXHswaESey6sCH0A==",238:"sha512-U5EGmyYbFVR2UMNAuZJ7fTgVVtPa5b8RPMySDwXo7z3frRdkUJ2x1VAQTLQCeBab8VlGVGRV8FiSHIn/pwN72A=="};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.323.0.PROD"]=self["webpackChunk:NRBA-1.323.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
11ine_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()=>
11{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)=>
11null==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
11dTimingMethod(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
11imeToRegister: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})})}
11return 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,a=(0,ye.ZF)(),o=(0,ye.el)(),c=Date.now();this.agentRef.runtime?.timeKeeper?.ready&&(s=Math.floor(this.agentRef.runtime.timeKeeper.correctAbsoluteTimestamp(c)));var d={spanId:a,traceId:o,timestamp:c,timestampCorrected:s};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(d.traceContextParentHeader=this.generateTraceContextParentHeader(a,o),d.traceContextStateHeader=this.generateTraceContextStateHeader(a,s??c,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(d.newrelicHeader=this.generateTraceHeader(a,o,s??c,r,n,i)),d}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"
11!==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);
11if(!(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)}
11);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)})});
11class 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
11h(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>
11
12  
13  
14
15
16
17<script type="text/javascript">
18    
19        window.siteSettings = JSON.parse("{\u0022chaturbate_alias\u0022: \u0022freecams2\u0022, \u0022dbwl_domain\u0022: \u0022www.freecams2.com\u0022, \u0022tagline\u0022: \u0022The Future Of NSFW streaming\u0022, \u0022tagline_color\u0022: \u0022#222222\u0022, \u0022site_name\u0022: \u0022Freecams2\u0022, \u0022jpeg_stream_url\u0022: \u0022https://jpeg.live.mmcdn.com/\u0022, \u0022jpeg_room_img_url\u0022: \u0022https://thumb.live.mmcdn.com/\u0022, \u0022cb_games_url\u0022: \u0022https://games.multimediallc.com/\u0022, \u0022title\u0022: \u0022FreeCams2\u0022, \u0022bgcolor\u0022: \u0022#ACDCFF\u0022, \u0022navigation_bgcolor\u0022: \u0022#2C8DCC\u0022, \u0022navigation_font_color\u0022: \u0022#CCCCCC\u0022, \u0022navigation_alt_bgcolor\u0022: \u0022#ACDCFF\u0022, \u0022navigation_alt_2_bgcolor\u0022: \u0022#6EC5FD\u0022, \u0022h1_color\u0022: \u0022#004B5E\u0022, \u0022text_color\u0022: \u0022#222222\u0022, \u0022href_color\u0022: \u0022#0A5B83\u0022, \u0022tab_border_color\u0022: \u0022#4A4A4A\u0022, \u0022tab_active_color\u0022: \u0022#D9D9D9\u0022, \u0022tab_inactive_color\u0022: \u0022#CCCCCC\u0022, \u0022tab_active_font_color\u0022: \u0022#0A5B83\u0022, \u0022tab_inactive_font_color\u0022: \u0022#4B8FC4\u0022, \u0022tag_exhibitionist_color\u0022: \u0022#ED7E53\u0022, \u0022tag_font_color\u0022: \u0022#000000\u0022, \u0022tag_hd_color\u0022: \u0022#ED7E53\u0022, \u0022tag_offline_color\u0022: \u0022#8A8A8A\u0022, \u0022tag_private_group_color\u0022: \u0022#FF8400\u0022, \u0022tag_spy_price_color\u0022: \u0022#CC0000\u0022, \u0022content_bgcolor\u0022: \u0022#F0F0F0\u0022, \u0022cam_background_color\u0022: \u0022#E3E3E3\u0022, \u0022cam_border_color\u0022: \u0022#CFCFCF\u0022, \u0022cam_text_color\u0022: \u0022#222222\u0022, \u0022cam_text_alt_color\u0022: \u0022#707070\u0022, \u0022cam_href_color\u0022: \u0022#0A5B83\u0022, \u0022footer_href_color\u0022: \u0022#222222\u0022, \u0022footer_text_color\u0022: \u0022#666666\u0022, \u0022logo_image_name\u0022: \u0022https://static\u002Dpub.highwebmedia.com/uploads/whitelabels/logos/2025/03/25/06/23/85bba0a138826216f24e63dd9af594824b3d9f04_logo.png\u0022, \u0022signup_bg_color\u0022: \u0022#F47321\u0022, \u0022signup_alt_bg_color\u0022: \u0022#CD5D26\u0022, \u0022_logo_width\u0022: 400, \u0022footer_html\u0022: \u0022\u0022, \u0022default_campaign_slug\u0022: \u0022vsUP2\u0022, \u0022carousel_bg_color\u0022: \u0022#E3E3E3\u0022, \u0022carousel_border_color\u0022: \u0022#CFCFCF\u0022, \u0022carousel_arrow_color\u0022: \u0022#ACDCFF\u0022, \u0022carousel_arrow_bg_color\u0022: \u0022#4B8FC4\u0022, \u0022carousel_active_circle_color\u0022: \u0022#4B8FC4\u0022, \u0022carousel_circle_color\u0022: \u0022#6E6F70\u0022, \u0022carousel_href_color\u0022: \u0022#0A5B83\u0022, \u0022carousel_title_color\u0022: \u0022#222222\u0022, \u0022filter_panel_bg_color\u0022: \u0022#EBEBEB\u0022, \u0022filter_option_border_color\u0022: \u0022#407AA6\u0022, \u0022filter_panel_highlight_color\u0022: \u0022#4B90C4\u0022, \u0022filter_section_primary_text_color\u0022: \u0022#525252\u0022, \u0022filter_section_support_text_color\u0022: \u0022#6E6F70\u0022, \u0022filter_panel_button_active_bg_color\u0022: \u0022#8ED5FF\u0022, \u0022filter_panel_button_hover_bg_color\u0022: \u0022#98DCFF\u0022, \u0022meta_description\u0022: \u0022The Future Of NSFW streaming\u0022, \u0022canonical_base_url\u0022: \u0022https://chaturbate.com\u0022, \u0022enhance_whitelabels\u0022: false, \u0022evolve_colors\u0022: {}}");
20        window.siteSettings["canonical_base_url"] = "https://chaturbate.com";
21        
22        window.siteSettings["enhance_whitelabels"] = false;
23        
24        window.siteSettings.whitelabel_hit_count_referring_url = "";
25        
26    
27
28    
29    window.siteLanguages = JSON.parse('[\u0022de\u0022, \u0022en\u0022, \u0022es\u0022, \u0022fr\u0022, \u0022it\u0022, \u0022ja\u0022, \u0022ko\u0022, \u0022pl\u0022, \u0022pt\u0022, \u0022ru\u0022, \u0022zh\u002Dhans\u0022, \u0022zh\u002Dhant\u0022]')
30    window.countryCodes = new Set(["ai", "ag", "aw", "bs", "bb", "bz", "bm", "vg", "ca", "ky", "cr", "cu", "dm", "do", "sv", "gl", "gd", "gp", "gt", "ht", "hn", "jm", "mq", "mx", "ni", "pa", "pr", "bl", "kn", "lc", "mf", "pm", "vc", "tc", "us", "um", "vi", "ar", "bo", "bq", "br", "cl", "co", "cw", "ec", "fk", "gf", "gy", "an", "py", "pe", "sr", "tt", "uy", "ve", "af", "bh", "bd", "bt", "bn", "kh", "cn", "hk", "in", "id", "ir", "iq", "il", "jp", "jo", "kz", "kw", "kg", "la", "lb", "mo", "my", "mv", "mn", "mm", "np", "kp", "om", "pk", "ps", "ph", "qa", "sa", "sg", "kr", "lk", "sy", "tw", "tj", "th", "tl", "tm", "ae", "uz", "vn", "ye", "ea", "tp", "al", "ax", "ad", "am", "at", "az", "by", "be", "ba", "bg", "hr", "cy", "cz", "dk", "ee", "fo", "fi", "fr", "ge", "de", "gi", "gr", "gg", "hu", "is", "im", "ie", "it", "je", "xk", "lv", "li", "lt", "lu", "mt", "md", "mc", "me", "ms", "nl", "mk", "no", "pl", "pt", "ro", "ru", "tr", "sm", "rs", "sk", "si", "es", "sj", "se", "ch", "ua", "gb", "va", "eu", "uk", "dz", "ao", "bj", "bw", "bf", "bi", "cm", "cv", "cf", "td", "km", "cg", "cd", "dj", "eg", "gq", "er", "sz", "et", "ga", "gm", "gh", "gn", "gw", "ci", "ke", "ls", "lr", "ly", "mg", "mw", "ml", "mr", "mu", "yt", "ma", "mz", "na", "ne", "ng", "re", "rw", "st", "sn", "sc", "sl", "so", "za", "ss", "sd", "tz", "tg", "tn", "ug", "eh", "zm", "zr", "zw", "as", "au", "cx", "cc", "ck", "fj", "pf", "gu", "ki", "mh", "fm", "nr", "nc", "nz", "nu", "nf", "mp", "pw", "pg", "pn", "ws", "sb", "tk", "to", "tv", "vu", "wf", "aq", "bv", "io", "tf", "hm", "sh", "gs", "a1", "a2", "ap", "??"])
31    window["DJANGO_STATIC_URL"] = 'https://web2.static.mmcdn.com/'
32    window.evolveModeExcluded = false
33    
34    window.cvolveOptInEligible = false
35</script>
35
36
37
38<script type="text/javascript">
39    if (window.newrelic !== undefined) {
40        window.newrelic.setCustomAttribute("is_evolve_shown", false);
41        
42        window.newrelic.setCustomAttribute("evolve_optin", null);
43        
44    }
45</script>
45
46
47<script type="text/javascript">
48    /* Add active feature flags in case they're required by React code and haven't been set yet. */
49    if (window.active_feature_flags === undefined) {
50        window.active_feature_flags = "BlurThumbnails,ChatSettingsChangelog,PSRequestPMTabRedirect,PGEmoticonsAC,AffPromoCookieLastTouch,SupporterCancelFB,PvtMsgEntity,VDPEnblBEQualNR,PushEnblRecEnter,BatchBanIsPermanent,FingerprintBanStaffTool,UserTokenCashoutReverse"
51    }
52</script>
52
53
54<script id="registered-toggles-data" type="application/json">null</script>
vendor: 1 bytes, line 54
54
55<script type="text/javascript">
56    /* Add active perform toggles if they haven't been set yet. */
57    if (window.active_perform_toggles === undefined) {
58        window.active_perform_toggles = "ChtrsfMsSpam,JnOvrlyUI\u002Dv1,PermAssTool,Polyglot,Vast2.1,SeoCstmMeta,MblSrchEvolve\u002Dv2,Chtrsf,RmRmlstMbl,BadEmoji,MmPayPayout,pmvp,MblSrchEvolve,AffiliateDynamicPostbacks,ChtrsfBadge,PurrC2C,UCMImprvmnts,arbiter,MmPayForce,FpSrchAnon,LngoChtTnsV,TokTipFltrs,ChtrsfTrustV,pfbf,FlwTipSrt\u002Dv1,IdtyRskAI,DisableV2Dir,FinBanRsn,TaxRgnCfgCr,ReactRmlst,WhipIdleCaps,PrivMinMin,AnonFPUHmpg,XnxxSmpRg,AgegoAG,MsgNtce,XvSmpRg,RmPswdHsh,RecHmpgAn,LCPTemRen,JOTmr\u002Dv1,SeoAffRedi,WrnTrnsRcrd,journey_arb,MblFdbckFrm,JnOvrly3,VastWl,FinePermON,RmRmlstSpa2,MblLangSup,RCMSsnpTour,FlwTipSrt,OnStBnAck,DynPbP2,MobC2C,RcmDest,JnOvrlyUI,ChtsfRptRcp,AgKy,ChtrsfMessaging,FYPMbl,PurrFollow,LngoChsfLog,EmbedRmStat,EpochRefProd,C3LnkBP,AblyPvtSoT,TaxRgnCfg,PurrSignup,SupFinPrmON,ClctUsBrthDt,FYPDsk,compliance3,RmRmlstSpa2\u002Dv2,MMPyInvOld,ChtrsfShadow,PushDsblAnon,Mbr3,RfrshDly2,LowBNotif,ChtrsfTSMsg,DashAcctOwn,MsLive,JOTmr,RcmAbBE,LCPLiteDoss,TipMenuOB,SuprtSpam,PermListTool,TaxRgnCfgEp,NoEmdOverlay,NtvEmbdUpgrd,UserRateTool,LngoChtTran,MsgInstMgr,PurrPurchase,TaxRgnCfgAlt,ChtrsfTrustSafety,FYPDsk\u002Dv1,SsnpHmpg,WlblSrchEvlv"
59    }
60    /* Add registered perform toggles if they haven't been set yet. */
61    if (window.registered_toggles_set === undefined) {
62        const togglesData = JSON.parse(document.getElementById("registered-toggles-data")?.textContent || "null");
63        if (togglesData) {
64            window.registered_toggles_set = new Set(togglesData);
65        }
66    }
67</script>
67
68
69
70
71
72
73  
74  
75
76  
77  <meta data-marker="start" />
78  
79  
80      <link rel="canonical" href="https://chaturbate.com/privacy/"/>
81      
82  
83
84  
85  <meta name="Rating" content="mature">
86  <meta name="RATING" content="RTA-5042-1996-1400-1577-RTA" />
87    <meta name="description" content="The Future Of NSFW streaming"/>
88    <title>Privacy Policy - Freecams2</title>
89
90
91  
92      <meta property="og:type" content="website" />
93      <meta property="og:title" content="Freecams2 - Free Adult Live Webcams!" />
94      <meta property="og:description" content="Enjoy free chat and live webcam broadcasts from amateurs and exhibitionists around the world! No registration required!" />
95      <meta property="og:image" content="https://static-pub.highwebmedia.com/uploads/whitelabels/logos/2025/03/25/06/23/85bba0a138826216f24e63dd9af594824b3d9f04_logo.png" />
96<meta property="og:image:height" content="40" />
97<meta property="og:image:width" content="400" />
98      <meta property="og:url" content="https://chaturbate.com/privacy/" />
99      <meta name="twitter:site" content="@chaturbate" />
100      <meta name="twitter:card" content="summary" />
101  
102  <meta data-marker="end" />
103
104  
105    
106    
107        <link rel="icon" type="image/png" href="https://static-pub.highwebmedia.com/uploads/whitelabels/homeicons/2025/03/25/06/20/25780dfd3747c47a02f676ee15b2c1809b4029a9_icon_32x32.png" sizes="32x32"/>
108    
109
110
111    
112    
113    <link rel="shortcut icon" type="image/png" href="https://static-pub.highwebmedia.com/uploads/whitelabels/homeicons/2025/03/25/06/20/25780dfd3747c47a02f676ee15b2c1809b4029a9_icon_192x192.png" sizes="192x192">
114    <link rel="icon" type="image/png" href="https://static-pub.highwebmedia.com/uploads/whitelabels/homeicons/2025/03/25/06/20/25780dfd3747c47a02f676ee15b2c1809b4029a9_icon_128x128.png" sizes="128x128">
115
116    <link rel="apple-touch-icon-precomposed" sizes="180x180" href="https://static-pub.highwebmedia.com/uploads/whitelabels/homeicons/2025/03/25/06/20/25780dfd3747c47a02f676ee15b2c1809b4029a9_icon_180x180.png">
117    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="https://static-pub.highwebmedia.com/uploads/whitelabels/homeicons/2025/03/25/06/20/25780dfd3747c47a02f676ee15b2c1809b4029a9_icon_152x152.png">
118    <link rel="apple-touch-icon-precomposed" sizes="144x144" href="https://static-pub.highwebmedia.com/uploads/whitelabels/homeicons/2025/03/25/06/20/25780dfd3747c47a02f676ee15b2c1809b4029a9_icon_144x144.png">
119    <link rel="apple-touch-icon-precomposed" sizes="128x128" href="https://static-pub.highwebmedia.com/uploads/whitelabels/homeicons/2025/03/25/06/20/25780dfd3747c47a02f676ee15b2c1809b4029a9_icon_128x128.png">
120    <link rel="apple-touch-icon-precomposed" sizes="76x76" href="https://static-pub.highwebmedia.com/uploads/whitelabels/homeicons/2025/03/25/06/20/25780dfd3747c47a02f676ee15b2c1809b4029a9_icon_76x76.png">
121
122    <meta name="msapplication-TileImage" content="https://static-pub.highwebmedia.com/uploads/whitelabels/homeicons/2025/03/25/06/20/25780dfd3747c47a02f676ee15b2c1809b4029a9_icon_144x144.png">
123    
124
125
126  
127  <link rel="stylesheet" href="https://web2.static.mmcdn.com/CACHE/css/output.6bde0c5e5190.css" type="text/css" media="all">
128  <link rel="stylesheet" href="https://web2.static.mmcdn.com/CACHE/css/output.0ba75023c7ca.css" type="text/css" media="all">
129
130    
131        <link rel="stylesheet" href="https://web2.static.mmcdn.com/CACHE/css/output.8a529ede58fe.css" type="text/css" media="all">
132    
133
134  
135
136<style>
137  #main {
138      background-color: 
139  }
140
141  #main .textColor, .textColor {
142    color: #222222;
143  }
144
145  #main .bgColor, .bgColor {
146    background-color: #ACDCFF;
147  }
148
149  #main .tabSectionBorder, .tabSectionBorder {
150    border-bottom: 1px solid #4A4A4A;
151  }
152
153  #main .tabLink {
154    color: #4B8FC4;
155  }
156
157  #main .tabContentContainer {
158    background: #ACDCFF;
159  }
160
161  #main .topSection {
162    background: #6EC5FD;
163    border-bottom: 1px solid #4A4A4A;
164  }
165
166  #main .headerTabLink {
167    color: #0A5B83;
168    background: #D9D9D9;
169  }
170
171  #main .tabLink.tabActive, .tabLink:hover {
172    background: #D9D9D9;
173    border-bottom: 1px solid #F0F0F0;
174    color: #0A5B83;
175  }
176
177  #main .tabBorder, .tabBorder {
178    border-color: #4A4A4A;
179  }
180
181  #main .tabActiveBorder, .tabActiveBorder, #main .tabBorder:hover, .tabBorder:hover {
182    border-bottom: 1px solid #D9D9D9;
183
184  }
185
186  #main .tabInactiveBgColor, .tabInactiveBgColor {
187    background-color: #CCCCCC;
188
189  }
190
191  #main .tabInactiveColor, .tabInactiveColor {
192    color: #4B8FC4;
193  }
194
195  #main .tabActiveBgColor, .followedContainer.tabActiveBgColor, .tabActiveBgColor, #main .tabInactiveBgColor:hover, .tabInactiveBgColor:hover {
196    background-color: #D9D9D9;
197  }
198
199  #main .tabActiveColor, .tabActiveColor, #main .tabInactiveColor:hover, .tabInactiveColor:hover {
200    color: #0A5B83;
201  }
202
203  #main .hrefColor, .hrefColor {
204      color: #0A5B83;
205  }
206
207  #main .tagFontColor, .tagFontColor {
208  color: #000000;
209  }
210
211  #main .tagExhibColor {
212      background-color: #ED7E53;
213  }
214
215  #main .tagLineColor {
216      background-color: #222222;
217  }
218
219  #main .tagOfflineColor {
220      background-color: #8A8A8A;
221  }
222
223  #main .tagPrivateGroupColor {
224      background-color: #FF8400;
225  }
226
227  #main .camBgColor, .camBgColor {
228      color: #E3E3E3;
229  }
230
231  #main .camBorderColor, .camBorderColor {
232      color: #CFCFCF;
233  }
234
235  #main .camSubjectColor, .camSubjectColor {
236      color: #222222;
237  }
238
239  #main .camSubjectTagColor, .camSubjectTagColor {
240      color: #0A5B83; /* Default for all whitelabels */
241  }
242
243  #main .camAltTextColor, .camAltTextColor {
244      color: #707070;
245  }
246
247  #main .camHrefColor, .camHrefColor {
248      color: #0A5B83;
249  }
250
251  #main .nextCamBgColor, .nextCamBgColor{
252      background: #CCCCCC;
253  }
254
255  #main .navigationAlt2BgImage, .navigationAlt2BgImage {
256      background: none; /* Default for all whitelabels */
257  }
258
259  #main .navigationAlt2BgColor, .navigationAlt2BgColor {
260      background-color: #6EC5FD;
261  }
262
263  #header #user_information .userInfoDropdownBgColor {
264      background-color: #CCCCCC;
265  }
266
267  #header #user_information .userInfoDropdownTextColor {
268    color: #4B8FC4;
269  }
270
271  #header #user_information .userInfoDropdownTextColor:hover {
272    color: #0A5B83;
273  }
274
275  #header #user_information .userInfoDropdownHighlightColor:hover {
276    background-color: #D9D9D9;
277  }
278  #header #user_information {
279    border-color: #2C8DCC;
280}
281  #header #user_information .user_information_header {
282      background: #2C8DCC !important;
283  }
284  #header #user_information .user_information_header > div {
285      background-color: #2C8DCC;
286  }
287  #header #user_information .bottom {
288      background-color: #F0F0F0 !important;
289  }
290  #header #user_information .bottom a {
291      color: #0A5B83 !important;
292  }
293
294  #user-context-menu {
295      border-color: #4A4A4A !important;
296  }
297  #user-context-menu > div > div {
298      background-color: #CCCCCC !important;
299      color: #0A5B83 !important;
300  }
301  #user-context-menu .ucmHeader a.defaultUser{
302      color: #004B5E !important;
303  }
304  #user-context-menu .ucmLinks .ucmLinkColor {
305      color: #0A5B83 !important;
306  }
307  #user-context-menu .ucmHeader {
308      color: #004B5E !important;
309
310  }
311  #user-context-menu .ucmLinkHover:hover {
312      background-color: #D9D9D9 !important;
313  }
314</style>
315
316
317
318
319    <style>
320        :root {
321            --wl-bg-color: #ACDCFF;
322            --wl-cam-background-color: #E3E3E3;
323            --wl-cam-border-color: #CFCFCF;
324            --wl-cam-href-color: #0A5B83;
325            --wl-cam-text-alt-color: #707070;
326            --wl-cam-text-color: #222222;
327            --wl-carousel-active-circle-color: #4B8FC4;
328            --wl-carousel-arrow-bg-color: #4B8FC4;
329            --wl-carousel-arrow-color: #ACDCFF;
330            --wl-carousel-bg-color: #E3E3E3;
331            --wl-carousel-border-color: #CFCFCF;
332            --wl-carousel-circle-color: #6E6F70;
333            --wl-carousel-href-color: #0A5B83;
334            --wl-carousel-title-color: #222222;
335            --wl-chaturbate-a: ;
336            --wl-content-bgcolor: #F0F0F0;
337            --wl-filter-option-border-color: #407AA6;
338            --wl-filter-panel-bgcolor: #EBEBEB;
339            --wl-filter-panel-highlight-color: #4B90C4;
340            --wl-filter-section-primary-text-color: #525252;
341            --wl-filter-section-support-text-color: #6E6F70;
342            --wl-filter-panel-button-active-bg-color: #8ED5FF;
343            --wl-filter-panel-button-hover-bg-color: #98DCFF;
344            --wl-footer-href-color: #222222;
345            --wl-footer-text-color: #666666;
346            --wl-h1-color: #004B5E;
347            --wl-href-color: #0A5B83;
348            --wl-navigation-alt-2-bgcolor: #6EC5FD;
349            --wl-navigation-alt-bgcolor: #ACDCFF;
350            --wl-navigation-bgcolor: #2C8DCC;
351            --wl-navigation-font-color: #CCCCCC;
352            --wl-signup-bg-color: #F47321;
353            --wl-signup-alt-bg-color: #CD5D26;
354            --wl-tab-active-color: #D9D9D9;
355            --wl-tab-active-font-color: #0A5B83;
356            --wl-tab-border-color: #4A4A4A;
357            --wl-tab-inactive-color: #CCCCCC;
358            --wl-tab-inactive-font-color: #4B8FC4;
359            --wl-tag-exhibitionist-color: #ED7E53;
360            --wl-tag-font-color: #000000;
361            --wl-tag-hd-color: #ED7E53;
362            --wl-tag-offline-color: #8A8A8A;
363            --wl-tag-private-group-color: #FF8400;
364            --wl-tag-recorded-color: #ED7E53;
365            --wl-tagline-color: #222222;
366            --wl-tag-spy-price-color: #CC0000;
367            --wl-text-color: #222222;
368        }
369        
370        
371        
372        
373        
374        
375    </style>
376
377
378<style>
379body {
380    color: #222222;
381    background: #ACDCFF;
382}
383a {
384    color: #0A5B83;
385}
386input[type=submit], button[type=submit] {
387    background-color: #F47321;
388}
389.register_body form .button {
390    background: none !important;
391    background-color: #F47321 !important;
392}
393.register_body h1 {
394    color: #004B5E !important;
395}
396#header, .footer-holder {
397    background: #ACDCFF !important;
398}
399.logo-zone strong {
400    color: #222222;
401}
402.logo {
403    width: 400px;
404}
405#tsContent .defaultColor, #tsContent input[name="password"] {
406    color: #222222 !important;
407}
408#tsContent h1, #tsContent h2 {
409    color: #004B5E !important;
410}
411
412.nav-bar {
413    background: #2C8DCC;
414}
415.nav-bar {
416    border-color: #ACDCFF;
417}
418.footer-holder {
419    border-top: 3px solid #ACDCFF;
420}
421.content {
422    background: #F0F0F0;
423}
424.sub-nav li.active>a, .sub-nav li>a.hover, .sub-nav li>a:hover:not(.hover-event),
425.tab.active, .tab:hover, .tabLink.tabOpen, .tabLink:hover,
426.gender-tab.active>a, .gender-tab>a.active, .gender-tab>a.hover,
427a.gender-tab.active, a.gender-tab.active, a.gender-tab.hover,
428div.gender-tab.active, div.gender-tab.hover {
429    background: #D9D9D9 !important;
430    border-bottom: 1px solid #F0F0F0 !important;
431    color: #0A5B83 !important;
432}
433.sub-nav li>a, .gender-tab>a, a.gender-tab, div.gender-tab {
434    border-color: #4A4A4A !important;
435    background-color: #CCCCCC !important;
436    color: #4B8FC4 !important;
437}
438.top-section{
439    border-color: #4A4A4A;
440    background: none;
441    background-color: #6EC5FD;
442}
443.list .thumbnail_label_exhibitionist {
444    background-color: #ED7E53;
445    color: #000000;
446}
447.list .thumbnail_label_offline {
448    background-color: #8A8A8A;
449    color: #000000;
450}
451.list .thumbnail_label_recorded{
452    background-color: #ED7E53;
453    color: #000000;
454}
455.list .thumbnail_label_c_promoted {
456    background-color: #ED7E53;
457    color: #000000;
458}
459.list .thumbnail_label_c_private_show {
460    background-color: #FF8400;
461    color: #000000;
462}
463
464.list .thumbnail_label_featured {
465    border-bottom: none;
466    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.33);
467}
468
469.list .thumbnail_label_c {
470    background-color: #ED7E53;
471    color: #000000;
472}
473.list .thumbnail_label_c_gaming {
474    background-color: #ED7E53;
475    color: #000000;
476}
477.footer-holder p, .content_wrapper .frame .footer {
478    color: #666666 !important;
479}
480.footer-holder a, .footer-holder .nav li a {
481    color: #222222;
482}
483.list li {
484    background-color: #E3E3E3;
485    border-color: #CFCFCF;
486    color: #222222;
487}
488.list li a {
489    color: #0A5B83;
490}
491.list .title a {
492    color: #0A5B83;
493}
494.sub-info li {
495    color: #707070;
496}
497.list .title .age {
498    color: #707070;
499}
500.likes li a {
501    color: #222222;
502}
503.content_body h1 {
504    color: #004B5E !important;
505}
506.actions li a {
507    color: #0A5B83;
508    border-color: #4A4A4A;
509    background-color: #CCCCCC;
510}
511.actions li a:hover {
512    background-color: #D9D9D9;
513}
514.advanced_search_options {
515    color: #222;
516    background-color: #F0F0F0 !important;
517}
518.advanced_search_options h2 {
519    color: #004B5E !important;
520}
521.advanced_search_options label {
522    color: #222222 !important;
523}
524#roomTabs {
525    background-color: #F0F0F0 !important;
526    color: #222222;
527}
528#roomTabs h1, .frame .header {
529    color: #004B5E !important;
530}
531#roomTabs td, .MoreRooms, #roomTabs .contentText, .frame table tr td *, .frame table tr td, .frame table th{
532    color: #222222 !important;
533}
534.frame table th.premium_user {
535    color: #004B5E !important;
536}
537#roomTabs .link {
538    color: #0A5B83 !important;
539}
540.c-1 {
541    color: #222;
542}
543
544.password_warning,  .followers {
545    color: #222222;
546}
547.followers a {
548    color: #0A5B83;
549}
550.sub-nav li#mybroadcast-nav-tab a, .sub-nav li#contest_nav_tab a {
551    color: #0A5B83;
552}
553.button_share a{
554    color: #FFF;
555}
556.content, div#main, .content_body .frame {
557    background: #F0F0F0 !important;
558}
559#tag_table {
560    color: #222222;
561}
562#hashtag_ticker a {
563    color: #0A5B83
564}
565#trending_root #tag_table .tag-table-body .tag_row:nth-child(odd) {
566  background-color: #F0F0F0;
567}
568#trending_root #tag_table .tag-table-body .tag_row:nth-child(even) {
569  background-color: #222222;
570}
571#tag_table .tag_row .tag a {
572    color: #0A5B83
573}
574.footercon h2 {
575    color: #4B8FC4;
576}
577.creat{
578  background-color: #F47321;
579}
580
581
582</style>
583<link media="all" rel="stylesheet" href="data:text/css;base64," type="text/css">
584
585  
586
587
588  <style type="text/css">
589    
590  </style>
591  
592  
593<!--[if IE 8]>
594  
594<script src="https://web2.static.mmcdn.com/CACHE/js/output.9c278fc9fa6f.js"></script>
594
595  <style>#cb2_link_box{display:none!important;}</style>
596<![endif]-->
597
598<!--[if IE 9]>
599  
599<script src="https://web2.static.mmcdn.com/CACHE/js/output.5be18910a576.js"></script>
599
600<![endif]-->
601<script src="https://web2.static.mmcdn.com/CACHE/js/output.21a69f49335b.js"></script>
601
602
603  
603<script>(function(){var tsQueue=[];var tsWatcher=setInterval(function(){var tsInstance=window["tsInstance"];if(tsInstance!==undefined){clearInterval(tsWatcher);while(tsQueue.length>0){tsQueue.shift()(tsInstance);}}},50);window["tsExec"]=function(func){if(window["tsInstance"]!==undefined&&tsQueue.length<=0){func(window["tsInstance"]);}else{tsQueue.push(func);}};})();;if(window.self!==window.top&&window.top["onFrameLoad"]!==undefined){window.top["onFrameLoad"](window.self)};</script>
603
604  
605</head>
606<body class="theme-external">
607
608
609
610<script type="text/javascript">
611    const URL_FORCED_THEME_NAME_STORAGE_KEY = "url_forced_theme_name"
612    
613</script>
613
614
615
616
617
618
619
620<div id="base">
621
622
623
624
625
626<script>
627    if (window.newrelic) {
628        window.newrelic.pauseReplay();
629    }
630</script>
630
631
632
633
634
635
636    
637
638
639
640
641
642
643
644  <div id="header">
645    <div class="ad">
646        
647
648
649
650    
651    
652
653
654
655    </div>
656    <div class="section clearfix">
657      <div class="logo-zone">
658        
659    
660        <strong class="logo" style="background: url(https://static-pub.highwebmedia.com/uploads/whitelabels/logos/2025/03/25/06/23/85bba0a138826216f24e63dd9af594824b3d9f04_logo.png) no-repeat;">
661            <a href="/" data-roomlist-spa-nav></a>
662        </strong>
663    
664
665        <strong>The Future Of NSFW streaming</strong>
666      </div>
667
668      
669
670<div class="right_section">
671    <div id="user_information" data-paction="UserInfoPanel" data-testid="user-info-panel">
672        <div id="user_information_header" class="user_information_header">
673            <div id="user_information_profile_container" class="user_information_container anonymous">
674                <img class="user_information_header_icon" title="Account Menu" data-testid="gender-icon"
675                        
676                     src="https://web2.static.mmcdn.com/images/gendericons/anon.svg" alt="Anonymous Icon"
677                        
678                />
679                
680                <img class="user_information_header_arrowdown" title="Account Menu" src="https://web2.static.mmcdn.com/images/userinfoarrowdown.svg" data-testid="user-info-arrow">
681            </div>
682
683            
684            
685                
686                    <div id="dmListIconRoot" class="user_information_icon chat_bubble" data-testid="messaging-icon-root"></div>
687                
688            
689        </div>
690        <div id="userInfoPanelMenuDropdownRoot"></div>
691        
692        <div id="dmListDropdownRoot" data-testid="dm-list-dropdown"></div>
693        
694        <div id="userUpdatesMenuDropdownRoot"></div>
695        <div class="bottom">
696            <table width="100%">
697                <tr>
698                    <th>Status:</th>
699                    <td title="Status" data-testid="status">
700                        
701                            Anonymous
702                        
703                    </td>
704                    <td><a href="/auth/login/" class="login-link nooverlay login--lginxsu" account-redirect data-testid="login-link">(Log In)</a></td>
705                </tr>
706                <tr>
707
708
709                    <th>You have:</th>
710                    <td>
711                        <div class="overflow">
712                            <strong class="auip_tokens">
713                            
714
715                                <span class='tokencount' title="Token Count" updatable-count data-testid="token-count">0</span> Tokens
716
717                            
718                            </strong>
719                        </div>
720                    </td>
721                    <td>
722                        <a href="/tipping/purchase_tokens/?source=TokenSourceUserInfoPanel" class='purchase_tokens login-link' data-purchase-event-source="TokenSourceUserInfoPanel" data-testid="purchase-tokens">(Get More)</a>
723                    </td>
724                </tr>
725            </table>
726        </div>
727    </div>
728</div>
729
730    </div>
731
732      
733    <div class="nav-bar">
734        <ul id="nav">
735            
736                
737                    
738                    <a href="/accounts/register/?next=%2Fprivacy%2F" class="creat nooverlay" account-redirect data-testid="sign-up-tab">
739                        SIGN UP
740                        <img src="https://web2.static.mmcdn.com/images/arrow-white.gif"></img>
741                    </a>
742                
743            
744            <li><a id="ChatRoomLink" href="/" data-roomlist-spa-nav gendered-link>
745                HOME
746            </a></li>
747            
748<li>
749    <a href="/discover/" gendered-link data-testid="discover-tab">
750        <span class="header-title">DISCOVER</span>
751    </a>
752</li>
753
754            <li><a href="/tags/" gendered-link>
755                TAGS
756            </a></li>
757            <li id="spy_tab"><a href="/spy-on-cams/" data-roomlist-spa-nav gendered-link>
758                PRIVATE SHOWS
759            </a></li>
760            
761<li id="followed_tab" >
762    <a href="/followed-cams/" class="followed-header" id="followed_anchor" data-testid="following-tab">
763        <div style="display: inline-block">
764            <span class="followed_text">FOLLOWING</span>
765                <span class="followed_counts" data-paction-name="FOLLOWED">
766                    (0/0)
767                </span>
768        </div>
769    </a>
770</li>
771
772            
773
774<li class="broadcast-yourself">
775    <a
776        href="/accounts/register/?src=broadcast&next=/b/"
777        data-testid="broadcast-yourself-tab">
778        BROADCAST YOURSELF
779    </a>
780</li>
781
782        </ul>
783    </div>
784
785  </div>
786
787
788
789
790
791
792<div id="site_notices">
793    
794    <div class="content"  style="padding:0; margin:0;">
795        <div class="content_body" style="padding:0; margin:0;">
796            <div id="ie-support-notice" class="message dismissible_notice" data-cache-key="ie-support-notice" style="display:none">
797                We noticed you're using a web browser that we don't support. Upgrade to a recent version of <br> <a href="https://www.google.com/chrome/">Chrome</a>, <a href="https://www.mozilla.org/firefox/">Firefox</a>, or <a href="https://support.apple.com/downloads/safari">Safari</a>  for a better online experience. (<a href='#' class='dismiss_notice'>dismiss</a>)
798            </div>
799        </div>
800    </div>
801    
802    
803    
804    
805
806    
807    
808    
809    
810</div>
811
812  <div id="main" class="privacy_policy ">
813  
814  
815  
816  <div class="content">
817    <div class="content_body">
818    
819    <a name="gototop"></a>
820    <div class="legal_text">
821        <h1>Privacy &amp; Cookies Policy</h1>
822
823<p>This Privacy &amp; Cookies Policy (the "Policy") dated November 8, 2023 replaces all previous policies.
824    Please take the time to review before you continue to use our products and services.</p>
825
826<p>This Policy applies to any information you provide to us, including through this website, our mobile apps,
827    communications by email and through social media, by telephone and in person. It also covers any information we
828    receive from third parties.</p>
829
830<p>By using our products and services, including browsing our websites, registering or logging in, you agree we may
831    use your information as outlined in this Policy. If you do not wish to have your information used in line with
832    this Policy, you must not use our products and services and not otherwise provide us with your information.</p>
833
834<h2>About us</h2>
835
836<p><span class="company-name-US"></span>
837 operates the Platform.</p>
838
839<h2 style="text-decoration: underline">Information we may collect and process about you</h2>
840<ul>
841    <li>Information you provide to us, including by way of example only, your username, email address, date of birth,
842        and images and content you may share including age verification related content.</li>
843    <li>Your IP address.</li>
844    <li>Information with respect to accounts you've visited, products and services you've clicked on or shown an interest.</li>
845    <li>Information, communications, and content you share through your account.</li>
846    <li>Information, communications, and content stored and/or saved through your account.</li>
847    <li>Information provided by other companies who have obtained your permission through their own privacy policies to share information about you.</li>
848    <li>Information about your interaction with the Platform including any advertisements.</li>
849    <li>Information we collect using cookies stored on your device about your use of the Platform and/or selected third party websites.</li>
850    <li>Information we collect or remember using technologies similar to cookies, such as device identifiers on your mobile device.</li>
851    <li>Technical information from your device relating to the service(s) you receive and/or access.</li>
852    <li>Your communications with billing and support team members.</li>
853    <li>Information relating to the location of your device.
854</ul>
855
856<h2 style="text-decoration: underline">How we may use your information</h2>
857
858<h3>General Site Administration</h3>
859
860<p>By accessing the Platform, you agree that we may collect, hold, use, and otherwise process your content, data,
861    communications, and information (including personal information) for the purpose of providing you with those
862    products and services you request and/or access, as well as developing and operating our business. By providing us
863    with your email address, you agree to receive emails from us or sent on our behalf providing you with messages
864    regarding your account including, but not limited to, purchase confirmations, renewal confirmations, warnings,
865    alerts (including alerts related users streaming broadcasts or content submissions), and newsletters. Should you
866    determine to provide an email address, you may change your email address at any time.</p>
867
868<h3>Payment Processing</h3>
869
870<p>Please note that we contract with various third parties to carry out payment processing in connection with any
871    purchases you may make through the Platform. The processing and storage of any and all information you may provide
872    to any such third-party payment processor, including information they may collect from you, is not governed by this
873    Policy. You will need to review the Privacy and Cookie Policy for such third party on their website.</p>
874
875<h3>Two Factor Authentication</h3>
876
877<p>When you enable two factor authentication to protect your account and select to associate a phone number with your
878    account, you are adding this number to your account as well as providing it directly to a third party called
879    Twilio. Their use of this information is outside of this Policy; however they do not receive any information
880    regarding your account beyond the phone number you provide directly to them.</p>
881
882<h3>Fraud Prevention Services</h3>
883
884<p>We use third-party services in connection with preventing fraud and other damage to the Platform and systems. As
885    such we may provide such services with your IP and device and access data to detect and prevent potential fraudulent
886    or other abusive activity which activity may be damaging to the Platform and/or its members. This information will be
887    retained indefinitely for the protection of the Platform and its users.</p>
888
889<h3>Content Assurance</h3>
890
891<p>All content, whether written, live, recorded, through photographs or otherwise, is subject to both automated and
892    manual review to ensure that all such content complies with the Chaturbate Terms. For individuals who broadcast
893    and elect not to share their face, including, by way of example, of wearing a mask or only broadcasting from a
894    limited viewpoint, such individuals may receive periodic interruptions requesting a selfie to confirm their Age of
895    Majority (as such term is defined in the Terms). These images are retained internally as a part of age verification
896    records for review by our trained age verification team.</p>
897
898<h3>Registration Information and How it May be Used</h3>
899
900<p>General account registration: You will be required to provide a username and date of birth to demonstrate you meet
901    the minimum age requirements set forth in the Terms &amp; Conditions which is maintained internally for account access
902    purposes. You will also be required to provide certain information that will be posted on your bio and is
903    considered public information including an age through your bio page (note that this does not have to be your real
904    age provided that you do not use the age function to suggest you ever accessed the Platform prior to reaching the
905    Age of Majority) and gender information including your gender (which may be updated as and when you feel
906    appropriate provided it is not used abusively), and what genders you are interested in communicating with.
907    This information, together with any information you determine to provide in your account profile, (including by way
908    of example only, your location and other optional data like "about me" and any wishlist(s)) will be publicly posted
909    in connection with your username and is considered public information as set forth below, regardless of the use of
910    a password on your profile.</p>
911
912<p>Independent Broadcaster registration: In addition to the general account registration information above, you will
913    be required, as more fully detailed below, to provide a color copy of your current government-issued photo
914    identification together with a brief live video and/or burst of images of yourself. This information is retained by
915    us in compliance with United States Federal law which, as of the date of this policy, requires all age verification
916    documentation and images be retained for a period of seven (7) years from the date content was last made available
917    through your account. Unless you elect to associate with a studio, before you can receive payment, you will be
918    required to provide "pay to" information such as a bank account or home address. If you elect to have someone else
919    (such as a business or romantic partner) receive payment, this individual will also be required to provide age
920    verification information through your account. You may be required to provide certain taxpayer information. We
921    report to the United States Internal Revenue Service, and all foreign countries' equivalent services/agencies as
922    we may deem required or appropriate, all moneys through the Platform to Independent Broadcasters.</p>
923
924<p>Independent Affiliates: Should you determine to create an independent advertiser affiliate account with the Platform,
925    you will be required to provide "pay to" information such as a bank account or home address. You may be required to
926    provide certain taxpayer and age verification information, including completing the age verification process
927    required of Independent Broadcasters. We report to the United States Internal Revenue Service, and all foreign
928    countries' equivalent services/agencies as we may deem required or appropriate, all moneys through the Platform
929    to Independent Broadcasters.</p>
930
931<h3>Public Information</h3>
932
933<p>The Platform may provide message boards, blogs, chat, private/direct messaging, tip notes, content streaming,
934    image sharing, and other user generated content facilities, in addition to user profiles. Anything that you share
935    through any of these means is deemed public information regardless of your use of a password or other function to
936    restrict users' ability to view. You should always be careful when deciding to disclose your personal information.
937    All public information is subject to review and monitoring for compliance with the Chaturbate Terms. Additionally,
938    as noted in the Terms, we would remind you to exercise caution in sharing off-Platform links and methods of
939    communication as 1. Sharing such information may intentionally or unintentionally disclose personally identifying
940    information and 2. We are, with very rare exceptions, unable to assist with such links and communications because
941    we are unable to verify any purported screen captures provided to us. When you purchase and tip tokens to other
942    independent broadcasters and/or when you purchase a Platform subscription or fan club membership, this may change
943    the color of your username based upon such activity.</p>
944
945<h3>Certain Information Use Out of Our Control</h3>
946
947<p>As noted above, all content and information shared through the Platform (
947other than your government issued
948    identification and selfie submitted in the Independent Broadcaster and/or Independent Affiliate age verification
949    account creation process) is considered public information. Should you determine to broadcast, upload, or otherwise
950    share any content to the Platform, you understand that we cannot control the use of such public information by any
951    user/observer of the Platform. Furthermore, we cannot control the use of any personal information you may determine
952    to share, either intentionally or unintentionally, with other users/observers of the Platform. You should exercise
953    caution in discussing your location, name, account information, and other identifying information. For privacy, we
954    recommend using a unique username not in any way tied to any of your social media accounts or real name.</p>
955
956<h3>Location Based Services</h3>
957
958<p>Where we provide services that utilize your device's location, we may permit other users of the service to block
959    individuals in certain locations, based upon their IP, from accessing such users' content.</p>
960
961<h3>Community Support</h3>
962
963<p>From time to time we may, directly or through one or more third parties, provide billing and other support to
964    members and viewers of the Platform. Because we provide support to members and viewers, rather than "customer
965    support" we refer to this service as "community support." By contacting and/or reaching out to the Platform's
966    community support team(s), you understand that all such communications are subject to recording and monitoring
967    by us and by the applicable third-party service provider, if any. All such communications may be retained and
968    referenced for internal purposes as well as for future community support issues.</p>
969
970<h3>How we may share your information</h3>
971
972<p>Your username will be associated with all activities you undertake on the Platform including, without limitation,
973    messages sent, content shared, and broadcast content. Your gender information is shared through your account and
974    will be used to categorize your account and the content that you share so it is easier for Platform users to find.
975    Your IP addresses, device data, and other use information are used by us in order to optimize the Platform for use.
976    Your usage history may also be used to help our internal algorithm to recommend other Platform users to you. Your
977    information may also be shared with third parties with whom we contract to provide certain services on our website
978    such as third-party hosting services and site optimization services. Your "pay to" information, if provided to us,
979    will be shared with third parties (such as, by way of example only, our banking and other financial services
980    providers) only as necessary to process payments to you using the "pay to" information you have provided.
981    All records collected in compliance with the Regulations, as such term is defined below, will be shared as
982    required to comply with applicable law and regulations and as may be requested by you in writing. Notwithstanding
983    the forgoing, we reserve the right to share any and all account information as we deem appropriate – in response
984    to written request(s) from law enforcement or other third parties; should we believe, in our sole discretion,
985    that you or your account may be involved with illegal activity; or, if we determine, in our sole discretion, that
986    such disclosure is necessary to protect the rights or property of Chaturbate, Platform users, and/or third
987    parties.</p>
988
989<h3>Safeguards and security for your information</h3>
990
991<p>We have measures in place to protect the security of your personal information from unauthorized access or use,
992    such as by using encryption technology.</p>
993
994<h3>Information Deletion</h3>
995
996<p>Should you request your personal data be deleted, it will be deleted in compliance with our data retention
997    policy and applicable law and rules. In order to avoid abuse of the Platform and to avoid anyone impersonating
998    you, your username will be retained. If your use of the Platform is restricted for any reason (including,
999    by way of example only, a suspension, ban, limitation on number of accounts, or otherwise) at the time you
1000    request deletion of your account and/or personally identifying information, your status with the Platform may be
1001    converted to a permanent ban and, whether or not the restriction is converted to a permanent ban, minimal records
1002    related to your account and restrictions will be retained as necessary to maintain your restrictions for the
1003    duration of the applicable restrictions. In the event that you have tokens, purchases/subscriptions, or content
1004    associated with your account at the time you request deletion, by requesting deletion you are agreeing that all
1005    such tokens, amounts, and content are being forfeited by you to us and that you shall not be entitled to any
1006    transfer or refund. You understand that requesting deletion of your account will not in any way require the
1007    deletion of records we believe necessary to comply with the Regulations; provided that we will only retain
1008    such records as required by the Regulations which Regulations may be amended or even replaced from time to time.</p>
1009
1010<p>You can request permanent deletion using the Platform's deletion tool
1011    <a href="/security/privacy/delete/">here</a>.</p>
1012
1013<h2 style="text-decoration: underline">Biometric and AV Documents Policy</h2>
1014
1015<h3>Biometric Data Collection and Storage Policy</h3>
1016
1017<p>This Biometric Data and AV Documents Collection and Storage Policy (the "Policy") last updated July 28, 2023, applies
1018    to your use of <span class="company-name-US"></span>
1019's ("we," "us," or "our") interactive chat platform available through Chaturbate.com
1020    (the "Platform"). Please take the time to review before you proceed with submitting your AV Documents. As used
1021    herein "AV Documents" refers to all images you may submit to us either directly or through a third party intended to
1022    comply with our age verification requirements which currently require a clear color image of your unexpired
1023    government-issued photo identification containing a recent and recognizable photo of you, together with a live
1024    burst/series of images taken of your 'Selfie'. Your 'Selfie' will be displayed on your account's age verification
1025    page, as well as used by the Chaturbate compliance team to ensure compliance with the Chaturbate Terms related to
1026    your broadcasts and/or Affiliate Referral payouts.</p>
1027
1028<p>We use technology from Incode Technologies, Inc. ("Incode") for identity verification, fraud prevention, and security
1029    purposes, ("Services"). Company and/or Incode may collect and generate biometric identifiers and biometric
1030    information, such as your faceprint ("Biometric Data"), a selfie image, and, where applicable, information from your
1031    government-issued identification or your interactions with Incode and Company systems while onboarding (collectively
1032    with Biometric Data, "Personal Data") for the Services, and may disclose such data to service providers or
1033    government entities as required. Learn more about how your Personal Data is processed, including retention,
1034    Company's and/or Incode's terms, including mandatory arbitration and class action waiver, and data processing
1035    practices and deletion in this Policy and Incode Privacy Notice.</p>
1036
1037<p>By ticking the box consenting to this Policy during the account creation process, you accept providing us with your
1038    identification Personal Data, including your Biometric Information, for Company's and Incode's collection, storage,
1039    retention, use, transfer and disclosure of such information to provide the identity verification services,
1040    consistent with this Policy and Terms &amp; Conditions which you may find at https://chaturbate.com/terms/. Even if you
1041    consent, you have the right to request the withdrawal of your consent at any time by either deleting your account or
1042    disassociating your Person Code from an account with the understanding that we may be required to retain certain
1043    information in connection with age verification and other obligations.</p>
1044
1045<p>If you do not wish to have your information used in line with this Policy, and Incode's <a
1046        href="https://incode.com/omni-privacy/" target="_blank" rel="noopener noreferrer">Privacy Policy</a>, you must
1047    not submit AV Documents.</p>
1048
1049<h3>What is Biometric Data</h3>
1050<p>Biometric data is any biological characteristics of a person, or information based upon such a characteristic,
1051    including characteristics such as those defined as "biometric identifiers" and "biometric information" under the
1052    Illinois Biometric Information Privacy Act, 740 ILCS 14/1, et seq. "Biometric identifier" means a retina or iris
1053    scan, fingerprint, voiceprint, or scan of hand or face geometry. "Biometric information" means any information,
1054    regardless of how it is captured, converted, stored, or shared, based on an individual's biometric identifier used
1055    to identify an individual.</p>
1056
1057<h3>Biometric Data We May Collect and Process</h3>
1058<p>When you submit AV Documents either directly to us or through a secure third party, including Jumio Corporation, a
1059    three-dimensional scan of your face geometry will be taken. You will be prompted to take a short burst/series of
1060    images of your face using the camera on your mobile device or other internet connected webcam. We, directly or
1061    through a secure third party, may also collect a similar face geometry during your live video broadcasts on the
1062    Platform for comparison to the biometric data collected during submission of your AV Documents.</p>
1063
1064<h3>Why is Biometric Data Collected?</h3>
1065<p>Your biometric data is collected and used for age verification purposes in furtherance of our age verification
1066    procedures and practices, which exist to prevent underage and other unauthorized use of the Chaturbate platform.
1067    This information is used to further ensure that the individual providing the AV Documents is the person depicted in
1068    such documents and the person accessing the account(s) with which such documents are associated.</p>
1069
1070<h3>How is Your Biometric Data Stored?</h3>
1071<p>The photo of your face from your AV Documents (the "Selfie") will be cropped and stored separately from your
1072    original AV Documents and made available through a secure, close-ended system to our team of reviewers to confirm
1073    that you are the person appearing through your account. Your AV Documents with your date of birth and real name will
1074    be stored separately in a secure system. Your AV Documents will only be reviewed by members of our team engaged in
1075    age verification and routine audits of previously submitted age verification. Any and all biometric data generated
1076    from your AV Documents (the "Biometric Data") is also stored securely and separately apart from your Selfie. The
1077    Biometric Data will only be used to verify your identification and, if and when the technology is implemented, to
1078    automatically review your live and recorded content to confirm you are the individual in such content.</p>
1079
1080<h3>How Long is Your Biometric Data Stored?</h3>
1081<p>Your Biometric Data will be retained for the same period as your AV Documents which documents are retained as require
1082    by 18 USC § 2257 and its regulations (the "Regulations"). As of the date this Policy is written, the Regulations
1083    require that age verification documentation be retained for a period of seven (7) years from the last time content
1084    was available through your account(s).</p>
1085
1086<h3>Person Code</h3>
1087<p>For each individual who successfully completes the required age verification procedures, such individual will be
1088    provided with a personal code number ("Person Code") which such individual can use to track him/her/themself across
1089    accounts as well as in interactions with the customer support team. Each Person Code is unique and associated with
1090    only one individual. You should keep your Person Code confidential. Please note that for your security, in your
1091    dealings with the customer support, age verification, and other teams, you may still be required to provide
1092    additional information in order to verify you are the person associated with the Person Code.</p>
1093
1094<h3>No Obligation to Accept AV Documents</h3>
1095<p>Notwithstanding anything herein to the contrary, we reserve the right to specify which government issued
1096    identification may be accepted based upon your location and our sole determination of the reliability of such
1097    documentation. As an example of documentation we do not accept, by way of example only and not limitation, we do not
1098    accept handwritten and/or paper documents.</p>
1099<p>Additionally, as more fully detailed throughout the Platform, particularly during the age verification process, the
1100    acceptable government-issued identification must contain a photograph of you that is both recent and recognizable.
1101    Again, by way of example only, identification containing photos of you as a young minor or photos from several years
1102    ago, regardless of your current age or age at the time the image was taken, may be rejected under this requirement.
1103    Additionally, by way of further example only, identification containing recent images which do not reflect
1104    alterations (such as surgeries, piercings, tattoos, or other modifications, whether temporary or permanent) in your
1105    face may also be rejected.</p>
1106
1107
1108<h2 style="text-decoration: underline">Cookies Policy</h2>
1109
1110<p>You should be aware that when you use the Site we may collect information using cookies or similar technologies.</p>
1111
1112<h3>What are cookies and how do they work?</h3>
1113
1114<p>
1114Cookies are small files that are downloaded to your computer or mobile device when you visit a website. Your browser
1115    sends these cookies back to the website every time you visit the site again, so it can recognize you. This allows
1116    websites to tailor what you see on the screen.</p>
1117
1118<h3>Do we use other technologies which are similar to cookies?</h3>
1119
1120<p>Our websites, apps and emails often contain small invisible images known as 'web beacons' or 'tracking pixels'. These
1121    are used in a way similar to cookies, to understand when a particular part of a webpage is viewed. Our apps often
1122    use device identifiers in the same way as cookies. A device identifier is a unique number on your device which allow
1123    us to remember your device.</p>
1124
1125<h3>What do we use cookies for?</h3>
1126
1127<p>Cookies make using websites much smoother and affect lots of the useful features of websites. There are many
1128    different uses for cookies, but they fall into four main groups:</p>
1129
1130<ol type="i">
1131    <li>Cookies that are needed to provide the service you have asked for. Some cookies are essential so you can move
1132        around the website and use its features. Without these cookies, services you've asked for can't be provided.
1133        These cookies gather information about you that can be used for remembering your browsing history or allowing
1134        you to stay logged in during your visit.
1135    </li>
1136    <li>Cookies used to improve your browsing experience. These cookies allow the website to remember choices you make,
1137        such as your language or region and they provide improved features such as content provider recommendations and
1138        limiting the number of times a particular advertisement is shown to you.
1139    </li>
1140    <li>Cookies used to understand how people use our products and services. This allows us to keep track of what
1141        pages are popular to help other users find such pages.
1142    </li>
1143    <li>Cookies used to show advertising that is relevant to you based upon your viewing history.</li>
1144</ol>
1145
1146<p>We also use cookies in order to know how many advertisements we serve, how many times these are clicked or hovered
1147    over with a mouse cursor, how many advertisements we show to a given user and how many customer actions these
1148    generate.</p>
1149
1150<p>We may also use cookies on the Site and advertisers' sites to understand which customers reach a sale or other
1151    action page on an advertiser's site. This allows us to monitor how effective our advertising is.</p>
1152
1153<p>Some of our web pages will contain promotional links to other companies' sites. If you follow one of these links and
1154    then register with or buy something from that other site, a cookie is sometimes used to tell that other site that
1155    you came from one of our sites. Such other site may then pay us a small amount for the successful referral. You will
1156    need to review the privacy policy of any website whose advertisement you click on as this Policy only applies to
1157    pages on our domain.</p>
1158
1159
1160<h2 style="text-decoration: underline">Contacting us and accessing your personal information</h2>
1161
1162<p>If you wish to review or receive a copy of the personal information we hold about you, we offer a self-serve tool <a
1163        href="/security/privacy/data_export/" style="text-decoration: underline; font-weight: bold">here</a></p>
1164
1165<p>If you have any queries or comments about this Privacy &amp; Cookies Policy OR if you wish to review or receive a
1166    copy of the personal information we hold about you, please write to us at:</p>
1167
1168<blockquote>Attention: Data Protection Officer<br/>
1169    <span class="company-name-US"></span>
1170<br/>
1171    23615 El Toro Road #X344<br/>
1172    Lake Forest, CA 92630, USA<br/>
1173    <a href="/cdn-cgi/l/email-protection#0f7f7d66796e6c767e7a6a7c7b6660617c4f6c676e7b7a7d6d6e7b6a216c6062"><span class="__cf_email__" data-cfemail="4e3e3c27382f2d373f3b2b3d3a2721203d0e2d262f3a3b3c2c2f3a2b602d2123">[email&#160;protected]</span></a>
1174</blockquote>
1175
1176
1177<p>We reserve the right to charge an administration fee in relation to fulfilling a request for access to personal
1178    information which fee shall not exceed the maximum fee allowed by law.</p>
1179
1180<h3>Changes to this Privacy &amp; Cookies Policy</h3>
1181
1182<p>We reserve the right to make changes to our Privacy &amp; Cookies Policy. Changes to this policy will be posted here
1183    and
1184    will become effective as of the updated effective date. Your continued use of our website or platform will signify
1185    your acceptance of these changes.</p>
1186
1187
1188<h2 style="text-decoration: underline">Residents of the State of California.</h2>
1189<p>Under the California Consumer Privacy Act, you have certain rights with respect to the personally identifying
1190    information you provide to us.</p>
1191<p>Copies of Your Personally Identifying Information.</p>
1192<p>For free, up to two times in any twelve-month period, you are entitled to obtain the following information for the
1193    immediately preceding twelve month period:</p>
1194<ol style="list-style-type: decimal">
1195    <li>The categories of information we have collected about you;</li>
1196    <li>The categories of sources of the information we have collected about you;</li>
1197    <li>The purpose for which we have collected such information about you;</li>
1198    <li>A copy of the personally identifying information we have collected about you; and,</li>
1199    <li>To be informed if we have sold or disclosed your personally identifying information to a third party and for
1200        what purpose.
1201    </li>
1202</ol>
1203<p>In order to obtain a copy of this information with respect to your account, you may email or call using the following
1204    information:</p>
1205<p>Toll-Free phone number: (877) 338-7068</p>
1206<p>Email address: <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5c2f292c2c332e281c3f3e712b30723f3331">[email&#160;protected]</a></p>
1207<p>For your privacy and protection, we will require certain information to confirm that it is you, the accountholder,
1208    requesting the information. If there is no information associated with your account that we can verify, such as your
1209    email address or other information, we may be unable to complete your request. For your protection, responsive
1210    information will only be delivered to the email address assigned to the subject account. For an email address to be
1211    "assigned to an account" as used herein, it means the email address to which you receive account security
1212    notifications such as account recovery instructions; it does not mean the email address you may have provided in
1213    completing your Independent Broadcaster Agreement, if you completed an Independent Broadcaster Agreement.</p>
1214
1215    </div>
1216    <div id="btp">[<a href="#gototop"> BACK TO TOP </a>]</div>
1217    <br/>
1218    <br/>
1219
1220    </div>
1221  </div>
1222  
1223  </div>
1224  
1225  <div class="footer-holder" id="footer-holder">
1226  
1227
1228<div class="footercon">
1229    <div class="col1" data-paction="Footer-FreeCamsByAge" gendered-category data-testid="age-cams">
1230        
1231            <span class="footer-category-header">Free Cams by Age</span>
1232        
1233        
1234        
1235
1236
1237    <dl>
1238        
1239            <dd><a href="/teen-cams/">
1240                Teen Cams (18+)
1241            </a></dd>
1242        
1243            <dd><a href="/18to21-cams/">
1244                18 to 21 Cams
1245            </a></dd>
1246        
1247            <dd><a href="/20to30-cams/">
1248                20 to 30 Cams
1249            </a></dd>
1250        
1251            <dd><a href="/30to50-cams/">
1252                30 to 50 Cams
1253            </a></dd>
1254        
1255            <dd><a href="/mature-cams/">
1256                Mature Cams (50+)
1257            </a></dd>
1258        
1259    </dl>
1260
1261
1262    </div>
1263    <div class="col2" data-paction="Footer-FreeCamsByRegion" gendered-category data-testid="region-cams">
1264        
1265            <span class="footer-category-header">Free Cams by Region</span>
1266        
1267        
1268        
1269
1270
1271    <dl>
1272        
1273            <dd><a href="/north-american-cams/">
1274                North American Cams
1275            </a></dd>
1276        
1277            <dd><a href="/other-region-cams/">
1278                Other Region Cams
1279            </a></dd>
1280        
1281            <dd><a href="/euro-russian-cams/">
1282                Euro Russian Cams
1283            </a></dd>
1284        
1285            <dd><a href="/asian-cams/">
1286                Asian Cams
1287            </a></dd>
1288        
1289            <dd><a href="/south-american-cams/">
1290                South American Cams
1291            </a></dd>
1292        
1293    </dl>
1294
1295
1296    </div>
1297    <div class="col3" data-paction="Footer-PrivateShows" gendered-category data-testid="private-cams">
1298        
1299            <span class="footer-category-header">Available Private Shows</span>
1300        
1301        
1302        
1303
1304
1305    <dl>
1306        
1307            <dd><a href="/6-tokens-per-minute-private-cams/">
1308                6 Tokens per Minute
1309            </a></dd>
1310        
1311            <dd><a href="/12-18-tokens-per-minute-private-cams/">
1312                12-18 Tokens per Minute
1313            </a></dd>
1314        
1315            <dd><a href="/30-42-tokens-per-minute-private-cams/">
1316                30-42 Tokens per Minute
1317            </a></dd>
1318        
1319            <dd><a href="/60-72-tokens-per-minute-private-cams/">
1320                60-72 Tokens per Minute
1321            </a></dd>
1322        
1323            <dd><a href="/90-tokens-per-minute-private-cams/">
1324                90+ Tokens per Minute
1325            </a></dd>
1326        
1327    </dl>
1328
1329
1330    </div>
1331    <div class="col4" data-paction="Footer-FreeCamsByStatus" gendered-category data-testid="status-cams">
1332        
1333            <span class="footer-category-header">Free Cams by Status</span>
1334        
1335        
1336        
1337
1338
1339    <dl>
1340        
1341            <dd><a href="/spy-on-cams/">
1342                Private Shows
1343            </a></dd>
1344        
1345            <dd><a href="/new-cams/">
1346                New Cams
1347            </a></dd>
1348        
1349            <dd><a href="/gaming-cams/">
1350                Gaming Cams
1351            </a></dd>
1352        
1353    </dl>
1354
1355
1356    </div>
1357    <div class="col5" data-paction="Footer-FreeCams" data-testid="free-cams">
1358        
1359            <span class="footer-category-header">Free Cams</span>
1360        
1361        
1362        
1363
1364
1365    <dl>
1366        
1367            <dd><a href="/">
1368                Featured Cams
1369            </a></dd>
1370        
1371            <dd><a href="/female-cams/">
1372                Female Cams
1373            </a></dd>
1374        
1375            <dd><a href="/male-cams/">
1376                Male Cams
1377            </a></dd>
1378        
1379            <dd><a href="/couple-cams/">
1380                Couple Cams
1381            </a></dd>
1382        
1383            <dd><a href="/trans-cams/">
1384                Trans Cams
1385            </a></dd>
1386        
1387    </dl>
1388
1389
1390    </div>
1391</div>
1392
1393  
1394    
1395    
1396  <ul class="nav" data-paction="Footer-Meta">
1397    <li><a href="https://support.chaturbate.com/hc/en-us/articles/45487892163348-Safety-Consent" target="_blank" data-testid="safety-consent">Safety &amp;
1397 Consent</a></li>
1398  
1399  
1400    <li><a href="/terms/" data-testid="terms">Terms &amp; Conditions</a></li>
1401    <li><a href="/privacy/" data-testid="privacy">Privacy Policy</a></li>
1402  
1403    <li><a href="/cdn-cgi/l/email-protection#21525451514e53556142430c564d0f424e4c1e5254434b4442551c6753444442404c5213074f4352511a725451514e5355074f4352511a73445054445255074f4352511a0c074f4352511a745244534f404c441b074f4352511a604f4e4f584c4e545274524453">Support</a></li>
1404  
1405  
1406    <li><a href="https://chaturcommunity.com/community-guidelines-and-platform-safety" target="_blank" rel="noopener" data-testid="community-guidelines">Community Guidelines</a></li>
1407  
1408    <li><a href="https://support.chaturbate.com/hc/en-us/requests/new?ticket_form_id=5912786461332" target="_blank" rel="noopener" data-testid="dmca">DMCA / Remove Content</a></li>
1409    <li><a href="#" onclick="window['tsExec'] && tsExec(function(ts){ ts.openFeedbackForm('footer') })" data-testid="feedback">Feedback</a></li>
1410    <li><a href="/security/" data-testid="security">Security Center</a></li>
1411    <li><a href="/law_enforcement/" data-testid="law-enforcement">Law Enforcement</a></li>
1412    
1413    
1414    <li><a href="https://support.chaturbate.com/hc/en-us/requests/new?ticket_form_id=26373221045780" target="_blank" rel="noopener" data-testid="report-abusive-content">Report Nonconsensual/Abusive Content</a></li>
1415    <li><a href="/billingsupport/" data-testid="billing">Billing</a></li>
1416    <li><a href="/security/privacy/deactivate/" data-testid="disable-account">Disable Account</a></li>
1417    
1418    
1419        <li><a href="/v2apps/" data-testid="v2-apps">Apps</a></li>
1420    
1421    <li><a href="/contest/details/" data-testid=contest>Contest</a></li>
1422  
1423    <li><a href="/in/?tour=07kX&amp;campaign=vsUP2&amp;track=default" data-testid="affiliate-programs">Affiliate Program</a></li>
1424  
1425  
1426  
1427  </ul>
1428  <ul class="langs" data-paction="Footer-Language">
1429      <li><form target="_top" action="/set_language/" method="post" data-testid="set-lang-de"><input type="hidden" name="csrfmiddlewaretoken" value="CZklCTevNH7gaIFSELEEL1l4xTb8pA4f36cnipiCR8GlEuzkwAcogtXXKAjraaZd"><input type="hidden" name="language" value="de"/><input type="hidden" name="next" value="/privacy/"/><input type="submit" value="Deutsch"/></form></li><li><form target="_top" action="/set_language/" method="post" data-testid="set-lang-en"><input type="hidden" name="csrfmiddlewaretoken" value="CZklCTevNH7gaIFSELEEL1l4xTb8pA4f36cnipiCR8GlEuzkwAcogtXXKAjraaZd"><input type="hidden" name="language" value="en"/><input type="hidden" name="next" value="/privacy/"/><input type="submit" value="English"/></form></li><li><form target="_top" action="/set_language/" method="post" data-testid="set-lang-es"><input type="hidden" name="csrfmiddlewaretoken" value="CZklCTevNH7gaIFSELEEL1l4xTb8pA4f36cnipiCR8GlEuzkwAcogtXXKAjraaZd"><input type="hidden" name="language" value="es"/><input type="hidden" name="next" value="/privacy/"/><input type="submit" value="Español"/></form></li><li><form target="_top" action="/set_language/" method="post" data-testid="set-lang-fr"><input type="hidden" name="csrfmiddlewaretoken" value="CZklCTevNH7gaIFSELEEL1l4xTb8pA4f36cnipiCR8GlEuzkwAcogtXXKAjraaZd"><input type="hidden" name="language" value="fr"/><input type="hidden" name="next" value="/privacy/"/><input type="submit" value="Français"/></form></li><li><form target="_top" action="/set_language/" method="post" data-testid="set-lang-it"><input type="hidden" name="csrfmiddlewaretoken" value="CZklCTevNH7gaIFSELEEL1l4xTb8pA4f36cnipiCR8GlEuzkwAcogtXXKAjraaZd"><input type="hidden" name="language" value="it"/><input type="hidden" name="next" value="/privacy/"/><input type="submit" value="Italiano"/></form></li><li><form target="_top" action="/set_language/" method="post" data-testid="set-lang-ja"><input type="hidden" name="csrfmiddlewaretoken" value="CZklCTevNH7gaIFSELEEL1l4xTb8pA4f36cnipiCR8GlEuzkwAcogtXXKAjraaZd"><input type="hidden" name="language" value="ja"/><input type="hidden" name="next" value="/privacy/"/><input type="submit" value="日本語"/></form></li><li><form target="_top" action="/set_language/" method="post" data-testid="set-lang-ko"><input type="hidden" name="csrfmiddlewaretoken" value="CZklCTevNH7gaIFSELEEL1l4xTb8pA4f36cnipiCR8GlEuzkwAcogtXXKAjraaZd"><input type="hidden" name="language" value="ko"/><input type="hidden" name="next" value="/privacy/"/><input type="submit" value="한국어"/></form></li><li><form target="_top" action="/set_language/" method="post" data-testid="set-lang-pl"><input type="hidden" name="csrfmiddlewaretoken" value="CZklCTevNH7gaIFSELEEL1l4xTb8pA4f36cnipiCR8GlEuzkwAcogtXXKAjraaZd"><input type="hidden" name="language" value="pl"/><input type="hidden" name="next" value="/privacy/"/><input type="submit" value="Polski"/></form></li><li><form target="_top" action="/set_language/" method="post" data-testid="set-lang-pt"><input type="hidden" name="csrfmiddlewaretoken" value="CZklCTevNH7gaIFSELEEL1l4xTb8pA4f36cnipiCR8GlEuzkwAcogtXXKAjraaZd"><input type="hidden" name="language" value="pt"/><input type="hidden" name="next" value="/privacy/"/><input type="submit" value="Português"/></form></li><li><form target="_top" action="/set_language/" method="post" data-testid="set-lang-ru"><input type="hidden" name="csrfmiddlewaretoken" value="CZklCTevNH7gaIFSELEEL1l4xTb8pA4f36cnipiCR8GlEuzkwAcogtXXKAjraaZd"><input type="hidden" name="language" value="ru"/><input type="hidden" name="next" value="/privacy/"/><input type="submit" value="Русский"/></form></li><li><form target="_top" action="/set_language/" method="post" data-testid="set-lang-zh-hans"><input type="hidden" name="csrfmiddlewaretoken" value="CZklCTevNH7gaIFSELEEL1l4xTb8pA4f36cnipiCR8GlEuzkwAcogtXXKAjraaZd"><input type="hidden" name="language" value="zh-hans"/><input type="hidden" name="next" value="/privacy/"/><input type="submit" value="简体中文"/></form></li><li><form target="_top" action="/set_language/" method="post" data-testid="set-lang-zh-hant"><input type="hidden" name="csrfmiddlewaretoken" value="CZklCTevNH7gaIFSELEEL1l4xTb8pA4f36cnipiCR8GlEuzkwAcogtXXKAjraaZd"><input type="hidden" name="language" value="zh-hant"/><input type="hidden" name="next" value="/privacy/"/><input type="submit" value="繁體中文"/></form></li>
1430  </ul>
1431  
1432  
1433
1434<p data-paction="Footer-Compliance"><a href="/2257/" data-testid="record-keeping">18 U.S.C. 2257 Record Keeping Requirements Compliance Statement</a></p>
1435
1436
1437<p data-paction="Footer-Compliance" data-testid="copyright">&copy; Copyright Freecams2.com 2011 - 2026. All Rights Reserved.<br />django-6b945f68bb-qc2kr:3ddcc541c8e7:a48219d04b5be82a-ORD</p>
1438<p style="margin-top: 15px;" class="footer-labels" data-paction="Footer-Compliance">
1439  <img src="https://web.static.mmcdn.com/images/badges/safelabeling.gif?hash=3ddcc541c8e7" title="SafeLabeling" alt="Safe label logo" data-testid="safe-labeling">
1440  <a href="https://www.rtalabel.org/?content=validate&rating=RTA-5042-1996-1400-1577-RTA&ref=www.freecams2.com"><img
1441     src="https://web.static.mmcdn.com/images/badges/88x31_RTA-5042-1996-1400-1577-RTA-W-VERIFIED.gif?hash=3ddcc541c8e7"
1442     style="margin: 0 10px;"
1443     title="RTALabel" alt="RTA verified logo" data-testid="rta"></a>
1444  <a href="https://www.asacp.org/?content=validate&ql=329884767938eafe299e303fac732bdf"><img
1445     src="https://web.static.mmcdn.com/images/badges/ApprovedASACPmember.gif?hash=3ddcc541c8e7"
1446     title="ASACP" alt="Approved ASACP member logo"  data-testid="asacp"></a>
1447</p>
1448
1449  
1450    <p class="highlight">Whitelabel powered by <a href="http://chaturbate.com/affiliates/in/?tour=grq0&campaign=vsUP2&track=default">Chaturbate.com</a></p>
1451
1452  </div>
1453  
1454  
1455  
1456</div>
vendor: 109 bytes, lines 1456-1457
1456
1457<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1457<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:'a48219d04b5be82a',t:'MTc5MTU5ODM1Mw=='};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>
1457</body>
1458
1459<script type="text/javascript" src="https://web.static.mmcdn.com/jsi18n/en/djangojs.js?hash=3ddcc541c8e7"></script>
vendor: 1 bytes, line 1459
1459
1460<script src="https://web2.static.mmcdn.com/CACHE/js/output.427e085f0fcf.js"></script>
1460
1461
1462
1463
1464
1465<script type='text/javascript'>
1466
1467$.facebox.settings.loadingImage = 'https://web2.static.mmcdn.com/facebox/loading.gif';
1468$.facebox.settings.closeImage = 'https://web2.static.mmcdn.com/facebox/closelabel.png';
1469$(function() {
1470  $('.increase_limits a, a.increase_limits').click(function() {
1471    var popupwindow = window.open("/tipping/purchase_tokens/increase_limits/", '_blank',
1472            'status=0,toolbar=0,menubar=0,directories=0,resizable=1,' +
1473                    'scrollbars=1,height=615,width=850');
1474    popupwindow.focus();
1475    return false;
1476  });
1477});
1478
1479$.ajaxSetup ({
1480    // Disable caching of AJAX responses
1481    cache: false
1482});
1483
1484$(function() {
1485	function csrfSafeMethod(method) {
1486		return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
1487	}
1488
1489	$.ajaxSetup({
1490		crossDomain: false,
1491		beforeSend: function (xhr, settings) {
1492			if (!csrfSafeMethod(settings.type)) {
1493				xhr.setRequestHeader("X-CSRFToken", $.cookie('csrftoken'));
1494			}
1495		}
1496	});
1497});
1498
1499function recordOutboundLink(link, category, action) {
1500  try {
1501    var myTracker=_gat._getTrackerByName();
1502    _gaq.push(['_trackEvent', category ,  action ]);
1503    setTimeout('document.location = "' + link.href + '"', 100)
1504  }catch(err){}
1505}
1506
1507function addPageAction(name) {
1508    if (window.newrelic) {
1509        window.newrelic.addPageAction(name);
1510    }
1511}
1512
1513$(function(){
1514    var achdismisscookie = $.cookie('ach_dismiss_');
1515    if (!achdismisscookie) {
1516        $('#direct_deposit_warning').show();
1517        $('#direct_deposit_warning a.dismiss').click(function() {
1518            $('#direct_deposit_warning').hide();
1519            $.cookie('ach_dismiss_', 1, 31557600);
1520        });
1521    }
1522    $('.mobile_site_redirect').click(function () {
1523        $.cookie('mobile_redirect', null, { expires: 1, path: '/', domain: 'chaturbate.com'});
1524    });
1525    $('.language_mismatch_go_back').click(function (e) {
1526        let newLangCode, originalLangCode, reason = ''
1527        if (e.target.parentElement && e.target.parentElement.dataset) {
1528            newLangCode = e.target.parentElement.dataset.langNew;
1529            originalLangCode = e.target.parentElement.dataset.langOriginal;
1530            reason = e.target.parentElement.dataset.langReason;
1531        } else {
1532            console.error("Missing attributes in language-mismatch-notice");
1533            return;
1534        }
1535        if (window.newrelic) {
1536            window.newrelic.addPageAction("LanguageMismatchBannerClicked", {
1537                "attributes.original_language": originalLangCode,
1538                "attributes.new_language": newLangCode,
1539                "attributes.reason": reason,
1540                "attributes.option": "Original Language",
1541            })
1542        }
1543    });
1544    $('.language_mismatch_update').click(function (e) {
1545        let newLangCode, originalLangCode, reason = ''
1546        if (e.target.parentElement && e.target.parentElement.dataset) {
1547            newLangCode = e.target.parentElement.dataset.langNew;
1548            originalLangCode = e.target.parentElement.dataset.langOriginal;
1549            reason = e.target.parentElement.dataset.langReason;
1550        } else {
1551            console.error("Missing language attribute in language-mismatch-notice");
1552            return;
1553        }
1554        var csrftoken = "CZklCTevNH7gaIFSELEEL1l4xTb8pA4f36cnipiCR8GlEuzkwAcogtXXKAjraaZd";
1555        $.post("/set_language/", {language: newLangCode, csrfmiddlewaretoken: csrftoken }).fail(function(){
1556            console.error(`Failed to update language${newLangCode}`);
1557        })
1558        if (window.newrelic) {
1559            window.newrelic.addPageAction("LanguageMismatchBannerClicked", {
1560                "attributes.original_language": originalLangCode,
1561                "attributes.new_language": newLangCode,
1562                "attributes.reason": reason,
1563                "attributes.option": "New Language",
1564            })
1565        }
1566        document.querySelector('.language-mismatch-notice').style.display = 'none';
1567    });
1568    $('.language-mismatch-dismiss').click(function (e) {
1569        let newLangCode, originalLangCode, reason = ''
1570        if (e.target.parentElement && e.target.parentElement.dataset) {
1571            newLangCode = e.target.parentElement.dataset.langNew;
1572            originalLangCode = e.target.parentElement.dataset.langOriginal;
1573            reason = e.target.parentElement.dataset.langReason;
1574        } else {
1575            console.error("Missing attributes in language-mismatch-notice");
1576            return;
1577        }
1578        if (window.newrelic) {
1579            window.newrelic.addPageAction("LanguageMismatchBannerClicked", {
1580                "attributes.original_language": originalLangCode,
1581                "attributes.new_language": newLangCode,
1582                "attributes.reason": reason,
1583                "attributes.option": "Dismissed",
1584            })
1585        }
1586        var date = new Date();
1587        date.setTime(date.getTime() + (30 * 24 * 60 * 60 * 1000));
1588        var hostname = window.location.hostname;
1589        var parts = hostname.split('.');
1590        if (parts.length > 2) {
1591            parts.shift();
1592        }
1593        var domainWithoutSubdomain = parts.join('.');
1594        $.cookie('lmsmtch', 'true', { expires: date, path: '/', domain: domainWithoutSubdomain});
1595        document.querySelector('.language-mismatch-notice').style.display = 'none';
1596    });
1597    $('.top_alert_close').click(function () {
1598        var date = new Date();
1599        date.setTime(date.getTime() + (18 * 60 * 60 * 1000)); // 18 hours
1600        $.cookie('mobile_redirect_hide', 'true', { expires: date, path: '/', domain: 'chaturbate.com'});
1601        $('.top_alert').hide();
1602    });
1603    $('#mobile_dismissible_redirect').click(function() {
1604        addPageAction("MobileAlertLinkClicked");
1605    });
1606    $('#mobile_dismissible_survey').click(function() {
1607        addPageAction("MobileAlertSurveyClicked");
1608    });
1609    $('#cbswag').click(function() {
1610        addPageAction("CBSwagClicked");
1611    });
1612    $('#supporterNavBarButton').click(function() {
1613        if (window.newrelic) {
1614            window.newrelic.addPageAction("SupporterPageOpened", {"attribute.source": "main_navigation_link"});
1615        }
1616    });
1617    $('#social-media-icons a').click(function () {
1618        if (window.newrelic) {
1619            window.newrelic.addPageAction("ClickSocialMediaLink", {
1620                "attributes.source": "desktop",
1621                "attributes.clicked_socialmedia": $(this).attr("data-social-type"),
1622            })
1623        }
1624    })
1625    $('#mobile-broadcast-tab').click(function() {
1626        addPageAction("MobileBroadcastTabClicked");
1627    });
1628});
1629
1630if ($.fn.hasOwnProperty('live')) {
1631    $.fn.on = $.fn.live;
1632} else {
1633    $.fn.live = $.fn.on;
1634}
1635
1636</script>
1636
1637
1638
1639    
1640        
1640<script type='text/javascript'>
1641            if (top.location.hostname != location.hostname || top.location.pathname != location.pathname) {
1642                top.location.href = document.location.href ;
1643            }
1644        </script>
vendor: 71 bytes, lines 1644-1651
1644
1645    
1646
1647
1648
1649
1650
1651<script src="https://www.google.com/recaptcha/api.js?render=
16516LdpEXsUAAAAAMkkjaaqylB3rEhR7oPZmLjSjaps
vendor: 12 bytes, line 1651
1651"></script>
1652<script type="text/javascript">
1653  'use strict';
1654  grecaptcha.ready(function () {
1655    var recaptchaBadge = document.querySelector('.grecaptcha-badge');
1656    if (recaptchaBadge) {
1657      recaptchaBadge.style.display = 'none';
1658      if (window.MutationObserver) {
1659        window.badgeObserver = new MutationObserver(function () {
1660          document.querySelector('.grecaptcha-badge').style.display = 'none';
1661        });
1662        window.badgeObserver.observe(
1663          recaptchaBadge.parentElement,
1664          {childList: true, subtree: true, attributes: true, attributeFilter: ['style']}
1665        );
1666      }
1667    }
1668  });
1669</script>
1669
1670
1671
1672    
1673    
1673<script>
1674window.reCaptcha2SiteKeys = {"register": "6Lf93goUAAAAAJKhC4y-Ok88s72iUJ8UX4bLQMmw"}
1675window.injectReCaptchaV3Token = function() {
1676  return Promise.reject('Not ready')
1677}
1678
1679grecaptcha.ready(function() {
1680  "use strict";
1681  window.bindNoReCaptchaField = function(elem) {
1682    // Fix for recaptcha challenge turning white after first click when recaptcha rendered inside an iframe.
1683    var tryFixSafariCaptchaBubble = function() {
1684        setTimeout(function() {
1685            var challengeIframe = document.querySelector("iframe[title='recaptcha challenge']");
1686            if (challengeIframe && challengeIframe.parentElement) {
1687                challengeIframe.parentElement.style.transform = "translate3d(0, 0, 0)";
1688            } else {
1689                tryFixSafariCaptchaBubble();
1690            }
1691        }, 1000);
1692    };
1693    grecaptcha.render(elem, {
1694        'expired-callback': tryFixSafariCaptchaBubble
1695    });
1696    tryFixSafariCaptchaBubble()
1697  };
1698  window.injectReCaptchaV3Token = function(elem=undefined) {
1699    var resolvePromise, rejectPromise;
1700    // if takes longer than 5 seconds, abort and submit
1701    var abortTimeout = setTimeout(function() {
1702      rejectPromise("timeout")
1703    }, 5000);
1704    grecaptcha.execute('6LdpEXsUAAAAAMkkjaaqylB3rEhR7oPZmLjSjaps', {action: '/privacy/'}).then(function(token) {
1705      clearTimeout(abortTimeout);
1706      if (elem !== undefined) {
1707          elem.value = token;
1708      }
1709      resolvePromise(token)
1710    }, function (reason) {
1711      clearTimeout(abortTimeout);
1712      
1713      rejectPromise("fail")
1714    });
1715    // recaptcha returns promise-like object with only `then` method
1716    return new Promise(function (resolve, reject) {
1717      resolvePromise = resolve
1718      rejectPromise = reject
1719    })
1720  };
1721
1722  var oldRecaptcha = document.querySelector('.g-recaptcha');
1723  if (oldRecaptcha && !oldRecaptcha.children.length) {
1724    window.bindNoReCaptchaField(oldRecaptcha)
1725  }
1726});
1727</script>
1727
1728
1729
1730
1731
1732
1733    
1734        
1734<script type="text/javascript">
1735        $(document).ready(function() {
1736            if (window["whitelabelRecordRawHitPromise"] === undefined) {
1737                window["whitelabelRecordRawHitPromise"] = $.post(
1738                    "/whitelabels/record_raw_hit/",
1739                    {
1740                        csrfmiddlewaretoken: "CZklCTevNH7gaIFSELEEL1l4xTb8pA4f36cnipiCR8GlEuzkwAcogtXXKAjraaZd",
1741                        referer: "",
1742                    },
1743                );
1744            }
1745        });
1746        </script>
1746
1747    
1748
1749
1750
1751
1752<script src="https://web2.static.mmcdn.com/CACHE/js/output.d9d3acc98720.js"></script>
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761<script>
1762    if (window.onFirstInteraction === undefined) {
1763        window.onFirstInteraction = function(cb) { cb(); };
1764    }
1765</script>
vendor: 66 bytes, lines 1765-1768
1765
1766
1767
1768<script async src="https://www.googletagmanager.com/gtag/js?id=
1768G-GX0FLQH21P
vendor: 12 bytes, line 1768
1768"></script>
1769<script>
1770    
vendor: 144 bytes, lines 1770-1774
1770window.dataLayer = window.dataLayer || [];
1771    function gtag(){dataLayer.push(arguments);}
1772    
1773    gtag('js', new Date());
1774    gtag('config', '
1774G-GX0FLQH21P
vendor: 4 bytes, line 1774
1774');
1775</script>
vendor: 1 bytes, line 1775
1775
1776<script type="text/javascript" id="gaq">
1777    
1778    gtag('set', 'user_properties', {
1779        
1780            campaign: '',
1781            account_status: 'anonymous',
1782        
1783        hostname: 'www.freecams2.com'
1784    });
1785
1786    
1787    
1788    
1789</script>
1789
1790
1791
1792
1793
1794
1795    
1796        
1797            
1798                
1798<script type="text/javascript" src="https://f.static.mmcdn.com/aG34bH-ant.min.js?3.12.14"></script>
1798
1799            
1800        
1801    
1802
1803
1804
1805    
1805<script type="text/javascript" src="https://f.static.mmcdn.com/aG34bH-f2.min.js"></script>
1805
1806
1807<script src="https://web2.static.mmcdn.com/CACHE/js/output.ad8bfd0d930c.js"></script>
1807
1808
1809
1810
1811
1812
1813
1814<script>
1815    if (window.onFirstInteraction === undefined) {
1816        window.onFirstInteraction = function(cb) { cb(); };
1817    }
1818</script>
1818
1819
1820
1821<script type="text/javascript">
1822    
1823        function _update_fingerprint() {
1824            setTimeout(function () {
1825                var fossilOptions = {};
1826                Fossil.get(fossilOptions, function (components) {
1827                    var values = components.map(function (component) { return component.value });
1828                    var murmur = Fossil.x64hash128(values.join(''), 31);
1829                    $.post("/fossil/i/", {
1830                        'ftype': 'js',
1831                        'result': Base64.encode(murmur)
1832                    });
1833                });
1834            }, 1000);
1835        }
1836        
1837            $(document).ready(_update_fingerprint);
1838        
1839    
1840    
1841        
1842        
1843            window["fetchFingerprintPro"] = (anonUserTest = false) => {
1844                
1845                const apiKey = 'Y8jhvVqIW97ZXEZodxx1'
1846                const endpoint = 'https://token.mmcdn.com'
1847                
1848                var fpPromise = FingerprintJS.load({apiKey, endpoint});
1849                fpPromise.then(function (fp) {
1850                    return fp.get({
1851                        linkedId: 'gAAAAABqyZ8SRk9clxObceGm5RE2k7ef5XbsppV3z5n_wOYSQmLZEyYMQiXJ54srFqI8WHcyd2_rUFztIyJao7JpePH3WK1fXg==',
1852                        tag: {brId: 'gAAAAABqyZ8SnTGjH_lit-GaHFDrecxrTnHkut-Q1yc6WNEl_CDUDV6WtrO24jyhu5VKWX7MiwvST3acvwd2t6An5Jm7NqGupgtV8CtNjKSEq8D-0ULw6LpU4YjkRvjf4XhYS7ONTQZc', anonUserTest: anonUserTest}
1853                    });
1854                });
1855            }
1856            
1857        
1858    
1859</script>
1859
1860
1861
1862
1863
1864
1865
1866
1867<script src="https://web2.static.mmcdn.com/CACHE/js/output.178d48fc5455.js"></script>
1867
1868
1869
1870
1871
1872
1873<script type="text/javascript" src="https://web.static.mmcdn.com/jsi18n/en/frontend.js?hash=3ddcc541c8e7"></script>
1873
1874
1875
1876<script type="text/javascript">
1877    if (window.performance.timing !== undefined && window.performance.timing.responseStart !== 0) {
1878        window.serverTimeDiff = window.performance.timing.responseStart - (1791598354 * 1000);
1879    } else {
1880        window.serverTimeDiff = new Date().getTime() - (1791598354 * 1000);
1881    }
1882
1883    if (window.hide_entrance_terms === undefined) {
1884        window.hide_entrance_terms = false
1885    }
1886</script>
1886
1887
1888
1889
1890
1891
1892    
1893        
1893<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/runtime-prod-cddf233db214658c584f.js"></script>
1893
1894    
1895        
1895<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/1031-prod-5c990b3fc3454c451393.js"></script>
1895
1896    
1897        
1897<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/4722-prod-f3a696d92f06710b895f.js"></script>
1897
1898    
1899        
1899<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/7358-prod-ef4522d34378ec903924.js"></script>
1899
1900    
1901        
1901<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/34-prod-68c93cd925267115231d.js"></script>
1901
1902    
1903        
1903<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/8170-prod-62114a13e34c69a9fe81.js"></script>
1903
1904    
1905        
1905<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/5226-prod-a89077d49304024e4470.js"></script>
1905
1906    
1907        
1907<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/base-prod-76449f4988767c33a296.js"></script>
1907
1908    
1909
1910
1911
1912
1913<script type="text/javascript">
1914    (function() {
1915        // Minimal extend implementation suitable for our single use case below
1916        var extend = Object.assign || function (obj) {
1917            var others = Array.prototype.slice.call(arguments, 1);
1918            for (var i = 0; i < others.length; i++) {
1919                var other = others[i];
1920                for (var key in other) {
1921                    if (other.hasOwnProperty(key)) {
1922                        obj[key] = other[key];
1923                    }
1924                }
1925            }
1926            return obj;
1927        };
1928        
1929        window["$reactAppContext"] = extend({
1930            
1931                featured_logo: 'https://static\u002Dpub.highwebmedia.com/uploads/whitelabels/logos/2025/03/25/06/23/85bba0a138826216f24e63dd9af594824b3d9f04_logo.png',
1932            
1933            is_mobile: false,
1934            logged_in_user: JSON.parse('null'),
1935            language_code: 'en',
1936            site_name: 'Freecams2',
1937            show_location: false,
1938            animate_thumbnails: false,
1939            user_age_gated: false,
1940            agego_verification_active: false,
1941            age_gate_location: JSON.parse('{\u0022location_name\u0022: \u0022Illinois\u0022, \u0022country_code\u0022: \u0022US\u0022, \u0022state_code\u0022: \u0022IL\u0022, \u0022has_north_carolina_id\u0022: false}'),
1942            is_testbed: false,
1943            no_image: false,
1944            isInternal: false,
1945            
1946                internalStyle: undefined,
1947            
1948            dark_mode_enabled: false,
1949            is_spa: false, 
1950            social_auths: JSON.parse('[]'),
1951            skip_captcha: false,
1952        }, JSON.parse('\u0022\u0022'));
1953    })();
1954</script>
1954
1955
1956
1957    
1958        
1958<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/runtime-react-f62a63b8de5b70df9e1d.js"></script>
1958
1959    
1960        
1960<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/3097-react-685f814ae8bf07265f5a.js"></script>
1960
1961    
1962        
1962<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/9570-react-cd1cc1def3ef17f7dd55.js"></script>
1962
1963    
1964        
1964<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/3238-react-fc96087d71c18cbec97e.js"></script>
1964
1965    
1966        
1966<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/2779-react-726e2ced063e6df7556f.js"></script>
1966
1967    
1968        
1968<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/7058-react-30e6872188af0119e7b8.js"></script>
1968
1969    
1970        
1970<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/2079-react-27201de7c00aca5c38b7.js"></script>
1970
1971    
1972        
1972<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/3355-react-01be537e6b7130261a7c.js"></script>
1972
1973    
1974        
1974<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/924-react-5f3da62a54b280c979fd.js"></script>
1974
1975    
1976        
1976<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/4356-react-c19e16141ea77fdfe1c1.js"></script>
1976
1977    
1978        
1978<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/5751-react-e0de53080bde70ff21ed.js"></script>
1978
1979    
1980        
1980<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/1629-react-1d1e6b0c39631e72832b.js"></script>
1980
1981    
1982        
1982<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/1122-react-9f4a9892cca54cb5f3da.js"></script>
1982
1983    
1984        
1984<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/159-react-4e9daf9241ba6e0f44ea.js"></script>
1984
1985    
1986        
1986<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/2122-react-41f17ed2dbaa0638dd4c.js"></script>
1986
1987    
1988        
1988<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/9115-react-e67d27a36a530ac499f9.js"></script>
1988
1989    
1990        
1990<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/5598-react-7844071f2b0af506edb3.js"></script>
1990
1991    
1992        
1992<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/2428-react-0e66d9883be0b1bae55d.js"></script>
1992
1993    
1994        
1994<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/77-react-4effb59af23267386e63.js"></script>
1994
1995    
1996        
1996<script type="text/javascript" src="https://web2.static.mmcdn.com/cachebust/lib-react-4a6c7cce7910d0842537.js"></script>
1996
1997    
1998
1999
2000<script type="text/javascript">
2001    (function() {
2002        // Minimal extend implementation suitable for our single use case below
2003        var extend = Object.assign || function (obj) {
2004            var others = Array.prototype.slice.call(arguments, 1);
2005            for (var i = 0; i < others.length; i++) {
2006                var other = others[i];
2007                for (var key in other) {
2008                    if (other.hasOwnProperty(key)) {
2009                        obj[key] = other[key];
2010                    }
2011                }
2012            }
2013            return obj;
2014        };
2015        
2016        window["tsInstance"] = new TS(extend({
2017            current_logo: 'https://web.static.mmcdn.com/images/logo.svg?hash=3ddcc541c8e7',
2018            is_mobile: false,
2019            logged_in_user: JSON.parse('null'),
2020            user_age_gated: false,
2021            animate_thumbnails: false,
2022            language_code: 'en',
2023            force_social_auth: '',
2024            social_auths: '[]',
2025            push_services: JSON.parse('[{\u0022backend\u0022: \u0022a\u0022, \u0022flags\u0022: {\u0022is_live\u0022: true}, \u0022host\u0022: \u0022realtime.pa.highwebmedia.com\u0022, \u0022fallback_hosts\u0022: [\u0022d\u002Dfallback.pa.highwebmedia.com\u0022, \u0022a\u002Dfallback.pa.highwebmedia.com\u0022, \u0022b\u002Dfallback.pa.highwebmedia.com\u0022, \u0022c\u002Dfallback.pa.highwebmedia.com\u0022, \u0022e\u002Dfallback.pa.highwebmedia.com\u0022], \u0022rest_host\u0022: \u0022realtime.pa.highwebmedia.com\u0022}]'),
2026            push_service_verify: 'None',
2027            entrypoint_context_id: JSON.parse('\u00224144248954\u0022'),
2028            sitewide_pms_enabled: JSON.parse('true'),
2029            merge_pm_dm: false,
2030            sample_metrics_off: false,
2031            quality_message: false,
2032            csrftoken: 'CZklCTevNH7gaIFSELEEL1l4xTb8pA4f36cnipiCR8GlEuzkwAcogtXXKAjraaZd',
2033            JPEG_STREAM_URL: JSON.parse('\u0022https://jpeg.live.mmcdn.com/\u0022'),
2034            JPEG_ROOM_IMAGE_URL: JSON.parse('\u0022https://thumb.live.mmcdn.com/\u0022'),
2035            GAMES_URL: JSON.parse('\u0022https://games.multimediallc.com/\u0022'),
2036            INTERNAL: false,
2037            DEVSTAGE: false,
2038            PurchaseEventSources: JSON.parse('{\u0022TOKEN_SOURCE_USER_INFO_PANEL\u0022: \u0022TokenSourceUserInfoPanel\u0022, \u0022TOKEN_SOURCE_HEADER_TOKEN_BUTTON\u0022: \u0022TokenSourceHeaderTokenButton\u0022, \u0022TOKEN_SOURCE_TIP_MODAL\u0022: \u0022TokenSourceTipModal\u0022, \u0022TOKEN_SOURCE_MODAL_CONFIRM\u0022: \u0022TokenSourceModalConfirm\u0022, \u0022TOKEN_SOURCE_SITEMAP\u0022: \u0022TokenSourceSitemap\u0022, \u0022TOKEN_SOURCE_WELCOME\u0022: \u0022TokenSourceWelcome\u0022, \u0022TOKEN_SOURCE_PHOTO_VIDEO\u0022: \u0022TokenSourcePhotoVideo\u0022, \u0022TOKEN_SOURCE_SOCIAL_MEDIA_EXTEND\u0022: \u0022TokenSourceSocialMediaExtend\u0022, \u0022TOKEN_SOURCE_SOCIAL_MEDIA_SUBSCRIBE\u0022: \u0022TokenSourceSocialMediaSubscribe\u0022, \u0022TOKEN_SOURCE_PURCHASE_DECLINED\u0022: \u0022TokenSourcePurchaseDeclined\u0022, \u0022TOKEN_SOURCE_PURCHASE_DECLINED_IFRAME\u0022: \u0022TokenSourcePurchaseDeclinedIframe\u0022, \u0022TOKEN_SOURCE_INCREASE_LIMITS\u0022: \u0022TokenSourceIncreaseLimits\u0022, \u0022TOKEN_SOURCE_PURCHASE_PAGE_IFRAME\u0022: \u0022TokenSourcePurchasePageIframe\u0022, \u0022TOKEN_SOURCE_SHOW_MY_CAM\u0022: \u0022TokenSourceShowMyCam\u0022, \u0022TOKEN_SOURCE_PURCHASE_MEDIA\u0022: \u0022TokenSourcePurchaseMedia\u0022, \u0022TOKEN_SOURCE_BROADCASTER_PROMOTION_PANEL\u0022: \u0022TokenSourceBroadcasterPromotionPanel\u0022, \u0022TOKEN_SOURCE_MOBILE_VIDEO_CONTROLS\u0022: \u0022TokenSourceMobileVideoControls\u0022, \u0022TOKEN_SOURCE_MOBILE_TOKENS_TAB_TOKEN_BAR\u0022: \u0022TokenSourceMobileTokensTabTokenBar\u0022, \u0022TOKEN_SOURCE_PRIVATE_MESSAGE_WINDOW\u0022: \u0022TokenSourcePrivateMessageWindow\u0022, \u0022TOKEN_SOURCE_TIP_CALLOUT\u0022: \u0022TokenSourceTipCallout\u0022, \u0022TOKEN_SOURCE_SPLIT_MODE_VIDEO_PANEL\u0022: \u0022TokenSourceSplitModeVideoPanel\u0022, \u0022TOKEN_SOURCE_LOW_TOKEN_BALANCE\u0022: \u0022TokenSourceLowTokenBalance\u0022, \u0022TOKEN_SOURCE_LOW_TOKEN_BALANCE_NOTIFY_GENERAL\u0022: \u0022TokenSourceLowTokenBalanceNotifyGeneral\u0022, \u0022TOKEN_SOURCE_LOW_TOKEN_BALANCE_NOTIFY_PRIVATE_SHOW\u0022: \u0022TokenSourceLowTokenBalanceNotifyPrivateShow\u0022, \u0022TOKEN_SOURCE_AUTOREFILL_NOTIFICATION\u0022: \u0022TokenSourceAutoRefillNotification\u0022, \u0022TOKEN_SOURCE_PURR_IN_CHAT_NOTIFICATION\u0022: \u0022TokenSourcePurrInChatNotification\u0022, \u0022TOKEN_SOURCE_PURR_OVER_CHAT_NOTIFICATION\u0022: \u0022TokenSourcePurrOverChatNotification\u0022, \u0022TOKEN_SOURCE_PURR_GLOBAL_PUSH_
2038NOTIFICATION\u0022: \u0022TokenSourcePurrGlobalPushNotification\u0022, \u0022SUPPORTER_SOURCE_USER_INFO_PANEL\u0022: \u0022SupporterSourceUserInfoPanel\u0022, \u0022SUPPORTER_SOURCE_PM_UPSELL\u0022: \u0022SupporterSourcePMUpsell\u0022, \u0022SUPPORTER_SOURCE_PREVIEW_ROOMS_UPSELL\u0022: \u0022SupporterSourcePreviewRoomsUpsell\u0022, \u0022SUPPORTER_SOURCE_ANON_TIP_UPSELL\u0022: \u0022SupporterSourceAnonTipUpsell\u0022, \u0022SUPPORTER_SOURCE_MEMBERSHIP_TAB\u0022: \u0022SupporterSourceMembershipTab\u0022, \u0022SUPPORTER_SOURCE_HOMEPAGE_ROOM_CARD\u0022: \u0022SupporterSourceHomepageRoomCard\u0022, \u0022SUPPORTER_SOURCE_MOBILE_TOKENS_TAB\u0022: \u0022SupporterSourceMobileTokensTab\u0022, \u0022SUPPORTER_SOURCE_JOIN_FAN_CLUB_BUTTON\u0022: \u0022SupporterSourceJoinFanClubButton\u0022, \u0022SUPPORTER_SOURCE_MOBILE_PROFILE_PAGE\u0022: \u0022SupporterSourceMobileProfilePage\u0022, \u0022SUPPORTER_SOURCE_HIDDEN_SHOW_UPSELL\u0022: \u0022SupporterSourceHiddenShowUpsell\u0022, \u0022SUPPORTER_SOURCE_PRIVATE_SHOW_MODAL\u0022: \u0022SupporterSourcePrivateShowModal\u0022, \u0022TOKEN_SOURCE_UNKNOWN\u0022: \u0022TokenSourceUnknown\u0022}'),
2039            isTestbed: false,
2040            noImage: false,
2041            no_analytics: false,
2042            CANONICAL_BASE_URL: JSON.parse('\u0022https://chaturbate.com\u0022'),
2043            twemoji_base: JSON.parse('\u0022https://static\u002Dpub.highwebmedia.com/\u0022'),
2044            enable_whitelabels_noindex: true,
2045        }, JSON.parse('\u0022\u0022')));
2046    })();
2047</script>
2047
2048
2049<script type="text/javascript">
2050    if (window.active_switches === undefined) {
2051        window.active_switches = new Set()
2052    }
2053    
2054        window.active_switches.add("V5Agrmt");
2055    
2056    
2057        window.active_switches.add("NcRqrV5");
2058    
2059    
2060    
2061</script>
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073</html>

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.