PageSourceSearch

https://estateagencyx.co.uk/theme6/js/vendor/jarallax-video.min.js

js estateagencyx.co.uk collected 2026-10-02 16:09:29 UTC 25,273 bytes, 670 lines download raw bytes

1/*!
2 * Video Extension for Jarallax v2.0.4 (https://github.com/nk-o/jarallax)
3 * Copyright 2022 nK <https://nkdev.info>
4 * Licensed under MIT (https://github.com/nk-o/jarallax/blob/master/LICENSE)
5 */
6!(function (e, t) {
7  'object' == typeof exports && 'undefined' != typeof module
8    ? (module.exports = t())
9    : 'function' == typeof define && define.amd
10      ? define(t)
11      : ((e = 'undefined' != typeof globalThis ? globalThis : e || self).jarallaxVideo = t());
12})(this, function () {
13  'use strict';
14  /*!
15   * Name    : Video Worker
16   * Version : 2.0.0
17   * Author  : nK <https://nkdev.info>
18   * GitHub  : https://github.com/nk-o/video-worker
19   */ let e;
20  e =
21    'undefined' != typeof window
22      ? window
23      : 'undefined' != typeof global
24        ? global
25        : 'undefined' != typeof self
26          ? self
27          : {};
28  var t = e;
29  function o() {
30    (this.doneCallbacks = []), (this.failCallbacks = []);
31  }
32  o.prototype = {
33    execute(e, t) {
34      let o = e.length;
35      for (t = Array.prototype.slice.call(t); o; ) (o -= 1), e[o].apply(null, t);
36    },
37    resolve(...e) {
38      this.execute(this.doneCallbacks, e);
39    },
40    reject(...e) {
41      this.execute(this.failCallbacks, e);
42    },
43    done(e) {
44      this.doneCallbacks.push(e);
45    },
46    fail(e) {
47      this.failCallbacks.push(e);
48    },
49  };
50  let i = 0,
51    a = 0,
52    n = 0,
53    s = 0,
54    l = 0;
55  const r = new o(),
56    p = new o();
57  class d {
58    constructor(e, t) {
59      const o = this;
60      (o.url = e),
61        (o.options_default = {
62          autoplay: !1,
63          loop: !1,
64          mute: !1,
65          volume: 100,
66          showControls: !0,
67          accessibilityHidden: !1,
68          startTime: 0,
69          endTime: 0,
70        }),
71        (o.options = o.extend({}, o.options_default, t)),
72        void 0 !== o.options.showContols &&
73          ((o.options.showControls = o.options.showContols), delete o.options.showContols),
74        (o.videoID = o.parseURL(e)),
75        o.videoID && ((o.ID = i), (i += 1), o.loadAPI(), o.init());
76    }
77    extend(...e) {
78      const t = e[0] || {};
79      return (
80        Object.keys(e).forEach((o) => {
81          e[o] &&
82            Object.keys(e[o]).forEach((i) => {
83              t[i] = e[o][i];
84            });
85        }),
86        t
87      );
88    }
89    parseURL(e) {
90      const t = (function (e) {
91          const t = e.match(/.*(?:youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=)([^#\&\?]*).*/);
92          return !(!t || 11 !== t[1].length) && t[1];
93        })(e),
94        o = (function (e) {
95          const t = e.match(
96            /https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)/,
97          );
98          return !(!t || !t[3]) && t[3];
99        })(e),
100        i = (function (e) {
101          const t = e.split(/,(?=mp4\:|webm\:|ogv\:|ogg\:)/),
102            o = {};
103          let i = 0;
104          return (
105            t.forEach((e) => {
106              const t = e.match(/^(mp4|webm|ogv|ogg)\:(.*)/);
107              t && t[1] && t[2] && ((o['ogv' === t[1] ? 'ogg' : t[1]] = t[2]), (i = 1));
108            }),
109            !!i && o
110          );
111        })(e);
112      return t ? ((this.type = 'youtube'), t) : o ? ((this.type = 'vimeo'), o) : !!i && ((this.type = 'local'), i);
113    }
114    isValid() {
115      return !!this.videoID;
116    }
117    on(e, t) {
118      (this.userEventsList = this.userEventsList || []),
119        (this.userEventsList[e] || (this.userEventsList[e] = [])).push(t);
120    }
121    off(e, t) {
122      this.userEventsList &&
123        this.userEventsList[e] &&
124        (t
125          ? this.userEventsList[e].forEach((o, i) => {
126              o === t && (this.userEventsList[e][i] = !1);
127            })
128          : delete this.userEventsList[e]);
129    }
130    fire(e, ...t) {
131      this.userEventsList &&
132        void 0 !== this.userEventsList[e] &&
133        this.userEventsList[e].forEach((e) => {
134          e && e.apply(this, t);
135        });
136    }
137    play(e) {
138      const o = this;
139      o.player &&
140        ('youtube' === o.type &&
141          o.player.playVideo &&
142          (void 0 !== e && o.player.seekTo(e || 0),
143          t.YT.PlayerState.PLAYING !== o.player.getPlayerState() && o.player.playVideo()),
144        'vimeo' === o.type &&
145          (void 0 !== e && o.player.setCurrentTime(e),
146          o.player.getPaused().then((e) => {
147            e && o.player.play();
148          })),
149        'local' === o.type && (void 0 !== e && (o.player.currentTime = e), o.player.paused && o.player.play()));
150    }
151    pause() {
152      const e = this;
153      e.player &&
154        ('youtube' === e.type &&
155          e.player.pauseVideo &&
156          t.YT.PlayerState.PLAYING === e.player.getPlayerState() &&
157          e.player.pauseVideo(),
158        'vimeo' === e.type &&
159          e.player.getPaused().then((t) => {
160            t || e.player.pause();
161          }),
162        'local' === e.type && (e.player.paused || e.player.pause()));
163    }
164    mute() {
165      const e = this;
166      e.player &&
167        ('youtube' === e.type && e.player.mute && e.player.mute(),
168        'vimeo' === e.type && e.player.setVolume && e.player.setVolume(0),
169        'local' === e.type && (e.$video.muted = !0));
170    }
171    unmute() {
172      const e = this;
173      e.player &&
174        ('youtube' === e.type && e.player.mute && e.player.unMute(),
175        'vimeo' === e.type && e.player.setVolume && e.player.setVolume(e.options.volume),
176        'local' === e.type && (e.$video.muted = !1));
177    }
178    setVolume(e = !1) {
179      const t = this;
180      t.player &&
181        e &&
182        ('youtube' === t.type && t.player.setVolume && t.player.setVolume(e),
183        'vimeo' === t.type && t.player.setVolume && t.player.setVolume(e),
184        'local' === t.type && (t.$video.volume = e / 100));
185    }
186    getVolume(e) {
187      const t = this;
188      t.player
189        ? ('youtube' === t.type && t.player.getVolume && e(t.player.getVolume()),
190          'vimeo' === t.type &&
191            t.player.getVolume &&
192            t.player.getVolume().then((t) => {
193              e(t);
194            }),
195          'local' === t.type && e(100 * t.$video.volume))
196        : e(!1);
197    }
198    getMuted(e) {
199      const t = this;
200      t.player
201        ? ('youtube' === t.type && t.player.isMuted && e(t.player.isMuted()),
202          'vimeo' === t.type &&
203            t.player.getVolume &&
204            t.player.getVolume().then((t) => {
205              e(!!t);
206            }),
207          'local' === t.type && e(t.$video.muted))
208        : e(null);
209    }
210    getImageURL(e) {
211      const t = this;
212      if (t.videoImage) e(t.videoImage);
213      else {
214        if ('youtube' === t.type) {
215          const o = ['maxresdefault', 'sddefault', 'hqdefault', '0'];
216          let i = 0;
217          const a = new Image();
218          (a.onload = function () {
219            120 !== (this.naturalWidth || this.width) || i === o.length - 1
220              ? ((t.videoImage = `https://img.youtube.com/vi/${t.videoID}/${o[i]}.jpg`), e(t.videoImage))
221              : ((i += 1), (this.src = `https://img.youtube.com/vi/${t.videoID}/${o[i]}.jpg`));
222          }),
223            (a.src = `https://img.youtube.com/vi/${t.videoID}/${o[i]}.jpg`);
224        }
225        if ('vimeo' === t.type) {
226          let o = new XMLHttpRequest();
227          o.open('GET', `https://vimeo.com/api/oembed.json?url=${t.url}`, !0),
228            (o.onreadystatechange = function () {
229              if (4 === this.readyState && this.status >= 200 && this.status < 400) {
230                const o = JSON.parse(this.responseText);
231                o.thumbnail_url && ((t.videoImage = o.thumbnail_url), e(t.videoImage));
232              }
233            }),
234            o.send(),
235            (o = null);
236        }
237      }
238    }
239    getIframe(e) {
240      this.getVideo(e);
241    }
242    getVideo(e) {
243      const o = this;
244      o.$video
245        ? e(o.$video)
246        : o.onAPIready(() => {
247            let i;
248            if ((o.$video || ((i = document.createElement('div')), (i.style.display = 'none')), 'youtube' === o.type)) {
249              let e, a;
250              (o.playerOptions = {
251                host: 'https://www.youtube-nocookie.com',
252                videoId: o.videoID,
253                playerVars: { autohide: 1, rel: 0, autoplay: 0, playsinline: 1 },
254              }),
255                o.options.showControls ||
256                  ((o.playerOptions.playerVars.iv_load_policy = 3),
257                  (o.playerOptions.playerVars.modestbranding = 1),
258                  (o.playerOptions.playerVars.controls = 0),
259                  (o.playerOptions.playerVars.showinfo = 0),
260                  (o.playerOptions.playerVars.disablekb = 1)),
261                (o.playerOptions.events = {
262                  onReady(e) {
263                    if (
264                      (o.options.mute ? e.target.mute() : o.options.volume && e.target.setVolume(o.options.volume),
265                      o.options.autoplay && o.play(o.options.startTime),
266                      o.fire('ready', e),
267                      o.options.loop && !o.options.endTime)
268                    ) {
269                      const e = 0.1;
270                      o.options.endTime = o.player.getDuration() - e;
271                    }
272                    setInterval(() => {
273                      o.getVolume((t) => {
274                        o.options.volume !== t && ((o.options.volume = t), o.fire('volumechange', e));
275                      });
276                    }, 150);
277                  },
278                  onStateChange(i) {
279                    o.options.loop && i.data === t.YT.PlayerState.ENDED && o.play(o.options.startTime),
280                      e || i.data !== t.YT.PlayerState.PLAYING || ((e = 1), o.fire('started', i)),
281                      i.data === t.YT.PlayerState.PLAYING && o.fire('play', i),
282                      i.data === t.YT.PlayerState.PAUSED && o.fire('pause', i),
283                      i.data === t.YT.PlayerState.ENDED && o.fire('ended', i),
284                      i.data === t.YT.PlayerState.PLAYING
285                        ? (a = setInterval(() => {
286                            o.fire('timeupdate', i),
287                              o.options.endTime &&
288                                o.player.getCurrentTime() >= o.options.endTime &&
289                                (o.options.loop ? o.play(o.options.startTime) : o.pause());
290                          }, 150))
291                        : clearInterval(a);
292                  },
293                  onError(e) {
294                    o.fire('error', e);
295                  },
296                });
297              const n = !o.$video;
298              if (n) {
299                const e = document.createElement('div');
300                e.setAttribute('id', o.playerID), i.appendChild(e), document.body.appendChild(i);
301              }
302              (o.player = o.player || new t.YT.Player(o.playerID, o.playerOptions)),
303                n &&
304                  ((o.$video = document.getElementById(o.playerID)),
305                  o.options.accessibilityHidden &&
306                    (o.$video.setAttribute('tabindex', '-1'), o.$video.setAttribute('aria-hidden', 'true')),
307                  (o.videoWidth = parseInt(o.$video.getAttribute('width'), 10) || 1280),
308                  (o.videoHeight = parseInt(o.$video.getAttribute('height'), 10) || 720));
309            }
310            if ('vimeo' === o.type) {
311              if (
312                ((o.playerOptions = {
313                  dnt: 1,
314                  id: o.videoID,
315                  autopause: 0,
316                  transparent: 0,
317                  autoplay: o.options.autoplay ? 1 : 0,
318                  loop: o.options.loop ? 1 : 0,
319                  muted: o.options.mute ? 1 : 0,
320                }),
321                o.options.volume && (o.playerOptions.volume = o.options.volume),
322                o.options.showControls ||
323                  ((o.playerOptions.badge = 0),
324                  (o.playerOptions.byline = 0),
325                  (o.playerOptions.portrait = 0),
326                  (o.playerOptions.title = 0),
327                  (o.playerOptions.background = 1)),
328                !o.$video)
329              ) {
330                let e = '';
331                Object.keys(o.playerOptions).forEach((t) => {
332                  '' !== e && (e += '&'), (e += `${t}=${encodeURIComponent(o.playerOptions[t])}`);
333                }),
334                  (o.$video = document.createElement('iframe')),
335                  o.$video.setAttribute('id', o.playerID),
336                  o.$video.setAttribute('src', `https://player.vimeo.com/video/${o.videoID}?${e}`),
337                  o.$video.setAttribute('frameborder', '0'),
338                  o.$video.setAttribute('mozallowfullscreen', ''),
339                  o.$video.setAttribute('allowfullscreen', ''),
340                  o.$video.setAttribute('title', 'Vimeo video player'),
341                  o.options.accessibilityHidden &&
342                    (o.$video.setAttribute('tabindex', '-1'), o.$video.setAttribute('aria-hidden', 'true')),
343                  i.appendChild(o.$video),
344                  document.body.appendChild(i);
345              }
346              let e;
347              (o.player = o.player || new t.Vimeo.Player(o.$video, o.playerOptions)),
348                o.options.startTime && o.options.autoplay && o.player.setCurrentTime(o.options.startTime),
349                o.player.getVideoWidth().then((e) => {
350                  o.videoWidth = e || 1280;
351                }),
352                o.player.getVideoHeight().then((e) => {
353                  o.videoHeight = e || 720;
354                }),
355                o.player.on('timeupdate', (t) => {
356                  e || (o.fire('started', t), (e = 1)),
357                    o.fire('timeupdate', t),
358                    o.options.endTime &&
359                      o.options.endTime &&
360                      t.seconds >= o.options.endTime &&
361                      (o.options.loop ? o.play(o.options.startTime) : o.pause());
362                }),
363                o.player.on('play', (e) => {
364                  o.fire('play', e), o.options.startTime && 0 === e.seconds && o.play(o.options.startTime);
365                }),
366                o.player.on('pause', (e) => {
367                  o.fire('pause', e);
368                }),
369                o.player.on('ended', (e) => {
370                  o.fire('ended', e);
371                }),
372                o.player.on('loaded', (e) => {
373                  o.fire('ready', e);
374                }),
375                o.player.on('volumechange', (e) => {
376                  o.fire('volumechange', e);
377                }),
378                o.player.on('error', (e) => {
379                  o.fire('error', e);
380                });
381            }
382            if ('local' === o.type) {
383              let e;
384              o.$video ||
385                ((o.$video = document.createElement('video')),
386                o.options.showControls && (o.$video.controls = !0),
387                o.options.mute ? (o.$video.muted = !0) : o.$video.volume && (o.$video.volume = o.options.volume / 100),
388                o.options.loop && (o.$video.loop = !0),
389                o.$video.setAttribute('playsinline', ''),
390                o.$video.setAttribute('webkit-playsinline', ''),
391                o.options.accessibilityHidden &&
392                  (o.$video.setAttribute('tabindex', '-1'), o.$video.setAttribute('aria-hidden', 'true')),
393                o.$video.setAttribute('id', o.playerID),
394                i.appendChild(o.$video),
395                document.body.appendChild(i),
396                Object.keys(o.videoID).forEach((e) => {
397                  !(function (e, t, o) {
398                    const i = document.createElement('source');
399                    (i.src = t), (i.type = o), e.appendChild(i);
400                  })(o.$video, o.videoID[e], `video/${e}`);
401                })),
402                (o.player = o.player || o.$video),
403                o.player.addEventListener('playing', (t) => {
404                  e || o.fire('started', t), (e = 1);
405                }),
406                o.player.addEventListener('timeupdate', function (e) {
407                  o.fire('timeupdate', e),
408                    o.options.endTime &&
409                      o.options.endTime &&
410                      this.currentTime >= o.options.endTime &&
411                      (o.options.loop ? o.play(o.options.startTime) : o.pause());
412                }),
413                o.player.addEventListener('play', (e) => {
414                  o.fire('play', e);
415                }),
416                o.player.addEventListener('pause', (e) => {
417                  o.fire('pause', e);
418                }),
419                o.player.addEventListener('ended', (e) => {
420                  o.fire('ended', e);
421                }),
422                o.player.addEventListener('loadedmetadata', function () {
423                  (o.videoWidth = this.videoWidth || 1280),
424                    (o.videoHeight = this.videoHeight || 720),
425                    o.fire('ready'),
426                    o.options.autoplay && o.play(o.options.startTime);
427                }),
428                o.player.addEventListener('volumechange', (e) => {
429                  o.getVolume((e) => {
430                    o.options.volume = e;
431                  }),
432                    o.fire('volumechange', e);
433                }),
434                o.player.addEventListener('error', (e) => {
435                  o.fire('error', e);
436                });
437            }
438            e(o.$video);
439          });
440    }
441    init() {
442      this.playerID = `VideoWorker-${this.ID}`;
443    }
444    loadAPI() {
445      if (a && n) return;
446      let e = '';
447      if (
448        ('youtube' !== this.type || a || ((a = 1), (e = 'https://www.youtube.com/iframe_api')),
449        'vimeo' === this.type && !n)
450      ) {
451        if (((n = 1), void 0 !== t.Vimeo)) return;
452        e = 'https://player.vimeo.com/api/player.js';
453      }
454      if (!e) return;
455      let o = document.createElement('script'),
456        i = document.getElementsByTagName('head')[0];
457      (o.src = e), i.appendChild(o), (i = null), (o = null);
458    }
459    onAPIready(e) {
460      const o = this;
461      if (
462        ('youtube' === o.type &&
463          ((void 0 !== t.YT && 0 !== t.YT.loaded) || s
464            ? 'object' == typeof t.YT && 1 === t.YT.loaded
465              ? e()
466              : r.done(() => {
467                  e();
468                })
469            : ((s = 1),
470              (t.onYouTubeIframeAPIReady = function () {
471                (t.onYouTubeIframeAPIReady = null), r.resolve('done'), e();
472              }))),
473        'vimeo' === o.type)
474      )
475        if (void 0 !== t.Vimeo || l)
476          void 0 !== t.Vimeo
477            ? e()
478            : p.done(() => {
479                e();
480              });
481        else {
482          l = 1;
483          const o = setInterval(() => {
484            void 0 !== t.Vimeo && (clearInterval(o), p.resolve('done'), e());
485          }, 20);
486        }
487      'local' === o.type && e();
488    }
489  }
490  let u;
491  u =
492    'undefined' != typeof window
493      ? window
494      : 'undefined' != typeof global
495        ? global
496        : 'undefined' != typeof self
497          ? self
498          : {};
499  var y,
500    m = u;
501  function c(e = m.jarallax) {
502    if (void 0 === e) return;
503    const t = e.constructor,
504      o = t.prototype.onScroll;
505    t.prototype.onScroll = function () {
506      const e = this;
507      o.apply(e);
508      !e.isVideoInserted &&
509        e.video &&
510        (!e.options.videoLazyLoading || e.isElementInViewport) &&
511        !e.options.disableVideo() &&
512        ((e.isVideoInserted = !0),
513        e.video.getVideo((t) => {
514          const o = t.parentNode;
515          e.css(t, {
516            position: e.image.position,
517            top: '0px',
518            left: '0px',
519            right: '0px',
520            bottom: '0px',
521            width: '100%',
522            height: '100%',
523            maxWidth: 'none',
524            maxHeight: 'none',
525            pointerEvents: 'none',
526            transformStyle: 'preserve-3d',
527            backfaceVisibility: 'hidden',
528            margin: 0,
529            zIndex: -1,
530          }),
531            (e.$video = t),
532            'local' === e.video.type &&
533              (e.image.src
534                ? e.$video.setAttribute('poster', e.image.src)
535                : e.image.$item &&
536                  'IMG' === e.image.$item.tagName &&
537                  e.image.$item.src &&
538                  e.$video.setAttribute('poster', e.image.$item.src)),
539            e.image.$container.appendChild(t),
540            o.parentNode.removeChild(o),
541            e.options.onVideoInsert && e.options.onVideoInsert.call(e);
542        }));
543    };
544    const i = t.prototype.coverImage;
545    t.prototype.coverImage = function () {
546      const e = this,
547        t = i.apply(e),
548        o = !!e.image.$item && e.image.$item.nodeName;
549      if (t && e.video && o && ('IFRAME' === o || 'VIDEO' === o)) {
550        let i = t.image.height,
551          a = (i * e.image.width) / e.image.height,
552          n = (t.container.width - a) / 2,
553          s = t.image.marginTop;
554        t.container.width > a &&
555          ((a = t.container.width),
556          (i = (a * e.image.height) / e.image.width),
557          (n = 0),
558          (s += (t.image.height - i) / 2)),
559          'IFRAME' === o && ((i += 400), (s -= 200)),
560          e.css(e.$video, { width: `${a}px`, marginLeft: `${n}px`, height: `${i}px`, marginTop: `${s}px` });
561      }
562      return t;
563    };
564    const a = t.prototype.initImg;
565    t.prototype.initImg = function () {
566      const e = this,
567        t = a.apply(e);
568      return (
569        e.options.videoSrc || (e.options.videoSrc = e.$item.getAttribute('data-jarallax-video') || null),
570        e.options.videoSrc ? ((e.defaultInitImgResult = t), !0) : t
571      );
572    };
573    const n = t.prototype.canInitParallax;
574    t.prototype.canInitParallax = function () {
575      const e = this;
576      let t = n.apply(e);
577      if (!e.options.videoSrc) return t;
578      const o = new d(e.options.videoSrc, {
579        autoplay: !0,
580        loop: e.options.videoLoop,
581        showControls: !1,
582        accessibilityHidden: !0,
583        startTime: e.options.videoStartTime || 0,
584        endTime: e.options.videoEndTime || 0,
585        mute: e.options.videoVolume ? 0 : 1,
586        volume: e.options.videoVolume || 0,
587      });
588      function i() {
589        e.image.$default_item &&
590          ((e.image.$item = e.image.$default_item),
591          (e.image.$item.style.display = 'block'),
592          e.coverImage(),
593          e.onScroll());
594      }
595      if ((e.options.onVideoWorkerInit && e.options.onVideoWorkerInit.call(e, o), o.isValid()))
596        if (
597          (this.options.disableParallax() &&
598            ((t = !0), (e.image.position = 'absolute'), (e.options.type = 'scroll'), (e.options.speed = 1)),
599          t)
600        ) {
601          if (
602            (o.on('ready', () => {
603              if (e.options.videoPlayOnlyVisible) {
604                const t = e.onScroll;
605                e.onScroll = function () {
606                  t.apply(e),
607                    e.videoError ||
608                      (!e.options.videoLoop && (e.options.videoLoop || e.videoEnded)) ||
609                      (e.isVisible() ? o.play() : o.pause());
610                };
611              } else o.play();
612            }),
613            o.on('started', () => {
614              (e.image.$default_item = e.image.$item),
615                (e.image.$item = e.$video),
616                (e.image.width = e.video.videoWidth || 1280),
617                (e.image.height = e.video.videoHeight || 720),
618                e.coverImage(),
619                e.onScroll(),
620                e.image.$default_item && (e.image.$default_item.style.display = 'none');
621            }),
622            o.on('ended', () => {
623              (e.videoEnded = !0), e.options.videoLoop || i();
624            }),
625            o.on('error', () => {
626              (e.videoError = !0), i();
627            }),
628            (e.video = o),
629            !e.defaultInitImgResult &&
630              ((e.image.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'),
631              'local' !== o.type))
632          )
633            return (
634              o.getImageURL((t) => {
635                (e.image.bgImage = `url("${t}")`), e.init();
636              }),
637              !1
638            );
639        } else
640          e.defaultInitImgResult ||
641            o.getImageURL((t) => {
642              const o = e.$item.getAttribute('style');
643              o && e.$item.setAttribute('data-jarallax-original-styles', o),
644                e.css(e.$item, {
645                  'background-image': `url("${t}")`,
646                  'background-position': 'center',
647                  'background-size': 'cover',
648                });
649            });
650      return t;
651    };
652    const s = t.prototype.destroy;
653    t.prototype.destroy = function () {
654      const e = this;
655      e.image.$default_item && ((e.image.$item = e.image.$default_item), delete e.image.$default_item), s.apply(e);
656    };
657  }
658  return (
659    c(),
660    (y = () => {
661      void 0 !== m.jarallax && m.jarallax(document.querySelectorAll('[data-jarallax-video]'));
662    }),
663    'complete' === document.readyState || 'interactive' === document.readyState
664      ? y()
665      : document.addEventListener('DOMContentLoaded', y, { capture: !0, once: !0, passive: !0 }),
666    m.VideoWorker || (m.VideoWorker = d),
667    c
668  );
669});
670//# sourceMappingURL=jarallax-video.min.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.