/*! elementor-pro - v3.30.0 - 22-07-2025 */
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "../modules/page-transitions/assets/js/frontend/components/index.js":
/*!**************************************************************************!*\
!*** ../modules/page-transitions/assets/js/frontend/components/index.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "PageTransition", ({
enumerable: true,
get: function () {
return _pageTransition.PageTransition;
}
}));
Object.defineProperty(exports, "Preloader", ({
enumerable: true,
get: function () {
return _preloader.Preloader;
}
}));
var _pageTransition = __webpack_require__(/*! ./page-transition/page-transition */ "../modules/page-transitions/assets/js/frontend/components/page-transition/page-transition.js");
var _preloader = __webpack_require__(/*! ./preloader/preloader */ "../modules/page-transitions/assets/js/frontend/components/preloader/preloader.js");
/***/ }),
/***/ "../modules/page-transitions/assets/js/frontend/components/page-transition/filters.js":
/*!********************************************************************************************!*\
!*** ../modules/page-transitions/assets/js/frontend/components/page-transition/filters.js ***!
\********************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
// Ref: https://stackoverflow.com/questions/26088849/url-fragment-allowed-characters
const urlFragmentPattern = /.*#[\w\-/$.+()*@?~!&',;=:%]*$/;
var _default = exports["default"] = {
// Disable using data attribute.
isDisabled: a => Object.prototype.hasOwnProperty.call(a.dataset, 'eDisablePageTransition'),
// Allow only links from same origin and without a URL fragment (e.g. #some-string).
isEmptyHref: a => !a.getAttribute('href'),
isTargetBlank: a => '_blank' === a.target,
notSameOrigin: a => !a.href.startsWith(window.location.origin),
hasFragment: a => !!a.href.match(urlFragmentPattern),
// Internal page links, popups, etc.
// Disable for popup links / menu toggles, only when they are closed (to allow opening).
isPopup: a => 'true' === a.getAttribute('aria-haspopup') && 'false' === a.getAttribute('aria-expanded'),
// Disable in WooCommerce links.
isWoocommerce: a => {
const isAddToCart = a.href.match(/\?add-to-cart=/),
isRemoveFromCart = a.href.match(/\?remove_item=/),
isRestoreToCart = a.href.match(/\?undo_item=/),
isWoocommercePagination = a.href.match(/\?product-page=/),
isWoocommerceLogout = a.href.match(/\?elementor_wc_logout=/),
isWoocommerceTab = a.parentElement?.classList.contains('woocommerce-MyAccount-navigation-link');
return isAddToCart || isRemoveFromCart || isRestoreToCart || isWoocommercePagination || isWoocommerceLogout || isWoocommerceTab;
},
// Custom regex filter from attributes.
isExcluded: (a, exclude) => a.href.match(new RegExp(exclude))
};
/***/ }),
/***/ "../modules/page-transitions/assets/js/frontend/components/page-transition/page-transition.js":
/*!****************************************************************************************************!*\
!*** ../modules/page-transitions/assets/js/frontend/components/page-transition/page-transition.js ***!
\****************************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.PageTransition = void 0;
var _pageTransitionComponent = _interopRequireDefault(__webpack_require__(/*! ./page-transition.component.scss */ "../modules/page-transitions/assets/js/frontend/components/page-transition/page-transition.component.scss"));
var _filters = _interopRequireDefault(__webpack_require__(/*! ./filters */ "../modules/page-transitions/assets/js/frontend/components/page-transition/filters.js"));
class PageTransition extends HTMLElement {
/**
* Initialize the Page Transitions element.
*
* @return {void}
*/
constructor() {
super();
this.classes = this.getClasses();
this.elements = this.getElements();
this.bindEvents();
}
/**
* Get a list of classes that are used in the code.
*
* @return {Object} - List of classes.
*/
getClasses() {
return {
preloader: 'e-page-transition--preloader',
entering: 'e-page-transition--entering',
exiting: 'e-page-transition--exiting',
entered: 'e-page-transition--entered',
preview: 'e-page-transition--preview'
};
}
/**
* Get the Page Transition CSS.
*
* @return {string} - CSS code.
*/
getStyle() {
return ``;
}
/**
* A list of attributes to observe for changes.
*
* @return {string[]} - Attributes to observe.
*/
static get observedAttributes() {
return ['preloader-type', 'preloader-icon', 'preloader-image-url', 'preloader-animation-type', 'disabled'];
}
/**
* Get the Page Transitions elements.
*
* @return {Object} - Elements.
*/
getElements() {
const triggers = this.getAttribute('triggers'),
selector = triggers || 'a:not( [data-elementor-open-lightbox="yes"] )';
return {
links: document.querySelectorAll(selector)
};
}
/**
* Determine if a link should trigger a Page Transition effect.
*
* @param {HTMLAnchorElement} a - The anchor element to check.
* @return {boolean} - Whether the given link should activate the Page Transition.
*/
shouldPageTriggerTransition(a) {
return Object.values(_filters.default).every(shouldDisable => !shouldDisable(a, this.getAttribute('exclude')));
}
/**
* Hide the loader on page show.
*
* @return {void}
*/
onPageShow() {
// To disable animation on back / forward click.
if (this.classList.contains(this.classes.exiting)) {
this.classList.add(this.classes.entered);
this.classList.remove(this.classes.exiting);
}
// Animate the loader on page load.
this.animateState('entering').then(() => {
this.classList.add(this.classes.entered);
});
}
/**
* Trigger the Page Transition on link click.
*
* @param {MouseEvent} e - The click Event.
* @return {void}
*/
onLinkClick(e) {
if (!this.shouldPageTriggerTransition(e.currentTarget)) {
return;
}
e.preventDefault();
const href = e.currentTarget.href;
this.classList.remove(this.classes.entered);
this.animateState('exiting', this.getPreloaderDelay()).then(() => {
this.classList.add(this.classes.exiting);
// Redirect the user to the clicked href only after the Page Transition has entered.
location.href = href;
});
}
/**
* Prerender a webpage using `rel=prerender`.
*
* @param {string} href
* @return {void}
*/
prerender(href) {
if (document.querySelector(`link[href="${href}"]`)) {
return;
}
const link = document.createElement('link');
link.setAttribute('rel', 'prerender');
link.setAttribute('href', href);
document.head.appendChild(link);
}
/**
* Trigger a `prerender` on link mouse enter.
*
* @param {MouseEvent} e
* @return {void}
*/
onLinkMouseEnter(e) {
if (!this.shouldPageTriggerTransition(e.currentTarget)) {
return;
}
this.prerender(e.currentTarget.href);
}
/**
* Bind events to the window & links.
*
* @return {void}
*/
bindEvents() {
window.addEventListener('pageshow', this.onPageShow.bind(this));
window.addEventListener('DOMContentLoaded', () => {
this.elements = this.getElements();
this.elements.links.forEach(a => {
a.addEventListener('click', this.onLinkClick.bind(this));
a.addEventListener('mouseenter', this.onLinkMouseEnter.bind(this));
a.addEventListener('touchstart', this.onLinkMouseEnter.bind(this));
});
});
}
/**
* Escape HTML special chars to prevent XSS.
*
* @param {string} str - String to escape.
*
* @return {string} escaped string
*/
escapeHTML(str) {
const specialChars = {
'&': '&',
'<': '<',
'>': '>',
"'": ''',
'"': '"'
};
return str.replace(/[&<>'"]/g, tag => specialChars[tag] || tag);
}
/**
* Retrieve an icon loader HTML markup.
*
* @return {string} - HTML markup.
*/
getIconLoader() {
const icon = this.getAttribute('preloader-icon') || '';
return `
`;
}
/**
* Retrieve an image loader HTML markup.
*
* @return {string} - HTML markup.
*/
getImageLoader() {
const url = this.getAttribute('preloader-image-url') || '';
return `
`;
}
/**
* Retrieve a custom loader HTML markup.
*
* @return {string} - HTML markup.
*/
getAnimationLoader() {
const type = this.getAttribute('preloader-animation-type');
if (!type) {
return '';
}
return `
`;
}
/**
* Render the Page Transition element.
*
* @return {void}
*/
render() {
// Don't render when the Page Transition is disabled.
if (this.hasAttribute('disabled')) {
this.innerHTML = '';
return;
}
const loaderType = this.getAttribute('preloader-type');
switch (loaderType) {
case 'icon':
this.innerHTML = this.getIconLoader();
break;
case 'image':
this.innerHTML = this.getImageLoader();
break;
case 'animation':
this.innerHTML = this.getAnimationLoader();
break;
default:
this.innerHTML = '';
break;
}
this.innerHTML += this.getStyle();
}
/**
* Get a CSS variable value from the current element's context.
*
* @param {string} variable - Variable name.
* @param {string} prefix - Variable prefix, defaults to `e-page-transition`.
* @return {string} - CSS variable value.
*/
getCssVar(variable) {
let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'e-page-transition-';
return window.getComputedStyle(this).getPropertyValue(`--${prefix}${variable}`);
}
/**
* Get the animation duration as an integer in order to be used inside a `setTimeout`.
*
* Assumes that all of the timings are in `ms`.
*
* @return {number} - Animation duration.
*/
getAnimationDuration() {
return parseInt(this.getCssVar('animation-duration')) || 0;
}
/**
* Get the preloader delay.
*
* Assumes that all of the timings are in `ms`.
*
* @return {number} - Preloader delay.
*/
getPreloaderDelay() {
return parseInt(this.getCssVar('delay', 'e-preloader-')) || 0;
}
/**
* Start the animate sequence of the Page Transition (enter && exit).
*
* @return {Promise} - Animation sequence Promise.
*/
animate() {
// Don't animate if there is already an animation in progress.
if (this.isAnimating) {
return new Promise((resolve, reject) => {
reject('Animation is already in progress.');
});
}
this.isAnimating = true;
// Delay the exit animation so the user will be able to see the loader for a second.
const delay = this.getPreloaderDelay() + 1500;
this.classList.remove(this.classes.entered);
return new Promise(resolve => {
// Defer to make sure that the `entered` class is fully removed before animating.
// Return a Promise for animations chaining.
setTimeout(() => {
this.animateState('exiting', delay).then(() => {
this.animateState('entering').then(() => {
this.classList.add(this.classes.entered);
this.isAnimating = false;
resolve();
});
});
});
});
}
/**
* Animate a state of the Page Transition (enter || exit).
*
* @param {('entering'|'exiting')} state - The state name to animate.
* @param {number} delay - Delay (in ms) before resolving the Promise.
* @return {Promise} - Animation sequence Promise.
*/
animateState(state) {
let delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
const className = this.classes?.[state];
if (!className) {
return new Promise((resolve, reject) => {
reject(state);
});
}
// Remove and add the class again to force the animation, since it's using `animation-fill-mode: forwards`.
this.classList.remove(className);
this.classList.add(className);
// Return a Promise for animations chaining.
const animationDuration = this.getAnimationDuration();
return new Promise(resolve => {
setTimeout(() => {
this.classList.remove(className);
resolve(state);
}, animationDuration + delay);
});
}
/**
* Listen to attribute changes and re-render the element.
*
* @return {void}
*/
attributeChangedCallback() {
this.render();
}
/**
* Render the element when attached to the document.
*
* @return {void}
*/
connectedCallback() {
this.render();
}
}
exports.PageTransition = PageTransition;
var _default = exports["default"] = PageTransition;
/***/ }),
/***/ "../modules/page-transitions/assets/js/frontend/components/preloader/preloader.js":
/*!****************************************************************************************!*\
!*** ../modules/page-transitions/assets/js/frontend/components/preloader/preloader.js ***!
\****************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.Preloader = void 0;
__webpack_require__(/*! core-js/modules/es.array.includes.js */ "../node_modules/core-js/modules/es.array.includes.js");
var _preloaderComponent = _interopRequireDefault(__webpack_require__(/*! ./preloader.component.scss */ "../modules/page-transitions/assets/js/frontend/components/preloader/preloader.component.scss"));
class Preloader extends HTMLElement {
/**
* A list of attributes to observe for changes.
*
* @return {string[]} - Attributes to observe.
*/
static get observedAttributes() {
return ['type'];
}
/**
* Listen to attribute changes and re-render the element.
*
* @return {void}
*/
attributeChangedCallback() {
this.render();
}
/**
* Get the Preloader CSS.
*
* @return {string} - CSS code.
*/
getStyle() {
return ``;
}
/**
* Render the Preloader element.
*
* @return {void}
*/
render() {
const type = this.getAttribute('type'),
dotsTypes = ['bouncing-dots', 'pulsing-dots'];
this.innerHTML = '';
if (!type) {
return;
}
if (dotsTypes.includes(type)) {
this.innerHTML += `
`;
}
this.innerHTML += this.getStyle();
}
/**
* Render the element when attached to the document.
*
* @return {void}
*/
connectedCallback() {
this.render();
}
}
exports.Preloader = Preloader;
var _default = exports["default"] = Preloader;
/***/ }),
/***/ "../modules/page-transitions/assets/js/frontend/components/page-transition/page-transition.component.scss":
/*!****************************************************************************************************************!*\
!*** ../modules/page-transitions/assets/js/frontend/components/page-transition/page-transition.component.scss ***!
\****************************************************************************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ "../node_modules/css-loader/dist/runtime/noSourceMaps.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/api.js */ "../node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
// Imports
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
// Module
___CSS_LOADER_EXPORT___.push([module.id, `e-page-transition {
--preloader-fade-duration: .5s;
--preloader-delay: calc( var( --e-page-transition-animation-duration, 0s ) + var( --e-preloader-delay, 0s ) );
--page-transition-delay: var( --preloader-fade-duration );
position: fixed;
inset: 0;
display: grid;
place-items: center;
z-index: 10000;
background: #FFF;
animation-fill-mode: both;
animation-duration: var(--e-page-transition-animation-duration);
}
e-page-transition[disabled] {
display: none;
}
e-page-transition e-preloader,
e-page-transition .e-page-transition--preloader {
opacity: 0;
}
e-page-transition .e-page-transition--preloader {
position: absolute;
font-size: var(--e-preloader-size);
color: var(--e-preloader-color);
fill: var(--e-preloader-color);
width: var(--e-preloader-width);
max-width: var(--e-preloader-max-width);
transform: rotate(var(--e-preloader-rotate, 0deg));
animation-name: var(--e-preloader-animation);
animation-duration: var(--e-preloader-animation-duration, 1000ms);
animation-iteration-count: infinite;
animation-timing-function: linear;
}
e-page-transition svg.e-page-transition--preloader {
width: var(--e-preloader-size);
}
.e-page-transition--entering {
animation-name: var(--e-page-transition-entrance-animation);
animation-delay: var(--preloader-fade-duration, 0s);
}
.e-page-transition--entering e-preloader,
.e-page-transition--entering .e-page-transition--preloader {
animation: var(--e-preloader-animation, none) var(--e-preloader-animation-duration, 0s) linear infinite, e-page-transition-fade-out var(--preloader-fade-duration) both;
transition: none;
}
.e-page-transition--exiting {
animation-name: var(--e-page-transition-exit-animation);
}
.e-page-transition--exiting e-preloader,
.e-page-transition--exiting .e-page-transition--preloader {
opacity: var(--e-preloader-opacity, 1);
transition: var(--preloader-fade-duration) all;
transition-delay: var(--preloader-delay, 0s);
}
.e-page-transition--entered:not(.e-page-transition--preview) {
display: none;
}
.e-page-transition--preview {
/* Fix preview not working for some animations. */
animation-fill-mode: initial;
}
.e-page-transition--preview.e-page-transition--entered e-preloader,
.e-page-transition--preview.e-page-transition--entered .e-page-transition--preloader {
opacity: var(--e-preloader-opacity, 1);
}
/* Hide the page transition if the user has disabled animations. */
@media (prefers-reduced-motion: reduce) {
e-page-transition {
display: none;
}
}
/* Animations */
@keyframes e-page-transition-fade-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes e-page-transition-fade-in-down {
from {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes e-page-transition-fade-in-left {
from {
opacity: 0;
transform: translate3d(-100%, 0, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes e-page-transition-fade-in-right {
from {
opacity: 0;
transform: translate3d(100%, 0, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes e-page-transition-fade-in-up {
from {
opacity: 0;
transform: translate3d(0, 100%, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes e-page-transition-zoom-in {
from {
opacity: 0;
transform: scale3d(0.3, 0.3, 0.3);
}
50% {
opacity: 1;
}
}
@keyframes e-page-transition-slide-in-down {
from {
transform: translate3d(0, -100%, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes e-page-transition-slide-in-left {
from {
transform: translate3d(-100%, 0, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes e-page-transition-slide-in-right {
from {
transform: translate3d(100%, 0, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes e-page-transition-slide-in-up {
from {
transform: translate3d(0, 100%, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes e-page-transition-fade-out {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@keyframes e-page-transition-fade-out-up {
from {
opacity: 1;
transform: none;
}
to {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
}
@keyframes e-page-transition-fade-out-left {
from {
opacity: 1;
transform: none;
}
to {
opacity: 0;
transform: translate3d(-100%, 0, 0);
}
}
@keyframes e-page-transition-fade-out-right {
from {
opacity: 1;
transform: none;
}
to {
opacity: 0;
transform: translate3d(100%, 0, 0);
}
}
@keyframes e-page-transition-fade-out-down {
from {
opacity: 1;
transform: none;
}
to {
opacity: 0;
transform: translate3d(0, 100%, 0);
}
}
@keyframes e-page-transition-slide-out-up {
from {
transform: translate3d(0, 0, 0);
}
to {
transform: translate3d(0, -100%, 0);
visibility: visible;
}
}
@keyframes e-page-transition-slide-out-left {
from {
transform: translate3d(0, 0, 0);
}
to {
transform: translate3d(-100%, 0, 0);
visibility: visible;
}
}
@keyframes e-page-transition-slide-out-right {
from {
transform: translate3d(0, 0, 0);
}
to {
transform: translate3d(100%, 0, 0);
visibility: visible;
}
}
@keyframes e-page-transition-slide-out-down {
from {
transform: translate3d(0, 0, 0);
}
to {
transform: translate3d(0, 100%, 0);
visibility: visible;
}
}
@keyframes e-page-transition-zoom-out {
from {
opacity: 1;
}
50% {
opacity: 0;
transform: scale3d(0.3, 0.3, 0.3);
}
}`, ""]);
// Exports
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
/***/ }),
/***/ "../modules/page-transitions/assets/js/frontend/components/preloader/preloader.component.scss":
/*!****************************************************************************************************!*\
!*** ../modules/page-transitions/assets/js/frontend/components/preloader/preloader.component.scss ***!
\****************************************************************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ "../node_modules/css-loader/dist/runtime/noSourceMaps.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/api.js */ "../node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
// Imports
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
// Module
___CSS_LOADER_EXPORT___.push([module.id, `e-preloader {
--default-duartion: 1000ms;
--duration: var( --e-preloader-animation-duration, var( --default-duration ) );
display: block;
font-size: var(--e-preloader-size);
}
e-preloader[type=circle], e-preloader[type=circle-dashed], e-preloader[type=spinners] {
--e-preloader-animation: e-preloader-spin;
height: 1em;
width: 1em;
border: 0.1em solid var(--e-preloader-color);
border-top-color: transparent;
border-radius: 100%;
animation: var(--duration) var(--e-preloader-animation) linear infinite;
}
e-preloader[type=circle-dashed] {
border: 0.1em solid rgba(255, 255, 255, 0.3);
border-top-color: var(--e-preloader-color);
}
e-preloader[type=spinners] {
border-bottom-color: transparent;
}
e-preloader[type=bouncing-dots], e-preloader[type=pulsing-dots] {
display: flex;
gap: 1em;
}
e-preloader[type=bouncing-dots] i, e-preloader[type=pulsing-dots] i {
height: 1em;
width: 1em;
border-radius: 100%;
background-color: var(--e-preloader-color);
}
e-preloader[type=bouncing-dots] i:nth-child(2), e-preloader[type=pulsing-dots] i:nth-child(2) {
animation-delay: var(--delay);
}
e-preloader[type=bouncing-dots] i:nth-child(3), e-preloader[type=pulsing-dots] i:nth-child(3) {
animation-delay: calc(var(--delay) * 2);
}
e-preloader[type=bouncing-dots] i:nth-child(4), e-preloader[type=pulsing-dots] i:nth-child(4) {
animation-delay: calc(var(--delay) * 3);
}
e-preloader[type=bouncing-dots] i {
--delay: calc( var( --duration ) / 10 );
animation: var(--duration) e-preloader-bounce linear infinite;
}
e-preloader[type=pulsing-dots] i {
--delay: calc( var( --duration ) / 6 );
animation: var(--duration) e-preloader-pulsing-dots linear infinite;
}
e-preloader[type=pulse] {
height: 1em;
width: 1em;
position: relative;
}
e-preloader[type=pulse]::before, e-preloader[type=pulse]::after {
content: "";
position: absolute;
inset: 0;
border: 0.05em solid var(--e-preloader-color);
border-radius: 100%;
animation: 1.2s e-preloader-pulse infinite both ease-out;
}
e-preloader[type=pulse]::after {
animation-delay: 0.6s;
}
e-preloader[type=overlap] {
height: 1em;
width: 1em;
position: relative;
}
e-preloader[type=overlap]::before, e-preloader[type=overlap]::after {
content: "";
inset: 0;
position: absolute;
background: var(--e-preloader-color);
border-radius: 100%;
opacity: 0.5;
animation: 2s e-preloader-overlap infinite both ease-in-out;
}
e-preloader[type=overlap]::after {
animation-delay: -1s;
animation-direction: reverse;
}
e-preloader[type=nested-spinners], e-preloader[type=opposing-nested-spinners], e-preloader[type=opposing-nested-rings] {
height: 1em;
width: 1em;
position: relative;
}
e-preloader[type=nested-spinners]::before, e-preloader[type=nested-spinners]::after, e-preloader[type=opposing-nested-spinners]::before, e-preloader[type=opposing-nested-spinners]::after, e-preloader[type=opposing-nested-rings]::before, e-preloader[type=opposing-nested-rings]::after {
content: "";
display: block;
position: absolute;
border-radius: 100%;
border: 0.1em solid var(--e-preloader-color);
border-top-color: transparent;
animation: var(--duration) e-preloader-spin linear infinite;
}
e-preloader[type=nested-spinners]::before, e-preloader[type=opposing-nested-spinners]::before, e-preloader[type=opposing-nested-rings]::before {
inset: -0.3em;
}
e-preloader[type=nested-spinners]::after, e-preloader[type=opposing-nested-spinners]::after, e-preloader[type=opposing-nested-rings]::after {
animation-duration: calc(var(--duration) - 0.2s);
inset: 0;
opacity: 0.5;
}
e-preloader[type=nested-spinners]::before, e-preloader[type=nested-spinners]::after, e-preloader[type=opposing-nested-spinners]::before, e-preloader[type=opposing-nested-spinners]::after {
border-bottom-color: transparent;
}
e-preloader[type=opposing-nested-rings]::after, e-preloader[type=opposing-nested-spinners]::after {
animation-direction: reverse;
}
e-preloader[type=progress-bar], e-preloader[type=two-way-progress-bar], e-preloader[type=repeating-bar] {
--e-preloader-animation: e-preloader-progress-bar;
height: 0.05em;
width: 5em;
max-width: 50vw;
background: var(--e-preloader-color);
animation: var(--duration) var(--e-preloader-animation) linear infinite both;
}
e-preloader[type=progress-bar] {
transform-origin: 0 50%;
}
e-preloader[type=repeating-bar] {
--e-preloader-animation: e-preloader-repeating-bar;
}
/* Hide the preloader if the user has disabled animations. */
@media (prefers-reduced-motion: reduce) {
e-preloader {
display: none;
}
}
/* Animations */
@keyframes e-preloader-spin {
0% {
transform: rotate(0);
}
100% {
transform: rotate(360deg);
}
}
@keyframes e-preloader-bounce {
0%, 40%, 100% {
transform: translateY(0);
}
20% {
transform: translateY(-80%);
}
}
@keyframes e-preloader-pulsing-dots {
0%, 40%, 100% {
transform: scale(1);
}
20% {
transform: scale(1.5);
}
}
@keyframes e-preloader-pulse {
from {
transform: scale(0);
opacity: 1;
}
to {
transform: scale(1);
opacity: 0;
}
}
@keyframes e-preloader-overlap {
0%, 100% {
transform: scale(0.2);
}
50% {
transform: scale(1);
}
}
@keyframes e-preloader-progress-bar {
0% {
transform: scaleX(0);
}
100% {
transform: scaleX(1);
}
}
@keyframes e-preloader-repeating-bar {
0% {
transform: scaleX(0);
transform-origin: 0 50%;
}
49% {
transform-origin: 0 50%;
}
50% {
transform: scaleX(1);
transform-origin: 100% 50%;
}
100% {
transform: scaleX(0);
transform-origin: 100% 50%;
}
}`, ""]);
// Exports
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
/***/ }),
/***/ "../node_modules/css-loader/dist/runtime/api.js":
/*!******************************************************!*\
!*** ../node_modules/css-loader/dist/runtime/api.js ***!
\******************************************************/
/***/ ((module) => {
"use strict";
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
module.exports = function (cssWithMappingToString) {
var list = [];
// return the list of modules as css string
list.toString = function toString() {
return this.map(function (item) {
var content = "";
var needLayer = typeof item[5] !== "undefined";
if (item[4]) {
content += "@supports (".concat(item[4], ") {");
}
if (item[2]) {
content += "@media ".concat(item[2], " {");
}
if (needLayer) {
content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {");
}
content += cssWithMappingToString(item);
if (needLayer) {
content += "}";
}
if (item[2]) {
content += "}";
}
if (item[4]) {
content += "}";
}
return content;
}).join("");
};
// import a list of modules into the list
list.i = function i(modules, media, dedupe, supports, layer) {
if (typeof modules === "string") {
modules = [[null, modules, undefined]];
}
var alreadyImportedModules = {};
if (dedupe) {
for (var k = 0; k < this.length; k++) {
var id = this[k][0];
if (id != null) {
alreadyImportedModules[id] = true;
}
}
}
for (var _k = 0; _k < modules.length; _k++) {
var item = [].concat(modules[_k]);
if (dedupe && alreadyImportedModules[item[0]]) {
continue;
}
if (typeof layer !== "undefined") {
if (typeof item[5] === "undefined") {
item[5] = layer;
} else {
item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}");
item[5] = layer;
}
}
if (media) {
if (!item[2]) {
item[2] = media;
} else {
item[1] = "@media ".concat(item[2], " {").concat(item[1], "}");
item[2] = media;
}
}
if (supports) {
if (!item[4]) {
item[4] = "".concat(supports);
} else {
item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}");
item[4] = supports;
}
}
list.push(item);
}
};
return list;
};
/***/ }),
/***/ "../node_modules/css-loader/dist/runtime/noSourceMaps.js":
/*!***************************************************************!*\
!*** ../node_modules/css-loader/dist/runtime/noSourceMaps.js ***!
\***************************************************************/
/***/ ((module) => {
"use strict";
module.exports = function (i) {
return i[1];
};
/***/ }),
/***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
/*!***********************************************************************!*\
!*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
\***********************************************************************/
/***/ ((module) => {
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
"default": e
};
}
module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ "../node_modules/core-js/internals/a-callable.js":
/*!*******************************************************!*\
!*** ../node_modules/core-js/internals/a-callable.js ***!
\*******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var tryToString = __webpack_require__(/*! ../internals/try-to-string */ "../node_modules/core-js/internals/try-to-string.js");
var $TypeError = TypeError;
// `Assert: IsCallable(argument) is true`
module.exports = function (argument) {
if (isCallable(argument)) return argument;
throw new $TypeError(tryToString(argument) + ' is not a function');
};
/***/ }),
/***/ "../node_modules/core-js/internals/add-to-unscopables.js":
/*!***************************************************************!*\
!*** ../node_modules/core-js/internals/add-to-unscopables.js ***!
\***************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "../node_modules/core-js/internals/well-known-symbol.js");
var create = __webpack_require__(/*! ../internals/object-create */ "../node_modules/core-js/internals/object-create.js");
var defineProperty = (__webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js").f);
var UNSCOPABLES = wellKnownSymbol('unscopables');
var ArrayPrototype = Array.prototype;
// Array.prototype[@@unscopables]
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
if (ArrayPrototype[UNSCOPABLES] === undefined) {
defineProperty(ArrayPrototype, UNSCOPABLES, {
configurable: true,
value: create(null)
});
}
// add a key to Array.prototype[@@unscopables]
module.exports = function (key) {
ArrayPrototype[UNSCOPABLES][key] = true;
};
/***/ }),
/***/ "../node_modules/core-js/internals/an-object.js":
/*!******************************************************!*\
!*** ../node_modules/core-js/internals/an-object.js ***!
\******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
var $String = String;
var $TypeError = TypeError;
// `Assert: Type(argument) is Object`
module.exports = function (argument) {
if (isObject(argument)) return argument;
throw new $TypeError($String(argument) + ' is not an object');
};
/***/ }),
/***/ "../node_modules/core-js/internals/array-includes.js":
/*!***********************************************************!*\
!*** ../node_modules/core-js/internals/array-includes.js ***!
\***********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "../node_modules/core-js/internals/to-indexed-object.js");
var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "../node_modules/core-js/internals/to-absolute-index.js");
var lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ "../node_modules/core-js/internals/length-of-array-like.js");
// `Array.prototype.{ indexOf, includes }` methods implementation
var createMethod = function (IS_INCLUDES) {
return function ($this, el, fromIndex) {
var O = toIndexedObject($this);
var length = lengthOfArrayLike(O);
if (length === 0) return !IS_INCLUDES && -1;
var index = toAbsoluteIndex(fromIndex, length);
var value;
// Array#includes uses SameValueZero equality algorithm
// eslint-disable-next-line no-self-compare -- NaN check
if (IS_INCLUDES && el !== el) while (length > index) {
value = O[index++];
// eslint-disable-next-line no-self-compare -- NaN check
if (value !== value) return true;
// Array#indexOf ignores holes, Array#includes - not
} else for (;length > index; index++) {
if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
} return !IS_INCLUDES && -1;
};
};
module.exports = {
// `Array.prototype.includes` method
// https://tc39.es/ecma262/#sec-array.prototype.includes
includes: createMethod(true),
// `Array.prototype.indexOf` method
// https://tc39.es/ecma262/#sec-array.prototype.indexof
indexOf: createMethod(false)
};
/***/ }),
/***/ "../node_modules/core-js/internals/classof-raw.js":
/*!********************************************************!*\
!*** ../node_modules/core-js/internals/classof-raw.js ***!
\********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var toString = uncurryThis({}.toString);
var stringSlice = uncurryThis(''.slice);
module.exports = function (it) {
return stringSlice(toString(it), 8, -1);
};
/***/ }),
/***/ "../node_modules/core-js/internals/copy-constructor-properties.js":
/*!************************************************************************!*\
!*** ../node_modules/core-js/internals/copy-constructor-properties.js ***!
\************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "../node_modules/core-js/internals/own-keys.js");
var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "../node_modules/core-js/internals/object-get-own-property-descriptor.js");
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js");
module.exports = function (target, source, exceptions) {
var keys = ownKeys(source);
var defineProperty = definePropertyModule.f;
var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
defineProperty(target, key, getOwnPropertyDescriptor(source, key));
}
}
};
/***/ }),
/***/ "../node_modules/core-js/internals/create-non-enumerable-property.js":
/*!***************************************************************************!*\
!*** ../node_modules/core-js/internals/create-non-enumerable-property.js ***!
\***************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js");
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "../node_modules/core-js/internals/create-property-descriptor.js");
module.exports = DESCRIPTORS ? function (object, key, value) {
return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
} : function (object, key, value) {
object[key] = value;
return object;
};
/***/ }),
/***/ "../node_modules/core-js/internals/create-property-descriptor.js":
/*!***********************************************************************!*\
!*** ../node_modules/core-js/internals/create-property-descriptor.js ***!
\***********************************************************************/
/***/ ((module) => {
"use strict";
module.exports = function (bitmap, value) {
return {
enumerable: !(bitmap & 1),
configurable: !(bitmap & 2),
writable: !(bitmap & 4),
value: value
};
};
/***/ }),
/***/ "../node_modules/core-js/internals/define-built-in.js":
/*!************************************************************!*\
!*** ../node_modules/core-js/internals/define-built-in.js ***!
\************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js");
var makeBuiltIn = __webpack_require__(/*! ../internals/make-built-in */ "../node_modules/core-js/internals/make-built-in.js");
var defineGlobalProperty = __webpack_require__(/*! ../internals/define-global-property */ "../node_modules/core-js/internals/define-global-property.js");
module.exports = function (O, key, value, options) {
if (!options) options = {};
var simple = options.enumerable;
var name = options.name !== undefined ? options.name : key;
if (isCallable(value)) makeBuiltIn(value, name, options);
if (options.global) {
if (simple) O[key] = value;
else defineGlobalProperty(key, value);
} else {
try {
if (!options.unsafe) delete O[key];
else if (O[key]) simple = true;
} catch (error) { /* empty */ }
if (simple) O[key] = value;
else definePropertyModule.f(O, key, {
value: value,
enumerable: false,
configurable: !options.nonConfigurable,
writable: !options.nonWritable
});
} return O;
};
/***/ }),
/***/ "../node_modules/core-js/internals/define-global-property.js":
/*!*******************************************************************!*\
!*** ../node_modules/core-js/internals/define-global-property.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
// eslint-disable-next-line es/no-object-defineproperty -- safe
var defineProperty = Object.defineProperty;
module.exports = function (key, value) {
try {
defineProperty(globalThis, key, { value: value, configurable: true, writable: true });
} catch (error) {
globalThis[key] = value;
} return value;
};
/***/ }),
/***/ "../node_modules/core-js/internals/descriptors.js":
/*!********************************************************!*\
!*** ../node_modules/core-js/internals/descriptors.js ***!
\********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
// Detect IE8's incomplete defineProperty implementation
module.exports = !fails(function () {
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;
});
/***/ }),
/***/ "../node_modules/core-js/internals/document-create-element.js":
/*!********************************************************************!*\
!*** ../node_modules/core-js/internals/document-create-element.js ***!
\********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
var document = globalThis.document;
// typeof document.createElement is 'object' in old IE
var EXISTS = isObject(document) && isObject(document.createElement);
module.exports = function (it) {
return EXISTS ? document.createElement(it) : {};
};
/***/ }),
/***/ "../node_modules/core-js/internals/enum-bug-keys.js":
/*!**********************************************************!*\
!*** ../node_modules/core-js/internals/enum-bug-keys.js ***!
\**********************************************************/
/***/ ((module) => {
"use strict";
// IE8- don't enum bug keys
module.exports = [
'constructor',
'hasOwnProperty',
'isPrototypeOf',
'propertyIsEnumerable',
'toLocaleString',
'toString',
'valueOf'
];
/***/ }),
/***/ "../node_modules/core-js/internals/environment-user-agent.js":
/*!*******************************************************************!*\
!*** ../node_modules/core-js/internals/environment-user-agent.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var navigator = globalThis.navigator;
var userAgent = navigator && navigator.userAgent;
module.exports = userAgent ? String(userAgent) : '';
/***/ }),
/***/ "../node_modules/core-js/internals/environment-v8-version.js":
/*!*******************************************************************!*\
!*** ../node_modules/core-js/internals/environment-v8-version.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var userAgent = __webpack_require__(/*! ../internals/environment-user-agent */ "../node_modules/core-js/internals/environment-user-agent.js");
var process = globalThis.process;
var Deno = globalThis.Deno;
var versions = process && process.versions || Deno && Deno.version;
var v8 = versions && versions.v8;
var match, version;
if (v8) {
match = v8.split('.');
// in old Chrome, versions of V8 isn't V8 = Chrome / 10
// but their correct versions are not interesting for us
version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
}
// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
// so check `userAgent` even if `.v8` exists, but 0
if (!version && userAgent) {
match = userAgent.match(/Edge\/(\d+)/);
if (!match || match[1] >= 74) {
match = userAgent.match(/Chrome\/(\d+)/);
if (match) version = +match[1];
}
}
module.exports = version;
/***/ }),
/***/ "../node_modules/core-js/internals/export.js":
/*!***************************************************!*\
!*** ../node_modules/core-js/internals/export.js ***!
\***************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var getOwnPropertyDescriptor = (__webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "../node_modules/core-js/internals/object-get-own-property-descriptor.js").f);
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "../node_modules/core-js/internals/create-non-enumerable-property.js");
var defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ "../node_modules/core-js/internals/define-built-in.js");
var defineGlobalProperty = __webpack_require__(/*! ../internals/define-global-property */ "../node_modules/core-js/internals/define-global-property.js");
var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "../node_modules/core-js/internals/copy-constructor-properties.js");
var isForced = __webpack_require__(/*! ../internals/is-forced */ "../node_modules/core-js/internals/is-forced.js");
/*
options.target - name of the target object
options.global - target is the global object
options.stat - export as static methods of target
options.proto - export as prototype methods of target
options.real - real prototype method for the `pure` version
options.forced - export even if the native feature is available
options.bind - bind methods to the target, required for the `pure` version
options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
options.unsafe - use the simple assignment of property instead of delete + defineProperty
options.sham - add a flag to not completely full polyfills
options.enumerable - export as enumerable property
options.dontCallGetSet - prevent calling a getter on target
options.name - the .name of the function if it does not match the key
*/
module.exports = function (options, source) {
var TARGET = options.target;
var GLOBAL = options.global;
var STATIC = options.stat;
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
if (GLOBAL) {
target = globalThis;
} else if (STATIC) {
target = globalThis[TARGET] || defineGlobalProperty(TARGET, {});
} else {
target = globalThis[TARGET] && globalThis[TARGET].prototype;
}
if (target) for (key in source) {
sourceProperty = source[key];
if (options.dontCallGetSet) {
descriptor = getOwnPropertyDescriptor(target, key);
targetProperty = descriptor && descriptor.value;
} else targetProperty = target[key];
FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
// contained in target
if (!FORCED && targetProperty !== undefined) {
if (typeof sourceProperty == typeof targetProperty) continue;
copyConstructorProperties(sourceProperty, targetProperty);
}
// add a flag to not completely full polyfills
if (options.sham || (targetProperty && targetProperty.sham)) {
createNonEnumerableProperty(sourceProperty, 'sham', true);
}
defineBuiltIn(target, key, sourceProperty, options);
}
};
/***/ }),
/***/ "../node_modules/core-js/internals/fails.js":
/*!**************************************************!*\
!*** ../node_modules/core-js/internals/fails.js ***!
\**************************************************/
/***/ ((module) => {
"use strict";
module.exports = function (exec) {
try {
return !!exec();
} catch (error) {
return true;
}
};
/***/ }),
/***/ "../node_modules/core-js/internals/function-bind-native.js":
/*!*****************************************************************!*\
!*** ../node_modules/core-js/internals/function-bind-native.js ***!
\*****************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
module.exports = !fails(function () {
// eslint-disable-next-line es/no-function-prototype-bind -- safe
var test = (function () { /* empty */ }).bind();
// eslint-disable-next-line no-prototype-builtins -- safe
return typeof test != 'function' || test.hasOwnProperty('prototype');
});
/***/ }),
/***/ "../node_modules/core-js/internals/function-call.js":
/*!**********************************************************!*\
!*** ../node_modules/core-js/internals/function-call.js ***!
\**********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "../node_modules/core-js/internals/function-bind-native.js");
var call = Function.prototype.call;
module.exports = NATIVE_BIND ? call.bind(call) : function () {
return call.apply(call, arguments);
};
/***/ }),
/***/ "../node_modules/core-js/internals/function-name.js":
/*!**********************************************************!*\
!*** ../node_modules/core-js/internals/function-name.js ***!
\**********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
var FunctionPrototype = Function.prototype;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
var EXISTS = hasOwn(FunctionPrototype, 'name');
// additional protection from minified / mangled / dropped function names
var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));
module.exports = {
EXISTS: EXISTS,
PROPER: PROPER,
CONFIGURABLE: CONFIGURABLE
};
/***/ }),
/***/ "../node_modules/core-js/internals/function-uncurry-this.js":
/*!******************************************************************!*\
!*** ../node_modules/core-js/internals/function-uncurry-this.js ***!
\******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "../node_modules/core-js/internals/function-bind-native.js");
var FunctionPrototype = Function.prototype;
var call = FunctionPrototype.call;
var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);
module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
return function () {
return call.apply(fn, arguments);
};
};
/***/ }),
/***/ "../node_modules/core-js/internals/get-built-in.js":
/*!*********************************************************!*\
!*** ../node_modules/core-js/internals/get-built-in.js ***!
\*********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var aFunction = function (argument) {
return isCallable(argument) ? argument : undefined;
};
module.exports = function (namespace, method) {
return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];
};
/***/ }),
/***/ "../node_modules/core-js/internals/get-method.js":
/*!*******************************************************!*\
!*** ../node_modules/core-js/internals/get-method.js ***!
\*******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var aCallable = __webpack_require__(/*! ../internals/a-callable */ "../node_modules/core-js/internals/a-callable.js");
var isNullOrUndefined = __webpack_require__(/*! ../internals/is-null-or-undefined */ "../node_modules/core-js/internals/is-null-or-undefined.js");
// `GetMethod` abstract operation
// https://tc39.es/ecma262/#sec-getmethod
module.exports = function (V, P) {
var func = V[P];
return isNullOrUndefined(func) ? undefined : aCallable(func);
};
/***/ }),
/***/ "../node_modules/core-js/internals/global-this.js":
/*!********************************************************!*\
!*** ../node_modules/core-js/internals/global-this.js ***!
\********************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
"use strict";
var check = function (it) {
return it && it.Math === Math && it;
};
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
module.exports =
// eslint-disable-next-line es/no-global-this -- safe
check(typeof globalThis == 'object' && globalThis) ||
check(typeof window == 'object' && window) ||
// eslint-disable-next-line no-restricted-globals -- safe
check(typeof self == 'object' && self) ||
check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) ||
check(typeof this == 'object' && this) ||
// eslint-disable-next-line no-new-func -- fallback
(function () { return this; })() || Function('return this')();
/***/ }),
/***/ "../node_modules/core-js/internals/has-own-property.js":
/*!*************************************************************!*\
!*** ../node_modules/core-js/internals/has-own-property.js ***!
\*************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var toObject = __webpack_require__(/*! ../internals/to-object */ "../node_modules/core-js/internals/to-object.js");
var hasOwnProperty = uncurryThis({}.hasOwnProperty);
// `HasOwnProperty` abstract operation
// https://tc39.es/ecma262/#sec-hasownproperty
// eslint-disable-next-line es/no-object-hasown -- safe
module.exports = Object.hasOwn || function hasOwn(it, key) {
return hasOwnProperty(toObject(it), key);
};
/***/ }),
/***/ "../node_modules/core-js/internals/hidden-keys.js":
/*!********************************************************!*\
!*** ../node_modules/core-js/internals/hidden-keys.js ***!
\********************************************************/
/***/ ((module) => {
"use strict";
module.exports = {};
/***/ }),
/***/ "../node_modules/core-js/internals/html.js":
/*!*************************************************!*\
!*** ../node_modules/core-js/internals/html.js ***!
\*************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "../node_modules/core-js/internals/get-built-in.js");
module.exports = getBuiltIn('document', 'documentElement');
/***/ }),
/***/ "../node_modules/core-js/internals/ie8-dom-define.js":
/*!***********************************************************!*\
!*** ../node_modules/core-js/internals/ie8-dom-define.js ***!
\***********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
var createElement = __webpack_require__(/*! ../internals/document-create-element */ "../node_modules/core-js/internals/document-create-element.js");
// Thanks to IE8 for its funny defineProperty
module.exports = !DESCRIPTORS && !fails(function () {
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
return Object.defineProperty(createElement('div'), 'a', {
get: function () { return 7; }
}).a !== 7;
});
/***/ }),
/***/ "../node_modules/core-js/internals/indexed-object.js":
/*!***********************************************************!*\
!*** ../node_modules/core-js/internals/indexed-object.js ***!
\***********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
var classof = __webpack_require__(/*! ../internals/classof-raw */ "../node_modules/core-js/internals/classof-raw.js");
var $Object = Object;
var split = uncurryThis(''.split);
// fallback for non-array-like ES3 and non-enumerable old V8 strings
module.exports = fails(function () {
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
// eslint-disable-next-line no-prototype-builtins -- safe
return !$Object('z').propertyIsEnumerable(0);
}) ? function (it) {
return classof(it) === 'String' ? split(it, '') : $Object(it);
} : $Object;
/***/ }),
/***/ "../node_modules/core-js/internals/inspect-source.js":
/*!***********************************************************!*\
!*** ../node_modules/core-js/internals/inspect-source.js ***!
\***********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var store = __webpack_require__(/*! ../internals/shared-store */ "../node_modules/core-js/internals/shared-store.js");
var functionToString = uncurryThis(Function.toString);
// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
if (!isCallable(store.inspectSource)) {
store.inspectSource = function (it) {
return functionToString(it);
};
}
module.exports = store.inspectSource;
/***/ }),
/***/ "../node_modules/core-js/internals/internal-state.js":
/*!***********************************************************!*\
!*** ../node_modules/core-js/internals/internal-state.js ***!
\***********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/weak-map-basic-detection */ "../node_modules/core-js/internals/weak-map-basic-detection.js");
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "../node_modules/core-js/internals/create-non-enumerable-property.js");
var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
var shared = __webpack_require__(/*! ../internals/shared-store */ "../node_modules/core-js/internals/shared-store.js");
var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "../node_modules/core-js/internals/shared-key.js");
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "../node_modules/core-js/internals/hidden-keys.js");
var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
var TypeError = globalThis.TypeError;
var WeakMap = globalThis.WeakMap;
var set, get, has;
var enforce = function (it) {
return has(it) ? get(it) : set(it, {});
};
var getterFor = function (TYPE) {
return function (it) {
var state;
if (!isObject(it) || (state = get(it)).type !== TYPE) {
throw new TypeError('Incompatible receiver, ' + TYPE + ' required');
} return state;
};
};
if (NATIVE_WEAK_MAP || shared.state) {
var store = shared.state || (shared.state = new WeakMap());
/* eslint-disable no-self-assign -- prototype methods protection */
store.get = store.get;
store.has = store.has;
store.set = store.set;
/* eslint-enable no-self-assign -- prototype methods protection */
set = function (it, metadata) {
if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
metadata.facade = it;
store.set(it, metadata);
return metadata;
};
get = function (it) {
return store.get(it) || {};
};
has = function (it) {
return store.has(it);
};
} else {
var STATE = sharedKey('state');
hiddenKeys[STATE] = true;
set = function (it, metadata) {
if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
metadata.facade = it;
createNonEnumerableProperty(it, STATE, metadata);
return metadata;
};
get = function (it) {
return hasOwn(it, STATE) ? it[STATE] : {};
};
has = function (it) {
return hasOwn(it, STATE);
};
}
module.exports = {
set: set,
get: get,
has: has,
enforce: enforce,
getterFor: getterFor
};
/***/ }),
/***/ "../node_modules/core-js/internals/is-callable.js":
/*!********************************************************!*\
!*** ../node_modules/core-js/internals/is-callable.js ***!
\********************************************************/
/***/ ((module) => {
"use strict";
// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
var documentAll = typeof document == 'object' && document.all;
// `IsCallable` abstract operation
// https://tc39.es/ecma262/#sec-iscallable
// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing
module.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {
return typeof argument == 'function' || argument === documentAll;
} : function (argument) {
return typeof argument == 'function';
};
/***/ }),
/***/ "../node_modules/core-js/internals/is-forced.js":
/*!******************************************************!*\
!*** ../node_modules/core-js/internals/is-forced.js ***!
\******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var replacement = /#|\.prototype\./;
var isForced = function (feature, detection) {
var value = data[normalize(feature)];
return value === POLYFILL ? true
: value === NATIVE ? false
: isCallable(detection) ? fails(detection)
: !!detection;
};
var normalize = isForced.normalize = function (string) {
return String(string).replace(replacement, '.').toLowerCase();
};
var data = isForced.data = {};
var NATIVE = isForced.NATIVE = 'N';
var POLYFILL = isForced.POLYFILL = 'P';
module.exports = isForced;
/***/ }),
/***/ "../node_modules/core-js/internals/is-null-or-undefined.js":
/*!*****************************************************************!*\
!*** ../node_modules/core-js/internals/is-null-or-undefined.js ***!
\*****************************************************************/
/***/ ((module) => {
"use strict";
// we can't use just `it == null` since of `document.all` special case
// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
module.exports = function (it) {
return it === null || it === undefined;
};
/***/ }),
/***/ "../node_modules/core-js/internals/is-object.js":
/*!******************************************************!*\
!*** ../node_modules/core-js/internals/is-object.js ***!
\******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
module.exports = function (it) {
return typeof it == 'object' ? it !== null : isCallable(it);
};
/***/ }),
/***/ "../node_modules/core-js/internals/is-pure.js":
/*!****************************************************!*\
!*** ../node_modules/core-js/internals/is-pure.js ***!
\****************************************************/
/***/ ((module) => {
"use strict";
module.exports = false;
/***/ }),
/***/ "../node_modules/core-js/internals/is-symbol.js":
/*!******************************************************!*\
!*** ../node_modules/core-js/internals/is-symbol.js ***!
\******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "../node_modules/core-js/internals/get-built-in.js");
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ "../node_modules/core-js/internals/object-is-prototype-of.js");
var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "../node_modules/core-js/internals/use-symbol-as-uid.js");
var $Object = Object;
module.exports = USE_SYMBOL_AS_UID ? function (it) {
return typeof it == 'symbol';
} : function (it) {
var $Symbol = getBuiltIn('Symbol');
return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));
};
/***/ }),
/***/ "../node_modules/core-js/internals/length-of-array-like.js":
/*!*****************************************************************!*\
!*** ../node_modules/core-js/internals/length-of-array-like.js ***!
\*****************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var toLength = __webpack_require__(/*! ../internals/to-length */ "../node_modules/core-js/internals/to-length.js");
// `LengthOfArrayLike` abstract operation
// https://tc39.es/ecma262/#sec-lengthofarraylike
module.exports = function (obj) {
return toLength(obj.length);
};
/***/ }),
/***/ "../node_modules/core-js/internals/make-built-in.js":
/*!**********************************************************!*\
!*** ../node_modules/core-js/internals/make-built-in.js ***!
\**********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(/*! ../internals/function-name */ "../node_modules/core-js/internals/function-name.js").CONFIGURABLE);
var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "../node_modules/core-js/internals/inspect-source.js");
var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "../node_modules/core-js/internals/internal-state.js");
var enforceInternalState = InternalStateModule.enforce;
var getInternalState = InternalStateModule.get;
var $String = String;
// eslint-disable-next-line es/no-object-defineproperty -- safe
var defineProperty = Object.defineProperty;
var stringSlice = uncurryThis(''.slice);
var replace = uncurryThis(''.replace);
var join = uncurryThis([].join);
var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {
return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
});
var TEMPLATE = String(String).split('String');
var makeBuiltIn = module.exports = function (value, name, options) {
if (stringSlice($String(name), 0, 7) === 'Symbol(') {
name = '[' + replace($String(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']';
}
if (options && options.getter) name = 'get ' + name;
if (options && options.setter) name = 'set ' + name;
if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });
else value.name = name;
}
if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {
defineProperty(value, 'length', { value: options.arity });
}
try {
if (options && hasOwn(options, 'constructor') && options.constructor) {
if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });
// in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable
} else if (value.prototype) value.prototype = undefined;
} catch (error) { /* empty */ }
var state = enforceInternalState(value);
if (!hasOwn(state, 'source')) {
state.source = join(TEMPLATE, typeof name == 'string' ? name : '');
} return value;
};
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
// eslint-disable-next-line no-extend-native -- required
Function.prototype.toString = makeBuiltIn(function toString() {
return isCallable(this) && getInternalState(this).source || inspectSource(this);
}, 'toString');
/***/ }),
/***/ "../node_modules/core-js/internals/math-trunc.js":
/*!*******************************************************!*\
!*** ../node_modules/core-js/internals/math-trunc.js ***!
\*******************************************************/
/***/ ((module) => {
"use strict";
var ceil = Math.ceil;
var floor = Math.floor;
// `Math.trunc` method
// https://tc39.es/ecma262/#sec-math.trunc
// eslint-disable-next-line es/no-math-trunc -- safe
module.exports = Math.trunc || function trunc(x) {
var n = +x;
return (n > 0 ? floor : ceil)(n);
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-create.js":
/*!**********************************************************!*\
!*** ../node_modules/core-js/internals/object-create.js ***!
\**********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* global ActiveXObject -- old IE, WSH */
var anObject = __webpack_require__(/*! ../internals/an-object */ "../node_modules/core-js/internals/an-object.js");
var definePropertiesModule = __webpack_require__(/*! ../internals/object-define-properties */ "../node_modules/core-js/internals/object-define-properties.js");
var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "../node_modules/core-js/internals/enum-bug-keys.js");
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "../node_modules/core-js/internals/hidden-keys.js");
var html = __webpack_require__(/*! ../internals/html */ "../node_modules/core-js/internals/html.js");
var documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ "../node_modules/core-js/internals/document-create-element.js");
var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "../node_modules/core-js/internals/shared-key.js");
var GT = '>';
var LT = '<';
var PROTOTYPE = 'prototype';
var SCRIPT = 'script';
var IE_PROTO = sharedKey('IE_PROTO');
var EmptyConstructor = function () { /* empty */ };
var scriptTag = function (content) {
return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
};
// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
var NullProtoObjectViaActiveX = function (activeXDocument) {
activeXDocument.write(scriptTag(''));
activeXDocument.close();
var temp = activeXDocument.parentWindow.Object;
// eslint-disable-next-line no-useless-assignment -- avoid memory leak
activeXDocument = null;
return temp;
};
// Create object with fake `null` prototype: use iframe Object with cleared prototype
var NullProtoObjectViaIFrame = function () {
// Thrash, waste and sodomy: IE GC bug
var iframe = documentCreateElement('iframe');
var JS = 'java' + SCRIPT + ':';
var iframeDocument;
iframe.style.display = 'none';
html.appendChild(iframe);
// https://github.com/zloirock/core-js/issues/475
iframe.src = String(JS);
iframeDocument = iframe.contentWindow.document;
iframeDocument.open();
iframeDocument.write(scriptTag('document.F=Object'));
iframeDocument.close();
return iframeDocument.F;
};
// Check for document.domain and active x support
// No need to use active x approach when document.domain is not set
// see https://github.com/es-shims/es5-shim/issues/150
// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
// avoid IE GC bug
var activeXDocument;
var NullProtoObject = function () {
try {
activeXDocument = new ActiveXObject('htmlfile');
} catch (error) { /* ignore */ }
NullProtoObject = typeof document != 'undefined'
? document.domain && activeXDocument
? NullProtoObjectViaActiveX(activeXDocument) // old IE
: NullProtoObjectViaIFrame()
: NullProtoObjectViaActiveX(activeXDocument); // WSH
var length = enumBugKeys.length;
while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
return NullProtoObject();
};
hiddenKeys[IE_PROTO] = true;
// `Object.create` method
// https://tc39.es/ecma262/#sec-object.create
// eslint-disable-next-line es/no-object-create -- safe
module.exports = Object.create || function create(O, Properties) {
var result;
if (O !== null) {
EmptyConstructor[PROTOTYPE] = anObject(O);
result = new EmptyConstructor();
EmptyConstructor[PROTOTYPE] = null;
// add "__proto__" for Object.getPrototypeOf polyfill
result[IE_PROTO] = O;
} else result = NullProtoObject();
return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-define-properties.js":
/*!*********************************************************************!*\
!*** ../node_modules/core-js/internals/object-define-properties.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(/*! ../internals/v8-prototype-define-bug */ "../node_modules/core-js/internals/v8-prototype-define-bug.js");
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js");
var anObject = __webpack_require__(/*! ../internals/an-object */ "../node_modules/core-js/internals/an-object.js");
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "../node_modules/core-js/internals/to-indexed-object.js");
var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "../node_modules/core-js/internals/object-keys.js");
// `Object.defineProperties` method
// https://tc39.es/ecma262/#sec-object.defineproperties
// eslint-disable-next-line es/no-object-defineproperties -- safe
exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
anObject(O);
var props = toIndexedObject(Properties);
var keys = objectKeys(Properties);
var length = keys.length;
var index = 0;
var key;
while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);
return O;
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-define-property.js":
/*!*******************************************************************!*\
!*** ../node_modules/core-js/internals/object-define-property.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "../node_modules/core-js/internals/ie8-dom-define.js");
var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(/*! ../internals/v8-prototype-define-bug */ "../node_modules/core-js/internals/v8-prototype-define-bug.js");
var anObject = __webpack_require__(/*! ../internals/an-object */ "../node_modules/core-js/internals/an-object.js");
var toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ "../node_modules/core-js/internals/to-property-key.js");
var $TypeError = TypeError;
// eslint-disable-next-line es/no-object-defineproperty -- safe
var $defineProperty = Object.defineProperty;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
var ENUMERABLE = 'enumerable';
var CONFIGURABLE = 'configurable';
var WRITABLE = 'writable';
// `Object.defineProperty` method
// https://tc39.es/ecma262/#sec-object.defineproperty
exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
anObject(O);
P = toPropertyKey(P);
anObject(Attributes);
if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
var current = $getOwnPropertyDescriptor(O, P);
if (current && current[WRITABLE]) {
O[P] = Attributes.value;
Attributes = {
configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
writable: false
};
}
} return $defineProperty(O, P, Attributes);
} : $defineProperty : function defineProperty(O, P, Attributes) {
anObject(O);
P = toPropertyKey(P);
anObject(Attributes);
if (IE8_DOM_DEFINE) try {
return $defineProperty(O, P, Attributes);
} catch (error) { /* empty */ }
if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');
if ('value' in Attributes) O[P] = Attributes.value;
return O;
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-get-own-property-descriptor.js":
/*!*******************************************************************************!*\
!*** ../node_modules/core-js/internals/object-get-own-property-descriptor.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var call = __webpack_require__(/*! ../internals/function-call */ "../node_modules/core-js/internals/function-call.js");
var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "../node_modules/core-js/internals/object-property-is-enumerable.js");
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "../node_modules/core-js/internals/create-property-descriptor.js");
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "../node_modules/core-js/internals/to-indexed-object.js");
var toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ "../node_modules/core-js/internals/to-property-key.js");
var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "../node_modules/core-js/internals/ie8-dom-define.js");
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
// `Object.getOwnPropertyDescriptor` method
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
O = toIndexedObject(O);
P = toPropertyKey(P);
if (IE8_DOM_DEFINE) try {
return $getOwnPropertyDescriptor(O, P);
} catch (error) { /* empty */ }
if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-get-own-property-names.js":
/*!**************************************************************************!*\
!*** ../node_modules/core-js/internals/object-get-own-property-names.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "../node_modules/core-js/internals/object-keys-internal.js");
var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "../node_modules/core-js/internals/enum-bug-keys.js");
var hiddenKeys = enumBugKeys.concat('length', 'prototype');
// `Object.getOwnPropertyNames` method
// https://tc39.es/ecma262/#sec-object.getownpropertynames
// eslint-disable-next-line es/no-object-getownpropertynames -- safe
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
return internalObjectKeys(O, hiddenKeys);
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-get-own-property-symbols.js":
/*!****************************************************************************!*\
!*** ../node_modules/core-js/internals/object-get-own-property-symbols.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
exports.f = Object.getOwnPropertySymbols;
/***/ }),
/***/ "../node_modules/core-js/internals/object-is-prototype-of.js":
/*!*******************************************************************!*\
!*** ../node_modules/core-js/internals/object-is-prototype-of.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
module.exports = uncurryThis({}.isPrototypeOf);
/***/ }),
/***/ "../node_modules/core-js/internals/object-keys-internal.js":
/*!*****************************************************************!*\
!*** ../node_modules/core-js/internals/object-keys-internal.js ***!
\*****************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "../node_modules/core-js/internals/to-indexed-object.js");
var indexOf = (__webpack_require__(/*! ../internals/array-includes */ "../node_modules/core-js/internals/array-includes.js").indexOf);
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "../node_modules/core-js/internals/hidden-keys.js");
var push = uncurryThis([].push);
module.exports = function (object, names) {
var O = toIndexedObject(object);
var i = 0;
var result = [];
var key;
for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);
// Don't enum bug & hidden keys
while (names.length > i) if (hasOwn(O, key = names[i++])) {
~indexOf(result, key) || push(result, key);
}
return result;
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-keys.js":
/*!********************************************************!*\
!*** ../node_modules/core-js/internals/object-keys.js ***!
\********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "../node_modules/core-js/internals/object-keys-internal.js");
var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "../node_modules/core-js/internals/enum-bug-keys.js");
// `Object.keys` method
// https://tc39.es/ecma262/#sec-object.keys
// eslint-disable-next-line es/no-object-keys -- safe
module.exports = Object.keys || function keys(O) {
return internalObjectKeys(O, enumBugKeys);
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-property-is-enumerable.js":
/*!**************************************************************************!*\
!*** ../node_modules/core-js/internals/object-property-is-enumerable.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
var $propertyIsEnumerable = {}.propertyIsEnumerable;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
// Nashorn ~ JDK8 bug
var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
// `Object.prototype.propertyIsEnumerable` method implementation
// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
var descriptor = getOwnPropertyDescriptor(this, V);
return !!descriptor && descriptor.enumerable;
} : $propertyIsEnumerable;
/***/ }),
/***/ "../node_modules/core-js/internals/ordinary-to-primitive.js":
/*!******************************************************************!*\
!*** ../node_modules/core-js/internals/ordinary-to-primitive.js ***!
\******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var call = __webpack_require__(/*! ../internals/function-call */ "../node_modules/core-js/internals/function-call.js");
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
var $TypeError = TypeError;
// `OrdinaryToPrimitive` abstract operation
// https://tc39.es/ecma262/#sec-ordinarytoprimitive
module.exports = function (input, pref) {
var fn, val;
if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;
if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
throw new $TypeError("Can't convert object to primitive value");
};
/***/ }),
/***/ "../node_modules/core-js/internals/own-keys.js":
/*!*****************************************************!*\
!*** ../node_modules/core-js/internals/own-keys.js ***!
\*****************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "../node_modules/core-js/internals/get-built-in.js");
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "../node_modules/core-js/internals/object-get-own-property-names.js");
var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "../node_modules/core-js/internals/object-get-own-property-symbols.js");
var anObject = __webpack_require__(/*! ../internals/an-object */ "../node_modules/core-js/internals/an-object.js");
var concat = uncurryThis([].concat);
// all object keys, includes non-enumerable and symbols
module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
var keys = getOwnPropertyNamesModule.f(anObject(it));
var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
};
/***/ }),
/***/ "../node_modules/core-js/internals/require-object-coercible.js":
/*!*********************************************************************!*\
!*** ../node_modules/core-js/internals/require-object-coercible.js ***!
\*********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var isNullOrUndefined = __webpack_require__(/*! ../internals/is-null-or-undefined */ "../node_modules/core-js/internals/is-null-or-undefined.js");
var $TypeError = TypeError;
// `RequireObjectCoercible` abstract operation
// https://tc39.es/ecma262/#sec-requireobjectcoercible
module.exports = function (it) {
if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it);
return it;
};
/***/ }),
/***/ "../node_modules/core-js/internals/shared-key.js":
/*!*******************************************************!*\
!*** ../node_modules/core-js/internals/shared-key.js ***!
\*******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var shared = __webpack_require__(/*! ../internals/shared */ "../node_modules/core-js/internals/shared.js");
var uid = __webpack_require__(/*! ../internals/uid */ "../node_modules/core-js/internals/uid.js");
var keys = shared('keys');
module.exports = function (key) {
return keys[key] || (keys[key] = uid(key));
};
/***/ }),
/***/ "../node_modules/core-js/internals/shared-store.js":
/*!*********************************************************!*\
!*** ../node_modules/core-js/internals/shared-store.js ***!
\*********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "../node_modules/core-js/internals/is-pure.js");
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var defineGlobalProperty = __webpack_require__(/*! ../internals/define-global-property */ "../node_modules/core-js/internals/define-global-property.js");
var SHARED = '__core-js_shared__';
var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
(store.versions || (store.versions = [])).push({
version: '3.38.1',
mode: IS_PURE ? 'pure' : 'global',
copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',
license: 'https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE',
source: 'https://github.com/zloirock/core-js'
});
/***/ }),
/***/ "../node_modules/core-js/internals/shared.js":
/*!***************************************************!*\
!*** ../node_modules/core-js/internals/shared.js ***!
\***************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var store = __webpack_require__(/*! ../internals/shared-store */ "../node_modules/core-js/internals/shared-store.js");
module.exports = function (key, value) {
return store[key] || (store[key] = value || {});
};
/***/ }),
/***/ "../node_modules/core-js/internals/symbol-constructor-detection.js":
/*!*************************************************************************!*\
!*** ../node_modules/core-js/internals/symbol-constructor-detection.js ***!
\*************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* eslint-disable es/no-symbol -- required for testing */
var V8_VERSION = __webpack_require__(/*! ../internals/environment-v8-version */ "../node_modules/core-js/internals/environment-v8-version.js");
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var $String = globalThis.String;
// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
var symbol = Symbol('symbol detection');
// Chrome 38 Symbol has incorrect toString conversion
// `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
// nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,
// of course, fail.
return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||
// Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
!Symbol.sham && V8_VERSION && V8_VERSION < 41;
});
/***/ }),
/***/ "../node_modules/core-js/internals/to-absolute-index.js":
/*!**************************************************************!*\
!*** ../node_modules/core-js/internals/to-absolute-index.js ***!
\**************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ "../node_modules/core-js/internals/to-integer-or-infinity.js");
var max = Math.max;
var min = Math.min;
// Helper for a popular repeating case of the spec:
// Let integer be ? ToInteger(index).
// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
module.exports = function (index, length) {
var integer = toIntegerOrInfinity(index);
return integer < 0 ? max(integer + length, 0) : min(integer, length);
};
/***/ }),
/***/ "../node_modules/core-js/internals/to-indexed-object.js":
/*!**************************************************************!*\
!*** ../node_modules/core-js/internals/to-indexed-object.js ***!
\**************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
// toObject with fallback for non-array-like ES3 strings
var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "../node_modules/core-js/internals/indexed-object.js");
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "../node_modules/core-js/internals/require-object-coercible.js");
module.exports = function (it) {
return IndexedObject(requireObjectCoercible(it));
};
/***/ }),
/***/ "../node_modules/core-js/internals/to-integer-or-infinity.js":
/*!*******************************************************************!*\
!*** ../node_modules/core-js/internals/to-integer-or-infinity.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var trunc = __webpack_require__(/*! ../internals/math-trunc */ "../node_modules/core-js/internals/math-trunc.js");
// `ToIntegerOrInfinity` abstract operation
// https://tc39.es/ecma262/#sec-tointegerorinfinity
module.exports = function (argument) {
var number = +argument;
// eslint-disable-next-line no-self-compare -- NaN check
return number !== number || number === 0 ? 0 : trunc(number);
};
/***/ }),
/***/ "../node_modules/core-js/internals/to-length.js":
/*!******************************************************!*\
!*** ../node_modules/core-js/internals/to-length.js ***!
\******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ "../node_modules/core-js/internals/to-integer-or-infinity.js");
var min = Math.min;
// `ToLength` abstract operation
// https://tc39.es/ecma262/#sec-tolength
module.exports = function (argument) {
var len = toIntegerOrInfinity(argument);
return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
};
/***/ }),
/***/ "../node_modules/core-js/internals/to-object.js":
/*!******************************************************!*\
!*** ../node_modules/core-js/internals/to-object.js ***!
\******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "../node_modules/core-js/internals/require-object-coercible.js");
var $Object = Object;
// `ToObject` abstract operation
// https://tc39.es/ecma262/#sec-toobject
module.exports = function (argument) {
return $Object(requireObjectCoercible(argument));
};
/***/ }),
/***/ "../node_modules/core-js/internals/to-primitive.js":
/*!*********************************************************!*\
!*** ../node_modules/core-js/internals/to-primitive.js ***!
\*********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var call = __webpack_require__(/*! ../internals/function-call */ "../node_modules/core-js/internals/function-call.js");
var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
var isSymbol = __webpack_require__(/*! ../internals/is-symbol */ "../node_modules/core-js/internals/is-symbol.js");
var getMethod = __webpack_require__(/*! ../internals/get-method */ "../node_modules/core-js/internals/get-method.js");
var ordinaryToPrimitive = __webpack_require__(/*! ../internals/ordinary-to-primitive */ "../node_modules/core-js/internals/ordinary-to-primitive.js");
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "../node_modules/core-js/internals/well-known-symbol.js");
var $TypeError = TypeError;
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
// `ToPrimitive` abstract operation
// https://tc39.es/ecma262/#sec-toprimitive
module.exports = function (input, pref) {
if (!isObject(input) || isSymbol(input)) return input;
var exoticToPrim = getMethod(input, TO_PRIMITIVE);
var result;
if (exoticToPrim) {
if (pref === undefined) pref = 'default';
result = call(exoticToPrim, input, pref);
if (!isObject(result) || isSymbol(result)) return result;
throw new $TypeError("Can't convert object to primitive value");
}
if (pref === undefined) pref = 'number';
return ordinaryToPrimitive(input, pref);
};
/***/ }),
/***/ "../node_modules/core-js/internals/to-property-key.js":
/*!************************************************************!*\
!*** ../node_modules/core-js/internals/to-property-key.js ***!
\************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "../node_modules/core-js/internals/to-primitive.js");
var isSymbol = __webpack_require__(/*! ../internals/is-symbol */ "../node_modules/core-js/internals/is-symbol.js");
// `ToPropertyKey` abstract operation
// https://tc39.es/ecma262/#sec-topropertykey
module.exports = function (argument) {
var key = toPrimitive(argument, 'string');
return isSymbol(key) ? key : key + '';
};
/***/ }),
/***/ "../node_modules/core-js/internals/try-to-string.js":
/*!**********************************************************!*\
!*** ../node_modules/core-js/internals/try-to-string.js ***!
\**********************************************************/
/***/ ((module) => {
"use strict";
var $String = String;
module.exports = function (argument) {
try {
return $String(argument);
} catch (error) {
return 'Object';
}
};
/***/ }),
/***/ "../node_modules/core-js/internals/uid.js":
/*!************************************************!*\
!*** ../node_modules/core-js/internals/uid.js ***!
\************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var id = 0;
var postfix = Math.random();
var toString = uncurryThis(1.0.toString);
module.exports = function (key) {
return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
};
/***/ }),
/***/ "../node_modules/core-js/internals/use-symbol-as-uid.js":
/*!**************************************************************!*\
!*** ../node_modules/core-js/internals/use-symbol-as-uid.js ***!
\**************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* eslint-disable es/no-symbol -- required for testing */
var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/symbol-constructor-detection */ "../node_modules/core-js/internals/symbol-constructor-detection.js");
module.exports = NATIVE_SYMBOL
&& !Symbol.sham
&& typeof Symbol.iterator == 'symbol';
/***/ }),
/***/ "../node_modules/core-js/internals/v8-prototype-define-bug.js":
/*!********************************************************************!*\
!*** ../node_modules/core-js/internals/v8-prototype-define-bug.js ***!
\********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
// V8 ~ Chrome 36-
// https://bugs.chromium.org/p/v8/issues/detail?id=3334
module.exports = DESCRIPTORS && fails(function () {
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
return Object.defineProperty(function () { /* empty */ }, 'prototype', {
value: 42,
writable: false
}).prototype !== 42;
});
/***/ }),
/***/ "../node_modules/core-js/internals/weak-map-basic-detection.js":
/*!*********************************************************************!*\
!*** ../node_modules/core-js/internals/weak-map-basic-detection.js ***!
\*********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var WeakMap = globalThis.WeakMap;
module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));
/***/ }),
/***/ "../node_modules/core-js/internals/well-known-symbol.js":
/*!**************************************************************!*\
!*** ../node_modules/core-js/internals/well-known-symbol.js ***!
\**************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var shared = __webpack_require__(/*! ../internals/shared */ "../node_modules/core-js/internals/shared.js");
var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
var uid = __webpack_require__(/*! ../internals/uid */ "../node_modules/core-js/internals/uid.js");
var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/symbol-constructor-detection */ "../node_modules/core-js/internals/symbol-constructor-detection.js");
var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "../node_modules/core-js/internals/use-symbol-as-uid.js");
var Symbol = globalThis.Symbol;
var WellKnownSymbolsStore = shared('wks');
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;
module.exports = function (name) {
if (!hasOwn(WellKnownSymbolsStore, name)) {
WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)
? Symbol[name]
: createWellKnownSymbol('Symbol.' + name);
} return WellKnownSymbolsStore[name];
};
/***/ }),
/***/ "../node_modules/core-js/modules/es.array.includes.js":
/*!************************************************************!*\
!*** ../node_modules/core-js/modules/es.array.includes.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var $ = __webpack_require__(/*! ../internals/export */ "../node_modules/core-js/internals/export.js");
var $includes = (__webpack_require__(/*! ../internals/array-includes */ "../node_modules/core-js/internals/array-includes.js").includes);
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "../node_modules/core-js/internals/add-to-unscopables.js");
// FF99+ bug
var BROKEN_ON_SPARSE = fails(function () {
// eslint-disable-next-line es/no-array-prototype-includes -- detection
return !Array(1).includes();
});
// `Array.prototype.includes` method
// https://tc39.es/ecma262/#sec-array.prototype.includes
$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
includes: function includes(el /* , fromIndex = 0 */) {
return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
}
});
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
addToUnscopables('includes');
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ id: moduleId,
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/global */
/******/ (() => {
/******/ __webpack_require__.g = (function() {
/******/ if (typeof globalThis === 'object') return globalThis;
/******/ try {
/******/ return this || new Function('return this')();
/******/ } catch (e) {
/******/ if (typeof window === 'object') return window;
/******/ }
/******/ })();
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
(() => {
"use strict";
var exports = __webpack_exports__;
/*!******************************************************************!*\
!*** ../modules/page-transitions/assets/js/frontend/frontend.js ***!
\******************************************************************/
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _components = __webpack_require__(/*! ./components */ "../modules/page-transitions/assets/js/frontend/components/index.js");
class PageTransitionsFrontend {
/**
* Initialize the module.
*
* @return {void}
*/
constructor() {
customElements.define('e-preloader', _components.Preloader);
customElements.define('e-page-transition', _components.PageTransition);
}
}
exports["default"] = PageTransitionsFrontend;
new PageTransitionsFrontend();
})();
/******/ })()
;
//# sourceMappingURL=page-transitions.js.map
The Tribune - Page 50 of 1367 - Published by the SPT, a student society of McGill University
Latest News
On Oct. 15, the Canadian federal government announced a budget increase of $52 million CAD, allocated to anglophone health services in Quebec. The funds will be distributed between McGill University and the Community Health and Social Services Network over the next five years. These institutions will lead execution, with Dialogue McGill heading the project on the university’s behalf. They will prioritize developing research, language training, and resources tailored to the needs of both anglophone and francophone professionals, staff, and students to support their experiences within the healthcare system. The budget increase will also sustain initiatives to recruit and employ bilingual professionals across the province.
In a written exchange with The Tribune , McGill’s Media Relations Office (MRO ) explained how Dialogue McGill will specifically allocate the university’s funding towards building accessible healthcare for anglophones in Quebec.
“Dialogue McGill received a $20.7 million [CAD] grant […] of the $52 million [CAD] that Health Canada allocated,” the MRO wrote. “The money is planned to be useful in supporting initiatives that maintain and build capacity of bilingual health professionals in Quebec’s public sector.”
The Office also highlighted Dialogue McGill’s missions and the services it provides specifically to McGill students.
“[Dialogue McGill’s] programs include free French- and English-language training , as well as bursaries for students committed to working in the public sector post-graduation and funding for research projects that examine relationships between language, access to health and social services, and health-related outcomes.”
This is not the first time Canada’s federal government has outwardly supported an increase in anglophone healthcare accessibility in Quebec. In 2024, Quebec Health Minister Christian Dubé announced a government directive that would require patients to provide an English-language eligibility certificate to Quebec’s health networks to receive treatment in English. Only when the federal government pressured the Quebec government did Dubé backtrack on the directive.
McGill students who have engaged with Quebec healthcare, especially in the Milton-Parc neighbourhood, have described the experience as strenuous. Amélie Evans, U2 Sciences, outlined her experience as an anglophone patient in a Montreal hospital, highlighting how a language barrier can complicate access to safe healthcare in the province.
“I’ve had moments where language created misunderstandings,” she said in an interview with The Tribune . “For example, during one visit to the hospital, a nurse misunderstood part of what I was explaining about my symptoms because I wasn’t sure how to phrase it correctly in French. It didn’t cause serious harm, but it made me realize how critical it is to have clear communication in healthcare.”
Furthermore, Evans hopes that this budget increase will aid English-language communication in Quebec’s medical system.
“I think the first priority [for funding use] should be expanding bilingual training programs and ensuring every major clinic has at least one English-speaking staff member available,” she stated.
To track the funding’s progress, the federal government of Canada will receive annual reports from the project’s leaders on its outcomes. In an interview with The Tribune , Mark Johnson , spokesperson for Health Canada , explained the measurable outcomes and performance indicators that McGill will use to ensure the budget is effectively applied.
“McGill University [will report] on the number of health professionals who have both enrolled and completed their language training program, the number of bursaries to recent graduates to retain them in the public system in an underserved region in Quebec, as well as research projects and knowledge products that have been produced and offer new data on [official language minority communities ] in health,” Johnson said.
More in Behind the Bench:
Content warning: Suicide
On April 26, 2025, Cydney Theard spoke at the memorial service for her boyfriend and Louisiana State University (LSU) Football star player Kyren Lacy , who passed away on April 12 . Theard delivered powerful words about who her partner was, the hopes they shared, and how a narrative pushed by the internet led to him taking his own life.
“We dreamed in simple colours. A draft day suit, our first apartment, his jersey hanging by the door. He was right there ready to step into the [National Football League (NFL )] and start the life he’d earned,” Theard shared.
In January 2025, Lacy was accused of negligent homicide and felony hit and run in Louisiana. Police claim that Lacy made a passing maneuver which led to an oncoming car swerving to avoid him and colliding into another vehicle. Lacy insisted that he had no involvement with the crash and was merely in the area.
Even after his passing, Lacy’s lawyers have worked to clear his name. In October 2025, Lacy’s lawyers released surveillance footage of the incident, showing that he was over 80 yards behind the crash when it happened. They also released bodycam footage of a sheriff pressuring a witness into changing their statement to place the blame on Lacy.
Louisiana State Police claim that it was Lacy’s reckless driving which caused two other cars, including a Kia Cadenza operated by a woman whose identity has not been made public, to collide head-on. Lacy passed a vehicle on a stretch of single-lane highway by using the oncoming lane, a typical maneuver on rural highways—except Lacy did it in a no-passing zone. Lacy’s attorneys have never disputed this fact, but have pointed out that he merged back into his correct lane with 361 feet separating him and the closest oncoming vehicle, meaning he merged while respecting more than three times the required passing distance. Evidence thus shows that Lacy was back in his lane well prior to the colliding vehicles making any maneuvers leading up to the crash.
The district attorney (DA ) also raised concerns about the way police have relied on video and audio footage that is not synced properly, making it appear that Lacy was much closer to the crash than he actually was. The DA ’s report states that the Kia Cadenza was “following too close, which caused her to take evasive action to avoid hitting the back” of one of the cars in the crash. Furthermore, the DA’s findings were consistent with the account from a driver of a truck involved in the accident that the driver of the Kia Cadenza “caused that wreckage.”
Yet the media treated Lacy’s accusations as guilty until proven innocent—the opposite of how justice ought to work. Collegiate athletes are often treated like circus performers in this way, with the public forgetting that they are young people too.
Lacy did have emotional outbursts on the football field, including one that a Barstool Sports employee used to paint him as guilty when his charges were first announced. LSU coach Brian Kelly had previously described Lacy as “high-strung” and someone who struggled with his emotional control, but followed up by saying, “That young man, I love him because he’s working on that every day.” Countless other young men of Lacy’s age have also struggled with emotional regulation, but few have had their emotional outbursts used to defame them.
Regardless of whether Lacy caused the crash, he should still be alive today. Theard spoke at his memorial service about the way people demonized him online. “They called him a monster. [….] Offline, he carried that weight so the rest of us wouldn’t.” Lacy ultimately took his own life while carrying the weight of being painted as a murderer by hundreds of thousands of strangers around the world.
The greatest tragedy of all is that Lacy was not mourned properly because the world was busy vilifying him as someone he was not. It is a cautionary tale of how the public’s words deeply affect young athletes. It is important to talk about what happened to Lacy, but the more important story should be who Kyren Lacy really was.
As Theard said, “Kyren Lacy was kindness in motion. Remember him that way and let the truth at last find its light.”
One thing that everyone can agree on about McGill is that the campus is absolutely stunning. With the beautiful Mount Royal as a backdrop to the varying architectural styles on campus, one only has to stop and look to find beauty here. Often ignored, the many smaller pieces that make up McGill’s Visual Arts Collection (VAC ) also possess their own beauty; they bring the university’s distinctive cultures to the forefront.
Scattered around campus, the collection features paintings, photographs, cultural items, and several sculptures that punctuate the university’s green spaces. Since it began collecting art in the 1830s, McGill’s VAC has grown to over 3,500 pieces. With a library of works that large, nothing is forgotten.
I was particularly impressed by the collection’s emphasis on Indigenous art, including the minimalist nature pieces by the late Benjamin Chee Chee displayed on McConnell Engineering ’s first floor. His work Afternoon Flight , depicting geese in motion, uses simple strokes and minimal colour to create a striking image that seems both ancient and contemporary.
As demonstrated by Chee Chee’s piece, the collection’s contemporary pieces highlight diverse perspectives that reach beyond European-style portraits and settings.
For example, on Macdonald Harrington ’s first floor, I stumbled across a photograph by Yann Arthus-Bertrand ; it’s an overhead shot of a Dogon village near the town of Bandiagara in Mali. It presents the town from the perspective of an outsider, inviting the viewer to learn more about the Dogon people and their way of life from an angle they might not have otherwise considered.
Outside, the collection continues in the James Sculpture Garden, where community members pass through and study day in and day out. These abstract sculptures definitely fit in with their surroundings—although they sit within view of the 19th-century-style administration building, they also sit within the shadow of the very 20th-century-built McConnell Engineering Building.
These juxtapositions make the campus feel cohesive despite its many artistic and architectural differences. Like a museum, every piece of art belongs exactly where it stands, and like a museum, the VAC takes its position as a provider of public art very seriously.
Uniquely, while the VAC has works of art in storage just like any museum in the world, its Visible Storage Gallery on McLennan Library ’s fourth floor offers a unique glimpse of artwork that would not normally be on display. The collection displayed here is a microcosm of the types of paintings chosen to hang around campus. It acts as a snapshot of the wider collection—complete with European-style portraits, abstract sculptures, landscapes and photographs, and a major compilation of Indigenous-created artwork.
One of the pieces, What is She Looking at? What Does She See? by Freda Guttman Bain , is particularly intriguing. In my exploration of campus art, it was the first photograph I’d seen of a human subject, and a woman at that. Although the photo is in black and white, it reflects a sort of modernity compared to many of the paintings and ceremonial objects in the room with her. With the subject sitting across from the camera, the viewer is explicitly asked to wonder what she’s facing. Perhaps a more equal future?
Taking more notice of the art all around campus can be a learning experience in and of itself, as the priorities of the collection have changed over its two centuries of building. Through various specialized exhibits, including the Japanese prints on the fourth floor of Bronfman , the VAC today critically highlights non-Western approaches to art and artistry. Although art is but one aspect of creating a safe community for all, the diversity of the VAC is an important reflection of the students for whom it is presented.
While you rush to classes or find yourself hunched over a textbook, take a moment to look around and see how cultures around the world have displayed their passions, fears, hopes, and stories. You never know what you might find.
Content warning: Sexual violence
You’re 18, sitting in your dorm on your first Friday night in Montreal. Syllabus week was daunting, and you’ve met what feels like a million people. Your minifridge is stocked with your first legal Société des alcools du Québec (SAQ ) purchases. What do you do? Head to Café Campus with new friends.
Clubbing culture at McGill is strong. The unofficial McGill slogan, Work Hard, Play Hard , rings true for many who enjoy drinking, dancing, and late nights out. But what does clubbing really feel like for those immersed in the culture?
Despite its crowded nature, clubbing can be an incredibly personal experience. A night out can be tailored to match your every preference. The genre of music, type of people, and style of dress vary greatly among the city’s nightlife institutions, allowing eager students to search for their “Goldilocks” option—whatever feels just right . Whether you treat the club as an arena to meet new people, or as a space to release stress with your best friends, it can act as an exodus of the week’s burdens.
In an interview with The Tribune , Sahar Jafferbhoy, U3 Arts, expressed that clubbing fervour is most prominent among first-year students.
“I think it’s the newfound freedom. You’re 18, you don’t really go [out] before [starting university], and you’re meeting all these new people. You’re wanting to do all these new experiences with these new people you’re meeting.”
For some, especially women and other visible minorities, safety concerns cannot be ignored when planning or partaking in a night out at the clubs. According to Statistics Canada , one in three women experienced unwanted sexual behaviour in public in 2018. Furthermore, the sexual expectations that hook-up culture places on women, combined with intoxication from substance use, can pose serious safety concerns for women on a night out.
Susanna Nowak, U2 Education, explained to The Tribune , “People know what is [appropriate], and some people just don’t care to follow social etiquette anymore. It becomes really awkward when you’re telling people multiple times, ‘Hey. What are you doing? That’s not okay.’”
Jafferbhoy explained further that she always carries a rape alarm when she goes to clubs. “I would never go anywhere in the club on my own. Even to the bathroom, I’d go with the other girls.”
Some women feel safer when they go out with guy friends, since they feel that their presence offers some protection against unfamiliar men. Noemie Bisaillon, U2 Education, expressed that experience: “[I feel safer] If there are a few guys in the group, just ’cause you kind of feel like men are more likely to listen to other men.”
While some students go to the club looking for romantic partners, this isn’t everyone’s prerogative. To make clubbing safer and more enjoyable for everyone, we must recognize the necessity of clear and enthusiastic consent. After all, we should never assume the intentions or desires of anyone, especially strangers.
Deniz Tarman, U1 Engineering says, “I think [clubbing] is pretty fantastic. With all the problems it has, I think [Montreal] is a great clubbing city. I think issues regarding safety and violence are a general humanity issue, and dare I say a general man issue.”
Despite the risks, the clubs are full and many women still find the activity fun and enjoyable. “I love the vibes. I love the environment, the atmosphere. Everyone’s always in a good mood. I love a wee boogie, I love a wee dance. I love going with my friends,” adds Jafferbhoy.
The Students’ Society of McGill University (SSMU ) Legislative Council held its fourth meeting of the semester on Oct. 23, with 25 members present.
After the Steering Committee briefly presented a report, SSMU Black Affairs Commissioner Kendra-Ann Haynes gave a presentation. Haynes stated that the Black Affairs Committee is interested in opening a chapter for Black Future Lawyers and expanding the Black Equity Fund to post-graduate students at McGill.
Next was a presentation from Chief Officer Mike Lee of SSMU Elections . He outlined strategies to increase voter turnout for the upcoming Fall Referendum , including a raffle, flyers, and a stronger social media presence.
“People do vote [when] they feel related to a topic [and] when they feel that things are related to them,” Lee said.
The Conference on Diversity in Engineering (CDE ) then presented its request for $25,000 CAD from the SSMU Campus Life Fund to balance its budget. The CDE’s Co-Chair Claire Levasseur stated that sponsors are especially difficult to find this year.
“Three out of the four major [engineering] conferences are being held in Quebec [in 2025], [so] we are all going for the same resources, which has been extremely difficult,” Levasseur reported.
After a unanimous vote in the CDE’s favour, the LC approved the CDE’s request for funding.
SSMU President Dymetri Taylor then gave an Executive Committee report. Among other things, President Taylor noted that the implementation of a new gender-affirming care student insurance model will be pushed back from the beginning of the Winter 2026 semester to the Fall 2026 semester.
“McGill required roughly six months’ notice to provide information of a secure nature to third parties, [which] is then pushing back implementation of gender-affirming care,” Taylor clarified.
The new hires to the SSMU Vice-President (VP) Finance and VP Internal Affairs positions were next presented to the LC. VP Finance Jean-Sébastien Léger and VP Internal Minaal Mirza both began their roles on Oct. 20.
The Executive Reports continued with SSMU VP External Affairs Seraphina Crema-Black confirming that she will be hosting a Montreal municipal election debate on Oct. 27 in the SSMU ballroom, with confirmed participation from Transition Montréal , Projet Montréal , Futur Montréal , and Ensemble Montréal . The debate will be moderated by McGill’s Associate Provost Angela Campbell . Crema-Black emphasized that there is a form where students can submit their questions for candidates as well.
After Crema-Black spoke, the Medical Students’ Society (MSS ) of McGill presented a report. Among other things, MSS SSMU Representative Ling He announced that an emergency MSS General Assembly would be held on Oct. 26 regarding the Fédération des médecins spécialistes du Québec (FMSQ ) and Fédération des médecins omnipraticiens du Québec (FMOQ ) strikes .
The LC concluded by handling a series of motions. Notably, the Council voted unanimously to add Crema-Black and SSMU VP University Affairs Susan Aloudat to the SSMU Board of Directors .
Moment of the meeting: Chief Officer Lee warned that the consequences of not reaching a quorum of 15 per cent during the Fall Referendum means none of the campaigns on the ballot will move forward.
Soundbite: “We’re [trying] to e-mail professors of large courses for them to remind students [to vote], [while] identifying faculties and programs with the lowest voter turnouts [to] see how we can make sure the target groups can increase their voting.”—Lee on additional strategies SSMU is undertaking to help reach quorum
On Sept. 2, the British Columbia General Employees’ Union (BCGEU ), one of the province’s largest public sector unions, went on strike until Oct. 26 . The strike affected most provincial ministries in B.C., including the Ministry of Post-Secondary Education and Future Skills , which administers student financial aid programs through StudentAid BC .
The BCGEU went on strike when negotiations with the B.C. government for higher wages in future contracts reached an impasse . Until it was resolved, the strike left some B.C. students who rely on provincial student assistance unable to access their student loans and bursaries. According to StudentAid BC’s website , delays in student aid disbursements occurred until the labour dispute was resolved, and access to its online systems remained unavailable during the ongoing labour action.
Most students who rely on StudentAid BC have received their funding for the fall semester , but the few who have not have been greatly affected by the delays. Students who rely on assistance via BCGEU have expressed that the potential for continued delays during labour disputes may cause them more difficulty, especially with upcoming winter semester payment deadlines.
In a written statement to The Tribune , a McGill student who experienced delays to their B.C. student loans during strike negotiations, who wished to remain anonymous, described how McGill can support students under related financial strain.
“I hope that McGill will be understanding of the difficult situation the strike puts students in, and I hope they will take into consideration that most students who use [StudentAid BC loans] can not seek outside financial support,” they wrote.
In a written statement to The Tribune , McGill’s Scholarships and Student Aid Office encouraged B.C. students who have experienced financial hardship due to delays in government aid to contact the office for assistance.
“We offer one-on-one appointments with Financial Aid Counsellors who can assess individual circumstances and, where appropriate, provide institutional aid in the form of an emergency interest-free McGill loan to help bridge the gap while students [from British Columbia] await their funding,” the Office wrote. “Additionally, students who have requested a fee deferral due to delayed government aid have until the end of November to pay their tuition and fees. If a longer deferral is needed, our office can assist with arranging an extension.”
On behalf of the Arts Undergraduate Society (AUS ), Pearce-Tai Thomasson, the Society’s Vice President of Communications, clarified how the AUS has been aiming to help students affected by the ongoing delays.
“The AUS […] deeply sympathizes with the affected students and are open to sitting down with students struggling with this issue,” he expressed in a written statement to The Tribune . “While our scope remains limited to our constituents, we can provide students with options and help them navigate potential escalation to [the Students’ Society of McGill University ] or the Deans within the Arts Faculty Admin. Students concerned can reach out to us using the Arts Public Directory .”
The AUS also provided a list of resources for students seeking ways to reduce their living costs, in the face of the burden brought on by the B.C. government’s failure to successfully negotiate to end its public sector strikes. The list includes resources for affordable transportation, on-campus food options, and mental health services.
Another student who wished to remain anonymous expressed frustration with the lack of public communication from the McGill Scholarships and Student Aid Office about the BCGEU strike’s effect on B.C. student aid disbursements.
“[McGill] hasn’t been super transparent. [….] They could have sent an email to all of the [affected] students telling them they were addressing this,” they said, in an interview with The Tribune . “[McGill] has a delay on payments that you can apply for through the financial aid application […] and there’s [also] emergency funds, […] which are [resources] that the school definitely could advertise [more].”
Students from B.C. who have been impacted by student aid delays can reach McGill’s Scholarships and Student Aid Office by phone at 514-398-6013 or by email at studentaid@mcgill.ca.
On certain nights, when the odd moon glows pale and crooked over campus, McGill is an impossibly-held breath of swallowed light. In a certain Burnside basement lie the remnants of something remarkably gruesome: The dark undertow of a winding tunnel that seems too narrow, a labyrinthine corridor folding in on itself, a lung collapsing under its own weight.
It is the hall with eyes, a series of miraculous misgivings—something seven feet tall which stalks on its hind legs and does not wish to be seen. Footsteps trail no fewer than five steps behind you; it is faster, smarter, hungrier than you—a violent warning that if you can hear it, it has already heard you. Counting down from 10 like a game of hide and seek, it is a church bell chiming, marking its own hour of death. Drawn tight like a curtain, the route promises passage to Otto Maass . How tragically human that we are so often proven poor liars—prone to promises we cannot keep, prone to keeping things that aren’t ours. Time remembers a naive freshman who wandered down this passage to nowhere.
Some student encounters blend mundanity with the uncanny. In an interview with The Tribune , Cedric Phillips, U3 Science, reported a bizarre incident in the Islamic Studies Library which defies explanation; over the course of an hour, three books tumbled from the shelves without warning.
“No one was even near the shelves. It was sort of a sanity check for me,” he said. “Whatever it is either really hates me or really hates undergrads.”
Ominous flickering lights have been reported in other corners of campus.
Linc Ketchate, U3 Engineering, recounted eerie lights in the Trottier basement and Arts building in an interview with //The Tribune //. “As soon as it gets dark out, there’s something creepy happening in there, and it’s not just BdA .”
Ketchate suggests that these experiences may be shaped by the collective anxieties that define student life, highlighting the constant stress to perform, particularly during midterm season and amid external pressures such as the STM strike , which make familiar spaces feel hostile and almost otherworldly.
With many students coming from abroad or leaving home for the first time, university life can be a profoundly isolating experience. For Layla Issa, U2 Arts, this loneliness became especially tangible during reading week. While her friends returned home to see their families, she stayed behind, studying late into the night on the second floor of McLennan Library. It was there, she recalled in an interview with The Tribune , lights blinked out—leaving students literally and figuratively in the dark.
“When the lights went out and everyone looked up at the same time it was like this weird moment of camaraderie,” she says.
Jasmine Ma, U3 Arts, showcased her psychology background in an interview with The Tribune about McGill’s haunted nature. “As the dark is coming in and the days get shorter, it’s unsurprising that the brain can play tricks on us in this kind of collective psychosis.”
In an interview with The Tribune , Nesrine Yala, U1 Arts, reflected on the bonds that shared fright forges in a cultural context.
“Ghost stories often bring people together. Even though they’re about something negative or scary, fear, injustice, they create a sense of community.”
For Issa, the experience became less about fear and more about empathy.
“Some things can’t always be explained, I’m not sure if I believe in the paranormal but I believe in energies. That’s where empathy comes out. It’s through these lived experiences that McGill shares a common heart.”
It is unclear whether McGill’s ghosts are real or imagined—if the shadow slipping through Burnside’s tunnels is born of memory, or the anxiety of midterm all-nighters. But what remains is undeniable: The strange pulse of something unspoken, which breathes new light into the university’s collective imagination.
On Oct. 24, McGill’s Spanish and Latin American Students’ Association (SLASA ) and McGill’s Caribbean and Latin American Studies and Hispanic Studies Association (CLASHSA ) collaborated with McGill’s Department of Languages, Literatures, and Cultures to host the ‘Building Bridges: Insights from Hispanic and Latin American Diplomats ’ panel, in honour of Latin American Heritage Month . The event provided McGill students, staff, and community members with dialogue on the field of diplomacy, and on ways to embrace Hispanic and Latin American culture in Montreal through organizations like SLASA and CLASHSA.
In an interview with The Tribune , Sophia Newman Jimenez, U3 Arts and Vice President of Diversity, Equity, and Inclusion at SLASA explained why Latin American cultural groups and heritage months are important to diasporic students at McGill.
“SLASA provides a place of friendship, family, and home,” she said. “When you’re with people of the same ethnic background as you, you are able to share the same food, interests, and worldview. For Hispanic Heritage Month, it is really important to celebrate [Latinx people] because we’re a really unique group of people who have a unique way of looking at the world.”
SLASA holds a variety of different events throughout each academic year, including reggaeton parties and Spanish-language-learning social gatherings . This fall, in an effort to expand its offerings, the club hosted Oct. 24’s diplomatic panel. The panel was moderated by Víctor Muñiz-Fraticelli , associate professor in McGill’s Faculty of Law, and featured Victor Manuel Treviño Escudero , Montreal’s Consul General of Mexico, Mauricio Baquero Pardo , Montreal’s Consul General of Colombia, Gerardo Ezequiel Bompadre , Montreal’s Consul General of Argentina, and Carlos Ruiz Gonzalez , Deputy Ambassador of Spain in Ottawa.
Throughout the panel, the main points of discussion included what the daily life of a diplomat and their duties look like. The panel participants also described how their experience in Canada differs from their postings in other places, and the most challenging aspects of their profession, like working to build what Treviño described as “bridges of understanding” with host countries.
Bompadre of Argentina spoke about the continuities and changes of the job.
“It is important to find opportunities for your country and your people and to make your country known [where you are posted],” Bompadre said. “Diplomacy has changed quite a lot, our ancestors of this field had it differently, and now it is less autonomous.”
Specifically, Bompadre noted emergent technological networks as one of the primary changes of the job. In the digital world, diplomats now have more opportunities to receive advice from their nation’s capital on foreign policy decisions.
All four diplomats explained the initiatives they have in place for students, including networks of exchange for undergraduates.
“We found that there is a greater interest for students studying here to come to Spain and study for a year,” Gonzalez said. “The [Spanish] embassy tries to ease the path for them to get in touch with the local people here in order to empower those kinds of agreements.”
The diplomats also explained how they seek to empower all members of the Hispanic community in their respective posts, including students.
“As a member of the foreign service of my country, it is important to empower students after they finish university to join this career and open doors to provide different kinds of advice,” Treviño stated.
Newmann emphasized how students can learn new perspectives on international diplomacy through participating in events like these.
“It is important to look at what diplomacy looks like outside of [just] North America or Europe,” Newmann said. “Diplomacy means something different in the context of Latin America, and I think this event provides students with the ability to see those differences, and how that plays out in international relations.”
Anxious about his plummeting approval rating, Quebec Premier François Legault is shrinking away from one of his strongest positions: Fighting climate change. Earlier this month, Legault’s government announced it will end funding for the Climate Action Barometer (CAB ), an annual survey that allows Quebecers to voice their opinions about their municipal, provincial, and federal governments’ environmental policies.
Curtailing this communication channel removes agency from a populace that has been clamouring for climate action. Meanwhile, Legault has hinted at more potential rollbacks—such as cutting the gasoline tax —at a time when climate action policies need to be front and centre .
Annual average surface temperatures are rapidly rising , and the frequency of extreme weather events is increasing . Tropical storm Debby was a brutal reminder of this for Quebecers. In 2024, the freak inland tropical storm killed an elderly man and became the costliest weather event in the province’s history .
By ending the democratic outlet that the CAB provided, Legault alienates his constituents. Most CAB respondents support climate action; in response, he chooses to throw the survey out. This is not just a poor policy choice—Legault is silencing a mechanism that allows citizens to hold their government accountable.
However, it does not have to be this way. Working with Quebecers to implement climate action is a ripe opportunity for Legault to regain some of the public faith he has lost, and it is imperative in the context of rampant global warming .
One of the shining stars of the Legault government has been its energy in fighting climate change. Thanks to his government’s investments, Quebecers around the province—from pilots-in-training in Gatineau to CEGEP teachers in Montreal—have tested commuting on electric bicycles through Equiterre’s Velovolt Program .
Last year, the Fonds d’action québécois pour le développement durable (FAQDD ) provided $1.5 million CAD to support thousands of farmers in a collaborative project called Agriclimat , which helps farmers adapt to climate change and modify their farming techniques to lower carbon emissions.
This progress has sparked international acclaim, notably for Quebec’s hydroelectric power system and research on circular economies of reuse.
If battling climate change has been such a bright spot for Legault, then why is he retreating from it?
The answer is affordability . He wants to recoup his losses in favourability with Quebec residents who are frustrated by his spending mistakes, like the $1.1 billion CAD spent on the well-over-budget SAAQclic project, and the $500 million CAD spent on the never-built Northvolt factory . In response, Legault is attempting to make a big deal of cutting the CAB, which costs one five-thousandth the cost of that nonexistent Northvolt factory. This is a mistake—for Legault and for the environment whose preservation he is choosing to neglect.
Counter to Legault’s rhetoric about affordability, cuts in environmental programs, such as the CAB, do not rest on sound economic logic.
Taking public transportation costs half as much as driving , and biking costs only one-seventh the cost of driving. Quebecers’ electricity bills are the cheapest in the nation—and it is not close. Environmentally-friendly options are often cheaper for individuals than high-emission ones, so building up eco-friendly options would make life more affordable for everyday people.
The strong support for climate action shown in the CAB study results should—and still could—be great news for François Legault. His government has a track record of delivering on community-focused environmental projects, so he should capitalize on this opportunity to further Quebecers’ climate priorities.
Quebec has worked hard to integrate clean energy and multimodal transportation, making many everyday necessities more affordable for residents while fighting for our planet. Legault must not turn his back on his own progress. Defunding the CAB is detrimental to his party, his constituents, and the democratic process in which they participate, not to mention the environment as a whole, which is deteriorating and in need of swift action. Legault should play to his strengths and continue to set the pace for clean energy, sustainability, and public engagement in climate action.
I was whisked into Concrete Breaks ’ Communal Art-Expo and Rave on Oct. 23 by heavy bass thrumming under my feet and a crush of people bottlenecking behind me. Once through the doors, bright projections of cityscapes flashed to my right while a diverse array of prints and poetry lined the walls to my left. To the far end of the st. Laurent bar Barbossa , the density of event-goers increased until they formed a dancing mass, all crowded in front of one of the rave’s string of DJs.
Concrete Breaks is an offshoot of Nina Rossing , Matt Pindera , and Luke Pindera ’s initial creative endeavour Pacific Breaks, “a grass-roots electronic music collective” in Vancouver, which similarly hosted a rave. According to their mission statement , Pacific Breaks aimed to “reinvigorate Vancouver’s rave scene with innovative, open-air events and cutting-edge sounds.”
Concrete Breaks wields much loftier goals, evident from its name, which strays from a specific place and instead describes a geographically universal breaking from stasis. In an interview with The Tribune, co-organizer Nina Rossing described the globality of this event, noting artists from Denmark to Toronto. The cosmopolitan nature of the expo aligns with one of its cardinal themes: Connection.
Another facet of the art-expo rave’s broader scope lies in its name, the event being an amalgam of many art forms, breaking beyond just sound. Concrete Breaks sent out a call for ‘All Medium/All Voices,’ the only directive being that pieces tackle the themes of dystopia, resistance and connection. This expansive breadth of forms came together at Barbossa to produce a mode of art that was completely novel.
The DJ’s beat shook the floor of the bar, causing the videos on the walls to fizzle at the edges while red rave lights cast prints on the wall in new shades. Each piece of art did not merely exist alone in the space, but instead all multiplied to form one new piece of which we were all a part.
Rossing reflected on what she and her team hoped to achieve through the event’s vast array of media.
“I think it’s just creating humanity. […] The beauty of being human and the beauty of art and of hope, and the power that it holds,” she said.
The night’s goal of humanity was achieved tenfold, with tables sprawled with pens and sticky notes for attendees to place their art alongside the selected artists, a gallery space loud not from music but from conversation, and a dancefloor bouncing beneath jigging bodies.
Concrete Breaks undertakes a return to humanity, especially imperative in our current zeitgeist. As society moves towards extremist radicalization, forging simple connections feels unreachable—people become friends with artificial intelligence or strangers on subreddits.
Rossing emphasized the importance of resisting such a world of alienation.
“We need to connect more, and with that, we become super powerful, and we can turn bad things into good things,” Rossing said.
Fellow organizer Luke Pindera similarly commented on the importance of the Concrete Breaks’ ideology in this moment. He told The Tribune in an interview that they “want to represent something positive amidst this […] world of chaos.”
Rossing, both Pinderas, the artists, and the attendees came together last Thursday to do just that: Create positivity and good. Everyone gathered, interacted, danced, and left feeling fuller than when they entered.
The defiant art exposition, alight with inspiration and connection, presents a fresh perspective on the importance of coming together and pushing towards resistance. As proclaimed by Pindera, Concrete Breaks goes beyond just a collective; he described it to The Tribune in terms of a way of life. In this fissured world, perhaps we should take up their mantle: Look down and see how we may break the concrete upon which we tread.