diff --git a/.blueprint b/.blueprint index 889408a..45ed758 100644 --- a/.blueprint +++ b/.blueprint @@ -11,19 +11,44 @@ created: - database/factories/LocationFactory.php - database/factories/CurrencyFactory.php - database/factories/MessageFactory.php - - database/migrations/2024_11_27_173745_create_sellers_table.php - - database/migrations/2024_11_27_173746_create_partnerships_table.php - - database/migrations/2024_11_27_173747_create_seller_data_table.php - - database/migrations/2024_11_27_173748_create_categories_table.php - - database/migrations/2024_11_27_173749_create_seller_products_table.php - - database/migrations/2024_11_27_173750_create_seller_product_images_table.php - - database/migrations/2024_11_27_173751_create_seller_variants_table.php - - database/migrations/2024_11_27_173752_create_prices_table.php - - database/migrations/2024_11_27_173753_create_stocks_table.php - - database/migrations/2024_11_27_173754_create_locations_table.php - - database/migrations/2024_11_27_173755_create_currencies_table.php - - database/migrations/2024_11_27_173756_create_messages_table.php - - database/migrations/2024_11_27_173757_create_seller_user_table.php + - database/factories/ProductTypeFactory.php + - database/factories/ProductTypeAttributeFactory.php + - database/factories/ProductTypeAttributeOptionFactory.php + - database/factories/ProductTypeAttributeOptionValueFactory.php + - database/factories/GoldenProductFactory.php + - database/factories/GoldenProductAttributeFactory.php + - database/factories/GoldenProductAttributeValueFactory.php + - database/factories/GoldenProductLocalizedFactory.php + - database/factories/GoldenProductVariantFactory.php + - database/factories/GoldenProductVariantLocalizedFactory.php + - database/factories/GoldenProductImageFactory.php + - database/factories/LocaleFactory.php + - database/migrations/2025_01_15_134250_create_sellers_table.php + - database/migrations/2025_01_15_134251_create_partnerships_table.php + - database/migrations/2025_01_15_134252_create_seller_data_table.php + - database/migrations/2025_01_15_134253_create_categories_table.php + - database/migrations/2025_01_15_134254_create_seller_products_table.php + - database/migrations/2025_01_15_134255_create_seller_product_images_table.php + - database/migrations/2025_01_15_134256_create_seller_variants_table.php + - database/migrations/2025_01_15_134257_create_prices_table.php + - database/migrations/2025_01_15_134258_create_stocks_table.php + - database/migrations/2025_01_15_134259_create_locations_table.php + - database/migrations/2025_01_15_134300_create_currencies_table.php + - database/migrations/2025_01_15_134301_create_messages_table.php + - database/migrations/2025_01_15_134302_create_product_types_table.php + - database/migrations/2025_01_15_134303_create_product_type_attributes_table.php + - database/migrations/2025_01_15_134304_create_product_type_attribute_options_table.php + - database/migrations/2025_01_15_134305_create_product_type_attribute_option_values_table.php + - database/migrations/2025_01_15_134306_create_golden_products_table.php + - database/migrations/2025_01_15_134307_create_golden_product_attributes_table.php + - database/migrations/2025_01_15_134308_create_golden_product_attribute_values_table.php + - database/migrations/2025_01_15_134309_create_golden_product_localizeds_table.php + - database/migrations/2025_01_15_134310_create_golden_product_variants_table.php + - database/migrations/2025_01_15_134311_create_golden_product_variant_localizeds_table.php + - database/migrations/2025_01_15_134312_create_golden_product_images_table.php + - database/migrations/2025_01_15_134313_create_locales_table.php + - database/migrations/2025_01_15_134314_create_seller_user_table.php + - database/migrations/2025_01_15_134315_create_golden_product_attribute_product_type_attribute_option_value_table.php - app/Models/Seller.php - app/Models/Partnership.php - app/Models/SellerData.php @@ -36,17 +61,44 @@ created: - app/Models/Location.php - app/Models/Currency.php - app/Models/Message.php + - app/Models/ProductType.php + - app/Models/ProductTypeAttribute.php + - app/Models/ProductTypeAttributeOption.php + - app/Models/ProductTypeAttributeOptionValue.php + - app/Models/GoldenProduct.php + - app/Models/GoldenProductAttribute.php + - app/Models/GoldenProductAttributeValue.php + - app/Models/GoldenProductLocalized.php + - app/Models/GoldenProductVariant.php + - app/Models/GoldenProductVariantLocalized.php + - app/Models/GoldenProductImage.php + - app/Models/Locale.php models: + Customer: { } + Order: { } + OrderItem: { } User: { name: string, email: string, is_seller: "boolean default:'0'", email_verified_at: 'datetime nullable', password: string, remember_token: 'string nullable' } Seller: { name: string, hideProducts: 'boolean default:false', relationships: { belongsToMany: User, hasOne: 'SellerData, Partnership', hasMany: 'SellerProduct, SellerVariant, Price, Stock, Location, Message' } } Partnership: { seller_id: 'id foreign', status: 'enum:submitted,accepted,rejected,review default:submitted', rejection_reason: 'text nullable', notes: 'text nullable', select_all_products: 'boolean default:false' } SellerData: { seller_id: 'id foreign', email: 'string nullable', description: 'text nullable', company_name: 'string nullable', address_line1: 'string nullable', address_line2: 'string nullable', city: 'string nullable', state: 'string nullable', postal_code: 'string nullable', country_code: 'string nullable', phone: 'string nullable', vat: 'string nullable', tin: 'string nullable', eori: 'string nullable', iban: 'string nullable', swift_bic: 'string nullable', bank_name: 'string nullable', account_holder_name: 'string nullable', file1: 'string nullable', file2: 'string nullable', file3: 'string nullable' } Category: { name: string, description: 'text nullable', is_active: 'boolean nullable', parent_id: 'id foreign:categories.id nullable', relationships: { hasMany: SellerProduct } } - SellerProduct: { name: string, brand: 'string nullable', sku: 'string nullable', description: 'text nullable', attributes: 'json nullable', category_id: 'id foreign nullable', seller_id: 'id foreign', status: 'enum:draft,active,delisted default:draft', selected: 'boolean default:false', relationships: { hasMany: 'SellerVariant,Price,Stock,SellerProductImage:image' } } - SellerProductImage: { seller_product_id: 'id foreign', seller_variant_id: 'id foreign nullable', image: string, number: 'integer default:1' } - SellerVariant: { name: string, sku: 'string nullable', description: 'text nullable', attributes: 'json nullable', seller_product_id: 'id foreign', seller_id: 'id foreign', status: 'enum:draft,active,delisted default:draft', relationships: { hasMany: 'Price, Stock, SellerProductImage:image' } } + SellerProduct: { name: string, brand: 'string nullable', sku: 'string nullable', description: 'text nullable', attributes: 'json nullable', category_id: 'id foreign nullable', seller_id: 'id foreign', status: 'enum:draft,active,delisted default:draft', selected: 'boolean default:false', ean: 'string nullable', upc: 'string nullable', gtin_14: 'string nullable', gtin_8: 'string nullable', golden_product_id: 'id foreign nullable', relationships: { hasMany: 'SellerVariant,Price,Stock,SellerProductImage:image' } } + SellerProductImage: { seller_product_id: 'id foreign', seller_variant_id: 'id foreign nullable', image: string, number: 'integer default:1', relationships: { hasOne: GoldenProductImage } } + SellerVariant: { name: 'string nullable', sku: 'string nullable', description: 'text nullable', attributes: 'json nullable', seller_product_id: 'id foreign', seller_id: 'id foreign', status: 'enum:draft,active,delisted default:draft', relationships: { hasMany: 'Price, Stock, SellerProductImage:image' } } Price: { amount: integer, seller_variant_id: 'id foreign nullable', seller_product_id: 'id foreign', currency_id: 'id foreign' } Stock: { quantity: integer, reserved: 'integer nullable', safety_stock: 'integer nullable', seller_variant_id: 'id foreign', seller_product_id: 'id foreign', location_id: 'id foreign', seller_id: 'id foreign' } Location: { name: string, address: string, default_delivery_days: 'integer nullable', seller_id: 'id foreign', relationships: { hasMany: Stock } } Currency: { code: string, symbol: string, name: 'string nullable', is_default: 'boolean default:false', relationships: { hasMany: Price } } Message: { content: text, seller_id: 'id foreign', message_id: 'id foreign nullable' } + ProductType: { name: string, relationships: { hasMany: 'ProductTypeAttribute:attribute, GoldenProduct:product' } } + ProductTypeAttribute: { name: string, slug: string, type: 'enum:text,boolean,number,select,url,color', is_translatable: 'boolean default:false', field: 'enum:TextInput,Textarea,Checkbox,Toggle,Select,ColorPicker', required: 'boolean default:false', rank: 'integer default:0', description: 'string nullable', unit: 'string nullable', is_variant_attribute: 'boolean default:false', validators: 'json nullable', product_type_id: 'id foreign', relationships: { hasMany: 'ProductTypeAttributeOption:option' } } + ProductTypeAttributeOption: { product_type_attribute_id: 'id foreign', relationships: { hasMany: 'ProductTypeAttributeOptionValue:value' } } + ProductTypeAttributeOptionValue: { value: string, locale_id: 'id foreign', product_type_attribute_option_id: 'id foreign', relationships: { belongsToMany: GoldenProductAttribute } } + GoldenProduct: { product_type_id: 'id foreign', relationships: { hasMany: 'GoldenProductLocalized:translation, SellerProduct, GoldenProductVariant:variant, GoldenProductAttribute:attribute' } } + GoldenProductAttribute: { product_type_attribute_id: 'id foreign', golden_product_id: 'id foreign', is_option: 'boolean default:false', relationships: { hasMany: 'GoldenProductAttributeValue:value', belongsToMany: ProductTypeAttributeOptionValue } } + GoldenProductAttributeValue: { value: string, golden_product_attribute_id: 'id foreign', locale_id: 'id foreign' } + GoldenProductLocalized: { name: string, description: 'text nullable', attributes: 'json nullable', locale_id: 'id foreign', golden_product_id: 'id foreign' } + GoldenProductVariant: { golden_product_id: 'id foreign', relationships: { hasMany: 'GoldenProductVariantLocalized:translation' } } + GoldenProductVariantLocalized: { name: 'string nullable', description: 'text nullable', attributes: 'json nullable', golden_product_variant_id: 'id foreign', locale_id: 'id foreign' } + GoldenProductImage: { golden_product_id: 'id foreign', image: string, number: 'integer default:1', seller_product_image_id: 'id foreign' } + Locale: { code: string, name: string, default: boolean } diff --git a/.gitattributes b/.gitattributes index fcb21d3..2c0ec3f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9,3 +9,4 @@ /.github export-ignore CHANGELOG.md export-ignore .styleci.yml export-ignore +specs.md \ No newline at end of file diff --git a/.windsurfrules b/.windsurfrules new file mode 100644 index 0000000..8b2f762 --- /dev/null +++ b/.windsurfrules @@ -0,0 +1 @@ +The database schema is defined in the "draft.yaml" file. Don't modifiy the models, except of "User". Also use draft.yaml to check the schema. \ No newline at end of file diff --git a/README.md b/README.md index 12242d7..dd3ded0 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,29 @@ -## About the project +## About the Project -This repository represents a new open source Seller Center. A Seller Center is a SaaS application that runs side-by-side to the online shop and is integrated via API. It allows sellers to manage their products, stocks, and prices, while also processing orders from the shop. If you’ve ever sold something on platforms like Amazon or eBay, you’re already familiar with the concept. +This repository hosts an Open-Source Seller Center (OSSC) for shop owners, who want to turn their existing online shop into a marketplace. -Despite its importance for every marketplace, most existing e-commerce platforms lack this functionality, leaving shop operators to rely on expensive commercial solutions like Mirakl, Marketplacer or Arcadier. +A Seller Center is an application that runs side-by-side to the online shop and is integrated via API. It enables sellers to manage products, inventory, and pricing while processing orders from integrated online shops. If you've sold on platforms like Amazon or eBay, you're already familiar with the concept. -Surprisingly, there’s no strong open-source alternative available... +Despite being essential for marketplaces, most e-commerce platforms lack this functionality, forcing shop operators to rely on costly commercial solutions. Surprisingly, a robust open-source alternative has been missing from the market. -This project is built in public and will be free to use. I will regularly document my progress from the initial implementation to the release of the first version of the project. I aim to share insights, challenges, and solutions along the way, providing a transparent view of building an open-source Seller Center. Stay tuned as I transform this idea into a reality. +This project aims to fill that gap. Built in public and free to use, it will be developed transparently from initial implementation to the first release. I'll regularly document progress, sharing insights, challenges, and solutions to provide a clear view of the development process. -Follow me me on LinkedIn to get updates: -- https://www.linkedin.com/in/fabian-wesner/ +Stay updated on the project: +- Follow me on LinkedIn: https://www.linkedin.com/in/fabian-wesner/ +- Read project articles: https://blog.ossc.tech/ +- Visit the project homepage: https://ossc.tech +- Documentation: https://docs.spryker.com/ +- Demo: https://www.ossc.tech/#demo -or find a list of all articles here: https://github.com/FabianWesner/seller-center/wiki +Join us as we transform this idea into a reality and create a valuable open-source solution for the e-commerce community. ## Install Guide This is a regular Laravel & FilamentPHP application. You can install it like any other Laravel application. Just clone the repository and run `composer run dev`. URLs -* Shop Operators: http://localhost:8000/operator/ (Use `operator@tecsteps.com` as username and password) -* Sellers: http://localhost:8000/seller/ (Use `seller@tecsteps.com` as username and password) - -## User Guide - -There is no fully blown documentation yet. The idea is pretty simple: - -* Shop operators can register and configure their shop (set categories, currencies, product-types, manage their sellers, etc.) -* Sellers can also register and apply for a shop. Then they can import their products, manage stocks, prices, etc. - -The Seller Center is a multi-tenant application. Operators and Sellers are tenants. Each tenant has its own data and set of users (with permissions at some point). +* Shop Operators: http://localhost:8000/operator/ (Use `owner@ossc.tech` as username and password) +* Sellers: http://localhost:8000/seller/ ## Imprint / Impressum diff --git a/app/Filament/Owner/Resources/GoldenProductResource.php b/app/Filament/Owner/Resources/GoldenProductResource.php new file mode 100644 index 0000000..3788434 --- /dev/null +++ b/app/Filament/Owner/Resources/GoldenProductResource.php @@ -0,0 +1,476 @@ +translations() + ->whereHas('locale', fn($query) => $query->where('default', true)) + ->first()?->name; + } + + public static function form(Form $form): Form + { + $defaultLocale = Locale::where('default', true)->first(); + $locales = Locale::orderBy('default', 'desc')->get(); + + $tabs = []; + foreach ($locales as $locale) { + $tabs[] = Tab::make($locale->name) + ->badge($locale->default ? 'Default' : null) + + ->schema([ + Section::make('General Information') + ->description('Basic product information and categorization') + ->columns(2) + ->schema([ + Forms\Components\TextInput::make("translations.{$locale->id}.name") + ->label('Name') + ->required($locale->default) + ->afterStateHydrated(function (Forms\Components\TextInput $component, $state, ?GoldenProduct $record) use ($locale) { + if (!$record) return; + + $translation = $record->translations() + ->where('locale_id', $locale->id) + ->first(); + + if ($translation) { + $component->state($translation->name); + } + }), + Forms\Components\Select::make('product_type_id') + ->relationship('productType', 'name') + ->required() + ->disabled() + ->afterStateUpdated(function (Forms\Set $set, $state) { + $set('name', ''); + $set('description', ''); + }) + ->selectablePlaceholder(false) + ->label('Product Type'), + Forms\Components\RichEditor::make("translations.{$locale->id}.description") + ->label('Description') + ->required($locale->default) + ->columnSpanFull() + ->afterStateHydrated(function (Forms\Components\RichEditor $component, $state, ?GoldenProduct $record) use ($locale) { + if (!$record) return; + + $translation = $record->translations() + ->where('locale_id', $locale->id) + ->first(); + + if ($translation) { + $component->state($translation->description); + } + }), + ]), + + Section::make('Attributes') + ->description(fn(Get $get) => 'Product type: ' . (ProductType::find($get('product_type_id'))?->name)) + ->schema(fn(Get $get): array => static::getAttributeFields($get('product_type_id'), $locale->id)) + ->columns(2) + ->visible(fn(Get $get): bool => (bool)$get('product_type_id')) + ->key("attributesSection_{$locale->id}") + ]); + } + + return $form + ->schema([ + Forms\Components\Hidden::make('active_locale') + ->default($locales->first()->id), + Forms\Components\Hidden::make('product_type_id') + ->default(fn($record) => $record?->product_type_id), + Forms\Components\Actions::make([ + Forms\Components\Actions\Action::make('reload') + ->label('Reload') + ->icon('heroicon-o-arrow-path') + ->action(function ($record) { + $sellerProduct = $record->sellerProducts()->first(); + if ($sellerProduct) { + app(GoldenProductService::class)->createFromSellerProduct($sellerProduct, true); + } + return redirect(request()->header('Referer')); + }), + ]), + Tabs::make('Locales') + ->tabs($tabs) + ->columnSpanFull() + ->persistTab() + ->extraAttributes([ + 'x-on:tab-changed' => 'document.querySelector(\'input[name="active_locale"]\').value = $event.detail.tab.id', + ]), + + ]); + } + + protected static function getAttributeFields(?string $productTypeId, ?string $localeId): array + { + if (!$productTypeId) return []; + + $productType = ProductType::with('attributes')->find($productTypeId); + if (!$productType) return []; + + return $productType->attributes + ->sortBy('rank') + ->map(function (ProductTypeAttribute $attribute) use ($localeId) { + $baseField = match ($attribute->field) { + 'TextInput' => Forms\Components\TextInput::make("golden_product_attributes.{$localeId}.{$attribute->id}") + ->label($attribute->name) + ->when($attribute->unit, fn($component) => $component->suffix($attribute->unit)), + 'Textarea' => Forms\Components\Textarea::make("golden_product_attributes.{$localeId}.{$attribute->id}") + ->label($attribute->name), + 'RichEditor' => Forms\Components\RichEditor::make("golden_product_attributes.{$localeId}.{$attribute->id}") + ->label($attribute->name), + 'MarkdownEditor' => Forms\Components\MarkdownEditor::make("golden_product_attributes.{$localeId}.{$attribute->id}") + ->label($attribute->name), + 'Checkbox' => Forms\Components\Checkbox::make("golden_product_attributes.{$localeId}.{$attribute->id}") + ->label($attribute->name), + 'Toggle' => Forms\Components\Toggle::make("golden_product_attributes.{$localeId}.{$attribute->id}") + ->label($attribute->name), + 'Select' => Forms\Components\Select::make("golden_product_attributes.{$localeId}.{$attribute->id}") + ->label($attribute->name) + ->options(function () use ($attribute, $localeId) { + return $attribute->options() + ->with(['values' => function ($query) use ($localeId) { + $query->where('locale_id', $localeId); + }]) + ->get() + ->mapWithKeys(function ($option) use ($localeId) { + $optionValue = $option->values->where('locale_id', $localeId)->first(); + + // Log::info($localeId . '-' . $optionValue->id); + return $optionValue ? [$optionValue->id => $optionValue->value] : []; + }) + ->filter(); + }), + 'MultiSelect' => Forms\Components\MultiSelect::make("golden_product_attributes.{$localeId}.{$attribute->id}") + ->label($attribute->name) + ->options(function () use ($attribute, $localeId) { + return $attribute->options() + ->with(['values' => function ($query) use ($localeId) { + $query->where('locale_id', $localeId); + }]) + ->get() + ->mapWithKeys(function ($option) { + return [$option->id => $option->values->first()?->value]; + }) + ->filter(); + }), + 'CheckboxList' => Forms\Components\CheckboxList::make("golden_product_attributes.{$localeId}.{$attribute->id}") + ->label($attribute->name) + ->options(function () use ($attribute, $localeId) { + return $attribute->options() + ->with(['values' => function ($query) use ($localeId) { + $query->where('locale_id', $localeId); + }]) + ->get() + ->mapWithKeys(function ($option) { + return [$option->id => $option->values->first()?->value]; + }) + ->filter(); + }), + 'Radio' => Forms\Components\Radio::make("golden_product_attributes.{$localeId}.{$attribute->id}") + ->label($attribute->name) + ->options(function () use ($attribute, $localeId) { + return $attribute->options() + ->with(['values' => function ($query) use ($localeId) { + $query->where('locale_id', $localeId); + }]) + ->get() + ->mapWithKeys(function ($option) { + return [$option->id => $option->values->first()?->value]; + }) + ->filter(); + }), + 'TagsInput' => Forms\Components\TagsInput::make("golden_product_attributes.{$localeId}.{$attribute->id}") + ->label($attribute->name), + 'ColorPicker' => Forms\Components\ColorPicker::make("golden_product_attributes.{$localeId}.{$attribute->id}") + ->label($attribute->name), + default => Forms\Components\TextInput::make("golden_product_attributes.{$localeId}.{$attribute->id}") + ->label($attribute->name), + }; + + return $baseField + ->helperText($attribute->description) + ->required($attribute->required) + ->afterStateHydrated(function ($component, $state, ?Model $record) use ($attribute, $localeId) { + if (!$record) return; + + $goldenProductAttribute = $record->attributes() + ->where('product_type_attribute_id', $attribute->id) + ->first(); + + if (!$goldenProductAttribute) return; + + if (!$goldenProductAttribute->is_option) { + + $value = $goldenProductAttribute->values() + ->where('locale_id', $localeId) + ->first(); + + + if ($value) { + $component->state($value->value); + } + } else { + $optionValue = DB::table('golden_product_attribute_product_type_attribute_option_value as pivot') + ->join('product_type_attribute_option_values as values', 'values.id', '=', 'pivot.product_type_attribute_option_value_id') + ->where('pivot.golden_product_attribute_id', $goldenProductAttribute->id) + ->where('values.locale_id', $localeId) + ->select('values.id') + ->first(); + + if ($optionValue) { + $component->state($optionValue->id); + } + } + }); + }) + ->toArray(); + } + + protected static function getAttributeValue($record, $attribute, $localeId): mixed + { + if (!$localeId) return null; + + $goldenProductAttribute = $record->attributes() + ->where('product_type_attribute_id', $attribute->id) + ->first(); + + if (!$goldenProductAttribute) return null; + + return self::getLocalizedAttributeValue($goldenProductAttribute, $localeId); + } + + protected static function getLocalizedAttributeValue(GoldenProductAttribute $goldenProductAttribute, $localeId): mixed + { + if ($goldenProductAttribute->is_option) { + $optionValue = $goldenProductAttribute->productTypeAttributeOptionValues() + ->whereHas('locale', fn($query) => $query->where('id', $localeId)) + ->first(); + + return $optionValue?->product_type_attribute_option_value_id; + } else { + + $value = $goldenProductAttribute->values() + ->where('locale_id', $localeId) + ->first(); + + return $value?->value; + } + } + + protected function handleRecordCreation(array $data): Model + { + $localeId = $data['active_locale'] ?? Locale::where('default', true)->first()?->id; + + $record = new GoldenProduct([ + 'product_type_id' => $data['product_type_id'], + ]); + $record->save(); + + // Create translations + $record->translations()->create([ + 'locale_id' => $localeId, + 'name' => $data['name'], + 'description' => $data['description'], + 'product_type_id' => $data['product_type_id'], + ]); + + // Create attributes with their values + if (isset($data['attributes'])) { + foreach ($data['attributes'] as $attributeId => $value) { + $attribute = $record->productType->attributes()->find($attributeId); + if (!$attribute) continue; + + $goldenProductAttribute = $record->attributes()->create([ + 'product_type_attribute_id' => $attributeId, + 'golden_product_id' => $record->id, + 'is_option' => $attribute->type === 'select' + ]); + + if ($attribute->type === 'select') { + $goldenProductAttribute->productTypeAttributeOptionValues()->attach($value); + } else { + $goldenProductAttribute->values()->create([ + 'value' => $value, + 'locale_id' => $localeId + ]); + } + } + } + + return $record; + } + + protected function handleRecordUpdate(Model $record, array $data): Model + { + $localeId = $data['active_locale'] ?? Locale::where('default', true)->first()?->id; + + $record->update([ + 'product_type_id' => $data['product_type_id'], + ]); + + // Update translations + $translation = $record->translations()->updateOrCreate( + ['locale_id' => $localeId], + [ + 'name' => $data['name'], + 'description' => $data['description'], + 'product_type_id' => $data['product_type_id'], + ] + ); + + // Update attributes with their values + if (isset($data['attributes'])) { + // First, delete existing attributes and their values + $record->attributes()->delete(); + + // Then create new ones + foreach ($data['attributes'] as $attributeId => $value) { + $attribute = $record->productType->attributes()->find($attributeId); + if (!$attribute) continue; + + $goldenProductAttribute = $record->attributes()->create([ + 'product_type_attribute_id' => $attributeId, + 'golden_product_id' => $record->id, + 'is_option' => $attribute->type === 'select' + ]); + + if ($attribute->type === 'select') { + $goldenProductAttribute->productTypeAttributeOptionValues()->attach($value); + } else { + $goldenProductAttribute->values()->create([ + 'value' => $value, + 'locale_id' => $localeId + ]); + } + } + } + + return $record; + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('translations.name') + ->label('Name') + ->getStateUsing(function ($record) { + return $record->translations() + ->whereHas('locale', fn($query) => $query->where('default', true)) + ->first()?->name; + }) + ->searchable(query: function (Builder $query, string $search): Builder { + return $query->whereHas('translations', function ($query) use ($search) { + $query->where('name', 'like', "%{$search}%") + ->whereHas('locale', fn($q) => $q->where('default', true)); + }); + }) + ->sortable(query: function (Builder $query, string $direction): Builder { + return $query->orderBy( + GoldenProductLocalized::select('name') + ->whereColumn('golden_product_id', 'golden_products.id') + ->whereHas('locale', fn($q) => $q->where('default', true)) + ->limit(1), + $direction + ); + }), + Tables\Columns\TextColumn::make('translations.description') + ->label('Description') + ->getStateUsing(function ($record) { + return $record->translations() + ->whereHas('locale', fn($query) => $query->where('default', true)) + ->first()?->description; + }) + ->limit(50) + ->toggleable(), + Tables\Columns\TextColumn::make('productType.name') + ->label('Product Type') + ->sortable(), + Tables\Columns\TextColumn::make('seller_products_count') + ->label('Seller Products') + ->counts('sellerProducts') + ->sortable(), + Tables\Columns\TextColumn::make('created_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + Tables\Columns\TextColumn::make('updated_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + ]) + ->filters([ + // + ]) + ->actions([ + Tables\Actions\EditAction::make(), + ]) + ->bulkActions([ + Tables\Actions\BulkActionGroup::make([ + Tables\Actions\DeleteBulkAction::make(), + ]), + ]); + } + + public static function getRelations(): array + { + return [ + VariantsRelationManager::class, + SellerProductsRelationManager::class, + ]; + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ListGoldenProducts::route('/'), + 'create' => Pages\CreateGoldenProduct::route('/create'), + 'edit' => Pages\EditGoldenProduct::route('/{record}/edit'), + ]; + } +} diff --git a/app/Filament/Owner/Resources/GoldenProductResource/Pages/CreateGoldenProduct.php b/app/Filament/Owner/Resources/GoldenProductResource/Pages/CreateGoldenProduct.php new file mode 100644 index 0000000..d7d7840 --- /dev/null +++ b/app/Filament/Owner/Resources/GoldenProductResource/Pages/CreateGoldenProduct.php @@ -0,0 +1,12 @@ +saveGoldenProduct($record, $data); + $this->saveGoldenProductAttributes($record, $data); + return $record; + } + + private function saveGoldenProduct(GoldenProduct $goldenProduct, array $data): void + { + foreach ($data['translations'] as $localeId => $translation) { + $goldenProductLocalized = GoldenProductLocalized::updateOrCreate( + [ + 'golden_product_id' => $goldenProduct->id, + 'locale_id' => $localeId, + ], + [ + 'name' => $translation['name'], + 'description' => $translation['description'], + ] + ); + } + } + + private function saveGoldenProductAttributes(GoldenProduct $goldenProduct, array $data): void + { + dd($data); + $deleted = []; + foreach ($data['golden_product_attributes'] as $localeId => $values) { + foreach ($values as $attributeId => $value) { + + $productTypeAttribute = ProductTypeAttribute::find($attributeId); // TODO too many queries + + $goldenProductAttribute = $goldenProduct->attributes() + ->where('product_type_attribute_id', $attributeId) + ->first(); + + if ($goldenProductAttribute->is_option) { + // Get the selected option value + $optionValue = ProductTypeAttributeOptionValue::find($value); + + if ($optionValue) { + dd($optionValue->id); + // First, remove any existing relations for this attribute + if (!in_array($goldenProductAttribute->id, $deleted)) { + // DB::table('golden_product_attribute_product_type_attribute_option_value') + // ->where('golden_product_attribute_id', $goldenProductAttribute->id) + // ->delete(); + $deleted[] = $goldenProductAttribute->id; + } + + // Then insert the new relation + DB::table('golden_product_attribute_product_type_attribute_option_value')->insert([ + 'golden_product_attribute_id' => $goldenProductAttribute->id, + 'product_type_attribute_option_value_id' => $optionValue->id, + ]); + } + } else { + $goldenProductAttribute->values()->updateOrCreate( + [ + 'golden_product_attribute_id' => $goldenProductAttribute->id, + 'locale_id' => $localeId, + ], + [ + 'value' => $value, + ] + ); + } + } + } + } + + public function hasCombinedRelationManagerTabsWithContent(): bool + { + return true; + } +} diff --git a/app/Filament/Owner/Resources/GoldenProductResource/Pages/ListGoldenProducts.php b/app/Filament/Owner/Resources/GoldenProductResource/Pages/ListGoldenProducts.php new file mode 100644 index 0000000..e0c9782 --- /dev/null +++ b/app/Filament/Owner/Resources/GoldenProductResource/Pages/ListGoldenProducts.php @@ -0,0 +1,19 @@ +schema(function ($record) { + $schema = [ + Section::make('General Product Details') + ->schema([ + Forms\Components\TextInput::make('name') + ->required() + ->maxLength(255), + Forms\Components\TextInput::make('brand') + ->maxLength(255), + Forms\Components\TextInput::make('sku') + ->maxLength(255), + Forms\Components\Textarea::make('description') + ->columnSpan(2) + ->maxLength(65535), + Forms\Components\KeyValue::make('attributes') + ->columnSpan(2) + ->reorderable() + ->editableKeys(false) + ->editableValues(false), + Section::make('Default Prices') + ->schema(function () use ($record) { + $allCurrencies = Currency::all(); + return $allCurrencies->map(function ($currency) use ($record) { + $price = $record ? $record->prices()->where('currency_id', $currency->id)->whereNull('seller_variant_id')->first() : null; + return Forms\Components\TextInput::make("price_{$currency->id}") + ->label("{$currency->code} Price") + ->disabled() + ->prefix($currency->symbol) + ->afterStateHydrated(function (Forms\Components\TextInput $component) use ($price) { + $component->state($price?->amount); + }); + })->toArray(); + }) + ->collapsible() + ->collapsed() + ->columns(3) + ->columnSpanFull(), + Section::make('Images') + ->schema([ + Forms\Components\Repeater::make('images') + ->label('Product Images') + ->relationship( + 'images', + modifyQueryUsing: fn($query) => $query->whereNull('seller_variant_id') + ) + ->disabled() + ->schema([ + Forms\Components\TextInput::make('image') + ->label('Image URL') + ->url() + ->disabled(), + ]) + ->columns(1), + ]) + ->collapsible() + ->collapsed() + ->columnSpanFull(), + ]) + ->collapsible() + ->collapsed() + ->columns(2), + ]; + + if ($record) { + $variants = SellerVariant::where('seller_product_id', $record->id)->get(); + $allCurrencies = Currency::all(); + + $schema[] = Forms\Components\Placeholder::make('variants_explanation') + ->content('Below you will find all variants of this seller product. Each variant represents a specific version or configuration of the product (e.g., different sizes, colors, or other attributes). Variants have their own pricing, stock levels, and images.') + ->extraAttributes(['class' => 'text-gray-500']) + ->columnSpanFull(); + + $variantSections = $variants->map( + fn($variant) => + Section::make($variant->name ?? "Variant {$variant->id}") + ->description("SKU: {$variant->sku}") + ->schema([ + Forms\Components\TextInput::make("variant_{$variant->id}_name") + ->label('Name') + ->helperText('The display name for this variant') + ->disabled(), + + Forms\Components\TextInput::make("variant_{$variant->id}_sku") + ->label('SKU') + ->helperText('Stock Keeping Unit - A unique identifier for this variant') + ->disabled(), + + Forms\Components\Select::make("variant_{$variant->id}_status") + ->label('Status') + ->options([ + 'draft' => 'Draft', + 'active' => 'Active', + 'delisted' => 'Delisted' + ]) + ->disabled() + ->afterStateHydrated(function (Forms\Components\Select $component) use ($variant) { + $component->state($variant->status); + }), + + Forms\Components\Textarea::make("variant_{$variant->id}_description") + ->label('Description') + ->helperText('Detailed description of this specific variant') + ->columnSpanFull() + ->disabled() + ->afterStateHydrated(function (Forms\Components\Textarea $component) use ($variant) { + $component->state($variant->description); + }), + + Forms\Components\KeyValue::make("variant_{$variant->id}_attributes") + ->label('Attributes') + ->helperText('Custom attributes for this variant (e.g. Color: Red, Size: Large)') + ->columnSpanFull() + ->reorderable() + ->disabled() + ->afterStateHydrated(function (Forms\Components\KeyValue $component) use ($variant) { + $component->state($variant->attributes); + }), + + Section::make('Pricing') + ->schema( + $allCurrencies->map(function ($currency) use ($variant) { + $price = $variant->prices()->where('currency_id', $currency->id)->first(); + return Forms\Components\TextInput::make("variant_{$variant->id}_price_{$currency->id}") + ->label("{$currency->code} Price") + ->disabled() + ->prefix($currency->symbol) + ->afterStateHydrated(function (Forms\Components\TextInput $component) use ($price) { + $component->state($price?->amount); + }); + })->toArray() + ) + ->collapsible() + ->collapsed() + ->columns(3), + + Section::make('Stock') + ->schema(function () use ($variant) { + $locations = Location::where('seller_id', $variant->seller_id)->get(); + + if ($locations->isEmpty()) { + return [ + Forms\Components\Placeholder::make('no_locations') + ->content('No warehouse locations configured') + ->extraAttributes(['class' => 'text-warning-600']) + ]; + } + + return $locations->map(function ($location) use ($variant) { + $stock = $variant->stocks()->where('location_id', $location->id)->first(); + return Forms\Components\TextInput::make("variant_{$variant->id}_stock_{$location->id}") + ->label("Stock at {$location->name}") + ->disabled() + ->afterStateHydrated(function (Forms\Components\TextInput $component) use ($stock) { + $component->state($stock?->quantity); + }); + })->toArray(); + }) + ->collapsible() + ->collapsed() + ->columns(3), + + Section::make('Images') + ->schema([ + Forms\Components\Repeater::make("variant_{$variant->id}_images") + ->label('Additional images for this variant') + ->disabled() + ->relationship( + 'images', + modifyQueryUsing: fn($query) => $query->where('seller_variant_id', $variant->id) + ) + ->schema([ + Forms\Components\TextInput::make('image') + ->label('Image URL') + ->url() + ->disabled(), + ]) + ->columns(1), + ]) + ->collapsible() + ->collapsed() + ->columns(1), + ]) + ->collapsible() + ->collapsed() + ->columns(2) + )->toArray(); + + return array_merge($schema, $variantSections); + } + + return $schema; + }); + } + + public function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('name') + ->searchable(), + Tables\Columns\TextColumn::make('brand') + ->searchable(), + Tables\Columns\TextColumn::make('sku') + ->searchable(), + Tables\Columns\TextColumn::make('seller.name') + ->label('Seller') + ->searchable(), + ]) + ->filters([ + // + ]) + ->actions([ + Tables\Actions\ViewAction::make(), + ]) + ->bulkActions([ + // + ]); + } +} diff --git a/app/Filament/Owner/Resources/GoldenProductResource/RelationManagers/VariantsRelationManager.php b/app/Filament/Owner/Resources/GoldenProductResource/RelationManagers/VariantsRelationManager.php new file mode 100644 index 0000000..70a6aa3 --- /dev/null +++ b/app/Filament/Owner/Resources/GoldenProductResource/RelationManagers/VariantsRelationManager.php @@ -0,0 +1,210 @@ +schema([ + Forms\Components\Select::make('active_locale') + ->label('') + ->options(function () { + return Locale::query() + ->orderBy('default', 'desc') + ->orderBy('name') + ->pluck('name', 'id'); + }) + ->default(function () { + return Locale::where('default', true)->first()?->id; + }) + ->live() + ->afterStateUpdated(function ($state, Set $set, Get $get) { + $locale = Locale::find($state); + if (!$locale) return; + + $record = $this->getOwnerRecord()->variants()->find($get('id')); + if (!$record) return; + + $translation = $record->translations() + ->where('locale_id', $locale->id) + ->first(); + + if ($translation) { + $set('name', $translation->name); + $set('description', $translation->description); + $set('attributes', $translation->attributes ?? []); + } else { + $set('name', ''); + $set('description', ''); + $set('attributes', []); + } + }) + ->selectablePlaceholder(false) + ->extraAttributes([ + 'class' => 'ml-auto w-[200px]' + ]), + + Forms\Components\Section::make('Variant Details') + ->schema([ + Forms\Components\TextInput::make('name') + ->required() + ->afterStateHydrated(function ($component, $state, $record) { + if (!$state && $record) { + $defaultLocale = Locale::where('default', true)->first(); + if (!$defaultLocale) return; + + $translation = $record->translations() + ->where('locale_id', $defaultLocale->id) + ->first(); + + $component->state($translation?->name); + } + }), + + Forms\Components\Textarea::make('description') + ->columnSpanFull() + ->afterStateHydrated(function ($component, $state, $record) { + if (!$state && $record) { + $defaultLocale = Locale::where('default', true)->first(); + if (!$defaultLocale) return; + + $translation = $record->translations() + ->where('locale_id', $defaultLocale->id) + ->first(); + + $component->state($translation?->description); + } + }), + + Forms\Components\KeyValue::make('attributes') + ->columnSpanFull() + ->helperText('Custom attributes for this variant (e.g. Color: Red, Size: Large)') + ->keyLabel('Key') + ->valueLabel('Value') + ->reorderable() + ->editableKeys() + ->editableValues() + ->afterStateHydrated(function ($component, $state, $record) { + if (!$state && $record) { + $defaultLocale = Locale::where('default', true)->first(); + if (!$defaultLocale) return; + + $translation = $record->translations() + ->where('locale_id', $defaultLocale->id) + ->first(); + + $component->state($translation?->attributes ?? []); + } + }), + ]), + ]); + } + + public function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('name') + ->getStateUsing(function (Model $record): string { + $defaultLocale = Locale::where('default', true)->first(); + if (!$defaultLocale) return ''; + + return $record->translations() + ->where('locale_id', $defaultLocale->id) + ->first()?->name ?? ''; + }) + ->searchable(query: function (Builder $query, string $search): Builder { + return $query->whereHas('translations', function ($query) use ($search) { + $query->where('name', 'like', "%{$search}%"); + }); + }), + + Tables\Columns\TextColumn::make('attributes') + ->getStateUsing(function (Model $record): string { + $defaultLocale = Locale::where('default', true)->first(); + if (!$defaultLocale) return ''; + + $attributes = $record->translations() + ->where('locale_id', $defaultLocale->id) + ->first()?->attributes ?? []; + + return collect($attributes) + ->map(fn($value, $key) => "{$key}: {$value}") + ->join(', '); + }), + ]) + ->filters([ + // + ]) + ->headerActions([ + Tables\Actions\CreateAction::make() + ->using(function (array $data, string $model): Model { + $variant = new $model(); + $variant->golden_product_id = $this->getOwnerRecord()->id; + $variant->save(); + + $activeLocale = Locale::find($data['active_locale']); + if ($activeLocale) { + $variant->translations()->create([ + 'name' => $data['name'], + 'description' => $data['description'], + 'attributes' => $data['attributes'] ?? [], + 'locale_id' => $activeLocale->id, + ]); + } + + return $variant; + }), + ]) + ->actions([ + Tables\Actions\EditAction::make() + ->using(function (Model $record, array $data): Model { + $activeLocale = Locale::find($data['active_locale']); + if ($activeLocale) { + $translation = $record->translations() + ->where('locale_id', $activeLocale->id) + ->first(); + + if ($translation) { + $translation->update([ + 'name' => $data['name'], + 'description' => $data['description'], + 'attributes' => $data['attributes'] ?? [], + ]); + } else { + $record->translations()->create([ + 'name' => $data['name'], + 'description' => $data['description'], + 'attributes' => $data['attributes'] ?? [], + 'locale_id' => $activeLocale->id, + ]); + } + } + + return $record; + }), + Tables\Actions\DeleteAction::make(), + ]) + ->bulkActions([ + Tables\Actions\BulkActionGroup::make([ + Tables\Actions\DeleteBulkAction::make(), + ]), + ]); + } +} diff --git a/app/Filament/Owner/Resources/LocaleResource.php b/app/Filament/Owner/Resources/LocaleResource.php new file mode 100644 index 0000000..7e37b63 --- /dev/null +++ b/app/Filament/Owner/Resources/LocaleResource.php @@ -0,0 +1,86 @@ +schema([ + Forms\Components\TextInput::make('code') + ->required(), + Forms\Components\TextInput::make('name') + ->required(), + Forms\Components\Toggle::make('default') + ->required(), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('code') + ->searchable(), + Tables\Columns\TextColumn::make('name') + ->searchable(), + Tables\Columns\IconColumn::make('default') + ->boolean(), + Tables\Columns\TextColumn::make('created_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + Tables\Columns\TextColumn::make('updated_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + ]) + ->filters([ + // + ]) + ->actions([ + Tables\Actions\EditAction::make(), + ]) + ->bulkActions([ + Tables\Actions\BulkActionGroup::make([ + Tables\Actions\DeleteBulkAction::make(), + ]), + ]); + } + + public static function getRelations(): array + { + return [ + // + ]; + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ListLocales::route('/'), + 'create' => Pages\CreateLocale::route('/create'), + 'edit' => Pages\EditLocale::route('/{record}/edit'), + ]; + } +} diff --git a/app/Filament/Owner/Resources/LocaleResource/Pages/CreateLocale.php b/app/Filament/Owner/Resources/LocaleResource/Pages/CreateLocale.php new file mode 100644 index 0000000..ac24eb6 --- /dev/null +++ b/app/Filament/Owner/Resources/LocaleResource/Pages/CreateLocale.php @@ -0,0 +1,12 @@ +default) { + // If setting this locale as default, remove default from other locales + Locale::where('id', '!=', $record->id) + ->where('default', true) + ->update(['default' => false]); + } + + $record->update($data); + + return $record; + } +} diff --git a/app/Filament/Owner/Resources/LocaleResource/Pages/ListLocales.php b/app/Filament/Owner/Resources/LocaleResource/Pages/ListLocales.php new file mode 100644 index 0000000..8a9d024 --- /dev/null +++ b/app/Filament/Owner/Resources/LocaleResource/Pages/ListLocales.php @@ -0,0 +1,19 @@ +schema([ + Forms\Components\Section::make('Product Type Details') + ->schema([ + Forms\Components\TextInput::make('name') + ->required(), + + ]), + + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('name') + ->searchable(), + Tables\Columns\TextColumn::make('created_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + Tables\Columns\TextColumn::make('updated_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + ]) + ->filters([ + // + ]) + ->actions([ + Tables\Actions\EditAction::make(), + ]) + ->bulkActions([ + Tables\Actions\BulkActionGroup::make([ + Tables\Actions\DeleteBulkAction::make(), + ]), + ]); + } + + public static function getRelations(): array + { + return [ + RelationManagers\AttributesRelationManager::class, + ]; + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ListProductTypes::route('/'), + 'create' => Pages\CreateProductType::route('/create'), + 'edit' => Pages\EditProductType::route('/{record}/edit'), + ]; + } +} diff --git a/app/Filament/Owner/Resources/ProductTypeResource/Pages/CreateProductType.php b/app/Filament/Owner/Resources/ProductTypeResource/Pages/CreateProductType.php new file mode 100644 index 0000000..410434f --- /dev/null +++ b/app/Filament/Owner/Resources/ProductTypeResource/Pages/CreateProductType.php @@ -0,0 +1,12 @@ +schema([ + Forms\Components\Section::make('Basic Attribute Information') + ->schema([ + Forms\Components\Grid::make(2) + ->schema([ + Forms\Components\TextInput::make('name') + ->required() + ->maxLength(255) + ->label('Attribute Name') + ->live(onBlur: true) + ->afterStateUpdated(function (string $state, Forms\Set $set) { + $set('slug', Str::slug($state)); + }) + ->columnSpan(1) + ->placeholder('e.g., Color, Size, Material') + ->helperText('Enter a unique, descriptive name for this attribute.'), + + Forms\Components\TextInput::make('slug') + ->disabled() + ->dehydrated() + ->columnSpan(1) + ->helperText('Automatically generated from name'), + ]), + + Forms\Components\Toggle::make('is_variant_attribute') + ->label('Is Variant Attribute') + ->helperText('Enable this if this attribute differs between product variants'), + + Forms\Components\Toggle::make('is_translatable') + ->label('Is Translatable') + ->helperText('Enable this if this attribute needs to be translated into different languages'), + + Forms\Components\Textarea::make('description') + ->maxLength(255) + ->columnSpan(2) + ->helperText('Detailed description for attribute mapping for internal use. More context improves mapping precision.'), + ]) + ->columns(2), + + Forms\Components\Section::make('Attribute Configuration') + ->schema([ + Forms\Components\Select::make('type') + ->native(false) + ->options([ + 'text' => 'Text', + 'boolean' => 'Boolean', + 'number' => 'Number', + 'select' => 'Select', + 'url' => 'URL', + 'color' => 'Color', + ]) + ->required() + ->live() + ->afterStateUpdated(function (Forms\Set $set, ?string $state) { + // Always reset the field when type changes + $set('field', null); + + // Set field automatically only for single-option types + $singleOptionTypes = [ + 'number' => 'TextInput', + 'select' => 'Select', + 'url' => 'TextInput', + 'color' => 'ColorPicker', + ]; + + if (isset($singleOptionTypes[$state])) { + $set('field', $singleOptionTypes[$state]); + } + }) + ->helperText('Select the data type for this attribute. This determines how the attribute will be displayed and validated.'), + + Forms\Components\Select::make('field') + ->native(false) + ->options(function (Forms\Get $get) { + return match ($get('type')) { + 'text' => [ + 'TextInput' => 'Text Input', + 'Textarea' => 'Textarea', + 'RichEditor' => 'Rich Editor', + 'MarkdownEditor' => 'Markdown Editor', + ], + 'boolean' => [ + 'Checkbox' => 'Checkbox', + 'Toggle' => 'Toggle', + ], + 'number' => [ + 'TextInput' => 'Text Input', + ], + 'select' => [ + 'Select' => 'Single Select', + 'MultiSelect' => 'Mutli Select', // TODO This isn't working because the schema + 'CheckboxList' => 'Checkbox List', + 'Radio' => 'Radio buttons', + 'TagsInput' => 'Tags', + ], + 'url' => [ + 'TextInput' => 'Text Input', + ], + 'color' => [ + 'ColorPicker' => 'Color Picker', + ], + default => [], + }; + }) + ->required() + ->disabled(fn(Forms\Get $get) => blank($get('type'))) + ->helperText('Choose how this attribute will be displayed in forms'), + + Forms\Components\Repeater::make('options') + ->label('Options') + ->schema([ + Forms\Components\Grid::make() + ->schema(function (Forms\Get $get) { + $fields = []; + $defaultLocale = Locale::where('default', true)->first(); + + foreach (Locale::orderBy('default', 'desc')->get() as $locale) { + $fields[] = Forms\Components\TextInput::make("values.{$locale->code}") + ->label($locale->name) + ->required($locale->default) + ->disabled(fn() => !$locale->default && !$get('../../is_translatable')) + ->helperText($locale->default ? 'Default language' : null) + ->live() + ->afterStateUpdated(function ($state, Forms\Set $set, Forms\Get $get) use ($locale, $defaultLocale) { + // If this is the default locale and is_translatable is false, + // copy the value to all other locales + if ($locale->default && !$get('../../is_translatable')) { + foreach (Locale::where('default', false)->get() as $otherLocale) { + $set("values.{$otherLocale->code}", $state); + } + } + }); + } + + return $fields; + }) + ->columns(2), + ]) + ->collapsible() + ->collapsed() + ->itemLabel(function (array $state): ?string { + $defaultLocale = Locale::where('default', true)->first(); + return $state['values'][$defaultLocale->code] ?? null; + }) + ->defaultItems(0) + ->visible(fn(Forms\Get $get): bool => $get('field') === 'Select' || $get('field') === 'ColorPicker') + ->columnSpanFull() + // Load options from the relationship + ->afterStateHydrated(function (Forms\Get $get, Forms\Set $set, ?ProductTypeAttribute $record) { + if (!$record) return; + + $options = $record->options->map(function ($option) { + $values = []; + + foreach ($option->values as $value) { + $values[$value->locale->code] = $value->value; + } + + return [ + 'values' => $values, + ]; + })->toArray(); + + $set('options', $options); + }) + // Save options to the relationship + ->afterStateUpdated(function ($state, ?ProductTypeAttribute $record) { + if (!$record) return; + + // Delete existing options and their values + foreach ($record->options as $option) { + $option->values()->delete(); + } + $record->options()->delete(); + + // Create new options with localized values + foreach ($state ?? [] as $optionData) { + $option = $record->options()->create([ + 'product_type_attribute_id' => $record->id, + ]); + + // Create values for each locale + foreach (Locale::all() as $locale) { + if (isset($optionData['values'][$locale->code])) { + $option->values()->create([ + 'value' => $optionData['values'][$locale->code], + 'locale_id' => $locale->id, + ]); + } + } + } + }), + + Forms\Components\TextInput::make('unit') + ->maxLength(255) + ->label('Unit of Measurement') + ->placeholder('e.g., cm, kg, liters') + ->helperText('Optional. Specify the unit of measurement for this attribute, if applicable.') + ->nullable() + ->visible(fn(Forms\Get $get): bool => in_array($get('type'), [ + 'text', + 'number', + 'select', + ])), + ]) + ->columns(2), + + Forms\Components\Section::make('Validation Rules') + ->schema([ + Forms\Components\Toggle::make('required') + ->label('Required Field') + ->helperText('Make this attribute mandatory when creating or editing products'), + + Forms\Components\TextInput::make('validators.min_length') + ->label('Minimum Length') + ->helperText('Minimum number of characters required') + ->numeric() + ->visible(fn(Forms\Get $get): bool => $get('type') === 'text'), + + Forms\Components\TextInput::make('validators.max_length') + ->label('Maximum Length') + ->helperText('Maximum number of characters allowed') + ->numeric() + ->visible(fn(Forms\Get $get): bool => $get('type') === 'text'), + + Forms\Components\TextInput::make('validators.regex') + ->label('Regular Expression Pattern') + ->helperText('Custom pattern for validation') + ->visible(fn(Forms\Get $get): bool => $get('type') === 'text'), + + + Forms\Components\TextInput::make('validators.decimal_places') + ->label('Decimal Places') + ->helperText('Number of decimal places allowed') + ->numeric() + ->visible(fn(Forms\Get $get): bool => $get('type') === 'number'), + + Forms\Components\TextInput::make('validators.min') + ->label('Minimum Value') + ->helperText('Smallest number allowed') + ->numeric() + ->visible(fn(Forms\Get $get): bool => $get('type') === 'number'), + + Forms\Components\TextInput::make('validators.max') + ->label('Maximum Value') + ->helperText('Largest number allowed') + ->numeric() + ->visible(fn(Forms\Get $get): bool => $get('type') === 'number'), + + Forms\Components\Toggle::make('validators.active_url') + ->label('Validate Active URL') + ->helperText('Check if the URL is actually reachable') + ->visible(fn(Forms\Get $get): bool => $get('type') === 'url'), + + Forms\Components\TextInput::make('validators.starts_with') + ->label('URL Must Start With') + ->helperText('Required URL prefix (e.g., https://)') + ->visible(fn(Forms\Get $get): bool => $get('type') === 'url'), + ]) + ->columns(2) + ->collapsible(), + ]); + } + + public function table(Table $table): Table + { + return $table + ->recordTitleAttribute('name') + ->columns([ + Tables\Columns\TextColumn::make('name') + ->searchable() + ->sortable(), + Tables\Columns\TextColumn::make('slug') + ->badge() + ->color('gray'), + Tables\Columns\IconColumn::make('required') + ->boolean() + ->sortable(), + Tables\Columns\TextColumn::make('type') + ->searchable() + ->sortable(), + Tables\Columns\TextColumn::make('field') + ->searchable() + ->sortable(), + Tables\Columns\IconColumn::make('is_variant_attribute') + ->boolean() + ->sortable(), + ]) + ->defaultSort('rank') + ->filters([ + // + ]) + ->headerActions([ + Tables\Actions\CreateAction::make() + ->slideOver(), + ]) + ->actions([ + Tables\Actions\EditAction::make() + ->slideOver(), + Tables\Actions\DeleteAction::make(), + ]) + ->bulkActions([ + Tables\Actions\BulkActionGroup::make([ + Tables\Actions\DeleteBulkAction::make(), + ]), + ]); + } +} diff --git a/app/Filament/Owner/Resources/SellerProductResource.php b/app/Filament/Owner/Resources/SellerProductResource.php index 5e5edee..4e2d3ed 100644 --- a/app/Filament/Owner/Resources/SellerProductResource.php +++ b/app/Filament/Owner/Resources/SellerProductResource.php @@ -14,8 +14,6 @@ use Filament\Support\Enums\FontWeight; use Filament\Tables; use Filament\Tables\Table; -use Illuminate\Database\Eloquent\Builder; -use Illuminate\Database\Eloquent\SoftDeletingScope; class SellerProductResource extends Resource { diff --git a/app/Filament/Seller/Resources/SellerProductResource.php b/app/Filament/Seller/Resources/SellerProductResource.php index e10b1c2..7cd0d48 100644 --- a/app/Filament/Seller/Resources/SellerProductResource.php +++ b/app/Filament/Seller/Resources/SellerProductResource.php @@ -5,6 +5,7 @@ use App\Filament\Seller\Resources\SellerProductResource\Pages; use App\Filament\Seller\Resources\SellerProductResource\RelationManagers; use App\Models\SellerProduct; +use App\Services\GoldenProductService; use Filament\Forms; use Filament\Forms\Form; use Filament\Resources\Resource; @@ -56,7 +57,6 @@ public static function form(Form $form): Form ->helperText('The display name for this product'), Forms\Components\TextInput::make('brand') - ->required() ->helperText('The brand this product') ->datalist(function () { return \App\Models\SellerProduct::query() @@ -74,12 +74,15 @@ public static function form(Form $form): Form ]) ->default('draft') ->native(false) - ->helperText('Only Active products can be sold on the marketplace.'), - + ->helperText('Only Active products can be sold on the marketplace.') + ->afterStateUpdated(function ($state, $old, $record) { + if ($state === 'active' && $old !== 'active') { // TODO + app(GoldenProductService::class)->createFromSellerProduct($record); + } + }), Forms\Components\Select::make('category_id') ->relationship('category', 'name') ->native(false) - ->required() ->helperText('The category this product belongs to'), Forms\Components\TextInput::make('sku') @@ -100,7 +103,7 @@ public static function form(Form $form): Form ->editableValues(), ]) ->collapsible() - ->collapsed() + // ->collapsed() TODO ->columns(3), Forms\Components\Section::make('Default Prices') diff --git a/app/Filament/Seller/Resources/SellerProductResource/RelationManagers/VariantsRelationManager.php b/app/Filament/Seller/Resources/SellerProductResource/RelationManagers/VariantsRelationManager.php index 15ac062..1876e66 100644 --- a/app/Filament/Seller/Resources/SellerProductResource/RelationManagers/VariantsRelationManager.php +++ b/app/Filament/Seller/Resources/SellerProductResource/RelationManagers/VariantsRelationManager.php @@ -71,7 +71,6 @@ public function form(Form $form): Form Forms\Components\Section::make('Variant Details') ->schema([ Forms\Components\TextInput::make('name') - ->required() ->helperText('The display name for this variant'), Forms\Components\Select::make('status') diff --git a/app/Models/Customer.php b/app/Models/Customer.php new file mode 100644 index 0000000..ba1fb83 --- /dev/null +++ b/app/Models/Customer.php @@ -0,0 +1,20 @@ +hasMany(Order::class); + } +} diff --git a/app/Models/GoldenProduct.php b/app/Models/GoldenProduct.php new file mode 100644 index 0000000..752c63b --- /dev/null +++ b/app/Models/GoldenProduct.php @@ -0,0 +1,57 @@ + 'integer', + 'product_type_id' => 'integer', + ]; + + public function translations(): HasMany + { + return $this->hasMany(GoldenProductLocalized::class); + } + + public function sellerProducts(): HasMany + { + return $this->hasMany(SellerProduct::class); + } + + public function variants(): HasMany + { + return $this->hasMany(GoldenProductVariant::class); + } + + public function attributes(): HasMany + { + return $this->hasMany(GoldenProductAttribute::class); + } + + public function productType(): BelongsTo + { + return $this->belongsTo(ProductType::class); + } +} diff --git a/app/Models/GoldenProductAttribute.php b/app/Models/GoldenProductAttribute.php new file mode 100644 index 0000000..75c07e6 --- /dev/null +++ b/app/Models/GoldenProductAttribute.php @@ -0,0 +1,57 @@ + 'integer', + 'product_type_attribute_id' => 'integer', + 'golden_product_id' => 'integer', + 'is_option' => 'boolean', + ]; + + public function values(): HasMany + { + return $this->hasMany(GoldenProductAttributeValue::class); + } + + public function productTypeAttributeOptionValues(): BelongsToMany + { + return $this->belongsToMany(ProductTypeAttributeOptionValue::class); + } + + public function productTypeAttribute(): BelongsTo + { + return $this->belongsTo(ProductTypeAttribute::class); + } + + public function goldenProduct(): BelongsTo + { + return $this->belongsTo(GoldenProduct::class); + } +} diff --git a/app/Models/GoldenProductAttributeValue.php b/app/Models/GoldenProductAttributeValue.php new file mode 100644 index 0000000..ccae91a --- /dev/null +++ b/app/Models/GoldenProductAttributeValue.php @@ -0,0 +1,44 @@ + 'integer', + 'golden_product_attribute_id' => 'integer', + 'locale_id' => 'integer', + ]; + + public function goldenProductAttribute(): BelongsTo + { + return $this->belongsTo(GoldenProductAttribute::class); + } + + public function locale(): BelongsTo + { + return $this->belongsTo(Locale::class); + } +} diff --git a/app/Models/GoldenProductImage.php b/app/Models/GoldenProductImage.php new file mode 100644 index 0000000..6caa2a7 --- /dev/null +++ b/app/Models/GoldenProductImage.php @@ -0,0 +1,45 @@ + 'integer', + 'golden_product_id' => 'integer', + 'seller_product_image_id' => 'integer', + ]; + + public function goldenProduct(): BelongsTo + { + return $this->belongsTo(GoldenProduct::class); + } + + public function sellerProductImage(): BelongsTo + { + return $this->belongsTo(SellerProductImage::class); + } +} diff --git a/app/Models/GoldenProductLocalized.php b/app/Models/GoldenProductLocalized.php new file mode 100644 index 0000000..cf961fb --- /dev/null +++ b/app/Models/GoldenProductLocalized.php @@ -0,0 +1,47 @@ + 'integer', + 'attributes' => 'array', + 'locale_id' => 'integer', + 'golden_product_id' => 'integer', + ]; + + public function locale(): BelongsTo + { + return $this->belongsTo(Locale::class); + } + + public function goldenProduct(): BelongsTo + { + return $this->belongsTo(GoldenProduct::class); + } +} diff --git a/app/Models/GoldenProductVariant.php b/app/Models/GoldenProductVariant.php new file mode 100644 index 0000000..248086a --- /dev/null +++ b/app/Models/GoldenProductVariant.php @@ -0,0 +1,42 @@ + 'integer', + 'golden_product_id' => 'integer', + ]; + + public function translations(): HasMany + { + return $this->hasMany(GoldenProductVariantLocalized::class); + } + + public function goldenProduct(): BelongsTo + { + return $this->belongsTo(GoldenProduct::class); + } +} diff --git a/app/Models/GoldenProductVariantLocalized.php b/app/Models/GoldenProductVariantLocalized.php new file mode 100644 index 0000000..3a93e0b --- /dev/null +++ b/app/Models/GoldenProductVariantLocalized.php @@ -0,0 +1,47 @@ + 'integer', + 'attributes' => 'array', + 'golden_product_variant_id' => 'integer', + 'locale_id' => 'integer', + ]; + + public function goldenProductVariant(): BelongsTo + { + return $this->belongsTo(GoldenProductVariant::class); + } + + public function locale(): BelongsTo + { + return $this->belongsTo(Locale::class); + } +} diff --git a/app/Models/Locale.php b/app/Models/Locale.php new file mode 100644 index 0000000..66dfc5d --- /dev/null +++ b/app/Models/Locale.php @@ -0,0 +1,32 @@ + 'integer', + 'default' => 'boolean', + ]; +} diff --git a/app/Models/Order.php b/app/Models/Order.php new file mode 100644 index 0000000..f40bd6d --- /dev/null +++ b/app/Models/Order.php @@ -0,0 +1,47 @@ + 'integer', + 'seller_id' => 'integer', + ]; + + public function seller(): BelongsTo + { + return $this->belongsTo(Seller::class); + } + + public function orderItems(): HasMany + { + return $this->hasMany(OrderItem::class); + } +} diff --git a/app/Models/OrderItem.php b/app/Models/OrderItem.php new file mode 100644 index 0000000..c4128c0 --- /dev/null +++ b/app/Models/OrderItem.php @@ -0,0 +1,52 @@ + 'integer', + 'order_id' => 'integer', + 'seller_product_id' => 'integer', + 'seller_variant_id' => 'integer', + ]; + + public function order(): BelongsTo + { + return $this->belongsTo(Order::class); + } + + public function sellerProduct(): BelongsTo + { + return $this->belongsTo(SellerProduct::class); + } + + public function sellerVariant(): BelongsTo + { + return $this->belongsTo(SellerVariant::class); + } +} diff --git a/app/Models/ProductType.php b/app/Models/ProductType.php new file mode 100644 index 0000000..3793be9 --- /dev/null +++ b/app/Models/ProductType.php @@ -0,0 +1,40 @@ + 'integer', + ]; + + public function attributes(): HasMany + { + return $this->hasMany(ProductTypeAttribute::class); + } + + public function products(): HasMany + { + return $this->hasMany(GoldenProduct::class); + } +} diff --git a/app/Models/ProductTypeAttribute.php b/app/Models/ProductTypeAttribute.php new file mode 100644 index 0000000..8c1991c --- /dev/null +++ b/app/Models/ProductTypeAttribute.php @@ -0,0 +1,57 @@ + 'integer', + 'is_translatable' => 'boolean', + 'required' => 'boolean', + 'is_variant_attribute' => 'boolean', + 'validators' => 'array', + 'product_type_id' => 'integer', + ]; + + public function options(): HasMany + { + return $this->hasMany(ProductTypeAttributeOption::class); + } + + public function productType(): BelongsTo + { + return $this->belongsTo(ProductType::class); + } +} diff --git a/app/Models/ProductTypeAttributeOption.php b/app/Models/ProductTypeAttributeOption.php new file mode 100644 index 0000000..feb5efa --- /dev/null +++ b/app/Models/ProductTypeAttributeOption.php @@ -0,0 +1,42 @@ + 'integer', + 'product_type_attribute_id' => 'integer', + ]; + + public function values(): HasMany + { + return $this->hasMany(ProductTypeAttributeOptionValue::class); + } + + public function productTypeAttribute(): BelongsTo + { + return $this->belongsTo(ProductTypeAttribute::class); + } +} diff --git a/app/Models/ProductTypeAttributeOptionValue.php b/app/Models/ProductTypeAttributeOptionValue.php new file mode 100644 index 0000000..0eab0a2 --- /dev/null +++ b/app/Models/ProductTypeAttributeOptionValue.php @@ -0,0 +1,50 @@ + 'integer', + 'locale_id' => 'integer', + 'product_type_attribute_option_id' => 'integer', + ]; + + public function goldenProductAttributes(): BelongsToMany + { + return $this->belongsToMany(GoldenProductAttribute::class); + } + + public function locale(): BelongsTo + { + return $this->belongsTo(Locale::class); + } + + public function productTypeAttributeOption(): BelongsTo + { + return $this->belongsTo(ProductTypeAttributeOption::class); + } +} diff --git a/app/Models/SellerProduct.php b/app/Models/SellerProduct.php index b9ac8aa..58e46a9 100644 --- a/app/Models/SellerProduct.php +++ b/app/Models/SellerProduct.php @@ -26,6 +26,11 @@ class SellerProduct extends Model 'seller_id', 'status', 'selected', + 'ean', + 'upc', + 'gtin_14', + 'gtin_8', + 'golden_product_id', ]; /** @@ -39,6 +44,7 @@ class SellerProduct extends Model 'category_id' => 'integer', 'seller_id' => 'integer', 'selected' => 'boolean', + 'golden_product_id' => 'integer', ]; public function sellerVariants(): HasMany @@ -70,4 +76,9 @@ public function seller(): BelongsTo { return $this->belongsTo(Seller::class); } + + public function goldenProduct(): BelongsTo + { + return $this->belongsTo(GoldenProduct::class); + } } diff --git a/app/Models/SellerProductImage.php b/app/Models/SellerProductImage.php index 291fc62..2ce7fa4 100644 --- a/app/Models/SellerProductImage.php +++ b/app/Models/SellerProductImage.php @@ -5,6 +5,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; +use Illuminate\Database\Eloquent\Relations\HasOne; class SellerProductImage extends Model { @@ -33,6 +34,11 @@ class SellerProductImage extends Model 'seller_variant_id' => 'integer', ]; + public function goldenProductImage(): HasOne + { + return $this->hasOne(GoldenProductImage::class); + } + public function sellerProduct(): BelongsTo { return $this->belongsTo(SellerProduct::class); diff --git a/app/Providers/Filament/OwnerPanelProvider.php b/app/Providers/Filament/OwnerPanelProvider.php index 5d453ee..9265a0a 100644 --- a/app/Providers/Filament/OwnerPanelProvider.php +++ b/app/Providers/Filament/OwnerPanelProvider.php @@ -32,8 +32,11 @@ public function panel(Panel $panel): Panel ->profile() ->brandName('Owner Center') ->colors([ - 'primary' => Color::Emerald, + 'primary' => Color::Indigo, + 'secondary' => Color::Cyan, + 'gray' => Color::Slate, ]) + ->darkMode() ->discoverResources(in: app_path('Filament/Owner/Resources'), for: 'App\\Filament\\Owner\\Resources') ->discoverPages(in: app_path('Filament/Owner/Pages'), for: 'App\\Filament\\Owner\\Pages') ->pages([ diff --git a/app/Services/AttributeMappingService.php b/app/Services/AttributeMappingService.php new file mode 100644 index 0000000..088852f --- /dev/null +++ b/app/Services/AttributeMappingService.php @@ -0,0 +1,116 @@ +stringifyProductType($productType); + $attributeString = $this->stringifySellerAttributes($sellerAttributes); + $client = $this->openAIService->getClient(); + $response = $this->performAIRequest($client, $attributeString, $attributeSchemaString); + $mappedAttributes = json_decode($response->choices[0]->message->content, true); + return $mappedAttributes ?? []; + } + + /** + * @param array $sellerAttributes + * @return string + */ + public function stringifySellerAttributes(array $sellerAttributes): string + { + $attributeString = ''; + foreach ($sellerAttributes as $k => $v) { + $attributeString .= ' - ' . $k . ': ' . $v . "\n"; + } + return $attributeString; + } + + /** + * @param ProductType $productType + * @return string + */ + public function stringifyProductType(ProductType $productType): string + { + $attributeSchemaString = ''; + foreach ($productType->attributes as $attribute) { + $attributeSchemaString .= collect([ + 'ID: ' . $attribute->id, + 'Attribute: ' . $attribute->name, + 'Type: ' . $attribute->type, + 'Description: ' . $attribute->description, + !empty($attribute->unit) + ? 'Unit: ' . $attribute->unit + : null, + !empty($attribute->options) + ? 'Valid options (You must select an ID): [' . collect($attribute->options)->map(fn($option) => "{$option->id}: \"{$option->label}\"")->join(', ') . ']' + : null, + ]) + ->filter() + ->join(' | ') . "\n"; + } + return $attributeSchemaString; + } + + public function performAIRequest(OpenAI\OpenAIClientWrapper $client, string $attributeString, string $attributeSchemaString): \OpenAI\Responses\Chat\CreateResponse + { + $response = $client->chat()->create([ + 'model' => $this->openAIService->getSmallModel(), + 'messages' => [ + [ + 'role' => 'system', + 'content' => "You are a product attribute mapper. Map the seller's product attributes to our predefined schema following these rules: +1. Match attributes based on semantic similarity +2. Convert values to match the required type and unit +3. For attributes with predefined options, use only valid values +4. Return the result as a JSON object where keys are our attribute IDs and values are the mapped values +5. Skip attributes that don't have a good match in our schema + +Response Format: +{ + \"attribute_id\": value, // where attribute_id is a number and value depends on the attribute type: + // For 'select' type: value must be one of the provided option IDs (number) + // For 'text' type: value must be a string + // For 'number' type: value must be a number matching the specified unit + // For 'boolean' type: value must be true or false + // For 'color' type: value must be a valid hex color code (e.g., \"#FF0000\") +} + +Example Response: +{ + \"11\": 42, // select type with option ID 42 + \"22\": \"text\", // text type + \"33\": 180, // number type + \"44\": true, // boolean type + \"55\": \"#FF0000\" // color type +}" + ], + [ + 'role' => 'user', + 'content' => "Map these seller attributes to our schema: + +Seller's attributes: +$attributeString + +Our attribute schema: +$attributeSchemaString + +Respond with a valid JSON object where keys are our attribute IDs and values are the mapped values. You must not write any additional text or add quotes or backticks." + ] + ], + 'response_format' => ['type' => 'json_object'] + ]); + return $response; + } +} diff --git a/app/Services/GoldenProductService.php b/app/Services/GoldenProductService.php new file mode 100644 index 0000000..a86d947 --- /dev/null +++ b/app/Services/GoldenProductService.php @@ -0,0 +1,192 @@ +golden_product_id) { + // return $sellerProduct->goldenProduct; + // } + + $productType = $this->productTypeClassifier->determineProductType($sellerProduct); + $translations = $this->translateProductName($sellerProduct); + + $mappedAttributes = $this->attributeMapper->mapAttributes($sellerProduct->attributes, $productType); + $attributes = $this->translateTextAttributeValues($mappedAttributes, $productType, $translations); + $attributes = $this->addAttributeOptionValues($attributes, $mappedAttributes, $productType); + + $goldenProduct = $this->createOrGetGoldenProduct($productType, $reload); + + $this->createTranslations($goldenProduct, $translations, $reload); + $this->createAttributes($goldenProduct, $attributes); + + $this->updateSellerProduct($sellerProduct, $goldenProduct); + + return $goldenProduct; + } + + + + private function createOrGetGoldenProduct(ProductType $productType, bool $reload): GoldenProduct + { + if ($reload) { + $goldenProduct = GoldenProduct::where('product_type_id', $productType->id)->first(); + } else { + $goldenProduct = GoldenProduct::create([ + 'product_type_id' => $productType->id, + ]); + } + return $goldenProduct; + } + + public function translateProductName(SellerProduct $sellerProduct): array + { + $translations = []; + foreach (Locale::all() as $locale) { + $translations[$locale->id] = $this->translator->translateTexts([ + 'name' => $sellerProduct->name, + 'description' => $sellerProduct->description + ], $locale->code); + } + return $translations; + } + + public function translateTextAttributeValues(array $mappedAttributes, ProductType $productType, array $translations): array + { + $attributes = []; + foreach (Locale::all() as $locale) { + $attributes[$locale->id] = []; + $toBetranslatedValues = []; + foreach ($mappedAttributes as $attributeConfigId => $value) { + $attributeConfiguration = $productType->attributes->find($attributeConfigId); // TODO too many queries + + if ($attributeConfiguration->type !== 'select' && $attributeConfiguration->is_translatable === true) { + // $translatedValue = $this->translator->translateString($value, $locale->code); + $toBetranslatedValues[$attributeConfigId] = $value; + } + } + $translations = $this->translator->translateTexts($toBetranslatedValues, $locale->code); + foreach ($mappedAttributes as $attributeConfigId => $value) { + if (array_key_exists($attributeConfigId, $translations)) { + $attributes[$locale->id][$attributeConfigId] = $translations[$attributeConfigId]; + } else { + $attributes[$locale->id][$attributeConfigId] = $value; + } + } + } + return $attributes; + } + + public function addAttributeOptionValues(array $attributes, array $mappedAttributes, ProductType $productType): array + { + foreach ($mappedAttributes as $attributeConfigId => $value) { + $attributeConfiguration = $productType->attributes->find($attributeConfigId); // TODO too many queries + + foreach (Locale::all() as $locale) { + if ($attributeConfiguration->type === 'select') { + $optionEntity = ProductTypeAttributeOptionValue::where('product_type_attribute_option_id', $value) + ->where('locale_id', $locale->id) + ->first(); + $attributes[$locale->id][$attributeConfigId] = $optionEntity; + } + } + } + return $attributes; + } + + private function createTranslations(GoldenProduct $goldenProduct, array $translations, bool $reload): void + { + if ($reload) { + $goldenProduct->translations()->delete(); + } + + foreach (Locale::all() as $locale) { + $translation = $translations[$locale->id]; + $goldenProduct->translations()->create([ + 'name' => $translation['name'], + 'description' => $translation['description'], + 'locale_id' => $locale->id, + ]); + } + } + + private function createAttributes(GoldenProduct $goldenProduct, array $attributes): void + { + foreach ($goldenProduct->attributes as $attribute) { + $attribute->productTypeAttributeOptionValues()->detach(); + $attribute->values()->delete(); + } + $goldenProduct->attributes()->delete(); + + $saved = []; + foreach ($attributes as $localeId => $attributeValues) { + foreach ($attributeValues as $attributeConfigId => $value) { + + if (!array_key_exists($attributeConfigId, $saved)) { + $goldenProductAttribute = GoldenProductAttribute::create([ + 'golden_product_id' => $goldenProduct->id, + 'product_type_attribute_id' => $attributeConfigId, + ]); + $saved[$attributeConfigId] = $goldenProductAttribute; + } else { + $goldenProductAttribute = $saved[$attributeConfigId]; + } + + if (is_scalar($value)) { + GoldenProductAttributeValue::create([ + 'golden_product_attribute_id' => $goldenProductAttribute->id, + 'value' => $value, + 'locale_id' => $localeId + ]); + } else if ($value instanceof ProductTypeAttributeOptionValue) { + // Directly insert into the pivot table + DB::table('golden_product_attribute_product_type_attribute_option_value')->insert([ + 'golden_product_attribute_id' => $goldenProductAttribute->id, + 'product_type_attribute_option_value_id' => $value->id, + ]); + $goldenProductAttribute->is_option = true; + $goldenProductAttribute->save(); + } else { + throw new \Exception('Unsupported attribute value type for value: ' . $value); + } + } + } + } + + private function updateSellerProduct(SellerProduct $sellerProduct, GoldenProduct $goldenProduct): void + { + $sellerProduct->update(['golden_product_id' => $goldenProduct->id]); + } +} diff --git a/app/Services/OpenAI/OpenAIChatWrapper.php b/app/Services/OpenAI/OpenAIChatWrapper.php new file mode 100644 index 0000000..c360c07 --- /dev/null +++ b/app/Services/OpenAI/OpenAIChatWrapper.php @@ -0,0 +1,63 @@ +chat = $chat; + } + + public function create(array $parameters): CreateResponse + { + + $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2); + $callingClass = isset($backtrace[1]['class']) ? $backtrace[1]['class'] : 'unknown'; + $callingClass = last(explode('\\', $callingClass)); + $callingMethod = debug_backtrace()[1]['function'] ?? 'unknown'; + + $suffix = ' - ' . $callingClass . '::' . $callingMethod; + + // if (isset($parameters['tools'][0]['function']['name'])) { + // $suffix = ' - ' . $parameters['tools'][0]['function']['name']; + // } elseif (isset($parameters['tool_choice']['function']['name'])) { + // $suffix = ' - ' . $parameters['tool_choice']['function']['name']; + // } + Log::info('OpenAI Chat Request' . $suffix, [ + 'parameters' => $parameters, + ]); + + $response = $this->chat->create($parameters); + + Log::info('OpenAI Chat Response' . $suffix, [ + 'response' => [ + 'id' => $response->id, + 'model' => $response->model, + 'created' => $response->created, + 'choices' => array_map(fn($choice) => [ + 'index' => $choice->index, + 'message' => [ + 'role' => $choice->message->role, + 'content' => $choice->message->content, + 'toolCalls' => $choice->message->toolCalls, + ], + 'finishReason' => $choice->finishReason, + ], $response->choices), + 'usage' => [ + 'promptTokens' => $response->usage->promptTokens, + 'completionTokens' => $response->usage->completionTokens, + 'totalTokens' => $response->usage->totalTokens, + ], + ], + ]); + + return $response; + } +} diff --git a/app/Services/OpenAI/OpenAIClientWrapper.php b/app/Services/OpenAI/OpenAIClientWrapper.php new file mode 100644 index 0000000..f6a4055 --- /dev/null +++ b/app/Services/OpenAI/OpenAIClientWrapper.php @@ -0,0 +1,26 @@ +client = $client; + } + + public function chat(): OpenAIChatWrapper + { + return new OpenAIChatWrapper($this->client->chat()); + } + + public function getClient(): Client + { + return $this->client; + } +} diff --git a/app/Services/OpenAIService.php b/app/Services/OpenAIService.php new file mode 100644 index 0000000..fbcb2f1 --- /dev/null +++ b/app/Services/OpenAIService.php @@ -0,0 +1,26 @@ +client = new OpenAIClientWrapper(OpenAI::client(getenv('OPENAI_API_KEY'))); + } + + public function getClient(): OpenAIClientWrapper + { + return $this->client; + } + + public function getSmallModel(): string + { + return getenv('SMALL_MODEL'); + } +} diff --git a/app/Services/PrismService.php b/app/Services/PrismService.php new file mode 100644 index 0000000..ed3a96a --- /dev/null +++ b/app/Services/PrismService.php @@ -0,0 +1,21 @@ +using(Provider::OpenAI, getenv($this->model)); + } +} diff --git a/app/Services/ProductTranslationService.php b/app/Services/ProductTranslationService.php new file mode 100644 index 0000000..a7ce6ba --- /dev/null +++ b/app/Services/ProductTranslationService.php @@ -0,0 +1,102 @@ +translateList($texts, $targetLocale); + } else { + return $this->translateAssociative($texts, $targetLocale); + } + } + + public function translateString(string $text, string $targetLocale): string + { + $translated = $this->translateList([$text], $targetLocale); + return $translated[0]; + } + + public function translateList(array $texts, string $targetLocale): array + { + $client = $this->openAIService->getClient(); + $response = $this->performListTranslation($client, $texts, $targetLocale); + $translations = json_decode($response->choices[0]->message->content, true); + return $translations['translated'] ?? $texts; + } + + public function translateAssociative(array $texts, string $targetLocale): array + { + $client = $this->openAIService->getClient(); + $response = $this->performAssociativeTranslation($client, $texts, $targetLocale); + $translations = json_decode($response->choices[0]->message->content, true); + return $translations['translated'] ?? $texts; + } + + private function performListTranslation(OpenAIClientWrapper $client, array $texts, string $targetLocale): \OpenAI\Responses\Chat\CreateResponse + { + return $client->chat()->create([ + 'model' => $this->openAIService->getSmallModel(), + 'messages' => [ + [ + 'role' => 'system', + 'content' => "You are a product text translator. Your task is to translate the given array to the specified language. +1. Maintain the marketing style and tone of the original text +2. Return a JSON object with a single field 'translated' containing a numeric array of translated values +3. Keep brand names and trademark symbols (®, ™) unchanged + +Example response format: +{ + \"translated\": [ + \"translated text 1\", + \"translated text 2\" + ] +}" + ], + [ + 'role' => 'user', + 'content' => "Translate these texts to {$targetLocale}:\n\n" . json_encode($texts) + ] + ], + 'response_format' => ['type' => 'json_object'] + ]); + } + + private function performAssociativeTranslation(OpenAIClientWrapper $client, array $texts, string $targetLocale): \OpenAI\Responses\Chat\CreateResponse + { + return $client->chat()->create([ + 'model' => $this->openAIService->getSmallModel(), + 'messages' => [ + [ + 'role' => 'system', + 'content' => "You are a product text translator. Your task is to translate values in the given object. +1. Maintain the marketing style and tone of the original text +2. Return a JSON object with a single field 'translated' containing an object with the same keys but translated values +3. Keep brand names and trademark symbols (®, ™) unchanged + +Example response format: +{ + \"translated\": { + \"key1\": \"translated value 1\", + \"key2\": \"translated value 2\" + } +}" + ], + [ + 'role' => 'user', + 'content' => "Translate these texts to {$targetLocale}:\n\n" . json_encode($texts, JSON_PRETTY_PRINT) + ] + ], + 'response_format' => ['type' => 'json_object'] + ]); + } +} diff --git a/app/Services/ProductTypeClassificationService.php b/app/Services/ProductTypeClassificationService.php new file mode 100644 index 0000000..9d96b20 --- /dev/null +++ b/app/Services/ProductTypeClassificationService.php @@ -0,0 +1,79 @@ +toArray(); + $productTypeName = $this->classifyProductType($sellerProduct->name, $availableTypes); + + if (is_null($productTypeName)) { + throw new \Exception('Product type not found'); + } + + $productType = ProductType::where('name', $productTypeName)->first(); + + // TODO handling in case no product type is found + + return $productType; + } + + private function classifyProductType(string $productName, array $availableTypes): ?string + { + $client = $this->openAIService->getClient(); + + $response = $client->chat()->create([ + 'model' => $this->openAIService->getSmallModel(), + 'messages' => [ + [ + 'role' => 'system', + 'content' => 'You are a product classifier. Given a product name, classify it into one of the available product types. If none match, respond with "n/a".' + ], + [ + 'role' => 'user', + 'content' => "Product name: $productName\nAvailable types: " . implode(', ', $availableTypes) + ] + ], + 'tools' => [ + [ + 'type' => 'function', + 'function' => [ + 'name' => 'classify_product', + 'description' => 'Classify a product into one of the available product types', + 'parameters' => [ + 'type' => 'object', + 'properties' => [ + 'product_type' => [ + 'type' => 'string', + 'enum' => array_merge($availableTypes, ['n/a']), + 'description' => 'The type of product or "n/a" if no type matches' + ] + ], + 'required' => ['product_type'] + ] + ] + ] + ], + 'tool_choice' => ['type' => 'function', 'function' => ['name' => 'classify_product']] + ]); + + $toolCall = $response->choices[0]->message->toolCalls[0]; + $arguments = json_decode($toolCall->function->arguments, true); + + $productType = $arguments['product_type'] ?? null; + if ($productType == 'n/a') { + return null; + } + return $productType; + } +} diff --git a/commands.txt b/commands.txt index bebbfaf..3830033 100644 --- a/commands.txt +++ b/commands.txt @@ -5,9 +5,12 @@ php artisan blueprint:trace && php artisan blueprint:build && php artisan migra -php artisan make:filament-resource Currency --generate +php artisan make:filament-resource Currency --generate --panel=owner php artisan make:filament-resource Category --generate php artisan make:filament-resource SellerProduct --generate php artisan make:filament-resource SellerVariant --generate php artisan make:filament-resource Location --generate + + +http://localhost:8000/log-viewer \ No newline at end of file diff --git a/composer.json b/composer.json index 6ab9f2b..45db238 100644 --- a/composer.json +++ b/composer.json @@ -2,16 +2,21 @@ "name": "laravel/laravel", "type": "project", "description": "The skeleton application for the Laravel framework.", - "keywords": ["laravel", "framework"], + "keywords": [ + "laravel", + "framework" + ], "license": "MIT", "require": { "php": "^8.2", + "fakerphp/faker": "^1.23", "filament/filament": "^3.2", + "guzzlehttp/guzzle": "^7.9", "laravel/framework": "^11.9", - "laravel/tinker": "^2.9" + "laravel/tinker": "^2.9", + "openai-php/client": "^0.10.3" }, "require-dev": { - "fakerphp/faker": "^1.23", "laravel-shift/blueprint": "^2.10", "laravel/pail": "^1.1", "laravel/pint": "^1.13", @@ -19,7 +24,8 @@ "mockery/mockery": "^1.6", "nunomaduro/collision": "^8.1", "pestphp/pest": "^3.5", - "pestphp/pest-plugin-laravel": "^3.0" + "pestphp/pest-plugin-laravel": "^3.0", + "opcodesio/log-viewer": "^3.12" }, "autoload": { "psr-4": { diff --git a/composer.lock b/composer.lock index 5c351a2..dd588e9 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "28dbca8447d5a58cb18d947175ebcd23", + "content-hash": "5c5646a6e83004c8961c734a579d6090", "packages": [ { "name": "anourvalar/eloquent-serialize", - "version": "1.2.26", + "version": "1.2.27", "source": { "type": "git", "url": "https://github.com/AnourValar/eloquent-serialize.git", - "reference": "756c1232ff0d02321fd90f4fe3c221d6a7b8d697" + "reference": "f1c4fcd41a6db1467ed75bc295b62f582d6fd0fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/AnourValar/eloquent-serialize/zipball/756c1232ff0d02321fd90f4fe3c221d6a7b8d697", - "reference": "756c1232ff0d02321fd90f4fe3c221d6a7b8d697", + "url": "https://api.github.com/repos/AnourValar/eloquent-serialize/zipball/f1c4fcd41a6db1467ed75bc295b62f582d6fd0fe", + "reference": "f1c4fcd41a6db1467ed75bc295b62f582d6fd0fe", "shasum": "" }, "require": { @@ -68,22 +68,22 @@ ], "support": { "issues": "https://github.com/AnourValar/eloquent-serialize/issues", - "source": "https://github.com/AnourValar/eloquent-serialize/tree/1.2.26" + "source": "https://github.com/AnourValar/eloquent-serialize/tree/1.2.27" }, - "time": "2024-11-16T12:29:47+00:00" + "time": "2024-11-30T08:27:24+00:00" }, { "name": "blade-ui-kit/blade-heroicons", - "version": "2.4.0", + "version": "2.5.0", "source": { "type": "git", "url": "https://github.com/blade-ui-kit/blade-heroicons.git", - "reference": "a7c377a4ef88cd54712e3e15cbed30446820da0b" + "reference": "4ed3ed08e9ac192d0d126b2f12711d6fb6576a48" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/blade-ui-kit/blade-heroicons/zipball/a7c377a4ef88cd54712e3e15cbed30446820da0b", - "reference": "a7c377a4ef88cd54712e3e15cbed30446820da0b", + "url": "https://api.github.com/repos/blade-ui-kit/blade-heroicons/zipball/4ed3ed08e9ac192d0d126b2f12711d6fb6576a48", + "reference": "4ed3ed08e9ac192d0d126b2f12711d6fb6576a48", "shasum": "" }, "require": { @@ -127,7 +127,7 @@ ], "support": { "issues": "https://github.com/blade-ui-kit/blade-heroicons/issues", - "source": "https://github.com/blade-ui-kit/blade-heroicons/tree/2.4.0" + "source": "https://github.com/blade-ui-kit/blade-heroicons/tree/2.5.0" }, "funding": [ { @@ -139,7 +139,7 @@ "type": "paypal" } ], - "time": "2024-07-16T07:00:01+00:00" + "time": "2024-11-18T19:59:07+00:00" }, { "name": "blade-ui-kit/blade-icons", @@ -986,18 +986,81 @@ ], "time": "2023-10-06T06:47:41+00:00" }, + { + "name": "fakerphp/faker", + "version": "v1.24.1", + "source": { + "type": "git", + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "conflict": { + "fzaninotto/faker": "*" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "doctrine/persistence": "^1.3 || ^2.0", + "ext-intl": "*", + "phpunit/phpunit": "^9.5.26", + "symfony/phpunit-bridge": "^5.4.16" + }, + "suggest": { + "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", + "ext-curl": "Required by Faker\\Provider\\Image to download images.", + "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", + "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", + "ext-mbstring": "Required for multibyte Unicode string functionality." + }, + "type": "library", + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "support": { + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1" + }, + "time": "2024-11-21T13:46:39+00:00" + }, { "name": "filament/actions", - "version": "v3.2.124", + "version": "v3.2.127", "source": { "type": "git", "url": "https://github.com/filamentphp/actions.git", - "reference": "631b38a36f5209a3884182acee60a0db682c6d24" + "reference": "f325e315c365cfcea5c9da96662ddea37e3663fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/actions/zipball/631b38a36f5209a3884182acee60a0db682c6d24", - "reference": "631b38a36f5209a3884182acee60a0db682c6d24", + "url": "https://api.github.com/repos/filamentphp/actions/zipball/f325e315c365cfcea5c9da96662ddea37e3663fc", + "reference": "f325e315c365cfcea5c9da96662ddea37e3663fc", "shasum": "" }, "require": { @@ -1037,20 +1100,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-11-13T16:35:31+00:00" + "time": "2024-11-29T09:30:57+00:00" }, { "name": "filament/filament", - "version": "v3.2.124", + "version": "v3.2.127", "source": { "type": "git", "url": "https://github.com/filamentphp/panels.git", - "reference": "3f170b1c57033ad8e9e6bd71f3dc3f0665bf3ae9" + "reference": "4aea767e8c872842b624fe47affe078433111259" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/panels/zipball/3f170b1c57033ad8e9e6bd71f3dc3f0665bf3ae9", - "reference": "3f170b1c57033ad8e9e6bd71f3dc3f0665bf3ae9", + "url": "https://api.github.com/repos/filamentphp/panels/zipball/4aea767e8c872842b624fe47affe078433111259", + "reference": "4aea767e8c872842b624fe47affe078433111259", "shasum": "" }, "require": { @@ -1102,20 +1165,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-11-13T16:35:35+00:00" + "time": "2024-11-29T09:30:58+00:00" }, { "name": "filament/forms", - "version": "v3.2.124", + "version": "v3.2.127", "source": { "type": "git", "url": "https://github.com/filamentphp/forms.git", - "reference": "c73351c086036bd8de24e8671fd97018942d6d61" + "reference": "c78071f1aabb63a0d9bf74268005d3294b61dc2a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/forms/zipball/c73351c086036bd8de24e8671fd97018942d6d61", - "reference": "c73351c086036bd8de24e8671fd97018942d6d61", + "url": "https://api.github.com/repos/filamentphp/forms/zipball/c78071f1aabb63a0d9bf74268005d3294b61dc2a", + "reference": "c78071f1aabb63a0d9bf74268005d3294b61dc2a", "shasum": "" }, "require": { @@ -1158,20 +1221,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-11-13T16:35:31+00:00" + "time": "2024-11-29T09:30:53+00:00" }, { "name": "filament/infolists", - "version": "v3.2.124", + "version": "v3.2.127", "source": { "type": "git", "url": "https://github.com/filamentphp/infolists.git", - "reference": "7946035f47746e69ff9d98bfed04b0248000ee2e" + "reference": "e655ac3900ab2109022aa0243cfb4126729ef431" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/infolists/zipball/7946035f47746e69ff9d98bfed04b0248000ee2e", - "reference": "7946035f47746e69ff9d98bfed04b0248000ee2e", + "url": "https://api.github.com/repos/filamentphp/infolists/zipball/e655ac3900ab2109022aa0243cfb4126729ef431", + "reference": "e655ac3900ab2109022aa0243cfb4126729ef431", "shasum": "" }, "require": { @@ -1209,11 +1272,11 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-11-13T16:35:31+00:00" + "time": "2024-11-29T09:30:56+00:00" }, { "name": "filament/notifications", - "version": "v3.2.124", + "version": "v3.2.127", "source": { "type": "git", "url": "https://github.com/filamentphp/notifications.git", @@ -1265,27 +1328,27 @@ }, { "name": "filament/support", - "version": "v3.2.124", + "version": "v3.2.127", "source": { "type": "git", "url": "https://github.com/filamentphp/support.git", - "reference": "13b1e485d3bc993950c9e61a3f6a8cb05efd2b96" + "reference": "a720fb2508a1d84a9b35aedc9991d4b53d18fea6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/support/zipball/13b1e485d3bc993950c9e61a3f6a8cb05efd2b96", - "reference": "13b1e485d3bc993950c9e61a3f6a8cb05efd2b96", + "url": "https://api.github.com/repos/filamentphp/support/zipball/a720fb2508a1d84a9b35aedc9991d4b53d18fea6", + "reference": "a720fb2508a1d84a9b35aedc9991d4b53d18fea6", "shasum": "" }, "require": { - "blade-ui-kit/blade-heroicons": "^2.2.1", + "blade-ui-kit/blade-heroicons": "^2.5", "doctrine/dbal": "^3.2|^4.0", "ext-intl": "*", "illuminate/contracts": "^10.45|^11.0", "illuminate/support": "^10.45|^11.0", "illuminate/view": "^10.45|^11.0", "kirschbaum-development/eloquent-power-joins": "^3.0|^4.0", - "livewire/livewire": "^3.4.10", + "livewire/livewire": "3.5.12", "php": "^8.1", "ryangjchandler/blade-capture-directive": "^0.2|^0.3|^1.0", "spatie/color": "^1.5", @@ -1320,20 +1383,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-11-13T16:35:51+00:00" + "time": "2024-11-29T09:31:13+00:00" }, { "name": "filament/tables", - "version": "v3.2.124", + "version": "v3.2.127", "source": { "type": "git", "url": "https://github.com/filamentphp/tables.git", - "reference": "5f1b04952080e71f3f72bae3801f2757619722e7" + "reference": "c287a68e084c96c3f2991eaddf1d6b5159af5147" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/tables/zipball/5f1b04952080e71f3f72bae3801f2757619722e7", - "reference": "5f1b04952080e71f3f72bae3801f2757619722e7", + "url": "https://api.github.com/repos/filamentphp/tables/zipball/c287a68e084c96c3f2991eaddf1d6b5159af5147", + "reference": "c287a68e084c96c3f2991eaddf1d6b5159af5147", "shasum": "" }, "require": { @@ -1372,20 +1435,20 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-11-13T16:35:47+00:00" + "time": "2024-11-30T09:21:26+00:00" }, { "name": "filament/widgets", - "version": "v3.2.124", + "version": "v3.2.127", "source": { "type": "git", "url": "https://github.com/filamentphp/widgets.git", - "reference": "59a907af93c9027180e2bac5879f35b5fb11c96f" + "reference": "6de1c84d71168fd1c6a5b1ae1e1b4ec5ee4b6f55" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/widgets/zipball/59a907af93c9027180e2bac5879f35b5fb11c96f", - "reference": "59a907af93c9027180e2bac5879f35b5fb11c96f", + "url": "https://api.github.com/repos/filamentphp/widgets/zipball/6de1c84d71168fd1c6a5b1ae1e1b4ec5ee4b6f55", + "reference": "6de1c84d71168fd1c6a5b1ae1e1b4ec5ee4b6f55", "shasum": "" }, "require": { @@ -1416,7 +1479,7 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-11-13T16:35:48+00:00" + "time": "2024-11-27T16:52:29+00:00" }, { "name": "fruitcake/php-cors", @@ -1964,16 +2027,16 @@ }, { "name": "kirschbaum-development/eloquent-power-joins", - "version": "4.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/kirschbaum-development/eloquent-power-joins.git", - "reference": "c6c42a52c5a097cc11761e72782b2d0215692caf" + "reference": "3c1af9b86b02f1e39219849c1d2fee7cf77e8638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/kirschbaum-development/eloquent-power-joins/zipball/c6c42a52c5a097cc11761e72782b2d0215692caf", - "reference": "c6c42a52c5a097cc11761e72782b2d0215692caf", + "url": "https://api.github.com/repos/kirschbaum-development/eloquent-power-joins/zipball/3c1af9b86b02f1e39219849c1d2fee7cf77e8638", + "reference": "3c1af9b86b02f1e39219849c1d2fee7cf77e8638", "shasum": "" }, "require": { @@ -2021,29 +2084,29 @@ ], "support": { "issues": "https://github.com/kirschbaum-development/eloquent-power-joins/issues", - "source": "https://github.com/kirschbaum-development/eloquent-power-joins/tree/4.0.0" + "source": "https://github.com/kirschbaum-development/eloquent-power-joins/tree/4.0.1" }, - "time": "2024-10-06T12:28:14+00:00" + "time": "2024-11-26T13:22:08+00:00" }, { "name": "laravel/framework", - "version": "v11.32.0", + "version": "v11.34.2", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "bc2aad63f83ee5089be7b21cf29d645ccf31e927" + "reference": "865da6d73dd353f07a7bcbd778c55966a620121f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/bc2aad63f83ee5089be7b21cf29d645ccf31e927", - "reference": "bc2aad63f83ee5089be7b21cf29d645ccf31e927", + "url": "https://api.github.com/repos/laravel/framework/zipball/865da6d73dd353f07a7bcbd778c55966a620121f", + "reference": "865da6d73dd353f07a7bcbd778c55966a620121f", "shasum": "" }, "require": { "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12", "composer-runtime-api": "^2.2", "doctrine/inflector": "^2.0.5", - "dragonmantank/cron-expression": "^3.3.2", + "dragonmantank/cron-expression": "^3.4", "egulias/email-validator": "^3.2.1|^4.0", "ext-ctype": "*", "ext-filter": "*", @@ -2053,35 +2116,36 @@ "ext-session": "*", "ext-tokenizer": "*", "fruitcake/php-cors": "^1.3", - "guzzlehttp/guzzle": "^7.8", + "guzzlehttp/guzzle": "^7.8.2", "guzzlehttp/uri-template": "^1.0", "laravel/prompts": "^0.1.18|^0.2.0|^0.3.0", - "laravel/serializable-closure": "^1.3", + "laravel/serializable-closure": "^1.3|^2.0", "league/commonmark": "^2.2.1", - "league/flysystem": "^3.8.0", + "league/flysystem": "^3.25.1", + "league/flysystem-local": "^3.25.1", "monolog/monolog": "^3.0", - "nesbot/carbon": "^2.72.2|^3.0", + "nesbot/carbon": "^2.72.2|^3.4", "nunomaduro/termwind": "^2.0", "php": "^8.2", "psr/container": "^1.1.1|^2.0.1", "psr/log": "^1.0|^2.0|^3.0", "psr/simple-cache": "^1.0|^2.0|^3.0", "ramsey/uuid": "^4.7", - "symfony/console": "^7.0", - "symfony/error-handler": "^7.0", - "symfony/finder": "^7.0", - "symfony/http-foundation": "^7.0", - "symfony/http-kernel": "^7.0", - "symfony/mailer": "^7.0", - "symfony/mime": "^7.0", - "symfony/polyfill-php83": "^1.28", - "symfony/process": "^7.0", - "symfony/routing": "^7.0", - "symfony/uid": "^7.0", - "symfony/var-dumper": "^7.0", + "symfony/console": "^7.0.3", + "symfony/error-handler": "^7.0.3", + "symfony/finder": "^7.0.3", + "symfony/http-foundation": "^7.0.3", + "symfony/http-kernel": "^7.0.3", + "symfony/mailer": "^7.0.3", + "symfony/mime": "^7.0.3", + "symfony/polyfill-php83": "^1.31", + "symfony/process": "^7.0.3", + "symfony/routing": "^7.0.3", + "symfony/uid": "^7.0.3", + "symfony/var-dumper": "^7.0.3", "tijsverkoyen/css-to-inline-styles": "^2.2.5", - "vlucas/phpdotenv": "^5.4.1", - "voku/portable-ascii": "^2.0" + "vlucas/phpdotenv": "^5.6.1", + "voku/portable-ascii": "^2.0.2" }, "conflict": { "mockery/mockery": "1.6.8", @@ -2131,29 +2195,32 @@ }, "require-dev": { "ably/ably-php": "^1.0", - "aws/aws-sdk-php": "^3.235.5", + "aws/aws-sdk-php": "^3.322.9", "ext-gmp": "*", - "fakerphp/faker": "^1.23", - "league/flysystem-aws-s3-v3": "^3.0", - "league/flysystem-ftp": "^3.0", - "league/flysystem-path-prefixing": "^3.3", - "league/flysystem-read-only": "^3.3", - "league/flysystem-sftp-v3": "^3.0", - "mockery/mockery": "^1.6", + "fakerphp/faker": "^1.24", + "guzzlehttp/promises": "^2.0.3", + "guzzlehttp/psr7": "^2.4", + "league/flysystem-aws-s3-v3": "^3.25.1", + "league/flysystem-ftp": "^3.25.1", + "league/flysystem-path-prefixing": "^3.25.1", + "league/flysystem-read-only": "^3.25.1", + "league/flysystem-sftp-v3": "^3.25.1", + "mockery/mockery": "^1.6.10", "nyholm/psr7": "^1.2", - "orchestra/testbench-core": "^9.5", - "pda/pheanstalk": "^5.0", + "orchestra/testbench-core": "^9.6", + "pda/pheanstalk": "^5.0.6", "phpstan/phpstan": "^1.11.5", - "phpunit/phpunit": "^10.5|^11.0", - "predis/predis": "^2.0.2", + "phpunit/phpunit": "^10.5.35|^11.3.6", + "predis/predis": "^2.3", "resend/resend-php": "^0.10.0", - "symfony/cache": "^7.0", - "symfony/http-client": "^7.0", - "symfony/psr-http-message-bridge": "^7.0" + "symfony/cache": "^7.0.3", + "symfony/http-client": "^7.0.3", + "symfony/psr-http-message-bridge": "^7.0.3", + "symfony/translation": "^7.0.3" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.322.9).", "brianium/paratest": "Required to run tests in parallel (^7.0|^8.0).", "ext-apcu": "Required to use the APC cache driver.", "ext-fileinfo": "Required to use the Filesystem class.", @@ -2167,16 +2234,16 @@ "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "filp/whoops": "Required for friendly error pages in development (^2.14.3).", "laravel/tinker": "Required to use the tinker console command (^2.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", - "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", - "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", - "league/flysystem-read-only": "Required to use read-only disks (^3.3)", - "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.25.1).", + "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.25.1).", + "league/flysystem-read-only": "Required to use read-only disks (^3.25.1)", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.25.1).", "mockery/mockery": "Required to use mocking (^1.6).", "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", "phpunit/phpunit": "Required to use assertions and run tests (^10.5|^11.0).", - "predis/predis": "Required to use the predis connector (^2.0.2).", + "predis/predis": "Required to use the predis connector (^2.3).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).", @@ -2232,7 +2299,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-11-15T17:04:33+00:00" + "time": "2024-11-27T15:43:57+00:00" }, { "name": "laravel/prompts", @@ -2295,32 +2362,32 @@ }, { "name": "laravel/serializable-closure", - "version": "v1.3.6", + "version": "v2.0.0", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "f865a58ea3a0107c336b7045104c75243fa59d96" + "reference": "0d8d3d8086984996df86596a86dea60398093a81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/f865a58ea3a0107c336b7045104c75243fa59d96", - "reference": "f865a58ea3a0107c336b7045104c75243fa59d96", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/0d8d3d8086984996df86596a86dea60398093a81", + "reference": "0d8d3d8086984996df86596a86dea60398093a81", "shasum": "" }, "require": { - "php": "^7.3|^8.0" + "php": "^8.1" }, "require-dev": { - "illuminate/support": "^8.0|^9.0|^10.0|^11.0", - "nesbot/carbon": "^2.61|^3.0", - "pestphp/pest": "^1.21.3", - "phpstan/phpstan": "^1.8.2", - "symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0" + "illuminate/support": "^10.0|^11.0", + "nesbot/carbon": "^2.67|^3.0", + "pestphp/pest": "^2.36", + "phpstan/phpstan": "^2.0", + "symfony/var-dumper": "^6.2.0|^7.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -2352,7 +2419,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2024-11-11T17:06:04+00:00" + "time": "2024-11-19T01:38:44+00:00" }, { "name": "laravel/tinker", @@ -3094,12 +3161,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Livewire\\LivewireServiceProvider" - ], "aliases": { "Livewire": "Livewire\\Livewire" - } + }, + "providers": [ + "Livewire\\LivewireServiceProvider" + ] } }, "autoload": { @@ -3617,31 +3684,31 @@ }, { "name": "nunomaduro/termwind", - "version": "v2.2.0", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "42c84e4e8090766bbd6445d06cd6e57650626ea3" + "reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/42c84e4e8090766bbd6445d06cd6e57650626ea3", - "reference": "42c84e4e8090766bbd6445d06cd6e57650626ea3", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/52915afe6a1044e8b9cee1bcff836fb63acf9cda", + "reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda", "shasum": "" }, "require": { "ext-mbstring": "*", "php": "^8.2", - "symfony/console": "^7.1.5" + "symfony/console": "^7.1.8" }, "require-dev": { - "illuminate/console": "^11.28.0", - "laravel/pint": "^1.18.1", + "illuminate/console": "^11.33.2", + "laravel/pint": "^1.18.2", "mockery/mockery": "^1.6.12", "pestphp/pest": "^2.36.0", - "phpstan/phpstan": "^1.12.6", + "phpstan/phpstan": "^1.12.11", "phpstan/phpstan-strict-rules": "^1.6.1", - "symfony/var-dumper": "^7.1.5", + "symfony/var-dumper": "^7.1.8", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -3684,7 +3751,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v2.2.0" + "source": "https://github.com/nunomaduro/termwind/tree/v2.3.0" }, "funding": [ { @@ -3700,20 +3767,111 @@ "type": "github" } ], - "time": "2024-10-15T16:15:16+00:00" + "time": "2024-11-21T10:39:51+00:00" + }, + { + "name": "openai-php/client", + "version": "v0.10.3", + "source": { + "type": "git", + "url": "https://github.com/openai-php/client.git", + "reference": "4a565d145e0fb3ea1baba8fffe39d86c56b6dc2c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/openai-php/client/zipball/4a565d145e0fb3ea1baba8fffe39d86c56b6dc2c", + "reference": "4a565d145e0fb3ea1baba8fffe39d86c56b6dc2c", + "shasum": "" + }, + "require": { + "php": "^8.1.0", + "php-http/discovery": "^1.20.0", + "php-http/multipart-stream-builder": "^1.4.2", + "psr/http-client": "^1.0.3", + "psr/http-client-implementation": "^1.0.1", + "psr/http-factory-implementation": "*", + "psr/http-message": "^1.1.0|^2.0.0" + }, + "require-dev": { + "guzzlehttp/guzzle": "^7.9.2", + "guzzlehttp/psr7": "^2.7.0", + "laravel/pint": "^1.18.1", + "mockery/mockery": "^1.6.12", + "nunomaduro/collision": "^7.11.0|^8.5.0", + "pestphp/pest": "^2.36.0|^3.5.0", + "pestphp/pest-plugin-arch": "^2.7|^3.0", + "pestphp/pest-plugin-type-coverage": "^2.8.7|^3.1.0", + "phpstan/phpstan": "^1.12.7", + "symfony/var-dumper": "^6.4.11|^7.1.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/OpenAI.php" + ], + "psr-4": { + "OpenAI\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + }, + { + "name": "Sandro Gehri" + } + ], + "description": "OpenAI PHP is a supercharged PHP API client that allows you to interact with the Open AI API", + "keywords": [ + "GPT-3", + "api", + "client", + "codex", + "dall-e", + "language", + "natural", + "openai", + "php", + "processing", + "sdk" + ], + "support": { + "issues": "https://github.com/openai-php/client/issues", + "source": "https://github.com/openai-php/client/tree/v0.10.3" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/gehrisandro", + "type": "github" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + } + ], + "time": "2024-11-12T20:51:16+00:00" }, { "name": "openspout/openspout", - "version": "v4.26.0", + "version": "v4.28.0", "source": { "type": "git", "url": "https://github.com/openspout/openspout.git", - "reference": "a49b947c0c109f4fd112f9b5c6d6cb3e6baf8b50" + "reference": "3e9ef74f13ba5e887e4afc7a4e0110e63559e902" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/openspout/openspout/zipball/a49b947c0c109f4fd112f9b5c6d6cb3e6baf8b50", - "reference": "a49b947c0c109f4fd112f9b5c6d6cb3e6baf8b50", + "url": "https://api.github.com/repos/openspout/openspout/zipball/3e9ef74f13ba5e887e4afc7a4e0110e63559e902", + "reference": "3e9ef74f13ba5e887e4afc7a4e0110e63559e902", "shasum": "" }, "require": { @@ -3727,13 +3885,13 @@ }, "require-dev": { "ext-zlib": "*", - "friendsofphp/php-cs-fixer": "^3.64.0", - "infection/infection": "^0.29.6", + "friendsofphp/php-cs-fixer": "^3.65.0", + "infection/infection": "^0.29.8", "phpbench/phpbench": "^1.3.1", - "phpstan/phpstan": "^1.12.4", - "phpstan/phpstan-phpunit": "^1.4.0", - "phpstan/phpstan-strict-rules": "^1.6.1", - "phpunit/phpunit": "^11.3.6" + "phpstan/phpstan": "^2.0.3", + "phpstan/phpstan-phpunit": "^2.0.1", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "^11.4.4" }, "suggest": { "ext-iconv": "To handle non UTF-8 CSV files (if \"php-mbstring\" is not already installed or is too limited)", @@ -3781,7 +3939,7 @@ ], "support": { "issues": "https://github.com/openspout/openspout/issues", - "source": "https://github.com/openspout/openspout/tree/v4.26.0" + "source": "https://github.com/openspout/openspout/tree/v4.28.0" }, "funding": [ { @@ -3793,7 +3951,142 @@ "type": "github" } ], - "time": "2024-09-24T14:04:43+00:00" + "time": "2024-11-29T09:45:53+00:00" + }, + { + "name": "php-http/discovery", + "version": "1.20.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/discovery.git", + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d", + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0|^2.0", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "nyholm/psr7": "<1.0", + "zendframework/zend-diactoros": "*" + }, + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "*", + "psr/http-factory-implementation": "*", + "psr/http-message-implementation": "*" + }, + "require-dev": { + "composer/composer": "^1.0.2|^2.0", + "graham-campbell/phpspec-skip-example-extension": "^5.0", + "php-http/httplug": "^1.0 || ^2.0", + "php-http/message-factory": "^1.0", + "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", + "sebastian/comparator": "^3.0.5 || ^4.0.8", + "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" + }, + "type": "composer-plugin", + "extra": { + "class": "Http\\Discovery\\Composer\\Plugin", + "plugin-optional": true + }, + "autoload": { + "psr-4": { + "Http\\Discovery\\": "src/" + }, + "exclude-from-classmap": [ + "src/Composer/Plugin.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations", + "homepage": "http://php-http.org", + "keywords": [ + "adapter", + "client", + "discovery", + "factory", + "http", + "message", + "psr17", + "psr7" + ], + "support": { + "issues": "https://github.com/php-http/discovery/issues", + "source": "https://github.com/php-http/discovery/tree/1.20.0" + }, + "time": "2024-10-02T11:20:13+00:00" + }, + { + "name": "php-http/multipart-stream-builder", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/php-http/multipart-stream-builder.git", + "reference": "10086e6de6f53489cca5ecc45b6f468604d3460e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/multipart-stream-builder/zipball/10086e6de6f53489cca5ecc45b6f468604d3460e", + "reference": "10086e6de6f53489cca5ecc45b6f468604d3460e", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "php-http/discovery": "^1.15", + "psr/http-factory-implementation": "^1.0" + }, + "require-dev": { + "nyholm/psr7": "^1.0", + "php-http/message": "^1.5", + "php-http/message-factory": "^1.0.2", + "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Http\\Message\\MultipartStream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com" + } + ], + "description": "A builder class that help you create a multipart stream", + "homepage": "http://php-http.org", + "keywords": [ + "factory", + "http", + "message", + "multipart stream", + "stream" + ], + "support": { + "issues": "https://github.com/php-http/multipart-stream-builder/issues", + "source": "https://github.com/php-http/multipart-stream-builder/tree/1.4.2" + }, + "time": "2024-09-04T13:22:54+00:00" }, { "name": "phpoption/phpoption", @@ -4333,16 +4626,16 @@ }, { "name": "psy/psysh", - "version": "v0.12.4", + "version": "v0.12.5", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "2fd717afa05341b4f8152547f142cd2f130f6818" + "reference": "36a03ff27986682c22985e56aabaf840dd173cb5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/2fd717afa05341b4f8152547f142cd2f130f6818", - "reference": "2fd717afa05341b4f8152547f142cd2f130f6818", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/36a03ff27986682c22985e56aabaf840dd173cb5", + "reference": "36a03ff27986682c22985e56aabaf840dd173cb5", "shasum": "" }, "require": { @@ -4369,12 +4662,12 @@ ], "type": "library", "extra": { - "branch-alias": { - "dev-main": "0.12.x-dev" - }, "bamarni-bin": { "bin-links": false, "forward-command": false + }, + "branch-alias": { + "dev-main": "0.12.x-dev" } }, "autoload": { @@ -4406,9 +4699,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.4" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.5" }, - "time": "2024-06-10T01:18:23+00:00" + "time": "2024-11-29T06:14:30+00:00" }, { "name": "ralouphie/getallheaders", @@ -4669,12 +4962,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "RyanChandler\\BladeCaptureDirective\\BladeCaptureDirectiveServiceProvider" - ], "aliases": { "BladeCaptureDirective": "RyanChandler\\BladeCaptureDirective\\Facades\\BladeCaptureDirective" - } + }, + "providers": [ + "RyanChandler\\BladeCaptureDirective\\BladeCaptureDirectiveServiceProvider" + ] } }, "autoload": { @@ -4715,16 +5008,16 @@ }, { "name": "spatie/color", - "version": "1.6.0", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/spatie/color.git", - "reference": "02ce48c480f86d65702188f738f4e8ccad1b999a" + "reference": "4c540ffbef68a3df3d209718ae06deaab081e708" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/color/zipball/02ce48c480f86d65702188f738f4e8ccad1b999a", - "reference": "02ce48c480f86d65702188f738f4e8ccad1b999a", + "url": "https://api.github.com/repos/spatie/color/zipball/4c540ffbef68a3df3d209718ae06deaab081e708", + "reference": "4c540ffbef68a3df3d209718ae06deaab081e708", "shasum": "" }, "require": { @@ -4762,7 +5055,7 @@ ], "support": { "issues": "https://github.com/spatie/color/issues", - "source": "https://github.com/spatie/color/tree/1.6.0" + "source": "https://github.com/spatie/color/tree/1.6.1" }, "funding": [ { @@ -4770,7 +5063,7 @@ "type": "github" } ], - "time": "2024-09-20T14:00:15+00:00" + "time": "2024-11-18T15:00:47+00:00" }, { "name": "spatie/invade", @@ -4833,16 +5126,16 @@ }, { "name": "spatie/laravel-package-tools", - "version": "1.16.5", + "version": "1.16.6", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2" + "reference": "1f26942dc1e5c49eacfced34fdbc29ed234bd7b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/c7413972cf22ffdff97b68499c22baa04eddb6a2", - "reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/1f26942dc1e5c49eacfced34fdbc29ed234bd7b3", + "reference": "1f26942dc1e5c49eacfced34fdbc29ed234bd7b3", "shasum": "" }, "require": { @@ -4881,7 +5174,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.5" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.6" }, "funding": [ { @@ -4889,20 +5182,20 @@ "type": "github" } ], - "time": "2024-08-27T18:56:10+00:00" + "time": "2024-11-18T15:02:02+00:00" }, { "name": "symfony/clock", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/clock.git", - "reference": "97bebc53548684c17ed696bc8af016880f0f098d" + "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/clock/zipball/97bebc53548684c17ed696bc8af016880f0f098d", - "reference": "97bebc53548684c17ed696bc8af016880f0f098d", + "url": "https://api.github.com/repos/symfony/clock/zipball/b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", + "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", "shasum": "" }, "require": { @@ -4947,7 +5240,7 @@ "time" ], "support": { - "source": "https://github.com/symfony/clock/tree/v7.1.6" + "source": "https://github.com/symfony/clock/tree/v7.2.0" }, "funding": [ { @@ -4963,20 +5256,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/console", - "version": "v7.1.8", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "ff04e5b5ba043d2badfb308197b9e6b42883fcd5" + "reference": "23c8aae6d764e2bae02d2a99f7532a7f6ed619cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/ff04e5b5ba043d2badfb308197b9e6b42883fcd5", - "reference": "ff04e5b5ba043d2badfb308197b9e6b42883fcd5", + "url": "https://api.github.com/repos/symfony/console/zipball/23c8aae6d764e2bae02d2a99f7532a7f6ed619cf", + "reference": "23c8aae6d764e2bae02d2a99f7532a7f6ed619cf", "shasum": "" }, "require": { @@ -5040,7 +5333,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.1.8" + "source": "https://github.com/symfony/console/tree/v7.2.0" }, "funding": [ { @@ -5056,20 +5349,20 @@ "type": "tidelift" } ], - "time": "2024-11-06T14:23:19+00:00" + "time": "2024-11-06T14:24:19+00:00" }, { "name": "symfony/css-selector", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "4aa4f6b3d6749c14d3aa815eef8226632e7bbc66" + "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/4aa4f6b3d6749c14d3aa815eef8226632e7bbc66", - "reference": "4aa4f6b3d6749c14d3aa815eef8226632e7bbc66", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/601a5ce9aaad7bf10797e3663faefce9e26c24e2", + "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2", "shasum": "" }, "require": { @@ -5105,7 +5398,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.1.6" + "source": "https://github.com/symfony/css-selector/tree/v7.2.0" }, "funding": [ { @@ -5121,20 +5414,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", "shasum": "" }, "require": { @@ -5172,7 +5465,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1" }, "funding": [ { @@ -5188,20 +5481,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/error-handler", - "version": "v7.1.7", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "010e44661f4c6babaf8c4862fe68c24a53903342" + "reference": "672b3dd1ef8b87119b446d67c58c106c43f965fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/010e44661f4c6babaf8c4862fe68c24a53903342", - "reference": "010e44661f4c6babaf8c4862fe68c24a53903342", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/672b3dd1ef8b87119b446d67c58c106c43f965fe", + "reference": "672b3dd1ef8b87119b446d67c58c106c43f965fe", "shasum": "" }, "require": { @@ -5247,7 +5540,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.1.7" + "source": "https://github.com/symfony/error-handler/tree/v7.2.0" }, "funding": [ { @@ -5263,20 +5556,20 @@ "type": "tidelift" } ], - "time": "2024-11-05T15:34:55+00:00" + "time": "2024-11-05T15:35:02+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "87254c78dd50721cfd015b62277a8281c5589702" + "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/87254c78dd50721cfd015b62277a8281c5589702", - "reference": "87254c78dd50721cfd015b62277a8281c5589702", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/910c5db85a5356d0fea57680defec4e99eb9c8c1", + "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1", "shasum": "" }, "require": { @@ -5327,7 +5620,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.6" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.2.0" }, "funding": [ { @@ -5343,20 +5636,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f", + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f", "shasum": "" }, "require": { @@ -5403,7 +5696,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1" }, "funding": [ { @@ -5419,20 +5712,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/finder", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "2cb89664897be33f78c65d3d2845954c8d7a43b8" + "reference": "6de263e5868b9a137602dd1e33e4d48bfae99c49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/2cb89664897be33f78c65d3d2845954c8d7a43b8", - "reference": "2cb89664897be33f78c65d3d2845954c8d7a43b8", + "url": "https://api.github.com/repos/symfony/finder/zipball/6de263e5868b9a137602dd1e33e4d48bfae99c49", + "reference": "6de263e5868b9a137602dd1e33e4d48bfae99c49", "shasum": "" }, "require": { @@ -5467,7 +5760,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.1.6" + "source": "https://github.com/symfony/finder/tree/v7.2.0" }, "funding": [ { @@ -5483,20 +5776,20 @@ "type": "tidelift" } ], - "time": "2024-10-01T08:31:23+00:00" + "time": "2024-10-23T06:56:12+00:00" }, { "name": "symfony/html-sanitizer", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/html-sanitizer.git", - "reference": "a25620fc6407e14331f3c0c5668eb4f35c392d4a" + "reference": "1d23de45af5e8508441ff5f82bb493e83cdcbba4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/a25620fc6407e14331f3c0c5668eb4f35c392d4a", - "reference": "a25620fc6407e14331f3c0c5668eb4f35c392d4a", + "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/1d23de45af5e8508441ff5f82bb493e83cdcbba4", + "reference": "1d23de45af5e8508441ff5f82bb493e83cdcbba4", "shasum": "" }, "require": { @@ -5536,7 +5829,7 @@ "sanitizer" ], "support": { - "source": "https://github.com/symfony/html-sanitizer/tree/v7.1.6" + "source": "https://github.com/symfony/html-sanitizer/tree/v7.2.0" }, "funding": [ { @@ -5552,24 +5845,25 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/http-foundation", - "version": "v7.1.8", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "f4419ec69ccfc3f725a4de7c20e4e57626d10112" + "reference": "e88a66c3997859532bc2ddd6dd8f35aba2711744" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f4419ec69ccfc3f725a4de7c20e4e57626d10112", - "reference": "f4419ec69ccfc3f725a4de7c20e4e57626d10112", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e88a66c3997859532bc2ddd6dd8f35aba2711744", + "reference": "e88a66c3997859532bc2ddd6dd8f35aba2711744", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/polyfill-mbstring": "~1.1", "symfony/polyfill-php83": "^1.27" }, @@ -5613,7 +5907,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.1.8" + "source": "https://github.com/symfony/http-foundation/tree/v7.2.0" }, "funding": [ { @@ -5629,20 +5923,20 @@ "type": "tidelift" } ], - "time": "2024-11-09T09:16:45+00:00" + "time": "2024-11-13T18:58:46+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.1.8", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "33fef24e3dc79d6d30bf4936531f2f4bd2ca189e" + "reference": "6b4722a25e0aed1ccb4914b9bcbd493cc4676b4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/33fef24e3dc79d6d30bf4936531f2f4bd2ca189e", - "reference": "33fef24e3dc79d6d30bf4936531f2f4bd2ca189e", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/6b4722a25e0aed1ccb4914b9bcbd493cc4676b4d", + "reference": "6b4722a25e0aed1ccb4914b9bcbd493cc4676b4d", "shasum": "" }, "require": { @@ -5671,7 +5965,7 @@ "symfony/twig-bridge": "<6.4", "symfony/validator": "<6.4", "symfony/var-dumper": "<6.4", - "twig/twig": "<3.0.4" + "twig/twig": "<3.12" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" @@ -5699,7 +5993,7 @@ "symfony/validator": "^6.4|^7.0", "symfony/var-dumper": "^6.4|^7.0", "symfony/var-exporter": "^6.4|^7.0", - "twig/twig": "^3.0.4" + "twig/twig": "^3.12" }, "type": "library", "autoload": { @@ -5727,7 +6021,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.1.8" + "source": "https://github.com/symfony/http-kernel/tree/v7.2.0" }, "funding": [ { @@ -5743,20 +6037,20 @@ "type": "tidelift" } ], - "time": "2024-11-13T14:25:32+00:00" + "time": "2024-11-29T08:42:40+00:00" }, { "name": "symfony/mailer", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "69c9948451fb3a6a4d47dc8261d1794734e76cdd" + "reference": "e4d358702fb66e4c8a2af08e90e7271a62de39cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/69c9948451fb3a6a4d47dc8261d1794734e76cdd", - "reference": "69c9948451fb3a6a4d47dc8261d1794734e76cdd", + "url": "https://api.github.com/repos/symfony/mailer/zipball/e4d358702fb66e4c8a2af08e90e7271a62de39cc", + "reference": "e4d358702fb66e4c8a2af08e90e7271a62de39cc", "shasum": "" }, "require": { @@ -5765,7 +6059,7 @@ "psr/event-dispatcher": "^1", "psr/log": "^1|^2|^3", "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/mime": "^6.4|^7.0", + "symfony/mime": "^7.2", "symfony/service-contracts": "^2.5|^3" }, "conflict": { @@ -5807,7 +6101,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.1.6" + "source": "https://github.com/symfony/mailer/tree/v7.2.0" }, "funding": [ { @@ -5823,20 +6117,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-11-25T15:21:05+00:00" }, { "name": "symfony/mime", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "caa1e521edb2650b8470918dfe51708c237f0598" + "reference": "cc84a4b81f62158c3846ac7ff10f696aae2b524d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/caa1e521edb2650b8470918dfe51708c237f0598", - "reference": "caa1e521edb2650b8470918dfe51708c237f0598", + "url": "https://api.github.com/repos/symfony/mime/zipball/cc84a4b81f62158c3846ac7ff10f696aae2b524d", + "reference": "cc84a4b81f62158c3846ac7ff10f696aae2b524d", "shasum": "" }, "require": { @@ -5891,7 +6185,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.1.6" + "source": "https://github.com/symfony/mime/tree/v7.2.0" }, "funding": [ { @@ -5907,7 +6201,7 @@ "type": "tidelift" } ], - "time": "2024-10-25T15:11:02+00:00" + "time": "2024-11-23T09:19:39+00:00" }, { "name": "symfony/polyfill-ctype", @@ -6547,16 +6841,16 @@ }, { "name": "symfony/process", - "version": "v7.1.8", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "42783370fda6e538771f7c7a36e9fa2ee3a84892" + "reference": "d34b22ba9390ec19d2dd966c40aa9e8462f27a7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/42783370fda6e538771f7c7a36e9fa2ee3a84892", - "reference": "42783370fda6e538771f7c7a36e9fa2ee3a84892", + "url": "https://api.github.com/repos/symfony/process/zipball/d34b22ba9390ec19d2dd966c40aa9e8462f27a7e", + "reference": "d34b22ba9390ec19d2dd966c40aa9e8462f27a7e", "shasum": "" }, "require": { @@ -6588,7 +6882,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.1.8" + "source": "https://github.com/symfony/process/tree/v7.2.0" }, "funding": [ { @@ -6604,20 +6898,20 @@ "type": "tidelift" } ], - "time": "2024-11-06T14:23:19+00:00" + "time": "2024-11-06T14:24:19+00:00" }, { "name": "symfony/routing", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "66a2c469f6c22d08603235c46a20007c0701ea0a" + "reference": "e10a2450fa957af6c448b9b93c9010a4e4c0725e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/66a2c469f6c22d08603235c46a20007c0701ea0a", - "reference": "66a2c469f6c22d08603235c46a20007c0701ea0a", + "url": "https://api.github.com/repos/symfony/routing/zipball/e10a2450fa957af6c448b9b93c9010a4e4c0725e", + "reference": "e10a2450fa957af6c448b9b93c9010a4e4c0725e", "shasum": "" }, "require": { @@ -6669,7 +6963,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.1.6" + "source": "https://github.com/symfony/routing/tree/v7.2.0" }, "funding": [ { @@ -6685,20 +6979,20 @@ "type": "tidelift" } ], - "time": "2024-10-01T08:31:23+00:00" + "time": "2024-11-25T11:08:51+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0", + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0", "shasum": "" }, "require": { @@ -6752,7 +7046,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.1" }, "funding": [ { @@ -6768,20 +7062,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/string", - "version": "v7.1.8", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "591ebd41565f356fcd8b090fe64dbb5878f50281" + "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/591ebd41565f356fcd8b090fe64dbb5878f50281", - "reference": "591ebd41565f356fcd8b090fe64dbb5878f50281", + "url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82", + "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82", "shasum": "" }, "require": { @@ -6839,7 +7133,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.1.8" + "source": "https://github.com/symfony/string/tree/v7.2.0" }, "funding": [ { @@ -6855,24 +7149,25 @@ "type": "tidelift" } ], - "time": "2024-11-13T13:31:21+00:00" + "time": "2024-11-13T13:31:26+00:00" }, { "name": "symfony/translation", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "b9f72ab14efdb6b772f85041fa12f820dee8d55f" + "reference": "dc89e16b44048ceecc879054e5b7f38326ab6cc5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/b9f72ab14efdb6b772f85041fa12f820dee8d55f", - "reference": "b9f72ab14efdb6b772f85041fa12f820dee8d55f", + "url": "https://api.github.com/repos/symfony/translation/zipball/dc89e16b44048ceecc879054e5b7f38326ab6cc5", + "reference": "dc89e16b44048ceecc879054e5b7f38326ab6cc5", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/translation-contracts": "^2.5|^3.0" }, @@ -6933,7 +7228,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.1.6" + "source": "https://github.com/symfony/translation/tree/v7.2.0" }, "funding": [ { @@ -6949,20 +7244,20 @@ "type": "tidelift" } ], - "time": "2024-09-28T12:35:13+00:00" + "time": "2024-11-12T20:47:56+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" + "reference": "4667ff3bd513750603a09c8dedbea942487fb07c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/4667ff3bd513750603a09c8dedbea942487fb07c", + "reference": "4667ff3bd513750603a09c8dedbea942487fb07c", "shasum": "" }, "require": { @@ -7011,7 +7306,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.5.1" }, "funding": [ { @@ -7027,20 +7322,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/uid", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "65befb3bb2d503bbffbd08c815aa38b472999917" + "reference": "2d294d0c48df244c71c105a169d0190bfb080426" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/65befb3bb2d503bbffbd08c815aa38b472999917", - "reference": "65befb3bb2d503bbffbd08c815aa38b472999917", + "url": "https://api.github.com/repos/symfony/uid/zipball/2d294d0c48df244c71c105a169d0190bfb080426", + "reference": "2d294d0c48df244c71c105a169d0190bfb080426", "shasum": "" }, "require": { @@ -7085,7 +7380,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v7.1.6" + "source": "https://github.com/symfony/uid/tree/v7.2.0" }, "funding": [ { @@ -7101,20 +7396,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.1.8", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8" + "reference": "c6a22929407dec8765d6e2b6ff85b800b245879c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8", - "reference": "7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c6a22929407dec8765d6e2b6ff85b800b245879c", + "reference": "c6a22929407dec8765d6e2b6ff85b800b245879c", "shasum": "" }, "require": { @@ -7130,7 +7425,7 @@ "symfony/http-kernel": "^6.4|^7.0", "symfony/process": "^6.4|^7.0", "symfony/uid": "^6.4|^7.0", - "twig/twig": "^3.0.4" + "twig/twig": "^3.12" }, "bin": [ "Resources/bin/var-dump-server" @@ -7168,7 +7463,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.1.8" + "source": "https://github.com/symfony/var-dumper/tree/v7.2.0" }, "funding": [ { @@ -7184,7 +7479,7 @@ "type": "tidelift" } ], - "time": "2024-11-08T15:46:42+00:00" + "time": "2024-11-08T15:48:14+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -7325,16 +7620,16 @@ }, { "name": "voku/portable-ascii", - "version": "2.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "b56450eed252f6801410d810c8e1727224ae0743" + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", - "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", "shasum": "" }, "require": { @@ -7359,7 +7654,7 @@ "authors": [ { "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" + "homepage": "https://www.moelleken.org/" } ], "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", @@ -7371,7 +7666,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + "source": "https://github.com/voku/portable-ascii/tree/2.0.3" }, "funding": [ { @@ -7395,7 +7690,7 @@ "type": "tidelift" } ], - "time": "2022-03-08T17:03:00+00:00" + "time": "2024-11-21T01:49:47+00:00" }, { "name": "webmozart/assert", @@ -7550,69 +7845,6 @@ ], "time": "2024-10-15T12:38:31+00:00" }, - { - "name": "fakerphp/faker", - "version": "v1.24.0", - "source": { - "type": "git", - "url": "https://github.com/FakerPHP/Faker.git", - "reference": "a136842a532bac9ecd8a1c723852b09915d7db50" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/a136842a532bac9ecd8a1c723852b09915d7db50", - "reference": "a136842a532bac9ecd8a1c723852b09915d7db50", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0", - "psr/container": "^1.0 || ^2.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" - }, - "conflict": { - "fzaninotto/faker": "*" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "doctrine/persistence": "^1.3 || ^2.0", - "ext-intl": "*", - "phpunit/phpunit": "^9.5.26", - "symfony/phpunit-bridge": "^5.4.16" - }, - "suggest": { - "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", - "ext-curl": "Required by Faker\\Provider\\Image to download images.", - "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", - "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", - "ext-mbstring": "Required for multibyte Unicode string functionality." - }, - "type": "library", - "autoload": { - "psr-4": { - "Faker\\": "src/Faker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "François Zaninotto" - } - ], - "description": "Faker is a PHP library that generates fake data for you.", - "keywords": [ - "data", - "faker", - "fixtures" - ], - "support": { - "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.24.0" - }, - "time": "2024-11-07T15:11:20+00:00" - }, { "name": "fidry/cpu-core-counter", "version": "1.2.0", @@ -7798,28 +8030,28 @@ }, { "name": "jean85/pretty-package-versions", - "version": "2.0.6", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/Jean85/pretty-package-versions.git", - "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4" + "reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/f9fdd29ad8e6d024f52678b570e5593759b550b4", - "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4", + "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/3c4e5f62ba8d7de1734312e4fff32f67a8daaf10", + "reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10", "shasum": "" }, "require": { - "composer-runtime-api": "^2.0.0", - "php": "^7.1|^8.0" + "composer-runtime-api": "^2.1.0", + "php": "^7.4|^8.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.2", "jean85/composer-provided-replaced-stub-package": "^1.0", "phpstan/phpstan": "^1.4", - "phpunit/phpunit": "^7.5|^8.5|^9.4", - "vimeo/psalm": "^4.3" + "phpunit/phpunit": "^7.5|^8.5|^9.6", + "vimeo/psalm": "^4.3 || ^5.0" }, "type": "library", "extra": { @@ -7851,9 +8083,9 @@ ], "support": { "issues": "https://github.com/Jean85/pretty-package-versions/issues", - "source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.6" + "source": "https://github.com/Jean85/pretty-package-versions/tree/2.1.0" }, - "time": "2024-03-08T09:58:59+00:00" + "time": "2024-11-18T16:19:46+00:00" }, { "name": "laravel-shift/blueprint", @@ -8035,16 +8267,16 @@ }, { "name": "laravel/pint", - "version": "v1.18.1", + "version": "v1.18.3", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "35c00c05ec43e6b46d295efc0f4386ceb30d50d9" + "reference": "cef51821608239040ab841ad6e1c6ae502ae3026" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/35c00c05ec43e6b46d295efc0f4386ceb30d50d9", - "reference": "35c00c05ec43e6b46d295efc0f4386ceb30d50d9", + "url": "https://api.github.com/repos/laravel/pint/zipball/cef51821608239040ab841ad6e1c6ae502ae3026", + "reference": "cef51821608239040ab841ad6e1c6ae502ae3026", "shasum": "" }, "require": { @@ -8055,13 +8287,13 @@ "php": "^8.1.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.64.0", - "illuminate/view": "^10.48.20", - "larastan/larastan": "^2.9.8", + "friendsofphp/php-cs-fixer": "^3.65.0", + "illuminate/view": "^10.48.24", + "larastan/larastan": "^2.9.11", "laravel-zero/framework": "^10.4.0", "mockery/mockery": "^1.6.12", - "nunomaduro/termwind": "^1.15.1", - "pestphp/pest": "^2.35.1" + "nunomaduro/termwind": "^1.17.0", + "pestphp/pest": "^2.36.0" }, "bin": [ "builds/pint" @@ -8097,20 +8329,20 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2024-09-24T17:22:50+00:00" + "time": "2024-11-26T15:34:00+00:00" }, { "name": "laravel/sail", - "version": "v1.38.0", + "version": "v1.39.1", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "d17abae06661dd6c46d13627b1683a2924259145" + "reference": "1a3c7291bc88de983b66688919a4d298d68ddec7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/d17abae06661dd6c46d13627b1683a2924259145", - "reference": "d17abae06661dd6c46d13627b1683a2924259145", + "url": "https://api.github.com/repos/laravel/sail/zipball/1a3c7291bc88de983b66688919a4d298d68ddec7", + "reference": "1a3c7291bc88de983b66688919a4d298d68ddec7", "shasum": "" }, "require": { @@ -8160,7 +8392,7 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2024-11-11T20:16:51+00:00" + "time": "2024-11-27T15:42:28+00:00" }, { "name": "mockery/mockery", @@ -8402,40 +8634,181 @@ ], "time": "2024-10-15T16:06:32+00:00" }, + { + "name": "opcodesio/log-viewer", + "version": "v3.12.0", + "source": { + "type": "git", + "url": "https://github.com/opcodesio/log-viewer.git", + "reference": "e9e4c41084be78a07e69924e71f943f366fe31d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/opcodesio/log-viewer/zipball/e9e4c41084be78a07e69924e71f943f366fe31d9", + "reference": "e9e4c41084be78a07e69924e71f943f366fe31d9", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^8.0|^9.0|^10.0|^11.0", + "opcodesio/mail-parser": "^0.1.6", + "php": "^8.0" + }, + "conflict": { + "arcanedev/log-viewer": "^8.0" + }, + "require-dev": { + "guzzlehttp/guzzle": "^7.2", + "itsgoingd/clockwork": "^5.1", + "laravel/pint": "^1.0", + "nunomaduro/collision": "^7.0|^8.0", + "orchestra/testbench": "^7.6|^8.0|^9.0", + "pestphp/pest": "^2.0", + "pestphp/pest-plugin-laravel": "^2.0", + "spatie/test-time": "^1.3" + }, + "suggest": { + "guzzlehttp/guzzle": "Required for multi-host support. ^7.2" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Opcodes\\LogViewer\\LogViewerServiceProvider" + ], + "aliases": { + "LogViewer": "Opcodes\\LogViewer\\Facades\\LogViewer" + } + } + }, + "autoload": { + "psr-4": { + "Opcodes\\LogViewer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Arunas Skirius", + "email": "arukomp@gmail.com", + "role": "Developer" + } + ], + "description": "Fast and easy-to-use log viewer for your Laravel application", + "homepage": "https://github.com/opcodesio/log-viewer", + "keywords": [ + "arukompas", + "better-log-viewer", + "laravel", + "log viewer", + "logs", + "opcodesio" + ], + "support": { + "issues": "https://github.com/opcodesio/log-viewer/issues", + "source": "https://github.com/opcodesio/log-viewer/tree/v3.12.0" + }, + "funding": [ + { + "url": "https://www.buymeacoffee.com/arunas", + "type": "custom" + }, + { + "url": "https://github.com/arukompas", + "type": "github" + } + ], + "time": "2024-11-11T11:17:46+00:00" + }, + { + "name": "opcodesio/mail-parser", + "version": "v0.1.6", + "source": { + "type": "git", + "url": "https://github.com/opcodesio/mail-parser.git", + "reference": "639ef31cbd146a63416283e75afce152e13233ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/opcodesio/mail-parser/zipball/639ef31cbd146a63416283e75afce152e13233ea", + "reference": "639ef31cbd146a63416283e75afce152e13233ea", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "pestphp/pest": "^2.16", + "symfony/var-dumper": "^6.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Opcodes\\MailParser\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Arunas Skirius", + "email": "arukomp@gmail.com", + "role": "Developer" + } + ], + "description": "Parse emails without the mailparse extension", + "keywords": [ + "arukompas", + "email", + "email parser", + "mail", + "opcodesio", + "php" + ], + "support": { + "issues": "https://github.com/opcodesio/mail-parser/issues", + "source": "https://github.com/opcodesio/mail-parser/tree/v0.1.6" + }, + "time": "2023-11-19T08:47:43+00:00" + }, { "name": "pestphp/pest", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/pestphp/pest.git", - "reference": "179d46ce97d52bcb3f791449ae94025c3f32e3e3" + "reference": "918a8fc16996849937e281482bd34f236881ce96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest/zipball/179d46ce97d52bcb3f791449ae94025c3f32e3e3", - "reference": "179d46ce97d52bcb3f791449ae94025c3f32e3e3", + "url": "https://api.github.com/repos/pestphp/pest/zipball/918a8fc16996849937e281482bd34f236881ce96", + "reference": "918a8fc16996849937e281482bd34f236881ce96", "shasum": "" }, "require": { "brianium/paratest": "^7.6.0", "nunomaduro/collision": "^8.5.0", - "nunomaduro/termwind": "^2.2.0", + "nunomaduro/termwind": "^2.3.0", "pestphp/pest-plugin": "^3.0.0", "pestphp/pest-plugin-arch": "^3.0.0", "pestphp/pest-plugin-mutate": "^3.0.5", "php": "^8.2.0", - "phpunit/phpunit": "^11.4.3" + "phpunit/phpunit": "^11.4.4" }, "conflict": { "filp/whoops": "<2.16.0", - "phpunit/phpunit": ">11.4.3", + "phpunit/phpunit": ">11.4.4", "sebastian/exporter": "<6.0.0", "webmozart/assert": "<1.11.0" }, "require-dev": { "pestphp/pest-dev-tools": "^3.3.0", - "pestphp/pest-plugin-type-coverage": "^3.1.0", - "symfony/process": "^7.1.6" + "pestphp/pest-plugin-type-coverage": "^3.2.0", + "symfony/process": "^7.1.8" }, "bin": [ "bin/pest" @@ -8500,7 +8873,7 @@ ], "support": { "issues": "https://github.com/pestphp/pest/issues", - "source": "https://github.com/pestphp/pest/tree/v3.5.1" + "source": "https://github.com/pestphp/pest/tree/v3.6.0" }, "funding": [ { @@ -8512,7 +8885,7 @@ "type": "github" } ], - "time": "2024-10-31T16:12:45+00:00" + "time": "2024-12-01T22:46:00+00:00" }, { "name": "pestphp/pest-plugin", @@ -9465,16 +9838,16 @@ }, { "name": "phpunit/phpunit", - "version": "11.4.3", + "version": "11.4.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "e8e8ed1854de5d36c088ec1833beae40d2dedd76" + "reference": "f9ba7bd3c9f3ff54ec379d7a1c2e3f13fe0bbde4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e8e8ed1854de5d36c088ec1833beae40d2dedd76", - "reference": "e8e8ed1854de5d36c088ec1833beae40d2dedd76", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f9ba7bd3c9f3ff54ec379d7a1c2e3f13fe0bbde4", + "reference": "f9ba7bd3c9f3ff54ec379d7a1c2e3f13fe0bbde4", "shasum": "" }, "require": { @@ -9484,7 +9857,7 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.12.0", + "myclabs/deep-copy": "^1.12.1", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.2", @@ -9495,7 +9868,7 @@ "phpunit/php-timer": "^7.0.1", "sebastian/cli-parser": "^3.0.2", "sebastian/code-unit": "^3.0.1", - "sebastian/comparator": "^6.1.1", + "sebastian/comparator": "^6.2.1", "sebastian/diff": "^6.0.2", "sebastian/environment": "^7.2.0", "sebastian/exporter": "^6.1.3", @@ -9545,7 +9918,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/11.4.3" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.4.4" }, "funding": [ { @@ -9561,7 +9934,7 @@ "type": "tidelift" } ], - "time": "2024-10-28T13:07:50+00:00" + "time": "2024-11-27T10:44:52+00:00" }, { "name": "sebastian/cli-parser", @@ -10488,20 +10861,21 @@ }, { "name": "symfony/yaml", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671" + "reference": "099581e99f557e9f16b43c5916c26380b54abb22" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", - "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", + "url": "https://api.github.com/repos/symfony/yaml/zipball/099581e99f557e9f16b43c5916c26380b54abb22", + "reference": "099581e99f557e9f16b43c5916c26380b54abb22", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { @@ -10539,7 +10913,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.1.6" + "source": "https://github.com/symfony/yaml/tree/v7.2.0" }, "funding": [ { @@ -10555,7 +10929,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-10-23T06:56:12+00:00" }, { "name": "ta-tikoma/phpunit-architecture-test", @@ -10669,12 +11043,12 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": true, "prefer-lowest": false, "platform": { "php": "^8.2" }, - "platform-dev": [], + "platform-dev": {}, "plugin-api-version": "2.6.0" } diff --git a/config/app.php b/config/app.php deleted file mode 100644 index 2e6512c..0000000 --- a/config/app.php +++ /dev/null @@ -1,130 +0,0 @@ - env('APP_NAME', 'Open Source Seller Center'), - - /* - |-------------------------------------------------------------------------- - | Application Environment - |-------------------------------------------------------------------------- - | - | This value determines the "environment" your application is currently - | running in. This may determine how you prefer to configure various - | services the application utilizes. Set this in your ".env" file. - | - */ - - 'env' => env('APP_ENV', 'production'), - - /* - |-------------------------------------------------------------------------- - | Application Debug Mode - |-------------------------------------------------------------------------- - | - | When your application is in debug mode, detailed error messages with - | stack traces will be shown on every error that occurs within your - | application. If disabled, a simple generic error page is shown. - | - */ - - 'debug' => (bool) env('APP_DEBUG', false), - - /* - |-------------------------------------------------------------------------- - | Application URL - |-------------------------------------------------------------------------- - | - | This URL is used by the console to properly generate URLs when using - | the Artisan command line tool. You should set this to the root of - | the application so that it's available within Artisan commands. - | - */ - - 'url' => env('APP_URL', 'http://localhost'), - - /* - |-------------------------------------------------------------------------- - | Application Timezone - |-------------------------------------------------------------------------- - | - | Here you may specify the default timezone for your application, which - | will be used by the PHP date and date-time functions. The timezone - | is set to "UTC" by default as it is suitable for most use cases. - | - */ - - 'timezone' => env('APP_TIMEZONE', 'UTC'), - - /* - |-------------------------------------------------------------------------- - | Application Locale Configuration - |-------------------------------------------------------------------------- - | - | The application locale determines the default locale that will be used - | by Laravel's translation / localization methods. This option can be - | set to any locale for which you plan to have translation strings. - | - */ - - 'locale' => env('APP_LOCALE', 'en'), - - 'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'), - - 'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'), - - /* - |-------------------------------------------------------------------------- - | Encryption Key - |-------------------------------------------------------------------------- - | - | This key is utilized by Laravel's encryption services and should be set - | to a random, 32 character string to ensure that all encrypted values - | are secure. You should do this prior to deploying the application. - | - */ - - 'cipher' => 'AES-256-CBC', - - 'key' => env('APP_KEY'), - - 'previous_keys' => [ - ...array_filter( - explode(',', env('APP_PREVIOUS_KEYS', '')) - ), - ], - - /* - |-------------------------------------------------------------------------- - | Maintenance Mode Driver - |-------------------------------------------------------------------------- - | - | These configuration options determine the driver used to determine and - | manage Laravel's "maintenance mode" status. The "cache" driver will - | allow maintenance mode to be controlled across multiple machines. - | - | Supported drivers: "file", "cache" - | - */ - - 'maintenance' => [ - 'driver' => env('APP_MAINTENANCE_DRIVER', 'file'), - 'store' => env('APP_MAINTENANCE_STORE', 'database'), - ], - - KEY_DATETIME => 'Y-m-d H:i', - -]; diff --git a/config/auth.php b/config/auth.php deleted file mode 100644 index 0ba5d5d..0000000 --- a/config/auth.php +++ /dev/null @@ -1,115 +0,0 @@ - [ - 'guard' => env('AUTH_GUARD', 'web'), - 'passwords' => env('AUTH_PASSWORD_BROKER', 'users'), - ], - - /* - |-------------------------------------------------------------------------- - | Authentication Guards - |-------------------------------------------------------------------------- - | - | Next, you may define every authentication guard for your application. - | Of course, a great default configuration has been defined for you - | which utilizes session storage plus the Eloquent user provider. - | - | All authentication guards have a user provider, which defines how the - | users are actually retrieved out of your database or other storage - | system used by the application. Typically, Eloquent is utilized. - | - | Supported: "session" - | - */ - - 'guards' => [ - 'web' => [ - 'driver' => 'session', - 'provider' => 'users', - ], - ], - - /* - |-------------------------------------------------------------------------- - | User Providers - |-------------------------------------------------------------------------- - | - | All authentication guards have a user provider, which defines how the - | users are actually retrieved out of your database or other storage - | system used by the application. Typically, Eloquent is utilized. - | - | If you have multiple user tables or models you may configure multiple - | providers to represent the model / table. These providers may then - | be assigned to any extra authentication guards you have defined. - | - | Supported: "database", "eloquent" - | - */ - - 'providers' => [ - 'users' => [ - 'driver' => 'eloquent', - 'model' => env('AUTH_MODEL', App\Models\User::class), - ], - - // 'users' => [ - // 'driver' => 'database', - // 'table' => 'users', - // ], - ], - - /* - |-------------------------------------------------------------------------- - | Resetting Passwords - |-------------------------------------------------------------------------- - | - | These configuration options specify the behavior of Laravel's password - | reset functionality, including the table utilized for token storage - | and the user provider that is invoked to actually retrieve users. - | - | The expiry time is the number of minutes that each reset token will be - | considered valid. This security feature keeps tokens short-lived so - | they have less time to be guessed. You may change this as needed. - | - | The throttle setting is the number of seconds a user must wait before - | generating more password reset tokens. This prevents the user from - | quickly generating a very large amount of password reset tokens. - | - */ - - 'passwords' => [ - 'users' => [ - 'provider' => 'users', - 'table' => env('AUTH_PASSWORD_RESET_TOKEN_TABLE', 'password_reset_tokens'), - 'expire' => 60, - 'throttle' => 60, - ], - ], - - /* - |-------------------------------------------------------------------------- - | Password Confirmation Timeout - |-------------------------------------------------------------------------- - | - | Here you may define the amount of seconds before a password confirmation - | window expires and users are asked to re-enter their password via the - | confirmation screen. By default, the timeout lasts for three hours. - | - */ - - 'password_timeout' => env('AUTH_PASSWORD_TIMEOUT', 10800), - -]; diff --git a/config/blueprint.php b/config/blueprint.php deleted file mode 100644 index 59ee1c2..0000000 --- a/config/blueprint.php +++ /dev/null @@ -1,162 +0,0 @@ - 'App', - - /* - |-------------------------------------------------------------------------- - | Component Namespaces - |-------------------------------------------------------------------------- - | - | Blueprint promotes following Laravel conventions. As such, it generates - | components under the default namespaces. For example, models are under - | the `App` namespace. However, you may configure Blueprint to use - | your own custom namespace when generating these components. - | - */ - 'models_namespace' => 'Models', - - 'controllers_namespace' => 'Http\\Controllers', - - 'policy_namespace' => 'Policies', - - /* - |-------------------------------------------------------------------------- - | Application Path - |-------------------------------------------------------------------------- - | - | By default, Blueprint will save the generated application components - | under the files under the `app` folder. However, you may configure - | Blueprint to save these generated component under a custom path. - | - */ - 'app_path' => 'app', - - /* - |-------------------------------------------------------------------------- - | Generate PHPDocs - |-------------------------------------------------------------------------- - | - | Here you may enable generate PHPDocs for classes like Models. This - | not only serves as documentation, but also allows your IDE to - | map to the dynamic properties used by Laravel Models. - | - */ - 'generate_phpdocs' => false, - - /* - |-------------------------------------------------------------------------- - | Foreign Key Constraints - |-------------------------------------------------------------------------- - | - | Here you may enable Blueprint to always add foreign key constraints - | within the generated migration. This will relate these records - | together to add structure and integrity to your database. - | - | In addition, you may specify the action to perform `ON DELETE`. By - | default Blueprint will use `cascade`. However, you may set this - | to 'restrict', 'no_action', or 'null' as well as inline - | by defining your `foreign` key column with an `onDelete`. - | - */ - 'use_constraints' => true, - - 'on_delete' => 'cascade', - - 'on_update' => 'cascade', - - /* - |-------------------------------------------------------------------------- - | Fake Nullables - |-------------------------------------------------------------------------- - | - | By default, Blueprint will set fake data even for nullable columns - | within the generated model factories. However, you may disable - | this behavior if you prefer to only set required columns - | within your model factories. - | - */ - 'fake_nullables' => true, - - /* - |-------------------------------------------------------------------------- - | Use Guarded - |-------------------------------------------------------------------------- - | - | By default, Blueprint will set the `fillable` property within generated - | models with the defined columns. These are set to provide a foundation - | for mass assignment protection provided by Laravel. However, you may - | configure Blueprint to instead set an empty `guarded` property to - | generated "unguarded" models. - | - */ - 'use_guarded' => false, - - /* - |-------------------------------------------------------------------------- - | Singular route names - |-------------------------------------------------------------------------- - | - | By default, Blueprint will `kebab-case` the plural name of the controller - | for the route name. If you would like to ensure a singular route name - | is used for controllers, you may set this to `true`. - | - */ - 'singular_routes' => false, - - /* - |-------------------------------------------------------------------------- - | Constructor Property Promotion - |-------------------------------------------------------------------------- - | - | By default, Blueprint generates class properties explicitly. You may enable - | this option to have Blueprint generate code for classes which contain a - | constructor to set properties with "constructor property promotion". - | - */ - 'property_promotion' => false, - - /* - |-------------------------------------------------------------------------- - | Generators - |-------------------------------------------------------------------------- - | - | Blueprint will automatically register this default array of Generator classes. - | However, you may configure Blueprint to use a custom Generator class to grant - | expanded functionality to Blueprint. - | - | Your custom Generator class MUST implement the 'Blueprint\Contracts\Generator' interface. - | - */ - 'generators' => [ - 'controller' => \Blueprint\Generators\ControllerGenerator::class, - 'factory' => \Blueprint\Generators\FactoryGenerator::class, - 'migration' => \Blueprint\Generators\MigrationGenerator::class, - 'model' => \Blueprint\Generators\ModelGenerator::class, - 'route' => \Blueprint\Generators\RouteGenerator::class, - 'seeder' => \Blueprint\Generators\SeederGenerator::class, - 'test' => \Blueprint\Generators\PhpUnitTestGenerator::class, - // 'test' => \Blueprint\Generators\PestTestGenerator::class, - 'event' => \Blueprint\Generators\Statements\EventGenerator::class, - 'form_request' => \Blueprint\Generators\Statements\FormRequestGenerator::class, - 'job' => \Blueprint\Generators\Statements\JobGenerator::class, - 'mail' => \Blueprint\Generators\Statements\MailGenerator::class, - 'notification' => \Blueprint\Generators\Statements\NotificationGenerator::class, - 'resource' => \Blueprint\Generators\Statements\ResourceGenerator::class, - 'view' => \Blueprint\Generators\Statements\ViewGenerator::class, - 'policy' => \Blueprint\Generators\PolicyGenerator::class, - ], - -]; diff --git a/config/cache.php b/config/cache.php deleted file mode 100644 index 925f7d2..0000000 --- a/config/cache.php +++ /dev/null @@ -1,108 +0,0 @@ - env('CACHE_STORE', 'database'), - - /* - |-------------------------------------------------------------------------- - | Cache Stores - |-------------------------------------------------------------------------- - | - | Here you may define all of the cache "stores" for your application as - | well as their drivers. You may even define multiple stores for the - | same cache driver to group types of items stored in your caches. - | - | Supported drivers: "array", "database", "file", "memcached", - | "redis", "dynamodb", "octane", "null" - | - */ - - 'stores' => [ - - 'array' => [ - 'driver' => 'array', - 'serialize' => false, - ], - - 'database' => [ - 'driver' => 'database', - 'connection' => env('DB_CACHE_CONNECTION'), - 'table' => env('DB_CACHE_TABLE', 'cache'), - 'lock_connection' => env('DB_CACHE_LOCK_CONNECTION'), - 'lock_table' => env('DB_CACHE_LOCK_TABLE'), - ], - - 'file' => [ - 'driver' => 'file', - 'path' => storage_path('framework/cache/data'), - 'lock_path' => storage_path('framework/cache/data'), - ], - - 'memcached' => [ - 'driver' => 'memcached', - 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), - 'sasl' => [ - env('MEMCACHED_USERNAME'), - env('MEMCACHED_PASSWORD'), - ], - 'options' => [ - // Memcached::OPT_CONNECT_TIMEOUT => 2000, - ], - 'servers' => [ - [ - 'host' => env('MEMCACHED_HOST', '127.0.0.1'), - 'port' => env('MEMCACHED_PORT', 11211), - 'weight' => 100, - ], - ], - ], - - 'redis' => [ - 'driver' => 'redis', - 'connection' => env('REDIS_CACHE_CONNECTION', 'cache'), - 'lock_connection' => env('REDIS_CACHE_LOCK_CONNECTION', 'default'), - ], - - 'dynamodb' => [ - 'driver' => 'dynamodb', - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), - 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), - 'endpoint' => env('DYNAMODB_ENDPOINT'), - ], - - 'octane' => [ - 'driver' => 'octane', - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Cache Key Prefix - |-------------------------------------------------------------------------- - | - | When utilizing the APC, database, memcached, Redis, and DynamoDB cache - | stores, there might be other applications using the same cache. For - | that reason, you may prefix every cache key to avoid collisions. - | - */ - - 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'), - -]; diff --git a/config/database.php b/config/database.php deleted file mode 100644 index 216da97..0000000 --- a/config/database.php +++ /dev/null @@ -1,173 +0,0 @@ - env('DB_CONNECTION', 'sqlite'), - - /* - |-------------------------------------------------------------------------- - | Database Connections - |-------------------------------------------------------------------------- - | - | Below are all of the database connections defined for your application. - | An example configuration is provided for each database system which - | is supported by Laravel. You're free to add / remove connections. - | - */ - - 'connections' => [ - - 'sqlite' => [ - 'driver' => 'sqlite', - 'url' => env('DB_URL'), - 'database' => env('DB_DATABASE', database_path('database.sqlite')), - 'prefix' => '', - 'foreign_key_constraints' => true, - 'busy_timeout' => null, - 'journal_mode' => null, - 'synchronous' => null, - ], - - 'mysql' => [ - 'driver' => 'mysql', - 'url' => env('DB_URL'), - 'host' => env('DB_HOST', '127.0.0.1'), - 'port' => env('DB_PORT', '3306'), - 'database' => env('DB_DATABASE', 'laravel'), - 'username' => env('DB_USERNAME', 'root'), - 'password' => env('DB_PASSWORD', ''), - 'unix_socket' => env('DB_SOCKET', ''), - 'charset' => env('DB_CHARSET', 'utf8mb4'), - 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), - 'prefix' => '', - 'prefix_indexes' => true, - 'strict' => true, - 'engine' => null, - 'options' => extension_loaded('pdo_mysql') ? array_filter([ - PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), - ]) : [], - ], - - 'mariadb' => [ - 'driver' => 'mariadb', - 'url' => env('DB_URL'), - 'host' => env('DB_HOST', '127.0.0.1'), - 'port' => env('DB_PORT', '3306'), - 'database' => env('DB_DATABASE', 'laravel'), - 'username' => env('DB_USERNAME', 'root'), - 'password' => env('DB_PASSWORD', ''), - 'unix_socket' => env('DB_SOCKET', ''), - 'charset' => env('DB_CHARSET', 'utf8mb4'), - 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), - 'prefix' => '', - 'prefix_indexes' => true, - 'strict' => true, - 'engine' => null, - 'options' => extension_loaded('pdo_mysql') ? array_filter([ - PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), - ]) : [], - ], - - 'pgsql' => [ - 'driver' => 'pgsql', - 'url' => env('DB_URL'), - 'host' => env('DB_HOST', '127.0.0.1'), - 'port' => env('DB_PORT', '5432'), - 'database' => env('DB_DATABASE', 'laravel'), - 'username' => env('DB_USERNAME', 'root'), - 'password' => env('DB_PASSWORD', ''), - 'charset' => env('DB_CHARSET', 'utf8'), - 'prefix' => '', - 'prefix_indexes' => true, - 'search_path' => 'public', - 'sslmode' => 'prefer', - ], - - 'sqlsrv' => [ - 'driver' => 'sqlsrv', - 'url' => env('DB_URL'), - 'host' => env('DB_HOST', 'localhost'), - 'port' => env('DB_PORT', '1433'), - 'database' => env('DB_DATABASE', 'laravel'), - 'username' => env('DB_USERNAME', 'root'), - 'password' => env('DB_PASSWORD', ''), - 'charset' => env('DB_CHARSET', 'utf8'), - 'prefix' => '', - 'prefix_indexes' => true, - // 'encrypt' => env('DB_ENCRYPT', 'yes'), - // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'), - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Migration Repository Table - |-------------------------------------------------------------------------- - | - | This table keeps track of all the migrations that have already run for - | your application. Using this information, we can determine which of - | the migrations on disk haven't actually been run on the database. - | - */ - - 'migrations' => [ - 'table' => 'migrations', - 'update_date_on_publish' => true, - ], - - /* - |-------------------------------------------------------------------------- - | Redis Databases - |-------------------------------------------------------------------------- - | - | Redis is an open source, fast, and advanced key-value store that also - | provides a richer body of commands than a typical key-value system - | such as Memcached. You may define your connection settings here. - | - */ - - 'redis' => [ - - 'client' => env('REDIS_CLIENT', 'phpredis'), - - 'options' => [ - 'cluster' => env('REDIS_CLUSTER', 'redis'), - 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), - ], - - 'default' => [ - 'url' => env('REDIS_URL'), - 'host' => env('REDIS_HOST', '127.0.0.1'), - 'username' => env('REDIS_USERNAME'), - 'password' => env('REDIS_PASSWORD'), - 'port' => env('REDIS_PORT', '6379'), - 'database' => env('REDIS_DB', '0'), - ], - - 'cache' => [ - 'url' => env('REDIS_URL'), - 'host' => env('REDIS_HOST', '127.0.0.1'), - 'username' => env('REDIS_USERNAME'), - 'password' => env('REDIS_PASSWORD'), - 'port' => env('REDIS_PORT', '6379'), - 'database' => env('REDIS_CACHE_DB', '1'), - ], - - ], - -]; diff --git a/config/filament.php b/config/filament.php deleted file mode 100644 index 65b4bf0..0000000 --- a/config/filament.php +++ /dev/null @@ -1,89 +0,0 @@ - [ - - // 'echo' => [ - // 'broadcaster' => 'pusher', - // 'key' => env('VITE_PUSHER_APP_KEY'), - // 'cluster' => env('VITE_PUSHER_APP_CLUSTER'), - // 'wsHost' => env('VITE_PUSHER_HOST'), - // 'wsPort' => env('VITE_PUSHER_PORT'), - // 'wssPort' => env('VITE_PUSHER_PORT'), - // 'authEndpoint' => '/broadcasting/auth', - // 'disableStats' => true, - // 'encrypted' => true, - // 'forceTLS' => true, - // ], - - ], - - /* - |-------------------------------------------------------------------------- - | Default Filesystem Disk - |-------------------------------------------------------------------------- - | - | This is the storage disk Filament will use to store files. You may use - | any of the disks defined in the `config/filesystems.php`. - | - */ - - 'default_filesystem_disk' => env('FILAMENT_FILESYSTEM_DISK', 'public'), - - /* - |-------------------------------------------------------------------------- - | Assets Path - |-------------------------------------------------------------------------- - | - | This is the directory where Filament's assets will be published to. It - | is relative to the `public` directory of your Laravel application. - | - | After changing the path, you should run `php artisan filament:assets`. - | - */ - - 'assets_path' => null, - - /* - |-------------------------------------------------------------------------- - | Cache Path - |-------------------------------------------------------------------------- - | - | This is the directory that Filament will use to store cache files that - | are used to optimize the registration of components. - | - | After changing the path, you should run `php artisan filament:cache-components`. - | - */ - - 'cache_path' => base_path('bootstrap/cache/filament'), - - /* - |-------------------------------------------------------------------------- - | Livewire Loading Delay - |-------------------------------------------------------------------------- - | - | This sets the delay before loading indicators appear. - | - | Setting this to 'none' makes indicators appear immediately, which can be - | desirable for high-latency connections. Setting it to 'default' applies - | Livewire's standard 200ms delay. - | - */ - - 'livewire_loading_delay' => 'default', - -]; diff --git a/config/filesystems.php b/config/filesystems.php deleted file mode 100644 index b564035..0000000 --- a/config/filesystems.php +++ /dev/null @@ -1,77 +0,0 @@ - env('FILESYSTEM_DISK', 'local'), - - /* - |-------------------------------------------------------------------------- - | Filesystem Disks - |-------------------------------------------------------------------------- - | - | Below you may configure as many filesystem disks as necessary, and you - | may even configure multiple disks for the same driver. Examples for - | most supported storage drivers are configured here for reference. - | - | Supported drivers: "local", "ftp", "sftp", "s3" - | - */ - - 'disks' => [ - - 'local' => [ - 'driver' => 'local', - 'root' => storage_path('app/private'), - 'serve' => true, - 'throw' => false, - ], - - 'public' => [ - 'driver' => 'local', - 'root' => storage_path('app/public'), - 'url' => env('APP_URL').'/storage', - 'visibility' => 'public', - 'throw' => false, - ], - - 's3' => [ - 'driver' => 's3', - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'region' => env('AWS_DEFAULT_REGION'), - 'bucket' => env('AWS_BUCKET'), - 'url' => env('AWS_URL'), - 'endpoint' => env('AWS_ENDPOINT'), - 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), - 'throw' => false, - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Symbolic Links - |-------------------------------------------------------------------------- - | - | Here you may configure the symbolic links that will be created when the - | `storage:link` Artisan command is executed. The array keys should be - | the locations of the links and the values should be their targets. - | - */ - - 'links' => [ - public_path('storage') => storage_path('app/public'), - ], - -]; diff --git a/config/logging.php b/config/logging.php deleted file mode 100644 index 8d94292..0000000 --- a/config/logging.php +++ /dev/null @@ -1,132 +0,0 @@ - env('LOG_CHANNEL', 'stack'), - - /* - |-------------------------------------------------------------------------- - | Deprecations Log Channel - |-------------------------------------------------------------------------- - | - | This option controls the log channel that should be used to log warnings - | regarding deprecated PHP and library features. This allows you to get - | your application ready for upcoming major versions of dependencies. - | - */ - - 'deprecations' => [ - 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'), - 'trace' => env('LOG_DEPRECATIONS_TRACE', false), - ], - - /* - |-------------------------------------------------------------------------- - | Log Channels - |-------------------------------------------------------------------------- - | - | Here you may configure the log channels for your application. Laravel - | utilizes the Monolog PHP logging library, which includes a variety - | of powerful log handlers and formatters that you're free to use. - | - | Available drivers: "single", "daily", "slack", "syslog", - | "errorlog", "monolog", "custom", "stack" - | - */ - - 'channels' => [ - - 'stack' => [ - 'driver' => 'stack', - 'channels' => explode(',', env('LOG_STACK', 'single')), - 'ignore_exceptions' => false, - ], - - 'single' => [ - 'driver' => 'single', - 'path' => storage_path('logs/laravel.log'), - 'level' => env('LOG_LEVEL', 'debug'), - 'replace_placeholders' => true, - ], - - 'daily' => [ - 'driver' => 'daily', - 'path' => storage_path('logs/laravel.log'), - 'level' => env('LOG_LEVEL', 'debug'), - 'days' => env('LOG_DAILY_DAYS', 14), - 'replace_placeholders' => true, - ], - - 'slack' => [ - 'driver' => 'slack', - 'url' => env('LOG_SLACK_WEBHOOK_URL'), - 'username' => env('LOG_SLACK_USERNAME', 'Laravel Log'), - 'emoji' => env('LOG_SLACK_EMOJI', ':boom:'), - 'level' => env('LOG_LEVEL', 'critical'), - 'replace_placeholders' => true, - ], - - 'papertrail' => [ - 'driver' => 'monolog', - 'level' => env('LOG_LEVEL', 'debug'), - 'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class), - 'handler_with' => [ - 'host' => env('PAPERTRAIL_URL'), - 'port' => env('PAPERTRAIL_PORT'), - 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'), - ], - 'processors' => [PsrLogMessageProcessor::class], - ], - - 'stderr' => [ - 'driver' => 'monolog', - 'level' => env('LOG_LEVEL', 'debug'), - 'handler' => StreamHandler::class, - 'formatter' => env('LOG_STDERR_FORMATTER'), - 'with' => [ - 'stream' => 'php://stderr', - ], - 'processors' => [PsrLogMessageProcessor::class], - ], - - 'syslog' => [ - 'driver' => 'syslog', - 'level' => env('LOG_LEVEL', 'debug'), - 'facility' => env('LOG_SYSLOG_FACILITY', LOG_USER), - 'replace_placeholders' => true, - ], - - 'errorlog' => [ - 'driver' => 'errorlog', - 'level' => env('LOG_LEVEL', 'debug'), - 'replace_placeholders' => true, - ], - - 'null' => [ - 'driver' => 'monolog', - 'handler' => NullHandler::class, - ], - - 'emergency' => [ - 'path' => storage_path('logs/laravel.log'), - ], - - ], - -]; diff --git a/config/mail.php b/config/mail.php deleted file mode 100644 index df13d3d..0000000 --- a/config/mail.php +++ /dev/null @@ -1,116 +0,0 @@ - env('MAIL_MAILER', 'log'), - - /* - |-------------------------------------------------------------------------- - | Mailer Configurations - |-------------------------------------------------------------------------- - | - | Here you may configure all of the mailers used by your application plus - | their respective settings. Several examples have been configured for - | you and you are free to add your own as your application requires. - | - | Laravel supports a variety of mail "transport" drivers that can be used - | when delivering an email. You may specify which one you're using for - | your mailers below. You may also add additional mailers if needed. - | - | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2", - | "postmark", "resend", "log", "array", - | "failover", "roundrobin" - | - */ - - 'mailers' => [ - - 'smtp' => [ - 'transport' => 'smtp', - 'url' => env('MAIL_URL'), - 'host' => env('MAIL_HOST', '127.0.0.1'), - 'port' => env('MAIL_PORT', 2525), - 'encryption' => env('MAIL_ENCRYPTION', 'tls'), - 'username' => env('MAIL_USERNAME'), - 'password' => env('MAIL_PASSWORD'), - 'timeout' => null, - 'local_domain' => env('MAIL_EHLO_DOMAIN', parse_url(env('APP_URL', 'http://localhost'), PHP_URL_HOST)), - ], - - 'ses' => [ - 'transport' => 'ses', - ], - - 'postmark' => [ - 'transport' => 'postmark', - // 'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'), - // 'client' => [ - // 'timeout' => 5, - // ], - ], - - 'resend' => [ - 'transport' => 'resend', - ], - - 'sendmail' => [ - 'transport' => 'sendmail', - 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'), - ], - - 'log' => [ - 'transport' => 'log', - 'channel' => env('MAIL_LOG_CHANNEL'), - ], - - 'array' => [ - 'transport' => 'array', - ], - - 'failover' => [ - 'transport' => 'failover', - 'mailers' => [ - 'smtp', - 'log', - ], - ], - - 'roundrobin' => [ - 'transport' => 'roundrobin', - 'mailers' => [ - 'ses', - 'postmark', - ], - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Global "From" Address - |-------------------------------------------------------------------------- - | - | You may wish for all emails sent by your application to be sent from - | the same address. Here you may specify a name and address that is - | used globally for all emails that are sent by your application. - | - */ - - 'from' => [ - 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), - 'name' => env('MAIL_FROM_NAME', 'Example'), - ], - -]; diff --git a/config/queue.php b/config/queue.php deleted file mode 100644 index 116bd8d..0000000 --- a/config/queue.php +++ /dev/null @@ -1,112 +0,0 @@ - env('QUEUE_CONNECTION', 'database'), - - /* - |-------------------------------------------------------------------------- - | Queue Connections - |-------------------------------------------------------------------------- - | - | Here you may configure the connection options for every queue backend - | used by your application. An example configuration is provided for - | each backend supported by Laravel. You're also free to add more. - | - | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" - | - */ - - 'connections' => [ - - 'sync' => [ - 'driver' => 'sync', - ], - - 'database' => [ - 'driver' => 'database', - 'connection' => env('DB_QUEUE_CONNECTION'), - 'table' => env('DB_QUEUE_TABLE', 'jobs'), - 'queue' => env('DB_QUEUE', 'default'), - 'retry_after' => (int) env('DB_QUEUE_RETRY_AFTER', 90), - 'after_commit' => false, - ], - - 'beanstalkd' => [ - 'driver' => 'beanstalkd', - 'host' => env('BEANSTALKD_QUEUE_HOST', 'localhost'), - 'queue' => env('BEANSTALKD_QUEUE', 'default'), - 'retry_after' => (int) env('BEANSTALKD_QUEUE_RETRY_AFTER', 90), - 'block_for' => 0, - 'after_commit' => false, - ], - - 'sqs' => [ - 'driver' => 'sqs', - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), - 'queue' => env('SQS_QUEUE', 'default'), - 'suffix' => env('SQS_SUFFIX'), - 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), - 'after_commit' => false, - ], - - 'redis' => [ - 'driver' => 'redis', - 'connection' => env('REDIS_QUEUE_CONNECTION', 'default'), - 'queue' => env('REDIS_QUEUE', 'default'), - 'retry_after' => (int) env('REDIS_QUEUE_RETRY_AFTER', 90), - 'block_for' => null, - 'after_commit' => false, - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Job Batching - |-------------------------------------------------------------------------- - | - | The following options configure the database and table that store job - | batching information. These options can be updated to any database - | connection and table which has been defined by your application. - | - */ - - 'batching' => [ - 'database' => env('DB_CONNECTION', 'sqlite'), - 'table' => 'job_batches', - ], - - /* - |-------------------------------------------------------------------------- - | Failed Queue Jobs - |-------------------------------------------------------------------------- - | - | These options configure the behavior of failed queue job logging so you - | can control how and where failed jobs are stored. Laravel ships with - | support for storing failed jobs in a simple file or in a database. - | - | Supported drivers: "database-uuids", "dynamodb", "file", "null" - | - */ - - 'failed' => [ - 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), - 'database' => env('DB_CONNECTION', 'sqlite'), - 'table' => 'failed_jobs', - ], - -]; diff --git a/config/services.php b/config/services.php deleted file mode 100644 index 27a3617..0000000 --- a/config/services.php +++ /dev/null @@ -1,38 +0,0 @@ - [ - 'token' => env('POSTMARK_TOKEN'), - ], - - 'ses' => [ - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), - ], - - 'resend' => [ - 'key' => env('RESEND_KEY'), - ], - - 'slack' => [ - 'notifications' => [ - 'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'), - 'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'), - ], - ], - -]; diff --git a/config/session.php b/config/session.php deleted file mode 100644 index f0b6541..0000000 --- a/config/session.php +++ /dev/null @@ -1,217 +0,0 @@ - env('SESSION_DRIVER', 'database'), - - /* - |-------------------------------------------------------------------------- - | Session Lifetime - |-------------------------------------------------------------------------- - | - | Here you may specify the number of minutes that you wish the session - | to be allowed to remain idle before it expires. If you want them - | to expire immediately when the browser is closed then you may - | indicate that via the expire_on_close configuration option. - | - */ - - 'lifetime' => env('SESSION_LIFETIME', 120), - - 'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false), - - /* - |-------------------------------------------------------------------------- - | Session Encryption - |-------------------------------------------------------------------------- - | - | This option allows you to easily specify that all of your session data - | should be encrypted before it's stored. All encryption is performed - | automatically by Laravel and you may use the session like normal. - | - */ - - 'encrypt' => env('SESSION_ENCRYPT', false), - - /* - |-------------------------------------------------------------------------- - | Session File Location - |-------------------------------------------------------------------------- - | - | When utilizing the "file" session driver, the session files are placed - | on disk. The default storage location is defined here; however, you - | are free to provide another location where they should be stored. - | - */ - - 'files' => storage_path('framework/sessions'), - - /* - |-------------------------------------------------------------------------- - | Session Database Connection - |-------------------------------------------------------------------------- - | - | When using the "database" or "redis" session drivers, you may specify a - | connection that should be used to manage these sessions. This should - | correspond to a connection in your database configuration options. - | - */ - - 'connection' => env('SESSION_CONNECTION'), - - /* - |-------------------------------------------------------------------------- - | Session Database Table - |-------------------------------------------------------------------------- - | - | When using the "database" session driver, you may specify the table to - | be used to store sessions. Of course, a sensible default is defined - | for you; however, you're welcome to change this to another table. - | - */ - - 'table' => env('SESSION_TABLE', 'sessions'), - - /* - |-------------------------------------------------------------------------- - | Session Cache Store - |-------------------------------------------------------------------------- - | - | When using one of the framework's cache driven session backends, you may - | define the cache store which should be used to store the session data - | between requests. This must match one of your defined cache stores. - | - | Affects: "apc", "dynamodb", "memcached", "redis" - | - */ - - 'store' => env('SESSION_STORE'), - - /* - |-------------------------------------------------------------------------- - | Session Sweeping Lottery - |-------------------------------------------------------------------------- - | - | Some session drivers must manually sweep their storage location to get - | rid of old sessions from storage. Here are the chances that it will - | happen on a given request. By default, the odds are 2 out of 100. - | - */ - - 'lottery' => [2, 100], - - /* - |-------------------------------------------------------------------------- - | Session Cookie Name - |-------------------------------------------------------------------------- - | - | Here you may change the name of the session cookie that is created by - | the framework. Typically, you should not need to change this value - | since doing so does not grant a meaningful security improvement. - | - */ - - 'cookie' => env( - 'SESSION_COOKIE', - Str::slug(env('APP_NAME', 'laravel'), '_').'_session' - ), - - /* - |-------------------------------------------------------------------------- - | Session Cookie Path - |-------------------------------------------------------------------------- - | - | The session cookie path determines the path for which the cookie will - | be regarded as available. Typically, this will be the root path of - | your application, but you're free to change this when necessary. - | - */ - - 'path' => env('SESSION_PATH', '/'), - - /* - |-------------------------------------------------------------------------- - | Session Cookie Domain - |-------------------------------------------------------------------------- - | - | This value determines the domain and subdomains the session cookie is - | available to. By default, the cookie will be available to the root - | domain and all subdomains. Typically, this shouldn't be changed. - | - */ - - 'domain' => env('SESSION_DOMAIN'), - - /* - |-------------------------------------------------------------------------- - | HTTPS Only Cookies - |-------------------------------------------------------------------------- - | - | By setting this option to true, session cookies will only be sent back - | to the server if the browser has a HTTPS connection. This will keep - | the cookie from being sent to you when it can't be done securely. - | - */ - - 'secure' => env('SESSION_SECURE_COOKIE'), - - /* - |-------------------------------------------------------------------------- - | HTTP Access Only - |-------------------------------------------------------------------------- - | - | Setting this value to true will prevent JavaScript from accessing the - | value of the cookie and the cookie will only be accessible through - | the HTTP protocol. It's unlikely you should disable this option. - | - */ - - 'http_only' => env('SESSION_HTTP_ONLY', true), - - /* - |-------------------------------------------------------------------------- - | Same-Site Cookies - |-------------------------------------------------------------------------- - | - | This option determines how your cookies behave when cross-site requests - | take place, and can be used to mitigate CSRF attacks. By default, we - | will set this value to "lax" to permit secure cross-site requests. - | - | See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value - | - | Supported: "lax", "strict", "none", null - | - */ - - 'same_site' => env('SESSION_SAME_SITE', 'lax'), - - /* - |-------------------------------------------------------------------------- - | Partitioned Cookies - |-------------------------------------------------------------------------- - | - | Setting this value to true will tie the cookie to the top-level site for - | a cross-site context. Partitioned cookies are accepted by the browser - | when flagged "secure" and the Same-Site attribute is set to "none". - | - */ - - 'partitioned' => env('SESSION_PARTITIONED_COOKIE', false), - -]; diff --git a/database/dbschema.dbs b/database/dbschema.dbs new file mode 100644 index 0000000..d42f4d9 --- /dev/null +++ b/database/dbschema.dbs @@ -0,0 +1,796 @@ + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/database/dbschema.dbs.bak b/database/dbschema.dbs.bak new file mode 100644 index 0000000..d42f4d9 --- /dev/null +++ b/database/dbschema.dbs.bak @@ -0,0 +1,796 @@ + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/database/factories/GoldenProductAttributeFactory.php b/database/factories/GoldenProductAttributeFactory.php new file mode 100644 index 0000000..119ab75 --- /dev/null +++ b/database/factories/GoldenProductAttributeFactory.php @@ -0,0 +1,31 @@ + ProductTypeAttribute::factory(), + 'golden_product_id' => GoldenProduct::factory(), + 'is_option' => $this->faker->boolean(), + ]; + } +} diff --git a/database/factories/GoldenProductAttributeValueFactory.php b/database/factories/GoldenProductAttributeValueFactory.php new file mode 100644 index 0000000..da576ab --- /dev/null +++ b/database/factories/GoldenProductAttributeValueFactory.php @@ -0,0 +1,31 @@ + $this->faker->word(), + 'golden_product_attribute_id' => GoldenProductAttribute::factory(), + 'locale_id' => Locale::factory(), + ]; + } +} diff --git a/database/factories/GoldenProductFactory.php b/database/factories/GoldenProductFactory.php new file mode 100644 index 0000000..4422231 --- /dev/null +++ b/database/factories/GoldenProductFactory.php @@ -0,0 +1,28 @@ + ProductType::factory(), + ]; + } +} diff --git a/database/factories/GoldenProductImageFactory.php b/database/factories/GoldenProductImageFactory.php new file mode 100644 index 0000000..fde92cb --- /dev/null +++ b/database/factories/GoldenProductImageFactory.php @@ -0,0 +1,32 @@ + GoldenProduct::factory(), + 'image' => $this->faker->word(), + 'number' => $this->faker->numberBetween(-10000, 10000), + 'seller_product_image_id' => SellerProductImage::factory(), + ]; + } +} diff --git a/database/factories/GoldenProductLocalizedFactory.php b/database/factories/GoldenProductLocalizedFactory.php new file mode 100644 index 0000000..52dea8b --- /dev/null +++ b/database/factories/GoldenProductLocalizedFactory.php @@ -0,0 +1,33 @@ + $this->faker->name(), + 'description' => $this->faker->text(), + 'attributes' => '{}', + 'locale_id' => Locale::factory(), + 'golden_product_id' => GoldenProduct::factory(), + ]; + } +} diff --git a/database/factories/GoldenProductVariantFactory.php b/database/factories/GoldenProductVariantFactory.php new file mode 100644 index 0000000..36225d6 --- /dev/null +++ b/database/factories/GoldenProductVariantFactory.php @@ -0,0 +1,28 @@ + GoldenProduct::factory(), + ]; + } +} diff --git a/database/factories/GoldenProductVariantLocalizedFactory.php b/database/factories/GoldenProductVariantLocalizedFactory.php new file mode 100644 index 0000000..b978d29 --- /dev/null +++ b/database/factories/GoldenProductVariantLocalizedFactory.php @@ -0,0 +1,33 @@ + $this->faker->name(), + 'description' => $this->faker->text(), + 'attributes' => '{}', + 'golden_product_variant_id' => GoldenProductVariant::factory(), + 'locale_id' => Locale::factory(), + ]; + } +} diff --git a/database/factories/LocaleFactory.php b/database/factories/LocaleFactory.php new file mode 100644 index 0000000..4ffde82 --- /dev/null +++ b/database/factories/LocaleFactory.php @@ -0,0 +1,29 @@ + $this->faker->word(), + 'name' => $this->faker->name(), + 'default' => $this->faker->boolean(), + ]; + } +} diff --git a/database/factories/OrderFactory.php b/database/factories/OrderFactory.php new file mode 100644 index 0000000..34b1923 --- /dev/null +++ b/database/factories/OrderFactory.php @@ -0,0 +1,33 @@ + $this->faker->word(), + 'status' => $this->faker->randomElement(["pending","processing","shipped","delivered","cancelled"]), + 'total_amount' => $this->faker->numberBetween(-10000, 10000), + 'seller_id' => Seller::factory(), + 'shipping_address' => $this->faker->text(), + 'billing_address' => $this->faker->text(), + ]; + } +} diff --git a/database/factories/OrderItemFactory.php b/database/factories/OrderItemFactory.php new file mode 100644 index 0000000..e1b7fc6 --- /dev/null +++ b/database/factories/OrderItemFactory.php @@ -0,0 +1,34 @@ + Order::factory(), + 'seller_product_id' => SellerProduct::factory(), + 'seller_variant_id' => SellerVariant::factory(), + 'quantity' => $this->faker->numberBetween(-10000, 10000), + 'price' => $this->faker->numberBetween(-10000, 10000), + ]; + } +} diff --git a/database/factories/ProductTypeAttributeFactory.php b/database/factories/ProductTypeAttributeFactory.php new file mode 100644 index 0000000..8e8d209 --- /dev/null +++ b/database/factories/ProductTypeAttributeFactory.php @@ -0,0 +1,39 @@ + $this->faker->name(), + 'slug' => $this->faker->slug(), + 'type' => $this->faker->randomElement(["text","boolean","number","select","url","color"]), + 'is_translatable' => $this->faker->boolean(), + 'field' => $this->faker->randomElement(["TextInput","Textarea","Checkbox","Toggle","Select","ColorPicker"]), + 'required' => $this->faker->boolean(), + 'rank' => $this->faker->numberBetween(-10000, 10000), + 'description' => $this->faker->text(), + 'unit' => $this->faker->word(), + 'is_variant_attribute' => $this->faker->boolean(), + 'validators' => '{}', + 'product_type_id' => ProductType::factory(), + ]; + } +} diff --git a/database/factories/ProductTypeAttributeOptionFactory.php b/database/factories/ProductTypeAttributeOptionFactory.php new file mode 100644 index 0000000..4fcfc73 --- /dev/null +++ b/database/factories/ProductTypeAttributeOptionFactory.php @@ -0,0 +1,28 @@ + ProductTypeAttribute::factory(), + ]; + } +} diff --git a/database/factories/ProductTypeAttributeOptionValueFactory.php b/database/factories/ProductTypeAttributeOptionValueFactory.php new file mode 100644 index 0000000..d8f08d3 --- /dev/null +++ b/database/factories/ProductTypeAttributeOptionValueFactory.php @@ -0,0 +1,31 @@ + $this->faker->word(), + 'locale_id' => Locale::factory(), + 'product_type_attribute_option_id' => ProductTypeAttributeOption::factory(), + ]; + } +} diff --git a/database/factories/ProductTypeFactory.php b/database/factories/ProductTypeFactory.php new file mode 100644 index 0000000..a880da5 --- /dev/null +++ b/database/factories/ProductTypeFactory.php @@ -0,0 +1,27 @@ + $this->faker->name(), + ]; + } +} diff --git a/database/factories/SellerProductFactory.php b/database/factories/SellerProductFactory.php index 65714b0..44ebec6 100644 --- a/database/factories/SellerProductFactory.php +++ b/database/factories/SellerProductFactory.php @@ -5,6 +5,7 @@ use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Support\Str; use App\Models\Category; +use App\Models\GoldenProduct; use App\Models\Seller; use App\Models\SellerProduct; @@ -32,6 +33,11 @@ public function definition(): array 'seller_id' => Seller::factory(), 'status' => $this->faker->randomElement(["draft","active","delisted"]), 'selected' => $this->faker->boolean(), + 'ean' => $this->faker->word(), + 'upc' => $this->faker->word(), + 'gtin_14' => $this->faker->word(), + 'gtin_8' => $this->faker->word(), + 'golden_product_id' => GoldenProduct::factory(), ]; } } diff --git a/database/migrations/2024_11_27_173745_create_sellers_table.php b/database/migrations/2025_01_15_134250_create_sellers_table.php similarity index 100% rename from database/migrations/2024_11_27_173745_create_sellers_table.php rename to database/migrations/2025_01_15_134250_create_sellers_table.php diff --git a/database/migrations/2024_11_27_173746_create_partnerships_table.php b/database/migrations/2025_01_15_134251_create_partnerships_table.php similarity index 90% rename from database/migrations/2024_11_27_173746_create_partnerships_table.php rename to database/migrations/2025_01_15_134251_create_partnerships_table.php index 0ee0a49..4e43867 100644 --- a/database/migrations/2024_11_27_173746_create_partnerships_table.php +++ b/database/migrations/2025_01_15_134251_create_partnerships_table.php @@ -15,7 +15,7 @@ public function up(): void Schema::create('partnerships', function (Blueprint $table) { $table->id(); - $table->foreignId('seller_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); + $table->foreignId('seller_id')->constrained(); $table->enum('status', ["submitted","accepted","rejected","review"])->default('submitted'); $table->text('rejection_reason')->nullable(); $table->text('notes')->nullable(); diff --git a/database/migrations/2024_11_27_173747_create_seller_data_table.php b/database/migrations/2025_01_15_134252_create_seller_data_table.php similarity index 94% rename from database/migrations/2024_11_27_173747_create_seller_data_table.php rename to database/migrations/2025_01_15_134252_create_seller_data_table.php index d87cc30..af9eb51 100644 --- a/database/migrations/2024_11_27_173747_create_seller_data_table.php +++ b/database/migrations/2025_01_15_134252_create_seller_data_table.php @@ -15,7 +15,7 @@ public function up(): void Schema::create('seller_data', function (Blueprint $table) { $table->id(); - $table->foreignId('seller_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); + $table->foreignId('seller_id')->constrained(); $table->string('email')->nullable(); $table->text('description')->nullable(); $table->string('company_name')->nullable(); diff --git a/database/migrations/2024_11_27_173748_create_categories_table.php b/database/migrations/2025_01_15_134253_create_categories_table.php similarity index 93% rename from database/migrations/2024_11_27_173748_create_categories_table.php rename to database/migrations/2025_01_15_134253_create_categories_table.php index 5aacc7b..58e2b8e 100644 --- a/database/migrations/2024_11_27_173748_create_categories_table.php +++ b/database/migrations/2025_01_15_134253_create_categories_table.php @@ -18,7 +18,7 @@ public function up(): void $table->string('name'); $table->text('description')->nullable(); $table->boolean('is_active')->nullable(); - $table->foreignId('parent_id')->nullable()->constrained('categories')->cascadeOnDelete()->cascadeOnUpdate(); + $table->foreignId('parent_id')->nullable()->constrained('categories'); $table->timestamps(); }); diff --git a/database/migrations/2024_11_27_173749_create_seller_products_table.php b/database/migrations/2025_01_15_134254_create_seller_products_table.php similarity index 76% rename from database/migrations/2024_11_27_173749_create_seller_products_table.php rename to database/migrations/2025_01_15_134254_create_seller_products_table.php index c268c40..b2090c6 100644 --- a/database/migrations/2024_11_27_173749_create_seller_products_table.php +++ b/database/migrations/2025_01_15_134254_create_seller_products_table.php @@ -20,10 +20,15 @@ public function up(): void $table->string('sku')->nullable(); $table->text('description')->nullable(); $table->json('attributes')->nullable(); - $table->foreignId('category_id')->nullable()->constrained()->cascadeOnDelete()->cascadeOnUpdate(); - $table->foreignId('seller_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); + $table->foreignId('category_id')->nullable()->constrained(); + $table->foreignId('seller_id')->constrained(); $table->enum('status', ["draft","active","delisted"])->default('draft'); $table->boolean('selected')->default(false); + $table->string('ean')->nullable(); + $table->string('upc')->nullable(); + $table->string('gtin_14')->nullable(); + $table->string('gtin_8')->nullable(); + $table->foreignId('golden_product_id')->nullable()->constrained(); $table->timestamps(); }); diff --git a/database/migrations/2024_11_27_173750_create_seller_product_images_table.php b/database/migrations/2025_01_15_134255_create_seller_product_images_table.php similarity index 90% rename from database/migrations/2024_11_27_173750_create_seller_product_images_table.php rename to database/migrations/2025_01_15_134255_create_seller_product_images_table.php index fc04f51..10dae2f 100644 --- a/database/migrations/2024_11_27_173750_create_seller_product_images_table.php +++ b/database/migrations/2025_01_15_134255_create_seller_product_images_table.php @@ -15,8 +15,8 @@ public function up(): void Schema::create('seller_product_images', function (Blueprint $table) { $table->id(); - $table->foreignId('seller_product_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); - $table->foreignId('seller_variant_id')->nullable()->constrained()->cascadeOnDelete()->cascadeOnUpdate(); + $table->foreignId('seller_product_id')->constrained(); + $table->foreignId('seller_variant_id')->nullable()->constrained(); $table->string('image'); $table->integer('number')->default(1); $table->timestamps(); diff --git a/database/migrations/2024_11_27_173751_create_seller_variants_table.php b/database/migrations/2025_01_15_134256_create_seller_variants_table.php similarity index 84% rename from database/migrations/2024_11_27_173751_create_seller_variants_table.php rename to database/migrations/2025_01_15_134256_create_seller_variants_table.php index d33fbd7..3c1d19c 100644 --- a/database/migrations/2024_11_27_173751_create_seller_variants_table.php +++ b/database/migrations/2025_01_15_134256_create_seller_variants_table.php @@ -15,12 +15,12 @@ public function up(): void Schema::create('seller_variants', function (Blueprint $table) { $table->id(); - $table->string('name'); + $table->string('name')->nullable(); $table->string('sku')->nullable(); $table->text('description')->nullable(); $table->json('attributes')->nullable(); - $table->foreignId('seller_product_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); - $table->foreignId('seller_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); + $table->foreignId('seller_product_id')->constrained(); + $table->foreignId('seller_id')->constrained(); $table->enum('status', ["draft","active","delisted"])->default('draft'); $table->timestamps(); }); diff --git a/database/migrations/2024_11_27_173752_create_prices_table.php b/database/migrations/2025_01_15_134257_create_prices_table.php similarity index 80% rename from database/migrations/2024_11_27_173752_create_prices_table.php rename to database/migrations/2025_01_15_134257_create_prices_table.php index cf72b6a..3b5ab16 100644 --- a/database/migrations/2024_11_27_173752_create_prices_table.php +++ b/database/migrations/2025_01_15_134257_create_prices_table.php @@ -16,9 +16,9 @@ public function up(): void Schema::create('prices', function (Blueprint $table) { $table->id(); $table->integer('amount'); - $table->foreignId('seller_variant_id')->nullable()->constrained()->cascadeOnDelete()->cascadeOnUpdate(); - $table->foreignId('seller_product_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); - $table->foreignId('currency_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); + $table->foreignId('seller_variant_id')->nullable()->constrained(); + $table->foreignId('seller_product_id')->constrained(); + $table->foreignId('currency_id')->constrained(); $table->timestamps(); }); diff --git a/database/migrations/2024_11_27_173753_create_stocks_table.php b/database/migrations/2025_01_15_134258_create_stocks_table.php similarity index 76% rename from database/migrations/2024_11_27_173753_create_stocks_table.php rename to database/migrations/2025_01_15_134258_create_stocks_table.php index 17b09e8..2eb6c60 100644 --- a/database/migrations/2024_11_27_173753_create_stocks_table.php +++ b/database/migrations/2025_01_15_134258_create_stocks_table.php @@ -18,10 +18,10 @@ public function up(): void $table->integer('quantity'); $table->integer('reserved')->nullable(); $table->integer('safety_stock')->nullable(); - $table->foreignId('seller_variant_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); - $table->foreignId('seller_product_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); - $table->foreignId('location_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); - $table->foreignId('seller_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); + $table->foreignId('seller_variant_id')->constrained(); + $table->foreignId('seller_product_id')->constrained(); + $table->foreignId('location_id')->constrained(); + $table->foreignId('seller_id')->constrained(); $table->timestamps(); }); diff --git a/database/migrations/2024_11_27_173754_create_locations_table.php b/database/migrations/2025_01_15_134259_create_locations_table.php similarity index 88% rename from database/migrations/2024_11_27_173754_create_locations_table.php rename to database/migrations/2025_01_15_134259_create_locations_table.php index c643177..00905b2 100644 --- a/database/migrations/2024_11_27_173754_create_locations_table.php +++ b/database/migrations/2025_01_15_134259_create_locations_table.php @@ -18,7 +18,7 @@ public function up(): void $table->string('name'); $table->string('address'); $table->integer('default_delivery_days')->nullable(); - $table->foreignId('seller_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); + $table->foreignId('seller_id')->constrained(); $table->timestamps(); }); diff --git a/database/migrations/2024_11_27_173755_create_currencies_table.php b/database/migrations/2025_01_15_134300_create_currencies_table.php similarity index 100% rename from database/migrations/2024_11_27_173755_create_currencies_table.php rename to database/migrations/2025_01_15_134300_create_currencies_table.php diff --git a/database/migrations/2024_11_27_173756_create_messages_table.php b/database/migrations/2025_01_15_134301_create_messages_table.php similarity index 83% rename from database/migrations/2024_11_27_173756_create_messages_table.php rename to database/migrations/2025_01_15_134301_create_messages_table.php index b37b7ca..83efcba 100644 --- a/database/migrations/2024_11_27_173756_create_messages_table.php +++ b/database/migrations/2025_01_15_134301_create_messages_table.php @@ -16,8 +16,8 @@ public function up(): void Schema::create('messages', function (Blueprint $table) { $table->id(); $table->text('content'); - $table->foreignId('seller_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); - $table->foreignId('message_id')->nullable()->constrained()->cascadeOnDelete()->cascadeOnUpdate(); + $table->foreignId('seller_id')->constrained(); + $table->foreignId('message_id')->nullable()->constrained(); $table->timestamps(); }); diff --git a/database/migrations/2025_01_15_134302_create_product_types_table.php b/database/migrations/2025_01_15_134302_create_product_types_table.php new file mode 100644 index 0000000..fdf1c25 --- /dev/null +++ b/database/migrations/2025_01_15_134302_create_product_types_table.php @@ -0,0 +1,32 @@ +id(); + $table->string('name'); + $table->timestamps(); + }); + + Schema::enableForeignKeyConstraints(); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('product_types'); + } +}; diff --git a/database/migrations/2025_01_15_134303_create_product_type_attributes_table.php b/database/migrations/2025_01_15_134303_create_product_type_attributes_table.php new file mode 100644 index 0000000..c3d1ac7 --- /dev/null +++ b/database/migrations/2025_01_15_134303_create_product_type_attributes_table.php @@ -0,0 +1,43 @@ +id(); + $table->string('name'); + $table->string('slug'); + $table->enum('type', ["text","boolean","number","select","url","color"]); + $table->boolean('is_translatable')->default(false); + $table->enum('field', ["TextInput","Textarea","Checkbox","Toggle","Select","ColorPicker"]); + $table->boolean('required')->default(false); + $table->integer('rank')->default(0); + $table->string('description')->nullable(); + $table->string('unit')->nullable(); + $table->boolean('is_variant_attribute')->default(false); + $table->json('validators')->nullable(); + $table->foreignId('product_type_id')->constrained(); + $table->timestamps(); + }); + + Schema::enableForeignKeyConstraints(); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('product_type_attributes'); + } +}; diff --git a/database/migrations/2025_01_15_134304_create_product_type_attribute_options_table.php b/database/migrations/2025_01_15_134304_create_product_type_attribute_options_table.php new file mode 100644 index 0000000..d6ad32a --- /dev/null +++ b/database/migrations/2025_01_15_134304_create_product_type_attribute_options_table.php @@ -0,0 +1,32 @@ +id(); + $table->foreignId('product_type_attribute_id')->constrained(); + $table->timestamps(); + }); + + Schema::enableForeignKeyConstraints(); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('product_type_attribute_options'); + } +}; diff --git a/database/migrations/2025_01_15_134305_create_product_type_attribute_option_values_table.php b/database/migrations/2025_01_15_134305_create_product_type_attribute_option_values_table.php new file mode 100644 index 0000000..55dfc84 --- /dev/null +++ b/database/migrations/2025_01_15_134305_create_product_type_attribute_option_values_table.php @@ -0,0 +1,34 @@ +id(); + $table->string('value'); + $table->foreignId('locale_id')->constrained(); + $table->foreignId('product_type_attribute_option_id')->constrained(); + $table->timestamps(); + }); + + Schema::enableForeignKeyConstraints(); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('product_type_attribute_option_values'); + } +}; diff --git a/database/migrations/2025_01_15_134306_create_golden_products_table.php b/database/migrations/2025_01_15_134306_create_golden_products_table.php new file mode 100644 index 0000000..4f4d3bc --- /dev/null +++ b/database/migrations/2025_01_15_134306_create_golden_products_table.php @@ -0,0 +1,32 @@ +id(); + $table->foreignId('product_type_id')->constrained(); + $table->timestamps(); + }); + + Schema::enableForeignKeyConstraints(); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('golden_products'); + } +}; diff --git a/database/migrations/2025_01_15_134307_create_golden_product_attributes_table.php b/database/migrations/2025_01_15_134307_create_golden_product_attributes_table.php new file mode 100644 index 0000000..20fa1dd --- /dev/null +++ b/database/migrations/2025_01_15_134307_create_golden_product_attributes_table.php @@ -0,0 +1,34 @@ +id(); + $table->foreignId('product_type_attribute_id')->constrained(); + $table->foreignId('golden_product_id')->constrained(); + $table->boolean('is_option')->default(false); + $table->timestamps(); + }); + + Schema::enableForeignKeyConstraints(); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('golden_product_attributes'); + } +}; diff --git a/database/migrations/2025_01_15_134308_create_golden_product_attribute_values_table.php b/database/migrations/2025_01_15_134308_create_golden_product_attribute_values_table.php new file mode 100644 index 0000000..d538729 --- /dev/null +++ b/database/migrations/2025_01_15_134308_create_golden_product_attribute_values_table.php @@ -0,0 +1,34 @@ +id(); + $table->string('value'); + $table->foreignId('golden_product_attribute_id')->constrained(); + $table->foreignId('locale_id')->constrained(); + $table->timestamps(); + }); + + Schema::enableForeignKeyConstraints(); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('golden_product_attribute_values'); + } +}; diff --git a/database/migrations/2025_01_15_134309_create_golden_product_localizeds_table.php b/database/migrations/2025_01_15_134309_create_golden_product_localizeds_table.php new file mode 100644 index 0000000..352b273 --- /dev/null +++ b/database/migrations/2025_01_15_134309_create_golden_product_localizeds_table.php @@ -0,0 +1,36 @@ +id(); + $table->string('name'); + $table->text('description')->nullable(); + $table->json('attributes')->nullable(); + $table->foreignId('locale_id')->constrained(); + $table->foreignId('golden_product_id')->constrained(); + $table->timestamps(); + }); + + Schema::enableForeignKeyConstraints(); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('golden_product_localizeds'); + } +}; diff --git a/database/migrations/2025_01_15_134310_create_golden_product_variants_table.php b/database/migrations/2025_01_15_134310_create_golden_product_variants_table.php new file mode 100644 index 0000000..930d010 --- /dev/null +++ b/database/migrations/2025_01_15_134310_create_golden_product_variants_table.php @@ -0,0 +1,32 @@ +id(); + $table->foreignId('golden_product_id')->constrained(); + $table->timestamps(); + }); + + Schema::enableForeignKeyConstraints(); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('golden_product_variants'); + } +}; diff --git a/database/migrations/2025_01_15_134311_create_golden_product_variant_localizeds_table.php b/database/migrations/2025_01_15_134311_create_golden_product_variant_localizeds_table.php new file mode 100644 index 0000000..b0ff84b --- /dev/null +++ b/database/migrations/2025_01_15_134311_create_golden_product_variant_localizeds_table.php @@ -0,0 +1,36 @@ +id(); + $table->string('name')->nullable(); + $table->text('description')->nullable(); + $table->json('attributes')->nullable(); + $table->foreignId('golden_product_variant_id')->constrained(); + $table->foreignId('locale_id')->constrained(); + $table->timestamps(); + }); + + Schema::enableForeignKeyConstraints(); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('golden_product_variant_localizeds'); + } +}; diff --git a/database/migrations/2025_01_15_134312_create_golden_product_images_table.php b/database/migrations/2025_01_15_134312_create_golden_product_images_table.php new file mode 100644 index 0000000..fc3de6d --- /dev/null +++ b/database/migrations/2025_01_15_134312_create_golden_product_images_table.php @@ -0,0 +1,35 @@ +id(); + $table->foreignId('golden_product_id')->constrained(); + $table->string('image'); + $table->integer('number')->default(1); + $table->foreignId('seller_product_image_id')->constrained(); + $table->timestamps(); + }); + + Schema::enableForeignKeyConstraints(); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('golden_product_images'); + } +}; diff --git a/database/migrations/2025_01_15_134313_create_locales_table.php b/database/migrations/2025_01_15_134313_create_locales_table.php new file mode 100644 index 0000000..272da91 --- /dev/null +++ b/database/migrations/2025_01_15_134313_create_locales_table.php @@ -0,0 +1,34 @@ +id(); + $table->string('code'); + $table->string('name'); + $table->boolean('default'); + $table->timestamps(); + }); + + Schema::enableForeignKeyConstraints(); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('locales'); + } +}; diff --git a/database/migrations/2024_11_27_173757_create_seller_user_table.php b/database/migrations/2025_01_15_134314_create_seller_user_table.php similarity index 62% rename from database/migrations/2024_11_27_173757_create_seller_user_table.php rename to database/migrations/2025_01_15_134314_create_seller_user_table.php index b124774..4757553 100644 --- a/database/migrations/2024_11_27_173757_create_seller_user_table.php +++ b/database/migrations/2025_01_15_134314_create_seller_user_table.php @@ -11,14 +11,10 @@ */ public function up(): void { - Schema::disableForeignKeyConstraints(); - Schema::create('seller_user', function (Blueprint $table) { - $table->foreignId('seller_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); - $table->foreignId('user_id')->constrained()->cascadeOnDelete()->cascadeOnUpdate(); + $table->foreignId('seller_id'); + $table->foreignId('user_id'); }); - - Schema::enableForeignKeyConstraints(); } /** diff --git a/database/migrations/2025_01_15_134315_create_golden_product_attribute_product_type_attribute_option_value_table.php b/database/migrations/2025_01_15_134315_create_golden_product_attribute_product_type_attribute_option_value_table.php new file mode 100644 index 0000000..f77703c --- /dev/null +++ b/database/migrations/2025_01_15_134315_create_golden_product_attribute_product_type_attribute_option_value_table.php @@ -0,0 +1,31 @@ +foreignId('golden_product_attribute_id'); + $table->foreignId('product_type_attribute_option_value_id'); + }); + + Schema::enableForeignKeyConstraints(); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('golden_product_attribute_product_type_attribute_option_value'); + } +}; diff --git a/database/seeders/AttributeSeeder.php b/database/seeders/AttributeSeeder.php new file mode 100644 index 0000000..1c7e3a0 --- /dev/null +++ b/database/seeders/AttributeSeeder.php @@ -0,0 +1,880 @@ +isEmpty()) { + Log::error('No locales found in the database. Make sure LocaleSeeder has been run.'); + return; + } + + $attributesByType = [ + 'Sneakers' => [ + [ + 'name' => 'Material', + 'slug' => 'material', + 'type' => 'select', + 'field' => 'Select', + 'required' => true, + 'is_translatable' => true, + 'description' => 'The material from which the product is made.', + 'options' => [ + [ + 'translations' => [ + 'en' => 'Leather', + 'de' => 'Leder', + 'fr' => 'Cuir' + ] + ], + [ + 'translations' => [ + 'en' => 'Canvas', + 'de' => 'Leinen', + 'fr' => 'Toile' + ] + ], + [ + 'translations' => [ + 'en' => 'Synthetic', + 'de' => 'Synthetisch', + 'fr' => 'Synthétique' + ] + ], + [ + 'translations' => [ + 'en' => 'Mesh', + 'de' => 'Mesh', + 'fr' => 'Maille' + ] + ], + [ + 'translations' => [ + 'en' => 'Suede', + 'de' => 'Wildleder', + 'fr' => 'Daim' + ] + ], + [ + 'translations' => [ + 'en' => 'Knit', + 'de' => 'Strick', + 'fr' => 'Tricot' + ] + ] + ] + ], + [ + 'name' => 'Is Waterproof', + 'type' => 'boolean', + 'field' => 'Toggle', + 'required' => true, + 'description' => 'Indicates whether the product is waterproof.', + ], + [ + 'name' => 'Style', + 'slug' => 'style', + 'type' => 'select', + 'field' => 'Select', + 'required' => true, + 'is_translatable' => false, + 'description' => 'The style of the product, such as athletic or casual.', + 'options' => [ + [ + 'translations' => [ + 'en' => 'Athletic', + 'de' => 'Athletic', + 'fr' => 'Athletic' + ] + ], + [ + 'translations' => [ + 'en' => 'Casual', + 'de' => 'Casual', + 'fr' => 'Casual' + ] + ], + [ + 'translations' => [ + 'en' => 'Lifestyle', + 'de' => 'Lifestyle', + 'fr' => 'Lifestyle' + ] + ], + [ + 'translations' => [ + 'en' => 'Running', + 'de' => 'Running', + 'fr' => 'Running' + ] + ], + [ + 'translations' => [ + 'en' => 'Basketball', + 'de' => 'Basketball', + 'fr' => 'Basketball' + ] + ], + [ + 'translations' => [ + 'en' => 'Skateboarding', + 'de' => 'Skateboarding', + 'fr' => 'Skateboarding' + ] + ] + ] + ], + [ + 'name' => 'Closure Type', + 'slug' => 'closure-type', + 'type' => 'select', + 'field' => 'Select', + 'required' => true, + 'is_translatable' => true, + 'description' => 'The type of closure used on the product, such as lace-up or slip-on.', + 'options' => [ + [ + 'translations' => [ + 'en' => 'Lace-up', + 'de' => 'Schnürsenkel', + 'fr' => 'Lacets' + ] + ], + [ + 'translations' => [ + 'en' => 'Slip-on', + 'de' => 'Schlupfschuh', + 'fr' => 'Sans lacets' + ] + ], + [ + 'translations' => [ + 'en' => 'Velcro', + 'de' => 'Klettverschluss', + 'fr' => 'Velcro' + ] + ], + [ + 'translations' => [ + 'en' => 'Zip', + 'de' => 'Reißverschluss', + 'fr' => 'Fermeture éclair' + ] + ], + [ + 'translations' => [ + 'en' => 'BOA System', + 'de' => 'BOA System', + 'fr' => 'Système BOA' + ] + ] + ] + ], + [ + 'name' => 'Main Color', + 'type' => 'color', + 'field' => 'ColorPicker', + 'required' => true, + 'description' => 'The primary color of the product.', + ] + ], + 'T-Shirt' => [ + [ + 'name' => 'Fabric', + 'slug' => 'fabric', + 'type' => 'select', + 'field' => 'Select', + 'required' => true, + 'is_translatable' => true, + 'description' => 'The type of fabric used to make the product.', + 'options' => [ + [ + 'translations' => [ + 'en' => '100% Cotton', + 'de' => '100% Baumwolle', + 'fr' => '100% Coton' + ] + ], + [ + 'translations' => [ + 'en' => 'Cotton Blend', + 'de' => 'Baumwollmischung', + 'fr' => 'Mélange de coton' + ] + ], + [ + 'translations' => [ + 'en' => 'Polyester', + 'de' => 'Polyester', + 'fr' => 'Polyester' + ] + ], + [ + 'translations' => [ + 'en' => 'Modal', + 'de' => 'Modal', + 'fr' => 'Modal' + ] + ], + [ + 'translations' => [ + 'en' => 'Bamboo', + 'de' => 'Bambus', + 'fr' => 'Bambou' + ] + ], + [ + 'translations' => [ + 'en' => 'Merino Wool', + 'de' => 'Merinowolle', + 'fr' => 'Laine mérinos' + ] + ] + ] + ], + [ + 'name' => 'Neckline', + 'slug' => 'neckline', + 'type' => 'select', + 'field' => 'Select', + 'required' => true, + 'is_translatable' => false, + 'description' => 'The style of the neckline, such as crew neck or V-neck.', + 'options' => [ + [ + 'translations' => [ + 'en' => 'Crew Neck', + 'de' => 'Crew Neck', + 'fr' => 'Crew Neck' + ] + ], + [ + 'translations' => [ + 'en' => 'V-Neck', + 'de' => 'V-Neck', + 'fr' => 'V-Neck' + ] + ], + [ + 'translations' => [ + 'en' => 'Scoop Neck', + 'de' => 'Scoop Neck', + 'fr' => 'Scoop Neck' + ] + ], + [ + 'translations' => [ + 'en' => 'Henley', + 'de' => 'Henley', + 'fr' => 'Henley' + ] + ], + [ + 'translations' => [ + 'en' => 'Polo', + 'de' => 'Polo', + 'fr' => 'Polo' + ] + ] + ] + ], + [ + 'name' => 'Sleeve Type', + 'slug' => 'sleeve-type', + 'type' => 'select', + 'field' => 'Select', + 'required' => true, + 'is_translatable' => true, + 'description' => 'The type of sleeves, such as short sleeve or long sleeve.', + 'options' => [ + [ + 'translations' => [ + 'en' => 'Sleeveless', + 'de' => 'Ärmellos', + 'fr' => 'Sans manches' + ] + ], + [ + 'translations' => [ + 'en' => 'Cap Sleeve', + 'de' => 'Kurzarm', + 'fr' => 'Manche courte' + ] + ], + [ + 'translations' => [ + 'en' => 'Short Sleeve', + 'de' => 'Kurzarm', + 'fr' => 'Manche courte' + ] + ], + [ + 'translations' => [ + 'en' => 'Long Sleeve', + 'de' => 'Langarm', + 'fr' => 'Manche longue' + ] + ], + [ + 'translations' => [ + 'en' => 'Bell Sleeve', + 'de' => 'Glockenärmel', + 'fr' => 'Manche cloche' + ] + ], + [ + 'translations' => [ + 'en' => 'Flutter Sleeve', + 'de' => 'Flatterärmel', + 'fr' => 'Manche papillon' + ] + ] + ] + ], + [ + 'name' => 'Is Sustainable', + 'type' => 'boolean', + 'field' => 'Toggle', + 'required' => false, + 'description' => 'Indicates whether the product is made from sustainable materials.', + ], + [ + 'name' => 'Print Type', + 'slug' => 'print-type', + 'type' => 'select', + 'field' => 'Select', + 'required' => false, + 'is_translatable' => true, + 'description' => 'The type of print used on the product, such as screen print or digital print.', + 'options' => [ + [ + 'translations' => [ + 'en' => 'Screen Print', + 'de' => 'Siebdruck', + 'fr' => 'Sérigraphie' + ] + ], + [ + 'translations' => [ + 'en' => 'Digital Print', + 'de' => 'Digitaldruck', + 'fr' => 'Impression numérique' + ] + ], + [ + 'translations' => [ + 'en' => 'Embroidery', + 'de' => 'Stickerei', + 'fr' => 'Broderie' + ] + ], + [ + 'translations' => [ + 'en' => 'Heat Transfer', + 'de' => 'Wärmeübertragung', + 'fr' => 'Transfert thermique' + ] + ], + [ + 'translations' => [ + 'en' => 'No Print', + 'de' => 'Kein Druck', + 'fr' => 'Sans impression' + ] + ] + ] + ] + ], + 'Jeans' => [ + [ + 'name' => 'Made in', + 'slug' => 'made-in', + 'type' => 'text', + 'field' => 'TextInput', + 'required' => true, + 'is_translatable' => false, + 'description' => 'The country where the product was manufactured.', + ], + [ + 'name' => 'Fit', + 'slug' => 'fit', + 'type' => 'select', + 'field' => 'Select', + 'required' => true, + 'is_translatable' => false, + 'description' => 'The fit style of the product, such as slim, regular, or loose.', + 'options' => [ + [ + 'translations' => [ + 'en' => 'Skinny', + 'de' => 'Skinny', + 'fr' => 'Skinny' + ] + ], + [ + 'translations' => [ + 'en' => 'Slim', + 'de' => 'Slim', + 'fr' => 'Slim' + ] + ], + [ + 'translations' => [ + 'en' => 'Regular', + 'de' => 'Regular', + 'fr' => 'Regular' + ] + ], + [ + 'translations' => [ + 'en' => 'Relaxed', + 'de' => 'Relaxed', + 'fr' => 'Relaxed' + ] + ], + [ + 'translations' => [ + 'en' => 'Wide Leg', + 'de' => 'Wide Leg', + 'fr' => 'Wide Leg' + ] + ], + [ + 'translations' => [ + 'en' => 'Boot Cut', + 'de' => 'Boot Cut', + 'fr' => 'Boot Cut' + ] + ] + ] + ], + [ + 'name' => 'Rise', + 'slug' => 'rise', + 'type' => 'select', + 'field' => 'Select', + 'required' => true, + 'is_translatable' => true, + 'description' => 'The height of the waistline, such as low rise or high rise.', + 'options' => [ + [ + 'translations' => [ + 'en' => 'Low Rise', + 'de' => 'Niedriger Bund', + 'fr' => 'Taille basse' + ] + ], + [ + 'translations' => [ + 'en' => 'Mid Rise', + 'de' => 'Mittlerer Bund', + 'fr' => 'Taille moyenne' + ] + ], + [ + 'translations' => [ + 'en' => 'High Rise', + 'de' => 'Hoher Bund', + 'fr' => 'Taille haute' + ] + ], + [ + 'translations' => [ + 'en' => 'Ultra High Rise', + 'de' => 'Ultrahoher Bund', + 'fr' => 'Taille très haute' + ] + ] + ] + ], + [ + 'name' => 'Wash', + 'slug' => 'wash', + 'type' => 'select', + 'field' => 'Select', + 'required' => true, + 'is_translatable' => true, + 'description' => 'The type of wash used on the product, such as light wash or dark wash.', + 'options' => [ + [ + 'translations' => [ + 'en' => 'Light Wash', + 'de' => 'Heller Waschgang', + 'fr' => 'Délavage clair' + ] + ], + [ + 'translations' => [ + 'en' => 'Medium Wash', + 'de' => 'Mittlerer Waschgang', + 'fr' => 'Délavage moyen' + ] + ], + [ + 'translations' => [ + 'en' => 'Dark Wash', + 'de' => 'Dunkler Waschgang', + 'fr' => 'Délavage foncé' + ] + ], + [ + 'translations' => [ + 'en' => 'Raw/Unwashed', + 'de' => 'Roh/Ungebleicht', + 'fr' => 'Brut/Non lavé' + ] + ], + [ + 'translations' => [ + 'en' => 'Acid Wash', + 'de' => 'Säurewaschgang', + 'fr' => 'Délavage acide' + ] + ], + [ + 'translations' => [ + 'en' => 'Stone Wash', + 'de' => 'Steinwaschgang', + 'fr' => 'Délavage pierre' + ] + ] + ] + ], + [ + 'name' => 'Stretch Level', + 'type' => 'select', + 'field' => 'Select', + 'required' => true, + 'description' => 'The level of stretch in the product, such as no stretch or super stretch.', + 'options' => [ + [ + 'translations' => [ + 'en' => 'No Stretch', + 'de' => 'Keine Dehnung', + 'fr' => 'Pas d\'élasticité' + ] + ], + [ + 'translations' => [ + 'en' => 'Slight Stretch', + 'de' => 'Geringe Dehnung', + 'fr' => 'Légère élasticité' + ] + ], + [ + 'translations' => [ + 'en' => 'Stretch', + 'de' => 'Dehnung', + 'fr' => 'Élasticité' + ] + ], + [ + 'translations' => [ + 'en' => 'Super Stretch', + 'de' => 'Superdehnung', + 'fr' => 'Super élasticité' + ] + ] + ] + ], + [ + 'name' => 'Inseam Length', + 'type' => 'number', + 'field' => 'TextInput', + 'required' => true, + 'unit' => 'cm', + 'description' => 'The length of the inseam in centimeters.', + ] + ], + 'Dress' => [ + [ + 'name' => 'Length', + 'slug' => 'length', + 'type' => 'select', + 'field' => 'Select', + 'required' => true, + 'is_translatable' => false, + 'description' => 'The length of the dress, such as mini or maxi.', + 'options' => [ + [ + 'translations' => [ + 'en' => 'Mini', + 'de' => 'Mini', + 'fr' => 'Mini' + ] + ], + [ + 'translations' => [ + 'en' => 'Midi', + 'de' => 'Midi', + 'fr' => 'Midi' + ] + ], + [ + 'translations' => [ + 'en' => 'Maxi', + 'de' => 'Maxi', + 'fr' => 'Maxi' + ] + ], + [ + 'translations' => [ + 'en' => 'Above Knee', + 'de' => 'Above Knee', + 'fr' => 'Above Knee' + ] + ], + [ + 'translations' => [ + 'en' => 'Knee Length', + 'de' => 'Knee Length', + 'fr' => 'Knee Length' + ] + ] + ] + ], + [ + 'name' => 'Silhouette', + 'slug' => 'silhouette', + 'type' => 'select', + 'field' => 'Select', + 'required' => true, + 'is_translatable' => false, + 'description' => 'The shape of the dress, such as A-line or bodycon.', + 'options' => [ + [ + 'translations' => [ + 'en' => 'A-Line', + 'de' => 'A-Line', + 'fr' => 'A-Line' + ] + ], + [ + 'translations' => [ + 'en' => 'Bodycon', + 'de' => 'Bodycon', + 'fr' => 'Bodycon' + ] + ], + [ + 'translations' => [ + 'en' => 'Empire', + 'de' => 'Empire', + 'fr' => 'Empire' + ] + ], + [ + 'translations' => [ + 'en' => 'Shift', + 'de' => 'Shift', + 'fr' => 'Shift' + ] + ], + [ + 'translations' => [ + 'en' => 'Wrap', + 'de' => 'Wrap', + 'fr' => 'Wrap' + ] + ], + [ + 'translations' => [ + 'en' => 'Ball Gown', + 'de' => 'Ball Gown', + 'fr' => 'Ball Gown' + ] + ] + ] + ], + [ + 'name' => 'Neckline', + 'slug' => 'neckline', + 'type' => 'select', + 'field' => 'Select', + 'required' => true, + 'is_translatable' => false, + 'description' => 'The style of the neckline, such as V-neck or round neck.', + 'options' => [ + [ + 'translations' => [ + 'en' => 'V-Neck', + 'de' => 'V-Neck', + 'fr' => 'V-Neck' + ] + ], + [ + 'translations' => [ + 'en' => 'Round Neck', + 'de' => 'Round Neck', + 'fr' => 'Round Neck' + ] + ], + [ + 'translations' => [ + 'en' => 'Square Neck', + 'de' => 'Square Neck', + 'fr' => 'Square Neck' + ] + ], + [ + 'translations' => [ + 'en' => 'Sweetheart', + 'de' => 'Sweetheart', + 'fr' => 'Sweetheart' + ] + ], + [ + 'translations' => [ + 'en' => 'Halter', + 'de' => 'Halter', + 'fr' => 'Halter' + ] + ], + [ + 'translations' => [ + 'en' => 'Off-Shoulder', + 'de' => 'Off-Shoulder', + 'fr' => 'Off-Shoulder' + ] + ] + ] + ], + [ + 'name' => 'Sleeve Type', + 'slug' => 'sleeve-type', + 'type' => 'select', + 'field' => 'Select', + 'required' => true, + 'is_translatable' => true, + 'description' => 'The type of sleeves, such as short sleeve or long sleeve.', + 'options' => [ + [ + 'translations' => [ + 'en' => 'Sleeveless', + 'de' => 'Ärmellos', + 'fr' => 'Sans manches' + ] + ], + [ + 'translations' => [ + 'en' => 'Cap Sleeve', + 'de' => 'Kurzarm', + 'fr' => 'Manche courte' + ] + ], + [ + 'translations' => [ + 'en' => 'Short Sleeve', + 'de' => 'Kurzarm', + 'fr' => 'Manche courte' + ] + ], + [ + 'translations' => [ + 'en' => 'Long Sleeve', + 'de' => 'Langarm', + 'fr' => 'Manche longue' + ] + ], + [ + 'translations' => [ + 'en' => 'Bell Sleeve', + 'de' => 'Glockenärmel', + 'fr' => 'Manche cloche' + ] + ], + [ + 'translations' => [ + 'en' => 'Flutter Sleeve', + 'de' => 'Flatterärmel', + 'fr' => 'Manche papillon' + ] + ] + ] + ], + [ + 'name' => 'Main Color', + 'type' => 'color', + 'field' => 'ColorPicker', + 'required' => true, + 'description' => 'The primary color of the product.', + ], + [ + 'name' => 'Has Pockets', + 'type' => 'boolean', + 'field' => 'Toggle', + 'required' => false, + 'description' => 'Indicates whether the product has pockets.', + ] + ] + ]; + + foreach ($attributesByType as $typeName => $attributes) { + $type = ProductType::where('name', $typeName)->first(); + + if (!$type) { + Log::warning("Product type not found: {$typeName}"); + continue; + } + + foreach ($attributes as $rank => $attributeData) { + $attribute = ProductTypeAttribute::create([ + 'name' => $attributeData['name'], + 'slug' => $attributeData['slug'] ?? Str::slug($attributeData['name']), + 'type' => $attributeData['type'], + 'field' => $attributeData['field'], + 'required' => $attributeData['required'], + 'rank' => $rank, + 'unit' => $attributeData['unit'] ?? null, + 'is_translatable' => $attributeData['is_translatable'] ?? false, + 'description' => $attributeData['description'] ?? null, + 'product_type_id' => $type->id, + ]); + + Log::info("Created attribute: {$attributeData['name']} for type: {$typeName}"); + + // Create options if they exist + if (isset($attributeData['options'])) { + foreach ($attributeData['options'] as $option) { + try { + // Create the option + $attributeOption = ProductTypeAttributeOption::create([ + 'product_type_attribute_id' => $attribute->id, + ]); + + Log::info("Created option for attribute: {$attributeData['name']}"); + + // Create localized values for each locale + foreach ($locales as $locale) { + // Get the translated value for this locale, fallback to English if not available + $translatedValue = $option['translations'][$locale->code] ?? $option['translations']['en']; + + $value = ProductTypeAttributeOptionValue::create([ + 'value' => $translatedValue, + 'locale_id' => $locale->id, + 'product_type_attribute_option_id' => $attributeOption->id, + ]); + + Log::info("Created option value for locale: {$locale->code}, value: {$value->value}"); + } + } catch (\Exception $e) { + Log::error("Error creating option: " . $e->getMessage()); + } + } + } + } + } + } +} diff --git a/database/seeders/CategorySeeder.php b/database/seeders/CategorySeeder.php new file mode 100644 index 0000000..aaa96b6 --- /dev/null +++ b/database/seeders/CategorySeeder.php @@ -0,0 +1,60 @@ + 'Root', + 'description' => 'Root category for all products', + 'is_active' => true, + 'parent_id' => null, + ]); + + // Create main fashion category + Category::create([ + 'name' => 'Fashion', + 'description' => 'Clothing, shoes, accessories, and jewelry', + 'is_active' => true, + 'parent_id' => 1, + ]); + + // Create fashion subcategories + $subCategories = [ + [ + 'name' => 'Women\'s Clothing', + 'description' => 'Dresses, tops, skirts and more for women', + 'is_active' => true, + 'parent_id' => 2, + ], + [ + 'name' => 'Men\'s Clothing', + 'description' => 'Shirts, pants, suits and more for men', + 'is_active' => true, + 'parent_id' => 2, + ], + [ + 'name' => 'Shoes', + 'description' => 'Athletic shoes, boots, sandals, and more', + 'is_active' => true, + 'parent_id' => 2, + ], + [ + 'name' => 'Accessories', + 'description' => 'Hats, scarves, belts, and more', + 'is_active' => true, + 'parent_id' => 2, + ], + ]; + + foreach ($subCategories as $category) { + Category::create($category); + } + } +} diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 7ac93f8..7557eab 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -2,786 +2,21 @@ namespace Database\Seeders; -use App\Models\User; -use App\Models\Category; -use App\Models\SellerProduct; -use App\Models\Status; -use App\Models\SellerVariant; -use App\Models\Location; -use App\Models\Stock; -use App\Models\Currency; -use App\Models\Price; -use App\Models\Operator; -use App\Models\Partnership; use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { - /** - * Seed the application's database. - */ public function run(): void { - - // Create user r - $ownerUser = \App\Models\User::factory()->create([ - 'name' => 'Mr Operator', - 'email' => 'owner@ossc.tech', - 'password' => bcrypt('owner@ossc.tech'), - 'is_seller' => false, - ]); - - $sellerUser = \App\Models\User::factory()->create([ - 'name' => 'Mr Seller', - 'email' => 'seller@ossc.tech', - 'password' => bcrypt('seller@ossc.tech'), - 'is_seller' => true, + $this->call([ + UserSeeder::class, + CategorySeeder::class, + ProductTypeSeeder::class, + LocaleSeeder::class, + AttributeSeeder::class, + SellerDataSeeder::class, + LocationSeeder::class, + ProductSeeder::class, ]); - - $seller = \App\Models\Seller::create([ - 'name' => 'BarSeller' - ]); - - $sellerUser->sellers()->attach($seller); - - $partnership = Partnership::create([ - 'seller_id' => $seller->id, - 'status' => 'submitted', - 'notes' => 'Initial partnership application' - ]); - - $sellerData = \App\Models\SellerData::create([ - 'seller_id' => $seller->id, - 'description' => 'BarSeller Inc. is a company that sells wooden furniture.', - 'company_name' => 'BarSeller Inc.', - 'address_line1' => '123 Market Street', - 'address_line2' => 'Suite 456', - 'city' => 'San Francisco', - 'state' => 'CA', - 'postal_code' => '94105', - 'country_code' => 'US', - 'phone' => '+1-415-555-0123', - 'vat' => 'US123456789', - 'tin' => '12-3456789', - 'eori' => 'US12345678901234', - 'iban' => 'US123456789012345678901234', - 'swift_bic' => 'CHASUS33XXX', - 'bank_name' => 'Chase Bank' - ]); - - $categories = [ - // Create root category first - [ - 'name' => 'Root', - 'description' => 'Root category for all products', - 'is_active' => true, - 'parent_id' => null, - - ], - ]; - - // Create root category first - Category::create($categories[0]); - - // Now create the rest of the categories - $mainCategories = [ - [ - 'name' => 'Electronics', - 'description' => 'Smartphones, laptops, tablets, and other electronic devices', - 'is_active' => true, - 'parent_id' => 1, // References the Root category - - ], - [ - 'name' => 'Home & Kitchen', - 'description' => 'Appliances, kitchenware, furniture, and home décor', - 'is_active' => true, - 'parent_id' => 1, - - ], - [ - 'name' => 'Fashion', - 'description' => 'Clothing, shoes, accessories, and jewelry', - 'is_active' => true, - 'parent_id' => 1, - - ], - [ - 'name' => 'Sports & Outdoors', - 'description' => 'Athletic equipment, camping gear, and outdoor recreation products', - 'is_active' => true, - 'parent_id' => 1, - - ], - [ - 'name' => 'Beauty & Personal Care', - 'description' => 'Cosmetics, skincare, haircare, and personal hygiene products', - 'is_active' => true, - 'parent_id' => 1, - - ], - [ - 'name' => 'Books & Media', - 'description' => 'Books, e-books, movies, music, and educational content', - 'is_active' => true, - 'parent_id' => 1, - - ], - [ - 'name' => 'Toys & Games', - 'description' => 'Children\'s toys, board games, and entertainment items', - 'is_active' => true, - 'parent_id' => 1, - - ], - [ - 'name' => 'Automotive', - 'description' => 'Car parts, accessories, and maintenance products', - 'is_active' => true, - 'parent_id' => 1, - - ], - [ - 'name' => 'Pet Supplies', - 'description' => 'Pet food, accessories, and care products for all types of pets', - 'is_active' => true, - 'parent_id' => 1, - - ], - [ - 'name' => 'Office Supplies', - 'description' => 'Stationery, office furniture, and business essentials', - 'is_active' => true, - 'parent_id' => 1, - - ], - ]; - - foreach ($mainCategories as $category) { - Category::create($category); - } - - $subCategories = [ - // Electronics sub-categories - [ - 'name' => 'Smartphones', - 'description' => 'Mobile phones and accessories', - 'is_active' => true, - 'parent_id' => 2, // Electronics - - ], - [ - 'name' => 'Laptops', - 'description' => 'Notebook computers and accessories', - 'is_active' => true, - 'parent_id' => 2, - - ], - // Home & Kitchen sub-categories - [ - 'name' => 'Cookware', - 'description' => 'Pots, pans and cooking utensils', - 'is_active' => true, - 'parent_id' => 3, - - ], - [ - 'name' => 'Small Appliances', - 'description' => 'Coffee makers, toasters, blenders etc', - 'is_active' => true, - 'parent_id' => 3, - - ], - // Fashion sub-categories - [ - 'name' => 'Women\'s Clothing', - 'description' => 'Dresses, tops, pants and more for women', - 'is_active' => true, - 'parent_id' => 4, - - ], - [ - 'name' => 'Men\'s Clothing', - 'description' => 'Shirts, pants, suits and more for men', - 'is_active' => true, - 'parent_id' => 4, - - ], - ]; - - foreach ($subCategories as $category) { - Category::create($category); - } - - $sellerProducts = [ - [ - 'name' => 'Sony WH-1000XM4 Wireless Headphones', - 'description' => 'Industry-leading noise canceling with Dual Noise Sensor technology', - 'attributes' => [ - 'brand' => 'Sony', - 'color' => ['Black', 'Silver', 'Blue'], - 'battery_life' => '30 hours', - 'connectivity' => 'Bluetooth 5.0' - ], - 'category_id' => Category::inRandomOrder()->first()->id, - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Le Creuset Enameled Dutch Oven', - 'description' => 'Premium cast iron cooking pot with superior heat distribution and retention', - 'attributes' => [ - 'material' => 'Enameled Cast Iron', - 'capacity' => '5.5 Qt', - 'colors_available' => ['Flame', 'Marine', 'Cerise'], - 'dishwasher_safe' => true - ], - 'category_id' => Category::inRandomOrder()->first()->id, - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Nike Air Zoom Pegasus 38', - 'description' => 'Responsive running shoes with Zoom Air cushioning', - 'attributes' => [ - 'type' => 'Running Shoes', - 'sizes' => ['US 7-13'], - 'colors' => ['Black/White', 'Grey/Volt'], - 'gender' => 'Unisex' - ], - 'category_id' => Category::inRandomOrder()->first()->id, - 'seller_id' => $seller->id, - ], - [ - 'name' => 'DJI Mini 2 Drone', - 'description' => 'Ultralight and foldable drone with 4K camera', - 'attributes' => [ - 'flight_time' => '31 minutes', - 'camera' => '4K', - 'weight' => '249g', - 'range' => '10km' - ], - 'category_id' => Category::inRandomOrder()->first()->id, - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Dyson V15 Detect', - 'description' => 'Cordless vacuum with laser dust detection', - 'attributes' => [ - 'runtime' => '60 minutes', - 'bin_capacity' => '0.75L', - 'weight' => '6.8 lbs', - 'features' => ['Laser Detection', 'LCD Screen'] - ], - 'category_id' => Category::inRandomOrder()->first()->id, - 'seller_id' => $seller->id, - ], - [ - 'name' => 'LEGO Star Wars Millennium Falcon', - 'description' => 'Detailed replica of the iconic spacecraft', - 'attributes' => [ - 'pieces' => 7541, - 'age_range' => '16+', - 'dimensions' => '33x22x8 inches', - 'includes_minifigures' => true - ], - 'category_id' => Category::inRandomOrder()->first()->id, - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Kindle Paperwhite', - 'description' => 'Waterproof e-reader with 6.8" display and adjustable warm light', - 'attributes' => [ - 'storage' => '8GB', - 'screen_size' => '6.8 inches', - 'waterproof_rating' => 'IPX8', - 'battery_life' => '10 weeks' - ], - 'category_id' => Category::inRandomOrder()->first()->id, - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Automatic Pet Feeder', - 'description' => 'Smart pet feeder with programmable meal times', - 'attributes' => [ - 'capacity' => '6L', - 'meal_settings' => '1-4 meals/day', - 'power_source' => ['Battery', 'USB'], - 'app_control' => true - ], - 'category_id' => Category::inRandomOrder()->first()->id, - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Herman Miller Aeron Chair', - 'description' => 'Ergonomic office chair with PostureFit SL support', - 'attributes' => [ - 'size_options' => ['A', 'B', 'C'], - 'material' => '8Z Pellicle', - 'warranty' => '12 years', - 'adjustable_features' => ['Height', 'Tilt', 'Arms'] - ], - 'category_id' => Category::inRandomOrder()->first()->id, - 'seller_id' => $seller->id, - ], - [ - 'name' => 'MAC Professional Makeup Kit', - 'description' => 'Complete makeup artist kit with essential products', - 'attributes' => [ - 'includes' => ['Eyeshadows', 'Lipsticks', 'Brushes'], - 'shades' => 48, - 'professional_grade' => true, - 'travel_case' => true - ], - 'category_id' => Category::inRandomOrder()->first()->id, - 'seller_id' => $seller->id, - ], - ]; - - foreach ($sellerProducts as $product) { - SellerProduct::create($product); - } - - $sellerVariants = [ - // Sony Headphones Variants - [ - 'name' => 'WH-1000XM4 - Midnight Black', - 'description' => 'Classic black colorway with premium finish', - 'sku' => 'SONY-WH4-BLK', - 'attributes' => [ - 'color' => 'Midnight Black', - 'warranty' => '1 year', - 'includes' => ['Carrying Case', 'Audio Cable', 'USB-C Cable'] - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - [ - 'name' => 'WH-1000XM4 - Platinum Silver', - 'description' => 'Sleek silver edition with matching accessories', - 'sku' => 'SONY-WH4-SLV', - 'attributes' => [ - 'color' => 'Platinum Silver', - 'warranty' => '1 year', - 'includes' => ['Carrying Case', 'Audio Cable', 'USB-C Cable'] - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - // Le Creuset Variants - [ - 'name' => 'Dutch Oven - Flame Orange 5.5Qt', - 'description' => 'Signature flame orange color, 5.5-quart capacity', - 'sku' => 'LC-DO-55-FLM', - 'attributes' => [ - 'color' => 'Flame Orange', - 'size' => '5.5 Qt', - 'material' => 'Enameled Cast Iron' - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Dutch Oven - Marine Blue 7.25Qt', - 'description' => 'Deep marine blue color, larger 7.25-quart capacity', - 'sku' => 'LC-DO-72-MRN', - 'attributes' => [ - 'color' => 'Marine Blue', - 'size' => '7.25 Qt', - 'material' => 'Enameled Cast Iron' - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - // Nike Shoes Variants - [ - 'name' => 'Pegasus 38 - Black/White US 9', - 'description' => 'Classic black and white colorway, size US 9', - 'sku' => 'NK-PG38-BW-09', - 'attributes' => [ - 'color' => 'Black/White', - 'size' => 'US 9', - 'width' => 'Regular' - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Pegasus 38 - Grey/Volt US 10', - 'description' => 'Grey with volt accents, size US 10', - 'sku' => 'NK-PG38-GV-10', - 'attributes' => [ - 'color' => 'Grey/Volt', - 'size' => 'US 10', - 'width' => 'Wide' - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - // Dyson Variants - [ - 'name' => 'V15 Detect - Complete', - 'description' => 'Complete set with all attachments', - 'sku' => 'DYS-V15-CMP', - 'attributes' => [ - 'model' => 'Complete', - 'attachments' => ['All Standard', 'Extra Tools'], - 'warranty' => '2 years' - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - [ - 'name' => 'V15 Detect - Essential', - 'description' => 'Essential package with standard attachments', - 'sku' => 'DYS-V15-ESS', - 'attributes' => [ - 'model' => 'Essential', - 'attachments' => ['Standard Only'], - 'warranty' => '2 years' - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - // Kindle Variants - [ - 'name' => 'Paperwhite 8GB - With Ads', - 'description' => 'Standard version with special offers', - 'attributes' => [ - 'storage' => '8GB', - 'special_offers' => true, - 'color' => 'Black' - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Paperwhite 16GB - No Ads', - 'description' => 'Extended storage without special offers', - 'attributes' => [ - 'storage' => '16GB', - 'special_offers' => false, - 'color' => 'Black' - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - // Herman Miller Variants - [ - 'name' => 'Aeron - Size A Graphite', - 'description' => 'Small size in graphite finish', - 'attributes' => [ - 'size' => 'A', - 'color' => 'Graphite', - 'lumbar_support' => true - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Aeron - Size B Mineral', - 'description' => 'Medium size in mineral finish', - 'attributes' => [ - 'size' => 'B', - 'color' => 'Mineral', - 'lumbar_support' => true - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - // MAC Makeup Variants - [ - 'name' => 'Pro Kit - Warm Tones', - 'description' => 'Professional kit focused on warm shades', - 'attributes' => [ - 'palette_type' => 'Warm', - 'number_of_shades' => 24, - 'includes_brushes' => true - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Pro Kit - Cool Tones', - 'description' => 'Professional kit focused on cool shades', - 'attributes' => [ - 'palette_type' => 'Cool', - 'number_of_shades' => 24, - 'includes_brushes' => true - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - // DJI Drone Variants - [ - 'name' => 'Mini 2 - Standard', - 'description' => 'Standard package with basic accessories', - 'attributes' => [ - 'package_type' => 'Standard', - 'batteries' => 1, - 'carrying_case' => 'Basic' - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Mini 2 - Fly More Combo', - 'description' => 'Extended package with additional accessories', - 'attributes' => [ - 'package_type' => 'Fly More', - 'batteries' => 3, - 'carrying_case' => 'Premium' - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - // Pet Feeder Variants - [ - 'name' => 'Smart Feeder - Standard', - 'description' => 'Basic model with essential features', - 'attributes' => [ - 'capacity' => '4L', - 'wifi_enabled' => false, - 'battery_backup' => true - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Smart Feeder - Premium', - 'description' => 'Advanced model with WiFi connectivity', - 'attributes' => [ - 'capacity' => '6L', - 'wifi_enabled' => true, - 'battery_backup' => true - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - // LEGO Variants - [ - 'name' => 'Millennium Falcon - Standard Edition', - 'description' => 'Regular retail version', - 'attributes' => [ - 'edition' => 'Standard', - 'exclusive_minifigures' => false, - 'display_stand' => false - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Millennium Falcon - Collector\'s Edition', - 'description' => 'Limited collector\'s version with extras', - 'attributes' => [ - 'edition' => 'Collector', - 'exclusive_minifigures' => true, - 'display_stand' => true - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - // Additional Generic Variants - [ - 'name' => 'Limited Holiday Edition', - 'description' => 'Special holiday season variant', - 'attributes' => [ - 'edition_type' => 'Limited', - 'season' => 'Holiday 2023', - 'numbered' => true - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Starter Bundle', - 'description' => 'Perfect for beginners', - 'attributes' => [ - 'bundle_type' => 'Starter', - 'includes_guide' => true, - 'bonus_items' => true - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Premium Bundle', - 'description' => 'Complete set with all accessories', - 'attributes' => [ - 'bundle_type' => 'Premium', - 'exclusive_content' => true, - 'extended_warranty' => true - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Professional Edition', - 'description' => 'Enhanced version for professional users', - 'attributes' => [ - 'edition' => 'Professional', - 'pro_features' => true, - 'support_level' => 'Priority' - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - [ - 'name' => 'Basic Edition', - 'description' => 'Standard version for regular users', - 'attributes' => [ - 'edition' => 'Basic', - 'pro_features' => false, - 'support_level' => 'Standard' - ], - 'seller_product_id' => SellerProduct::inRandomOrder()->first()->id, - - 'seller_id' => $seller->id, - ], - ]; - - foreach ($sellerVariants as $variant) { - SellerVariant::create($variant); - } - - $locations = [ - [ - 'name' => 'Central Distribution Center', - 'address' => '2250 Parkway Drive, Denver, CO 80216', - 'default_delivery_days' => 2, - 'seller_id' => $seller->id, - ], - [ - 'name' => 'West Coast Fulfillment Center', - 'address' => '1100 Harbor Bay Parkway, Oakland, CA 94502', - 'default_delivery_days' => 3, - 'seller_id' => $seller->id, - ], - [ - 'name' => 'East Coast Warehouse', - 'address' => '200 Liberty Way, Newark, NJ 07114', - 'default_delivery_days' => 2, - 'seller_id' => $seller->id, - ], - ]; - - foreach ($locations as $location) { - Location::create($location); - } - - // Create multiple stock entries for each variant across different locations - $stocks = []; - - // Get all variants and locations to distribute stock across them - $variants = SellerVariant::all(); - $locations = Location::all(); - - // Create stock entries ensuring good distribution - foreach ($variants as $variant) { - // Randomly decide how many locations this variant is stocked in (1-3) - $numberOfLocations = rand(1, 3); - $randomLocations = $locations->random($numberOfLocations); - - foreach ($randomLocations as $location) { - $stocks[] = [ - 'quantity' => rand(50, 500), - 'reserved' => rand(0, 20), - 'safety_stock' => rand(10, 50), - 'seller_variant_id' => $variant->id, - 'seller_product_id' => $variant->sellerProduct->id, - 'location_id' => $location->id, - 'seller_id' => $seller->id, - ]; - } - } - - // Trim to exactly 35 entries if we generated more - $stocks = array_slice($stocks, 0, 35); - - foreach ($stocks as $stock) { - Stock::create($stock); - } - - $currencies = [ - [ - 'code' => 'USD', - 'symbol' => '$', - 'name' => 'US Dollar', - - ], - [ - 'code' => 'EUR', - 'symbol' => '€', - 'name' => 'Euro', - - ], - [ - 'code' => 'GBP', - 'symbol' => '£', - 'name' => 'British Pound Sterling', - - ] - ]; - - foreach ($currencies as $currency) { - Currency::create($currency); - } - - - // Get all variants and currencies - $variants = SellerVariant::all(); - $currencies = Currency::all(); - - // Create a price for each variant in each currency - foreach ($variants as $variant) { - // Base price in USD (between $10 and $2000) - $basePrice = rand(1000, 200000); // in cents - - foreach ($currencies as $currency) { - // Apply conversion rates (approximate) - $value = match ($currency->code) { - 'USD' => $basePrice, - 'EUR' => (int)($basePrice * 0.93), // USD to EUR - 'GBP' => (int)($basePrice * 0.79), // USD to GBP - default => $basePrice - }; - - // Set USD as default currency - if ($currency->code === 'USD') { - $currency->is_default = true; - $currency->save(); - } - - $price = new Price([ - 'amount' => $value, - 'seller_variant_id' => $variant->id, - 'seller_product_id' => $variant->sellerProduct->id, - 'currency_id' => $currency->id - ]); - $price->save(); - } - } } } diff --git a/database/seeders/LocaleSeeder.php b/database/seeders/LocaleSeeder.php new file mode 100644 index 0000000..dbddb65 --- /dev/null +++ b/database/seeders/LocaleSeeder.php @@ -0,0 +1,34 @@ + 'en', + 'name' => 'English', + 'default' => true, + ], + [ + 'code' => 'de', + 'name' => 'German', + 'default' => false, + ], + [ + 'code' => 'fr', + 'name' => 'French', + 'default' => false, + ], + ]; + + foreach ($locales as $locale) { + Locale::create($locale); + } + } +} diff --git a/database/seeders/LocationSeeder.php b/database/seeders/LocationSeeder.php new file mode 100644 index 0000000..75644f6 --- /dev/null +++ b/database/seeders/LocationSeeder.php @@ -0,0 +1,48 @@ + $seller->id, + 'name' => 'Main Warehouse', + 'address' => '789 Warehouse Ave, Unit 101, San Francisco, CA 94107', + 'default_delivery_days' => 3, + ]); + + // Create additional locations + $locations = [ + [ + 'name' => 'Central Distribution Center', + 'address' => '2250 Parkway Drive, Denver, CO 80216', + 'default_delivery_days' => 2, + 'seller_id' => $seller->id, + ], + [ + 'name' => 'West Coast Fulfillment Center', + 'address' => '1100 Harbor Bay Parkway, Oakland, CA 94502', + 'default_delivery_days' => 3, + 'seller_id' => $seller->id, + ], + [ + 'name' => 'East Coast Warehouse', + 'address' => '200 Liberty Way, Newark, NJ 07114', + 'default_delivery_days' => 2, + 'seller_id' => $seller->id, + ], + ]; + + foreach ($locations as $locationData) { + Location::create($locationData); + } + } +} diff --git a/database/seeders/ProductSeeder.php b/database/seeders/ProductSeeder.php new file mode 100644 index 0000000..b0e8a24 --- /dev/null +++ b/database/seeders/ProductSeeder.php @@ -0,0 +1,203 @@ + 'Nike Air Max 270', + 'description' => 'Revolutionary Air technology meets modern comfort. The Nike Air Max 270 features the first-ever Max Air unit designed specifically for Nike Sportswear.', + 'brand' => 'Nike', + 'type' => 'Sneakers', + 'attributes' => [ + 'Material' => 'Engineered mesh upper with synthetic overlays', + 'Sole Type' => 'Max Air cushioning', + 'Closure Type' => 'Lace-up', + 'Style' => 'Athletic', + 'Season' => 'All-season', + 'Water Resistant' => 'No', + 'Collection' => 'Air Max', + 'Target Gender' => 'Unisex' + ], + 'variant_attributes' => [ + ['size' => '42', 'color' => 'Black'], + ['size' => '43', 'color' => 'Black'], + ['size' => '44', 'color' => 'Black'], + ['size' => '42', 'color' => 'White'], + ['size' => '43', 'color' => 'White'], + ['size' => '44', 'color' => 'White'], + ['size' => '42', 'color' => 'Red'], + ['size' => '43', 'color' => 'Red'] + ], + 'base_price' => 169.99, + 'image' => $faker->imageUrl(640, 480, 'sneakers', true) + ], + [ + 'name' => 'Premium Cotton Crew Neck', + 'description' => 'Ultra-soft 100% organic cotton t-shirt with a modern fit. Pre-shrunk fabric ensures lasting comfort and shape retention.', + 'brand' => 'Organic Basics', + 'type' => 'T-Shirt', + 'attributes' => [ + 'Material' => '100% organic cotton', + 'Weight' => '180 GSM', + 'Fit Type' => 'Regular fit', + 'Neckline' => 'Crew neck', + 'Care Instructions' => 'Machine wash cold, tumble dry low', + 'Sustainability' => 'Organic certified', + 'Origin' => 'Made in Portugal', + 'Sleeve Type' => 'Short sleeve' + ], + 'variant_attributes' => [ + ['size' => 'M', 'color' => 'Black'], + ['size' => 'L', 'color' => 'Black'], + ['size' => 'XL', 'color' => 'Black'], + ['size' => 'M', 'color' => 'White'], + ['size' => 'L', 'color' => 'White'], + ['size' => 'XL', 'color' => 'White'], + ['size' => 'M', 'color' => 'Navy'], + ['size' => 'L', 'color' => 'Navy'] + ], + 'base_price' => 39.99, + 'image' => $faker->imageUrl(640, 480, 'tshirt', true) + ], + [ + 'name' => 'Levi\'s 501 Original', + 'description' => 'The original straight fit jean that started it all. The 501® Original Fit Jeans are a cultural icon, featuring the signature button fly and straight leg fit.', + 'brand' => 'Levi\'s', + 'type' => 'Jeans', + 'attributes' => [ + 'Material' => '100% cotton denim', + 'Rise' => 'Mid rise', + 'Fit Type' => 'Straight fit', + 'Closure Type' => 'Button fly', + 'Care Instructions' => 'Machine wash cold, inside out', + 'Origin' => 'Made in USA', + 'Stretch' => 'Non-stretch', + 'Pocket Style' => '5-pocket styling', + 'Wash Type' => 'Light Wash', + 'Inseam Measurement' => '32' + ], + 'variant_attributes' => [ + ['size' => '32/32', 'wash' => 'Dark'], + ['size' => '33/32', 'wash' => 'Dark'], + ['size' => '34/32', 'wash' => 'Dark'], + ['size' => '32/32', 'wash' => 'Medium'], + ['size' => '33/32', 'wash' => 'Medium'], + ['size' => '34/32', 'wash' => 'Medium'], + ['size' => '32/32', 'wash' => 'Light'], + ['size' => '33/32', 'wash' => 'Light'] + ], + 'base_price' => 98.99, + 'image' => $faker->imageUrl(640, 480, 'jeans', true) + ], + [ + 'name' => 'Silk Evening Gown', + 'description' => 'Elegant floor-length evening dress in pure silk. Features a flattering A-line silhouette, subtle side slit, and delicate beading at the neckline.', + 'brand' => 'Elegance', + 'type' => 'Dress', + 'attributes' => [ + 'Material' => '100% pure silk', + 'Style' => 'A-line', + 'Length' => 'Floor length', + 'Occasion' => 'Evening wear', + 'Features' => 'Beaded neckline, side slit', + 'Care Instructions' => 'Dry clean only', + 'Lining' => 'Full silk lining', + 'Closure' => 'Hidden back zipper' + ], + 'variant_attributes' => [ + ['size' => 'S', 'color' => 'Black'], + ['size' => 'M', 'color' => 'Black'], + ['size' => 'L', 'color' => 'Black'], + ['size' => 'S', 'color' => 'Navy'], + ['size' => 'M', 'color' => 'Navy'], + ['size' => 'L', 'color' => 'Navy'], + ['size' => 'S', 'color' => 'Red'], + ['size' => 'M', 'color' => 'Red'] + ], + 'base_price' => 299.99, + 'image' => $faker->imageUrl(640, 480, 'dress', true) + ] + ]; + + // Get all currencies + $currencies = Currency::all(); + $conversionRates = [ + 'USD' => 1.0, + 'EUR' => 0.93, + 'GBP' => 0.79 + ]; + + foreach ($products as $productData) { + $type = $productData['type']; + $variantAttributes = $productData['variant_attributes']; + $attributes = $productData['attributes']; + $basePrice = $productData['base_price']; + $image = $productData['image']; + + unset( + $productData['type'], + $productData['variant_attributes'], + $productData['attributes'], + $productData['base_price'], + $productData['image'] + ); + + $productType = ProductType::where('name', $type)->first(); + + $sellerProduct = SellerProduct::create([ + ...$productData, + 'seller_id' => $seller->id, + 'attributes' => $attributes + ]); + + // Create variants with their attributes + foreach ($variantAttributes as $index => $attributeValues) { + $sku = strtoupper(substr($productData['brand'], 0, 3) . '-' . + implode('-', array_values($attributeValues)) . + '-' . str_pad($index + 1, 3, '0', STR_PAD_LEFT)); + + $variant = $sellerProduct->sellerVariants()->create([ + 'sku' => $sku, + 'attributes' => $attributeValues, + 'seller_id' => $seller->id + ]); + + // Create prices in different currencies + foreach ($currencies as $currency) { + $amount = (int) ($basePrice * $conversionRates[$currency->code] * 100); // Convert to cents + $variant->prices()->create([ + 'amount' => $amount, + 'currency_id' => $currency->id, + 'seller_product_id' => $sellerProduct->id + ]); + } + + // Create stock + $variant->stocks()->create([ + 'quantity' => rand(10, 100), + 'seller_product_id' => $sellerProduct->id, + 'seller_id' => $seller->id, + 'location_id' => $location->id, + 'safety_stock' => rand(5, 15), + 'reserved' => 0 + ]); + } + } + } +} diff --git a/database/seeders/ProductTypeSeeder.php b/database/seeders/ProductTypeSeeder.php new file mode 100644 index 0000000..d564b18 --- /dev/null +++ b/database/seeders/ProductTypeSeeder.php @@ -0,0 +1,23 @@ + $type]); + } + } +} diff --git a/database/seeders/SellerDataSeeder.php b/database/seeders/SellerDataSeeder.php new file mode 100644 index 0000000..2441554 --- /dev/null +++ b/database/seeders/SellerDataSeeder.php @@ -0,0 +1,34 @@ + $seller->id, + 'description' => 'BarSeller Inc. is a company that sells fashion products.', + 'company_name' => 'BarSeller Inc.', + 'address_line1' => '123 Market Street', + 'address_line2' => 'Suite 456', + 'city' => 'San Francisco', + 'state' => 'CA', + 'postal_code' => '94105', + 'country_code' => 'US', + 'phone' => '+1-415-555-0123', + 'vat' => 'US123456789', + 'tin' => '12-3456789', + 'eori' => 'US12345678901234', + 'iban' => 'US123456789012345678901234', + 'swift_bic' => 'CHASUS33XXX', + 'bank_name' => 'Chase Bank' + ]); + } +} diff --git a/database/seeders/UserSeeder.php b/database/seeders/UserSeeder.php new file mode 100644 index 0000000..f666ba6 --- /dev/null +++ b/database/seeders/UserSeeder.php @@ -0,0 +1,64 @@ +create([ + 'name' => 'Mr Operator', + 'email' => 'owner@ossc.tech', + 'password' => bcrypt('owner@ossc.tech'), + 'is_seller' => false, + ]); + + $sellerUser = User::factory()->create([ + 'name' => 'Mr Seller', + 'email' => 'seller@ossc.tech', + 'password' => bcrypt('seller@ossc.tech'), + 'is_seller' => true, + ]); + + // Create seller and associate with user + $seller = Seller::create([ + 'name' => 'BarSeller' + ]); + + $sellerUser->sellers()->attach($seller); + + // Create partnership + Partnership::create([ + 'seller_id' => $seller->id, + 'status' => 'submitted', + 'notes' => 'Initial partnership application' + ]); + + // Create seller data + SellerData::create([ + 'seller_id' => $seller->id, + 'description' => 'BarSeller Inc. is a company that sells wooden furniture.', + 'company_name' => 'BarSeller Inc.', + 'address_line1' => '123 Market Street', + 'address_line2' => 'Suite 456', + 'city' => 'San Francisco', + 'state' => 'CA', + 'postal_code' => '94105', + 'country_code' => 'US', + 'phone' => '+1-415-555-0123', + 'vat' => 'US123456789', + 'tin' => '12-3456789', + 'eori' => 'US12345678901234', + 'iban' => 'US123456789012345678901234', + 'swift_bic' => 'CHASUS33XXX', + 'bank_name' => 'Chase Bank' + ]); + } +} diff --git a/draft.yaml b/draft.yaml index 2a844c7..88db6ec 100644 --- a/draft.yaml +++ b/draft.yaml @@ -1,5 +1,5 @@ models: - + Seller: name: string hideProducts: boolean default:false @@ -56,6 +56,11 @@ models: seller_id: id foreign status: enum:draft,active,delisted default:draft selected: boolean default:false + ean: string nullable + upc: string nullable + gtin_14: string nullable + gtin_8: string nullable + golden_product_id: id foreign nullable relationships: hasMany: SellerVariant,Price,Stock,SellerProductImage:image @@ -64,9 +69,11 @@ models: seller_variant_id: id foreign nullable image: string number: integer default:1 + relationships: + hasOne: GoldenProductImage SellerVariant: - name: string + name: string nullable sku: string nullable description: text nullable attributes: json nullable @@ -104,7 +111,7 @@ models: symbol: string name: string nullable is_default: boolean default:false - + relationships: hasMany: Price @@ -113,6 +120,86 @@ models: seller_id: id foreign message_id: id foreign nullable + ProductType: + name: string + relationships: + hasMany: ProductTypeAttribute:attribute, GoldenProduct:product + + ProductTypeAttribute: + name: string + slug: string + type: enum:text,boolean,number,select,url,color + is_translatable: boolean default:false + field: enum:TextInput,Textarea,Checkbox,Toggle,Select,ColorPicker,RichEditor,MarkdownEditor + required: boolean default:false + rank: integer default:0 + description: string nullable + unit: string nullable + is_variant_attribute: boolean default:false + validators: json nullable + product_type_id: id foreign + relationships: + hasMany: ProductTypeAttributeOption:option + + ProductTypeAttributeOption: + product_type_attribute_id: id foreign + relationships: + hasMany: ProductTypeAttributeOptionValue:value + + ProductTypeAttributeOptionValue: + value: string + locale_id: id foreign + product_type_attribute_option_id: id foreign + relationships: + belongsToMany: GoldenProductAttribute + + GoldenProduct: + product_type_id: id foreign + relationships: + hasMany: GoldenProductLocalized:translation, SellerProduct, GoldenProductVariant:variant, GoldenProductAttribute:attribute + + GoldenProductAttribute: + product_type_attribute_id: id foreign + golden_product_id: id foreign + is_option: boolean default:false + relationships: + hasMany: GoldenProductAttributeValue:value + belongsToMany: ProductTypeAttributeOptionValue + + GoldenProductAttributeValue: + value: string + golden_product_attribute_id: id foreign + locale_id: id foreign + + GoldenProductLocalized: + name: string + description: text nullable + attributes: json nullable + locale_id: id foreign + golden_product_id: id foreign + + GoldenProductVariant: + golden_product_id: id foreign + relationships: + hasMany: GoldenProductVariantLocalized:translation + + GoldenProductVariantLocalized: + name: string nullable + description: text nullable + attributes: json nullable + golden_product_variant_id: id foreign + locale_id: id foreign + + GoldenProductImage: + golden_product_id: id foreign + image: string + number: integer default:1 + seller_product_image_id: id foreign + + Locale: + code: string + name: string + default: boolean controllers: # ... diff --git a/public/css/filament/filament/app.css b/public/css/filament/filament/app.css index bb61be9..925c77d 100644 --- a/public/css/filament/filament/app.css +++ b/public/css/filament/filament/app.css @@ -1 +1 @@ -*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.13 | MIT License | https://tailwindcss.com*/*,:after,:before{border-color:rgba(var(--gray-200),1);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:rgba(var(--gray-400),1);opacity:1}input::placeholder,textarea::placeholder{color:rgba(var(--gray-400),1);opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:rgba(var(--gray-500),var(--tw-border-opacity,1));border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:rgba(var(--gray-500),var(--tw-text-opacity,1));opacity:1}input::placeholder,textarea::placeholder{color:rgba(var(--gray-500),var(--tw-text-opacity,1));opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:rgba(var(--gray-500),var(--tw-border-opacity,1));border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}@media (forced-colors:active) {[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}:root.dark{color-scheme:dark}[data-field-wrapper]{scroll-margin-top:8rem}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"\201C""\201D""\2018""\2019"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em;margin-top:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-bottom:.8888889em;margin-top:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;line-height:1.2;margin-bottom:.8em;margin-top:0}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;line-height:1.4;margin-bottom:.8em;margin-top:1.6em}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-bottom:.4444444em;margin-top:1.5555556em}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.4285714;margin-bottom:.5714286em;margin-top:1.4285714em}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7142857em;margin-top:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7142857em;margin-top:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7142857em;margin-top:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.8571429em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-top:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.25rem;font-size:.8571429em;line-height:1.6666667;margin-bottom:1.6666667em;margin-top:1.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-top:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em;margin-top:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em;margin-top:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.2857143em;margin-top:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5714286em;margin-top:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5714286em;margin-top:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em;margin-top:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2.8571429em;margin-top:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-top:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7142857em;margin-top:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-base{font-size:1rem;line-height:1.75}.prose-base :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose-base :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose-base :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em}.prose-base :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.25em;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose-base :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.5em;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose-base :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.25em;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose-base :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose-base :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-base :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-base :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-base :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-base :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose-base :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-base :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-base :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-base :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.375rem;font-size:.875em;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose-base :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose-base :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose-base :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose-base :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose-base :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose-base :where(.prose-base>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose-base :where(.prose-base>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose-base>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(.prose-base>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose-base>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose-base :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose-base :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose-base :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:3em;margin-top:3em}.prose-base :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857}.prose-base :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose-base :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-base :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-base :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose-base :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-base :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-base :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-base :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-base :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose-base :where(.prose-base>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(.prose-base>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-lg{font-size:1.125rem;line-height:1.7777778}.prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2222222em;line-height:1.4545455;margin-bottom:1.0909091em;margin-top:1.0909091em}.prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6666667em;margin-top:1.6666667em;padding-inline-start:1em}.prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.6666667em;line-height:1;margin-bottom:.8333333em;margin-top:0}.prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.6666667em;line-height:1.3333333;margin-bottom:1.0666667em;margin-top:1.8666667em}.prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.3333333em;line-height:1.5;margin-bottom:.6666667em;margin-top:1.6666667em}.prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.5555556;margin-bottom:.4444444em;margin-top:1.7777778em}.prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.8888889em;padding-inline-end:.4444444em;padding-bottom:.2222222em;padding-top:.2222222em;padding-inline-start:.4444444em}.prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8666667em}.prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.375rem;font-size:.8888889em;line-height:1.75;margin-bottom:2em;margin-top:2em;padding-inline-end:1.5em;padding-bottom:1em;padding-top:1em;padding-inline-start:1.5em}.prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.6666667em;margin-top:.6666667em}.prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(.prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.prose-lg :where(.prose-lg>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose-lg>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;padding-inline-start:1.5555556em}.prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:3.1111111em;margin-top:3.1111111em}.prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5}.prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-top:.75em;padding-inline-start:.75em}.prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.prose-lg :where(.prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(.prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-4{inset:1rem}.inset-x-0{left:0;right:0}.inset-x-4{left:1rem;right:1rem}.inset-y-0{bottom:0;top:0}.-bottom-1\/2{bottom:-50%}.-top-1{top:-.25rem}.-top-1\/2{top:-50%}.-top-2{top:-.5rem}.-top-3{top:-.75rem}.bottom-0{bottom:0}.bottom-1\/2{bottom:50%}.end-0{inset-inline-end:0}.end-4{inset-inline-end:1rem}.end-6{inset-inline-end:1.5rem}.left-3{left:.75rem}.start-0{inset-inline-start:0}.start-full{inset-inline-start:100%}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-4{top:1rem}.top-6{top:1.5rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.order-first{order:-9999}.col-\[--col-span-default\]{grid-column:var(--col-span-default)}.col-span-full{grid-column:1/-1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-\[--col-start-default\]{grid-column-start:var(--col-start-default)}.row-start-2{grid-row-start:2}.-m-0\.5{margin:-.125rem}.-m-1{margin:-.25rem}.-m-1\.5{margin:-.375rem}.-m-2{margin:-.5rem}.-m-2\.5{margin:-.625rem}.-m-3{margin:-.75rem}.-m-3\.5{margin:-.875rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-my-1{margin-bottom:-.25rem;margin-top:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-16{margin-bottom:4rem;margin-top:4rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.my-auto{margin-bottom:auto;margin-top:auto}.\!mt-0{margin-top:0!important}.-mb-4{margin-bottom:-1rem}.-mb-6{margin-bottom:-1.5rem}.-me-2{margin-inline-end:-.5rem}.-ms-0\.5{margin-inline-start:-.125rem}.-ms-1{margin-inline-start:-.25rem}.-ms-2{margin-inline-start:-.5rem}.-mt-3{margin-top:-.75rem}.-mt-4{margin-top:-1rem}.-mt-6{margin-top:-1.5rem}.-mt-7{margin-top:-1.75rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.me-1{margin-inline-end:.25rem}.me-4{margin-inline-end:1rem}.me-6{margin-inline-end:1.5rem}.ml-auto{margin-left:auto}.ms-1{margin-inline-start:.25rem}.ms-auto{margin-inline-start:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.line-clamp-\[--line-clamp\]{-webkit-box-orient:vertical;-webkit-line-clamp:var(--line-clamp);display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.h-0{height:0}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-16{height:4rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[100dvh\],.h-dvh{height:100dvh}.h-full{height:100%}.h-screen{height:100vh}.max-h-96{max-height:24rem}.min-h-\[theme\(spacing\.48\)\]{min-height:12rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[calc\(100\%\+2rem\)\]{width:calc(100% + 2rem)}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-\[theme\(spacing\.4\)\]{min-width:1rem}.min-w-\[theme\(spacing\.5\)\]{min-width:1.25rem}.min-w-\[theme\(spacing\.6\)\]{min-width:1.5rem}.min-w-\[theme\(spacing\.8\)\]{min-width:2rem}.\!max-w-2xl{max-width:42rem!important}.\!max-w-3xl{max-width:48rem!important}.\!max-w-4xl{max-width:56rem!important}.\!max-w-5xl{max-width:64rem!important}.\!max-w-6xl{max-width:72rem!important}.\!max-w-7xl{max-width:80rem!important}.\!max-w-\[14rem\]{max-width:14rem!important}.\!max-w-lg{max-width:32rem!important}.\!max-w-md{max-width:28rem!important}.\!max-w-sm{max-width:24rem!important}.\!max-w-xl{max-width:36rem!important}.\!max-w-xs{max-width:20rem!important}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-md{max-width:28rem}.max-w-min{max-width:-moz-min-content;max-width:min-content}.max-w-none{max-width:none}.max-w-prose{max-width:65ch}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-screen-md{max-width:768px}.max-w-screen-sm{max-width:640px}.max-w-screen-xl{max-width:1280px}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.table-auto{table-layout:auto}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-1\/4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-1\/4{--tw-translate-x:-25%}.-translate-x-12{--tw-translate-x:-3rem}.-translate-x-12,.-translate-x-5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-5{--tw-translate-x:-1.25rem}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-12{--tw-translate-y:-3rem}.-translate-y-12,.-translate-y-3\/4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-3\/4{--tw-translate-y:-75%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-12{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-12{--tw-translate-x:3rem}.translate-x-5{--tw-translate-x:1.25rem}.translate-x-5,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-12{--tw-translate-y:3rem}.-rotate-180,.translate-y-12{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-180{--tw-rotate:-180deg}.rotate-180{--tw-rotate:180deg}.rotate-180,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize{resize:both}.scroll-mt-9{scroll-margin-top:2.25rem}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.columns-\[--cols-default\]{-moz-columns:var(--cols-default);columns:var(--cols-default)}.break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}.auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[--cols-default\]{grid-template-columns:var(--cols-default)}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.grid-cols-\[repeat\(7\2c minmax\(theme\(spacing\.7\)\2c 1fr\)\)\]{grid-template-columns:repeat(7,minmax(1.75rem,1fr))}.grid-cols-\[repeat\(auto-fit\2c minmax\(0\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.grid-rows-\[1fr_auto_1fr\]{grid-template-rows:1fr auto 1fr}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-start{justify-items:start}.justify-items-center{justify-items:center}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-2\.5{-moz-column-gap:.625rem;column-gap:.625rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.gap-y-6{row-gap:1.5rem}.gap-y-7{row-gap:1.75rem}.gap-y-8{row-gap:2rem}.gap-y-px{row-gap:1px}.-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-.25rem*var(--tw-space-x-reverse))}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-.5rem*var(--tw-space-x-reverse))}.-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-.75rem*var(--tw-space-x-reverse))}.-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-1rem*var(--tw-space-x-reverse))}.-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-1.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-1.25rem*var(--tw-space-x-reverse))}.-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-1.5rem*var(--tw-space-x-reverse))}.-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-1.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-1.75rem*var(--tw-space-x-reverse))}.-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-2rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-2rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(1px*var(--tw-divide-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(var(--gray-100),var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(var(--gray-200),var(--tw-divide-opacity))}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-clip{overflow-x:clip}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-xl{border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-x-\[0\.5px\]{border-left-width:.5px;border-right-width:.5px}.border-y{border-bottom-width:1px;border-top-width:1px}.\!border-t-0{border-top-width:0!important}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0}.border-e{border-inline-end-width:1px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.\!border-none{border-style:none!important}.border-none{border-style:none}.border-gray-100{--tw-border-opacity:1;border-color:rgba(var(--gray-100),var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(var(--gray-200),var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(var(--gray-300),var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgba(var(--gray-600),var(--tw-border-opacity))}.border-primary-500{--tw-border-opacity:1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgba(var(--primary-600),var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-t-gray-200{--tw-border-opacity:1;border-top-color:rgba(var(--gray-200),var(--tw-border-opacity))}.\!bg-gray-50{--tw-bg-opacity:1!important;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))!important}.\!bg-gray-700{--tw-bg-opacity:1!important;background-color:rgba(var(--gray-700),var(--tw-bg-opacity))!important}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-custom-100{--tw-bg-opacity:1;background-color:rgba(var(--c-100),var(--tw-bg-opacity))}.bg-custom-50{--tw-bg-opacity:1;background-color:rgba(var(--c-50),var(--tw-bg-opacity))}.bg-custom-600{--tw-bg-opacity:1;background-color:rgba(var(--c-600),var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(var(--gray-100),var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(var(--gray-200),var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgba(var(--gray-300),var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgba(var(--gray-400),var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.bg-gray-950\/50{background-color:rgba(var(--gray-950),.5)}.bg-primary-500{--tw-bg-opacity:1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/0{background-color:hsla(0,0%,100%,0)}.bg-white\/5{background-color:hsla(0,0%,100%,.05)}.\!bg-none{background-image:none!important}.bg-cover{background-size:cover}.bg-center{background-position:50%}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:.75rem}.pe-4{padding-inline-end:1rem}.pe-6{padding-inline-end:1.5rem}.pe-8{padding-inline-end:2rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:.75rem}.ps-4{padding-inline-start:1rem}.ps-\[5\.25rem\]{padding-inline-start:5.25rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-start{text-align:start}.text-end{text-align:end}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-loose{line-height:2}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.text-custom-400{--tw-text-opacity:1;color:rgba(var(--c-400),var(--tw-text-opacity))}.text-custom-50{--tw-text-opacity:1;color:rgba(var(--c-50),var(--tw-text-opacity))}.text-custom-500{--tw-text-opacity:1;color:rgba(var(--c-500),var(--tw-text-opacity))}.text-custom-600{--tw-text-opacity:1;color:rgba(var(--c-600),var(--tw-text-opacity))}.text-custom-700\/50{color:rgba(var(--c-700),.5)}.text-danger-600{--tw-text-opacity:1;color:rgba(var(--danger-600),var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgba(var(--gray-100),var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgba(var(--gray-600),var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.text-gray-700\/50{color:rgba(var(--gray-700),.5)}.text-gray-950{--tw-text-opacity:1;color:rgba(var(--gray-950),var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgba(var(--primary-400),var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity:1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgba(var(--primary-600),var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-0{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-custom-600{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--c-600),var(--tw-ring-opacity))}.ring-custom-600\/10{--tw-ring-color:rgba(var(--c-600),0.1)}.ring-custom-600\/20{--tw-ring-color:rgba(var(--c-600),0.2)}.ring-danger-600{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-600),var(--tw-ring-opacity))}.ring-gray-200{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-200),var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-300),var(--tw-ring-opacity))}.ring-gray-600\/10{--tw-ring-color:rgba(var(--gray-600),0.1)}.ring-gray-900\/10{--tw-ring-color:rgba(var(--gray-900),0.1)}.ring-gray-950\/10{--tw-ring-color:rgba(var(--gray-950),0.1)}.ring-gray-950\/5{--tw-ring-color:rgba(var(--gray-950),0.05)}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity))}.ring-white\/10{--tw-ring-color:hsla(0,0%,100%,.1)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.delay-100{transition-delay:.1s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[transform\:translateZ\(0\)\]{transform:translateZ(0)}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.placeholder\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-y-0:before{bottom:0;content:var(--tw-content);top:0}.before\:start-0:before{content:var(--tw-content);inset-inline-start:0}.before\:h-full:before{content:var(--tw-content);height:100%}.before\:w-0\.5:before{content:var(--tw-content);width:.125rem}.before\:bg-primary-600:before{--tw-bg-opacity:1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity));content:var(--tw-content)}.first\:border-s-0:first-child{border-inline-start-width:0}.first\:border-t-0:first-child{border-top-width:0}.last\:border-e-0:last-child{border-inline-end-width:0}.first-of-type\:ps-1:first-of-type{padding-inline-start:.25rem}.last-of-type\:pe-1:last-of-type{padding-inline-end:.25rem}.checked\:ring-0:checked{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:bg-gray-50:focus-within{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.hover\:bg-custom-400\/10:hover{background-color:rgba(var(--c-400),.1)}.hover\:bg-custom-50:hover{--tw-bg-opacity:1;background-color:rgba(var(--c-50),var(--tw-bg-opacity))}.hover\:bg-custom-500:hover{--tw-bg-opacity:1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgba(var(--gray-100),var(--tw-bg-opacity))}.hover\:bg-gray-400\/10:hover{background-color:rgba(var(--gray-400),.1)}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.hover\:text-custom-600:hover{--tw-text-opacity:1;color:rgba(var(--c-600),var(--tw-text-opacity))}.hover\:text-custom-700\/75:hover{color:rgba(var(--c-700),.75)}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.hover\:text-gray-700\/75:hover{color:rgba(var(--gray-700),.75)}.hover\:opacity-100:hover{opacity:1}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-danger-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-600),var(--tw-ring-opacity))}.focus\:ring-primary-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity))}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px}.checked\:focus\:ring-danger-500\/50:focus:checked{--tw-ring-color:rgba(var(--danger-500),0.5)}.checked\:focus\:ring-primary-500\/50:focus:checked{--tw-ring-color:rgba(var(--primary-500),0.5)}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-primary-500:focus-visible{--tw-border-opacity:1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.focus-visible\:bg-custom-50:focus-visible{--tw-bg-opacity:1;background-color:rgba(var(--c-50),var(--tw-bg-opacity))}.focus-visible\:bg-gray-100:focus-visible{--tw-bg-opacity:1;background-color:rgba(var(--gray-100),var(--tw-bg-opacity))}.focus-visible\:bg-gray-50:focus-visible{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.focus-visible\:text-custom-700\/75:focus-visible{color:rgba(var(--c-700),.75)}.focus-visible\:text-gray-500:focus-visible{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.focus-visible\:text-gray-700\/75:focus-visible{color:rgba(var(--gray-700),.75)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.focus-visible\:ring-custom-500\/50:focus-visible{--tw-ring-color:rgba(var(--c-500),0.5)}.focus-visible\:ring-custom-600:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--c-600),var(--tw-ring-opacity))}.focus-visible\:ring-gray-400\/40:focus-visible{--tw-ring-color:rgba(var(--gray-400),0.4)}.focus-visible\:ring-primary-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-500),var(--tw-ring-opacity))}.focus-visible\:ring-primary-600:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity))}.enabled\:cursor-wait:enabled{cursor:wait}.enabled\:opacity-70:enabled{opacity:.7}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:bg-gray-50:disabled{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.disabled\:text-gray-50:disabled{--tw-text-opacity:1;color:rgba(var(--gray-50),var(--tw-text-opacity))}.disabled\:text-gray-500:disabled{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.disabled\:opacity-70:disabled{opacity:.7}.disabled\:\[-webkit-text-fill-color\:theme\(colors\.gray\.500\)\]:disabled{-webkit-text-fill-color:rgba(var(--gray-500),1)}.disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.400\)\]:disabled::-moz-placeholder{-webkit-text-fill-color:rgba(var(--gray-400),1)}.disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.400\)\]:disabled::placeholder{-webkit-text-fill-color:rgba(var(--gray-400),1)}.disabled\:checked\:bg-current:checked:disabled{background-color:currentColor}.disabled\:checked\:text-gray-400:checked:disabled{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.group\/item:first-child .group-first\/item\:rounded-s-lg{border-end-start-radius:.5rem;border-start-start-radius:.5rem}.group\/item:last-child .group-last\/item\:rounded-e-lg{border-end-end-radius:.5rem;border-start-end-radius:.5rem}.group:hover .group-hover\:text-gray-500,.group\/button:hover .group-hover\/button\:text-gray-500{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-700{--tw-text-opacity:1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.group\/item:hover .group-hover\/item\:underline,.group\/link:hover .group-hover\/link\:underline{text-decoration-line:underline}.group:focus-visible .group-focus-visible\:text-gray-500{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.group:focus-visible .group-focus-visible\:text-gray-700{--tw-text-opacity:1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.group\/item:focus-visible .group-focus-visible\/item\:underline{text-decoration-line:underline}.group\/link:focus-visible .group-focus-visible\/link\:underline{text-decoration-line:underline}.dark\:flex:is(.dark *){display:flex}.dark\:hidden:is(.dark *){display:none}.dark\:divide-white\/10:is(.dark *)>:not([hidden])~:not([hidden]){border-color:hsla(0,0%,100%,.1)}.dark\:divide-white\/5:is(.dark *)>:not([hidden])~:not([hidden]){border-color:hsla(0,0%,100%,.05)}.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--gray-600),var(--tw-border-opacity))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--gray-700),var(--tw-border-opacity))}.dark\:border-primary-500:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.dark\:border-white\/10:is(.dark *){border-color:hsla(0,0%,100%,.1)}.dark\:border-white\/5:is(.dark *){border-color:hsla(0,0%,100%,.05)}.dark\:border-t-white\/10:is(.dark *){border-top-color:hsla(0,0%,100%,.1)}.dark\:\!bg-gray-700:is(.dark *){--tw-bg-opacity:1!important;background-color:rgba(var(--gray-700),var(--tw-bg-opacity))!important}.dark\:bg-custom-400\/10:is(.dark *){background-color:rgba(var(--c-400),.1)}.dark\:bg-custom-500:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}.dark\:bg-custom-500\/20:is(.dark *){background-color:rgba(var(--c-500),.2)}.dark\:bg-gray-400\/10:is(.dark *){background-color:rgba(var(--gray-400),.1)}.dark\:bg-gray-500:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-500),var(--tw-bg-opacity))}.dark\:bg-gray-500\/20:is(.dark *){background-color:rgba(var(--gray-500),.2)}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-600),var(--tw-bg-opacity))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-700),var(--tw-bg-opacity))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-800),var(--tw-bg-opacity))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}.dark\:bg-gray-900\/30:is(.dark *){background-color:rgba(var(--gray-900),.3)}.dark\:bg-gray-950:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-950),var(--tw-bg-opacity))}.dark\:bg-gray-950\/75:is(.dark *){background-color:rgba(var(--gray-950),.75)}.dark\:bg-primary-400:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--primary-400),var(--tw-bg-opacity))}.dark\:bg-primary-500:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.dark\:bg-transparent:is(.dark *){background-color:transparent}.dark\:bg-white\/10:is(.dark *){background-color:hsla(0,0%,100%,.1)}.dark\:bg-white\/5:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:fill-current:is(.dark *){fill:currentColor}.dark\:text-custom-300\/50:is(.dark *){color:rgba(var(--c-300),.5)}.dark\:text-custom-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--c-400),var(--tw-text-opacity))}.dark\:text-custom-400\/10:is(.dark *){color:rgba(var(--c-400),.1)}.dark\:text-danger-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--danger-400),var(--tw-text-opacity))}.dark\:text-danger-500:is(.dark *){--tw-text-opacity:1;color:rgba(var(--danger-500),var(--tw-text-opacity))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.dark\:text-gray-300\/50:is(.dark *){color:rgba(var(--gray-300),.5)}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.dark\:text-gray-700:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.dark\:text-gray-800:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-800),var(--tw-text-opacity))}.dark\:text-primary-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--primary-400),var(--tw-text-opacity))}.dark\:text-primary-500:is(.dark *){--tw-text-opacity:1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:text-white\/5:is(.dark *){color:hsla(0,0%,100%,.05)}.dark\:ring-custom-400\/30:is(.dark *){--tw-ring-color:rgba(var(--c-400),0.3)}.dark\:ring-custom-500:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--c-500),var(--tw-ring-opacity))}.dark\:ring-danger-500:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-500),var(--tw-ring-opacity))}.dark\:ring-gray-400\/20:is(.dark *){--tw-ring-color:rgba(var(--gray-400),0.2)}.dark\:ring-gray-50\/10:is(.dark *){--tw-ring-color:rgba(var(--gray-50),0.1)}.dark\:ring-gray-700:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-700),var(--tw-ring-opacity))}.dark\:ring-gray-900:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-900),var(--tw-ring-opacity))}.dark\:ring-white\/10:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.1)}.dark\:ring-white\/20:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.2)}.dark\:placeholder\:text-gray-500:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.dark\:placeholder\:text-gray-500:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.dark\:before\:bg-primary-500:is(.dark *):before{--tw-bg-opacity:1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity));content:var(--tw-content)}.dark\:checked\:bg-danger-500:checked:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--danger-500),var(--tw-bg-opacity))}.dark\:checked\:bg-primary-500:checked:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.dark\:focus-within\:bg-white\/5:focus-within:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:hover\:bg-custom-400:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--c-400),var(--tw-bg-opacity))}.dark\:hover\:bg-custom-400\/10:hover:is(.dark *){background-color:rgba(var(--c-400),.1)}.dark\:hover\:bg-white\/10:hover:is(.dark *){background-color:hsla(0,0%,100%,.1)}.dark\:hover\:bg-white\/5:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:hover\:text-custom-300:hover:is(.dark *){--tw-text-opacity:1;color:rgba(var(--c-300),var(--tw-text-opacity))}.dark\:hover\:text-custom-300\/75:hover:is(.dark *){color:rgba(var(--c-300),.75)}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.dark\:hover\:text-gray-300\/75:hover:is(.dark *){color:rgba(var(--gray-300),.75)}.dark\:hover\:text-gray-400:hover:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:hover\:ring-white\/20:hover:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.2)}.dark\:focus\:ring-danger-500:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-500),var(--tw-ring-opacity))}.dark\:focus\:ring-primary-500:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-500),var(--tw-ring-opacity))}.dark\:checked\:focus\:ring-danger-400\/50:focus:checked:is(.dark *){--tw-ring-color:rgba(var(--danger-400),0.5)}.dark\:checked\:focus\:ring-primary-400\/50:focus:checked:is(.dark *){--tw-ring-color:rgba(var(--primary-400),0.5)}.dark\:focus-visible\:border-primary-500:focus-visible:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.dark\:focus-visible\:bg-custom-400\/10:focus-visible:is(.dark *){background-color:rgba(var(--c-400),.1)}.dark\:focus-visible\:bg-white\/5:focus-visible:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:focus-visible\:text-custom-300\/75:focus-visible:is(.dark *){color:rgba(var(--c-300),.75)}.dark\:focus-visible\:text-gray-300\/75:focus-visible:is(.dark *){color:rgba(var(--gray-300),.75)}.dark\:focus-visible\:text-gray-400:focus-visible:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:focus-visible\:ring-custom-400\/50:focus-visible:is(.dark *){--tw-ring-color:rgba(var(--c-400),0.5)}.dark\:focus-visible\:ring-custom-500:focus-visible:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--c-500),var(--tw-ring-opacity))}.dark\:focus-visible\:ring-primary-500:focus-visible:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-500),var(--tw-ring-opacity))}.dark\:disabled\:bg-transparent:disabled:is(.dark *){background-color:transparent}.dark\:disabled\:text-gray-400:disabled:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:disabled\:ring-white\/10:disabled:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.1)}.dark\:disabled\:\[-webkit-text-fill-color\:theme\(colors\.gray\.400\)\]:disabled:is(.dark *){-webkit-text-fill-color:rgba(var(--gray-400),1)}.dark\:disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.500\)\]:disabled:is(.dark *)::-moz-placeholder{-webkit-text-fill-color:rgba(var(--gray-500),1)}.dark\:disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.500\)\]:disabled:is(.dark *)::placeholder{-webkit-text-fill-color:rgba(var(--gray-500),1)}.dark\:disabled\:checked\:bg-gray-600:checked:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-600),var(--tw-bg-opacity))}.group\/button:hover .dark\:group-hover\/button\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.group:hover .dark\:group-hover\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.group:hover .dark\:group-hover\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.group:focus-visible .dark\:group-focus-visible\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.group:focus-visible .dark\:group-focus-visible\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}@media (min-width:640px){.sm\:relative{position:relative}.sm\:inset-x-auto{left:auto;right:auto}.sm\:end-0{inset-inline-end:0}.sm\:col-\[--col-span-sm\]{grid-column:var(--col-span-sm)}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-start-\[--col-start-sm\]{grid-column-start:var(--col-start-sm)}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:-my-2{margin-bottom:-.5rem;margin-top:-.5rem}.sm\:ms-auto{margin-inline-start:auto}.sm\:mt-7{margin-top:1.75rem}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:table-cell{display:table-cell}.sm\:grid{display:grid}.sm\:inline-grid{display:inline-grid}.sm\:hidden{display:none}.sm\:w-\[calc\(100\%\+3rem\)\]{width:calc(100% + 3rem)}.sm\:w-screen{width:100vw}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-4xl{max-width:56rem}.sm\:max-w-5xl{max-width:64rem}.sm\:max-w-6xl{max-width:72rem}.sm\:max-w-7xl{max-width:80rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xl{max-width:36rem}.sm\:max-w-xs{max-width:20rem}.sm\:columns-\[--cols-sm\]{-moz-columns:var(--cols-sm);columns:var(--cols-sm)}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[--cols-sm\]{grid-template-columns:var(--cols-sm)}.sm\:grid-cols-\[repeat\(auto-fit\2c minmax\(0\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.sm\:grid-rows-\[1fr_auto_3fr\]{grid-template-rows:1fr auto 3fr}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-1{gap:.25rem}.sm\:gap-3{gap:.75rem}.sm\:gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.sm\:rounded-xl{border-radius:.75rem}.sm\:p-10{padding:2.5rem}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.sm\:pe-3{padding-inline-end:.75rem}.sm\:pe-6{padding-inline-end:1.5rem}.sm\:ps-3{padding-inline-start:.75rem}.sm\:ps-6{padding-inline-start:1.5rem}.sm\:pt-1\.5{padding-top:.375rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}.sm\:first-of-type\:ps-3:first-of-type{padding-inline-start:.75rem}.sm\:first-of-type\:ps-6:first-of-type{padding-inline-start:1.5rem}.sm\:last-of-type\:pe-3:last-of-type{padding-inline-end:.75rem}.sm\:last-of-type\:pe-6:last-of-type{padding-inline-end:1.5rem}}@media (min-width:768px){.md\:bottom-4{bottom:1rem}.md\:order-first{order:-9999}.md\:col-\[--col-span-md\]{grid-column:var(--col-span-md)}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-start-\[--col-start-md\]{grid-column-start:var(--col-start-md)}.md\:block{display:block}.md\:flex{display:flex}.md\:table-cell{display:table-cell}.md\:inline-grid{display:inline-grid}.md\:hidden{display:none}.md\:w-max{width:-moz-max-content;width:max-content}.md\:max-w-60{max-width:15rem}.md\:columns-\[--cols-md\]{-moz-columns:var(--cols-md);columns:var(--cols-md)}.md\:grid-flow-col{grid-auto-flow:column}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[--cols-md\]{grid-template-columns:var(--cols-md)}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:gap-1{gap:.25rem}.md\:gap-3{gap:.75rem}.md\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(0px*var(--tw-divide-y-reverse));border-top-width:calc(0px*(1 - var(--tw-divide-y-reverse)))}.md\:overflow-x-auto{overflow-x:auto}.md\:rounded-xl{border-radius:.75rem}.md\:p-20{padding:5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:pe-6{padding-inline-end:1.5rem}.md\:ps-3{padding-inline-start:.75rem}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:z-0{z-index:0}.lg\:col-\[--col-span-lg\]{grid-column:var(--col-span-lg)}.lg\:col-start-\[--col-start-lg\]{grid-column-start:var(--col-start-lg)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:table-cell{display:table-cell}.lg\:inline-grid{display:inline-grid}.lg\:hidden{display:none}.lg\:h-full{height:100%}.lg\:max-w-xs{max-width:20rem}.lg\:-translate-x-full{--tw-translate-x:-100%}.lg\:-translate-x-full,.lg\:translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:translate-x-0{--tw-translate-x:0px}.lg\:columns-\[--cols-lg\]{-moz-columns:var(--cols-lg);columns:var(--cols-lg)}.lg\:grid-cols-\[--cols-lg\]{grid-template-columns:var(--cols-lg)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:gap-1{gap:.25rem}.lg\:gap-3{gap:.75rem}.lg\:bg-transparent{background-color:transparent}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pe-8{padding-inline-end:2rem}.lg\:shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.lg\:shadow-none,.lg\:shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lg\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lg\:transition-none{transition-property:none}.lg\:delay-100{transition-delay:.1s}.dark\:lg\:bg-transparent:is(.dark *){background-color:transparent}}@media (min-width:1280px){.xl\:col-\[--col-span-xl\]{grid-column:var(--col-span-xl)}.xl\:col-start-\[--col-start-xl\]{grid-column-start:var(--col-start-xl)}.xl\:block{display:block}.xl\:table-cell{display:table-cell}.xl\:inline-grid{display:inline-grid}.xl\:hidden{display:none}.xl\:columns-\[--cols-xl\]{-moz-columns:var(--cols-xl);columns:var(--cols-xl)}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[--cols-xl\]{grid-template-columns:var(--cols-xl)}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:gap-1{gap:.25rem}.xl\:gap-3{gap:.75rem}}@media (min-width:1536px){.\32xl\:col-\[--col-span-2xl\]{grid-column:var(--col-span-2xl)}.\32xl\:col-start-\[--col-start-2xl\]{grid-column-start:var(--col-start-2xl)}.\32xl\:block{display:block}.\32xl\:table-cell{display:table-cell}.\32xl\:inline-grid{display:inline-grid}.\32xl\:hidden{display:none}.\32xl\:columns-\[--cols-2xl\]{-moz-columns:var(--cols-2xl);columns:var(--cols-2xl)}.\32xl\:grid-cols-\[--cols-2xl\]{grid-template-columns:var(--cols-2xl)}.\32xl\:flex-row{flex-direction:row}.\32xl\:items-start{align-items:flex-start}.\32xl\:items-end{align-items:flex-end}.\32xl\:items-center{align-items:center}.\32xl\:gap-1{gap:.25rem}.\32xl\:gap-3{gap:.75rem}}.ltr\:hidden:where([dir=ltr],[dir=ltr] *){display:none}.rtl\:hidden:where([dir=rtl],[dir=rtl] *){display:none}.rtl\:-translate-x-0:where([dir=rtl],[dir=rtl] *){--tw-translate-x:-0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:-translate-x-5:where([dir=rtl],[dir=rtl] *){--tw-translate-x:-1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:-translate-x-full:where([dir=rtl],[dir=rtl] *){--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:translate-x-1\/2:where([dir=rtl],[dir=rtl] *){--tw-translate-x:50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:translate-x-1\/4:where([dir=rtl],[dir=rtl] *){--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:translate-x-full:where([dir=rtl],[dir=rtl] *){--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:rotate-180:where([dir=rtl],[dir=rtl] *){--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:flex-row-reverse:where([dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.rtl\:divide-x-reverse:where([dir=rtl],[dir=rtl] *)>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}@media (min-width:1024px){.rtl\:lg\:-translate-x-0:where([dir=rtl],[dir=rtl] *){--tw-translate-x:-0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:lg\:translate-x-full:where([dir=rtl],[dir=rtl] *){--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}.\[\&\.trix-active\]\:bg-gray-50.trix-active{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.\[\&\.trix-active\]\:text-primary-600.trix-active{--tw-text-opacity:1;color:rgba(var(--primary-600),var(--tw-text-opacity))}.dark\:\[\&\.trix-active\]\:bg-white\/5.trix-active:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:\[\&\.trix-active\]\:text-primary-400.trix-active:is(.dark *){--tw-text-opacity:1;color:rgba(var(--primary-400),var(--tw-text-opacity))}.\[\&\:\:-ms-reveal\]\:hidden::-ms-reveal{display:none}.\[\&\:not\(\:first-of-type\)\]\:border-s:not(:first-of-type){border-inline-start-width:1px}.\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-2:focus-within:not(:has(.fi-ac-action:focus)){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-danger-600:focus-within:not(:has(.fi-ac-action:focus)){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-600),var(--tw-ring-opacity))}.\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-primary-600:focus-within:not(:has(.fi-ac-action:focus)){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity))}.dark\:\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-danger-500:focus-within:not(:has(.fi-ac-action:focus)):is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-500),var(--tw-ring-opacity))}.dark\:\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-primary-500:focus-within:not(:has(.fi-ac-action:focus)):is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-500),var(--tw-ring-opacity))}.\[\&\:not\(\:last-of-type\)\]\:border-e:not(:last-of-type){border-inline-end-width:1px}.\[\&\:not\(\:nth-child\(1_of_\.fi-btn\)\)\]\:shadow-\[-1px_0_0_0_theme\(colors\.gray\.200\)\]:not(:nth-child(1 of .fi-btn)){--tw-shadow:-1px 0 0 0 rgba(var(--gray-200),1);--tw-shadow-colored:-1px 0 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:\[\&\:not\(\:nth-child\(1_of_\.fi-btn\)\)\]\:shadow-\[-1px_0_0_0_theme\(colors\.white\/20\%\)\]:not(:nth-child(1 of .fi-btn)):is(.dark *){--tw-shadow:-1px 0 0 0 hsla(0,0%,100%,.2);--tw-shadow-colored:-1px 0 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\[\&\:not\(\:nth-last-child\(1_of_\.fi-btn\)\)\]\:me-px:not(:nth-last-child(1 of .fi-btn)){margin-inline-end:1px}.\[\&\:nth-child\(1_of_\.fi-btn\)\]\:rounded-s-lg:nth-child(1 of .fi-btn){border-end-start-radius:.5rem;border-start-start-radius:.5rem}.\[\&\:nth-last-child\(1_of_\.fi-btn\)\]\:rounded-e-lg:nth-last-child(1 of .fi-btn){border-end-end-radius:.5rem;border-start-end-radius:.5rem}.\[\&\>\*\:first-child\]\:relative>:first-child{position:relative}.\[\&\>\*\:first-child\]\:mt-0>:first-child{margin-top:0}.\[\&\>\*\:first-child\]\:before\:absolute>:first-child:before{content:var(--tw-content);position:absolute}.\[\&\>\*\:first-child\]\:before\:inset-y-0>:first-child:before{bottom:0;content:var(--tw-content);top:0}.\[\&\>\*\:first-child\]\:before\:start-0>:first-child:before{content:var(--tw-content);inset-inline-start:0}.\[\&\>\*\:first-child\]\:before\:w-0\.5>:first-child:before{content:var(--tw-content);width:.125rem}.\[\&\>\*\:first-child\]\:before\:bg-primary-600>:first-child:before{--tw-bg-opacity:1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity));content:var(--tw-content)}.\[\&\>\*\:first-child\]\:dark\:before\:bg-primary-500:is(.dark *)>:first-child:before{--tw-bg-opacity:1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity));content:var(--tw-content)}.\[\&\>\*\:last-child\]\:mb-0>:last-child{margin-bottom:0}.\[\&_\.choices\\_\\_inner\]\:ps-0 .choices__inner{padding-inline-start:0}.\[\&_\.fi-badge-delete-button\]\:hidden .fi-badge-delete-button{display:none}.\[\&_\.filepond--root\]\:font-sans .filepond--root{font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.\[\&_optgroup\]\:bg-white optgroup{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.\[\&_optgroup\]\:dark\:bg-gray-900:is(.dark *) optgroup{--tw-bg-opacity:1;background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}.\[\&_option\]\:bg-white option{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.\[\&_option\]\:dark\:bg-gray-900:is(.dark *) option{--tw-bg-opacity:1;background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}:checked+*>.\[\:checked\+\*\>\&\]\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}@media(hover:hover){.\[\@media\(hover\:hover\)\]\:transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\[\@media\(hover\:hover\)\]\:duration-75{transition-duration:75ms}}input:checked+.\[input\:checked\+\&\]\:bg-custom-600{--tw-bg-opacity:1;background-color:rgba(var(--c-600),var(--tw-bg-opacity))}input:checked+.\[input\:checked\+\&\]\:bg-gray-400{--tw-bg-opacity:1;background-color:rgba(var(--gray-400),var(--tw-bg-opacity))}input:checked+.\[input\:checked\+\&\]\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}input:checked+.\[input\:checked\+\&\]\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}input:checked+.\[input\:checked\+\&\]\:hover\:bg-custom-500:hover{--tw-bg-opacity:1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}input:checked+.\[input\:checked\+\&\]\:hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgba(var(--gray-300),var(--tw-bg-opacity))}input:checked+.dark\:\[input\:checked\+\&\]\:bg-custom-500:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}input:checked+.dark\:\[input\:checked\+\&\]\:bg-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-600),var(--tw-bg-opacity))}input:checked+.dark\:\[input\:checked\+\&\]\:hover\:bg-custom-400:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--c-400),var(--tw-bg-opacity))}input:checked+.dark\:\[input\:checked\+\&\]\:hover\:bg-gray-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-500),var(--tw-bg-opacity))}input:checked:focus-visible+.\[input\:checked\:focus-visible\+\&\]\:ring-custom-500\/50{--tw-ring-color:rgba(var(--c-500),0.5)}input:checked:focus-visible+.dark\:\[input\:checked\:focus-visible\+\&\]\:ring-custom-400\/50:is(.dark *){--tw-ring-color:rgba(var(--c-400),0.5)}input:focus-visible+.\[input\:focus-visible\+\&\]\:z-10{z-index:10}input:focus-visible+.\[input\:focus-visible\+\&\]\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}input:focus-visible+.\[input\:focus-visible\+\&\]\:ring-gray-950\/10{--tw-ring-color:rgba(var(--gray-950),0.1)}input:focus-visible+.dark\:\[input\:focus-visible\+\&\]\:ring-white\/20:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.2)} \ No newline at end of file +*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.13 | MIT License | https://tailwindcss.com*/*,:after,:before{border-color:rgba(var(--gray-200),1);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:rgba(var(--gray-400),1);opacity:1}input::placeholder,textarea::placeholder{color:rgba(var(--gray-400),1);opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:rgba(var(--gray-500),var(--tw-border-opacity,1));border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:rgba(var(--gray-500),var(--tw-text-opacity,1));opacity:1}input::placeholder,textarea::placeholder{color:rgba(var(--gray-500),var(--tw-text-opacity,1));opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:rgba(var(--gray-500),var(--tw-border-opacity,1));border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}@media (forced-colors:active) {[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}:root.dark{color-scheme:dark}[data-field-wrapper]{scroll-margin-top:8rem}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"\201C""\201D""\2018""\2019"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em;margin-top:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-bottom:.8888889em;margin-top:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;line-height:1.2;margin-bottom:.8em;margin-top:0}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;line-height:1.4;margin-bottom:.8em;margin-top:1.6em}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-bottom:.4444444em;margin-top:1.5555556em}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.4285714;margin-bottom:.5714286em;margin-top:1.4285714em}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7142857em;margin-top:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7142857em;margin-top:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7142857em;margin-top:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.8571429em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-top:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.25rem;font-size:.8571429em;line-height:1.6666667;margin-bottom:1.6666667em;margin-top:1.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-top:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em;margin-top:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em;margin-top:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.2857143em;margin-top:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5714286em;margin-top:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5714286em;margin-top:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em;margin-top:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2.8571429em;margin-top:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-top:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7142857em;margin-top:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-base{font-size:1rem;line-height:1.75}.prose-base :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose-base :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose-base :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em}.prose-base :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.25em;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose-base :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.5em;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose-base :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.25em;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose-base :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose-base :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-base :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-base :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-base :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-base :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose-base :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-base :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-base :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-base :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.375rem;font-size:.875em;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose-base :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose-base :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose-base :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose-base :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose-base :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose-base :where(.prose-base>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose-base :where(.prose-base>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose-base>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(.prose-base>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose-base>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose-base :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose-base :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose-base :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:3em;margin-top:3em}.prose-base :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857}.prose-base :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose-base :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-base :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-base :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose-base :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-base :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-base :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-base :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-base :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose-base :where(.prose-base>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(.prose-base>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-lg{font-size:1.125rem;line-height:1.7777778}.prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2222222em;line-height:1.4545455;margin-bottom:1.0909091em;margin-top:1.0909091em}.prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6666667em;margin-top:1.6666667em;padding-inline-start:1em}.prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.6666667em;line-height:1;margin-bottom:.8333333em;margin-top:0}.prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.6666667em;line-height:1.3333333;margin-bottom:1.0666667em;margin-top:1.8666667em}.prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.3333333em;line-height:1.5;margin-bottom:.6666667em;margin-top:1.6666667em}.prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.5555556;margin-bottom:.4444444em;margin-top:1.7777778em}.prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.8888889em;padding-inline-end:.4444444em;padding-bottom:.2222222em;padding-top:.2222222em;padding-inline-start:.4444444em}.prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8666667em}.prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.375rem;font-size:.8888889em;line-height:1.75;margin-bottom:2em;margin-top:2em;padding-inline-end:1.5em;padding-bottom:1em;padding-top:1em;padding-inline-start:1.5em}.prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.6666667em;margin-top:.6666667em}.prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(.prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.prose-lg :where(.prose-lg>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose-lg>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;padding-inline-start:1.5555556em}.prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:3.1111111em;margin-top:3.1111111em}.prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5}.prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-top:.75em;padding-inline-start:.75em}.prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.prose-lg :where(.prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(.prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-4{inset:1rem}.inset-x-0{left:0;right:0}.inset-x-4{left:1rem;right:1rem}.inset-y-0{bottom:0;top:0}.-bottom-1\/2{bottom:-50%}.-top-1{top:-.25rem}.-top-1\/2{top:-50%}.-top-2{top:-.5rem}.-top-3{top:-.75rem}.bottom-0{bottom:0}.bottom-1\/2{bottom:50%}.end-0{inset-inline-end:0}.end-4{inset-inline-end:1rem}.end-6{inset-inline-end:1.5rem}.left-3{left:.75rem}.start-0{inset-inline-start:0}.start-full{inset-inline-start:100%}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-4{top:1rem}.top-6{top:1.5rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.order-first{order:-9999}.col-\[--col-span-default\]{grid-column:var(--col-span-default)}.col-span-full{grid-column:1/-1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-\[--col-start-default\]{grid-column-start:var(--col-start-default)}.row-start-2{grid-row-start:2}.-m-0\.5{margin:-.125rem}.-m-1{margin:-.25rem}.-m-1\.5{margin:-.375rem}.-m-2{margin:-.5rem}.-m-2\.5{margin:-.625rem}.-m-3{margin:-.75rem}.-m-3\.5{margin:-.875rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-my-1{margin-bottom:-.25rem;margin-top:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-16{margin-bottom:4rem;margin-top:4rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.my-auto{margin-bottom:auto;margin-top:auto}.\!mt-0{margin-top:0!important}.-mb-4{margin-bottom:-1rem}.-mb-6{margin-bottom:-1.5rem}.-me-2{margin-inline-end:-.5rem}.-ms-0\.5{margin-inline-start:-.125rem}.-ms-1{margin-inline-start:-.25rem}.-ms-2{margin-inline-start:-.5rem}.-mt-3{margin-top:-.75rem}.-mt-4{margin-top:-1rem}.-mt-6{margin-top:-1.5rem}.-mt-7{margin-top:-1.75rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.me-1{margin-inline-end:.25rem}.me-3{margin-inline-end:.75rem}.me-4{margin-inline-end:1rem}.me-6{margin-inline-end:1.5rem}.ml-auto{margin-left:auto}.ms-1{margin-inline-start:.25rem}.ms-auto{margin-inline-start:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.line-clamp-\[--line-clamp\]{-webkit-box-orient:vertical;-webkit-line-clamp:var(--line-clamp);display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.h-0{height:0}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-16{height:4rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[100dvh\],.h-dvh{height:100dvh}.h-full{height:100%}.h-screen{height:100vh}.max-h-96{max-height:24rem}.min-h-\[theme\(spacing\.48\)\]{min-height:12rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[calc\(100\%\+2rem\)\]{width:calc(100% + 2rem)}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-\[theme\(spacing\.4\)\]{min-width:1rem}.min-w-\[theme\(spacing\.5\)\]{min-width:1.25rem}.min-w-\[theme\(spacing\.6\)\]{min-width:1.5rem}.min-w-\[theme\(spacing\.8\)\]{min-width:2rem}.\!max-w-2xl{max-width:42rem!important}.\!max-w-3xl{max-width:48rem!important}.\!max-w-4xl{max-width:56rem!important}.\!max-w-5xl{max-width:64rem!important}.\!max-w-6xl{max-width:72rem!important}.\!max-w-7xl{max-width:80rem!important}.\!max-w-\[14rem\]{max-width:14rem!important}.\!max-w-lg{max-width:32rem!important}.\!max-w-md{max-width:28rem!important}.\!max-w-sm{max-width:24rem!important}.\!max-w-xl{max-width:36rem!important}.\!max-w-xs{max-width:20rem!important}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-md{max-width:28rem}.max-w-min{max-width:-moz-min-content;max-width:min-content}.max-w-none{max-width:none}.max-w-prose{max-width:65ch}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-screen-md{max-width:768px}.max-w-screen-sm{max-width:640px}.max-w-screen-xl{max-width:1280px}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.table-auto{table-layout:auto}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-1\/4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-1\/4{--tw-translate-x:-25%}.-translate-x-12{--tw-translate-x:-3rem}.-translate-x-12,.-translate-x-5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-5{--tw-translate-x:-1.25rem}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-12{--tw-translate-y:-3rem}.-translate-y-12,.-translate-y-3\/4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-3\/4{--tw-translate-y:-75%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-12{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-12{--tw-translate-x:3rem}.translate-x-5{--tw-translate-x:1.25rem}.translate-x-5,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-12{--tw-translate-y:3rem}.-rotate-180,.translate-y-12{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-180{--tw-rotate:-180deg}.rotate-180{--tw-rotate:180deg}.rotate-180,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize{resize:both}.scroll-mt-9{scroll-margin-top:2.25rem}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.columns-\[--cols-default\]{-moz-columns:var(--cols-default);columns:var(--cols-default)}.break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}.auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[--cols-default\]{grid-template-columns:var(--cols-default)}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.grid-cols-\[repeat\(7\2c minmax\(theme\(spacing\.7\)\2c 1fr\)\)\]{grid-template-columns:repeat(7,minmax(1.75rem,1fr))}.grid-cols-\[repeat\(auto-fit\2c minmax\(0\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.grid-rows-\[1fr_auto_1fr\]{grid-template-rows:1fr auto 1fr}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-start{justify-items:start}.justify-items-center{justify-items:center}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-2\.5{-moz-column-gap:.625rem;column-gap:.625rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.gap-y-6{row-gap:1.5rem}.gap-y-7{row-gap:1.75rem}.gap-y-8{row-gap:2rem}.gap-y-px{row-gap:1px}.-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-.25rem*var(--tw-space-x-reverse))}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-.5rem*var(--tw-space-x-reverse))}.-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-.75rem*var(--tw-space-x-reverse))}.-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-1rem*var(--tw-space-x-reverse))}.-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-1.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-1.25rem*var(--tw-space-x-reverse))}.-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-1.5rem*var(--tw-space-x-reverse))}.-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-1.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-1.75rem*var(--tw-space-x-reverse))}.-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-2rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-2rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(1px*var(--tw-divide-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(var(--gray-100),var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(var(--gray-200),var(--tw-divide-opacity))}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-clip{overflow-x:clip}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-xl{border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-x-\[0\.5px\]{border-left-width:.5px;border-right-width:.5px}.border-y{border-bottom-width:1px;border-top-width:1px}.\!border-t-0{border-top-width:0!important}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0}.border-e{border-inline-end-width:1px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.\!border-none{border-style:none!important}.border-none{border-style:none}.border-gray-100{--tw-border-opacity:1;border-color:rgba(var(--gray-100),var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(var(--gray-200),var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(var(--gray-300),var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgba(var(--gray-600),var(--tw-border-opacity))}.border-primary-500{--tw-border-opacity:1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgba(var(--primary-600),var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-t-gray-200{--tw-border-opacity:1;border-top-color:rgba(var(--gray-200),var(--tw-border-opacity))}.\!bg-gray-50{--tw-bg-opacity:1!important;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))!important}.\!bg-gray-700{--tw-bg-opacity:1!important;background-color:rgba(var(--gray-700),var(--tw-bg-opacity))!important}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-custom-100{--tw-bg-opacity:1;background-color:rgba(var(--c-100),var(--tw-bg-opacity))}.bg-custom-50{--tw-bg-opacity:1;background-color:rgba(var(--c-50),var(--tw-bg-opacity))}.bg-custom-600{--tw-bg-opacity:1;background-color:rgba(var(--c-600),var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(var(--gray-100),var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(var(--gray-200),var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgba(var(--gray-300),var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgba(var(--gray-400),var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.bg-gray-950\/50{background-color:rgba(var(--gray-950),.5)}.bg-primary-500{--tw-bg-opacity:1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/0{background-color:hsla(0,0%,100%,0)}.bg-white\/5{background-color:hsla(0,0%,100%,.05)}.\!bg-none{background-image:none!important}.bg-cover{background-size:cover}.bg-center{background-position:50%}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:.75rem}.pe-4{padding-inline-end:1rem}.pe-6{padding-inline-end:1.5rem}.pe-8{padding-inline-end:2rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:.75rem}.ps-4{padding-inline-start:1rem}.ps-\[5\.25rem\]{padding-inline-start:5.25rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-start{text-align:start}.text-end{text-align:end}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-loose{line-height:2}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.text-custom-400{--tw-text-opacity:1;color:rgba(var(--c-400),var(--tw-text-opacity))}.text-custom-50{--tw-text-opacity:1;color:rgba(var(--c-50),var(--tw-text-opacity))}.text-custom-500{--tw-text-opacity:1;color:rgba(var(--c-500),var(--tw-text-opacity))}.text-custom-600{--tw-text-opacity:1;color:rgba(var(--c-600),var(--tw-text-opacity))}.text-custom-700\/50{color:rgba(var(--c-700),.5)}.text-danger-600{--tw-text-opacity:1;color:rgba(var(--danger-600),var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgba(var(--gray-100),var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgba(var(--gray-600),var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.text-gray-700\/50{color:rgba(var(--gray-700),.5)}.text-gray-950{--tw-text-opacity:1;color:rgba(var(--gray-950),var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgba(var(--primary-400),var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity:1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgba(var(--primary-600),var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-0{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-custom-600{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--c-600),var(--tw-ring-opacity))}.ring-custom-600\/10{--tw-ring-color:rgba(var(--c-600),0.1)}.ring-custom-600\/20{--tw-ring-color:rgba(var(--c-600),0.2)}.ring-danger-600{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-600),var(--tw-ring-opacity))}.ring-gray-200{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-200),var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-300),var(--tw-ring-opacity))}.ring-gray-600\/10{--tw-ring-color:rgba(var(--gray-600),0.1)}.ring-gray-900\/10{--tw-ring-color:rgba(var(--gray-900),0.1)}.ring-gray-950\/10{--tw-ring-color:rgba(var(--gray-950),0.1)}.ring-gray-950\/5{--tw-ring-color:rgba(var(--gray-950),0.05)}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity))}.ring-white\/10{--tw-ring-color:hsla(0,0%,100%,.1)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.delay-100{transition-delay:.1s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[transform\:translateZ\(0\)\]{transform:translateZ(0)}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.placeholder\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-y-0:before{bottom:0;content:var(--tw-content);top:0}.before\:start-0:before{content:var(--tw-content);inset-inline-start:0}.before\:h-full:before{content:var(--tw-content);height:100%}.before\:w-0\.5:before{content:var(--tw-content);width:.125rem}.before\:bg-primary-600:before{--tw-bg-opacity:1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity));content:var(--tw-content)}.first\:border-s-0:first-child{border-inline-start-width:0}.first\:border-t-0:first-child{border-top-width:0}.last\:border-e-0:last-child{border-inline-end-width:0}.first-of-type\:ps-1:first-of-type{padding-inline-start:.25rem}.last-of-type\:pe-1:last-of-type{padding-inline-end:.25rem}.checked\:ring-0:checked{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:bg-gray-50:focus-within{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.hover\:bg-custom-400\/10:hover{background-color:rgba(var(--c-400),.1)}.hover\:bg-custom-50:hover{--tw-bg-opacity:1;background-color:rgba(var(--c-50),var(--tw-bg-opacity))}.hover\:bg-custom-500:hover{--tw-bg-opacity:1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgba(var(--gray-100),var(--tw-bg-opacity))}.hover\:bg-gray-400\/10:hover{background-color:rgba(var(--gray-400),.1)}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.hover\:text-custom-600:hover{--tw-text-opacity:1;color:rgba(var(--c-600),var(--tw-text-opacity))}.hover\:text-custom-700\/75:hover{color:rgba(var(--c-700),.75)}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.hover\:text-gray-700\/75:hover{color:rgba(var(--gray-700),.75)}.hover\:opacity-100:hover{opacity:1}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-danger-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-600),var(--tw-ring-opacity))}.focus\:ring-primary-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity))}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px}.checked\:focus\:ring-danger-500\/50:focus:checked{--tw-ring-color:rgba(var(--danger-500),0.5)}.checked\:focus\:ring-primary-500\/50:focus:checked{--tw-ring-color:rgba(var(--primary-500),0.5)}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-primary-500:focus-visible{--tw-border-opacity:1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.focus-visible\:bg-custom-50:focus-visible{--tw-bg-opacity:1;background-color:rgba(var(--c-50),var(--tw-bg-opacity))}.focus-visible\:bg-gray-100:focus-visible{--tw-bg-opacity:1;background-color:rgba(var(--gray-100),var(--tw-bg-opacity))}.focus-visible\:bg-gray-50:focus-visible{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.focus-visible\:text-custom-700\/75:focus-visible{color:rgba(var(--c-700),.75)}.focus-visible\:text-gray-500:focus-visible{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.focus-visible\:text-gray-700\/75:focus-visible{color:rgba(var(--gray-700),.75)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.focus-visible\:ring-custom-500\/50:focus-visible{--tw-ring-color:rgba(var(--c-500),0.5)}.focus-visible\:ring-custom-600:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--c-600),var(--tw-ring-opacity))}.focus-visible\:ring-gray-400\/40:focus-visible{--tw-ring-color:rgba(var(--gray-400),0.4)}.focus-visible\:ring-primary-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-500),var(--tw-ring-opacity))}.focus-visible\:ring-primary-600:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity))}.enabled\:cursor-wait:enabled{cursor:wait}.enabled\:opacity-70:enabled{opacity:.7}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:bg-gray-50:disabled{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.disabled\:text-gray-50:disabled{--tw-text-opacity:1;color:rgba(var(--gray-50),var(--tw-text-opacity))}.disabled\:text-gray-500:disabled{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.disabled\:opacity-70:disabled{opacity:.7}.disabled\:\[-webkit-text-fill-color\:theme\(colors\.gray\.500\)\]:disabled{-webkit-text-fill-color:rgba(var(--gray-500),1)}.disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.400\)\]:disabled::-moz-placeholder{-webkit-text-fill-color:rgba(var(--gray-400),1)}.disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.400\)\]:disabled::placeholder{-webkit-text-fill-color:rgba(var(--gray-400),1)}.disabled\:checked\:bg-current:checked:disabled{background-color:currentColor}.disabled\:checked\:text-gray-400:checked:disabled{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.group\/item:first-child .group-first\/item\:rounded-s-lg{border-end-start-radius:.5rem;border-start-start-radius:.5rem}.group\/item:last-child .group-last\/item\:rounded-e-lg{border-end-end-radius:.5rem;border-start-end-radius:.5rem}.group:hover .group-hover\:text-gray-500,.group\/button:hover .group-hover\/button\:text-gray-500{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-700{--tw-text-opacity:1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.group\/item:hover .group-hover\/item\:underline,.group\/link:hover .group-hover\/link\:underline{text-decoration-line:underline}.group:focus-visible .group-focus-visible\:text-gray-500{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.group:focus-visible .group-focus-visible\:text-gray-700{--tw-text-opacity:1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.group\/item:focus-visible .group-focus-visible\/item\:underline{text-decoration-line:underline}.group\/link:focus-visible .group-focus-visible\/link\:underline{text-decoration-line:underline}.dark\:flex:is(.dark *){display:flex}.dark\:hidden:is(.dark *){display:none}.dark\:divide-white\/10:is(.dark *)>:not([hidden])~:not([hidden]){border-color:hsla(0,0%,100%,.1)}.dark\:divide-white\/5:is(.dark *)>:not([hidden])~:not([hidden]){border-color:hsla(0,0%,100%,.05)}.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--gray-600),var(--tw-border-opacity))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--gray-700),var(--tw-border-opacity))}.dark\:border-primary-500:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.dark\:border-white\/10:is(.dark *){border-color:hsla(0,0%,100%,.1)}.dark\:border-white\/5:is(.dark *){border-color:hsla(0,0%,100%,.05)}.dark\:border-t-white\/10:is(.dark *){border-top-color:hsla(0,0%,100%,.1)}.dark\:\!bg-gray-700:is(.dark *){--tw-bg-opacity:1!important;background-color:rgba(var(--gray-700),var(--tw-bg-opacity))!important}.dark\:bg-custom-400\/10:is(.dark *){background-color:rgba(var(--c-400),.1)}.dark\:bg-custom-500:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}.dark\:bg-custom-500\/20:is(.dark *){background-color:rgba(var(--c-500),.2)}.dark\:bg-gray-400\/10:is(.dark *){background-color:rgba(var(--gray-400),.1)}.dark\:bg-gray-500:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-500),var(--tw-bg-opacity))}.dark\:bg-gray-500\/20:is(.dark *){background-color:rgba(var(--gray-500),.2)}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-600),var(--tw-bg-opacity))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-700),var(--tw-bg-opacity))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-800),var(--tw-bg-opacity))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}.dark\:bg-gray-900\/30:is(.dark *){background-color:rgba(var(--gray-900),.3)}.dark\:bg-gray-950:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-950),var(--tw-bg-opacity))}.dark\:bg-gray-950\/75:is(.dark *){background-color:rgba(var(--gray-950),.75)}.dark\:bg-primary-400:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--primary-400),var(--tw-bg-opacity))}.dark\:bg-primary-500:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.dark\:bg-transparent:is(.dark *){background-color:transparent}.dark\:bg-white\/10:is(.dark *){background-color:hsla(0,0%,100%,.1)}.dark\:bg-white\/5:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:text-custom-300\/50:is(.dark *){color:rgba(var(--c-300),.5)}.dark\:text-custom-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--c-400),var(--tw-text-opacity))}.dark\:text-custom-400\/10:is(.dark *){color:rgba(var(--c-400),.1)}.dark\:text-danger-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--danger-400),var(--tw-text-opacity))}.dark\:text-danger-500:is(.dark *){--tw-text-opacity:1;color:rgba(var(--danger-500),var(--tw-text-opacity))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.dark\:text-gray-300\/50:is(.dark *){color:rgba(var(--gray-300),.5)}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.dark\:text-gray-700:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.dark\:text-gray-800:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-800),var(--tw-text-opacity))}.dark\:text-primary-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--primary-400),var(--tw-text-opacity))}.dark\:text-primary-500:is(.dark *){--tw-text-opacity:1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:text-white\/5:is(.dark *){color:hsla(0,0%,100%,.05)}.dark\:ring-custom-400\/30:is(.dark *){--tw-ring-color:rgba(var(--c-400),0.3)}.dark\:ring-custom-500:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--c-500),var(--tw-ring-opacity))}.dark\:ring-danger-500:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-500),var(--tw-ring-opacity))}.dark\:ring-gray-400\/20:is(.dark *){--tw-ring-color:rgba(var(--gray-400),0.2)}.dark\:ring-gray-50\/10:is(.dark *){--tw-ring-color:rgba(var(--gray-50),0.1)}.dark\:ring-gray-700:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-700),var(--tw-ring-opacity))}.dark\:ring-gray-900:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-900),var(--tw-ring-opacity))}.dark\:ring-white\/10:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.1)}.dark\:ring-white\/20:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.2)}.dark\:placeholder\:text-gray-500:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.dark\:placeholder\:text-gray-500:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.dark\:before\:bg-primary-500:is(.dark *):before{--tw-bg-opacity:1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity));content:var(--tw-content)}.dark\:checked\:bg-danger-500:checked:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--danger-500),var(--tw-bg-opacity))}.dark\:checked\:bg-primary-500:checked:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.dark\:focus-within\:bg-white\/5:focus-within:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:hover\:bg-custom-400:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--c-400),var(--tw-bg-opacity))}.dark\:hover\:bg-custom-400\/10:hover:is(.dark *){background-color:rgba(var(--c-400),.1)}.dark\:hover\:bg-white\/10:hover:is(.dark *){background-color:hsla(0,0%,100%,.1)}.dark\:hover\:bg-white\/5:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:hover\:text-custom-300:hover:is(.dark *){--tw-text-opacity:1;color:rgba(var(--c-300),var(--tw-text-opacity))}.dark\:hover\:text-custom-300\/75:hover:is(.dark *){color:rgba(var(--c-300),.75)}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.dark\:hover\:text-gray-300\/75:hover:is(.dark *){color:rgba(var(--gray-300),.75)}.dark\:hover\:text-gray-400:hover:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:hover\:ring-white\/20:hover:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.2)}.dark\:focus\:ring-danger-500:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-500),var(--tw-ring-opacity))}.dark\:focus\:ring-primary-500:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-500),var(--tw-ring-opacity))}.dark\:checked\:focus\:ring-danger-400\/50:focus:checked:is(.dark *){--tw-ring-color:rgba(var(--danger-400),0.5)}.dark\:checked\:focus\:ring-primary-400\/50:focus:checked:is(.dark *){--tw-ring-color:rgba(var(--primary-400),0.5)}.dark\:focus-visible\:border-primary-500:focus-visible:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.dark\:focus-visible\:bg-custom-400\/10:focus-visible:is(.dark *){background-color:rgba(var(--c-400),.1)}.dark\:focus-visible\:bg-white\/5:focus-visible:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:focus-visible\:text-custom-300\/75:focus-visible:is(.dark *){color:rgba(var(--c-300),.75)}.dark\:focus-visible\:text-gray-300\/75:focus-visible:is(.dark *){color:rgba(var(--gray-300),.75)}.dark\:focus-visible\:text-gray-400:focus-visible:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:focus-visible\:ring-custom-400\/50:focus-visible:is(.dark *){--tw-ring-color:rgba(var(--c-400),0.5)}.dark\:focus-visible\:ring-custom-500:focus-visible:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--c-500),var(--tw-ring-opacity))}.dark\:focus-visible\:ring-primary-500:focus-visible:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-500),var(--tw-ring-opacity))}.dark\:disabled\:bg-transparent:disabled:is(.dark *){background-color:transparent}.dark\:disabled\:text-gray-400:disabled:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:disabled\:ring-white\/10:disabled:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.1)}.dark\:disabled\:\[-webkit-text-fill-color\:theme\(colors\.gray\.400\)\]:disabled:is(.dark *){-webkit-text-fill-color:rgba(var(--gray-400),1)}.dark\:disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.500\)\]:disabled:is(.dark *)::-moz-placeholder{-webkit-text-fill-color:rgba(var(--gray-500),1)}.dark\:disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.500\)\]:disabled:is(.dark *)::placeholder{-webkit-text-fill-color:rgba(var(--gray-500),1)}.dark\:disabled\:checked\:bg-gray-600:checked:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-600),var(--tw-bg-opacity))}.group\/button:hover .dark\:group-hover\/button\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.group:hover .dark\:group-hover\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.group:hover .dark\:group-hover\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.group:focus-visible .dark\:group-focus-visible\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.group:focus-visible .dark\:group-focus-visible\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}@media (min-width:640px){.sm\:relative{position:relative}.sm\:inset-x-auto{left:auto;right:auto}.sm\:end-0{inset-inline-end:0}.sm\:col-\[--col-span-sm\]{grid-column:var(--col-span-sm)}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-start-\[--col-start-sm\]{grid-column-start:var(--col-start-sm)}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:-my-2{margin-bottom:-.5rem;margin-top:-.5rem}.sm\:ms-auto{margin-inline-start:auto}.sm\:mt-7{margin-top:1.75rem}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:table-cell{display:table-cell}.sm\:grid{display:grid}.sm\:inline-grid{display:inline-grid}.sm\:hidden{display:none}.sm\:w-\[calc\(100\%\+3rem\)\]{width:calc(100% + 3rem)}.sm\:w-screen{width:100vw}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-4xl{max-width:56rem}.sm\:max-w-5xl{max-width:64rem}.sm\:max-w-6xl{max-width:72rem}.sm\:max-w-7xl{max-width:80rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xl{max-width:36rem}.sm\:max-w-xs{max-width:20rem}.sm\:columns-\[--cols-sm\]{-moz-columns:var(--cols-sm);columns:var(--cols-sm)}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[--cols-sm\]{grid-template-columns:var(--cols-sm)}.sm\:grid-cols-\[repeat\(auto-fit\2c minmax\(0\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.sm\:grid-rows-\[1fr_auto_3fr\]{grid-template-rows:1fr auto 3fr}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-1{gap:.25rem}.sm\:gap-3{gap:.75rem}.sm\:gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.sm\:rounded-xl{border-radius:.75rem}.sm\:p-10{padding:2.5rem}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.sm\:pe-3{padding-inline-end:.75rem}.sm\:pe-6{padding-inline-end:1.5rem}.sm\:ps-3{padding-inline-start:.75rem}.sm\:ps-6{padding-inline-start:1.5rem}.sm\:pt-1\.5{padding-top:.375rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}.sm\:first-of-type\:ps-3:first-of-type{padding-inline-start:.75rem}.sm\:first-of-type\:ps-6:first-of-type{padding-inline-start:1.5rem}.sm\:last-of-type\:pe-3:last-of-type{padding-inline-end:.75rem}.sm\:last-of-type\:pe-6:last-of-type{padding-inline-end:1.5rem}}@media (min-width:768px){.md\:bottom-4{bottom:1rem}.md\:order-first{order:-9999}.md\:col-\[--col-span-md\]{grid-column:var(--col-span-md)}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-start-\[--col-start-md\]{grid-column-start:var(--col-start-md)}.md\:block{display:block}.md\:flex{display:flex}.md\:table-cell{display:table-cell}.md\:inline-grid{display:inline-grid}.md\:hidden{display:none}.md\:w-max{width:-moz-max-content;width:max-content}.md\:max-w-60{max-width:15rem}.md\:columns-\[--cols-md\]{-moz-columns:var(--cols-md);columns:var(--cols-md)}.md\:grid-flow-col{grid-auto-flow:column}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[--cols-md\]{grid-template-columns:var(--cols-md)}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:gap-1{gap:.25rem}.md\:gap-3{gap:.75rem}.md\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(0px*var(--tw-divide-y-reverse));border-top-width:calc(0px*(1 - var(--tw-divide-y-reverse)))}.md\:overflow-x-auto{overflow-x:auto}.md\:rounded-xl{border-radius:.75rem}.md\:p-20{padding:5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:pe-6{padding-inline-end:1.5rem}.md\:ps-3{padding-inline-start:.75rem}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:z-0{z-index:0}.lg\:col-\[--col-span-lg\]{grid-column:var(--col-span-lg)}.lg\:col-start-\[--col-start-lg\]{grid-column-start:var(--col-start-lg)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:table-cell{display:table-cell}.lg\:inline-grid{display:inline-grid}.lg\:hidden{display:none}.lg\:h-full{height:100%}.lg\:max-w-xs{max-width:20rem}.lg\:-translate-x-full{--tw-translate-x:-100%}.lg\:-translate-x-full,.lg\:translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:translate-x-0{--tw-translate-x:0px}.lg\:columns-\[--cols-lg\]{-moz-columns:var(--cols-lg);columns:var(--cols-lg)}.lg\:grid-cols-\[--cols-lg\]{grid-template-columns:var(--cols-lg)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:gap-1{gap:.25rem}.lg\:gap-3{gap:.75rem}.lg\:bg-transparent{background-color:transparent}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pe-8{padding-inline-end:2rem}.lg\:shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.lg\:shadow-none,.lg\:shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lg\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lg\:transition-none{transition-property:none}.lg\:delay-100{transition-delay:.1s}.dark\:lg\:bg-transparent:is(.dark *){background-color:transparent}}@media (min-width:1280px){.xl\:col-\[--col-span-xl\]{grid-column:var(--col-span-xl)}.xl\:col-start-\[--col-start-xl\]{grid-column-start:var(--col-start-xl)}.xl\:block{display:block}.xl\:table-cell{display:table-cell}.xl\:inline-grid{display:inline-grid}.xl\:hidden{display:none}.xl\:columns-\[--cols-xl\]{-moz-columns:var(--cols-xl);columns:var(--cols-xl)}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[--cols-xl\]{grid-template-columns:var(--cols-xl)}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:gap-1{gap:.25rem}.xl\:gap-3{gap:.75rem}}@media (min-width:1536px){.\32xl\:col-\[--col-span-2xl\]{grid-column:var(--col-span-2xl)}.\32xl\:col-start-\[--col-start-2xl\]{grid-column-start:var(--col-start-2xl)}.\32xl\:block{display:block}.\32xl\:table-cell{display:table-cell}.\32xl\:inline-grid{display:inline-grid}.\32xl\:hidden{display:none}.\32xl\:columns-\[--cols-2xl\]{-moz-columns:var(--cols-2xl);columns:var(--cols-2xl)}.\32xl\:grid-cols-\[--cols-2xl\]{grid-template-columns:var(--cols-2xl)}.\32xl\:flex-row{flex-direction:row}.\32xl\:items-start{align-items:flex-start}.\32xl\:items-end{align-items:flex-end}.\32xl\:items-center{align-items:center}.\32xl\:gap-1{gap:.25rem}.\32xl\:gap-3{gap:.75rem}}.ltr\:hidden:where([dir=ltr],[dir=ltr] *){display:none}.rtl\:hidden:where([dir=rtl],[dir=rtl] *){display:none}.rtl\:-translate-x-0:where([dir=rtl],[dir=rtl] *){--tw-translate-x:-0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:-translate-x-5:where([dir=rtl],[dir=rtl] *){--tw-translate-x:-1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:-translate-x-full:where([dir=rtl],[dir=rtl] *){--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:translate-x-1\/2:where([dir=rtl],[dir=rtl] *){--tw-translate-x:50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:translate-x-1\/4:where([dir=rtl],[dir=rtl] *){--tw-translate-x:25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:translate-x-full:where([dir=rtl],[dir=rtl] *){--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:rotate-180:where([dir=rtl],[dir=rtl] *){--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:flex-row-reverse:where([dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.rtl\:divide-x-reverse:where([dir=rtl],[dir=rtl] *)>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}@media (min-width:1024px){.rtl\:lg\:-translate-x-0:where([dir=rtl],[dir=rtl] *){--tw-translate-x:-0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:lg\:translate-x-full:where([dir=rtl],[dir=rtl] *){--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}.\[\&\.trix-active\]\:bg-gray-50.trix-active{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.\[\&\.trix-active\]\:text-primary-600.trix-active{--tw-text-opacity:1;color:rgba(var(--primary-600),var(--tw-text-opacity))}.dark\:\[\&\.trix-active\]\:bg-white\/5.trix-active:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:\[\&\.trix-active\]\:text-primary-400.trix-active:is(.dark *){--tw-text-opacity:1;color:rgba(var(--primary-400),var(--tw-text-opacity))}.\[\&\:\:-ms-reveal\]\:hidden::-ms-reveal{display:none}.\[\&\:not\(\:first-of-type\)\]\:border-s:not(:first-of-type){border-inline-start-width:1px}.\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-2:focus-within:not(:has(.fi-ac-action:focus)){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-danger-600:focus-within:not(:has(.fi-ac-action:focus)){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-600),var(--tw-ring-opacity))}.\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-primary-600:focus-within:not(:has(.fi-ac-action:focus)){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity))}.dark\:\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-danger-500:focus-within:not(:has(.fi-ac-action:focus)):is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-500),var(--tw-ring-opacity))}.dark\:\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-primary-500:focus-within:not(:has(.fi-ac-action:focus)):is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-500),var(--tw-ring-opacity))}.\[\&\:not\(\:last-of-type\)\]\:border-e:not(:last-of-type){border-inline-end-width:1px}.\[\&\:not\(\:nth-child\(1_of_\.fi-btn\)\)\]\:shadow-\[-1px_0_0_0_theme\(colors\.gray\.200\)\]:not(:nth-child(1 of .fi-btn)){--tw-shadow:-1px 0 0 0 rgba(var(--gray-200),1);--tw-shadow-colored:-1px 0 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:\[\&\:not\(\:nth-child\(1_of_\.fi-btn\)\)\]\:shadow-\[-1px_0_0_0_theme\(colors\.white\/20\%\)\]:not(:nth-child(1 of .fi-btn)):is(.dark *){--tw-shadow:-1px 0 0 0 hsla(0,0%,100%,.2);--tw-shadow-colored:-1px 0 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\[\&\:not\(\:nth-last-child\(1_of_\.fi-btn\)\)\]\:me-px:not(:nth-last-child(1 of .fi-btn)){margin-inline-end:1px}.\[\&\:nth-child\(1_of_\.fi-btn\)\]\:rounded-s-lg:nth-child(1 of .fi-btn){border-end-start-radius:.5rem;border-start-start-radius:.5rem}.\[\&\:nth-last-child\(1_of_\.fi-btn\)\]\:rounded-e-lg:nth-last-child(1 of .fi-btn){border-end-end-radius:.5rem;border-start-end-radius:.5rem}.\[\&\>\*\:first-child\]\:relative>:first-child{position:relative}.\[\&\>\*\:first-child\]\:mt-0>:first-child{margin-top:0}.\[\&\>\*\:first-child\]\:before\:absolute>:first-child:before{content:var(--tw-content);position:absolute}.\[\&\>\*\:first-child\]\:before\:inset-y-0>:first-child:before{bottom:0;content:var(--tw-content);top:0}.\[\&\>\*\:first-child\]\:before\:start-0>:first-child:before{content:var(--tw-content);inset-inline-start:0}.\[\&\>\*\:first-child\]\:before\:w-0\.5>:first-child:before{content:var(--tw-content);width:.125rem}.\[\&\>\*\:first-child\]\:before\:bg-primary-600>:first-child:before{--tw-bg-opacity:1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity));content:var(--tw-content)}.\[\&\>\*\:first-child\]\:dark\:before\:bg-primary-500:is(.dark *)>:first-child:before{--tw-bg-opacity:1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity));content:var(--tw-content)}.\[\&\>\*\:last-child\]\:mb-0>:last-child{margin-bottom:0}.\[\&_\.choices\\_\\_inner\]\:ps-0 .choices__inner{padding-inline-start:0}.\[\&_\.fi-badge-delete-button\]\:hidden .fi-badge-delete-button{display:none}.\[\&_\.filepond--root\]\:font-sans .filepond--root{font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.\[\&_optgroup\]\:bg-white optgroup{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.\[\&_optgroup\]\:dark\:bg-gray-900:is(.dark *) optgroup{--tw-bg-opacity:1;background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}.\[\&_option\]\:bg-white option{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.\[\&_option\]\:dark\:bg-gray-900:is(.dark *) option{--tw-bg-opacity:1;background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}:checked+*>.\[\:checked\+\*\>\&\]\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}@media(hover:hover){.\[\@media\(hover\:hover\)\]\:transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\[\@media\(hover\:hover\)\]\:duration-75{transition-duration:75ms}}input:checked+.\[input\:checked\+\&\]\:bg-custom-600{--tw-bg-opacity:1;background-color:rgba(var(--c-600),var(--tw-bg-opacity))}input:checked+.\[input\:checked\+\&\]\:bg-gray-400{--tw-bg-opacity:1;background-color:rgba(var(--gray-400),var(--tw-bg-opacity))}input:checked+.\[input\:checked\+\&\]\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}input:checked+.\[input\:checked\+\&\]\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}input:checked+.\[input\:checked\+\&\]\:hover\:bg-custom-500:hover{--tw-bg-opacity:1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}input:checked+.\[input\:checked\+\&\]\:hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgba(var(--gray-300),var(--tw-bg-opacity))}input:checked+.dark\:\[input\:checked\+\&\]\:bg-custom-500:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}input:checked+.dark\:\[input\:checked\+\&\]\:bg-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-600),var(--tw-bg-opacity))}input:checked+.dark\:\[input\:checked\+\&\]\:hover\:bg-custom-400:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--c-400),var(--tw-bg-opacity))}input:checked+.dark\:\[input\:checked\+\&\]\:hover\:bg-gray-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-500),var(--tw-bg-opacity))}input:checked:focus-visible+.\[input\:checked\:focus-visible\+\&\]\:ring-custom-500\/50{--tw-ring-color:rgba(var(--c-500),0.5)}input:checked:focus-visible+.dark\:\[input\:checked\:focus-visible\+\&\]\:ring-custom-400\/50:is(.dark *){--tw-ring-color:rgba(var(--c-400),0.5)}input:focus-visible+.\[input\:focus-visible\+\&\]\:z-10{z-index:10}input:focus-visible+.\[input\:focus-visible\+\&\]\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}input:focus-visible+.\[input\:focus-visible\+\&\]\:ring-gray-950\/10{--tw-ring-color:rgba(var(--gray-950),0.1)}input:focus-visible+.dark\:\[input\:focus-visible\+\&\]\:ring-white\/20:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.2)} \ No newline at end of file diff --git a/public/css/filament/forms/forms.css b/public/css/filament/forms/forms.css index 5c29a13..642acfd 100644 --- a/public/css/filament/forms/forms.css +++ b/public/css/filament/forms/forms.css @@ -1,4 +1,4 @@ -input::-webkit-datetime-edit{display:block;padding:0}.cropper-container{-webkit-touch-callout:none;direction:ltr;font-size:0;line-height:0;position:relative;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cropper-container img{backface-visibility:hidden;display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{inset:0;position:absolute}.cropper-canvas,.cropper-wrap-box{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:33.33333%;left:0;top:33.33333%;width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:33.33333%;top:0;width:33.33333%}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:after,.cropper-center:before{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.filepond--assistant{clip:rect(1px,1px,1px,1px);border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.filepond--browser.filepond--browser{font-size:0;left:1em;margin:0;opacity:0;padding:0;position:absolute;top:1.75em;width:calc(100% - 2em)}.filepond--data{border:none;contain:strict;height:0;margin:0;padding:0;visibility:hidden;width:0}.filepond--data,.filepond--drip{pointer-events:none;position:absolute}.filepond--drip{background:rgba(0,0,0,.01);border-radius:.5em;inset:0;opacity:.1;overflow:hidden}.filepond--drip-blob{background:#292625;border-radius:50%;height:8em;margin-left:-4em;margin-top:-4em;transform-origin:center center;width:8em}.filepond--drip-blob,.filepond--drop-label{left:0;position:absolute;top:0;will-change:transform,opacity}.filepond--drop-label{align-items:center;color:#4f4f4f;display:flex;height:0;justify-content:center;margin:0;right:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filepond--drop-label.filepond--drop-label label{display:block;margin:0;padding:.5em}.filepond--drop-label label{cursor:default;font-size:.875em;font-weight:400;line-height:1.5;text-align:center}.filepond--label-action{-webkit-text-decoration-skip:ink;cursor:pointer;text-decoration:underline;text-decoration-color:#a7a4a4;text-decoration-skip-ink:auto}.filepond--root[data-disabled] .filepond--drop-label label{opacity:.5}.filepond--file-action-button.filepond--file-action-button{border:none;font-family:inherit;font-size:1em;height:1.625em;line-height:inherit;margin:0;outline:none;padding:0;width:1.625em;will-change:transform,opacity}.filepond--file-action-button.filepond--file-action-button span{clip:rect(1px,1px,1px,1px);border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.filepond--file-action-button.filepond--file-action-button svg{height:100%;width:100%}.filepond--file-action-button.filepond--file-action-button:after{content:"";inset:-.75em;position:absolute}.filepond--file-action-button{background-color:#00000080;background-image:none;border-radius:50%;box-shadow:0 0 #fff0;color:#fff;cursor:auto;transition:box-shadow .25s ease-in}.filepond--file-action-button:focus,.filepond--file-action-button:hover{box-shadow:0 0 0 .125em #ffffffe6}.filepond--file-action-button[disabled]{background-color:#00000040;color:#ffffff80}.filepond--file-action-button[hidden]{display:none}.filepond--file-info{align-items:flex-start;display:flex;flex:1;flex-direction:column;margin:0 .5em 0 0;min-width:0;pointer-events:none;position:static;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform,opacity}.filepond--file-info *{margin:0}.filepond--file-info .filepond--file-info-main{font-size:.75em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.filepond--file-info .filepond--file-info-sub{font-size:.625em;opacity:.5;transition:opacity .25s ease-in-out;white-space:nowrap}.filepond--file-info .filepond--file-info-sub:empty{display:none}.filepond--file-status{align-items:flex-end;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;margin:0;min-width:2.25em;pointer-events:none;position:static;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform,opacity}.filepond--file-status *{margin:0;white-space:nowrap}.filepond--file-status .filepond--file-status-main{font-size:.75em;line-height:1.2}.filepond--file-status .filepond--file-status-sub{font-size:.625em;opacity:.5;transition:opacity .25s ease-in-out}.filepond--file-wrapper.filepond--file-wrapper{border:none;height:100%;margin:0;min-width:0;padding:0}.filepond--file-wrapper.filepond--file-wrapper>legend{clip:rect(1px,1px,1px,1px);border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.filepond--file{align-items:flex-start;border-radius:.5em;color:#fff;display:flex;height:100%;padding:.5625em;position:static}.filepond--file .filepond--file-status{margin-left:auto;margin-right:2.25em}.filepond--file .filepond--processing-complete-indicator{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:3}.filepond--file .filepond--file-action-button,.filepond--file .filepond--processing-complete-indicator,.filepond--file .filepond--progress-indicator{position:absolute}.filepond--file [data-align*=left]{left:.5625em}.filepond--file [data-align*=right]{right:.5625em}.filepond--file [data-align*=center]{left:calc(50% - .8125em)}.filepond--file [data-align*=bottom]{bottom:1.125em}.filepond--file [data-align=center]{top:calc(50% - .8125em)}.filepond--file .filepond--progress-indicator{margin-top:.1875em}.filepond--file .filepond--progress-indicator[data-align*=right]{margin-right:.1875em}.filepond--file .filepond--progress-indicator[data-align*=left]{margin-left:.1875em}[data-filepond-item-state*=error] .filepond--file-info,[data-filepond-item-state*=invalid] .filepond--file-info,[data-filepond-item-state=cancelled] .filepond--file-info{margin-right:2.25em}[data-filepond-item-state~=processing] .filepond--file-status-sub{opacity:0}[data-filepond-item-state~=processing] .filepond--action-abort-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-error] .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-error] .filepond--action-retry-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing svg{animation:fall .5s linear .125s both}[data-filepond-item-state=processing-complete] .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--file-info-sub,[data-filepond-item-state=processing-complete] .filepond--processing-complete-indicator:not([style*=hidden])~.filepond--file-status .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing~.filepond--file-info .filepond--file-info-sub{opacity:.5}[data-filepond-item-state*=error] .filepond--file-wrapper,[data-filepond-item-state*=error] .filepond--panel,[data-filepond-item-state*=invalid] .filepond--file-wrapper,[data-filepond-item-state*=invalid] .filepond--panel{animation:shake .65s linear both}[data-filepond-item-state*=busy] .filepond--progress-indicator svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes shake{10%,90%{transform:translate(-.0625em)}20%,80%{transform:translate(.125em)}30%,50%,70%{transform:translate(-.25em)}40%,60%{transform:translate(.25em)}}@keyframes fall{0%{animation-timing-function:ease-out;opacity:0;transform:scale(.5)}70%{animation-timing-function:ease-in-out;opacity:1;transform:scale(1.1)}to{animation-timing-function:ease-out;transform:scale(1)}}.filepond--hopper[data-hopper-state=drag-over]>*{pointer-events:none}.filepond--hopper[data-hopper-state=drag-over]:after{content:"";inset:0;position:absolute;z-index:100}.filepond--progress-indicator{z-index:103}.filepond--file-action-button{z-index:102}.filepond--file-status{z-index:101}.filepond--file-info{z-index:100}.filepond--item{left:0;margin:.25em;padding:0;position:absolute;right:0;top:0;touch-action:none;will-change:transform,opacity;z-index:1}.filepond--item>.filepond--panel{z-index:-1}.filepond--item>.filepond--panel .filepond--panel-bottom{box-shadow:0 .0625em .125em -.0625em #00000040}.filepond--item>.filepond--file-wrapper,.filepond--item>.filepond--panel{transition:opacity .15s ease-out}.filepond--item[data-drag-state]{cursor:grab}.filepond--item[data-drag-state]>.filepond--panel{box-shadow:0 0 0 transparent;transition:box-shadow .125s ease-in-out}.filepond--item[data-drag-state=drag]{cursor:grabbing}.filepond--item[data-drag-state=drag]>.filepond--panel{box-shadow:0 .125em .3125em #00000053}.filepond--item[data-drag-state]:not([data-drag-state=idle]){z-index:2}.filepond--item-panel{background-color:#64605e}[data-filepond-item-state=processing-complete] .filepond--item-panel{background-color:#369763}[data-filepond-item-state*=error] .filepond--item-panel,[data-filepond-item-state*=invalid] .filepond--item-panel{background-color:#c44e47}.filepond--item-panel{border-radius:.5em;transition:background-color .25s}.filepond--list-scroller{left:0;margin:0;position:absolute;right:0;top:0;will-change:transform}.filepond--list-scroller[data-state=overflow] .filepond--list{bottom:0;right:0}.filepond--list-scroller[data-state=overflow]{-webkit-overflow-scrolling:touch;-webkit-mask:linear-gradient(180deg,#000 calc(100% - .5em),transparent);mask:linear-gradient(180deg,#000 calc(100% - .5em),transparent);overflow-x:hidden;overflow-y:scroll}.filepond--list-scroller::-webkit-scrollbar{background:transparent}.filepond--list-scroller::-webkit-scrollbar:vertical{width:1em}.filepond--list-scroller::-webkit-scrollbar:horizontal{height:0}.filepond--list-scroller::-webkit-scrollbar-thumb{background-clip:content-box;background-color:#0000004d;border:.3125em solid transparent;border-radius:99999px}.filepond--list.filepond--list{list-style-type:none;margin:0;padding:0;position:absolute;top:0;will-change:transform}.filepond--list{left:.75em;right:.75em}.filepond--root[data-style-panel-layout~=integrated]{height:100%;margin:0;max-width:none;width:100%}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root{border-radius:0}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root>*,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root>*{display:none}.filepond--root[data-style-panel-layout~=circle] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{align-items:center;bottom:0;display:flex;height:auto;justify-content:center;z-index:7}.filepond--root[data-style-panel-layout~=circle] .filepond--item-panel,.filepond--root[data-style-panel-layout~=integrated] .filepond--item-panel{display:none}.filepond--root[data-style-panel-layout~=compact] .filepond--list-scroller,.filepond--root[data-style-panel-layout~=integrated] .filepond--list-scroller{height:100%;margin-bottom:0;margin-top:0;overflow:hidden}.filepond--root[data-style-panel-layout~=compact] .filepond--list,.filepond--root[data-style-panel-layout~=integrated] .filepond--list{height:100%;left:0;right:0}.filepond--root[data-style-panel-layout~=compact] .filepond--item,.filepond--root[data-style-panel-layout~=integrated] .filepond--item{margin:0}.filepond--root[data-style-panel-layout~=compact] .filepond--file-wrapper,.filepond--root[data-style-panel-layout~=integrated] .filepond--file-wrapper{height:100%}.filepond--root[data-style-panel-layout~=compact] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{z-index:7}.filepond--root[data-style-panel-layout~=circle]{border-radius:99999rem;overflow:hidden}.filepond--root[data-style-panel-layout~=circle]>.filepond--panel{border-radius:inherit}.filepond--root[data-style-panel-layout~=circle] .filepond--file-info,.filepond--root[data-style-panel-layout~=circle] .filepond--file-status,.filepond--root[data-style-panel-layout~=circle]>.filepond--panel>*{display:none}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:.001dpcm){@supports (-webkit-appearance:none) and (stroke-color:transparent){.filepond--root[data-style-panel-layout~=circle]{will-change:transform}}}.filepond--panel-root{background-color:#f1f0ef;border-radius:.5em}.filepond--panel{height:100%!important;left:0;margin:0;pointer-events:none;position:absolute;right:0;top:0}.filepond-panel:not([data-scalable=false]){height:auto!important}.filepond--panel[data-scalable=false]>div{display:none}.filepond--panel[data-scalable=true]{background-color:transparent!important;border:none!important;transform-style:preserve-3d}.filepond--panel-bottom,.filepond--panel-center,.filepond--panel-top{left:0;margin:0;padding:0;position:absolute;right:0;top:0}.filepond--panel-bottom,.filepond--panel-top{height:.5em}.filepond--panel-top{border-bottom:none!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.filepond--panel-top:after{background-color:inherit;bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.filepond--panel-bottom,.filepond--panel-center{backface-visibility:hidden;transform:translate3d(0,.5em,0);transform-origin:left top;will-change:transform}.filepond--panel-bottom{border-top:none!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.filepond--panel-bottom:before{background-color:inherit;content:"";height:2px;left:0;position:absolute;right:0;top:-1px}.filepond--panel-center{border-bottom:none!important;border-radius:0!important;border-top:none!important;height:100px!important}.filepond--panel-center:not([style]){visibility:hidden}.filepond--progress-indicator{color:#fff;height:1.25em;margin:0;pointer-events:none;position:static;width:1.25em;will-change:transform,opacity}.filepond--progress-indicator svg{height:100%;transform-box:fill-box;vertical-align:top;width:100%}.filepond--progress-indicator path{fill:none;stroke:currentColor}.filepond--list-scroller{z-index:6}.filepond--drop-label{z-index:5}.filepond--drip{z-index:3}.filepond--root>.filepond--panel{z-index:2}.filepond--browser{z-index:1}.filepond--root{box-sizing:border-box;contain:layout style size;direction:ltr;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1rem;font-weight:450;line-height:normal;margin-bottom:1em;position:relative;text-align:left;text-rendering:optimizeLegibility}.filepond--root *{box-sizing:inherit;line-height:inherit}.filepond--root :not(text){font-size:inherit}.filepond--root[data-disabled]{pointer-events:none}.filepond--root[data-disabled] .filepond--list-scroller{pointer-events:all}.filepond--root[data-disabled] .filepond--list{pointer-events:none}.filepond--root .filepond--drop-label{min-height:4.75em}.filepond--root .filepond--list-scroller{margin-bottom:1em;margin-top:1em}.filepond--root .filepond--credits{bottom:-14px;color:inherit;font-size:11px;line-height:.85;opacity:.175;position:absolute;right:0;text-decoration:none;z-index:3}.filepond--root .filepond--credits[style]{bottom:auto;margin-top:14px;top:0}.filepond--action-edit-item.filepond--action-edit-item{height:2em;padding:.1875em;width:2em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=center]{margin-left:-.1875em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=bottom]{margin-bottom:-.1875em}.filepond--action-edit-item-alt{background:transparent;border:none;color:inherit;font-family:inherit;line-height:inherit;margin:0 0 0 .25em;outline:none;padding:0;pointer-events:all;position:absolute}.filepond--action-edit-item-alt svg{height:1.3125em;width:1.3125em}.filepond--action-edit-item-alt span{font-size:0;opacity:0}.filepond--root[data-style-panel-layout~=circle] .filepond--action-edit-item{opacity:1!important;visibility:visible!important}.filepond--image-preview-markup{left:0;position:absolute;top:0}.filepond--image-preview-wrapper{z-index:2}.filepond--image-preview-overlay{display:block;left:0;margin:0;max-height:7rem;min-height:5rem;opacity:0;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:2}.filepond--image-preview-overlay svg{color:inherit;height:auto;max-height:inherit;width:100%}.filepond--image-preview-overlay-idle{color:#282828d9;mix-blend-mode:multiply}.filepond--image-preview-overlay-success{color:#369763;mix-blend-mode:normal}.filepond--image-preview-overlay-failure{color:#c44e47;mix-blend-mode:normal}@supports (-webkit-marquee-repetition:infinite) and ((-o-object-fit:fill) or (object-fit:fill)){.filepond--image-preview-overlay-idle{mix-blend-mode:normal}}.filepond--image-preview-wrapper{background:rgba(0,0,0,.01);border-radius:.45em;height:100%;left:0;margin:0;overflow:hidden;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filepond--image-preview{align-items:center;background:#222;display:flex;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;will-change:transform,opacity;z-index:1}.filepond--image-clip{margin:0 auto;overflow:hidden;position:relative}.filepond--image-clip[data-transparency-indicator=grid] canvas,.filepond--image-clip[data-transparency-indicator=grid] img{background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' fill='%23eee'%3E%3Cpath d='M0 0h50v50H0M50 50h50v50H50'/%3E%3C/svg%3E");background-size:1.25em 1.25em}.filepond--image-bitmap,.filepond--image-vector{left:0;position:absolute;top:0;will-change:transform}.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview-wrapper{border-radius:0}.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview{align-items:center;display:flex;height:100%;justify-content:center}.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-wrapper{border-radius:99999rem}.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-overlay{bottom:0;top:auto;transform:scaleY(-1)}.filepond--root[data-style-panel-layout~=circle] .filepond--file .filepond--file-action-button[data-align*=bottom]:not([data-align*=center]){margin-bottom:.325em}.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=left]{left:calc(50% - 3em)}.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=right]{right:calc(50% - 3em)}.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=left],.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=right]{margin-bottom:.5125em}.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=center]{margin-bottom:.1875em;margin-left:.1875em;margin-top:0}.filepond--media-preview audio{display:none}.filepond--media-preview .audioplayer{margin:2.3em auto auto;width:calc(100% - 1.4em)}.filepond--media-preview .playpausebtn{background-position:50%;background-repeat:no-repeat;border:none;border-radius:25px;cursor:pointer;float:left;height:25px;margin-right:.3em;margin-top:.3em;outline:none;width:25px}.filepond--media-preview .playpausebtn:hover{background-color:#00000080}.filepond--media-preview .play{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAyElEQVQ4T9XUsWoCQRRG4XPaFL5SfIy8gKYKBCysrax8Ahs7qzQ2qVIFOwsrsbEWLEK6EBFGBrIQhN2d3dnGgalm+Jh7789Ix8uOPe4YDCH0gZ66atKW0pJDCE/AEngDXtRjCpwCRucbGANzNVTBqWBhfAJDdV+GNgWj8wtM41bPt3AbsDB2f69d/0dzwC0wUDe54A8wAWbqJbfkD+BZPeQO5QsYqYu6LKb0MIb7VT3VYfG8CnwEHtT3FKi4c8e/TZMyk3LYFrwCgMdHFbRDKS8AAAAASUVORK5CYII=)}.filepond--media-preview .pause{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAh0lEQVQ4T+2UsQkCURBE30PLMbAMMResQrAPsQ0TK9AqDKxGZeTLD74aGNwlhzfZssvADDMrPcOe+RggYZIJcG2s2KinMidZAvu6u6uzT8u+JCeZArfmcKUeK+EaONTdQy23bxgJX8aPHvIHsSnVuzTx36rn2pQFsGuqN//ZlK7vbIDvq6vkJ9yteBXzecYbAAAAAElFTkSuQmCC)}.filepond--media-preview .timeline{background:hsla(0,0%,100%,.3);border-radius:15px;float:left;height:3px;margin-top:1em;width:calc(100% - 2.5em)}.filepond--media-preview .playhead{background:#fff;border-radius:50%;height:13px;margin-top:-5px;width:13px}.filepond--media-preview-wrapper{background:rgba(0,0,0,.01);border-radius:.45em;height:100%;left:0;margin:0;overflow:hidden;pointer-events:auto;position:absolute;right:0;top:0}.filepond--media-preview-wrapper:before{background:linear-gradient(180deg,#000 0,transparent);content:" ";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#00000000",GradientType=0);height:2em;position:absolute;width:100%;z-index:3}.filepond--media-preview{display:block;height:100%;position:relative;transform-origin:center center;width:100%;will-change:transform,opacity;z-index:1}.filepond--media-preview audio,.filepond--media-preview video{width:100%;will-change:transform}.filepond--root{--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--gray-950),0.1);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);margin-bottom:0}.filepond--root:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.2);background-color:hsla(0,0%,100%,.05)}.filepond--root[data-disabled=disabled]{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.filepond--root[data-disabled=disabled]:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.1);background-color:transparent}.filepond--panel-root{background-color:transparent}.filepond--drop-label label{--tw-text-opacity:1;color:rgba(var(--gray-600),var(--tw-text-opacity));font-size:.875rem;line-height:1.25rem;padding:.75rem!important}.filepond--drop-label label:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.filepond--label-action{--tw-text-opacity:1;color:rgba(var(--primary-600),var(--tw-text-opacity));font-weight:500;text-decoration-line:none;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.filepond--label-action:hover{--tw-text-opacity:1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.filepond--label-action:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.filepond--label-action:hover:is(.dark *){--tw-text-opacity:1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.filepond--drip-blob{--tw-bg-opacity:1;background-color:rgba(var(--gray-400),var(--tw-bg-opacity))}.filepond--drip-blob:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-500),var(--tw-bg-opacity))}.filepond--root[data-style-panel-layout=grid] .filepond--item{display:inline;width:calc(50% - .5rem)}@media (min-width:1024px){.filepond--root[data-style-panel-layout=grid] .filepond--item{width:calc(33.33% - .5rem)}}.filepond--download-icon{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));display:inline-block;height:1rem;margin-inline-end:.25rem;pointer-events:auto;vertical-align:bottom;width:1rem}.filepond--download-icon:hover{background-color:hsla(0,0%,100%,.7)}.filepond--download-icon{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLWRvd25sb2FkIj48cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNE03IDEwbDUgNSA1LTVNMTIgMTVWMyIvPjwvc3ZnPg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLWRvd25sb2FkIj48cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNE03IDEwbDUgNSA1LTVNMTIgMTVWMyIvPjwvc3ZnPg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}.filepond--open-icon{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));display:inline-block;height:1rem;margin-inline-end:.25rem;pointer-events:auto;vertical-align:bottom;width:1rem}.filepond--open-icon:hover{background-color:hsla(0,0%,100%,.7)}.filepond--open-icon{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTYgdy02IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEwIDZINmEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTBhMiAyIDAgMCAwIDItMnYtNE0xNCA0aDZtMCAwdjZtMC02TDEwIDE0Ii8+PC9zdmc+);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTYgdy02IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEwIDZINmEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTBhMiAyIDAgMCAwIDItMnYtNE0xNCA0aDZtMCAwdjZtMC02TDEwIDE0Ii8+PC9zdmc+);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}.filepond--file-action-button.filepond--action-edit-item{background-color:rgba(0,0,0,.5)}.cropper-drag-box.cropper-crop.cropper-modal{background-color:rgba(var(--gray-100),.5);opacity:1}.cropper-drag-box.cropper-crop.cropper-modal:is(.dark *){background-color:rgba(var(--gray-900),.8)}.fi-fo-file-upload-circle-cropper .cropper-face,.fi-fo-file-upload-circle-cropper .cropper-view-box{border-radius:50%}.CodeMirror{color:#000;direction:ltr;font-family:monospace;height:300px}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{background-color:#f7f7f7;border-right:1px solid #ddd;white-space:nowrap}.CodeMirror-linenumber{color:#999;min-width:20px;padding:0 3px 0 5px;text-align:right;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{background:#7e7;border:0!important;width:auto}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:transparent}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{inset:-50px 0 0;overflow:hidden;position:absolute}.CodeMirror-ruler{border-left:1px solid #ccc;bottom:0;position:absolute;top:0}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;overflow:hidden;position:relative}.CodeMirror-scroll{height:100%;margin-bottom:-50px;margin-right:-50px;outline:0;overflow:scroll!important;padding-bottom:50px;position:relative;z-index:0}.CodeMirror-sizer{border-right:50px solid transparent;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{display:none;outline:0;position:absolute;z-index:6}.CodeMirror-vscrollbar{overflow-x:hidden;overflow-y:scroll;right:0;top:0}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-x:scroll;overflow-y:hidden}.CodeMirror-scrollbar-filler{bottom:0;right:0}.CodeMirror-gutter-filler{bottom:0;left:0}.CodeMirror-gutters{left:0;min-height:100%;position:absolute;top:0;z-index:3}.CodeMirror-gutter{display:inline-block;height:100%;margin-bottom:-50px;vertical-align:top;white-space:normal}.CodeMirror-gutter-wrapper{background:0 0!important;border:none!important;position:absolute;z-index:4}.CodeMirror-gutter-background{bottom:0;position:absolute;top:0;z-index:4}.CodeMirror-gutter-elt{cursor:default;position:absolute;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{word-wrap:normal;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-variant-ligatures:contextual;line-height:inherit;margin:0;overflow:visible;position:relative;white-space:pre;z-index:2}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{inset:0;position:absolute;z-index:0}.CodeMirror-linewidget{padding:.1px;position:relative;z-index:2}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:content-box}.CodeMirror-measure{height:0;overflow:hidden;position:absolute;visibility:hidden;width:100%}.CodeMirror-cursor{pointer-events:none;position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{position:relative;visibility:hidden;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:0 0}.EasyMDEContainer{display:block}.CodeMirror-rtl pre{direction:rtl}.EasyMDEContainer.sided--no-fullscreen{display:flex;flex-direction:row;flex-wrap:wrap}.EasyMDEContainer .CodeMirror{word-wrap:break-word;border:1px solid #ced4da;border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-sizing:border-box;font:inherit;height:auto;padding:10px;z-index:0}.EasyMDEContainer .CodeMirror-scroll{cursor:text}.EasyMDEContainer .CodeMirror-fullscreen{background:#fff;border-bottom-right-radius:0!important;border-right:none!important;height:auto;inset:50px 0 0;position:fixed!important;z-index:8}.EasyMDEContainer .CodeMirror-sided{width:50%!important}.EasyMDEContainer.sided--no-fullscreen .CodeMirror-sided{border-bottom-right-radius:0;border-right:none!important;flex:1 1 auto;position:relative}.EasyMDEContainer .CodeMirror-placeholder{opacity:.5}.EasyMDEContainer .CodeMirror-focused .CodeMirror-selected{background:#d9d9d9}.editor-toolbar{border-left:1px solid #ced4da;border-right:1px solid #ced4da;border-top:1px solid #ced4da;border-top-left-radius:4px;border-top-right-radius:4px;padding:9px 10px;position:relative;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.editor-toolbar.fullscreen{background:#fff;border:0;box-sizing:border-box;height:50px;left:0;opacity:1;padding-bottom:10px;padding-top:10px;position:fixed;top:0;width:100%;z-index:9}.editor-toolbar.fullscreen:before{background:linear-gradient(90deg,#fff 0,hsla(0,0%,100%,0));height:50px;left:0;margin:0;padding:0;position:fixed;top:0;width:20px}.editor-toolbar.fullscreen:after{background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,#fff);height:50px;margin:0;padding:0;position:fixed;right:0;top:0;width:20px}.EasyMDEContainer.sided--no-fullscreen .editor-toolbar{width:100%}.editor-toolbar .easymde-dropdown,.editor-toolbar button{background:0 0;border:1px solid transparent;border-radius:3px;cursor:pointer;display:inline-block;height:30px;margin:0;padding:0;text-align:center;text-decoration:none!important}.editor-toolbar button{font-weight:700;min-width:30px;padding:0 6px;white-space:nowrap}.editor-toolbar button.active,.editor-toolbar button:hover{background:#fcfcfc;border-color:#95a5a6}.editor-toolbar i.separator{border-left:1px solid #d9d9d9;border-right:1px solid #fff;color:transparent;display:inline-block;margin:0 6px;text-indent:-10px;width:0}.editor-toolbar button:after{font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:65%;position:relative;top:2px;vertical-align:text-bottom}.editor-toolbar button.heading-1:after{content:"1"}.editor-toolbar button.heading-2:after{content:"2"}.editor-toolbar button.heading-3:after{content:"3"}.editor-toolbar button.heading-bigger:after{content:"\25b2"}.editor-toolbar button.heading-smaller:after{content:"\25bc"}.editor-toolbar.disabled-for-preview button:not(.no-disable){opacity:.6;pointer-events:none}@media only screen and (max-width:700px){.editor-toolbar i.no-mobile{display:none}}.editor-statusbar{color:#959694;font-size:12px;padding:8px 10px;text-align:right}.EasyMDEContainer.sided--no-fullscreen .editor-statusbar{width:100%}.editor-statusbar span{display:inline-block;margin-left:1em;min-width:4em}.editor-statusbar .lines:before{content:"lines: "}.editor-statusbar .words:before{content:"words: "}.editor-statusbar .characters:before{content:"characters: "}.editor-preview-full{height:100%;left:0;position:absolute;top:0;width:100%;z-index:7}.editor-preview-full,.editor-preview-side{box-sizing:border-box;display:none;overflow:auto}.editor-preview-side{word-wrap:break-word;border:1px solid #ddd;bottom:0;position:fixed;right:0;top:50px;width:50%;z-index:9}.editor-preview-active-side{display:block}.EasyMDEContainer.sided--no-fullscreen .editor-preview-active-side{flex:1 1 auto;height:auto;position:static}.editor-preview-active{display:block}.editor-preview{background:#fafafa;padding:10px}.editor-preview>p{margin-top:0}.editor-preview pre{background:#eee;margin-bottom:10px}.editor-preview table td,.editor-preview table th{border:1px solid #ddd;padding:5px}.cm-s-easymde .cm-tag{color:#63a35c}.cm-s-easymde .cm-attribute{color:#795da3}.cm-s-easymde .cm-string{color:#183691}.cm-s-easymde .cm-header-1{font-size:calc(1.375rem + 1.5vw)}.cm-s-easymde .cm-header-2{font-size:calc(1.325rem + .9vw)}.cm-s-easymde .cm-header-3{font-size:calc(1.3rem + .6vw)}.cm-s-easymde .cm-header-4{font-size:calc(1.275rem + .3vw)}.cm-s-easymde .cm-header-5{font-size:1.25rem}.cm-s-easymde .cm-header-6{font-size:1rem}.cm-s-easymde .cm-header-1,.cm-s-easymde .cm-header-2,.cm-s-easymde .cm-header-3,.cm-s-easymde .cm-header-4,.cm-s-easymde .cm-header-5,.cm-s-easymde .cm-header-6{line-height:1.2;margin-bottom:.5rem}.cm-s-easymde .cm-comment{background:rgba(0,0,0,.05);border-radius:2px}.cm-s-easymde .cm-link{color:#7f8c8d}.cm-s-easymde .cm-url{color:#aab2b3}.cm-s-easymde .cm-quote{color:#7f8c8d;font-style:italic}.editor-toolbar .easymde-dropdown{border:1px solid #fff;border-radius:0;position:relative}.editor-toolbar .easymde-dropdown,.editor-toolbar .easymde-dropdown:hover{background:linear-gradient(to bottom right,#fff,#fff 84%,#333 0,#333)}.easymde-dropdown-content{background-color:#f9f9f9;box-shadow:0 8px 16px #0003;display:block;padding:8px;position:absolute;top:30px;visibility:hidden;z-index:2}.easymde-dropdown:active .easymde-dropdown-content,.easymde-dropdown:focus .easymde-dropdown-content,.easymde-dropdown:focus-within .easymde-dropdown-content{visibility:visible}.easymde-dropdown-content button{display:block}span[data-img-src]:after{background-image:var(--bg-image);background-repeat:no-repeat;background-size:contain;content:"";display:block;height:0;max-height:100%;max-width:100%;padding-top:var(--height);width:var(--width)}.CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word){background:rgba(255,0,0,.15)}:root{--color-cm-red:#991b1b;--color-cm-orange:#9a3412;--color-cm-amber:#92400e;--color-cm-yellow:#854d0e;--color-cm-lime:#3f6212;--color-cm-green:#166534;--color-cm-emerald:#065f46;--color-cm-teal:#115e59;--color-cm-cyan:#155e75;--color-cm-sky:#075985;--color-cm-blue:#1e40af;--color-cm-indigo:#3730a3;--color-cm-violet:#5b21b6;--color-cm-purple:#6b21a8;--color-cm-fuchsia:#86198f;--color-cm-pink:#9d174d;--color-cm-rose:#9f1239;--color-cm-gray:#18181b;--color-cm-gray-muted:#71717a;--color-cm-gray-background:#e4e4e7}.dark{--color-cm-red:#f87171;--color-cm-orange:#fb923c;--color-cm-amber:#fbbf24;--color-cm-yellow:#facc15;--color-cm-lime:#a3e635;--color-cm-green:#4ade80;--color-cm-emerald:#4ade80;--color-cm-teal:#2dd4bf;--color-cm-cyan:#22d3ee;--color-cm-sky:#38bdf8;--color-cm-blue:#60a5fa;--color-cm-indigo:#818cf8;--color-cm-violet:#a78bfa;--color-cm-purple:#c084fc;--color-cm-fuchsia:#e879f9;--color-cm-pink:#f472b6;--color-cm-rose:#fb7185;--color-cm-gray:#fafafa;--color-cm-gray-muted:#a1a1aa;--color-cm-gray-background:#52525b}.cm-s-easymde .cm-comment{background-color:transparent;color:var(--color-cm-gray-muted)}.EasyMDEContainer .CodeMirror-cursor{border-color:currentColor}.dark .EasyMDEContainer .cm-s-easymde span.CodeMirror-selectedtext{filter:invert(100%)}.EasyMDEContainer .cm-s-easymde .cm-keyword{color:var(--color-cm-violet)}.EasyMDEContainer .cm-s-easymde .cm-atom{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-number{color:var(--color-cm-green)}.EasyMDEContainer .cm-s-easymde .cm-def{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-variable{color:var(--color-cm-yellow)}.EasyMDEContainer .cm-s-easymde .cm-variable-2{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-variable-3{color:var(--color-cm-emerald)}.EasyMDEContainer .cm-s-easymde .cm-operator,.EasyMDEContainer .cm-s-easymde .cm-property{color:var(--color-cm-gray)}.EasyMDEContainer .cm-s-easymde .cm-string,.EasyMDEContainer .cm-s-easymde .cm-string-2{color:var(--color-cm-rose)}.EasyMDEContainer .cm-s-easymde .cm-meta{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-error{color:var(--color-cm-red)}.EasyMDEContainer .cm-s-easymde .cm-qualifier{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-builtin{color:var(--color-cm-violet)}.EasyMDEContainer .cm-s-easymde .cm-bracket{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-tag{color:var(--color-cm-green)}.EasyMDEContainer .cm-s-easymde .cm-attribute{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-hr{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-formatting-quote{color:var(--color-cm-sky)}.EasyMDEContainer .cm-s-easymde .cm-formatting-quote+.cm-quote{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-formatting-list,.EasyMDEContainer .cm-s-easymde .cm-formatting-list+.cm-variable-2,.EasyMDEContainer .cm-s-easymde .cm-tab+.cm-variable-2{color:var(--color-cm-gray)}.EasyMDEContainer .cm-s-easymde .cm-link{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-tag{color:var(--color-cm-red)}.EasyMDEContainer .cm-s-easymde .cm-attribute{color:var(--color-cm-amber)}.EasyMDEContainer .cm-s-easymde .cm-attribute+.cm-string{color:var(--color-cm-green)}.EasyMDEContainer .cm-s-easymde .cm-formatting-code+.cm-comment:not(.cm-formatting-code){background-color:var(--color-cm-gray-background);color:var(--color-cm-gray)}.EasyMDEContainer .cm-s-easymde .cm-header-1{font-size:1.875rem;line-height:2.25rem}.EasyMDEContainer .cm-s-easymde .cm-header-2{font-size:1.5rem;line-height:2rem}.EasyMDEContainer .cm-s-easymde .cm-header-3{font-size:1.25rem;line-height:1.75rem}.EasyMDEContainer .cm-s-easymde .cm-header-4{font-size:1.125rem;line-height:1.75rem}.EasyMDEContainer .cm-s-easymde .cm-header-5{font-size:1rem;line-height:1.5rem}.EasyMDEContainer .cm-s-easymde .cm-header-6{font-size:.875rem;line-height:1.25rem}.EasyMDEContainer .cm-s-easymde .cm-comment{background-image:none}.EasyMDEContainer .CodeMirror,.EasyMDEContainer .cm-s-easymde .cm-formatting-code-block,.EasyMDEContainer .cm-s-easymde .cm-tab+.cm-comment{background-color:transparent;color:inherit}.EasyMDEContainer .CodeMirror{border-style:none;padding:.375rem .75rem}.EasyMDEContainer .CodeMirror-scroll{height:auto}.EasyMDEContainer .editor-toolbar{--tw-border-opacity:1;border-color:rgba(var(--gray-200),var(--tw-border-opacity));border-radius:0;border-width:0 0 1px;-moz-column-gap:.25rem;column-gap:.25rem;display:flex;overflow-x:auto;padding:.5rem .625rem}.EasyMDEContainer .editor-toolbar:is(.dark *){border-color:hsla(0,0%,100%,.1)}.EasyMDEContainer .editor-toolbar button{border-radius:.5rem;border-style:none;cursor:pointer;display:grid;height:2rem;padding:0;place-content:center;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:2rem}.EasyMDEContainer .editor-toolbar button:hover{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar button:focus-visible{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar button:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}.EasyMDEContainer .editor-toolbar button:focus-visible:is(.dark *){background-color:hsla(0,0%,100%,.05)}.EasyMDEContainer .editor-toolbar button.active{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar button.active:is(.dark *){background-color:hsla(0,0%,100%,.05)}.EasyMDEContainer .editor-toolbar button:before{--tw-bg-opacity:1;background-color:rgba(var(--gray-700),var(--tw-bg-opacity));display:block;height:1rem;width:1rem}.EasyMDEContainer .editor-toolbar button:is(.dark *):before{--tw-bg-opacity:1;background-color:rgba(var(--gray-300),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar button:before{content:"";-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.EasyMDEContainer .editor-toolbar button.active:before{--tw-bg-opacity:1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar button.active:is(.dark *):before{--tw-bg-opacity:1;background-color:rgba(var(--primary-400),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar .separator{border-style:none;margin:0!important;width:.25rem}.EasyMDEContainer .editor-toolbar .bold:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M321.1 242.4c19-22.3 30.9-50.8 30.9-82.4 0-70.59-57.42-128-128-128l-192 .01c-17.67 0-32 14.31-32 32s14.33 32 32 32h16v320H32c-17.67 0-32 14.31-32 32s14.33 32 32 32h224c70.58 0 128-57.41 128-128 0-46.71-25.4-87.21-62.9-109.61zM112 96.01h112c35.3 0 64 28.72 64 64s-28.7 64-64 64H112v-128zM256 416H112V288h144c35.3 0 64 28.71 64 63.1S291.3 416 256 416z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M321.1 242.4c19-22.3 30.9-50.8 30.9-82.4 0-70.59-57.42-128-128-128l-192 .01c-17.67 0-32 14.31-32 32s14.33 32 32 32h16v320H32c-17.67 0-32 14.31-32 32s14.33 32 32 32h224c70.58 0 128-57.41 128-128 0-46.71-25.4-87.21-62.9-109.61zM112 96.01h112c35.3 0 64 28.72 64 64s-28.7 64-64 64H112v-128zM256 416H112V288h144c35.3 0 64 28.71 64 63.1S291.3 416 256 416z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .italic:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M384 64.01c0 17.69-14.31 32-32 32h-58.67l-133.3 320H224c17.69 0 32 14.31 32 32s-14.31 32-32 32H32c-17.69 0-32-14.31-32-32s14.31-32 32-32h58.67l133.3-320H160c-17.69 0-32-14.31-32-32s14.31-32 32-32h192c17.7 0 32 14.32 32 32z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M384 64.01c0 17.69-14.31 32-32 32h-58.67l-133.3 320H224c17.69 0 32 14.31 32 32s-14.31 32-32 32H32c-17.69 0-32-14.31-32-32s14.31-32 32-32h58.67l133.3-320H160c-17.69 0-32-14.31-32-32s14.31-32 32-32h192c17.7 0 32 14.32 32 32z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .strikethrough:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M332.2 319.9c17.22 12.17 22.33 26.51 18.61 48.21-3.031 17.59-10.88 29.34-24.72 36.99-35.44 19.75-108.5 11.96-186-19.68-16.34-6.686-35.03 1.156-41.72 17.53s1.188 35.05 17.53 41.71c31.75 12.93 95.69 35.37 157.6 35.37 29.62 0 58.81-5.156 83.72-18.96 30.81-17.09 50.44-45.46 56.72-82.11 3.998-23.27 2.168-42.58-3.488-59.05H332.2zm155.8-80-176.5-.03c-15.85-5.614-31.83-10.34-46.7-14.62-85.47-24.62-110.9-39.05-103.7-81.33 2.5-14.53 10.16-25.96 22.72-34.03 20.47-13.15 64.06-23.84 155.4.343 17.09 4.53 34.59-5.654 39.13-22.74 4.531-17.09-5.656-34.59-22.75-39.12-91.31-24.18-160.7-21.62-206.3 7.654C121.8 73.72 103.6 101.1 98.09 133.1c-8.83 51.4 9.81 84.2 39.11 106.8H24c-13.25 0-24 10.75-24 23.1 0 13.25 10.75 23.1 24 23.1h464c13.25 0 24-10.75 24-23.1 0-12.3-10.7-23.1-24-23.1z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M332.2 319.9c17.22 12.17 22.33 26.51 18.61 48.21-3.031 17.59-10.88 29.34-24.72 36.99-35.44 19.75-108.5 11.96-186-19.68-16.34-6.686-35.03 1.156-41.72 17.53s1.188 35.05 17.53 41.71c31.75 12.93 95.69 35.37 157.6 35.37 29.62 0 58.81-5.156 83.72-18.96 30.81-17.09 50.44-45.46 56.72-82.11 3.998-23.27 2.168-42.58-3.488-59.05H332.2zm155.8-80-176.5-.03c-15.85-5.614-31.83-10.34-46.7-14.62-85.47-24.62-110.9-39.05-103.7-81.33 2.5-14.53 10.16-25.96 22.72-34.03 20.47-13.15 64.06-23.84 155.4.343 17.09 4.53 34.59-5.654 39.13-22.74 4.531-17.09-5.656-34.59-22.75-39.12-91.31-24.18-160.7-21.62-206.3 7.654C121.8 73.72 103.6 101.1 98.09 133.1c-8.83 51.4 9.81 84.2 39.11 106.8H24c-13.25 0-24 10.75-24 23.1 0 13.25 10.75 23.1 24 23.1h464c13.25 0 24-10.75 24-23.1 0-12.3-10.7-23.1-24-23.1z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .link:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M598.6 41.41C570.1 13.8 534.8 0 498.6 0s-72.36 13.8-99.96 41.41l-43.36 43.36c15.11 8.012 29.47 17.58 41.91 30.02 3.146 3.146 5.898 6.518 8.742 9.838l37.96-37.96C458.5 72.05 477.1 64 498.6 64c20.67 0 40.1 8.047 54.71 22.66 14.61 14.61 22.66 34.04 22.66 54.71s-8.049 40.1-22.66 54.71l-133.3 133.3C405.5 343.1 386 352 365.4 352s-40.1-8.048-54.71-22.66C296 314.7 287.1 295.3 287.1 274.6s8.047-40.1 22.66-54.71l4.44-3.49c-2.1-3.9-4.3-7.9-7.5-11.1-8.6-8.6-19.9-13.3-32.1-13.3-11.93 0-23.1 4.664-31.61 12.97-30.71 53.96-23.63 123.6 22.39 169.6C293 402.2 329.2 416 365.4 416c36.18 0 72.36-13.8 99.96-41.41L598.6 241.3c28.45-28.45 42.24-66.01 41.37-103.3-.87-35.9-14.57-69.84-41.37-96.59zM234 387.4l-37.9 37.9C181.5 439.1 162 448 141.4 448c-20.67 0-40.1-8.047-54.71-22.66-14.61-14.61-22.66-34.04-22.66-54.71s8.049-40.1 22.66-54.71l133.3-133.3C234.5 168 253.1 160 274.6 160s40.1 8.048 54.71 22.66c14.62 14.61 22.66 34.04 22.66 54.71s-8.047 40.1-22.66 54.71l-3.51 3.52c2.094 3.939 4.219 7.895 7.465 11.15C341.9 315.3 353.3 320 365.4 320c11.93 0 23.1-4.664 31.61-12.97 30.71-53.96 23.63-123.6-22.39-169.6C346.1 109.8 310.8 96 274.6 96c-36.2 0-72.3 13.8-99.9 41.4L41.41 270.7C13.81 298.3 0 334.48 0 370.66c0 36.18 13.8 72.36 41.41 99.97C69.01 498.2 105.2 512 141.4 512c36.18 0 72.36-13.8 99.96-41.41l43.36-43.36c-15.11-8.012-29.47-17.58-41.91-30.02-3.21-3.11-5.91-6.51-8.81-9.81z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M598.6 41.41C570.1 13.8 534.8 0 498.6 0s-72.36 13.8-99.96 41.41l-43.36 43.36c15.11 8.012 29.47 17.58 41.91 30.02 3.146 3.146 5.898 6.518 8.742 9.838l37.96-37.96C458.5 72.05 477.1 64 498.6 64c20.67 0 40.1 8.047 54.71 22.66 14.61 14.61 22.66 34.04 22.66 54.71s-8.049 40.1-22.66 54.71l-133.3 133.3C405.5 343.1 386 352 365.4 352s-40.1-8.048-54.71-22.66C296 314.7 287.1 295.3 287.1 274.6s8.047-40.1 22.66-54.71l4.44-3.49c-2.1-3.9-4.3-7.9-7.5-11.1-8.6-8.6-19.9-13.3-32.1-13.3-11.93 0-23.1 4.664-31.61 12.97-30.71 53.96-23.63 123.6 22.39 169.6C293 402.2 329.2 416 365.4 416c36.18 0 72.36-13.8 99.96-41.41L598.6 241.3c28.45-28.45 42.24-66.01 41.37-103.3-.87-35.9-14.57-69.84-41.37-96.59zM234 387.4l-37.9 37.9C181.5 439.1 162 448 141.4 448c-20.67 0-40.1-8.047-54.71-22.66-14.61-14.61-22.66-34.04-22.66-54.71s8.049-40.1 22.66-54.71l133.3-133.3C234.5 168 253.1 160 274.6 160s40.1 8.048 54.71 22.66c14.62 14.61 22.66 34.04 22.66 54.71s-8.047 40.1-22.66 54.71l-3.51 3.52c2.094 3.939 4.219 7.895 7.465 11.15C341.9 315.3 353.3 320 365.4 320c11.93 0 23.1-4.664 31.61-12.97 30.71-53.96 23.63-123.6-22.39-169.6C346.1 109.8 310.8 96 274.6 96c-36.2 0-72.3 13.8-99.9 41.4L41.41 270.7C13.81 298.3 0 334.48 0 370.66c0 36.18 13.8 72.36 41.41 99.97C69.01 498.2 105.2 512 141.4 512c36.18 0 72.36-13.8 99.96-41.41l43.36-43.36c-15.11-8.012-29.47-17.58-41.91-30.02-3.21-3.11-5.91-6.51-8.81-9.81z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .heading:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 64c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32h-16v112h224V96h-16c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32h-16v320h16c17.7 0 32 14.3 32 32s-14.3 32-32 32h-96c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V272H112v144h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V96H32C14.3 96 0 81.7 0 64z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 64c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32h-16v112h224V96h-16c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32h-16v320h16c17.7 0 32 14.3 32 32s-14.3 32-32 32h-96c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V272H112v144h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V96H32C14.3 96 0 81.7 0 64z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .quote:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M96 224c-11.28 0-21.95 2.3-32 5.9V224c0-35.3 28.7-64 64-64 17.67 0 32-14.33 32-32s-14.3-32-32-32C57.42 96 0 153.4 0 224v96c0 53.02 42.98 96 96 96s96-42.98 96-96-43-96-96-96zm256 0c-11.28 0-21.95 2.305-32 5.879V224c0-35.3 28.7-64 64-64 17.67 0 32-14.33 32-32s-14.33-32-32-32c-70.58 0-128 57.42-128 128v96c0 53.02 42.98 96 96 96s96-42.98 96-96-43-96-96-96z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M96 224c-11.28 0-21.95 2.3-32 5.9V224c0-35.3 28.7-64 64-64 17.67 0 32-14.33 32-32s-14.3-32-32-32C57.42 96 0 153.4 0 224v96c0 53.02 42.98 96 96 96s96-42.98 96-96-43-96-96-96zm256 0c-11.28 0-21.95 2.305-32 5.879V224c0-35.3 28.7-64 64-64 17.67 0 32-14.33 32-32s-14.33-32-32-32c-70.58 0-128 57.42-128 128v96c0 53.02 42.98 96 96 96s96-42.98 96-96-43-96-96-96z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .code:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M416 31.94C416 21.75 408.1 0 384.1 0c-13.98 0-26.87 9.072-30.89 23.18l-128 448a31.933 31.933 0 0 0-1.241 8.801C223.1 490.3 232 512 256 512c13.92 0 26.73-9.157 30.75-23.22l128-448c.85-2.97 1.25-5.93 1.25-8.84zM176 143.1c0-18.28-14.95-32-32-32-8.188 0-16.38 3.125-22.62 9.376l-112 112C3.125 239.6 0 247.8 0 255.1s3.125 17.3 9.375 23.5l112 112c6.225 6.3 14.425 8.5 22.625 8.5 17.05 0 32-13.73 32-32 0-8.188-3.125-16.38-9.375-22.63L77.25 255.1l89.38-89.38c6.27-5.42 9.37-13.52 9.37-22.62zm464 112c0-8.188-3.125-16.38-9.375-22.63l-112-112C512.4 115.1 504.2 111.1 496 111.1c-17.05 0-32 13.73-32 32 0 8.188 3.125 16.38 9.375 22.63l89.38 89.38-89.38 89.38C467.1 351.6 464 359.8 464 367.1c0 18.28 14.95 32 32 32 8.188 0 16.38-3.125 22.62-9.376l112-112C636.9 272.4 640 264.2 640 255.1z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M416 31.94C416 21.75 408.1 0 384.1 0c-13.98 0-26.87 9.072-30.89 23.18l-128 448a31.933 31.933 0 0 0-1.241 8.801C223.1 490.3 232 512 256 512c13.92 0 26.73-9.157 30.75-23.22l128-448c.85-2.97 1.25-5.93 1.25-8.84zM176 143.1c0-18.28-14.95-32-32-32-8.188 0-16.38 3.125-22.62 9.376l-112 112C3.125 239.6 0 247.8 0 255.1s3.125 17.3 9.375 23.5l112 112c6.225 6.3 14.425 8.5 22.625 8.5 17.05 0 32-13.73 32-32 0-8.188-3.125-16.38-9.375-22.63L77.25 255.1l89.38-89.38c6.27-5.42 9.37-13.52 9.37-22.62zm464 112c0-8.188-3.125-16.38-9.375-22.63l-112-112C512.4 115.1 504.2 111.1 496 111.1c-17.05 0-32 13.73-32 32 0 8.188 3.125 16.38 9.375 22.63l89.38 89.38-89.38 89.38C467.1 351.6 464 359.8 464 367.1c0 18.28 14.95 32 32 32 8.188 0 16.38-3.125 22.62-9.376l112-112C636.9 272.4 640 264.2 640 255.1z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .unordered-list:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M16 96c0-26.51 21.49-48 48-48s48 21.49 48 48c0 26.5-21.49 48-48 48s-48-21.5-48-48zm464-32c17.7 0 32 14.33 32 32 0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32 0-17.67 14.3-32 32-32h288zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h288zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h288zM16 416c0-26.5 21.49-48 48-48s48 21.5 48 48-21.49 48-48 48-48-21.5-48-48zm96-160c0 26.5-21.49 48-48 48s-48-21.5-48-48 21.49-48 48-48 48 21.5 48 48z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M16 96c0-26.51 21.49-48 48-48s48 21.49 48 48c0 26.5-21.49 48-48 48s-48-21.5-48-48zm464-32c17.7 0 32 14.33 32 32 0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32 0-17.67 14.3-32 32-32h288zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h288zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h288zM16 416c0-26.5 21.49-48 48-48s48 21.5 48 48-21.49 48-48 48-48-21.5-48-48zm96-160c0 26.5-21.49 48-48 48s-48-21.5-48-48 21.49-48 48-48 48 21.5 48 48z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .ordered-list:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M55.1 56.04c0-13.26 11.64-24 24-24h32c14.2 0 24 10.74 24 24V176h16c14.2 0 24 10.8 24 24 0 13.3-9.8 24-24 24h-80c-12.36 0-24-10.7-24-24 0-13.2 11.64-24 24-24h16V80.04h-8c-12.36 0-24-10.75-24-24zm63.6 285.16c-6.6-7.4-18.3-6.9-24.05 1.2l-11.12 15.5c-7.7 10.8-22.69 13.3-33.48 5.6-10.79-7.7-13.28-22.7-5.58-33.4l11.12-15.6c23.74-33.3 72.31-35.7 99.21-4.9 21.3 23.5 20.8 60.9-1.1 84.7L118.8 432H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H64c-9.53 0-18.16-5.6-21.98-14.4-3.83-8.7-2.12-18.9 4.34-25.9l72.04-78c5.3-5.8 5.4-14.6.3-20.5zM512 64c17.7 0 32 14.33 32 32 0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32 0-17.67 14.3-32 32-32h256zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32h256zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32h256z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M55.1 56.04c0-13.26 11.64-24 24-24h32c14.2 0 24 10.74 24 24V176h16c14.2 0 24 10.8 24 24 0 13.3-9.8 24-24 24h-80c-12.36 0-24-10.7-24-24 0-13.2 11.64-24 24-24h16V80.04h-8c-12.36 0-24-10.75-24-24zm63.6 285.16c-6.6-7.4-18.3-6.9-24.05 1.2l-11.12 15.5c-7.7 10.8-22.69 13.3-33.48 5.6-10.79-7.7-13.28-22.7-5.58-33.4l11.12-15.6c23.74-33.3 72.31-35.7 99.21-4.9 21.3 23.5 20.8 60.9-1.1 84.7L118.8 432H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H64c-9.53 0-18.16-5.6-21.98-14.4-3.83-8.7-2.12-18.9 4.34-25.9l72.04-78c5.3-5.8 5.4-14.6.3-20.5zM512 64c17.7 0 32 14.33 32 32 0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32 0-17.67 14.3-32 32-32h256zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32h256zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32h256z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .table:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1792 1792'%3E%3Cpath d='M576 1376v-192q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384V800q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zM576 608V416q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384V800q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768V416q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384V800q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384V416q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm128-320v1088q0 66-47 113t-113 47H224q-66 0-113-47t-47-113V288q0-66 47-113t113-47h1344q66 0 113 47t47 113z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1792 1792'%3E%3Cpath d='M576 1376v-192q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384V800q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zM576 608V416q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384V800q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768V416q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384V800q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384V416q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm128-320v1088q0 66-47 113t-113 47H224q-66 0-113-47t-47-113V288q0-66 47-113t113-47h1344q66 0 113 47t47 113z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .upload-image:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M447.1 32h-484C28.64 32-.01 60.65-.01 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96c.01-35.35-27.79-64-63.99-64zm-336 64c26.51 0 48 21.49 48 48s-20.6 48-48 48-48-21.49-48-48 22.38-48 48-48zm335 311.6c-2.8 5.2-8.2 8.4-14.1 8.4H82.01a15.993 15.993 0 0 1-14.26-8.75 16 16 0 0 1 1.334-16.68l70-96C142.1 290.4 146.9 288 152 288s9.916 2.441 12.93 6.574l32.46 44.51 93.3-139.1C293.7 194.7 298.7 192 304 192s10.35 2.672 13.31 7.125l128 192c3.29 4.875 3.59 11.175.79 16.475z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M447.1 32h-484C28.64 32-.01 60.65-.01 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96c.01-35.35-27.79-64-63.99-64zm-336 64c26.51 0 48 21.49 48 48s-20.6 48-48 48-48-21.49-48-48 22.38-48 48-48zm335 311.6c-2.8 5.2-8.2 8.4-14.1 8.4H82.01a15.993 15.993 0 0 1-14.26-8.75 16 16 0 0 1 1.334-16.68l70-96C142.1 290.4 146.9 288 152 288s9.916 2.441 12.93 6.574l32.46 44.51 93.3-139.1C293.7 194.7 298.7 192 304 192s10.35 2.672 13.31 7.125l128 192c3.29 4.875 3.59 11.175.79 16.475z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .undo:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M480 256c0 123.4-100.5 223.9-223.9 223.9-48.84 0-95.17-15.58-134.2-44.86-14.12-10.59-16.97-30.66-6.375-44.81 10.59-14.12 30.62-16.94 44.81-6.375 27.84 20.91 61 31.94 95.88 31.94C344.3 415.8 416 344.1 416 256S344.31 96.2 256.2 96.2c-37.46 0-73.09 13.49-101.3 36.64l45.12 45.14c17.01 17.02 4.955 46.1-19.1 46.1H35.17C24.58 224.1 16 215.5 16 204.9V59.04C16 35 45.07 22.96 62.07 39.97l47.6 47.63C149.9 52.71 201.5 32.11 256.1 32.11 379.5 32.11 480 132.6 480 256z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M480 256c0 123.4-100.5 223.9-223.9 223.9-48.84 0-95.17-15.58-134.2-44.86-14.12-10.59-16.97-30.66-6.375-44.81 10.59-14.12 30.62-16.94 44.81-6.375 27.84 20.91 61 31.94 95.88 31.94C344.3 415.8 416 344.1 416 256S344.31 96.2 256.2 96.2c-37.46 0-73.09 13.49-101.3 36.64l45.12 45.14c17.01 17.02 4.955 46.1-19.1 46.1H35.17C24.58 224.1 16 215.5 16 204.9V59.04C16 35 45.07 22.96 62.07 39.97l47.6 47.63C149.9 52.71 201.5 32.11 256.1 32.11 379.5 32.11 480 132.6 480 256z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .redo:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M468.9 32.11c13.87 0 27.18 10.77 27.18 27.04v145.9c0 10.59-8.584 19.17-19.17 19.17h-145.7c-16.28 0-27.06-13.32-27.06-27.2 0-6.634 2.461-13.4 7.96-18.9l45.12-45.14c-28.22-23.14-63.85-36.64-101.3-36.64-88.09 0-159.8 71.69-159.8 159.8S167.8 415.9 255.9 415.9c73.14 0 89.44-38.31 115.1-38.31 18.48 0 31.97 15.04 31.97 31.96 0 35.04-81.59 70.41-147 70.41-123.4 0-223.9-100.5-223.9-223.9S132.6 32.44 256 32.44c54.6 0 106.2 20.39 146.4 55.26L450 40.07c5.5-5.5 12.3-7.96 18.9-7.96z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M468.9 32.11c13.87 0 27.18 10.77 27.18 27.04v145.9c0 10.59-8.584 19.17-19.17 19.17h-145.7c-16.28 0-27.06-13.32-27.06-27.2 0-6.634 2.461-13.4 7.96-18.9l45.12-45.14c-28.22-23.14-63.85-36.64-101.3-36.64-88.09 0-159.8 71.69-159.8 159.8S167.8 415.9 255.9 415.9c73.14 0 89.44-38.31 115.1-38.31 18.48 0 31.97 15.04 31.97 31.96 0 35.04-81.59 70.41-147 70.41-123.4 0-223.9-100.5-223.9-223.9S132.6 32.44 256 32.44c54.6 0 106.2 20.39 146.4 55.26L450 40.07c5.5-5.5 12.3-7.96 18.9-7.96z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-statusbar{display:none}.fi-fo-rich-editor trix-toolbar .trix-dialogs{position:relative}.fi-fo-rich-editor trix-toolbar .trix-dialog{--tw-bg-opacity:1;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);background-color:rgba(var(--gray-50),var(--tw-bg-opacity));border-radius:.5rem;bottom:auto;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);left:0;padding:.5rem;position:absolute;right:0;top:1rem}.fi-fo-rich-editor trix-toolbar .trix-dialog:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-800),var(--tw-bg-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields{display:flex;flex-direction:column;gap:.5rem;width:100%}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-button-group{display:flex;gap:.5rem}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--gray-950),0.1);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;border-style:none;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgba(var(--gray-950),var(--tw-text-opacity));display:block;font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;padding-bottom:.375rem;padding-inline-end:.75rem;padding-top:.375rem;padding-inline-start:.75rem;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-color:hsla(0,0%,100%,.2);background-color:rgba(var(--gray-700),var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:focus-within:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity))}@media (min-width:640px){.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input{font-size:.875rem;line-height:1.5rem}}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-button-group .trix-button{--tw-bg-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-200),var(--tw-ring-opacity));background-color:rgba(var(--gray-50),var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);font-size:.75rem;line-height:1rem;padding:.125rem .5rem}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-button-group .trix-button:is(.dark *){--tw-bg-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-600),var(--tw-ring-opacity));background-color:rgba(var(--gray-700),var(--tw-bg-opacity))}.fi-fo-rich-editor trix-editor:empty:before{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.fi-fo-rich-editor trix-editor:empty:is(.dark *):before{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.fi-fo-rich-editor trix-editor:empty:before{content:attr(placeholder)}.fi-fo-rich-editor trix-editor.prose :where(ol):not(:where([class~=not-prose] *)),.fi-fo-rich-editor trix-editor.prose :where(ul):not(:where([class~=not-prose] *)){padding-inline-end:0!important;padding-inline-start:1.625em!important}.fi-fo-rich-editor trix-editor.prose :where(ul>li):not(:where([class~=not-prose] *)){padding-inline-end:0!important;padding-inline-start:.375em!important}select:not(.choices){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E")}[dir=rtl] select{background-position:left .5rem center!important}.choices{outline:2px solid transparent;outline-offset:2px;position:relative}.choices [hidden]{display:none!important}.choices[data-type*=select-one] .has-no-choices{display:none}.choices[data-type*=select-one] .choices__input{display:block;margin:0;width:100%}.choices__inner{background-repeat:no-repeat;outline:2px solid transparent;outline-offset:2px;padding-bottom:.375rem;padding-inline-end:2rem;padding-top:.375rem;padding-inline-start:.75rem}@media (min-width:640px){.choices__inner{font-size:.875rem;line-height:1.5rem}}.choices__inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-size:1.5em 1.5em}.choices.is-disabled .choices__inner{cursor:default}[dir=rtl] .choices__inner{background-position:left .5rem center}.choices__list--single{display:inline-block}.choices__list--single .choices__item{--tw-text-opacity:1;color:rgba(var(--gray-950),var(--tw-text-opacity))}.choices__list--single .choices__item:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.choices.is-disabled .choices__list--single .choices__item{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices.is-disabled .choices__list--single .choices__item:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.choices__list--multiple{display:flex;flex-wrap:wrap;gap:.375rem}.choices__list--multiple:not(:empty){margin-bottom:.25rem;margin-left:-.25rem;margin-right:-.25rem;padding-bottom:.125rem;padding-top:.125rem}.choices__list--multiple .choices__item{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-color:rgba(var(--primary-600),0.1);align-items:center;background-color:rgba(var(--primary-50),var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgba(var(--primary-600),var(--tw-text-opacity));display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;line-height:1rem;padding:.25rem .5rem;word-break:break-all}.choices__list--multiple .choices__item:is(.dark *){--tw-text-opacity:1;--tw-ring-color:rgba(var(--primary-400),0.3);background-color:rgba(var(--primary-400),.1);color:rgba(var(--primary-400),var(--tw-text-opacity))}.choices__list--dropdown,.choices__list[aria-expanded]{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--gray-950),0.05);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:none;font-size:.875rem;line-height:1.25rem;margin-top:.5rem;overflow:hidden;overflow-wrap:break-word;position:absolute;top:100%;width:100%;will-change:visibility;z-index:10}.choices__list--dropdown:is(.dark *),.choices__list[aria-expanded]:is(.dark *){--tw-bg-opacity:1;--tw-ring-color:hsla(0,0%,100%,.1);background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}.is-active.choices__list--dropdown,.is-active.choices__list[aria-expanded]{display:block;padding:.25rem}.choices__list--dropdown .choices__list,.choices__list[aria-expanded] .choices__list{max-height:15rem;overflow:auto;will-change:scroll-position}.choices__item--choice{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity));padding:.5rem;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.choices__item--choice:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.choices__item--choice.choices__item--selectable{--tw-text-opacity:1;border-radius:.375rem;color:rgba(var(--gray-950),var(--tw-text-opacity))}.choices__item--choice.choices__item--selectable:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.choices__list--dropdown .choices__item--selectable.is-highlighted,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.choices__list--dropdown .choices__item--selectable.is-highlighted:is(.dark *),.choices__list[aria-expanded] .choices__item--selectable.is-highlighted:is(.dark *){background-color:hsla(0,0%,100%,.05)}.choices__item{cursor:default}.choices__item--disabled{pointer-events:none}.choices__item--disabled:disabled{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices__item--disabled:disabled:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.choices.is-disabled .choices__placeholder.choices__item,.choices__placeholder.choices__item{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity));cursor:default}.choices.is-disabled .choices__placeholder.choices__item:is(.dark *),.choices__placeholder.choices__item:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices__button{background-color:transparent;background-position:50%;background-repeat:no-repeat;border-width:0;outline:2px solid transparent;outline-offset:2px;text-indent:-9999px}.choices[data-type*=select-one] .choices__button{height:1rem;inset-inline-end:0;margin-inline-end:2.25rem;opacity:.5;padding:0;position:absolute;transition-duration:75ms;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1rem}.choices[data-type*=select-one] .choices__button:is(.dark *){opacity:.4}.choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=);background-size:.7142em .7142em;top:calc(50% - .5714em)}.dark .choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=)}.choices[data-type*=select-multiple] .choices__button{height:1rem;opacity:.5;width:1rem}.choices[data-type*=select-multiple] .choices__button:is(.dark *){opacity:.4}.choices[data-type*=select-multiple] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=);background-size:.7142em .7142em}.dark .choices[data-type*=select-multiple] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=)}.choices[data-type*=select-multiple] .choices__button:focus-visible,.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=select-one] .choices__button:focus-visible,.choices[data-type*=select-one] .choices__button:hover{opacity:.7}.choices[data-type*=select-multiple] .choices__button:focus-visible:is(.dark *),.choices[data-type*=select-multiple] .choices__button:hover:is(.dark *),.choices[data-type*=select-one] .choices__button:focus-visible:is(.dark *),.choices[data-type*=select-one] .choices__button:hover:is(.dark *){opacity:.6}.choices.is-disabled .choices__button,.choices[data-type*=select-one] .choices__item[data-value=""] .choices__button{display:none}.choices__input{--tw-text-opacity:1;background-color:transparent!important;border-style:none;color:rgba(var(--gray-950),var(--tw-text-opacity));font-size:1rem!important;line-height:1.5rem!important;padding:0!important;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.choices__input::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.choices__input::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.choices__input:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.choices__input:disabled{--tw-text-opacity:1;-webkit-text-fill-color:rgba(var(--gray-500),1);color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices__input:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.choices__input:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices__input:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices__input:disabled:is(.dark *){--tw-text-opacity:1;-webkit-text-fill-color:rgba(var(--gray-400),1);color:rgba(var(--gray-400),var(--tw-text-opacity))}@media (min-width:640px){.choices__input{font-size:.875rem!important;line-height:1.5rem}}.choices__list--dropdown .choices__input{padding:.5rem!important}.choices__input::-webkit-search-cancel-button,.choices__input::-webkit-search-decoration,.choices__input::-webkit-search-results-button,.choices__input::-webkit-search-results-decoration{display:none}.choices__input::-ms-clear,.choices__input::-ms-reveal{display:none;height:0;width:0}.choices__group{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity));padding:1rem .5rem .5rem}.choices__group:first-child{padding-top:.5rem}.choices__group:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.webkit-calendar-picker-indicator\:opacity-0::-webkit-calendar-picker-indicator{opacity:0}/*! Bundled license information: +input::-webkit-datetime-edit{display:block;padding:0}.cropper-container{-webkit-touch-callout:none;direction:ltr;font-size:0;line-height:0;position:relative;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cropper-container img{backface-visibility:hidden;display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{inset:0;position:absolute}.cropper-canvas,.cropper-wrap-box{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:33.33333%;left:0;top:33.33333%;width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:33.33333%;top:0;width:33.33333%}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:after,.cropper-center:before{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.filepond--assistant{clip:rect(1px,1px,1px,1px);border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.filepond--browser.filepond--browser{font-size:0;left:1em;margin:0;opacity:0;padding:0;position:absolute;top:1.75em;width:calc(100% - 2em)}.filepond--data{border:none;contain:strict;height:0;margin:0;padding:0;visibility:hidden;width:0}.filepond--data,.filepond--drip{pointer-events:none;position:absolute}.filepond--drip{background:rgba(0,0,0,.01);border-radius:.5em;inset:0;opacity:.1;overflow:hidden}.filepond--drip-blob{background:#292625;border-radius:50%;height:8em;margin-left:-4em;margin-top:-4em;transform-origin:center center;width:8em}.filepond--drip-blob,.filepond--drop-label{left:0;position:absolute;top:0;will-change:transform,opacity}.filepond--drop-label{align-items:center;color:#4f4f4f;display:flex;height:0;justify-content:center;margin:0;right:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filepond--drop-label.filepond--drop-label label{display:block;margin:0;padding:.5em}.filepond--drop-label label{cursor:default;font-size:.875em;font-weight:400;line-height:1.5;text-align:center}.filepond--label-action{-webkit-text-decoration-skip:ink;cursor:pointer;text-decoration:underline;text-decoration-color:#a7a4a4;text-decoration-skip-ink:auto}.filepond--root[data-disabled] .filepond--drop-label label{opacity:.5}.filepond--file-action-button.filepond--file-action-button{border:none;font-family:inherit;font-size:1em;height:1.625em;line-height:inherit;margin:0;outline:none;padding:0;width:1.625em;will-change:transform,opacity}.filepond--file-action-button.filepond--file-action-button span{clip:rect(1px,1px,1px,1px);border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.filepond--file-action-button.filepond--file-action-button svg{height:100%;width:100%}.filepond--file-action-button.filepond--file-action-button:after{content:"";inset:-.75em;position:absolute}.filepond--file-action-button{background-color:#00000080;background-image:none;border-radius:50%;box-shadow:0 0 #fff0;color:#fff;cursor:auto;transition:box-shadow .25s ease-in}.filepond--file-action-button:focus,.filepond--file-action-button:hover{box-shadow:0 0 0 .125em #ffffffe6}.filepond--file-action-button[disabled]{background-color:#00000040;color:#ffffff80}.filepond--file-action-button[hidden]{display:none}.filepond--file-info{align-items:flex-start;display:flex;flex:1;flex-direction:column;margin:0 .5em 0 0;min-width:0;pointer-events:none;position:static;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform,opacity}.filepond--file-info *{margin:0}.filepond--file-info .filepond--file-info-main{font-size:.75em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.filepond--file-info .filepond--file-info-sub{font-size:.625em;opacity:.5;transition:opacity .25s ease-in-out;white-space:nowrap}.filepond--file-info .filepond--file-info-sub:empty{display:none}.filepond--file-status{align-items:flex-end;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;margin:0;min-width:2.25em;pointer-events:none;position:static;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform,opacity}.filepond--file-status *{margin:0;white-space:nowrap}.filepond--file-status .filepond--file-status-main{font-size:.75em;line-height:1.2}.filepond--file-status .filepond--file-status-sub{font-size:.625em;opacity:.5;transition:opacity .25s ease-in-out}.filepond--file-wrapper.filepond--file-wrapper{border:none;height:100%;margin:0;min-width:0;padding:0}.filepond--file-wrapper.filepond--file-wrapper>legend{clip:rect(1px,1px,1px,1px);border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.filepond--file{align-items:flex-start;border-radius:.5em;color:#fff;display:flex;height:100%;padding:.5625em;position:static}.filepond--file .filepond--file-status{margin-left:auto;margin-right:2.25em}.filepond--file .filepond--processing-complete-indicator{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:3}.filepond--file .filepond--file-action-button,.filepond--file .filepond--processing-complete-indicator,.filepond--file .filepond--progress-indicator{position:absolute}.filepond--file [data-align*=left]{left:.5625em}.filepond--file [data-align*=right]{right:.5625em}.filepond--file [data-align*=center]{left:calc(50% - .8125em)}.filepond--file [data-align*=bottom]{bottom:1.125em}.filepond--file [data-align=center]{top:calc(50% - .8125em)}.filepond--file .filepond--progress-indicator{margin-top:.1875em}.filepond--file .filepond--progress-indicator[data-align*=right]{margin-right:.1875em}.filepond--file .filepond--progress-indicator[data-align*=left]{margin-left:.1875em}[data-filepond-item-state*=error] .filepond--file-info,[data-filepond-item-state*=invalid] .filepond--file-info,[data-filepond-item-state=cancelled] .filepond--file-info{margin-right:2.25em}[data-filepond-item-state~=processing] .filepond--file-status-sub{opacity:0}[data-filepond-item-state~=processing] .filepond--action-abort-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-error] .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-error] .filepond--action-retry-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing svg{animation:fall .5s linear .125s both}[data-filepond-item-state=processing-complete] .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--file-info-sub,[data-filepond-item-state=processing-complete] .filepond--processing-complete-indicator:not([style*=hidden])~.filepond--file-status .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing~.filepond--file-info .filepond--file-info-sub{opacity:.5}[data-filepond-item-state*=error] .filepond--file-wrapper,[data-filepond-item-state*=error] .filepond--panel,[data-filepond-item-state*=invalid] .filepond--file-wrapper,[data-filepond-item-state*=invalid] .filepond--panel{animation:shake .65s linear both}[data-filepond-item-state*=busy] .filepond--progress-indicator svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes shake{10%,90%{transform:translate(-.0625em)}20%,80%{transform:translate(.125em)}30%,50%,70%{transform:translate(-.25em)}40%,60%{transform:translate(.25em)}}@keyframes fall{0%{animation-timing-function:ease-out;opacity:0;transform:scale(.5)}70%{animation-timing-function:ease-in-out;opacity:1;transform:scale(1.1)}to{animation-timing-function:ease-out;transform:scale(1)}}.filepond--hopper[data-hopper-state=drag-over]>*{pointer-events:none}.filepond--hopper[data-hopper-state=drag-over]:after{content:"";inset:0;position:absolute;z-index:100}.filepond--progress-indicator{z-index:103}.filepond--file-action-button{z-index:102}.filepond--file-status{z-index:101}.filepond--file-info{z-index:100}.filepond--item{left:0;margin:.25em;padding:0;position:absolute;right:0;top:0;touch-action:none;will-change:transform,opacity;z-index:1}.filepond--item>.filepond--panel{z-index:-1}.filepond--item>.filepond--panel .filepond--panel-bottom{box-shadow:0 .0625em .125em -.0625em #00000040}.filepond--item>.filepond--file-wrapper,.filepond--item>.filepond--panel{transition:opacity .15s ease-out}.filepond--item[data-drag-state]{cursor:grab}.filepond--item[data-drag-state]>.filepond--panel{box-shadow:0 0 0 transparent;transition:box-shadow .125s ease-in-out}.filepond--item[data-drag-state=drag]{cursor:grabbing}.filepond--item[data-drag-state=drag]>.filepond--panel{box-shadow:0 .125em .3125em #00000053}.filepond--item[data-drag-state]:not([data-drag-state=idle]){z-index:2}.filepond--item-panel{background-color:#64605e}[data-filepond-item-state=processing-complete] .filepond--item-panel{background-color:#369763}[data-filepond-item-state*=error] .filepond--item-panel,[data-filepond-item-state*=invalid] .filepond--item-panel{background-color:#c44e47}.filepond--item-panel{border-radius:.5em;transition:background-color .25s}.filepond--list-scroller{left:0;margin:0;position:absolute;right:0;top:0;will-change:transform}.filepond--list-scroller[data-state=overflow] .filepond--list{bottom:0;right:0}.filepond--list-scroller[data-state=overflow]{-webkit-overflow-scrolling:touch;-webkit-mask:linear-gradient(180deg,#000 calc(100% - .5em),transparent);mask:linear-gradient(180deg,#000 calc(100% - .5em),transparent);overflow-x:hidden;overflow-y:scroll}.filepond--list-scroller::-webkit-scrollbar{background:transparent}.filepond--list-scroller::-webkit-scrollbar:vertical{width:1em}.filepond--list-scroller::-webkit-scrollbar:horizontal{height:0}.filepond--list-scroller::-webkit-scrollbar-thumb{background-clip:content-box;background-color:#0000004d;border:.3125em solid transparent;border-radius:99999px}.filepond--list.filepond--list{list-style-type:none;margin:0;padding:0;position:absolute;top:0;will-change:transform}.filepond--list{left:.75em;right:.75em}.filepond--root[data-style-panel-layout~=integrated]{height:100%;margin:0;max-width:none;width:100%}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root{border-radius:0}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root>*,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root>*{display:none}.filepond--root[data-style-panel-layout~=circle] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{align-items:center;bottom:0;display:flex;height:auto;justify-content:center;z-index:7}.filepond--root[data-style-panel-layout~=circle] .filepond--item-panel,.filepond--root[data-style-panel-layout~=integrated] .filepond--item-panel{display:none}.filepond--root[data-style-panel-layout~=compact] .filepond--list-scroller,.filepond--root[data-style-panel-layout~=integrated] .filepond--list-scroller{height:100%;margin-bottom:0;margin-top:0;overflow:hidden}.filepond--root[data-style-panel-layout~=compact] .filepond--list,.filepond--root[data-style-panel-layout~=integrated] .filepond--list{height:100%;left:0;right:0}.filepond--root[data-style-panel-layout~=compact] .filepond--item,.filepond--root[data-style-panel-layout~=integrated] .filepond--item{margin:0}.filepond--root[data-style-panel-layout~=compact] .filepond--file-wrapper,.filepond--root[data-style-panel-layout~=integrated] .filepond--file-wrapper{height:100%}.filepond--root[data-style-panel-layout~=compact] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{z-index:7}.filepond--root[data-style-panel-layout~=circle]{border-radius:99999rem;overflow:hidden}.filepond--root[data-style-panel-layout~=circle]>.filepond--panel{border-radius:inherit}.filepond--root[data-style-panel-layout~=circle] .filepond--file-info,.filepond--root[data-style-panel-layout~=circle] .filepond--file-status,.filepond--root[data-style-panel-layout~=circle]>.filepond--panel>*{display:none}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:.001dpcm){@supports (-webkit-appearance:none) and (stroke-color:transparent){.filepond--root[data-style-panel-layout~=circle]{will-change:transform}}}.filepond--panel-root{background-color:#f1f0ef;border-radius:.5em}.filepond--panel{height:100%!important;left:0;margin:0;pointer-events:none;position:absolute;right:0;top:0}.filepond-panel:not([data-scalable=false]){height:auto!important}.filepond--panel[data-scalable=false]>div{display:none}.filepond--panel[data-scalable=true]{background-color:transparent!important;border:none!important;transform-style:preserve-3d}.filepond--panel-bottom,.filepond--panel-center,.filepond--panel-top{left:0;margin:0;padding:0;position:absolute;right:0;top:0}.filepond--panel-bottom,.filepond--panel-top{height:.5em}.filepond--panel-top{border-bottom:none!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.filepond--panel-top:after{background-color:inherit;bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.filepond--panel-bottom,.filepond--panel-center{backface-visibility:hidden;transform:translate3d(0,.5em,0);transform-origin:left top;will-change:transform}.filepond--panel-bottom{border-top:none!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.filepond--panel-bottom:before{background-color:inherit;content:"";height:2px;left:0;position:absolute;right:0;top:-1px}.filepond--panel-center{border-bottom:none!important;border-radius:0!important;border-top:none!important;height:100px!important}.filepond--panel-center:not([style]){visibility:hidden}.filepond--progress-indicator{color:#fff;height:1.25em;margin:0;pointer-events:none;position:static;width:1.25em;will-change:transform,opacity}.filepond--progress-indicator svg{height:100%;transform-box:fill-box;vertical-align:top;width:100%}.filepond--progress-indicator path{fill:none;stroke:currentColor}.filepond--list-scroller{z-index:6}.filepond--drop-label{z-index:5}.filepond--drip{z-index:3}.filepond--root>.filepond--panel{z-index:2}.filepond--browser{z-index:1}.filepond--root{box-sizing:border-box;contain:layout style size;direction:ltr;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1rem;font-weight:450;line-height:normal;margin-bottom:1em;position:relative;text-align:left;text-rendering:optimizeLegibility}.filepond--root *{box-sizing:inherit;line-height:inherit}.filepond--root :not(text){font-size:inherit}.filepond--root[data-disabled]{pointer-events:none}.filepond--root[data-disabled] .filepond--list-scroller{pointer-events:all}.filepond--root[data-disabled] .filepond--list{pointer-events:none}.filepond--root .filepond--drop-label{min-height:4.75em}.filepond--root .filepond--list-scroller{margin-bottom:1em;margin-top:1em}.filepond--root .filepond--credits{bottom:-14px;color:inherit;font-size:11px;line-height:.85;opacity:.175;position:absolute;right:0;text-decoration:none;z-index:3}.filepond--root .filepond--credits[style]{bottom:auto;margin-top:14px;top:0}.filepond--action-edit-item.filepond--action-edit-item{height:2em;padding:.1875em;width:2em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=center]{margin-left:-.1875em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=bottom]{margin-bottom:-.1875em}.filepond--action-edit-item-alt{background:transparent;border:none;color:inherit;font-family:inherit;line-height:inherit;margin:0 0 0 .25em;outline:none;padding:0;pointer-events:all;position:absolute}.filepond--action-edit-item-alt svg{height:1.3125em;width:1.3125em}.filepond--action-edit-item-alt span{font-size:0;opacity:0}.filepond--root[data-style-panel-layout~=circle] .filepond--action-edit-item{opacity:1!important;visibility:visible!important}.filepond--image-preview-markup{left:0;position:absolute;top:0}.filepond--image-preview-wrapper{z-index:2}.filepond--image-preview-overlay{display:block;left:0;margin:0;max-height:7rem;min-height:5rem;opacity:0;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:2}.filepond--image-preview-overlay svg{color:inherit;height:auto;max-height:inherit;width:100%}.filepond--image-preview-overlay-idle{color:#282828d9;mix-blend-mode:multiply}.filepond--image-preview-overlay-success{color:#369763;mix-blend-mode:normal}.filepond--image-preview-overlay-failure{color:#c44e47;mix-blend-mode:normal}@supports (-webkit-marquee-repetition:infinite) and ((-o-object-fit:fill) or (object-fit:fill)){.filepond--image-preview-overlay-idle{mix-blend-mode:normal}}.filepond--image-preview-wrapper{background:rgba(0,0,0,.01);border-radius:.45em;height:100%;left:0;margin:0;overflow:hidden;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filepond--image-preview{align-items:center;background:#222;display:flex;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;will-change:transform,opacity;z-index:1}.filepond--image-clip{margin:0 auto;overflow:hidden;position:relative}.filepond--image-clip[data-transparency-indicator=grid] canvas,.filepond--image-clip[data-transparency-indicator=grid] img{background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' fill='%23eee'%3E%3Cpath d='M0 0h50v50H0M50 50h50v50H50'/%3E%3C/svg%3E");background-size:1.25em 1.25em}.filepond--image-bitmap,.filepond--image-vector{left:0;position:absolute;top:0;will-change:transform}.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview-wrapper{border-radius:0}.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview{align-items:center;display:flex;height:100%;justify-content:center}.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-wrapper{border-radius:99999rem}.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-overlay{bottom:0;top:auto;transform:scaleY(-1)}.filepond--root[data-style-panel-layout~=circle] .filepond--file .filepond--file-action-button[data-align*=bottom]:not([data-align*=center]){margin-bottom:.325em}.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=left]{left:calc(50% - 3em)}.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=right]{right:calc(50% - 3em)}.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=left],.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=right]{margin-bottom:.5125em}.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=center]{margin-bottom:.1875em;margin-left:.1875em;margin-top:0}.filepond--media-preview audio{display:none}.filepond--media-preview .audioplayer{margin:2.3em auto auto;width:calc(100% - 1.4em)}.filepond--media-preview .playpausebtn{background-position:50%;background-repeat:no-repeat;border:none;border-radius:25px;cursor:pointer;float:left;height:25px;margin-right:.3em;margin-top:.3em;outline:none;width:25px}.filepond--media-preview .playpausebtn:hover{background-color:#00000080}.filepond--media-preview .play{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAyElEQVQ4T9XUsWoCQRRG4XPaFL5SfIy8gKYKBCysrax8Ahs7qzQ2qVIFOwsrsbEWLEK6EBFGBrIQhN2d3dnGgalm+Jh7789Ix8uOPe4YDCH0gZ66atKW0pJDCE/AEngDXtRjCpwCRucbGANzNVTBqWBhfAJDdV+GNgWj8wtM41bPt3AbsDB2f69d/0dzwC0wUDe54A8wAWbqJbfkD+BZPeQO5QsYqYu6LKb0MIb7VT3VYfG8CnwEHtT3FKi4c8e/TZMyk3LYFrwCgMdHFbRDKS8AAAAASUVORK5CYII=)}.filepond--media-preview .pause{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAh0lEQVQ4T+2UsQkCURBE30PLMbAMMResQrAPsQ0TK9AqDKxGZeTLD74aGNwlhzfZssvADDMrPcOe+RggYZIJcG2s2KinMidZAvu6u6uzT8u+JCeZArfmcKUeK+EaONTdQy23bxgJX8aPHvIHsSnVuzTx36rn2pQFsGuqN//ZlK7vbIDvq6vkJ9yteBXzecYbAAAAAElFTkSuQmCC)}.filepond--media-preview .timeline{background:hsla(0,0%,100%,.3);border-radius:15px;float:left;height:3px;margin-top:1em;width:calc(100% - 2.5em)}.filepond--media-preview .playhead{background:#fff;border-radius:50%;height:13px;margin-top:-5px;width:13px}.filepond--media-preview-wrapper{background:rgba(0,0,0,.01);border-radius:.45em;height:100%;left:0;margin:0;overflow:hidden;pointer-events:auto;position:absolute;right:0;top:0}.filepond--media-preview-wrapper:before{background:linear-gradient(180deg,#000 0,transparent);content:" ";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#00000000",GradientType=0);height:2em;position:absolute;width:100%;z-index:3}.filepond--media-preview{display:block;height:100%;position:relative;transform-origin:center center;width:100%;will-change:transform,opacity;z-index:1}.filepond--media-preview audio,.filepond--media-preview video{width:100%;will-change:transform}.filepond--root{--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--gray-950),0.1);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);margin-bottom:0}.filepond--root:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.2);background-color:hsla(0,0%,100%,.05)}.filepond--root[data-disabled=disabled]{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.filepond--root[data-disabled=disabled]:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.1);background-color:transparent}.filepond--panel-root{background-color:transparent}.filepond--drop-label label{--tw-text-opacity:1;color:rgba(var(--gray-600),var(--tw-text-opacity));font-size:.875rem;line-height:1.25rem;padding:.75rem!important}.filepond--drop-label label:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.filepond--label-action{--tw-text-opacity:1;color:rgba(var(--primary-600),var(--tw-text-opacity));font-weight:500;text-decoration-line:none;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.filepond--label-action:hover{--tw-text-opacity:1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.filepond--label-action:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.filepond--label-action:hover:is(.dark *){--tw-text-opacity:1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.filepond--drip-blob{--tw-bg-opacity:1;background-color:rgba(var(--gray-400),var(--tw-bg-opacity))}.filepond--drip-blob:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-500),var(--tw-bg-opacity))}.filepond--root[data-style-panel-layout=grid] .filepond--item{display:inline;width:calc(50% - .5rem)}@media (min-width:1024px){.filepond--root[data-style-panel-layout=grid] .filepond--item{width:calc(33.33% - .5rem)}}.filepond--download-icon{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));display:inline-block;height:1rem;margin-inline-end:.25rem;pointer-events:auto;vertical-align:bottom;width:1rem}.filepond--download-icon:hover{background-color:hsla(0,0%,100%,.7)}.filepond--download-icon{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLWRvd25sb2FkIj48cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNE03IDEwbDUgNSA1LTVNMTIgMTVWMyIvPjwvc3ZnPg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLWRvd25sb2FkIj48cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNE03IDEwbDUgNSA1LTVNMTIgMTVWMyIvPjwvc3ZnPg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}.filepond--open-icon{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));display:inline-block;height:1rem;margin-inline-end:.25rem;pointer-events:auto;vertical-align:bottom;width:1rem}.filepond--open-icon:hover{background-color:hsla(0,0%,100%,.7)}.filepond--open-icon{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTYgdy02IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEwIDZINmEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTBhMiAyIDAgMCAwIDItMnYtNE0xNCA0aDZtMCAwdjZtMC02TDEwIDE0Ii8+PC9zdmc+);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTYgdy02IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEwIDZINmEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTBhMiAyIDAgMCAwIDItMnYtNE0xNCA0aDZtMCAwdjZtMC02TDEwIDE0Ii8+PC9zdmc+);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}.filepond--file-action-button.filepond--action-edit-item{background-color:rgba(0,0,0,.5)}.cropper-drag-box.cropper-crop.cropper-modal{background-color:rgba(var(--gray-100),.5);opacity:1}.cropper-drag-box.cropper-crop.cropper-modal:is(.dark *){background-color:rgba(var(--gray-900),.8)}.fi-fo-file-upload-circle-cropper .cropper-face,.fi-fo-file-upload-circle-cropper .cropper-view-box{border-radius:50%}.CodeMirror{color:#000;direction:ltr;font-family:monospace;height:300px}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{background-color:#f7f7f7;border-right:1px solid #ddd;white-space:nowrap}.CodeMirror-linenumber{color:#999;min-width:20px;padding:0 3px 0 5px;text-align:right;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{background:#7e7;border:0!important;width:auto}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:transparent}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{inset:-50px 0 0;overflow:hidden;position:absolute}.CodeMirror-ruler{border-left:1px solid #ccc;bottom:0;position:absolute;top:0}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;overflow:hidden;position:relative}.CodeMirror-scroll{height:100%;margin-bottom:-50px;margin-right:-50px;outline:0;overflow:scroll!important;padding-bottom:50px;position:relative;z-index:0}.CodeMirror-sizer{border-right:50px solid transparent;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{display:none;outline:0;position:absolute;z-index:6}.CodeMirror-vscrollbar{overflow-x:hidden;overflow-y:scroll;right:0;top:0}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-x:scroll;overflow-y:hidden}.CodeMirror-scrollbar-filler{bottom:0;right:0}.CodeMirror-gutter-filler{bottom:0;left:0}.CodeMirror-gutters{left:0;min-height:100%;position:absolute;top:0;z-index:3}.CodeMirror-gutter{display:inline-block;height:100%;margin-bottom:-50px;vertical-align:top;white-space:normal}.CodeMirror-gutter-wrapper{background:0 0!important;border:none!important;position:absolute;z-index:4}.CodeMirror-gutter-background{bottom:0;position:absolute;top:0;z-index:4}.CodeMirror-gutter-elt{cursor:default;position:absolute;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{word-wrap:normal;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-variant-ligatures:contextual;line-height:inherit;margin:0;overflow:visible;position:relative;white-space:pre;z-index:2}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{inset:0;position:absolute;z-index:0}.CodeMirror-linewidget{padding:.1px;position:relative;z-index:2}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:content-box}.CodeMirror-measure{height:0;overflow:hidden;position:absolute;visibility:hidden;width:100%}.CodeMirror-cursor{pointer-events:none;position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{position:relative;visibility:hidden;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:0 0}.EasyMDEContainer{display:block}.CodeMirror-rtl pre{direction:rtl}.EasyMDEContainer.sided--no-fullscreen{display:flex;flex-direction:row;flex-wrap:wrap}.EasyMDEContainer .CodeMirror{word-wrap:break-word;border:1px solid #ced4da;border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-sizing:border-box;font:inherit;height:auto;padding:10px;z-index:0}.EasyMDEContainer .CodeMirror-scroll{cursor:text}.EasyMDEContainer .CodeMirror-fullscreen{background:#fff;border-bottom-right-radius:0!important;border-right:none!important;height:auto;inset:50px 0 0;position:fixed!important;z-index:8}.EasyMDEContainer .CodeMirror-sided{width:50%!important}.EasyMDEContainer.sided--no-fullscreen .CodeMirror-sided{border-bottom-right-radius:0;border-right:none!important;flex:1 1 auto;position:relative}.EasyMDEContainer .CodeMirror-placeholder{opacity:.5}.EasyMDEContainer .CodeMirror-focused .CodeMirror-selected{background:#d9d9d9}.editor-toolbar{border-left:1px solid #ced4da;border-right:1px solid #ced4da;border-top:1px solid #ced4da;border-top-left-radius:4px;border-top-right-radius:4px;padding:9px 10px;position:relative;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.editor-toolbar.fullscreen{background:#fff;border:0;box-sizing:border-box;height:50px;left:0;opacity:1;padding-bottom:10px;padding-top:10px;position:fixed;top:0;width:100%;z-index:9}.editor-toolbar.fullscreen:before{background:linear-gradient(90deg,#fff 0,hsla(0,0%,100%,0));height:50px;left:0;margin:0;padding:0;position:fixed;top:0;width:20px}.editor-toolbar.fullscreen:after{background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,#fff);height:50px;margin:0;padding:0;position:fixed;right:0;top:0;width:20px}.EasyMDEContainer.sided--no-fullscreen .editor-toolbar{width:100%}.editor-toolbar .easymde-dropdown,.editor-toolbar button{background:0 0;border:1px solid transparent;border-radius:3px;cursor:pointer;display:inline-block;height:30px;margin:0;padding:0;text-align:center;text-decoration:none!important}.editor-toolbar button{font-weight:700;min-width:30px;padding:0 6px;white-space:nowrap}.editor-toolbar button.active,.editor-toolbar button:hover{background:#fcfcfc;border-color:#95a5a6}.editor-toolbar i.separator{border-left:1px solid #d9d9d9;border-right:1px solid #fff;color:transparent;display:inline-block;margin:0 6px;text-indent:-10px;width:0}.editor-toolbar button:after{font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:65%;position:relative;top:2px;vertical-align:text-bottom}.editor-toolbar button.heading-1:after{content:"1"}.editor-toolbar button.heading-2:after{content:"2"}.editor-toolbar button.heading-3:after{content:"3"}.editor-toolbar button.heading-bigger:after{content:"\25b2"}.editor-toolbar button.heading-smaller:after{content:"\25bc"}.editor-toolbar.disabled-for-preview button:not(.no-disable){opacity:.6;pointer-events:none}@media only screen and (max-width:700px){.editor-toolbar i.no-mobile{display:none}}.editor-statusbar{color:#959694;font-size:12px;padding:8px 10px;text-align:right}.EasyMDEContainer.sided--no-fullscreen .editor-statusbar{width:100%}.editor-statusbar span{display:inline-block;margin-left:1em;min-width:4em}.editor-statusbar .lines:before{content:"lines: "}.editor-statusbar .words:before{content:"words: "}.editor-statusbar .characters:before{content:"characters: "}.editor-preview-full{height:100%;left:0;position:absolute;top:0;width:100%;z-index:7}.editor-preview-full,.editor-preview-side{box-sizing:border-box;display:none;overflow:auto}.editor-preview-side{word-wrap:break-word;border:1px solid #ddd;bottom:0;position:fixed;right:0;top:50px;width:50%;z-index:9}.editor-preview-active-side{display:block}.EasyMDEContainer.sided--no-fullscreen .editor-preview-active-side{flex:1 1 auto;height:auto;position:static}.editor-preview-active{display:block}.editor-preview{background:#fafafa;padding:10px}.editor-preview>p{margin-top:0}.editor-preview pre{background:#eee;margin-bottom:10px}.editor-preview table td,.editor-preview table th{border:1px solid #ddd;padding:5px}.cm-s-easymde .cm-tag{color:#63a35c}.cm-s-easymde .cm-attribute{color:#795da3}.cm-s-easymde .cm-string{color:#183691}.cm-s-easymde .cm-header-1{font-size:calc(1.375rem + 1.5vw)}.cm-s-easymde .cm-header-2{font-size:calc(1.325rem + .9vw)}.cm-s-easymde .cm-header-3{font-size:calc(1.3rem + .6vw)}.cm-s-easymde .cm-header-4{font-size:calc(1.275rem + .3vw)}.cm-s-easymde .cm-header-5{font-size:1.25rem}.cm-s-easymde .cm-header-6{font-size:1rem}.cm-s-easymde .cm-header-1,.cm-s-easymde .cm-header-2,.cm-s-easymde .cm-header-3,.cm-s-easymde .cm-header-4,.cm-s-easymde .cm-header-5,.cm-s-easymde .cm-header-6{line-height:1.2;margin-bottom:.5rem}.cm-s-easymde .cm-comment{background:rgba(0,0,0,.05);border-radius:2px}.cm-s-easymde .cm-link{color:#7f8c8d}.cm-s-easymde .cm-url{color:#aab2b3}.cm-s-easymde .cm-quote{color:#7f8c8d;font-style:italic}.editor-toolbar .easymde-dropdown{border:1px solid #fff;border-radius:0;position:relative}.editor-toolbar .easymde-dropdown,.editor-toolbar .easymde-dropdown:hover{background:linear-gradient(to bottom right,#fff,#fff 84%,#333 0,#333)}.easymde-dropdown-content{background-color:#f9f9f9;box-shadow:0 8px 16px #0003;display:block;padding:8px;position:absolute;top:30px;visibility:hidden;z-index:2}.easymde-dropdown:active .easymde-dropdown-content,.easymde-dropdown:focus .easymde-dropdown-content,.easymde-dropdown:focus-within .easymde-dropdown-content{visibility:visible}.easymde-dropdown-content button{display:block}span[data-img-src]:after{background-image:var(--bg-image);background-repeat:no-repeat;background-size:contain;content:"";display:block;height:0;max-height:100%;max-width:100%;padding-top:var(--height);width:var(--width)}.CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word){background:rgba(255,0,0,.15)}:root{--color-cm-red:#991b1b;--color-cm-orange:#9a3412;--color-cm-amber:#92400e;--color-cm-yellow:#854d0e;--color-cm-lime:#3f6212;--color-cm-green:#166534;--color-cm-emerald:#065f46;--color-cm-teal:#115e59;--color-cm-cyan:#155e75;--color-cm-sky:#075985;--color-cm-blue:#1e40af;--color-cm-indigo:#3730a3;--color-cm-violet:#5b21b6;--color-cm-purple:#6b21a8;--color-cm-fuchsia:#86198f;--color-cm-pink:#9d174d;--color-cm-rose:#9f1239;--color-cm-gray:#18181b;--color-cm-gray-muted:#71717a;--color-cm-gray-background:#e4e4e7}.dark{--color-cm-red:#f87171;--color-cm-orange:#fb923c;--color-cm-amber:#fbbf24;--color-cm-yellow:#facc15;--color-cm-lime:#a3e635;--color-cm-green:#4ade80;--color-cm-emerald:#4ade80;--color-cm-teal:#2dd4bf;--color-cm-cyan:#22d3ee;--color-cm-sky:#38bdf8;--color-cm-blue:#60a5fa;--color-cm-indigo:#818cf8;--color-cm-violet:#a78bfa;--color-cm-purple:#c084fc;--color-cm-fuchsia:#e879f9;--color-cm-pink:#f472b6;--color-cm-rose:#fb7185;--color-cm-gray:#fafafa;--color-cm-gray-muted:#a1a1aa;--color-cm-gray-background:#52525b}.cm-s-easymde .cm-comment{background-color:transparent;color:var(--color-cm-gray-muted)}.EasyMDEContainer .CodeMirror-cursor{border-color:currentColor}.dark .EasyMDEContainer .cm-s-easymde span.CodeMirror-selectedtext{filter:invert(100%)}.EasyMDEContainer .cm-s-easymde .cm-keyword{color:var(--color-cm-violet)}.EasyMDEContainer .cm-s-easymde .cm-atom{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-number{color:var(--color-cm-green)}.EasyMDEContainer .cm-s-easymde .cm-def{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-variable{color:var(--color-cm-yellow)}.EasyMDEContainer .cm-s-easymde .cm-variable-2{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-variable-3{color:var(--color-cm-emerald)}.EasyMDEContainer .cm-s-easymde .cm-operator,.EasyMDEContainer .cm-s-easymde .cm-property{color:var(--color-cm-gray)}.EasyMDEContainer .cm-s-easymde .cm-string,.EasyMDEContainer .cm-s-easymde .cm-string-2{color:var(--color-cm-rose)}.EasyMDEContainer .cm-s-easymde .cm-meta{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-error{color:var(--color-cm-red)}.EasyMDEContainer .cm-s-easymde .cm-qualifier{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-builtin{color:var(--color-cm-violet)}.EasyMDEContainer .cm-s-easymde .cm-bracket{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-tag{color:var(--color-cm-green)}.EasyMDEContainer .cm-s-easymde .cm-attribute{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-hr{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-formatting-quote{color:var(--color-cm-sky)}.EasyMDEContainer .cm-s-easymde .cm-formatting-quote+.cm-quote{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-formatting-list,.EasyMDEContainer .cm-s-easymde .cm-formatting-list+.cm-variable-2,.EasyMDEContainer .cm-s-easymde .cm-tab+.cm-variable-2{color:var(--color-cm-gray)}.EasyMDEContainer .cm-s-easymde .cm-link{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-tag{color:var(--color-cm-red)}.EasyMDEContainer .cm-s-easymde .cm-attribute{color:var(--color-cm-amber)}.EasyMDEContainer .cm-s-easymde .cm-attribute+.cm-string{color:var(--color-cm-green)}.EasyMDEContainer .cm-s-easymde .cm-formatting-code+.cm-comment:not(.cm-formatting-code){background-color:var(--color-cm-gray-background);color:var(--color-cm-gray)}.EasyMDEContainer .cm-s-easymde .cm-header-1{font-size:1.875rem;line-height:2.25rem}.EasyMDEContainer .cm-s-easymde .cm-header-2{font-size:1.5rem;line-height:2rem}.EasyMDEContainer .cm-s-easymde .cm-header-3{font-size:1.25rem;line-height:1.75rem}.EasyMDEContainer .cm-s-easymde .cm-header-4{font-size:1.125rem;line-height:1.75rem}.EasyMDEContainer .cm-s-easymde .cm-header-5{font-size:1rem;line-height:1.5rem}.EasyMDEContainer .cm-s-easymde .cm-header-6{font-size:.875rem;line-height:1.25rem}.EasyMDEContainer .cm-s-easymde .cm-comment{background-image:none}.EasyMDEContainer .CodeMirror,.EasyMDEContainer .cm-s-easymde .cm-formatting-code-block,.EasyMDEContainer .cm-s-easymde .cm-tab+.cm-comment{background-color:transparent;color:inherit}.EasyMDEContainer .CodeMirror{border-style:none;padding:.375rem .75rem}.EasyMDEContainer .CodeMirror-scroll{height:auto}.EasyMDEContainer .editor-toolbar{--tw-border-opacity:1;border-color:rgba(var(--gray-200),var(--tw-border-opacity));border-radius:0;border-width:0 0 1px;-moz-column-gap:.25rem;column-gap:.25rem;display:flex;overflow-x:auto;padding:.5rem .625rem}.EasyMDEContainer .editor-toolbar:is(.dark *){border-color:hsla(0,0%,100%,.1)}.EasyMDEContainer .editor-toolbar button{border-radius:.5rem;border-style:none;cursor:pointer;display:grid;height:2rem;padding:0;place-content:center;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:2rem}.EasyMDEContainer .editor-toolbar button:hover{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar button:focus-visible{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar button:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}.EasyMDEContainer .editor-toolbar button:focus-visible:is(.dark *){background-color:hsla(0,0%,100%,.05)}.EasyMDEContainer .editor-toolbar button.active{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar button.active:is(.dark *){background-color:hsla(0,0%,100%,.05)}.EasyMDEContainer .editor-toolbar button:before{--tw-bg-opacity:1;background-color:rgba(var(--gray-700),var(--tw-bg-opacity));display:block;height:1.25rem;width:1.25rem}.EasyMDEContainer .editor-toolbar button:is(.dark *):before{--tw-bg-opacity:1;background-color:rgba(var(--gray-300),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar button:before{content:"";-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.EasyMDEContainer .editor-toolbar button.active:before{--tw-bg-opacity:1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar button.active:is(.dark *):before{--tw-bg-opacity:1;background-color:rgba(var(--primary-400),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar .separator{border-style:none;margin:0!important;width:.25rem}.EasyMDEContainer .editor-toolbar .bold:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M4 3a1 1 0 0 1 1-1h6a4.5 4.5 0 0 1 3.274 7.587A4.75 4.75 0 0 1 11.25 18H5a1 1 0 0 1-1-1V3Zm2.5 5.5v-4H11a2 2 0 1 1 0 4H6.5Zm0 2.5v4.5h4.75a2.25 2.25 0 0 0 0-4.5H6.5Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M4 3a1 1 0 0 1 1-1h6a4.5 4.5 0 0 1 3.274 7.587A4.75 4.75 0 0 1 11.25 18H5a1 1 0 0 1-1-1V3Zm2.5 5.5v-4H11a2 2 0 1 1 0 4H6.5Zm0 2.5v4.5h4.75a2.25 2.25 0 0 0 0-4.5H6.5Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .italic:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M8 2.75A.75.75 0 0 1 8.75 2h7.5a.75.75 0 0 1 0 1.5h-3.215l-4.483 13h2.698a.75.75 0 0 1 0 1.5h-7.5a.75.75 0 0 1 0-1.5h3.215l4.483-13H8.75A.75.75 0 0 1 8 2.75Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M8 2.75A.75.75 0 0 1 8.75 2h7.5a.75.75 0 0 1 0 1.5h-3.215l-4.483 13h2.698a.75.75 0 0 1 0 1.5h-7.5a.75.75 0 0 1 0-1.5h3.215l4.483-13H8.75A.75.75 0 0 1 8 2.75Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .strikethrough:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M11.617 3.963c-1.186-.318-2.418-.323-3.416.015-.992.336-1.49.91-1.642 1.476-.152.566-.007 1.313.684 2.1.528.6 1.273 1.1 2.128 1.446h7.879a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5h3.813a5.976 5.976 0 0 1-.447-.456C5.18 7.479 4.798 6.231 5.11 5.066c.312-1.164 1.268-2.055 2.61-2.509 1.336-.451 2.877-.42 4.286-.043.856.23 1.684.592 2.409 1.074a.75.75 0 1 1-.83 1.25 6.723 6.723 0 0 0-1.968-.875Zm1.909 8.123a.75.75 0 0 1 1.015.309c.53.99.607 2.062.18 3.01-.421.94-1.289 1.648-2.441 2.038-1.336.452-2.877.42-4.286.043-1.409-.377-2.759-1.121-3.69-2.18a.75.75 0 1 1 1.127-.99c.696.791 1.765 1.403 2.952 1.721 1.186.318 2.418.323 3.416-.015.853-.288 1.34-.756 1.555-1.232.21-.467.205-1.049-.136-1.69a.75.75 0 0 1 .308-1.014Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M11.617 3.963c-1.186-.318-2.418-.323-3.416.015-.992.336-1.49.91-1.642 1.476-.152.566-.007 1.313.684 2.1.528.6 1.273 1.1 2.128 1.446h7.879a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5h3.813a5.976 5.976 0 0 1-.447-.456C5.18 7.479 4.798 6.231 5.11 5.066c.312-1.164 1.268-2.055 2.61-2.509 1.336-.451 2.877-.42 4.286-.043.856.23 1.684.592 2.409 1.074a.75.75 0 1 1-.83 1.25 6.723 6.723 0 0 0-1.968-.875Zm1.909 8.123a.75.75 0 0 1 1.015.309c.53.99.607 2.062.18 3.01-.421.94-1.289 1.648-2.441 2.038-1.336.452-2.877.42-4.286.043-1.409-.377-2.759-1.121-3.69-2.18a.75.75 0 1 1 1.127-.99c.696.791 1.765 1.403 2.952 1.721 1.186.318 2.418.323 3.416-.015.853-.288 1.34-.756 1.555-1.232.21-.467.205-1.049-.136-1.69a.75.75 0 0 1 .308-1.014Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .link:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z'/%3E%3Cpath d='M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z'/%3E%3Cpath d='M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .heading:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M2.75 4a.75.75 0 0 1 .75.75v4.5h5v-4.5a.75.75 0 0 1 1.5 0v10.5a.75.75 0 0 1-1.5 0v-4.5h-5v4.5a.75.75 0 0 1-1.5 0V4.75A.75.75 0 0 1 2.75 4ZM13 8.75a.75.75 0 0 1 .75-.75h1.75a.75.75 0 0 1 .75.75v5.75h1a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1 0-1.5h1v-5h-1a.75.75 0 0 1-.75-.75Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M2.75 4a.75.75 0 0 1 .75.75v4.5h5v-4.5a.75.75 0 0 1 1.5 0v10.5a.75.75 0 0 1-1.5 0v-4.5h-5v4.5a.75.75 0 0 1-1.5 0V4.75A.75.75 0 0 1 2.75 4ZM13 8.75a.75.75 0 0 1 .75-.75h1.75a.75.75 0 0 1 .75.75v5.75h1a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1 0-1.5h1v-5h-1a.75.75 0 0 1-.75-.75Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .quote:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M10 2c-2.236 0-4.43.18-6.57.524C1.993 2.755 1 4.014 1 5.426v5.148c0 1.413.993 2.67 2.43 2.902 1.168.188 2.352.327 3.55.414.28.02.521.18.642.413l1.713 3.293a.75.75 0 0 0 1.33 0l1.713-3.293a.783.783 0 0 1 .642-.413 41.102 41.102 0 0 0 3.55-.414c1.437-.231 2.43-1.49 2.43-2.902V5.426c0-1.413-.993-2.67-2.43-2.902A41.289 41.289 0 0 0 10 2ZM6.75 6a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Zm0 2.5a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M10 2c-2.236 0-4.43.18-6.57.524C1.993 2.755 1 4.014 1 5.426v5.148c0 1.413.993 2.67 2.43 2.902 1.168.188 2.352.327 3.55.414.28.02.521.18.642.413l1.713 3.293a.75.75 0 0 0 1.33 0l1.713-3.293a.783.783 0 0 1 .642-.413 41.102 41.102 0 0 0 3.55-.414c1.437-.231 2.43-1.49 2.43-2.902V5.426c0-1.413-.993-2.67-2.43-2.902A41.289 41.289 0 0 0 10 2ZM6.75 6a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Zm0 2.5a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .code:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6.28 5.22a.75.75 0 0 1 0 1.06L2.56 10l3.72 3.72a.75.75 0 0 1-1.06 1.06L.97 10.53a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0Zm7.44 0a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L17.44 10l-3.72-3.72a.75.75 0 0 1 0-1.06Zm-2.343-3.209a.75.75 0 0 1 .612.867l-2.5 14.5a.75.75 0 0 1-1.478-.255l2.5-14.5a.75.75 0 0 1 .866-.612Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6.28 5.22a.75.75 0 0 1 0 1.06L2.56 10l3.72 3.72a.75.75 0 0 1-1.06 1.06L.97 10.53a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0Zm7.44 0a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L17.44 10l-3.72-3.72a.75.75 0 0 1 0-1.06Zm-2.343-3.209a.75.75 0 0 1 .612.867l-2.5 14.5a.75.75 0 0 1-1.478-.255l2.5-14.5a.75.75 0 0 1 .866-.612Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .unordered-list:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6 4.75A.75.75 0 0 1 6.75 4h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 4.75ZM6 10a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 10Zm0 5.25a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75a.75.75 0 0 1-.75-.75ZM1.99 4.75a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01Zm0 10.5a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01Zm0-5.25a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1V10Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6 4.75A.75.75 0 0 1 6.75 4h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 4.75ZM6 10a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 10Zm0 5.25a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75a.75.75 0 0 1-.75-.75ZM1.99 4.75a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01Zm0 10.5a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01Zm0-5.25a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1V10Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .ordered-list:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M3 1.25a.75.75 0 0 0 0 1.5h.25v2.5a.75.75 0 0 0 1.5 0V2A.75.75 0 0 0 4 1.25H3Zm-.03 7.404a3.5 3.5 0 0 1 1.524-.12.034.034 0 0 1-.012.012L2.415 9.579A.75.75 0 0 0 2 10.25v1c0 .414.336.75.75.75h2.5a.75.75 0 0 0 0-1.5H3.927l1.225-.613c.52-.26.848-.79.848-1.371 0-.647-.429-1.327-1.193-1.451a5.03 5.03 0 0 0-2.277.155.75.75 0 0 0 .44 1.434ZM7.75 3a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Zm0 6.25a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Zm0 6.25a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Zm-5.125-1.625a.75.75 0 0 0 0 1.5h1.5a.125.125 0 0 1 0 .25H3.5a.75.75 0 0 0 0 1.5h.625a.125.125 0 0 1 0 .25h-1.5a.75.75 0 0 0 0 1.5h1.5a1.625 1.625 0 0 0 1.37-2.5 1.625 1.625 0 0 0-1.37-2.5h-1.5Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M3 1.25a.75.75 0 0 0 0 1.5h.25v2.5a.75.75 0 0 0 1.5 0V2A.75.75 0 0 0 4 1.25H3Zm-.03 7.404a3.5 3.5 0 0 1 1.524-.12.034.034 0 0 1-.012.012L2.415 9.579A.75.75 0 0 0 2 10.25v1c0 .414.336.75.75.75h2.5a.75.75 0 0 0 0-1.5H3.927l1.225-.613c.52-.26.848-.79.848-1.371 0-.647-.429-1.327-1.193-1.451a5.03 5.03 0 0 0-2.277.155.75.75 0 0 0 .44 1.434ZM7.75 3a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Zm0 6.25a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Zm0 6.25a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Zm-5.125-1.625a.75.75 0 0 0 0 1.5h1.5a.125.125 0 0 1 0 .25H3.5a.75.75 0 0 0 0 1.5h.625a.125.125 0 0 1 0 .25h-1.5a.75.75 0 0 0 0 1.5h1.5a1.625 1.625 0 0 0 1.37-2.5 1.625 1.625 0 0 0-1.37-2.5h-1.5Z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .table:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M.99 5.24A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25l.01 9.5A2.25 2.25 0 0 1 16.76 17H3.26A2.267 2.267 0 0 1 1 14.74l-.01-9.5Zm8.26 9.52v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.615c0 .414.336.75.75.75h5.373a.75.75 0 0 0 .627-.74Zm1.5 0a.75.75 0 0 0 .627.74h5.373a.75.75 0 0 0 .75-.75v-.615a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625Zm6.75-3.63v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75ZM17.5 7.5v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M.99 5.24A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25l.01 9.5A2.25 2.25 0 0 1 16.76 17H3.26A2.267 2.267 0 0 1 1 14.74l-.01-9.5Zm8.26 9.52v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.615c0 .414.336.75.75.75h5.373a.75.75 0 0 0 .627-.74Zm1.5 0a.75.75 0 0 0 .627.74h5.373a.75.75 0 0 0 .75-.75v-.615a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625Zm6.75-3.63v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75ZM17.5 7.5v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .upload-image:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M1 5.25A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25v9.5A2.25 2.25 0 0 1 16.75 17H3.25A2.25 2.25 0 0 1 1 14.75v-9.5Zm1.5 5.81v3.69c0 .414.336.75.75.75h13.5a.75.75 0 0 0 .75-.75v-2.69l-2.22-2.219a.75.75 0 0 0-1.06 0l-1.91 1.909.47.47a.75.75 0 1 1-1.06 1.06L6.53 8.091a.75.75 0 0 0-1.06 0l-2.97 2.97ZM12 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M1 5.25A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25v9.5A2.25 2.25 0 0 1 16.75 17H3.25A2.25 2.25 0 0 1 1 14.75v-9.5Zm1.5 5.81v3.69c0 .414.336.75.75.75h13.5a.75.75 0 0 0 .75-.75v-2.69l-2.22-2.219a.75.75 0 0 0-1.06 0l-1.91 1.909.47.47a.75.75 0 1 1-1.06 1.06L6.53 8.091a.75.75 0 0 0-1.06 0l-2.97 2.97ZM12 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .undo:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M7.793 2.232a.75.75 0 0 1-.025 1.06L3.622 7.25h10.003a5.375 5.375 0 0 1 0 10.75H10.75a.75.75 0 0 1 0-1.5h2.875a3.875 3.875 0 0 0 0-7.75H3.622l4.146 3.957a.75.75 0 0 1-1.036 1.085l-5.5-5.25a.75.75 0 0 1 0-1.085l5.5-5.25a.75.75 0 0 1 1.06.025Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M7.793 2.232a.75.75 0 0 1-.025 1.06L3.622 7.25h10.003a5.375 5.375 0 0 1 0 10.75H10.75a.75.75 0 0 1 0-1.5h2.875a3.875 3.875 0 0 0 0-7.75H3.622l4.146 3.957a.75.75 0 0 1-1.036 1.085l-5.5-5.25a.75.75 0 0 1 0-1.085l5.5-5.25a.75.75 0 0 1 1.06.025Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .redo:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M12.207 2.232a.75.75 0 0 0 .025 1.06l4.146 3.958H6.375a5.375 5.375 0 0 0 0 10.75H9.25a.75.75 0 0 0 0-1.5H6.375a3.875 3.875 0 0 1 0-7.75h10.003l-4.146 3.957a.75.75 0 0 0 1.036 1.085l5.5-5.25a.75.75 0 0 0 0-1.085l-5.5-5.25a.75.75 0 0 0-1.06.025Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M12.207 2.232a.75.75 0 0 0 .025 1.06l4.146 3.958H6.375a5.375 5.375 0 0 0 0 10.75H9.25a.75.75 0 0 0 0-1.5H6.375a3.875 3.875 0 0 1 0-7.75h10.003l-4.146 3.957a.75.75 0 0 0 1.036 1.085l5.5-5.25a.75.75 0 0 0 0-1.085l-5.5-5.25a.75.75 0 0 0-1.06.025Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-statusbar{display:none}.fi-fo-rich-editor trix-toolbar .trix-dialogs{position:relative}.fi-fo-rich-editor trix-toolbar .trix-dialog{--tw-bg-opacity:1;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);background-color:rgba(var(--gray-50),var(--tw-bg-opacity));border-radius:.5rem;bottom:auto;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);left:0;padding:.5rem;position:absolute;right:0;top:1rem}.fi-fo-rich-editor trix-toolbar .trix-dialog:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-800),var(--tw-bg-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields{display:flex;flex-direction:column;gap:.5rem;width:100%}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-button-group{display:flex;gap:.5rem}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--gray-950),0.1);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;border-style:none;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgba(var(--gray-950),var(--tw-text-opacity));display:block;font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;padding-bottom:.375rem;padding-inline-end:.75rem;padding-top:.375rem;padding-inline-start:.75rem;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-color:hsla(0,0%,100%,.2);background-color:rgba(var(--gray-700),var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:focus-within:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity))}@media (min-width:640px){.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input{font-size:.875rem;line-height:1.5rem}}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-button-group .trix-button{--tw-bg-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-200),var(--tw-ring-opacity));background-color:rgba(var(--gray-50),var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);font-size:.75rem;line-height:1rem;padding:.125rem .5rem}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-button-group .trix-button:is(.dark *){--tw-bg-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-600),var(--tw-ring-opacity));background-color:rgba(var(--gray-700),var(--tw-bg-opacity))}.fi-fo-rich-editor trix-editor:empty:before{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.fi-fo-rich-editor trix-editor:empty:is(.dark *):before{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.fi-fo-rich-editor trix-editor:empty:before{content:attr(placeholder)}.fi-fo-rich-editor trix-editor.prose :where(ol):not(:where([class~=not-prose] *)),.fi-fo-rich-editor trix-editor.prose :where(ul):not(:where([class~=not-prose] *)){padding-inline-end:0!important;padding-inline-start:1.625em!important}.fi-fo-rich-editor trix-editor.prose :where(ul>li):not(:where([class~=not-prose] *)){padding-inline-end:0!important;padding-inline-start:.375em!important}select:not(.choices){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E")}[dir=rtl] select{background-position:left .5rem center!important}.choices{outline:2px solid transparent;outline-offset:2px;position:relative}.choices [hidden]{display:none!important}.choices[data-type*=select-one] .has-no-choices{display:none}.choices[data-type*=select-one] .choices__input{display:block;margin:0;width:100%}.choices__inner{background-repeat:no-repeat;outline:2px solid transparent;outline-offset:2px;padding-bottom:.375rem;padding-inline-end:2rem;padding-top:.375rem;padding-inline-start:.75rem}@media (min-width:640px){.choices__inner{font-size:.875rem;line-height:1.5rem}}.choices__inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-size:1.5em 1.5em}.choices.is-disabled .choices__inner{cursor:default}[dir=rtl] .choices__inner{background-position:left .5rem center}.choices__list--single{display:inline-block}.choices__list--single .choices__item{--tw-text-opacity:1;color:rgba(var(--gray-950),var(--tw-text-opacity))}.choices__list--single .choices__item:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.choices.is-disabled .choices__list--single .choices__item{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices.is-disabled .choices__list--single .choices__item:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.choices__list--multiple{display:flex;flex-wrap:wrap;gap:.375rem}.choices__list--multiple:not(:empty){margin-bottom:.25rem;margin-left:-.25rem;margin-right:-.25rem;padding-bottom:.125rem;padding-top:.125rem}.choices__list--multiple .choices__item{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-color:rgba(var(--primary-600),0.1);align-items:center;background-color:rgba(var(--primary-50),var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgba(var(--primary-600),var(--tw-text-opacity));display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;line-height:1rem;padding:.25rem .5rem;word-break:break-all}.choices__list--multiple .choices__item:is(.dark *){--tw-text-opacity:1;--tw-ring-color:rgba(var(--primary-400),0.3);background-color:rgba(var(--primary-400),.1);color:rgba(var(--primary-400),var(--tw-text-opacity))}.choices__list--dropdown,.choices__list[aria-expanded]{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--gray-950),0.05);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:none;font-size:.875rem;line-height:1.25rem;margin-top:.5rem;overflow:hidden;overflow-wrap:break-word;position:absolute;top:100%;width:100%;will-change:visibility;z-index:10}.choices__list--dropdown:is(.dark *),.choices__list[aria-expanded]:is(.dark *){--tw-bg-opacity:1;--tw-ring-color:hsla(0,0%,100%,.1);background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}.is-active.choices__list--dropdown,.is-active.choices__list[aria-expanded]{display:block;padding:.25rem}.choices__list--dropdown .choices__list,.choices__list[aria-expanded] .choices__list{max-height:15rem;overflow:auto;will-change:scroll-position}.choices__item--choice{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity));padding:.5rem;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.choices__item--choice:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.choices__item--choice.choices__item--selectable{--tw-text-opacity:1;border-radius:.375rem;color:rgba(var(--gray-950),var(--tw-text-opacity))}.choices__item--choice.choices__item--selectable:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.choices__list--dropdown .choices__item--selectable.is-highlighted,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.choices__list--dropdown .choices__item--selectable.is-highlighted:is(.dark *),.choices__list[aria-expanded] .choices__item--selectable.is-highlighted:is(.dark *){background-color:hsla(0,0%,100%,.05)}.choices__item{cursor:default}.choices__item--disabled{pointer-events:none}.choices__item--disabled:disabled{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices__item--disabled:disabled:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.choices.is-disabled .choices__placeholder.choices__item,.choices__placeholder.choices__item{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity));cursor:default}.choices.is-disabled .choices__placeholder.choices__item:is(.dark *),.choices__placeholder.choices__item:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices__button{background-color:transparent;background-position:50%;background-repeat:no-repeat;border-width:0;outline:2px solid transparent;outline-offset:2px;text-indent:-9999px}.choices[data-type*=select-one] .choices__button{height:1rem;inset-inline-end:0;margin-inline-end:2.25rem;opacity:.5;padding:0;position:absolute;transition-duration:75ms;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1rem}.choices[data-type*=select-one] .choices__button:is(.dark *){opacity:.4}.choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=);background-size:.7142em .7142em;top:calc(50% - .5714em)}.dark .choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=)}.choices[data-type*=select-multiple] .choices__button{height:1rem;opacity:.5;width:1rem}.choices[data-type*=select-multiple] .choices__button:is(.dark *){opacity:.4}.choices[data-type*=select-multiple] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=);background-size:.7142em .7142em}.dark .choices[data-type*=select-multiple] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=)}.choices[data-type*=select-multiple] .choices__button:focus-visible,.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=select-one] .choices__button:focus-visible,.choices[data-type*=select-one] .choices__button:hover{opacity:.7}.choices[data-type*=select-multiple] .choices__button:focus-visible:is(.dark *),.choices[data-type*=select-multiple] .choices__button:hover:is(.dark *),.choices[data-type*=select-one] .choices__button:focus-visible:is(.dark *),.choices[data-type*=select-one] .choices__button:hover:is(.dark *){opacity:.6}.choices.is-disabled .choices__button,.choices[data-type*=select-one] .choices__item[data-value=""] .choices__button{display:none}.choices__input{--tw-text-opacity:1;background-color:transparent!important;border-style:none;color:rgba(var(--gray-950),var(--tw-text-opacity));font-size:1rem!important;line-height:1.5rem!important;padding:0!important;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.choices__input::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.choices__input::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.choices__input:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.choices__input:disabled{--tw-text-opacity:1;-webkit-text-fill-color:rgba(var(--gray-500),1);color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices__input:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.choices__input:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices__input:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices__input:disabled:is(.dark *){--tw-text-opacity:1;-webkit-text-fill-color:rgba(var(--gray-400),1);color:rgba(var(--gray-400),var(--tw-text-opacity))}@media (min-width:640px){.choices__input{font-size:.875rem!important;line-height:1.5rem}}.choices__list--dropdown .choices__input{padding:.5rem!important}.choices__input::-webkit-search-cancel-button,.choices__input::-webkit-search-decoration,.choices__input::-webkit-search-results-button,.choices__input::-webkit-search-results-decoration{display:none}.choices__input::-ms-clear,.choices__input::-ms-reveal{display:none;height:0;width:0}.choices__group{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity));padding:1rem .5rem .5rem}.choices__group:first-child{padding-top:.5rem}.choices__group:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.webkit-calendar-picker-indicator\:opacity-0::-webkit-calendar-picker-indicator{opacity:0}/*! Bundled license information: cropperjs/dist/cropper.min.css: (*! diff --git a/public/vendor/log-viewer/app.css b/public/vendor/log-viewer/app.css new file mode 100644 index 0000000..f3662ef --- /dev/null +++ b/public/vendor/log-viewer/app.css @@ -0,0 +1 @@ +/*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e4e4e7;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#a1a1aa;opacity:1}input::placeholder,textarea::placeholder{color:#a1a1aa;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.-left-\[200\%\]{left:-200%}.bottom-0{bottom:0}.bottom-10{bottom:2.5rem}.bottom-4{bottom:1rem}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-4{right:1rem}.right-7{right:1.75rem}.right-\[200\%\]{right:200%}.top-0{top:0}.top-9{top:2.25rem}.z-10{z-index:10}.z-20{z-index:20}.m-1{margin:.25rem}.-my-1{margin-bottom:-.25rem;margin-top:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-auto{margin-bottom:auto;margin-top:auto}.-mb-0\.5{margin-bottom:-.125rem}.-mb-px{margin-bottom:-1px}.-mr-2{margin-right:-.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-5{margin-left:1.25rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-2\.5{margin-right:.625rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.25rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-0{height:0}.h-14{height:3.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-\[18px\]{height:18px}.h-full{height:100%}.max-h-60{max-height:15rem}.max-h-screen{max-height:100vh}.min-h-\[38px\]{min-height:38px}.min-h-screen{min-height:100vh}.w-14{width:3.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\[18px\]{width:18px}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.min-w-\[240px\]{min-width:240px}.min-w-full{min-width:100%}.max-w-\[1px\]{max-width:1px}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.table-fixed{table-layout:fixed}.border-separate{border-collapse:separate}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.rotate-90{--tw-rotate:90deg}.rotate-90,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.scale-90,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-flow-col{grid-auto-flow:column}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-brand-500{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity))}.bg-brand-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-gray-100{--tw-gradient-from:#f4f4f5 var(--tw-gradient-from-position);--tw-gradient-to:hsla(240,5%,96%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-12{padding:3rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-1{padding-bottom:.25rem}.pb-16{padding-bottom:4rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pr-9{padding-right:2.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-brand-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}.text-brand-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity))}.text-brand-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline-brand-500{outline-color:#0ea5e9}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-opacity-5{--tw-ring-opacity:0.05}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.spin{-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:spin;-moz-animation-name:spin;-ms-animation-name:spin;animation-name:spin;-webkit-animation-timing-function:linear;-moz-animation-timing-function:linear;-ms-animation-timing-function:linear;animation-timing-function:linear}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}html.dark{color-scheme:dark}#bmc-wbtn{height:48px!important;width:48px!important}#bmc-wbtn>img{height:32px!important;width:32px!important}.log-levels-selector .dropdown-toggle{white-space:nowrap}.log-levels-selector .dropdown-toggle:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid transparent;outline-offset:2px}.log-levels-selector .dropdown-toggle:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(3 105 161/var(--tw-ring-opacity))}.log-levels-selector .dropdown-toggle>svg{height:1rem;margin-left:.25rem;opacity:.75;width:1rem}.log-levels-selector .dropdown .log-level{font-weight:600}.log-levels-selector .dropdown .log-level.notice,.log-levels-selector .dropdown .log-level.success{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity))}.log-levels-selector .dropdown .log-level.notice:is(.dark *),.log-levels-selector .dropdown .log-level.success:is(.dark *){--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity))}.log-levels-selector .dropdown .log-level.info{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity))}.log-levels-selector .dropdown .log-level.info:is(.dark *){--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}.log-levels-selector .dropdown .log-level.warning{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity))}.log-levels-selector .dropdown .log-level.warning:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.log-levels-selector .dropdown .log-level.danger{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity))}.log-levels-selector .dropdown .log-level.danger:is(.dark *){--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity))}.log-levels-selector .dropdown .log-level.none{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.log-levels-selector .dropdown .log-level.none:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.log-levels-selector .dropdown .log-count{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity));margin-left:2rem;white-space:nowrap}.log-levels-selector .dropdown .log-count:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.log-levels-selector .dropdown button.active .log-level.notice,.log-levels-selector .dropdown button.active .log-level.success{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity))}.log-levels-selector .dropdown button.active .log-level.info{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity))}.log-levels-selector .dropdown button.active .log-level.warning{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity))}.log-levels-selector .dropdown button.active .log-level.danger{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity))}.log-levels-selector .dropdown button.active .log-level.none{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity))}.log-levels-selector .dropdown button.active .log-count{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity))}.log-levels-selector .dropdown button.active .log-count:is(.dark *){--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity))}.log-levels-selector .dropdown .no-results{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity));font-size:.75rem;line-height:1rem;padding:.25rem 1rem;text-align:center}.log-levels-selector .dropdown .no-results:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.log-item{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));cursor:pointer;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.log-item:is(.dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.log-item.notice.active>td,.log-item.notice:focus-within>td,.log-item.notice:hover>td,.log-item.success.active>td,.log-item.success:focus-within>td,.log-item.success:hover>td{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity))}.log-item.notice.active>td:is(.dark *),.log-item.notice:focus-within>td:is(.dark *),.log-item.notice:hover>td:is(.dark *),.log-item.success.active>td:is(.dark *),.log-item.success:focus-within>td:is(.dark *),.log-item.success:hover>td:is(.dark *){--tw-bg-opacity:0.4;background-color:rgb(6 95 70/var(--tw-bg-opacity))}.log-item.notice .log-level-indicator,.log-item.success .log-level-indicator{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity))}.log-item.notice .log-level-indicator:is(.dark *),.log-item.success .log-level-indicator:is(.dark *){--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity))}.log-item.notice .log-level,.log-item.success .log-level{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity))}.log-item.notice .log-level:is(.dark *),.log-item.success .log-level:is(.dark *){--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity))}.log-item.info.active>td,.log-item.info:focus-within>td,.log-item.info:hover>td{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity))}.log-item.info.active>td:is(.dark *),.log-item.info:focus-within>td:is(.dark *),.log-item.info:hover>td:is(.dark *){--tw-bg-opacity:0.4;background-color:rgb(7 89 133/var(--tw-bg-opacity))}.log-item.info .log-level-indicator{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity))}.log-item.info .log-level-indicator:is(.dark *){--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity))}.log-item.info .log-level{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity))}.log-item.info .log-level:is(.dark *){--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}.log-item.warning.active>td,.log-item.warning:focus-within>td,.log-item.warning:hover>td{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity))}.log-item.warning.active>td:is(.dark *),.log-item.warning:focus-within>td:is(.dark *),.log-item.warning:hover>td:is(.dark *){--tw-bg-opacity:0.4;background-color:rgb(146 64 14/var(--tw-bg-opacity))}.log-item.warning .log-level-indicator{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity))}.log-item.warning .log-level-indicator:is(.dark *){--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity))}.log-item.warning .log-level{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity))}.log-item.warning .log-level:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.log-item.danger.active>td,.log-item.danger:focus-within>td,.log-item.danger:hover>td{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity))}.log-item.danger.active>td:is(.dark *),.log-item.danger:focus-within>td:is(.dark *),.log-item.danger:hover>td:is(.dark *){--tw-bg-opacity:0.4;background-color:rgb(159 18 57/var(--tw-bg-opacity))}.log-item.danger .log-level-indicator{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity))}.log-item.danger .log-level-indicator:is(.dark *){--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity))}.log-item.danger .log-level{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity))}.log-item.danger .log-level:is(.dark *){--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity))}.log-item.none.active>td,.log-item.none:focus-within>td,.log-item.none:hover>td{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.log-item.none.active>td:is(.dark *),.log-item.none:focus-within>td:is(.dark *),.log-item.none:hover>td:is(.dark *){--tw-bg-opacity:0.4;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.log-item.none .log-level-indicator{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity))}.log-item.none .log-level-indicator:is(.dark *){--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity))}.log-item.none .log-level{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.log-item.none .log-level:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.log-item:hover .log-level-icon{opacity:1}.badge{align-items:center;border-radius:.375rem;cursor:pointer;display:inline-flex;font-size:.875rem;line-height:1.25rem;margin-right:.5rem;margin-top:.25rem;padding:.25rem .75rem;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.badge.notice,.badge.success{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity));border-color:rgb(167 243 208/var(--tw-border-opacity));border-width:1px;color:rgb(82 82 91/var(--tw-text-opacity))}.badge.notice:is(.dark *),.badge.success:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:0.4;--tw-text-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity));border-color:rgb(6 95 70/var(--tw-border-opacity));color:rgb(161 161 170/var(--tw-text-opacity))}.badge.notice:hover,.badge.success:hover{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity))}.badge.notice:hover:is(.dark *),.badge.success:hover:is(.dark *){--tw-bg-opacity:0.75;background-color:rgb(6 78 59/var(--tw-bg-opacity))}.badge.notice .checkmark,.badge.success .checkmark{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity))}.badge.notice .checkmark:is(.dark *),.badge.success .checkmark:is(.dark *){--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity))}.badge.notice.active,.badge.success.active{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity));border-color:rgb(4 120 87/var(--tw-border-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.badge.notice.active:is(.dark *),.badge.success.active:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity));border-color:rgb(5 150 105/var(--tw-border-opacity))}.badge.notice.active:hover,.badge.success.active:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity))}.badge.notice.active:hover:is(.dark *),.badge.success.active:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity))}.badge.notice.active .checkmark,.badge.success.active .checkmark{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity))}.badge.notice.active .checkmark:is(.dark *),.badge.success.active .checkmark:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity));border-color:rgb(4 120 87/var(--tw-border-opacity))}.badge.notice.active .checkmark>svg,.badge.success.active .checkmark>svg{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity))}.badge.notice.active .checkmark>svg:is(.dark *),.badge.success.active .checkmark>svg:is(.dark *){--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity))}.badge.info{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity));border-color:rgb(186 230 253/var(--tw-border-opacity));border-width:1px;color:rgb(82 82 91/var(--tw-text-opacity))}.badge.info:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:0.4;--tw-text-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity));border-color:rgb(7 89 133/var(--tw-border-opacity));color:rgb(161 161 170/var(--tw-text-opacity))}.badge.info:hover{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity))}.badge.info:hover:is(.dark *){--tw-bg-opacity:0.75;background-color:rgb(12 74 110/var(--tw-bg-opacity))}.badge.info .checkmark{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity))}.badge.info .checkmark:is(.dark *){--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity))}.badge.info.active{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity));border-color:rgb(3 105 161/var(--tw-border-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.badge.info.active:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity));border-color:rgb(2 132 199/var(--tw-border-opacity))}.badge.info.active:hover{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity))}.badge.info.active:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(7 89 133/var(--tw-bg-opacity))}.badge.info.active .checkmark{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity))}.badge.info.active .checkmark:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity));border-color:rgb(3 105 161/var(--tw-border-opacity))}.badge.info.active .checkmark>svg{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity))}.badge.info.active .checkmark>svg:is(.dark *){--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity))}.badge.warning{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity));border-color:rgb(253 230 138/var(--tw-border-opacity));border-width:1px;color:rgb(82 82 91/var(--tw-text-opacity))}.badge.warning:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:0.4;--tw-text-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity));border-color:rgb(146 64 14/var(--tw-border-opacity));color:rgb(161 161 170/var(--tw-text-opacity))}.badge.warning:hover{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.badge.warning:hover:is(.dark *){--tw-bg-opacity:0.75;background-color:rgb(120 53 15/var(--tw-bg-opacity))}.badge.warning .checkmark{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity))}.badge.warning .checkmark:is(.dark *){--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity))}.badge.warning.active{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity));border-color:rgb(180 83 9/var(--tw-border-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.badge.warning.active:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity));border-color:rgb(217 119 6/var(--tw-border-opacity))}.badge.warning.active:hover{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.badge.warning.active:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity))}.badge.warning.active .checkmark{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity))}.badge.warning.active .checkmark:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity));border-color:rgb(180 83 9/var(--tw-border-opacity))}.badge.warning.active .checkmark>svg{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.badge.warning.active .checkmark>svg:is(.dark *){--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity))}.badge.danger{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity));border-color:rgb(254 205 211/var(--tw-border-opacity));border-width:1px;color:rgb(82 82 91/var(--tw-text-opacity))}.badge.danger:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:0.4;--tw-text-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity));border-color:rgb(159 18 57/var(--tw-border-opacity));color:rgb(161 161 170/var(--tw-text-opacity))}.badge.danger:hover{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity))}.badge.danger:hover:is(.dark *){--tw-bg-opacity:0.75;background-color:rgb(136 19 55/var(--tw-bg-opacity))}.badge.danger .checkmark{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity))}.badge.danger .checkmark:is(.dark *){--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity))}.badge.danger.active{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity));border-color:rgb(190 18 60/var(--tw-border-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.badge.danger.active:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity));border-color:rgb(225 29 72/var(--tw-border-opacity))}.badge.danger.active:hover{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity))}.badge.danger.active:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity))}.badge.danger.active .checkmark{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity))}.badge.danger.active .checkmark:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity));border-color:rgb(190 18 60/var(--tw-border-opacity))}.badge.danger.active .checkmark>svg{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}.badge.danger.active .checkmark>svg:is(.dark *){--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity))}.badge.none{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity));border-color:rgb(228 228 231/var(--tw-border-opacity));border-width:1px;color:rgb(82 82 91/var(--tw-text-opacity))}.badge.none:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:0.4;--tw-text-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity));border-color:rgb(39 39 42/var(--tw-border-opacity));color:rgb(161 161 170/var(--tw-text-opacity))}.badge.none:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.badge.none:hover:is(.dark *){--tw-bg-opacity:0.75;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.badge.none .checkmark{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity))}.badge.none .checkmark:is(.dark *){--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity))}.badge.none.active{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));color:rgb(39 39 42/var(--tw-text-opacity))}.badge.none.active:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity));border-color:rgb(82 82 91/var(--tw-border-opacity));color:rgb(244 244 245/var(--tw-text-opacity))}.badge.none.active:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.badge.none.active:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.badge.none.active .checkmark{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity))}.badge.none.active .checkmark:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity));border-color:rgb(63 63 70/var(--tw-border-opacity))}.badge.none.active .checkmark>svg{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}.badge.none.active .checkmark>svg:is(.dark *){--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.log-list table>thead th{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity));color:rgb(113 113 122/var(--tw-text-opacity));font-size:.75rem;font-weight:600;line-height:1rem;padding:.5rem .25rem;position:sticky;text-align:left;top:0;z-index:10}.file-list .folder-container .folder-item-container.log-list table>thead th{position:sticky}.log-list table>thead th:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity));color:rgb(161 161 170/var(--tw-text-opacity))}@media (min-width:1024px){.log-list table>thead th{font-size:.875rem;line-height:1.25rem;padding-left:.5rem;padding-right:.5rem}}.log-list .log-group{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));position:relative}.log-list .log-group:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity));color:rgb(228 228 231/var(--tw-text-opacity))}.log-list .log-group .log-item>td{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity));border-top-width:1px;font-size:.75rem;line-height:1rem;padding:.375rem .25rem}.log-list .log-group .log-item>td:is(.dark *){--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity))}@media (min-width:1024px){.log-list .log-group .log-item>td{font-size:.875rem;line-height:1.25rem;padding:.5rem}}.log-list .log-group.first .log-item>td{border-top-color:transparent}.log-list .log-group .mail-preview-attributes{--tw-border-opacity:1;background-color:rgba(240,249,255,.3);border-color:rgb(224 242 254/var(--tw-border-opacity));border-radius:.25rem;border-width:1px;font-size:.75rem;line-height:1rem;margin-bottom:1rem;overflow-x:auto;width:100%}.log-list .log-group .mail-preview-attributes:is(.dark *){--tw-border-opacity:1;background-color:rgba(12,74,110,.2);border-color:rgb(7 89 133/var(--tw-border-opacity))}@media (min-width:1024px){.log-list .log-group .mail-preview-attributes{font-size:.875rem;line-height:1.25rem;margin-bottom:1.5rem;overflow:hidden}}.log-list .log-group .mail-preview-attributes table{width:100%}.log-list .log-group .mail-preview-attributes td{padding:.25rem .5rem}@media (min-width:1024px){.log-list .log-group .mail-preview-attributes td{padding:.5rem 1.5rem}}.log-list .log-group .mail-preview-attributes td:not(:first-child){overflow-wrap:anywhere}.log-list .log-group .mail-preview-attributes tr:first-child td{padding-top:.375rem}@media (min-width:1024px){.log-list .log-group .mail-preview-attributes tr:first-child td{padding-top:.75rem}}.log-list .log-group .mail-preview-attributes tr:last-child td{padding-bottom:.375rem}@media (min-width:1024px){.log-list .log-group .mail-preview-attributes tr:last-child td{padding-bottom:.75rem}}.log-list .log-group .mail-preview-attributes tr:not(:last-child) td{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(224 242 254/var(--tw-border-opacity))}.log-list .log-group .mail-preview-attributes tr:not(:last-child) td:is(.dark *){--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity))}.log-list .log-group .mail-preview-html{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity));border-color:rgb(228 228 231/var(--tw-border-opacity));border-radius:.25rem;border-width:1px;margin-bottom:1rem;overflow:auto;width:100%}.log-list .log-group .mail-preview-html:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity));border-color:rgb(63 63 70/var(--tw-border-opacity))}@media (min-width:1024px){.log-list .log-group .mail-preview-html{margin-bottom:1.5rem}}.log-list .log-group .mail-preview-text{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity));border-color:rgb(228 228 231/var(--tw-border-opacity));border-radius:.25rem;border-width:1px;font-size:.875rem;line-height:1.25rem;margin-bottom:1rem;padding:1rem;white-space:pre-wrap;width:100%}.log-list .log-group .mail-preview-text:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity));border-color:rgb(63 63 70/var(--tw-border-opacity))}@media (min-width:1024px){.log-list .log-group .mail-preview-text{margin-bottom:1.5rem}}.log-list .log-group .mail-attachment-button{--tw-bg-opacity:1;align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.25rem;border-width:1px;display:flex;justify-content:space-between;padding:.25rem .5rem}.log-list .log-group .mail-attachment-button:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity));border-color:rgb(63 63 70/var(--tw-border-opacity))}@media (min-width:1024px){.log-list .log-group .mail-attachment-button{padding:.5rem 1rem}}.log-list .log-group .mail-attachment-button{max-width:460px}.log-list .log-group .mail-attachment-button:not(:last-child){margin-bottom:.5rem}.log-list .log-group .mail-attachment-button a:focus{outline-color:#0ea5e9}.log-list .log-group .tabs-container{font-size:.75rem;line-height:1rem}@media (min-width:1024px){.log-list .log-group .tabs-container{font-size:.875rem;line-height:1.25rem}}.log-list .log-group .log-stack,.log-list .log-group .mail-preview,.log-list .log-group .tabs-container{padding:.25rem .5rem}@media (min-width:1024px){.log-list .log-group .log-stack,.log-list .log-group .mail-preview,.log-list .log-group .tabs-container{padding:.5rem 2rem}}.log-list .log-group .log-stack{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity));font-size:10px;line-height:.75rem;white-space:pre-wrap;word-break:break-all}.log-list .log-group .log-stack:is(.dark *){--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity))}@media (min-width:1024px){.log-list .log-group .log-stack{font-size:.75rem;line-height:1rem}}.log-list .log-group .log-link{align-items:center;border-radius:.25rem;display:flex;justify-content:flex-end;margin-bottom:-.125rem;margin-top:-.125rem;padding-bottom:.125rem;padding-left:.25rem;padding-top:.125rem;width:100%}@media (min-width:640px){.log-list .log-group .log-link{min-width:64px}}.log-list .log-group .log-link>svg{height:1rem;margin-left:.25rem;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1rem}.log-list .log-group .log-link:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid transparent;outline-offset:2px}.log-list .log-group .log-link:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(56 189 248/var(--tw-ring-opacity))}.log-list .log-group code,.log-list .log-group mark{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity));border-radius:.25rem;color:rgb(24 24 27/var(--tw-text-opacity));padding:.125rem .25rem}.log-list .log-group code:is(.dark *),.log-list .log-group mark:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.pagination{align-items:center;display:flex;justify-content:center;width:100%}@media (min-width:640px){.pagination{margin-top:.5rem;padding-left:1rem;padding-right:1rem}}@media (min-width:1024px){.pagination{padding-left:0;padding-right:0}}.pagination .previous{display:flex;flex:1 1 0%;justify-content:flex-start;margin-top:-1px;width:0}@media (min-width:768px){.pagination .previous{justify-content:flex-end}}.pagination .previous button{--tw-text-opacity:1;align-items:center;border-color:transparent;border-top-width:2px;color:rgb(113 113 122/var(--tw-text-opacity));display:inline-flex;font-size:.875rem;font-weight:500;line-height:1.25rem;padding-right:.25rem;padding-top:.75rem}.pagination .previous button:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.pagination .previous button:hover{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity));color:rgb(63 63 70/var(--tw-text-opacity))}.pagination .previous button:hover:is(.dark *){--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity))}.pagination .previous button:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid transparent;outline-offset:2px}.pagination .previous button:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(56 189 248/var(--tw-ring-opacity))}.pagination .previous button svg{color:currentColor;height:1.25rem;margin-left:.75rem;margin-right:.75rem;width:1.25rem}.pagination .next{display:flex;flex:1 1 0%;justify-content:flex-end;margin-top:-1px;width:0}@media (min-width:768px){.pagination .next{justify-content:flex-start}}.pagination .next button{--tw-text-opacity:1;align-items:center;border-color:transparent;border-top-width:2px;color:rgb(113 113 122/var(--tw-text-opacity));display:inline-flex;font-size:.875rem;font-weight:500;line-height:1.25rem;padding-left:.25rem;padding-top:.75rem}.pagination .next button:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.pagination .next button:hover{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity));color:rgb(63 63 70/var(--tw-text-opacity))}.pagination .next button:hover:is(.dark *){--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity))}.pagination .next button:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid transparent;outline-offset:2px}.pagination .next button:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(56 189 248/var(--tw-ring-opacity))}.pagination .next button svg{color:currentColor;height:1.25rem;margin-left:.75rem;margin-right:.75rem;width:1.25rem}.pagination .pages{display:none}@media (min-width:640px){.pagination .pages{display:flex;margin-top:-1px}}.pagination .pages span{--tw-text-opacity:1;align-items:center;border-color:transparent;border-top-width:2px;color:rgb(113 113 122/var(--tw-text-opacity));display:inline-flex;font-size:.875rem;font-weight:500;line-height:1.25rem;padding-left:1rem;padding-right:1rem;padding-top:.75rem}.pagination .pages span:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.pagination .pages button{align-items:center;border-top-width:2px;display:inline-flex;font-size:.875rem;font-weight:500;line-height:1.25rem;padding-left:1rem;padding-right:1rem;padding-top:.75rem}.pagination .pages button:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid transparent;outline-offset:2px}.pagination .pages button:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(56 189 248/var(--tw-ring-opacity))}.search{--tw-border-opacity:1;--tw-bg-opacity:1;align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(212 212 216/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;display:flex;font-size:.875rem;line-height:1.25rem;position:relative;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.search:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity));border-color:rgb(82 82 91/var(--tw-border-opacity));color:rgb(244 244 245/var(--tw-text-opacity))}.search .prefix-icon{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity));margin-left:.75rem;margin-right:.25rem}.search .prefix-icon:is(.dark *){--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.search input{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:transparent;background-color:inherit;border-radius:.25rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);flex:1 1 0%;padding:.25rem;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.search input:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity));border-color:transparent;outline:2px solid transparent;outline-offset:2px}.search input:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(3 105 161/var(--tw-ring-opacity))}.search.has-error{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.search .submit-search button{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(244 244 245/var(--tw-bg-opacity));border-bottom-right-radius:.25rem;border-top-right-radius:.25rem;color:rgb(82 82 91/var(--tw-text-opacity));display:flex;padding:.5rem;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.search .submit-search button:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity));color:rgb(212 212 216/var(--tw-text-opacity))}.search .submit-search button:hover{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity))}.search .submit-search button:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity))}.search .submit-search button:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid transparent;outline-offset:2px}.search .submit-search button:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(3 105 161/var(--tw-ring-opacity))}.search .submit-search button>svg{height:1.25rem;margin-left:.25rem;opacity:.75;width:1.25rem}.search .clear-search{position:absolute;right:0;top:0}.search .clear-search button{--tw-text-opacity:1;border-radius:.25rem;color:rgb(161 161 170/var(--tw-text-opacity));padding:.25rem;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.search .clear-search button:is(.dark *){--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.search .clear-search button:hover{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}.search .clear-search button:hover:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.search .clear-search button:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid transparent;outline-offset:2px}.search .clear-search button:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(3 105 161/var(--tw-ring-opacity))}.search .clear-search button>svg{height:1.25rem;width:1.25rem}.search-progress-bar{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity));border-radius:.25rem;height:.125rem;position:absolute;top:.25rem;transition-duration:.3s;transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:linear}.search-progress-bar:is(.dark *){--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity))}.dropdown{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(228 228 231/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(24 24 27/var(--tw-text-opacity));margin-top:-.25rem;overflow:hidden;position:absolute;right:.25rem;top:100%;z-index:40}.dropdown:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity));border-color:rgb(63 63 70/var(--tw-border-opacity));color:rgb(228 228 231/var(--tw-text-opacity))}.dropdown:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity));--tw-ring-opacity:0.5;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid transparent;outline-offset:2px}.dropdown:focus:is(.dark *){--tw-ring-color:rgb(3 105 161/var(--tw-ring-opacity));--tw-ring-opacity:0.5}.dropdown{transform-origin:top right!important}.dropdown.up{bottom:100%;margin-bottom:-.25rem;margin-top:0;top:auto;transform-origin:bottom right!important}.dropdown.left{left:.25rem;right:auto;transform-origin:top left!important}.dropdown.left.up{transform-origin:bottom left!important}.dropdown a:not(.inline-link),.dropdown button:not(.inline-link){align-items:center;display:block;display:flex;font-size:.875rem;line-height:1.25rem;outline-color:#0ea5e9;padding:.5rem 1rem;text-align:left;width:100%}.dropdown a:not(.inline-link):is(.dark *),.dropdown button:not(.inline-link):is(.dark *){outline-color:#075985}.dropdown a:not(.inline-link)>svg,.dropdown button:not(.inline-link)>svg{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity));height:1rem;margin-right:.75rem;width:1rem}.dropdown a:not(.inline-link)>svg.spin,.dropdown button:not(.inline-link)>svg.spin{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}.dropdown a.active,.dropdown a:hover,.dropdown button.active,.dropdown button:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.dropdown a.active>.checkmark,.dropdown a:hover>.checkmark,.dropdown button.active>.checkmark,.dropdown button:hover>.checkmark{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity))}.dropdown a.active>.checkmark:is(.dark *),.dropdown a:hover>.checkmark:is(.dark *),.dropdown button.active>.checkmark:is(.dark *),.dropdown button:hover>.checkmark:is(.dark *){--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.dropdown a.active>svg,.dropdown a:hover>svg,.dropdown button.active>svg,.dropdown button:hover>svg{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dropdown .divider{border-top-width:1px;margin-bottom:.5rem;margin-top:.5rem;width:100%}.dropdown .divider:is(.dark *){--tw-border-opacity:1;border-top-color:rgb(63 63 70/var(--tw-border-opacity))}.dropdown .label{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity));font-size:.75rem;font-weight:600;line-height:1rem;margin:.25rem 1rem}.file-list{height:100%;overflow-y:auto;padding-bottom:1rem;padding-left:.75rem;padding-right:.75rem;position:relative}@media (min-width:768px){.file-list{padding-left:0;padding-right:0}}.file-list .file-item-container,.file-list .folder-item-container{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;color:rgb(39 39 42/var(--tw-text-opacity));margin-top:.5rem;position:relative;top:0}.file-list .file-item-container:is(.dark *),.file-list .folder-item-container:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity));color:rgb(228 228 231/var(--tw-text-opacity))}.file-list .file-item-container .file-item,.file-list .folder-item-container .file-item{border-color:transparent;border-radius:.375rem;border-width:1px;cursor:pointer;position:relative;transition-duration:.1s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.file-list .file-item-container .file-item,.file-list .file-item-container .file-item .file-item-info,.file-list .folder-item-container .file-item,.file-list .folder-item-container .file-item .file-item-info{align-items:center;display:flex;justify-content:space-between;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter}.file-list .file-item-container .file-item .file-item-info,.file-list .folder-item-container .file-item .file-item-info{border-bottom-left-radius:.375rem;border-top-left-radius:.375rem;flex:1 1 0%;outline-color:#0ea5e9;padding:.5rem .75rem .5rem 1rem;text-align:left;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.file-list .file-item-container .file-item .file-item-info:is(.dark *),.file-list .folder-item-container .file-item .file-item-info:is(.dark *){outline-color:#0369a1}.file-list .file-item-container .file-item .file-item-info:hover,.file-list .folder-item-container .file-item .file-item-info:hover{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity))}.file-list .file-item-container .file-item .file-item-info:hover:is(.dark *),.file-list .folder-item-container .file-item .file-item-info:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity))}.file-list .file-item-container .file-item .file-icon,.file-list .folder-item-container .file-item .file-icon{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity));margin-right:.5rem}.file-list .file-item-container .file-item .file-icon:is(.dark *),.file-list .folder-item-container .file-item .file-icon:is(.dark *){--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.file-list .file-item-container .file-item .file-icon>svg,.file-list .folder-item-container .file-item .file-icon>svg{height:1rem;width:1rem}.file-list .file-item-container .file-item .file-name,.file-list .folder-item-container .file-item .file-name{font-size:.875rem;line-height:1.25rem;margin-right:.75rem;width:100%;word-break:break-word}.file-list .file-item-container .file-item .file-size,.file-list .folder-item-container .file-item .file-size{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity));font-size:.75rem;line-height:1rem;white-space:nowrap}.file-list .file-item-container .file-item .file-size:is(.dark *),.file-list .folder-item-container .file-item .file-size:is(.dark *){--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity));opacity:.9}.file-list .file-item-container.active .file-item,.file-list .folder-item-container.active .file-item{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity));border-color:rgb(14 165 233/var(--tw-border-opacity))}.file-list .file-item-container.active .file-item:is(.dark *),.file-list .folder-item-container.active .file-item:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:0.4;background-color:rgb(12 74 110/var(--tw-bg-opacity));border-color:rgb(12 74 110/var(--tw-border-opacity))}.file-list .file-item-container.active-folder .file-item,.file-list .folder-item-container.active-folder .file-item{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.file-list .file-item-container.active-folder .file-item:is(.dark *),.file-list .folder-item-container.active-folder .file-item:is(.dark *){--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity))}.file-list .file-item-container:hover .file-item,.file-list .folder-item-container:hover .file-item{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity))}.file-list .file-item-container:hover .file-item:is(.dark *),.file-list .folder-item-container:hover .file-item:is(.dark *){--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity))}.file-list .file-item-container .file-dropdown-toggle,.file-list .folder-item-container .file-dropdown-toggle{--tw-text-opacity:1;align-items:center;align-self:stretch;border-bottom-right-radius:.375rem;border-color:transparent;border-left-width:1px;border-top-right-radius:.375rem;color:rgb(113 113 122/var(--tw-text-opacity));display:flex;justify-content:center;outline-color:#0ea5e9;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:2rem}.file-list .file-item-container .file-dropdown-toggle:is(.dark *),.file-list .folder-item-container .file-dropdown-toggle:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity));outline-color:#0369a1}.file-list .file-item-container .file-dropdown-toggle:hover,.file-list .folder-item-container .file-dropdown-toggle:hover{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity));border-color:rgb(2 132 199/var(--tw-border-opacity))}.file-list .file-item-container .file-dropdown-toggle:hover:is(.dark *),.file-list .folder-item-container .file-dropdown-toggle:hover:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity));border-color:rgb(7 89 133/var(--tw-border-opacity))}.file-list .folder-container .folder-item-container.sticky{position:sticky}.file-list .folder-container:first-child>.folder-item-container{margin-top:0}.menu-button{--tw-text-opacity:1;border-radius:.375rem;color:rgb(161 161 170/var(--tw-text-opacity));cursor:pointer;outline-color:#0ea5e9;padding:.5rem;position:relative;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.menu-button:hover{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.menu-button:hover:is(.dark *){--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity))}.menu-button:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline:2px solid transparent;outline-offset:2px}.menu-button:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(3 105 161/var(--tw-ring-opacity))}a.button,button.button{--tw-text-opacity:1;align-items:center;border-radius:.375rem;color:rgb(24 24 27/var(--tw-text-opacity));display:block;display:flex;font-size:.875rem;line-height:1.25rem;outline-color:#0ea5e9;padding:.5rem 1rem;text-align:left;width:100%}a.button:is(.dark *),button.button:is(.dark *){--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity));outline-color:#075985}a.button>svg,button.button>svg{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity));height:1rem;width:1rem}a.button>svg:is(.dark *),button.button>svg:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}a.button>svg.spin,button.button>svg.spin{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}a.button:hover,button.button:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}a.button:hover:is(.dark *),button.button:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity))}.select{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity));border-radius:.25rem;color:rgb(63 63 70/var(--tw-text-opacity));font-weight:400;margin-bottom:-.125rem;margin-top:-.125rem;outline:2px solid transparent;outline-offset:2px;padding:.125rem .25rem}.select:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity));color:rgb(212 212 216/var(--tw-text-opacity))}.select:hover{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity))}.select:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.select:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.select:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(3 105 161/var(--tw-ring-opacity))}.keyboard-shortcut{--tw-text-opacity:1;align-items:center;color:rgb(82 82 91/var(--tw-text-opacity));display:flex;font-size:.875rem;justify-content:flex-start;line-height:1.25rem;margin-bottom:.75rem;width:100%}.keyboard-shortcut:is(.dark *){--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity))}.keyboard-shortcut .shortcut{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(244 244 245/var(--tw-ring-opacity));align-items:center;border-color:rgb(161 161 170/var(--tw-border-opacity));border-radius:.25rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:inline-flex;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1rem;height:1.5rem;justify-content:center;line-height:1.5rem;margin-right:.5rem;width:1.5rem}.keyboard-shortcut .shortcut:is(.dark *){--tw-border-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(24 24 27/var(--tw-ring-opacity));border-color:rgb(113 113 122/var(--tw-border-opacity));color:rgb(212 212 216/var(--tw-text-opacity))}.hover\:border-brand-600:hover{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.hover\:text-brand-800:hover{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity))}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.focus\:border-brand-500:focus{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-brand-500:focus{outline-color:#0ea5e9}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-brand-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.group:hover .group-hover\:inline-block{display:inline-block}.group:hover .group-hover\:hidden{display:none}.group:hover .group-hover\:border-brand-600{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group:hover .group-hover\:opacity-100{opacity:1}.group:focus .group-focus\:inline-block{display:inline-block}.group:focus .group-focus\:hidden{display:none}.dark\:border-brand-400:is(.dark *){--tw-border-opacity:1;border-color:rgb(56 189 248/var(--tw-border-opacity))}.dark\:border-brand-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity))}.dark\:border-gray-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity))}.dark\:border-yellow-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.dark\:bg-yellow-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity))}.dark\:bg-opacity-40:is(.dark *){--tw-bg-opacity:0.4}.dark\:from-gray-900:is(.dark *){--tw-gradient-from:#18181b var(--tw-gradient-from-position);--tw-gradient-to:rgba(24,24,27,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:text-blue-500:is(.dark *){--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.dark\:text-brand-500:is(.dark *){--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}.dark\:text-brand-600:is(.dark *){--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.dark\:text-green-500:is(.dark *){--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}.dark\:opacity-90:is(.dark *){opacity:.9}.dark\:outline-brand-800:is(.dark *){outline-color:#075985}.dark\:hover\:border-brand-700:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(3 105 161/var(--tw-border-opacity))}.dark\:hover\:border-gray-400:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.hover\:dark\:border-brand-800:is(.dark *):hover{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity))}.dark\:hover\:text-blue-400:hover:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity))}.dark\:hover\:text-brand-600:hover:is(.dark *){--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity))}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity))}.dark\:hover\:text-gray-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity))}.dark\:focus\:ring-brand-300:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(125 211 252/var(--tw-ring-opacity))}.dark\:focus\:ring-brand-700:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(3 105 161/var(--tw-ring-opacity))}.group:hover .group-hover\:dark\:border-brand-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity))}@media (min-width:640px){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-col-reverse{flex-direction:column-reverse}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:duration-300{transition-duration:.3s}}@media (min-width:768px){.md\:fixed{position:fixed}.md\:inset-y-0{bottom:0;top:0}.md\:left-0{left:0}.md\:left-auto{left:auto}.md\:right-auto{right:auto}.md\:mx-0{margin-left:0;margin-right:0}.md\:mx-3{margin-left:.75rem;margin-right:.75rem}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-88{width:22rem}.md\:flex-col{flex-direction:column}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:pb-12{padding-bottom:3rem}.md\:pl-88{padding-left:22rem}.md\:opacity-75{opacity:.75}}@media (min-width:1024px){.lg\:absolute{position:absolute}.lg\:left-0{left:0}.lg\:right-0{right:0}.lg\:right-6{right:1.5rem}.lg\:top-2{top:.5rem}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:mx-8{margin-left:2rem;margin-right:2rem}.lg\:mb-0{margin-bottom:0}.lg\:mt-0{margin-top:0}.lg\:block{display:block}.lg\:inline{display:inline}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-auto{width:auto}.lg\:flex-row{flex-direction:row}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-2{padding-left:.5rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:1280px){.xl\:inline{display:inline}} diff --git a/public/vendor/log-viewer/app.js b/public/vendor/log-viewer/app.js new file mode 100644 index 0000000..eb8868e --- /dev/null +++ b/public/vendor/log-viewer/app.js @@ -0,0 +1,2 @@ +/*! For license information please see app.js.LICENSE.txt */ +(()=>{var e,t={411:(e,t,n)=>{"use strict";var r={};n.r(r),n.d(r,{BaseTransition:()=>ar,BaseTransitionPropsValidators:()=>ir,Comment:()=>us,DeprecationTypes:()=>Sa,EffectScope:()=>be,ErrorCodes:()=>wn,ErrorTypeStrings:()=>ya,Fragment:()=>as,KeepAlive:()=>wr,ReactiveEffect:()=>Se,Static:()=>cs,Suspense:()=>ts,Teleport:()=>ui,Text:()=>ls,TrackOpTypes:()=>dn,Transition:()=>Pa,TransitionGroup:()=>Ol,TriggerOpTypes:()=>pn,VueElement:()=>bl,assertNumber:()=>bn,callWithAsyncErrorHandling:()=>xn,callWithErrorHandling:()=>_n,camelize:()=>j,capitalize:()=>F,cloneVNode:()=>Ls,compatUtils:()=>xa,computed:()=>fa,createApp:()=>ru,createBlock:()=>ws,createCommentVNode:()=>Is,createElementBlock:()=>bs,createElementVNode:()=>Os,createHydrationRenderer:()=>xi,createPropsRestProxy:()=>yo,createRenderer:()=>_i,createSSRApp:()=>ou,createSlots:()=>Yr,createStaticVNode:()=>Rs,createTextVNode:()=>Ps,createVNode:()=>Es,customRef:()=>sn,defineAsyncComponent:()=>gr,defineComponent:()=>hr,defineCustomElement:()=>gl,defineEmits:()=>io,defineExpose:()=>so,defineModel:()=>uo,defineOptions:()=>ao,defineProps:()=>oo,defineSSRCustomElement:()=>ml,defineSlots:()=>lo,devtools:()=>ba,effect:()=>Ae,effectScope:()=>we,getCurrentInstance:()=>$s,getCurrentScope:()=>_e,getTransitionRawChildren:()=>pr,guardReactiveProps:()=>As,h:()=>da,handleError:()=>Sn,hasInjectionContext:()=>Do,hydrate:()=>nu,initCustomFormatter:()=>pa,initDirectivesForSSR:()=>lu,inject:()=>Fo,isMemoSame:()=>va,isProxy:()=>Bt,isReactive:()=>Mt,isReadonly:()=>Ft,isRef:()=>Kt,isRuntimeOnly:()=>ta,isShallow:()=>Dt,isVNode:()=>Cs,markRaw:()=>Vt,mergeDefaults:()=>go,mergeModels:()=>mo,mergeProps:()=>Fs,nextTick:()=>jn,normalizeClass:()=>X,normalizeProps:()=>ee,normalizeStyle:()=>K,onActivated:()=>_r,onBeforeMount:()=>Lr,onBeforeUnmount:()=>jr,onBeforeUpdate:()=>Rr,onDeactivated:()=>xr,onErrorCaptured:()=>Br,onMounted:()=>Pr,onRenderTracked:()=>Dr,onRenderTriggered:()=>Fr,onScopeDispose:()=>xe,onServerPrefetch:()=>Mr,onUnmounted:()=>Nr,onUpdated:()=>Ir,openBlock:()=>ps,popScopeId:()=>Gn,provide:()=>Mo,proxyRefs:()=>rn,pushScopeId:()=>Yn,queuePostFlushCb:()=>Fn,reactive:()=>Pt,readonly:()=>It,ref:()=>Yt,registerRuntimeCompiler:()=>ea,render:()=>tu,renderList:()=>Kr,renderSlot:()=>Gr,resolveComponent:()=>Hr,resolveDirective:()=>zr,resolveDynamicComponent:()=>qr,resolveFilter:()=>_a,resolveTransitionHooks:()=>ur,setBlockTracking:()=>ms,setDevtoolsHook:()=>wa,setTransitionHooks:()=>dr,shallowReactive:()=>Rt,shallowReadonly:()=>jt,shallowRef:()=>Gt,ssrContextKey:()=>Pi,ssrUtils:()=>Ca,stop:()=>Le,toDisplayString:()=>he,toHandlerKey:()=>D,toHandlers:()=>Qr,toRaw:()=>Ut,toRef:()=>cn,toRefs:()=>an,toValue:()=>tn,transformVNodeArgs:()=>xs,triggerRef:()=>Xt,unref:()=>en,useAttrs:()=>po,useCssModule:()=>wl,useCssVars:()=>Qa,useModel:()=>Hi,useSSRContext:()=>Ri,useSlots:()=>fo,useTransitionState:()=>rr,vModelCheckbox:()=>Nl,vModelDynamic:()=>Hl,vModelRadio:()=>Fl,vModelSelect:()=>Dl,vModelText:()=>jl,vShow:()=>Ya,version:()=>ga,warn:()=>ma,watch:()=>Fi,watchEffect:()=>Ii,watchPostEffect:()=>ji,watchSyncEffect:()=>Ni,withAsyncContext:()=>bo,withCtx:()=>Qn,withDefaults:()=>co,withDirectives:()=>Xn,withKeys:()=>Yl,withMemo:()=>ha,withModifiers:()=>Zl,withScopeId:()=>Jn});var o={};function i(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}n.r(o),n.d(o,{hasBrowserEnv:()=>Vh,hasStandardBrowserEnv:()=>Hh,hasStandardBrowserWebWorkerEnv:()=>qh,origin:()=>zh});const s={},a=[],l=()=>{},u=()=>!1,c=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),f=e=>e.startsWith("onUpdate:"),d=Object.assign,p=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},h=Object.prototype.hasOwnProperty,v=(e,t)=>h.call(e,t),g=Array.isArray,m=e=>"[object Map]"===O(e),y=e=>"[object Set]"===O(e),b=e=>"[object Date]"===O(e),w=e=>"function"==typeof e,C=e=>"string"==typeof e,_=e=>"symbol"==typeof e,x=e=>null!==e&&"object"==typeof e,S=e=>(x(e)||w(e))&&w(e.then)&&w(e.catch),k=Object.prototype.toString,O=e=>k.call(e),E=e=>O(e).slice(8,-1),T=e=>"[object Object]"===O(e),A=e=>C(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,L=i(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),P=i("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),R=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},I=/-(\w)/g,j=R((e=>e.replace(I,((e,t)=>t?t.toUpperCase():"")))),N=/\B([A-Z])/g,M=R((e=>e.replace(N,"-$1").toLowerCase())),F=R((e=>e.charAt(0).toUpperCase()+e.slice(1))),D=R((e=>e?`on${F(e)}`:"")),B=(e,t)=>!Object.is(e,t),U=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},H=e=>{const t=parseFloat(e);return isNaN(t)?e:t},$=e=>{const t=C(e)?Number(e):NaN;return isNaN(t)?e:t};let q;const z=()=>q||(q="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==n.g?n.g:{});const W={1:"TEXT",2:"CLASS",4:"STYLE",8:"PROPS",16:"FULL_PROPS",32:"NEED_HYDRATION",64:"STABLE_FRAGMENT",128:"KEYED_FRAGMENT",256:"UNKEYED_FRAGMENT",512:"NEED_PATCH",1024:"DYNAMIC_SLOTS",2048:"DEV_ROOT_FRAGMENT",[-1]:"HOISTED",[-2]:"BAIL"},Z=i("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error");function K(e){if(g(e)){const t={};for(let n=0;n{if(e){const n=e.split(G);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function X(e){let t="";if(C(e))t=e;else if(g(e))for(let n=0;nfe(e,t)))}const pe=e=>!(!e||!0!==e.__v_isRef),he=e=>C(e)?e:null==e?"":g(e)||x(e)&&(e.toString===k||!w(e.toString))?pe(e)?he(e.value):JSON.stringify(e,ve,2):String(e),ve=(e,t)=>pe(t)?ve(e,t.value):m(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n],r)=>(e[ge(t,r)+" =>"]=n,e)),{})}:y(t)?{[`Set(${t.size})`]:[...t.values()].map((e=>ge(e)))}:_(t)?ge(t):!x(t)||g(t)||T(t)?t:String(t),ge=(e,t="")=>{var n;return _(e)?`Symbol(${null!=(n=e.description)?n:t})`:e};let me,ye;class be{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=me,!e&&me&&(this.index=(me.scopes||(me.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=me;try{return me=this,e()}finally{me=t}}else 0}on(){me=this}off(){me=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t=4))break}1===this._dirtyLevel&&(this._dirtyLevel=0),Ne()}return this._dirtyLevel>=4}set dirty(e){this._dirtyLevel=e?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=Pe,t=ye;try{return Pe=!0,ye=this,this._runnings++,Oe(this),this.fn()}finally{Ee(this),this._runnings--,ye=t,Pe=e}}stop(){this.active&&(Oe(this),Ee(this),this.onStop&&this.onStop(),this.active=!1)}}function ke(e){return e.value}function Oe(e){e._trackId++,e._depsLength=0}function Ee(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{n.dirty&&n.run()}));t&&(d(n,t),t.scope&&Ce(n,t.scope)),t&&t.lazy||n.run();const r=n.run.bind(n);return r.effect=n,r}function Le(e){e.effect.stop()}let Pe=!0,Re=0;const Ie=[];function je(){Ie.push(Pe),Pe=!1}function Ne(){const e=Ie.pop();Pe=void 0===e||e}function Me(){Re++}function Fe(){for(Re--;!Re&&Be.length;)Be.shift()()}function De(e,t,n){if(t.get(e)!==e._trackId){t.set(e,e._trackId);const n=e.deps[e._depsLength];n!==t?(n&&Te(n,e),e.deps[e._depsLength++]=t):e._depsLength++}}const Be=[];function Ue(e,t,n){Me();for(const n of e.keys()){let r;n._dirtyLevel{const n=new Map;return n.cleanup=e,n.computed=t,n},He=new WeakMap,$e=Symbol(""),qe=Symbol("");function ze(e,t,n){if(Pe&&ye){let t=He.get(e);t||He.set(e,t=new Map);let r=t.get(n);r||t.set(n,r=Ve((()=>t.delete(n)))),De(ye,r)}}function We(e,t,n,r,o,i){const s=He.get(e);if(!s)return;let a=[];if("clear"===t)a=[...s.values()];else if("length"===n&&g(e)){const e=Number(r);s.forEach(((t,n)=>{("length"===n||!_(n)&&n>=e)&&a.push(t)}))}else switch(void 0!==n&&a.push(s.get(n)),t){case"add":g(e)?A(n)&&a.push(s.get("length")):(a.push(s.get($e)),m(e)&&a.push(s.get(qe)));break;case"delete":g(e)||(a.push(s.get($e)),m(e)&&a.push(s.get(qe)));break;case"set":m(e)&&a.push(s.get($e))}Me();for(const e of a)e&&Ue(e,4);Fe()}const Ze=i("__proto__,__v_isRef,__isVue"),Ke=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(_)),Ye=Ge();function Ge(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=Ut(this);for(let e=0,t=this.length;e{e[t]=function(...e){je(),Me();const n=Ut(this)[t].apply(this,e);return Fe(),Ne(),n}})),e}function Je(e){_(e)||(e=String(e));const t=Ut(this);return ze(t,0,e),t.hasOwnProperty(e)}class Qe{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){const r=this._isReadonly,o=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return o;if("__v_raw"===t)return n===(r?o?Lt:At:o?Tt:Et).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const i=g(e);if(!r){if(i&&v(Ye,t))return Reflect.get(Ye,t,n);if("hasOwnProperty"===t)return Je}const s=Reflect.get(e,t,n);return(_(t)?Ke.has(t):Ze(t))?s:(r||ze(e,0,t),o?s:Kt(s)?i&&A(t)?s:s.value:x(s)?r?It(s):Pt(s):s)}}class Xe extends Qe{constructor(e=!1){super(!1,e)}set(e,t,n,r){let o=e[t];if(!this._isShallow){const t=Ft(o);if(Dt(n)||Ft(n)||(o=Ut(o),n=Ut(n)),!g(e)&&Kt(o)&&!Kt(n))return!t&&(o.value=n,!0)}const i=g(e)&&A(t)?Number(t)e,st=e=>Reflect.getPrototypeOf(e);function at(e,t,n=!1,r=!1){const o=Ut(e=e.__v_raw),i=Ut(t);n||(B(t,i)&&ze(o,0,t),ze(o,0,i));const{has:s}=st(o),a=r?it:n?$t:Ht;return s.call(o,t)?a(e.get(t)):s.call(o,i)?a(e.get(i)):void(e!==o&&e.get(t))}function lt(e,t=!1){const n=this.__v_raw,r=Ut(n),o=Ut(e);return t||(B(e,o)&&ze(r,0,e),ze(r,0,o)),e===o?n.has(e):n.has(e)||n.has(o)}function ut(e,t=!1){return e=e.__v_raw,!t&&ze(Ut(e),0,$e),Reflect.get(e,"size",e)}function ct(e,t=!1){t||Dt(e)||Ft(e)||(e=Ut(e));const n=Ut(this);return st(n).has.call(n,e)||(n.add(e),We(n,"add",e,e)),this}function ft(e,t,n=!1){n||Dt(t)||Ft(t)||(t=Ut(t));const r=Ut(this),{has:o,get:i}=st(r);let s=o.call(r,e);s||(e=Ut(e),s=o.call(r,e));const a=i.call(r,e);return r.set(e,t),s?B(t,a)&&We(r,"set",e,t):We(r,"add",e,t),this}function dt(e){const t=Ut(this),{has:n,get:r}=st(t);let o=n.call(t,e);o||(e=Ut(e),o=n.call(t,e));r&&r.call(t,e);const i=t.delete(e);return o&&We(t,"delete",e,void 0),i}function pt(){const e=Ut(this),t=0!==e.size,n=e.clear();return t&&We(e,"clear",void 0,void 0),n}function ht(e,t){return function(n,r){const o=this,i=o.__v_raw,s=Ut(i),a=t?it:e?$t:Ht;return!e&&ze(s,0,$e),i.forEach(((e,t)=>n.call(r,a(e),a(t),o)))}}function vt(e,t,n){return function(...r){const o=this.__v_raw,i=Ut(o),s=m(i),a="entries"===e||e===Symbol.iterator&&s,l="keys"===e&&s,u=o[e](...r),c=n?it:t?$t:Ht;return!t&&ze(i,0,l?qe:$e),{next(){const{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:a?[c(e[0]),c(e[1])]:c(e),done:t}},[Symbol.iterator](){return this}}}}function gt(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function mt(){const e={get(e){return at(this,e)},get size(){return ut(this)},has:lt,add:ct,set:ft,delete:dt,clear:pt,forEach:ht(!1,!1)},t={get(e){return at(this,e,!1,!0)},get size(){return ut(this)},has:lt,add(e){return ct.call(this,e,!0)},set(e,t){return ft.call(this,e,t,!0)},delete:dt,clear:pt,forEach:ht(!1,!0)},n={get(e){return at(this,e,!0)},get size(){return ut(this,!0)},has(e){return lt.call(this,e,!0)},add:gt("add"),set:gt("set"),delete:gt("delete"),clear:gt("clear"),forEach:ht(!0,!1)},r={get(e){return at(this,e,!0,!0)},get size(){return ut(this,!0)},has(e){return lt.call(this,e,!0)},add:gt("add"),set:gt("set"),delete:gt("delete"),clear:gt("clear"),forEach:ht(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((o=>{e[o]=vt(o,!1,!1),n[o]=vt(o,!0,!1),t[o]=vt(o,!1,!0),r[o]=vt(o,!0,!0)})),[e,n,t,r]}const[yt,bt,wt,Ct]=mt();function _t(e,t){const n=t?e?Ct:wt:e?bt:yt;return(t,r,o)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get(v(n,r)&&r in t?n:t,r,o)}const xt={get:_t(!1,!1)},St={get:_t(!1,!0)},kt={get:_t(!0,!1)},Ot={get:_t(!0,!0)};const Et=new WeakMap,Tt=new WeakMap,At=new WeakMap,Lt=new WeakMap;function Pt(e){return Ft(e)?e:Nt(e,!1,tt,xt,Et)}function Rt(e){return Nt(e,!1,rt,St,Tt)}function It(e){return Nt(e,!0,nt,kt,At)}function jt(e){return Nt(e,!0,ot,Ot,Lt)}function Nt(e,t,n,r,o){if(!x(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const i=o.get(e);if(i)return i;const s=function(e){return e.__v_skip||!Object.isExtensible(e)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(E(e))}(e);if(0===s)return e;const a=new Proxy(e,2===s?r:n);return o.set(e,a),a}function Mt(e){return Ft(e)?Mt(e.__v_raw):!(!e||!e.__v_isReactive)}function Ft(e){return!(!e||!e.__v_isReadonly)}function Dt(e){return!(!e||!e.__v_isShallow)}function Bt(e){return!!e&&!!e.__v_raw}function Ut(e){const t=e&&e.__v_raw;return t?Ut(t):e}function Vt(e){return Object.isExtensible(e)&&V(e,"__v_skip",!0),e}const Ht=e=>x(e)?Pt(e):e,$t=e=>x(e)?It(e):e;class qt{constructor(e,t,n,r){this.getter=e,this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Se((()=>e(this._value)),(()=>Zt(this,2===this.effect._dirtyLevel?2:3))),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=n}get value(){const e=Ut(this);return e._cacheable&&!e.effect.dirty||!B(e._value,e._value=e.effect.run())||Zt(e,4),Wt(e),e.effect._dirtyLevel>=2&&Zt(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function zt(e,t,n=!1){let r,o;const i=w(e);i?(r=e,o=l):(r=e.get,o=e.set);return new qt(r,o,i||!o,n)}function Wt(e){var t;Pe&&ye&&(e=Ut(e),De(ye,null!=(t=e.dep)?t:e.dep=Ve((()=>e.dep=void 0),e instanceof qt?e:void 0)))}function Zt(e,t=4,n,r){const o=(e=Ut(e)).dep;o&&Ue(o,t)}function Kt(e){return!(!e||!0!==e.__v_isRef)}function Yt(e){return Jt(e,!1)}function Gt(e){return Jt(e,!0)}function Jt(e,t){return Kt(e)?e:new Qt(e,t)}class Qt{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:Ut(e),this._value=t?e:Ht(e)}get value(){return Wt(this),this._value}set value(e){const t=this.__v_isShallow||Dt(e)||Ft(e);if(e=t?e:Ut(e),B(e,this._rawValue)){this._rawValue;this._rawValue=e,this._value=t?e:Ht(e),Zt(this,4)}}}function Xt(e){Zt(e,4)}function en(e){return Kt(e)?e.value:e}function tn(e){return w(e)?e():en(e)}const nn={get:(e,t,n)=>en(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Kt(o)&&!Kt(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function rn(e){return Mt(e)?e:new Proxy(e,nn)}class on{constructor(e){this.dep=void 0,this.__v_isRef=!0;const{get:t,set:n}=e((()=>Wt(this)),(()=>Zt(this)));this._get=t,this._set=n}get value(){return this._get()}set value(e){this._set(e)}}function sn(e){return new on(e)}function an(e){const t=g(e)?new Array(e.length):{};for(const n in e)t[n]=fn(e,n);return t}class ln{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return function(e,t){const n=He.get(e);return n&&n.get(t)}(Ut(this._object),this._key)}}class un{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function cn(e,t,n){return Kt(e)?e:w(e)?new un(e):x(e)&&arguments.length>1?fn(e,t,n):Yt(e)}function fn(e,t,n){const r=e[t];return Kt(r)?r:new ln(e,t,n)}const dn={GET:"get",HAS:"has",ITERATE:"iterate"},pn={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"},hn=[];let vn=!1;function gn(e,...t){if(vn)return;vn=!0,je();const n=hn.length?hn[hn.length-1].component:null,r=n&&n.appContext.config.warnHandler,o=function(){let e=hn[hn.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const r=e.component&&e.component.parent;e=r&&r.vnode}return t}();if(r)_n(r,n,11,[e+t.map((e=>{var t,n;return null!=(n=null==(t=e.toString)?void 0:t.call(e))?n:JSON.stringify(e)})).join(""),n&&n.proxy,o.map((({vnode:e})=>`at <${ua(n,e.type)}>`)).join("\n"),o]);else{const n=[`[Vue warn]: ${e}`,...t];o.length&&n.push("\n",...function(e){const t=[];return e.forEach(((e,n)=>{t.push(...0===n?[]:["\n"],...function({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",r=!!e.component&&null==e.component.parent,o=` at <${ua(e.component,e.type,r)}`,i=">"+n;return e.props?[o,...mn(e.props),i]:[o+i]}(e))})),t}(o))}Ne(),vn=!1}function mn(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach((n=>{t.push(...yn(n,e[n]))})),n.length>3&&t.push(" ..."),t}function yn(e,t,n){return C(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):"number"==typeof t||"boolean"==typeof t||null==t?n?t:[`${e}=${t}`]:Kt(t)?(t=yn(e,Ut(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):w(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ut(t),n?t:[`${e}=`,t])}function bn(e,t){}const wn={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",WATCH_GETTER:2,2:"WATCH_GETTER",WATCH_CALLBACK:3,3:"WATCH_CALLBACK",WATCH_CLEANUP:4,4:"WATCH_CLEANUP",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER",COMPONENT_UPDATE:15,15:"COMPONENT_UPDATE"},Cn={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update"};function _n(e,t,n,r){try{return r?e(...r):e()}catch(e){Sn(e,t,n)}}function xn(e,t,n,r){if(w(e)){const o=_n(e,t,n,r);return o&&S(o)&&o.catch((e=>{Sn(e,t,n)})),o}if(g(e)){const o=[];for(let i=0;i>>1,o=En[r],i=Un(o);iUn(e)-Un(t)));if(An.length=0,Ln)return void Ln.push(...e);for(Ln=e,Pn=0;Pnnull==e.id?1/0:e.id,Vn=(e,t)=>{const n=Un(e)-Un(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Hn(e){On=!1,kn=!0,En.sort(Vn);try{for(Tn=0;TnQn;function Qn(e,t=Wn,n){if(!t)return e;if(e._n)return e;const r=(...n)=>{r._d&&ms(-1);const o=Kn(t);let i;try{i=e(...n)}finally{Kn(o),r._d&&ms(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Xn(e,t){if(null===Wn)return e;const n=ia(Wn),r=e.dirs||(e.dirs=[]);for(let e=0;e{e.isMounted=!0})),jr((()=>{e.isUnmounting=!0})),e}const or=[Function,Array],ir={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:or,onEnter:or,onAfterEnter:or,onEnterCancelled:or,onBeforeLeave:or,onLeave:or,onAfterLeave:or,onLeaveCancelled:or,onBeforeAppear:or,onAppear:or,onAfterAppear:or,onAppearCancelled:or},sr=e=>{const t=e.subTree;return t.component?sr(t.component):t},ar={name:"BaseTransition",props:ir,setup(e,{slots:t}){const n=$s(),r=rr();return()=>{const o=t.default&&pr(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){let e=!1;for(const t of o)if(t.type!==us){0,i=t,e=!0;break}}const s=Ut(e),{mode:a}=s;if(r.isLeaving)return cr(i);const l=fr(i);if(!l)return cr(i);let u=ur(l,s,r,n,(e=>u=e));dr(l,u);const c=n.subTree,f=c&&fr(c);if(f&&f.type!==us&&!_s(l,f)&&sr(n).type!==us){const e=ur(f,s,r,n);if(dr(f,e),"out-in"===a&&l.type!==us)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,!1!==n.update.active&&(n.effect.dirty=!0,n.update())},cr(i);"in-out"===a&&l.type!==us&&(e.delayLeave=(e,t,n)=>{lr(r,f)[String(f.key)]=f,e[tr]=()=>{t(),e[tr]=void 0,delete u.delayedLeave},u.delayedLeave=n})}return i}}};function lr(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function ur(e,t,n,r,o){const{appear:i,mode:s,persisted:a=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:d,onLeave:p,onAfterLeave:h,onLeaveCancelled:v,onBeforeAppear:m,onAppear:y,onAfterAppear:b,onAppearCancelled:w}=t,C=String(e.key),_=lr(n,e),x=(e,t)=>{e&&xn(e,r,9,t)},S=(e,t)=>{const n=t[1];x(e,t),g(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},k={mode:s,persisted:a,beforeEnter(t){let r=l;if(!n.isMounted){if(!i)return;r=m||l}t[tr]&&t[tr](!0);const o=_[C];o&&_s(e,o)&&o.el[tr]&&o.el[tr](),x(r,[t])},enter(e){let t=u,r=c,o=f;if(!n.isMounted){if(!i)return;t=y||u,r=b||c,o=w||f}let s=!1;const a=e[nr]=t=>{s||(s=!0,x(t?o:r,[e]),k.delayedLeave&&k.delayedLeave(),e[nr]=void 0)};t?S(t,[e,a]):a()},leave(t,r){const o=String(e.key);if(t[nr]&&t[nr](!0),n.isUnmounting)return r();x(d,[t]);let i=!1;const s=t[tr]=n=>{i||(i=!0,r(),x(n?v:h,[t]),t[tr]=void 0,_[o]===e&&delete _[o])};_[o]=e,p?S(p,[t,s]):s()},clone(e){const i=ur(e,t,n,r,o);return o&&o(i),i}};return k}function cr(e){if(yr(e))return(e=Ls(e)).children=null,e}function fr(e){if(!yr(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(16&t)return n[0];if(32&t&&w(n.default))return n.default()}}function dr(e,t){6&e.shapeFlag&&e.component?dr(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function pr(e,t=!1,n){let r=[],o=0;for(let i=0;i1)for(let e=0;ed({name:e.name},t,{setup:e}))():e}const vr=e=>!!e.type.__asyncLoader;function gr(e){w(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:i,suspensible:s=!0,onError:a}=e;let l,u=null,c=0;const f=()=>{let e;return u||(e=u=t().catch((e=>{if(e=e instanceof Error?e:new Error(String(e)),a)return new Promise(((t,n)=>{a(e,(()=>t((c++,u=null,f()))),(()=>n(e)),c+1)}));throw e})).then((t=>e!==u&&u?u:(t&&(t.__esModule||"Module"===t[Symbol.toStringTag])&&(t=t.default),l=t,t))))};return hr({name:"AsyncComponentWrapper",__asyncLoader:f,get __asyncResolved(){return l},setup(){const e=Hs;if(l)return()=>mr(l,e);const t=t=>{u=null,Sn(t,e,13,!r)};if(s&&e.suspense||Js)return f().then((t=>()=>mr(t,e))).catch((e=>(t(e),()=>r?Es(r,{error:e}):null)));const a=Yt(!1),c=Yt(),d=Yt(!!o);return o&&setTimeout((()=>{d.value=!1}),o),null!=i&&setTimeout((()=>{if(!a.value&&!c.value){const e=new Error(`Async component timed out after ${i}ms.`);t(e),c.value=e}}),i),f().then((()=>{a.value=!0,e.parent&&yr(e.parent.vnode)&&(e.parent.effect.dirty=!0,Nn(e.parent.update))})).catch((e=>{t(e),c.value=e})),()=>a.value&&l?mr(l,e):c.value&&r?Es(r,{error:c.value}):n&&!d.value?Es(n):void 0}})}function mr(e,t){const{ref:n,props:r,children:o,ce:i}=t.vnode,s=Es(e,r,o);return s.ref=n,s.ce=i,delete t.vnode.ce,s}const yr=e=>e.type.__isKeepAlive,br={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=$s(),r=n.ctx;if(!r.renderer)return()=>{const e=t.default&&t.default();return e&&1===e.length?e[0]:e};const o=new Map,i=new Set;let s=null;const a=n.suspense,{renderer:{p:l,m:u,um:c,o:{createElement:f}}}=r,d=f("div");function p(e){Or(e),c(e,n,a,!0)}function h(e){o.forEach(((t,n)=>{const r=la(t.type);!r||e&&e(r)||v(n)}))}function v(e){const t=o.get(e);!t||s&&_s(t,s)?s&&Or(s):p(t),o.delete(e),i.delete(e)}r.activate=(e,t,n,r,o)=>{const i=e.component;u(e,t,n,0,a),l(i.vnode,e,t,n,i,a,r,e.slotScopeIds,o),Ci((()=>{i.isDeactivated=!1,i.a&&U(i.a);const t=e.props&&e.props.onVnodeMounted;t&&Ds(t,i.parent,e)}),a)},r.deactivate=e=>{const t=e.component;Li(t.m),Li(t.a),u(e,d,null,1,a),Ci((()=>{t.da&&U(t.da);const n=e.props&&e.props.onVnodeUnmounted;n&&Ds(n,t.parent,e),t.isDeactivated=!0}),a)},Fi((()=>[e.include,e.exclude]),(([e,t])=>{e&&h((t=>Cr(e,t))),t&&h((e=>!Cr(t,e)))}),{flush:"post",deep:!0});let g=null;const m=()=>{null!=g&&(Xi(n.subTree.type)?Ci((()=>{o.set(g,Er(n.subTree))}),n.subTree.suspense):o.set(g,Er(n.subTree)))};return Pr(m),Ir(m),jr((()=>{o.forEach((e=>{const{subTree:t,suspense:r}=n,o=Er(t);if(e.type!==o.type||e.key!==o.key)p(e);else{Or(o);const e=o.component.da;e&&Ci(e,r)}}))})),()=>{if(g=null,!t.default)return null;const n=t.default(),r=n[0];if(n.length>1)return s=null,n;if(!(Cs(r)&&(4&r.shapeFlag||128&r.shapeFlag)))return s=null,r;let a=Er(r);if(a.type===us)return s=null,a;const l=a.type,u=la(vr(a)?a.type.__asyncResolved||{}:l),{include:c,exclude:f,max:d}=e;if(c&&(!u||!Cr(c,u))||f&&u&&Cr(f,u))return s=a,r;const p=null==a.key?l:a.key,h=o.get(p);return a.el&&(a=Ls(a),128&r.shapeFlag&&(r.ssContent=a)),g=p,h?(a.el=h.el,a.component=h.component,a.transition&&dr(a,a.transition),a.shapeFlag|=512,i.delete(p),i.add(p)):(i.add(p),d&&i.size>parseInt(d,10)&&v(i.values().next().value)),a.shapeFlag|=256,s=a,Xi(r.type)?r:a}}},wr=br;function Cr(e,t){return g(e)?e.some((e=>Cr(e,t))):C(e)?e.split(",").includes(t):"[object RegExp]"===O(e)&&e.test(t)}function _r(e,t){Sr(e,"a",t)}function xr(e,t){Sr(e,"da",t)}function Sr(e,t,n=Hs){const r=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(Tr(t,r,n),n){let e=n.parent;for(;e&&e.parent;)yr(e.parent.vnode)&&kr(r,t,n,e),e=e.parent}}function kr(e,t,n,r){const o=Tr(t,e,r,!0);Nr((()=>{p(r[t],o)}),n)}function Or(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Er(e){return 128&e.shapeFlag?e.ssContent:e}function Tr(e,t,n=Hs,r=!1){if(n){const o=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...r)=>{je();const o=Ws(n),i=xn(t,n,e,r);return o(),Ne(),i});return r?o.unshift(i):o.push(i),i}}const Ar=e=>(t,n=Hs)=>{Js&&"sp"!==e||Tr(e,((...e)=>t(...e)),n)},Lr=Ar("bm"),Pr=Ar("m"),Rr=Ar("bu"),Ir=Ar("u"),jr=Ar("bum"),Nr=Ar("um"),Mr=Ar("sp"),Fr=Ar("rtg"),Dr=Ar("rtc");function Br(e,t=Hs){Tr("ec",e,t)}const Ur="components",Vr="directives";function Hr(e,t){return Wr(Ur,e,!0,t)||e}const $r=Symbol.for("v-ndc");function qr(e){return C(e)?Wr(Ur,e,!1)||e:e||$r}function zr(e){return Wr(Vr,e)}function Wr(e,t,n=!0,r=!1){const o=Wn||Hs;if(o){const n=o.type;if(e===Ur){const e=la(n,!1);if(e&&(e===t||e===j(t)||e===F(j(t))))return n}const i=Zr(o[e]||n[e],t)||Zr(o.appContext[e],t);return!i&&r?n:i}}function Zr(e,t){return e&&(e[t]||e[j(t)]||e[F(j(t))])}function Kr(e,t,n,r){let o;const i=n&&n[r];if(g(e)||C(e)){o=new Array(e.length);for(let n=0,r=e.length;nt(e,n,void 0,i&&i[n])));else{const n=Object.keys(e);o=new Array(n.length);for(let r=0,s=n.length;r{const t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function Gr(e,t,n={},r,o){if(Wn.isCE||Wn.parent&&vr(Wn.parent)&&Wn.parent.isCE)return"default"!==t&&(n.name=t),Es("slot",n,r&&r());let i=e[t];i&&i._c&&(i._d=!1),ps();const s=i&&Jr(i(n)),a=ws(as,{key:(n.key||s&&s.key||`_${t}`)+(!s&&r?"_fb":"")},s||(r?r():[]),s&&1===e._?64:-2);return!o&&a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),i&&i._c&&(i._d=!0),a}function Jr(e){return e.some((e=>!Cs(e)||e.type!==us&&!(e.type===as&&!Jr(e.children))))?e:null}function Qr(e,t){const n={};for(const r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:D(r)]=e[r];return n}const Xr=e=>e?Ks(e)?ia(e):Xr(e.parent):null,eo=d(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Xr(e.parent),$root:e=>Xr(e.root),$emit:e=>e.emit,$options:e=>So(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Nn(e.update)}),$nextTick:e=>e.n||(e.n=jn.bind(e.proxy)),$watch:e=>Bi.bind(e)}),to=(e,t)=>e!==s&&!e.__isScriptSetup&&v(e,t),no={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:n,setupState:r,data:o,props:i,accessCache:a,type:l,appContext:u}=e;let c;if("$"!==t[0]){const l=a[t];if(void 0!==l)switch(l){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return i[t]}else{if(to(r,t))return a[t]=1,r[t];if(o!==s&&v(o,t))return a[t]=2,o[t];if((c=e.propsOptions[0])&&v(c,t))return a[t]=3,i[t];if(n!==s&&v(n,t))return a[t]=4,n[t];wo&&(a[t]=0)}}const f=eo[t];let d,p;return f?("$attrs"===t&&ze(e.attrs,0,""),f(e)):(d=l.__cssModules)&&(d=d[t])?d:n!==s&&v(n,t)?(a[t]=4,n[t]):(p=u.config.globalProperties,v(p,t)?p[t]:void 0)},set({_:e},t,n){const{data:r,setupState:o,ctx:i}=e;return to(o,t)?(o[t]=n,!0):r!==s&&v(r,t)?(r[t]=n,!0):!v(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(i[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:i}},a){let l;return!!n[a]||e!==s&&v(e,a)||to(t,a)||(l=i[0])&&v(l,a)||v(r,a)||v(eo,a)||v(o.config.globalProperties,a)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:v(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};const ro=d({},no,{get(e,t){if(t!==Symbol.unscopables)return no.get(e,t,e)},has:(e,t)=>"_"!==t[0]&&!Z(t)});function oo(){return null}function io(){return null}function so(e){0}function ao(e){0}function lo(){return null}function uo(){0}function co(e,t){return null}function fo(){return ho().slots}function po(){return ho().attrs}function ho(){const e=$s();return e.setupContext||(e.setupContext=oa(e))}function vo(e){return g(e)?e.reduce(((e,t)=>(e[t]=null,e)),{}):e}function go(e,t){const n=vo(e);for(const e in t){if(e.startsWith("__skip"))continue;let r=n[e];r?g(r)||w(r)?r=n[e]={type:r,default:t[e]}:r.default=t[e]:null===r&&(r=n[e]={default:t[e]}),r&&t[`__skip_${e}`]&&(r.skipFactory=!0)}return n}function mo(e,t){return e&&t?g(e)&&g(t)?e.concat(t):d({},vo(e),vo(t)):e||t}function yo(e,t){const n={};for(const r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n}function bo(e){const t=$s();let n=e();return Zs(),S(n)&&(n=n.catch((e=>{throw Ws(t),e}))),[n,()=>Ws(t)]}let wo=!0;function Co(e){const t=So(e),n=e.proxy,r=e.ctx;wo=!1,t.beforeCreate&&_o(t.beforeCreate,e,"bc");const{data:o,computed:i,methods:s,watch:a,provide:u,inject:c,created:f,beforeMount:d,mounted:p,beforeUpdate:h,updated:v,activated:m,deactivated:y,beforeDestroy:b,beforeUnmount:C,destroyed:_,unmounted:S,render:k,renderTracked:O,renderTriggered:E,errorCaptured:T,serverPrefetch:A,expose:L,inheritAttrs:P,components:R,directives:I,filters:j}=t;if(c&&function(e,t){g(e)&&(e=To(e));for(const n in e){const r=e[n];let o;o=x(r)?"default"in r?Fo(r.from||n,r.default,!0):Fo(r.from||n):Fo(r),Kt(o)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>o.value,set:e=>o.value=e}):t[n]=o}}(c,r,null),s)for(const e in s){const t=s[e];w(t)&&(r[e]=t.bind(n))}if(o){0;const t=o.call(n,n);0,x(t)&&(e.data=Pt(t))}if(wo=!0,i)for(const e in i){const t=i[e],o=w(t)?t.bind(n,n):w(t.get)?t.get.bind(n,n):l;0;const s=!w(t)&&w(t.set)?t.set.bind(n):l,a=fa({get:o,set:s});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(a)for(const e in a)xo(a[e],r,n,e);if(u){const e=w(u)?u.call(n):u;Reflect.ownKeys(e).forEach((t=>{Mo(t,e[t])}))}function N(e,t){g(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(f&&_o(f,e,"c"),N(Lr,d),N(Pr,p),N(Rr,h),N(Ir,v),N(_r,m),N(xr,y),N(Br,T),N(Dr,O),N(Fr,E),N(jr,C),N(Nr,S),N(Mr,A),g(L))if(L.length){const t=e.exposed||(e.exposed={});L.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});k&&e.render===l&&(e.render=k),null!=P&&(e.inheritAttrs=P),R&&(e.components=R),I&&(e.directives=I)}function _o(e,t,n){xn(g(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function xo(e,t,n,r){const o=r.includes(".")?Ui(n,r):()=>n[r];if(C(e)){const n=t[e];w(n)&&Fi(o,n)}else if(w(e))Fi(o,e.bind(n));else if(x(e))if(g(e))e.forEach((e=>xo(e,t,n,r)));else{const r=w(e.handler)?e.handler.bind(n):t[e.handler];w(r)&&Fi(o,r,e)}else 0}function So(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:s}}=e.appContext,a=i.get(t);let l;return a?l=a:o.length||n||r?(l={},o.length&&o.forEach((e=>ko(l,e,s,!0))),ko(l,t,s)):l=t,x(t)&&i.set(t,l),l}function ko(e,t,n,r=!1){const{mixins:o,extends:i}=t;i&&ko(e,i,n,!0),o&&o.forEach((t=>ko(e,t,n,!0)));for(const o in t)if(r&&"expose"===o);else{const r=Oo[o]||n&&n[o];e[o]=r?r(e[o],t[o]):t[o]}return e}const Oo={data:Eo,props:Po,emits:Po,methods:Lo,computed:Lo,beforeCreate:Ao,created:Ao,beforeMount:Ao,mounted:Ao,beforeUpdate:Ao,updated:Ao,beforeDestroy:Ao,beforeUnmount:Ao,destroyed:Ao,unmounted:Ao,activated:Ao,deactivated:Ao,errorCaptured:Ao,serverPrefetch:Ao,components:Lo,directives:Lo,watch:function(e,t){if(!e)return t;if(!t)return e;const n=d(Object.create(null),e);for(const r in t)n[r]=Ao(e[r],t[r]);return n},provide:Eo,inject:function(e,t){return Lo(To(e),To(t))}};function Eo(e,t){return t?e?function(){return d(w(e)?e.call(this,this):e,w(t)?t.call(this,this):t)}:t:e}function To(e){if(g(e)){const t={};for(let n=0;n(i.has(e)||(e&&w(e.install)?(i.add(e),e.install(a,...t)):w(e)&&(i.add(e),e(a,...t))),a),mixin:e=>(o.mixins.includes(e)||o.mixins.push(e),a),component:(e,t)=>t?(o.components[e]=t,a):o.components[e],directive:(e,t)=>t?(o.directives[e]=t,a):o.directives[e],mount(i,l,u){if(!s){0;const c=Es(n,r);return c.appContext=o,!0===u?u="svg":!1===u&&(u=void 0),l&&t?t(c,i):e(c,i,u),s=!0,a._container=i,i.__vue_app__=a,ia(c.component)}},unmount(){s&&(e(null,a._container),delete a._container.__vue_app__)},provide:(e,t)=>(o.provides[e]=t,a),runWithContext(e){const t=No;No=a;try{return e()}finally{No=t}}};return a}}let No=null;function Mo(e,t){if(Hs){let n=Hs.provides;const r=Hs.parent&&Hs.parent.provides;r===n&&(n=Hs.provides=Object.create(r)),n[e]=t}else 0}function Fo(e,t,n=!1){const r=Hs||Wn;if(r||No){const o=No?No._context.provides:r?null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(o&&e in o)return o[e];if(arguments.length>1)return n&&w(t)?t.call(r&&r.proxy):t}else 0}function Do(){return!!(Hs||Wn||No)}const Bo={},Uo=()=>Object.create(Bo),Vo=e=>Object.getPrototypeOf(e)===Bo;function Ho(e,t,n,r){const[o,i]=e.propsOptions;let a,l=!1;if(t)for(let s in t){if(L(s))continue;const u=t[s];let c;o&&v(o,c=j(s))?i&&i.includes(c)?(a||(a={}))[c]=u:n[c]=u:Wi(e.emitsOptions,s)||s in r&&u===r[s]||(r[s]=u,l=!0)}if(i){const t=Ut(n),r=a||s;for(let s=0;s{c=!0;const[n,r]=zo(e,t,!0);d(l,n),r&&u.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!i&&!c)return x(e)&&r.set(e,a),a;if(g(i))for(let e=0;e"_"===e[0]||"$stable"===e,Ko=e=>g(e)?e.map(js):[js(e)],Yo=(e,t,n)=>{if(t._n)return t;const r=Qn(((...e)=>Ko(t(...e))),n);return r._c=!1,r},Go=(e,t,n)=>{const r=e._ctx;for(const n in e){if(Zo(n))continue;const o=e[n];if(w(o))t[n]=Yo(0,o,r);else if(null!=o){0;const e=Ko(o);t[n]=()=>e}}},Jo=(e,t)=>{const n=Ko(t);e.slots.default=()=>n},Qo=(e,t,n)=>{for(const r in t)(n||"_"!==r)&&(e[r]=t[r])},Xo=(e,t,n)=>{const r=e.slots=Uo();if(32&e.vnode.shapeFlag){const e=t._;e?(Qo(r,t,n),n&&V(r,"_",e,!0)):Go(t,r)}else t&&Jo(e,t)},ei=(e,t,n)=>{const{vnode:r,slots:o}=e;let i=!0,a=s;if(32&r.shapeFlag){const e=t._;e?n&&1===e?i=!1:Qo(o,t,n):(i=!t.$stable,Go(t,o)),a=t}else t&&(Jo(e,t),a={default:1});if(i)for(const e in o)Zo(e)||null!=a[e]||delete o[e]};function ti(e,t,n,r,o=!1){if(g(e))return void e.forEach(((e,i)=>ti(e,t&&(g(t)?t[i]:t),n,r,o)));if(vr(r)&&!o)return;const i=4&r.shapeFlag?ia(r.component):r.el,a=o?null:i,{i:l,r:u}=e;const c=t&&t.r,f=l.refs===s?l.refs={}:l.refs,d=l.setupState;if(null!=c&&c!==u&&(C(c)?(f[c]=null,v(d,c)&&(d[c]=null)):Kt(c)&&(c.value=null)),w(u))_n(u,l,12,[a,f]);else{const t=C(u),r=Kt(u);if(t||r){const s=()=>{if(e.f){const n=t?v(d,u)?d[u]:f[u]:u.value;o?g(n)&&p(n,i):g(n)?n.includes(i)||n.push(i):t?(f[u]=[i],v(d,u)&&(d[u]=f[u])):(u.value=[i],e.k&&(f[e.k]=u.value))}else t?(f[u]=a,v(d,u)&&(d[u]=a)):r&&(u.value=a,e.k&&(f[e.k]=a))};a?(s.id=-1,Ci(s,n)):s()}else 0}}const ni=Symbol("_vte"),ri=e=>e&&(e.disabled||""===e.disabled),oi=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,ii=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,si=(e,t)=>{const n=e&&e.to;if(C(n)){if(t){return t(n)}return null}return n},ai={name:"Teleport",__isTeleport:!0,process(e,t,n,r,o,i,s,a,l,u){const{mc:c,pc:f,pbc:d,o:{insert:p,querySelector:h,createText:v,createComment:g}}=u,m=ri(t.props);let{shapeFlag:y,children:b,dynamicChildren:w}=t;if(null==e){const e=t.el=v(""),u=t.anchor=v("");p(e,n,r),p(u,n,r);const f=t.target=si(t.props,h),d=fi(f,t,v,p);f&&("svg"===s||oi(f)?s="svg":("mathml"===s||ii(f))&&(s="mathml"));const g=(e,t)=>{16&y&&c(b,e,t,o,i,s,a,l)};m?g(n,u):f&&g(f,d)}else{t.el=e.el,t.targetStart=e.targetStart;const r=t.anchor=e.anchor,c=t.target=e.target,p=t.targetAnchor=e.targetAnchor,v=ri(e.props),g=v?n:c,y=v?r:p;if("svg"===s||oi(c)?s="svg":("mathml"===s||ii(c))&&(s="mathml"),w?(d(e.dynamicChildren,w,g,o,i,s,a),Ti(e,t,!0)):l||f(e,t,g,y,o,i,s,a,!1),m)v?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):li(t,n,r,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=si(t.props,h);e&&li(t,e,null,u,0)}else v&&li(t,c,p,u,1)}ci(t)},remove(e,t,n,{um:r,o:{remove:o}},i){const{shapeFlag:s,children:a,anchor:l,targetStart:u,targetAnchor:c,target:f,props:d}=e;if(f&&(o(u),o(c)),i&&o(l),16&s){const e=i||!ri(d);for(let o=0;o{di||(di=!0)},hi=e=>(e=>e.namespaceURI.includes("svg")&&"foreignObject"!==e.tagName)(e)?"svg":(e=>e.namespaceURI.includes("MathML"))(e)?"mathml":void 0,vi=e=>8===e.nodeType;function gi(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:i,parentNode:s,remove:a,insert:l,createComment:u}}=e,f=(n,r,a,u,c,b=!1)=>{b=b||!!r.dynamicChildren;const w=vi(n)&&"["===n.data,C=()=>v(n,r,a,u,c,w),{type:_,ref:x,shapeFlag:S,patchFlag:k}=r;let O=n.nodeType;r.el=n,-2===k&&(b=!1,r.dynamicChildren=null);let E=null;switch(_){case ls:3!==O?""===r.children?(l(r.el=o(""),s(n),n),E=n):E=C():(n.data!==r.children&&(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&gn("Hydration text mismatch in",n.parentNode,`\n - rendered on server: ${JSON.stringify(n.data)}\n - expected on client: ${JSON.stringify(r.children)}`),pi(),n.data=r.children),E=i(n));break;case us:y(n)?(E=i(n),m(r.el=n.content.firstChild,n,a)):E=8!==O||w?C():i(n);break;case cs:if(w&&(O=(n=i(n)).nodeType),1===O||3===O){E=n;const e=!r.children.length;for(let t=0;t{s=s||!!t.dynamicChildren;const{type:l,props:u,patchFlag:f,shapeFlag:d,dirs:h,transition:v}=t,g="input"===l||"option"===l;if(g||-1!==f){h&&er(t,null,n,"created");let l,b=!1;if(y(e)){b=Ei(o,v)&&n&&n.vnode.props&&n.vnode.props.appear;const r=e.content.firstChild;b&&v.beforeEnter(r),m(r,e,n),t.el=e=r}if(16&d&&(!u||!u.innerHTML&&!u.textContent)){let r=p(e.firstChild,t,e,n,o,i,s),l=!1;for(;r;){__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&!l&&(gn("Hydration children mismatch on",e,"\nServer rendered element contains more child nodes than client vdom."),l=!0),pi();const t=r;r=r.nextSibling,a(t)}}else 8&d&&e.textContent!==t.children&&(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&gn("Hydration text content mismatch on",e,`\n - rendered on server: ${e.textContent}\n - expected on client: ${t.children}`),pi(),e.textContent=t.children);if(u)if(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__||g||!s||48&f){const o=e.tagName.includes("-");for(const i in u)!__VUE_PROD_HYDRATION_MISMATCH_DETAILS__||h&&h.some((e=>e.dir.created))||!mi(e,i,u[i],t,n)||pi(),(g&&(i.endsWith("value")||"indeterminate"===i)||c(i)&&!L(i)||"."===i[0]||o)&&r(e,i,null,u[i],void 0,n)}else if(u.onClick)r(e,"onClick",null,u.onClick,void 0,n);else if(4&f&&Mt(u.style))for(const e in u.style)u.style[e];(l=u&&u.onVnodeBeforeMount)&&Ds(l,n,t),h&&er(t,null,n,"beforeMount"),((l=u&&u.onVnodeMounted)||h||b)&&is((()=>{l&&Ds(l,n,t),b&&v.enter(e),h&&er(t,null,n,"mounted")}),o)}return e.nextSibling},p=(e,t,r,s,a,u,c)=>{c=c||!!t.dynamicChildren;const d=t.children,p=d.length;let h=!1;for(let t=0;t{const{slotScopeIds:c}=t;c&&(o=o?o.concat(c):c);const f=s(e),d=p(i(e),t,f,n,r,o,a);return d&&vi(d)&&"]"===d.data?i(t.anchor=d):(pi(),l(t.anchor=u("]"),f,d),d)},v=(e,t,r,o,l,u)=>{if(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&gn("Hydration node mismatch:\n- rendered on server:",e,3===e.nodeType?"(text)":vi(e)&&"["===e.data?"(start of fragment)":"","\n- expected on client:",t.type),pi(),t.el=null,u){const t=g(e);for(;;){const n=i(e);if(!n||n===t)break;a(n)}}const c=i(e),f=s(e);return a(e),n(null,t,f,c,r,o,hi(f),l),c},g=(e,t="[",n="]")=>{let r=0;for(;e;)if((e=i(e))&&vi(e)&&(e.data===t&&r++,e.data===n)){if(0===r)return i(e);r--}return e},m=(e,t,n)=>{const r=t.parentNode;r&&r.replaceChild(e,t);let o=n;for(;o;)o.vnode.el===t&&(o.vnode.el=o.subTree.el=e),o=o.parent},y=e=>1===e.nodeType&&"template"===e.tagName.toLowerCase();return[(e,t)=>{if(!t.hasChildNodes())return __VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&gn("Attempting to hydrate existing markup but container is empty. Performing full mount instead."),n(null,e,t),Bn(),void(t._vnode=e);f(t.firstChild,e,null,null,null),Bn(),t._vnode=e},f]}function mi(e,t,n,r,o){let i,s,a,l;if("class"===t)a=e.getAttribute("class"),l=X(n),function(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}(yi(a||""),yi(l))||(i=s="class");else if("style"===t){a=e.getAttribute("style")||"",l=C(n)?n:function(e){let t="";if(!e||C(e))return t;for(const n in e){const r=e[n];(C(r)||"number"==typeof r)&&(t+=`${n.startsWith("--")?n:M(n)}:${r};`)}return t}(K(n));const t=bi(a),u=bi(l);if(r.dirs)for(const{dir:e,value:t}of r.dirs)"show"!==e.name||t||u.set("display","none");o&&wi(o,r,u),function(e,t){if(e.size!==t.size)return!1;for(const[n,r]of e)if(r!==t.get(n))return!1;return!0}(t,u)||(i=s="style")}else(e instanceof SVGElement&&ce(t)||e instanceof HTMLElement&&(ae(t)||ue(t)))&&(ae(t)?(a=e.hasAttribute(t),l=le(n)):null==n?(a=e.hasAttribute(t),l=!1):(a=e.hasAttribute(t)?e.getAttribute(t):"value"===t&&"TEXTAREA"===e.tagName&&e.value,l=!!function(e){if(null==e)return!1;const t=typeof e;return"string"===t||"number"===t||"boolean"===t}(n)&&String(n)),a!==l&&(i="attribute",s=t));if(i){const t=e=>!1===e?"(not rendered)":`${s}="${e}"`;return gn(`Hydration ${i} mismatch on`,e,`\n - rendered on server: ${t(a)}\n - expected on client: ${t(l)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`),!0}return!1}function yi(e){return new Set(e.trim().split(/\s+/))}function bi(e){const t=new Map;for(const n of e.split(";")){let[e,r]=n.split(":");e=e.trim(),r=r&&r.trim(),e&&r&&t.set(e,r)}return t}function wi(e,t,n){const r=e.subTree;if(e.getCssVars&&(t===r||r&&r.type===as&&r.children.includes(t))){const t=e.getCssVars();for(const e in t)n.set(`--${e}`,String(t[e]))}t===r&&e.parent&&wi(e.parent,e.vnode,n)}const Ci=is;function _i(e){return Si(e)}function xi(e){return Si(e,gi)}function Si(e,t){"boolean"!=typeof __VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&(z().__VUE_PROD_HYDRATION_MISMATCH_DETAILS__=!1);z().__VUE__=!0;const{insert:n,remove:r,patchProp:o,createElement:i,createText:u,createComment:c,setText:f,setElementText:d,parentNode:p,nextSibling:h,setScopeId:g=l,insertStaticContent:m}=e,y=(e,t,n,r=null,o=null,i=null,s=void 0,a=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!_s(e,t)&&(r=G(e),q(e,o,i,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:u,ref:c,shapeFlag:f}=t;switch(u){case ls:b(e,t,n,r);break;case us:w(e,t,n,r);break;case cs:null==e&&C(t,n,r,s);break;case as:P(e,t,n,r,o,i,s,a,l);break;default:1&f?x(e,t,n,r,o,i,s,a,l):6&f?R(e,t,n,r,o,i,s,a,l):(64&f||128&f)&&u.process(e,t,n,r,o,i,s,a,l,X)}null!=c&&o&&ti(c,e&&e.ref,i,t||e,!t)},b=(e,t,r,o)=>{if(null==e)n(t.el=u(t.children),r,o);else{const n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},w=(e,t,r,o)=>{null==e?n(t.el=c(t.children||""),r,o):t.el=e.el},C=(e,t,n,r)=>{[e.el,e.anchor]=m(e.children,t,n,r,e.el,e.anchor)},_=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),r(e),e=n;r(t)},x=(e,t,n,r,o,i,s,a,l)=>{"svg"===t.type?s="svg":"math"===t.type&&(s="mathml"),null==e?S(t,n,r,o,i,s,a,l):E(e,t,o,i,s,a,l)},S=(e,t,r,s,a,l,u,c)=>{let f,p;const{props:h,shapeFlag:v,transition:g,dirs:m}=e;if(f=e.el=i(e.type,l,h&&h.is,h),8&v?d(f,e.children):16&v&&O(e.children,f,null,s,a,ki(e,l),u,c),m&&er(e,null,s,"created"),k(f,e,e.scopeId,u,s),h){for(const e in h)"value"===e||L(e)||o(f,e,null,h[e],l,s);"value"in h&&o(f,"value",null,h.value,l),(p=h.onVnodeBeforeMount)&&Ds(p,s,e)}m&&er(e,null,s,"beforeMount");const y=Ei(a,g);y&&g.beforeEnter(f),n(f,t,r),((p=h&&h.onVnodeMounted)||y||m)&&Ci((()=>{p&&Ds(p,s,e),y&&g.enter(f),m&&er(e,null,s,"mounted")}),a)},k=(e,t,n,r,o)=>{if(n&&g(e,n),r)for(let t=0;t{for(let u=l;u{const u=t.el=e.el;let{patchFlag:c,dynamicChildren:f,dirs:p}=t;c|=16&e.patchFlag;const h=e.props||s,v=t.props||s;let g;if(n&&Oi(n,!1),(g=v.onVnodeBeforeUpdate)&&Ds(g,n,t,e),p&&er(t,e,n,"beforeUpdate"),n&&Oi(n,!0),(h.innerHTML&&null==v.innerHTML||h.textContent&&null==v.textContent)&&d(u,""),f?T(e.dynamicChildren,f,u,n,r,ki(t,i),a):l||B(e,t,u,null,n,r,ki(t,i),a,!1),c>0){if(16&c)A(u,h,v,n,i);else if(2&c&&h.class!==v.class&&o(u,"class",null,v.class,i),4&c&&o(u,"style",h.style,v.style,i),8&c){const e=t.dynamicProps;for(let t=0;t{g&&Ds(g,n,t,e),p&&er(t,e,n,"updated")}),r)},T=(e,t,n,r,o,i,s)=>{for(let a=0;a{if(t!==n){if(t!==s)for(const s in t)L(s)||s in n||o(e,s,t[s],null,i,r);for(const s in n){if(L(s))continue;const a=n[s],l=t[s];a!==l&&"value"!==s&&o(e,s,l,a,i,r)}"value"in n&&o(e,"value",t.value,n.value,i)}},P=(e,t,r,o,i,s,a,l,c)=>{const f=t.el=e?e.el:u(""),d=t.anchor=e?e.anchor:u("");let{patchFlag:p,dynamicChildren:h,slotScopeIds:v}=t;v&&(l=l?l.concat(v):v),null==e?(n(f,r,o),n(d,r,o),O(t.children||[],r,d,i,s,a,l,c)):p>0&&64&p&&h&&e.dynamicChildren?(T(e.dynamicChildren,h,r,i,s,a,l),(null!=t.key||i&&t===i.subTree)&&Ti(e,t,!0)):B(e,t,r,d,i,s,a,l,c)},R=(e,t,n,r,o,i,s,a,l)=>{t.slotScopeIds=a,null==e?512&t.shapeFlag?o.ctx.activate(t,n,r,s,l):I(t,n,r,o,i,s,l):N(e,t,l)},I=(e,t,n,r,o,i,s)=>{const a=e.component=Vs(e,r,o);if(yr(e)&&(a.ctx.renderer=X),Qs(a,!1,s),a.asyncDep){if(o&&o.registerDep(a,F,s),!e.el){const e=a.subTree=Es(us);w(null,e,t,n)}}else F(a,e,t,n,o,i,s)},N=(e,t,n)=>{const r=t.component=e.component;if(function(e,t,n){const{props:r,children:o,component:i}=e,{props:s,children:a,patchFlag:l}=t,u=i.emitsOptions;0;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return!(!o&&!a||a&&a.$stable)||r!==s&&(r?!s||Ji(r,s,u):!!s);if(1024&l)return!0;if(16&l)return r?Ji(r,s,u):!!s;if(8&l){const e=t.dynamicProps;for(let t=0;tTn&&En.splice(t,1)}(r.update),r.effect.dirty=!0,r.update()}else t.el=e.el,r.vnode=t},F=(e,t,n,r,o,i,s)=>{const a=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:l,vnode:u}=e;{const n=Ai(e);if(n)return t&&(t.el=u.el,D(e,t,s)),void n.asyncDep.then((()=>{e.isUnmounted||a()}))}let c,f=t;0,Oi(e,!1),t?(t.el=u.el,D(e,t,s)):t=u,n&&U(n),(c=t.props&&t.props.onVnodeBeforeUpdate)&&Ds(c,l,t,u),Oi(e,!0);const d=Zi(e);0;const h=e.subTree;e.subTree=d,y(h,d,p(h.el),G(h),e,o,i),t.el=d.el,null===f&&Qi(e,d.el),r&&Ci(r,o),(c=t.props&&t.props.onVnodeUpdated)&&Ci((()=>Ds(c,l,t,u)),o)}else{let s;const{el:a,props:l}=t,{bm:u,m:c,parent:f}=e,d=vr(t);if(Oi(e,!1),u&&U(u),!d&&(s=l&&l.onVnodeBeforeMount)&&Ds(s,f,t),Oi(e,!0),a&&te){const n=()=>{e.subTree=Zi(e),te(a,e.subTree,e,o,null)};d?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{0;const s=e.subTree=Zi(e);0,y(null,s,n,r,e,o,i),t.el=s.el}if(c&&Ci(c,o),!d&&(s=l&&l.onVnodeMounted)){const e=t;Ci((()=>Ds(s,f,e)),o)}(256&t.shapeFlag||f&&vr(f.vnode)&&256&f.vnode.shapeFlag)&&e.a&&Ci(e.a,o),e.isMounted=!0,t=n=r=null}},u=e.effect=new Se(a,l,(()=>Nn(c)),e.scope),c=e.update=()=>{u.dirty&&u.run()};c.i=e,c.id=e.uid,Oi(e,!0),c()},D=(e,t,n)=>{t.component=e;const r=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,r){const{props:o,attrs:i,vnode:{patchFlag:s}}=e,a=Ut(o),[l]=e.propsOptions;let u=!1;if(!(r||s>0)||16&s){let r;Ho(e,t,o,i)&&(u=!0);for(const i in a)t&&(v(t,i)||(r=M(i))!==i&&v(t,r))||(l?!n||void 0===n[i]&&void 0===n[r]||(o[i]=$o(l,a,i,void 0,e,!0)):delete o[i]);if(i!==a)for(const e in i)t&&v(t,e)||(delete i[e],u=!0)}else if(8&s){const n=e.vnode.dynamicProps;for(let r=0;r{const u=e&&e.children,c=e?e.shapeFlag:0,f=t.children,{patchFlag:p,shapeFlag:h}=t;if(p>0){if(128&p)return void H(u,f,n,r,o,i,s,a,l);if(256&p)return void V(u,f,n,r,o,i,s,a,l)}8&h?(16&c&&Y(u,o,i),f!==u&&d(n,f)):16&c?16&h?H(u,f,n,r,o,i,s,a,l):Y(u,o,i,!0):(8&c&&d(n,""),16&h&&O(f,n,r,o,i,s,a,l))},V=(e,t,n,r,o,i,s,l,u)=>{t=t||a;const c=(e=e||a).length,f=t.length,d=Math.min(c,f);let p;for(p=0;pf?Y(e,o,i,!0,!1,d):O(t,n,r,o,i,s,l,u,d)},H=(e,t,n,r,o,i,s,l,u)=>{let c=0;const f=t.length;let d=e.length-1,p=f-1;for(;c<=d&&c<=p;){const r=e[c],a=t[c]=u?Ns(t[c]):js(t[c]);if(!_s(r,a))break;y(r,a,n,null,o,i,s,l,u),c++}for(;c<=d&&c<=p;){const r=e[d],a=t[p]=u?Ns(t[p]):js(t[p]);if(!_s(r,a))break;y(r,a,n,null,o,i,s,l,u),d--,p--}if(c>d){if(c<=p){const e=p+1,a=ep)for(;c<=d;)q(e[c],o,i,!0),c++;else{const h=c,v=c,g=new Map;for(c=v;c<=p;c++){const e=t[c]=u?Ns(t[c]):js(t[c]);null!=e.key&&g.set(e.key,c)}let m,b=0;const w=p-v+1;let C=!1,_=0;const x=new Array(w);for(c=0;c=w){q(r,o,i,!0);continue}let a;if(null!=r.key)a=g.get(r.key);else for(m=v;m<=p;m++)if(0===x[m-v]&&_s(r,t[m])){a=m;break}void 0===a?q(r,o,i,!0):(x[a-v]=c+1,a>=_?_=a:C=!0,y(r,t[a],n,null,o,i,s,l,u),b++)}const S=C?function(e){const t=e.slice(),n=[0];let r,o,i,s,a;const l=e.length;for(r=0;r>1,e[n[a]]0&&(t[r]=n[i-1]),n[i]=r)}}i=n.length,s=n[i-1];for(;i-- >0;)n[i]=s,s=t[s];return n}(x):a;for(m=S.length-1,c=w-1;c>=0;c--){const e=v+c,a=t[e],d=e+1{const{el:s,type:a,transition:l,children:u,shapeFlag:c}=e;if(6&c)return void $(e.component.subTree,t,r,o);if(128&c)return void e.suspense.move(t,r,o);if(64&c)return void a.move(e,t,r,X);if(a===as){n(s,t,r);for(let e=0;e{let i;for(;e&&e!==t;)i=h(e),n(e,r,o),e=i;n(t,r,o)})(e,t,r);if(2!==o&&1&c&&l)if(0===o)l.beforeEnter(s),n(s,t,r),Ci((()=>l.enter(s)),i);else{const{leave:e,delayLeave:o,afterLeave:i}=l,a=()=>n(s,t,r),u=()=>{e(s,(()=>{a(),i&&i()}))};o?o(s,a,u):u()}else n(s,t,r)},q=(e,t,n,r=!1,o=!1)=>{const{type:i,props:s,ref:a,children:l,dynamicChildren:u,shapeFlag:c,patchFlag:f,dirs:d,cacheIndex:p}=e;if(-2===f&&(o=!1),null!=a&&ti(a,null,n,e,!0),null!=p&&(t.renderCache[p]=void 0),256&c)return void t.ctx.deactivate(e);const h=1&c&&d,v=!vr(e);let g;if(v&&(g=s&&s.onVnodeBeforeUnmount)&&Ds(g,t,e),6&c)K(e.component,n,r);else{if(128&c)return void e.suspense.unmount(n,r);h&&er(e,null,t,"beforeUnmount"),64&c?e.type.remove(e,t,n,X,r):u&&!u.hasOnce&&(i!==as||f>0&&64&f)?Y(u,t,n,!1,!0):(i===as&&384&f||!o&&16&c)&&Y(l,t,n),r&&W(e)}(v&&(g=s&&s.onVnodeUnmounted)||h)&&Ci((()=>{g&&Ds(g,t,e),h&&er(e,null,t,"unmounted")}),n)},W=e=>{const{type:t,el:n,anchor:o,transition:i}=e;if(t===as)return void Z(n,o);if(t===cs)return void _(e);const s=()=>{r(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&e.shapeFlag&&i&&!i.persisted){const{leave:t,delayLeave:r}=i,o=()=>t(n,s);r?r(e.el,s,o):o()}else s()},Z=(e,t)=>{let n;for(;e!==t;)n=h(e),r(e),e=n;r(t)},K=(e,t,n)=>{const{bum:r,scope:o,update:i,subTree:s,um:a,m:l,a:u}=e;Li(l),Li(u),r&&U(r),o.stop(),i&&(i.active=!1,q(s,e,t,n)),a&&Ci(a,t),Ci((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},Y=(e,t,n,r=!1,o=!1,i=0)=>{for(let s=i;s{if(6&e.shapeFlag)return G(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=h(e.anchor||e.el),n=t&&t[ni];return n?h(n):t};let J=!1;const Q=(e,t,n)=>{null==e?t._vnode&&q(t._vnode,null,null,!0):y(t._vnode||null,e,t,null,null,null,n),t._vnode=e,J||(J=!0,Dn(),Bn(),J=!1)},X={p:y,um:q,m:$,r:W,mt:I,mc:O,pc:B,pbc:T,n:G,o:e};let ee,te;return t&&([ee,te]=t(X)),{render:Q,hydrate:ee,createApp:jo(Q,ee)}}function ki({type:e,props:t},n){return"svg"===n&&"foreignObject"===e||"mathml"===n&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Oi({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Ei(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ti(e,t,n=!1){const r=e.children,o=t.children;if(g(r)&&g(o))for(let e=0;e{{const e=Fo(Pi);return e}};function Ii(e,t){return Di(e,null,t)}function ji(e,t){return Di(e,null,{flush:"post"})}function Ni(e,t){return Di(e,null,{flush:"sync"})}const Mi={};function Fi(e,t,n){return Di(e,t,n)}function Di(e,t,{immediate:n,deep:r,flush:o,once:i,onTrack:a,onTrigger:u}=s){if(t&&i){const e=t;t=(...t)=>{e(...t),O()}}const c=Hs,f=e=>!0===r?e:Vi(e,!1===r?1:void 0);let d,h,v=!1,m=!1;if(Kt(e)?(d=()=>e.value,v=Dt(e)):Mt(e)?(d=()=>f(e),v=!0):g(e)?(m=!0,v=e.some((e=>Mt(e)||Dt(e))),d=()=>e.map((e=>Kt(e)?e.value:Mt(e)?f(e):w(e)?_n(e,c,2):void 0))):d=w(e)?t?()=>_n(e,c,2):()=>(h&&h(),xn(e,c,3,[b])):l,t&&r){const e=d;d=()=>Vi(e())}let y,b=e=>{h=S.onStop=()=>{_n(e,c,4),h=S.onStop=void 0}};if(Js){if(b=l,t?n&&xn(t,c,3,[d(),m?[]:void 0,b]):d(),"sync"!==o)return l;{const e=Ri();y=e.__watcherHandles||(e.__watcherHandles=[])}}let C=m?new Array(e.length).fill(Mi):Mi;const _=()=>{if(S.active&&S.dirty)if(t){const e=S.run();(r||v||(m?e.some(((e,t)=>B(e,C[t]))):B(e,C)))&&(h&&h(),xn(t,c,3,[e,C===Mi?void 0:m&&C[0]===Mi?[]:C,b]),C=e)}else S.run()};let x;_.allowRecurse=!!t,"sync"===o?x=_:"post"===o?x=()=>Ci(_,c&&c.suspense):(_.pre=!0,c&&(_.id=c.uid),x=()=>Nn(_));const S=new Se(d,l,x),k=_e(),O=()=>{S.stop(),k&&p(k.effects,S)};return t?n?_():C=S.run():"post"===o?Ci(S.run.bind(S),c&&c.suspense):S.run(),y&&y.push(O),O}function Bi(e,t,n){const r=this.proxy,o=C(e)?e.includes(".")?Ui(r,e):()=>r[e]:e.bind(r,r);let i;w(t)?i=t:(i=t.handler,n=t);const s=Ws(this),a=Di(o,i.bind(r),n);return s(),a}function Ui(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{Vi(e,t,n)}));else if(T(e)){for(const r in e)Vi(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Vi(e[r],t,n)}return e}function Hi(e,t,n=s){const r=$s();const o=j(t),i=M(t),a=$i(e,t),l=sn(((a,l)=>{let u,c,f=s;return Ni((()=>{const n=e[t];B(u,n)&&(u=n,l())})),{get:()=>(a(),n.get?n.get(u):u),set(e){const a=n.set?n.set(e):e;if(!(B(a,u)||f!==s&&B(e,f)))return;const d=r.vnode.props;d&&(t in d||o in d||i in d)&&(`onUpdate:${t}`in d||`onUpdate:${o}`in d||`onUpdate:${i}`in d)||(u=e,l()),r.emit(`update:${t}`,a),B(e,a)&&B(e,f)&&!B(a,c)&&l(),f=e,c=a}}}));return l[Symbol.iterator]=()=>{let e=0;return{next:()=>e<2?{value:e++?a||s:l,done:!1}:{done:!0}}},l}const $i=(e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${j(t)}Modifiers`]||e[`${M(t)}Modifiers`];function qi(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||s;let o=n;const i=t.startsWith("update:"),a=i&&$i(r,t.slice(7));let l;a&&(a.trim&&(o=n.map((e=>C(e)?e.trim():e))),a.number&&(o=n.map(H)));let u=r[l=D(t)]||r[l=D(j(t))];!u&&i&&(u=r[l=D(M(t))]),u&&xn(u,e,6,o);const c=r[l+"Once"];if(c){if(e.emitted){if(e.emitted[l])return}else e.emitted={};e.emitted[l]=!0,xn(c,e,6,o)}}function zi(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(void 0!==o)return o;const i=e.emits;let s={},a=!1;if(!w(e)){const r=e=>{const n=zi(e,t,!0);n&&(a=!0,d(s,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return i||a?(g(i)?i.forEach((e=>s[e]=null)):d(s,i),x(e)&&r.set(e,s),s):(x(e)&&r.set(e,null),null)}function Wi(e,t){return!(!e||!c(t))&&(t=t.slice(2).replace(/Once$/,""),v(e,t[0].toLowerCase()+t.slice(1))||v(e,M(t))||v(e,t))}function Zi(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[i],slots:s,attrs:a,emit:l,render:u,renderCache:c,props:d,data:p,setupState:h,ctx:v,inheritAttrs:g}=e,m=Kn(e);let y,b;try{if(4&n.shapeFlag){const e=o||r,t=e;y=js(u.call(t,e,c,d,h,p,v)),b=a}else{const e=t;0,y=js(e.length>1?e(d,{attrs:a,slots:s,emit:l}):e(d,null)),b=t.props?a:Yi(a)}}catch(t){fs.length=0,Sn(t,e,1),y=Es(us)}let w=y;if(b&&!1!==g){const e=Object.keys(b),{shapeFlag:t}=w;e.length&&7&t&&(i&&e.some(f)&&(b=Gi(b,i)),w=Ls(w,b,!1,!0))}return n.dirs&&(w=Ls(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&(w.transition=n.transition),y=w,Kn(m),y}function Ki(e,t=!0){let n;for(let t=0;t{let t;for(const n in e)("class"===n||"style"===n||c(n))&&((t||(t={}))[n]=e[n]);return t},Gi=(e,t)=>{const n={};for(const r in e)f(r)&&r.slice(9)in t||(n[r]=e[r]);return n};function Ji(e,t,n){const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let o=0;oe.__isSuspense;let es=0;const ts={name:"Suspense",__isSuspense:!0,process(e,t,n,r,o,i,s,a,l,u){if(null==e)!function(e,t,n,r,o,i,s,a,l){const{p:u,o:{createElement:c}}=l,f=c("div"),d=e.suspense=rs(e,o,r,t,f,n,i,s,a,l);u(null,d.pendingBranch=e.ssContent,f,null,r,d,i,s),d.deps>0?(ns(e,"onPending"),ns(e,"onFallback"),u(null,e.ssFallback,t,n,r,null,i,s),ss(d,e.ssFallback)):d.resolve(!1,!0)}(t,n,r,o,i,s,a,l,u);else{if(i&&i.deps>0&&!e.suspense.isInFallback)return t.suspense=e.suspense,t.suspense.vnode=t,void(t.el=e.el);!function(e,t,n,r,o,i,s,a,{p:l,um:u,o:{createElement:c}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const d=t.ssContent,p=t.ssFallback,{activeBranch:h,pendingBranch:v,isInFallback:g,isHydrating:m}=f;if(v)f.pendingBranch=d,_s(d,v)?(l(v,d,f.hiddenContainer,null,o,f,i,s,a),f.deps<=0?f.resolve():g&&(m||(l(h,p,n,r,o,null,i,s,a),ss(f,p)))):(f.pendingId=es++,m?(f.isHydrating=!1,f.activeBranch=v):u(v,o,f),f.deps=0,f.effects.length=0,f.hiddenContainer=c("div"),g?(l(null,d,f.hiddenContainer,null,o,f,i,s,a),f.deps<=0?f.resolve():(l(h,p,n,r,o,null,i,s,a),ss(f,p))):h&&_s(d,h)?(l(h,d,n,r,o,f,i,s,a),f.resolve(!0)):(l(null,d,f.hiddenContainer,null,o,f,i,s,a),f.deps<=0&&f.resolve()));else if(h&&_s(d,h))l(h,d,n,r,o,f,i,s,a),ss(f,d);else if(ns(t,"onPending"),f.pendingBranch=d,512&d.shapeFlag?f.pendingId=d.component.suspenseId:f.pendingId=es++,l(null,d,f.hiddenContainer,null,o,f,i,s,a),f.deps<=0)f.resolve();else{const{timeout:e,pendingId:t}=f;e>0?setTimeout((()=>{f.pendingId===t&&f.fallback(p)}),e):0===e&&f.fallback(p)}}(e,t,n,r,o,s,a,l,u)}},hydrate:function(e,t,n,r,o,i,s,a,l){const u=t.suspense=rs(t,r,n,e.parentNode,document.createElement("div"),null,o,i,s,a,!0),c=l(e,u.pendingBranch=t.ssContent,n,u,i,s);0===u.deps&&u.resolve(!1,!0);return c},normalize:function(e){const{shapeFlag:t,children:n}=e,r=32&t;e.ssContent=os(r?n.default:n),e.ssFallback=r?os(n.fallback):Es(us)}};function ns(e,t){const n=e.props&&e.props[t];w(n)&&n()}function rs(e,t,n,r,o,i,s,a,l,u,c=!1){const{p:f,m:d,um:p,n:h,o:{parentNode:v,remove:g}}=u;let m;const y=function(e){const t=e.props&&e.props.suspensible;return null!=t&&!1!==t}(e);y&&t&&t.pendingBranch&&(m=t.pendingId,t.deps++);const b=e.props?$(e.props.timeout):void 0;const w=i,C={vnode:e,parent:t,parentComponent:n,namespace:s,container:r,hiddenContainer:o,deps:0,pendingId:es++,timeout:"number"==typeof b?b:-1,activeBranch:null,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){const{vnode:r,activeBranch:o,pendingBranch:s,pendingId:a,effects:l,parentComponent:u,container:c}=C;let f=!1;C.isHydrating?C.isHydrating=!1:e||(f=o&&s.transition&&"out-in"===s.transition.mode,f&&(o.transition.afterLeave=()=>{a===C.pendingId&&(d(s,c,i===w?h(o):i,0),Fn(l))}),o&&(v(o.el)!==C.hiddenContainer&&(i=h(o)),p(o,u,C,!0)),f||d(s,c,i,0)),ss(C,s),C.pendingBranch=null,C.isInFallback=!1;let g=C.parent,b=!1;for(;g;){if(g.pendingBranch){g.effects.push(...l),b=!0;break}g=g.parent}b||f||Fn(l),C.effects=[],y&&t&&t.pendingBranch&&m===t.pendingId&&(t.deps--,0!==t.deps||n||t.resolve()),ns(r,"onResolve")},fallback(e){if(!C.pendingBranch)return;const{vnode:t,activeBranch:n,parentComponent:r,container:o,namespace:i}=C;ns(t,"onFallback");const s=h(n),u=()=>{C.isInFallback&&(f(null,e,o,s,r,null,i,a,l),ss(C,e))},c=e.transition&&"out-in"===e.transition.mode;c&&(n.transition.afterLeave=u),C.isInFallback=!0,p(n,r,null,!0),c||u()},move(e,t,n){C.activeBranch&&d(C.activeBranch,e,t,n),C.container=e},next:()=>C.activeBranch&&h(C.activeBranch),registerDep(e,t,n){const r=!!C.pendingBranch;r&&C.deps++;const o=e.vnode.el;e.asyncDep.catch((t=>{Sn(t,e,0)})).then((i=>{if(e.isUnmounted||C.isUnmounted||C.pendingId!==e.suspenseId)return;e.asyncResolved=!0;const{vnode:a}=e;Xs(e,i,!1),o&&(a.el=o);const l=!o&&e.subTree.el;t(e,a,v(o||e.subTree.el),o?null:h(e.subTree),C,s,n),l&&g(l),Qi(e,a.el),r&&0==--C.deps&&C.resolve()}))},unmount(e,t){C.isUnmounted=!0,C.activeBranch&&p(C.activeBranch,n,e,t),C.pendingBranch&&p(C.pendingBranch,n,e,t)}};return C}function os(e){let t;if(w(e)){const n=gs&&e._c;n&&(e._d=!1,ps()),e=e(),n&&(e._d=!0,t=ds,hs())}if(g(e)){const t=Ki(e);0,e=t}return e=js(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter((t=>t!==e))),e}function is(e,t){t&&t.pendingBranch?g(e)?t.effects.push(...e):t.effects.push(e):Fn(e)}function ss(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let o=t.el;for(;!o&&t.component;)o=(t=t.component.subTree).el;n.el=o,r&&r.subTree===n&&(r.vnode.el=o,Qi(r,o))}const as=Symbol.for("v-fgt"),ls=Symbol.for("v-txt"),us=Symbol.for("v-cmt"),cs=Symbol.for("v-stc"),fs=[];let ds=null;function ps(e=!1){fs.push(ds=e?null:[])}function hs(){fs.pop(),ds=fs[fs.length-1]||null}let vs,gs=1;function ms(e){gs+=e,e<0&&ds&&(ds.hasOnce=!0)}function ys(e){return e.dynamicChildren=gs>0?ds||a:null,hs(),gs>0&&ds&&ds.push(e),e}function bs(e,t,n,r,o,i){return ys(Os(e,t,n,r,o,i,!0))}function ws(e,t,n,r,o){return ys(Es(e,t,n,r,o,!0))}function Cs(e){return!!e&&!0===e.__v_isVNode}function _s(e,t){return e.type===t.type&&e.key===t.key}function xs(e){vs=e}const Ss=({key:e})=>null!=e?e:null,ks=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?C(e)||Kt(e)||w(e)?{i:Wn,r:e,k:t,f:!!n}:e:null);function Os(e,t=null,n=null,r=0,o=null,i=(e===as?0:1),s=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ss(t),ref:t&&ks(t),scopeId:Zn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Wn};return a?(Ms(l,n),128&i&&e.normalize(l)):n&&(l.shapeFlag|=C(n)?8:16),gs>0&&!s&&ds&&(l.patchFlag>0||6&i)&&32!==l.patchFlag&&ds.push(l),l}const Es=Ts;function Ts(e,t=null,n=null,r=0,o=null,i=!1){if(e&&e!==$r||(e=us),Cs(e)){const r=Ls(e,t,!0);return n&&Ms(r,n),gs>0&&!i&&ds&&(6&r.shapeFlag?ds[ds.indexOf(e)]=r:ds.push(r)),r.patchFlag=-2,r}if(ca(e)&&(e=e.__vccOpts),t){t=As(t);let{class:e,style:n}=t;e&&!C(e)&&(t.class=X(e)),x(n)&&(Bt(n)&&!g(n)&&(n=d({},n)),t.style=K(n))}return Os(e,t,n,r,o,C(e)?1:Xi(e)?128:(e=>e.__isTeleport)(e)?64:x(e)?4:w(e)?2:0,i,!0)}function As(e){return e?Bt(e)||Vo(e)?d({},e):e:null}function Ls(e,t,n=!1,r=!1){const{props:o,ref:i,patchFlag:s,children:a,transition:l}=e,u=t?Fs(o||{},t):o,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Ss(u),ref:t&&t.ref?n&&i?g(i)?i.concat(ks(t)):[i,ks(t)]:ks(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==as?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ls(e.ssContent),ssFallback:e.ssFallback&&Ls(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&dr(c,l.clone(c)),c}function Ps(e=" ",t=0){return Es(ls,null,e,t)}function Rs(e,t){const n=Es(cs,null,e);return n.staticCount=t,n}function Is(e="",t=!1){return t?(ps(),ws(us,null,e)):Es(us,null,e)}function js(e){return null==e||"boolean"==typeof e?Es(us):g(e)?Es(as,null,e.slice()):"object"==typeof e?Ns(e):Es(ls,null,String(e))}function Ns(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:Ls(e)}function Ms(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if(g(t))n=16;else if("object"==typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),Ms(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||Vo(t)?3===r&&Wn&&(1===Wn.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=Wn}}else w(t)?(t={default:t,_ctx:Wn},n=32):(t=String(t),64&r?(n=16,t=[Ps(t)]):n=8);e.children=t,e.shapeFlag|=n}function Fs(...e){const t={};for(let n=0;nHs||Wn;let qs,zs;{const e=z(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach((t=>t(e))):r[0](e)}};qs=t("__VUE_INSTANCE_SETTERS__",(e=>Hs=e)),zs=t("__VUE_SSR_SETTERS__",(e=>Js=e))}const Ws=e=>{const t=Hs;return qs(e),e.scope.on(),()=>{e.scope.off(),qs(t)}},Zs=()=>{Hs&&Hs.scope.off(),qs(null)};function Ks(e){return 4&e.vnode.shapeFlag}let Ys,Gs,Js=!1;function Qs(e,t=!1,n=!1){t&&zs(t);const{props:r,children:o}=e.vnode,i=Ks(e);!function(e,t,n,r=!1){const o={},i=Uo();e.propsDefaults=Object.create(null),Ho(e,t,o,i);for(const t in e.propsOptions[0])t in o||(o[t]=void 0);n?e.props=r?o:Rt(o):e.type.props?e.props=o:e.props=i,e.attrs=i}(e,r,i,t),Xo(e,o,n);const s=i?function(e,t){const n=e.type;0;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,no),!1;const{setup:r}=n;if(r){const n=e.setupContext=r.length>1?oa(e):null,o=Ws(e);je();const i=_n(r,e,0,[e.props,n]);if(Ne(),o(),S(i)){if(i.then(Zs,Zs),t)return i.then((n=>{Xs(e,n,t)})).catch((t=>{Sn(t,e,0)}));e.asyncDep=i}else Xs(e,i,t)}else na(e,t)}(e,t):void 0;return t&&zs(!1),s}function Xs(e,t,n){w(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:x(t)&&(e.setupState=rn(t)),na(e,n)}function ea(e){Ys=e,Gs=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,ro))}}const ta=()=>!Ys;function na(e,t,n){const r=e.type;if(!e.render){if(!t&&Ys&&!r.render){const t=r.template||So(e).template;if(t){0;const{isCustomElement:n,compilerOptions:o}=e.appContext.config,{delimiters:i,compilerOptions:s}=r,a=d(d({isCustomElement:n,delimiters:i},o),s);r.render=Ys(t,a)}}e.render=r.render||l,Gs&&Gs(e)}{const t=Ws(e);je();try{Co(e)}finally{Ne(),t()}}}const ra={get:(e,t)=>(ze(e,0,""),e[t])};function oa(e){const t=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,ra),slots:e.slots,emit:e.emit,expose:t}}function ia(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(rn(Vt(e.exposed)),{get:(t,n)=>n in t?t[n]:n in eo?eo[n](e):void 0,has:(e,t)=>t in e||t in eo})):e.proxy}const sa=/(?:^|[-_])(\w)/g,aa=e=>e.replace(sa,(e=>e.toUpperCase())).replace(/[-_]/g,"");function la(e,t=!0){return w(e)?e.displayName||e.name:e.name||t&&e.__name}function ua(e,t,n=!1){let r=la(t);if(!r&&t.__file){const e=t.__file.match(/([^/\\]+)\.\w+$/);e&&(r=e[1])}if(!r&&e&&e.parent){const n=e=>{for(const n in e)if(e[n]===t)return n};r=n(e.components||e.parent.type.components)||n(e.appContext.components)}return r?aa(r):n?"App":"Anonymous"}function ca(e){return w(e)&&"__vccOpts"in e}const fa=(e,t)=>zt(e,0,Js);function da(e,t,n){const r=arguments.length;return 2===r?x(t)&&!g(t)?Cs(t)?Es(e,null,[t]):Es(e,t):Es(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&Cs(n)&&(n=[n]),Es(e,t,n))}function pa(){return void 0}function ha(e,t,n,r){const o=n[r];if(o&&va(o,e))return o;const i=t();return i.memo=e.slice(),i.cacheIndex=r,n[r]=i}function va(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let e=0;e0&&ds&&ds.push(e),!0}const ga="3.4.38",ma=l,ya=Cn,ba=$n,wa=function e(t,n){var r,o;if($n=t,$n)$n.enabled=!0,qn.forEach((({event:e,args:t})=>$n.emit(e,...t))),qn=[];else if("undefined"!=typeof window&&window.HTMLElement&&!(null==(o=null==(r=window.navigator)?void 0:r.userAgent)?void 0:o.includes("jsdom"))){(n.__VUE_DEVTOOLS_HOOK_REPLAY__=n.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push((t=>{e(t,n)})),setTimeout((()=>{$n||(n.__VUE_DEVTOOLS_HOOK_REPLAY__=null,zn=!0,qn=[])}),3e3)}else zn=!0,qn=[]},Ca={createComponentInstance:Vs,setupComponent:Qs,renderComponentRoot:Zi,setCurrentRenderingInstance:Kn,isVNode:Cs,normalizeVNode:js,getComponentPublicInstance:ia,ensureValidVNode:Jr},_a=null,xa=null,Sa=null,ka="undefined"!=typeof document?document:null,Oa=ka&&ka.createElement("template"),Ea={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o="svg"===t?ka.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?ka.createElementNS("http://www.w3.org/1998/Math/MathML",e):n?ka.createElement(e,{is:n}):ka.createElement(e);return"select"===e&&r&&null!=r.multiple&&o.setAttribute("multiple",r.multiple),o},createText:e=>ka.createTextNode(e),createComment:e=>ka.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ka.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,i){const s=n?n.previousSibling:t.lastChild;if(o&&(o===i||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),o!==i&&(o=o.nextSibling););else{Oa.innerHTML="svg"===r?`${e}`:"mathml"===r?`${e}`:e;const o=Oa.content;if("svg"===r||"mathml"===r){const e=o.firstChild;for(;e.firstChild;)o.appendChild(e.firstChild);o.removeChild(e)}t.insertBefore(o,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ta="transition",Aa="animation",La=Symbol("_vtc"),Pa=(e,{slots:t})=>da(ar,Ma(e),t);Pa.displayName="Transition";const Ra={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ia=Pa.props=d({},ir,Ra),ja=(e,t=[])=>{g(e)?e.forEach((e=>e(...t))):e&&e(...t)},Na=e=>!!e&&(g(e)?e.some((e=>e.length>1)):e.length>1);function Ma(e){const t={};for(const n in e)n in Ra||(t[n]=e[n]);if(!1===e.css)return t;const{name:n="v",type:r,duration:o,enterFromClass:i=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=i,appearActiveClass:u=s,appearToClass:c=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,v=function(e){if(null==e)return null;if(x(e))return[Fa(e.enter),Fa(e.leave)];{const t=Fa(e);return[t,t]}}(o),g=v&&v[0],m=v&&v[1],{onBeforeEnter:y,onEnter:b,onEnterCancelled:w,onLeave:C,onLeaveCancelled:_,onBeforeAppear:S=y,onAppear:k=b,onAppearCancelled:O=w}=t,E=(e,t,n)=>{Ba(e,t?c:a),Ba(e,t?u:s),n&&n()},T=(e,t)=>{e._isLeaving=!1,Ba(e,f),Ba(e,h),Ba(e,p),t&&t()},A=e=>(t,n)=>{const o=e?k:b,s=()=>E(t,e,n);ja(o,[t,s]),Ua((()=>{Ba(t,e?l:i),Da(t,e?c:a),Na(o)||Ha(t,r,g,s)}))};return d(t,{onBeforeEnter(e){ja(y,[e]),Da(e,i),Da(e,s)},onBeforeAppear(e){ja(S,[e]),Da(e,l),Da(e,u)},onEnter:A(!1),onAppear:A(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>T(e,t);Da(e,f),Da(e,p),Wa(),Ua((()=>{e._isLeaving&&(Ba(e,f),Da(e,h),Na(C)||Ha(e,r,m,n))})),ja(C,[e,n])},onEnterCancelled(e){E(e,!1),ja(w,[e])},onAppearCancelled(e){E(e,!0),ja(O,[e])},onLeaveCancelled(e){T(e),ja(_,[e])}})}function Fa(e){return $(e)}function Da(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e[La]||(e[La]=new Set)).add(t)}function Ba(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const n=e[La];n&&(n.delete(t),n.size||(e[La]=void 0))}function Ua(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let Va=0;function Ha(e,t,n,r){const o=e._endId=++Va,i=()=>{o===e._endId&&r()};if(n)return setTimeout(i,n);const{type:s,timeout:a,propCount:l}=$a(e,t);if(!s)return r();const u=s+"end";let c=0;const f=()=>{e.removeEventListener(u,d),i()},d=t=>{t.target===e&&++c>=l&&f()};setTimeout((()=>{c(n[e]||"").split(", "),o=r(`${Ta}Delay`),i=r(`${Ta}Duration`),s=qa(o,i),a=r(`${Aa}Delay`),l=r(`${Aa}Duration`),u=qa(a,l);let c=null,f=0,d=0;t===Ta?s>0&&(c=Ta,f=s,d=i.length):t===Aa?u>0&&(c=Aa,f=u,d=l.length):(f=Math.max(s,u),c=f>0?s>u?Ta:Aa:null,d=c?c===Ta?i.length:l.length:0);return{type:c,timeout:f,propCount:d,hasTransform:c===Ta&&/\b(transform|all)(,|$)/.test(r(`${Ta}Property`).toString())}}function qa(e,t){for(;e.lengthza(t)+za(e[n]))))}function za(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function Wa(){return document.body.offsetHeight}const Za=Symbol("_vod"),Ka=Symbol("_vsh"),Ya={beforeMount(e,{value:t},{transition:n}){e[Za]="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):Ga(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Ga(e,!0),r.enter(e)):r.leave(e,(()=>{Ga(e,!1)})):Ga(e,t))},beforeUnmount(e,{value:t}){Ga(e,t)}};function Ga(e,t){e.style.display=t?e[Za]:"none",e[Ka]=!t}const Ja=Symbol("");function Qa(e){const t=$s();if(!t)return;const n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach((e=>el(e,n)))};const r=()=>{const r=e(t.proxy);Xa(t.subTree,r),n(r)};Lr((()=>{ji(r)})),Pr((()=>{const e=new MutationObserver(r);e.observe(t.subTree.el.parentNode,{childList:!0}),Nr((()=>e.disconnect()))}))}function Xa(e,t){if(128&e.shapeFlag){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push((()=>{Xa(n.activeBranch,t)}))}for(;e.component;)e=e.component.subTree;if(1&e.shapeFlag&&e.el)el(e.el,t);else if(e.type===as)e.children.forEach((e=>Xa(e,t)));else if(e.type===cs){let{el:n,anchor:r}=e;for(;n&&(el(n,t),n!==r);)n=n.nextSibling}}function el(e,t){if(1===e.nodeType){const n=e.style;let r="";for(const e in t)n.setProperty(`--${e}`,t[e]),r+=`--${e}: ${t[e]};`;n[Ja]=r}}const tl=/(^|;)\s*display\s*:/;const nl=/\s*!important$/;function rl(e,t,n){if(g(n))n.forEach((n=>rl(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=function(e,t){const n=il[t];if(n)return n;let r=j(t);if("filter"!==r&&r in e)return il[t]=r;r=F(r);for(let n=0;n{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();xn(function(e,t){if(g(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=hl(),n}(r,o);ll(e,n,s,a)}else s&&(!function(e,t,n,r){e.removeEventListener(t,n,r)}(e,n,s,a),i[t]=void 0)}}const fl=/(?:Once|Passive|Capture)$/;let dl=0;const pl=Promise.resolve(),hl=()=>dl||(pl.then((()=>dl=0)),dl=Date.now());const vl=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123;function gl(e,t,n){const r=hr(e,t);class o extends bl{constructor(e){super(r,e,n)}}return o.def=r,o}const ml=(e,t)=>gl(e,t,nu),yl="undefined"!=typeof HTMLElement?HTMLElement:class{};class bl extends yl{constructor(e,t={},n){super(),this._def=e,this._props=t,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this._ob=null,this.shadowRoot&&n?n(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,jn((()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),tu(null,this.shadowRoot),this._instance=null)}))}_resolveDef(){this._resolved=!0;for(let e=0;e{for(const t of e)this._setAttr(t.attributeName)})),this._ob.observe(this,{attributes:!0});const e=(e,t=!1)=>{const{props:n,styles:r}=e;let o;if(n&&!g(n))for(const e in n){const t=n[e];(t===Number||t&&t.type===Number)&&(e in this._props&&(this._props[e]=$(this._props[e])),(o||(o=Object.create(null)))[j(e)]=!0)}this._numberProps=o,t&&this._resolveProps(e),this._applyStyles(r),this._update()},t=this._def.__asyncLoader;t?t().then((t=>e(t,!0))):e(this._def)}_resolveProps(e){const{props:t}=e,n=g(t)?t:Object.keys(t||{});for(const e of Object.keys(this))"_"!==e[0]&&n.includes(e)&&this._setProp(e,this[e],!0,!1);for(const e of n.map(j))Object.defineProperty(this,e,{get(){return this._getProp(e)},set(t){this._setProp(e,t)}})}_setAttr(e){let t=this.hasAttribute(e)?this.getAttribute(e):void 0;const n=j(e);this._numberProps&&this._numberProps[n]&&(t=$(t)),this._setProp(n,t,!1)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,r=!0){t!==this._props[e]&&(this._props[e]=t,r&&this._instance&&this._update(),n&&(!0===t?this.setAttribute(M(e),""):"string"==typeof t||"number"==typeof t?this.setAttribute(M(e),t+""):t||this.removeAttribute(M(e))))}_update(){tu(this._createVNode(),this.shadowRoot)}_createVNode(){const e=Es(this._def,d({},this._props));return this._instance||(e.ce=e=>{this._instance=e,e.isCE=!0;const t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,{detail:t}))};e.emit=(e,...n)=>{t(e,n),M(e)!==e&&t(M(e),n)};let n=this;for(;n=n&&(n.parentNode||n.host);)if(n instanceof bl){e.parent=n._instance,e.provides=n._instance.provides;break}}),e}_applyStyles(e){e&&e.forEach((e=>{const t=document.createElement("style");t.textContent=e,this.shadowRoot.appendChild(t)}))}}function wl(e="$style"){{const t=$s();if(!t)return s;const n=t.type.__cssModules;if(!n)return s;const r=n[e];return r||s}}const Cl=new WeakMap,_l=new WeakMap,xl=Symbol("_moveCb"),Sl=Symbol("_enterCb"),kl={name:"TransitionGroup",props:d({},Ia,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=$s(),r=rr();let o,i;return Ir((()=>{if(!o.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,n){const r=e.cloneNode(),o=e[La];o&&o.forEach((e=>{e.split(/\s+/).forEach((e=>e&&r.classList.remove(e)))}));n.split(/\s+/).forEach((e=>e&&r.classList.add(e))),r.style.display="none";const i=1===t.nodeType?t:t.parentNode;i.appendChild(r);const{hasTransform:s}=$a(r);return i.removeChild(r),s}(o[0].el,n.vnode.el,t))return;o.forEach(El),o.forEach(Tl);const r=o.filter(Al);Wa(),r.forEach((e=>{const n=e.el,r=n.style;Da(n,t),r.transform=r.webkitTransform=r.transitionDuration="";const o=n[xl]=e=>{e&&e.target!==n||e&&!/transform$/.test(e.propertyName)||(n.removeEventListener("transitionend",o),n[xl]=null,Ba(n,t))};n.addEventListener("transitionend",o)}))})),()=>{const s=Ut(e),a=Ma(s);let l=s.tag||as;if(o=[],i)for(let e=0;e{const t=e.props["onUpdate:modelValue"]||!1;return g(t)?e=>U(t,e):t};function Pl(e){e.target.composing=!0}function Rl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Il=Symbol("_assign"),jl={created(e,{modifiers:{lazy:t,trim:n,number:r}},o){e[Il]=Ll(o);const i=r||o.props&&"number"===o.props.type;ll(e,t?"change":"input",(t=>{if(t.target.composing)return;let r=e.value;n&&(r=r.trim()),i&&(r=H(r)),e[Il](r)})),n&&ll(e,"change",(()=>{e.value=e.value.trim()})),t||(ll(e,"compositionstart",Pl),ll(e,"compositionend",Rl),ll(e,"change",Rl))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:o,number:i}},s){if(e[Il]=Ll(s),e.composing)return;const a=null==t?"":t;if((!i&&"number"!==e.type||/^0\d/.test(e.value)?e.value:H(e.value))!==a){if(document.activeElement===e&&"range"!==e.type){if(r&&t===n)return;if(o&&e.value.trim()===a)return}e.value=a}}},Nl={deep:!0,created(e,t,n){e[Il]=Ll(n),ll(e,"change",(()=>{const t=e._modelValue,n=Ul(e),r=e.checked,o=e[Il];if(g(t)){const e=de(t,n),i=-1!==e;if(r&&!i)o(t.concat(n));else if(!r&&i){const n=[...t];n.splice(e,1),o(n)}}else if(y(t)){const e=new Set(t);r?e.add(n):e.delete(n),o(e)}else o(Vl(e,r))}))},mounted:Ml,beforeUpdate(e,t,n){e[Il]=Ll(n),Ml(e,t,n)}};function Ml(e,{value:t,oldValue:n},r){e._modelValue=t,g(t)?e.checked=de(t,r.props.value)>-1:y(t)?e.checked=t.has(r.props.value):t!==n&&(e.checked=fe(t,Vl(e,!0)))}const Fl={created(e,{value:t},n){e.checked=fe(t,n.props.value),e[Il]=Ll(n),ll(e,"change",(()=>{e[Il](Ul(e))}))},beforeUpdate(e,{value:t,oldValue:n},r){e[Il]=Ll(r),t!==n&&(e.checked=fe(t,r.props.value))}},Dl={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const o=y(t);ll(e,"change",(()=>{const t=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>n?H(Ul(e)):Ul(e)));e[Il](e.multiple?o?new Set(t):t:t[0]),e._assigning=!0,jn((()=>{e._assigning=!1}))})),e[Il]=Ll(r)},mounted(e,{value:t,modifiers:{number:n}}){Bl(e,t)},beforeUpdate(e,t,n){e[Il]=Ll(n)},updated(e,{value:t,modifiers:{number:n}}){e._assigning||Bl(e,t)}};function Bl(e,t,n){const r=e.multiple,o=g(t);if(!r||o||y(t)){for(let n=0,i=e.options.length;nString(e)===String(s))):de(t,s)>-1}else i.selected=t.has(s);else if(fe(Ul(i),t))return void(e.selectedIndex!==n&&(e.selectedIndex=n))}r||-1===e.selectedIndex||(e.selectedIndex=-1)}}function Ul(e){return"_value"in e?e._value:e.value}function Vl(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Hl={created(e,t,n){ql(e,t,n,null,"created")},mounted(e,t,n){ql(e,t,n,null,"mounted")},beforeUpdate(e,t,n,r){ql(e,t,n,r,"beforeUpdate")},updated(e,t,n,r){ql(e,t,n,r,"updated")}};function $l(e,t){switch(e){case"SELECT":return Dl;case"TEXTAREA":return jl;default:switch(t){case"checkbox":return Nl;case"radio":return Fl;default:return jl}}}function ql(e,t,n,r,o){const i=$l(e.tagName,n.props&&n.props.type)[o];i&&i(e,t,n,r)}const zl=["ctrl","shift","alt","meta"],Wl={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>zl.some((n=>e[`${n}Key`]&&!t.includes(n)))},Zl=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(n,...r)=>{for(let e=0;e{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=n=>{if(!("key"in n))return;const r=M(n.key);return t.some((e=>e===r||Kl[e]===r))?e(n):void 0})},Gl=d({patchProp:(e,t,n,r,o,i)=>{const s="svg"===o;"class"===t?function(e,t,n){const r=e[La];r&&(t=(t?[t,...r]:[...r]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,r,s):"style"===t?function(e,t,n){const r=e.style,o=C(n);let i=!1;if(n&&!o){if(t)if(C(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==n[t]&&rl(r,t,"")}else for(const e in t)null==n[e]&&rl(r,e,"");for(const e in n)"display"===e&&(i=!0),rl(r,e,n[e])}else if(o){if(t!==n){const e=r[Ja];e&&(n+=";"+e),r.cssText=n,i=tl.test(n)}}else t&&e.removeAttribute("style");Za in e&&(e[Za]=i?r.display:"",e[Ka]&&(r.display="none"))}(e,n,r):c(t)?f(t)||cl(e,t,0,r,i):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,r){if(r)return"innerHTML"===t||"textContent"===t||!!(t in e&&vl(t)&&w(n));if("spellcheck"===t||"draggable"===t||"translate"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}if(vl(t)&&C(n))return!1;return t in e}(e,t,r,s))?(!function(e,t,n){if("innerHTML"===t||"textContent"===t){if(null==n)return;return void(e[t]=n)}const r=e.tagName;if("value"===t&&"PROGRESS"!==r&&!r.includes("-")){const o="OPTION"===r?e.getAttribute("value")||"":e.value,i=null==n?"":String(n);return o===i&&"_value"in e||(e.value=i),null==n&&e.removeAttribute(t),void(e._value=n)}let o=!1;if(""===n||null==n){const r=typeof e[t];"boolean"===r?n=le(n):null==n&&"string"===r?(n="",o=!0):"number"===r&&(n=0,o=!0)}try{e[t]=n}catch(e){}o&&e.removeAttribute(t)}(e,t,r),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||al(e,t,r,s,0,"value"!==t)):("true-value"===t?e._trueValue=r:"false-value"===t&&(e._falseValue=r),al(e,t,r,s))}},Ea);let Jl,Ql=!1;function Xl(){return Jl||(Jl=_i(Gl))}function eu(){return Jl=Ql?Jl:xi(Gl),Ql=!0,Jl}const tu=(...e)=>{Xl().render(...e)},nu=(...e)=>{eu().hydrate(...e)},ru=(...e)=>{const t=Xl().createApp(...e);const{mount:n}=t;return t.mount=e=>{const r=su(e);if(!r)return;const o=t._component;w(o)||o.render||o.template||(o.template=r.innerHTML),r.innerHTML="";const i=n(r,!1,iu(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t},ou=(...e)=>{const t=eu().createApp(...e);const{mount:n}=t;return t.mount=e=>{const t=su(e);if(t)return n(t,!0,iu(t))},t};function iu(e){return e instanceof SVGElement?"svg":"function"==typeof MathMLElement&&e instanceof MathMLElement?"mathml":void 0}function su(e){if(C(e)){return document.querySelector(e)}return e}let au=!1;const lu=()=>{au||(au=!0,jl.getSSRProps=({value:e})=>({value:e}),Fl.getSSRProps=({value:e},t)=>{if(t.props&&fe(t.props.value,e))return{checked:!0}},Nl.getSSRProps=({value:e},t)=>{if(g(e)){if(t.props&&de(e,t.props.value)>-1)return{checked:!0}}else if(y(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},Hl.getSSRProps=(e,t)=>{if("string"!=typeof t.type)return;const n=$l(t.type.toUpperCase(),t.props&&t.props.type);return n.getSSRProps?n.getSSRProps(e,t):void 0},Ya.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}})},uu=Symbol(""),cu=Symbol(""),fu=Symbol(""),du=Symbol(""),pu=Symbol(""),hu=Symbol(""),vu=Symbol(""),gu=Symbol(""),mu=Symbol(""),yu=Symbol(""),bu=Symbol(""),wu=Symbol(""),Cu=Symbol(""),_u=Symbol(""),xu=Symbol(""),Su=Symbol(""),ku=Symbol(""),Ou=Symbol(""),Eu=Symbol(""),Tu=Symbol(""),Au=Symbol(""),Lu=Symbol(""),Pu=Symbol(""),Ru=Symbol(""),Iu=Symbol(""),ju=Symbol(""),Nu=Symbol(""),Mu=Symbol(""),Fu=Symbol(""),Du=Symbol(""),Bu=Symbol(""),Uu=Symbol(""),Vu=Symbol(""),Hu=Symbol(""),$u=Symbol(""),qu=Symbol(""),zu=Symbol(""),Wu=Symbol(""),Zu=Symbol(""),Ku={[uu]:"Fragment",[cu]:"Teleport",[fu]:"Suspense",[du]:"KeepAlive",[pu]:"BaseTransition",[hu]:"openBlock",[vu]:"createBlock",[gu]:"createElementBlock",[mu]:"createVNode",[yu]:"createElementVNode",[bu]:"createCommentVNode",[wu]:"createTextVNode",[Cu]:"createStaticVNode",[_u]:"resolveComponent",[xu]:"resolveDynamicComponent",[Su]:"resolveDirective",[ku]:"resolveFilter",[Ou]:"withDirectives",[Eu]:"renderList",[Tu]:"renderSlot",[Au]:"createSlots",[Lu]:"toDisplayString",[Pu]:"mergeProps",[Ru]:"normalizeClass",[Iu]:"normalizeStyle",[ju]:"normalizeProps",[Nu]:"guardReactiveProps",[Mu]:"toHandlers",[Fu]:"camelize",[Du]:"capitalize",[Bu]:"toHandlerKey",[Uu]:"setBlockTracking",[Vu]:"pushScopeId",[Hu]:"popScopeId",[$u]:"withCtx",[qu]:"unref",[zu]:"isRef",[Wu]:"withMemo",[Zu]:"isMemoSame"};const Yu={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function Gu(e,t,n,r,o,i,s,a=!1,l=!1,u=!1,c=Yu){return e&&(a?(e.helper(hu),e.helper(sc(e.inSSR,u))):e.helper(ic(e.inSSR,u)),s&&e.helper(Ou)),{type:13,tag:t,props:n,children:r,patchFlag:o,dynamicProps:i,directives:s,isBlock:a,disableTracking:l,isComponent:u,loc:c}}function Ju(e,t=Yu){return{type:17,loc:t,elements:e}}function Qu(e,t=Yu){return{type:15,loc:t,properties:e}}function Xu(e,t){return{type:16,loc:Yu,key:C(e)?ec(e,!0):e,value:t}}function ec(e,t=!1,n=Yu,r=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:r}}function tc(e,t=Yu){return{type:8,loc:t,children:e}}function nc(e,t=[],n=Yu){return{type:14,loc:n,callee:e,arguments:t}}function rc(e,t=void 0,n=!1,r=!1,o=Yu){return{type:18,params:e,returns:t,newline:n,isSlot:r,loc:o}}function oc(e,t,n,r=!0){return{type:19,test:e,consequent:t,alternate:n,newline:r,loc:Yu}}function ic(e,t){return e||t?mu:yu}function sc(e,t){return e||t?vu:gu}function ac(e,{helper:t,removeHelper:n,inSSR:r}){e.isBlock||(e.isBlock=!0,n(ic(r,e.isComponent)),t(hu),t(sc(r,e.isComponent)))}const lc=new Uint8Array([123,123]),uc=new Uint8Array([125,125]);function cc(e){return e>=97&&e<=122||e>=65&&e<=90}function fc(e){return 32===e||10===e||9===e||12===e||13===e}function dc(e){return 47===e||62===e||fc(e)}function pc(e){const t=new Uint8Array(e.length);for(let n=0;n4===e.type&&e.isStatic;function _c(e){switch(e){case"Teleport":case"teleport":return cu;case"Suspense":case"suspense":return fu;case"KeepAlive":case"keep-alive":return du;case"BaseTransition":case"base-transition":return pu}}const xc=/^\d|[^\$\w\xA0-\uFFFF]/,Sc=e=>!xc.test(e),kc=/[A-Za-z_$\xA0-\uFFFF]/,Oc=/[\.\?\w$\xA0-\uFFFF]/,Ec=/\s+[.[]\s*|\s*[.[]\s+/g,Tc=e=>4===e.type?e.content:e.loc.source,Ac=e=>{const t=Tc(e).trim().replace(Ec,(e=>e.trim()));let n=0,r=[],o=0,i=0,s=null;for(let e=0;e|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/,Pc=e=>Lc.test(Tc(e));function Rc(e,t,n=!1){for(let r=0;r4===e.key.type&&e.key.content===r))}return n}function $c(e,t){return`_${t}_${e.replace(/[^\w]/g,((t,n)=>"-"===t?"_":e.charCodeAt(n).toString()))}`}const qc=/([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/,zc={parseMode:"base",ns:0,delimiters:["{{","}}"],getNamespace:()=>0,isVoidTag:u,isPreTag:u,isCustomElement:u,onError:yc,onWarn:bc,comments:!1,prefixIdentifiers:!1};let Wc=zc,Zc=null,Kc="",Yc=null,Gc=null,Jc="",Qc=-1,Xc=-1,ef=0,tf=!1,nf=null;const rf=[],of=new class{constructor(e,t){this.stack=e,this.cbs=t,this.state=1,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=1,this.inRCDATA=!1,this.inXML=!1,this.inVPre=!1,this.newlines=[],this.mode=0,this.delimiterOpen=lc,this.delimiterClose=uc,this.delimiterIndex=-1,this.currentSequence=void 0,this.sequenceIndex=0}get inSFCRoot(){return 2===this.mode&&0===this.stack.length}reset(){this.state=1,this.mode=0,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=1,this.inRCDATA=!1,this.currentSequence=void 0,this.newlines.length=0,this.delimiterOpen=lc,this.delimiterClose=uc}getPos(e){let t=1,n=e+1;for(let r=this.newlines.length-1;r>=0;r--){const o=this.newlines[r];if(e>o){t=r+2,n=e-o;break}}return{column:n,line:t,offset:e}}peek(){return this.buffer.charCodeAt(this.index+1)}stateText(e){60===e?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=5,this.sectionStart=this.index):this.inVPre||e!==this.delimiterOpen[0]||(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(e))}stateInterpolationOpen(e){if(e===this.delimiterOpen[this.delimiterIndex])if(this.delimiterIndex===this.delimiterOpen.length-1){const e=this.index+1-this.delimiterOpen.length;e>this.sectionStart&&this.cbs.ontext(this.sectionStart,e),this.state=3,this.sectionStart=e}else this.delimiterIndex++;else this.inRCDATA?(this.state=32,this.stateInRCDATA(e)):(this.state=1,this.stateText(e))}stateInterpolation(e){e===this.delimiterClose[0]&&(this.state=4,this.delimiterIndex=0,this.stateInterpolationClose(e))}stateInterpolationClose(e){e===this.delimiterClose[this.delimiterIndex]?this.delimiterIndex===this.delimiterClose.length-1?(this.cbs.oninterpolation(this.sectionStart,this.index+1),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):this.delimiterIndex++:(this.state=3,this.stateInterpolation(e))}stateSpecialStartSequence(e){const t=this.sequenceIndex===this.currentSequence.length;if(t?dc(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.inRCDATA=!1;this.sequenceIndex=0,this.state=6,this.stateInTagName(e)}stateInRCDATA(e){if(this.sequenceIndex===this.currentSequence.length){if(62===e||fc(e)){const t=this.index-this.currentSequence.length;if(this.sectionStart=e||(28===this.state?this.currentSequence===hc.CdataEnd?this.cbs.oncdata(this.sectionStart,e):this.cbs.oncomment(this.sectionStart,e):6===this.state||11===this.state||18===this.state||17===this.state||12===this.state||13===this.state||14===this.state||15===this.state||16===this.state||20===this.state||19===this.state||21===this.state||9===this.state||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,t){}}(rf,{onerr:kf,ontext(e,t){cf(lf(e,t),e,t)},ontextentity(e,t,n){cf(e,t,n)},oninterpolation(e,t){if(tf)return cf(lf(e,t),e,t);let n=e+of.delimiterOpen.length,r=t-of.delimiterClose.length;for(;fc(Kc.charCodeAt(n));)n++;for(;fc(Kc.charCodeAt(r-1));)r--;let o=lf(n,r);o.includes("&")&&(o=Wc.decodeEntities(o,!1)),wf({type:5,content:Sf(o,!1,Cf(n,r)),loc:Cf(e,t)})},onopentagname(e,t){const n=lf(e,t);Yc={type:1,tag:n,ns:Wc.getNamespace(n,rf[0],Wc.ns),tagType:0,props:[],children:[],loc:Cf(e-1,t),codegenNode:void 0}},onopentagend(e){uf(e)},onclosetag(e,t){const n=lf(e,t);if(!Wc.isVoidTag(n)){let r=!1;for(let e=0;e0&&kf(24,rf[0].loc.start.offset);for(let n=0;n<=e;n++){ff(rf.shift(),t,n(7===e.type?e.rawName:e.name)===n))&&kf(2,t)},onattribend(e,t){if(Yc&&Gc){if(_f(Gc.loc,t),0!==e)if(Jc.includes("&")&&(Jc=Wc.decodeEntities(Jc,!0)),6===Gc.type)"class"===Gc.name&&(Jc=bf(Jc).trim()),1!==e||Jc||kf(13,t),Gc.value={type:2,content:Jc,loc:1===e?Cf(Qc,Xc):Cf(Qc-1,Xc+1)},of.inSFCRoot&&"template"===Yc.tag&&"lang"===Gc.name&&Jc&&"html"!==Jc&&of.enterRCDATA(pc("{const o=t.start.offset+n;return Sf(e,!1,Cf(o,o+e.length),0,r?1:0)},a={source:s(i.trim(),n.indexOf(i,o.length)),value:void 0,key:void 0,index:void 0,finalized:!1};let l=o.trim().replace(af,"").trim();const u=o.indexOf(l),c=l.match(sf);if(c){l=l.replace(sf,"").trim();const e=c[1].trim();let t;if(e&&(t=n.indexOf(e,u+l.length),a.key=s(e,t,!0)),c[2]){const r=c[2].trim();r&&(a.index=s(r,n.indexOf(r,a.key?t+e.length:u+l.length),!0))}}l&&(a.value=s(l,u,!0));return a}(Gc.exp));let t=-1;"bind"===Gc.name&&(t=Gc.modifiers.indexOf("sync"))>-1&&mc("COMPILER_V_BIND_SYNC",Wc,Gc.loc,Gc.rawName)&&(Gc.name="model",Gc.modifiers.splice(t,1))}7===Gc.type&&"pre"===Gc.name||Yc.props.push(Gc)}Jc="",Qc=Xc=-1},oncomment(e,t){Wc.comments&&wf({type:3,content:lf(e,t),loc:Cf(e-4,t+3)})},onend(){const e=Kc.length;for(let t=0;t64&&e<91}(e.charCodeAt(0))||_c(e)||Wc.isBuiltInComponent&&Wc.isBuiltInComponent(e)||Wc.isNativeTag&&!Wc.isNativeTag(e))return!0;for(let e=0;e6===e.type&&"inline-template"===e.name));n&&mc("COMPILER_INLINE_TEMPLATE",Wc,n.loc)&&e.children.length&&(n.value={type:2,content:lf(e.children[0].loc.start.offset,e.children[e.children.length-1].loc.end.offset),loc:n.loc})}}function df(e,t){let n=e;for(;Kc.charCodeAt(n)!==t&&n>=0;)n--;return n}const pf=new Set(["if","else","else-if","for","slot"]);function hf({tag:e,props:t}){if("template"===e)for(let e=0;e0){if(e>=2){o.codegenNode.patchFlag=-1,o.codegenNode=t.hoist(o.codegenNode),i++;continue}}else{const e=o.codegenNode;if(13===e.type){const n=e.patchFlag;if((void 0===n||512===n||1===n)&&If(o,t)>=2){const n=jf(o);n&&(e.props=t.hoist(n))}e.dynamicProps&&(e.dynamicProps=t.hoist(e.dynamicProps))}}}if(1===o.type){const e=1===o.tagType;e&&t.scopes.vSlot++,Af(o,t),e&&t.scopes.vSlot--}else if(11===o.type)Af(o,t,1===o.children.length);else if(9===o.type)for(let e=0;e1)for(let o=0;o`_${Ku[E.helper(e)]}`,replaceNode(e){E.parent.children[E.childIndex]=E.currentNode=e},removeNode(e){const t=E.parent.children,n=e?t.indexOf(e):E.currentNode?E.childIndex:-1;e&&e!==E.currentNode?E.childIndex>n&&(E.childIndex--,E.onNodeRemoved()):(E.currentNode=null,E.onNodeRemoved()),E.parent.children.splice(n,1)},onNodeRemoved:l,addIdentifiers(e){},removeIdentifiers(e){},hoist(e){C(e)&&(e=ec(e)),E.hoists.push(e);const t=ec(`_hoisted_${E.hoists.length}`,!1,e.loc,2);return t.hoisted=e,t},cache:(e,t=!1)=>function(e,t,n=!1){return{type:20,index:e,value:t,isVOnce:n,loc:Yu}}(E.cached++,e,t)};return E.filters=new Set,E}function Mf(e,t){const n=Nf(e,t);Ff(e,n),t.hoistStatic&&Ef(e,n),t.ssr||function(e,t){const{helper:n}=t,{children:r}=e;if(1===r.length){const n=r[0];if(Tf(e,n)&&n.codegenNode){const r=n.codegenNode;13===r.type&&ac(r,t),e.codegenNode=r}else e.codegenNode=n}else if(r.length>1){let r=64;W[64];0,e.codegenNode=Gu(t,n(uu),void 0,e.children,r,void 0,void 0,!0,void 0,!1)}}(e,n),e.helpers=new Set([...n.helpers.keys()]),e.components=[...n.components],e.directives=[...n.directives],e.imports=n.imports,e.hoists=n.hoists,e.temps=n.temps,e.cached=n.cached,e.transformed=!0,e.filters=[...n.filters]}function Ff(e,t){t.currentNode=e;const{nodeTransforms:n}=t,r=[];for(let o=0;o{n--};for(;nt===e:t=>e.test(t);return(e,r)=>{if(1===e.type){const{props:o}=e;if(3===e.tagType&&o.some(Mc))return;const i=[];for(let s=0;s`${Ku[e]}: _${Ku[e]}`;function Vf(e,t={}){const n=function(e,{mode:t="function",prefixIdentifiers:n="module"===t,sourceMap:r=!1,filename:o="template.vue.html",scopeId:i=null,optimizeImports:s=!1,runtimeGlobalName:a="Vue",runtimeModuleName:l="vue",ssrRuntimeModuleName:u="vue/server-renderer",ssr:c=!1,isTS:f=!1,inSSR:d=!1}){const p={mode:t,prefixIdentifiers:n,sourceMap:r,filename:o,scopeId:i,optimizeImports:s,runtimeGlobalName:a,runtimeModuleName:l,ssrRuntimeModuleName:u,ssr:c,isTS:f,inSSR:d,source:e.source,code:"",column:1,line:1,offset:0,indentLevel:0,pure:!1,map:void 0,helper:e=>`_${Ku[e]}`,push(e,t=-2,n){p.code+=e},indent(){h(++p.indentLevel)},deindent(e=!1){e?--p.indentLevel:h(--p.indentLevel)},newline(){h(p.indentLevel)}};function h(e){p.push("\n"+" ".repeat(e),0)}return p}(e,t);t.onContextCreated&&t.onContextCreated(n);const{mode:r,push:o,prefixIdentifiers:i,indent:s,deindent:a,newline:l,scopeId:u,ssr:c}=n,f=Array.from(e.helpers),d=f.length>0,p=!i&&"module"!==r;!function(e,t){const{ssr:n,prefixIdentifiers:r,push:o,newline:i,runtimeModuleName:s,runtimeGlobalName:a,ssrRuntimeModuleName:l}=t,u=a,c=Array.from(e.helpers);if(c.length>0&&(o(`const _Vue = ${u}\n`,-1),e.hoists.length)){o(`const { ${[mu,yu,bu,wu,Cu].filter((e=>c.includes(e))).map(Uf).join(", ")} } = _Vue\n`,-1)}(function(e,t){if(!e.length)return;t.pure=!0;const{push:n,newline:r,helper:o,scopeId:i,mode:s}=t;r();for(let o=0;o0)&&l()),e.directives.length&&(Hf(e.directives,"directive",n),e.temps>0&&l()),e.filters&&e.filters.length&&(l(),Hf(e.filters,"filter",n),l()),e.temps>0){o("let ");for(let t=0;t0?", ":""}_temp${t}`)}return(e.components.length||e.directives.length||e.temps)&&(o("\n",0),l()),c||o("return "),e.codegenNode?zf(e.codegenNode,n):o("null"),p&&(a(),o("}")),a(),o("}"),{ast:e,code:n.code,preamble:"",map:n.map?n.map.toJSON():void 0}}function Hf(e,t,{helper:n,push:r,newline:o,isTS:i}){const s=n("filter"===t?ku:"component"===t?_u:Su);for(let n=0;n3||!1;t.push("["),n&&t.indent(),qf(e,t,n),n&&t.deindent(),t.push("]")}function qf(e,t,n=!1,r=!0){const{push:o,newline:i}=t;for(let s=0;se||"null"))}([i,s,a,h,u]),t),n(")"),f&&n(")");c&&(n(", "),zf(c,t),n(")"))}(e,t);break;case 14:!function(e,t){const{push:n,helper:r,pure:o}=t,i=C(e.callee)?e.callee:r(e.callee);o&&n(Bf);n(i+"(",-2,e),qf(e.arguments,t),n(")")}(e,t);break;case 15:!function(e,t){const{push:n,indent:r,deindent:o,newline:i}=t,{properties:s}=e;if(!s.length)return void n("{}",-2,e);const a=s.length>1||!1;n(a?"{":"{ "),a&&r();for(let e=0;e "),(l||a)&&(n("{"),r());s?(l&&n("return "),g(s)?$f(s,t):zf(s,t)):a&&zf(a,t);(l||a)&&(o(),n("}"));u&&(e.isNonScopedSlot&&n(", undefined, true"),n(")"))}(e,t);break;case 19:!function(e,t){const{test:n,consequent:r,alternate:o,newline:i}=e,{push:s,indent:a,deindent:l,newline:u}=t;if(4===n.type){const e=!Sc(n.content);e&&s("("),Wf(n,t),e&&s(")")}else s("("),zf(n,t),s(")");i&&a(),t.indentLevel++,i||s(" "),s("? "),zf(r,t),t.indentLevel--,i&&u(),i||s(" "),s(": ");const c=19===o.type;c||t.indentLevel++;zf(o,t),c||t.indentLevel--;i&&l(!0)}(e,t);break;case 20:!function(e,t){const{push:n,helper:r,indent:o,deindent:i,newline:s}=t;n(`_cache[${e.index}] || (`),e.isVOnce&&(o(),n(`${r(Uu)}(-1),`),s(),n("("));n(`_cache[${e.index}] = `),zf(e.value,t),e.isVOnce&&(n(`).cacheIndex = ${e.index},`),s(),n(`${r(Uu)}(1),`),s(),n(`_cache[${e.index}]`),i());n(")")}(e,t);break;case 21:qf(e.body,t,!0,!1)}}function Wf(e,t){const{content:n,isStatic:r}=e;t.push(r?JSON.stringify(n):n,-3,e)}function Zf(e,t){for(let n=0;nfunction(e,t,n,r){if(!("else"===t.name||t.exp&&t.exp.content.trim())){const r=t.exp?t.exp.loc:e.loc;n.onError(wc(28,t.loc)),t.exp=ec("true",!1,r)}0;if("if"===t.name){const o=Gf(e,t),i={type:9,loc:e.loc,branches:[o]};if(n.replaceNode(i),r)return r(i,o,!0)}else{const o=n.parent.children;let i=o.indexOf(e);for(;i-- >=-1;){const s=o[i];if(s&&3===s.type)n.removeNode(s);else{if(!s||2!==s.type||s.content.trim().length){if(s&&9===s.type){"else-if"===t.name&&void 0===s.branches[s.branches.length-1].condition&&n.onError(wc(30,e.loc)),n.removeNode();const o=Gf(e,t);0,s.branches.push(o);const i=r&&r(s,o,!1);Ff(o,n),i&&i(),n.currentNode=null}else n.onError(wc(30,e.loc));break}n.removeNode(s)}}}}(e,t,n,((e,t,r)=>{const o=n.parent.children;let i=o.indexOf(e),s=0;for(;i-- >=0;){const e=o[i];e&&9===e.type&&(s+=e.branches.length)}return()=>{if(r)e.codegenNode=Jf(t,s,n);else{const r=function(e){for(;;)if(19===e.type){if(19!==e.alternate.type)return e;e=e.alternate}else 20===e.type&&(e=e.value)}(e.codegenNode);r.alternate=Jf(t,s+e.branches.length-1,n)}}}))));function Gf(e,t){const n=3===e.tagType;return{type:10,loc:e.loc,condition:"else"===t.name?void 0:t.exp,children:n&&!Rc(e,"for")?e.children:[e],userKey:Ic(e,"key"),isTemplateIf:n}}function Jf(e,t,n){return e.condition?oc(e.condition,Qf(e,t,n),nc(n.helper(bu),['""',"true"])):Qf(e,t,n)}function Qf(e,t,n){const{helper:r}=n,o=Xu("key",ec(`${t}`,!1,Yu,2)),{children:i}=e,s=i[0];if(1!==i.length||1!==s.type){if(1===i.length&&11===s.type){const e=s.codegenNode;return Vc(e,o,n),e}{let t=64;W[64];return Gu(n,r(uu),Qu([o]),i,t,void 0,void 0,!0,!1,!1,e.loc)}}{const e=s.codegenNode,t=14===(a=e).type&&a.callee===Wu?a.arguments[1].returns:a;return 13===t.type&&ac(t,n),Vc(t,o,n),e}var a}const Xf=(e,t,n)=>{const{modifiers:r,loc:o}=e,i=e.arg;let{exp:s}=e;if(s&&4===s.type&&!s.content.trim()&&(s=void 0),!s){if(4!==i.type||!i.isStatic)return n.onError(wc(52,i.loc)),{props:[Xu(i,ec("",!0,o))]};ed(e),s=e.exp}return 4!==i.type?(i.children.unshift("("),i.children.push(') || ""')):i.isStatic||(i.content=`${i.content} || ""`),r.includes("camel")&&(4===i.type?i.isStatic?i.content=j(i.content):i.content=`${n.helperString(Fu)}(${i.content})`:(i.children.unshift(`${n.helperString(Fu)}(`),i.children.push(")"))),n.inSSR||(r.includes("prop")&&td(i,"."),r.includes("attr")&&td(i,"^")),{props:[Xu(i,s)]}},ed=(e,t)=>{const n=e.arg,r=j(n.content);e.exp=ec(r,!1,n.loc)},td=(e,t)=>{4===e.type?e.isStatic?e.content=t+e.content:e.content=`\`${t}\${${e.content}}\``:(e.children.unshift(`'${t}' + (`),e.children.push(")"))},nd=Df("for",((e,t,n)=>{const{helper:r,removeHelper:o}=n;return function(e,t,n,r){if(!t.exp)return void n.onError(wc(31,t.loc));const o=t.forParseResult;if(!o)return void n.onError(wc(32,t.loc));rd(o,n);const{addIdentifiers:i,removeIdentifiers:s,scopes:a}=n,{source:l,value:u,key:c,index:f}=o,d={type:11,loc:t.loc,source:l,valueAlias:u,keyAlias:c,objectIndexAlias:f,parseResult:o,children:Fc(e)?e.children:[e]};n.replaceNode(d),a.vFor++;const p=r&&r(d);return()=>{a.vFor--,p&&p()}}(e,t,n,(t=>{const i=nc(r(Eu),[t.source]),s=Fc(e),a=Rc(e,"memo"),l=Ic(e,"key",!1,!0);l&&7===l.type&&!l.exp&&ed(l);const u=l&&(6===l.type?l.value?ec(l.value.content,!0):void 0:l.exp),c=l&&u?Xu("key",u):null,f=4===t.source.type&&t.source.constType>0,d=f?64:l?128:256;return t.codegenNode=Gu(n,r(uu),void 0,i,d,void 0,void 0,!0,!f,!1,e.loc),()=>{let l;const{children:d}=t;const p=1!==d.length||1!==d[0].type,h=Dc(e)?e:s&&1===e.children.length&&Dc(e.children[0])?e.children[0]:null;if(h?(l=h.codegenNode,s&&c&&Vc(l,c,n)):p?l=Gu(n,r(uu),c?Qu([c]):void 0,e.children,64,void 0,void 0,!0,void 0,!1):(l=d[0].codegenNode,s&&c&&Vc(l,c,n),l.isBlock!==!f&&(l.isBlock?(o(hu),o(sc(n.inSSR,l.isComponent))):o(ic(n.inSSR,l.isComponent))),l.isBlock=!f,l.isBlock?(r(hu),r(sc(n.inSSR,l.isComponent))):r(ic(n.inSSR,l.isComponent))),a){const e=rc(od(t.parseResult,[ec("_cached")]));e.body={type:21,body:[tc(["const _memo = (",a.exp,")"]),tc(["if (_cached",...u?[" && _cached.key === ",u]:[],` && ${n.helperString(Zu)}(_cached, _memo)) return _cached`]),tc(["const _item = ",l]),ec("_item.memo = _memo"),ec("return _item")],loc:Yu},i.arguments.push(e,ec("_cache"),ec(String(n.cached++)))}else i.arguments.push(rc(od(t.parseResult),l,!0))}}))}));function rd(e,t){e.finalized||(e.finalized=!0)}function od({value:e,key:t,index:n},r=[]){return function(e){let t=e.length;for(;t--&&!e[t];);return e.slice(0,t+1).map(((e,t)=>e||ec("_".repeat(t+1),!1)))}([e,t,n,...r])}const id=ec("undefined",!1),sd=(e,t)=>{if(1===e.type&&(1===e.tagType||3===e.tagType)){const n=Rc(e,"slot");if(n)return n.exp,t.scopes.vSlot++,()=>{t.scopes.vSlot--}}},ad=(e,t,n,r)=>rc(e,n,!1,!0,n.length?n[0].loc:r);function ld(e,t,n=ad){t.helper($u);const{children:r,loc:o}=e,i=[],s=[];let a=t.scopes.vSlot>0||t.scopes.vFor>0;const l=Rc(e,"slot",!0);if(l){const{arg:e,exp:t}=l;e&&!Cc(e)&&(a=!0),i.push(Xu(e||ec("default",!0),n(t,void 0,r,o)))}let u=!1,c=!1;const f=[],d=new Set;let p=0;for(let e=0;e{const i=n(e,void 0,r,o);return t.compatConfig&&(i.isNonScopedSlot=!0),Xu("default",i)};u?f.length&&f.some((e=>fd(e)))&&(c?t.onError(wc(39,f[0].loc)):i.push(e(void 0,f))):i.push(e(void 0,r))}const h=a?2:cd(e.children)?3:1;let v=Qu(i.concat(Xu("_",ec(h+"",!1))),o);return s.length&&(v=nc(t.helper(Au),[v,Ju(s)])),{slots:v,hasDynamicSlots:a}}function ud(e,t,n){const r=[Xu("name",e),Xu("fn",t)];return null!=n&&r.push(Xu("key",ec(String(n),!0))),Qu(r)}function cd(e){for(let t=0;tfunction(){if(1!==(e=t.currentNode).type||0!==e.tagType&&1!==e.tagType)return;const{tag:n,props:r}=e,o=1===e.tagType;let i=o?function(e,t,n=!1){let{tag:r}=e;const o=md(r),i=Ic(e,"is",!1,!0);if(i)if(o||gc("COMPILER_IS_ON_ELEMENT",t)){let e;if(6===i.type?e=i.value&&ec(i.value.content,!0):(e=i.exp,e||(e=ec("is",!1,i.arg.loc))),e)return nc(t.helper(xu),[e])}else 6===i.type&&i.value.content.startsWith("vue:")&&(r=i.value.content.slice(4));const s=_c(r)||t.isBuiltInComponent(r);if(s)return n||t.helper(s),s;return t.helper(_u),t.components.add(r),$c(r,"component")}(e,t):`"${n}"`;const s=x(i)&&i.callee===xu;let a,l,u,c,f,d=0,p=s||i===cu||i===fu||!o&&("svg"===n||"foreignObject"===n||"math"===n);if(r.length>0){const n=hd(e,t,void 0,o,s);a=n.props,d=n.patchFlag,c=n.dynamicPropNames;const r=n.directives;f=r&&r.length?Ju(r.map((e=>function(e,t){const n=[],r=dd.get(e);r?n.push(t.helperString(r)):(t.helper(Su),t.directives.add(e.name),n.push($c(e.name,"directive")));const{loc:o}=e;e.exp&&n.push(e.exp);e.arg&&(e.exp||n.push("void 0"),n.push(e.arg));if(Object.keys(e.modifiers).length){e.arg||(e.exp||n.push("void 0"),n.push("void 0"));const t=ec("true",!1,o);n.push(Qu(e.modifiers.map((e=>Xu(e,t))),o))}return Ju(n,e.loc)}(e,t)))):void 0,n.shouldUseBlock&&(p=!0)}if(e.children.length>0){i===du&&(p=!0,d|=1024);if(o&&i!==cu&&i!==du){const{slots:n,hasDynamicSlots:r}=ld(e,t);l=n,r&&(d|=1024)}else if(1===e.children.length&&i!==cu){const n=e.children[0],r=n.type,o=5===r||8===r;o&&0===Lf(n,t)&&(d|=1),l=o||2===r?n:e.children}else l=e.children}c&&c.length&&(u=function(e){let t="[";for(let n=0,r=e.length;n0;let h=!1,v=0,g=!1,m=!1,y=!1,b=!1,w=!1,C=!1;const x=[],S=e=>{u.length&&(f.push(Qu(vd(u),a)),u=[]),e&&f.push(e)},k=()=>{t.scopes.vFor>0&&u.push(Xu(ec("ref_for",!0),ec("true")))},O=({key:e,value:n})=>{if(Cc(e)){const i=e.content,s=c(i);if(!s||r&&!o||"onclick"===i.toLowerCase()||"onUpdate:modelValue"===i||L(i)||(b=!0),s&&L(i)&&(C=!0),s&&14===n.type&&(n=n.arguments[0]),20===n.type||(4===n.type||8===n.type)&&Lf(n,t)>0)return;"ref"===i?g=!0:"class"===i?m=!0:"style"===i?y=!0:"key"===i||x.includes(i)||x.push(i),!r||"class"!==i&&"style"!==i||x.includes(i)||x.push(i)}else w=!0};for(let o=0;o1?nc(t.helper(Pu),f,a):f[0]):u.length&&(E=Qu(vd(u),a)),w?v|=16:(m&&!r&&(v|=2),y&&!r&&(v|=4),x.length&&(v|=8),b&&(v|=32)),h||0!==v&&32!==v||!(g||C||d.length>0)||(v|=512),!t.inSSR&&E)switch(E.type){case 15:let e=-1,n=-1,r=!1;for(let t=0;t{if(Dc(e)){const{children:n,loc:r}=e,{slotName:o,slotProps:i}=function(e,t){let n,r='"default"';const o=[];for(let t=0;t0){const{props:r,directives:i}=hd(e,t,o,!1,!1);n=r,i.length&&t.onError(wc(36,i[0].loc))}return{slotName:r,slotProps:n}}(e,t),s=[t.prefixIdentifiers?"_ctx.$slots":"$slots",o,"{}","undefined","true"];let a=2;i&&(s[2]=i,a=3),n.length&&(s[3]=rc([],n,!1,!1,r),a=4),t.scopeId&&!t.slotted&&(a=5),s.splice(a),e.codegenNode=nc(t.helper(Tu),s,r)}};const bd=(e,t,n,r)=>{const{loc:o,modifiers:i,arg:s}=e;let a;if(e.exp||i.length||n.onError(wc(35,o)),4===s.type)if(s.isStatic){let e=s.content;0,e.startsWith("vue:")&&(e=`vnode-${e.slice(4)}`);a=ec(0!==t.tagType||e.startsWith("vnode")||!/[A-Z]/.test(e)?D(j(e)):`on:${e}`,!0,s.loc)}else a=tc([`${n.helperString(Bu)}(`,s,")"]);else a=s,a.children.unshift(`${n.helperString(Bu)}(`),a.children.push(")");let l=e.exp;l&&!l.content.trim()&&(l=void 0);let u=n.cacheHandlers&&!l&&!n.inVOnce;if(l){const e=Ac(l),t=!(e||Pc(l)),n=l.content.includes(";");0,(t||u&&e)&&(l=tc([`${t?"$event":"(...args)"} => ${n?"{":"("}`,l,n?"}":")"]))}let c={props:[Xu(a,l||ec("() => {}",!1,o))]};return r&&(c=r(c)),u&&(c.props[0].value=n.cache(c.props[0].value)),c.props.forEach((e=>e.key.isHandlerKey=!0)),c},wd=(e,t)=>{if(0===e.type||1===e.type||11===e.type||10===e.type)return()=>{const n=e.children;let r,o=!1;for(let e=0;e7===e.type&&!t.directiveTransforms[e.name]))||"template"===e.tag)))for(let e=0;e{if(1===e.type&&Rc(e,"once",!0)){if(Cd.has(e)||t.inVOnce||t.inSSR)return;return Cd.add(e),t.inVOnce=!0,t.helper(Uu),()=>{t.inVOnce=!1;const e=t.currentNode;e.codegenNode&&(e.codegenNode=t.cache(e.codegenNode,!0))}}},xd=(e,t,n)=>{const{exp:r,arg:o}=e;if(!r)return n.onError(wc(41,e.loc)),Sd();const i=r.loc.source,s=4===r.type?r.content:i,a=n.bindingMetadata[i];if("props"===a||"props-aliased"===a)return n.onError(wc(44,r.loc)),Sd();if(!s.trim()||!Ac(r))return n.onError(wc(42,r.loc)),Sd();const l=o||ec("modelValue",!0),u=o?Cc(o)?`onUpdate:${j(o.content)}`:tc(['"onUpdate:" + ',o]):"onUpdate:modelValue";let c;c=tc([`${n.isTS?"($event: any)":"$event"} => ((`,r,") = $event)"]);const f=[Xu(l,e.exp),Xu(u,c)];if(e.modifiers.length&&1===t.tagType){const t=e.modifiers.map((e=>(Sc(e)?e:JSON.stringify(e))+": true")).join(", "),n=o?Cc(o)?`${o.content}Modifiers`:tc([o,' + "Modifiers"']):"modelModifiers";f.push(Xu(n,ec(`{ ${t} }`,!1,e.loc,2)))}return Sd(f)};function Sd(e=[]){return{props:e}}const kd=/[\w).+\-_$\]]/,Od=(e,t)=>{gc("COMPILER_FILTERS",t)&&(5===e.type?Ed(e.content,t):1===e.type&&e.props.forEach((e=>{7===e.type&&"for"!==e.name&&e.exp&&Ed(e.exp,t)})))};function Ed(e,t){if(4===e.type)Td(e,t);else for(let n=0;n=0&&(e=n.charAt(t)," "===e);t--);e&&kd.test(e)||(c=!0)}}else void 0===s?(h=i+1,s=n.slice(0,i).trim()):g();function g(){v.push(n.slice(h,i).trim()),h=i+1}if(void 0===s?s=n.slice(0,i).trim():0!==h&&g(),v.length){for(i=0;i{if(1===e.type){const n=Rc(e,"memo");if(!n||Ld.has(e))return;return Ld.add(e),()=>{const r=e.codegenNode||t.currentNode.codegenNode;r&&13===r.type&&(1!==e.tagType&&ac(r,t),e.codegenNode=nc(t.helper(Wu),[n.exp,rc(void 0,r),"_cache",String(t.cached++)]))}}};function Rd(e,t={}){const n=t.onError||yc,r="module"===t.mode;!0===t.prefixIdentifiers?n(wc(47)):r&&n(wc(48));t.cacheHandlers&&n(wc(49)),t.scopeId&&!r&&n(wc(50));const o=d({},t,{prefixIdentifiers:!1}),i=C(e)?Of(e,o):e,[s,a]=[[_d,Yf,Pd,nd,Od,yd,pd,sd,wd],{on:bd,bind:Xf,model:xd}];return Mf(i,d({},o,{nodeTransforms:[...s,...t.nodeTransforms||[]],directiveTransforms:d({},a,t.directiveTransforms||{})})),Vf(i,o)}const Id=Symbol(""),jd=Symbol(""),Nd=Symbol(""),Md=Symbol(""),Fd=Symbol(""),Dd=Symbol(""),Bd=Symbol(""),Ud=Symbol(""),Vd=Symbol(""),Hd=Symbol("");var $d;let qd;$d={[Id]:"vModelRadio",[jd]:"vModelCheckbox",[Nd]:"vModelText",[Md]:"vModelSelect",[Fd]:"vModelDynamic",[Dd]:"withModifiers",[Bd]:"withKeys",[Ud]:"vShow",[Vd]:"Transition",[Hd]:"TransitionGroup"},Object.getOwnPropertySymbols($d).forEach((e=>{Ku[e]=$d[e]}));const zd={parseMode:"html",isVoidTag:oe,isNativeTag:e=>te(e)||ne(e)||re(e),isPreTag:e=>"pre"===e,decodeEntities:function(e,t=!1){return qd||(qd=document.createElement("div")),t?(qd.innerHTML=`
`,qd.children[0].getAttribute("foo")):(qd.innerHTML=e,qd.textContent)},isBuiltInComponent:e=>"Transition"===e||"transition"===e?Vd:"TransitionGroup"===e||"transition-group"===e?Hd:void 0,getNamespace(e,t,n){let r=t?t.ns:n;if(t&&2===r)if("annotation-xml"===t.tag){if("svg"===e)return 1;t.props.some((e=>6===e.type&&"encoding"===e.name&&null!=e.value&&("text/html"===e.value.content||"application/xhtml+xml"===e.value.content)))&&(r=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&"mglyph"!==e&&"malignmark"!==e&&(r=0);else t&&1===r&&("foreignObject"!==t.tag&&"desc"!==t.tag&&"title"!==t.tag||(r=0));if(0===r){if("svg"===e)return 1;if("math"===e)return 2}return r}},Wd=(e,t)=>{const n=Q(e);return ec(JSON.stringify(n),!1,t,3)};function Zd(e,t){return wc(e,t)}const Kd=i("passive,once,capture"),Yd=i("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),Gd=i("left,right"),Jd=i("onkeyup,onkeydown,onkeypress",!0),Qd=(e,t)=>Cc(e)&&"onclick"===e.content.toLowerCase()?ec(t,!0):4!==e.type?tc(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e;const Xd=(e,t)=>{1!==e.type||0!==e.tagType||"script"!==e.tag&&"style"!==e.tag||t.removeNode()},ep=[e=>{1===e.type&&e.props.forEach(((t,n)=>{6===t.type&&"style"===t.name&&t.value&&(e.props[n]={type:7,name:"bind",arg:ec("style",!0,t.loc),exp:Wd(t.value.content,t.loc),modifiers:[],loc:t.loc})}))}],tp={cloak:()=>({props:[]}),html:(e,t,n)=>{const{exp:r,loc:o}=e;return r||n.onError(Zd(53,o)),t.children.length&&(n.onError(Zd(54,o)),t.children.length=0),{props:[Xu(ec("innerHTML",!0,o),r||ec("",!0))]}},text:(e,t,n)=>{const{exp:r,loc:o}=e;return r||n.onError(Zd(55,o)),t.children.length&&(n.onError(Zd(56,o)),t.children.length=0),{props:[Xu(ec("textContent",!0),r?Lf(r,n)>0?r:nc(n.helperString(Lu),[r],o):ec("",!0))]}},model:(e,t,n)=>{const r=xd(e,t,n);if(!r.props.length||1===t.tagType)return r;e.arg&&n.onError(Zd(58,e.arg.loc));const{tag:o}=t,i=n.isCustomElement(o);if("input"===o||"textarea"===o||"select"===o||i){let s=Nd,a=!1;if("input"===o||i){const r=Ic(t,"type");if(r){if(7===r.type)s=Fd;else if(r.value)switch(r.value.content){case"radio":s=Id;break;case"checkbox":s=jd;break;case"file":a=!0,n.onError(Zd(59,e.loc))}}else(function(e){return e.props.some((e=>!(7!==e.type||"bind"!==e.name||e.arg&&4===e.arg.type&&e.arg.isStatic)))})(t)&&(s=Fd)}else"select"===o&&(s=Md);a||(r.needRuntime=n.helper(s))}else n.onError(Zd(57,e.loc));return r.props=r.props.filter((e=>!(4===e.key.type&&"modelValue"===e.key.content))),r},on:(e,t,n)=>bd(e,t,n,(t=>{const{modifiers:r}=e;if(!r.length)return t;let{key:o,value:i}=t.props[0];const{keyModifiers:s,nonKeyModifiers:a,eventOptionModifiers:l}=((e,t,n)=>{const r=[],o=[],i=[];for(let s=0;s{const{exp:r,loc:o}=e;return r||n.onError(Zd(61,o)),{props:[],needRuntime:n.helper(Ud)}}};const np=new WeakMap;ea((function(e,t){if(!C(e)){if(!e.nodeType)return l;e=e.innerHTML}const n=e,o=function(e){let t=np.get(null!=e?e:s);return t||(t=Object.create(null),np.set(null!=e?e:s,t)),t}(t),i=o[n];if(i)return i;if("#"===e[0]){const t=document.querySelector(e);0,e=t?t.innerHTML:""}const a=d({hoistStatic:!0,onError:void 0,onWarn:l},t);a.isCustomElement||"undefined"==typeof customElements||(a.isCustomElement=e=>!!customElements.get(e));const{code:u}=function(e,t={}){return Rd(e,d({},zd,t,{nodeTransforms:[Xd,...ep,...t.nodeTransforms||[]],directiveTransforms:d({},tp,t.directiveTransforms||{}),transformHoist:null}))}(e,a),c=new Function("Vue",u)(r);return c._rc=!0,o[n]=c}));var rp=!1;function op(e,t,n){return Array.isArray(e)?(e.length=Math.max(e.length,t),e.splice(t,1,n),n):(e[t]=n,n)}let ip;const sp=e=>ip=e,ap=Symbol();function lp(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var up;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(up||(up={}));const cp="undefined"!=typeof window,fp=(()=>"object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:"object"==typeof globalThis?globalThis:{HTMLElement:null})();function dp(e,t,n){const r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){mp(r.response,t,n)},r.onerror=function(){},r.send()}function pp(e){const t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return t.status>=200&&t.status<=299}function hp(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(t){const n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(n)}}const vp="object"==typeof navigator?navigator:{userAgent:""},gp=(()=>/Macintosh/.test(vp.userAgent)&&/AppleWebKit/.test(vp.userAgent)&&!/Safari/.test(vp.userAgent))(),mp=cp?"undefined"!=typeof HTMLAnchorElement&&"download"in HTMLAnchorElement.prototype&&!gp?function(e,t="download",n){const r=document.createElement("a");r.download=t,r.rel="noopener","string"==typeof e?(r.href=e,r.origin!==location.origin?pp(r.href)?dp(e,t,n):(r.target="_blank",hp(r)):hp(r)):(r.href=URL.createObjectURL(e),setTimeout((function(){URL.revokeObjectURL(r.href)}),4e4),setTimeout((function(){hp(r)}),0))}:"msSaveOrOpenBlob"in vp?function(e,t="download",n){if("string"==typeof e)if(pp(e))dp(e,t,n);else{const t=document.createElement("a");t.href=e,t.target="_blank",setTimeout((function(){hp(t)}))}else navigator.msSaveOrOpenBlob(function(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e}(e,n),t)}:function(e,t,n,r){(r=r||open("","_blank"))&&(r.document.title=r.document.body.innerText="downloading...");if("string"==typeof e)return dp(e,t,n);const o="application/octet-stream"===e.type,i=/constructor/i.test(String(fp.HTMLElement))||"safari"in fp,s=/CriOS\/[\d]+/.test(navigator.userAgent);if((s||o&&i||gp)&&"undefined"!=typeof FileReader){const t=new FileReader;t.onloadend=function(){let e=t.result;if("string"!=typeof e)throw r=null,new Error("Wrong reader.result type");e=s?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{const t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout((function(){URL.revokeObjectURL(t)}),4e4)}}:()=>{};const{assign:yp}=Object;const bp=()=>{};function wp(e,t,n,r=bp){e.push(t);const o=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};return!n&&_e()&&xe(o),o}function Cp(e,...t){e.slice().forEach((e=>{e(...t)}))}const _p=e=>e(),xp=Symbol(),Sp=Symbol();function kp(e,t){e instanceof Map&&t instanceof Map?t.forEach(((t,n)=>e.set(n,t))):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],o=e[n];lp(o)&&lp(r)&&e.hasOwnProperty(n)&&!Kt(r)&&!Mt(r)?e[n]=kp(o,r):e[n]=r}return e}const Op=Symbol(),Ep=new WeakMap;const{assign:Tp}=Object;function Ap(e){return!(!Kt(e)||!e.effect)}function Lp(e,t,n={},r,o,i){let s;const a=Tp({actions:{}},n);const l={deep:!0};let u,c;let f,d=[],p=[];const h=r.state.value[e];i||h||(rp?op(r.state.value,e,{}):r.state.value[e]={});Yt({});let v;function g(t){let n;u=c=!1,"function"==typeof t?(t(r.state.value[e]),n={type:up.patchFunction,storeId:e,events:f}):(kp(r.state.value[e],t),n={type:up.patchObject,payload:t,storeId:e,events:f});const o=v=Symbol();jn().then((()=>{v===o&&(u=!0)})),c=!0,Cp(d,n,r.state.value[e])}const m=i?function(){const{state:e}=n,t=e?e():{};this.$patch((e=>{Tp(e,t)}))}:bp;const y=(t,n="")=>{if(xp in t)return t[Sp]=n,t;const o=function(){sp(r);const n=Array.from(arguments),i=[],s=[];let a;Cp(p,{args:n,name:o[Sp],store:w,after:function(e){i.push(e)},onError:function(e){s.push(e)}});try{a=t.apply(this&&this.$id===e?this:w,n)}catch(e){throw Cp(s,e),e}return a instanceof Promise?a.then((e=>(Cp(i,e),e))).catch((e=>(Cp(s,e),Promise.reject(e)))):(Cp(i,a),a)};return o[xp]=!0,o[Sp]=n,o},b={_p:r,$id:e,$onAction:wp.bind(null,p),$patch:g,$reset:m,$subscribe(t,n={}){const o=wp(d,t,n.detached,(()=>i())),i=s.run((()=>Fi((()=>r.state.value[e]),(r=>{("sync"===n.flush?c:u)&&t({storeId:e,type:up.direct,events:f},r)}),Tp({},l,n))));return o},$dispose:function(){s.stop(),d=[],p=[],r._s.delete(e)}};rp&&(b._r=!1);const w=Pt(b);r._s.set(e,w);const C=(r._a&&r._a.runWithContext||_p)((()=>r._e.run((()=>(s=we()).run((()=>t({action:y})))))));for(const t in C){const n=C[t];if(Kt(n)&&!Ap(n)||Mt(n))i||(!h||(_=n,rp?Ep.has(_):lp(_)&&_.hasOwnProperty(Op))||(Kt(n)?n.value=h[t]:kp(n,h[t])),rp?op(r.state.value[e],t,n):r.state.value[e][t]=n);else if("function"==typeof n){const e=y(n,t);rp?op(C,t,e):C[t]=e,a.actions[t]=n}else 0}var _;return rp?Object.keys(C).forEach((e=>{op(w,e,C[e])})):(Tp(w,C),Tp(Ut(w),C)),Object.defineProperty(w,"$state",{get:()=>r.state.value[e],set:e=>{g((t=>{Tp(t,e)}))}}),rp&&(w._r=!0),r._p.forEach((e=>{Tp(w,s.run((()=>e({store:w,app:r._a,pinia:r,options:a}))))})),h&&i&&n.hydrate&&n.hydrate(w.$state,h),u=!0,c=!0,w}function Pp(e,t,n){let r,o;const i="function"==typeof t;function s(e,n){const s=Do();(e=e||(s?Fo(ap,null):null))&&sp(e),(e=ip)._s.has(r)||(i?Lp(r,t,o,e):function(e,t,n){const{state:r,actions:o,getters:i}=t,s=n.state.value[e];let a;a=Lp(e,(function(){s||(rp?op(n.state.value,e,r?r():{}):n.state.value[e]=r?r():{});const t=an(n.state.value[e]);return Tp(t,o,Object.keys(i||{}).reduce(((t,r)=>(t[r]=Vt(fa((()=>{sp(n);const t=n._s.get(e);if(!rp||t._r)return i[r].call(t,t)}))),t)),{}))}),t,n,0,!0)}(r,o,e));return e._s.get(r)}return"string"==typeof e?(r=e,o=i?n:t):(o=e,r=e.id),s.$id=r,s}function Rp(e,t){return function(){return e.apply(t,arguments)}}var Ip=n(606);const{toString:jp}=Object.prototype,{getPrototypeOf:Np}=Object,Mp=(Fp=Object.create(null),e=>{const t=jp.call(e);return Fp[t]||(Fp[t]=t.slice(8,-1).toLowerCase())});var Fp;const Dp=e=>(e=e.toLowerCase(),t=>Mp(t)===e),Bp=e=>t=>typeof t===e,{isArray:Up}=Array,Vp=Bp("undefined");const Hp=Dp("ArrayBuffer");const $p=Bp("string"),qp=Bp("function"),zp=Bp("number"),Wp=e=>null!==e&&"object"==typeof e,Zp=e=>{if("object"!==Mp(e))return!1;const t=Np(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},Kp=Dp("Date"),Yp=Dp("File"),Gp=Dp("Blob"),Jp=Dp("FileList"),Qp=Dp("URLSearchParams"),[Xp,eh,th,nh]=["ReadableStream","Request","Response","Headers"].map(Dp);function rh(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),Up(e))for(r=0,o=e.length;r0;)if(r=n[o],t===r.toLowerCase())return r;return null}const ih="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,sh=e=>!Vp(e)&&e!==ih;const ah=(lh="undefined"!=typeof Uint8Array&&Np(Uint8Array),e=>lh&&e instanceof lh);var lh;const uh=Dp("HTMLFormElement"),ch=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),fh=Dp("RegExp"),dh=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};rh(n,((n,o)=>{let i;!1!==(i=t(n,o,e))&&(r[o]=i||n)})),Object.defineProperties(e,r)},ph="abcdefghijklmnopqrstuvwxyz",hh="0123456789",vh={DIGIT:hh,ALPHA:ph,ALPHA_DIGIT:ph+ph.toUpperCase()+hh};const gh=Dp("AsyncFunction"),mh=(yh="function"==typeof setImmediate,bh=qp(ih.postMessage),yh?setImmediate:bh?((e,t)=>(ih.addEventListener("message",(({source:n,data:r})=>{n===ih&&r===e&&t.length&&t.shift()()}),!1),n=>{t.push(n),ih.postMessage(e,"*")}))(`axios@${Math.random()}`,[]):e=>setTimeout(e));var yh,bh;const wh="undefined"!=typeof queueMicrotask?queueMicrotask.bind(ih):void 0!==Ip&&Ip.nextTick||mh,Ch={isArray:Up,isArrayBuffer:Hp,isBuffer:function(e){return null!==e&&!Vp(e)&&null!==e.constructor&&!Vp(e.constructor)&&qp(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||qp(e.append)&&("formdata"===(t=Mp(e))||"object"===t&&qp(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&Hp(e.buffer),t},isString:$p,isNumber:zp,isBoolean:e=>!0===e||!1===e,isObject:Wp,isPlainObject:Zp,isReadableStream:Xp,isRequest:eh,isResponse:th,isHeaders:nh,isUndefined:Vp,isDate:Kp,isFile:Yp,isBlob:Gp,isRegExp:fh,isFunction:qp,isStream:e=>Wp(e)&&qp(e.pipe),isURLSearchParams:Qp,isTypedArray:ah,isFileList:Jp,forEach:rh,merge:function e(){const{caseless:t}=sh(this)&&this||{},n={},r=(r,o)=>{const i=t&&oh(n,o)||o;Zp(n[i])&&Zp(r)?n[i]=e(n[i],r):Zp(r)?n[i]=e({},r):Up(r)?n[i]=r.slice():n[i]=r};for(let e=0,t=arguments.length;e(rh(t,((t,r)=>{n&&qp(t)?e[r]=Rp(t,n):e[r]=t}),{allOwnKeys:r}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,i,s;const a={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)s=o[i],r&&!r(s,e,t)||a[s]||(t[s]=e[s],a[s]=!0);e=!1!==n&&Np(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:Mp,kindOfTest:Dp,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(Up(e))return e;let t=e.length;if(!zp(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:uh,hasOwnProperty:ch,hasOwnProp:ch,reduceDescriptors:dh,freezeMethods:e=>{dh(e,((t,n)=>{if(qp(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];qp(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return Up(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:oh,global:ih,isContextDefined:sh,ALPHABET:vh,generateString:(e=16,t=vh.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&qp(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(Wp(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=Up(e)?[]:{};return rh(e,((e,t)=>{const i=n(e,r+1);!Vp(i)&&(o[t]=i)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:gh,isThenable:e=>e&&(Wp(e)||qp(e))&&qp(e.then)&&qp(e.catch),setImmediate:mh,asap:wh};function _h(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}Ch.inherits(_h,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Ch.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const xh=_h.prototype,Sh={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{Sh[e]={value:e}})),Object.defineProperties(_h,Sh),Object.defineProperty(xh,"isAxiosError",{value:!0}),_h.from=(e,t,n,r,o,i)=>{const s=Object.create(xh);return Ch.toFlatObject(e,s,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),_h.call(s,e.message,t,n,r,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};const kh=_h;var Oh=n(287).hp;function Eh(e){return Ch.isPlainObject(e)||Ch.isArray(e)}function Th(e){return Ch.endsWith(e,"[]")?e.slice(0,-2):e}function Ah(e,t,n){return e?e.concat(t).map((function(e,t){return e=Th(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const Lh=Ch.toFlatObject(Ch,{},null,(function(e){return/^is[A-Z]/.test(e)}));const Ph=function(e,t,n){if(!Ch.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=Ch.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!Ch.isUndefined(t[e])}))).metaTokens,o=n.visitor||u,i=n.dots,s=n.indexes,a=(n.Blob||"undefined"!=typeof Blob&&Blob)&&Ch.isSpecCompliantForm(t);if(!Ch.isFunction(o))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(Ch.isDate(e))return e.toISOString();if(!a&&Ch.isBlob(e))throw new kh("Blob is not supported. Use a Buffer instead.");return Ch.isArrayBuffer(e)||Ch.isTypedArray(e)?a&&"function"==typeof Blob?new Blob([e]):Oh.from(e):e}function u(e,n,o){let a=e;if(e&&!o&&"object"==typeof e)if(Ch.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(Ch.isArray(e)&&function(e){return Ch.isArray(e)&&!e.some(Eh)}(e)||(Ch.isFileList(e)||Ch.endsWith(n,"[]"))&&(a=Ch.toArray(e)))return n=Th(n),a.forEach((function(e,r){!Ch.isUndefined(e)&&null!==e&&t.append(!0===s?Ah([n],r,i):null===s?n:n+"[]",l(e))})),!1;return!!Eh(e)||(t.append(Ah(o,n,i),l(e)),!1)}const c=[],f=Object.assign(Lh,{defaultVisitor:u,convertValue:l,isVisitable:Eh});if(!Ch.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!Ch.isUndefined(n)){if(-1!==c.indexOf(n))throw Error("Circular reference detected in "+r.join("."));c.push(n),Ch.forEach(n,(function(n,i){!0===(!(Ch.isUndefined(n)||null===n)&&o.call(t,n,Ch.isString(i)?i.trim():i,r,f))&&e(n,r?r.concat(i):[i])})),c.pop()}}(e),t};function Rh(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function Ih(e,t){this._pairs=[],e&&Ph(e,this,t)}const jh=Ih.prototype;jh.append=function(e,t){this._pairs.push([e,t])},jh.toString=function(e){const t=e?function(t){return e.call(this,t,Rh)}:Rh;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const Nh=Ih;function Mh(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Fh(e,t,n){if(!t)return e;const r=n&&n.encode||Mh,o=n&&n.serialize;let i;if(i=o?o(t,n):Ch.isURLSearchParams(t)?t.toString():new Nh(t,n).toString(r),i){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}const Dh=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){Ch.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},Bh={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Uh={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Nh,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Vh="undefined"!=typeof window&&"undefined"!=typeof document,Hh=($h="undefined"!=typeof navigator&&navigator.product,Vh&&["ReactNative","NativeScript","NS"].indexOf($h)<0);var $h;const qh="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,zh=Vh&&window.location.href||"http://localhost",Wh={...o,...Uh};const Zh=function(e){function t(e,n,r,o){let i=e[o++];if("__proto__"===i)return!0;const s=Number.isFinite(+i),a=o>=e.length;if(i=!i&&Ch.isArray(r)?r.length:i,a)return Ch.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!s;r[i]&&Ch.isObject(r[i])||(r[i]=[]);return t(e,n,r[i],o)&&Ch.isArray(r[i])&&(r[i]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r{t(function(e){return Ch.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null};const Kh={transitional:Bh,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=Ch.isObject(e);o&&Ch.isHTMLForm(e)&&(e=new FormData(e));if(Ch.isFormData(e))return r?JSON.stringify(Zh(e)):e;if(Ch.isArrayBuffer(e)||Ch.isBuffer(e)||Ch.isStream(e)||Ch.isFile(e)||Ch.isBlob(e)||Ch.isReadableStream(e))return e;if(Ch.isArrayBufferView(e))return e.buffer;if(Ch.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let i;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return Ph(e,new Wh.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return Wh.isNode&&Ch.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((i=Ch.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return Ph(i?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e,t,n){if(Ch.isString(e))try{return(t||JSON.parse)(e),Ch.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||Kh.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(Ch.isResponse(e)||Ch.isReadableStream(e))return e;if(e&&Ch.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw kh.from(e,kh.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Wh.classes.FormData,Blob:Wh.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Ch.forEach(["delete","get","head","post","put","patch"],(e=>{Kh.headers[e]={}}));const Yh=Kh,Gh=Ch.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Jh=Symbol("internals");function Qh(e){return e&&String(e).trim().toLowerCase()}function Xh(e){return!1===e||null==e?e:Ch.isArray(e)?e.map(Xh):String(e)}function ev(e,t,n,r,o){return Ch.isFunction(r)?r.call(this,t,n):(o&&(t=n),Ch.isString(t)?Ch.isString(r)?-1!==t.indexOf(r):Ch.isRegExp(r)?r.test(t):void 0:void 0)}class tv{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=Qh(t);if(!o)throw new Error("header name must be a non-empty string");const i=Ch.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=Xh(e))}const i=(e,t)=>Ch.forEach(e,((e,n)=>o(e,n,t)));if(Ch.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(Ch.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))i((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&Gh[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t);else if(Ch.isHeaders(e))for(const[t,r]of e.entries())o(r,t,n);else null!=e&&o(t,e,n);return this}get(e,t){if(e=Qh(e)){const n=Ch.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(Ch.isFunction(t))return t.call(this,e,n);if(Ch.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Qh(e)){const n=Ch.findKey(this,e);return!(!n||void 0===this[n]||t&&!ev(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=Qh(e)){const o=Ch.findKey(n,e);!o||t&&!ev(0,n[o],o,t)||(delete n[o],r=!0)}}return Ch.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!ev(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return Ch.forEach(this,((r,o)=>{const i=Ch.findKey(n,o);if(i)return t[i]=Xh(r),void delete t[o];const s=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();s!==o&&delete t[o],t[s]=Xh(r),n[s]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return Ch.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&Ch.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[Jh]=this[Jh]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=Qh(e);t[r]||(!function(e,t){const n=Ch.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return Ch.isArray(e)?e.forEach(r):r(e),this}}tv.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),Ch.reduceDescriptors(tv.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),Ch.freezeMethods(tv);const nv=tv;function rv(e,t){const n=this||Yh,r=t||n,o=nv.from(r.headers);let i=r.data;return Ch.forEach(e,(function(e){i=e.call(n,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function ov(e){return!(!e||!e.__CANCEL__)}function iv(e,t,n){kh.call(this,null==e?"canceled":e,kh.ERR_CANCELED,t,n),this.name="CanceledError"}Ch.inherits(iv,kh,{__CANCEL__:!0});const sv=iv;function av(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new kh("Request failed with status code "+n.status,[kh.ERR_BAD_REQUEST,kh.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}const lv=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,i=0,s=0;return t=void 0!==t?t:1e3,function(a){const l=Date.now(),u=r[s];o||(o=l),n[i]=a,r[i]=l;let c=s,f=0;for(;c!==i;)f+=n[c++],c%=e;if(i=(i+1)%e,i===s&&(s=(s+1)%e),l-o{o=i,n=null,r&&(clearTimeout(r),r=null),e.apply(null,t)};return[(...e)=>{const t=Date.now(),a=t-o;a>=i?s(e,t):(n=e,r||(r=setTimeout((()=>{r=null,s(n)}),i-a)))},()=>n&&s(n)]},cv=(e,t,n=3)=>{let r=0;const o=lv(50,250);return uv((n=>{const i=n.loaded,s=n.lengthComputable?n.total:void 0,a=i-r,l=o(a);r=i;e({loaded:i,total:s,progress:s?i/s:void 0,bytes:a,rate:l||void 0,estimated:l&&s&&i<=s?(s-i)/l:void 0,event:n,lengthComputable:null!=s,[t?"download":"upload"]:!0})}),n)},fv=(e,t)=>{const n=null!=e;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},dv=e=>(...t)=>Ch.asap((()=>e(...t))),pv=Wh.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=Ch.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0},hv=Wh.hasStandardBrowserEnv?{write(e,t,n,r,o,i){const s=[e+"="+encodeURIComponent(t)];Ch.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),Ch.isString(r)&&s.push("path="+r),Ch.isString(o)&&s.push("domain="+o),!0===i&&s.push("secure"),document.cookie=s.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function vv(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const gv=e=>e instanceof nv?{...e}:e;function mv(e,t){t=t||{};const n={};function r(e,t,n){return Ch.isPlainObject(e)&&Ch.isPlainObject(t)?Ch.merge.call({caseless:n},e,t):Ch.isPlainObject(t)?Ch.merge({},t):Ch.isArray(t)?t.slice():t}function o(e,t,n){return Ch.isUndefined(t)?Ch.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function i(e,t){if(!Ch.isUndefined(t))return r(void 0,t)}function s(e,t){return Ch.isUndefined(t)?Ch.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,o,i){return i in t?r(n,o):i in e?r(void 0,n):void 0}const l={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(e,t)=>o(gv(e),gv(t),!0)};return Ch.forEach(Object.keys(Object.assign({},e,t)),(function(r){const i=l[r]||o,s=i(e[r],t[r],r);Ch.isUndefined(s)&&i!==a||(n[r]=s)})),n}const yv=e=>{const t=mv({},e);let n,{data:r,withXSRFToken:o,xsrfHeaderName:i,xsrfCookieName:s,headers:a,auth:l}=t;if(t.headers=a=nv.from(a),t.url=Fh(vv(t.baseURL,t.url),e.params,e.paramsSerializer),l&&a.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):""))),Ch.isFormData(r))if(Wh.hasStandardBrowserEnv||Wh.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(!1!==(n=a.getContentType())){const[e,...t]=n?n.split(";").map((e=>e.trim())).filter(Boolean):[];a.setContentType([e||"multipart/form-data",...t].join("; "))}if(Wh.hasStandardBrowserEnv&&(o&&Ch.isFunction(o)&&(o=o(t)),o||!1!==o&&pv(t.url))){const e=i&&s&&hv.read(s);e&&a.set(i,e)}return t},bv="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){const r=yv(e);let o=r.data;const i=nv.from(r.headers).normalize();let s,a,l,u,c,{responseType:f,onUploadProgress:d,onDownloadProgress:p}=r;function h(){u&&u(),c&&c(),r.cancelToken&&r.cancelToken.unsubscribe(s),r.signal&&r.signal.removeEventListener("abort",s)}let v=new XMLHttpRequest;function g(){if(!v)return;const r=nv.from("getAllResponseHeaders"in v&&v.getAllResponseHeaders());av((function(e){t(e),h()}),(function(e){n(e),h()}),{data:f&&"text"!==f&&"json"!==f?v.response:v.responseText,status:v.status,statusText:v.statusText,headers:r,config:e,request:v}),v=null}v.open(r.method.toUpperCase(),r.url,!0),v.timeout=r.timeout,"onloadend"in v?v.onloadend=g:v.onreadystatechange=function(){v&&4===v.readyState&&(0!==v.status||v.responseURL&&0===v.responseURL.indexOf("file:"))&&setTimeout(g)},v.onabort=function(){v&&(n(new kh("Request aborted",kh.ECONNABORTED,e,v)),v=null)},v.onerror=function(){n(new kh("Network Error",kh.ERR_NETWORK,e,v)),v=null},v.ontimeout=function(){let t=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const o=r.transitional||Bh;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new kh(t,o.clarifyTimeoutError?kh.ETIMEDOUT:kh.ECONNABORTED,e,v)),v=null},void 0===o&&i.setContentType(null),"setRequestHeader"in v&&Ch.forEach(i.toJSON(),(function(e,t){v.setRequestHeader(t,e)})),Ch.isUndefined(r.withCredentials)||(v.withCredentials=!!r.withCredentials),f&&"json"!==f&&(v.responseType=r.responseType),p&&([l,c]=cv(p,!0),v.addEventListener("progress",l)),d&&v.upload&&([a,u]=cv(d),v.upload.addEventListener("progress",a),v.upload.addEventListener("loadend",u)),(r.cancelToken||r.signal)&&(s=t=>{v&&(n(!t||t.type?new sv(null,e,v):t),v.abort(),v=null)},r.cancelToken&&r.cancelToken.subscribe(s),r.signal&&(r.signal.aborted?s():r.signal.addEventListener("abort",s)));const m=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);m&&-1===Wh.protocols.indexOf(m)?n(new kh("Unsupported protocol "+m+":",kh.ERR_BAD_REQUEST,e)):v.send(o||null)}))},wv=(e,t)=>{let n,r=new AbortController;const o=function(e){if(!n){n=!0,s();const t=e instanceof Error?e:this.reason;r.abort(t instanceof kh?t:new sv(t instanceof Error?t.message:t))}};let i=t&&setTimeout((()=>{o(new kh(`timeout ${t} of ms exceeded`,kh.ETIMEDOUT))}),t);const s=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach((e=>{e&&(e.removeEventListener?e.removeEventListener("abort",o):e.unsubscribe(o))})),e=null)};e.forEach((e=>e&&e.addEventListener&&e.addEventListener("abort",o)));const{signal:a}=r;return a.unsubscribe=s,[a,()=>{i&&clearTimeout(i),i=null}]},Cv=function*(e,t){let n=e.byteLength;if(!t||n{const i=async function*(e,t,n){for await(const r of e)yield*Cv(ArrayBuffer.isView(r)?r:await n(String(r)),t)}(e,t,o);let s,a=0,l=e=>{s||(s=!0,r&&r(e))};return new ReadableStream({async pull(e){try{const{done:t,value:r}=await i.next();if(t)return l(),void e.close();let o=r.byteLength;if(n){let e=a+=o;n(e)}e.enqueue(new Uint8Array(r))}catch(e){throw l(e),e}},cancel:e=>(l(e),i.return())},{highWaterMark:2})},xv="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,Sv=xv&&"function"==typeof ReadableStream,kv=xv&&("function"==typeof TextEncoder?(Ov=new TextEncoder,e=>Ov.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var Ov;const Ev=(e,...t)=>{try{return!!e(...t)}catch(e){return!1}},Tv=Sv&&Ev((()=>{let e=!1;const t=new Request(Wh.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})),Av=Sv&&Ev((()=>Ch.isReadableStream(new Response("").body))),Lv={stream:Av&&(e=>e.body)};var Pv;xv&&(Pv=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!Lv[e]&&(Lv[e]=Ch.isFunction(Pv[e])?t=>t[e]():(t,n)=>{throw new kh(`Response type '${e}' is not supported`,kh.ERR_NOT_SUPPORT,n)})})));const Rv=async(e,t)=>{const n=Ch.toFiniteNumber(e.getContentLength());return null==n?(async e=>null==e?0:Ch.isBlob(e)?e.size:Ch.isSpecCompliantForm(e)?(await new Request(e).arrayBuffer()).byteLength:Ch.isArrayBufferView(e)||Ch.isArrayBuffer(e)?e.byteLength:(Ch.isURLSearchParams(e)&&(e+=""),Ch.isString(e)?(await kv(e)).byteLength:void 0))(t):n},Iv=xv&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:i,timeout:s,onDownloadProgress:a,onUploadProgress:l,responseType:u,headers:c,withCredentials:f="same-origin",fetchOptions:d}=yv(e);u=u?(u+"").toLowerCase():"text";let p,h,[v,g]=o||i||s?wv([o,i],s):[];const m=()=>{!p&&setTimeout((()=>{v&&v.unsubscribe()})),p=!0};let y;try{if(l&&Tv&&"get"!==n&&"head"!==n&&0!==(y=await Rv(c,r))){let e,n=new Request(t,{method:"POST",body:r,duplex:"half"});if(Ch.isFormData(r)&&(e=n.headers.get("content-type"))&&c.setContentType(e),n.body){const[e,t]=fv(y,cv(dv(l)));r=_v(n.body,65536,e,t,kv)}}Ch.isString(f)||(f=f?"include":"omit"),h=new Request(t,{...d,signal:v,method:n.toUpperCase(),headers:c.normalize().toJSON(),body:r,duplex:"half",credentials:f});let o=await fetch(h);const i=Av&&("stream"===u||"response"===u);if(Av&&(a||i)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=o[t]}));const t=Ch.toFiniteNumber(o.headers.get("content-length")),[n,r]=a&&fv(t,cv(dv(a),!0))||[];o=new Response(_v(o.body,65536,n,(()=>{r&&r(),i&&m()}),kv),e)}u=u||"text";let s=await Lv[Ch.findKey(Lv,u)||"text"](o,e);return!i&&m(),g&&g(),await new Promise(((t,n)=>{av(t,n,{data:s,headers:nv.from(o.headers),status:o.status,statusText:o.statusText,config:e,request:h})}))}catch(t){if(m(),t&&"TypeError"===t.name&&/fetch/i.test(t.message))throw Object.assign(new kh("Network Error",kh.ERR_NETWORK,e,h),{cause:t.cause||t});throw kh.from(t,t&&t.code,e,h)}}),jv={http:null,xhr:bv,fetch:Iv};Ch.forEach(jv,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const Nv=e=>`- ${e}`,Mv=e=>Ch.isFunction(e)||null===e||!1===e,Fv=e=>{e=Ch.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let i=0;i`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(Nv).join("\n"):" "+Nv(e[0]):"as no adapter specified";throw new kh("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function Dv(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new sv(null,e)}function Bv(e){Dv(e),e.headers=nv.from(e.headers),e.data=rv.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);return Fv(e.adapter||Yh.adapter)(e).then((function(t){return Dv(e),t.data=rv.call(e,e.transformResponse,t),t.headers=nv.from(t.headers),t}),(function(t){return ov(t)||(Dv(e),t&&t.response&&(t.response.data=rv.call(e,e.transformResponse,t.response),t.response.headers=nv.from(t.response.headers))),Promise.reject(t)}))}const Uv="1.7.4",Vv={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Vv[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const Hv={};Vv.transitional=function(e,t,n){return(r,o,i)=>{if(!1===e)throw new kh(function(e,t){return"[Axios v1.7.4] Transitional option '"+e+"'"+t+(n?". "+n:"")}(o," has been removed"+(t?" in "+t:"")),kh.ERR_DEPRECATED);return t&&!Hv[o]&&(Hv[o]=!0),!e||e(r,o,i)}};const $v={assertOptions:function(e,t,n){if("object"!=typeof e)throw new kh("options must be an object",kh.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const i=r[o],s=t[i];if(s){const t=e[i],n=void 0===t||s(t,i,e);if(!0!==n)throw new kh("option "+i+" must be "+n,kh.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new kh("Unknown option "+i,kh.ERR_BAD_OPTION)}},validators:Vv},qv=$v.validators;class zv{constructor(e){this.defaults=e,this.interceptors={request:new Dh,response:new Dh}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=new Error;const n=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+n):e.stack=n}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=mv(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&$v.assertOptions(n,{silentJSONParsing:qv.transitional(qv.boolean),forcedJSONParsing:qv.transitional(qv.boolean),clarifyTimeoutError:qv.transitional(qv.boolean)},!1),null!=r&&(Ch.isFunction(r)?t.paramsSerializer={serialize:r}:$v.assertOptions(r,{encode:qv.function,serialize:qv.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=o&&Ch.merge(o.common,o[t.method]);o&&Ch.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=nv.concat(i,o);const s=[];let a=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));const l=[];let u;this.interceptors.response.forEach((function(e){l.push(e.fulfilled,e.rejected)}));let c,f=0;if(!a){const e=[Bv.bind(this),void 0];for(e.unshift.apply(e,s),e.push.apply(e,l),c=e.length,u=Promise.resolve(t);f{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new sv(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new Zv((function(t){e=t})),cancel:e}}}const Kv=Zv;const Yv={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Yv).forEach((([e,t])=>{Yv[t]=e}));const Gv=Yv;const Jv=function e(t){const n=new Wv(t),r=Rp(Wv.prototype.request,n);return Ch.extend(r,Wv.prototype,n,{allOwnKeys:!0}),Ch.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(mv(t,n))},r}(Yh);Jv.Axios=Wv,Jv.CanceledError=sv,Jv.CancelToken=Kv,Jv.isCancel=ov,Jv.VERSION=Uv,Jv.toFormData=Ph,Jv.AxiosError=kh,Jv.Cancel=Jv.CanceledError,Jv.all=function(e){return Promise.all(e)},Jv.spread=function(e){return function(t){return e.apply(null,t)}},Jv.isAxiosError=function(e){return Ch.isObject(e)&&!0===e.isAxiosError},Jv.mergeConfig=mv,Jv.AxiosHeaders=nv,Jv.formToJSON=e=>Zh(Ch.isHTMLForm(e)?new FormData(e):e),Jv.getAdapter=Fv,Jv.HttpStatusCode=Gv,Jv.default=Jv;const Qv=Jv,Xv="undefined"!=typeof document;function eg(e){return e.__esModule||"Module"===e[Symbol.toStringTag]}const tg=Object.assign;function ng(e,t){const n={};for(const r in t){const o=t[r];n[r]=og(o)?o.map(e):e(o)}return n}const rg=()=>{},og=Array.isArray;const ig=/#/g,sg=/&/g,ag=/\//g,lg=/=/g,ug=/\?/g,cg=/\+/g,fg=/%5B/g,dg=/%5D/g,pg=/%5E/g,hg=/%60/g,vg=/%7B/g,gg=/%7C/g,mg=/%7D/g,yg=/%20/g;function bg(e){return encodeURI(""+e).replace(gg,"|").replace(fg,"[").replace(dg,"]")}function wg(e){return bg(e).replace(cg,"%2B").replace(yg,"+").replace(ig,"%23").replace(sg,"%26").replace(hg,"`").replace(vg,"{").replace(mg,"}").replace(pg,"^")}function Cg(e){return null==e?"":function(e){return bg(e).replace(ig,"%23").replace(ug,"%3F")}(e).replace(ag,"%2F")}function _g(e){try{return decodeURIComponent(""+e)}catch(e){}return""+e}const xg=/\/$/,Sg=e=>e.replace(xg,"");function kg(e,t,n="/"){let r,o={},i="",s="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(r=t.slice(0,l),i=t.slice(l+1,a>-1?a:t.length),o=e(i)),a>-1&&(r=r||t.slice(0,a),s=t.slice(a,t.length)),r=function(e,t){if(e.startsWith("/"))return e;0;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];".."!==o&&"."!==o||r.push("");let i,s,a=n.length-1;for(i=0;i1&&a--}return n.slice(0,a).join("/")+"/"+r.slice(i).join("/")}(null!=r?r:t,n),{fullPath:r+(i&&"?")+i+s,path:r,query:o,hash:_g(s)}}function Og(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function Eg(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Tg(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Ag(e[n],t[n]))return!1;return!0}function Ag(e,t){return og(e)?Lg(e,t):og(t)?Lg(t,e):e===t}function Lg(e,t){return og(t)?e.length===t.length&&e.every(((e,n)=>e===t[n])):1===e.length&&e[0]===t}const Pg={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Rg,Ig;!function(e){e.pop="pop",e.push="push"}(Rg||(Rg={})),function(e){e.back="back",e.forward="forward",e.unknown=""}(Ig||(Ig={}));function jg(e){if(!e)if(Xv){const t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),Sg(e)}const Ng=/^[^#]+#/;function Mg(e,t){return e.replace(Ng,"#")+t}const Fg=()=>({left:window.scrollX,top:window.scrollY});function Dg(e){let t;if("el"in e){const n=e.el,r="string"==typeof n&&n.startsWith("#");0;const o="string"==typeof n?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=function(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(null!=t.left?t.left:window.scrollX,null!=t.top?t.top:window.scrollY)}function Bg(e,t){return(history.state?history.state.position-t:-1)+e}const Ug=new Map;let Vg=()=>location.protocol+"//"+location.host;function Hg(e,t){const{pathname:n,search:r,hash:o}=t,i=e.indexOf("#");if(i>-1){let t=o.includes(e.slice(i))?e.slice(i).length:1,n=o.slice(t);return"/"!==n[0]&&(n="/"+n),Og(n,"")}return Og(n,e)+r+o}function $g(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Fg():null}}function qg(e){const t=function(e){const{history:t,location:n}=window,r={value:Hg(e,n)},o={value:t.state};function i(r,i,s){const a=e.indexOf("#"),l=a>-1?(n.host&&document.querySelector("base")?e:e.slice(a))+r:Vg()+e+r;try{t[s?"replaceState":"pushState"](i,"",l),o.value=i}catch(e){n[s?"replace":"assign"](l)}}return o.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0),{location:r,state:o,push:function(e,n){const s=tg({},o.value,t.state,{forward:e,scroll:Fg()});i(s.current,s,!0),i(e,tg({},$g(r.value,e,null),{position:s.position+1},n),!1),r.value=e},replace:function(e,n){i(e,tg({},t.state,$g(o.value.back,e,o.value.forward,!0),n,{position:o.value.position}),!0),r.value=e}}}(e=jg(e)),n=function(e,t,n,r){let o=[],i=[],s=null;const a=({state:i})=>{const a=Hg(e,location),l=n.value,u=t.value;let c=0;if(i){if(n.value=a,t.value=i,s&&s===l)return void(s=null);c=u?i.position-u.position:0}else r(a);o.forEach((e=>{e(n.value,l,{delta:c,type:Rg.pop,direction:c?c>0?Ig.forward:Ig.back:Ig.unknown})}))};function l(){const{history:e}=window;e.state&&e.replaceState(tg({},e.state,{scroll:Fg()}),"")}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",l,{passive:!0}),{pauseListeners:function(){s=n.value},listen:function(e){o.push(e);const t=()=>{const t=o.indexOf(e);t>-1&&o.splice(t,1)};return i.push(t),t},destroy:function(){for(const e of i)e();i=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",l)}}}(e,t.state,t.location,t.replace);const r=tg({location:"",base:e,go:function(e,t=!0){t||n.pauseListeners(),history.go(e)},createHref:Mg.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function zg(e){return"string"==typeof e||"symbol"==typeof e}const Wg=Symbol("");var Zg;!function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"}(Zg||(Zg={}));function Kg(e,t){return tg(new Error,{type:e,[Wg]:!0},t)}function Yg(e,t){return e instanceof Error&&Wg in e&&(null==t||!!(e.type&t))}const Gg="[^/]+?",Jg={sensitive:!1,strict:!1,start:!0,end:!0},Qg=/[.+*?^${}()[\]/\\]/g;function Xg(e,t){let n=0;for(;nt.length?1===t.length&&80===t[0]?1:-1:0}function em(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const nm={type:0,value:""},rm=/[a-zA-Z0-9_]/;function om(e,t,n){const r=function(e,t){const n=tg({},Jg,t),r=[];let o=n.start?"^":"";const i=[];for(const t of e){const e=t.length?[]:[90];n.strict&&!t.length&&(o+="/");for(let r=0;r1&&("*"===a||"+"===a)&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:u,regexp:c,repeatable:"*"===a||"+"===a,optional:"*"===a||"?"===a})):t("Invalid state to consume buffer"),u="")}function d(){u+=a}for(;l{i(d)}:rg}function i(e){if(zg(e)){const t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(i),t.alias.forEach(i))}else{const t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(i),e.alias.forEach(i))}}function s(e){const t=function(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;em(e,t[o])<0?r=o:n=o+1}const o=function(e){let t=e;for(;t=t.parent;)if(fm(t)&&0===em(e,t))return t;return}(e);o&&(r=t.lastIndexOf(o,r-1));return r}(e,n);n.splice(t,0,e),e.record.name&&!lm(e)&&r.set(e.record.name,e)}return t=cm({strict:!1,end:!0,sensitive:!1},t),e.forEach((e=>o(e))),{addRoute:o,resolve:function(e,t){let o,i,s,a={};if("name"in e&&e.name){if(o=r.get(e.name),!o)throw Kg(1,{location:e});0,s=o.record.name,a=tg(sm(t.params,o.keys.filter((e=>!e.optional)).concat(o.parent?o.parent.keys.filter((e=>e.optional)):[]).map((e=>e.name))),e.params&&sm(e.params,o.keys.map((e=>e.name)))),i=o.stringify(a)}else if(null!=e.path)i=e.path,o=n.find((e=>e.re.test(i))),o&&(a=o.parse(i),s=o.record.name);else{if(o=t.name?r.get(t.name):n.find((e=>e.re.test(t.path))),!o)throw Kg(1,{location:e,currentLocation:t});s=o.record.name,a=tg({},t.params,e.params),i=o.stringify(a)}const l=[];let u=o;for(;u;)l.unshift(u.record),u=u.parent;return{name:s,path:i,params:a,matched:l,meta:um(l)}},removeRoute:i,clearRoutes:function(){n.length=0,r.clear()},getRoutes:function(){return n},getRecordMatcher:function(e){return r.get(e)}}}function sm(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function am(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]="object"==typeof n?n[r]:n;return t}function lm(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function um(e){return e.reduce(((e,t)=>tg(e,t.meta)),{})}function cm(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function fm({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function dm(e){const t={};if(""===e||"?"===e)return t;const n=("?"===e[0]?e.slice(1):e).split("&");for(let e=0;ee&&wg(e))):[r&&wg(r)];o.forEach((e=>{void 0!==e&&(t+=(t.length?"&":"")+n,null!=e&&(t+="="+e))}))}return t}function hm(e){const t={};for(const n in e){const r=e[n];void 0!==r&&(t[n]=og(r)?r.map((e=>null==e?null:""+e)):null==r?r:""+r)}return t}const vm=Symbol(""),gm=Symbol(""),mm=Symbol(""),ym=Symbol(""),bm=Symbol("");function wm(){let e=[];return{add:function(t){return e.push(t),()=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)}},list:()=>e.slice(),reset:function(){e=[]}}}function Cm(e,t,n,r,o,i=e=>e()){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise(((a,l)=>{const u=e=>{var i;!1===e?l(Kg(4,{from:n,to:t})):e instanceof Error?l(e):"string"==typeof(i=e)||i&&"object"==typeof i?l(Kg(2,{from:t,to:e})):(s&&r.enterCallbacks[o]===s&&"function"==typeof e&&s.push(e),a())},c=i((()=>e.call(r&&r.instances[o],t,n,u)));let f=Promise.resolve(c);e.length<3&&(f=f.then(u)),f.catch((e=>l(e)))}))}function _m(e,t,n,r,o=e=>e()){const i=[];for(const a of e){0;for(const e in a.components){let l=a.components[e];if("beforeRouteEnter"===t||a.instances[e])if("object"==typeof(s=l)||"displayName"in s||"props"in s||"__vccOpts"in s){const s=(l.__vccOpts||l)[t];s&&i.push(Cm(s,n,r,a,e,o))}else{let s=l();0,i.push((()=>s.then((i=>{if(!i)return Promise.reject(new Error(`Couldn't resolve component "${e}" at "${a.path}"`));const s=eg(i)?i.default:i;a.components[e]=s;const l=(s.__vccOpts||s)[t];return l&&Cm(l,n,r,a,e,o)()}))))}}}var s;return i}function xm(e){const t=Fo(mm),n=Fo(ym);const r=fa((()=>{const n=en(e.to);return t.resolve(n)})),o=fa((()=>{const{matched:e}=r.value,{length:t}=e,o=e[t-1],i=n.matched;if(!o||!i.length)return-1;const s=i.findIndex(Eg.bind(null,o));if(s>-1)return s;const a=km(e[t-2]);return t>1&&km(o)===a&&i[i.length-1].path!==a?i.findIndex(Eg.bind(null,e[t-2])):s})),i=fa((()=>o.value>-1&&function(e,t){for(const n in t){const r=t[n],o=e[n];if("string"==typeof r){if(r!==o)return!1}else if(!og(o)||o.length!==r.length||r.some(((e,t)=>e!==o[t])))return!1}return!0}(n.params,r.value.params))),s=fa((()=>o.value>-1&&o.value===n.matched.length-1&&Tg(n.params,r.value.params)));return{route:r,href:fa((()=>r.value.href)),isActive:i,isExactActive:s,navigate:function(n={}){return function(e){if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)return;if(e.defaultPrevented)return;if(void 0!==e.button&&0!==e.button)return;if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}e.preventDefault&&e.preventDefault();return!0}(n)?t[en(e.replace)?"replace":"push"](en(e.to)).catch(rg):Promise.resolve()}}}const Sm=hr({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:xm,setup(e,{slots:t}){const n=Pt(xm(e)),{options:r}=Fo(mm),o=fa((()=>({[Om(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Om(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const r=t.default&&t.default(n);return e.custom?r:da("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},r)}}});function km(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Om=(e,t,n)=>null!=e?e:null!=t?t:n;function Em(e,t){if(!e)return null;const n=e(t);return 1===n.length?n[0]:n}const Tm=hr({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Fo(bm),o=fa((()=>e.route||r.value)),i=Fo(gm,0),s=fa((()=>{let e=en(i);const{matched:t}=o.value;let n;for(;(n=t[e])&&!n.components;)e++;return e})),a=fa((()=>o.value.matched[s.value]));Mo(gm,fa((()=>s.value+1))),Mo(vm,a),Mo(bm,o);const l=Yt();return Fi((()=>[l.value,a.value,e.name]),(([e,t,n],[r,o,i])=>{t&&(t.instances[n]=e,o&&o!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=o.leaveGuards),t.updateGuards.size||(t.updateGuards=o.updateGuards))),!e||!t||o&&Eg(t,o)&&r||(t.enterCallbacks[n]||[]).forEach((t=>t(e)))}),{flush:"post"}),()=>{const r=o.value,i=e.name,s=a.value,u=s&&s.components[i];if(!u)return Em(n.default,{Component:u,route:r});const c=s.props[i],f=c?!0===c?r.params:"function"==typeof c?c(r):c:null,d=da(u,tg({},f,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(s.instances[i]=null)},ref:l}));return Em(n.default,{Component:d,route:r})||d}}});function Am(){return Fo(mm)}function Lm(e){return Fo(ym)}let Pm=Symbol("headlessui.useid"),Rm=0;function Im(){return Fo(Pm,(()=>""+ ++Rm))()}function jm(e){var t;if(null==e||null==e.value)return null;let n=null!=(t=e.value.$el)?t:e.value;return n instanceof Node?n:null}function Nm(e,t,...n){if(e in t){let r=t[e];return"function"==typeof r?r(...n):r}let r=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((e=>`"${e}"`)).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Nm),r}var Mm=Object.defineProperty,Fm=(e,t,n)=>(((e,t,n)=>{t in e?Mm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n})(e,"symbol"!=typeof t?t+"":t,n),n);let Dm=new class{constructor(){Fm(this,"current",this.detect()),Fm(this,"currentId",0)}set(e){this.current!==e&&(this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return"server"===this.current}get isClient(){return"client"===this.current}detect(){return"undefined"==typeof window||"undefined"==typeof document?"server":"client"}};function Bm(e){if(Dm.isServer)return null;if(e instanceof Node)return e.ownerDocument;if(null!=e&&e.hasOwnProperty("value")){let t=jm(e);if(t)return t.ownerDocument}return document}let Um=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map((e=>`${e}:not([tabindex='-1'])`)).join(",");var Vm=(e=>(e[e.First=1]="First",e[e.Previous=2]="Previous",e[e.Next=4]="Next",e[e.Last=8]="Last",e[e.WrapAround=16]="WrapAround",e[e.NoScroll=32]="NoScroll",e))(Vm||{}),Hm=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(Hm||{}),$m=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))($m||{});function qm(e=document.body){return null==e?[]:Array.from(e.querySelectorAll(Um)).sort(((e,t)=>Math.sign((e.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER))))}var zm=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(zm||{});function Wm(e,t=0){var n;return e!==(null==(n=Bm(e))?void 0:n.body)&&Nm(t,{0:()=>e.matches(Um),1(){let t=e;for(;null!==t;){if(t.matches(Um))return!0;t=t.parentElement}return!1}})}function Zm(e){let t=Bm(e);jn((()=>{t&&!Wm(t.activeElement,0)&&Ym(e)}))}var Km=(e=>(e[e.Keyboard=0]="Keyboard",e[e.Mouse=1]="Mouse",e))(Km||{});function Ym(e){null==e||e.focus({preventScroll:!0})}"undefined"!=typeof window&&"undefined"!=typeof document&&(document.addEventListener("keydown",(e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="")}),!0),document.addEventListener("click",(e=>{1===e.detail?delete document.documentElement.dataset.headlessuiFocusVisible:0===e.detail&&(document.documentElement.dataset.headlessuiFocusVisible="")}),!0));let Gm=["textarea","input"].join(",");function Jm(e,t=e=>e){return e.slice().sort(((e,n)=>{let r=t(e),o=t(n);if(null===r||null===o)return 0;let i=r.compareDocumentPosition(o);return i&Node.DOCUMENT_POSITION_FOLLOWING?-1:i&Node.DOCUMENT_POSITION_PRECEDING?1:0}))}function Qm(e,t,{sorted:n=!0,relativeTo:r=null,skipElements:o=[]}={}){var i;let s=null!=(i=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:null==e?void 0:e.ownerDocument)?i:document,a=Array.isArray(e)?n?Jm(e):e:qm(e);o.length>0&&a.length>1&&(a=a.filter((e=>!o.includes(e)))),r=null!=r?r:s.activeElement;let l,u=(()=>{if(5&t)return 1;if(10&t)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),c=(()=>{if(1&t)return 0;if(2&t)return Math.max(0,a.indexOf(r))-1;if(4&t)return Math.max(0,a.indexOf(r))+1;if(8&t)return a.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),f=32&t?{preventScroll:!0}:{},d=0,p=a.length;do{if(d>=p||d+p<=0)return 0;let e=c+d;if(16&t)e=(e+p)%p;else{if(e<0)return 3;if(e>=p)return 1}l=a[e],null==l||l.focus(f),d+=u}while(l!==s.activeElement);return 6&t&&function(e){var t,n;return null!=(n=null==(t=null==e?void 0:e.matches)?void 0:t.call(e,Gm))&&n}(l)&&l.select(),2}function Xm(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function ey(){return Xm()||/Android/gi.test(window.navigator.userAgent)}function ty(e,t,n){Dm.isServer||Ii((r=>{document.addEventListener(e,t,n),r((()=>document.removeEventListener(e,t,n)))}))}function ny(e,t,n){Dm.isServer||Ii((r=>{window.addEventListener(e,t,n),r((()=>window.removeEventListener(e,t,n)))}))}function ry(e,t,n=fa((()=>!0))){function r(r,o){if(!n.value||r.defaultPrevented)return;let i=o(r);if(null===i||!i.getRootNode().contains(i))return;let s=function e(t){return"function"==typeof t?e(t()):Array.isArray(t)||t instanceof Set?t:[t]}(e);for(let e of s){if(null===e)continue;let t=e instanceof HTMLElement?e:jm(e);if(null!=t&&t.contains(i)||r.composed&&r.composedPath().includes(t))return}return!Wm(i,zm.Loose)&&-1!==i.tabIndex&&r.preventDefault(),t(r,i)}let o=Yt(null);ty("pointerdown",(e=>{var t,r;n.value&&(o.value=(null==(r=null==(t=e.composedPath)?void 0:t.call(e))?void 0:r[0])||e.target)}),!0),ty("mousedown",(e=>{var t,r;n.value&&(o.value=(null==(r=null==(t=e.composedPath)?void 0:t.call(e))?void 0:r[0])||e.target)}),!0),ty("click",(e=>{ey()||o.value&&(r(e,(()=>o.value)),o.value=null)}),!0),ty("touchend",(e=>r(e,(()=>e.target instanceof HTMLElement?e.target:null))),!0),ny("blur",(e=>r(e,(()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null))),!0)}function oy(e,t){if(e)return e;let n=null!=t?t:"button";return"string"==typeof n&&"button"===n.toLowerCase()?"button":void 0}function iy(e,t){let n=Yt(oy(e.value.type,e.value.as));return Pr((()=>{n.value=oy(e.value.type,e.value.as)})),Ii((()=>{var e;n.value||jm(t)&&jm(t)instanceof HTMLButtonElement&&(null==(e=jm(t))||!e.hasAttribute("type"))&&(n.value="button")})),n}let sy=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function ay(e){var t,n;let r=null!=(t=e.innerText)?t:"",o=e.cloneNode(!0);if(!(o instanceof HTMLElement))return r;let i=!1;for(let e of o.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))e.remove(),i=!0;let s=i?null!=(n=o.innerText)?n:"":r;return sy.test(s)&&(s=s.replace(sy,"")),s}function ly(e){let t=Yt(""),n=Yt("");return()=>{let r=jm(e);if(!r)return"";let o=r.innerText;if(t.value===o)return n.value;let i=function(e){let t=e.getAttribute("aria-label");if("string"==typeof t)return t.trim();let n=e.getAttribute("aria-labelledby");if(n){let e=n.split(" ").map((e=>{let t=document.getElementById(e);if(t){let e=t.getAttribute("aria-label");return"string"==typeof e?e.trim():ay(t).trim()}return null})).filter(Boolean);if(e.length>0)return e.join(", ")}return ay(e).trim()}(r).trim().toLowerCase();return t.value=o,n.value=i,i}}function uy(e){return[e.screenX,e.screenY]}function cy(){let e=Yt([-1,-1]);return{wasMoved(t){let n=uy(t);return(e.value[0]!==n[0]||e.value[1]!==n[1])&&(e.value=n,!0)},update(t){e.value=uy(t)}}}let fy=Symbol("Context");var dy=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))(dy||{});function py(){return Fo(fy,null)}function hy(e){Mo(fy,e)}var vy=(e=>(e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.Delete="Delete",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab",e))(vy||{});var gy=(e=>(e[e.First=0]="First",e[e.Previous=1]="Previous",e[e.Next=2]="Next",e[e.Last=3]="Last",e[e.Specific=4]="Specific",e[e.Nothing=5]="Nothing",e))(gy||{});function my(e,t){let n=t.resolveItems();if(n.length<=0)return null;let r=t.resolveActiveIndex(),o=null!=r?r:-1;switch(e.focus){case 0:for(let e=0;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 2:for(let e=o+1;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 4:for(let r=0;r(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(yy||{}),by=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(by||{});function wy({visible:e=!0,features:t=0,ourProps:n,theirProps:r,...o}){var i;let s=xy(r,n),a=Object.assign(o,{props:s});if(e||2&t&&s.static)return Cy(a);if(1&t){return Nm(null==(i=s.unmount)||i?0:1,{0:()=>null,1:()=>Cy({...o,props:{...s,hidden:!0,style:{display:"none"}}})})}return Cy(a)}function Cy({props:e,attrs:t,slots:n,slot:r,name:o}){var i,s;let{as:a,...l}=Sy(e,["unmount","static"]),u=null==(i=n.default)?void 0:i.call(n,r),c={};if(r){let e=!1,t=[];for(let[n,o]of Object.entries(r))"boolean"==typeof o&&(e=!0),!0===o&&t.push(n);e&&(c["data-headlessui-state"]=t.join(" "))}if("template"===a){if(u=_y(null!=u?u:[]),Object.keys(l).length>0||Object.keys(t).length>0){let[e,...n]=null!=u?u:[];if(!function(e){return null!=e&&("string"==typeof e.type||"object"==typeof e.type||"function"==typeof e.type)}(e)||n.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${o} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(l).concat(Object.keys(t)).map((e=>e.trim())).filter(((e,t,n)=>n.indexOf(e)===t)).sort(((e,t)=>e.localeCompare(t))).map((e=>` - ${e}`)).join("\n"),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',"Render a single element as the child so that we can forward the props onto that element."].map((e=>` - ${e}`)).join("\n")].join("\n"));let r=xy(null!=(s=e.props)?s:{},l,c),i=Ls(e,r,!0);for(let e in r)e.startsWith("on")&&(i.props||(i.props={}),i.props[e]=r[e]);return i}return Array.isArray(u)&&1===u.length?u[0]:u}return da(a,Object.assign({},l,c),{default:()=>u})}function _y(e){return e.flatMap((e=>e.type===as?_y(e.children):[e]))}function xy(...e){if(0===e.length)return{};if(1===e.length)return e[0];let t={},n={};for(let r of e)for(let e in r)e.startsWith("on")&&"function"==typeof r[e]?(null!=n[e]||(n[e]=[]),n[e].push(r[e])):t[e]=r[e];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(n).map((e=>[e,void 0]))));for(let e in n)Object.assign(t,{[e](t,...r){let o=n[e];for(let e of o){if(t instanceof Event&&t.defaultPrevented)return;e(t,...r)}}});return t}function Sy(e,t=[]){let n=Object.assign({},e);for(let e of t)e in n&&delete n[e];return n}var ky=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(ky||{}),Oy=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))(Oy||{});let Ey=Symbol("MenuContext");function Ty(e){let t=Fo(Ey,null);if(null===t){let t=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,Ty),t}return t}let Ay=hr({name:"Menu",props:{as:{type:[Object,String],default:"template"}},setup(e,{slots:t,attrs:n}){let r=Yt(1),o=Yt(null),i=Yt(null),s=Yt([]),a=Yt(""),l=Yt(null),u=Yt(1);function c(e=e=>e){let t=null!==l.value?s.value[l.value]:null,n=Jm(e(s.value.slice()),(e=>jm(e.dataRef.domRef))),r=t?n.indexOf(t):null;return-1===r&&(r=null),{items:n,activeItemIndex:r}}let f={menuState:r,buttonRef:o,itemsRef:i,items:s,searchQuery:a,activeItemIndex:l,activationTrigger:u,closeMenu:()=>{r.value=1,l.value=null},openMenu:()=>r.value=0,goToItem(e,t,n){let r=c(),o=my(e===gy.Specific?{focus:gy.Specific,id:t}:{focus:e},{resolveItems:()=>r.items,resolveActiveIndex:()=>r.activeItemIndex,resolveId:e=>e.id,resolveDisabled:e=>e.dataRef.disabled});a.value="",l.value=o,u.value=null!=n?n:1,s.value=r.items},search(e){let t=""!==a.value?0:1;a.value+=e.toLowerCase();let n=(null!==l.value?s.value.slice(l.value+t).concat(s.value.slice(0,l.value+t)):s.value).find((e=>e.dataRef.textValue.startsWith(a.value)&&!e.dataRef.disabled)),r=n?s.value.indexOf(n):-1;-1===r||r===l.value||(l.value=r,u.value=1)},clearSearch(){a.value=""},registerItem(e,t){let n=c((n=>[...n,{id:e,dataRef:t}]));s.value=n.items,l.value=n.activeItemIndex,u.value=1},unregisterItem(e){let t=c((t=>{let n=t.findIndex((t=>t.id===e));return-1!==n&&t.splice(n,1),t}));s.value=t.items,l.value=t.activeItemIndex,u.value=1}};return ry([o,i],((e,t)=>{var n;f.closeMenu(),Wm(t,zm.Loose)||(e.preventDefault(),null==(n=jm(o))||n.focus())}),fa((()=>0===r.value))),Mo(Ey,f),hy(fa((()=>Nm(r.value,{0:dy.Open,1:dy.Closed})))),()=>{let o={open:0===r.value,close:f.closeMenu};return wy({ourProps:{},theirProps:e,slot:o,slots:t,attrs:n,name:"Menu"})}}}),Ly=hr({name:"MenuButton",props:{disabled:{type:Boolean,default:!1},as:{type:[Object,String],default:"button"},id:{type:String,default:null}},setup(e,{attrs:t,slots:n,expose:r}){var o;let i=null!=(o=e.id)?o:`headlessui-menu-button-${Im()}`,s=Ty("MenuButton");function a(e){switch(e.key){case vy.Space:case vy.Enter:case vy.ArrowDown:e.preventDefault(),e.stopPropagation(),s.openMenu(),jn((()=>{var e;null==(e=jm(s.itemsRef))||e.focus({preventScroll:!0}),s.goToItem(gy.First)}));break;case vy.ArrowUp:e.preventDefault(),e.stopPropagation(),s.openMenu(),jn((()=>{var e;null==(e=jm(s.itemsRef))||e.focus({preventScroll:!0}),s.goToItem(gy.Last)}))}}function l(e){if(e.key===vy.Space)e.preventDefault()}function u(t){e.disabled||(0===s.menuState.value?(s.closeMenu(),jn((()=>{var e;return null==(e=jm(s.buttonRef))?void 0:e.focus({preventScroll:!0})}))):(t.preventDefault(),s.openMenu(),function(e){requestAnimationFrame((()=>requestAnimationFrame(e)))}((()=>{var e;return null==(e=jm(s.itemsRef))?void 0:e.focus({preventScroll:!0})}))))}r({el:s.buttonRef,$el:s.buttonRef});let c=iy(fa((()=>({as:e.as,type:t.type}))),s.buttonRef);return()=>{var r;let o={open:0===s.menuState.value},{...f}=e;return wy({ourProps:{ref:s.buttonRef,id:i,type:c.value,"aria-haspopup":"menu","aria-controls":null==(r=jm(s.itemsRef))?void 0:r.id,"aria-expanded":0===s.menuState.value,onKeydown:a,onKeyup:l,onClick:u},theirProps:f,slot:o,attrs:t,slots:n,name:"MenuButton"})}}}),Py=hr({name:"MenuItems",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(e,{attrs:t,slots:n,expose:r}){var o;let i=null!=(o=e.id)?o:`headlessui-menu-items-${Im()}`,s=Ty("MenuItems"),a=Yt(null);function l(e){var t;switch(a.value&&clearTimeout(a.value),e.key){case vy.Space:if(""!==s.searchQuery.value)return e.preventDefault(),e.stopPropagation(),s.search(e.key);case vy.Enter:if(e.preventDefault(),e.stopPropagation(),null!==s.activeItemIndex.value){null==(t=jm(s.items.value[s.activeItemIndex.value].dataRef.domRef))||t.click()}s.closeMenu(),Zm(jm(s.buttonRef));break;case vy.ArrowDown:return e.preventDefault(),e.stopPropagation(),s.goToItem(gy.Next);case vy.ArrowUp:return e.preventDefault(),e.stopPropagation(),s.goToItem(gy.Previous);case vy.Home:case vy.PageUp:return e.preventDefault(),e.stopPropagation(),s.goToItem(gy.First);case vy.End:case vy.PageDown:return e.preventDefault(),e.stopPropagation(),s.goToItem(gy.Last);case vy.Escape:e.preventDefault(),e.stopPropagation(),s.closeMenu(),jn((()=>{var e;return null==(e=jm(s.buttonRef))?void 0:e.focus({preventScroll:!0})}));break;case vy.Tab:e.preventDefault(),e.stopPropagation(),s.closeMenu(),jn((()=>function(e,t){return Qm(qm(),t,{relativeTo:e})}(jm(s.buttonRef),e.shiftKey?Vm.Previous:Vm.Next)));break;default:1===e.key.length&&(s.search(e.key),a.value=setTimeout((()=>s.clearSearch()),350))}}function u(e){if(e.key===vy.Space)e.preventDefault()}r({el:s.itemsRef,$el:s.itemsRef}),function({container:e,accept:t,walk:n,enabled:r}){Ii((()=>{let o=e.value;if(!o||void 0!==r&&!r.value)return;let i=Bm(e);if(!i)return;let s=Object.assign((e=>t(e)),{acceptNode:t}),a=i.createTreeWalker(o,NodeFilter.SHOW_ELEMENT,s,!1);for(;a.nextNode();)n(a.currentNode)}))}({container:fa((()=>jm(s.itemsRef))),enabled:fa((()=>0===s.menuState.value)),accept:e=>"menuitem"===e.getAttribute("role")?NodeFilter.FILTER_REJECT:e.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT,walk(e){e.setAttribute("role","none")}});let c=py(),f=fa((()=>null!==c?(c.value&dy.Open)===dy.Open:0===s.menuState.value));return()=>{var r,o;let a={open:0===s.menuState.value},{...c}=e;return wy({ourProps:{"aria-activedescendant":null===s.activeItemIndex.value||null==(r=s.items.value[s.activeItemIndex.value])?void 0:r.id,"aria-labelledby":null==(o=jm(s.buttonRef))?void 0:o.id,id:i,onKeydown:l,onKeyup:u,role:"menu",tabIndex:0,ref:s.itemsRef},theirProps:c,slot:a,attrs:t,slots:n,features:yy.RenderStrategy|yy.Static,visible:f.value,name:"MenuItems"})}}}),Ry=hr({name:"MenuItem",inheritAttrs:!1,props:{as:{type:[Object,String],default:"template"},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},setup(e,{slots:t,attrs:n,expose:r}){var o;let i=null!=(o=e.id)?o:`headlessui-menu-item-${Im()}`,s=Ty("MenuItem"),a=Yt(null);r({el:a,$el:a});let l=fa((()=>null!==s.activeItemIndex.value&&s.items.value[s.activeItemIndex.value].id===i)),u=ly(a),c=fa((()=>({disabled:e.disabled,get textValue(){return u()},domRef:a})));function f(t){if(e.disabled)return t.preventDefault();s.closeMenu(),Zm(jm(s.buttonRef))}function d(){if(e.disabled)return s.goToItem(gy.Nothing);s.goToItem(gy.Specific,i)}Pr((()=>s.registerItem(i,c))),Nr((()=>s.unregisterItem(i))),Ii((()=>{0===s.menuState.value&&l.value&&0!==s.activationTrigger.value&&jn((()=>{var e,t;return null==(t=null==(e=jm(a))?void 0:e.scrollIntoView)?void 0:t.call(e,{block:"nearest"})}))}));let p=cy();function h(e){p.update(e)}function v(t){p.wasMoved(t)&&(e.disabled||l.value||s.goToItem(gy.Specific,i,0))}function g(t){p.wasMoved(t)&&(e.disabled||l.value&&s.goToItem(gy.Nothing))}return()=>{let{disabled:r,...o}=e,u={active:l.value,disabled:r,close:s.closeMenu};return wy({ourProps:{id:i,ref:a,role:"menuitem",tabIndex:!0===r?void 0:-1,"aria-disabled":!0===r||void 0,onClick:f,onFocus:d,onPointerenter:h,onMouseenter:h,onPointermove:v,onMousemove:v,onPointerleave:g,onMouseleave:g},theirProps:{...n,...o},slot:u,attrs:n,slots:t,name:"MenuItem"})}}});function Iy(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18 18 6M6 6l12 12"})])}function jy(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18"})])}function Ny(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z"})])}function My(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"})])}function Fy(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M2.25 12.75V12A2.25 2.25 0 0 1 4.5 9.75h15A2.25 2.25 0 0 1 21.75 12v.75m-8.69-6.44-2.12-2.12a1.5 1.5 0 0 0-1.061-.44H4.5A2.25 2.25 0 0 0 2.25 6v12a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18V9a2.25 2.25 0 0 0-2.25-2.25h-5.379a1.5 1.5 0 0 1-1.06-.44Z"})])}function Dy(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3.75 9.776c.112-.017.227-.026.344-.026h15.812c.117 0 .232.009.344.026m-16.5 0a2.25 2.25 0 0 0-1.883 2.542l.857 6a2.25 2.25 0 0 0 2.227 1.932H19.05a2.25 2.25 0 0 0 2.227-1.932l.857-6a2.25 2.25 0 0 0-1.883-2.542m-16.5 0V6A2.25 2.25 0 0 1 6 3.75h3.879a1.5 1.5 0 0 1 1.06.44l2.122 2.12a1.5 1.5 0 0 0 1.06.44H18A2.25 2.25 0 0 1 20.25 9v.776"})])}function By(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})])}function Uy(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 6.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM12 12.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM12 18.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Z"})])}function Vy(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125"})])}function Hy(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"})])}var $y=Pp({id:"hosts",state:function(){return{selectedHostIdentifier:null}},getters:{supportsHosts:function(){return LogViewer.supports_hosts},hosts:function(){return LogViewer.hosts||[]},hasRemoteHosts:function(){return this.hosts.some((function(e){return e.is_remote}))},selectedHost:function(){var e=this;return this.hosts.find((function(t){return t.identifier===e.selectedHostIdentifier}))},localHost:function(){return this.hosts.find((function(e){return!e.is_remote}))},hostQueryParam:function(){return this.selectedHost&&this.selectedHost.is_remote?this.selectedHost.identifier:void 0}},actions:{selectHost:function(e){var t;this.supportsHosts||(e=null),"string"==typeof e&&(e=this.hosts.find((function(t){return t.identifier===e}))),e||(e=this.hosts.find((function(e){return!e.is_remote}))),this.selectedHostIdentifier=(null===(t=e)||void 0===t?void 0:t.identifier)||null}}});var qy;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;const zy="undefined"!=typeof window,Wy=(Object.prototype.toString,e=>"function"==typeof e),Zy=e=>"string"==typeof e,Ky=()=>{};zy&&(null==(qy=null==window?void 0:window.navigator)?void 0:qy.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function Yy(e){return"function"==typeof e?e():en(e)}function Gy(e,t){return function(...n){return new Promise(((r,o)=>{Promise.resolve(e((()=>t.apply(this,n)),{fn:t,thisArg:this,args:n})).then(r).catch(o)}))}}const Jy=e=>e();function Qy(e){return!!_e()&&(xe(e),!0)}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var Xy=Object.getOwnPropertySymbols,eb=Object.prototype.hasOwnProperty,tb=Object.prototype.propertyIsEnumerable,nb=(e,t)=>{var n={};for(var r in e)eb.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Xy)for(var r of Xy(e))t.indexOf(r)<0&&tb.call(e,r)&&(n[r]=e[r]);return n};function rb(e,t,n={}){const r=n,{eventFilter:o=Jy}=r,i=nb(r,["eventFilter"]);return Fi(e,Gy(o,t),i)}Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var ob=Object.defineProperty,ib=Object.defineProperties,sb=Object.getOwnPropertyDescriptors,ab=Object.getOwnPropertySymbols,lb=Object.prototype.hasOwnProperty,ub=Object.prototype.propertyIsEnumerable,cb=(e,t,n)=>t in e?ob(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,fb=(e,t)=>{for(var n in t||(t={}))lb.call(t,n)&&cb(e,n,t[n]);if(ab)for(var n of ab(t))ub.call(t,n)&&cb(e,n,t[n]);return e},db=(e,t)=>ib(e,sb(t)),pb=(e,t)=>{var n={};for(var r in e)lb.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&ab)for(var r of ab(e))t.indexOf(r)<0&&ub.call(e,r)&&(n[r]=e[r]);return n};function hb(e,t,n={}){const r=n,{eventFilter:o}=r,i=pb(r,["eventFilter"]),{eventFilter:s,pause:a,resume:l,isActive:u}=function(e=Jy){const t=Yt(!0);return{isActive:It(t),pause:function(){t.value=!1},resume:function(){t.value=!0},eventFilter:(...n)=>{t.value&&e(...n)}}}(o);return{stop:rb(e,t,db(fb({},i),{eventFilter:s})),pause:a,resume:l,isActive:u}}Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function vb(e){var t;const n=Yy(e);return null!=(t=null==n?void 0:n.$el)?t:n}const gb=zy?window:void 0;zy&&window.document,zy&&window.navigator,zy&&window.location;function mb(...e){let t,n,r,o;if(Zy(e[0])||Array.isArray(e[0])?([n,r,o]=e,t=gb):[t,n,r,o]=e,!t)return Ky;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],s=()=>{i.forEach((e=>e())),i.length=0},a=Fi((()=>[vb(t),Yy(o)]),(([e,t])=>{s(),e&&i.push(...n.flatMap((n=>r.map((r=>((e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)))(e,n,r,t))))))}),{immediate:!0,flush:"post"}),l=()=>{a(),s()};return Qy(l),l}Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;const yb="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},bb="__vueuse_ssr_handlers__";yb[bb]=yb[bb]||{};const wb=yb[bb];function Cb(e,t){return wb[e]||t}function _b(e){return null==e?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"object"==typeof e?"object":Number.isNaN(e)?"any":"number"}var xb=Object.defineProperty,Sb=Object.getOwnPropertySymbols,kb=Object.prototype.hasOwnProperty,Ob=Object.prototype.propertyIsEnumerable,Eb=(e,t,n)=>t in e?xb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Tb=(e,t)=>{for(var n in t||(t={}))kb.call(t,n)&&Eb(e,n,t[n]);if(Sb)for(var n of Sb(t))Ob.call(t,n)&&Eb(e,n,t[n]);return e};const Ab={boolean:{read:e=>"true"===e,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Lb="vueuse-storage";function Pb(e,t,n,r={}){var o;const{flush:i="pre",deep:s=!0,listenToStorageChanges:a=!0,writeDefaults:l=!0,mergeDefaults:u=!1,shallow:c,window:f=gb,eventFilter:d,onError:p=e=>{}}=r,h=(c?Gt:Yt)(t);if(!n)try{n=Cb("getDefaultStorage",(()=>{var e;return null==(e=gb)?void 0:e.localStorage}))()}catch(e){p(e)}if(!n)return h;const v=Yy(t),g=_b(v),m=null!=(o=r.serializer)?o:Ab[g],{pause:y,resume:b}=hb(h,(()=>function(t){try{if(null==t)n.removeItem(e);else{const r=m.write(t),o=n.getItem(e);o!==r&&(n.setItem(e,r),f&&f.dispatchEvent(new CustomEvent(Lb,{detail:{key:e,oldValue:o,newValue:r,storageArea:n}})))}}catch(e){p(e)}}(h.value)),{flush:i,deep:s,eventFilter:d});return f&&a&&(mb(f,"storage",w),mb(f,Lb,(function(e){w(e.detail)}))),w(),h;function w(t){if(!t||t.storageArea===n)if(t&&null==t.key)h.value=v;else if(!t||t.key===e){y();try{h.value=function(t){const r=t?t.newValue:n.getItem(e);if(null==r)return l&&null!==v&&n.setItem(e,m.write(v)),v;if(!t&&u){const e=m.read(r);return Wy(u)?u(e,v):"object"!==g||Array.isArray(e)?e:Tb(Tb({},v),e)}return"string"!=typeof r?r:m.read(r)}(t)}catch(e){p(e)}finally{t?jn(b):b()}}}}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;new Map;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function Rb(e,t,n={}){const{window:r=gb}=n;return Pb(e,t,null==r?void 0:r.localStorage,n)}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var Ib,jb;(jb=Ib||(Ib={})).UP="UP",jb.RIGHT="RIGHT",jb.DOWN="DOWN",jb.LEFT="LEFT",jb.NONE="NONE";Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var Nb=Object.defineProperty,Mb=Object.getOwnPropertySymbols,Fb=Object.prototype.hasOwnProperty,Db=Object.prototype.propertyIsEnumerable,Bb=(e,t,n)=>t in e?Nb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;((e,t)=>{for(var n in t||(t={}))Fb.call(t,n)&&Bb(e,n,t[n]);if(Mb)for(var n of Mb(t))Db.call(t,n)&&Bb(e,n,t[n])})({linear:function(e){return e}},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});var Ub=Pp({id:"search",state:function(){return{query:"",searchMoreRoute:null,searching:!1,percentScanned:0,error:null}},getters:{hasQuery:function(e){return""!==String(e.query).trim()}},actions:{init:function(){this.checkSearchProgress()},setQuery:function(e){this.query=e},update:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;this.query=e,this.error=t&&""!==t?t:null,this.searchMoreRoute=n,this.searching=r,this.percentScanned=o,this.searching&&this.checkSearchProgress()},checkSearchProgress:function(){var e=this,t=this.query;if(""!==t){var n="?"+new URLSearchParams({query:t});Qv.get(this.searchMoreRoute+n).then((function(n){var r=n.data;if(e.query===t){var o=e.searching;e.searching=r.hasMoreResults,e.percentScanned=r.percentScanned,e.searching?e.checkSearchProgress():o&&!e.searching&&window.dispatchEvent(new CustomEvent("reload-results"))}}))}}}}),Vb=Pp({id:"pagination",state:function(){return{page:1,pagination:{}}},getters:{currentPage:function(e){return 1!==e.page?Number(e.page):null},links:function(e){var t;return((null===(t=e.pagination)||void 0===t?void 0:t.links)||[]).slice(1,-1)},linksShort:function(e){var t;return((null===(t=e.pagination)||void 0===t?void 0:t.links_short)||[]).slice(1,-1)},hasPages:function(e){var t;return(null===(t=e.pagination)||void 0===t?void 0:t.last_page)>1},hasMorePages:function(e){var t;return null!==(null===(t=e.pagination)||void 0===t?void 0:t.next_page_url)}},actions:{setPagination:function(e){var t,n;(this.pagination=e,(null===(t=this.pagination)||void 0===t?void 0:t.last_page)0}))},totalResults:function(){return this.levelsFound.reduce((function(e,t){return e+t.count}),0)},levelsSelected:function(){return this.levelsFound.filter((function(e){return e.selected}))},totalResultsSelected:function(){return this.levelsSelected.reduce((function(e,t){return e+t.count}),0)}},actions:{setLevelCounts:function(e){e.hasOwnProperty("length")?this.levelCounts=e:this.levelCounts=Object.values(e),this.allLevels=e.map((function(e){return e.level}))},selectAllLevels:function(){this.excludedLevels=[],this.levelCounts.forEach((function(e){return e.selected=!0}))},deselectAllLevels:function(){this.excludedLevels=this.allLevels,this.levelCounts.forEach((function(e){return e.selected=!1}))},toggleLevel:function(e){var t=this.levelCounts.find((function(t){return t.level===e}))||{};this.excludedLevels.includes(e)?(this.excludedLevels=this.excludedLevels.filter((function(t){return t!==e})),t.selected=!0):(this.excludedLevels.push(e),t.selected=!1)}}}),$b=n(543),qb={System:"System",Light:"Light",Dark:"Dark"},zb=[{label:"Datetime",data_key:"datetime"},{label:"Severity",data_key:"level"},{label:"Message",data_key:"message"}],Wb=Pp({id:"logViewer",state:function(){return{theme:Rb("logViewerTheme",qb.System),shorterStackTraces:Rb("logViewerShorterStackTraces",!1),direction:Rb("logViewerDirection","desc"),resultsPerPage:Rb("logViewerResultsPerPage",25),helpSlideOverOpen:!1,loading:!1,error:null,logs:[],columns:zb,levelCounts:[],performance:{},hasMoreResults:!1,percentScanned:100,abortController:null,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,stacksOpen:[],stacksInView:[],stackTops:{},containerTop:0,showLevelsDropdown:!0}},getters:{selectedFile:function(){return Xb().selectedFile},isOpen:function(e){return function(t){return e.stacksOpen.includes(t)}},isMobile:function(e){return e.viewportWidth<=1023},tableRowHeight:function(){return this.isMobile?29:36},headerHeight:function(){return this.isMobile?0:36},shouldBeSticky:function(e){var t=this;return function(n){return t.isOpen(n)&&e.stacksInView.includes(n)}},stickTopPosition:function(){var e=this;return function(t){var n=e.pixelsAboveFold(t);return n<0?Math.max(e.headerHeight-e.tableRowHeight,e.headerHeight+n)+"px":e.headerHeight+"px"}},pixelsAboveFold:function(e){var t=this;return function(n){var r=document.getElementById("tbody-"+n);if(!r)return!1;var o=r.getClientRects()[0];return o.top+o.height-t.tableRowHeight-t.headerHeight-e.containerTop}},isInViewport:function(){var e=this;return function(t){return e.pixelsAboveFold(t)>-e.tableRowHeight}}},actions:{setViewportDimensions:function(e,t){this.viewportWidth=e,this.viewportHeight=t;var n=document.querySelector(".log-item-container");n&&(this.containerTop=n.getBoundingClientRect().top)},toggleTheme:function(){switch(this.theme){case qb.System:this.theme=qb.Light;break;case qb.Light:this.theme=qb.Dark;break;default:this.theme=qb.System}this.syncTheme()},syncTheme:function(){var e=this.theme;e===qb.Dark||e===qb.System&&window.matchMedia("(prefers-color-scheme: dark)").matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")},toggle:function(e){this.isOpen(e)?this.stacksOpen=this.stacksOpen.filter((function(t){return t!==e})):this.stacksOpen.push(e),this.onScroll()},onScroll:function(){var e=this;this.stacksOpen.forEach((function(t){e.isInViewport(t)?(e.stacksInView.includes(t)||e.stacksInView.push(t),e.stackTops[t]=e.stickTopPosition(t)):(e.stacksInView=e.stacksInView.filter((function(e){return e!==t})),delete e.stackTops[t])}))},reset:function(){this.stacksOpen=[],this.stacksInView=[],this.stackTops={};var e=document.querySelector(".log-item-container");e&&(this.containerTop=e.getBoundingClientRect().top,e.scrollTo(0,0))},loadLogs:(0,$b.debounce)((function(){var e,t=this,n=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).silently,r=void 0!==n&&n,o=$y(),i=Xb(),s=Ub(),a=Vb(),l=Hb();if(0!==i.folders.length&&(this.abortController&&this.abortController.abort(),this.selectedFile||s.hasQuery)){this.abortController=new AbortController;var u={host:o.hostQueryParam,file:null===(e=this.selectedFile)||void 0===e?void 0:e.identifier,direction:this.direction,query:s.query,page:a.currentPage,per_page:this.resultsPerPage,exclude_levels:Ut(l.excludedLevels),exclude_file_types:Ut(i.fileTypesExcluded),shorter_stack_traces:this.shorterStackTraces};r||(this.loading=!0),Qv.get("".concat(LogViewer.basePath,"/api/logs"),{params:u,signal:this.abortController.signal}).then((function(e){var n=e.data;t.logs=u.host?n.logs.map((function(e){var t={host:u.host,file:e.file_identifier,query:"log-index:".concat(e.index)};return e.url="".concat(window.location.host).concat(LogViewer.basePath,"?").concat(new URLSearchParams(t)),e})):n.logs,t.columns=n.columns||zb,t.hasMoreResults=n.hasMoreResults,t.percentScanned=n.percentScanned,t.error=n.error||null,t.performance=n.performance||{},l.setLevelCounts(n.levelCounts),a.setPagination(n.pagination),t.loading=!1,r?document.dispatchEvent(new Event("logsPageLoadedSilently")):jn((function(){document.dispatchEvent(new Event("logsPageLoaded")),t.reset(),n.expandAutomatically&&t.stacksOpen.push(0)})),t.hasMoreResults&&t.loadLogs({silently:!0})})).catch((function(e){var n;if("ERR_CANCELED"===e.code)return t.hasMoreResults=!1,void(t.percentScanned=100);t.loading=!1,t.error=e.message,null!==(n=e.response)&&void 0!==n&&null!==(n=n.data)&&void 0!==n&&n.message&&(t.error+=": "+e.response.data.message)}))}}),10)}});function Zb(e){return Zb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Zb(e)}function Kb(e){return function(e){if(Array.isArray(e))return Yb(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Yb(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Yb(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Yb(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0}))},files:function(e){return e.folders.flatMap((function(e){return e.files}))},selectedFile:function(e){return e.files.find((function(t){return t.identifier===e.selectedFileIdentifier}))},foldersOpen:function(e){return e.openFolderIdentifiers.map((function(t){return e.folders.find((function(e){return e.identifier===t}))}))},isOpen:function(){var e=this;return function(t){return e.foldersOpen.map((function(e){return e.identifier})).includes(t.identifier)}},isChecked:function(e){return function(t){return e.filesChecked.includes("string"==typeof t?t:t.identifier)}},shouldBeSticky:function(e){var t=this;return function(n){return t.isOpen(n)&&e.foldersInView.map((function(e){return e.identifier})).includes(n.identifier)}},isInViewport:function(){var e=this;return function(t){return e.pixelsAboveFold(t)>-36}},pixelsAboveFold:function(e){return function(t){var n=document.getElementById("folder-"+t);if(!n)return!1;var r=n.getClientRects()[0];return r.top+r.height-e.containerTop}},hasFilesChecked:function(e){return e.filesChecked.length>0},fileTypesSelected:function(e){return e.fileTypesAvailable.filter((function(t){return e.selectedFileTypes.includes(t.identifier)}))},fileTypesExcluded:function(e){return e.fileTypesAvailable.filter((function(t){return!e.selectedFileTypes.includes(t.identifier)})).map((function(e){return e.identifier}))},selectedFileTypesString:function(){var e=this.fileTypesSelected.map((function(e){return e.name}));return 0===e.length?"Please select at least one file type":1===e.length?e[0]:2===e.length?e.join(" and "):3===e.length?e.slice(0,-1).join(", ")+" and "+e.slice(-1):e.slice(0,3).join(", ")+" and "+(e.length-3)+" more"}},actions:{setDirection:function(e){this.direction=e},selectFile:function(e){this.selectedFileIdentifier!==e&&(this.selectedFileIdentifier=e,this.openFolderForActiveFile(),this.sidebarOpen=!1)},openFolderForActiveFile:function(){var e=this;if(this.selectedFile){var t=this.folders.find((function(t){return t.files.some((function(t){return t.identifier===e.selectedFile.identifier}))}));t&&!this.isOpen(t)&&this.toggle(t)}},openRootFolderIfNoneOpen:function(){var e=this.folders.find((function(e){return e.is_root}));e&&0===this.openFolderIdentifiers.length&&this.openFolderIdentifiers.push(e.identifier)},loadFolders:function(){var e=this;return this.abortController&&this.abortController.abort(),this.selectedHost?(this.abortController=new AbortController,this.loading=!0,Qv.get("".concat(LogViewer.basePath,"/api/folders"),{params:{host:this.hostQueryParam,direction:this.direction},signal:this.abortController.signal}).then((function(t){var n=t.data;e.folders=n,e.error=n.error||null,e.loading=!1,0===e.openFolderIdentifiers.length&&(e.openFolderForActiveFile(),e.openRootFolderIfNoneOpen()),e.setAvailableFileTypes(n),e.onScroll()})).catch((function(t){var n;"ERR_CANCELED"!==t.code&&(e.loading=!1,e.error=t.message,null!==(n=t.response)&&void 0!==n&&null!==(n=n.data)&&void 0!==n&&n.message&&(e.error+=": "+t.response.data.message))}))):(this.folders=[],this.error=null,void(this.loading=!1))},setAvailableFileTypes:function(e){var t=e.flatMap((function(e){return e.files.map((function(e){return e.type}))})),n=Kb(new Set(t.map((function(e){return e.value}))));this.fileTypesAvailable=n.map((function(e){return{identifier:e,name:t.find((function(t){return t.value===e})).name,count:t.filter((function(t){return t.value===e})).length}})),this.selectedFileTypes&&0!==this.selectedFileTypes.length||(this.selectedFileTypes=n)},toggle:function(e){this.isOpen(e)?this.openFolderIdentifiers=this.openFolderIdentifiers.filter((function(t){return t!==e.identifier})):this.openFolderIdentifiers.push(e.identifier),this.onScroll()},onScroll:function(){var e=this;this.foldersOpen.forEach((function(t){e.isInViewport(t)?e.foldersInView.includes(t)||e.foldersInView.push(t):e.foldersInView=e.foldersInView.filter((function(e){return e!==t}))}))},reset:function(){this.openFolderIdentifiers=[],this.foldersInView=[];var e=document.getElementById("file-list-container");e&&(this.containerTop=e.getBoundingClientRect().top,e.scrollTo(0,0))},toggleSidebar:function(){this.sidebarOpen=!this.sidebarOpen},checkBoxToggle:function(e){this.isChecked(e)?this.filesChecked=this.filesChecked.filter((function(t){return t!==e})):this.filesChecked.push(e)},toggleCheckboxVisibility:function(){this.checkBoxesVisibility=!this.checkBoxesVisibility},resetChecks:function(){this.filesChecked=[],this.checkBoxesVisibility=!1},clearCacheForFile:function(e){var t=this;return this.clearingCache[e.identifier]=!0,Qv.post("".concat(LogViewer.basePath,"/api/files/").concat(e.identifier,"/clear-cache"),{},{params:{host:this.hostQueryParam}}).then((function(){e.identifier===t.selectedFileIdentifier&&Wb().loadLogs(),t.cacheRecentlyCleared[e.identifier]=!0,setTimeout((function(){return t.cacheRecentlyCleared[e.identifier]=!1}),2e3)})).catch((function(e){})).finally((function(){return t.clearingCache[e.identifier]=!1}))},deleteFile:function(e){var t=this;return Qv.delete("".concat(LogViewer.basePath,"/api/files/").concat(e.identifier),{params:{host:this.hostQueryParam}}).then((function(){return t.loadFolders()}))},clearCacheForFolder:function(e){var t=this;return this.clearingCache[e.identifier]=!0,Qv.post("".concat(LogViewer.basePath,"/api/folders/").concat(e.identifier,"/clear-cache"),{},{params:{host:this.hostQueryParam}}).then((function(){e.files.some((function(e){return e.identifier===t.selectedFileIdentifier}))&&Wb().loadLogs(),t.cacheRecentlyCleared[e.identifier]=!0,setTimeout((function(){return t.cacheRecentlyCleared[e.identifier]=!1}),2e3)})).catch((function(e){})).finally((function(){t.clearingCache[e.identifier]=!1}))},deleteFolder:function(e){var t=this;return this.deleting[e.identifier]=!0,Qv.delete("".concat(LogViewer.basePath,"/api/folders/").concat(e.identifier),{params:{host:this.hostQueryParam}}).then((function(){return t.loadFolders()})).catch((function(e){})).finally((function(){t.deleting[e.identifier]=!1}))},deleteSelectedFiles:function(){return Qv.post("".concat(LogViewer.basePath,"/api/delete-multiple-files"),{files:this.filesChecked},{params:{host:this.hostQueryParam}})},clearCacheForAllFiles:function(){var e=this;this.clearingCache["*"]=!0,Qv.post("".concat(LogViewer.basePath,"/api/clear-cache-all"),{},{params:{host:this.hostQueryParam}}).then((function(){e.cacheRecentlyCleared["*"]=!0,setTimeout((function(){return e.cacheRecentlyCleared["*"]=!1}),2e3),Wb().loadLogs()})).catch((function(e){})).finally((function(){return e.clearingCache["*"]=!1}))}}}),ew=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(e=e||"",t)try{e=e.replace(new RegExp(t,"gi"),"$&")}catch(e){}return tw(e).replace(/<mark>/g,"").replace(/<\/mark>/g,"").replace(/<br\/>/g,"
")},tw=function(e){var t={"&":"&","<":"<",">":">",'"':""","'":"'"};return e.replace(/[&<>"']/g,(function(e){return t[e]}))},nw=function(e){var t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t);var n=document.getSelection().rangeCount>0&&document.getSelection().getRangeAt(0);t.select(),document.execCommand("copy"),document.body.removeChild(t),n&&(document.getSelection().removeAllRanges(),document.getSelection().addRange(n))},rw=function(e,t,n){var r=e.currentRoute.value,o={host:r.query.host||void 0,file:r.query.file||void 0,query:r.query.query||void 0,page:r.query.page||void 0};"host"===t?(o.file=void 0,o.page=void 0):"file"===t&&void 0!==o.page&&(o.page=void 0),o[t]=n?String(n):void 0,e.push({name:"home",query:o})},ow=function(){var e=Yt({});return{dropdownDirections:e,calculateDropdownDirection:function(t){e.value[t.dataset.toggleId]=function(e){window.innerWidth||document.documentElement.clientWidth;var t=window.innerHeight||document.documentElement.clientHeight;return e.getBoundingClientRect().bottom+1900&&e[0].focus()},vw=function(){var e=Array.from(document.querySelectorAll(".".concat(fw)));e.length>0&&e[e.length-1].focus()},gw=function(e){"true"===e.getAttribute("aria-expanded")||e.click()},mw=function(e){"true"===e.getAttribute("aria-expanded")&&e.click()},yw=function(){var e=document.activeElement,t=xw(e,fw);if(!t){var n=function(){setTimeout((function(){hw(),gw(document.activeElement)}),50),document.removeEventListener("logsPageLoaded",n)};return document.addEventListener("logsPageLoaded",n),void document.dispatchEvent(new Event("goToNextPage"))}mw(e),t.focus(),gw(t)},bw=function(){var e=document.activeElement,t=_w(e,fw);if(!t){var n=function(){setTimeout((function(){vw(),gw(document.activeElement)}),50),document.removeEventListener("logsPageLoaded",n)};return document.addEventListener("logsPageLoaded",n),void document.dispatchEvent(new Event("goToPreviousPage"))}mw(e),t.focus(),gw(t)},ww=function(){var e=xw(document.activeElement,cw);e&&e.focus()},Cw=function(){var e=_w(document.activeElement,cw);e&&e.focus()},_w=function(e,t){for(var n=Array.from(document.querySelectorAll(".".concat(t))),r=n.findIndex((function(t){return t===e}))-1;r>=0&&null===n[r].offsetParent;)r--;return n[r]?n[r]:null},xw=function(e,t){for(var n=Array.from(document.querySelectorAll(".".concat(t))),r=n.findIndex((function(t){return t===e}))+1;rt&&(e.preventDefault(),n[t].focus())}else if("ArrowUp"===e.key){var r=_w(document.activeElement,fw);r&&(e.preventDefault(),r.focus())}else if("ArrowDown"===e.key){var o=xw(document.activeElement,fw);o&&(e.preventDefault(),o.focus())}},Ew=function(e){if("ArrowLeft"===e.key){var t=Sw(document.activeElement,dw),n=Array.from(document.querySelectorAll(".".concat(fw)));n.length>t&&(e.preventDefault(),n[t].focus())}else if("ArrowUp"===e.key){var r=_w(document.activeElement,dw);r&&(e.preventDefault(),r.focus())}else if("ArrowDown"===e.key){var o=xw(document.activeElement,dw);o&&(e.preventDefault(),o.focus())}else if("Enter"===e.key||" "===e.key){e.preventDefault();var i=document.activeElement;i.click(),i.focus()}},Tw=function(e){"ArrowUp"===e.key?(e.preventDefault(),Cw()):"ArrowDown"===e.key?(e.preventDefault(),ww()):"ArrowRight"===e.key&&(e.preventDefault(),document.activeElement.nextElementSibling.focus())},Aw=function(e){if("ArrowLeft"===e.key)e.preventDefault(),document.activeElement.previousElementSibling.focus();else if("ArrowRight"===e.key){e.preventDefault();var t=Array.from(document.querySelectorAll(".".concat(fw)));t.length>0&&t[0].focus()}};function Lw(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9.75v6.75m0 0-3-3m3 3 3-3m-8.25 6a4.5 4.5 0 0 1-1.41-8.775 5.25 5.25 0 0 1 10.233-2.33 3 3 0 0 1 3.758 3.848A3.752 3.752 0 0 1 18 19.5H6.75Z"})])}const Pw={__name:"DownloadLink",props:["url"],setup:function(e){var t=e,n=function(){Qv.get("".concat(t.url,"/request")).then((function(e){r(e.data.url)})).catch((function(e){e.response&&e.response.data&&alert("".concat(e.message,": ").concat(e.response.data.message,". Check developer console for more info."))}))},r=function(e){var t=document.createElement("a");t.href=e,t.setAttribute("download",""),document.body.appendChild(t),t.click(),document.body.removeChild(t)};return function(e,t){return ps(),bs("button",{onClick:n},[Gr(e.$slots,"default",{},(function(){return[Es(en(Lw),{class:"w-4 h-4 mr-2"}),Ps(" Download ")]}))])}}};function Rw(e){return Rw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Rw(e)}function Iw(){Iw=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},s=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",l=i.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function c(e,t,n,r){var i=t&&t.prototype instanceof m?t:m,s=Object.create(i.prototype),a=new L(r||[]);return o(s,"_invoke",{value:O(e,n,a)}),s}function f(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=c;var d="suspendedStart",p="suspendedYield",h="executing",v="completed",g={};function m(){}function y(){}function b(){}var w={};u(w,s,(function(){return this}));var C=Object.getPrototypeOf,_=C&&C(C(P([])));_&&_!==n&&r.call(_,s)&&(w=_);var x=b.prototype=m.prototype=Object.create(w);function S(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function n(o,i,s,a){var l=f(e[o],e,i);if("throw"!==l.type){var u=l.arg,c=u.value;return c&&"object"==Rw(c)&&r.call(c,"__await")?t.resolve(c.__await).then((function(e){n("next",e,s,a)}),(function(e){n("throw",e,s,a)})):t.resolve(c).then((function(e){u.value=e,s(u)}),(function(e){return n("throw",e,s,a)}))}a(l.arg)}var i;o(this,"_invoke",{value:function(e,r){function o(){return new t((function(t,o){n(e,r,t,o)}))}return i=i?i.then(o,o):o()}})}function O(t,n,r){var o=d;return function(i,s){if(o===h)throw Error("Generator is already running");if(o===v){if("throw"===i)throw s;return{value:e,done:!0}}for(r.method=i,r.arg=s;;){var a=r.delegate;if(a){var l=E(a,r);if(l){if(l===g)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===d)throw o=v,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=h;var u=f(t,n,r);if("normal"===u.type){if(o=r.done?v:p,u.arg===g)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(o=v,r.method="throw",r.arg=u.arg)}}}function E(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,E(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var i=f(o,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,g;var s=i.arg;return s?s.done?(n[t.resultName]=s.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):s:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function A(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function L(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function P(t){if(t||""===t){var n=t[s];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function n(){for(;++o=0;--i){var s=this.tryEntries[i],a=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=r.call(s,"catchLoc"),u=r.call(s,"finallyLoc");if(l&&u){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),A(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:P(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function jw(e,t,n,r,o,i,s){try{var a=e[i](s),l=a.value}catch(e){return void n(e)}a.done?t(l):Promise.resolve(l).then(r,o)}var Nw={class:"file-item group"},Mw={key:0,class:"sr-only"},Fw={key:1,class:"sr-only"},Dw={key:2,class:"my-auto mr-2"},Bw=["checked","value"],Uw={class:"file-name"},Vw=Os("span",{class:"sr-only"},"Name:",-1),Hw={class:"file-size"},$w=Os("span",{class:"sr-only"},"Size:",-1),qw={class:"py-2"},zw={class:"text-brand-500"},Ww=Os("div",{class:"divider"},null,-1);const Zw={__name:"FileListItem",props:{logFile:{type:Object,required:!0},showSelectToggle:{type:Boolean,default:!1}},emits:["selectForDeletion"],setup:function(e,t){t.emit;var n=e,r=Xb(),o=Am(),i=ow(),s=i.dropdownDirections,a=i.calculateDropdownDirection,l=fa((function(){return r.selectedFile&&r.selectedFile.identifier===n.logFile.identifier})),u=function(){var e=function(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function s(e){jw(i,r,o,s,a,"next",e)}function a(e){jw(i,r,o,s,a,"throw",e)}s(void 0)}))}}(Iw().mark((function e(){return Iw().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!confirm("Are you sure you want to delete the log file '".concat(n.logFile.name,"'? THIS ACTION CANNOT BE UNDONE."))){e.next=6;break}return e.next=3,r.deleteFile(n.logFile);case 3:return n.logFile.identifier===r.selectedFileIdentifier&&rw(o,"file",null),e.next=6,r.loadFolders();case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),c=function(){r.checkBoxToggle(n.logFile.identifier)},f=function(){r.toggleCheckboxVisibility(),c()};return function(t,n){return ps(),bs("div",{class:X(["file-item-container",[l.value?"active":""]])},[Es(en(Ay),null,{default:Qn((function(){return[Os("div",Nw,[Os("button",{class:"file-item-info",onKeydown:n[0]||(n[0]=function(){return en(Tw)&&en(Tw).apply(void 0,arguments)})},[l.value?Is("",!0):(ps(),bs("span",Mw,"Select log file")),l.value?(ps(),bs("span",Fw,"Deselect log file")):Is("",!0),e.logFile.can_delete?Xn((ps(),bs("span",Dw,[Os("input",{type:"checkbox",onClick:Zl(c,["stop"]),checked:en(r).isChecked(e.logFile),value:en(r).isChecked(e.logFile)},null,8,Bw)],512)),[[Ya,en(r).checkBoxesVisibility]]):Is("",!0),Os("span",Uw,[Vw,Ps(he(e.logFile.name),1)]),Os("span",Hw,[$w,Ps(he(e.logFile.size_formatted),1)])],32),Es(en(Ly),{as:"button",class:"file-dropdown-toggle group-hover:border-brand-600 group-hover:dark:border-brand-800","data-toggle-id":e.logFile.identifier,onKeydown:en(Aw),onClick:n[1]||(n[1]=Zl((function(e){return en(a)(e.target)}),["stop"]))},{default:Qn((function(){return[Es(en(Uy),{class:"w-4 h-4 pointer-events-none"})]})),_:1},8,["data-toggle-id","onKeydown"])]),Es(Pa,{"leave-active-class":"transition ease-in duration-100","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-90","enter-active-class":"transition ease-out duration-100","enter-from-class":"opacity-0 scale-90","enter-to-class":"opacity-100 scale-100"},{default:Qn((function(){return[Es(en(Py),{as:"div",class:X(["dropdown w-48",[en(s)[e.logFile.identifier]]])},{default:Qn((function(){return[Os("div",qw,[Es(en(Ry),{onClick:n[2]||(n[2]=Zl((function(t){return en(r).clearCacheForFile(e.logFile)}),["stop","prevent"]))},{default:Qn((function(t){return[Os("button",{class:X([t.active?"active":""])},[Xn(Es(en(Vy),{class:"h-4 w-4 mr-2"},null,512),[[Ya,!en(r).clearingCache[e.logFile.identifier]]]),Xn(Es(uw,null,null,512),[[Ya,en(r).clearingCache[e.logFile.identifier]]]),Xn(Os("span",null,"Clear index",512),[[Ya,!en(r).cacheRecentlyCleared[e.logFile.identifier]&&!en(r).clearingCache[e.logFile.identifier]]]),Xn(Os("span",null,"Clearing...",512),[[Ya,!en(r).cacheRecentlyCleared[e.logFile.identifier]&&en(r).clearingCache[e.logFile.identifier]]]),Xn(Os("span",zw,"Index cleared",512),[[Ya,en(r).cacheRecentlyCleared[e.logFile.identifier]]])],2)]})),_:1}),e.logFile.can_download?(ps(),ws(en(Ry),{key:0,onClick:n[3]||(n[3]=Zl((function(){}),["stop"]))},{default:Qn((function(t){var n=t.active;return[Es(Pw,{url:e.logFile.download_url,class:X([n?"active":""])},null,8,["url","class"])]})),_:1})):Is("",!0),e.logFile.can_delete?(ps(),bs(as,{key:1},[Ww,Es(en(Ry),{onClick:Zl(u,["stop","prevent"])},{default:Qn((function(e){return[Os("button",{class:X([e.active?"active":""])},[Es(en(My),{class:"w-4 h-4 mr-2"}),Ps(" Delete ")],2)]})),_:1}),Es(en(Ry),{onClick:Zl(f,["stop"])},{default:Qn((function(e){return[Os("button",{class:X([e.active?"active":""])},[Es(en(My),{class:"w-4 h-4 mr-2"}),Ps(" Delete Multiple ")],2)]})),_:1})],64)):Is("",!0)])]})),_:1},8,["class"])]})),_:1})]})),_:1})],2)}}},Kw=Zw;function Yw(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M10.343 3.94c.09-.542.56-.94 1.11-.94h1.093c.55 0 1.02.398 1.11.94l.149.894c.07.424.384.764.78.93.398.164.855.142 1.205-.108l.737-.527a1.125 1.125 0 0 1 1.45.12l.773.774c.39.389.44 1.002.12 1.45l-.527.737c-.25.35-.272.806-.107 1.204.165.397.505.71.93.78l.893.15c.543.09.94.559.94 1.109v1.094c0 .55-.397 1.02-.94 1.11l-.894.149c-.424.07-.764.383-.929.78-.165.398-.143.854.107 1.204l.527.738c.32.447.269 1.06-.12 1.45l-.774.773a1.125 1.125 0 0 1-1.449.12l-.738-.527c-.35-.25-.806-.272-1.203-.107-.398.165-.71.505-.781.929l-.149.894c-.09.542-.56.94-1.11.94h-1.094c-.55 0-1.019-.398-1.11-.94l-.148-.894c-.071-.424-.384-.764-.781-.93-.398-.164-.854-.142-1.204.108l-.738.527c-.447.32-1.06.269-1.45-.12l-.773-.774a1.125 1.125 0 0 1-.12-1.45l.527-.737c.25-.35.272-.806.108-1.204-.165-.397-.506-.71-.93-.78l-.894-.15c-.542-.09-.94-.56-.94-1.109v-1.094c0-.55.398-1.02.94-1.11l.894-.149c.424-.07.765-.383.93-.78.165-.398.143-.854-.108-1.204l-.526-.738a1.125 1.125 0 0 1 .12-1.45l.773-.773a1.125 1.125 0 0 1 1.45-.12l.737.527c.35.25.807.272 1.204.107.397-.165.71-.505.78-.929l.15-.894Z"}),Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"})])}function Gw(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M7.217 10.907a2.25 2.25 0 1 0 0 2.186m0-2.186c.18.324.283.696.283 1.093s-.103.77-.283 1.093m0-2.186 9.566-5.314m-9.566 7.5 9.566 5.314m0 0a2.25 2.25 0 1 0 3.935 2.186 2.25 2.25 0 0 0-3.935-2.186Zm0-12.814a2.25 2.25 0 1 0 3.933-2.185 2.25 2.25 0 0 0-3.933 2.185Z"})])}function Jw(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 17.25v1.007a3 3 0 0 1-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0 1 15 18.257V17.25m6-12V15a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 15V5.25m18 0A2.25 2.25 0 0 0 18.75 3H5.25A2.25 2.25 0 0 0 3 5.25m18 0V12a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 12V5.25"})])}function Qw(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z"})])}function Xw(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z"})])}function eC(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 5.25h.008v.008H12v-.008Z"})])}function tC(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"})])}function nC(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"fill-rule":"evenodd",d:"M16.704 4.153a.75.75 0 0 1 .143 1.052l-8 10.5a.75.75 0 0 1-1.127.075l-4.5-4.5a.75.75 0 0 1 1.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 0 1 1.05-.143Z","clip-rule":"evenodd"})])}var rC={class:"checkmark w-[18px] h-[18px] bg-gray-50 dark:bg-gray-800 rounded border dark:border-gray-600 inline-flex items-center justify-center"};const oC={__name:"Checkmark",props:{checked:{type:Boolean,required:!0}},setup:function(e){return function(t,n){return ps(),bs("div",rC,[e.checked?(ps(),ws(en(nC),{key:0,width:"18",height:"18",class:"w-full h-full"})):Is("",!0)])}}};var iC={width:"884",height:"1279",viewBox:"0 0 884 1279",fill:"none",xmlns:"http://www.w3.org/2000/svg"},sC=[Rs('',14)];const aC={},lC=(0,aw.A)(aC,[["render",function(e,t){return ps(),bs("svg",iC,sC)}]]);var uC=Os("span",{class:"sr-only"},"Settings dropdown",-1),cC={class:"py-2"},fC=Os("div",{class:"label"},"Settings",-1),dC=Os("span",{class:"ml-3"},"Shorter stack traces",-1),pC=Os("div",{class:"divider"},null,-1),hC=Os("div",{class:"label"},"Actions",-1),vC={class:"text-brand-500"},gC={class:"text-brand-500"},mC=Os("div",{class:"divider"},null,-1),yC=["innerHTML"],bC=Os("div",{class:"divider"},null,-1),wC={class:"w-4 h-4 mr-3 flex flex-col items-center"};const CC={__name:"SiteSettingsDropdown",setup:function(e){var t=Wb(),n=Xb(),r=Yt(!1),o=function(){nw(window.location.href),r.value=!0,setTimeout((function(){return r.value=!1}),2e3)};return Fi((function(){return t.shorterStackTraces}),(function(){return t.loadLogs()})),function(e,i){return ps(),ws(en(Ay),{as:"div",class:"relative"},{default:Qn((function(){return[Es(en(Ly),{as:"button",class:"menu-button"},{default:Qn((function(){return[uC,Es(en(Yw),{class:"w-5 h-5"})]})),_:1}),Es(Pa,{"leave-active-class":"transition ease-in duration-100","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-90","enter-active-class":"transition ease-out duration-100","enter-from-class":"opacity-0 scale-90","enter-to-class":"opacity-100 scale-100"},{default:Qn((function(){return[Es(en(Py),{as:"div",style:{"min-width":"250px"},class:"dropdown"},{default:Qn((function(){return[Os("div",cC,[fC,Es(en(Ry),null,{default:Qn((function(e){return[Os("button",{class:X([e.active?"active":""]),onClick:i[0]||(i[0]=Zl((function(e){return en(t).shorterStackTraces=!en(t).shorterStackTraces}),["stop","prevent"]))},[Es(oC,{checked:en(t).shorterStackTraces},null,8,["checked"]),dC],2)]})),_:1}),pC,hC,Es(en(Ry),{onClick:Zl(en(n).clearCacheForAllFiles,["stop","prevent"])},{default:Qn((function(e){return[Os("button",{class:X([e.active?"active":""])},[Xn(Es(en(Vy),{class:"w-4 h-4 mr-1.5"},null,512),[[Ya,!en(n).clearingCache["*"]]]),Xn(Es(uw,{class:"w-4 h-4 mr-1.5"},null,512),[[Ya,en(n).clearingCache["*"]]]),Xn(Os("span",null,"Clear indices for all files",512),[[Ya,!en(n).cacheRecentlyCleared["*"]&&!en(n).clearingCache["*"]]]),Xn(Os("span",null,"Please wait...",512),[[Ya,!en(n).cacheRecentlyCleared["*"]&&en(n).clearingCache["*"]]]),Xn(Os("span",vC,"File indices cleared",512),[[Ya,en(n).cacheRecentlyCleared["*"]]])],2)]})),_:1},8,["onClick"]),Es(en(Ry),{onClick:Zl(o,["stop","prevent"])},{default:Qn((function(e){return[Os("button",{class:X([e.active?"active":""])},[Es(en(Gw),{class:"w-4 h-4"}),Xn(Os("span",null,"Share this page",512),[[Ya,!r.value]]),Xn(Os("span",gC,"Link copied!",512),[[Ya,r.value]])],2)]})),_:1}),mC,Es(en(Ry),{onClick:i[1]||(i[1]=Zl((function(e){return en(t).toggleTheme()}),["stop","prevent"]))},{default:Qn((function(e){return[Os("button",{class:X([e.active?"active":""])},[Xn(Es(en(Jw),{class:"w-4 h-4"},null,512),[[Ya,en(t).theme===en(qb).System]]),Xn(Es(en(Qw),{class:"w-4 h-4"},null,512),[[Ya,en(t).theme===en(qb).Light]]),Xn(Es(en(Xw),{class:"w-4 h-4"},null,512),[[Ya,en(t).theme===en(qb).Dark]]),Os("span",null,[Ps("Theme: "),Os("span",{innerHTML:en(t).theme,class:"font-semibold"},null,8,yC)])],2)]})),_:1}),Es(en(Ry),null,{default:Qn((function(e){var n=e.active;return[Os("button",{onClick:i[2]||(i[2]=function(e){return en(t).helpSlideOverOpen=!0}),class:X([n?"active":""])},[Es(en(eC),{class:"w-4 h-4"}),Ps(" Keyboard Shortcuts ")],2)]})),_:1}),Es(en(Ry),null,{default:Qn((function(e){return[Os("a",{href:"https://log-viewer.opcodes.io/docs",target:"_blank",class:X([e.active?"active":""])},[Es(en(eC),{class:"w-4 h-4"}),Ps(" Documentation ")],2)]})),_:1}),Es(en(Ry),null,{default:Qn((function(e){return[Os("a",{href:"https://www.github.com/opcodesio/log-viewer",target:"_blank",class:X([e.active?"active":""])},[Es(en(eC),{class:"w-4 h-4"}),Ps(" Help ")],2)]})),_:1}),bC,Es(en(Ry),null,{default:Qn((function(e){var t=e.active;return[Os("a",{href:"https://www.buymeacoffee.com/arunas",target:"_blank",class:X([t?"active":""])},[Os("div",wC,[Es(lC,{class:"h-4 w-auto"})]),Os("strong",{class:X([t?"text-white":"text-brand-500"])},"Show your support",2),Es(en(tC),{class:"ml-2 w-4 h-4 opacity-75"})],2)]})),_:1})])]})),_:1})]})),_:1})]})),_:1})}}};var _C=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(_C||{});let xC=hr({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup:(e,{slots:t,attrs:n})=>()=>{var r;let{features:o,...i}=e;return wy({ourProps:{"aria-hidden":!(2&~o)||(null!=(r=i["aria-hidden"])?r:void 0),hidden:!(4&~o)||void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...!(4&~o)&&!!(2&~o)&&{display:"none"}}},theirProps:i,slot:{},attrs:n,slots:t,name:"Hidden"})}});function SC(e={},t=null,n=[]){for(let[r,o]of Object.entries(e))OC(n,kC(t,r),o);return n}function kC(e,t){return e?e+"["+t+"]":t}function OC(e,t,n){if(Array.isArray(n))for(let[r,o]of n.entries())OC(e,kC(t,r.toString()),o);else n instanceof Date?e.push([t,n.toISOString()]):"boolean"==typeof n?e.push([t,n?"1":"0"]):"string"==typeof n?e.push([t,n]):"number"==typeof n?e.push([t,`${n}`]):null==n?e.push([t,""]):SC(n,t,e)}function EC(e,t){return e===t}var TC=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(TC||{}),AC=(e=>(e[e.Single=0]="Single",e[e.Multi=1]="Multi",e))(AC||{}),LC=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))(LC||{});let PC=Symbol("ListboxContext");function RC(e){let t=Fo(PC,null);if(null===t){let t=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,RC),t}return t}let IC=hr({name:"Listbox",emits:{"update:modelValue":e=>!0},props:{as:{type:[Object,String],default:"template"},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],default:()=>EC},horizontal:{type:[Boolean],default:!1},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},multiple:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(e,{slots:t,attrs:n,emit:r}){let o=Yt(1),i=Yt(null),s=Yt(null),a=Yt(null),l=Yt([]),u=Yt(""),c=Yt(null),f=Yt(1);function d(e=e=>e){let t=null!==c.value?l.value[c.value]:null,n=Jm(e(l.value.slice()),(e=>jm(e.dataRef.domRef))),r=t?n.indexOf(t):null;return-1===r&&(r=null),{options:n,activeOptionIndex:r}}let p=fa((()=>e.multiple?1:0)),[h,v]=function(e,t,n){let r=Yt(null==n?void 0:n.value),o=fa((()=>void 0!==e.value));return[fa((()=>o.value?e.value:r.value)),function(e){return o.value||(r.value=e),null==t?void 0:t(e)}]}(fa((()=>e.modelValue)),(e=>r("update:modelValue",e)),fa((()=>e.defaultValue))),g=fa((()=>void 0===h.value?Nm(p.value,{1:[],0:void 0}):h.value)),m={listboxState:o,value:g,mode:p,compare(t,n){if("string"==typeof e.by){let r=e.by;return(null==t?void 0:t[r])===(null==n?void 0:n[r])}return e.by(t,n)},orientation:fa((()=>e.horizontal?"horizontal":"vertical")),labelRef:i,buttonRef:s,optionsRef:a,disabled:fa((()=>e.disabled)),options:l,searchQuery:u,activeOptionIndex:c,activationTrigger:f,closeListbox(){e.disabled||1!==o.value&&(o.value=1,c.value=null)},openListbox(){e.disabled||0!==o.value&&(o.value=0)},goToOption(t,n,r){if(e.disabled||1===o.value)return;let i=d(),s=my(t===gy.Specific?{focus:gy.Specific,id:n}:{focus:t},{resolveItems:()=>i.options,resolveActiveIndex:()=>i.activeOptionIndex,resolveId:e=>e.id,resolveDisabled:e=>e.dataRef.disabled});u.value="",c.value=s,f.value=null!=r?r:1,l.value=i.options},search(t){if(e.disabled||1===o.value)return;let n=""!==u.value?0:1;u.value+=t.toLowerCase();let r=(null!==c.value?l.value.slice(c.value+n).concat(l.value.slice(0,c.value+n)):l.value).find((e=>e.dataRef.textValue.startsWith(u.value)&&!e.dataRef.disabled)),i=r?l.value.indexOf(r):-1;-1===i||i===c.value||(c.value=i,f.value=1)},clearSearch(){e.disabled||1!==o.value&&""!==u.value&&(u.value="")},registerOption(e,t){let n=d((n=>[...n,{id:e,dataRef:t}]));l.value=n.options,c.value=n.activeOptionIndex},unregisterOption(e){let t=d((t=>{let n=t.findIndex((t=>t.id===e));return-1!==n&&t.splice(n,1),t}));l.value=t.options,c.value=t.activeOptionIndex,f.value=1},theirOnChange(t){e.disabled||v(t)},select(t){e.disabled||v(Nm(p.value,{0:()=>t,1:()=>{let e=Ut(m.value.value).slice(),n=Ut(t),r=e.findIndex((e=>m.compare(n,Ut(e))));return-1===r?e.push(n):e.splice(r,1),e}}))}};ry([s,a],((e,t)=>{var n;m.closeListbox(),Wm(t,zm.Loose)||(e.preventDefault(),null==(n=jm(s))||n.focus())}),fa((()=>0===o.value))),Mo(PC,m),hy(fa((()=>Nm(o.value,{0:dy.Open,1:dy.Closed}))));let y=fa((()=>{var e;return null==(e=jm(s))?void 0:e.closest("form")}));return Pr((()=>{Fi([y],(()=>{if(y.value&&void 0!==e.defaultValue)return y.value.addEventListener("reset",t),()=>{var e;null==(e=y.value)||e.removeEventListener("reset",t)};function t(){m.theirOnChange(e.defaultValue)}}),{immediate:!0})})),()=>{let{name:r,modelValue:i,disabled:s,form:a,...l}=e,u={open:0===o.value,disabled:s,value:g.value};return da(as,[...null!=r&&null!=g.value?SC({[r]:g.value}).map((([e,t])=>da(xC,function(e){let t=Object.assign({},e);for(let e in t)void 0===t[e]&&delete t[e];return t}({features:_C.Hidden,key:e,as:"input",type:"hidden",hidden:!0,readOnly:!0,form:a,disabled:s,name:e,value:t})))):[],wy({ourProps:{},theirProps:{...n,...Sy(l,["defaultValue","onUpdate:modelValue","horizontal","multiple","by"])},slot:u,slots:t,attrs:n,name:"Listbox"})])}}}),jC=hr({name:"ListboxLabel",props:{as:{type:[Object,String],default:"label"},id:{type:String,default:null}},setup(e,{attrs:t,slots:n}){var r;let o=null!=(r=e.id)?r:`headlessui-listbox-label-${Im()}`,i=RC("ListboxLabel");function s(){var e;null==(e=jm(i.buttonRef))||e.focus({preventScroll:!0})}return()=>{let r={open:0===i.listboxState.value,disabled:i.disabled.value},{...a}=e;return wy({ourProps:{id:o,ref:i.labelRef,onClick:s},theirProps:a,slot:r,attrs:t,slots:n,name:"ListboxLabel"})}}}),NC=hr({name:"ListboxButton",props:{as:{type:[Object,String],default:"button"},id:{type:String,default:null}},setup(e,{attrs:t,slots:n,expose:r}){var o;let i=null!=(o=e.id)?o:`headlessui-listbox-button-${Im()}`,s=RC("ListboxButton");function a(e){switch(e.key){case vy.Space:case vy.Enter:case vy.ArrowDown:e.preventDefault(),s.openListbox(),jn((()=>{var e;null==(e=jm(s.optionsRef))||e.focus({preventScroll:!0}),s.value.value||s.goToOption(gy.First)}));break;case vy.ArrowUp:e.preventDefault(),s.openListbox(),jn((()=>{var e;null==(e=jm(s.optionsRef))||e.focus({preventScroll:!0}),s.value.value||s.goToOption(gy.Last)}))}}function l(e){if(e.key===vy.Space)e.preventDefault()}function u(e){s.disabled.value||(0===s.listboxState.value?(s.closeListbox(),jn((()=>{var e;return null==(e=jm(s.buttonRef))?void 0:e.focus({preventScroll:!0})}))):(e.preventDefault(),s.openListbox(),function(e){requestAnimationFrame((()=>requestAnimationFrame(e)))}((()=>{var e;return null==(e=jm(s.optionsRef))?void 0:e.focus({preventScroll:!0})}))))}r({el:s.buttonRef,$el:s.buttonRef});let c=iy(fa((()=>({as:e.as,type:t.type}))),s.buttonRef);return()=>{var r,o;let f={open:0===s.listboxState.value,disabled:s.disabled.value,value:s.value.value},{...d}=e;return wy({ourProps:{ref:s.buttonRef,id:i,type:c.value,"aria-haspopup":"listbox","aria-controls":null==(r=jm(s.optionsRef))?void 0:r.id,"aria-expanded":0===s.listboxState.value,"aria-labelledby":s.labelRef.value?[null==(o=jm(s.labelRef))?void 0:o.id,i].join(" "):void 0,disabled:!0===s.disabled.value||void 0,onKeydown:a,onKeyup:l,onClick:u},theirProps:d,slot:f,attrs:t,slots:n,name:"ListboxButton"})}}}),MC=hr({name:"ListboxOptions",props:{as:{type:[Object,String],default:"ul"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(e,{attrs:t,slots:n,expose:r}){var o;let i=null!=(o=e.id)?o:`headlessui-listbox-options-${Im()}`,s=RC("ListboxOptions"),a=Yt(null);function l(e){switch(a.value&&clearTimeout(a.value),e.key){case vy.Space:if(""!==s.searchQuery.value)return e.preventDefault(),e.stopPropagation(),s.search(e.key);case vy.Enter:if(e.preventDefault(),e.stopPropagation(),null!==s.activeOptionIndex.value){let e=s.options.value[s.activeOptionIndex.value];s.select(e.dataRef.value)}0===s.mode.value&&(s.closeListbox(),jn((()=>{var e;return null==(e=jm(s.buttonRef))?void 0:e.focus({preventScroll:!0})})));break;case Nm(s.orientation.value,{vertical:vy.ArrowDown,horizontal:vy.ArrowRight}):return e.preventDefault(),e.stopPropagation(),s.goToOption(gy.Next);case Nm(s.orientation.value,{vertical:vy.ArrowUp,horizontal:vy.ArrowLeft}):return e.preventDefault(),e.stopPropagation(),s.goToOption(gy.Previous);case vy.Home:case vy.PageUp:return e.preventDefault(),e.stopPropagation(),s.goToOption(gy.First);case vy.End:case vy.PageDown:return e.preventDefault(),e.stopPropagation(),s.goToOption(gy.Last);case vy.Escape:e.preventDefault(),e.stopPropagation(),s.closeListbox(),jn((()=>{var e;return null==(e=jm(s.buttonRef))?void 0:e.focus({preventScroll:!0})}));break;case vy.Tab:e.preventDefault(),e.stopPropagation();break;default:1===e.key.length&&(s.search(e.key),a.value=setTimeout((()=>s.clearSearch()),350))}}r({el:s.optionsRef,$el:s.optionsRef});let u=py(),c=fa((()=>null!==u?(u.value&dy.Open)===dy.Open:0===s.listboxState.value));return()=>{var r,o;let a={open:0===s.listboxState.value},{...u}=e;return wy({ourProps:{"aria-activedescendant":null===s.activeOptionIndex.value||null==(r=s.options.value[s.activeOptionIndex.value])?void 0:r.id,"aria-multiselectable":1===s.mode.value||void 0,"aria-labelledby":null==(o=jm(s.buttonRef))?void 0:o.id,"aria-orientation":s.orientation.value,id:i,onKeydown:l,role:"listbox",tabIndex:0,ref:s.optionsRef},theirProps:u,slot:a,attrs:t,slots:n,features:yy.RenderStrategy|yy.Static,visible:c.value,name:"ListboxOptions"})}}}),FC=hr({name:"ListboxOption",props:{as:{type:[Object,String],default:"li"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},setup(e,{slots:t,attrs:n,expose:r}){var o;let i=null!=(o=e.id)?o:`headlessui-listbox-option-${Im()}`,s=RC("ListboxOption"),a=Yt(null);r({el:a,$el:a});let l=fa((()=>null!==s.activeOptionIndex.value&&s.options.value[s.activeOptionIndex.value].id===i)),u=fa((()=>Nm(s.mode.value,{0:()=>s.compare(Ut(s.value.value),Ut(e.value)),1:()=>Ut(s.value.value).some((t=>s.compare(Ut(t),Ut(e.value))))}))),c=fa((()=>Nm(s.mode.value,{1:()=>{var e;let t=Ut(s.value.value);return(null==(e=s.options.value.find((e=>t.some((t=>s.compare(Ut(t),Ut(e.dataRef.value)))))))?void 0:e.id)===i},0:()=>u.value}))),f=ly(a),d=fa((()=>({disabled:e.disabled,value:e.value,get textValue(){return f()},domRef:a})));function p(t){if(e.disabled)return t.preventDefault();s.select(e.value),0===s.mode.value&&(s.closeListbox(),jn((()=>{var e;return null==(e=jm(s.buttonRef))?void 0:e.focus({preventScroll:!0})})))}function h(){if(e.disabled)return s.goToOption(gy.Nothing);s.goToOption(gy.Specific,i)}Pr((()=>s.registerOption(i,d))),Nr((()=>s.unregisterOption(i))),Pr((()=>{Fi([s.listboxState,u],(()=>{0===s.listboxState.value&&u.value&&Nm(s.mode.value,{1:()=>{c.value&&s.goToOption(gy.Specific,i)},0:()=>{s.goToOption(gy.Specific,i)}})}),{immediate:!0})})),Ii((()=>{0===s.listboxState.value&&l.value&&0!==s.activationTrigger.value&&jn((()=>{var e,t;return null==(t=null==(e=jm(a))?void 0:e.scrollIntoView)?void 0:t.call(e,{block:"nearest"})}))}));let v=cy();function g(e){v.update(e)}function m(t){v.wasMoved(t)&&(e.disabled||l.value||s.goToOption(gy.Specific,i,0))}function y(t){v.wasMoved(t)&&(e.disabled||l.value&&s.goToOption(gy.Nothing))}return()=>{let{disabled:r}=e,o={active:l.value,selected:u.value,disabled:r},{value:s,disabled:c,...f}=e;return wy({ourProps:{id:i,ref:a,role:"option",tabIndex:!0===r?void 0:-1,"aria-disabled":!0===r||void 0,"aria-selected":u.value,disabled:void 0,onClick:p,onFocus:h,onPointerenter:g,onMouseenter:g,onPointermove:m,onMousemove:m,onPointerleave:y,onMouseleave:y},theirProps:f,slot:o,attrs:n,slots:t,name:"ListboxOption"})}}});function DC(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"fill-rule":"evenodd",d:"M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z","clip-rule":"evenodd"})])}var BC={class:"relative mt-1"},UC={class:"block truncate"},VC={class:"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2"};const HC={__name:"HostSelector",setup:function(e){var t=Am(),n=$y();return Fi((function(){return n.selectedHost}),(function(e){rw(t,"host",null!=e&&e.is_remote?e.identifier:null)})),function(e,t){return ps(),ws(en(IC),{as:"div",modelValue:en(n).selectedHostIdentifier,"onUpdate:modelValue":t[0]||(t[0]=function(e){return en(n).selectedHostIdentifier=e})},{default:Qn((function(){return[Es(en(jC),{class:"ml-1 block text-sm text-gray-500 dark:text-gray-400"},{default:Qn((function(){return[Ps("Select host")]})),_:1}),Os("div",BC,[Es(en(NC),{id:"hosts-toggle-button",class:"cursor-pointer relative text-gray-800 dark:text-gray-200 w-full cursor-default rounded-md border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 py-2 pl-4 pr-10 text-left hover:border-brand-600 hover:dark:border-brand-800 focus:border-brand-500 focus:outline-none focus:ring-1 focus:ring-brand-500 text-sm"},{default:Qn((function(){var e;return[Os("span",UC,he((null===(e=en(n).selectedHost)||void 0===e?void 0:e.name)||"Please select a server"),1),Os("span",VC,[Es(en(DC),{class:"h-5 w-5 text-gray-400","aria-hidden":"true"})])]})),_:1}),Es(Pa,{"leave-active-class":"transition ease-in duration-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:Qn((function(){return[Es(en(MC),{class:"absolute z-20 mt-1 max-h-60 w-full overflow-auto rounded-md shadow-md bg-white dark:bg-gray-800 py-1 border border-gray-200 dark:border-gray-700 ring-1 ring-brand ring-opacity-5 focus:outline-none text-sm"},{default:Qn((function(){return[(ps(!0),bs(as,null,Kr(en(n).hosts,(function(e){return ps(),ws(en(FC),{as:"template",key:e.identifier,value:e.identifier},{default:Qn((function(t){var n=t.active,r=t.selected;return[Os("li",{class:X([n?"text-white bg-brand-600":"text-gray-900 dark:text-gray-300","relative cursor-default select-none py-2 pl-3 pr-9"])},[Os("span",{class:X([r?"font-semibold":"font-normal","block truncate"])},he(e.name),3),r?(ps(),bs("span",{key:0,class:X([n?"text-white":"text-brand-600","absolute inset-y-0 right-0 flex items-center pr-4"])},[Es(en(nC),{class:"h-5 w-5","aria-hidden":"true"})],2)):Is("",!0)],2)]})),_:2},1032,["value"])})),128))]})),_:1})]})),_:1})])]})),_:1},8,["modelValue"])}}},$C=HC;var qC={class:"relative mt-1"},zC={class:"block truncate"},WC={class:"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2"};const ZC={__name:"FileTypeSelector",setup:function(e){Am();var t=Xb();return function(e,n){return ps(),ws(en(IC),{as:"div",modelValue:en(t).selectedFileTypes,"onUpdate:modelValue":n[0]||(n[0]=function(e){return en(t).selectedFileTypes=e}),multiple:""},{default:Qn((function(){return[Es(en(jC),{class:"ml-1 block text-sm text-gray-500 dark:text-gray-400"},{default:Qn((function(){return[Ps("Selected file types")]})),_:1}),Os("div",qC,[Es(en(NC),{id:"hosts-toggle-button",class:"cursor-pointer relative text-gray-800 dark:text-gray-200 w-full cursor-default rounded-md border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 py-2 pl-4 pr-10 text-left hover:border-brand-600 hover:dark:border-brand-800 focus:border-brand-500 focus:outline-none focus:ring-1 focus:ring-brand-500 text-sm"},{default:Qn((function(){return[Os("span",zC,he(en(t).selectedFileTypesString),1),Os("span",WC,[Es(en(DC),{class:"h-5 w-5 text-gray-400","aria-hidden":"true"})])]})),_:1}),Es(Pa,{"leave-active-class":"transition ease-in duration-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:Qn((function(){return[Es(en(MC),{class:"absolute z-20 mt-1 max-h-60 w-full overflow-auto rounded-md shadow-md bg-white dark:bg-gray-800 py-1 border border-gray-200 dark:border-gray-700 ring-1 ring-brand ring-opacity-5 focus:outline-none text-sm"},{default:Qn((function(){return[(ps(!0),bs(as,null,Kr(en(t).fileTypesAvailable,(function(e){return ps(),ws(en(FC),{as:"template",key:e.identifier,value:e.identifier},{default:Qn((function(t){var n=t.active,r=t.selected;return[Os("li",{class:X([n?"text-white bg-brand-600":"text-gray-900 dark:text-gray-300","relative cursor-default select-none py-2 pl-3 pr-9"])},[Os("span",{class:X([r?"font-semibold":"font-normal","block truncate"])},he(e.name),3),r?(ps(),bs("span",{key:0,class:X([n?"text-white":"text-brand-600","absolute inset-y-0 right-0 flex items-center pr-4"])},[Es(en(nC),{class:"h-5 w-5","aria-hidden":"true"})],2)):Is("",!0)],2)]})),_:2},1032,["value"])})),128))]})),_:1})]})),_:1})])]})),_:1},8,["modelValue"])}}};function KC(e){return KC="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},KC(e)}function YC(){YC=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},s=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",l=i.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function c(e,t,n,r){var i=t&&t.prototype instanceof m?t:m,s=Object.create(i.prototype),a=new L(r||[]);return o(s,"_invoke",{value:O(e,n,a)}),s}function f(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=c;var d="suspendedStart",p="suspendedYield",h="executing",v="completed",g={};function m(){}function y(){}function b(){}var w={};u(w,s,(function(){return this}));var C=Object.getPrototypeOf,_=C&&C(C(P([])));_&&_!==n&&r.call(_,s)&&(w=_);var x=b.prototype=m.prototype=Object.create(w);function S(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function n(o,i,s,a){var l=f(e[o],e,i);if("throw"!==l.type){var u=l.arg,c=u.value;return c&&"object"==KC(c)&&r.call(c,"__await")?t.resolve(c.__await).then((function(e){n("next",e,s,a)}),(function(e){n("throw",e,s,a)})):t.resolve(c).then((function(e){u.value=e,s(u)}),(function(e){return n("throw",e,s,a)}))}a(l.arg)}var i;o(this,"_invoke",{value:function(e,r){function o(){return new t((function(t,o){n(e,r,t,o)}))}return i=i?i.then(o,o):o()}})}function O(t,n,r){var o=d;return function(i,s){if(o===h)throw Error("Generator is already running");if(o===v){if("throw"===i)throw s;return{value:e,done:!0}}for(r.method=i,r.arg=s;;){var a=r.delegate;if(a){var l=E(a,r);if(l){if(l===g)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===d)throw o=v,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=h;var u=f(t,n,r);if("normal"===u.type){if(o=r.done?v:p,u.arg===g)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(o=v,r.method="throw",r.arg=u.arg)}}}function E(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,E(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var i=f(o,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,g;var s=i.arg;return s?s.done?(n[t.resultName]=s.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):s:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function A(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function L(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function P(t){if(t||""===t){var n=t[s];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function n(){for(;++o=0;--i){var s=this.tryEntries[i],a=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=r.call(s,"catchLoc"),u=r.call(s,"finallyLoc");if(l&&u){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),A(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:P(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function GC(e,t,n,r,o,i,s){try{var a=e[i](s),l=a.value}catch(e){return void n(e)}a.done?t(l):Promise.resolve(l).then(r,o)}function JC(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function s(e){GC(i,r,o,s,a,"next",e)}function a(e){GC(i,r,o,s,a,"throw",e)}s(void 0)}))}}var QC={class:"flex flex-col h-full py-5"},XC={class:"mx-3 md:mx-0 mb-1"},e_={class:"sm:flex sm:flex-col-reverse"},t_={class:"font-semibold text-brand-700 dark:text-brand-600 text-2xl flex items-center"},n_=Os("a",{href:"https://www.github.com/opcodesio/log-viewer",target:"_blank",class:"rounded ml-3 text-gray-400 hover:text-brand-800 dark:hover:text-brand-600 focus:outline-none focus:ring-2 focus:ring-brand-500 dark:focus:ring-brand-700 p-1"},[Os("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-5 w-5",viewBox:"0 0 24 24",fill:"currentColor",title:""},[Os("path",{d:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"})])],-1),r_={class:"md:hidden flex-1 flex justify-end"},o_={type:"button",class:"menu-button"},i_={key:0},s_=["href"],a_={key:0,class:"bg-yellow-100 dark:bg-yellow-900 bg-opacity-75 dark:bg-opacity-40 border border-yellow-300 dark:border-yellow-800 rounded-md px-2 py-1 mt-2 text-xs leading-5 text-yellow-700 dark:text-yellow-400"},l_=Os("code",{class:"font-mono px-2 py-1 bg-gray-100 dark:bg-gray-900 rounded"},"php artisan log-viewer:publish",-1),u_={key:3,class:"flex justify-between items-baseline mt-6"},c_={class:"ml-1 block text-sm text-gray-500 dark:text-gray-400 truncate"},f_={class:"text-sm text-gray-500 dark:text-gray-400"},d_=Os("label",{for:"file-sort-direction",class:"sr-only"},"Sort direction",-1),p_=[Os("option",{value:"desc"},"Newest first",-1),Os("option",{value:"asc"},"Oldest first",-1)],h_={key:4,class:"mx-1 mt-1 text-red-600 text-xs"},v_=Os("p",{class:"text-sm text-gray-600 dark:text-gray-400"},"Please select files to delete and confirm or cancel deletion.",-1),g_={id:"file-list-container",class:"relative h-full overflow-hidden"},m_=["id"],y_=["onClick"],b_={class:"file-item group"},w_={key:0,class:"sr-only"},C_={key:1,class:"sr-only"},__={class:"file-icon group-hover:hidden group-focus:hidden"},x_={class:"file-icon hidden group-hover:inline-block group-focus:inline-block"},S_={class:"file-name"},k_={key:0},O_=Os("span",{class:"text-gray-500 dark:text-gray-400"},"root",-1),E_={key:1},T_=Os("span",{class:"sr-only"},"Open folder options",-1),A_={class:"py-2"},L_={class:"text-brand-500"},P_=Os("div",{class:"divider"},null,-1),R_=["onClick","disabled"],I_={class:"folder-files pl-3 ml-1 border-l border-gray-200 dark:border-gray-800"},j_={key:0,class:"text-center text-sm text-gray-600 dark:text-gray-400"},N_=Os("p",{class:"mb-5"},"No log files were found.",-1),M_={class:"flex items-center justify-center px-1"},F_=Os("div",{class:"pointer-events-none absolute z-10 bottom-0 h-4 w-full bg-gradient-to-t from-gray-100 dark:from-gray-900 to-transparent"},null,-1),D_={class:"absolute inset-y-0 left-3 right-7 lg:left-0 lg:right-0 z-10"},B_={class:"rounded-md bg-white text-gray-800 dark:bg-gray-700 dark:text-gray-200 opacity-90 w-full h-full flex items-center justify-center"};const U_={__name:"FileList",setup:function(e){var t=Am(),n=Lm(),r=$y(),o=Xb(),i=ow(),s=i.dropdownDirections,a=i.calculateDropdownDirection,l=function(){var e=JC(YC().mark((function e(n){return YC().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!confirm("Are you sure you want to delete the log folder '".concat(n.path,"'? THIS ACTION CANNOT BE UNDONE."))){e.next=4;break}return e.next=3,o.deleteFolder(n);case 3:n.files.some((function(e){return e.identifier===o.selectedFileIdentifier}))&&rw(t,"file",null);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),u=function(){var e=JC(YC().mark((function e(){return YC().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!confirm("Are you sure you want to delete selected log files? THIS ACTION CANNOT BE UNDONE.")){e.next=7;break}return e.next=3,o.deleteSelectedFiles();case 3:return o.filesChecked.includes(o.selectedFileIdentifier)&&rw(t,"file",null),o.resetChecks(),e.next=7,o.loadFolders();case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return Pr(JC(YC().mark((function e(){return YC().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r.selectHost(n.query.host||null);case 1:case"end":return e.stop()}}),e)})))),Fi((function(){return o.direction}),(function(){return o.loadFolders()})),function(e,i){var c,f;return ps(),bs("nav",QC,[Os("div",XC,[Os("div",e_,[Os("h1",t_,[Ps(" Log Viewer "),n_,Os("span",r_,[Es(CC,{class:"ml-2"}),Os("button",o_,[Es(en(Iy),{class:"w-5 h-5 ml-2",onClick:en(o).toggleSidebar},null,8,["onClick"])])])]),e.LogViewer.back_to_system_url?(ps(),bs("div",i_,[Os("a",{href:e.LogViewer.back_to_system_url,class:"rounded shrink inline-flex items-center text-sm text-gray-500 dark:text-gray-400 hover:text-brand-800 dark:hover:text-brand-600 focus:outline-none focus:ring-2 focus:ring-brand-500 dark:focus:ring-brand-700 mt-0"},[Es(en(jy),{class:"h-3 w-3 mr-1.5"}),Ps(" "+he(e.LogViewer.back_to_system_label||"Back to ".concat(e.LogViewer.app_name)),1)],8,s_)])):Is("",!0)]),e.LogViewer.assets_outdated?(ps(),bs("div",a_,[Es(en(Ny),{class:"h-4 w-4 mr-1 inline"}),Ps(" Front-end assets are outdated. To update, please run "),l_])):Is("",!0),en(r).supportsHosts&&en(r).hasRemoteHosts?(ps(),ws($C,{key:1,class:"mb-8 mt-6"})):Is("",!0),en(o).fileTypesAvailable&&en(o).fileTypesAvailable.length>1?(ps(),ws(ZC,{key:2,class:"mb-8 mt-6"})):Is("",!0),(null===(c=en(o).filteredFolders)||void 0===c?void 0:c.length)>0?(ps(),bs("div",u_,[Os("div",c_,"Log files on "+he(null===(f=en(o).selectedHost)||void 0===f?void 0:f.name),1),Os("div",f_,[d_,Xn(Os("select",{id:"file-sort-direction",class:"select","onUpdate:modelValue":i[0]||(i[0]=function(e){return en(o).direction=e})},p_,512),[[Dl,en(o).direction]])])])):Is("",!0),en(o).error?(ps(),bs("p",h_,he(en(o).error),1)):Is("",!0)]),Xn(Os("div",null,[v_,Os("div",{class:X(["grid grid-flow-col pr-4 mt-2",[en(o).hasFilesChecked?"justify-between":"justify-end"]])},[Xn(Os("button",{onClick:Zl(u,["stop"]),class:"button inline-flex"},[Es(en(My),{class:"w-5 mr-1"}),Ps(" Delete selected files ")],512),[[Ya,en(o).hasFilesChecked]]),Os("button",{class:"button inline-flex",onClick:i[1]||(i[1]=Zl((function(e){return en(o).resetChecks()}),["stop"]))},[Ps(" Cancel "),Es(en(Iy),{class:"w-5 ml-1"})])],2)],512),[[Ya,en(o).checkBoxesVisibility]]),Os("div",g_,[Os("div",{class:"file-list",onScroll:i[6]||(i[6]=function(e){return en(o).onScroll(e)})},[(ps(!0),bs(as,null,Kr(en(o).filteredFolders,(function(e){return ps(),bs("div",{key:e.identifier,id:"folder-".concat(e.identifier),class:"relative folder-container"},[Es(en(Ay),null,{default:Qn((function(t){var n=t.open;return[Os("div",{class:X(["folder-item-container",[en(o).isOpen(e)?"active-folder":"",en(o).shouldBeSticky(e)?"sticky "+(n?"z-20":"z-10"):""]]),onClick:function(t){return en(o).toggle(e)}},[Os("div",b_,[Os("button",{class:"file-item-info group",onKeydown:i[2]||(i[2]=function(){return en(Tw)&&en(Tw).apply(void 0,arguments)})},[en(o).isOpen(e)?Is("",!0):(ps(),bs("span",w_,"Open folder")),en(o).isOpen(e)?(ps(),bs("span",C_,"Close folder")):Is("",!0),Os("span",__,[Xn(Es(en(Fy),{class:"w-5 h-5"},null,512),[[Ya,!en(o).isOpen(e)]]),Xn(Es(en(Dy),{class:"w-5 h-5"},null,512),[[Ya,en(o).isOpen(e)]])]),Os("span",x_,[Es(en(By),{class:X([en(o).isOpen(e)?"rotate-90":"","transition duration-100"])},null,8,["class"])]),Os("span",S_,[String(e.clean_path||"").startsWith("root")?(ps(),bs("span",k_,[O_,Ps(he(String(e.clean_path).substring(4)),1)])):(ps(),bs("span",E_,he(e.clean_path),1))])],32),Es(en(Ly),{as:"button",class:"file-dropdown-toggle group-hover:border-brand-600 group-hover:dark:border-brand-800","data-toggle-id":e.identifier,onKeydown:en(Aw),onClick:i[3]||(i[3]=Zl((function(e){return en(a)(e.target)}),["stop"]))},{default:Qn((function(){return[T_,Es(en(Uy),{class:"w-4 h-4 pointer-events-none"})]})),_:2},1032,["data-toggle-id","onKeydown"])]),Es(Pa,{"leave-active-class":"transition ease-in duration-100","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-90","enter-active-class":"transition ease-out duration-100","enter-from-class":"opacity-0 scale-90","enter-to-class":"opacity-100 scale-100"},{default:Qn((function(){return[Xn(Es(en(Py),{static:"",as:"div",class:X(["dropdown w-48",[en(s)[e.identifier]]])},{default:Qn((function(){return[Os("div",A_,[Es(en(Ry),{onClick:Zl((function(t){return en(o).clearCacheForFolder(e)}),["stop","prevent"])},{default:Qn((function(t){return[Os("button",{class:X([t.active?"active":""])},[Xn(Es(en(Vy),{class:"w-4 h-4 mr-2"},null,512),[[Ya,!en(o).clearingCache[e.identifier]]]),Xn(Es(uw,{class:"w-4 h-4 mr-2"},null,512),[[Ya,en(o).clearingCache[e.identifier]]]),Xn(Os("span",null,"Clear indices",512),[[Ya,!en(o).cacheRecentlyCleared[e.identifier]&&!en(o).clearingCache[e.identifier]]]),Xn(Os("span",null,"Clearing...",512),[[Ya,!en(o).cacheRecentlyCleared[e.identifier]&&en(o).clearingCache[e.identifier]]]),Xn(Os("span",L_,"Indices cleared",512),[[Ya,en(o).cacheRecentlyCleared[e.identifier]]])],2)]})),_:2},1032,["onClick"]),e.can_download?(ps(),ws(en(Ry),{key:0},{default:Qn((function(t){var n=t.active;return[Es(Pw,{url:e.download_url,onClick:i[4]||(i[4]=Zl((function(){}),["stop"])),class:X([n?"active":""])},null,8,["url","class"])]})),_:2},1024)):Is("",!0),e.can_delete?(ps(),bs(as,{key:1},[P_,Es(en(Ry),null,{default:Qn((function(t){var n=t.active;return[Os("button",{onClick:Zl((function(t){return l(e)}),["stop"]),disabled:en(o).deleting[e.identifier],class:X([n?"active":""])},[Xn(Es(en(My),{class:"w-4 h-4 mr-2"},null,512),[[Ya,!en(o).deleting[e.identifier]]]),Xn(Es(uw,null,null,512),[[Ya,en(o).deleting[e.identifier]]]),Ps(" Delete ")],10,R_)]})),_:2},1024)],64)):Is("",!0)])]})),_:2},1032,["class"]),[[Ya,n]])]})),_:2},1024)],10,y_)]})),_:2},1024),Xn(Os("div",I_,[(ps(!0),bs(as,null,Kr(e.files||[],(function(e){return ps(),ws(Kw,{key:e.identifier,"log-file":e,onClick:function(r){return o=e.identifier,void(n.query.file&&n.query.file===o?rw(t,"file",null):rw(t,"file",o));var o}},null,8,["log-file","onClick"])})),128))],512),[[Ya,en(o).isOpen(e)]])],8,m_)})),128)),0===en(o).folders.length?(ps(),bs("div",j_,[N_,Os("div",M_,[Os("button",{onClick:i[5]||(i[5]=Zl((function(e){return en(o).loadFolders()}),["prevent"])),class:"inline-flex items-center px-4 py-2 text-left text-sm bg-white hover:bg-gray-50 outline-brand-500 dark:outline-brand-800 text-gray-900 dark:text-gray-200 rounded-md dark:bg-gray-700 dark:hover:bg-gray-600"},[Es(en(Hy),{class:"w-4 h-4 mr-1.5"}),Ps(" Refresh file list ")])])])):Is("",!0)],32),F_,Xn(Os("div",D_,[Os("div",B_,[Es(uw,{class:"w-14 h-14"})])],512),[[Ya,en(o).loading]])])])}}},V_=U_;function H_(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"fill-rule":"evenodd",d:"M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388Zm15.408 3.352a.75.75 0 0 0-.919.53 7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035.75.75 0 0 0-.53-.918Z","clip-rule":"evenodd"})])}function $_(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"fill-rule":"evenodd",d:"M3 6.75A.75.75 0 0 1 3.75 6h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 6.75ZM3 12a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 12Zm0 5.25a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75a.75.75 0 0 1-.75-.75Z","clip-rule":"evenodd"})])}function q_(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"})])}var z_={class:"pagination"},W_={class:"previous"},Z_=["disabled"],K_=Os("span",{class:"sm:hidden"},"Previous page",-1),Y_={class:"sm:hidden border-transparent text-gray-500 dark:text-gray-400 border-t-2 pt-3 px-4 inline-flex items-center text-sm font-medium"},G_={class:"pages"},J_={key:0,class:"border-brand-500 text-brand-600 dark:border-brand-600 dark:text-brand-500","aria-current":"page"},Q_={key:1},X_=["onClick"],ex={class:"next"},tx=["disabled"],nx=Os("span",{class:"sm:hidden"},"Next page",-1);const rx={__name:"Pagination",props:{loading:{type:Boolean,required:!0},short:{type:Boolean,default:!1}},setup:function(e){var t=Vb(),n=Am(),r=Lm(),o=(fa((function(){return Number(r.query.page)||1})),function(e){e<1&&(e=1),t.pagination&&e>t.pagination.last_page&&(e=t.pagination.last_page),rw(n,"page",e>1?Number(e):null)}),i=function(){return o(t.page+1)},s=function(){return o(t.page-1)};return Pr((function(){document.addEventListener("goToNextPage",i),document.addEventListener("goToPreviousPage",s)})),jr((function(){document.removeEventListener("goToNextPage",i),document.removeEventListener("goToPreviousPage",s)})),function(n,r){return ps(),bs("nav",z_,[Os("div",W_,[1!==en(t).page?(ps(),bs("button",{key:0,onClick:s,disabled:e.loading,rel:"prev"},[Es(en(jy),{class:"h-5 w-5"}),K_],8,Z_)):Is("",!0)]),Os("div",Y_,[Os("span",null,he(en(t).page),1)]),Os("div",G_,[(ps(!0),bs(as,null,Kr(e.short?en(t).linksShort:en(t).links,(function(e){return ps(),bs(as,null,[e.active?(ps(),bs("button",J_,he(Number(e.label).toLocaleString()),1)):"..."===e.label?(ps(),bs("span",Q_,he(e.label),1)):(ps(),bs("button",{key:2,onClick:function(t){return o(Number(e.label))},class:"border-transparent text-gray-500 dark:text-gray-400 hover:text-gray-700 hover:border-gray-300 dark:hover:text-gray-300 dark:hover:border-gray-400"},he(Number(e.label).toLocaleString()),9,X_))],64)})),256))]),Os("div",ex,[en(t).hasMorePages?(ps(),bs("button",{key:0,onClick:i,disabled:e.loading,rel:"next"},[nx,Es(en(q_),{class:"h-5 w-5"})],8,tx)):Is("",!0)])])}}},ox=rx;function ix(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})])}var sx={class:"flex items-center"},ax={class:"opacity-90 mr-1"},lx={class:"font-semibold"},ux={class:"opacity-90 mr-1"},cx={class:"font-semibold"},fx={key:2,class:"opacity-90"},dx={key:3,class:"opacity-90"},px={class:"py-2"},hx={class:"label flex justify-between"},vx={key:0,class:"no-results"},gx={class:"flex-1 inline-flex justify-between"},mx={class:"log-count"};const yx={__name:"LevelButtons",setup:function(e){var t=Wb(),n=Hb();return Fi((function(){return n.excludedLevels}),(function(){return t.loadLogs()})),function(e,r){return ps(),bs("div",sx,[Es(en(Ay),{as:"div",class:"mr-5 relative log-levels-selector"},{default:Qn((function(){return[Es(en(Ly),{as:"button",id:"severity-dropdown-toggle",class:X(["dropdown-toggle badge none",en(n).levelsSelected.length>0?"active":""])},{default:Qn((function(){return[en(n).levelsSelected.length>2?(ps(),bs(as,{key:0},[Os("span",ax,he(en(n).totalResultsSelected.toLocaleString()+(en(t).hasMoreResults?"+":""))+" entries in",1),Os("strong",lx,he(en(n).levelsSelected[0].level_name)+" + "+he(en(n).levelsSelected.length-1)+" more",1)],64)):en(n).levelsSelected.length>0?(ps(),bs(as,{key:1},[Os("span",ux,he(en(n).totalResultsSelected.toLocaleString()+(en(t).hasMoreResults?"+":""))+" entries in",1),Os("strong",cx,he(en(n).levelsSelected.map((function(e){return e.level_name})).join(", ")),1)],64)):en(n).levelsFound.length>0?(ps(),bs("span",fx,he(en(n).totalResults.toLocaleString()+(en(t).hasMoreResults?"+":""))+" entries found. None selected",1)):(ps(),bs("span",dx,"No entries found")),Es(en(ix),{class:"w-4 h-4"})]})),_:1},8,["class"]),Es(Pa,{"leave-active-class":"transition ease-in duration-100","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-90","enter-active-class":"transition ease-out duration-100","enter-from-class":"opacity-0 scale-90","enter-to-class":"opacity-100 scale-100"},{default:Qn((function(){return[Es(en(Py),{as:"div",class:"dropdown down left min-w-[240px]"},{default:Qn((function(){return[Os("div",px,[Os("div",hx,[Ps(" Severity "),en(n).levelsFound.length>0?(ps(),bs(as,{key:0},[en(n).levelsSelected.length===en(n).levelsFound.length?(ps(),ws(en(Ry),{key:0,onClick:Zl(en(n).deselectAllLevels,["stop"])},{default:Qn((function(e){return[Os("a",{class:X(["inline-link px-2 -mr-2 py-1 -my-1 rounded-md cursor-pointer text-brand-700 dark:text-brand-500 font-normal",[e.active?"active":""]])}," Deselect all ",2)]})),_:1},8,["onClick"])):(ps(),ws(en(Ry),{key:1,onClick:Zl(en(n).selectAllLevels,["stop"])},{default:Qn((function(e){return[Os("a",{class:X(["inline-link px-2 -mr-2 py-1 -my-1 rounded-md cursor-pointer text-brand-700 dark:text-brand-500 font-normal",[e.active?"active":""]])}," Select all ",2)]})),_:1},8,["onClick"]))],64)):Is("",!0)]),0===en(n).levelsFound.length?(ps(),bs("div",vx,"There are no severity filters to display because no entries have been found.")):(ps(!0),bs(as,{key:1},Kr(en(n).levelsFound,(function(e){return ps(),ws(en(Ry),{onClick:Zl((function(t){return en(n).toggleLevel(e.level)}),["stop","prevent"])},{default:Qn((function(t){return[Os("button",{class:X([t.active?"active":""])},[Es(oC,{class:"checkmark mr-2.5",checked:e.selected},null,8,["checked"]),Os("span",gx,[Os("span",{class:X(["log-level",e.level_class])},he(e.level_name),3),Os("span",mx,he(Number(e.count).toLocaleString()),1)])],2)]})),_:2},1032,["onClick"])})),256))])]})),_:1})]})),_:1})]})),_:1})])}}};function bx(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"})])}var wx={class:"flex-1"},Cx={class:"prefix-icon"},_x=Os("label",{for:"query",class:"sr-only"},"Search",-1),xx={class:"relative flex-1 m-1"},Sx={class:"clear-search"},kx={class:"submit-search"},Ox={key:0,disabled:"disabled"},Ex={class:"hidden xl:inline ml-1"},Tx={class:"hidden xl:inline ml-1"},Ax={class:"relative h-0 w-full overflow-visible"},Lx=["innerHTML"];const Px={__name:"SearchInput",setup:function(e){var t=Ub(),n=Wb(),r=Am(),o=Lm(),i=fa((function(){return n.selectedFile})),s=Yt(o.query.query||""),a=function(){var e;rw(r,"query",""===s.value?null:s.value),null===(e=document.getElementById("query-submit"))||void 0===e||e.focus()},l=function(){s.value="",a()};return Fi((function(){return o.query.query}),(function(e){return s.value=e||""})),function(e,r){return ps(),bs("div",wx,[Os("div",{class:X(["search",{"has-error":en(n).error}])},[Os("div",Cx,[_x,Xn(Es(en(bx),{class:"h-4 w-4"},null,512),[[Ya,!en(n).hasMoreResults]]),Xn(Es(uw,{class:"w-4 h-4"},null,512),[[Ya,en(n).hasMoreResults]])]),Os("div",xx,[Xn(Os("input",{"onUpdate:modelValue":r[0]||(r[0]=function(e){return s.value=e}),name:"query",id:"query",type:"text",onKeydown:[Yl(a,["enter"]),r[1]||(r[1]=Yl((function(e){return e.target.blur()}),["esc"]))]},null,544),[[jl,s.value]]),Xn(Os("div",Sx,[Os("button",{onClick:l},[Es(en(Iy),{class:"h-4 w-4"})])],512),[[Ya,en(t).hasQuery]])]),Os("div",kx,[en(n).hasMoreResults?(ps(),bs("button",Ox,[Os("span",null,[Ps("Searching"),Os("span",Ex,he(i.value?i.value.name:"all files"),1),Ps("...")])])):(ps(),bs("button",{key:1,onClick:a,id:"query-submit"},[Os("span",null,[Ps("Search"),Os("span",Tx,he(i.value?'in "'+i.value.name+'"':"all files"),1)]),Es(en(q_),{class:"h-4 w-4"})]))])],2),Os("div",Ax,[Xn(Os("div",{class:"search-progress-bar",style:K({width:en(n).percentScanned+"%"})},null,4),[[Ya,en(n).hasMoreResults]])]),Xn(Os("p",{class:"mt-1 text-red-600 text-xs",innerHTML:en(n).error},null,8,Lx),[[Ya,en(n).error]])])}}},Rx=Px;function Ix(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z","clip-rule":"evenodd"})])}function jx(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"fill-rule":"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z","clip-rule":"evenodd"})])}function Nx(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z","clip-rule":"evenodd"})])}function Mx(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm8.706-1.442c1.146-.573 2.437.463 2.126 1.706l-.709 2.836.042-.02a.75.75 0 0 1 .67 1.34l-.04.022c-1.147.573-2.438-.463-2.127-1.706l.71-2.836-.042.02a.75.75 0 1 1-.671-1.34l.041-.022ZM12 9a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z","clip-rule":"evenodd"})])}function Fx(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"fill-rule":"evenodd",d:"M16.28 11.47a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 0 1 1.06-1.06l7.5 7.5Z","clip-rule":"evenodd"})])}function Dx(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244"})])}function Bx(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{d:"M7.493 18.5c-.425 0-.82-.236-.975-.632A7.48 7.48 0 0 1 6 15.125c0-1.75.599-3.358 1.602-4.634.151-.192.373-.309.6-.397.473-.183.89-.514 1.212-.924a9.042 9.042 0 0 1 2.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 0 0 .322-1.672V2.75A.75.75 0 0 1 15 2a2.25 2.25 0 0 1 2.25 2.25c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282h3.126c1.026 0 1.945.694 2.054 1.715.045.422.068.85.068 1.285a11.95 11.95 0 0 1-2.649 7.521c-.388.482-.987.729-1.605.729H14.23c-.483 0-.964-.078-1.423-.23l-3.114-1.04a4.501 4.501 0 0 0-1.423-.23h-.777ZM2.331 10.727a11.969 11.969 0 0 0-.831 4.398 12 12 0 0 0 .52 3.507C2.28 19.482 3.105 20 3.994 20H4.9c.445 0 .72-.498.523-.898a8.963 8.963 0 0 1-.924-3.977c0-1.708.476-3.305 1.302-4.666.245-.403-.028-.959-.5-.959H4.25c-.832 0-1.612.453-1.918 1.227Z"})])}var Ux={class:"sr-only"},Vx={class:"text-green-600 dark:text-green-500 hidden md:inline"};const Hx={__name:"LogCopyButton",props:{log:{type:Object,required:!0}},setup:function(e){var t=e,n=Yt(!1),r=function(){nw(t.log.url),n.value=!0,setTimeout((function(){return n.value=!1}),1e3)};return function(t,o){return ps(),bs("button",{class:"log-link group",onClick:Zl(r,["stop"]),onKeydown:o[0]||(o[0]=function(){return en(Ew)&&en(Ew).apply(void 0,arguments)}),title:"Copy link to this log entry"},[Os("span",Ux,"Log index "+he(e.log.index)+". Click the button to copy link to this log entry.",1),Xn(Os("span",{class:"hidden md:inline group-hover:underline"},he(Number(e.log.index).toLocaleString()),513),[[Ya,!n.value]]),Xn(Es(en(Dx),{class:"md:opacity-75 group-hover:opacity-100"},null,512),[[Ya,!n.value]]),Xn(Es(en(Bx),{class:"text-green-600 dark:text-green-500 md:hidden"},null,512),[[Ya,n.value]]),Xn(Os("span",Vx,"Copied!",512),[[Ya,n.value]])],32)}}};var $x={key:0,class:"tabs-container"},qx={class:"border-b border-gray-200 dark:border-gray-800"},zx={class:"-mb-px flex space-x-6","aria-label":"Tabs"},Wx=["onClick","aria-current"];const Zx={__name:"TabContainer",props:{tabs:{type:Array,required:!0}},setup:function(e){var t=Yt(e.tabs[0]);Mo("currentTab",t);var n=function(e){return t.value&&t.value.value===e.value};return function(r,o){return ps(),bs("div",null,[e.tabs&&e.tabs.length>1?(ps(),bs("div",$x,[Os("div",qx,[Os("nav",zx,[(ps(!0),bs(as,null,Kr(e.tabs,(function(e){return ps(),bs("a",{key:e.name,href:"#",onClick:Zl((function(n){return t.value=e}),["prevent"]),class:X([n(e)?"border-brand-500 dark:border-brand-400 text-brand-600 dark:text-brand-500":"border-transparent text-gray-500 dark:text-gray-400 hover:border-gray-300 hover:text-gray-700 dark:hover:text-gray-200","whitespace-nowrap border-b-2 py-2 px-1 text-sm font-medium focus:outline-brand-500"]),"aria-current":n(e)?"page":void 0},he(e.name),11,Wx)})),128))])])])):Is("",!0),Gr(r.$slots,"default")])}}};var Kx={key:0};const Yx={__name:"TabContent",props:{tabValue:{type:String,required:!0}},setup:function(e){var t=e,n=Fo("currentTab"),r=fa((function(){return n.value&&n.value.value===t.tabValue}));return function(e,t){return r.value?(ps(),bs("div",Kx,[Gr(e.$slots,"default")])):Is("",!0)}}};function Gx(e,t){return ps(),bs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[Os("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m18.375 12.739-7.693 7.693a4.5 4.5 0 0 1-6.364-6.364l10.94-10.94A3 3 0 1 1 19.5 7.372L8.552 18.32m.009-.01-.01.01m5.699-9.941-7.81 7.81a1.5 1.5 0 0 0 2.112 2.13"})])}var Jx={class:"mail-preview-attributes"},Qx={key:0},Xx=Os("td",{class:"font-semibold"},"From",-1),eS={key:1},tS=Os("td",{class:"font-semibold"},"To",-1),nS={key:2},rS=Os("td",{class:"font-semibold"},"Message ID",-1),oS={key:3},iS=Os("td",{class:"font-semibold"},"Subject",-1),sS={key:4},aS=Os("td",{class:"font-semibold"},"Attachments",-1),lS={class:"flex items-center"},uS={class:"opacity-60"},cS=["onClick"];const fS={__name:"MailPreviewAttributes",props:["mail"],setup:function(e){return function(t,n){return ps(),bs("div",Jx,[Os("table",null,[e.mail.from?(ps(),bs("tr",Qx,[Xx,Os("td",null,he(e.mail.from),1)])):Is("",!0),e.mail.to?(ps(),bs("tr",eS,[tS,Os("td",null,he(e.mail.to),1)])):Is("",!0),e.mail.id?(ps(),bs("tr",nS,[rS,Os("td",null,he(e.mail.id),1)])):Is("",!0),e.mail.subject?(ps(),bs("tr",oS,[iS,Os("td",null,he(e.mail.subject),1)])):Is("",!0),e.mail.attachments&&e.mail.attachments.length>0?(ps(),bs("tr",sS,[aS,Os("td",null,[(ps(!0),bs(as,null,Kr(e.mail.attachments,(function(t,n){return ps(),bs("div",{key:"mail-".concat(e.mail.id,"-attachment-").concat(n),class:"mail-attachment-button"},[Os("div",lS,[Es(en(Gx),{class:"h-4 w-4 text-gray-500 dark:text-gray-400 mr-1"}),Os("span",null,[Ps(he(t.filename)+" ",1),Os("span",uS,"("+he(t.size_formatted)+")",1)])]),Os("div",null,[Os("a",{href:"#",onClick:Zl((function(e){return function(e){for(var t=atob(e.content),n=new Array(t.length),r=0;re.length)&&(t=e.length);for(var n=0,r=Array(t);n