diff --git a/Dockerfile.alpine b/Dockerfile.alpine index 689a65ed44..a5316e1492 100644 --- a/Dockerfile.alpine +++ b/Dockerfile.alpine @@ -1,4 +1,4 @@ -FROM alpine:3.18.5 +FROM alpine:3.18.6 # Apache + PHP RUN apk add --no-cache \ apache2 \ diff --git a/app/Http/Controllers/Accessories/AccessoriesFilesController.php b/app/Http/Controllers/Accessories/AccessoriesFilesController.php index 6a94a897af..f0de6354f7 100644 --- a/app/Http/Controllers/Accessories/AccessoriesFilesController.php +++ b/app/Http/Controllers/Accessories/AccessoriesFilesController.php @@ -4,28 +4,27 @@ namespace App\Http\Controllers\Accessories; use App\Helpers\StorageHelper; use App\Http\Controllers\Controller; -use App\Http\Requests\AssetFileRequest; +use App\Http\Requests\UploadFileRequest; use App\Models\Actionlog; use App\Models\Accessory; use Illuminate\Support\Facades\Response; use Illuminate\Support\Facades\Storage; use Symfony\Accessory\HttpFoundation\JsonResponse; -use enshrined\svgSanitize\Sanitizer; class AccessoriesFilesController extends Controller { /** * Validates and stores files associated with a accessory. * - * @todo Switch to using the AssetFileRequest form request validator. - * @author [A. Gianotto] [] - * @since [v1.0] - * @param AssetFileRequest $request + * @param UploadFileRequest $request * @param int $accessoryId * @return \Illuminate\Http\RedirectResponse * @throws \Illuminate\Auth\Access\AuthorizationException + *@author [A. Gianotto] [] + * @since [v1.0] + * @todo Switch to using the AssetFileRequest form request validator. */ - public function store(AssetFileRequest $request, $accessoryId = null) + public function store(UploadFileRequest $request, $accessoryId = null) { if (config('app.lock_passwords')) { @@ -45,30 +44,7 @@ class AccessoriesFilesController extends Controller foreach ($request->file('file') as $file) { - $extension = $file->getClientOriginalExtension(); - $file_name = 'accessory-'.$accessory->id.'-'.str_random(8).'-'.str_slug(basename($file->getClientOriginalName(), '.'.$extension)).'.'.$extension; - - - // Check for SVG and sanitize it - if ($extension == 'svg') { - \Log::debug('This is an SVG'); - \Log::debug($file_name); - - $sanitizer = new Sanitizer(); - $dirtySVG = file_get_contents($file->getRealPath()); - $cleanSVG = $sanitizer->sanitize($dirtySVG); - - try { - Storage::put('private_uploads/accessories/'.$file_name, $cleanSVG); - } catch (\Exception $e) { - \Log::debug('Upload no workie :( '); - \Log::debug($e); - } - - } else { - Storage::put('private_uploads/accessories/'.$file_name, file_get_contents($file)); - } - + $file_name = $request->handleFile('private_uploads/accessories/', 'accessory-'.$accessory->id, $file); //Log the upload to the log $accessory->logUpload($file_name, e($request->input('notes'))); } diff --git a/app/Http/Controllers/Api/AccessoriesController.php b/app/Http/Controllers/Api/AccessoriesController.php index 654f3c2e24..7dcee93204 100644 --- a/app/Http/Controllers/Api/AccessoriesController.php +++ b/app/Http/Controllers/Api/AccessoriesController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Api; +use App\Events\CheckoutableCheckedOut; use App\Helpers\Helper; use App\Http\Controllers\Controller; use App\Http\Transformers\AccessoriesTransformer; @@ -278,7 +279,7 @@ class AccessoriesController extends Controller public function checkout(Request $request, $accessoryId) { // Check if the accessory exists - if (is_null($accessory = Accessory::find($accessoryId))) { + if (is_null($accessory = Accessory::withCount('users as users_count')->find($accessoryId))) { return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/accessories/message.does_not_exist'))); } @@ -302,7 +303,7 @@ class AccessoriesController extends Controller 'note' => $request->get('note'), ]); - $accessory->logCheckout($request->input('note'), $user); + event(new CheckoutableCheckedOut($accessory, $user, Auth::user(), $request->input('note'))); return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/accessories/message.checkout.success'))); } diff --git a/app/Http/Controllers/Api/CompaniesController.php b/app/Http/Controllers/Api/CompaniesController.php index 580bc5d9b9..9c667973a3 100644 --- a/app/Http/Controllers/Api/CompaniesController.php +++ b/app/Http/Controllers/Api/CompaniesController.php @@ -40,7 +40,9 @@ class CompaniesController extends Controller 'components_count', ]; - $companies = Company::withCount('assets as assets_count', 'licenses as licenses_count', 'accessories as accessories_count', 'consumables as consumables_count', 'components as components_count', 'users as users_count'); + $companies = Company::withCount(['assets as assets_count' => function ($query) { + $query->AssetsForShow(); + }])->withCount('licenses as licenses_count', 'accessories as accessories_count', 'consumables as consumables_count', 'components as components_count', 'users as users_count'); if ($request->filled('search')) { $companies->TextSearch($request->input('search')); diff --git a/app/Http/Controllers/Api/ConsumablesController.php b/app/Http/Controllers/Api/ConsumablesController.php index 1c31ec0ea2..d6e3350ddc 100644 --- a/app/Http/Controllers/Api/ConsumablesController.php +++ b/app/Http/Controllers/Api/ConsumablesController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Api; +use App\Events\CheckoutableCheckedOut; use App\Helpers\Helper; use App\Http\Controllers\Controller; use App\Http\Transformers\ConsumablesTransformer; @@ -11,6 +12,7 @@ use App\Models\Consumable; use App\Models\User; use Illuminate\Http\Request; use App\Http\Requests\ImageUploadRequest; +use Illuminate\Support\Facades\Auth; class ConsumablesController extends Controller { @@ -290,17 +292,9 @@ class ConsumablesController extends Controller ] ); - // Log checkout event - $logaction = $consumable->logCheckout($request->input('note'), $user); - $data['log_id'] = $logaction->id; - $data['eula'] = $consumable->getEula(); - $data['first_name'] = $user->first_name; - $data['item_name'] = $consumable->name; - $data['checkout_date'] = $logaction->created_at; - $data['note'] = $logaction->note; - $data['require_acceptance'] = $consumable->requireAcceptance(); + event(new CheckoutableCheckedOut($consumable, $user, Auth::user(), $request->input('note'))); - return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/consumables/message.checkout.success'))); + return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/consumables/message.checkout.success'))); } diff --git a/app/Http/Controllers/AssetModelsFilesController.php b/app/Http/Controllers/AssetModelsFilesController.php index 9889cd29ca..a5419b428d 100644 --- a/app/Http/Controllers/AssetModelsFilesController.php +++ b/app/Http/Controllers/AssetModelsFilesController.php @@ -3,26 +3,25 @@ namespace App\Http\Controllers; use App\Helpers\StorageHelper; -use App\Http\Requests\AssetFileRequest; +use App\Http\Requests\UploadFileRequest; use App\Models\Actionlog; use App\Models\AssetModel; use Illuminate\Support\Facades\Response; use Illuminate\Support\Facades\Storage; -use enshrined\svgSanitize\Sanitizer; class AssetModelsFilesController extends Controller { /** * Upload a file to the server. * - * @author [A. Gianotto] [] - * @param AssetFileRequest $request + * @param UploadFileRequest $request * @param int $modelId * @return Redirect - * @since [v1.0] * @throws \Illuminate\Auth\Access\AuthorizationException + *@since [v1.0] + * @author [A. Gianotto] [] */ - public function store(AssetFileRequest $request, $modelId = null) + public function store(UploadFileRequest $request, $modelId = null) { if (! $model = AssetModel::find($modelId)) { return redirect()->route('models.index')->with('error', trans('admin/hardware/message.does_not_exist')); @@ -37,27 +36,7 @@ class AssetModelsFilesController extends Controller foreach ($request->file('file') as $file) { - $extension = $file->getClientOriginalExtension(); - $file_name = 'model-'.$model->id.'-'.str_random(8).'-'.str_slug(basename($file->getClientOriginalName(), '.'.$extension)).'.'.$extension; - - // Check for SVG and sanitize it - if ($extension=='svg') { - \Log::debug('This is an SVG'); - - $sanitizer = new Sanitizer(); - $dirtySVG = file_get_contents($file->getRealPath()); - $cleanSVG = $sanitizer->sanitize($dirtySVG); - - try { - Storage::put('private_uploads/assetmodels/'.$file_name, $cleanSVG); - } catch (\Exception $e) { - \Log::debug('Upload no workie :( '); - \Log::debug($e); - } - } else { - Storage::put('private_uploads/assetmodels/'.$file_name, file_get_contents($file)); - } - + $file_name = $request->handleFile('private_uploads/assetmodels/','model-'.$model->id,$file); $model->logUpload($file_name, e($request->get('notes'))); } diff --git a/app/Http/Controllers/Assets/AssetFilesController.php b/app/Http/Controllers/Assets/AssetFilesController.php index 610705c604..7f4258bda2 100644 --- a/app/Http/Controllers/Assets/AssetFilesController.php +++ b/app/Http/Controllers/Assets/AssetFilesController.php @@ -4,26 +4,25 @@ namespace App\Http\Controllers\Assets; use App\Helpers\StorageHelper; use App\Http\Controllers\Controller; -use App\Http\Requests\AssetFileRequest; +use App\Http\Requests\UploadFileRequest; use App\Models\Actionlog; use App\Models\Asset; use Illuminate\Support\Facades\Response; use Illuminate\Support\Facades\Storage; -use enshrined\svgSanitize\Sanitizer; class AssetFilesController extends Controller { /** * Upload a file to the server. * - * @author [A. Gianotto] [] - * @param AssetFileRequest $request + * @param UploadFileRequest $request * @param int $assetId * @return Redirect - * @since [v1.0] * @throws \Illuminate\Auth\Access\AuthorizationException + *@since [v1.0] + * @author [A. Gianotto] [] */ - public function store(AssetFileRequest $request, $assetId = null) + public function store(UploadFileRequest $request, $assetId = null) { if (! $asset = Asset::find($assetId)) { return redirect()->route('hardware.index')->with('error', trans('admin/hardware/message.does_not_exist')); @@ -37,28 +36,7 @@ class AssetFilesController extends Controller } foreach ($request->file('file') as $file) { - - $extension = $file->getClientOriginalExtension(); - $file_name = 'hardware-'.$asset->id.'-'.str_random(8).'-'.str_slug(basename($file->getClientOriginalName(), '.'.$extension)).'.'.$extension; - - // Check for SVG and sanitize it - if ($extension=='svg') { - \Log::debug('This is an SVG'); - - $sanitizer = new Sanitizer(); - $dirtySVG = file_get_contents($file->getRealPath()); - $cleanSVG = $sanitizer->sanitize($dirtySVG); - - try { - Storage::put('private_uploads/assets/'.$file_name, $cleanSVG); - } catch (\Exception $e) { - \Log::debug('Upload no workie :( '); - \Log::debug($e); - } - } else { - Storage::put('private_uploads/assets/'.$file_name, file_get_contents($file)); - } - + $file_name = $request->handleFile('private_uploads/assets/','hardware-'.$asset->id, $file); $asset->logUpload($file_name, e($request->get('notes'))); } diff --git a/app/Http/Controllers/Components/ComponentsFilesController.php b/app/Http/Controllers/Components/ComponentsFilesController.php index 0f4e782aa8..55ae7f61b6 100644 --- a/app/Http/Controllers/Components/ComponentsFilesController.php +++ b/app/Http/Controllers/Components/ComponentsFilesController.php @@ -4,28 +4,27 @@ namespace App\Http\Controllers\Components; use App\Helpers\StorageHelper; use App\Http\Controllers\Controller; -use App\Http\Requests\AssetFileRequest; +use App\Http\Requests\UploadFileRequest; use App\Models\Actionlog; use App\Models\Component; use Illuminate\Support\Facades\Response; use Illuminate\Support\Facades\Storage; use Symfony\Component\HttpFoundation\JsonResponse; -use enshrined\svgSanitize\Sanitizer; class ComponentsFilesController extends Controller { /** * Validates and stores files associated with a component. * - * @todo Switch to using the AssetFileRequest form request validator. - * @author [A. Gianotto] [] - * @since [v1.0] - * @param AssetFileRequest $request + * @param UploadFileRequest $request * @param int $componentId * @return \Illuminate\Http\RedirectResponse * @throws \Illuminate\Auth\Access\AuthorizationException + *@author [A. Gianotto] [] + * @since [v1.0] + * @todo Switch to using the AssetFileRequest form request validator. */ - public function store(AssetFileRequest $request, $componentId = null) + public function store(UploadFileRequest $request, $componentId = null) { if (config('app.lock_passwords')) { @@ -43,30 +42,7 @@ class ComponentsFilesController extends Controller } foreach ($request->file('file') as $file) { - - $extension = $file->getClientOriginalExtension(); - $file_name = 'component-'.$component->id.'-'.str_random(8).'-'.str_slug(basename($file->getClientOriginalName(), '.'.$extension)).'.'.$extension; - - - // Check for SVG and sanitize it - if ($extension == 'svg') { - \Log::debug('This is an SVG'); - \Log::debug($file_name); - - $sanitizer = new Sanitizer(); - $dirtySVG = file_get_contents($file->getRealPath()); - $cleanSVG = $sanitizer->sanitize($dirtySVG); - - try { - Storage::put('private_uploads/components/'.$file_name, $cleanSVG); - } catch (\Exception $e) { - \Log::debug('Upload no workie :( '); - \Log::debug($e); - } - - } else { - Storage::put('private_uploads/components/'.$file_name, file_get_contents($file)); - } + $file_name = $request->handleFile('private_uploads/components/','component-'.$component->id, $file); //Log the upload to the log $component->logUpload($file_name, e($request->input('notes'))); diff --git a/app/Http/Controllers/Consumables/ConsumableCheckoutController.php b/app/Http/Controllers/Consumables/ConsumableCheckoutController.php index 0cac973415..f7a297aeee 100644 --- a/app/Http/Controllers/Consumables/ConsumableCheckoutController.php +++ b/app/Http/Controllers/Consumables/ConsumableCheckoutController.php @@ -76,7 +76,6 @@ class ConsumableCheckoutController extends Controller return redirect()->route('consumables.index')->with('error', trans('admin/consumables/message.checkout.unavailable')); } - $admin_user = Auth::user(); $assigned_to = e($request->input('assigned_to')); diff --git a/app/Http/Controllers/Consumables/ConsumablesFilesController.php b/app/Http/Controllers/Consumables/ConsumablesFilesController.php index 6053e82cca..977261edcd 100644 --- a/app/Http/Controllers/Consumables/ConsumablesFilesController.php +++ b/app/Http/Controllers/Consumables/ConsumablesFilesController.php @@ -4,28 +4,27 @@ namespace App\Http\Controllers\Consumables; use App\Helpers\StorageHelper; use App\Http\Controllers\Controller; -use App\Http\Requests\AssetFileRequest; +use App\Http\Requests\UploadFileRequest; use App\Models\Actionlog; use App\Models\Consumable; use Illuminate\Support\Facades\Response; use Illuminate\Support\Facades\Storage; use Symfony\Consumable\HttpFoundation\JsonResponse; -use enshrined\svgSanitize\Sanitizer; class ConsumablesFilesController extends Controller { /** * Validates and stores files associated with a consumable. * - * @todo Switch to using the AssetFileRequest form request validator. - * @author [A. Gianotto] [] - * @since [v1.0] - * @param AssetFileRequest $request + * @param UploadFileRequest $request * @param int $consumableId * @return \Illuminate\Http\RedirectResponse * @throws \Illuminate\Auth\Access\AuthorizationException + *@author [A. Gianotto] [] + * @since [v1.0] + * @todo Switch to using the AssetFileRequest form request validator. */ - public function store(AssetFileRequest $request, $consumableId = null) + public function store(UploadFileRequest $request, $consumableId = null) { if (config('app.lock_passwords')) { return redirect()->route('consumables.show', ['consumable'=>$consumableId])->with('error', trans('general.feature_disabled')); @@ -42,30 +41,7 @@ class ConsumablesFilesController extends Controller } foreach ($request->file('file') as $file) { - - $extension = $file->getClientOriginalExtension(); - $file_name = 'consumable-'.$consumable->id.'-'.str_random(8).'-'.str_slug(basename($file->getClientOriginalName(), '.'.$extension)).'.'.$extension; - - - // Check for SVG and sanitize it - if ($extension == 'svg') { - \Log::debug('This is an SVG'); - \Log::debug($file_name); - - $sanitizer = new Sanitizer(); - $dirtySVG = file_get_contents($file->getRealPath()); - $cleanSVG = $sanitizer->sanitize($dirtySVG); - - try { - Storage::put('private_uploads/consumables/'.$file_name, $cleanSVG); - } catch (\Exception $e) { - \Log::debug('Upload no workie :( '); - \Log::debug($e); - } - - } else { - Storage::put('private_uploads/consumables/'.$file_name, file_get_contents($file)); - } + $file_name = $request->handleFile('private_uploads/consumables/','consumable-'.$consumable->id, $file); //Log the upload to the log $consumable->logUpload($file_name, e($request->input('notes'))); diff --git a/app/Http/Controllers/Licenses/LicenseFilesController.php b/app/Http/Controllers/Licenses/LicenseFilesController.php index f6f7c1ad0c..037d78d230 100644 --- a/app/Http/Controllers/Licenses/LicenseFilesController.php +++ b/app/Http/Controllers/Licenses/LicenseFilesController.php @@ -4,28 +4,27 @@ namespace App\Http\Controllers\Licenses; use App\Helpers\StorageHelper; use App\Http\Controllers\Controller; -use App\Http\Requests\AssetFileRequest; +use App\Http\Requests\UploadFileRequest; use App\Models\Actionlog; use App\Models\License; use Illuminate\Support\Facades\Response; use Illuminate\Support\Facades\Storage; use Symfony\Component\HttpFoundation\JsonResponse; -use enshrined\svgSanitize\Sanitizer; class LicenseFilesController extends Controller { /** * Validates and stores files associated with a license. * - * @todo Switch to using the AssetFileRequest form request validator. - * @author [A. Gianotto] [] - * @since [v1.0] - * @param AssetFileRequest $request + * @param UploadFileRequest $request * @param int $licenseId * @return \Illuminate\Http\RedirectResponse * @throws \Illuminate\Auth\Access\AuthorizationException + *@author [A. Gianotto] [] + * @since [v1.0] + * @todo Switch to using the AssetFileRequest form request validator. */ - public function store(AssetFileRequest $request, $licenseId = null) + public function store(UploadFileRequest $request, $licenseId = null) { $license = License::find($licenseId); @@ -38,30 +37,7 @@ class LicenseFilesController extends Controller } foreach ($request->file('file') as $file) { - - $extension = $file->getClientOriginalExtension(); - $file_name = 'license-'.$license->id.'-'.str_random(8).'-'.str_slug(basename($file->getClientOriginalName(), '.'.$extension)).'.'.$extension; - - - // Check for SVG and sanitize it - if ($extension == 'svg') { - \Log::debug('This is an SVG'); - \Log::debug($file_name); - - $sanitizer = new Sanitizer(); - $dirtySVG = file_get_contents($file->getRealPath()); - $cleanSVG = $sanitizer->sanitize($dirtySVG); - - try { - Storage::put('private_uploads/licenses/'.$file_name, $cleanSVG); - } catch (\Exception $e) { - \Log::debug('Upload no workie :( '); - \Log::debug($e); - } - - } else { - Storage::put('private_uploads/licenses/'.$file_name, file_get_contents($file)); - } + $file_name = $request->handleFile('private_uploads/licenses/','license-'.$license->id, $file); //Log the upload to the log $license->logUpload($file_name, e($request->input('notes'))); diff --git a/app/Http/Controllers/ReportsController.php b/app/Http/Controllers/ReportsController.php index 3e8afab401..5248cf4ad1 100644 --- a/app/Http/Controllers/ReportsController.php +++ b/app/Http/Controllers/ReportsController.php @@ -616,7 +616,7 @@ class ReportsController extends Controller } if ($request->filled('url')) { - $header[] = trans('admin/manufacturers/table.url'); + $header[] = trans('general.url'); } diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index 873d764a25..31ea724c0e 100755 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -28,6 +28,7 @@ use App\Http\Requests\SlackSettingsRequest; use Illuminate\Support\Str; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Validator; +use Carbon\Carbon; /** * This controller handles all actions related to Settings for @@ -356,6 +357,7 @@ class SettingsController extends Controller } $setting->default_eula_text = $request->input('default_eula_text'); + $setting->load_remote = $request->input('load_remote', 0); $setting->thumbnail_max_h = $request->input('thumbnail_max_h'); $setting->privacy_policy_link = $request->input('privacy_policy_link'); @@ -635,21 +637,21 @@ class SettingsController extends Controller // Check if the audit interval has changed - if it has, we want to update ALL of the assets audit dates if ($request->input('audit_interval') != $setting->audit_interval) { - // Be careful - this could be a negative number + // This could be a negative number if the user is trying to set the audit interval to a lower number than it was before $audit_diff_months = ((int)$request->input('audit_interval') - (int)($setting->audit_interval)); + + // Batch update the dates. We have to use this method to avoid time limit exceeded errors on very large datasets, + // but it DOES mean this change doesn't get logged in the action logs, since it skips the observer. + // @see https://stackoverflow.com/questions/54879160/laravel-observer-not-working-on-bulk-insert + $affected = Asset::whereNotNull('next_audit_date') + ->whereNull('deleted_at') + ->update( + ['next_audit_date' => DB::raw('DATE_ADD(next_audit_date, INTERVAL '.$audit_diff_months.' MONTH)')] + ); + + \Log::debug($affected .' assets affected by audit interval update'); + - // Grab all of the assets that have an existing next_audit_date - $assets = Asset::whereNotNull('next_audit_date')->get(); - - // Update all of the assets' next_audit_date values - foreach ($assets as $asset) { - - if ($asset->next_audit_date != '') { - $old_next_audit = new \DateTime($asset->next_audit_date); - $asset->next_audit_date = $old_next_audit->modify($audit_diff_months.' month')->format('Y-m-d'); - $asset->forceSave(); - } - } } $alert_email = rtrim($request->input('alert_email'), ','); diff --git a/app/Http/Controllers/Users/UserFilesController.php b/app/Http/Controllers/Users/UserFilesController.php index 0b787306f9..87213f2498 100644 --- a/app/Http/Controllers/Users/UserFilesController.php +++ b/app/Http/Controllers/Users/UserFilesController.php @@ -4,14 +4,13 @@ namespace App\Http\Controllers\Users; use App\Helpers\StorageHelper; use App\Http\Controllers\Controller; -use App\Http\Requests\AssetFileRequest; +use App\Http\Requests\UploadFileRequest; use App\Models\Actionlog; use App\Models\User; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Input; use Illuminate\Support\Facades\Response; use Symfony\Component\HttpFoundation\JsonResponse; -use enshrined\svgSanitize\Sanitizer; use Illuminate\Support\Facades\Storage; class UserFilesController extends Controller @@ -19,14 +18,14 @@ class UserFilesController extends Controller /** * Return JSON response with a list of user details for the getIndex() view. * - * @author [A. Gianotto] [] - * @since [v1.6] - * @param AssetFileRequest $request + * @param UploadFileRequest $request * @param int $userId * @return string JSON * @throws \Illuminate\Auth\Access\AuthorizationException + *@author [A. Gianotto] [] + * @since [v1.6] */ - public function store(AssetFileRequest $request, $userId = null) + public function store(UploadFileRequest $request, $userId = null) { $user = User::find($userId); $destinationPath = config('app.private_uploads').'/users'; @@ -41,31 +40,7 @@ class UserFilesController extends Controller return redirect()->back()->with('error', trans('admin/users/message.upload.nofiles')); } foreach ($files as $file) { - - $extension = $file->getClientOriginalExtension(); - $file_name = 'user-'.$user->id.'-'.str_random(8).'-'.str_slug(basename($file->getClientOriginalName(), '.'.$extension)).'.'.$extension; - - - // Check for SVG and sanitize it - if ($extension == 'svg') { - \Log::debug('This is an SVG'); - \Log::debug($file_name); - - $sanitizer = new Sanitizer(); - - $dirtySVG = file_get_contents($file->getRealPath()); - $cleanSVG = $sanitizer->sanitize($dirtySVG); - - try { - Storage::put('private_uploads/users/'.$file_name, $cleanSVG); - } catch (\Exception $e) { - \Log::debug('Upload no workie :( '); - \Log::debug($e); - } - - } else { - Storage::put('private_uploads/users/'.$file_name, file_get_contents($file)); - } + $file_name = $request->handleFile('private_uploads/users/', 'user-'.$user->id, $file); //Log the uploaded file to the log $logAction = new Actionlog(); diff --git a/app/Http/Livewire/SlackSettingsForm.php b/app/Http/Livewire/SlackSettingsForm.php index 9e811adca6..86f21e0152 100644 --- a/app/Http/Livewire/SlackSettingsForm.php +++ b/app/Http/Livewire/SlackSettingsForm.php @@ -37,23 +37,33 @@ class SlackSettingsForm extends Component public function mount() { $this->webhook_text= [ - "slack" => array( + "slack" => array( "name" => trans('admin/settings/general.slack') , - "icon" => 'fab fa-slack', - "placeholder" => "https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX", - "link" => 'https://api.slack.com/messaging/webhooks', + "icon" => 'fab fa-slack', + "placeholder" => "https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX", + "link" => 'https://api.slack.com/messaging/webhooks', + "test" => "testWebhook" ), "general"=> array( "name" => trans('admin/settings/general.general_webhook'), "icon" => "fab fa-hashtag", "placeholder" => trans('general.url'), "link" => "", + "test" => "testWebhook" + ), + "google" => array( + "name" => trans('admin/settings/general.google_workspaces'), + "icon" => "fa-brands fa-google", + "placeholder" => "https://chat.googleapis.com/v1/spaces/xxxxxxxx/messages?key=xxxxxx", + "link" => "https://developers.google.com/chat/how-tos/webhooks#register_the_incoming_webhook", + "test" => "googleWebhookTest" ), "microsoft" => array( "name" => trans('admin/settings/general.ms_teams'), "icon" => "fa-brands fa-microsoft", "placeholder" => "https://abcd.webhook.office.com/webhookb2/XXXXXXX", "link" => "https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook?tabs=dotnet#create-incoming-webhooks-1", + "test" => "msTeamTestWebhook" ), ]; @@ -64,10 +74,14 @@ class SlackSettingsForm extends Component $this->webhook_icon = $this->webhook_text[$this->setting->webhook_selected]["icon"]; $this->webhook_placeholder = $this->webhook_text[$this->setting->webhook_selected]["placeholder"]; $this->webhook_link = $this->webhook_text[$this->setting->webhook_selected]["link"]; + $this->webhook_test = $this->webhook_text[$this->setting->webhook_selected]["test"]; $this->webhook_endpoint = $this->setting->webhook_endpoint; $this->webhook_channel = $this->setting->webhook_channel; $this->webhook_botname = $this->setting->webhook_botname; $this->webhook_options = $this->setting->webhook_selected; + if($this->webhook_selected == 'microsoft' || $this->webhook_selected == 'google'){ + $this->webhook_channel = '#NA'; + } if($this->setting->webhook_endpoint != null && $this->setting->webhook_channel != null){ @@ -87,10 +101,14 @@ class SlackSettingsForm extends Component $this->webhook_placeholder = $this->webhook_text[$this->webhook_selected]["placeholder"]; $this->webhook_endpoint = null; $this->webhook_link = $this->webhook_text[$this->webhook_selected]["link"]; + $this->webhook_test = $this->webhook_text[$this->webhook_selected]["test"]; if($this->webhook_selected != 'slack'){ $this->isDisabled= ''; $this->save_button = trans('general.save'); } + if($this->webhook_selected == 'microsoft' || $this->webhook_selected == 'google'){ + $this->webhook_channel = '#NA'; + } } @@ -151,6 +169,7 @@ class SlackSettingsForm extends Component } + public function clearSettings(){ if (Helper::isDemoMode()) { @@ -187,7 +206,35 @@ class SlackSettingsForm extends Component } } - public function msTeamTestWebhook(){ + public function googleWebhookTest(){ + + $payload = [ + "text" => trans('general.webhook_test_msg', ['app' => $this->webhook_name]), + ]; + + try { + $response = Http::withHeaders([ + 'content-type' => 'applications/json', + ])->post($this->webhook_endpoint, + $payload)->throw(); + + + if (($response->getStatusCode() == 302) || ($response->getStatusCode() == 301)) { + return session()->flash('error', trans('admin/settings/message.webhook.error_redirect', ['endpoint' => $this->webhook_endpoint])); + } + + $this->isDisabled=''; + $this->save_button = trans('general.save'); + return session()->flash('success' , trans('admin/settings/message.webhook.success', ['webhook_name' => $this->webhook_name])); + + } catch (\Exception $e) { + + $this->isDisabled='disabled'; + $this->save_button = trans('admin/settings/general.webhook_presave'); + return session()->flash('error' , trans('admin/settings/message.webhook.error', ['error_message' => $e->getMessage(), 'app' => $this->webhook_name])); + } + } + public function msTeamTestWebhook(){ $payload = [ diff --git a/app/Http/Requests/AssetFileRequest.php b/app/Http/Requests/AssetFileRequest.php deleted file mode 100644 index 697b49f3d6..0000000000 --- a/app/Http/Requests/AssetFileRequest.php +++ /dev/null @@ -1,30 +0,0 @@ - 'required|mimes:png,gif,jpg,svg,jpeg,doc,docx,pdf,txt,zip,rar,xls,xlsx,lic,xml,rtf,json,webp|max:'.$max_file_size, - ]; - } -} diff --git a/app/Http/Requests/ImageUploadRequest.php b/app/Http/Requests/ImageUploadRequest.php index b3cd6e102c..6408b2b34b 100644 --- a/app/Http/Requests/ImageUploadRequest.php +++ b/app/Http/Requests/ImageUploadRequest.php @@ -103,16 +103,35 @@ class ImageUploadRequest extends Request \Log::info('File name will be: '.$file_name); \Log::debug('File extension is: '.$ext); - if (($image->getClientOriginalExtension() !== 'webp') && ($image->getClientOriginalExtension() !== 'svg')) { + if ($image->getMimeType() == 'image/webp') { + // If the file is a webp, we need to just move it since webp support + // needs to be compiled into gd for resizing to be available + + \Log::debug('This is a webp, just move it'); + Storage::disk('public')->put($path.'/'.$file_name, file_get_contents($image)); + } elseif($image->getMimeType() == 'image/svg+xml') { + // If the file is an SVG, we need to clean it and NOT encode it + \Log::debug('This is an SVG'); + $sanitizer = new Sanitizer(); + $dirtySVG = file_get_contents($image->getRealPath()); + $cleanSVG = $sanitizer->sanitize($dirtySVG); + + try { + Storage::disk('public')->put($path . '/' . $file_name, $cleanSVG); + } catch (\Exception $e) { + \Log::debug($e); + } + } else { \Log::debug('Not an SVG or webp - resize'); \Log::debug('Trying to upload to: '.$path.'/'.$file_name); try { - $upload = Image::make($image->getRealPath())->resize(null, $w, function ($constraint) { + $upload = Image::make($image->getRealPath())->setFileInfoFromPath($image->getRealPath())->resize(null, $w, function ($constraint) { $constraint->aspectRatio(); $constraint->upsize(); - }); + })->orientate(); + } catch(NotReadableException $e) { \Log::debug($e); $validator = \Validator::make([], []); @@ -124,27 +143,6 @@ class ImageUploadRequest extends Request // This requires a string instead of an object, so we use ($string) Storage::disk('public')->put($path.'/'.$file_name, (string) $upload->encode()); - } else { - // If the file is a webp, we need to just move it since webp support - // needs to be compiled into gd for resizing to be available - if ($image->getClientOriginalExtension() == 'webp') { - \Log::debug('This is a webp, just move it'); - Storage::disk('public')->put($path.'/'.$file_name, file_get_contents($image)); - // If the file is an SVG, we need to clean it and NOT encode it - } else { - \Log::debug('This is an SVG'); - $sanitizer = new Sanitizer(); - $dirtySVG = file_get_contents($image->getRealPath()); - $cleanSVG = $sanitizer->sanitize($dirtySVG); - - try { - \Log::debug('Trying to upload to: '.$path.'/'.$file_name); - Storage::disk('public')->put($path.'/'.$file_name, $cleanSVG); - } catch (\Exception $e) { - \Log::debug('Upload no workie :( '); - \Log::debug($e); - } - } } // Remove Current image if exists diff --git a/app/Http/Requests/UploadFileRequest.php b/app/Http/Requests/UploadFileRequest.php new file mode 100644 index 0000000000..74d33d58eb --- /dev/null +++ b/app/Http/Requests/UploadFileRequest.php @@ -0,0 +1,70 @@ + 'required|mimes:png,gif,jpg,svg,jpeg,doc,docx,pdf,txt,zip,rar,xls,xlsx,lic,xml,rtf,json,webp|max:'.$max_file_size, + ]; + } + + /** + * Sanitizes (if needed) and Saves a file to the appropriate location + * Returns the 'short' (storage-relative) filename + * + * TODO - this has a lot of similarities to UploadImageRequest's handleImage; is there + * a way to merge them or extend one into the other? + */ + public function handleFile(string $dirname, string $name_prefix, $file): string + { + $extension = $file->getClientOriginalExtension(); + $file_name = $name_prefix.'-'.str_random(8).'-'.str_slug(basename($file->getClientOriginalName(), '.'.$extension)).'.'.$file->guessExtension(); + + + \Log::debug("Your filetype IS: ".$file->getMimeType()); + // Check for SVG and sanitize it + if ($file->getMimeType() === 'image/svg+xml') { + \Log::debug('This is an SVG'); + \Log::debug($file_name); + + $sanitizer = new Sanitizer(); + $dirtySVG = file_get_contents($file->getRealPath()); + $cleanSVG = $sanitizer->sanitize($dirtySVG); + + try { + Storage::put($dirname.$file_name, $cleanSVG); + } catch (\Exception $e) { + \Log::debug('Upload no workie :( '); + \Log::debug($e); + } + + } else { + $put_results = Storage::put($dirname.$file_name, file_get_contents($file)); + \Log::debug("Here are the '$put_results' (should be 0 or 1 or true or false or something?)"); + } + return $file_name; + } +} diff --git a/app/Listeners/CheckoutableListener.php b/app/Listeners/CheckoutableListener.php index 3f3e23f1c7..6aa0a0d376 100644 --- a/app/Listeners/CheckoutableListener.php +++ b/app/Listeners/CheckoutableListener.php @@ -60,7 +60,9 @@ class CheckoutableListener if ($this->shouldSendWebhookNotification()) { //slack doesn't include the url in its messaging format so this is needed to hit the endpoint - if(Setting::getSettings()->webhook_selected !='microsoft') { + + if(Setting::getSettings()->webhook_selected =='slack' || Setting::getSettings()->webhook_selected =='general') { + Notification::route('slack', Setting::getSettings()->webhook_endpoint) ->notify($this->getCheckoutNotification($event)); diff --git a/app/Models/Company.php b/app/Models/Company.php index c3a2fdae7f..60a8022ed7 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -113,6 +113,14 @@ final class Company extends SnipeModel } } + /** + * Get the company id for the current user taking into + * account the full multiple company support setting + * and if the current user is a super user. + * + * @param $unescaped_input + * @return int|mixed|string|null + */ public static function getIdForCurrentUser($unescaped_input) { if (! static::isFullMultipleCompanySupportEnabled()) { diff --git a/app/Models/Setting.php b/app/Models/Setting.php index caf142cbdf..c7e67d24d4 100755 --- a/app/Models/Setting.php +++ b/app/Models/Setting.php @@ -352,7 +352,6 @@ class Setting extends Model 'ldap_client_tls_cert', 'ldap_default_group', 'ldap_dept', - 'ldap_emp_num', 'ldap_phone_field', 'ldap_jobtitle', 'ldap_manager', diff --git a/app/Notifications/CheckinAccessoryNotification.php b/app/Notifications/CheckinAccessoryNotification.php index cf9d30539e..04a1d07168 100644 --- a/app/Notifications/CheckinAccessoryNotification.php +++ b/app/Notifications/CheckinAccessoryNotification.php @@ -9,6 +9,11 @@ use Illuminate\Bus\Queueable; use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Messages\SlackMessage; use Illuminate\Notifications\Notification; +use NotificationChannels\GoogleChat\Card; +use NotificationChannels\GoogleChat\GoogleChatChannel; +use NotificationChannels\GoogleChat\GoogleChatMessage; +use NotificationChannels\GoogleChat\Section; +use NotificationChannels\GoogleChat\Widgets\KeyValue; use NotificationChannels\MicrosoftTeams\MicrosoftTeamsChannel; use NotificationChannels\MicrosoftTeams\MicrosoftTeamsMessage; @@ -38,6 +43,10 @@ class CheckinAccessoryNotification extends Notification public function via() { $notifyBy = []; + if (Setting::getSettings()->webhook_selected == 'google'){ + + $notifyBy[] = GoogleChatChannel::class; + } if (Setting::getSettings()->webhook_selected == 'microsoft'){ @@ -132,6 +141,32 @@ class CheckinAccessoryNotification extends Notification ->fact(trans('admin/consumables/general.remaining'), $item->numRemaining()) ->fact(trans('mail.notes'), $note ?: ''); } + public function toGoogleChat() + { + $item = $this->item; + $note = $this->note; + + return GoogleChatMessage::create() + ->to($this->settings->webhook_endpoint) + ->card( + Card::create() + ->header( + ''.trans('mail.Accessory_Checkin_Notification').'' ?: '', + htmlspecialchars_decode($item->present()->name) ?: '', + ) + ->section( + Section::create( + KeyValue::create( + trans('mail.checked_into').': '.$item->location->name ? $item->location->name : '', + trans('admin/consumables/general.remaining').': '.$item->numRemaining(), + trans('admin/hardware/form.notes').": ".$note ?: '', + ) + ->onClick(route('accessories.show', $item->id)) + ) + ) + ); + + } /** * Get the mail representation of the notification. diff --git a/app/Notifications/CheckinAssetNotification.php b/app/Notifications/CheckinAssetNotification.php index 8ee0f93c62..ed3eae2c72 100644 --- a/app/Notifications/CheckinAssetNotification.php +++ b/app/Notifications/CheckinAssetNotification.php @@ -10,6 +10,11 @@ use Illuminate\Bus\Queueable; use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Messages\SlackMessage; use Illuminate\Notifications\Notification; +use NotificationChannels\GoogleChat\Card; +use NotificationChannels\GoogleChat\GoogleChatChannel; +use NotificationChannels\GoogleChat\GoogleChatMessage; +use NotificationChannels\GoogleChat\Section; +use NotificationChannels\GoogleChat\Widgets\KeyValue; use NotificationChannels\MicrosoftTeams\MicrosoftTeamsChannel; use NotificationChannels\MicrosoftTeams\MicrosoftTeamsMessage; @@ -46,6 +51,10 @@ class CheckinAssetNotification extends Notification public function via() { $notifyBy = []; + if (Setting::getSettings()->webhook_selected == 'google'){ + + $notifyBy[] = GoogleChatChannel::class; + } if (Setting::getSettings()->webhook_selected == 'microsoft'){ @@ -108,6 +117,33 @@ class CheckinAssetNotification extends Notification ->fact(trans('admin/hardware/form.status'), $item->assetstatus->name) ->fact(trans('mail.notes'), $note ?: ''); } + public function toGoogleChat() + { + $target = $this->target; + $item = $this->item; + $note = $this->note; + + return GoogleChatMessage::create() + ->to($this->settings->webhook_endpoint) + ->card( + Card::create() + ->header( + ''.trans('mail.Asset_Checkin_Notification').'' ?: '', + htmlspecialchars_decode($item->present()->name) ?: '', + ) + ->section( + Section::create( + KeyValue::create( + trans('mail.checked_into') ?: '', + $item->location->name ? $item->location->name : '', + trans('admin/hardware/form.status').": ".$item->assetstatus->name, + ) + ->onClick(route('hardware.show', $item->id)) + ) + ) + ); + + } /** * Get the mail representation of the notification. diff --git a/app/Notifications/CheckinLicenseSeatNotification.php b/app/Notifications/CheckinLicenseSeatNotification.php index a97c17aca2..7aa02b965a 100644 --- a/app/Notifications/CheckinLicenseSeatNotification.php +++ b/app/Notifications/CheckinLicenseSeatNotification.php @@ -9,6 +9,11 @@ use Illuminate\Bus\Queueable; use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Messages\SlackMessage; use Illuminate\Notifications\Notification; +use NotificationChannels\GoogleChat\Card; +use NotificationChannels\GoogleChat\GoogleChatChannel; +use NotificationChannels\GoogleChat\GoogleChatMessage; +use NotificationChannels\GoogleChat\Section; +use NotificationChannels\GoogleChat\Widgets\KeyValue; use NotificationChannels\MicrosoftTeams\MicrosoftTeamsChannel; use NotificationChannels\MicrosoftTeams\MicrosoftTeamsMessage; @@ -43,6 +48,10 @@ class CheckinLicenseSeatNotification extends Notification { $notifyBy = []; + if (Setting::getSettings()->webhook_selected == 'google'){ + + $notifyBy[] = GoogleChatChannel::class; + } if (Setting::getSettings()->webhook_selected == 'microsoft'){ $notifyBy[] = MicrosoftTeamsChannel::class; @@ -113,6 +122,34 @@ class CheckinLicenseSeatNotification extends Notification ->fact(trans('admin/consumables/general.remaining'), $item->availCount()->count()) ->fact(trans('mail.notes'), $note ?: ''); } + public function toGoogleChat() + { + $target = $this->target; + $item = $this->item; + $note = $this->note; + + return GoogleChatMessage::create() + ->to($this->settings->webhook_endpoint) + ->card( + Card::create() + ->header( + ''.trans('mail.License_Checkin_Notification').'' ?: '', + htmlspecialchars_decode($item->present()->name) ?: '', + ) + ->section( + Section::create( + KeyValue::create( + trans('mail.checkedin_from') ?: '', + $target->present()->fullName() ?: '', + trans('admin/consumables/general.remaining').': '.$item->availCount()->count(), + ) + ->onClick(route('licenses.show', $item->id)) + ) + ) + ); + + } + /** * Get the mail representation of the notification. diff --git a/app/Notifications/CheckoutAccessoryNotification.php b/app/Notifications/CheckoutAccessoryNotification.php index 4efc922a07..08b80e75ad 100644 --- a/app/Notifications/CheckoutAccessoryNotification.php +++ b/app/Notifications/CheckoutAccessoryNotification.php @@ -9,6 +9,11 @@ use Illuminate\Bus\Queueable; use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Messages\SlackMessage; use Illuminate\Notifications\Notification; +use NotificationChannels\GoogleChat\Card; +use NotificationChannels\GoogleChat\GoogleChatChannel; +use NotificationChannels\GoogleChat\GoogleChatMessage; +use NotificationChannels\GoogleChat\Section; +use NotificationChannels\GoogleChat\Widgets\KeyValue; use NotificationChannels\MicrosoftTeams\MicrosoftTeamsChannel; use NotificationChannels\MicrosoftTeams\MicrosoftTeamsMessage; @@ -37,6 +42,10 @@ class CheckoutAccessoryNotification extends Notification public function via() { $notifyBy = []; + if (Setting::getSettings()->webhook_selected == 'google'){ + + $notifyBy[] = GoogleChatChannel::class; + } if (Setting::getSettings()->webhook_selected == 'microsoft'){ @@ -123,6 +132,34 @@ class CheckoutAccessoryNotification extends Notification ->fact(trans('mail.notes'), $note ?: ''); } + public function toGoogleChat() + { + $target = $this->target; + $item = $this->item; + $note = $this->note; + + return GoogleChatMessage::create() + ->to($this->settings->webhook_endpoint) + ->card( + Card::create() + ->header( + ''.trans('mail.Accessory_Checkout_Notification').'' ?: '', + htmlspecialchars_decode($item->present()->name) ?: '', + ) + ->section( + Section::create( + KeyValue::create( + trans('mail.assigned_to') ?: '', + $target->present()->name ?: '', + trans('admin/consumables/general.remaining').": ". $item->numRemaining(), + ) + ->onClick(route('users.show', $target->id)) + ) + ) + ); + + } + /** * Get the mail representation of the notification. diff --git a/app/Notifications/CheckoutAssetNotification.php b/app/Notifications/CheckoutAssetNotification.php index 36697c21d9..398be13844 100644 --- a/app/Notifications/CheckoutAssetNotification.php +++ b/app/Notifications/CheckoutAssetNotification.php @@ -11,6 +11,13 @@ use Illuminate\Bus\Queueable; use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Messages\SlackMessage; use Illuminate\Notifications\Notification; +use NotificationChannels\GoogleChat\Card; +use NotificationChannels\GoogleChat\Enums\Icon; +use NotificationChannels\GoogleChat\Enums\ImageStyle; +use NotificationChannels\GoogleChat\GoogleChatChannel; +use NotificationChannels\GoogleChat\GoogleChatMessage; +use NotificationChannels\GoogleChat\Section; +use NotificationChannels\GoogleChat\Widgets\KeyValue; use NotificationChannels\MicrosoftTeams\MicrosoftTeamsChannel; use NotificationChannels\MicrosoftTeams\MicrosoftTeamsMessage; @@ -54,13 +61,20 @@ class CheckoutAssetNotification extends Notification */ public function via() { + $notifyBy = []; + if (Setting::getSettings()->webhook_selected == 'google'){ + + $notifyBy[] = GoogleChatChannel::class; + } + if (Setting::getSettings()->webhook_selected == 'microsoft'){ - return [MicrosoftTeamsChannel::class]; + $notifyBy[] = MicrosoftTeamsChannel::class; } - $notifyBy = []; + if (Setting::getSettings()->webhook_selected == 'slack' || Setting::getSettings()->webhook_selected == 'general' ) { + \Log::debug('use webhook'); $notifyBy[] = 'slack'; } @@ -143,6 +157,33 @@ class CheckoutAssetNotification extends Notification } +public function toGoogleChat() + { + $target = $this->target; + $item = $this->item; + $note = $this->note; + + return GoogleChatMessage::create() + ->to($this->settings->webhook_endpoint) + ->card( + Card::create() + ->header( + ''.trans('mail.Asset_Checkout_Notification').'' ?: '', + htmlspecialchars_decode($item->present()->name) ?: '', + ) + ->section( + Section::create( + KeyValue::create( + trans('mail.assigned_to') ?: '', + $target->present()->name ?: '', + $note ?: '', + ) + ->onClick(route('users.show', $target->id)) + ) + ) + ); + + } /** * Get the mail representation of the notification. diff --git a/app/Notifications/CheckoutConsumableNotification.php b/app/Notifications/CheckoutConsumableNotification.php index 392928af28..0862d91537 100644 --- a/app/Notifications/CheckoutConsumableNotification.php +++ b/app/Notifications/CheckoutConsumableNotification.php @@ -9,6 +9,11 @@ use Illuminate\Bus\Queueable; use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Messages\SlackMessage; use Illuminate\Notifications\Notification; +use NotificationChannels\GoogleChat\Card; +use NotificationChannels\GoogleChat\GoogleChatChannel; +use NotificationChannels\GoogleChat\GoogleChatMessage; +use NotificationChannels\GoogleChat\Section; +use NotificationChannels\GoogleChat\Widgets\KeyValue; use NotificationChannels\MicrosoftTeams\MicrosoftTeamsChannel; use NotificationChannels\MicrosoftTeams\MicrosoftTeamsMessage; @@ -44,6 +49,10 @@ class CheckoutConsumableNotification extends Notification public function via() { $notifyBy = []; + if (Setting::getSettings()->webhook_selected == 'google'){ + + $notifyBy[] = GoogleChatChannel::class; + } if (Setting::getSettings()->webhook_selected == 'microsoft'){ @@ -128,6 +137,33 @@ class CheckoutConsumableNotification extends Notification ->fact(trans('admin/consumables/general.remaining'), $item->numRemaining()) ->fact(trans('mail.notes'), $note ?: ''); } + public function toGoogleChat() + { + $target = $this->target; + $item = $this->item; + $note = $this->note; + + return GoogleChatMessage::create() + ->to($this->settings->webhook_endpoint) + ->card( + Card::create() + ->header( + ''.trans('mail.Consumable_checkout_notification').'' ?: '', + htmlspecialchars_decode($item->present()->name) ?: '', + ) + ->section( + Section::create( + KeyValue::create( + trans('mail.assigned_to') ?: '', + $target->present()->fullName() ?: '', + trans('admin/consumables/general.remaining').': '.$item->numRemaining(), + ) + ->onClick(route('users.show', $target->id)) + ) + ) + ); + + } /** * Get the mail representation of the notification. diff --git a/app/Notifications/CheckoutLicenseSeatNotification.php b/app/Notifications/CheckoutLicenseSeatNotification.php index c763599393..8e0273c66e 100644 --- a/app/Notifications/CheckoutLicenseSeatNotification.php +++ b/app/Notifications/CheckoutLicenseSeatNotification.php @@ -9,6 +9,11 @@ use Illuminate\Bus\Queueable; use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Messages\SlackMessage; use Illuminate\Notifications\Notification; +use NotificationChannels\GoogleChat\Card; +use NotificationChannels\GoogleChat\GoogleChatChannel; +use NotificationChannels\GoogleChat\GoogleChatMessage; +use NotificationChannels\GoogleChat\Section; +use NotificationChannels\GoogleChat\Widgets\KeyValue; use NotificationChannels\MicrosoftTeams\MicrosoftTeamsChannel; use NotificationChannels\MicrosoftTeams\MicrosoftTeamsMessage; @@ -43,9 +48,12 @@ class CheckoutLicenseSeatNotification extends Notification */ public function via() { - $notifyBy = []; + if (Setting::getSettings()->webhook_selected == 'google'){ + + $notifyBy[] = GoogleChatChannel::class; + } if (Setting::getSettings()->webhook_selected == 'microsoft'){ $notifyBy[] = MicrosoftTeamsChannel::class; @@ -129,6 +137,33 @@ class CheckoutLicenseSeatNotification extends Notification ->fact(trans('admin/consumables/general.remaining'), $item->availCount()->count()) ->fact(trans('mail.notes'), $note ?: ''); } + public function toGoogleChat() + { + $target = $this->target; + $item = $this->item; + $note = $this->note; + + return GoogleChatMessage::create() + ->to($this->settings->webhook_endpoint) + ->card( + Card::create() + ->header( + ''.trans('mail.License_Checkout_Notification').'' ?: '', + htmlspecialchars_decode($item->present()->name) ?: '', + ) + ->section( + Section::create( + KeyValue::create( + trans('mail.assigned_to') ?: '', + $target->present()->name ?: '', + trans('admin/consumables/general.remaining').': '.$item->availCount()->count(), + ) + ->onClick(route('users.show', $target->id)) + ) + ) + ); + + } /** * Get the mail representation of the notification. diff --git a/app/Presenters/ManufacturerPresenter.php b/app/Presenters/ManufacturerPresenter.php index f5c15f1fe5..ad6b5443bf 100644 --- a/app/Presenters/ManufacturerPresenter.php +++ b/app/Presenters/ManufacturerPresenter.php @@ -45,7 +45,7 @@ class ManufacturerPresenter extends Presenter 'searchable' => true, 'sortable' => true, 'switchable' => true, - 'title' => trans('admin/manufacturers/table.url'), + 'title' => trans('general.url'), 'visible' => true, 'formatter' => 'externalLinkFormatter', ], diff --git a/composer.json b/composer.json index a378f15900..207d7d9f8c 100644 --- a/composer.json +++ b/composer.json @@ -42,6 +42,7 @@ "guzzlehttp/guzzle": "^7.0.1", "intervention/image": "^2.5", "javiereguiluz/easyslugger": "^1.0", + "laravel-notification-channels/google-chat": "^1.0", "laravel-notification-channels/microsoft-teams": "^1.1", "laravel/framework": "^8.46", "laravel/helpers": "^1.4", diff --git a/composer.lock b/composer.lock index f4baccc092..961467e19c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "89580c52de91168aac8321460bd428e2", + "content-hash": "9cca85cd0074df9154765b1ab52f83fa", "packages": [ { "name": "alek13/slack", @@ -3188,6 +3188,63 @@ }, "time": "2015-04-12T19:57:10+00:00" }, + { + "name": "laravel-notification-channels/google-chat", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/laravel-notification-channels/google-chat.git", + "reference": "843078439403a925b484cef99a26b447e30a9c32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel-notification-channels/google-chat/zipball/843078439403a925b484cef99a26b447e30a9c32", + "reference": "843078439403a925b484cef99a26b447e30a9c32", + "shasum": "" + }, + "require": { + "guzzlehttp/guzzle": "^6.3 || ^7.0", + "illuminate/notifications": "~8.0", + "illuminate/support": "~8.0", + "php": ">=7.3" + }, + "require-dev": { + "orchestra/testbench": "^6.0", + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "NotificationChannels\\GoogleChat\\GoogleChatServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "NotificationChannels\\GoogleChat\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank Dixon", + "email": "frank@thetreehouse.family", + "homepage": "https://thetreehouse.family", + "role": "Developer" + } + ], + "description": "Google Chat Notification Channel for Laravel (fka. Hangouts Chat)", + "homepage": "https://github.com/laravel-notification-channels/google-chat", + "support": { + "issues": "https://github.com/laravel-notification-channels/google-chat/issues", + "source": "https://github.com/laravel-notification-channels/google-chat/tree/v1.0.1" + }, + "time": "2021-07-15T22:40:51+00:00" + }, { "name": "laravel-notification-channels/microsoft-teams", "version": "v1.1.4", diff --git a/database/factories/AccessoryFactory.php b/database/factories/AccessoryFactory.php index 8ce34303b3..4066526770 100644 --- a/database/factories/AccessoryFactory.php +++ b/database/factories/AccessoryFactory.php @@ -33,7 +33,7 @@ class AccessoryFactory extends Factory $this->faker->randomElement(['Keyboard', 'Wired']) ), 'user_id' => User::factory()->superuser(), - 'category_id' => Category::factory(), + 'category_id' => Category::factory()->forAccessories(), 'model_number' => $this->faker->numberBetween(1000000, 50000000), 'location_id' => Location::factory(), 'qty' => 1, @@ -114,4 +114,30 @@ class AccessoryFactory extends Factory ]; }); } + + public function withoutItemsRemaining() + { + return $this->state(function () { + return [ + 'qty' => 1, + ]; + })->afterCreating(function ($accessory) { + $user = User::factory()->create(); + + $accessory->users()->attach($accessory->id, [ + 'accessory_id' => $accessory->id, + 'created_at' => now(), + 'user_id' => $user->id, + 'assigned_to' => $user->id, + 'note' => '', + ]); + }); + } + + public function requiringAcceptance() + { + return $this->afterCreating(function ($accessory) { + $accessory->category->update(['require_acceptance' => 1]); + }); + } } diff --git a/database/factories/CategoryFactory.php b/database/factories/CategoryFactory.php index 94a9626da4..fe6bc255b7 100644 --- a/database/factories/CategoryFactory.php +++ b/database/factories/CategoryFactory.php @@ -172,4 +172,10 @@ class CategoryFactory extends Factory ]); } + public function forAccessories() + { + return $this->state([ + 'category_type' => 'accessory', + ]); + } } diff --git a/database/factories/ConsumableFactory.php b/database/factories/ConsumableFactory.php index 18a116418b..d9aec36afa 100644 --- a/database/factories/ConsumableFactory.php +++ b/database/factories/ConsumableFactory.php @@ -91,4 +91,29 @@ class ConsumableFactory extends Factory ]; }); } + + public function withoutItemsRemaining() + { + return $this->state(function () { + return [ + 'qty' => 1, + ]; + })->afterCreating(function (Consumable $consumable) { + $user = User::factory()->create(); + + $consumable->users()->attach($consumable->id, [ + 'consumable_id' => $consumable->id, + 'user_id' => $user->id, + 'assigned_to' => $user->id, + 'note' => '', + ]); + }); + } + + public function requiringAcceptance() + { + return $this->afterCreating(function (Consumable $consumable) { + $consumable->category->update(['require_acceptance' => 1]); + }); + } } diff --git a/package-lock.json b/package-lock.json index 957d510248..6db30f8651 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3348,9 +3348,9 @@ "integrity": "sha1-EQPWvADPv6jPyaJZmrUYxVZD2j8=" }, "bootstrap-table": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/bootstrap-table/-/bootstrap-table-1.22.1.tgz", - "integrity": "sha512-Nw8p+BmaiMDSfoer/p49YeI3vJQAWhudxhyKMuqnJBb3NRvCRewMk7JDgiN9SQO3YeSejOirKtcdWpM0dtddWg==" + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/bootstrap-table/-/bootstrap-table-1.22.2.tgz", + "integrity": "sha512-ZjZGcEXm/N7N/wAykmANWKKV+U+7AxgoNuBwWLrKbvAGT8XXS2f0OCiFmuMwpkqg7pDbF+ff9bEf/lOAlxcF1w==" }, "brace-expansion": { "version": "1.1.11", diff --git a/package.json b/package.json index c57348dc68..e54390ee90 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "bootstrap-colorpicker": "^2.5.3", "bootstrap-datepicker": "^1.10.0", "bootstrap-less": "^3.3.8", - "bootstrap-table": "1.22.1", + "bootstrap-table": "1.22.2", "chart.js": "^2.9.4", "clipboard": "^2.0.11", "css-loader": "^5.0.0", diff --git a/public/css/dist/all.css b/public/css/dist/all.css index 53e604b8a8..a05999fad9 100644 --- a/public/css/dist/all.css +++ b/public/css/dist/all.css @@ -21120,7 +21120,7 @@ hr { /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVra28tbGlnaHRib3guY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQ0UsOEJBQXlCLEFBQXpCLHVCQUF5QixBQUN6QixzQkFBb0IsQUFBcEIsbUJBQW9CLEFBQ3BCLHFCQUF3QixBQUF4Qix1QkFBd0IsQUFDeEIseUJBQTZCLENBQzlCLEFBQ0QseUJBQ0UsaUJBQW1CLENBQ3BCLEFBQ0QsZ0RBQ0Usa0JBQW1CLEFBQ25CLE1BQU8sQUFDUCxPQUFRLEFBQ1IsU0FBVSxBQUNWLFFBQVMsQUFDVCxVQUFZLENBQ2IsQUFDRCxzQkFDRSxXQUFZLEFBQ1osV0FBYSxDQUNkLEFBQ0QsMkJBQ0UsVUFBYSxBQUNiLGtCQUFtQixBQUNuQixNQUFPLEFBQ1AsT0FBUSxBQUNSLFdBQVksQUFDWixZQUFhLEFBQ2Isb0JBQWMsQUFBZCxZQUFjLENBQ2YsQUFDRCw2QkFDRSxXQUFRLEFBQVIsT0FBUSxBQUNSLG9CQUFjLEFBQWQsYUFBYyxBQUNkLHNCQUFvQixBQUFwQixtQkFBb0IsQUFDcEIsVUFBVyxBQUNYLHVCQUF5QixBQUN6QixXQUFZLEFBQ1osZUFBZ0IsQUFDaEIsU0FBYSxDQUNkLEFBQ0QsK0JBQ0Usb0JBQWEsQUFBYixXQUFhLENBQ2QsQUFDRCxvQ0FDRSxZQUFjLENBQ2YsQUFDRCxrQ0FDRSxjQUFnQixDQUNqQixBQUNELDZDQUNFLGdCQUFrQixDQUNuQixBQUNELG1DQUNFLG9CQUFzQixDQUN2QixBQUNELG1DQUNFLFlBQWMsQ0FDZixBQUNELHNDQUNFLGVBQWdCLEFBQ2hCLGlCQUFtQixDQUNwQixBQUNELHVCQUNFLFVBQVcsQUFDWCxvQkFBc0IsQ0FDdkIsQUFDRCw2QkFDRSxZQUFjLENBQ2YsQUFDRCw2QkFDRSxlQUFpQixDQUNsQixBQUNELHNCQUNFLGtCQUFtQixBQUNuQixNQUFPLEFBQ1AsT0FBUSxBQUNSLFNBQVUsQUFDVixRQUFTLEFBQ1QsV0FBWSxBQUNaLG9CQUFjLEFBQWQsYUFBYyxBQUVkLDBCQUF1QixBQUF2QixzQkFBdUIsQUFFdkIscUJBQXdCLEFBQXhCLHVCQUF3QixBQUV4QixzQkFBb0IsQUFBcEIsa0JBQW9CLENBQ3JCLEFBQ0QsMEJBQ0UsV0FBWSxBQUNaLFlBQWEsQUFDYixrQkFBbUIsQUFDbkIsaUJBQW1CLENBQ3BCLEFBQ0QsOEJBQ0UsV0FBWSxBQUNaLFlBQWEsQUFDYixrQkFBbUIsQUFDbkIsc0JBQXVCLEFBQ3ZCLFdBQWEsQUFDYixrQkFBbUIsQUFDbkIsTUFBTyxBQUNQLE9BQVEsQUFDUixtQ0FBNkMsQ0FDOUMsQUFDRCx5Q0FDRSxtQkFBcUIsQ0FDdEIsQUFDRCw0Q0FDRSxxQkFBdUIsQ0FDeEIsQUFVRCxhQUNFLE1BRUUsbUJBQW9CLEFBQ3BCLDBCQUE0QixDQUM3QixBQUNELElBQ0UsbUJBQW9CLEFBQ3BCLDBCQUE0QixDQUM3QixDQUNGIiwiZmlsZSI6ImVra28tbGlnaHRib3guY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmVra28tbGlnaHRib3gge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLXJpZ2h0OiAwcHghaW1wb3J0YW50O1xufVxuLmVra28tbGlnaHRib3gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmVra28tbGlnaHRib3gtY29udGFpbmVyID4gZGl2LmVra28tbGlnaHRib3gtaXRlbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi5la2tvLWxpZ2h0Ym94IGlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSB7XG4gIHotaW5kZXg6IDEwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhIHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAzMHB4O1xuICB6LWluZGV4OiAxMDA7XG59XG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhID4gKiB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cbi5la2tvLWxpZ2h0Ym94LW5hdi1vdmVybGF5IGEgPiAqOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5la2tvLWxpZ2h0Ym94LW5hdi1vdmVybGF5IGEgc3BhbiB7XG4gIHBhZGRpbmc6IDAgMzBweDtcbn1cbi5la2tvLWxpZ2h0Ym94LW5hdi1vdmVybGF5IGE6bGFzdC1jaGlsZCBzcGFuIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmVra28tbGlnaHRib3gtbmF2LW92ZXJsYXkgYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhLmRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uZWtrby1saWdodGJveCBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmVra28tbGlnaHRib3ggLm1vZGFsLWRpYWxvZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZWtrby1saWdodGJveCAubW9kYWwtZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5la2tvLWxpZ2h0Ym94LWxvYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogZXN0YWJsaXNoIGZsZXggY29udGFpbmVyICovXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC8qIG1ha2UgbWFpbiBheGlzIHZlcnRpY2FsICovXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAvKiBjZW50ZXIgaXRlbXMgdmVydGljYWxseSwgaW4gdGhpcyBjYXNlICovXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZWtrby1saWdodGJveC1sb2FkZXIgPiBkaXYge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5la2tvLWxpZ2h0Ym94LWxvYWRlciA+IGRpdiA+IGRpdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3BhY2l0eTogMC42O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYW5pbWF0aW9uOiBzay1ib3VuY2UgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG59XG4uZWtrby1saWdodGJveC1sb2FkZXIgPiBkaXYgPiBkaXY6bGFzdC1jaGlsZCB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTFzO1xufVxuLm1vZGFsLWRpYWxvZyAuZWtrby1saWdodGJveC1sb2FkZXIgPiBkaXYgPiBkaXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZSB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2stYm91bmNlIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbiJdfQ== */ /** * @author zhixin wen - * version: 1.22.1 + * version: 1.22.2 * https://github.com/wenzhixin/bootstrap-table/ */ /* stylelint-disable annotation-no-unknown, max-line-length */ @@ -21318,8 +21318,7 @@ hr { } .bootstrap-table .fixed-table-container .fixed-table-body { - overflow-x: auto; - overflow-y: auto; + overflow: auto auto; height: 100%; } diff --git a/public/css/dist/bootstrap-table.css b/public/css/dist/bootstrap-table.css index b3304f6aeb..3a0ccc65c7 100644 --- a/public/css/dist/bootstrap-table.css +++ b/public/css/dist/bootstrap-table.css @@ -1,6 +1,6 @@ /** * @author zhixin wen - * version: 1.22.1 + * version: 1.22.2 * https://github.com/wenzhixin/bootstrap-table/ */ /* stylelint-disable annotation-no-unknown, max-line-length */ @@ -198,8 +198,7 @@ } .bootstrap-table .fixed-table-container .fixed-table-body { - overflow-x: auto; - overflow-y: auto; + overflow: auto auto; height: 100%; } diff --git a/public/js/dist/bootstrap-table.js b/public/js/dist/bootstrap-table.js index ede82d13f7..6dfb14e51a 100644 --- a/public/js/dist/bootstrap-table.js +++ b/public/js/dist/bootstrap-table.js @@ -407,41 +407,55 @@ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.BootstrapTable = factory(global.jQuery)); })(this, (function ($$p) { 'use strict'; - function _iterableToArrayLimit(arr, i) { - var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; - if (null != _i) { - var _s, - _e, - _x, - _r, - _arr = [], - _n = !0, - _d = !1; + function _iterableToArrayLimit(r, l) { + var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t) { + var e, + n, + i, + u, + a = [], + f = !0, + o = !1; try { - if (_x = (_i = _i.call(arr)).next, 0 === i) { - if (Object(_i) !== _i) return; - _n = !1; - } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); - } catch (err) { - _d = !0, _e = err; + if (i = (t = t.call(r)).next, 0 === l) { + if (Object(t) !== t) return; + f = !1; + } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); + } catch (r) { + o = !0, n = r; } finally { try { - if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; + if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { - if (_d) throw _e; + if (o) throw n; } } - return _arr; + return a; } } - function _typeof(obj) { + function _toPrimitive(t, r) { + if ("object" != typeof t || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != typeof i) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); + } + function _toPropertyKey(t) { + var i = _toPrimitive(t, "string"); + return "symbol" == typeof i ? i : String(i); + } + function _typeof(o) { "@babel/helpers - typeof"; - return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { - return typeof obj; - } : function (obj) { - return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }, _typeof(obj); + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, _typeof(o); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { @@ -550,41 +564,28 @@ } }; } - function _toPrimitive(input, hint) { - if (typeof input !== "object" || input === null) return input; - var prim = input[Symbol.toPrimitive]; - if (prim !== undefined) { - var res = prim.call(input, hint || "default"); - if (typeof res !== "object") return res; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return (hint === "string" ? String : Number)(input); - } - function _toPropertyKey(arg) { - var key = _toPrimitive(arg, "string"); - return typeof key === "symbol" ? key : String(key); - } var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; var check = function (it) { - return it && it.Math == Math && it; + return it && it.Math === Math && it; }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 - var global$k = + var global$l = // 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 commonjsGlobal == 'object' && commonjsGlobal) || + check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback (function () { return this; })() || Function('return this')(); var objectGetOwnPropertyDescriptor = {}; - var fails$v = function (exec) { + var fails$w = function (exec) { try { return !!exec(); } catch (error) { @@ -592,17 +593,17 @@ } }; - var fails$u = fails$v; + var fails$v = fails$w; // Detect IE8's incomplete defineProperty implementation - var descriptors = !fails$u(function () { + var descriptors = !fails$v(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing - return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; }); - var fails$t = fails$v; + var fails$u = fails$w; - var functionBindNative = !fails$t(function () { + var functionBindNative = !fails$u(function () { // eslint-disable-next-line es/no-function-prototype-bind -- safe var test = (function () { /* empty */ }).bind(); // eslint-disable-next-line no-prototype-builtins -- safe @@ -664,19 +665,19 @@ }; var uncurryThis$y = functionUncurryThis; - var fails$s = fails$v; + var fails$t = fails$w; var classof$7 = classofRaw$2; var $Object$4 = Object; var split = uncurryThis$y(''.split); // fallback for non-array-like ES3 and non-enumerable old V8 strings - var indexedObject = fails$s(function () { + var indexedObject = fails$t(function () { // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 // eslint-disable-next-line no-prototype-builtins -- safe return !$Object$4('z').propertyIsEnumerable(0); }) ? function (it) { - return classof$7(it) == 'String' ? split(it, '') : $Object$4(it); + return classof$7(it) === 'String' ? split(it, '') : $Object$4(it); } : $Object$4; // we can't use just `it == null` since of `document.all` special case @@ -692,7 +693,7 @@ // `RequireObjectCoercible` abstract operation // https://tc39.es/ecma262/#sec-requireobjectcoercible var requireObjectCoercible$b = function (it) { - if (isNullOrUndefined$6(it)) throw $TypeError$c("Can't call method on " + it); + if (isNullOrUndefined$6(it)) throw new $TypeError$c("Can't call method on " + it); return it; }; @@ -738,7 +739,7 @@ return typeof it == 'object' ? it !== null : isCallable$i(it); }; - var global$j = global$k; + var global$k = global$l; var isCallable$h = isCallable$j; var aFunction = function (argument) { @@ -746,7 +747,7 @@ }; var getBuiltIn$5 = function (namespace, method) { - return arguments.length < 2 ? aFunction(global$j[namespace]) : global$j[namespace] && global$j[namespace][method]; + return arguments.length < 2 ? aFunction(global$k[namespace]) : global$k[namespace] && global$k[namespace][method]; }; var uncurryThis$x = functionUncurryThis; @@ -755,11 +756,11 @@ var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; - var global$i = global$k; + var global$j = global$l; var userAgent$2 = engineUserAgent; - var process = global$i.process; - var Deno = global$i.Deno; + var process = global$j.process; + var Deno = global$j.Deno; var versions = process && process.versions || Deno && Deno.version; var v8 = versions && versions.v8; var match, version; @@ -784,22 +785,25 @@ var engineV8Version = version; /* eslint-disable es/no-symbol -- required for testing */ - var V8_VERSION$2 = engineV8Version; - var fails$r = fails$v; + var fails$s = fails$w; + var global$i = global$l; + + var $String$5 = global$i.String; // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing - var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$r(function () { - var symbol = Symbol(); + var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$s(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 - return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String$5(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances !Symbol.sham && V8_VERSION$2 && V8_VERSION$2 < 41; }); /* eslint-disable es/no-symbol -- required for testing */ - var NATIVE_SYMBOL$1 = symbolConstructorDetection; var useSymbolAsUid = NATIVE_SYMBOL$1 @@ -838,7 +842,7 @@ // `Assert: IsCallable(argument) is true` var aCallable$4 = function (argument) { if (isCallable$f(argument)) return argument; - throw $TypeError$b(tryToString$2(argument) + ' is not a function'); + throw new $TypeError$b(tryToString$2(argument) + ' is not a function'); }; var aCallable$3 = aCallable$4; @@ -864,18 +868,14 @@ if (pref === 'string' && isCallable$e(fn = input.toString) && !isObject$a(val = call$c(fn, input))) return val; if (isCallable$e(fn = input.valueOf) && !isObject$a(val = call$c(fn, input))) return val; if (pref !== 'string' && isCallable$e(fn = input.toString) && !isObject$a(val = call$c(fn, input))) return val; - throw $TypeError$a("Can't convert object to primitive value"); + throw new $TypeError$a("Can't convert object to primitive value"); }; - var sharedExports = {}; - var shared$4 = { - get exports(){ return sharedExports; }, - set exports(v){ sharedExports = v; }, - }; + var shared$4 = {exports: {}}; var isPure = false; - var global$h = global$k; + var global$h = global$l; // eslint-disable-next-line es/no-object-defineproperty -- safe var defineProperty$8 = Object.defineProperty; @@ -888,7 +888,7 @@ } return value; }; - var global$g = global$k; + var global$g = global$l; var defineGlobalProperty$2 = defineGlobalProperty$3; var SHARED = '__core-js_shared__'; @@ -901,13 +901,15 @@ (shared$4.exports = function (key, value) { return store$2[key] || (store$2[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.29.0', + version: '3.34.0', mode: 'global', copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.29.0/LICENSE', + license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE', source: 'https://github.com/zloirock/core-js' }); + var sharedExports = shared$4.exports; + var requireObjectCoercible$9 = requireObjectCoercible$b; var $Object$2 = Object; @@ -940,7 +942,7 @@ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$g(++id + postfix, 36); }; - var global$f = global$k; + var global$f = global$l; var shared$3 = sharedExports; var hasOwn$b = hasOwnProperty_1; var uid$1 = uid$2; @@ -979,7 +981,7 @@ if (pref === undefined) pref = 'default'; result = call$b(exoticToPrim, input, pref); if (!isObject$9(result) || isSymbol$2(result)) return result; - throw $TypeError$9("Can't convert object to primitive value"); + throw new $TypeError$9("Can't convert object to primitive value"); } if (pref === undefined) pref = 'number'; return ordinaryToPrimitive(input, pref); @@ -995,7 +997,7 @@ return isSymbol$1(key) ? key : key + ''; }; - var global$e = global$k; + var global$e = global$l; var isObject$8 = isObject$b; var document$1 = global$e.document; @@ -1007,15 +1009,15 @@ }; var DESCRIPTORS$e = descriptors; - var fails$q = fails$v; + var fails$r = fails$w; var createElement = documentCreateElement$2; // Thanks to IE8 for its funny defineProperty - var ie8DomDefine = !DESCRIPTORS$e && !fails$q(function () { + var ie8DomDefine = !DESCRIPTORS$e && !fails$r(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } - }).a != 7; + }).a !== 7; }); var DESCRIPTORS$d = descriptors; @@ -1044,16 +1046,16 @@ var objectDefineProperty = {}; var DESCRIPTORS$c = descriptors; - var fails$p = fails$v; + var fails$q = fails$w; // V8 ~ Chrome 36- // https://bugs.chromium.org/p/v8/issues/detail?id=3334 - var v8PrototypeDefineBug = DESCRIPTORS$c && fails$p(function () { + var v8PrototypeDefineBug = DESCRIPTORS$c && fails$q(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(function () { /* empty */ }, 'prototype', { value: 42, writable: false - }).prototype != 42; + }).prototype !== 42; }); var isObject$7 = isObject$b; @@ -1064,7 +1066,7 @@ // `Assert: Type(argument) is Object` var anObject$d = function (argument) { if (isObject$7(argument)) return argument; - throw $TypeError$8($String$3(argument) + ' is not an object'); + throw new $TypeError$8($String$3(argument) + ' is not an object'); }; var DESCRIPTORS$b = descriptors; @@ -1106,7 +1108,7 @@ if (IE8_DOM_DEFINE) try { return $defineProperty(O, P, Attributes); } catch (error) { /* empty */ } - if ('get' in Attributes || 'set' in Attributes) throw $TypeError$7('Accessors not supported'); + if ('get' in Attributes || 'set' in Attributes) throw new $TypeError$7('Accessors not supported'); if ('value' in Attributes) O[P] = Attributes.value; return O; }; @@ -1122,11 +1124,7 @@ return object; }; - var makeBuiltInExports = {}; - var makeBuiltIn$3 = { - get exports(){ return makeBuiltInExports; }, - set exports(v){ makeBuiltInExports = v; }, - }; + var makeBuiltIn$3 = {exports: {}}; var DESCRIPTORS$9 = descriptors; var hasOwn$9 = hasOwnProperty_1; @@ -1161,7 +1159,7 @@ var inspectSource$2 = store$1.inspectSource; - var global$d = global$k; + var global$d = global$l; var isCallable$c = isCallable$j; var WeakMap$1 = global$d.WeakMap; @@ -1180,7 +1178,7 @@ var hiddenKeys$4 = {}; var NATIVE_WEAK_MAP = weakMapBasicDetection; - var global$c = global$k; + var global$c = global$l; var isObject$6 = isObject$b; var createNonEnumerableProperty$6 = createNonEnumerableProperty$7; var hasOwn$8 = hasOwnProperty_1; @@ -1201,7 +1199,7 @@ return function (it) { var state; if (!isObject$6(it) || (state = get(it)).type !== TYPE) { - throw TypeError$2('Incompatible receiver, ' + TYPE + ' required'); + throw new TypeError$2('Incompatible receiver, ' + TYPE + ' required'); } return state; }; }; @@ -1214,7 +1212,7 @@ store.set = store.set; /* eslint-enable no-self-assign -- prototype methods protection */ set = function (it, metadata) { - if (store.has(it)) throw TypeError$2(OBJECT_ALREADY_INITIALIZED); + if (store.has(it)) throw new TypeError$2(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; store.set(it, metadata); return metadata; @@ -1229,7 +1227,7 @@ var STATE = sharedKey$2('state'); hiddenKeys$3[STATE] = true; set = function (it, metadata) { - if (hasOwn$8(it, STATE)) throw TypeError$2(OBJECT_ALREADY_INITIALIZED); + if (hasOwn$8(it, STATE)) throw new TypeError$2(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; createNonEnumerableProperty$6(it, STATE, metadata); return metadata; @@ -1251,7 +1249,7 @@ }; var uncurryThis$t = functionUncurryThis; - var fails$o = fails$v; + var fails$p = fails$w; var isCallable$b = isCallable$j; var hasOwn$7 = hasOwnProperty_1; var DESCRIPTORS$8 = descriptors; @@ -1268,7 +1266,7 @@ var replace$4 = uncurryThis$t(''.replace); var join = uncurryThis$t([].join); - var CONFIGURABLE_LENGTH = DESCRIPTORS$8 && !fails$o(function () { + var CONFIGURABLE_LENGTH = DESCRIPTORS$8 && !fails$p(function () { return defineProperty$7(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; }); @@ -1305,6 +1303,8 @@ return isCallable$b(this) && getInternalState$2(this).source || inspectSource$1(this); }, 'toString'); + var makeBuiltInExports = makeBuiltIn$3.exports; + var isCallable$a = isCallable$j; var definePropertyModule$3 = objectDefineProperty; var makeBuiltIn$1 = makeBuiltInExports; @@ -1400,10 +1400,10 @@ 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) { + 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; + 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; @@ -1501,16 +1501,16 @@ } }; - var fails$n = fails$v; + var fails$o = fails$w; var isCallable$9 = isCallable$j; var replacement = /#|\.prototype\./; var isForced$3 = function (feature, detection) { var value = data[normalize(feature)]; - return value == POLYFILL ? true - : value == NATIVE ? false - : isCallable$9(detection) ? fails$n(detection) + return value === POLYFILL ? true + : value === NATIVE ? false + : isCallable$9(detection) ? fails$o(detection) : !!detection; }; @@ -1524,7 +1524,7 @@ var isForced_1 = isForced$3; - var global$b = global$k; + var global$b = global$l; var getOwnPropertyDescriptor$4 = objectGetOwnPropertyDescriptor.f; var createNonEnumerableProperty$5 = createNonEnumerableProperty$7; var defineBuiltIn$6 = defineBuiltIn$7; @@ -1592,7 +1592,7 @@ var DESCRIPTORS$7 = descriptors; var uncurryThis$q = functionUncurryThis; var call$9 = functionCall; - var fails$m = fails$v; + var fails$n = fails$w; var objectKeys$2 = objectKeys$3; var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols; var propertyIsEnumerableModule = objectPropertyIsEnumerable; @@ -1607,7 +1607,7 @@ // `Object.assign` method // https://tc39.es/ecma262/#sec-object.assign - var objectAssign = !$assign || fails$m(function () { + var objectAssign = !$assign || fails$n(function () { // should have correct order of operations (Edge bug) if (DESCRIPTORS$7 && $assign({ b: 1 }, $assign(defineProperty$6({}, 'a', { enumerable: true, @@ -1622,11 +1622,11 @@ var A = {}; var B = {}; // eslint-disable-next-line es/no-symbol -- safe - var symbol = Symbol(); + var symbol = Symbol('assign detection'); var alphabet = 'abcdefghijklmnopqrst'; A[symbol] = 7; alphabet.split('').forEach(function (chr) { B[chr] = chr; }); - return $assign({}, A)[symbol] != 7 || objectKeys$2($assign({}, B)).join('') != alphabet; + return $assign({}, A)[symbol] !== 7 || objectKeys$2($assign({}, B)).join('') !== alphabet; }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` var T = toObject$8(target); var argumentsLength = arguments.length; @@ -1658,10 +1658,10 @@ var wellKnownSymbol$h = wellKnownSymbol$j; - var TO_STRING_TAG$3 = wellKnownSymbol$h('toStringTag'); + var TO_STRING_TAG$2 = wellKnownSymbol$h('toStringTag'); var test$2 = {}; - test$2[TO_STRING_TAG$3] = 'z'; + test$2[TO_STRING_TAG$2] = 'z'; var toStringTagSupport = String(test$2) === '[object z]'; @@ -1670,11 +1670,11 @@ var classofRaw$1 = classofRaw$2; var wellKnownSymbol$g = wellKnownSymbol$j; - var TO_STRING_TAG$2 = wellKnownSymbol$g('toStringTag'); + var TO_STRING_TAG$1 = wellKnownSymbol$g('toStringTag'); var $Object$1 = Object; // ES3 wrong here - var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) == 'Arguments'; + var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) === 'Arguments'; // fallback for IE11 Script Access Denied error var tryGet = function (it, key) { @@ -1688,11 +1688,11 @@ var O, tag, result; return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case - : typeof (tag = tryGet(O = $Object$1(it), TO_STRING_TAG$2)) == 'string' ? tag + : typeof (tag = tryGet(O = $Object$1(it), TO_STRING_TAG$1)) == 'string' ? tag // builtinTag case : CORRECT_ARGUMENTS ? classofRaw$1(O) // ES3 arguments fallback - : (result = classofRaw$1(O)) == 'Object' && isCallable$8(O.callee) ? 'Arguments' : result; + : (result = classofRaw$1(O)) === 'Object' && isCallable$8(O.callee) ? 'Arguments' : result; }; var classof$5 = classof$6; @@ -1700,7 +1700,7 @@ var $String$1 = String; var toString$f = function (argument) { - if (classof$5(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string'); + if (classof$5(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); return $String$1(argument); }; @@ -1740,7 +1740,7 @@ }; var PROPER_FUNCTION_NAME$2 = functionName.PROPER; - var fails$l = fails$v; + var fails$m = fails$w; var whitespaces$2 = whitespaces$4; var non = '\u200B\u0085\u180E'; @@ -1748,7 +1748,7 @@ // check that a method works with the correct list // of whitespaces and has a correct name var stringTrimForced = function (METHOD_NAME) { - return fails$l(function () { + return fails$m(function () { return !!whitespaces$2[METHOD_NAME]() || non[METHOD_NAME]() !== non || (PROPER_FUNCTION_NAME$2 && whitespaces$2[METHOD_NAME].name !== METHOD_NAME); @@ -1767,11 +1767,11 @@ } }); - var fails$k = fails$v; + var fails$l = fails$w; var arrayMethodIsStrict$4 = function (METHOD_NAME, argument) { var method = [][METHOD_NAME]; - return !!method && fails$k(function () { + return !!method && fails$l(function () { // eslint-disable-next-line no-useless-call -- required for testing method.call(null, argument || function () { return 1; }, 1); }); @@ -1785,7 +1785,7 @@ var nativeJoin = uncurryThis$o([].join); - var ES3_STRINGS = IndexedObject$1 != Object; + var ES3_STRINGS = IndexedObject$1 !== Object; var FORCED$6 = ES3_STRINGS || !arrayMethodIsStrict$3('join', ','); // `Array.prototype.join` method @@ -1814,29 +1814,29 @@ return result; }; - var fails$j = fails$v; - var global$a = global$k; + var fails$k = fails$w; + var global$a = global$l; // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError var $RegExp$2 = global$a.RegExp; - var UNSUPPORTED_Y$3 = fails$j(function () { + var UNSUPPORTED_Y$3 = fails$k(function () { var re = $RegExp$2('a', 'y'); re.lastIndex = 2; - return re.exec('abcd') != null; + return re.exec('abcd') !== null; }); // UC Browser bug // https://github.com/zloirock/core-js/issues/1008 - var MISSED_STICKY$1 = UNSUPPORTED_Y$3 || fails$j(function () { + var MISSED_STICKY$1 = UNSUPPORTED_Y$3 || fails$k(function () { return !$RegExp$2('a', 'y').sticky; }); - var BROKEN_CARET = UNSUPPORTED_Y$3 || fails$j(function () { + var BROKEN_CARET = UNSUPPORTED_Y$3 || fails$k(function () { // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 var re = $RegExp$2('^r', 'gy'); re.lastIndex = 2; - return re.exec('str') != null; + return re.exec('str') !== null; }); var regexpStickyHelpers = { @@ -1873,7 +1873,6 @@ var html$1 = getBuiltIn$2('document', 'documentElement'); /* global ActiveXObject -- old IE, WSH */ - var anObject$8 = anObject$d; var definePropertiesModule = objectDefineProperties; var enumBugKeys = enumBugKeys$3; @@ -1957,24 +1956,24 @@ return Properties === undefined ? result : definePropertiesModule.f(result, Properties); }; - var fails$i = fails$v; - var global$9 = global$k; + var fails$j = fails$w; + var global$9 = global$l; // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError var $RegExp$1 = global$9.RegExp; - var regexpUnsupportedDotAll = fails$i(function () { + var regexpUnsupportedDotAll = fails$j(function () { var re = $RegExp$1('.', 's'); - return !(re.dotAll && re.exec('\n') && re.flags === 's'); + return !(re.dotAll && re.test('\n') && re.flags === 's'); }); - var fails$h = fails$v; - var global$8 = global$k; + var fails$i = fails$w; + var global$8 = global$l; // babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError var $RegExp = global$8.RegExp; - var regexpUnsupportedNcg = fails$h(function () { + var regexpUnsupportedNcg = fails$i(function () { var re = $RegExp('(?b)', 'g'); return re.exec('b').groups.a !== 'b' || 'b'.replace(re, '$c') !== 'bc'; @@ -1988,7 +1987,7 @@ var regexpFlags = regexpFlags$1; var stickyHelpers$2 = regexpStickyHelpers; var shared = sharedExports; - var create$2 = objectCreate; + var create$3 = objectCreate; var getInternalState$1 = internalState.get; var UNSUPPORTED_DOT_ALL$1 = regexpUnsupportedDotAll; var UNSUPPORTED_NCG$1 = regexpUnsupportedNcg; @@ -2084,7 +2083,7 @@ } if (match && groups) { - match.groups = object = create$2(null); + match.groups = object = create$3(null); for (i = 0; i < groups.length; i++) { group = groups[i]; object[group[0]] = match[group[1]]; @@ -2132,7 +2131,7 @@ var uncurryThis$l = functionUncurryThisClause; var defineBuiltIn$5 = defineBuiltIn$7; var regexpExec$2 = regexpExec$3; - var fails$g = fails$v; + var fails$h = fails$w; var wellKnownSymbol$f = wellKnownSymbol$j; var createNonEnumerableProperty$4 = createNonEnumerableProperty$7; @@ -2142,14 +2141,14 @@ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) { var SYMBOL = wellKnownSymbol$f(KEY); - var DELEGATES_TO_SYMBOL = !fails$g(function () { + var DELEGATES_TO_SYMBOL = !fails$h(function () { // String methods call symbol-named RegEp methods var O = {}; O[SYMBOL] = function () { return 7; }; - return ''[KEY](O) != 7; + return ''[KEY](O) !== 7; }); - var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$g(function () { + var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$h(function () { // Symbol-named RegExp methods call .exec var execCalled = false; var re = /a/; @@ -2167,7 +2166,10 @@ re[SYMBOL] = /./[SYMBOL]; } - re.exec = function () { execCalled = true; return null; }; + re.exec = function () { + execCalled = true; + return null; + }; re[SYMBOL](''); return !execCalled; @@ -2211,11 +2213,11 @@ // https://tc39.es/ecma262/#sec-isregexp var isRegexp = function (it) { var isRegExp; - return isObject$5(it) && ((isRegExp = it[MATCH$2]) !== undefined ? !!isRegExp : classof$4(it) == 'RegExp'); + return isObject$5(it) && ((isRegExp = it[MATCH$2]) !== undefined ? !!isRegExp : classof$4(it) === 'RegExp'); }; var uncurryThis$k = functionUncurryThis; - var fails$f = fails$v; + var fails$g = fails$w; var isCallable$7 = isCallable$j; var classof$3 = classof$6; var getBuiltIn$1 = getBuiltIn$5; @@ -2226,7 +2228,7 @@ var construct = getBuiltIn$1('Reflect', 'construct'); var constructorRegExp = /^\s*(?:class|function)\b/; var exec$3 = uncurryThis$k(constructorRegExp.exec); - var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); + var INCORRECT_TO_STRING = !constructorRegExp.test(noop); var isConstructorModern = function isConstructor(argument) { if (!isCallable$7(argument)) return false; @@ -2259,7 +2261,7 @@ // `IsConstructor` abstract operation // https://tc39.es/ecma262/#sec-isconstructor - var isConstructor$3 = !construct || fails$f(function () { + var isConstructor$3 = !construct || fails$g(function () { var called; return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) @@ -2275,7 +2277,7 @@ // `Assert: IsConstructor(argument) is true` var aConstructor$1 = function (argument) { if (isConstructor$2(argument)) return argument; - throw $TypeError$6(tryToString$1(argument) + ' is not a constructor'); + throw new $TypeError$6(tryToString$1(argument) + ' is not a constructor'); }; var anObject$7 = anObject$d; @@ -2360,7 +2362,8 @@ var k = toAbsoluteIndex$2(start, length); var fin = toAbsoluteIndex$2(end === undefined ? length : end, length); var result = $Array$2(max$3(fin - k, 0)); - for (var n = 0; k < fin; k++, n++) createProperty$3(result, n, O[k]); + var n = 0; + for (; k < fin; k++, n++) createProperty$3(result, n, O[k]); result.length = n; return result; }; @@ -2383,7 +2386,7 @@ return result; } if (classof$2(R) === 'RegExp') return call$6(regexpExec$1, R, S); - throw $TypeError$5('RegExp#exec called on incompatible receiver'); + throw new $TypeError$5('RegExp#exec called on incompatible receiver'); }; var apply$1 = functionApply; @@ -2403,7 +2406,7 @@ var callRegExpExec = regexpExecAbstract; var regexpExec = regexpExec$3; var stickyHelpers$1 = regexpStickyHelpers; - var fails$e = fails$v; + var fails$f = fails$w; var UNSUPPORTED_Y$1 = stickyHelpers$1.UNSUPPORTED_Y; var MAX_UINT32 = 0xFFFFFFFF; @@ -2415,7 +2418,7 @@ // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec // Weex JS has frozen built-in prototypes, so use try / catch wrapper - var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails$e(function () { + var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails$f(function () { // eslint-disable-next-line regexp/no-empty-group -- required for testing var re = /(?:)/; var originalExec = re.exec; @@ -2428,11 +2431,11 @@ fixRegExpWellKnownSymbolLogic$3('split', function (SPLIT, nativeSplit, maybeCallNative) { var internalSplit; if ( - 'abbc'.split(/(b)*/)[1] == 'c' || + 'abbc'.split(/(b)*/)[1] === 'c' || // eslint-disable-next-line regexp/no-empty-group -- required for testing - 'test'.split(/(?:)/, -1).length != 4 || - 'ab'.split(/(?:ab)*/).length != 2 || - '.'.split(/(.?)(.?)/).length != 4 || + 'test'.split(/(?:)/, -1).length !== 4 || + 'ab'.split(/(?:ab)*/).length !== 2 || + '.'.split(/(.?)(.?)/).length !== 4 || // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing '.'.split(/()()/).length > 1 || ''.split(/.?/).length @@ -2543,8 +2546,41 @@ ]; }, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y$1); + var fails$e = fails$w; + + var correctPrototypeGetter = !fails$e(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + return Object.getPrototypeOf(new F()) !== F.prototype; + }); + + var hasOwn$4 = hasOwnProperty_1; + var isCallable$5 = isCallable$j; + var toObject$7 = toObject$a; + var sharedKey = sharedKey$3; + var CORRECT_PROTOTYPE_GETTER$1 = correctPrototypeGetter; + + var IE_PROTO = sharedKey('IE_PROTO'); + var $Object = Object; + var ObjectPrototype = $Object.prototype; + + // `Object.getPrototypeOf` method + // https://tc39.es/ecma262/#sec-object.getprototypeof + // eslint-disable-next-line es/no-object-getprototypeof -- safe + var objectGetPrototypeOf$1 = CORRECT_PROTOTYPE_GETTER$1 ? $Object.getPrototypeOf : function (O) { + var object = toObject$7(O); + if (hasOwn$4(object, IE_PROTO)) return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable$5(constructor) && object instanceof constructor) { + return constructor.prototype; + } return object instanceof $Object ? ObjectPrototype : null; + }; + var DESCRIPTORS$5 = descriptors; + var fails$d = fails$w; var uncurryThis$h = functionUncurryThis; + var objectGetPrototypeOf = objectGetPrototypeOf$1; var objectKeys = objectKeys$3; var toIndexedObject$2 = toIndexedObject$8; var $propertyIsEnumerable = objectPropertyIsEnumerable.f; @@ -2552,18 +2588,28 @@ var propertyIsEnumerable = uncurryThis$h($propertyIsEnumerable); var push$3 = uncurryThis$h([].push); + // in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys + // of `null` prototype objects + var IE_BUG = DESCRIPTORS$5 && fails$d(function () { + // eslint-disable-next-line es/no-object-create -- safe + var O = Object.create(null); + O[2] = 2; + return !propertyIsEnumerable(O, 2); + }); + // `Object.{ entries, values }` methods implementation var createMethod$1 = function (TO_ENTRIES) { return function (it) { var O = toIndexedObject$2(it); var keys = objectKeys(O); + var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null; var length = keys.length; var i = 0; var result = []; var key; while (length > i) { key = keys[i++]; - if (!DESCRIPTORS$5 || propertyIsEnumerable(O, key)) { + if (!DESCRIPTORS$5 || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) { push$3(result, TO_ENTRIES ? [key, O[key]] : O[key]); } } @@ -2592,7 +2638,7 @@ }); var wellKnownSymbol$c = wellKnownSymbol$j; - var create$1 = objectCreate; + var create$2 = objectCreate; var defineProperty$5 = objectDefineProperty.f; var UNSCOPABLES = wellKnownSymbol$c('unscopables'); @@ -2600,10 +2646,10 @@ // Array.prototype[@@unscopables] // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - if (ArrayPrototype[UNSCOPABLES] == undefined) { + if (ArrayPrototype[UNSCOPABLES] === undefined) { defineProperty$5(ArrayPrototype, UNSCOPABLES, { configurable: true, - value: create$1(null) + value: create$2(null) }); } @@ -2614,11 +2660,11 @@ var $$j = _export; var $includes = arrayIncludes.includes; - var fails$d = fails$v; + var fails$c = fails$w; var addToUnscopables$3 = addToUnscopables$4; // FF99+ bug - var BROKEN_ON_SPARSE = fails$d(function () { + var BROKEN_ON_SPARSE = fails$c(function () { // eslint-disable-next-line es/no-array-prototype-includes -- detection return !Array(1).includes(); }); @@ -2640,7 +2686,7 @@ // https://tc39.es/ecma262/#sec-isarray // eslint-disable-next-line es/no-array-isarray -- safe var isArray$5 = Array.isArray || function isArray(argument) { - return classof$1(argument) == 'Array'; + return classof$1(argument) === 'Array'; }; var $TypeError$4 = TypeError; @@ -2682,7 +2728,7 @@ return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); }; - var fails$c = fails$v; + var fails$b = fails$w; var wellKnownSymbol$a = wellKnownSymbol$j; var V8_VERSION$1 = engineV8Version; @@ -2692,7 +2738,7 @@ // We can't use this feature detection in V8 since it causes // deoptimization and serious performance degradation // https://github.com/zloirock/core-js/issues/677 - return V8_VERSION$1 >= 51 || !fails$c(function () { + return V8_VERSION$1 >= 51 || !fails$b(function () { var array = []; var constructor = array.constructor = {}; constructor[SPECIES$2] = function () { @@ -2703,10 +2749,10 @@ }; var $$i = _export; - var fails$b = fails$v; + var fails$a = fails$w; var isArray$3 = isArray$5; var isObject$3 = isObject$b; - var toObject$7 = toObject$a; + var toObject$6 = toObject$a; var lengthOfArrayLike$4 = lengthOfArrayLike$7; var doesNotExceedSafeInteger$1 = doesNotExceedSafeInteger$2; var createProperty$2 = createProperty$4; @@ -2720,7 +2766,7 @@ // We can't use this feature detection in V8 since it causes // deoptimization and serious performance degradation // https://github.com/zloirock/core-js/issues/679 - var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails$b(function () { + var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails$a(function () { var array = []; array[IS_CONCAT_SPREADABLE] = false; return array.concat()[0] !== array; @@ -2740,7 +2786,7 @@ $$i({ target: 'Array', proto: true, arity: 1, forced: FORCED$5 }, { // eslint-disable-next-line no-unused-vars -- required for `.length` concat: function concat(arg) { - var O = toObject$7(this); + var O = toObject$6(this); var A = arraySpeciesCreate$2(O, 0); var n = 0; var i, k, length, len, E; @@ -2777,7 +2823,7 @@ var bind = functionBindContext; var uncurryThis$f = functionUncurryThis; var IndexedObject = indexedObject; - var toObject$6 = toObject$a; + var toObject$5 = toObject$a; var lengthOfArrayLike$3 = lengthOfArrayLike$7; var arraySpeciesCreate$1 = arraySpeciesCreate$3; @@ -2785,18 +2831,18 @@ // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation var createMethod = function (TYPE) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var IS_FILTER_REJECT = TYPE == 7; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var IS_MAP = TYPE === 1; + var IS_FILTER = TYPE === 2; + var IS_SOME = TYPE === 3; + var IS_EVERY = TYPE === 4; + var IS_FIND_INDEX = TYPE === 6; + var IS_FILTER_REJECT = TYPE === 7; + var NO_HOLES = TYPE === 5 || IS_FIND_INDEX; return function ($this, callbackfn, that, specificCreate) { - var O = toObject$6($this); + var O = toObject$5($this); var self = IndexedObject(O); - var boundFunction = bind(callbackfn, that); var length = lengthOfArrayLike$3(self); + var boundFunction = bind(callbackfn, that); var index = 0; var create = specificCreate || arraySpeciesCreate$1; var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; @@ -2856,6 +2902,7 @@ var SKIPS_HOLES$1 = true; // Shouldn't skip holes + // eslint-disable-next-line es/no-array-prototype-find -- testing if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES$1 = false; }); // `Array.prototype.find` method @@ -2894,7 +2941,7 @@ var notARegexp = function (it) { if (isRegExp$1(it)) { - throw $TypeError$3("The method doesn't accept regular expressions"); + throw new $TypeError$3("The method doesn't accept regular expressions"); } return it; }; @@ -2991,7 +3038,7 @@ // eslint-disable-next-line es/no-array-prototype-foreach -- safe } : [].forEach; - var global$7 = global$k; + var global$7 = global$l; var DOMIterables$1 = domIterables; var DOMTokenListPrototype$1 = domTokenListPrototype; var forEach = arrayForEach; @@ -3014,8 +3061,8 @@ handlePrototype$1(DOMTokenListPrototype$1); - var global$6 = global$k; - var fails$a = fails$v; + var global$6 = global$l; + var fails$9 = fails$w; var uncurryThis$d = functionUncurryThis; var toString$8 = toString$f; var trim$2 = stringTrim.trim; @@ -3027,14 +3074,14 @@ var ITERATOR$4 = Symbol$2 && Symbol$2.iterator; var FORCED$4 = 1 / $parseFloat$1(whitespaces$1 + '-0') !== -Infinity // MS Edge 18- broken with boxed symbols - || (ITERATOR$4 && !fails$a(function () { $parseFloat$1(Object(ITERATOR$4)); })); + || (ITERATOR$4 && !fails$9(function () { $parseFloat$1(Object(ITERATOR$4)); })); // `parseFloat` method // https://tc39.es/ecma262/#sec-parsefloat-string var numberParseFloat = FORCED$4 ? function parseFloat(string) { var trimmedString = trim$2(toString$8(string)); var result = $parseFloat$1(trimmedString); - return result === 0 && charAt$2(trimmedString, 0) == '-' ? -0 : result; + return result === 0 && charAt$2(trimmedString, 0) === '-' ? -0 : result; } : $parseFloat$1; var $$f = _export; @@ -3042,22 +3089,22 @@ // `parseFloat` method // https://tc39.es/ecma262/#sec-parsefloat-string - $$f({ global: true, forced: parseFloat != $parseFloat }, { + $$f({ global: true, forced: parseFloat !== $parseFloat }, { parseFloat: $parseFloat }); var $$e = _export; - var toObject$5 = toObject$a; + var toObject$4 = toObject$a; var nativeKeys = objectKeys$3; - var fails$9 = fails$v; + var fails$8 = fails$w; - var FAILS_ON_PRIMITIVES$1 = fails$9(function () { nativeKeys(1); }); + var FAILS_ON_PRIMITIVES$1 = fails$8(function () { nativeKeys(1); }); // `Object.keys` method // https://tc39.es/ecma262/#sec-object.keys $$e({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES$1 }, { keys: function keys(it) { - return nativeKeys(toObject$5(it)); + return nativeKeys(toObject$4(it)); } }); @@ -3089,7 +3136,7 @@ var $TypeError$2 = TypeError; var deletePropertyOrThrow$2 = function (O, P) { - if (!delete O[P]) throw $TypeError$2('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O)); + if (!delete O[P]) throw new $TypeError$2('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O)); }; var arraySlice$1 = arraySliceSimple; @@ -3156,11 +3203,11 @@ var $$c = _export; var uncurryThis$b = functionUncurryThis; var aCallable$1 = aCallable$4; - var toObject$4 = toObject$a; + var toObject$3 = toObject$a; var lengthOfArrayLike$2 = lengthOfArrayLike$7; var deletePropertyOrThrow$1 = deletePropertyOrThrow$2; var toString$7 = toString$f; - var fails$8 = fails$v; + var fails$7 = fails$w; var internalSort = arraySort; var arrayMethodIsStrict = arrayMethodIsStrict$4; var FF = engineFfVersion; @@ -3173,17 +3220,17 @@ var push$1 = uncurryThis$b(test$1.push); // IE8- - var FAILS_ON_UNDEFINED = fails$8(function () { + var FAILS_ON_UNDEFINED = fails$7(function () { test$1.sort(undefined); }); // V8 bug - var FAILS_ON_NULL = fails$8(function () { + var FAILS_ON_NULL = fails$7(function () { test$1.sort(null); }); // Old WebKit var STRICT_METHOD = arrayMethodIsStrict('sort'); - var STABLE_SORT = !fails$8(function () { + var STABLE_SORT = !fails$7(function () { // feature detection can be too slow, so check engines versions if (V8) return V8 < 70; if (FF && FF > 3) return; @@ -3235,7 +3282,7 @@ sort: function sort(comparefn) { if (comparefn !== undefined) aCallable$1(comparefn); - var array = toObject$4(this); + var array = toObject$3(this); if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn); @@ -3260,7 +3307,7 @@ }); var uncurryThis$a = functionUncurryThis; - var toObject$3 = toObject$a; + var toObject$2 = toObject$a; var floor = Math.floor; var charAt$1 = uncurryThis$a(''.charAt); @@ -3277,7 +3324,7 @@ var m = captures.length; var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; if (namedCaptures !== undefined) { - namedCaptures = toObject$3(namedCaptures); + namedCaptures = toObject$2(namedCaptures); symbols = SUBSTITUTION_SYMBOLS; } return replace$1(replacement, symbols, function (match, ch) { @@ -3309,9 +3356,9 @@ var call$4 = functionCall; var uncurryThis$9 = functionUncurryThis; var fixRegExpWellKnownSymbolLogic$2 = fixRegexpWellKnownSymbolLogic; - var fails$7 = fails$v; + var fails$6 = fails$w; var anObject$4 = anObject$d; - var isCallable$5 = isCallable$j; + var isCallable$4 = isCallable$j; var isNullOrUndefined$2 = isNullOrUndefined$7; var toIntegerOrInfinity$1 = toIntegerOrInfinity$5; var toLength$3 = toLength$6; @@ -3350,7 +3397,7 @@ return false; })(); - var REPLACE_SUPPORTS_NAMED_GROUPS = !fails$7(function () { + var REPLACE_SUPPORTS_NAMED_GROUPS = !fails$6(function () { var re = /./; re.exec = function () { var result = []; @@ -3390,17 +3437,20 @@ if (res.done) return res.value; } - var functionalReplace = isCallable$5(replaceValue); + var functionalReplace = isCallable$4(replaceValue); if (!functionalReplace) replaceValue = toString$6(replaceValue); var global = rx.global; + var fullUnicode; if (global) { - var fullUnicode = rx.unicode; + fullUnicode = rx.unicode; rx.lastIndex = 0; } + var results = []; + var result; while (true) { - var result = regExpExec$2(rx, S); + result = regExpExec$2(rx, S); if (result === null) break; push(results, result); @@ -3418,6 +3468,7 @@ var matched = toString$6(result[0]); var position = max$2(min$3(toIntegerOrInfinity$1(result.index), S.length), 0); var captures = []; + var replacement; // NOTE: This is equivalent to // captures = result.slice(1).map(maybeToString) // but for some reason `nativeSlice.call(result, 1, result.length)` (called in @@ -3428,7 +3479,7 @@ if (functionalReplace) { var replacerArgs = concat([matched], captures, position, S); if (namedCaptures !== undefined) push(replacerArgs, namedCaptures); - var replacement = toString$6(apply(replaceValue, undefined, replacerArgs)); + replacement = toString$6(apply(replaceValue, undefined, replacerArgs)); } else { replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); } @@ -3437,6 +3488,7 @@ nextSourcePosition = position + matched.length; } } + return accumulatedResult + stringSlice$3(S, nextSourcePosition); } ]; @@ -3462,7 +3514,7 @@ // eslint-disable-next-line es/no-object-is -- safe var sameValue$1 = Object.is || function is(x, y) { // eslint-disable-next-line no-self-compare -- NaN check - return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; + return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y; }; var call$3 = functionCall; @@ -3503,8 +3555,8 @@ ]; }); - var global$5 = global$k; - var fails$6 = fails$v; + var global$5 = global$l; + var fails$5 = fails$w; var uncurryThis$8 = functionUncurryThis; var toString$4 = toString$f; var trim$1 = stringTrim.trim; @@ -3517,7 +3569,7 @@ var exec$1 = uncurryThis$8(hex.exec); var FORCED$1 = $parseInt$1(whitespaces + '08') !== 8 || $parseInt$1(whitespaces + '0x16') !== 22 // MS Edge 18- broken with boxed symbols - || (ITERATOR$3 && !fails$6(function () { $parseInt$1(Object(ITERATOR$3)); })); + || (ITERATOR$3 && !fails$5(function () { $parseInt$1(Object(ITERATOR$3)); })); // `parseInt` method // https://tc39.es/ecma262/#sec-parseint-string-radix @@ -3531,7 +3583,7 @@ // `parseInt` method // https://tc39.es/ecma262/#sec-parseint-string-radix - $$a({ global: true, forced: parseInt != $parseInt }, { + $$a({ global: true, forced: parseInt !== $parseInt }, { parseInt: $parseInt }); @@ -3558,6 +3610,7 @@ var SKIPS_HOLES = true; // Shouldn't skip holes + // eslint-disable-next-line es/no-array-prototype-findindex -- testing if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; }); // `Array.prototype.findIndex` method @@ -3581,18 +3634,17 @@ } catch (error) { /* empty */ } }; - var isCallable$4 = isCallable$j; + var isCallable$3 = isCallable$j; var $String = String; var $TypeError$1 = TypeError; var aPossiblePrototype$1 = function (argument) { - if (typeof argument == 'object' || isCallable$4(argument)) return argument; - throw $TypeError$1("Can't set " + $String(argument) + ' as a prototype'); + if (typeof argument == 'object' || isCallable$3(argument)) return argument; + throw new $TypeError$1("Can't set " + $String(argument) + ' as a prototype'); }; /* eslint-disable no-proto -- safe */ - var uncurryThisAccessor = functionUncurryThisAccessor; var anObject$2 = anObject$d; var aPossiblePrototype = aPossiblePrototype$1; @@ -3619,7 +3671,7 @@ }; }() : undefined); - var isCallable$3 = isCallable$j; + var isCallable$2 = isCallable$j; var isObject$2 = isObject$b; var setPrototypeOf$1 = objectSetPrototypeOf; @@ -3630,7 +3682,7 @@ // it can work only with native `setPrototypeOf` setPrototypeOf$1 && // we haven't completely correct pre-ES6 way for getting `new.target`, so use this - isCallable$3(NewTarget = dummy.constructor) && + isCallable$2(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject$2(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype @@ -3639,7 +3691,7 @@ }; var call$2 = functionCall; - var hasOwn$4 = hasOwnProperty_1; + var hasOwn$3 = hasOwnProperty_1; var isPrototypeOf$2 = objectIsPrototypeOf; var regExpFlags = regexpFlags$1; @@ -3647,7 +3699,7 @@ var regexpGetFlags = function (R) { var flags = R.flags; - return flags === undefined && !('flags' in RegExpPrototype$2) && !hasOwn$4(R, 'flags') && isPrototypeOf$2(RegExpPrototype$2, R) + return flags === undefined && !('flags' in RegExpPrototype$2) && !hasOwn$3(R, 'flags') && isPrototypeOf$2(RegExpPrototype$2, R) ? call$2(regExpFlags, R) : flags; }; @@ -3689,11 +3741,12 @@ }; var DESCRIPTORS$3 = descriptors; - var global$4 = global$k; + var global$4 = global$l; var uncurryThis$6 = functionUncurryThis; var isForced$1 = isForced_1; var inheritIfRequired$1 = inheritIfRequired$2; var createNonEnumerableProperty$2 = createNonEnumerableProperty$7; + var create$1 = objectCreate; var getOwnPropertyNames$1 = objectGetOwnPropertyNames.f; var isPrototypeOf$1 = objectIsPrototypeOf; var isRegExp = isRegexp; @@ -3702,8 +3755,8 @@ var stickyHelpers = regexpStickyHelpers; var proxyAccessor = proxyAccessor$1; var defineBuiltIn$3 = defineBuiltIn$7; - var fails$5 = fails$v; - var hasOwn$3 = hasOwnProperty_1; + var fails$4 = fails$w; + var hasOwn$2 = hasOwnProperty_1; var enforceInternalState = internalState.enforce; var setSpecies = setSpecies$1; var wellKnownSymbol$5 = wellKnownSymbol$j; @@ -3731,10 +3784,10 @@ var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; var BASE_FORCED = DESCRIPTORS$3 && - (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails$5(function () { + (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails$4(function () { re2[MATCH] = false; // RegExp constructor can alter flags and IsRegExp works correct with @@match - return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i'; + return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i'; })); var handleDotAll = function (string) { @@ -3766,7 +3819,7 @@ var index = 0; var result = ''; var named = []; - var names = {}; + var names = create$1(null); var brackets = false; var ncg = false; var groupid = 0; @@ -3775,7 +3828,7 @@ for (; index <= length; index++) { chr = charAt(string, index); if (chr === '\\') { - chr = chr + charAt(string, ++index); + chr += charAt(string, ++index); } else if (chr === ']') { brackets = false; } else if (!brackets) switch (true) { @@ -3791,7 +3844,7 @@ groupid++; continue; case chr === '>' && ncg: - if (groupname === '' || hasOwn$3(names, groupname)) { + if (groupname === '' || hasOwn$2(names, groupname)) { throw new SyntaxError('Invalid capture group name'); } names[groupname] = true; @@ -3883,16 +3936,16 @@ var defineBuiltIn$2 = defineBuiltIn$7; var anObject$1 = anObject$d; var $toString = toString$f; - var fails$4 = fails$v; + var fails$3 = fails$w; var getRegExpFlags = regexpGetFlags; var TO_STRING = 'toString'; var RegExpPrototype = RegExp.prototype; var nativeToString = RegExpPrototype[TO_STRING]; - var NOT_GENERIC = fails$4(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); + var NOT_GENERIC = fails$3(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; }); // FF44- RegExp#toString has a wrong name - var INCORRECT_NAME = PROPER_FUNCTION_NAME$1 && nativeToString.name != TO_STRING; + var INCORRECT_NAME = PROPER_FUNCTION_NAME$1 && nativeToString.name !== TO_STRING; // `RegExp.prototype.toString` method // https://tc39.es/ecma262/#sec-regexp.prototype.tostring @@ -3960,41 +4013,10 @@ var iterators = {}; - var fails$3 = fails$v; - - var correctPrototypeGetter = !fails$3(function () { - function F() { /* empty */ } - F.prototype.constructor = null; - // eslint-disable-next-line es/no-object-getprototypeof -- required for testing - return Object.getPrototypeOf(new F()) !== F.prototype; - }); - - var hasOwn$2 = hasOwnProperty_1; - var isCallable$2 = isCallable$j; - var toObject$2 = toObject$a; - var sharedKey = sharedKey$3; - var CORRECT_PROTOTYPE_GETTER$1 = correctPrototypeGetter; - - var IE_PROTO = sharedKey('IE_PROTO'); - var $Object = Object; - var ObjectPrototype = $Object.prototype; - - // `Object.getPrototypeOf` method - // https://tc39.es/ecma262/#sec-object.getprototypeof - // eslint-disable-next-line es/no-object-getprototypeof -- safe - var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER$1 ? $Object.getPrototypeOf : function (O) { - var object = toObject$2(O); - if (hasOwn$2(object, IE_PROTO)) return object[IE_PROTO]; - var constructor = object.constructor; - if (isCallable$2(constructor) && object instanceof constructor) { - return constructor.prototype; - } return object instanceof $Object ? ObjectPrototype : null; - }; - - var fails$2 = fails$v; + var fails$2 = fails$w; var isCallable$1 = isCallable$j; var isObject = isObject$b; - var getPrototypeOf$1 = objectGetPrototypeOf; + var getPrototypeOf$1 = objectGetPrototypeOf$1; var defineBuiltIn$1 = defineBuiltIn$7; var wellKnownSymbol$3 = wellKnownSymbol$j; @@ -4041,19 +4063,19 @@ var hasOwn$1 = hasOwnProperty_1; var wellKnownSymbol$2 = wellKnownSymbol$j; - var TO_STRING_TAG$1 = wellKnownSymbol$2('toStringTag'); + var TO_STRING_TAG = wellKnownSymbol$2('toStringTag'); - var setToStringTag$2 = function (target, TAG, STATIC) { + var setToStringTag$3 = function (target, TAG, STATIC) { if (target && !STATIC) target = target.prototype; - if (target && !hasOwn$1(target, TO_STRING_TAG$1)) { - defineProperty$2(target, TO_STRING_TAG$1, { configurable: true, value: TAG }); + if (target && !hasOwn$1(target, TO_STRING_TAG)) { + defineProperty$2(target, TO_STRING_TAG, { configurable: true, value: TAG }); } }; var IteratorPrototype$1 = iteratorsCore.IteratorPrototype; var create = objectCreate; var createPropertyDescriptor = createPropertyDescriptor$4; - var setToStringTag$1 = setToStringTag$2; + var setToStringTag$2 = setToStringTag$3; var Iterators$2 = iterators; var returnThis$1 = function () { return this; }; @@ -4061,7 +4083,7 @@ var iteratorCreateConstructor = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { var TO_STRING_TAG = NAME + ' Iterator'; IteratorConstructor.prototype = create(IteratorPrototype$1, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); - setToStringTag$1(IteratorConstructor, TO_STRING_TAG, false); + setToStringTag$2(IteratorConstructor, TO_STRING_TAG, false); Iterators$2[TO_STRING_TAG] = returnThis$1; return IteratorConstructor; }; @@ -4071,9 +4093,9 @@ var FunctionName = functionName; var isCallable = isCallable$j; var createIteratorConstructor = iteratorCreateConstructor; - var getPrototypeOf = objectGetPrototypeOf; + var getPrototypeOf = objectGetPrototypeOf$1; var setPrototypeOf = objectSetPrototypeOf; - var setToStringTag = setToStringTag$2; + var setToStringTag$1 = setToStringTag$3; var createNonEnumerableProperty$1 = createNonEnumerableProperty$7; var defineBuiltIn = defineBuiltIn$7; var wellKnownSymbol$1 = wellKnownSymbol$j; @@ -4096,12 +4118,15 @@ var getIterationMethod = function (KIND) { if (KIND === DEFAULT && defaultIterator) return defaultIterator; - if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; + if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND]; + switch (KIND) { case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; - } return function () { return new IteratorConstructor(this); }; + } + + return function () { return new IteratorConstructor(this); }; }; var TO_STRING_TAG = NAME + ' Iterator'; @@ -4111,7 +4136,7 @@ || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT]; var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); - var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; var CurrentIteratorPrototype, methods, KEY; // fix native @@ -4126,12 +4151,12 @@ } } // Set @@toStringTag to native iterators - setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true); + setToStringTag$1(CurrentIteratorPrototype, TO_STRING_TAG, true); } } // fix Array.prototype.{ values, @@iterator }.name in V8 / FF - if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { + if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) { if (CONFIGURABLE_FUNCTION_NAME) { createNonEnumerableProperty$1(IterablePrototype, 'name', VALUES); } else { @@ -4204,15 +4229,15 @@ }, function () { var state = getInternalState(this); var target = state.target; - var kind = state.kind; var index = state.index++; if (!target || index >= target.length) { state.target = undefined; return createIterResultObject(undefined, true); } - if (kind == 'keys') return createIterResultObject(index, false); - if (kind == 'values') return createIterResultObject(target[index], false); - return createIterResultObject([index, target[index]], false); + switch (state.kind) { + case 'keys': return createIterResultObject(index, false); + case 'values': return createIterResultObject(target[index], false); + } return createIterResultObject([index, target[index]], false); }, 'values'); // argumentsList[@@iterator] is %ArrayProto_values% @@ -4230,15 +4255,15 @@ defineProperty$1(values, 'name', { value: 'values' }); } catch (error) { /* empty */ } - var global$3 = global$k; + var global$3 = global$l; var DOMIterables = domIterables; var DOMTokenListPrototype = domTokenListPrototype; var ArrayIteratorMethods = es_array_iterator; var createNonEnumerableProperty = createNonEnumerableProperty$7; + var setToStringTag = setToStringTag$3; var wellKnownSymbol = wellKnownSymbol$j; var ITERATOR = wellKnownSymbol('iterator'); - var TO_STRING_TAG = wellKnownSymbol('toStringTag'); var ArrayValues = ArrayIteratorMethods.values; var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) { @@ -4249,9 +4274,7 @@ } catch (error) { CollectionPrototype[ITERATOR] = ArrayValues; } - if (!CollectionPrototype[TO_STRING_TAG]) { - createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); - } + setToStringTag(CollectionPrototype, COLLECTION_NAME, true); if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { // some Chrome versions have non-configurable methods on DOMTokenList if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { @@ -4290,7 +4313,7 @@ var arraySetLength = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) { if (isArray$1(O) && !getOwnPropertyDescriptor$3(O, 'length').writable) { - throw $TypeError('Cannot set read only .length'); + throw new $TypeError('Cannot set read only .length'); } return O.length = length; } : function (O, length) { return O.length = length; @@ -4363,7 +4386,7 @@ } }); - var global$2 = global$k; + var global$2 = global$l; var path$1 = global$2; @@ -4376,7 +4399,7 @@ var $$4 = _export; var IS_PURE = isPure; var DESCRIPTORS = descriptors; - var global$1 = global$k; + var global$1 = global$l; var path = path$1; var uncurryThis$3 = functionUncurryThis; var isForced = isForced_1; @@ -4385,7 +4408,7 @@ var isPrototypeOf = objectIsPrototypeOf; var isSymbol = isSymbol$3; var toPrimitive = toPrimitive$2; - var fails$1 = fails$v; + var fails$1 = fails$w; var getOwnPropertyNames = objectGetOwnPropertyNames.f; var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f; var defineProperty = objectDefineProperty.f; @@ -4412,7 +4435,7 @@ var toNumber = function (argument) { var it = toPrimitive(argument, 'number'); var first, third, radix, maxCode, digits, length, index, code; - if (isSymbol(it)) throw TypeError$1('Cannot convert a Symbol value to a number'); + if (isSymbol(it)) throw new TypeError$1('Cannot convert a Symbol value to a number'); if (typeof it == 'string' && it.length > 2) { it = trim(it); first = charCodeAt(it, 0); @@ -4421,9 +4444,20 @@ if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix } else if (first === 48) { switch (charCodeAt(it, 1)) { - case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i - case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i - default: return +it; + // fast equal of /^0b[01]+$/i + case 66: + case 98: + radix = 2; + maxCode = 49; + break; + // fast equal of /^0o[0-7]+$/i + case 79: + case 111: + radix = 8; + maxCode = 55; + break; + default: + return +it; } digits = stringSlice$1(it, 2); length = digits.length; @@ -4495,9 +4529,9 @@ }); var $$2 = _export; - var fails = fails$v; + var fails = fails$w; var toObject = toObject$a; - var nativeGetPrototypeOf = objectGetPrototypeOf; + var nativeGetPrototypeOf = objectGetPrototypeOf$1; var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter; var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); }); @@ -5174,8 +5208,8 @@ row._style = $el.attr('style'); $el.find('>td,>th').each(function (_x, el) { var $el = $$p(el); - var cspan = +$el.attr('colspan') || 1; - var rspan = +$el.attr('rowspan') || 1; + var colspan = +$el.attr('colspan') || 1; + var rowspan = +$el.attr('rowspan') || 1; var x = _x; // skip already occupied cells in current row @@ -5184,8 +5218,8 @@ } // mark matrix elements occupied by current cell with true - for (var tx = x; tx < x + cspan; tx++) { - for (var ty = y; ty < y + rspan; ty++) { + for (var tx = x; tx < x + colspan; tx++) { + for (var ty = y; ty < y + rowspan; ty++) { if (!m[ty]) { // fill missing rows m[ty] = []; @@ -5308,7 +5342,7 @@ } }; - var VERSION = '1.22.1'; + var VERSION = '1.22.2'; var bootstrapVersion = Utils.getBootstrapVersion(); var CONSTANTS = { 3: { @@ -5758,6 +5792,7 @@ searchable: true, formatter: undefined, footerFormatter: undefined, + footerStyle: undefined, detailFormatter: undefined, searchFormatter: true, searchHighlightFormatter: false, @@ -6230,7 +6265,7 @@ data_.push("data-".concat(k, "='").concat(_typeof(v) === 'object' ? JSON.stringify(v) : v, "'")); } } - html.push(" 0 ? ' data-not-first-th' : '', data_.length > 0 ? data_.join(' ') : '', '>'); html.push(Utils.sprintf('
', _this2.options.sortable && column.sortable ? "sortable".concat(columnHalign === 'center' ? ' sortable-center' : '', " both") : '')); @@ -6415,7 +6450,6 @@ }, { key: "_sort", value: function _sort() { - this.trigger('sort', this.options.sortName, this.options.sortOrder); if (this.options.sidePagination === 'server' && this.options.serverSort) { this.options.pageNumber = 1; this.initServer(this.options.silentSort); @@ -6425,6 +6459,7 @@ this.options.pageNumber = 1; this.initPagination(); } + this.trigger('sort', this.options.sortName, this.options.sortOrder); this.initSort(); this.initBody(); } @@ -6603,34 +6638,34 @@ if (this.showToolbar || html.length > 2) { this.$toolbar.append(html.join('')); } - for (var _i6 = 0, _Object$entries6 = Object.entries(this.buttons); _i6 < _Object$entries6.length; _i6++) { + var _loop = function _loop() { var _Object$entries6$_i = _slicedToArray(_Object$entries6[_i6], 2), - _buttonName = _Object$entries6$_i[0], - _buttonConfig = _Object$entries6$_i[1]; - if (_buttonConfig.hasOwnProperty('event')) { - if (typeof _buttonConfig.event === 'function' || typeof _buttonConfig.event === 'string') { - var _ret = function () { - var event = typeof _buttonConfig.event === 'string' ? window[_buttonConfig.event] : _buttonConfig.event; - _this4.$toolbar.find("button[name=\"".concat(_buttonName, "\"]")).off('click').on('click', function () { - return event.call(_this4); - }); - return "continue"; - }(); - if (_ret === "continue") continue; + buttonName = _Object$entries6$_i[0], + buttonConfig = _Object$entries6$_i[1]; + if (buttonConfig.hasOwnProperty('event')) { + if (typeof buttonConfig.event === 'function' || typeof buttonConfig.event === 'string') { + var event = typeof buttonConfig.event === 'string' ? window[buttonConfig.event] : buttonConfig.event; + _this4.$toolbar.find("button[name=\"".concat(buttonName, "\"]")).off('click').on('click', function () { + return event.call(_this4); + }); + return 1; // continue } - var _loop = function _loop() { + var _loop2 = function _loop2() { var _Object$entries7$_i = _slicedToArray(_Object$entries7[_i7], 2), eventType = _Object$entries7$_i[0], eventFunction = _Object$entries7$_i[1]; var event = typeof eventFunction === 'string' ? window[eventFunction] : eventFunction; - _this4.$toolbar.find("button[name=\"".concat(_buttonName, "\"]")).off(eventType).on(eventType, function () { + _this4.$toolbar.find("button[name=\"".concat(buttonName, "\"]")).off(eventType).on(eventType, function () { return event.call(_this4); }); }; - for (var _i7 = 0, _Object$entries7 = Object.entries(_buttonConfig.event); _i7 < _Object$entries7.length; _i7++) { - _loop(); + for (var _i7 = 0, _Object$entries7 = Object.entries(buttonConfig.event); _i7 < _Object$entries7.length; _i7++) { + _loop2(); } } + }; + for (var _i6 = 0, _Object$entries6 = Object.entries(this.buttons); _i6 < _Object$entries6.length; _i6++) { + if (_loop()) continue; } if (opts.showColumns) { $keepOpen = this.$toolbar.find('.keep-open'); @@ -7080,7 +7115,6 @@ if (allSelected) { opts.pageSize = opts.formatAllRows(); } - // removed the events for last and first, onPageNumber executeds the same logic $pageList.off('click').on('click', function (e) { return _this6.onPageListChange(e); }); @@ -7513,9 +7547,9 @@ return; } fieldIndex += Utils.getDetailViewIndexOffset(_this9.options); - var _loop2 = function _loop2(key) { + var _loop3 = function _loop3(key) { if (!events.hasOwnProperty(key)) { - return "continue"; + return 1; // continue } var event = events[key]; _this9.$body.find('>tr:not(.no-records-found)').each(function (i, tr) { @@ -7533,8 +7567,7 @@ }); }; for (var key in events) { - var _ret2 = _loop2(key); - if (_ret2 === "continue") continue; + if (_loop3(key)) continue; } }); } @@ -7844,7 +7877,7 @@ } falign = Utils.sprintf('text-align: %s; ', column.falign ? column.falign : column.align); valign = Utils.sprintf('vertical-align: %s; ', column.valign); - style = Utils.calculateObjectValue(null, this.options.footerStyle, [column]); + style = Utils.calculateObjectValue(null, column.footerStyle || this.options.footerStyle, [column]); if (style && style.css) { for (var _i14 = 0, _Object$entries13 = Object.entries(style.css); _i14 < _Object$entries13.length; _i14++) { var _Object$entries13$_i = _slicedToArray(_Object$entries13[_i14], 2), @@ -7856,7 +7889,7 @@ if (style && style.classes) { class_ = Utils.sprintf(' class="%s"', column['class'] ? [column['class'], style.classes].join(' ') : style.classes); } - html.push(' 0) { colspan = this.footerData[0]["_".concat(column.field, "_colspan")] || 0; @@ -11132,6 +11165,20 @@ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jQuery)); })(this, (function ($$4) { 'use strict'; + function _toPrimitive(t, r) { + if ("object" != typeof t || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != typeof i) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); + } + function _toPropertyKey(t) { + var i = _toPrimitive(t, "string"); + return "symbol" == typeof i ? i : String(i); + } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); @@ -11245,35 +11292,22 @@ } return _get.apply(this, arguments); } - function _toPrimitive(input, hint) { - if (typeof input !== "object" || input === null) return input; - var prim = input[Symbol.toPrimitive]; - if (prim !== undefined) { - var res = prim.call(input, hint || "default"); - if (typeof res !== "object") return res; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return (hint === "string" ? String : Number)(input); - } - function _toPropertyKey(arg) { - var key = _toPrimitive(arg, "string"); - return typeof key === "symbol" ? key : String(key); - } var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; var check = function (it) { - return it && it.Math == Math && it; + return it && it.Math === Math && it; }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 - var global$b = + var global$c = // 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 commonjsGlobal == 'object' && commonjsGlobal) || + check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback (function () { return this; })() || Function('return this')(); @@ -11292,7 +11326,7 @@ // Detect IE8's incomplete defineProperty implementation var descriptors = !fails$d(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing - return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; }); var fails$c = fails$e; @@ -11371,7 +11405,7 @@ // eslint-disable-next-line no-prototype-builtins -- safe return !$Object$3('z').propertyIsEnumerable(0); }) ? function (it) { - return classof$6(it) == 'String' ? split(it, '') : $Object$3(it); + return classof$6(it) === 'String' ? split(it, '') : $Object$3(it); } : $Object$3; // we can't use just `it == null` since of `document.all` special case @@ -11387,7 +11421,7 @@ // `RequireObjectCoercible` abstract operation // https://tc39.es/ecma262/#sec-requireobjectcoercible var requireObjectCoercible$3 = function (it) { - if (isNullOrUndefined$1(it)) throw $TypeError$7("Can't call method on " + it); + if (isNullOrUndefined$1(it)) throw new $TypeError$7("Can't call method on " + it); return it; }; @@ -11433,7 +11467,7 @@ return typeof it == 'object' ? it !== null : isCallable$b(it); }; - var global$a = global$b; + var global$b = global$c; var isCallable$a = isCallable$c; var aFunction = function (argument) { @@ -11441,7 +11475,7 @@ }; var getBuiltIn$4 = function (namespace, method) { - return arguments.length < 2 ? aFunction(global$a[namespace]) : global$a[namespace] && global$a[namespace][method]; + return arguments.length < 2 ? aFunction(global$b[namespace]) : global$b[namespace] && global$b[namespace][method]; }; var uncurryThis$c = functionUncurryThis; @@ -11450,11 +11484,11 @@ var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; - var global$9 = global$b; + var global$a = global$c; var userAgent = engineUserAgent; - var process = global$9.process; - var Deno = global$9.Deno; + var process = global$a.process; + var Deno = global$a.Deno; var versions = process && process.versions || Deno && Deno.version; var v8 = versions && versions.v8; var match, version; @@ -11479,22 +11513,25 @@ var engineV8Version = version; /* eslint-disable es/no-symbol -- required for testing */ - var V8_VERSION$2 = engineV8Version; var fails$a = fails$e; + var global$9 = global$c; + + var $String$4 = global$9.String; // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$a(function () { - var symbol = Symbol(); + 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 - return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String$4(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances !Symbol.sham && V8_VERSION$2 && V8_VERSION$2 < 41; }); /* eslint-disable es/no-symbol -- required for testing */ - var NATIVE_SYMBOL$1 = symbolConstructorDetection; var useSymbolAsUid = NATIVE_SYMBOL$1 @@ -11533,7 +11570,7 @@ // `Assert: IsCallable(argument) is true` var aCallable$2 = function (argument) { if (isCallable$8(argument)) return argument; - throw $TypeError$6(tryToString(argument) + ' is not a function'); + throw new $TypeError$6(tryToString(argument) + ' is not a function'); }; var aCallable$1 = aCallable$2; @@ -11559,16 +11596,12 @@ if (pref === 'string' && isCallable$7(fn = input.toString) && !isObject$7(val = call$3(fn, input))) return val; if (isCallable$7(fn = input.valueOf) && !isObject$7(val = call$3(fn, input))) return val; if (pref !== 'string' && isCallable$7(fn = input.toString) && !isObject$7(val = call$3(fn, input))) return val; - throw $TypeError$5("Can't convert object to primitive value"); + throw new $TypeError$5("Can't convert object to primitive value"); }; - var sharedExports = {}; - var shared$3 = { - get exports(){ return sharedExports; }, - set exports(v){ sharedExports = v; }, - }; + var shared$3 = {exports: {}}; - var global$8 = global$b; + var global$8 = global$c; // eslint-disable-next-line es/no-object-defineproperty -- safe var defineProperty$3 = Object.defineProperty; @@ -11581,7 +11614,7 @@ } return value; }; - var global$7 = global$b; + var global$7 = global$c; var defineGlobalProperty$2 = defineGlobalProperty$3; var SHARED = '__core-js_shared__'; @@ -11594,13 +11627,15 @@ (shared$3.exports = function (key, value) { return store$2[key] || (store$2[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.29.0', + version: '3.34.0', mode: 'global', copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.29.0/LICENSE', + license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE', source: 'https://github.com/zloirock/core-js' }); + var sharedExports = shared$3.exports; + var requireObjectCoercible$1 = requireObjectCoercible$3; var $Object$1 = Object; @@ -11633,7 +11668,7 @@ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$3(++id + postfix, 36); }; - var global$6 = global$b; + var global$6 = global$c; var shared$2 = sharedExports; var hasOwn$6 = hasOwnProperty_1; var uid$1 = uid$2; @@ -11672,7 +11707,7 @@ if (pref === undefined) pref = 'default'; result = call$2(exoticToPrim, input, pref); if (!isObject$6(result) || isSymbol$1(result)) return result; - throw $TypeError$4("Can't convert object to primitive value"); + throw new $TypeError$4("Can't convert object to primitive value"); } if (pref === undefined) pref = 'number'; return ordinaryToPrimitive(input, pref); @@ -11688,7 +11723,7 @@ return isSymbol(key) ? key : key + ''; }; - var global$5 = global$b; + var global$5 = global$c; var isObject$5 = isObject$8; var document$1 = global$5.document; @@ -11708,7 +11743,7 @@ // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } - }).a != 7; + }).a !== 7; }); var DESCRIPTORS$7 = descriptors; @@ -11746,7 +11781,7 @@ return Object.defineProperty(function () { /* empty */ }, 'prototype', { value: 42, writable: false - }).prototype != 42; + }).prototype !== 42; }); var isObject$4 = isObject$8; @@ -11757,7 +11792,7 @@ // `Assert: Type(argument) is Object` var anObject$4 = function (argument) { if (isObject$4(argument)) return argument; - throw $TypeError$3($String$2(argument) + ' is not an object'); + throw new $TypeError$3($String$2(argument) + ' is not an object'); }; var DESCRIPTORS$5 = descriptors; @@ -11799,7 +11834,7 @@ if (IE8_DOM_DEFINE) try { return $defineProperty(O, P, Attributes); } catch (error) { /* empty */ } - if ('get' in Attributes || 'set' in Attributes) throw $TypeError$2('Accessors not supported'); + if ('get' in Attributes || 'set' in Attributes) throw new $TypeError$2('Accessors not supported'); if ('value' in Attributes) O[P] = Attributes.value; return O; }; @@ -11815,11 +11850,7 @@ return object; }; - var makeBuiltInExports = {}; - var makeBuiltIn$2 = { - get exports(){ return makeBuiltInExports; }, - set exports(v){ makeBuiltInExports = v; }, - }; + var makeBuiltIn$2 = {exports: {}}; var DESCRIPTORS$3 = descriptors; var hasOwn$4 = hasOwnProperty_1; @@ -11854,7 +11885,7 @@ var inspectSource$2 = store$1.inspectSource; - var global$4 = global$b; + var global$4 = global$c; var isCallable$5 = isCallable$c; var WeakMap$1 = global$4.WeakMap; @@ -11873,7 +11904,7 @@ var hiddenKeys$4 = {}; var NATIVE_WEAK_MAP = weakMapBasicDetection; - var global$3 = global$b; + var global$3 = global$c; var isObject$3 = isObject$8; var createNonEnumerableProperty$2 = createNonEnumerableProperty$3; var hasOwn$3 = hasOwnProperty_1; @@ -11894,7 +11925,7 @@ return function (it) { var state; if (!isObject$3(it) || (state = get(it)).type !== TYPE) { - throw TypeError$1('Incompatible receiver, ' + TYPE + ' required'); + throw new TypeError$1('Incompatible receiver, ' + TYPE + ' required'); } return state; }; }; @@ -11907,7 +11938,7 @@ store.set = store.set; /* eslint-enable no-self-assign -- prototype methods protection */ set = function (it, metadata) { - if (store.has(it)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED); + if (store.has(it)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; store.set(it, metadata); return metadata; @@ -11922,7 +11953,7 @@ var STATE = sharedKey$1('state'); hiddenKeys$3[STATE] = true; set = function (it, metadata) { - if (hasOwn$3(it, STATE)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED); + if (hasOwn$3(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; createNonEnumerableProperty$2(it, STATE, metadata); return metadata; @@ -11998,6 +12029,8 @@ return isCallable$4(this) && getInternalState(this).source || inspectSource$1(this); }, 'toString'); + var makeBuiltInExports = makeBuiltIn$2.exports; + var isCallable$3 = isCallable$c; var definePropertyModule$3 = objectDefineProperty; var makeBuiltIn = makeBuiltInExports; @@ -12093,10 +12126,10 @@ 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) { + 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; + 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; @@ -12201,8 +12234,8 @@ var isForced$1 = function (feature, detection) { var value = data[normalize(feature)]; - return value == POLYFILL ? true - : value == NATIVE ? false + return value === POLYFILL ? true + : value === NATIVE ? false : isCallable$2(detection) ? fails$6(detection) : !!detection; }; @@ -12217,7 +12250,7 @@ var isForced_1 = isForced$1; - var global$2 = global$b; + var global$2 = global$c; var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; var createNonEnumerableProperty$1 = createNonEnumerableProperty$3; var defineBuiltIn$1 = defineBuiltIn$2; @@ -12315,11 +12348,11 @@ var A = {}; var B = {}; // eslint-disable-next-line es/no-symbol -- safe - var symbol = Symbol(); + var symbol = Symbol('assign detection'); var alphabet = 'abcdefghijklmnopqrst'; A[symbol] = 7; alphabet.split('').forEach(function (chr) { B[chr] = chr; }); - return $assign({}, A)[symbol] != 7 || objectKeys$1($assign({}, B)).join('') != alphabet; + return $assign({}, A)[symbol] !== 7 || objectKeys$1($assign({}, B)).join('') !== alphabet; }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` var T = toObject$2(target); var argumentsLength = arguments.length; @@ -12355,7 +12388,7 @@ // https://tc39.es/ecma262/#sec-isarray // eslint-disable-next-line es/no-array-isarray -- safe var isArray$2 = Array.isArray || function isArray(argument) { - return classof$5(argument) == 'Array'; + return classof$5(argument) === 'Array'; }; var $TypeError$1 = TypeError; @@ -12394,7 +12427,7 @@ var $Object = Object; // ES3 wrong here - var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) == 'Arguments'; + var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) === 'Arguments'; // fallback for IE11 Script Access Denied error var tryGet = function (it, key) { @@ -12412,7 +12445,7 @@ // builtinTag case : CORRECT_ARGUMENTS ? classofRaw$1(O) // ES3 arguments fallback - : (result = classofRaw$1(O)) == 'Object' && isCallable$1(O.callee) ? 'Arguments' : result; + : (result = classofRaw$1(O)) === 'Object' && isCallable$1(O.callee) ? 'Arguments' : result; }; var uncurryThis$4 = functionUncurryThis; @@ -12427,7 +12460,7 @@ var construct = getBuiltIn$1('Reflect', 'construct'); var constructorRegExp = /^\s*(?:class|function)\b/; var exec = uncurryThis$4(constructorRegExp.exec); - var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); + var INCORRECT_TO_STRING = !constructorRegExp.test(noop); var isConstructorModern = function isConstructor(argument) { if (!isCallable(argument)) return false; @@ -12605,7 +12638,6 @@ var html$1 = getBuiltIn('document', 'documentElement'); /* global ActiveXObject -- old IE, WSH */ - var anObject = anObject$4; var definePropertiesModule = objectDefineProperties; var enumBugKeys = enumBugKeys$3; @@ -12698,7 +12730,7 @@ // Array.prototype[@@unscopables] // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - if (ArrayPrototype[UNSCOPABLES] == undefined) { + if (ArrayPrototype[UNSCOPABLES] === undefined) { defineProperty(ArrayPrototype, UNSCOPABLES, { configurable: true, value: create(null) @@ -12830,18 +12862,18 @@ // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation var createMethod = function (TYPE) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var IS_FILTER_REJECT = TYPE == 7; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var IS_MAP = TYPE === 1; + var IS_FILTER = TYPE === 2; + var IS_SOME = TYPE === 3; + var IS_EVERY = TYPE === 4; + var IS_FIND_INDEX = TYPE === 6; + var IS_FILTER_REJECT = TYPE === 7; + var NO_HOLES = TYPE === 5 || IS_FIND_INDEX; return function ($this, callbackfn, that, specificCreate) { var O = toObject($this); var self = IndexedObject(O); - var boundFunction = bind(callbackfn, that); var length = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); var index = 0; var create = specificCreate || arraySpeciesCreate; var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; @@ -12915,7 +12947,7 @@ // eslint-disable-next-line es/no-array-prototype-foreach -- safe } : [].forEach; - var global$1 = global$b; + var global$1 = global$c; var DOMIterables = domIterables; var DOMTokenListPrototype = domTokenListPrototype; var forEach = arrayForEach; @@ -12948,7 +12980,7 @@ // https://tc39.es/ecma262/#sec-isregexp var isRegexp = function (it) { var isRegExp; - return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof$1(it) == 'RegExp'); + return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof$1(it) === 'RegExp'); }; var isRegExp = isRegexp; @@ -12957,7 +12989,7 @@ var notARegexp = function (it) { if (isRegExp(it)) { - throw $TypeError("The method doesn't accept regular expressions"); + throw new $TypeError("The method doesn't accept regular expressions"); } return it; }; @@ -12966,7 +12998,7 @@ var $String = String; var toString$1 = function (argument) { - if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string'); + if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); return $String(argument); }; @@ -13148,6 +13180,20 @@ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jQuery)); })(this, (function ($$7) { 'use strict'; + function _toPrimitive(t, r) { + if ("object" != typeof t || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != typeof i) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); + } + function _toPropertyKey(t) { + var i = _toPrimitive(t, "string"); + return "symbol" == typeof i ? i : String(i); + } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); @@ -13339,35 +13385,22 @@ } }; } - function _toPrimitive(input, hint) { - if (typeof input !== "object" || input === null) return input; - var prim = input[Symbol.toPrimitive]; - if (prim !== undefined) { - var res = prim.call(input, hint || "default"); - if (typeof res !== "object") return res; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return (hint === "string" ? String : Number)(input); - } - function _toPropertyKey(arg) { - var key = _toPrimitive(arg, "string"); - return typeof key === "symbol" ? key : String(key); - } var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; var check = function (it) { - return it && it.Math == Math && it; + return it && it.Math === Math && it; }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 - var global$e = + var global$f = // 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 commonjsGlobal == 'object' && commonjsGlobal) || + check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback (function () { return this; })() || Function('return this')(); @@ -13386,7 +13419,7 @@ // Detect IE8's incomplete defineProperty implementation var descriptors = !fails$h(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing - return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; }); var fails$g = fails$i; @@ -13465,7 +13498,7 @@ // eslint-disable-next-line no-prototype-builtins -- safe return !$Object$3('z').propertyIsEnumerable(0); }) ? function (it) { - return classof$6(it) == 'String' ? split(it, '') : $Object$3(it); + return classof$6(it) === 'String' ? split(it, '') : $Object$3(it); } : $Object$3; // we can't use just `it == null` since of `document.all` special case @@ -13481,7 +13514,7 @@ // `RequireObjectCoercible` abstract operation // https://tc39.es/ecma262/#sec-requireobjectcoercible var requireObjectCoercible$4 = function (it) { - if (isNullOrUndefined$2(it)) throw $TypeError$7("Can't call method on " + it); + if (isNullOrUndefined$2(it)) throw new $TypeError$7("Can't call method on " + it); return it; }; @@ -13527,7 +13560,7 @@ return typeof it == 'object' ? it !== null : isCallable$d(it); }; - var global$d = global$e; + var global$e = global$f; var isCallable$c = isCallable$e; var aFunction = function (argument) { @@ -13535,7 +13568,7 @@ }; var getBuiltIn$4 = function (namespace, method) { - return arguments.length < 2 ? aFunction(global$d[namespace]) : global$d[namespace] && global$d[namespace][method]; + return arguments.length < 2 ? aFunction(global$e[namespace]) : global$e[namespace] && global$e[namespace][method]; }; var uncurryThis$i = functionUncurryThis; @@ -13544,11 +13577,11 @@ var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; - var global$c = global$e; + var global$d = global$f; var userAgent = engineUserAgent; - var process = global$c.process; - var Deno = global$c.Deno; + var process = global$d.process; + var Deno = global$d.Deno; var versions = process && process.versions || Deno && Deno.version; var v8 = versions && versions.v8; var match, version; @@ -13573,22 +13606,25 @@ var engineV8Version = version; /* eslint-disable es/no-symbol -- required for testing */ - var V8_VERSION$2 = engineV8Version; var fails$e = fails$i; + var global$c = global$f; + + var $String$4 = global$c.String; // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$e(function () { - var symbol = Symbol(); + 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 - return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String$4(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances !Symbol.sham && V8_VERSION$2 && V8_VERSION$2 < 41; }); /* eslint-disable es/no-symbol -- required for testing */ - var NATIVE_SYMBOL$1 = symbolConstructorDetection; var useSymbolAsUid = NATIVE_SYMBOL$1 @@ -13627,7 +13663,7 @@ // `Assert: IsCallable(argument) is true` var aCallable$2 = function (argument) { if (isCallable$a(argument)) return argument; - throw $TypeError$6(tryToString(argument) + ' is not a function'); + throw new $TypeError$6(tryToString(argument) + ' is not a function'); }; var aCallable$1 = aCallable$2; @@ -13653,16 +13689,12 @@ if (pref === 'string' && isCallable$9(fn = input.toString) && !isObject$7(val = call$7(fn, input))) return val; if (isCallable$9(fn = input.valueOf) && !isObject$7(val = call$7(fn, input))) return val; if (pref !== 'string' && isCallable$9(fn = input.toString) && !isObject$7(val = call$7(fn, input))) return val; - throw $TypeError$5("Can't convert object to primitive value"); + throw new $TypeError$5("Can't convert object to primitive value"); }; - var sharedExports = {}; - var shared$4 = { - get exports(){ return sharedExports; }, - set exports(v){ sharedExports = v; }, - }; + var shared$4 = {exports: {}}; - var global$b = global$e; + var global$b = global$f; // eslint-disable-next-line es/no-object-defineproperty -- safe var defineProperty$3 = Object.defineProperty; @@ -13675,7 +13707,7 @@ } return value; }; - var global$a = global$e; + var global$a = global$f; var defineGlobalProperty$2 = defineGlobalProperty$3; var SHARED = '__core-js_shared__'; @@ -13688,13 +13720,15 @@ (shared$4.exports = function (key, value) { return store$2[key] || (store$2[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.29.0', + version: '3.34.0', mode: 'global', copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.29.0/LICENSE', + license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE', source: 'https://github.com/zloirock/core-js' }); + var sharedExports = shared$4.exports; + var requireObjectCoercible$2 = requireObjectCoercible$4; var $Object$1 = Object; @@ -13727,7 +13761,7 @@ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$5(++id + postfix, 36); }; - var global$9 = global$e; + var global$9 = global$f; var shared$3 = sharedExports; var hasOwn$6 = hasOwnProperty_1; var uid$1 = uid$2; @@ -13766,7 +13800,7 @@ if (pref === undefined) pref = 'default'; result = call$6(exoticToPrim, input, pref); if (!isObject$6(result) || isSymbol$1(result)) return result; - throw $TypeError$4("Can't convert object to primitive value"); + throw new $TypeError$4("Can't convert object to primitive value"); } if (pref === undefined) pref = 'number'; return ordinaryToPrimitive(input, pref); @@ -13782,7 +13816,7 @@ return isSymbol(key) ? key : key + ''; }; - var global$8 = global$e; + var global$8 = global$f; var isObject$5 = isObject$8; var document$1 = global$8.document; @@ -13802,7 +13836,7 @@ // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } - }).a != 7; + }).a !== 7; }); var DESCRIPTORS$7 = descriptors; @@ -13840,7 +13874,7 @@ return Object.defineProperty(function () { /* empty */ }, 'prototype', { value: 42, writable: false - }).prototype != 42; + }).prototype !== 42; }); var isObject$4 = isObject$8; @@ -13851,7 +13885,7 @@ // `Assert: Type(argument) is Object` var anObject$7 = function (argument) { if (isObject$4(argument)) return argument; - throw $TypeError$3($String$2(argument) + ' is not an object'); + throw new $TypeError$3($String$2(argument) + ' is not an object'); }; var DESCRIPTORS$5 = descriptors; @@ -13893,7 +13927,7 @@ if (IE8_DOM_DEFINE) try { return $defineProperty(O, P, Attributes); } catch (error) { /* empty */ } - if ('get' in Attributes || 'set' in Attributes) throw $TypeError$2('Accessors not supported'); + if ('get' in Attributes || 'set' in Attributes) throw new $TypeError$2('Accessors not supported'); if ('value' in Attributes) O[P] = Attributes.value; return O; }; @@ -13909,11 +13943,7 @@ return object; }; - var makeBuiltInExports = {}; - var makeBuiltIn$2 = { - get exports(){ return makeBuiltInExports; }, - set exports(v){ makeBuiltInExports = v; }, - }; + var makeBuiltIn$2 = {exports: {}}; var DESCRIPTORS$3 = descriptors; var hasOwn$4 = hasOwnProperty_1; @@ -13948,7 +13978,7 @@ var inspectSource$2 = store$1.inspectSource; - var global$7 = global$e; + var global$7 = global$f; var isCallable$7 = isCallable$e; var WeakMap$1 = global$7.WeakMap; @@ -13967,7 +13997,7 @@ var hiddenKeys$4 = {}; var NATIVE_WEAK_MAP = weakMapBasicDetection; - var global$6 = global$e; + var global$6 = global$f; var isObject$3 = isObject$8; var createNonEnumerableProperty$3 = createNonEnumerableProperty$4; var hasOwn$3 = hasOwnProperty_1; @@ -13988,7 +14018,7 @@ return function (it) { var state; if (!isObject$3(it) || (state = get(it)).type !== TYPE) { - throw TypeError$1('Incompatible receiver, ' + TYPE + ' required'); + throw new TypeError$1('Incompatible receiver, ' + TYPE + ' required'); } return state; }; }; @@ -14001,7 +14031,7 @@ store.set = store.set; /* eslint-enable no-self-assign -- prototype methods protection */ set = function (it, metadata) { - if (store.has(it)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED); + if (store.has(it)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; store.set(it, metadata); return metadata; @@ -14016,7 +14046,7 @@ var STATE = sharedKey$1('state'); hiddenKeys$3[STATE] = true; set = function (it, metadata) { - if (hasOwn$3(it, STATE)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED); + if (hasOwn$3(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; createNonEnumerableProperty$3(it, STATE, metadata); return metadata; @@ -14092,6 +14122,8 @@ return isCallable$6(this) && getInternalState$1(this).source || inspectSource$1(this); }, 'toString'); + var makeBuiltInExports = makeBuiltIn$2.exports; + var isCallable$5 = isCallable$e; var definePropertyModule$3 = objectDefineProperty; var makeBuiltIn = makeBuiltInExports; @@ -14187,10 +14219,10 @@ 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) { + 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; + 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; @@ -14295,8 +14327,8 @@ var isForced$1 = function (feature, detection) { var value = data[normalize(feature)]; - return value == POLYFILL ? true - : value == NATIVE ? false + return value === POLYFILL ? true + : value === NATIVE ? false : isCallable$4(detection) ? fails$a(detection) : !!detection; }; @@ -14311,7 +14343,7 @@ var isForced_1 = isForced$1; - var global$5 = global$e; + var global$5 = global$f; var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; var createNonEnumerableProperty$2 = createNonEnumerableProperty$4; var defineBuiltIn$2 = defineBuiltIn$3; @@ -14409,11 +14441,11 @@ var A = {}; var B = {}; // eslint-disable-next-line es/no-symbol -- safe - var symbol = Symbol(); + var symbol = Symbol('assign detection'); var alphabet = 'abcdefghijklmnopqrst'; A[symbol] = 7; alphabet.split('').forEach(function (chr) { B[chr] = chr; }); - return $assign({}, A)[symbol] != 7 || objectKeys$1($assign({}, B)).join('') != alphabet; + return $assign({}, A)[symbol] !== 7 || objectKeys$1($assign({}, B)).join('') !== alphabet; }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` var T = toObject$3(target); var argumentsLength = arguments.length; @@ -14461,7 +14493,7 @@ var $Object = Object; // ES3 wrong here - var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) == 'Arguments'; + var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) === 'Arguments'; // fallback for IE11 Script Access Denied error var tryGet = function (it, key) { @@ -14479,7 +14511,7 @@ // builtinTag case : CORRECT_ARGUMENTS ? classofRaw$1(O) // ES3 arguments fallback - : (result = classofRaw$1(O)) == 'Object' && isCallable$3(O.callee) ? 'Arguments' : result; + : (result = classofRaw$1(O)) === 'Object' && isCallable$3(O.callee) ? 'Arguments' : result; }; var classof$4 = classof$5; @@ -14487,7 +14519,7 @@ var $String = String; var toString$4 = function (argument) { - if (classof$4(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string'); + if (classof$4(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); return $String(argument); }; @@ -14510,7 +14542,7 @@ }; var fails$8 = fails$i; - var global$4 = global$e; + var global$4 = global$f; // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError var $RegExp$2 = global$4.RegExp; @@ -14518,7 +14550,7 @@ var UNSUPPORTED_Y$1 = fails$8(function () { var re = $RegExp$2('a', 'y'); re.lastIndex = 2; - return re.exec('abcd') != null; + return re.exec('abcd') !== null; }); // UC Browser bug @@ -14531,7 +14563,7 @@ // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 var re = $RegExp$2('^r', 'gy'); re.lastIndex = 2; - return re.exec('str') != null; + return re.exec('str') !== null; }); var regexpStickyHelpers = { @@ -14568,7 +14600,6 @@ var html$1 = getBuiltIn$1('document', 'documentElement'); /* global ActiveXObject -- old IE, WSH */ - var anObject$2 = anObject$7; var definePropertiesModule = objectDefineProperties; var enumBugKeys = enumBugKeys$3; @@ -14653,18 +14684,18 @@ }; var fails$7 = fails$i; - var global$3 = global$e; + var global$3 = global$f; // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError var $RegExp$1 = global$3.RegExp; var regexpUnsupportedDotAll = fails$7(function () { var re = $RegExp$1('.', 's'); - return !(re.dotAll && re.exec('\n') && re.flags === 's'); + return !(re.dotAll && re.test('\n') && re.flags === 's'); }); var fails$6 = fails$i; - var global$2 = global$e; + var global$2 = global$f; // babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError var $RegExp = global$2.RegExp; @@ -14841,7 +14872,7 @@ // String methods call symbol-named RegEp methods var O = {}; O[SYMBOL] = function () { return 7; }; - return ''[KEY](O) != 7; + return ''[KEY](O) !== 7; }); var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$5(function () { @@ -14862,7 +14893,10 @@ re[SYMBOL] = /./[SYMBOL]; } - re.exec = function () { execCalled = true; return null; }; + re.exec = function () { + execCalled = true; + return null; + }; re[SYMBOL](''); return !execCalled; @@ -15005,7 +15039,7 @@ return result; } if (classof$3(R) === 'RegExp') return call$1(regexpExec, R, S); - throw $TypeError$1('RegExp#exec called on incompatible receiver'); + throw new $TypeError$1('RegExp#exec called on incompatible receiver'); }; var apply = functionApply; @@ -15097,13 +15131,16 @@ if (!functionalReplace) replaceValue = toString$1(replaceValue); var global = rx.global; + var fullUnicode; if (global) { - var fullUnicode = rx.unicode; + fullUnicode = rx.unicode; rx.lastIndex = 0; } + var results = []; + var result; while (true) { - var result = regExpExec(rx, S); + result = regExpExec(rx, S); if (result === null) break; push$1(results, result); @@ -15121,6 +15158,7 @@ var matched = toString$1(result[0]); var position = max$1(min(toIntegerOrInfinity(result.index), S.length), 0); var captures = []; + var replacement; // NOTE: This is equivalent to // captures = result.slice(1).map(maybeToString) // but for some reason `nativeSlice.call(result, 1, result.length)` (called in @@ -15131,7 +15169,7 @@ if (functionalReplace) { var replacerArgs = concat([matched], captures, position, S); if (namedCaptures !== undefined) push$1(replacerArgs, namedCaptures); - var replacement = toString$1(apply(replaceValue, undefined, replacerArgs)); + replacement = toString$1(apply(replaceValue, undefined, replacerArgs)); } else { replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); } @@ -15140,6 +15178,7 @@ nextSourcePosition = position + matched.length; } } + return accumulatedResult + stringSlice(S, nextSourcePosition); } ]; @@ -15151,7 +15190,7 @@ // https://tc39.es/ecma262/#sec-isarray // eslint-disable-next-line es/no-array-isarray -- safe var isArray$3 = Array.isArray || function isArray(argument) { - return classof$2(argument) == 'Array'; + return classof$2(argument) === 'Array'; }; var uncurryThis$4 = functionUncurryThis; @@ -15166,7 +15205,7 @@ var construct = getBuiltIn('Reflect', 'construct'); var constructorRegExp = /^\s*(?:class|function)\b/; var exec = uncurryThis$4(constructorRegExp.exec); - var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); + var INCORRECT_TO_STRING = !constructorRegExp.test(noop); var isConstructorModern = function isConstructor(argument) { if (!isCallable(argument)) return false; @@ -15346,18 +15385,18 @@ // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation var createMethod = function (TYPE) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var IS_FILTER_REJECT = TYPE == 7; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var IS_MAP = TYPE === 1; + var IS_FILTER = TYPE === 2; + var IS_SOME = TYPE === 3; + var IS_EVERY = TYPE === 4; + var IS_FIND_INDEX = TYPE === 6; + var IS_FILTER_REJECT = TYPE === 7; + var NO_HOLES = TYPE === 5 || IS_FIND_INDEX; return function ($this, callbackfn, that, specificCreate) { var O = toObject$1($this); var self = IndexedObject$1(O); - var boundFunction = bind(callbackfn, that); var length = lengthOfArrayLike$1(self); + var boundFunction = bind(callbackfn, that); var index = 0; var create = specificCreate || arraySpeciesCreate$1; var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; @@ -15433,7 +15472,7 @@ // Array.prototype[@@unscopables] // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - if (ArrayPrototype[UNSCOPABLES] == undefined) { + if (ArrayPrototype[UNSCOPABLES] === undefined) { defineProperty(ArrayPrototype, UNSCOPABLES, { configurable: true, value: create(null) @@ -15453,6 +15492,7 @@ var SKIPS_HOLES = true; // Shouldn't skip holes + // eslint-disable-next-line es/no-array-prototype-find -- testing if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); // `Array.prototype.find` method @@ -15569,7 +15609,7 @@ var nativeJoin = uncurryThis([].join); - var ES3_STRINGS = IndexedObject != Object; + var ES3_STRINGS = IndexedObject !== Object; var FORCED = ES3_STRINGS || !arrayMethodIsStrict$1('join', ','); // `Array.prototype.join` method @@ -15636,7 +15676,7 @@ // eslint-disable-next-line es/no-array-prototype-foreach -- safe } : [].forEach; - var global$1 = global$e; + var global$1 = global$f; var DOMIterables = domIterables; var DOMTokenListPrototype = domTokenListPrototype; var forEach = arrayForEach; @@ -15890,15 +15930,16 @@ var virtualScroll = this.options.virtualScroll; this.$el.one(eventName, function () { setTimeout(function () { + var data = _this2.getData(); doExport(function () { _this2.options.virtualScroll = virtualScroll; _this2.togglePagination(); }); + _this2.trigger('export-saved', data); }, 0); }); this.options.virtualScroll = false; this.togglePagination(); - this.trigger('export-saved', this.getData()); } else if (o.exportDataType === 'selected') { var data = this.getData(); var selectedData = this.getSelections(); @@ -15953,8 +15994,22 @@ typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) : typeof define === 'function' && define.amd ? define(['jquery'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jQuery)); -})(this, (function ($$9) { 'use strict'; +})(this, (function ($$a) { 'use strict'; + function _toPrimitive(t, r) { + if ("object" != typeof t || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != typeof i) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); + } + function _toPropertyKey(t) { + var i = _toPrimitive(t, "string"); + return "symbol" == typeof i ? i : String(i); + } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); @@ -16132,41 +16187,28 @@ } }; } - function _toPrimitive(input, hint) { - if (typeof input !== "object" || input === null) return input; - var prim = input[Symbol.toPrimitive]; - if (prim !== undefined) { - var res = prim.call(input, hint || "default"); - if (typeof res !== "object") return res; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return (hint === "string" ? String : Number)(input); - } - function _toPropertyKey(arg) { - var key = _toPrimitive(arg, "string"); - return typeof key === "symbol" ? key : String(key); - } var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; var check = function (it) { - return it && it.Math == Math && it; + return it && it.Math === Math && it; }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 - var global$e = + var global$f = // 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 commonjsGlobal == 'object' && commonjsGlobal) || + check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback (function () { return this; })() || Function('return this')(); var objectGetOwnPropertyDescriptor = {}; - var fails$k = function (exec) { + var fails$l = function (exec) { try { return !!exec(); } catch (error) { @@ -16174,17 +16216,17 @@ } }; - var fails$j = fails$k; + var fails$k = fails$l; // Detect IE8's incomplete defineProperty implementation - var descriptors = !fails$j(function () { + var descriptors = !fails$k(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing - return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; }); - var fails$i = fails$k; + var fails$j = fails$l; - var functionBindNative = !fails$i(function () { + var functionBindNative = !fails$j(function () { // eslint-disable-next-line es/no-function-prototype-bind -- safe var test = (function () { /* empty */ }).bind(); // eslint-disable-next-line no-prototype-builtins -- safe @@ -16246,19 +16288,19 @@ }; var uncurryThis$j = functionUncurryThis; - var fails$h = fails$k; + var fails$i = fails$l; var classof$7 = classofRaw$2; var $Object$3 = Object; var split = uncurryThis$j(''.split); // fallback for non-array-like ES3 and non-enumerable old V8 strings - var indexedObject = fails$h(function () { + var indexedObject = fails$i(function () { // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 // eslint-disable-next-line no-prototype-builtins -- safe return !$Object$3('z').propertyIsEnumerable(0); }) ? function (it) { - return classof$7(it) == 'String' ? split(it, '') : $Object$3(it); + return classof$7(it) === 'String' ? split(it, '') : $Object$3(it); } : $Object$3; // we can't use just `it == null` since of `document.all` special case @@ -16274,7 +16316,7 @@ // `RequireObjectCoercible` abstract operation // https://tc39.es/ecma262/#sec-requireobjectcoercible var requireObjectCoercible$6 = function (it) { - if (isNullOrUndefined$3(it)) throw $TypeError$8("Can't call method on " + it); + if (isNullOrUndefined$3(it)) throw new $TypeError$8("Can't call method on " + it); return it; }; @@ -16320,7 +16362,7 @@ return typeof it == 'object' ? it !== null : isCallable$d(it); }; - var global$d = global$e; + var global$e = global$f; var isCallable$c = isCallable$e; var aFunction = function (argument) { @@ -16328,7 +16370,7 @@ }; var getBuiltIn$4 = function (namespace, method) { - return arguments.length < 2 ? aFunction(global$d[namespace]) : global$d[namespace] && global$d[namespace][method]; + return arguments.length < 2 ? aFunction(global$e[namespace]) : global$e[namespace] && global$e[namespace][method]; }; var uncurryThis$i = functionUncurryThis; @@ -16337,11 +16379,11 @@ var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; - var global$c = global$e; + var global$d = global$f; var userAgent = engineUserAgent; - var process = global$c.process; - var Deno = global$c.Deno; + var process = global$d.process; + var Deno = global$d.Deno; var versions = process && process.versions || Deno && Deno.version; var v8 = versions && versions.v8; var match, version; @@ -16366,22 +16408,25 @@ var engineV8Version = version; /* eslint-disable es/no-symbol -- required for testing */ - var V8_VERSION$2 = engineV8Version; - var fails$g = fails$k; + var fails$h = fails$l; + var global$c = global$f; + + var $String$4 = global$c.String; // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing - var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$g(function () { - var symbol = Symbol(); + var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$h(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 - return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String$4(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances !Symbol.sham && V8_VERSION$2 && V8_VERSION$2 < 41; }); /* eslint-disable es/no-symbol -- required for testing */ - var NATIVE_SYMBOL$1 = symbolConstructorDetection; var useSymbolAsUid = NATIVE_SYMBOL$1 @@ -16420,7 +16465,7 @@ // `Assert: IsCallable(argument) is true` var aCallable$2 = function (argument) { if (isCallable$a(argument)) return argument; - throw $TypeError$7(tryToString(argument) + ' is not a function'); + throw new $TypeError$7(tryToString(argument) + ' is not a function'); }; var aCallable$1 = aCallable$2; @@ -16446,16 +16491,12 @@ if (pref === 'string' && isCallable$9(fn = input.toString) && !isObject$7(val = call$9(fn, input))) return val; if (isCallable$9(fn = input.valueOf) && !isObject$7(val = call$9(fn, input))) return val; if (pref !== 'string' && isCallable$9(fn = input.toString) && !isObject$7(val = call$9(fn, input))) return val; - throw $TypeError$6("Can't convert object to primitive value"); + throw new $TypeError$6("Can't convert object to primitive value"); }; - var sharedExports = {}; - var shared$4 = { - get exports(){ return sharedExports; }, - set exports(v){ sharedExports = v; }, - }; + var shared$4 = {exports: {}}; - var global$b = global$e; + var global$b = global$f; // eslint-disable-next-line es/no-object-defineproperty -- safe var defineProperty$3 = Object.defineProperty; @@ -16468,7 +16509,7 @@ } return value; }; - var global$a = global$e; + var global$a = global$f; var defineGlobalProperty$2 = defineGlobalProperty$3; var SHARED = '__core-js_shared__'; @@ -16481,25 +16522,27 @@ (shared$4.exports = function (key, value) { return store$2[key] || (store$2[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.29.0', + version: '3.34.0', mode: 'global', copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.29.0/LICENSE', + license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE', source: 'https://github.com/zloirock/core-js' }); + var sharedExports = shared$4.exports; + var requireObjectCoercible$4 = requireObjectCoercible$6; var $Object$1 = Object; // `ToObject` abstract operation // https://tc39.es/ecma262/#sec-toobject - var toObject$5 = function (argument) { + var toObject$6 = function (argument) { return $Object$1(requireObjectCoercible$4(argument)); }; var uncurryThis$h = functionUncurryThis; - var toObject$4 = toObject$5; + var toObject$5 = toObject$6; var hasOwnProperty = uncurryThis$h({}.hasOwnProperty); @@ -16507,7 +16550,7 @@ // https://tc39.es/ecma262/#sec-hasownproperty // eslint-disable-next-line es/no-object-hasown -- safe var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) { - return hasOwnProperty(toObject$4(it), key); + return hasOwnProperty(toObject$5(it), key); }; var uncurryThis$g = functionUncurryThis; @@ -16520,7 +16563,7 @@ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$7(++id + postfix, 36); }; - var global$9 = global$e; + var global$9 = global$f; var shared$3 = sharedExports; var hasOwn$7 = hasOwnProperty_1; var uid$1 = uid$2; @@ -16559,7 +16602,7 @@ if (pref === undefined) pref = 'default'; result = call$8(exoticToPrim, input, pref); if (!isObject$6(result) || isSymbol$1(result)) return result; - throw $TypeError$5("Can't convert object to primitive value"); + throw new $TypeError$5("Can't convert object to primitive value"); } if (pref === undefined) pref = 'number'; return ordinaryToPrimitive(input, pref); @@ -16575,7 +16618,7 @@ return isSymbol(key) ? key : key + ''; }; - var global$8 = global$e; + var global$8 = global$f; var isObject$5 = isObject$8; var document$1 = global$8.document; @@ -16587,15 +16630,15 @@ }; var DESCRIPTORS$8 = descriptors; - var fails$f = fails$k; + var fails$g = fails$l; var createElement = documentCreateElement$2; // Thanks to IE8 for its funny defineProperty - var ie8DomDefine = !DESCRIPTORS$8 && !fails$f(function () { + var ie8DomDefine = !DESCRIPTORS$8 && !fails$g(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } - }).a != 7; + }).a !== 7; }); var DESCRIPTORS$7 = descriptors; @@ -16624,16 +16667,16 @@ var objectDefineProperty = {}; var DESCRIPTORS$6 = descriptors; - var fails$e = fails$k; + var fails$f = fails$l; // V8 ~ Chrome 36- // https://bugs.chromium.org/p/v8/issues/detail?id=3334 - var v8PrototypeDefineBug = DESCRIPTORS$6 && fails$e(function () { + var v8PrototypeDefineBug = DESCRIPTORS$6 && fails$f(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(function () { /* empty */ }, 'prototype', { value: 42, writable: false - }).prototype != 42; + }).prototype !== 42; }); var isObject$4 = isObject$8; @@ -16644,7 +16687,7 @@ // `Assert: Type(argument) is Object` var anObject$9 = function (argument) { if (isObject$4(argument)) return argument; - throw $TypeError$4($String$2(argument) + ' is not an object'); + throw new $TypeError$4($String$2(argument) + ' is not an object'); }; var DESCRIPTORS$5 = descriptors; @@ -16686,7 +16729,7 @@ if (IE8_DOM_DEFINE) try { return $defineProperty(O, P, Attributes); } catch (error) { /* empty */ } - if ('get' in Attributes || 'set' in Attributes) throw $TypeError$3('Accessors not supported'); + if ('get' in Attributes || 'set' in Attributes) throw new $TypeError$3('Accessors not supported'); if ('value' in Attributes) O[P] = Attributes.value; return O; }; @@ -16702,11 +16745,7 @@ return object; }; - var makeBuiltInExports = {}; - var makeBuiltIn$2 = { - get exports(){ return makeBuiltInExports; }, - set exports(v){ makeBuiltInExports = v; }, - }; + var makeBuiltIn$2 = {exports: {}}; var DESCRIPTORS$3 = descriptors; var hasOwn$5 = hasOwnProperty_1; @@ -16741,7 +16780,7 @@ var inspectSource$2 = store$1.inspectSource; - var global$7 = global$e; + var global$7 = global$f; var isCallable$7 = isCallable$e; var WeakMap$1 = global$7.WeakMap; @@ -16760,7 +16799,7 @@ var hiddenKeys$4 = {}; var NATIVE_WEAK_MAP = weakMapBasicDetection; - var global$6 = global$e; + var global$6 = global$f; var isObject$3 = isObject$8; var createNonEnumerableProperty$3 = createNonEnumerableProperty$4; var hasOwn$4 = hasOwnProperty_1; @@ -16781,7 +16820,7 @@ return function (it) { var state; if (!isObject$3(it) || (state = get(it)).type !== TYPE) { - throw TypeError$1('Incompatible receiver, ' + TYPE + ' required'); + throw new TypeError$1('Incompatible receiver, ' + TYPE + ' required'); } return state; }; }; @@ -16794,7 +16833,7 @@ store.set = store.set; /* eslint-enable no-self-assign -- prototype methods protection */ set = function (it, metadata) { - if (store.has(it)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED); + if (store.has(it)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; store.set(it, metadata); return metadata; @@ -16809,7 +16848,7 @@ var STATE = sharedKey$1('state'); hiddenKeys$3[STATE] = true; set = function (it, metadata) { - if (hasOwn$4(it, STATE)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED); + if (hasOwn$4(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; createNonEnumerableProperty$3(it, STATE, metadata); return metadata; @@ -16831,7 +16870,7 @@ }; var uncurryThis$e = functionUncurryThis; - var fails$d = fails$k; + var fails$e = fails$l; var isCallable$6 = isCallable$e; var hasOwn$3 = hasOwnProperty_1; var DESCRIPTORS$2 = descriptors; @@ -16848,7 +16887,7 @@ var replace$2 = uncurryThis$e(''.replace); var join = uncurryThis$e([].join); - var CONFIGURABLE_LENGTH = DESCRIPTORS$2 && !fails$d(function () { + var CONFIGURABLE_LENGTH = DESCRIPTORS$2 && !fails$e(function () { return defineProperty$2(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; }); @@ -16885,6 +16924,8 @@ return isCallable$6(this) && getInternalState$1(this).source || inspectSource$1(this); }, 'toString'); + var makeBuiltInExports = makeBuiltIn$2.exports; + var isCallable$5 = isCallable$e; var definePropertyModule$3 = objectDefineProperty; var makeBuiltIn = makeBuiltInExports; @@ -16980,10 +17021,10 @@ 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) { + 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; + 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; @@ -17081,16 +17122,16 @@ } }; - var fails$c = fails$k; + var fails$d = fails$l; var isCallable$4 = isCallable$e; var replacement = /#|\.prototype\./; var isForced$1 = function (feature, detection) { var value = data[normalize(feature)]; - return value == POLYFILL ? true - : value == NATIVE ? false - : isCallable$4(detection) ? fails$c(detection) + return value === POLYFILL ? true + : value === NATIVE ? false + : isCallable$4(detection) ? fails$d(detection) : !!detection; }; @@ -17104,7 +17145,7 @@ var isForced_1 = isForced$1; - var global$5 = global$e; + var global$5 = global$f; var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; var createNonEnumerableProperty$2 = createNonEnumerableProperty$4; var defineBuiltIn$3 = defineBuiltIn$4; @@ -17197,7 +17238,6 @@ var html$1 = getBuiltIn$1('document', 'documentElement'); /* global ActiveXObject -- old IE, WSH */ - var anObject$5 = anObject$9; var definePropertiesModule = objectDefineProperties; var enumBugKeys = enumBugKeys$3; @@ -17290,7 +17330,7 @@ // Array.prototype[@@unscopables] // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - if (ArrayPrototype[UNSCOPABLES] == undefined) { + if (ArrayPrototype[UNSCOPABLES] === undefined) { defineProperty$1(ArrayPrototype, UNSCOPABLES, { configurable: true, value: create$1(null) @@ -17302,20 +17342,20 @@ ArrayPrototype[UNSCOPABLES][key] = true; }; - var $$8 = _export; + var $$9 = _export; var $includes = arrayIncludes.includes; - var fails$b = fails$k; + var fails$c = fails$l; var addToUnscopables$1 = addToUnscopables$2; // FF99+ bug - var BROKEN_ON_SPARSE = fails$b(function () { + var BROKEN_ON_SPARSE = fails$c(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 - $$8({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, { + $$9({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, { includes: function includes(el /* , fromIndex = 0 */) { return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); } @@ -17334,7 +17374,7 @@ // https://tc39.es/ecma262/#sec-isregexp var isRegexp = function (it) { var isRegExp; - return isObject$2(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof$6(it) == 'RegExp'); + return isObject$2(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof$6(it) === 'RegExp'); }; var isRegExp = isRegexp; @@ -17343,7 +17383,7 @@ var notARegexp = function (it) { if (isRegExp(it)) { - throw $TypeError$2("The method doesn't accept regular expressions"); + throw new $TypeError$2("The method doesn't accept regular expressions"); } return it; }; @@ -17365,7 +17405,7 @@ var $Object = Object; // ES3 wrong here - var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) == 'Arguments'; + var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) === 'Arguments'; // fallback for IE11 Script Access Denied error var tryGet = function (it, key) { @@ -17383,7 +17423,7 @@ // builtinTag case : CORRECT_ARGUMENTS ? classofRaw$1(O) // ES3 arguments fallback - : (result = classofRaw$1(O)) == 'Object' && isCallable$3(O.callee) ? 'Arguments' : result; + : (result = classofRaw$1(O)) === 'Object' && isCallable$3(O.callee) ? 'Arguments' : result; }; var classof$4 = classof$5; @@ -17391,7 +17431,7 @@ var $String = String; var toString$6 = function (argument) { - if (classof$4(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string'); + if (classof$4(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); return $String(argument); }; @@ -17411,7 +17451,7 @@ } return false; }; - var $$7 = _export; + var $$8 = _export; var uncurryThis$b = functionUncurryThis; var notARegExp = notARegexp; var requireObjectCoercible$3 = requireObjectCoercible$6; @@ -17422,7 +17462,7 @@ // `String.prototype.includes` method // https://tc39.es/ecma262/#sec-string.prototype.includes - $$7({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { + $$8({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { includes: function includes(searchString /* , position = 0 */) { return !!~stringIndexOf$1( toString$5(requireObjectCoercible$3(this)), @@ -17438,7 +17478,7 @@ // https://tc39.es/ecma262/#sec-isarray // eslint-disable-next-line es/no-array-isarray -- safe var isArray$2 = Array.isArray || function isArray(argument) { - return classof$3(argument) == 'Array'; + return classof$3(argument) === 'Array'; }; var $TypeError$1 = TypeError; @@ -17460,7 +17500,7 @@ }; var uncurryThis$a = functionUncurryThis; - var fails$a = fails$k; + var fails$b = fails$l; var isCallable$2 = isCallable$e; var classof$2 = classof$5; var getBuiltIn = getBuiltIn$4; @@ -17471,7 +17511,7 @@ var construct = getBuiltIn('Reflect', 'construct'); var constructorRegExp = /^\s*(?:class|function)\b/; var exec$1 = uncurryThis$a(constructorRegExp.exec); - var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); + var INCORRECT_TO_STRING = !constructorRegExp.test(noop); var isConstructorModern = function isConstructor(argument) { if (!isCallable$2(argument)) return false; @@ -17504,7 +17544,7 @@ // `IsConstructor` abstract operation // https://tc39.es/ecma262/#sec-isconstructor - var isConstructor$1 = !construct || fails$a(function () { + var isConstructor$1 = !construct || fails$b(function () { var called; return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) @@ -17543,7 +17583,7 @@ return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); }; - var fails$9 = fails$k; + var fails$a = fails$l; var wellKnownSymbol$3 = wellKnownSymbol$b; var V8_VERSION$1 = engineV8Version; @@ -17553,7 +17593,7 @@ // We can't use this feature detection in V8 since it causes // deoptimization and serious performance degradation // https://github.com/zloirock/core-js/issues/677 - return V8_VERSION$1 >= 51 || !fails$9(function () { + return V8_VERSION$1 >= 51 || !fails$a(function () { var array = []; var constructor = array.constructor = {}; constructor[SPECIES$1] = function () { @@ -17563,11 +17603,11 @@ }); }; - var $$6 = _export; - var fails$8 = fails$k; + var $$7 = _export; + var fails$9 = fails$l; var isArray = isArray$2; var isObject = isObject$8; - var toObject$3 = toObject$5; + var toObject$4 = toObject$6; var lengthOfArrayLike$1 = lengthOfArrayLike$3; var doesNotExceedSafeInteger = doesNotExceedSafeInteger$1; var createProperty = createProperty$1; @@ -17581,7 +17621,7 @@ // We can't use this feature detection in V8 since it causes // deoptimization and serious performance degradation // https://github.com/zloirock/core-js/issues/679 - var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails$8(function () { + var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails$9(function () { var array = []; array[IS_CONCAT_SPREADABLE] = false; return array.concat()[0] !== array; @@ -17598,10 +17638,10 @@ // `Array.prototype.concat` method // https://tc39.es/ecma262/#sec-array.prototype.concat // with adding support of @@isConcatSpreadable and @@species - $$6({ target: 'Array', proto: true, arity: 1, forced: FORCED$1 }, { + $$7({ target: 'Array', proto: true, arity: 1, forced: FORCED$1 }, { // eslint-disable-next-line no-unused-vars -- required for `.length` concat: function concat(arg) { - var O = toObject$3(this); + var O = toObject$4(this); var A = arraySpeciesCreate$1(O, 0); var n = 0; var i, k, length, len, E; @@ -17639,29 +17679,29 @@ return result; }; - var fails$7 = fails$k; - var global$4 = global$e; + var fails$8 = fails$l; + var global$4 = global$f; // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError var $RegExp$2 = global$4.RegExp; - var UNSUPPORTED_Y$1 = fails$7(function () { + var UNSUPPORTED_Y$1 = fails$8(function () { var re = $RegExp$2('a', 'y'); re.lastIndex = 2; - return re.exec('abcd') != null; + return re.exec('abcd') !== null; }); // UC Browser bug // https://github.com/zloirock/core-js/issues/1008 - var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$7(function () { + var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$8(function () { return !$RegExp$2('a', 'y').sticky; }); - var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$7(function () { + var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$8(function () { // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 var re = $RegExp$2('^r', 'gy'); re.lastIndex = 2; - return re.exec('str') != null; + return re.exec('str') !== null; }); var regexpStickyHelpers = { @@ -17670,24 +17710,24 @@ UNSUPPORTED_Y: UNSUPPORTED_Y$1 }; - var fails$6 = fails$k; - var global$3 = global$e; + var fails$7 = fails$l; + var global$3 = global$f; // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError var $RegExp$1 = global$3.RegExp; - var regexpUnsupportedDotAll = fails$6(function () { + var regexpUnsupportedDotAll = fails$7(function () { var re = $RegExp$1('.', 's'); - return !(re.dotAll && re.exec('\n') && re.flags === 's'); + return !(re.dotAll && re.test('\n') && re.flags === 's'); }); - var fails$5 = fails$k; - var global$2 = global$e; + var fails$6 = fails$l; + var global$2 = global$f; // babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError var $RegExp = global$2.RegExp; - var regexpUnsupportedNcg = fails$5(function () { + var regexpUnsupportedNcg = fails$6(function () { var re = $RegExp('(?b)', 'g'); return re.exec('b').groups.a !== 'b' || 'b'.replace(re, '$c') !== 'bc'; @@ -17810,12 +17850,12 @@ var regexpExec$2 = patchedExec; - var $$5 = _export; + var $$6 = _export; var exec = regexpExec$2; // `RegExp.prototype.exec` method // https://tc39.es/ecma262/#sec-regexp.prototype.exec - $$5({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { + $$6({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { exec: exec }); @@ -17845,7 +17885,7 @@ var uncurryThis$7 = functionUncurryThisClause; var defineBuiltIn$2 = defineBuiltIn$4; var regexpExec$1 = regexpExec$2; - var fails$4 = fails$k; + var fails$5 = fails$l; var wellKnownSymbol$1 = wellKnownSymbol$b; var createNonEnumerableProperty$1 = createNonEnumerableProperty$4; @@ -17855,14 +17895,14 @@ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) { var SYMBOL = wellKnownSymbol$1(KEY); - var DELEGATES_TO_SYMBOL = !fails$4(function () { + var DELEGATES_TO_SYMBOL = !fails$5(function () { // String methods call symbol-named RegEp methods var O = {}; O[SYMBOL] = function () { return 7; }; - return ''[KEY](O) != 7; + return ''[KEY](O) !== 7; }); - var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$4(function () { + var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$5(function () { // Symbol-named RegExp methods call .exec var execCalled = false; var re = /a/; @@ -17880,7 +17920,10 @@ re[SYMBOL] = /./[SYMBOL]; } - re.exec = function () { execCalled = true; return null; }; + re.exec = function () { + execCalled = true; + return null; + }; re[SYMBOL](''); return !execCalled; @@ -17960,7 +18003,7 @@ }; var uncurryThis$5 = functionUncurryThis; - var toObject$2 = toObject$5; + var toObject$3 = toObject$6; var floor = Math.floor; var charAt = uncurryThis$5(''.charAt); @@ -17977,7 +18020,7 @@ var m = captures.length; var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; if (namedCaptures !== undefined) { - namedCaptures = toObject$2(namedCaptures); + namedCaptures = toObject$3(namedCaptures); symbols = SUBSTITUTION_SYMBOLS; } return replace(replacement, symbols, function (match, ch) { @@ -18023,14 +18066,14 @@ return result; } if (classof$1(R) === 'RegExp') return call$4(regexpExec, R, S); - throw $TypeError('RegExp#exec called on incompatible receiver'); + throw new $TypeError('RegExp#exec called on incompatible receiver'); }; var apply = functionApply; var call$3 = functionCall; var uncurryThis$4 = functionUncurryThis; var fixRegExpWellKnownSymbolLogic$1 = fixRegexpWellKnownSymbolLogic; - var fails$3 = fails$k; + var fails$4 = fails$l; var anObject$2 = anObject$9; var isCallable = isCallable$e; var isNullOrUndefined$1 = isNullOrUndefined$4; @@ -18071,7 +18114,7 @@ return false; })(); - var REPLACE_SUPPORTS_NAMED_GROUPS = !fails$3(function () { + var REPLACE_SUPPORTS_NAMED_GROUPS = !fails$4(function () { var re = /./; re.exec = function () { var result = []; @@ -18115,13 +18158,16 @@ if (!functionalReplace) replaceValue = toString$2(replaceValue); var global = rx.global; + var fullUnicode; if (global) { - var fullUnicode = rx.unicode; + fullUnicode = rx.unicode; rx.lastIndex = 0; } + var results = []; + var result; while (true) { - var result = regExpExec$1(rx, S); + result = regExpExec$1(rx, S); if (result === null) break; push$1(results, result); @@ -18139,6 +18185,7 @@ var matched = toString$2(result[0]); var position = max(min(toIntegerOrInfinity(result.index), S.length), 0); var captures = []; + var replacement; // NOTE: This is equivalent to // captures = result.slice(1).map(maybeToString) // but for some reason `nativeSlice.call(result, 1, result.length)` (called in @@ -18149,7 +18196,7 @@ if (functionalReplace) { var replacerArgs = concat$1([matched], captures, position, S); if (namedCaptures !== undefined) push$1(replacerArgs, namedCaptures); - var replacement = toString$2(apply(replaceValue, undefined, replacerArgs)); + replacement = toString$2(apply(replaceValue, undefined, replacerArgs)); } else { replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); } @@ -18158,11 +18205,27 @@ nextSourcePosition = position + matched.length; } } + return accumulatedResult + stringSlice(S, nextSourcePosition); } ]; }, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE); + var $$5 = _export; + var toObject$2 = toObject$6; + var nativeKeys = objectKeys$2; + var fails$3 = fails$l; + + var FAILS_ON_PRIMITIVES = fails$3(function () { nativeKeys(1); }); + + // `Object.keys` method + // https://tc39.es/ecma262/#sec-object.keys + $$5({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + keys: function keys(it) { + return nativeKeys(toObject$2(it)); + } + }); + var TO_STRING_TAG_SUPPORT$1 = toStringTagSupport; var classof = classof$5; @@ -18243,7 +18306,7 @@ var bind = functionBindContext; var uncurryThis$2 = functionUncurryThis; var IndexedObject$2 = indexedObject; - var toObject$1 = toObject$5; + var toObject$1 = toObject$6; var lengthOfArrayLike = lengthOfArrayLike$3; var arraySpeciesCreate = arraySpeciesCreate$2; @@ -18251,18 +18314,18 @@ // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation var createMethod = function (TYPE) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var IS_FILTER_REJECT = TYPE == 7; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var IS_MAP = TYPE === 1; + var IS_FILTER = TYPE === 2; + var IS_SOME = TYPE === 3; + var IS_EVERY = TYPE === 4; + var IS_FIND_INDEX = TYPE === 6; + var IS_FILTER_REJECT = TYPE === 7; + var NO_HOLES = TYPE === 5 || IS_FIND_INDEX; return function ($this, callbackfn, that, specificCreate) { var O = toObject$1($this); var self = IndexedObject$2(O); - var boundFunction = bind(callbackfn, that); var length = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); var index = 0; var create = specificCreate || arraySpeciesCreate; var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; @@ -18314,7 +18377,7 @@ filterReject: createMethod(7) }; - var fails$2 = fails$k; + var fails$2 = fails$l; var arrayMethodIsStrict$2 = function (METHOD_NAME, argument) { var method = [][METHOD_NAME]; @@ -18336,7 +18399,7 @@ // eslint-disable-next-line es/no-array-prototype-foreach -- safe } : [].forEach; - var global$1 = global$e; + var global$1 = global$f; var DOMIterables = domIterables; var DOMTokenListPrototype = domTokenListPrototype; var forEach = arrayForEach; @@ -18376,16 +18439,16 @@ var defineBuiltIn = defineBuiltIn$4; var anObject$1 = anObject$9; var $toString = toString$6; - var fails$1 = fails$k; + var fails$1 = fails$l; var getRegExpFlags = regexpGetFlags; var TO_STRING = 'toString'; var RegExpPrototype = RegExp.prototype; var nativeToString = RegExpPrototype[TO_STRING]; - var NOT_GENERIC = fails$1(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); + var NOT_GENERIC = fails$1(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; }); // FF44- RegExp#toString has a wrong name - var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name != TO_STRING; + var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING; // `RegExp.prototype.toString` method // https://tc39.es/ecma262/#sec-regexp.prototype.tostring @@ -18406,6 +18469,7 @@ var SKIPS_HOLES = true; // Shouldn't skip holes + // eslint-disable-next-line es/no-array-prototype-find -- testing if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); // `Array.prototype.find` method @@ -18437,11 +18501,11 @@ var DESCRIPTORS = descriptors; var uncurryThis$1 = functionUncurryThis; var call$1 = functionCall; - var fails = fails$k; + var fails = fails$l; var objectKeys = objectKeys$2; var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols; var propertyIsEnumerableModule = objectPropertyIsEnumerable; - var toObject = toObject$5; + var toObject = toObject$6; var IndexedObject$1 = indexedObject; // eslint-disable-next-line es/no-object-assign -- safe @@ -18467,11 +18531,11 @@ var A = {}; var B = {}; // eslint-disable-next-line es/no-symbol -- safe - var symbol = Symbol(); + var symbol = Symbol('assign detection'); var alphabet = 'abcdefghijklmnopqrst'; A[symbol] = 7; alphabet.split('').forEach(function (chr) { B[chr] = chr; }); - return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet; + return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet; }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` var T = toObject(target); var argumentsLength = arguments.length; @@ -18521,7 +18585,7 @@ // eslint-disable-next-line es/no-object-is -- safe var sameValue$1 = Object.is || function is(x, y) { // eslint-disable-next-line no-self-compare -- NaN check - return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; + return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y; }; var call = functionCall; @@ -18570,7 +18634,7 @@ var nativeJoin = uncurryThis([].join); - var ES3_STRINGS = IndexedObject != Object; + var ES3_STRINGS = IndexedObject !== Object; var FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ','); // `Array.prototype.join` method @@ -18585,7 +18649,7 @@ * @author: Dennis Hernández * @update zhixin wen */ - var Utils = $$9.fn.bootstrapTable.utils; + var Utils = $$a.fn.bootstrapTable.utils; var UtilsCookie = { cookieIds: { sortOrder: 'bs.table.sortOrder', @@ -18593,9 +18657,9 @@ sortPriority: 'bs.table.sortPriority', pageNumber: 'bs.table.pageNumber', pageList: 'bs.table.pageList', - columns: 'bs.table.columns', hiddenColumns: 'bs.table.hiddenColumns', cardView: 'bs.table.cardView', + customView: 'bs.table.customView', searchText: 'bs.table.searchText', reorderColumns: 'bs.table.reorderColumns', filterControl: 'bs.table.filterControl', @@ -18663,13 +18727,13 @@ d.setTime(d.getTime() + cookieExpire * 1000); return d.toGMTString(); }, - initCookieFilters: function initCookieFilters(bootstrapTable) { + initCookieFilters: function initCookieFilters(that) { setTimeout(function () { - var parsedCookieFilters = JSON.parse(UtilsCookie.getCookie(bootstrapTable, UtilsCookie.cookieIds.filterControl)); - if (!bootstrapTable._filterControlValuesLoaded && parsedCookieFilters) { + var parsedCookieFilters = JSON.parse(UtilsCookie.getCookie(that, UtilsCookie.cookieIds.filterControl)); + if (!that._filterControlValuesLoaded && parsedCookieFilters) { var cachedFilters = {}; - var header = UtilsCookie.getCurrentHeader(bootstrapTable); - var searchControls = UtilsCookie.getCurrentSearchControls(bootstrapTable); + var header = UtilsCookie.getCurrentHeader(that); + var searchControls = UtilsCookie.getCurrentSearchControls(that); var applyCookieFilters = function applyCookieFilters(element, filteredCookies) { filteredCookies.forEach(function (cookie) { var value = element.value.toString(); @@ -18683,7 +18747,7 @@ } else if (element.tagName === 'INPUT') { element.value = text; cachedFilters[cookie.field] = text; - } else if (element.tagName === 'SELECT' && bootstrapTable.options.filterControlContainer) { + } else if (element.tagName === 'SELECT' && that.options.filterControlContainer) { element.value = text; cachedFilters[cookie.field] = text; } else if (text !== '' && element.tagName === 'SELECT') { @@ -18712,24 +18776,24 @@ }); }; var filterContainer = header; - if (bootstrapTable.options.filterControlContainer) { - filterContainer = $$9("".concat(bootstrapTable.options.filterControlContainer)); + if (that.options.filterControlContainer) { + filterContainer = $$a("".concat(that.options.filterControlContainer)); } filterContainer.find(searchControls).each(function () { - var field = $$9(this).closest('[data-field]').data('field'); + var field = $$a(this).closest('[data-field]').data('field'); var filteredCookies = parsedCookieFilters.filter(function (cookie) { return cookie.field === field; }); applyCookieFilters(this, filteredCookies); }); - bootstrapTable.initColumnSearch(cachedFilters); - bootstrapTable._filterControlValuesLoaded = true; - bootstrapTable.initServer(); + that.initColumnSearch(cachedFilters); + that._filterControlValuesLoaded = true; + that.initServer(); } }, 250); } }; - Object.assign($$9.fn.bootstrapTable.defaults, { + Object.assign($$a.fn.bootstrapTable.defaults, { cookie: false, cookieExpire: '2h', cookiePath: null, @@ -18737,7 +18801,7 @@ cookieSecure: null, cookieSameSite: 'Lax', cookieIdTable: '', - cookiesEnabled: ['bs.table.sortOrder', 'bs.table.sortName', 'bs.table.sortPriority', 'bs.table.pageNumber', 'bs.table.pageList', 'bs.table.hiddenColumns', 'bs.table.columns', 'bs.table.searchText', 'bs.table.filterControl', 'bs.table.filterBy', 'bs.table.reorderColumns', 'bs.table.cardView'], + cookiesEnabled: ['bs.table.sortOrder', 'bs.table.sortName', 'bs.table.sortPriority', 'bs.table.pageNumber', 'bs.table.pageList', 'bs.table.hiddenColumns', 'bs.table.searchText', 'bs.table.filterControl', 'bs.table.filterBy', 'bs.table.reorderColumns', 'bs.table.cardView', 'bs.table.customView'], cookieStorage: 'cookieStorage', // localStorage, sessionStorage, customStorage cookieCustomStorageGet: null, @@ -18752,13 +18816,13 @@ removeItem: undefined } }); - $$9.fn.bootstrapTable.methods.push('getCookies'); - $$9.fn.bootstrapTable.methods.push('deleteCookie'); - Object.assign($$9.fn.bootstrapTable.utils, { + $$a.fn.bootstrapTable.methods.push('getCookies'); + $$a.fn.bootstrapTable.methods.push('deleteCookie'); + Object.assign($$a.fn.bootstrapTable.utils, { setCookie: UtilsCookie.setCookie, getCookie: UtilsCookie.getCookie }); - $$9.BootstrapTable = /*#__PURE__*/function (_$$BootstrapTable) { + $$a.BootstrapTable = /*#__PURE__*/function (_$$BootstrapTable) { _inherits(_class, _$$BootstrapTable); var _super = _createSuper(_class); function _class() { @@ -18970,6 +19034,12 @@ _get(_getPrototypeOf(_class.prototype), "toggleView", this).call(this); UtilsCookie.setCookie(this, UtilsCookie.cookieIds.cardView, this.options.cardView); } + }, { + key: "toggleCustomView", + value: function toggleCustomView() { + _get(_getPrototypeOf(_class.prototype), "toggleCustomView", this).call(this); + UtilsCookie.setCookie(this, UtilsCookie.cookieIds.customView, this.customViewDefaultView); + } }, { key: "selectPage", value: function selectPage(page) { @@ -19024,7 +19094,6 @@ }, { key: "initCookie", value: function initCookie() { - var _this = this; if (!this.options.cookie) { return; } @@ -19040,17 +19109,8 @@ var pageListCookie = UtilsCookie.getCookie(this, UtilsCookie.cookieIds.pageList); var searchTextCookie = UtilsCookie.getCookie(this, UtilsCookie.cookieIds.searchText); var cardViewCookie = UtilsCookie.getCookie(this, UtilsCookie.cookieIds.cardView); - var columnsCookieValue = UtilsCookie.getCookie(this, UtilsCookie.cookieIds.columns); + var customViewCookie = UtilsCookie.getCookie(this, UtilsCookie.cookieIds.customView); var hiddenColumnsCookieValue = UtilsCookie.getCookie(this, UtilsCookie.cookieIds.hiddenColumns); - if (typeof columnsCookieValue === 'boolean' && !columnsCookieValue) { - throw new Error('The cookie value of filterBy must be a json!'); - } - var columnsCookie = {}; - try { - columnsCookie = JSON.parse(columnsCookieValue); - } catch (e) { - throw new Error('Could not parse the json of the columns cookie!', columnsCookieValue); - } var hiddenColumnsCookie = {}; try { hiddenColumnsCookie = JSON.parse(hiddenColumnsCookieValue); @@ -19088,61 +19148,26 @@ this.options.searchText = searchTextCookie ? searchTextCookie : ''; } // cardView - this.options.cardView = cardViewCookie === 'true' ? cardViewCookie : false; + if (cardViewCookie !== null) { + this.options.cardView = cardViewCookie === 'true' ? cardViewCookie : false; + } + this.customViewDefaultView = customViewCookie === 'true'; if (hiddenColumnsCookie) { var _iterator2 = _createForOfIteratorHelper(this.columns), _step2; try { - var _loop = function _loop() { - var column = _step2.value; - column.visible = !hiddenColumnsCookie.filter(function (columnField) { - if (_this.isSelectionColumn(column)) { - return false; - } - return columnField === column.field; - }).length > 0 || !column.switchable; - }; for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { - _loop(); + var column = _step2.value; + if (!column.switchable) { + continue; + } + column.visible = this.isSelectionColumn(column) || !hiddenColumnsCookie.includes(column.field); } } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } - } else if (columnsCookie) { - /** - * This is needed for the old saved cookies! - * It can be removed in 2-3 Versions Later!! - * TODO: Remove this part (column cookie) some versions later e.g. 1.22.0 - */ - var _iterator3 = _createForOfIteratorHelper(this.columns), - _step3; - try { - var _loop2 = function _loop2() { - var column = _step3.value; - if (!column.switchable) { - return "continue"; - } - column.visible = columnsCookie.filter(function (columnField) { - if (_this.isSelectionColumn(column)) { - return true; - } - if (columnField instanceof Object) { - return columnField.field === column.field; - } - return columnField === column.field; - }).length > 0; - }; - for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { - var _ret = _loop2(); - if (_ret === "continue") continue; - } - } catch (err) { - _iterator3.e(err); - } finally { - _iterator3.f(); - } } } }, { @@ -19150,7 +19175,7 @@ value: function getCookies() { var bootstrapTable = this; var cookies = {}; - $$9.each(UtilsCookie.cookieIds, function (key, value) { + $$a.each(UtilsCookie.cookieIds, function (key, value) { cookies[key] = UtilsCookie.getCookie(bootstrapTable, value); if (key === 'columns' || key === 'hiddenColumns' || key === 'sortPriority') { cookies[key] = JSON.parse(cookies[key]); @@ -19227,7 +19252,7 @@ } }]); return _class; - }($$9.BootstrapTable); + }($$a.BootstrapTable); })); @@ -19237,6 +19262,20 @@ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jQuery)); })(this, (function ($$3) { 'use strict'; + function _toPrimitive(t, r) { + if ("object" != typeof t || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != typeof i) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); + } + function _toPropertyKey(t) { + var i = _toPrimitive(t, "string"); + return "symbol" == typeof i ? i : String(i); + } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); @@ -19350,35 +19389,22 @@ } return _get.apply(this, arguments); } - function _toPrimitive(input, hint) { - if (typeof input !== "object" || input === null) return input; - var prim = input[Symbol.toPrimitive]; - if (prim !== undefined) { - var res = prim.call(input, hint || "default"); - if (typeof res !== "object") return res; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return (hint === "string" ? String : Number)(input); - } - function _toPropertyKey(arg) { - var key = _toPrimitive(arg, "string"); - return typeof key === "symbol" ? key : String(key); - } var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; var check = function (it) { - return it && it.Math == Math && it; + return it && it.Math === Math && it; }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 - var global$a = + var global$b = // 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 commonjsGlobal == 'object' && commonjsGlobal) || + check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback (function () { return this; })() || Function('return this')(); @@ -19397,7 +19423,7 @@ // Detect IE8's incomplete defineProperty implementation var descriptors = !fails$b(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing - return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; }); var fails$a = fails$c; @@ -19476,7 +19502,7 @@ // eslint-disable-next-line no-prototype-builtins -- safe return !$Object$3('z').propertyIsEnumerable(0); }) ? function (it) { - return classof$4(it) == 'String' ? split(it, '') : $Object$3(it); + return classof$4(it) === 'String' ? split(it, '') : $Object$3(it); } : $Object$3; // we can't use just `it == null` since of `document.all` special case @@ -19492,7 +19518,7 @@ // `RequireObjectCoercible` abstract operation // https://tc39.es/ecma262/#sec-requireobjectcoercible var requireObjectCoercible$2 = function (it) { - if (isNullOrUndefined$1(it)) throw $TypeError$6("Can't call method on " + it); + if (isNullOrUndefined$1(it)) throw new $TypeError$6("Can't call method on " + it); return it; }; @@ -19538,7 +19564,7 @@ return typeof it == 'object' ? it !== null : isCallable$b(it); }; - var global$9 = global$a; + var global$a = global$b; var isCallable$a = isCallable$c; var aFunction = function (argument) { @@ -19546,7 +19572,7 @@ }; var getBuiltIn$4 = function (namespace, method) { - return arguments.length < 2 ? aFunction(global$9[namespace]) : global$9[namespace] && global$9[namespace][method]; + return arguments.length < 2 ? aFunction(global$a[namespace]) : global$a[namespace] && global$a[namespace][method]; }; var uncurryThis$b = functionUncurryThis; @@ -19555,11 +19581,11 @@ var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; - var global$8 = global$a; + var global$9 = global$b; var userAgent = engineUserAgent; - var process = global$8.process; - var Deno = global$8.Deno; + var process = global$9.process; + var Deno = global$9.Deno; var versions = process && process.versions || Deno && Deno.version; var v8 = versions && versions.v8; var match, version; @@ -19584,22 +19610,25 @@ var engineV8Version = version; /* eslint-disable es/no-symbol -- required for testing */ - var V8_VERSION$2 = engineV8Version; var fails$8 = fails$c; + var global$8 = global$b; + + var $String$3 = global$8.String; // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$8(function () { - var symbol = Symbol(); + 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 - return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String$3(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances !Symbol.sham && V8_VERSION$2 && V8_VERSION$2 < 41; }); /* eslint-disable es/no-symbol -- required for testing */ - var NATIVE_SYMBOL$1 = symbolConstructorDetection; var useSymbolAsUid = NATIVE_SYMBOL$1 @@ -19638,7 +19667,7 @@ // `Assert: IsCallable(argument) is true` var aCallable$2 = function (argument) { if (isCallable$8(argument)) return argument; - throw $TypeError$5(tryToString(argument) + ' is not a function'); + throw new $TypeError$5(tryToString(argument) + ' is not a function'); }; var aCallable$1 = aCallable$2; @@ -19664,16 +19693,12 @@ if (pref === 'string' && isCallable$7(fn = input.toString) && !isObject$6(val = call$3(fn, input))) return val; if (isCallable$7(fn = input.valueOf) && !isObject$6(val = call$3(fn, input))) return val; if (pref !== 'string' && isCallable$7(fn = input.toString) && !isObject$6(val = call$3(fn, input))) return val; - throw $TypeError$4("Can't convert object to primitive value"); + throw new $TypeError$4("Can't convert object to primitive value"); }; - var sharedExports = {}; - var shared$3 = { - get exports(){ return sharedExports; }, - set exports(v){ sharedExports = v; }, - }; + var shared$3 = {exports: {}}; - var global$7 = global$a; + var global$7 = global$b; // eslint-disable-next-line es/no-object-defineproperty -- safe var defineProperty$3 = Object.defineProperty; @@ -19686,7 +19711,7 @@ } return value; }; - var global$6 = global$a; + var global$6 = global$b; var defineGlobalProperty$2 = defineGlobalProperty$3; var SHARED = '__core-js_shared__'; @@ -19699,13 +19724,15 @@ (shared$3.exports = function (key, value) { return store$2[key] || (store$2[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.29.0', + version: '3.34.0', mode: 'global', copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.29.0/LICENSE', + license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE', source: 'https://github.com/zloirock/core-js' }); + var sharedExports = shared$3.exports; + var requireObjectCoercible = requireObjectCoercible$2; var $Object$1 = Object; @@ -19738,7 +19765,7 @@ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$1(++id + postfix, 36); }; - var global$5 = global$a; + var global$5 = global$b; var shared$2 = sharedExports; var hasOwn$6 = hasOwnProperty_1; var uid$1 = uid$2; @@ -19777,7 +19804,7 @@ if (pref === undefined) pref = 'default'; result = call$2(exoticToPrim, input, pref); if (!isObject$5(result) || isSymbol$1(result)) return result; - throw $TypeError$3("Can't convert object to primitive value"); + throw new $TypeError$3("Can't convert object to primitive value"); } if (pref === undefined) pref = 'number'; return ordinaryToPrimitive(input, pref); @@ -19793,7 +19820,7 @@ return isSymbol(key) ? key : key + ''; }; - var global$4 = global$a; + var global$4 = global$b; var isObject$4 = isObject$7; var document$1 = global$4.document; @@ -19813,7 +19840,7 @@ // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } - }).a != 7; + }).a !== 7; }); var DESCRIPTORS$7 = descriptors; @@ -19851,7 +19878,7 @@ return Object.defineProperty(function () { /* empty */ }, 'prototype', { value: 42, writable: false - }).prototype != 42; + }).prototype !== 42; }); var isObject$3 = isObject$7; @@ -19862,7 +19889,7 @@ // `Assert: Type(argument) is Object` var anObject$4 = function (argument) { if (isObject$3(argument)) return argument; - throw $TypeError$2($String$1(argument) + ' is not an object'); + throw new $TypeError$2($String$1(argument) + ' is not an object'); }; var DESCRIPTORS$5 = descriptors; @@ -19904,7 +19931,7 @@ if (IE8_DOM_DEFINE) try { return $defineProperty(O, P, Attributes); } catch (error) { /* empty */ } - if ('get' in Attributes || 'set' in Attributes) throw $TypeError$1('Accessors not supported'); + if ('get' in Attributes || 'set' in Attributes) throw new $TypeError$1('Accessors not supported'); if ('value' in Attributes) O[P] = Attributes.value; return O; }; @@ -19920,11 +19947,7 @@ return object; }; - var makeBuiltInExports = {}; - var makeBuiltIn$2 = { - get exports(){ return makeBuiltInExports; }, - set exports(v){ makeBuiltInExports = v; }, - }; + var makeBuiltIn$2 = {exports: {}}; var DESCRIPTORS$3 = descriptors; var hasOwn$4 = hasOwnProperty_1; @@ -19959,7 +19982,7 @@ var inspectSource$2 = store$1.inspectSource; - var global$3 = global$a; + var global$3 = global$b; var isCallable$5 = isCallable$c; var WeakMap$1 = global$3.WeakMap; @@ -19978,7 +20001,7 @@ var hiddenKeys$4 = {}; var NATIVE_WEAK_MAP = weakMapBasicDetection; - var global$2 = global$a; + var global$2 = global$b; var isObject$2 = isObject$7; var createNonEnumerableProperty$1 = createNonEnumerableProperty$2; var hasOwn$3 = hasOwnProperty_1; @@ -19999,7 +20022,7 @@ return function (it) { var state; if (!isObject$2(it) || (state = get(it)).type !== TYPE) { - throw TypeError$1('Incompatible receiver, ' + TYPE + ' required'); + throw new TypeError$1('Incompatible receiver, ' + TYPE + ' required'); } return state; }; }; @@ -20012,7 +20035,7 @@ store.set = store.set; /* eslint-enable no-self-assign -- prototype methods protection */ set = function (it, metadata) { - if (store.has(it)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED); + if (store.has(it)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; store.set(it, metadata); return metadata; @@ -20027,7 +20050,7 @@ var STATE = sharedKey$1('state'); hiddenKeys$3[STATE] = true; set = function (it, metadata) { - if (hasOwn$3(it, STATE)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED); + if (hasOwn$3(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; createNonEnumerableProperty$1(it, STATE, metadata); return metadata; @@ -20103,6 +20126,8 @@ return isCallable$4(this) && getInternalState(this).source || inspectSource$1(this); }, 'toString'); + var makeBuiltInExports = makeBuiltIn$2.exports; + var isCallable$3 = isCallable$c; var definePropertyModule$3 = objectDefineProperty; var makeBuiltIn = makeBuiltInExports; @@ -20198,10 +20223,10 @@ 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) { + 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; + 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; @@ -20306,8 +20331,8 @@ var isForced$1 = function (feature, detection) { var value = data[normalize(feature)]; - return value == POLYFILL ? true - : value == NATIVE ? false + return value === POLYFILL ? true + : value === NATIVE ? false : isCallable$2(detection) ? fails$4(detection) : !!detection; }; @@ -20322,7 +20347,7 @@ var isForced_1 = isForced$1; - var global$1 = global$a; + var global$1 = global$b; var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; var createNonEnumerableProperty = createNonEnumerableProperty$2; var defineBuiltIn$1 = defineBuiltIn$2; @@ -20420,11 +20445,11 @@ var A = {}; var B = {}; // eslint-disable-next-line es/no-symbol -- safe - var symbol = Symbol(); + var symbol = Symbol('assign detection'); var alphabet = 'abcdefghijklmnopqrst'; A[symbol] = 7; alphabet.split('').forEach(function (chr) { B[chr] = chr; }); - return $assign({}, A)[symbol] != 7 || objectKeys$1($assign({}, B)).join('') != alphabet; + return $assign({}, A)[symbol] !== 7 || objectKeys$1($assign({}, B)).join('') !== alphabet; }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` var T = toObject$2(target); var argumentsLength = arguments.length; @@ -20460,7 +20485,7 @@ // https://tc39.es/ecma262/#sec-isarray // eslint-disable-next-line es/no-array-isarray -- safe var isArray$2 = Array.isArray || function isArray(argument) { - return classof$3(argument) == 'Array'; + return classof$3(argument) === 'Array'; }; var $TypeError = TypeError; @@ -20499,7 +20524,7 @@ var $Object = Object; // ES3 wrong here - var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) == 'Arguments'; + var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) === 'Arguments'; // fallback for IE11 Script Access Denied error var tryGet = function (it, key) { @@ -20517,7 +20542,7 @@ // builtinTag case : CORRECT_ARGUMENTS ? classofRaw$1(O) // ES3 arguments fallback - : (result = classofRaw$1(O)) == 'Object' && isCallable$1(O.callee) ? 'Arguments' : result; + : (result = classofRaw$1(O)) === 'Object' && isCallable$1(O.callee) ? 'Arguments' : result; }; var uncurryThis$3 = functionUncurryThis; @@ -20532,7 +20557,7 @@ var construct = getBuiltIn$1('Reflect', 'construct'); var constructorRegExp = /^\s*(?:class|function)\b/; var exec = uncurryThis$3(constructorRegExp.exec); - var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); + var INCORRECT_TO_STRING = !constructorRegExp.test(noop); var isConstructorModern = function isConstructor(argument) { if (!isCallable(argument)) return false; @@ -20717,18 +20742,18 @@ // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation var createMethod = function (TYPE) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var IS_FILTER_REJECT = TYPE == 7; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var IS_MAP = TYPE === 1; + var IS_FILTER = TYPE === 2; + var IS_SOME = TYPE === 3; + var IS_EVERY = TYPE === 4; + var IS_FIND_INDEX = TYPE === 6; + var IS_FILTER_REJECT = TYPE === 7; + var NO_HOLES = TYPE === 5 || IS_FIND_INDEX; return function ($this, callbackfn, that, specificCreate) { var O = toObject($this); var self = IndexedObject(O); - var boundFunction = bind(callbackfn, that); var length = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); var index = 0; var create = specificCreate || arraySpeciesCreate; var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; @@ -20808,7 +20833,6 @@ var html$1 = getBuiltIn('document', 'documentElement'); /* global ActiveXObject -- old IE, WSH */ - var anObject = anObject$4; var definePropertiesModule = objectDefineProperties; var enumBugKeys = enumBugKeys$3; @@ -20901,7 +20925,7 @@ // Array.prototype[@@unscopables] // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - if (ArrayPrototype[UNSCOPABLES] == undefined) { + if (ArrayPrototype[UNSCOPABLES] === undefined) { defineProperty(ArrayPrototype, UNSCOPABLES, { configurable: true, value: create(null) @@ -20921,6 +20945,7 @@ var SKIPS_HOLES = true; // Shouldn't skip holes + // eslint-disable-next-line es/no-array-prototype-find -- testing if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); // `Array.prototype.find` method @@ -21091,9 +21116,8 @@ if (top > start && top <= end) { // ensure clone and source column widths are the same this.$stickyHeader.find('tr').each(function (indexRows, rows) { - var columns = $$3(rows).find('th'); - columns.each(function (indexColumns, celd) { - $$3(celd).css('min-width', _this4.$header.find("tr:eq(".concat(indexRows, ")")).find("th:eq(".concat(indexColumns, ")")).css('width')); + $$3(rows).find('th').each(function (index, el) { + $$3(el).css('min-width', _this4.$header.find("tr:eq(".concat(indexRows, ")")).find("th:eq(".concat(index, ")")).css('width')); }); }); // match bootstrap table style @@ -21880,6 +21904,20 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jQuery)); })(this, (function ($$3) { 'use strict'; + function _toPrimitive(t, r) { + if ("object" != typeof t || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != typeof i) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); + } + function _toPropertyKey(t) { + var i = _toPrimitive(t, "string"); + return "symbol" == typeof i ? i : String(i); + } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); @@ -21993,35 +22031,22 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er } return _get.apply(this, arguments); } - function _toPrimitive(input, hint) { - if (typeof input !== "object" || input === null) return input; - var prim = input[Symbol.toPrimitive]; - if (prim !== undefined) { - var res = prim.call(input, hint || "default"); - if (typeof res !== "object") return res; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return (hint === "string" ? String : Number)(input); - } - function _toPropertyKey(arg) { - var key = _toPrimitive(arg, "string"); - return typeof key === "symbol" ? key : String(key); - } var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; var check = function (it) { - return it && it.Math == Math && it; + return it && it.Math === Math && it; }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 - var global$a = + var global$b = // 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 commonjsGlobal == 'object' && commonjsGlobal) || + check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback (function () { return this; })() || Function('return this')(); @@ -22040,7 +22065,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // Detect IE8's incomplete defineProperty implementation var descriptors = !fails$b(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing - return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; }); var fails$a = fails$c; @@ -22119,7 +22144,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // eslint-disable-next-line no-prototype-builtins -- safe return !$Object$3('z').propertyIsEnumerable(0); }) ? function (it) { - return classof$4(it) == 'String' ? split(it, '') : $Object$3(it); + return classof$4(it) === 'String' ? split(it, '') : $Object$3(it); } : $Object$3; // we can't use just `it == null` since of `document.all` special case @@ -22135,7 +22160,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // `RequireObjectCoercible` abstract operation // https://tc39.es/ecma262/#sec-requireobjectcoercible var requireObjectCoercible$2 = function (it) { - if (isNullOrUndefined$1(it)) throw $TypeError$6("Can't call method on " + it); + if (isNullOrUndefined$1(it)) throw new $TypeError$6("Can't call method on " + it); return it; }; @@ -22181,7 +22206,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er return typeof it == 'object' ? it !== null : isCallable$b(it); }; - var global$9 = global$a; + var global$a = global$b; var isCallable$a = isCallable$c; var aFunction = function (argument) { @@ -22189,7 +22214,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er }; var getBuiltIn$4 = function (namespace, method) { - return arguments.length < 2 ? aFunction(global$9[namespace]) : global$9[namespace] && global$9[namespace][method]; + return arguments.length < 2 ? aFunction(global$a[namespace]) : global$a[namespace] && global$a[namespace][method]; }; var uncurryThis$b = functionUncurryThis; @@ -22198,11 +22223,11 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; - var global$8 = global$a; + var global$9 = global$b; var userAgent = engineUserAgent; - var process = global$8.process; - var Deno = global$8.Deno; + var process = global$9.process; + var Deno = global$9.Deno; var versions = process && process.versions || Deno && Deno.version; var v8 = versions && versions.v8; var match, version; @@ -22227,22 +22252,25 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var engineV8Version = version; /* eslint-disable es/no-symbol -- required for testing */ - var V8_VERSION$2 = engineV8Version; var fails$8 = fails$c; + var global$8 = global$b; + + var $String$3 = global$8.String; // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$8(function () { - var symbol = Symbol(); + 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 - return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String$3(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances !Symbol.sham && V8_VERSION$2 && V8_VERSION$2 < 41; }); /* eslint-disable es/no-symbol -- required for testing */ - var NATIVE_SYMBOL$1 = symbolConstructorDetection; var useSymbolAsUid = NATIVE_SYMBOL$1 @@ -22281,7 +22309,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // `Assert: IsCallable(argument) is true` var aCallable$2 = function (argument) { if (isCallable$8(argument)) return argument; - throw $TypeError$5(tryToString(argument) + ' is not a function'); + throw new $TypeError$5(tryToString(argument) + ' is not a function'); }; var aCallable$1 = aCallable$2; @@ -22307,16 +22335,12 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er if (pref === 'string' && isCallable$7(fn = input.toString) && !isObject$6(val = call$3(fn, input))) return val; if (isCallable$7(fn = input.valueOf) && !isObject$6(val = call$3(fn, input))) return val; if (pref !== 'string' && isCallable$7(fn = input.toString) && !isObject$6(val = call$3(fn, input))) return val; - throw $TypeError$4("Can't convert object to primitive value"); + throw new $TypeError$4("Can't convert object to primitive value"); }; - var sharedExports = {}; - var shared$3 = { - get exports(){ return sharedExports; }, - set exports(v){ sharedExports = v; }, - }; + var shared$3 = {exports: {}}; - var global$7 = global$a; + var global$7 = global$b; // eslint-disable-next-line es/no-object-defineproperty -- safe var defineProperty$3 = Object.defineProperty; @@ -22329,7 +22353,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er } return value; }; - var global$6 = global$a; + var global$6 = global$b; var defineGlobalProperty$2 = defineGlobalProperty$3; var SHARED = '__core-js_shared__'; @@ -22342,13 +22366,15 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er (shared$3.exports = function (key, value) { return store$2[key] || (store$2[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.29.0', + version: '3.34.0', mode: 'global', copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.29.0/LICENSE', + license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE', source: 'https://github.com/zloirock/core-js' }); + var sharedExports = shared$3.exports; + var requireObjectCoercible = requireObjectCoercible$2; var $Object$1 = Object; @@ -22381,7 +22407,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$1(++id + postfix, 36); }; - var global$5 = global$a; + var global$5 = global$b; var shared$2 = sharedExports; var hasOwn$6 = hasOwnProperty_1; var uid$1 = uid$2; @@ -22420,7 +22446,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er if (pref === undefined) pref = 'default'; result = call$2(exoticToPrim, input, pref); if (!isObject$5(result) || isSymbol$1(result)) return result; - throw $TypeError$3("Can't convert object to primitive value"); + throw new $TypeError$3("Can't convert object to primitive value"); } if (pref === undefined) pref = 'number'; return ordinaryToPrimitive(input, pref); @@ -22436,7 +22462,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er return isSymbol(key) ? key : key + ''; }; - var global$4 = global$a; + var global$4 = global$b; var isObject$4 = isObject$7; var document$1 = global$4.document; @@ -22456,7 +22482,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } - }).a != 7; + }).a !== 7; }); var DESCRIPTORS$7 = descriptors; @@ -22494,7 +22520,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er return Object.defineProperty(function () { /* empty */ }, 'prototype', { value: 42, writable: false - }).prototype != 42; + }).prototype !== 42; }); var isObject$3 = isObject$7; @@ -22505,7 +22531,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // `Assert: Type(argument) is Object` var anObject$4 = function (argument) { if (isObject$3(argument)) return argument; - throw $TypeError$2($String$1(argument) + ' is not an object'); + throw new $TypeError$2($String$1(argument) + ' is not an object'); }; var DESCRIPTORS$5 = descriptors; @@ -22547,7 +22573,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er if (IE8_DOM_DEFINE) try { return $defineProperty(O, P, Attributes); } catch (error) { /* empty */ } - if ('get' in Attributes || 'set' in Attributes) throw $TypeError$1('Accessors not supported'); + if ('get' in Attributes || 'set' in Attributes) throw new $TypeError$1('Accessors not supported'); if ('value' in Attributes) O[P] = Attributes.value; return O; }; @@ -22563,11 +22589,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er return object; }; - var makeBuiltInExports = {}; - var makeBuiltIn$2 = { - get exports(){ return makeBuiltInExports; }, - set exports(v){ makeBuiltInExports = v; }, - }; + var makeBuiltIn$2 = {exports: {}}; var DESCRIPTORS$3 = descriptors; var hasOwn$4 = hasOwnProperty_1; @@ -22602,7 +22624,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var inspectSource$2 = store$1.inspectSource; - var global$3 = global$a; + var global$3 = global$b; var isCallable$5 = isCallable$c; var WeakMap$1 = global$3.WeakMap; @@ -22621,7 +22643,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var hiddenKeys$4 = {}; var NATIVE_WEAK_MAP = weakMapBasicDetection; - var global$2 = global$a; + var global$2 = global$b; var isObject$2 = isObject$7; var createNonEnumerableProperty$1 = createNonEnumerableProperty$2; var hasOwn$3 = hasOwnProperty_1; @@ -22642,7 +22664,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er return function (it) { var state; if (!isObject$2(it) || (state = get(it)).type !== TYPE) { - throw TypeError$1('Incompatible receiver, ' + TYPE + ' required'); + throw new TypeError$1('Incompatible receiver, ' + TYPE + ' required'); } return state; }; }; @@ -22655,7 +22677,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er store.set = store.set; /* eslint-enable no-self-assign -- prototype methods protection */ set = function (it, metadata) { - if (store.has(it)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED); + if (store.has(it)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; store.set(it, metadata); return metadata; @@ -22670,7 +22692,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var STATE = sharedKey$1('state'); hiddenKeys$3[STATE] = true; set = function (it, metadata) { - if (hasOwn$3(it, STATE)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED); + if (hasOwn$3(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; createNonEnumerableProperty$1(it, STATE, metadata); return metadata; @@ -22746,6 +22768,8 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er return isCallable$4(this) && getInternalState(this).source || inspectSource$1(this); }, 'toString'); + var makeBuiltInExports = makeBuiltIn$2.exports; + var isCallable$3 = isCallable$c; var definePropertyModule$3 = objectDefineProperty; var makeBuiltIn = makeBuiltInExports; @@ -22841,10 +22865,10 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er 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) { + 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; + 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; @@ -22949,8 +22973,8 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var isForced$1 = function (feature, detection) { var value = data[normalize(feature)]; - return value == POLYFILL ? true - : value == NATIVE ? false + return value === POLYFILL ? true + : value === NATIVE ? false : isCallable$2(detection) ? fails$4(detection) : !!detection; }; @@ -22965,7 +22989,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var isForced_1 = isForced$1; - var global$1 = global$a; + var global$1 = global$b; var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; var createNonEnumerableProperty = createNonEnumerableProperty$2; var defineBuiltIn$1 = defineBuiltIn$2; @@ -23063,11 +23087,11 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var A = {}; var B = {}; // eslint-disable-next-line es/no-symbol -- safe - var symbol = Symbol(); + var symbol = Symbol('assign detection'); var alphabet = 'abcdefghijklmnopqrst'; A[symbol] = 7; alphabet.split('').forEach(function (chr) { B[chr] = chr; }); - return $assign({}, A)[symbol] != 7 || objectKeys$1($assign({}, B)).join('') != alphabet; + return $assign({}, A)[symbol] !== 7 || objectKeys$1($assign({}, B)).join('') !== alphabet; }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` var T = toObject$2(target); var argumentsLength = arguments.length; @@ -23103,7 +23127,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // https://tc39.es/ecma262/#sec-isarray // eslint-disable-next-line es/no-array-isarray -- safe var isArray$2 = Array.isArray || function isArray(argument) { - return classof$3(argument) == 'Array'; + return classof$3(argument) === 'Array'; }; var $TypeError = TypeError; @@ -23142,7 +23166,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var $Object = Object; // ES3 wrong here - var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) == 'Arguments'; + var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) === 'Arguments'; // fallback for IE11 Script Access Denied error var tryGet = function (it, key) { @@ -23160,7 +23184,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // builtinTag case : CORRECT_ARGUMENTS ? classofRaw$1(O) // ES3 arguments fallback - : (result = classofRaw$1(O)) == 'Object' && isCallable$1(O.callee) ? 'Arguments' : result; + : (result = classofRaw$1(O)) === 'Object' && isCallable$1(O.callee) ? 'Arguments' : result; }; var uncurryThis$3 = functionUncurryThis; @@ -23175,7 +23199,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var construct = getBuiltIn$1('Reflect', 'construct'); var constructorRegExp = /^\s*(?:class|function)\b/; var exec = uncurryThis$3(constructorRegExp.exec); - var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); + var INCORRECT_TO_STRING = !constructorRegExp.test(noop); var isConstructorModern = function isConstructor(argument) { if (!isCallable(argument)) return false; @@ -23360,18 +23384,18 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation var createMethod = function (TYPE) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var IS_FILTER_REJECT = TYPE == 7; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var IS_MAP = TYPE === 1; + var IS_FILTER = TYPE === 2; + var IS_SOME = TYPE === 3; + var IS_EVERY = TYPE === 4; + var IS_FIND_INDEX = TYPE === 6; + var IS_FILTER_REJECT = TYPE === 7; + var NO_HOLES = TYPE === 5 || IS_FIND_INDEX; return function ($this, callbackfn, that, specificCreate) { var O = toObject($this); var self = IndexedObject(O); - var boundFunction = bind(callbackfn, that); var length = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); var index = 0; var create = specificCreate || arraySpeciesCreate; var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; @@ -23451,7 +23475,6 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var html$1 = getBuiltIn('document', 'documentElement'); /* global ActiveXObject -- old IE, WSH */ - var anObject = anObject$4; var definePropertiesModule = objectDefineProperties; var enumBugKeys = enumBugKeys$3; @@ -23544,7 +23567,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // Array.prototype[@@unscopables] // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - if (ArrayPrototype[UNSCOPABLES] == undefined) { + if (ArrayPrototype[UNSCOPABLES] === undefined) { defineProperty(ArrayPrototype, UNSCOPABLES, { configurable: true, value: create(null) @@ -23564,6 +23587,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var SKIPS_HOLES = true; // Shouldn't skip holes + // eslint-disable-next-line es/no-array-prototype-find -- testing if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); // `Array.prototype.find` method @@ -23734,9 +23758,8 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er if (top > start && top <= end) { // ensure clone and source column widths are the same this.$stickyHeader.find('tr').each(function (indexRows, rows) { - var columns = $$3(rows).find('th'); - columns.each(function (indexColumns, celd) { - $$3(celd).css('min-width', _this4.$header.find("tr:eq(".concat(indexRows, ")")).find("th:eq(".concat(indexColumns, ")")).css('width')); + $$3(rows).find('th').each(function (index, el) { + $$3(el).css('min-width', _this4.$header.find("tr:eq(".concat(indexRows, ")")).find("th:eq(".concat(index, ")")).css('width')); }); }); // match bootstrap table style @@ -23789,33 +23812,47 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jQuery)); })(this, (function ($$b) { 'use strict'; - function _iterableToArrayLimit(arr, i) { - var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; - if (null != _i) { - var _s, - _e, - _x, - _r, - _arr = [], - _n = !0, - _d = !1; + function _iterableToArrayLimit(r, l) { + var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t) { + var e, + n, + i, + u, + a = [], + f = !0, + o = !1; try { - if (_x = (_i = _i.call(arr)).next, 0 === i) { - if (Object(_i) !== _i) return; - _n = !1; - } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); - } catch (err) { - _d = !0, _e = err; + if (i = (t = t.call(r)).next, 0 === l) { + if (Object(t) !== t) return; + f = !1; + } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); + } catch (r) { + o = !0, n = r; } finally { try { - if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; + if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { - if (_d) throw _e; + if (o) throw n; } } - return _arr; + return a; } } + function _toPrimitive(t, r) { + if ("object" != typeof t || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != typeof i) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); + } + function _toPropertyKey(t) { + var i = _toPrimitive(t, "string"); + return "symbol" == typeof i ? i : String(i); + } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); @@ -24014,41 +24051,28 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er } }; } - function _toPrimitive(input, hint) { - if (typeof input !== "object" || input === null) return input; - var prim = input[Symbol.toPrimitive]; - if (prim !== undefined) { - var res = prim.call(input, hint || "default"); - if (typeof res !== "object") return res; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return (hint === "string" ? String : Number)(input); - } - function _toPropertyKey(arg) { - var key = _toPrimitive(arg, "string"); - return typeof key === "symbol" ? key : String(key); - } var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; var check = function (it) { - return it && it.Math == Math && it; + return it && it.Math === Math && it; }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 - var global$d = + var global$e = // 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 commonjsGlobal == 'object' && commonjsGlobal) || + check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback (function () { return this; })() || Function('return this')(); var objectGetOwnPropertyDescriptor = {}; - var fails$j = function (exec) { + var fails$l = function (exec) { try { return !!exec(); } catch (error) { @@ -24056,17 +24080,17 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er } }; - var fails$i = fails$j; + var fails$k = fails$l; // Detect IE8's incomplete defineProperty implementation - var descriptors = !fails$i(function () { + var descriptors = !fails$k(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing - return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; }); - var fails$h = fails$j; + var fails$j = fails$l; - var functionBindNative = !fails$h(function () { + var functionBindNative = !fails$j(function () { // eslint-disable-next-line es/no-function-prototype-bind -- safe var test = (function () { /* empty */ }).bind(); // eslint-disable-next-line no-prototype-builtins -- safe @@ -24128,20 +24152,20 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er }; var uncurryThis$j = functionUncurryThis; - var fails$g = fails$j; + var fails$i = fails$l; var classof$7 = classofRaw$2; - var $Object$3 = Object; + var $Object$4 = Object; var split = uncurryThis$j(''.split); // fallback for non-array-like ES3 and non-enumerable old V8 strings - var indexedObject = fails$g(function () { + var indexedObject = fails$i(function () { // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 // eslint-disable-next-line no-prototype-builtins -- safe - return !$Object$3('z').propertyIsEnumerable(0); + return !$Object$4('z').propertyIsEnumerable(0); }) ? function (it) { - return classof$7(it) == 'String' ? split(it, '') : $Object$3(it); - } : $Object$3; + return classof$7(it) === 'String' ? split(it, '') : $Object$4(it); + } : $Object$4; // we can't use just `it == null` since of `document.all` special case // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec @@ -24156,7 +24180,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // `RequireObjectCoercible` abstract operation // https://tc39.es/ecma262/#sec-requireobjectcoercible var requireObjectCoercible$5 = function (it) { - if (isNullOrUndefined$2(it)) throw $TypeError$8("Can't call method on " + it); + if (isNullOrUndefined$2(it)) throw new $TypeError$8("Can't call method on " + it); return it; }; @@ -24185,32 +24209,32 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // `IsCallable` abstract operation // https://tc39.es/ecma262/#sec-iscallable - var isCallable$d = $documentAll$1.IS_HTMLDDA ? function (argument) { + var isCallable$e = $documentAll$1.IS_HTMLDDA ? function (argument) { return typeof argument == 'function' || argument === documentAll$1; } : function (argument) { return typeof argument == 'function'; }; - var isCallable$c = isCallable$d; + var isCallable$d = isCallable$e; var $documentAll = documentAll_1; var documentAll = $documentAll.all; var isObject$8 = $documentAll.IS_HTMLDDA ? function (it) { - return typeof it == 'object' ? it !== null : isCallable$c(it) || it === documentAll; + return typeof it == 'object' ? it !== null : isCallable$d(it) || it === documentAll; } : function (it) { - return typeof it == 'object' ? it !== null : isCallable$c(it); + return typeof it == 'object' ? it !== null : isCallable$d(it); }; - var global$c = global$d; - var isCallable$b = isCallable$d; + var global$d = global$e; + var isCallable$c = isCallable$e; var aFunction = function (argument) { - return isCallable$b(argument) ? argument : undefined; + return isCallable$c(argument) ? argument : undefined; }; var getBuiltIn$4 = function (namespace, method) { - return arguments.length < 2 ? aFunction(global$c[namespace]) : global$c[namespace] && global$c[namespace][method]; + return arguments.length < 2 ? aFunction(global$d[namespace]) : global$d[namespace] && global$d[namespace][method]; }; var uncurryThis$i = functionUncurryThis; @@ -24219,11 +24243,11 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; - var global$b = global$d; + var global$c = global$e; var userAgent = engineUserAgent; - var process = global$b.process; - var Deno = global$b.Deno; + var process = global$c.process; + var Deno = global$c.Deno; var versions = process && process.versions || Deno && Deno.version; var v8 = versions && versions.v8; var match, version; @@ -24248,22 +24272,25 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var engineV8Version = version; /* eslint-disable es/no-symbol -- required for testing */ - var V8_VERSION$2 = engineV8Version; - var fails$f = fails$j; + var fails$h = fails$l; + var global$b = global$e; + + var $String$4 = global$b.String; // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing - var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$f(function () { - var symbol = Symbol(); + var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$h(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 - return !String(symbol) || !(Object(symbol) instanceof Symbol) || + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String$4(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances !Symbol.sham && V8_VERSION$2 && V8_VERSION$2 < 41; }); /* eslint-disable es/no-symbol -- required for testing */ - var NATIVE_SYMBOL$1 = symbolConstructorDetection; var useSymbolAsUid = NATIVE_SYMBOL$1 @@ -24271,17 +24298,17 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er && typeof Symbol.iterator == 'symbol'; var getBuiltIn$3 = getBuiltIn$4; - var isCallable$a = isCallable$d; + var isCallable$b = isCallable$e; var isPrototypeOf = objectIsPrototypeOf; var USE_SYMBOL_AS_UID$1 = useSymbolAsUid; - var $Object$2 = Object; + var $Object$3 = Object; var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) { return typeof it == 'symbol'; } : function (it) { var $Symbol = getBuiltIn$3('Symbol'); - return isCallable$a($Symbol) && isPrototypeOf($Symbol.prototype, $Object$2(it)); + return isCallable$b($Symbol) && isPrototypeOf($Symbol.prototype, $Object$3(it)); }; var $String$3 = String; @@ -24294,15 +24321,15 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er } }; - var isCallable$9 = isCallable$d; + var isCallable$a = isCallable$e; var tryToString = tryToString$1; var $TypeError$7 = TypeError; // `Assert: IsCallable(argument) is true` var aCallable$2 = function (argument) { - if (isCallable$9(argument)) return argument; - throw $TypeError$7(tryToString(argument) + ' is not a function'); + if (isCallable$a(argument)) return argument; + throw new $TypeError$7(tryToString(argument) + ' is not a function'); }; var aCallable$1 = aCallable$2; @@ -24316,7 +24343,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er }; var call$6 = functionCall; - var isCallable$8 = isCallable$d; + var isCallable$9 = isCallable$e; var isObject$7 = isObject$8; var $TypeError$6 = TypeError; @@ -24325,19 +24352,15 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // https://tc39.es/ecma262/#sec-ordinarytoprimitive var ordinaryToPrimitive$1 = function (input, pref) { var fn, val; - if (pref === 'string' && isCallable$8(fn = input.toString) && !isObject$7(val = call$6(fn, input))) return val; - if (isCallable$8(fn = input.valueOf) && !isObject$7(val = call$6(fn, input))) return val; - if (pref !== 'string' && isCallable$8(fn = input.toString) && !isObject$7(val = call$6(fn, input))) return val; - throw $TypeError$6("Can't convert object to primitive value"); + if (pref === 'string' && isCallable$9(fn = input.toString) && !isObject$7(val = call$6(fn, input))) return val; + if (isCallable$9(fn = input.valueOf) && !isObject$7(val = call$6(fn, input))) return val; + if (pref !== 'string' && isCallable$9(fn = input.toString) && !isObject$7(val = call$6(fn, input))) return val; + throw new $TypeError$6("Can't convert object to primitive value"); }; - var sharedExports = {}; - var shared$4 = { - get exports(){ return sharedExports; }, - set exports(v){ sharedExports = v; }, - }; + var shared$4 = {exports: {}}; - var global$a = global$d; + var global$a = global$e; // eslint-disable-next-line es/no-object-defineproperty -- safe var defineProperty$3 = Object.defineProperty; @@ -24350,7 +24373,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er } return value; }; - var global$9 = global$d; + var global$9 = global$e; var defineGlobalProperty$2 = defineGlobalProperty$3; var SHARED = '__core-js_shared__'; @@ -24363,25 +24386,27 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er (shared$4.exports = function (key, value) { return store$2[key] || (store$2[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.29.0', + version: '3.34.0', mode: 'global', copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.29.0/LICENSE', + license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE', source: 'https://github.com/zloirock/core-js' }); + var sharedExports = shared$4.exports; + var requireObjectCoercible$3 = requireObjectCoercible$5; - var $Object$1 = Object; + var $Object$2 = Object; // `ToObject` abstract operation // https://tc39.es/ecma262/#sec-toobject - var toObject$4 = function (argument) { - return $Object$1(requireObjectCoercible$3(argument)); + var toObject$5 = function (argument) { + return $Object$2(requireObjectCoercible$3(argument)); }; var uncurryThis$h = functionUncurryThis; - var toObject$3 = toObject$4; + var toObject$4 = toObject$5; var hasOwnProperty = uncurryThis$h({}.hasOwnProperty); @@ -24389,7 +24414,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // https://tc39.es/ecma262/#sec-hasownproperty // eslint-disable-next-line es/no-object-hasown -- safe var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) { - return hasOwnProperty(toObject$3(it), key); + return hasOwnProperty(toObject$4(it), key); }; var uncurryThis$g = functionUncurryThis; @@ -24402,9 +24427,9 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$6(++id + postfix, 36); }; - var global$8 = global$d; + var global$8 = global$e; var shared$3 = sharedExports; - var hasOwn$6 = hasOwnProperty_1; + var hasOwn$7 = hasOwnProperty_1; var uid$1 = uid$2; var NATIVE_SYMBOL = symbolConstructorDetection; var USE_SYMBOL_AS_UID = useSymbolAsUid; @@ -24414,8 +24439,8 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1['for'] || Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1; var wellKnownSymbol$a = function (name) { - if (!hasOwn$6(WellKnownSymbolsStore, name)) { - WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn$6(Symbol$1, name) + if (!hasOwn$7(WellKnownSymbolsStore, name)) { + WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn$7(Symbol$1, name) ? Symbol$1[name] : createWellKnownSymbol('Symbol.' + name); } return WellKnownSymbolsStore[name]; @@ -24441,7 +24466,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er if (pref === undefined) pref = 'default'; result = call$5(exoticToPrim, input, pref); if (!isObject$6(result) || isSymbol$1(result)) return result; - throw $TypeError$5("Can't convert object to primitive value"); + throw new $TypeError$5("Can't convert object to primitive value"); } if (pref === undefined) pref = 'number'; return ordinaryToPrimitive(input, pref); @@ -24457,7 +24482,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er return isSymbol(key) ? key : key + ''; }; - var global$7 = global$d; + var global$7 = global$e; var isObject$5 = isObject$8; var document$1 = global$7.document; @@ -24469,15 +24494,15 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er }; var DESCRIPTORS$9 = descriptors; - var fails$e = fails$j; + var fails$g = fails$l; var createElement = documentCreateElement$1; // Thanks to IE8 for its funny defineProperty - var ie8DomDefine = !DESCRIPTORS$9 && !fails$e(function () { + var ie8DomDefine = !DESCRIPTORS$9 && !fails$g(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } - }).a != 7; + }).a !== 7; }); var DESCRIPTORS$8 = descriptors; @@ -24486,7 +24511,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var createPropertyDescriptor$2 = createPropertyDescriptor$3; var toIndexedObject$5 = toIndexedObject$6; var toPropertyKey$2 = toPropertyKey$3; - var hasOwn$5 = hasOwnProperty_1; + var hasOwn$6 = hasOwnProperty_1; var IE8_DOM_DEFINE$1 = ie8DomDefine; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe @@ -24500,22 +24525,22 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er if (IE8_DOM_DEFINE$1) try { return $getOwnPropertyDescriptor$1(O, P); } catch (error) { /* empty */ } - if (hasOwn$5(O, P)) return createPropertyDescriptor$2(!call$4(propertyIsEnumerableModule$1.f, O, P), O[P]); + if (hasOwn$6(O, P)) return createPropertyDescriptor$2(!call$4(propertyIsEnumerableModule$1.f, O, P), O[P]); }; var objectDefineProperty = {}; var DESCRIPTORS$7 = descriptors; - var fails$d = fails$j; + var fails$f = fails$l; // V8 ~ Chrome 36- // https://bugs.chromium.org/p/v8/issues/detail?id=3334 - var v8PrototypeDefineBug = DESCRIPTORS$7 && fails$d(function () { + var v8PrototypeDefineBug = DESCRIPTORS$7 && fails$f(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(function () { /* empty */ }, 'prototype', { value: 42, writable: false - }).prototype != 42; + }).prototype !== 42; }); var isObject$4 = isObject$8; @@ -24526,7 +24551,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // `Assert: Type(argument) is Object` var anObject$7 = function (argument) { if (isObject$4(argument)) return argument; - throw $TypeError$4($String$2(argument) + ' is not an object'); + throw new $TypeError$4($String$2(argument) + ' is not an object'); }; var DESCRIPTORS$6 = descriptors; @@ -24568,7 +24593,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er if (IE8_DOM_DEFINE) try { return $defineProperty(O, P, Attributes); } catch (error) { /* empty */ } - if ('get' in Attributes || 'set' in Attributes) throw $TypeError$3('Accessors not supported'); + if ('get' in Attributes || 'set' in Attributes) throw new $TypeError$3('Accessors not supported'); if ('value' in Attributes) O[P] = Attributes.value; return O; }; @@ -24584,20 +24609,16 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er return object; }; - var makeBuiltInExports = {}; - var makeBuiltIn$2 = { - get exports(){ return makeBuiltInExports; }, - set exports(v){ makeBuiltInExports = v; }, - }; + var makeBuiltIn$2 = {exports: {}}; var DESCRIPTORS$4 = descriptors; - var hasOwn$4 = hasOwnProperty_1; + var hasOwn$5 = hasOwnProperty_1; var FunctionPrototype = Function.prototype; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getDescriptor = DESCRIPTORS$4 && Object.getOwnPropertyDescriptor; - var EXISTS = hasOwn$4(FunctionPrototype, 'name'); + var EXISTS = hasOwn$5(FunctionPrototype, 'name'); // additional protection from minified / mangled / dropped function names var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; var CONFIGURABLE = EXISTS && (!DESCRIPTORS$4 || (DESCRIPTORS$4 && getDescriptor(FunctionPrototype, 'name').configurable)); @@ -24609,13 +24630,13 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er }; var uncurryThis$f = functionUncurryThis; - var isCallable$7 = isCallable$d; + var isCallable$8 = isCallable$e; var store$1 = sharedStore; var functionToString = uncurryThis$f(Function.toString); // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper - if (!isCallable$7(store$1.inspectSource)) { + if (!isCallable$8(store$1.inspectSource)) { store$1.inspectSource = function (it) { return functionToString(it); }; @@ -24623,31 +24644,31 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var inspectSource$2 = store$1.inspectSource; - var global$6 = global$d; - var isCallable$6 = isCallable$d; + var global$6 = global$e; + var isCallable$7 = isCallable$e; var WeakMap$1 = global$6.WeakMap; - var weakMapBasicDetection = isCallable$6(WeakMap$1) && /native code/.test(String(WeakMap$1)); + var weakMapBasicDetection = isCallable$7(WeakMap$1) && /native code/.test(String(WeakMap$1)); var shared$2 = sharedExports; var uid = uid$2; var keys = shared$2('keys'); - var sharedKey$2 = function (key) { + var sharedKey$3 = function (key) { return keys[key] || (keys[key] = uid(key)); }; var hiddenKeys$4 = {}; var NATIVE_WEAK_MAP = weakMapBasicDetection; - var global$5 = global$d; + var global$5 = global$e; var isObject$3 = isObject$8; var createNonEnumerableProperty$2 = createNonEnumerableProperty$3; - var hasOwn$3 = hasOwnProperty_1; + var hasOwn$4 = hasOwnProperty_1; var shared$1 = sharedStore; - var sharedKey$1 = sharedKey$2; + var sharedKey$2 = sharedKey$3; var hiddenKeys$3 = hiddenKeys$4; var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; @@ -24663,7 +24684,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er return function (it) { var state; if (!isObject$3(it) || (state = get(it)).type !== TYPE) { - throw TypeError$1('Incompatible receiver, ' + TYPE + ' required'); + throw new TypeError$1('Incompatible receiver, ' + TYPE + ' required'); } return state; }; }; @@ -24676,7 +24697,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er store.set = store.set; /* eslint-enable no-self-assign -- prototype methods protection */ set = function (it, metadata) { - if (store.has(it)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED); + if (store.has(it)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; store.set(it, metadata); return metadata; @@ -24688,19 +24709,19 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er return store.has(it); }; } else { - var STATE = sharedKey$1('state'); + var STATE = sharedKey$2('state'); hiddenKeys$3[STATE] = true; set = function (it, metadata) { - if (hasOwn$3(it, STATE)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED); + if (hasOwn$4(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; createNonEnumerableProperty$2(it, STATE, metadata); return metadata; }; get = function (it) { - return hasOwn$3(it, STATE) ? it[STATE] : {}; + return hasOwn$4(it, STATE) ? it[STATE] : {}; }; has = function (it) { - return hasOwn$3(it, STATE); + return hasOwn$4(it, STATE); }; } @@ -24713,9 +24734,9 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er }; var uncurryThis$e = functionUncurryThis; - var fails$c = fails$j; - var isCallable$5 = isCallable$d; - var hasOwn$2 = hasOwnProperty_1; + var fails$e = fails$l; + var isCallable$6 = isCallable$e; + var hasOwn$3 = hasOwnProperty_1; var DESCRIPTORS$3 = descriptors; var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE; var inspectSource$1 = inspectSource$2; @@ -24730,7 +24751,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var replace$2 = uncurryThis$e(''.replace); var join = uncurryThis$e([].join); - var CONFIGURABLE_LENGTH = DESCRIPTORS$3 && !fails$c(function () { + var CONFIGURABLE_LENGTH = DESCRIPTORS$3 && !fails$e(function () { return defineProperty$2(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; }); @@ -24742,21 +24763,21 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er } if (options && options.getter) name = 'get ' + name; if (options && options.setter) name = 'set ' + name; - if (!hasOwn$2(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + if (!hasOwn$3(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { if (DESCRIPTORS$3) defineProperty$2(value, 'name', { value: name, configurable: true }); else value.name = name; } - if (CONFIGURABLE_LENGTH && options && hasOwn$2(options, 'arity') && value.length !== options.arity) { + if (CONFIGURABLE_LENGTH && options && hasOwn$3(options, 'arity') && value.length !== options.arity) { defineProperty$2(value, 'length', { value: options.arity }); } try { - if (options && hasOwn$2(options, 'constructor') && options.constructor) { + if (options && hasOwn$3(options, 'constructor') && options.constructor) { if (DESCRIPTORS$3) defineProperty$2(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$2(state, 'source')) { + if (!hasOwn$3(state, 'source')) { state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); } return value; }; @@ -24764,10 +24785,12 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // 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$1(function toString() { - return isCallable$5(this) && getInternalState$1(this).source || inspectSource$1(this); + return isCallable$6(this) && getInternalState$1(this).source || inspectSource$1(this); }, 'toString'); - var isCallable$4 = isCallable$d; + var makeBuiltInExports = makeBuiltIn$2.exports; + + var isCallable$5 = isCallable$e; var definePropertyModule$3 = objectDefineProperty; var makeBuiltIn = makeBuiltInExports; var defineGlobalProperty$1 = defineGlobalProperty$3; @@ -24776,7 +24799,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er if (!options) options = {}; var simple = options.enumerable; var name = options.name !== undefined ? options.name : key; - if (isCallable$4(value)) makeBuiltIn(value, name, options); + if (isCallable$5(value)) makeBuiltIn(value, name, options); if (options.global) { if (simple) O[key] = value; else defineGlobalProperty$1(key, value); @@ -24862,10 +24885,10 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er 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) { + 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; + 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; @@ -24883,7 +24906,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er }; var uncurryThis$d = functionUncurryThis; - var hasOwn$1 = hasOwnProperty_1; + var hasOwn$2 = hasOwnProperty_1; var toIndexedObject$3 = toIndexedObject$6; var indexOf$1 = arrayIncludes.indexOf; var hiddenKeys$2 = hiddenKeys$4; @@ -24895,9 +24918,9 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var i = 0; var result = []; var key; - for (key in O) !hasOwn$1(hiddenKeys$2, key) && hasOwn$1(O, key) && push$2(result, key); + for (key in O) !hasOwn$2(hiddenKeys$2, key) && hasOwn$2(O, key) && push$2(result, key); // Don't enum bug & hidden keys - while (names.length > i) if (hasOwn$1(O, key = names[i++])) { + while (names.length > i) if (hasOwn$2(O, key = names[i++])) { ~indexOf$1(result, key) || push$2(result, key); } return result; @@ -24946,7 +24969,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er return getOwnPropertySymbols ? concat$1(keys, getOwnPropertySymbols(it)) : keys; }; - var hasOwn = hasOwnProperty_1; + var hasOwn$1 = hasOwnProperty_1; var ownKeys = ownKeys$1; var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor; var definePropertyModule$2 = objectDefineProperty; @@ -24957,22 +24980,22 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; for (var i = 0; i < keys.length; i++) { var key = keys[i]; - if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { + if (!hasOwn$1(target, key) && !(exceptions && hasOwn$1(exceptions, key))) { defineProperty(target, key, getOwnPropertyDescriptor(source, key)); } } }; - var fails$b = fails$j; - var isCallable$3 = isCallable$d; + var fails$d = fails$l; + var isCallable$4 = isCallable$e; var replacement = /#|\.prototype\./; var isForced$1 = function (feature, detection) { var value = data[normalize(feature)]; - return value == POLYFILL ? true - : value == NATIVE ? false - : isCallable$3(detection) ? fails$b(detection) + return value === POLYFILL ? true + : value === NATIVE ? false + : isCallable$4(detection) ? fails$d(detection) : !!detection; }; @@ -24986,7 +25009,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var isForced_1 = isForced$1; - var global$4 = global$d; + var global$4 = global$e; var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; var createNonEnumerableProperty$1 = createNonEnumerableProperty$3; var defineBuiltIn$2 = defineBuiltIn$3; @@ -25054,11 +25077,11 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var DESCRIPTORS$2 = descriptors; var uncurryThis$b = functionUncurryThis; var call$3 = functionCall; - var fails$a = fails$j; + var fails$c = fails$l; var objectKeys$2 = objectKeys$3; var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols; var propertyIsEnumerableModule = objectPropertyIsEnumerable; - var toObject$2 = toObject$4; + var toObject$3 = toObject$5; var IndexedObject$2 = indexedObject; // eslint-disable-next-line es/no-object-assign -- safe @@ -25069,7 +25092,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // `Object.assign` method // https://tc39.es/ecma262/#sec-object.assign - var objectAssign = !$assign || fails$a(function () { + var objectAssign = !$assign || fails$c(function () { // should have correct order of operations (Edge bug) if (DESCRIPTORS$2 && $assign({ b: 1 }, $assign(defineProperty$1({}, 'a', { enumerable: true, @@ -25084,13 +25107,13 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var A = {}; var B = {}; // eslint-disable-next-line es/no-symbol -- safe - var symbol = Symbol(); + var symbol = Symbol('assign detection'); var alphabet = 'abcdefghijklmnopqrst'; A[symbol] = 7; alphabet.split('').forEach(function (chr) { B[chr] = chr; }); - return $assign({}, A)[symbol] != 7 || objectKeys$2($assign({}, B)).join('') != alphabet; + return $assign({}, A)[symbol] !== 7 || objectKeys$2($assign({}, B)).join('') !== alphabet; }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` - var T = toObject$2(target); + var T = toObject$3(target); var argumentsLength = arguments.length; var index = 1; var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; @@ -25128,15 +25151,15 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var toStringTagSupport = String(test) === '[object z]'; var TO_STRING_TAG_SUPPORT$2 = toStringTagSupport; - var isCallable$2 = isCallable$d; + var isCallable$3 = isCallable$e; var classofRaw$1 = classofRaw$2; var wellKnownSymbol$7 = wellKnownSymbol$a; var TO_STRING_TAG = wellKnownSymbol$7('toStringTag'); - var $Object = Object; + var $Object$1 = Object; // ES3 wrong here - var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) == 'Arguments'; + var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) === 'Arguments'; // fallback for IE11 Script Access Denied error var tryGet = function (it, key) { @@ -25150,11 +25173,11 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var O, tag, result; return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case - : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag + : typeof (tag = tryGet(O = $Object$1(it), TO_STRING_TAG)) == 'string' ? tag // builtinTag case : CORRECT_ARGUMENTS ? classofRaw$1(O) // ES3 arguments fallback - : (result = classofRaw$1(O)) == 'Object' && isCallable$2(O.callee) ? 'Arguments' : result; + : (result = classofRaw$1(O)) === 'Object' && isCallable$3(O.callee) ? 'Arguments' : result; }; var classof$5 = classof$6; @@ -25162,7 +25185,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var $String = String; var toString$5 = function (argument) { - if (classof$5(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string'); + if (classof$5(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); return $String(argument); }; @@ -25184,29 +25207,29 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er return result; }; - var fails$9 = fails$j; - var global$3 = global$d; + var fails$b = fails$l; + var global$3 = global$e; // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError var $RegExp$2 = global$3.RegExp; - var UNSUPPORTED_Y$1 = fails$9(function () { + var UNSUPPORTED_Y$1 = fails$b(function () { var re = $RegExp$2('a', 'y'); re.lastIndex = 2; - return re.exec('abcd') != null; + return re.exec('abcd') !== null; }); // UC Browser bug // https://github.com/zloirock/core-js/issues/1008 - var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$9(function () { + var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$b(function () { return !$RegExp$2('a', 'y').sticky; }); - var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$9(function () { + var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$b(function () { // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 var re = $RegExp$2('^r', 'gy'); re.lastIndex = 2; - return re.exec('str') != null; + return re.exec('str') !== null; }); var regexpStickyHelpers = { @@ -25243,20 +25266,19 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var html$1 = getBuiltIn$1('document', 'documentElement'); /* global ActiveXObject -- old IE, WSH */ - var anObject$2 = anObject$7; var definePropertiesModule = objectDefineProperties; var enumBugKeys = enumBugKeys$3; var hiddenKeys = hiddenKeys$4; var html = html$1; var documentCreateElement = documentCreateElement$1; - var sharedKey = sharedKey$2; + var sharedKey$1 = sharedKey$3; var GT = '>'; var LT = '<'; var PROTOTYPE = 'prototype'; var SCRIPT = 'script'; - var IE_PROTO = sharedKey('IE_PROTO'); + var IE_PROTO$1 = sharedKey$1('IE_PROTO'); var EmptyConstructor = function () { /* empty */ }; @@ -25310,7 +25332,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er return NullProtoObject(); }; - hiddenKeys[IE_PROTO] = true; + hiddenKeys[IE_PROTO$1] = true; // `Object.create` method // https://tc39.es/ecma262/#sec-object.create @@ -25322,29 +25344,29 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er result = new EmptyConstructor(); EmptyConstructor[PROTOTYPE] = null; // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; + result[IE_PROTO$1] = O; } else result = NullProtoObject(); return Properties === undefined ? result : definePropertiesModule.f(result, Properties); }; - var fails$8 = fails$j; - var global$2 = global$d; + var fails$a = fails$l; + var global$2 = global$e; // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError var $RegExp$1 = global$2.RegExp; - var regexpUnsupportedDotAll = fails$8(function () { + var regexpUnsupportedDotAll = fails$a(function () { var re = $RegExp$1('.', 's'); - return !(re.dotAll && re.exec('\n') && re.flags === 's'); + return !(re.dotAll && re.test('\n') && re.flags === 's'); }); - var fails$7 = fails$j; - var global$1 = global$d; + var fails$9 = fails$l; + var global$1 = global$e; // babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError var $RegExp = global$1.RegExp; - var regexpUnsupportedNcg = fails$7(function () { + var regexpUnsupportedNcg = fails$9(function () { var re = $RegExp('(?b)', 'g'); return re.exec('b').groups.a !== 'b' || 'b'.replace(re, '$c') !== 'bc'; @@ -25491,7 +25513,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var uncurryThis$8 = functionUncurryThisClause; var defineBuiltIn$1 = defineBuiltIn$3; var regexpExec$1 = regexpExec$2; - var fails$6 = fails$j; + var fails$8 = fails$l; var wellKnownSymbol$6 = wellKnownSymbol$a; var createNonEnumerableProperty = createNonEnumerableProperty$3; @@ -25501,14 +25523,14 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) { var SYMBOL = wellKnownSymbol$6(KEY); - var DELEGATES_TO_SYMBOL = !fails$6(function () { + var DELEGATES_TO_SYMBOL = !fails$8(function () { // String methods call symbol-named RegEp methods var O = {}; O[SYMBOL] = function () { return 7; }; - return ''[KEY](O) != 7; + return ''[KEY](O) !== 7; }); - var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$6(function () { + var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$8(function () { // Symbol-named RegExp methods call .exec var execCalled = false; var re = /a/; @@ -25526,7 +25548,10 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er re[SYMBOL] = /./[SYMBOL]; } - re.exec = function () { execCalled = true; return null; }; + re.exec = function () { + execCalled = true; + return null; + }; re[SYMBOL](''); return !execCalled; @@ -25565,12 +25590,12 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // eslint-disable-next-line es/no-object-is -- safe var sameValue$1 = Object.is || function is(x, y) { // eslint-disable-next-line no-self-compare -- NaN check - return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; + return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y; }; var call$1 = functionCall; var anObject$1 = anObject$7; - var isCallable$1 = isCallable$d; + var isCallable$2 = isCallable$e; var classof$4 = classofRaw$2; var regexpExec = regexpExec$2; @@ -25580,13 +25605,13 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // https://tc39.es/ecma262/#sec-regexpexec var regexpExecAbstract = function (R, S) { var exec = R.exec; - if (isCallable$1(exec)) { + if (isCallable$2(exec)) { var result = call$1(exec, R, S); if (result !== null) anObject$1(result); return result; } if (classof$4(R) === 'RegExp') return call$1(regexpExec, R, S); - throw $TypeError$2('RegExp#exec called on incompatible receiver'); + throw new $TypeError$2('RegExp#exec called on incompatible receiver'); }; var call = functionCall; @@ -25627,11 +25652,11 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er ]; }); - var fails$5 = fails$j; + var fails$7 = fails$l; var arrayMethodIsStrict$2 = function (METHOD_NAME, argument) { var method = [][METHOD_NAME]; - return !!method && fails$5(function () { + return !!method && fails$7(function () { // eslint-disable-next-line no-useless-call -- required for testing method.call(null, argument || function () { return 1; }, 1); }); @@ -25645,7 +25670,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var nativeJoin = uncurryThis$7([].join); - var ES3_STRINGS = IndexedObject$1 != Object; + var ES3_STRINGS = IndexedObject$1 !== Object; var FORCED$2 = ES3_STRINGS || !arrayMethodIsStrict$1('join', ','); // `Array.prototype.join` method @@ -25676,12 +25701,12 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // https://tc39.es/ecma262/#sec-isarray // eslint-disable-next-line es/no-array-isarray -- safe var isArray$2 = Array.isArray || function isArray(argument) { - return classof$3(argument) == 'Array'; + return classof$3(argument) === 'Array'; }; var uncurryThis$5 = functionUncurryThis; - var fails$4 = fails$j; - var isCallable = isCallable$d; + var fails$6 = fails$l; + var isCallable$1 = isCallable$e; var classof$2 = classof$6; var getBuiltIn = getBuiltIn$4; var inspectSource = inspectSource$2; @@ -25691,10 +25716,10 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var construct = getBuiltIn('Reflect', 'construct'); var constructorRegExp = /^\s*(?:class|function)\b/; var exec = uncurryThis$5(constructorRegExp.exec); - var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); + var INCORRECT_TO_STRING = !constructorRegExp.test(noop); var isConstructorModern = function isConstructor(argument) { - if (!isCallable(argument)) return false; + if (!isCallable$1(argument)) return false; try { construct(noop, empty, argument); return true; @@ -25704,7 +25729,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er }; var isConstructorLegacy = function isConstructor(argument) { - if (!isCallable(argument)) return false; + if (!isCallable$1(argument)) return false; switch (classof$2(argument)) { case 'AsyncFunction': case 'GeneratorFunction': @@ -25724,7 +25749,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // `IsConstructor` abstract operation // https://tc39.es/ecma262/#sec-isconstructor - var isConstructor$1 = !construct || fails$4(function () { + var isConstructor$1 = !construct || fails$6(function () { var called; return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) @@ -25766,7 +25791,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var bind = functionBindContext; var uncurryThis$4 = functionUncurryThis; var IndexedObject = indexedObject; - var toObject$1 = toObject$4; + var toObject$2 = toObject$5; var lengthOfArrayLike$1 = lengthOfArrayLike$3; var arraySpeciesCreate$1 = arraySpeciesCreate$2; @@ -25774,18 +25799,18 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation var createMethod$2 = function (TYPE) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var IS_FILTER_REJECT = TYPE == 7; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var IS_MAP = TYPE === 1; + var IS_FILTER = TYPE === 2; + var IS_SOME = TYPE === 3; + var IS_EVERY = TYPE === 4; + var IS_FIND_INDEX = TYPE === 6; + var IS_FILTER_REJECT = TYPE === 7; + var NO_HOLES = TYPE === 5 || IS_FIND_INDEX; return function ($this, callbackfn, that, specificCreate) { - var O = toObject$1($this); + var O = toObject$2($this); var self = IndexedObject(O); - var boundFunction = bind(callbackfn, that); var length = lengthOfArrayLike$1(self); + var boundFunction = bind(callbackfn, that); var index = 0; var create = specificCreate || arraySpeciesCreate$1; var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; @@ -25846,7 +25871,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // Array.prototype[@@unscopables] // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables - if (ArrayPrototype[UNSCOPABLES] == undefined) { + if (ArrayPrototype[UNSCOPABLES] === undefined) { defineProperty(ArrayPrototype, UNSCOPABLES, { configurable: true, value: create(null) @@ -25866,6 +25891,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var SKIPS_HOLES = true; // Shouldn't skip holes + // eslint-disable-next-line es/no-array-prototype-find -- testing if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); // `Array.prototype.find` method @@ -25916,7 +25942,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er else object[propertyKey] = value; }; - var fails$3 = fails$j; + var fails$5 = fails$l; var wellKnownSymbol$3 = wellKnownSymbol$a; var V8_VERSION$1 = engineV8Version; @@ -25926,7 +25952,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // We can't use this feature detection in V8 since it causes // deoptimization and serious performance degradation // https://github.com/zloirock/core-js/issues/677 - return V8_VERSION$1 >= 51 || !fails$3(function () { + return V8_VERSION$1 >= 51 || !fails$5(function () { var array = []; var constructor = array.constructor = {}; constructor[SPECIES] = function () { @@ -25937,10 +25963,10 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er }; var $$6 = _export; - var fails$2 = fails$j; + var fails$4 = fails$l; var isArray = isArray$2; var isObject$1 = isObject$8; - var toObject = toObject$4; + var toObject$1 = toObject$5; var lengthOfArrayLike = lengthOfArrayLike$3; var doesNotExceedSafeInteger = doesNotExceedSafeInteger$1; var createProperty = createProperty$1; @@ -25954,7 +25980,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // We can't use this feature detection in V8 since it causes // deoptimization and serious performance degradation // https://github.com/zloirock/core-js/issues/679 - var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails$2(function () { + var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails$4(function () { var array = []; array[IS_CONCAT_SPREADABLE] = false; return array.concat()[0] !== array; @@ -25974,7 +26000,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er $$6({ target: 'Array', proto: true, arity: 1, forced: FORCED$1 }, { // eslint-disable-next-line no-unused-vars -- required for `.length` concat: function concat(arg) { - var O = toObject(this); + var O = toObject$1(this); var A = arraySpeciesCreate(O, 0); var n = 0; var i, k, length, len, E; @@ -26009,8 +26035,41 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er } }); + var fails$3 = fails$l; + + var correctPrototypeGetter = !fails$3(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + return Object.getPrototypeOf(new F()) !== F.prototype; + }); + + var hasOwn = hasOwnProperty_1; + var isCallable = isCallable$e; + var toObject = toObject$5; + var sharedKey = sharedKey$3; + var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter; + + var IE_PROTO = sharedKey('IE_PROTO'); + var $Object = Object; + var ObjectPrototype = $Object.prototype; + + // `Object.getPrototypeOf` method + // https://tc39.es/ecma262/#sec-object.getprototypeof + // eslint-disable-next-line es/no-object-getprototypeof -- safe + var objectGetPrototypeOf$1 = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwn(object, IE_PROTO)) return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; + } return object instanceof $Object ? ObjectPrototype : null; + }; + var DESCRIPTORS = descriptors; + var fails$2 = fails$l; var uncurryThis$3 = functionUncurryThis; + var objectGetPrototypeOf = objectGetPrototypeOf$1; var objectKeys = objectKeys$3; var toIndexedObject = toIndexedObject$6; var $propertyIsEnumerable = objectPropertyIsEnumerable.f; @@ -26018,18 +26077,28 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var propertyIsEnumerable = uncurryThis$3($propertyIsEnumerable); var push = uncurryThis$3([].push); + // in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys + // of `null` prototype objects + var IE_BUG = DESCRIPTORS && fails$2(function () { + // eslint-disable-next-line es/no-object-create -- safe + var O = Object.create(null); + O[2] = 2; + return !propertyIsEnumerable(O, 2); + }); + // `Object.{ entries, values }` methods implementation var createMethod$1 = function (TO_ENTRIES) { return function (it) { var O = toIndexedObject(it); var keys = objectKeys(O); + var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null; var length = keys.length; var i = 0; var result = []; var key; while (length > i) { key = keys[i++]; - if (!DESCRIPTORS || propertyIsEnumerable(O, key)) { + if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) { push(result, TO_ENTRIES ? [key, O[key]] : O[key]); } } @@ -26082,7 +26151,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var $$2 = _export; var $includes = arrayIncludes.includes; - var fails$1 = fails$j; + var fails$1 = fails$l; var addToUnscopables = addToUnscopables$2; // FF99+ bug @@ -26112,7 +26181,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er // https://tc39.es/ecma262/#sec-isregexp var isRegexp = function (it) { var isRegExp; - return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof(it) == 'RegExp'); + return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof(it) === 'RegExp'); }; var isRegExp = isRegexp; @@ -26121,7 +26190,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var notARegexp = function (it) { if (isRegExp(it)) { - throw $TypeError("The method doesn't accept regular expressions"); + throw new $TypeError("The method doesn't accept regular expressions"); } return it; }; @@ -26198,7 +26267,7 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er }; var PROPER_FUNCTION_NAME = functionName.PROPER; - var fails = fails$j; + var fails = fails$l; var whitespaces = whitespaces$2; var non = '\u200B\u0085\u180E'; @@ -26474,11 +26543,11 @@ if(xr(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Er var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), key = _Object$entries$_i[0], v = _Object$entries$_i[1]; - var fval = v.toLowerCase(); + var val = v.toLowerCase(); var value = item[key]; var index = _this2.header.fields.indexOf(key); value = Utils.calculateObjectValue(_this2.header, _this2.header.formatters[index], [value, item, i], value); - if (!(index !== -1 && (typeof value === 'string' || typeof value === 'number') && "".concat(value).toLowerCase().includes(fval))) { + if (!(index !== -1 && (typeof value === 'string' || typeof value === 'number') && "".concat(value).toLowerCase().includes(val))) { return false; } } diff --git a/public/mix-manifest.json b/public/mix-manifest.json index fcc3223276..f84c4b826d 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -18,7 +18,7 @@ "/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=0a82a6ae6bb4e58fe62d162c4fb50397", "/css/dist/skins/skin-contrast.css": "/css/dist/skins/skin-contrast.css?id=da6c7997d9de2f8329142399f0ce50da", "/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=44bf834f2110504a793dadec132a5898", - "/css/dist/all.css": "/css/dist/all.css?id=672c12fc9cd418d80133a246b24b828d", + "/css/dist/all.css": "/css/dist/all.css?id=ebd6663d2f61487038c9947111be2c73", "/css/dist/signature-pad.css": "/css/dist/signature-pad.css?id=6a89d3cd901305e66ced1cf5f13147f7", "/css/dist/signature-pad.min.css": "/css/dist/signature-pad.min.css?id=6a89d3cd901305e66ced1cf5f13147f7", "/css/webfonts/fa-brands-400.ttf": "/css/webfonts/fa-brands-400.ttf?id=69e5d8e4e818f05fd882cceb758d1eba", @@ -29,9 +29,9 @@ "/css/webfonts/fa-solid-900.woff2": "/css/webfonts/fa-solid-900.woff2?id=a0feb384c3c6071947a49708f2b0bc85", "/css/webfonts/fa-v4compatibility.ttf": "/css/webfonts/fa-v4compatibility.ttf?id=e24ec0b8661f7fa333b29444df39e399", "/css/webfonts/fa-v4compatibility.woff2": "/css/webfonts/fa-v4compatibility.woff2?id=e11465c0eff0549edd4e8ea6bbcf242f", - "/css/dist/bootstrap-table.css": "/css/dist/bootstrap-table.css?id=2bd29fa7f9d666800c246a52ce708633", + "/css/dist/bootstrap-table.css": "/css/dist/bootstrap-table.css?id=afa255bf30b2a7c11a97e3165128d183", "/js/build/vendor.js": "/js/build/vendor.js?id=a2b971da417306a63385c8098acfe4af", - "/js/dist/bootstrap-table.js": "/js/dist/bootstrap-table.js?id=1f678160a05960c3087fb8263168ff41", + "/js/dist/bootstrap-table.js": "/js/dist/bootstrap-table.js?id=29340c70d13855fa0165cd4d799c6f5b", "/js/dist/all.js": "/js/dist/all.js?id=7588c5db6df57ae2c6bb6d7ac2ac5b55", "/js/dist/all-defer.js": "/js/dist/all-defer.js?id=7f9a130eda6916eaa32a0a57e81918f3", "/css/dist/skins/skin-green.min.css": "/css/dist/skins/skin-green.min.css?id=0a82a6ae6bb4e58fe62d162c4fb50397", diff --git a/resources/lang/en-US/admin/settings/general.php b/resources/lang/en-US/admin/settings/general.php index 21e5759053..33cfd7b416 100644 --- a/resources/lang/en-US/admin/settings/general.php +++ b/resources/lang/en-US/admin/settings/general.php @@ -67,9 +67,10 @@ return [ 'footer_text' => 'Additional Footer Text ', 'footer_text_help' => 'This text will appear in the right-side footer. Links are allowed using Github flavored markdown. Line breaks, headers, images, etc may result in unpredictable results.', 'general_settings' => 'General Settings', - 'general_settings_keywords' => 'company support, signature, acceptance, email format, username format, images, per page, thumbnail, eula, tos, dashboard, privacy', + 'general_settings_keywords' => 'company support, signature, acceptance, email format, username format, images, per page, thumbnail, eula, gravatar, tos, dashboard, privacy', 'general_settings_help' => 'Default EULA and more', 'generate_backup' => 'Generate Backup', + 'google_workspaces' => 'Google Workspaces', 'header_color' => 'Header Color', 'info' => 'These settings let you customize certain aspects of your installation.', 'label_logo' => 'Label Logo', @@ -86,7 +87,6 @@ return [ 'ldap_integration' => 'LDAP Integration', 'ldap_settings' => 'LDAP Settings', 'ldap_client_tls_cert_help' => 'Client-Side TLS Certificate and Key for LDAP connections are usually only useful in Google Workspace configurations with "Secure LDAP." Both are required.', - 'ldap_client_tls_key' => 'LDAP Client-Side TLS key', 'ldap_location' => 'LDAP Location', 'ldap_location_help' => 'The Ldap Location field should be used if an OU is not being used in the Base Bind DN. Leave this blank if an OU search is being used.', 'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.', @@ -121,8 +121,8 @@ return [ 'ldap_test' => 'Test LDAP', 'ldap_test_sync' => 'Test LDAP Synchronization', 'license' => 'Software License', - 'load_remote_text' => 'Remote Scripts', - 'load_remote_help_text' => 'This Snipe-IT install can load scripts from the outside world.', + 'load_remote' => 'Use Gravatar', + 'load_remote_help_text' => 'Uncheck this box if your install cannot load scripts from the outside internet. This will prevent Snipe-IT from trying load images from Gravatar.', 'login' => 'Login Attempts', 'login_attempt' => 'Login Attempt', 'login_ip' => 'IP Address', diff --git a/resources/lang/en-US/mail.php b/resources/lang/en-US/mail.php index 418de5806f..759ff0f5e8 100644 --- a/resources/lang/en-US/mail.php +++ b/resources/lang/en-US/mail.php @@ -42,6 +42,7 @@ return [ 'checkin_date' => 'Checkin Date:', 'checkout_date' => 'Checkout Date:', 'checkedout_from' => 'Checked out from', + 'checkedin_from' => 'Checked in from', 'checked_into' => 'Checked into', 'click_on_the_link_accessory' => 'Please click on the link at the bottom to confirm that you have received the accessory.', 'click_on_the_link_asset' => 'Please click on the link at the bottom to confirm that you have received the asset.', diff --git a/resources/views/companies/view.blade.php b/resources/views/companies/view.blade.php index ffa5815b64..0b94446b2b 100644 --- a/resources/views/companies/view.blade.php +++ b/resources/views/companies/view.blade.php @@ -21,7 +21,7 @@ @@ -33,7 +33,7 @@ @@ -43,7 +43,7 @@ @@ -53,7 +53,7 @@ diff --git a/resources/views/livewire/importer.blade.php b/resources/views/livewire/importer.blade.php index 976d1ffdde..1018bbb164 100644 --- a/resources/views/livewire/importer.blade.php +++ b/resources/views/livewire/importer.blade.php @@ -133,8 +133,10 @@ {{ trans('general.import') }} + + diff --git a/resources/views/livewire/slack-settings-form.blade.php b/resources/views/livewire/slack-settings-form.blade.php index ad3271bbc7..8182647098 100644 --- a/resources/views/livewire/slack-settings-form.blade.php +++ b/resources/views/livewire/slack-settings-form.blade.php @@ -61,9 +61,9 @@
@if (Helper::isDemoMode()) - {{ Form::select('webhook_selected', array('slack' => trans('admin/settings/general.slack'), 'general' => trans('admin/settings/general.general_webhook'), 'microsoft' => trans('admin/settings/general.ms_teams')), old('webhook_selected', $webhook_selected), array('class'=>'select2 form-control', 'aria-label' => 'webhook_selected', 'id' => 'select2', 'style'=>'width:100%', 'disabled')) }} + {{ Form::select('webhook_selected', array('slack' => trans('admin/settings/general.slack'), 'general' => trans('admin/settings/general.general_webhook'),'google' => trans('admin/settings/general.google_workspaces'), 'microsoft' => trans('admin/settings/general.ms_teams')), old('webhook_selected', $webhook_selected), array('class'=>'select2 form-control', 'aria-label' => 'webhook_selected', 'id' => 'select2', 'style'=>'width:100%', 'disabled')) }} @else - {{ Form::select('webhook_selected', array('slack' => trans('admin/settings/general.slack'), 'general' => trans('admin/settings/general.general_webhook'), 'microsoft' => trans('admin/settings/general.ms_teams')), old('webhook_selected', $webhook_selected), array('class'=>'select2 form-control', 'aria-label' => 'webhook_selected', 'id' => 'select2', 'data-minimum-results-for-search' => '-1', 'style'=>'width:100%')) }} + {{ Form::select('webhook_selected', array('slack' => trans('admin/settings/general.slack'), 'general' => trans('admin/settings/general.general_webhook'),'google' => trans('admin/settings/general.google_workspaces'), 'microsoft' => trans('admin/settings/general.ms_teams')), old('webhook_selected', $webhook_selected), array('class'=>'select2 form-control', 'aria-label' => 'webhook_selected', 'id' => 'select2', 'data-minimum-results-for-search' => '-1', 'style'=>'width:100%')) }} @endif
@@ -90,23 +90,25 @@ -
-
- {{ Form::label('webhook_channel', trans('admin/settings/general.webhook_channel',['app' => $webhook_name ])) }} -
-
- + @if($webhook_selected != 'microsoft' && $webhook_selected!= 'google') +
+
+ {{ Form::label('webhook_channel', trans('admin/settings/general.webhook_channel',['app' => $webhook_name ])) }} +
+
+ - {!! $errors->first('webhook_channel', '') !!} + {!! $errors->first('webhook_channel', '') !!} +
-
+ @endif @if (Helper::isDemoMode()) @include('partials.forms.demo-mode') @endif - @if($webhook_selected != 'microsoft') + @if($webhook_selected != 'microsoft' && $webhook_selected != 'google')
{{ Form::label('webhook_botname', trans('admin/settings/general.webhook_botname',['app' => $webhook_name ])) }} @@ -122,14 +124,11 @@ @endif + @if($webhook_endpoint != null && $webhook_channel != null)
- @if($webhook_selected == "microsoft") - {!! trans('admin/settings/general.webhook_test',['app' => ucwords($webhook_selected) ]) !!} diff --git a/resources/views/locations/view.blade.php b/resources/views/locations/view.blade.php index e000ed5c28..c6aa083bf5 100644 --- a/resources/views/locations/view.blade.php +++ b/resources/views/locations/view.blade.php @@ -25,7 +25,7 @@ @@ -38,7 +38,7 @@ @@ -51,7 +51,7 @@ @@ -63,7 +63,7 @@ @@ -76,7 +76,7 @@ @@ -88,7 +88,7 @@ @@ -100,7 +100,7 @@ diff --git a/resources/views/manufacturers/view.blade.php b/resources/views/manufacturers/view.blade.php index 3872801a69..5e7bccc633 100644 --- a/resources/views/manufacturers/view.blade.php +++ b/resources/views/manufacturers/view.blade.php @@ -41,7 +41,7 @@ @@ -55,7 +55,7 @@ @@ -68,7 +68,7 @@ @@ -81,7 +81,7 @@ diff --git a/resources/views/models/view.blade.php b/resources/views/models/view.blade.php index a98e14b4ee..fea13dd607 100755 --- a/resources/views/models/view.blade.php +++ b/resources/views/models/view.blade.php @@ -43,7 +43,7 @@ diff --git a/resources/views/partials/forms/edit/image-upload.blade.php b/resources/views/partials/forms/edit/image-upload.blade.php index 577f90eaac..8e8419b4cd 100644 --- a/resources/views/partials/forms/edit/image-upload.blade.php +++ b/resources/views/partials/forms/edit/image-upload.blade.php @@ -36,7 +36,7 @@ {!! $errors->first('image', '') !!}
diff --git a/resources/views/settings/general.blade.php b/resources/views/settings/general.blade.php index 49620d2e0b..8e352248bd 100644 --- a/resources/views/settings/general.blade.php +++ b/resources/views/settings/general.blade.php @@ -128,6 +128,25 @@
+ +
+
+ {{ trans('admin/settings/general.load_remote') }} +
+
+ + +

+ {{ trans('admin/settings/general.load_remote_help_text') }} +

+ +
+
+
@@ -137,8 +156,9 @@ - {!! $errors->first('unique_serial', '') !!} +

{{ trans('admin/settings/general.unique_serial_help_text') }}

diff --git a/resources/views/suppliers/view.blade.php b/resources/views/suppliers/view.blade.php index 4edfda1885..a0dea958e6 100755 --- a/resources/views/suppliers/view.blade.php +++ b/resources/views/suppliers/view.blade.php @@ -35,7 +35,7 @@ @@ -48,7 +48,7 @@ @@ -60,7 +60,7 @@ @@ -72,7 +72,7 @@ @@ -84,7 +84,7 @@ @@ -96,7 +96,7 @@ diff --git a/resources/views/users/confirm-bulk-delete.blade.php b/resources/views/users/confirm-bulk-delete.blade.php index a3a37d4a35..bd6103ea9a 100644 --- a/resources/views/users/confirm-bulk-delete.blade.php +++ b/resources/views/users/confirm-bulk-delete.blade.php @@ -131,14 +131,15 @@ $(":submit").attr("disabled", "disabled"); - $("[name='status_id']").on('select2:select', function (e) { - if (e.params.data.id != ""){ - console.log(e.params.data.id); - $(":submit").removeAttr("disabled"); - } - else { - $(":submit").attr("disabled", "disabled"); - } - }); + //The line below needs to be here because in mobile view the status_id select2 forgets its select2 so this makes it function properly. + $("[name='status_id']").select2(); + $("[name='status_id']").on('select2:select', function (e) { + if (e.params.data.id != "") { + console.log(e.params.data.id); + $(":submit").removeAttr("disabled"); + } else { + $(":submit").attr("disabled", "disabled"); + } + }); @stop \ No newline at end of file diff --git a/tests/Feature/Api/Accessories/AccessoryCheckoutTest.php b/tests/Feature/Api/Accessories/AccessoryCheckoutTest.php new file mode 100644 index 0000000000..d65a3ad613 --- /dev/null +++ b/tests/Feature/Api/Accessories/AccessoryCheckoutTest.php @@ -0,0 +1,96 @@ +actingAsForApi(User::factory()->create()) + ->postJson(route('api.accessories.checkout', Accessory::factory()->create())) + ->assertForbidden(); + } + + public function testValidationWhenCheckingOutAccessory() + { + $this->actingAsForApi(User::factory()->checkoutAccessories()->create()) + ->postJson(route('api.accessories.checkout', Accessory::factory()->create()), [ + // missing assigned_to + ]) + ->assertStatusMessageIs('error'); + } + + public function testAccessoryMustBeAvailableWhenCheckingOut() + { + $this->actingAsForApi(User::factory()->checkoutAccessories()->create()) + ->postJson(route('api.accessories.checkout', Accessory::factory()->withoutItemsRemaining()->create()), [ + 'assigned_to' => User::factory()->create()->id, + ]) + ->assertStatusMessageIs('error'); + } + + public function testAccessoryCanBeCheckedOut() + { + $accessory = Accessory::factory()->create(); + $user = User::factory()->create(); + + $this->actingAsForApi(User::factory()->checkoutAccessories()->create()) + ->postJson(route('api.accessories.checkout', $accessory), [ + 'assigned_to' => $user->id, + ]); + + $this->assertTrue($accessory->users->contains($user)); + } + + public function testUserSentNotificationUponCheckout() + { + Notification::fake(); + + $accessory = Accessory::factory()->requiringAcceptance()->create(); + $user = User::factory()->create(); + + $this->actingAsForApi(User::factory()->checkoutAccessories()->create()) + ->postJson(route('api.accessories.checkout', $accessory), [ + 'assigned_to' => $user->id, + ]); + + Notification::assertSentTo($user, CheckoutAccessoryNotification::class); + } + + public function testActionLogCreatedUponCheckout() + { + $accessory = Accessory::factory()->create(); + $actor = User::factory()->checkoutAccessories()->create(); + $user = User::factory()->create(); + + $this->actingAsForApi($actor) + ->postJson(route('api.accessories.checkout', $accessory), [ + 'assigned_to' => $user->id, + 'note' => 'oh hi there', + ]); + + $this->assertEquals( + 1, + Actionlog::where([ + 'action_type' => 'checkout', + 'target_id' => $user->id, + 'target_type' => User::class, + 'item_id' => $accessory->id, + 'item_type' => Accessory::class, + 'user_id' => $actor->id, + 'note' => 'oh hi there', + ])->count(), + 'Log entry either does not exist or there are more than expected' + ); + } +} diff --git a/tests/Feature/Api/Consumables/ConsumableCheckoutTest.php b/tests/Feature/Api/Consumables/ConsumableCheckoutTest.php new file mode 100644 index 0000000000..103be96ac2 --- /dev/null +++ b/tests/Feature/Api/Consumables/ConsumableCheckoutTest.php @@ -0,0 +1,96 @@ +actingAsForApi(User::factory()->create()) + ->postJson(route('api.consumables.checkout', Consumable::factory()->create())) + ->assertForbidden(); + } + + public function testValidationWhenCheckingOutConsumable() + { + $this->actingAsForApi(User::factory()->checkoutConsumables()->create()) + ->postJson(route('api.consumables.checkout', Consumable::factory()->create()), [ + // missing assigned_to + ]) + ->assertStatusMessageIs('error'); + } + + public function testConsumableMustBeAvailableWhenCheckingOut() + { + $this->actingAsForApi(User::factory()->checkoutConsumables()->create()) + ->postJson(route('api.consumables.checkout', Consumable::factory()->withoutItemsRemaining()->create()), [ + 'assigned_to' => User::factory()->create()->id, + ]) + ->assertStatusMessageIs('error'); + } + + public function testConsumableCanBeCheckedOut() + { + $consumable = Consumable::factory()->create(); + $user = User::factory()->create(); + + $this->actingAsForApi(User::factory()->checkoutConsumables()->create()) + ->postJson(route('api.consumables.checkout', $consumable), [ + 'assigned_to' => $user->id, + ]); + + $this->assertTrue($user->consumables->contains($consumable)); + } + + public function testUserSentNotificationUponCheckout() + { + Notification::fake(); + + $consumable = Consumable::factory()->requiringAcceptance()->create(); + + $user = User::factory()->create(); + + $this->actingAsForApi(User::factory()->checkoutConsumables()->create()) + ->postJson(route('api.consumables.checkout', $consumable), [ + 'assigned_to' => $user->id, + ]); + + Notification::assertSentTo($user, CheckoutConsumableNotification::class); + } + + public function testActionLogCreatedUponCheckout() + {$consumable = Consumable::factory()->create(); + $actor = User::factory()->checkoutConsumables()->create(); + $user = User::factory()->create(); + + $this->actingAsForApi($actor) + ->postJson(route('api.consumables.checkout', $consumable), [ + 'assigned_to' => $user->id, + 'note' => 'oh hi there', + ]); + + $this->assertEquals( + 1, + Actionlog::where([ + 'action_type' => 'checkout', + 'target_id' => $user->id, + 'target_type' => User::class, + 'item_id' => $consumable->id, + 'item_type' => Consumable::class, + 'user_id' => $actor->id, + 'note' => 'oh hi there', + ])->count(), + 'Log entry either does not exist or there are more than expected' + ); + } +} diff --git a/tests/Feature/Checkouts/AccessoryCheckoutTest.php b/tests/Feature/Checkouts/AccessoryCheckoutTest.php new file mode 100644 index 0000000000..cbe9801cc0 --- /dev/null +++ b/tests/Feature/Checkouts/AccessoryCheckoutTest.php @@ -0,0 +1,96 @@ +actingAs(User::factory()->create()) + ->post(route('accessories.checkout.store', Accessory::factory()->create())) + ->assertForbidden(); + } + + public function testValidationWhenCheckingOutAccessory() + { + $this->actingAs(User::factory()->checkoutAccessories()->create()) + ->post(route('accessories.checkout.store', Accessory::factory()->create()), [ + // missing assigned_to + ]) + ->assertSessionHas('error'); + } + + public function testAccessoryMustBeAvailableWhenCheckingOut() + { + $this->actingAs(User::factory()->checkoutAccessories()->create()) + ->post(route('accessories.checkout.store', Accessory::factory()->withoutItemsRemaining()->create()), [ + 'assigned_to' => User::factory()->create()->id, + ]) + ->assertSessionHas('error'); + } + + public function testAccessoryCanBeCheckedOut() + { + $accessory = Accessory::factory()->create(); + $user = User::factory()->create(); + + $this->actingAs(User::factory()->checkoutAccessories()->create()) + ->post(route('accessories.checkout.store', $accessory), [ + 'assigned_to' => $user->id, + ]); + + $this->assertTrue($accessory->users->contains($user)); + } + + public function testUserSentNotificationUponCheckout() + { + Notification::fake(); + + $accessory = Accessory::factory()->requiringAcceptance()->create(); + $user = User::factory()->create(); + + $this->actingAs(User::factory()->checkoutAccessories()->create()) + ->post(route('accessories.checkout.store', $accessory), [ + 'assigned_to' => $user->id, + ]); + + Notification::assertSentTo($user, CheckoutAccessoryNotification::class); + } + + public function testActionLogCreatedUponCheckout() + { + $accessory = Accessory::factory()->create(); + $actor = User::factory()->checkoutAccessories()->create(); + $user = User::factory()->create(); + + $this->actingAs($actor) + ->post(route('accessories.checkout.store', $accessory), [ + 'assigned_to' => $user->id, + 'note' => 'oh hi there', + ]); + + $this->assertEquals( + 1, + Actionlog::where([ + 'action_type' => 'checkout', + 'target_id' => $user->id, + 'target_type' => User::class, + 'item_id' => $accessory->id, + 'item_type' => Accessory::class, + 'user_id' => $actor->id, + 'note' => 'oh hi there', + ])->count(), + 'Log entry either does not exist or there are more than expected' + ); + } +} diff --git a/tests/Feature/Checkouts/ConsumableCheckoutTest.php b/tests/Feature/Checkouts/ConsumableCheckoutTest.php new file mode 100644 index 0000000000..5785d0572b --- /dev/null +++ b/tests/Feature/Checkouts/ConsumableCheckoutTest.php @@ -0,0 +1,96 @@ +actingAs(User::factory()->create()) + ->post(route('consumables.checkout.store', Consumable::factory()->create())) + ->assertForbidden(); + } + + public function testValidationWhenCheckingOutConsumable() + { + $this->actingAs(User::factory()->checkoutConsumables()->create()) + ->post(route('consumables.checkout.store', Consumable::factory()->create()), [ + // missing assigned_to + ]) + ->assertSessionHas('error'); + } + + public function testConsumableMustBeAvailableWhenCheckingOut() + { + $this->actingAs(User::factory()->checkoutConsumables()->create()) + ->post(route('consumables.checkout.store', Consumable::factory()->withoutItemsRemaining()->create()), [ + 'assigned_to' => User::factory()->create()->id, + ]) + ->assertSessionHas('error'); + } + + public function testConsumableCanBeCheckedOut() + { + $consumable = Consumable::factory()->create(); + $user = User::factory()->create(); + + $this->actingAs(User::factory()->checkoutConsumables()->create()) + ->post(route('consumables.checkout.store', $consumable), [ + 'assigned_to' => $user->id, + ]); + + $this->assertTrue($user->consumables->contains($consumable)); + } + + public function testUserSentNotificationUponCheckout() + { + Notification::fake(); + + $consumable = Consumable::factory()->create(); + $user = User::factory()->create(); + + $this->actingAs(User::factory()->checkoutConsumables()->create()) + ->post(route('consumables.checkout.store', $consumable), [ + 'assigned_to' => $user->id, + ]); + + Notification::assertSentTo($user, CheckoutConsumableNotification::class); + } + + public function testActionLogCreatedUponCheckout() + { + $consumable = Consumable::factory()->create(); + $actor = User::factory()->checkoutConsumables()->create(); + $user = User::factory()->create(); + + $this->actingAs($actor) + ->post(route('consumables.checkout.store', $consumable), [ + 'assigned_to' => $user->id, + 'note' => 'oh hi there', + ]); + + $this->assertEquals( + 1, + Actionlog::where([ + 'action_type' => 'checkout', + 'target_id' => $user->id, + 'target_type' => User::class, + 'item_id' => $consumable->id, + 'item_type' => Consumable::class, + 'user_id' => $actor->id, + 'note' => 'oh hi there', + ])->count(), + 'Log entry either does not exist or there are more than expected' + ); + } +} diff --git a/tests/Unit/CompanyTest.php b/tests/Unit/Models/Company/CompanyTest.php similarity index 92% rename from tests/Unit/CompanyTest.php rename to tests/Unit/Models/Company/CompanyTest.php index 6e04504843..6fd17e554b 100644 --- a/tests/Unit/CompanyTest.php +++ b/tests/Unit/Models/Company/CompanyTest.php @@ -1,5 +1,5 @@ settings->disableMultipleFullCompanySupport(); + + $this->actingAs(User::factory()->create()); + $this->assertEquals(1000, Company::getIdForCurrentUser(1000)); + } + + public function testReturnsProvidedValueForSuperUsersWhenFullCompanySupportEnabled() + { + $this->settings->enableMultipleFullCompanySupport(); + + $this->actingAs(User::factory()->superuser()->create()); + $this->assertEquals(2000, Company::getIdForCurrentUser(2000)); + } + + public function testReturnsNonSuperUsersCompanyIdWhenFullCompanySupportEnabled() + { + $this->settings->enableMultipleFullCompanySupport(); + + $this->actingAs(User::factory()->forCompany(['id' => 2000])->create()); + $this->assertEquals(2000, Company::getIdForCurrentUser(1000)); + } + + public function testReturnsProvidedValueForNonSuperUserWithoutCompanyIdWhenFullCompanySupportEnabled() + { + $this->settings->enableMultipleFullCompanySupport(); + + $this->actingAs(User::factory()->create(['company_id' => null])); + $this->assertEquals(1000, Company::getIdForCurrentUser(1000)); + } +}