var gtm4wp_datalayer_name = "dataLayer";
var dataLayer = dataLayer || [];
const gtm4wp_use_sku_instead = 0;
const gtm4wp_currency = 'GBP';
const gtm4wp_product_per_impression = 10;
const gtm4wp_clear_ecommerce = false;
const gtm4wp_datalayer_max_timeout = 2000;
var elementskit = {
resturl: 'https://discountcctvsupplier.co.uk/wp-json/elementskit/v1/',
}
https://discountcctvsupplier.co.uk/wp-includes/js/jquery/jquery.min.js
https://discountcctvsupplier.co.uk/wp-includes/js/jquery/jquery-migrate.min.js
var breeze_prefetch = {"local_url":"https://discountcctvsupplier.co.uk","ignore_remote_prefetch":"1","ignore_list":["/?wc-api=wc_facebook_get_feed_data&secret=697cc5a9ab0fb1e0d243fe98264ced80","/cart-2/","/checkout/","/my-account/","wp-admin","wp-login.php"]};
//# sourceURL=breeze-prefetch-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js
var tt4b_script_vars = {"pixel_code":"D6JC3HJC77UCBL6SE0N0","currency":"GBP","country":"","advanced_matching":""};
//# sourceURL=tt4b_ajax_script-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/tiktok-for-business/admin/js/ajaxSnippet.js
var trustpilot_settings = {"key":"Qg0H72wIu14emb5P","TrustpilotScriptUrl":"https://invitejs.trustpilot.com/tp.min.js","IntegrationAppUrl":"//ecommscript-integrationapp.trustpilot.com","PreviewScriptUrl":"//ecommplugins-scripts.trustpilot.com/v2.1/js/preview.min.js","PreviewCssUrl":"//ecommplugins-scripts.trustpilot.com/v2.1/css/preview.min.css","PreviewWPCssUrl":"//ecommplugins-scripts.trustpilot.com/v2.1/css/preview_wp.css","WidgetScriptUrl":"//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js"};
//# sourceURL=tp-js-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/trustpilot-reviews/review/assets/js/headerScript.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/zoom/jquery.zoom.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/flexslider/jquery.flexslider.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/photoswipe/photoswipe.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/photoswipe/photoswipe-ui-default.min.js
var wc_single_product_params = {"i18n_required_rating_text":"Please select a rating","i18n_rating_options":["1 of 5 stars","2 of 5 stars","3 of 5 stars","4 of 5 stars","5 of 5 stars"],"i18n_product_gallery_trigger_text":"View full-screen image gallery","review_rating_required":"yes","flexslider":{"rtl":false,"animation":"slide","smoothHeight":true,"directionNav":false,"controlNav":"thumbnails","slideshow":false,"animationSpeed":500,"animationLoop":false,"allowOneSlide":false},"zoom_enabled":"1","zoom_options":[],"photoswipe_enabled":"1","photoswipe_options":{"shareEl":false,"closeOnScroll":false,"history":false,"hideAnimationDuration":0,"showAnimationDuration":0},"flexslider_enabled":"1"};
//# sourceURL=wc-single-product-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/frontend/single-product.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js
var woocommerce_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_password_show":"Show password","i18n_password_hide":"Hide password"};
//# sourceURL=woocommerce-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/wt-woocommerce-related-products/public/js/custom-related-products-public.js
https://discountcctvsupplier.co.uk/wp-content/plugins/wt-woocommerce-related-products/public/js/wt_owl_carousel.js
var dataLayer_content = {"pagePostType":"product","pagePostType2":"single-product","pagePostAuthor":"aaaadmin","productRatingCounts":[],"productAverageRating":0,"productReviewCount":0,"productType":"simple","productIsVariable":0};
dataLayer.push( dataLayer_content );
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
window.FacebookSignals = window.FacebookSignals || {
_held: false,
_releasing: false,
_pixelInitialized: false,
_pixelId: null,
_pixelUserInfo: {},
_pixelOptions: {},
_pendingPixelEvents: [],
_queue: [],
_config: {},
_attribution: {},
_seenEventIds: {},
_fbclid: (function() {
try {
var m = window.location.search.match(/[?&]fbclid=([^&]*)/);
return m ? decodeURIComponent(m[1]) : null;
} catch(e) { return null; }
})(),init: function(config) {
config = config || {};
this._config = config;
this._attribution = config.attribution || {};var cookieState = this._getCookie('wc_facebook_signals_state');
this._held = cookieState ? cookieState === 'held' : !!config.held;this._fbclid = this._fbclid || null;if (typeof fbq === 'function') {
fbq('consent', this._held ? 'revoke' : 'grant');
}try {
var raw = window.sessionStorage.getItem('wc_facebook_signals_seen_event_ids');
this._seenEventIds = raw ? JSON.parse(raw) : {};
} catch (e) {
this._seenEventIds = this._seenEventIds || {};
}
},initPixel: function(pixelId, userInfo, options) {
this._pixelId = pixelId;
this._pixelUserInfo = userInfo && typeof userInfo === 'object' && !Array.isArray(userInfo) ? userInfo : {};
this._pixelOptions = options || {};
if (!this._held) {
this._runPixelInit();
}
},_runPixelInit: function() {
if (this._pixelInitialized || !this._pixelId || typeof fbq !== 'function') return;
fbq('init', this._pixelId, this._pixelUserInfo, this._pixelOptions);
this._pixelInitialized = true;
this._flushPendingPixelEvents();
},_flushPendingPixelEvents: function() {
var pending = this._pendingPixelEvents;
this._pendingPixelEvents = [];
for (var i = 0; i < pending.length; i++) {
var ev = pending[i];
this._firePixelEvent(ev.name, ev.params, ev.method, ev.eventId);
}
},_fireOrQueuePixelEvent: function(name, params, method, eventId) {
if (!this._pixelInitialized) {
this._pendingPixelEvents.push({
name: name, params: params || {}, method: method || 'track', eventId: eventId || null
});
return;
}
this._firePixelEvent(name, params || {}, method || 'track', eventId || null);
},_firePixelEvent: function(name, params, method, eventId) {
method = method || 'track';
if (eventId) {
fbq(method, name, params || {}, { eventID: eventId });
} else {
fbq(method, name, params || {});
}
},queueEvent: function(eventData) {
if (!eventData || !eventData.event_name) return;var originalId = eventData.event_id || null;
if (originalId && this._seenEventIds[originalId]) return;if (!this._held) {
this._fireOrQueuePixelEvent(eventData.event_name, eventData.custom_data || {}, eventData.method || 'track', originalId);
return;
}eventData = this._cloneEventData(eventData);
eventData.event_id = this._generateEventId();
eventData.event_time = eventData.event_time || Math.floor(Date.now() / 1000);
this._queue.push(eventData);var idToMark = originalId || eventData.event_id;
if (idToMark) {
this._seenEventIds[idToMark] = 1;
try {
window.sessionStorage.setItem(
'wc_facebook_signals_seen_event_ids',
JSON.stringify(this._seenEventIds)
);
} catch (e) {}
}
},trackEvent: function(name, params, userData, method, eventId) {
method = method || 'track';
eventId = eventId || (params && params.eventID) || null;if (this._held) {
this.queueEvent({
event_name: name,
custom_data: params || {},
event_id: eventId,
event_time: Math.floor(Date.now() / 1000),
method: method
});
} else {
this._fireOrQueuePixelEvent(name, params || {}, method, eventId);
}
},release: function() {
var self = this;
if (!self._held || self._releasing || !self._config.ajaxUrl) {
return Promise.resolve({ success: true, data: { sent_count: 0 } });
}self._releasing = true;
var attribution = self._collectAttribution();var payload = JSON.stringify({
events: self._queue,
attribution: {
fbp: attribution.fbp || null,
fbc: attribution.fbc || null
},
fbclid: self._fbclid || null
});var url = self._config.ajaxUrl +
(self._config.ajaxUrl.indexOf('?') === -1 ? '?' : '&') +
'action=' + encodeURIComponent(self._config.action);return new Promise(function(resolve, reject) {
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onload = function() {
if (xhr.status >= 200 && xhr.status < 300) {
try {
var resp = JSON.parse(xhr.responseText);
self._handleReleaseResponse(resp.data || {}, attribution);
resolve(resp);
} catch(e) { self._releasing = false; reject(e); }
} else {
self._releasing = false;
reject(new Error('Signal release AJAX failed: ' + xhr.status));
}
};
xhr.onerror = function() { self._releasing = false; reject(new Error('Network error')); };
xhr.send(payload);
});
},_handleReleaseResponse: function(data, attribution) {
this._syncAttributionCookies(data || {}, attribution);// Override cached user_info with fresh data from the release response.
if (data.user_info && typeof data.user_info === 'object' && !Array.isArray(data.user_info)) {
this._pixelUserInfo = data.user_info;
}this._held = false;
this._releasing = false;fbq('consent', 'grant');
this._runPixelInit();var queue = this._queue;
for (var i = 0; i < queue.length; i++) {
var ev = queue[i];
this._fireOrQueuePixelEvent(ev.event_name, ev.custom_data || {}, ev.method || 'track', ev.event_id || null);
}this._queue = [];
},_collectAttribution: function() {
var clientParams = {};
if (typeof clientParamBuilder !== 'undefined') {
try {
clientParams = clientParamBuilder.processAndCollectParams(this._getAttributionUrl()) || {};
} catch (e) {}
}var fbp = this._getCookie('_fbp') || clientParams._fbp || (typeof clientParamBuilder !== 'undefined' ? clientParamBuilder.getFbp() : null);
var fbc = this._getCookie('_fbc') || clientParams._fbc || (typeof clientParamBuilder !== 'undefined' ? clientParamBuilder.getFbc() : null);if (!fbc && this._fbclid) {
fbc = 'fb.1.' + Date.now() + '.' + this._fbclid;
}return { fbp: fbp || null, fbc: fbc || null };
},_syncAttributionCookies: function(data, attribution) {
var fbp = data.fbp || (attribution && attribution.fbp) || null;
var fbc = data.fbc || (attribution && attribution.fbc) || null;if (fbp) {
this._setAttributionCookie('_fbp', fbp, data.fbp_domain || null);
}
if (fbc) {
this._setAttributionCookie('_fbc', fbc, data.fbc_domain || null);
}
},_setAttributionCookie: function(name, value, domain) {
if (!value) return;
var domainAttr = domain ? ';domain=' + domain : '';
document.cookie = name + '=' + encodeURIComponent(value) + ';path=/;max-age=7776000' + domainAttr + ';SameSite=Lax';
},_getCookie: function(name) {
var match = document.cookie.match(new RegExp('(?:^|;\\s*)' + name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + '=([^;]*)'));
if (!match) return null;
try { return decodeURIComponent(match[1]); } catch(e) { return null; }
},_cloneEventData: function(eventData) {
var clone = {};
for (var key in eventData) {
if (Object.prototype.hasOwnProperty.call(eventData, key)) {
clone[key] = eventData[key];
}
}
return clone;
},_generateEventId: function() {
if (window.crypto && typeof window.crypto.randomUUID === 'function') {
return window.crypto.randomUUID();
}
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random() * 16 | 0;
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
});
},_getAttributionUrl: function() {
if (!this._fbclid) return window.location.href;
try {
var url = new URL(window.location.href);
if (!url.searchParams.get('fbclid')) {
url.searchParams.set('fbclid', this._fbclid);
}
return url.toString();
} catch (e) {
return window.location.href;
}
}
};
FacebookSignals.init({
held: false,
ajaxUrl: "https:\/\/discountcctvsupplier.co.uk\/wp-admin\/admin-ajax.php",
action: 'facebook_release_signals',
pixelId: "1071403255027834",
attribution: {}
});
FacebookSignals.initPixel(
"1071403255027834",
{},
{"agent":"woocommerce_0-10.9.1-3.7.4"} );document.addEventListener( 'DOMContentLoaded', function() {
document.body.insertAdjacentHTML( 'beforeend', '<div class=\"wc-facebook-pixel-event-placeholder\"></div>' );
}, false );
Skip to content Home / HILOOK / HILOOK IP CAMERAS / Dome / Turret Hilook IP Cameras / 8MP 4K HiLook IPC-T280HAD-LUF/SL Two Way Audio Dual Lens 180° Panoramic PoE ColorVu Hybrid Light IP CCTV Security Camera
8MP 4K HiLook IPC-T280HAD-LUF/SL Two Way Audio Dual Lens 180° Panoramic PoE ColorVu Hybrid Light IP CCTV Security Camera £ 84.00 ex. VAT - £ 100.80 inc. VAT
Hilook IPC-T280HAD-LUF/SL 8MP Two Way Audio Dual Lens 180° panoramic camera, Smart Hybrid ColorVu, person vehicle detection, IP67.
Description What is included: 1x HiLook IPC-T280HAD-LUF/SL Hilook IPC-T280HAD-LUF/SL Features: High quality imaging with 8 MP resolution Support Person and Vehicle Detection Smart Hybrid Light: advanced technology with long range Efficient H.265+ compression technology Support on-board storage up to 512 GB (SD card slot) Provide real-time security via built-in two-way audio Water and dust resistant (IP67) 180° Field of view Active strobe light and audio alarm to warn intruders off Hilook IPC-T280HAD-LUF/SL Specifications: Camera
Image Sensor 1/2.5″ Progressive Scan CMOS Max. Resolution 4256 × 1888 Min. Illumination Color: 0.005 Lux @ (F1.6, AGC ON),0 Lux with light Shutter Time 1 s to 1/100,000 s Day & Night IR cut filter Angle Adjustment Pan: 0° to 360°,tilt: 0° to 75°,rotate: 0° to 360° Lens
Lens Type Fixed focal lens, 2.8 mm Focal Length & FOV 2.8 mm, horizontal FOV 180°, vertical FOV 77° Lens Mount M12 Iris Type Fixed Aperture F1.6 DORI
DORI 2 mm, D: 50 m, O: 20 m, R: 10 m, I: 5 m Illuminator
Supplement Light Type IR, White Light Supplement Light Range Up to 30 m Smart Supplement Light Yes IR Wavelength 850 nm Video
Main Stream 50 Hz: 20 fps (4256 × 1888)
60 Hz: 20 fps (4256 × 1888)
Sub-Stream 50 Hz: 20 fps (1200× 536, 960 × 432)
60 Hz: 20 fps (1200× 536, 960 × 432)
Video Compression Main stream: H.265+/H.265/H.264+/H.264,
Sub-stream: H.265/H.264/MJPEG
Video Bit Rate 32 Kbps to 16 Mbps H.264 Type Baseline Profile, Main Profile, High Profile H.265 Type Main Profile Bit Rate Control CBR,VBR Scalable Video Coding (SVC) H.264 and H.265 encoding Region of Interest (ROI) 1 fixed region for main stream Audio
Audio Type Mono sound Audio Sampling Rate 8 kHz/16 kHz Environment Noise Filtering Yes Audio Compression G.711/G.722.1/G.726/MP2L2/PCM/AAC-LC Audio Bit Rate 64 Kbps (G.711ulaw/G.711alaw)/16 Kbps (G.722.1)/16 Kbps (G.726)/32 to 160 Kbps (MP2L2)/16 to 64 Kbps (AAC-LC) Network
Security Password protection, complicated password, watermark, basic and digest authentication for HTTP, WSSE and digest authentication for Open Network Video Interface, security audit log, host authentication (MAC address) Simultaneous Live View Up to 6 channels API ONVIF (Profile S, Profile T, Profile G),ISAPI,SDK Protocols TCP/IP, ICMP, DHCP, DNS, HTTP, RTP, RTSP, RTCP, NTP, IPv4, IPv6, IGMP, UDP, QoS, FTP, SMTP User/Host Up to 32 users
3 user levels: administrator, operator, and user
Client iVMS-4200,HiLookVision Web Browser Plug-in required live view: IE 11,
Local service: Chrome 80+, Firefox 80+, Edge 89+
Image
Wide Dynamic Range (WDR) 120 dB SNR ≥ 52 dB Day/Night Switch Day, Night, Auto, Schedule Image Enhancement BLC, HLC, 3D DNR Image Settings Rotate mode, saturation, brightness, contrast, sharpness, gain, white balance, adjustable by client software or web browser Privacy Mask 4 programmable polygon privacy masks Interface
Ethernet Interface 1 RJ45 10 M/100 M self-adaptive Ethernet port On-Board Storage Built-in memory card slot, support microSD/microSD HC/microSD XC card, up to 512 GB Built-in Microphone Yes,1 built-in microphone Built-in Speaker Yes, 1 built-in speaker, Max. power consumption: 2 W, max. sound pressure level: 10 cm: 97 dB. Reset Key Yes Event
Basic Event Motion detection (support alarm triggering by specified target types (human and vehicle)),video tampering alarm, exception Linkage Upload to FTP, upload to memory card, send email, notify surveillance center, trigger recording, trigger capture, audible warning, strobe light flashing General
Power 12 VDC ± 25%, 0.83 A, max. 10 W,Ø5.5 mm coaxial power plug, reverse polarity protection,
PoE: IEEE 802.3af, Class 3, max. 11.5 W
Material Base: Metal , cover: Plastic Dimension Ø130.1 mm × 109.1 mm (Ø5.1″ × 4.3″) Package Dimension 150 mm × 150 mm × 141 mm (5.9″ × 5.9″ × 5.6″) Weight Approx. 580 g (1.3 lb.) With Package Weight Approx. 760 g (1.7 lb.) Storage Conditions -30 °C to 60 °C (-22 °F to 140 °F). Humidity 95% or less (non-condensing) Start up and Operating Conditions -30 °C to 60 °C (-22 °F to 140 °F). Humidity 95% or less (non-condensing) Language English, Turkish, Polish, Romanian, Czech, Slovak, Traditional Chinese, Thai, Vietnamese, Croatian, Slovenian, Serbian, Ukrainian General Function Heartbeat, anti-banding, password protection, password reset via email Flashing Light /SRB model: Red and Blue Light
/SL model: White Light
Approval
EMC CE-EMC: EN 55032:2015+A1:2020, EN 50130-4:2011+A1:2014, EN IEC 61000-3-2:2019+A1:2021, EN 61000-3-3:2013+A1:2019+A2:2021,
IC: ICES-003: Issue 7,
KC: KN32: 2015, KN35: 2015
Safety CB: IEC 62368-1: 2014+A11 Environment CE-RoHS: 2011/65/EU,
WEEE: 2012/19/EU,
Reach: Regulation (EC) No 1907/2006
Protection IP67: IEC 60529-2013 Delivery & Returns At Discount CCTV Supplier, we specialise in delivering high-quality, cost-effective Security systems tailored to meet the unique security needs of our clients. With a proven track record and a commitment to innovation, we believe our offerings align seamlessly with the mission and values of Discount CCTV Supplier.Diverse Product Range Our extensive product portfolio ensures that Discount CCTV Supplier can cater to a broad spectrum of customer requirements, from basic surveillance needs to more advanced security solutions. Please note that you have the option to return new, unused items within 30 days of delivery for a refund. However, please be aware that a postage cost of £8.50 plus VAT for Maniland shipment and £15 Plus VAT from shipments to Northern Ireland. Will be deducted from the refunded amount.
Prompt service Very helpful
Quick and reliable Quick and reliable
very happy with the purchase very good services
Helpful 5 star service Helpful 5 star service
⭐️⭐️⭐️⭐️⭐️ ⭐️⭐️⭐️⭐️⭐️
Excellent service from start to finish! The CCTV system was installed quickly and works perfectly. Director Thulash was professional, approachable, and made sure everything was tailored to our needs. Highly recommend this company for reliable security solutions. Have used the services for all our homes as we are a care home company.
Always a pleasure Always a pleasure
There are no products in the cart!
0
// Do not change this comment line otherwise Speed Optimizer won't be able to detect this script(function () {
function sendRequest(url, body) {
if(!window.fetch) {
const xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xhr.send(JSON.stringify(body))
return
}const request = fetch(url, {
method: 'POST',
body: JSON.stringify(body),
keepalive: true,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
});
}
const calculateParentDistance = (child, parent) => {
let count = 0;
let currentElement = child;// Traverse up the DOM tree until we reach parent or the top of the DOM
while (currentElement && currentElement !== parent) {
currentElement = currentElement.parentNode;
count++;
}// If parent was not found in the hierarchy, return -1
if (!currentElement) {
return -1; // Indicates parent is not an ancestor of element
}return count; // Number of layers between element and parent
}
const isMatchingClass = (linkRule, href, classes, ids) => {
return classes.includes(linkRule.value)
}
const isMatchingId = (linkRule, href, classes, ids) => {
return ids.includes(linkRule.value)
}
const isMatchingDomain = (linkRule, href, classes, ids) => {
if(!URL.canParse(href)) {
return false
}const url = new URL(href)
const host = url.host
const hostsToMatch = [host]if(host.startsWith('www.')) {
hostsToMatch.push(host.substring(4))
} else {
hostsToMatch.push('www.' + host)
}return hostsToMatch.includes(linkRule.value)
}
const isMatchingExtension = (linkRule, href, classes, ids) => {
if(!URL.canParse(href)) {
return false
}const url = new URL(href)return url.pathname.endsWith('.' + linkRule.value)
}
const isMatchingSubdirectory = (linkRule, href, classes, ids) => {
if(!URL.canParse(href)) {
return false
}const url = new URL(href)return url.pathname.startsWith('/' + linkRule.value + '/')
}
const isMatchingProtocol = (linkRule, href, classes, ids) => {
if(!URL.canParse(href)) {
return false
}const url = new URL(href)return url.protocol === linkRule.value + ':'
}
const isMatchingExternal = (linkRule, href, classes, ids) => {
if(!URL.canParse(href) || !URL.canParse(document.location.href)) {
return false
}const matchingProtocols = ['http:', 'https:']
const siteUrl = new URL(document.location.href)
const linkUrl = new URL(href)// Links to subdomains will appear to be external matches according to JavaScript,
// but the PHP rules will filter those events out.
return matchingProtocols.includes(linkUrl.protocol) && siteUrl.host !== linkUrl.host
}
const isMatch = (linkRule, href, classes, ids) => {
switch (linkRule.type) {
case 'class':
return isMatchingClass(linkRule, href, classes, ids)
case 'id':
return isMatchingId(linkRule, href, classes, ids)
case 'domain':
return isMatchingDomain(linkRule, href, classes, ids)
case 'extension':
return isMatchingExtension(linkRule, href, classes, ids)
case 'subdirectory':
return isMatchingSubdirectory(linkRule, href, classes, ids)
case 'protocol':
return isMatchingProtocol(linkRule, href, classes, ids)
case 'external':
return isMatchingExternal(linkRule, href, classes, ids)
default:
return false;
}
}
const track = (element) => {
const href = element.href ?? null
const classes = Array.from(element.classList)
const ids = [element.id]
const linkRules = [{"type":"extension","value":"pdf"},{"type":"extension","value":"zip"},{"type":"protocol","value":"mailto"},{"type":"protocol","value":"tel"}]
if(linkRules.length === 0) {
return
}// For link rules that target an id, we need to allow that id to appear
// in any ancestor up to the 7th ancestor. This loop looks for those matches
// and counts them.
linkRules.forEach((linkRule) => {
if(linkRule.type !== 'id') {
return;
}const matchingAncestor = element.closest('#' + linkRule.value)if(!matchingAncestor || matchingAncestor.matches('html, body')) {
return;
}const depth = calculateParentDistance(element, matchingAncestor)if(depth < 7) {
ids.push(linkRule.value)
}
});// For link rules that target a class, we need to allow that class to appear
// in any ancestor up to the 7th ancestor. This loop looks for those matches
// and counts them.
linkRules.forEach((linkRule) => {
if(linkRule.type !== 'class') {
return;
}const matchingAncestor = element.closest('.' + linkRule.value)if(!matchingAncestor || matchingAncestor.matches('html, body')) {
return;
}const depth = calculateParentDistance(element, matchingAncestor)if(depth < 7) {
classes.push(linkRule.value)
}
});const hasMatch = linkRules.some((linkRule) => {
return isMatch(linkRule, href, classes, ids)
})if(!hasMatch) {
return
}const url = "https://discountcctvsupplier.co.uk/wp-content/plugins/independent-analytics/iawp-click-endpoint.php";
const body = {
href: href,
classes: classes.join(' '),
ids: ids.join(' '),
...{"payload":{"resource":"singular","singular_id":20149,"page":1},"signature":"7e234d7b598a4d5faffe19a42d66e9f1"} };sendRequest(url, body)
}
let hasSearched = false;
function search() {
if(hasSearched) {
return;
}
hasSearched = true;if (document.hasOwnProperty("visibilityState") && document.visibilityState === "prerender") {
return;
}if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
return;
}
let referrer_url = null;if (typeof document.referrer === 'string' && document.referrer.length > 0) {
referrer_url = document.referrer;
}const params = location.search.slice(1).split('&').reduce((acc, s) => {
const [k, v] = s.split('=');
return Object.assign(acc, {[k]: v});
}, {});const url = "https://discountcctvsupplier.co.uk/wp-json/iawp/search";
const body = {
referrer_url,
utm_source: params.utm_source,
utm_medium: params.utm_medium,
utm_campaign: params.utm_campaign,
utm_term: params.utm_term,
utm_content: params.utm_content,
gclid: params.gclid,
...{"payload":{"resource":"singular","singular_id":20149,"page":1},"signature":"7e234d7b598a4d5faffe19a42d66e9f1"} };sendRequest(url, body)
}
document.addEventListener('mousedown', function (event) {
if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
return;
}
const element = event.target.closest('a')if(!element) {
return
}const isPro = false
if(!isPro) {
return
}// Don't track left clicks with this event. The click event is used for that.
if(event.button === 0) {
return
}track(element)
})
document.addEventListener('click', function (event) {
if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
return;
}
const element = event.target.closest('a, button, input[type="submit"], input[type="button"]')if(!element) {
return
}const isPro = false
if(!isPro) {
return
}track(element)
})
document.addEventListener('play', function (event) {
if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
return;
}
const element = event.target.closest('audio, video')if(!element) {
return
}const isPro = false
if(!isPro) {
return
}track(element)
}, true)
document.addEventListener("DOMContentLoaded", function (e) {
search();
});
document.addEventListener("iawpSearch", function (e) {
search();
});
})();
(function () {
var c = document.body.className;
c = c.replace(/woocommerce-no-js/, 'woocommerce-js');
document.body.className = c;
})();
document.addEventListener( 'wpcf7submit', function (event) {
fbq('init', '1071403255027834', {}, {
"agent": "woocommerce_0-10.9.1-3.7.4"
});
/* WooCommerce Facebook Integration Event Tracking */
fbq('set', 'agent', 'woocommerce_0-10.9.1-3.7.4', '1071403255027834');
if (window.FacebookSignals && typeof window.FacebookSignals.trackEvent === 'function') {
window.FacebookSignals.trackEvent('Lead', {
"source": "woocommerce_0",
"version": "10.9.1",
"pluginVersion": "3.7.4"
}, null, 'track', null);
} else {
fbq('track', 'Lead', {
"source": "woocommerce_0",
"version": "10.9.1",
"pluginVersion": "3.7.4"
});
} }, false );
window['wcStripeSettings'] = JSON.parse( decodeURIComponent( '%7B%22cart%22%3A%7B%22total%22%3A%220.00%22%2C%22subtotal%22%3A%220.00%22%2C%22totalCents%22%3A0%2C%22subtotalCents%22%3A0%2C%22needsShipping%22%3Afalse%2C%22isEmpty%22%3Atrue%2C%22currency%22%3A%22GBP%22%2C%22countryCode%22%3A%22GB%22%2C%22lineItems%22%3A%5B%7B%22label%22%3A%22Tax%22%2C%22amount%22%3A%220.00%22%2C%22amountCents%22%3A0%2C%22type%22%3A%22tax%22%7D%5D%2C%22shippingOptions%22%3A%5B%5D%2C%22selectedShippingMethod%22%3A%22%22%2C%22paymentMethods%22%3A%7B%22stripe_cc%22%3A%7B%22id%22%3A%22stripe_cc%22%2C%22enabled%22%3Atrue%2C%22available%22%3Atrue%7D%2C%22stripe_applepay%22%3A%7B%22id%22%3A%22stripe_applepay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_googlepay%22%3A%7B%22id%22%3A%22stripe_googlepay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_payment_request%22%3A%7B%22id%22%3A%22stripe_payment_request%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_afterpay%22%3A%7B%22id%22%3A%22stripe_afterpay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_affirm%22%3A%7B%22id%22%3A%22stripe_affirm%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_ach%22%3A%7B%22id%22%3A%22stripe_ach%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_ideal%22%3A%7B%22id%22%3A%22stripe_ideal%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_p24%22%3A%7B%22id%22%3A%22stripe_p24%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_klarna%22%3A%7B%22id%22%3A%22stripe_klarna%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_bancontact%22%3A%7B%22id%22%3A%22stripe_bancontact%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_eps%22%3A%7B%22id%22%3A%22stripe_eps%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_multibanco%22%3A%7B%22id%22%3A%22stripe_multibanco%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_sepa%22%3A%7B%22id%22%3A%22stripe_sepa%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_wechat%22%3A%7B%22id%22%3A%22stripe_wechat%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_fpx%22%3A%7B%22id%22%3A%22stripe_fpx%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_becs%22%3A%7B%22id%22%3A%22stripe_becs%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_alipay%22%3A%7B%22id%22%3A%22stripe_alipay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_grabpay%22%3A%7B%22id%22%3A%22stripe_grabpay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_boleto%22%3A%7B%22id%22%3A%22stripe_boleto%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_oxxo%22%3A%7B%22id%22%3A%22stripe_oxxo%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_blik%22%3A%7B%22id%22%3A%22stripe_blik%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_konbini%22%3A%7B%22id%22%3A%22stripe_konbini%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_paynow%22%3A%7B%22id%22%3A%22stripe_paynow%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_promptpay%22%3A%7B%22id%22%3A%22stripe_promptpay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_swish%22%3A%7B%22id%22%3A%22stripe_swish%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_amazonpay%22%3A%7B%22id%22%3A%22stripe_amazonpay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_cashapp%22%3A%7B%22id%22%3A%22stripe_cashapp%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_revolut%22%3A%7B%22id%22%3A%22stripe_revolut%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_zip%22%3A%7B%22id%22%3A%22stripe_zip%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_mobilepay%22%3A%7B%22id%22%3A%22stripe_mobilepay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_twint%22%3A%7B%22id%22%3A%22stripe_twint%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_paybybank%22%3A%7B%22id%22%3A%22stripe_paybybank%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_upm%22%3A%7B%22id%22%3A%22stripe_upm%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_link_checkout%22%3A%7B%22id%22%3A%22stripe_link_checkout%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_billie%22%3A%7B%22id%22%3A%22stripe_billie%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_satispay%22%3A%7B%22id%22%3A%22stripe_satispay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_scalapay%22%3A%7B%22id%22%3A%22stripe_scalapay%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%2C%22stripe_mbway%22%3A%7B%22id%22%3A%22stripe_mbway%22%2C%22enabled%22%3Afalse%2C%22available%22%3Afalse%7D%7D%7D%2C%22product%22%3A%7B%22id%22%3A20149%2C%22qty%22%3A1%2C%22type%22%3A%22simple%22%2C%22price%22%3A84%2C%22total%22%3A84%2C%22priceCents%22%3A8400%2C%22currency%22%3A%22GBP%22%2C%22lineItems%22%3A%5B%7B%22id%22%3A20149%2C%22label%22%3A%228MP%204K%20HiLook%20IPC-T280HAD-LUF%5C%2FSL%20Two%20Way%20Audio%20Dual%20Lens%20180%5Cu00b0%20Panoramic%20PoE%20ColorVu%20Hybrid%20Light%20IP%20CCTV%20Security%20Camera%22%2C%22amount%22%3A84%2C%22amountCents%22%3A8400%2C%22type%22%3A%22product%22%7D%5D%2C%22isInStock%22%3Atrue%2C%22needsShipping%22%3Atrue%2C%22shippingOptions%22%3A%5B%5D%2C%22variation_id%22%3A0%7D%2C%22currency%22%3A%7B%22currencyCode%22%3A%22GBP%22%2C%22currencySymbol%22%3A%22%26pound%3B%22%2C%22minorUnit%22%3A2%2C%22decimalSeparator%22%3A%22.%22%2C%22thousandSeparator%22%3A%22%2C%22%2C%22prefix%22%3A%22%26pound%3B%22%2C%22suffix%22%3A%22%22%7D%2C%22version%22%3A%224.0.3%22%2C%22page%22%3A%22product%22%2C%22publicKey%22%3A%22pk_live_51LOJSUJWyrk5KdYnkjFQdp2XtzqNOEDdbBJcDKY5bD18uxBoT3HQmBXqGpe7sCGUq76HJVRqwuqeNrZjaCWZaDRJ00gTdBOdlv%22%2C%22mode%22%3A%22live%22%2C%22sdkParams%22%3A%7B%22stripeAccount%22%3A%22acct_1LOJSUJWyrk5KdYn%22%2C%22apiVersion%22%3A%222026-02-25.clover%22%2C%22betas%22%3A%5B%22deferred_intent_blik_beta_1%22%2C%22disable_deferred_intent_client_validation_beta_1%22%5D%7D%2C%22addressLocales%22%3A%22%7B%5C%22BE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22CY%5C%22%3A%7B%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22DE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%7D%7D%2C%5C%22FR%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22GR%5C%22%3A%7B%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%7D%7D%2C%5C%22IE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22required%5C%22%3Atrue%2C%5C%22label%5C%22%3A%5C%22Eircode%5C%22%7D%2C%5C%22state%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22County%5C%22%7D%7D%2C%5C%22IT%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Atrue%2C%5C%22label%5C%22%3A%5C%22Province%5C%22%7D%7D%2C%5C%22NL%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22PT%5C%22%3A%7B%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22ES%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Province%5C%22%7D%7D%2C%5C%22SE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22GB%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Postcode%5C%22%7D%2C%5C%22state%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22County%5C%22%2C%5C%22required%5C%22%3Afalse%7D%7D%2C%5C%22default%5C%22%3A%7B%5C%22first_name%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22First%20name%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-first%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22given-name%5C%22%2C%5C%22priority%5C%22%3A10%7D%2C%5C%22last_name%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Last%20name%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-last%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22family-name%5C%22%2C%5C%22priority%5C%22%3A20%7D%2C%5C%22company%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Company%20name%5C%22%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22organization%5C%22%2C%5C%22priority%5C%22%3A30%2C%5C%22required%5C%22%3Afalse%7D%2C%5C%22country%5C%22%3A%7B%5C%22type%5C%22%3A%5C%22country%5C%22%2C%5C%22label%5C%22%3A%5C%22Country%20%5C%5C%5C%2F%20Region%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%2C%5C%22update_totals_on_change%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22country%5C%22%2C%5C%22priority%5C%22%3A40%2C%5C%22hidden%5C%22%3Afalse%7D%2C%5C%22address_1%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Street%20address%5C%22%2C%5C%22placeholder%5C%22%3A%5C%22House%20number%20and%20street%20name%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-line1%5C%22%2C%5C%22priority%5C%22%3A50%7D%2C%5C%22address_2%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Apartment%2C%20suite%2C%20unit%2C%20etc.%5C%22%2C%5C%22label_class%5C%22%3A%5B%5C%22screen-reader-text%5C%22%5D%2C%5C%22placeholder%5C%22%3A%5C%22Apartment%2C%20suite%2C%20unit%2C%20etc.%20%28optional%29%5C%22%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-line2%5C%22%2C%5C%22priority%5C%22%3A60%2C%5C%22required%5C%22%3Afalse%7D%2C%5C%22city%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Town%20%5C%5C%5C%2F%20City%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-level2%5C%22%2C%5C%22priority%5C%22%3A70%7D%2C%5C%22state%5C%22%3A%7B%5C%22type%5C%22%3A%5C%22state%5C%22%2C%5C%22label%5C%22%3A%5C%22State%20%5C%5C%5C%2F%20County%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22validate%5C%22%3A%5B%5C%22state%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-level1%5C%22%2C%5C%22priority%5C%22%3A80%7D%2C%5C%22postcode%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Postcode%20%5C%5C%5C%2F%20ZIP%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22validate%5C%22%3A%5B%5C%22postcode%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22postal-code%5C%22%2C%5C%22priority%5C%22%3A90%7D%2C%5C%22phone%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Phone%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22type%5C%22%3A%5C%22tel%5C%22%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%5D%2C%5C%22validate%5C%22%3A%5B%5C%22phone%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22tel%5C%22%2C%5C%22priority%5C%22%3A100%7D%7D%7D%22%2C%22errorMessages%22%3A%7B%22stripe_cc_generic%22%3A%22There%20was%20an%20error%20processing%20your%20credit%20card.%22%2C%22incomplete_number%22%3A%22Your%20card%20number%20is%20incomplete.%22%2C%22incomplete_expiry%22%3A%22Your%20card%27s%20expiration%20date%20is%20incomplete.%22%2C%22incomplete_cvc%22%3A%22Your%20card%27s%20security%20code%20is%20incomplete.%22%2C%22incomplete_zip%22%3A%22Your%20card%27s%20zip%20code%20is%20incomplete.%22%2C%22incorrect_number%22%3A%22The%20card%20number%20is%20incorrect.%20Check%20the%20card%27s%20number%20or%20use%20a%20different%20card.%22%2C%22incorrect_cvc%22%3A%22The%20card%27s%20security%20code%20is%20incorrect.%20Check%20the%20card%27s%20security%20code%20or%20use%20a%20different%20card.%22%2C%22incorrect_zip%22%3A%22The%20card%27s%20ZIP%20code%20is%20incorrect.%20Check%20the%20card%27s%20ZIP%20code%20or%20use%20a%20different%20card.%22%2C%22invalid_number%22%3A%22The%20card%20number%20is%20invalid.%20Check%20the%20card%20details%20or%20use%20a%20different%20card.%22%2C%22invalid_characters%22%3A%22This%20value%20provided%20to%20the%20field%20contains%20characters%20that%20are%20unsupported%20by%20the%20field.%22%2C%22invalid_cvc%22%3A%22The%20card%27s%20security%20code%20is%20invalid.%20Check%20the%20card%27s%20security%20code%20or%20use%20a%20different%20card.%22%2C%22invalid_expiry_month%22%3A%22The%20card%27s%20expiration%20month%20is%20incorrect.%20Check%20the%20expiration%20date%20or%20use%20a%20different%20card.%22%2C%22invalid_expiry_year%22%3A%22The%20card%27s%20expiration%20year%20is%20incorrect.%20Check%20the%20expiration%20date%20or%20use%20a%20different%20card.%22%2C%22incorrect_address%22%3A%22The%20card%27s%20address%20is%20incorrect.%20Check%20the%20card%27s%20address%20or%20use%20a%20different%20card.%22%2C%22expired_card%22%3A%22The%20card%20has%20expired.%20Check%20the%20expiration%20date%20or%20use%20a%20different%20card.%22%2C%22card_declined%22%3A%22The%20card%20has%20been%20declined.%22%2C%22invalid_expiry_year_past%22%3A%22Your%20card%27s%20expiration%20year%20is%20in%20the%20past.%22%2C%22account_number_invalid%22%3A%22The%20bank%20account%20number%20provided%20is%20invalid%20%28e.g.%2C%20missing%20digits%29.%20Bank%20account%20information%20varies%20from%20country%20to%20country.%20We%20recommend%20creating%20validations%20in%20your%20entry%20forms%20based%20on%20the%20bank%20account%20formats%20we%20provide.%22%2C%22amount_too_large%22%3A%22The%20specified%20amount%20is%20greater%20than%20the%20maximum%20amount%20allowed.%20Use%20a%20lower%20amount%20and%20try%20again.%22%2C%22amount_too_small%22%3A%22The%20specified%20amount%20is%20less%20than%20the%20minimum%20amount%20allowed.%20Use%20a%20higher%20amount%20and%20try%20again.%22%2C%22authentication_required%22%3A%22The%20payment%20requires%20authentication%20to%20proceed.%20If%20your%20customer%20is%20off%20session%2C%20notify%20your%20customer%20to%20return%20to%20your%20application%20and%20complete%20the%20payment.%20If%20you%20provided%20the%20error_on_requires_action%20parameter%2C%20then%20your%20customer%20should%20try%20another%20card%20that%20does%20not%20require%20authentication.%22%2C%22balance_insufficient%22%3A%22The%20transfer%20or%20payout%20could%20not%20be%20completed%20because%20the%20associated%20account%20does%20not%20have%20a%20sufficient%20balance%20available.%20Create%20a%20new%20transfer%20or%20payout%20using%20an%20amount%20less%20than%20or%20equal%20to%20the%20account%27s%20available%20balance.%22%2C%22bank_account_declined%22%3A%22The%20bank%20account%20provided%20can%20not%20be%20used%20to%20charge%2C%20either%20because%20it%20is%20not%20verified%20yet%20or%20it%20is%20not%20supported.%22%2C%22bank_account_exists%22%3A%22The%20bank%20account%20provided%20already%20exists%20on%20the%20specified%20Customer%20object.%20If%20the%20bank%20account%20should%20also%20be%20attached%20to%20a%20different%20customer%2C%20include%20the%20correct%20customer%20ID%20when%20making%20the%20request%20again.%22%2C%22bank_account_unusable%22%3A%22The%20bank%20account%20provided%20cannot%20be%20used%20for%20payouts.%20A%20different%20bank%20account%20must%20be%20used.%22%2C%22bank_account_unverified%22%3A%22Your%20Connect%20platform%20is%20attempting%20to%20share%20an%20unverified%20bank%20account%20with%20a%20connected%20account.%22%2C%22bank_account_verification_failed%22%3A%22The%20bank%20account%20cannot%20be%20verified%2C%20either%20because%20the%20microdeposit%20amounts%20provided%20do%20not%20match%20the%20actual%20amounts%2C%20or%20because%20verification%20has%20failed%20too%20many%20times.%22%2C%22card_decline_rate_limit_exceeded%22%3A%22This%20card%20has%20been%20declined%20too%20many%20times.%20You%20can%20try%20to%20charge%20this%20card%20again%20after%2024%20hours.%20We%20suggest%20reaching%20out%20to%20your%20customer%20to%20make%20sure%20they%20have%20entered%20all%20of%20their%20information%20correctly%20and%20that%20there%20are%20no%20issues%20with%20their%20card.%22%2C%22charge_already_captured%22%3A%22The%20charge%20you%27re%20attempting%20to%20capture%20has%20already%20been%20captured.%20Update%20the%20request%20with%20an%20uncaptured%20charge%20ID.%22%2C%22charge_already_refunded%22%3A%22The%20charge%20you%27re%20attempting%20to%20refund%20has%20already%20been%20refunded.%20Update%20the%20request%20to%20use%20the%20ID%20of%20a%20charge%20that%20has%20not%20been%20refunded.%22%2C%22charge_disputed%22%3A%22The%20charge%20you%27re%20attempting%20to%20refund%20has%20been%20charged%20back.%20Check%20the%20disputes%20documentation%20to%20learn%20how%20to%20respond%20to%20the%20dispute.%22%2C%22charge_exceeds_source_limit%22%3A%22This%20charge%20would%20cause%20you%20to%20exceed%20your%20rolling-window%20processing%20limit%20for%20this%20source%20type.%20Please%20retry%20the%20charge%20later%2C%20or%20contact%20us%20to%20request%20a%20higher%20processing%20limit.%22%2C%22charge_expired_for_capture%22%3A%22The%20charge%20cannot%20be%20captured%20as%20the%20authorization%20has%20expired.%20Auth%20and%20capture%20charges%20must%20be%20captured%20within%20seven%20days.%22%2C%22charge_invalid_parameter%22%3A%22One%20or%20more%20provided%20parameters%20was%20not%20allowed%20for%20the%20given%20operation%20on%20the%20Charge.%20Check%20our%20API%20reference%20or%20the%20returned%20error%20message%20to%20see%20which%20values%20were%20not%20correct%20for%20that%20Charge.%22%2C%22email_invalid%22%3A%22The%20email%20address%20is%20invalid%20%28e.g.%2C%20not%20properly%20formatted%29.%20Check%20that%20the%20email%20address%20is%20properly%20formatted%20and%20only%20includes%20allowed%20characters.%22%2C%22idempotency_key_in_use%22%3A%22The%20idempotency%20key%20provided%20is%20currently%20being%20used%20in%20another%20request.%20This%20occurs%20if%20your%20integration%20is%20making%20duplicate%20requests%20simultaneously.%22%2C%22invalid_charge_amount%22%3A%22The%20specified%20amount%20is%20invalid.%20The%20charge%20amount%20must%20be%20a%20positive%20integer%20in%20the%20smallest%20currency%20unit%2C%20and%20not%20exceed%20the%20minimum%20or%20maximum%20amount.%22%2C%22invalid_source_usage%22%3A%22The%20source%20cannot%20be%20used%20because%20it%20is%20not%20in%20the%20correct%20state%20%28e.g.%2C%20a%20charge%20request%20is%20trying%20to%20use%20a%20source%20with%20a%20pending%2C%20failed%2C%20or%20consumed%20source%29.%20Check%20the%20status%20of%20the%20source%20you%20are%20attempting%20to%20use.%22%2C%22missing%22%3A%22Both%20a%20customer%20and%20source%20ID%20have%20been%20provided%2C%20but%20the%20source%20has%20not%20been%20saved%20to%20the%20customer.%20To%20create%20a%20charge%20for%20a%20customer%20with%20a%20specified%20source%2C%20you%20must%20first%20save%20the%20card%20details.%22%2C%22postal_code_invalid%22%3A%22The%20ZIP%20code%20provided%20was%20incorrect.%22%2C%22processing_error%22%3A%22An%20error%20occurred%20while%20processing%20the%20card.%20Try%20again%20later%20or%20with%20a%20different%20payment%20method.%22%2C%22card_not_supported%22%3A%22The%20card%20does%20not%20support%20this%20type%20of%20purchase.%22%2C%22call_issuer%22%3A%22The%20card%20has%20been%20declined%20for%20an%20unknown%20reason.%22%2C%22card_velocity_exceeded%22%3A%22The%20customer%20has%20exceeded%20the%20balance%20or%20credit%20limit%20available%20on%20their%20card.%22%2C%22currency_not_supported%22%3A%22The%20card%20does%20not%20support%20the%20specified%20currency.%22%2C%22do_not_honor%22%3A%22The%20card%20has%20been%20declined%20for%20an%20unknown%20reason.%22%2C%22fraudulent%22%3A%22The%20payment%20has%20been%20declined%20as%20Stripe%20suspects%20it%20is%20fraudulent.%22%2C%22generic_decline%22%3A%22The%20card%20has%20been%20declined%20for%20an%20unknown%20reason.%22%2C%22incorrect_pin%22%3A%22The%20PIN%20entered%20is%20incorrect.%20%22%2C%22insufficient_funds%22%3A%22The%20card%20has%20insufficient%20funds%20to%20complete%20the%20purchase.%22%2C%22empty_element%22%3A%22Please%20select%20a%20payment%20method%20before%20proceeding.%22%2C%22empty_element_sepa_debit%22%3A%22Please%20enter%20your%20IBAN%20before%20proceeding.%22%2C%22empty_element_ideal%22%3A%22Please%20select%20a%20bank%20before%20proceeding%22%2C%22incomplete_iban%22%3A%22The%20IBAN%20you%20entered%20is%20incomplete.%22%2C%22incomplete_boleto_tax_id%22%3A%22Please%20enter%20a%20valid%20CPF%20%5C%2F%20CNPJ%22%2C%22test_mode_live_card%22%3A%22Your%20card%20was%20declined.%20Your%20request%20was%20in%20test%20mode%2C%20but%20you%20used%20a%20real%20credit%20card.%20Only%20test%20cards%20can%20be%20used%20in%20test%20mode.%22%2C%22server_side_confirmation_beta%22%3A%22You%20do%20not%20have%20permission%20to%20use%20the%20PaymentElement%20card%20form.%20Please%20send%20a%20request%20to%20https%3A%5C%2F%5C%2Fsupport.stripe.com%5C%2F%20and%20ask%20for%20the%20%5C%22server_side_confirmation_beta%5C%22%20to%20be%20added%20to%20your%20account.%22%2C%22phone_required%22%3A%22Please%20provide%20a%20billing%20phone%20number.%22%2C%22ach_instant_only%22%3A%22Your%20payment%20could%20not%20be%20processed%20at%20this%20time%20because%20your%20bank%20account%20does%20not%20support%20instant%20verification.%22%2C%22payment_intent_konbini_rejected_confirmation_number%22%3A%22The%20confirmation%20number%20was%20rejected%20by%20Konbini.%20Please%20try%20again.%22%2C%22payment_intent_payment_attempt_expired%22%3A%22The%20payment%20attempt%20for%20this%20payment%20method%20has%20expired.%20Please%20try%20again.%22%2C%22payment_intent_authentication_failure%22%3A%22We%20are%20unable%20to%20authenticate%20your%20payment%20method.%20Please%20choose%20a%20different%20payment%20method%20and%20try%20again.%22%2C%22payment_cancelled%22%3A%22Payment%20has%20been%20cancelled.%22%2C%22billing_label%22%3A%22Billing%20%25s%22%2C%22shipping_label%22%3A%22Shipping%20%25s%22%2C%22required_field%22%3A%22%25s%20is%20a%20required%20field.%22%2C%22required_fields%22%3A%22Please%20fill%20out%20all%20required%20fields.%22%2C%22payment_unavailable%22%3A%22This%20payment%20method%20is%20currently%20unavailabe.%20Reason%3A%20%25s%22%2C%22billing_details.phone.required%22%3A%22A%20billing%20phone%20number%20is%20required%20for%20this%20payment.%22%2C%22terms%22%3A%22Please%20read%20and%20accept%20the%20terms%20and%20conditions%20to%20proceed%20with%20your%20order.%22%2C%22order_button_click%22%3A%22Please%20click%20the%20%25s%20button%20before%20placing%20your%20order.%22%7D%2C%22requiredFields%22%3A%5B%22billing_first_name%22%2C%22billing_last_name%22%2C%22billing_country%22%2C%22billing_address_1%22%2C%22billing_city%22%2C%22billing_postcode%22%2C%22billing_phone%22%2C%22billing_email%22%2C%22shipping_first_name%22%2C%22shipping_last_name%22%2C%22shipping_country%22%2C%22shipping_address_1%22%2C%22shipping_city%22%2C%22shipping_postcode%22%2C%22shipping_phone%22%2C%22account_password%22%5D%2C%22customer%22%3A%7B%22customer_id%22%3A0%2C%22billing_address%22%3A%7B%22name%22%3A%22%20%22%2C%22first_name%22%3A%22%22%2C%22last_name%22%3A%22%22%2C%22email%22%3A%22%22%2C%22phone%22%3A%22%22%2C%22address_1%22%3A%22%22%2C%22address_2%22%3A%22%22%2C%22city%22%3A%22%22%2C%22state%22%3A%22%22%2C%22postcode%22%3A%22%22%2C%22country%22%3A%22GB%22%7D%2C%22shipping_address%22%3A%7B%22name%22%3A%22%20%22%2C%22first_name%22%3A%22%22%2C%22last_name%22%3A%22%22%2C%22address_1%22%3A%22%22%2C%22address_2%22%3A%22%22%2C%22city%22%3A%22%22%2C%22state%22%3A%22%22%2C%22postcode%22%3A%22%22%2C%22country%22%3A%22GB%22%7D%7D%2C%22restRoutes%22%3A%7B%22cart%5C%2Fitem%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fitem%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fitem%22%7D%2C%22cart%5C%2Frefresh%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Frefresh%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Frefresh%22%7D%2C%22cart%5C%2Fshipping%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fshipping%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fshipping%22%7D%2C%22cart%5C%2Fcheckout%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fcheckout%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fcheckout%22%7D%2C%22cart%5C%2Fcalculation%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fcalculation%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcart%5C%2Fcalculation%22%7D%2C%22checkout%5C%2Fform-validation%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcheckout%5C%2Fform-validation%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Fcheckout%5C%2Fform-validation%22%7D%2C%22setup-intent%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Fsetup-intent%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Fsetup-intent%22%7D%2C%22order%5C%2Fpay%22%3A%7B%22namespace%22%3A%22wc-stripe%5C%2Fv1%22%2C%22path%22%3A%22%5C%2Fwc-stripe%5C%2Fv1%5C%2Forder%5C%2Fpay%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_stripe_frontend_request%26path%3D%5C%2Fwc-stripe%5C%2Fv1%5C%2Forder%5C%2Fpay%22%7D%7D%2C%22stripe_cc_data%22%3A%7B%22paymentSections%22%3A%5B%5D%2C%22paymentMethodType%22%3A%22card%22%2C%22description%22%3A%22%22%2C%22hasPaymentTokens%22%3Afalse%2C%22termsDisplayRule%22%3A%22auto%22%2C%22elementOptions%22%3A%7B%22paymentMethodTypes%22%3A%5B%22card%22%2C%22link%22%5D%2C%22locale%22%3A%22en-US%22%2C%22mode%22%3A%22payment%22%2C%22paymentMethodCreation%22%3A%22manual%22%2C%22appearance%22%3A%7B%22theme%22%3A%22stripe%22%7D%7D%2C%22paymentElementOptions%22%3A%5B%5D%2C%22cardFormType%22%3A%22payment%22%2C%22inlineFormOptions%22%3A%7B%22style%22%3A%7B%22base%22%3A%7B%22color%22%3A%22%2332325d%22%2C%22fontFamily%22%3A%22%5C%22Helvetica%20Neue%5C%22%2C%20Helvetica%2C%20sans-serif%22%2C%22fontSmoothing%22%3A%22antialiased%22%2C%22fontSize%22%3A%2218px%22%2C%22%3A%3Aplaceholder%22%3A%7B%22color%22%3A%22%23aab7c4%22%7D%2C%22%3Afocus%22%3A%5B%5D%7D%2C%22invalid%22%3A%7B%22color%22%3A%22%23fa755a%22%2C%22iconColor%22%3A%22%23fa755a%22%7D%7D%2C%22disableLink%22%3Afalse%7D%2C%22paymentElementActive%22%3Atrue%2C%22customFieldOptions%22%3A%7B%22cardNumber%22%3A%7B%22style%22%3A%7B%22base%22%3A%7B%22color%22%3A%22%2332325d%22%2C%22fontFamily%22%3A%22%5C%22Helvetica%20Neue%5C%22%2C%20Helvetica%2C%20sans-serif%22%2C%22fontSmoothing%22%3A%22antialiased%22%2C%22fontSize%22%3A%2218px%22%2C%22%3A%3Aplaceholder%22%3A%7B%22color%22%3A%22%23aab7c4%22%7D%2C%22%3Afocus%22%3A%5B%5D%7D%2C%22invalid%22%3A%7B%22color%22%3A%22%23fa755a%22%2C%22iconColor%22%3A%22%23fa755a%22%7D%7D%7D%2C%22cardExpiry%22%3A%7B%22style%22%3A%7B%22base%22%3A%7B%22color%22%3A%22%2332325d%22%2C%22fontFamily%22%3A%22%5C%22Helvetica%20Neue%5C%22%2C%20Helvetica%2C%20sans-serif%22%2C%22fontSmoothing%22%3A%22antialiased%22%2C%22fontSize%22%3A%2218px%22%2C%22%3A%3Aplaceholder%22%3A%7B%22color%22%3A%22%23aab7c4%22%7D%2C%22%3Afocus%22%3A%5B%5D%7D%2C%22invalid%22%3A%7B%22color%22%3A%22%23fa755a%22%2C%22iconColor%22%3A%22%23fa755a%22%7D%7D%7D%2C%22cardCvc%22%3A%7B%22style%22%3A%7B%22base%22%3A%7B%22color%22%3A%22%2332325d%22%2C%22fontFamily%22%3A%22%5C%22Helvetica%20Neue%5C%22%2C%20Helvetica%2C%20sans-serif%22%2C%22fontSmoothing%22%3A%22antialiased%22%2C%22fontSize%22%3A%2218px%22%2C%22%3A%3Aplaceholder%22%3A%7B%22color%22%3A%22%23aab7c4%22%7D%2C%22%3Afocus%22%3A%5B%5D%7D%2C%22invalid%22%3A%7B%22color%22%3A%22%23fa755a%22%2C%22iconColor%22%3A%22%23fa755a%22%7D%7D%7D%7D%2C%22cardIcons%22%3A%7B%22visa%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcards%5C%2Fvisa.svg%22%2C%22amex%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcards%5C%2Famex.svg%22%2C%22mastercard%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcards%5C%2Fmastercard.svg%22%2C%22discover%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcards%5C%2Fdiscover.svg%22%2C%22diners%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcards%5C%2Fdiners.svg%22%2C%22jcb%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcards%5C%2Fjcb.svg%22%2C%22unionpay%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcards%5C%2Fchina_union_pay.svg%22%2C%22unknown%22%3A%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcard_brand2.svg%22%7D%2C%22html%22%3A%7B%22card_brand%22%3A%22%3Cimg%20id%3D%5C%22wc-stripe-card%5C%22%20src%3D%5C%22https%3A%5C%2F%5C%2Fdiscountcctvsupplier.co.uk%5C%2Fwp-content%5C%2Fplugins%5C%2Fwoo-stripe-payment%5C%2Fassets%5C%2Fimg%5C%2Fcard_brand2.svg%5C%22%20%5C%2F%3E%22%7D%2C%22noticeLocation%22%3A%22acf%22%2C%22noticeSelector%22%3A%22div.payment_method_stripe_cc%22%2C%22installments%22%3A%7B%22clientSecret%22%3Anull%7D%7D%2C%22paymentMethods%22%3A%7B%22stripe_cc%22%3A%7B%22enabled%22%3Atrue%2C%22supports%22%3A%5B%22refunds%22%2C%22products%22%2C%22default_credit_card_form%22%2C%22tokenization%22%2C%22add_payment_method%22%2C%22pre-orders%22%2C%22subscriptions%22%2C%22subscription_cancellation%22%2C%22multiple_subscriptions%22%2C%22subscription_amount_changes%22%2C%22subscription_date_changes%22%2C%22subscription_payment_method_change_admin%22%2C%22subscription_reactivation%22%2C%22subscription_suspension%22%2C%22subscription_payment_method_change_customer%22%5D%2C%22isLocal%22%3Afalse%2C%22paymentMethodType%22%3A%22card%22%7D%7D%7D' ) );
window['wcPPCPSettings'] = JSON.parse( decodeURIComponent( '%7B%22cart%22%3A%7B%22total%22%3A%220.00%22%2C%22totalCents%22%3A0%2C%22needsShipping%22%3Afalse%2C%22isEmpty%22%3Atrue%2C%22currency%22%3A%22GBP%22%2C%22countryCode%22%3A%22GB%22%2C%22availablePaymentMethods%22%3A%5B%22stripe_cc%22%2C%22ppcp%22%5D%2C%22lineItems%22%3A%5B%7B%22label%22%3A%22Tax%22%2C%22amount%22%3A%220.00%22%2C%22type%22%3A%22tax%22%7D%5D%2C%22shippingOptions%22%3A%5B%5D%2C%22selectedShippingMethod%22%3A%22%22%7D%2C%22product%22%3A%7B%22id%22%3A20149%2C%22needsShipping%22%3Atrue%2C%22total%22%3A%2284.00%22%2C%22totalCents%22%3A8400%2C%22price%22%3A%2284.00%22%2C%22currency%22%3A%22GBP%22%2C%22lineItems%22%3A%5B%7B%22label%22%3A%228MP%204K%20HiLook%20IPC-T280HAD-LUF%5C%2FSL%20Two%20Way%20Audio%20Dual%20Lens%20180%5Cu00b0%20Panoramic%20PoE%20ColorVu%20Hybrid%20Light%20IP%20CCTV%20Security%20Camera%22%2C%22amount%22%3A%2284.00%22%2C%22type%22%3A%22product%22%7D%5D%2C%22shippingOptions%22%3A%5B%5D%7D%2C%22requiredFields%22%3A%5B%22billing_first_name%22%2C%22billing_last_name%22%2C%22billing_country%22%2C%22billing_address_1%22%2C%22billing_city%22%2C%22billing_postcode%22%2C%22billing_phone%22%2C%22billing_email%22%2C%22shipping_first_name%22%2C%22shipping_last_name%22%2C%22shipping_country%22%2C%22shipping_address_1%22%2C%22shipping_city%22%2C%22shipping_postcode%22%2C%22shipping_phone%22%2C%22account_password%22%5D%2C%22payLaterMessage%22%3A%7B%22enabled%22%3Afalse%2C%22checkout%22%3A%7B%22style%22%3A%7B%22layout%22%3A%22text%22%2C%22logo%22%3A%7B%22type%22%3A%22%22%2C%22position%22%3A%22left%22%7D%2C%22text%22%3A%7B%22color%22%3A%22black%22%2C%22size%22%3A%2212%22%7D%7D%7D%2C%22cart%22%3A%7B%22style%22%3A%7B%22layout%22%3A%22text%22%2C%22logo%22%3A%7B%22type%22%3A%22%22%2C%22position%22%3A%22left%22%7D%2C%22text%22%3A%7B%22color%22%3A%22black%22%2C%22size%22%3A%2212%22%7D%7D%7D%2C%22product%22%3A%7B%22style%22%3A%7B%22layout%22%3A%22text%22%2C%22logo%22%3A%7B%22type%22%3A%22%22%2C%22position%22%3A%22left%22%7D%2C%22text%22%3A%7B%22color%22%3A%22black%22%2C%22size%22%3A%2212%22%7D%7D%7D%2C%22shop%22%3A%7B%22style%22%3A%7B%22layout%22%3A%22text%22%2C%22logo%22%3A%7B%22type%22%3A%22%22%2C%22position%22%3A%22left%22%7D%2C%22text%22%3A%7B%22color%22%3A%22black%22%2C%22size%22%3A%2212%22%7D%7D%7D%2C%22checkoutLocation%22%3A%22shop_table%22%2C%22cartLocation%22%3A%22shop_table%22%7D%2C%22productSettings%22%3A%7B%22button_width%22%3A%22add_to_cart%22%2C%22funding%22%3A%5B%5D%7D%2C%22version%22%3A%222.0.19%22%2C%22generalData%22%3A%7B%22clientId%22%3A%22BAA7xchGkcHVCACj_qsa3NXCOz7VvQeGjxWD8Uy_L7BYHE0UbH7AeugybyhTeGWWLboUPm-ktffwTGTNVI%22%2C%22environment%22%3A%22production%22%2C%22partner_id%22%3A%22PaymentPlugins_PCP%22%2C%22page%22%3A%22product%22%2C%22version%22%3A%222.0.19%22%2C%22is_admin%22%3Afalse%2C%22restRoutes%22%3A%7B%22connect%5C%2Faccount%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%5C%2Fadmin%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fadmin%5C%2Faccount%5C%2Fconnect%22%7D%2C%22domain-association-file%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%5C%2Fadmin%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fadmin%5C%2Fdomain-association-file%22%7D%2C%22cart%5C%2Fitem%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fcart%5C%2Fitem%22%7D%2C%22cart%5C%2Fshipping%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fcart%5C%2Fshipping%22%7D%2C%22cart%5C%2Fbilling%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fcart%5C%2Fbilling%22%7D%2C%22cart%5C%2Fcheckout%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fcart%5C%2Fcheckout%22%7D%2C%22cart%5C%2Frefresh%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fcart%5C%2Frefresh%22%7D%2C%22cart%5C%2Forder%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fcart%5C%2Forder%22%7D%2C%22order%5C%2Fpay%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Forder%5C%2Fpay%22%7D%2C%22billing-agreement%5C%2Ftoken%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fbilling-agreement%5C%2Ftoken%5C%2F%3F%28%3FP%3Cid%3E%5B%5C%5Cw-%5D%2B%29%22%7D%2C%22billing-agreement%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fbilling-agreements%5C%2F%28%3FP%3Cid%3E%5B%5C%5Cw-%5D%2B%29%22%7D%2C%22webhook%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fwebhook%5C%2F%28%3FP%3Cenvironment%3E%5B%5C%5Cw%5D%2B%29%22%7D%2C%22admin%5C%2Forder%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%5C%2Fadmin%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fadmin%5C%2Forder%5C%2F%28%3FP%3Corder_id%3E%5B%5C%5Cw%5D%2B%29%22%7D%2C%22admin%5C%2Ftracking%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%5C%2Fadmin%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fadmin%5C%2Forder%5C%2F%28%3FP%3Corder_id%3E%5B%5C%5Cw%5D%2B%29%5C%2Ftracking%22%7D%2C%22admin%5C%2Fcarriers%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%5C%2Fadmin%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fadmin%5C%2Forder%5C%2F%28%3FP%3Corder_id%3E%5B%5C%5Cw%5D%2B%29%5C%2Fcarriers%22%7D%2C%22admin%5C%2Fwebhook%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%5C%2Fadmin%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fadmin%5C%2Fwebhook%22%7D%2C%22setup-tokens%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fvault%5C%2Fsetup-tokens%22%7D%2C%22payment-tokens%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fvault%5C%2Fpayment-tokens%22%7D%2C%22checkout%5C%2Fvalidation%22%3A%7B%22namespace%22%3A%22wc-ppcp%5C%2Fv1%22%2C%22url%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2Fwc-ppcp%5C%2Fv1%5C%2Fcheckout-validation%22%7D%7D%2C%22ajaxRestPath%22%3A%22%5C%2F%3Fwc-ajax%3Dwc_ppcp_frontend_request%26path%3D%5C%2F%25s%22%7D%2C%22errorMessages%22%3A%7B%22terms%22%3A%22Please%20check%20the%20terms%20and%20conditions%20before%20proceeding.%22%2C%22invalid_client_id%22%3A%22Invalid%20PayPal%20client%20ID.%20Please%20check%20your%20API%20Settings.%22%2C%22invalid_currency%22%3A%22PayPal%20does%20not%20support%20currency%20%25.%20Please%20use%20a%20supported%20currency.%22%2C%22order_button_click%22%3A%22Please%20click%20the%20%25s%20button%20before%20placing%20your%20order.%22%2C%22gpay_order_button_click%22%3A%22Please%20click%20the%20Google%20Pay%20button%20before%20placing%20your%20order%22%2C%22order_missing_address%22%3A%22Please%20fill%20out%20all%20billing%20and%20shipping%20fields%20before%20clicking%20PayPal.%22%2C%22order_missing_billing_address%22%3A%22Please%20fill%20out%20all%20billing%20fields%20before%20clicking%20PayPal.%22%2C%22cancel%22%3A%22Cancel%22%2C%22required_fields%22%3A%22Please%20fill%20out%20all%20required%20fields.%22%2C%22Y_N_NO%22%3A%223DS%20authentication%20failed.%22%2C%22Y_R_NO%22%3A%223DS%20authentication%20was%20rejected.%22%2C%22Y_U_UNKNOWN%22%3A%22Unable%20to%20complete%203DS%20authentication.%20Please%20try%20again.%22%2C%22Y_U_NO%22%3A%22Unable%20to%20complete%203DS%20authentication.%20Please%20try%20again.%22%2C%22Y_C_UNKNOWN%22%3A%223DS%20authentication%20challenge%20required%20but%20could%20not%20be%20completed.%20Please%20try%20again.%22%2C%22Y__NO%22%3A%223DS%20authentication%20could%20not%20be%20processed.%20Please%20try%20again.%22%2C%22U__UNKNOWN%22%3A%223DS%20system%20is%20currently%20unavailable.%20Please%20try%20again%20later.%22%2C%22___UNKNOWN%22%3A%223DS%20authentication%20status%20unknown.%20Please%20try%20again.%22%2C%22total%22%3A%22Total%22%2C%22ERROR_VALIDATING_MERCHANT%22%3A%22Domain%20registration%20is%20not%20complete.%20Visit%20https%3A%5C%2F%5C%2Fpaymentplugins.com%5C%2Fdocumentation%5C%2Fpaypal%5C%2Fapplepay%5C%2Fsetup%5C%2F%20for%20instructions%20on%20completing%20domain%20registration.%22%7D%2C%22i18n%22%3A%7B%22locale%22%3A%22%7B%5C%22BE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22CY%5C%22%3A%7B%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22DE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%7D%7D%2C%5C%22FR%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22GR%5C%22%3A%7B%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%7D%7D%2C%5C%22IE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22required%5C%22%3Atrue%2C%5C%22label%5C%22%3A%5C%22Eircode%5C%22%7D%2C%5C%22state%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22County%5C%22%7D%7D%2C%5C%22IT%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Atrue%2C%5C%22label%5C%22%3A%5C%22Province%5C%22%7D%7D%2C%5C%22NL%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22PT%5C%22%3A%7B%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22ES%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Province%5C%22%7D%7D%2C%5C%22SE%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22priority%5C%22%3A65%7D%2C%5C%22state%5C%22%3A%7B%5C%22required%5C%22%3Afalse%2C%5C%22hidden%5C%22%3Atrue%7D%7D%2C%5C%22GB%5C%22%3A%7B%5C%22postcode%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Postcode%5C%22%7D%2C%5C%22state%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22County%5C%22%2C%5C%22required%5C%22%3Afalse%7D%7D%2C%5C%22default%5C%22%3A%7B%5C%22first_name%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22First%20name%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-first%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22given-name%5C%22%2C%5C%22priority%5C%22%3A10%7D%2C%5C%22last_name%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Last%20name%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-last%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22family-name%5C%22%2C%5C%22priority%5C%22%3A20%7D%2C%5C%22company%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Company%20name%5C%22%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22organization%5C%22%2C%5C%22priority%5C%22%3A30%2C%5C%22required%5C%22%3Afalse%7D%2C%5C%22country%5C%22%3A%7B%5C%22type%5C%22%3A%5C%22country%5C%22%2C%5C%22label%5C%22%3A%5C%22Country%20%5C%5C%5C%2F%20Region%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%2C%5C%22update_totals_on_change%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22country%5C%22%2C%5C%22priority%5C%22%3A40%2C%5C%22hidden%5C%22%3Afalse%7D%2C%5C%22address_1%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Street%20address%5C%22%2C%5C%22placeholder%5C%22%3A%5C%22House%20number%20and%20street%20name%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-line1%5C%22%2C%5C%22priority%5C%22%3A50%7D%2C%5C%22address_2%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Apartment%2C%20suite%2C%20unit%2C%20etc.%5C%22%2C%5C%22label_class%5C%22%3A%5B%5C%22screen-reader-text%5C%22%5D%2C%5C%22placeholder%5C%22%3A%5C%22Apartment%2C%20suite%2C%20unit%2C%20etc.%20%28optional%29%5C%22%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-line2%5C%22%2C%5C%22priority%5C%22%3A60%2C%5C%22required%5C%22%3Afalse%7D%2C%5C%22city%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Town%20%5C%5C%5C%2F%20City%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-level2%5C%22%2C%5C%22priority%5C%22%3A70%7D%2C%5C%22state%5C%22%3A%7B%5C%22type%5C%22%3A%5C%22state%5C%22%2C%5C%22label%5C%22%3A%5C%22State%20%5C%5C%5C%2F%20County%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22validate%5C%22%3A%5B%5C%22state%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22address-level1%5C%22%2C%5C%22priority%5C%22%3A80%7D%2C%5C%22postcode%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Postcode%20%5C%5C%5C%2F%20ZIP%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%2C%5C%22address-field%5C%22%5D%2C%5C%22validate%5C%22%3A%5B%5C%22postcode%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22postal-code%5C%22%2C%5C%22priority%5C%22%3A90%7D%2C%5C%22phone%5C%22%3A%7B%5C%22label%5C%22%3A%5C%22Phone%5C%22%2C%5C%22required%5C%22%3Atrue%2C%5C%22type%5C%22%3A%5C%22tel%5C%22%2C%5C%22class%5C%22%3A%5B%5C%22form-row-wide%5C%22%5D%2C%5C%22validate%5C%22%3A%5B%5C%22phone%5C%22%5D%2C%5C%22autocomplete%5C%22%3A%5C%22tel%5C%22%2C%5C%22priority%5C%22%3A100%7D%7D%7D%22%2C%22locale_fields%22%3A%22%7B%5C%22address_1%5C%22%3A%5C%22%23billing_address_1_field%2C%20%23shipping_address_1_field%5C%22%2C%5C%22address_2%5C%22%3A%5C%22%23billing_address_2_field%2C%20%23shipping_address_2_field%5C%22%2C%5C%22state%5C%22%3A%5C%22%23billing_state_field%2C%20%23shipping_state_field%2C%20%23calc_shipping_state_field%5C%22%2C%5C%22postcode%5C%22%3A%5C%22%23billing_postcode_field%2C%20%23shipping_postcode_field%2C%20%23calc_shipping_postcode_field%5C%22%2C%5C%22city%5C%22%3A%5C%22%23billing_city_field%2C%20%23shipping_city_field%2C%20%23calc_shipping_city_field%5C%22%2C%5C%22country%5C%22%3A%5C%22%23billing_country_field%2C%20%23shipping_country_field%2C%20%23calc_shipping_country_field%5C%22%2C%5C%22phone%5C%22%3A%5C%22%23billing_phone_field%2C%20%23shipping_phone_field%5C%22%7D%22%7D%2C%22ppcp_data%22%3A%7B%22title%22%3A%22PayPal%22%2C%22sections%22%3A%5B%22order_pay%22%2C%22checkout%22%5D%2C%22needsSetupToken%22%3Afalse%2C%22funding%22%3A%5B%22paypal%22%5D%2C%22buttons_order%22%3A%5B%22paypal%22%2C%22paylater%22%2C%22venmo%22%2C%22card%22%5D%2C%22buttonPlacement%22%3A%22place_order%22%2C%22buttons%22%3A%7B%22paypal%22%3A%7B%22layout%22%3A%22vertical%22%2C%22label%22%3A%22paypal%22%2C%22shape%22%3A%22rect%22%2C%22height%22%3A40%2C%22color%22%3A%22gold%22%7D%2C%22paylater%22%3A%7B%22layout%22%3A%22vertical%22%2C%22label%22%3A%22paypal%22%2C%22shape%22%3A%22rect%22%2C%22height%22%3A40%2C%22color%22%3A%22gold%22%7D%2C%22card%22%3A%7B%22layout%22%3A%22vertical%22%2C%22label%22%3A%22paypal%22%2C%22shape%22%3A%22rect%22%2C%22height%22%3A40%2C%22color%22%3A%22black%22%2C%22tagline%22%3Afalse%7D%2C%22venmo%22%3A%7B%22layout%22%3A%22vertical%22%2C%22shape%22%3A%22rect%22%2C%22height%22%3A40%7D%7D%2C%22paypal_sections%22%3A%5B%22order_pay%22%2C%22checkout%22%2C%22add_payment_method%22%5D%2C%22paylater_sections%22%3A%5B%22cart%22%2C%22checkout%22%2C%22order_pay%22%5D%2C%22credit_card_sections%22%3A%5B%22cart%22%2C%22checkout%22%2C%22order_pay%22%5D%2C%22venmo_sections%22%3A%5B%22checkout%22%2C%22order_pay%22%5D%2C%22placeOrderEnabled%22%3Afalse%7D%2C%22recaptcha%22%3A%7B%22site_key%22%3Anull%2C%22i18n%22%3A%7B%22error%22%3A%22reCAPTCHA%20error%3A%20%25s%22%7D%2C%22paymentMethods%22%3A%5B%22ppcp%22%5D%7D%2C%22queryParams%22%3A%7B%22client-id%22%3A%22BAA7xchGkcHVCACj_qsa3NXCOz7VvQeGjxWD8Uy_L7BYHE0UbH7AeugybyhTeGWWLboUPm-ktffwTGTNVI%22%2C%22intent%22%3A%22capture%22%2C%22commit%22%3A%22true%22%2C%22components%22%3A%22buttons%2Cmessages%2Ccard-fields%2Cgooglepay%2Capplepay%22%2C%22currency%22%3A%22GBP%22%2C%22enable-funding%22%3A%22paylater%22%2C%22data-partner-attribution-id%22%3A%22PaymentPlugins_PCP%22%2C%22data-page-type%22%3A%22product-details%22%2C%22locale%22%3A%22en_US%22%7D%2C%22ppcp_api%22%3A%5B%5D%2C%22ppcp_advanced%22%3A%7B%22miniCartLocation%22%3A%22below%22%7D%2C%22ppcp_paylater_message%22%3A%5B%5D%7D' ) );
https://discountcctvsupplier.co.uk/wp-content/plugins/elementskit-lite/widgets/init/assets/js/widget-scripts.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/accounting/accounting.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/selectWoo/selectWoo.full.min.js
var yith_wcan_shortcodes = {"query_param":"yith_wcan","query_vars":[],"supported_taxonomies":["product_cat","product_tag","pa_brand","pa_camera","pa_camera-resolution","pa_channel","pa_color","pa_colour","pa_compression","pa_hdd","pa_ip-rating","pa_ir-distance","pa_lens","pa_material","pa_max-resolution","pa_megapixel","pa_number-of-cameras","pa_patterns-textures","pa_size"],"content":"#main","change_browser_url":"1","instant_filters":"1","ajax_filters":"1","reload_on_back":"1","show_clear_filter":"","scroll_top":"","scroll_target":"","modal_on_mobile":"","session_param":"","show_current_children":"","loader":"","toggles_open_on_modal":"","mobile_media_query":"991","base_url":"https://discountcctvsupplier.co.uk/product/hilook-ipc-t280had-luf-sl/","terms_per_page":"10","currency_format":{"symbol":"£","decimal":".","thousand":",","precision":2,"format":"%s%v"},"labels":{"empty_option":"All","search_placeholder":"Search...","no_items":"No item found","show_more":"Show more","close":"Close","save":"Save","show_results":"Show results","clear_selection":"Clear","clear_all_selections":"Clear All"},"urls":{"render_filter":"/?wc-ajax=yith_wcan_render_filter"},"nonces":{"render_filter":"09422834ae","render_remaining_terms":"c0d704e140","get_filter_terms":"d07ecc9b3f"}};
//# sourceURL=yith-wcan-shortcodes-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/yith-woocommerce-ajax-navigation/assets/js/yith-wcan-shortcodes.min.js
https://discountcctvsupplier.co.uk/wp-includes/js/dist/hooks.min.js
https://discountcctvsupplier.co.uk/wp-includes/js/dist/i18n.min.js
wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
//# sourceURL=wp-i18n-js-after
https://discountcctvsupplier.co.uk/wp-content/plugins/contact-form-7/includes/swv/js/index.js
var wpcf7 = {
"api": {
"root": "https:\/\/discountcctvsupplier.co.uk\/wp-json\/",
"namespace": "contact-form-7\/v1"
},
"cached": 1
};
//# sourceURL=contact-form-7-js-before
https://discountcctvsupplier.co.uk/wp-content/plugins/contact-form-7/includes/js/index.js
var wc_add_to_cart_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_view_cart":"View cart","cart_url":"https://discountcctvsupplier.co.uk/cart-2/","is_cart":"","cart_redirect_after_add":"no"};
//# sourceURL=wc-add-to-cart-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js
var aws_vars = {"sale":"Sale!","sku":"SKU: ","showmore":"View all results","noresults":"Nothing found"};
//# sourceURL=aws-script-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/advanced-woo-search/assets/js/common.min.js
dataLayer.push({"ecommerce":{"currency":"GBP","value":84,"items":[{"item_id":20149,"item_name":"8MP 4K HiLook IPC-T280HAD-LUF\/SL Two Way Audio Dual Lens 180° Panoramic PoE ColorVu Hybrid Light IP CCTV Security Camera","sku":"Hilook IPC-T280HAD-LUF\/SL","price":84,"stocklevel":null,"stockstatus":"instock","google_business_vertical":"retail","item_category":"HILOOK","id":20149}]},"event":"view_item"});
//# sourceURL=gtm4wp-additional-datalayer-pushes-js-after
https://discountcctvsupplier.co.uk/wp-content/plugins/duracelltomi-google-tag-manager/dist/js/gtm4wp-ecommerce-generic.js
https://discountcctvsupplier.co.uk/wp-content/plugins/duracelltomi-google-tag-manager/dist/js/gtm4wp-woocommerce.js
var wc_facebook_signals_params = {"ajax_url":"https://discountcctvsupplier.co.uk/wp-admin/admin-ajax.php","nonce":"f4cf1449af","action":"wc_facebook_update_signals_state"};
//# sourceURL=wc-facebook-signals-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/facebook-for-woocommerce/assets/js/facebook-for-woocommerce-signals.js
https://discountcctvsupplier.co.uk/wp-content/plugins/wp-whatsapp/assets/dist/js/njt-whatsapp.js
var njt_wa_global = {"ajax_url":"https://discountcctvsupplier.co.uk/wp-admin/admin-ajax.php","nonce":"b913e0457b","defaultAvatarSVG":"\u003Csvg width=\"48px\" height=\"48px\" class=\"nta-whatsapp-default-avatar\" version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n viewBox=\"0 0 512 512\" style=\"enable-background:new 0 0 512 512;\" xml:space=\"preserve\"\u003E\n \u003Cpath style=\"fill:#EDEDED;\" d=\"M0,512l35.31-128C12.359,344.276,0,300.138,0,254.234C0,114.759,114.759,0,255.117,0\n S512,114.759,512,254.234S395.476,512,255.117,512c-44.138,0-86.51-14.124-124.469-35.31L0,512z\"/\u003E\n \u003Cpath style=\"fill:#55CD6C;\" d=\"M137.71,430.786l7.945,4.414c32.662,20.303,70.621,32.662,110.345,32.662\n c115.641,0,211.862-96.221,211.862-213.628S371.641,44.138,255.117,44.138S44.138,137.71,44.138,254.234\n c0,40.607,11.476,80.331,32.662,113.876l5.297,7.945l-20.303,74.152L137.71,430.786z\"/\u003E\n \u003Cpath style=\"fill:#FEFEFE;\" d=\"M187.145,135.945l-16.772-0.883c-5.297,0-10.593,1.766-14.124,5.297\n c-7.945,7.062-21.186,20.303-24.717,37.959c-6.179,26.483,3.531,58.262,26.483,90.041s67.09,82.979,144.772,105.048\n c24.717,7.062,44.138,2.648,60.028-7.062c12.359-7.945,20.303-20.303,22.952-33.545l2.648-12.359\n c0.883-3.531-0.883-7.945-4.414-9.71l-55.614-25.6c-3.531-1.766-7.945-0.883-10.593,2.648l-22.069,28.248\n c-1.766,1.766-4.414,2.648-7.062,1.766c-15.007-5.297-65.324-26.483-92.69-79.448c-0.883-2.648-0.883-5.297,0.883-7.062\n l21.186-23.834c1.766-2.648,2.648-6.179,1.766-8.828l-25.6-57.379C193.324,138.593,190.676,135.945,187.145,135.945\"/\u003E\n \u003C/svg\u003E","defaultAvatarUrl":"https://discountcctvsupplier.co.uk/wp-content/plugins/wp-whatsapp/assets/img/whatsapp_logo.svg","timezone":"+00:00","i18n":{"online":"Online","offline":"Offline"},"urlSettings":{"onDesktop":"api","onMobile":"api","openInNewTab":"ON"}};
//# sourceURL=nta-js-global-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/wp-whatsapp/assets/js/whatsapp-button.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woo-fly-cart/assets/perfect-scrollbar/js/perfect-scrollbar.jquery.min.js
var wc_cart_fragments_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","cart_hash_key":"wc_cart_hash_8bd68889a1dfd849a8a2b7de551ca5ea","fragment_name":"wc_fragments_8bd68889a1dfd849a8a2b7de551ca5ea","request_timeout":"5000"};
//# sourceURL=wc-cart-fragments-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js
var woofc_vars = {"wc_ajax_url":"/?wc-ajax=%%endpoint%%","nonce":"2b571ca1c0","scrollbar":"yes","auto_show":"yes","auto_show_normal":"yes","confetti":"","show_cart":"no","show_checkout":"no","delay":"300","undo_remove":"yes","confirm_remove":"no","instant_checkout":"no","instant_checkout_open":"no","confirm_empty":"no","confirm_empty_text":"Do you want to empty the cart?","confirm_remove_text":"Do you want to remove this item?","undo_remove_text":"Undo?","removed_text":"%s was removed.","manual_show":"","reload":"no","suggested_carousel":"1","save_for_later_carousel":"1","upsell_funnel_carousel":"1","slick_params":"{\"slidesToShow\":1,\"slidesToScroll\":1,\"dots\":true,\"arrows\":false,\"autoplay\":false,\"autoplaySpeed\":3000,\"rtl\":false}","confetti_params":"{\"particleCount\":100,\"spread\":70,\"origin\":{\"y\":0.6}}","is_cart":"","is_checkout":"","cart_url":"","hide_count_empty":"yes","wc_checkout_js":"https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/frontend/checkout.js"};
//# sourceURL=woofc-frontend-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/woo-fly-cart/assets/js/frontend.js
https://discountcctvsupplier.co.uk/wp-content/themes/hello-elementor/assets/js/hello-frontend.js
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/sourcebuster/sourcebuster.min.js
var wc_order_attribution = {"params":{"lifetime":1.0e-5,"session":30,"base64":false,"ajaxurl":"https://discountcctvsupplier.co.uk/wp-admin/admin-ajax.php","prefix":"wc_order_attribution_","allowTracking":true},"fields":{"source_type":"current.typ","referrer":"current_add.rf","utm_campaign":"current.cmp","utm_source":"current.src","utm_medium":"current.mdm","utm_content":"current.cnt","utm_id":"current.id","utm_term":"current.trm","utm_source_platform":"current.plt","utm_creative_format":"current.fmt","utm_marketing_tactic":"current.tct","session_entry":"current_add.ep","session_start_time":"current_add.fd","session_pages":"session.pgs","session_count":"udata.vst","user_agent":"udata.uag"}};
//# sourceURL=wc-order-attribution-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/facebook-for-woocommerce/assets/js/frontend/pixel-events.js
if (typeof clientParamBuilder !== "undefined" && !/(?:^|;\s*)wc_facebook_signals_state=held(?:;|$)/.test(document.cookie)) {
clientParamBuilder.processAndCollectAllParams(window.location.href);
}
//# sourceURL=facebook-capi-param-builder-js-after
var wooaa_vars = {"wc_ajax_url":"/?wc-ajax=%%endpoint%%","nonce":"e91107b3c1","product_types":"all","ignore_btn_class":".disabled,.wpc-disabled,.wooaa-disabled,.wooco-disabled,.woosb-disabled,.woobt-disabled,.woosg-disabled,.woofs-disabled,.woopq-disabled,.wpcpo-disabled,.wpcbn-btn,.wpcme-btn,.wpcev-btn,.wpcuv-update","ignore_form_data":"","cart_url":"https://discountcctvsupplier.co.uk/cart-2/","cart_redirect_after_add":"no"};
//# sourceURL=wooaa-frontend-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/wpc-ajax-add-to-cart/assets/js/frontend.js
!function (w, d, t) {
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{},ttq._partner=ttq._partner||"WooCommerce";var o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=i+"?sdkid="+e+"&lib="+t;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)};
ttq.load('D6JC3HJC77UCBL6SE0N0');
}(window, document, 'ttq');
//# sourceURL=tiktok-pixel-tracking-handle-header-js-after
/* WooCommerce Facebook Integration Event Tracking */
fbq('set', 'agent', 'woocommerce_0-10.9.1-3.7.4', '1071403255027834');
window.wcFacebookPixelFiredEvents = window.wcFacebookPixelFiredEvents || {};
if (!window.wcFacebookPixelFiredEvents["b7af45c4-10f9-498e-ba82-3a83e6b8f636"]) {
window.wcFacebookPixelFiredEvents["b7af45c4-10f9-498e-ba82-3a83e6b8f636"] = true;
if (window.FacebookSignals && typeof window.FacebookSignals.trackEvent === 'function') {
window.FacebookSignals.trackEvent('PageView', {
"source": "woocommerce_0",
"version": "10.9.1",
"pluginVersion": "3.7.4"
}, null, 'track', "b7af45c4-10f9-498e-ba82-3a83e6b8f636");
} else {
fbq('track', 'PageView', {
"source": "woocommerce_0",
"version": "10.9.1",
"pluginVersion": "3.7.4"
}, {
"eventID": "b7af45c4-10f9-498e-ba82-3a83e6b8f636"
});
}
}
/* WooCommerce Facebook Integration Event Tracking */
fbq('set', 'agent', 'woocommerce_0-10.9.1-3.7.4', '1071403255027834');
window.wcFacebookPixelFiredEvents = window.wcFacebookPixelFiredEvents || {};
if (!window.wcFacebookPixelFiredEvents["65e9b1dc-6bf6-4bf7-9dae-744aed59d1e2"]) {
window.wcFacebookPixelFiredEvents["65e9b1dc-6bf6-4bf7-9dae-744aed59d1e2"] = true;
if (window.FacebookSignals && typeof window.FacebookSignals.trackEvent === 'function') {
window.FacebookSignals.trackEvent('ViewContent', {
"source": "woocommerce_0",
"version": "10.9.1",
"pluginVersion": "3.7.4",
"content_name": "8MP 4K HiLook IPC-T280HAD-LUF\/SL Two Way Audio Dual Lens 180\u00b0 Panoramic PoE ColorVu Hybrid Light IP CCTV Security Camera",
"content_ids": "[\"20149\"]",
"content_type": "product",
"contents": "[{\"id\":\"20149\",\"quantity\":1}]",
"content_category": "IP CAMERAS",
"value": "84",
"currency": "GBP"
}, null, 'track', "65e9b1dc-6bf6-4bf7-9dae-744aed59d1e2");
} else {
fbq('track', 'ViewContent', {
"source": "woocommerce_0",
"version": "10.9.1",
"pluginVersion": "3.7.4",
"content_name": "8MP 4K HiLook IPC-T280HAD-LUF\/SL Two Way Audio Dual Lens 180\u00b0 Panoramic PoE ColorVu Hybrid Light IP CCTV Security Camera",
"content_ids": "[\"20149\"]",
"content_type": "product",
"contents": "[{\"id\":\"20149\",\"quantity\":1}]",
"content_category": "IP CAMERAS",
"value": "84",
"currency": "GBP"
}, {
"eventID": "65e9b1dc-6bf6-4bf7-9dae-744aed59d1e2"
});
}
}
//# sourceURL=facebook-for-woocommerce-inline-js-after
https://discountcctvsupplier.co.uk/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js
https://discountcctvsupplier.co.uk/wp-content/plugins/elementor/assets/js/frontend-modules.min.js
https://discountcctvsupplier.co.uk/wp-includes/js/jquery/ui/core.min.js
var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Share on Facebook","shareOnTwitter":"Share on Twitter","pinIt":"Pin it","download":"Download","downloadImage":"Download image","fullscreen":"Fullscreen","zoom":"Zoom","share":"Share","playVideo":"Play Video","previous":"Previous","next":"Next","close":"Close","a11yCarouselPrevSlideMessage":"Previous slide","a11yCarouselNextSlideMessage":"Next slide","a11yCarouselFirstSlideMessage":"This is the first slide","a11yCarouselLastSlideMessage":"This is the last slide","a11yCarouselPaginationBulletMessage":"Go to slide"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":993,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Mobile Portrait","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","value":767,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet Portrait","value":992,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1024,"default_value":1200,"direction":"max","is_enabled":true},"laptop":{"label":"Laptop","value":1280,"default_value":1366,"direction":"max","is_enabled":true},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"hasCustomBreakpoints":true},"version":"4.1.4","is_static":false,"experimentalFeatures":{"additional_custom_breakpoints":true,"container":true,"e_panel_promotions":true,"hello-theme-header-footer":true,"nested-elements":true,"global_classes_should_enforce_capabilities":true,"e_variables":true,"e_opt_in_v4_page":true,"e_components":true,"e_interactions":true,"e_widget_creation":true,"import-export-customization":true},"urls":{"assets":"https:\/\/discountcctvsupplier.co.uk\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/discountcctvsupplier.co.uk\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/discountcctvsupplier.co.uk\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"26829c057a","atomicFormsSendForm":"8999f54c0b"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"viewport_tablet":992,"active_breakpoints":["viewport_mobile","viewport_tablet","viewport_tablet_extra","viewport_laptop"],"viewport_laptop":1280,"stretched_section_container":"#main","viewport_mobile":767,"viewport_tablet_extra":1024,"lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description","hello_header_logo_type":"title","hello_header_menu_layout":"horizontal","hello_footer_logo_type":"logo"},"post":{"id":20149,"title":"8MP%204K%20HiLook%20IPC-T280HAD-LUF%2FSL%20Two%20Way%20Audio%20Dual%20Lens%20180%C2%B0%20Panoramic%20PoE%20ColorVu%20Hybrid%20Light%20IP%20CCTV%20Security%20Camera","excerpt":"Hilook IPC-T280HAD-LUF\/SL 8MP Two Way Audio Dual Lens 180\u00b0 panoramic camera, Smart Hybrid ColorVu, person vehicle detection, IP67.","featuredImage":"https:\/\/discountcctvsupplier.co.uk\/wp-content\/uploads\/2025\/08\/HiLook-IPC-T280HAD-LUF-S-scaled-1024x1024.gif"}};
//# sourceURL=elementor-frontend-js-before
https://discountcctvsupplier.co.uk/wp-content/plugins/elementor/assets/js/frontend.min.js
var ekit_config = {"ajaxurl":"https://discountcctvsupplier.co.uk/wp-admin/admin-ajax.php","nonce":"79dd1c632c"};
//# sourceURL=ekit-core-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/elementskit-lite/widgets/init/assets/js/widgets/core.js
https://discountcctvsupplier.co.uk/wp-content/plugins/elementskit-lite/widgets/init/assets/js/widgets/nav-menu.js
var wcpa_front = {"api_nonce":null,"root":"https://discountcctvsupplier.co.uk/wp-json/wcpa/front/","assets_url":"https://discountcctvsupplier.co.uk/wp-content/plugins/woo-custom-product-addons-pro/assets/","date_format":"F j, Y","time_format":"g:i a","validation_messages":{"uploadPending":"Files are being uploaded.","formError":"Fix the errors shown above","checkCaptcha":"Tick the \"I'm not a robot\" verification","requiredError":"Field is required","allowedCharsError":"Characters %s is not supported","patternError":"Pattern not matching","minlengthError":"Minimum %s characters required","maxlengthError":"Maximum %s characters allowed","minValueError":"Minimum value is %s","maxValueError":"Maximum value is %s","minFieldsError":"Select minimum %s fields","maxFieldsError":"Select maximum %s fields","maxFileCountError":"Maximum %s files allowed","minFileCountError":"Minimum %s files required","maxFileSizeError":"Maximum file size should be %s","minFileSizeError":"Minimum file size should be %s","fileExtensionError":"File type is not supported","quantityRequiredError":"Please enter a valid quantity","otherFieldError":"Other value required","charleftMessage":"%s characters left","validEmailError":"Provide a valid email address","validUrlError":"Provide a valid URL","minQuantityError":"Minimum quantity required is %s","maxQuantityError":"Maximum quantity allowed is %s","groupMinError":"Requires minimum %s","groupMaxError":"Allowed maximum %s","gt_translate_keys":["uploadPending","formError","checkCaptcha","requiredError","allowedCharsError","patternError","minlengthError","maxlengthError","minValueError","maxValueError","minFieldsError","maxFieldsError","maxFileCountError","minFileCountError","maxFileSizeError","minFileSizeError","fileExtensionError","quantityRequiredError","otherFieldError","charleftMessage","validEmailError","validUrlError","minQuantityError","maxQuantityError","groupMinError","groupMaxError"]},"google_map_api":"","reCAPTCHA_site_key":"","recaptcha_v":"v2","ajax_add_to_cart":"","summary_order":["option_price","product_price","fee","discount","total_price"],"change_price_as_quantity":"","show_field_price_x_quantity":"","disable_validation_scroll":"","gallery_update_field":"last_field","update_top_price":"1","datepicker_disableMobile":"","radio_unselect_img":"","strings":{"place_selector_street":"Street Address","place_selector_city":"City","place_selector_state":"State","place_selector_zip":"Zip Code","place_selector_country":"Country","place_selector_latitude":"Latitude","place_selector_longitude":"Longitude","file_button_text":"Choose File","file_placeholder":"{count} Files","file_droppable_action_text":"Browse","file_droppable_desc_text":"or {action} to choose a file","file_upload_completed":"Completed","other":"Other","clearSelection":"Clear Selection","repeater_add":"Add Field","repeater_remove":"Remove Field","file_droppable_text":"Drag and Drop Files Here","to":" to ","gt_translate_keys":["place_selector_street","place_selector_city","place_selector_state","place_selector_zip","place_selector_country","place_selector_latitude","place_selector_longitude","file_button_text","file_placeholder","file_droppable_action_text","file_droppable_desc_text","file_upload_completed","other","clearSelection","repeater_add","repeater_remove","file_droppable_text","to"]},"i18n_view_cart":"View cart","options_price_format":"({price})","wc_price_format":"%1$s%2$s","hide_option_price_zero":"","discount_show_field_price":"1","discount_strike_field_price":"1","discount_strike_summary_price":"1","discount_strike_total_price":"1","responsive_layout":"","product_price_parent_selector":".summary","accordion_open":"first_opened","woo_price_suffix":"","prices_include_tax":"","isAdmin":"","cart_url":"https://discountcctvsupplier.co.uk/cart-2/","is_cart":"","user_roles":["guest"],"google_map_countries":"","init_triggers":["qv_loader_stop","quick_view_pro:load","elementor/popup/show","xt_wooqv-product-loaded","woodmart-quick-view-displayed","porto_init_countdown","woopack.quickview.ajaxload","quick-view-displayed","update_lazyload","riode_load","yith_infs_added_elem","jet-popup/show-event/after-show","etheme_quick_view_content_loaded","wc_backbone_modal_loaded"],"wc_currency_symbol":"\u00a3","wc_thousand_sep":",","wc_price_decimals":"2","price_format":"%1$s%2$s","wc_decimal_sep":".","wc_currency_pos":"left","mc_unit":"1","addons":[],"upload_method":"normal"};
//# sourceURL=wcpa-front-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/woo-custom-product-addons-pro/assets/js/front-end.js
var njt_wa = {"gdprStatus":"","accounts":[{"accountId":23526,"accountName":"CCTV HelpDesk","avatar":"","number":"+447305398061","title":"Hello, Click here...","predefinedText":"","willBeBackText":"I will be back in [njwa_time_work]","dayOffsText":"I will be back soon","isAlwaysAvailable":"ON","daysOfWeekWorking":{"sunday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"monday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"tuesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"wednesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"thursday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"friday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"saturday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]}}}],"options":{"display":{"displayCondition":"showAllPage","includePages":[],"excludePages":[],"includePosts":[],"showOnDesktop":"ON","showOnMobile":"ON","time_symbols":"h:m"},"styles":{"title":"Start a Conversation","responseText":"The team typically replies in a few minutes.","description":"Hi! Click one of our member below to chat on \u003Cstrong\u003EWhatsApp\u003C/strong\u003E","backgroundColor":"#2db742","textColor":"#fff","titleSize":"18","accountNameSize":"14","descriptionTextSize":"12","regularTextSize":"11","scrollHeight":"500","isShowScroll":"OFF","isShowResponseText":"OFF","btnLabel":"Need Help?","btnLabelWidth":"95","btnPosition":"right","btnLeftDistance":"30","btnRightDistance":"30","btnBottomDistance":"30","isShowBtnLabel":"ON","isShowGDPR":"OFF","gdprContent":"Please accept our \u003Ca href=\"https://ninjateam.org/privacy-policy/\"\u003Eprivacy policy\u003C/a\u003E first to start a conversation."},"analytics":{"enabledGoogle":"OFF","enabledFacebook":"OFF","enabledGoogleGA4":"OFF"}}};
//# sourceURL=nta-js-popup-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/wp-whatsapp/assets/js/whatsapp-popup.js
var glaGtagData = {"currency_minor_unit":"2","products":{"20149":{"name":"8MP 4K HiLook IPC-T280HAD-LUF/SL Two Way Audio Dual Lens 180\u00b0 Panoramic PoE ColorVu Hybrid Light IP CCTV Security Camera","price":84}}};
//# sourceURL=gla-gtag-events-js-extra
https://discountcctvsupplier.co.uk/wp-content/plugins/google-listings-and-ads/js/build/gtag-events.js
jQuery(document).ready(function () {
if (typeof wp !== "undefined" && wp.hooks) {
wp.hooks.addAction('wcpa_fields_updated', 'wcpa', function (price, _fieldData) {
let ele = document.querySelector('.summary .price');
if(ele){
let totalPrice_exc_tax_fixed = parseFloat(price.totalPrice_exc_tax).toFixed(2);
let totalPrice_inc_tax_fixed = parseFloat(price.totalPrice_inc_tax).toFixed(2);
let code = '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">£</span>'+totalPrice_exc_tax_fixed+'</bdi></span> <small style="font-size: 12px;">ex. VAT</small> - <span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">£</span>'+totalPrice_inc_tax_fixed+'</bdi></span> <small style="font-size: 12px;">inc. VAT</small>';
ele.innerHTML = code;
}
})
}
});
jQuery(document).ready(function($) {
var wt_related_products = jQuery('.wt-related-products .owl-carousel');if ("function" === typeof wt_related_products.owlCarousel) {
wt_related_products.owlCarousel({
loop: false,
margin: 10,
nav: true,
navText: [
"<i class='dashicons dashicons-arrow-left-alt2 wt-left'></i>",
"<i class='dashicons dashicons-arrow-right-alt2 wt-right'></i>"
],
//autoplay: true,
autoplayHoverPause: true,
responsive: {
0: {
items: 1 },
600: {
items: 2 },
1000: {
items: 6 }
}
});
}
jQuery(".wt-related-products>.carousel-wrap>.owl-carousel>.owl-stage-outer>.owl-stage>.owl-item>div[class*='col-']").removeClass (function (index, css) {
return (css.match (/(^|\s)col-\S+/g) || []).join(' ');
});
/* Theme compatability for hover effect*/
});